Work on this release was concentrated on two focus areas:
- @dsblank added additional API features that will power alternative web-based apps;
- @DavidMStraub improved handling of various error conditions that were surfaced through the improved logging added in v3.20.
Meanwhile, @elig-45 added an anniversary calendar subscription feature that will soon be available in the Gramps Web frontend.
API Changes
- Add exact before_id/after_id cursor for transaction history by @dsblank in #925
- Fast, structured POST .../query/ endpoints for every object type by @dsblank in #913
- Don't mutate the shared schema in validate_object_dict() by @dsblank in #926
- Reduce server load when polling the transaction history by @DavidMStraub in #927
Improved Error Handling
- Handle checksum key error by @DavidMStraub in #929
- More accurate handling of LLM errors by @DavidMStraub in #931
- Do not raise if media base dir does not exist by @DavidMStraub in #803
- Better error handling for invalid files by @DavidMStraub in #933
- Schema validation error detail by @DavidMStraub in #935
- Use pessimistic disconnect handling for user db by default by @DavidMStraub in #938
Other Improvements
- feat(api): add anniversaries ICS feed endpoint by @elig-45 in #792
- Use code exchange for OIDC by @DavidMStraub in #928
Full Changelog: v3.20.1...v3.21.0