Skip to content

Releases: thomaxxl/safrs

3.2.0 - FastAPI

09 Mar 09:04

Choose a tag to compare

SAFRS v3.2.0 (March 8, 2026)

  • FastAPI support with broad JSON:API parity improvements versus Flask (routing, serialization, pagination/sorting/filtering, docs).
  • Improved error handling across Flask/FastAPI, including cleaner JSON:API client errors for invalid input and database edge cases (including integer overflow scenarios).
  • Added stronger relationship and write-path safeguards, plus improved transaction/unit-of-work behavior.
  • Upgraded filtering support with grouped JSON filter expressions while keeping legacy filter compatibility.
  • Improved OpenAPI/Swagger output and UI defaults (better tag descriptions, cleaner docs behavior, collapsed JSON:API operations by default).
  • Refreshed examples and added/expanded tests (including mini-example coverage and verifier parity/hardening work).
  • Updated dependency minimums to current releases and prepared package metadata for 3.2.0.

3.1.7

07 May 14:09

Choose a tag to compare

Fix broken custom delimiter usage (when using _s_pk_delimiter)

3.1.6

22 Dec 13:10

Choose a tag to compare

This version contains

  • small bugfix for jsonapi reserved "type" attributes
  • safrs base debug logging

3.1.5

15 Oct 18:53

Choose a tag to compare

  • default auto commit to False when there's no request context

3.1.4

26 Aug 03:53

Choose a tag to compare

This release contains some minor bugfixes:

  • Fixes related to unicode PK
  • Fix for status code not being a string #158
  • Fix for unsortable columns throwing an exception (1b8e8cf)

3.1.3

28 Nov 18:18

Choose a tag to compare

  • fix Flask-SQLAlchemy>=3.1.0 model import
  • fix csv lookup for id attributes

3.1.0

30 May 18:33

Choose a tag to compare

  • Update json encoder to be compatible with Flask 2.3

3.0.4

07 May 19:20

Choose a tag to compare

  • Pin Flask==2.2.5: we're using a deprecated JSONEncoder which is no longer available in Flask 2.3 . A real fix will be released for safrs 3.1
  • Pagination for included resources, for ex.: ?include=books_read.author&page[books_read][limit]=2&page[books_read]
  • Remove count() Warning

3.0.2

17 Apr 19:57

Choose a tag to compare

Patch filter count issue (#146 )

3.0.0

11 Feb 21:00

Choose a tag to compare

  • Resolved conflicts with recent flask_sqlalchemy.

    • safrs.DB does no longer exist before SAFRSAPI is initialized.
  • Improved packaging (fix broken pip install -e . in pip>=22)

  • No longer automatically commit instances (SAFRSBase.db_commit defaults to False)