Skip to content

Releases: encode/databases

Version 0.9.0

01 Mar 17:38
ae3fb16
Compare
Choose a tag to compare

Changed

  • Drop support for Python 3.7 and add support for Python 3.12 (#583)
  • Add support for SQLAlchemy 2+ (#540)
  • Allow SSL string parameters in PostgresSQL URL (#575) and (#576)

Version 0.8.0

28 Aug 14:50
d653b31
Compare
Choose a tag to compare

Breaking

This release improves isolation of connections and transactions across concurrent tasks:

  • Database connections are now task-local and are not inherited by child tasks
  • The @db.transaction decorator uses the calling task's connection
  • Each new task uses a new connection unless a connection is explicitly provided

These changes improve the consistency of behavior and fix bugs where connections and transactions were not properly isolated such as: #123, #125, #134, #155, #424, and #452.

In most cases, these changes should not be breaking. However, if using an open transaction across tasks, the active connection (db.connection()) now needs to be explicitly passed to each task. See the new documentation for an example.

Added

  • Allow SQLite query parameters and support cached databases (#561)
  • Support for unix socket for aiomysql and asyncmy (#551)

Changed

  • Improve isolation of connections and transactions during concurrent usage (#546)
  • Bump requests from 2.28.1 to 2.31.0 (#562)
    zanieb marked this conversation as resolved.
  • Bump starlette from 0.20.4 to 0.27.0 (#560)
  • Bump up asyncmy version to fix No module named 'asyncmy.connection' (#553)
  • Bump wheel from 0.37.1 to 0.38.1 (#524)

Fixed

  • Fix the type-hints using more standard mode (#526)

Version 0.7.0

18 Dec 09:15
6b0c767
Compare
Choose a tag to compare

Fixed

  • Fixed breaking changes in SQLAlchemy cursor; supports >=1.4.42,<1.5 (#513).
  • Wrapped types in typing.Optional where applicable (#510).

Version 0.6.2

07 Nov 11:16
b38cc4f
Compare
Choose a tag to compare

0.6.2 (Nov 7th, 2022)

Changes

  • Pinned SQLAlchemy <=1.4.41 to avoid breaking changes (#520).

Version 0.6.1

09 Aug 08:31
385f3fd
Compare
Choose a tag to compare

0.6.1 (Aug 9th, 2022)

Fixed

  • Improve typing for Transaction (#493)
  • Allow string indexing into Record (#501)

Version 0.6.0

30 May 16:08
fbea46d
Compare
Choose a tag to compare

0.6.0 (May 30th, 2022)

  • Dropped Python 3.6 support (#458)

Added

  • Add _mapping property to the result set interface (#447 )
  • Add contributing docs (#453 )

Fixed

  • Fix query result named access (#448)
  • Fix connections getting into a bad state when a task is cancelled (#457)
  • Revert #328 parallel transactions (#472)
  • Change extra installations to specific drivers (#436)

Version 0.5.5

20 Jan 21:24
Compare
Choose a tag to compare

0.5.5 (January 20th, 2022)

Fixed

  • Revert the change of Record type to Sequence from Mapping(#408) to maintain backward compatibility

Version 0.5.4

14 Jan 14:58
f6b28ad
Compare
Choose a tag to compare

0.5.4 (January 14th, 2022)

Added

  • Support for Unix domain in connections (#423)
  • asyncmy MySQL driver (#382)

Fixed

  • Fix SQLite fetch queries with multiple parameters (#435)
  • Change Record type to Sequence (#408)

Version 0.5.3

10 Oct 10:43
5aadd6e
Compare
Choose a tag to compare

0.5.3 (October 10th, 2021)

Added

  • Support dialect+driver for default database drivers like postgresql+asyncpg (#396)

Fixed

  • Documentation of low-level transaction (#390)

Version 0.5.2

10 Sep 11:13
2150a22
Compare
Choose a tag to compare

0.5.2 (September 10th, 2021)

Fixed

  • Reset counter for failed connections (#385)
  • Avoid dangling task-local connections after Database.disconnect() (#211)