Skip to content

Release Notes

Raffael Herrmann edited this page Jun 20, 2024 · 67 revisions

1.6.0

Released on Status Link
????-??-?? In development Github package

Notes

  • [Enhancement] Huge performance (runtime and memory) optimization in QrCodeGenerator (PRs #509, #519, #520, #521, #524, #530, #532)
  • [Enhancement] Added ECC level mismatch detection when using payloads from payload generator (PR #526)
  • [Enhancement] Implementation of encoding constraints (EccLevel, EciMode) in SwissQRCode and GiroCode payloads to enforce that the payloads comply with the specifications of the respective standards (PR #533)
  • [Enhancement] Added support for trimming (IsTrimmable project property) (PR #539)
  • [Enhancement] Added XML comments (code documentation) to all public members (PR #561)
  • [Enhancement] Added new/third overload to PngByteQRCode that accepts colors as System.Drawing.Color (PR #564)
  • [Refactoring] Restructured QRCodeGenerator classes into separate files and partially restructured code for better manageability (PRs #516, #528, #531)
  • [Refactoring] Restructured PayloadGenerator classes into separate files for better manageability (PR #556)
  • [Refactoring] Improved code documentation by adding comments to generator methods (PR #517)
  • [Refactoring] Refactored and cleaned up the (needed for backwards compatibility) Stream- and String extension methods (PR #534)
  • [Refactoring] Added nullable reference type (NRT) metadata to all possible members (PR #559)
  • [Refactoring] Removed not longer necessary framework overrides in project files (PR #560)
  • [Refactoring] Reformatted code and added dotnet format toolchain (PR #562)
  • [Note] Added performance benchmark project to ensure that future enhancement don't affect performance negatively (PRs #508, #510)

Breaking Changes:

  • If the function GenerateQrCode(payload, eccLevel) is called and the payload has set an ECC level "X" that differs from the ECC level from the parameter eccLevel, the QRCoder now throws an ArgumentOutOfRangeException to prevent the contract violation in the context of the payload. (Previously, the EccLevel was taken from eccLevel parameter without further checking, which in the worst case could lead to unreadable payloads.)

Deprecations

  • class QRCoder.Extensions.CustomExtensions
  • class QRCoder.Extensions.StringValueAttribute

Special thanks for PRs and support goes to: @Shane32, @gfoidl, @csturm83


1.5.1

Released on Status Link
2024-04-27 Live Nuget

Notes

  • [Bugfix] The SupportedOSPlatformAttribute attributes were missing in the 1.5.0 build. Fixed build steps in workflows. (PRs #504, #505)
  • [Note] Added automated API approval tests to ensure that all changes to the public APIs are deliberate and documented (PR #504)

Special thanks for PRs and support goes to: @Shane32 and the GraphQL for .NET project.


1.5.0

Released on Status Link
2024-04-26 Live Nuget

Notes

  • [Enhancement] Added support for explicit WPA2 in PayloadGenerator.Wifi (PR #494)
  • [Enhancement] Added Linux support for PostscriptQRCode (PR #493)
  • [Enhancement] Added Linux support under .NET5 (or greater) for SvgQRCode incl. logo handling (PRs #490, #491)
  • [Enhancement] Improved README.MD and the examples in it (PRs #456, #481)
  • [Enhancement] Optimized performance of GenerateQrCode-function for payloads of type byte[] (PR #438)
  • [Enhancement] Added another overload of GetGraphic() to the ASCIIQrCode-renderer that allows to render smaller representations of the QR code graphic by pressing two rows of modules into one char (PR #384 with inspiration from #430)
  • [Enhancement] Added support for UTC DateTimes and DateTimeOffsets in CalenderEvent-payload generator (PR #499)
  • [Enhancement] Added support for non-Windows platforms on .NET6+ (or newer) in Base64QRCode (PR #495)
  • [Update] Updated the allowed character set for contacts/addresses in PayloadGenerator.SwissQRCode (PR #432)
  • [Update] Updated the valid country code list by XK for contacts/addresses in PayloadGenerator.SwissQRCode (PR #497)
  • [Bugfix] Changed linebreak behaviour after StrdBkgInf-field in PayloadGenerator.SwissQRCode as it is additional instead of optional since SwissQRCode standard version 2.2 (PR #411)
  • [Bugfix] Fixed bug in placement of finder patterns in ArtQrCode-renderer that occured when quietzones should be drawn and a custom finderPatternImage was set at the same time (PR #474)
  • [Bugfix] Fixed use of pixelSizeFactor in ArtQrCode-renderer, which had no effect before (PR #408)
  • [Bugfix] PayloadGenerator.Url didn't handle upper-case input correctly (PR #447)
  • [Bugfix] Fixed bug in ASCIIQRCode renderer that lead to mirrored/false rendering of ASCII QR codes (PR #476)
  • [Bugfix] Added missing url encoding of the issuer field in OneTimePassword payload generator (PR #391)
  • [Bugfix] Fixed 300 byte limit validator in PaymentOrder payload generator. Now only mandatory fields will be inspected. (PR #498)
  • [Bugfix] Fixed bug that lead to wrongly placed logo backgrounds when rendering a SvgQRCode with logo and disabled quietzones at the same time. (PR #502)

Special thanks for PRs and support goes to: @Shane32, @MarkusG, @PolnerA, @Timwi, @josh-, @doggy8088, @mharen, @Tragen, @HolyOne, @gfoidl, @RamonaFrickCH, @koaqiu, @hbdbim, @gliljas


1.4.3

Released on Status Link
2021-12-12 Live Nuget

Notes

  • [Enhancement] Added net6.0 and net6.0-windows as target frameworks to avoid conflicts on applications that use QRCoder while targeting net6.0 on non-Windows platforms. (PRs #358, #359; Commits 2c78d05, 84afafc)
  • [Enhancement] Decoupled XamlQRCode from QRCoder-main, to avoid unnecessary Windows-dependencies on non-Windos platforms. (PRs #358, #359; Commits 2c78d05, 84afafc)

1.4.2

Released on Status Link
2021-11-23 Live Nuget

Notes

  • [Feature] New renderer called "ArtQrCode" for rendering QR codes with dots and background pictures (PRs #295, #344)
  • [Feature] Added new payload generator called "RussiaPaymentOrder", following the 56042:2014-standard, that can be used to generate QR codes for payment purposes. (PR #338)
  • [Feature] Support for .NET5 (PR #286)
  • [Feature] Added strong-name signing (PR #331)
  • [Feature] New parameter/option to render a logo on SvgQrCodes (PRs #281, #346, #347)
  • [Enhancement] Added 'organization' and 'organization title' to the ContactData payload generator (PRs #276, #325)
  • [Enhancement] Added DataTooLong exception to warn users for too long payloads in combination with too small requestVersion-parameter (Commit 49d5b35)
  • [Enhancement] Improved performance and reduced filesize for SvgQrCodes (PR #265)
  • [Enhancement] Switched to new Whatsapp url scheme (https:/wa.me/...) in Whatsapp payload generator (PR #333)
  • [Enhancement] Added optional parameter to disable HEX-style escpaing in WiFi payload generator (PR #334)
  • [Enhancement] Added a new parameter for AsciiQrCode that allows suppression of the quiet zone/border around the code (PR #339)
  • [Enhancement] Added a new parameter for PngByteQRCode that allows suppression of the quiet zone/border around the code (PR #350)
  • [Enhancement] Improved coding of the Mail/SMS/MMS payload generators (PR #349)
  • [Bugfix] In some cases AsciiQrCodes weren't rendered well/lines were missing (PR #339)
  • [Bugfix] The parameter iconBorderWith on the QRCode-renderer stopped working (from QRCoder 1.4.0 on). It got fixed and works again. In addition a new parameter called iconBackgroundColor was added, which allows to set the background color of an icon. (PR #351)

1.4.1

Released on Status Link
2020-11-17 Live Nuget

Notes

  • [Feature] New rendering class for PDFs (PdfByteQrCode)
  • [Enhancement] Improved payload generator for crypto currency related QR codes
  • [Enhancement] Improvements in SwissQR-Code's address handling
  • [Bugfix] for Linux environments (when using logos on QR codes)

1.4.0

Released on Status Link
2020-XX-XX Skipped n/a

Notes

  • Skipped/withdrawn

1.3.9

Released on Status Link
2020-04-08 Live Nuget

Notes

  • [Bugfix] Major bugfix which corrects an error with generation of alphanumeric QRCodes.

1.3.8

Released on Status Link
2020-XX-XX Skipped n/a

Notes

  • Skipped/withdrawn

1.3.7

Released on Status Link
2020-04-07 Live Nuget

Notes

  • [Enhancement] Lowered memory usage and improved performance
  • [Enhancement] Added plugin url part and new ciphersuites for ShadowSocks payload generator
  • [Enhancement] Improved validity checks for QR-IBANs in SwissQRCode payload generator
  • [Bugfix] Fixed checks one the name field of SwissQRCode contacts
  • [Bugfix] Fixed missing linebreak when "Bill information" in SwissQRCode is empty
  • [Bugfix] Fixed and improved ISO-3166-1 (two-letter-code) handling on all target platforms
  • [Bugfix] Updated System.Drawing.Common nuget reference

1.3.6

Released on Status Link
2019-06-25 Live Nuget

Notes

  • [Feature] Added static helper methods to generate/render QR codes with just one function call.
  • [Feature] Added option to generate QRCodeData out of binary data (byte[]).
  • [Enhancement] Updated SwissQrCode payload generator to version 2.0.
  • [Enhancement] Improved IBAN checking methods (incl. checksum checking) in multiple payload generators.
  • [Enhancement] Improved performance and memory usage by re-factoring methods to static ones where possible.
  • [Bugfix] Fixed uri scheme in Whatsapp payload generator.
  • [Bugfix] Fixed VCard payload generator. Website was never added properly.
  • [Bugfix] Fixed drawQuietZones behaviour of XamlQRCode renderer.
  • [Bugfix] Fixed transparency issue in QRCode renderer when using logos/icons.

1.3.5

Released on Status Link
2018-11-23 Live Nuget

Notes

  • [Bugfix] Fixed compability with .NET 4.0 (unfortunately release 1.3.4 was only compatable with .NET >= 4.5)

1.3.4

Released on Status Link
2018-11-17 Live Nuget

Notes

  • [Feature] Added new renderer: PostscriptQRCode
  • [Enhancement] Added option to sort street/housenumber in VCard/Mecard (for American/European formatting)
  • [Enhancement] Added region parameter to VCard/Mecard payload generator
  • [Enhancement] Improved code quality
  • [Enhancement] Improved Antilog table calculation
  • [Bugfix] Fixed RGB/BGR order in BitmapByteQRCode renderer
  • [Bugfix] Fixed possible OutOfRange exception in XamlQrCode renderer
  • [Bugfix] Fixed type in OneTimePassword payload generator
  • [Bugfix] Added AsciiQrCode to .NET 4.0 assembly
  • [Note] Removed UnityQRCode renderer. It will be available soon in an own package.

1.3.3

Released on Status Link
2018-04-22 Live Nuget

Notes

  • [Bugfix] Fixed input validation in SwissQrCode payload generator to support numeric values in street names, etc.
  • [Bugfix] Removed a bug in SvgQrCode which lead to exceptions for specific width-height-combinations
  • [Feature] Added new "XamlQRCode"-renderer
  • [Feature] Added SlovenianUpnQr payload generator
  • [Feature] Added parameterless constructors & COM support for use with VB6, Powerbuilder, ...
  • [Enhancement] Replaced ZKWeb-System.Drawing with official System.Drawing.Common
  • [Enhancement] Improved memory handling in Base64QRCode-class
  • [Enhancement] Added optional parameter to SvgQrCode to choose size rendering attributes
  • [Enhancement] Added new parameters to QrCodeGenerator to set fixed QR-version and ECI-mode

1.3.2

Released on Status Link
2017-10-21 Live Nuget

Notes

  • [Feature] Added PngByteQRCode renderer
  • [Feature] Added raw data import/export

1.3.1

Released on Status Link
2017-10-03 Live Nuget

Notes

  • [Bugfix] Fixed bug for QR codes with enabled (set to true) "forceUtf8"-flag and numeric content only.

1.3.0

Released on Status Link
2017-09-23 Live Nuget

Notes

  • [Bugfix] SvgQRCode improved
  • [Feature] QrCode type "ASCII QR code"
  • [Feature] .NETStandard2.0 is supported/included now

1.2.9

Released on Status Link
2017-06-15 Live Nuget

Notes

  • [Bugfix] Bugfix in SwissQrCode currency output format
  • [Enhancement] Added color option for BitmapByteQRCode format

1.2.8

Released on Status Link
2017-05-18 Live Nuget

Notes

  • [Feature] Added Swiss QR code payload generator
  • [Feature] Added ContactData payload generator
  • [Feature] Added WhatsApp Message payload generator
  • [Enhancement] Improved code comments / Intellisense

1.2.7

Released on Status Link
2017-04-30 Live Nuget

Notes

  • [Feature] Added BezahlCode payload generator
  • [Feature] Added Monero payload generator
  • [Feature] Added ShadowSocks payload generator
  • [Enhancement] Added NETCORE as target

1.2.6

Released on Status Link
2017-03-16 Live Nuget

Notes

  • [Feature] Added OneTimePassword (OTP) payload generator
  • [Enhancement] Improved SVG performance/size
  • [Enhancement] Code clean-up

1.2.5

Released on Status Link
2017-01-28 Live Nuget

Notes

  • [Bugfix] Fixed Nuget package due to problems with old build scripts

1.2.4

Released on Status Link
2017-01-26 Live Nuget

Notes

  • [Bugfix] Added more target frameworks to fix incompatibility bugs with WP8, WP81 and UAP/UWP.

1.2.3

Released on Status Link
2016-12-10 Live Nuget

Notes

  • [Bugfix] Removed some tiny bugs in PCL version.
  • [Feature] Added "Girocode" in PayloadGenerator.
  • [Feature] Packages includes builds for .NET 3.5 and .NET 4.0 from now on.

1.2.2

Released on Status Link
2016-09-13 Live Nuget

Notes

  • [Bugfix] Bugfix in QR code data enconding recognition

1.2.1

Released on Status Link
2016-09-10 Live Nuget

Notes

  • [Feature] Added PCL variant of the library
  • [Enhancement] Added new target platforms

1.2.0

Released on Status Link
2016-09-08 Live Nuget

Notes

  • [Bugfix] Fixed a bug in ECC word calculation

1.1.9

Released on Status Link
2016-07-07 Live Nuget

Notes

  • [Enhancement] Added optional parameter in QRCodeGenerator.cs to force UTF-8 enconding for "Byte mode" encoded QR codes.
  • [Enhancement] By ISO/IEC standard ISO-8859-1 should be used as default for Byte mode encoding, but there are some QR code readers which expect UTF-8 encoded payload in every case. For those readers you can force UTF-8 text encoding now.

1.1.8

Released on Status Link
2016-06-27 Live Nuget

Notes

-/-


1.1.7

Released on Status Link
2016-05-18 Live Nuget

Notes

-/-


1.1.6

Released on Status Link
2016-05-18 Live Nuget

Notes

  • [Bugfix] Bugfix in Bitcoin class of the payload generator.

1.1.5

Released on Status Link
2016-05-16 Live Nuget

Notes

-/-