What's Changed
- chore: back-merge main after v1.19.0 by @agigante80 in #351
- fix(schedule-alerts): guard each digest destination against transient ledger errors (#332) by @agigante80 in #353
- fix(alerts): #258 review lows: per-reason cannotCheck text, refund sign, docs and service tests (#296) by @agigante80 in #354
- feat(dashboard): origin check on POST routes, opt-in config writes, config audit trail (#259) by @agigante80 in #352
- fix(schedule-alerts): resolve an open missing when a one-off schedule is marked completed (#326) by @agigante80 in #355
- test(e2e): close the #263 harness review lows (#289) by @agigante80 in #357
- fix(schedule-alerts): close a deleted schedule's open missing; ruleUnmatched once per destination (#356) by @agigante80 in #358
- fix(schedule-alerts): an empty schedule list skips evaluation instead of raising ruleUnmatched (#359) by @agigante80 in #360
- ci(dependabot): add cooldown to version updates (#251) by @agigante80 in #330
- ci: add the OpenSSF Scorecard workflow (#255) by @agigante80 in #335
- ci(dependabot): track the Docker base image by digest, ignore Node majors (#362) by @agigante80 in #363
- ci: make npm audit blocking and add dependency review (#250) by @agigante80 in #328
- feat(dashboard): enable, disable and mute payment alerts from the Payments tab (#261) by @agigante80 in #361
- chore: bump version to 1.20.0 by @agigante80 in #365
- Release v1.20.0 by @agigante80 in #366
Full Changelog: v1.19.0...v1.20.0