Repository navigation
v2.12.0
·
2 commits
to main
since this release
Immutable
release. Only release title and notes can be modified.
Pagination cursors can be signed, so a client cannot change them, and Python
3.15 is supported. The sync database engine now uses psycopg 3 and some
filters that used to be ignored now raise, see Breaking changes.
Breaking changes
- The
dbextra installspsycopg[binary](psycopg 3) instead of
psycopg2-binary, and the sync engine uses thepostgresql+psycopg
driver. The minimum versions offastapi,sqlalchemy,asyncpgand
kubernetesare raised
(#128). - With a cursor, the
filterspassed toPagination.createare now applied
on top of the filters carried by the cursor, and win on the same key.
Before, they were ignored
(pagination tutorial, #127). - A CRUD filter with an unknown operator, or an operator other than
eqon
a JSON value, raises aValidationErrorinstead of being silently
dropped. An invalid filter value is reported against its column rather
than as an invalid cursor
(#128).
New features
- The new
FLUID_PAGINATION_SECRETsetting signs every pagination cursor
with an HMAC, and a cursor that is changed, unsigned or signed with another
secret is rejected. A cursor limit outside 1 to
DEFAULT_PAGINATION_MAX_LIMITis replaced by that maximum
(pagination tutorial,
#127). - Python 3.15 is supported and tested in CI
(#128).
Improvements and fixes
- A
QueueConsumercancelled while stopping consumes the cancellation in
get_messageand exits its loop cleanly, withon_shutdowncalled as
usual (workers tutorial,
#128). - A crontab day of week range can end on 7 (Sunday), as in
1-7
(#128). - The
create-schemadatabase command commits the new schema, and
create-ro-userwith a database name keeps the original connection
settings (#128). - Worker start errors show the worker name and state in the message, and a
task run whose params cannot be serialized no longer fails at start
(#128). - The test suite reaches full coverage
(#128).