All notable changes to this project will be documented in this file.
The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.
- TLS certificate verification is now enabled by default. Previously every
request was sent with
ssl: { verify: false }, regardless of configuration. If you were relying on that behavior (e.g. against an endpoint with an incomplete certificate chain), setconfig.ssl_verify = falseor passssl_verify: falsetoProvider.newto restore the old behavior. Clientnow delegates to the provider viapublic_sendinstead ofsend, and implementsrespond_to_missing?. Private provider methods (e.g.encrypt,connection) are no longer reachable throughClient.
TotalValidatorcomparison was inverted and compared aStringagainst anInteger, so it never actually validated anything. It now correctly fails whentotaldoesn't match the sum of item totals.AllowanceNumberValidatorandIssueItem#invoiceTime's format regexp had broken escape sequences (\Aand\dcollapsing to literal characters in a double-quoted string), causing them to reject all valid input.ItemListValidatorpushed directly ontorecord.errors[:itemList], which is deprecated in Rails 6.1 and removed in 7.0. It now useserrors.addand actually registers errors again.- Tradevan response decoding used
JSON.load, which is unsafe for untrusted input. Switched toJSON.parse. lib/einvoice/donation_unit_list.jsonwas stale since 2023-12 (the scheduled update workflow had been silently broken), causingDonationUnitValidatorto reject currently valid donation codes and accept retired ones. The list has been refreshed (~340 entries changed).
- Specs for
Clientdelegation,Configuration#ssl_verify,Provider#connectionSSL behavior, the validator fixes above, and the previously-untesteddecode_tradevanmiddleware.
- CI coverage reporting migrated from Code Climate (discontinued) to Codecov.
- The scheduled
cron.ymlworkflow that refreshes the donation unit list has been repaired — it depended on two archived GitHub Actions (actions/setup-ruby,mikeal/publish-to-github-action) and hadn't run successfully since 2023-12.
Versions prior to 1.4.0 were not tracked in this file. See the release history and commit log for earlier changes.