2024-03-06 22:17:23 by Thomas Klausner | Files touched by this commit (3) | |
Log message:
py-flask-sqlalchemy: update to 3.1.1.
Version 3.1.1
-------------
Released 2023-09-11
- Deprecate the ``__version__`` attribute. Use feature detection, or
``importlib.metadata.version("flask-sqlalchemy")``, instead. \
:issue:`5230`
Version 3.1.0
-------------
Released 2023-09-11
- Drop support for Python 3.7. :pr:`1251`
- Add support for the SQLAlchemy 2.x API via ``model_class`` parameter. \
:issue:`1140`
- Bump minimum version of SQLAlchemy to 2.0.16.
- Remove previously deprecated code.
- Pass extra keyword arguments from ``get_or_404`` to ``session.get``. \
:issue:`1149`
- Fix bug with finding right bind key for clause statements. :issue:`1211`
Version 3.0.5
-------------
Released 2023-06-21
- ``Pagination.next()`` enforces ``max_per_page``. :issue:`1201`
- Improve type hint for ``get_or_404`` return value to be non-optional. :pr:`1226`
Version 3.0.4
-------------
Released 2023-06-19
- Fix type hint for ``get_or_404`` return value. :pr:`1208`
- Fix type hints for pyright (used by VS Code Pylance extension). :issue:`1205`
Version 3.0.3
-------------
Released 2023-01-31
- Show helpful errors when mistakenly using multiple ``SQLAlchemy`` instances \
for the
same app, or without calling ``init_app``. :pr:`1151`
- Fix issue with getting the engine associated with a model that uses polymorphic
table inheritance. :issue:`1155`
Version 3.0.2
-------------
Released 2022-10-14
- Update compatibility with SQLAlchemy 2. :issue:`1122`
Version 3.0.1
-------------
Released 2022-10-11
- Export typing information instead of using external typeshed definitions.
:issue:`1112`
- If default engine options are set, but ``SQLALCHEMY_DATABASE_URI`` is not set, an
invalid default bind will not be configured. :issue:`1117`
Version 3.0.0
-------------
Released 2022-10-04
- Drop support for Python 2, 3.4, 3.5, and 3.6.
- Bump minimum version of Flask to 2.2.
- Bump minimum version of SQLAlchemy to 1.4.18.
- Remove previously deprecated code.
- The session is scoped to the current app context instead of the thread. This
requires that an app context is active. This ensures that the session is \
cleaned up
after every request.
- An active Flask application context is always required to access ``session`` and
``engine``, regardless of if an application was passed to the constructor.
:issue:`508, 944`
- Different bind keys use different SQLAlchemy ``MetaData`` registries, allowing
tables in different databases to have the same name. Bind keys are stored \
and looked
up on the resulting metadata rather than the model or table.
- ``SQLALCHEMY_DATABASE_URI`` does not default to ``sqlite:///:memory:``. An \
error is
raised if neither it nor ``SQLALCHEMY_BINDS`` define any engines. :pr:`731`
- Configuring SQLite with a relative path is relative to ``app.instance_path`` \
instead
of ``app.root_path``. The instance folder is created if necessary. :issue:`462`
- Added ``get_or_404``, ``first_or_404``, ``one_or_404``, and ``paginate`` \
methods to
the extension object. These use SQLAlchemy's preferred \
``session.execute(select())``
pattern instead of the legacy query interface. :issue:`1088`
- Setup methods that create the engines and session are renamed with a leading
underscore. They are considered internal interfaces which may change at any time.
- All parameters to ``SQLAlchemy`` except ``app`` are keyword-only.
- Renamed the ``bind`` parameter to ``bind_key`` and removed the ``app`` parameter
from various ``SQLAlchemy`` methods.
- The extension object uses ``__getattr__`` to alias names from the SQLAlchemy
package, rather than copying them as attributes.
- The extension object is stored directly as \
``app.extensions["sqlalchemy"]``.
:issue:`698`
- The session class can be customized by passing the ``class_`` key in the
``session_options`` parameter. :issue:`327`
- ``SignallingSession`` is renamed to ``Session``.
- ``Session.get_bind`` more closely matches the base implementation.
- Model classes and the ``db`` instance are available without imports in
``flask shell``. :issue:`1089`
- The ``CamelCase`` to ``snake_case`` table name converter handles more patterns
correctly. If model that was already created in the database changed, either use
Alembic to rename the table, or set ``__tablename__`` to keep the old name.
:issue:`406`
- ``Model`` ``repr`` distinguishes between transient and pending instances.
:issue:`967`
- A custom model class can implement ``__init_subclass__`` with class parameters.
:issue:`1002`
- ``db.Table`` is a subclass instead of a function.
- The ``engine_options`` parameter is applied as defaults before per-engine
configuration.
- ``SQLALCHEMY_BINDS`` values can either be an engine URL, or a dict of engine \
options
including URL, for each bind. ``SQLALCHEMY_DATABASE_URI`` and
``SQLALCHEMY_ENGINE_OPTIONS`` correspond to the ``None`` key and take precedence.
:issue:`783`
- Engines are created when calling ``init_app`` rather than the first time they are
accessed. :issue:`698`
- ``db.engines`` exposes the map of bind keys to engines for the current app.
- ``get_engine``, ``get_tables_for_bind``, and ``get_binds`` are deprecated.
- SQLite driver-level URIs that look like ``sqlite:///file:name.db?uri=true`` are
supported. :issue:`998, 1045`
- SQLite engines do not use ``NullPool`` if ``pool_size`` is 0.
- MySQL engines use the "utf8mb4" charset by default. :issue:`875`
- MySQL engines do not set ``pool_size`` to 10.
- MySQL engines don't set a default for ``pool_recycle`` if not using a queue pool.
:issue:`803`
- ``Query`` is renamed from ``BaseQuery``.
- Added ``Query.one_or_404``.
- The query class is applied to ``backref`` in ``relationship``. :issue:`417`
- Creating ``Pagination`` objects manually is no longer a public API. They \
should be
created with ``db.paginate`` or ``query.paginate``. :issue:`1088`
- ``Pagination.iter_pages`` and ``Query.paginate`` parameters are keyword-only.
- ``Pagination`` is iterable, iterating over its items. :issue:`70`
- Pagination count query is more efficient.
- ``Pagination.iter_pages`` is more efficient. :issue:`622`
- ``Pagination.iter_pages`` ``right_current`` parameter is inclusive.
- Pagination ``per_page`` cannot be 0. :issue:`1091`
- Pagination ``max_per_page`` defaults to 100. :issue:`1091`
- Added ``Pagination.first`` and ``last`` properties, which give the number of the
first and last item on the page. :issue:`567`
- ``SQLALCHEMY_RECORD_QUERIES`` is disabled by default, and is not enabled
automatically with ``app.debug`` or ``app.testing``. :issue:`1092`
- ``get_debug_queries`` is renamed to ``get_recorded_queries`` to better match the
config and functionality.
- Recorded query info is a dataclass instead of a tuple. The ``context`` \
attribute is
renamed to ``location``. Finding the location uses a more inclusive check.
- ``SQLALCHEMY_TRACK_MODIFICATIONS`` is disabled by default. :pr:`727`
- ``SQLALCHEMY_COMMIT_ON_TEARDOWN`` is deprecated. It can cause various design \
issues
that are difficult to debug. Call ``db.session.commit()`` directly instead.
:issue:`216`
|
2022-04-29 13:56:47 by Thomas Klausner | Files touched by this commit (29) | |
Log message:
*: mark py-flask dependencies as not-for-python-2.x
I'll update py-flask soon; the current pkgsrc of py-flask version
is broken and all newer versions do not support python 2.x
|
2022-01-04 21:55:40 by Thomas Klausner | Files touched by this commit (1595) |
Log message:
*: bump PKGREVISION for egg.mk users
They now have a tool dependency on py-setuptools instead of a DEPENDS
|
2021-10-26 13:31:15 by Nia Alarie | Files touched by this commit (1030) |
Log message:
www: Replace RMD160 checksums with BLAKE2s checksums
All checksums have been double-checked against existing RMD160 and
SHA512 hashes
Not committed (merge conflicts):
www/nghttp2/distinfo
Unfetchable distfiles (almost certainly fetched conditionally...):
./www/nginx-devel/distinfo array-var-nginx-module-0.05.tar.gz
./www/nginx-devel/distinfo echo-nginx-module-0.62.tar.gz
./www/nginx-devel/distinfo encrypted-session-nginx-module-0.08.tar.gz
./www/nginx-devel/distinfo form-input-nginx-module-0.12.tar.gz
./www/nginx-devel/distinfo headers-more-nginx-module-0.33.tar.gz
./www/nginx-devel/distinfo lua-nginx-module-0.10.19.tar.gz
./www/nginx-devel/distinfo naxsi-1.3.tar.gz
./www/nginx-devel/distinfo nginx-dav-ext-module-3.0.0.tar.gz
./www/nginx-devel/distinfo nginx-rtmp-module-1.2.2.tar.gz
./www/nginx-devel/distinfo nginx_http_push_module-1.2.10.tar.gz
./www/nginx-devel/distinfo ngx_cache_purge-2.5.1.tar.gz
./www/nginx-devel/distinfo ngx_devel_kit-0.3.1.tar.gz
./www/nginx-devel/distinfo ngx_http_geoip2_module-3.3.tar.gz
./www/nginx-devel/distinfo njs-0.5.0.tar.gz
./www/nginx-devel/distinfo set-misc-nginx-module-0.32.tar.gz
./www/nginx/distinfo array-var-nginx-module-0.05.tar.gz
./www/nginx/distinfo echo-nginx-module-0.62.tar.gz
./www/nginx/distinfo encrypted-session-nginx-module-0.08.tar.gz
./www/nginx/distinfo form-input-nginx-module-0.12.tar.gz
./www/nginx/distinfo headers-more-nginx-module-0.33.tar.gz
./www/nginx/distinfo lua-nginx-module-0.10.19.tar.gz
./www/nginx/distinfo naxsi-1.3.tar.gz
./www/nginx/distinfo nginx-dav-ext-module-3.0.0.tar.gz
./www/nginx/distinfo nginx-rtmp-module-1.2.2.tar.gz
./www/nginx/distinfo nginx_http_push_module-1.2.10.tar.gz
./www/nginx/distinfo ngx_cache_purge-2.5.1.tar.gz
./www/nginx/distinfo ngx_devel_kit-0.3.1.tar.gz
./www/nginx/distinfo ngx_http_geoip2_module-3.3.tar.gz
./www/nginx/distinfo njs-0.5.0.tar.gz
./www/nginx/distinfo set-misc-nginx-module-0.32.tar.gz
|
2021-10-07 17:09:00 by Nia Alarie | Files touched by this commit (1033) |
Log message:
www: Remove SHA1 hashes for distfiles
|
2021-04-07 15:08:46 by Klaus Klein | Files touched by this commit (2) |
Log message:
py-flask-sqlalchemy: Update to 2.5.1.
Version 2.5.1
-------------
Released 2021-03-18
- Fix compatibility with Python 2.7.
Version 2.5.0
-------------
Released 2021-03-18
- Update to support SQLAlchemy 1.4.
- SQLAlchemy ``URL`` objects are immutable. Some internal methods have
changed to return a new URL instead of ``None``. :issue:`885`
|
2020-07-23 11:35:16 by Klaus Klein | Files touched by this commit (2) |
Log message:
py-flask-sqlalchemy: Update to 2.4.4.
Version 2.4.4
-------------
Released 2020-07-14
- Change base class of meta mixins to ``type``. This fixes an issue
caused by a regression in CPython 3.8.4. :issue:`852`
|
2020-06-05 13:41:32 by Klaus Klein | Files touched by this commit (2) |
Log message:
py-flask-sqlalchemy: Update to 2.4.3.
Version 2.4.3
-------------
Released 2020-05-26
- Deprecate ``SQLALCHEMY_COMMIT_ON_TEARDOWN`` as it can cause various
design issues that are difficult to debug. Call
``db.session.commit()`` directly instead. :issue:`216`
Version 2.4.2
-------------
Released 2020-05-25
- Fix bad pagination when records are de-duped. :pr:`812`
|
2019-11-08 14:21:52 by Adam Ciarcinski | Files touched by this commit (2) | |
Log message:
py-flask-sqlalchemy: updated to 2.4.1
Version 2.4.1
- Fix ``AttributeError`` when using multiple binds with polymorphic
models.
|
2019-05-19 10:07:54 by Adam Ciarcinski | Files touched by this commit (3) | |
Log message:
py-flask-sqlalchemy: updated to 2.4.0
Version 2.4.0
- Make engine configuration more flexible.
- Address SQLAlchemy 1.3 deprecations.
- get_or_404() and first_or_404() now accept a description
parameter to control the 404 message.
- Use time.perf_counter for Python 3 on Windows.
- Drop support for Python 2.6 and 3.3.
- Add an example of Flask's tutorial project, Flaskr, adapted for
Flask-SQLAlchemy.
|