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
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
-[Enhancement] Added ECC level mismatch detection when using payloads from payload generator (PR [#526](https://github.com/codebude/QRCoder/pull/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](https://github.com/codebude/QRCoder/pull/533))
-[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))
-[Enhancement] Added support for trimming (`IsTrimmable` project property) (PR [#539](https://github.com/codebude/QRCoder/pull/539))
-[Refactoring] Improved code documentation by adding comments to generator methods (PR [#517](https://github.com/codebude/QRCoder/pull/517))
-[Refactoring] Refactored and cleaned up the (needed for backwards compatibility) Stream- and String extension methods (PR [#534](https://github.com/codebude/QRCoder/pull/534))
-[Note] Added performance benchmark project to ensure that future enhancement don't affect performance negatively (PRs [#508](https://github.com/codebude/QRCoder/pull/508), [#510](https://github.com/codebude/QRCoder/pull/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.)
Special thanks for PRs and support goes to: [@Shane32](https://github.com/Shane32), [@gfoidl](https://github.com/gfoidl), [@csturm83](https://github.com/csturm83)