0.8.2
Bug-fix follow-up to the 0.8.1 audit. No public API changes.
Backend
- SQLAlchemy: relationship (m2m) filter values are coerced to
intfor integer primary keys (previously raised HTTP 500 on strictly typed drivers such as PostgreSQL/asyncpg), and unsupported lookups on relation fields (e.g.icontains) are rejected with HTTP 422 instead of silently matching by primary-key equality. - Pony ORM: the foreign-key filter rewrite no longer corrupts filters on plain columns whose name merely ends with
_id, and list-view search now runs as a single OR'd WHERE clause instead of materializing every matching row once per search field. - Flask:
HTTPExceptions with an attached response (abort(Response(...))) are passed through unchanged, error headers (Allow,WWW-Authenticate,Retry-After, ...) are preserved on JSON error responses, and unhandled errors are logged with their traceback. - Filtering:
IS NULLis expressible again on text columns viafield__exact=null(substring lookups keep the literal string"null").
Frontend
- Stop corrupting text fields whose content is the literal word
"true"/"false"on the change form (booleans are now only coerced for boolean widgets). - Stop shape-based date detection for fields known to have no date widget.
- Pass the model configuration directly to
transformDataFromServerso every call site gets the safe behavior.
Full Changelog: v0.8.1...v0.8.2