You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
[Enhancement] Huge performance (runtime and memory) optimization in QrCodeGenerator (PRs #509, #519, #520, #521, #524, #530, #532)
[Enhancement] Big performance (runtime and memory) optimization in BitmapByteQRCode (PR #566)
[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)
[Enhancement] Updated the Bitmap header from BITMAPCOREHEADER to BITMAPINFOHEADER in BitmapByteQRCode (PR #565)
[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] Restructured the PayloadGeneratorTests into separate files for better manageability (PR #569)
[Refactoring] Removed category attribute from tests as it is no longer used/useful (PR #568)
[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.)
reacted with thumbs up emoji reacted with thumbs down emoji reacted with laugh emoji reacted with hooray emoji reacted with confused emoji reacted with heart emoji reacted with rocket emoji reacted with eyes emoji
-
What has changed
QrCodeGenerator
(PRs #509, #519, #520, #521, #524, #530, #532)BitmapByteQRCode
(PR #566)IsTrimmable
project property) (PR #539)PngByteQRCode
that accepts colors as System.Drawing.Color (PR #564)BitmapByteQRCode
(PR #565)QRCodeGenerator
classes into separate files and partially restructured code for better manageability (PRs #516, #528, #531)PayloadGenerator
classes into separate files for better manageability (PR #556)PayloadGeneratorTests
into separate files for better manageability (PR #569)dotnet format
toolchain (PR #562)Breaking Changes
GenerateQrCode(payload, eccLevel)
is called and the payload has set an ECC level "X" that differs from the ECC level from the parametereccLevel
, the QRCoder now throws anArgumentOutOfRangeException
to prevent the contract violation in the context of the payload. (Previously, the EccLevel was taken fromeccLevel
parameter without further checking, which in the worst case could lead to unreadable payloads.)Deprecations
QRCoder.Extensions.CustomExtensions
QRCoder.Extensions.StringValueAttribute
NuGet Package (QRCoder): https://www.nuget.org/packages/QRCoder/1.6.0
NuGet Package (QRCoder.Xaml): https://www.nuget.org/packages/QRCoder.Xaml/1.6.0
Full Release Notes: https://github.com/codebude/QRCoder/wiki/Release-notes
Full Changelog: v1.5.1...v1.6.0
Special thanks for PRs and support goes to: @Shane32, @gfoidl, @csturm83, @Apflkuacha
This discussion was created from the release v1.6.0.
Beta Was this translation helpful? Give feedback.
All reactions