New Features
Performance Enhancements
- optimise: remove unnecessary
BitArray
by @TimothyMakkison in #607 - Reduced some allocations in
QRCodeGenerator
(NETCORE_APP only) by @gfoidl in #595 - PngByteQRCode: use
ArrayPool.Rent
to preventbyte[]
allocation by @TimothyMakkison in #615 - Optimize compression/decompression and add tests by @Shane32 in #611
- Change PdfByteQRCode to draw rectangles instead of embed JPGs by @Shane32 in #635
- Optimize PDF path algorithm by using RLE by @Shane32 in #650
- Add postscript renderer optimizations by @Shane32 in #651
- Add optimization to GetRawData by @Shane32 in #653
- Add ASCII renderer optimizations by @Shane32 in #652
- Add path-based SVG rendering with RLE encoding to reduce file size and memory usage by @Shane32 in #655
- optimise: fill
QRCode
with one colour by @TimothyMakkison in #626 - Optimize QRCoder.GetGraphic performance by @Shane32 in #658
Bug Fixes
- Fixed reason length for BezahlCode Generator by @MatzeSch in #603
- Fix vCard bugs; import RFCs by @Shane32 in #621
- Add support for SHA256 and SHA512 algorithms in One Time Password generation by @Shane32 in #620
- Fix: Make BIC optional for Girocode Version 2 by @Shane32 in #622
- Fix ECC level Q for micro QR codes; add various tests to improve code coverage by @Shane32 in #649
Documentation Changes
- fix Build and NuGet Badges by @T0biii in #589
- Fix typo in README.md and clarify some wording by @darkermango in #604
- Transition to Shane32 repo and remove EOL notice by @Shane32 in #608
- Update repo links; use main readme for NuGet by @Shane32 in #619
- Add XML comments on all public members where missing by @Shane32 in #629
- Rewrite README.md by @Shane32 in #660
Refactoring and Other Changes
- Raised version counter to 1.6.1 for next release by @codebude in #572
- Split alphanumeric encoding from QRCodeGenerator, split encoding tables by @Shane32 in #590
- Pin .NET SDK to 8.x for local/CI builds by @Shane32 in #591
- Run CI tests in parallel by @Shane32 in #609
- Update testing to only test .NET Standard and LTS versions by @Shane32 in #614
- Fix #if conditional to match rest of application by @Shane32 in #613
- Simplify WriteScanlines by @Shane32 in #612
- Add PNG benchmarks by @Shane32 in #616
- Review all ifdefs; add net standard 2.1 target by @Shane32 in #618
- Update CI workflow for pushing to master by @Shane32 in #623
- Migrate all assertions to Shouldly syntax; use visual regression checks by @Shane32 in #624
- Hide approval files in Solution Explorer by @Shane32 in #627
- Cleanup project files; configure Directory.Build.props by @Shane32 in #628
- Fix tests & code coverage reporting by @Shane32 in #633
- Enable implicit usings by @Shane32 in #631
- Enable nullable reference types and improve null handling across multiple files by @Shane32 in #630
- Update CI workflows and project files for improved package management and versioning by @Shane32 in #632
- Add bash shell specification for package publishing steps in CI workflows by @Shane32 in #636
- Fix path separator in NuGet push command for GitHub packages by @Shane32 in #637
- Fix CI tests for most frameworks by @Shane32 in #641
- Fix API approvals within CI workflows by @Shane32 in #642
- Make Postscript renderer deterministic by @Shane32 in #643
- Fix transposition problem with small ASCII renderer by @Shane32 in #645
- Reference System.Drawing.Common for all targets by @Shane32 in #639
- Enable recommended analyzers; use invariant culture throughout by @Shane32 in #640
- Add transposition tests by @Shane32 in #644
- Enable SVG tests by @Shane32 in #654
- Add QRCode renderer benchmark; add menu system to benchmarks by @Shane32 in #659
- Update version extraction logic for release workflows by @Shane32 in #662
New Contributors
- @T0biii made their first contribution in #589
- @darkermango made their first contribution in #604
- @TimothyMakkison made their first contribution in #607
- @MatzeSch made their first contribution in #603
- @gfoidl made their first contribution in #595
Full Changelog: v1.6.0...v1.7.0