diff --git a/.bumpversion.cfg b/.bumpversion.cfg index 19a824e..3c63323 100644 --- a/.bumpversion.cfg +++ b/.bumpversion.cfg @@ -1,5 +1,5 @@ [bumpversion] -current_version = 0.41.0 +current_version = 0.42.0 parse = (?P\d+)\.(?P\d+)\.(?P\d+)(\.dev(?P\d+))? serialize = {major}.{minor}.{patch}.dev{build} diff --git a/CHANGELOG.md b/CHANGELOG.md index ca7b3aa..0090953 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,6 +1,28 @@ # CHANGELOG -## 0.410.0 (2023-07-26) + +## 0.42.0 (2023-08-18) + +- fix: coerce filter values to Python objects + Combination of SQLAlchemy 2.x and psycopg 3.x no longer accepts query parameters as + strings for ie. integers and date-times. Query like following: + + ```py + User.query.filter(User.id == "42").first() + ``` + + results with + + ```log + ProgrammingError: (psycopg.errors.UndefinedFunction) operator does not exist: bigint = character varying + ``` + + Ideally, this would've been resolved in either of these libraries or in applications + themselves. And in most cases this the only solution. But in `flask-rest-jsonapi-next` + we can workaround most of these errors by trying to coerce filter values into correct + types. + +## 0.41.0 (2023-07-26) - fix: don't log stacktrace for common exceptions - fix: defend from empty filters diff --git a/docs/conf.py b/docs/conf.py index 672c9c8..8786a38 100644 --- a/docs/conf.py +++ b/docs/conf.py @@ -9,7 +9,7 @@ project = "flask-rest-jsonapi-next" copyright = "2016-2021 miLibris; 2021-... miLibris, tadams42" author = "tadams42" -release = "0.41.0" +release = "0.42.0" # -- General configuration --------------------------------------------------- # https://www.sphinx-doc.org/en/master/usage/configuration.html#general-configuration diff --git a/pyproject.toml b/pyproject.toml index 74236ce..936b912 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -5,7 +5,7 @@ requires = ["setuptools>=64", "wheel"] [project] name = "flask-rest-jsonapi-next" -version = "0.41.0" +version = "0.42.0" description = "Flask extension to create REST web api according to JSONAPI 1.0 specification with Flask, Marshmallow and data provider of your choice (SQLAlchemy, MongoDB, ...)" readme = "README.md" classifiers = [ diff --git a/src/flask_rest_jsonapi_next/__init__.py b/src/flask_rest_jsonapi_next/__init__.py index 03e7270..732e9e7 100644 --- a/src/flask_rest_jsonapi_next/__init__.py +++ b/src/flask_rest_jsonapi_next/__init__.py @@ -1,4 +1,4 @@ -__version__ = "0.41.0" +__version__ = "0.42.0" from .api import Api from .data_layers.alchemy import SqlalchemyDataLayer