Skip to content

Compare: Release Notes

Showing with 13 additions and 1 deletion.
  1. +12 −1 Advanced-usage---QR-Code-renderers.md
  2. +1 −0 Release-Notes.md
1 change: 1 addition & 0 deletions Release-Notes.md

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.)
Original file line number Diff line number Diff line change
Expand Up @@ -9,6 +9,7 @@
- [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](https://github.com/codebude/QRCoder/pull/533))
- [Enhancement] Added support for trimming (`IsTrimmable` project property) (PR [#539](https://github.com/codebude/QRCoder/pull/539))
- [Enhancement] Added XML comments (code documentation) to all public members (PR [#561](https://github.com/codebude/QRCoder/pull/561))
- [Enhancement] Added new/third overload to `PngByteQRCode` that accepts colors as System.Drawing.Color (PR [#564](https://github.com/codebude/QRCoder/pull/564))
- [Refactoring] Restructured `QRCodeGenerator` classes into separate files and partially restructured code for better manageability (PRs [#516](https://github.com/codebude/QRCoder/pull/516), [#528](https://github.com/codebude/QRCoder/pull/528), [#531](https://github.com/codebude/QRCoder/pull/531))
- [Refactoring] Restructured `PayloadGenerator` classes into separate files for better manageability (PR [#556](https://github.com/codebude/QRCoder/pull/556))
- [Refactoring] Improved code documentation by adding comments to generator methods (PR [#517](https://github.com/codebude/QRCoder/pull/517))
Expand Down