Skip to content

Releases: rogerbinns/apsw

3.51.2.0

10 Jan 16:25
2996588

Choose a tag to compare

apsw.ext.DataClassRowFactory now defaults slots to True for dataclasses.dataclass() which saves a small amount of memory.

3.51.1.0

29 Nov 17:15

Choose a tag to compare

All objects that can be closed implement bool() which returns True while open and False when closed - Connection, Cursor, Backup, Blob, Session, ChangesetBuilder, Rebaser.

3.51.0.0

05 Nov 18:44

Choose a tag to compare

JSON can be used as though it is a native type of SQLite, with automatic conversion of Python objects on writing and reading. (example)

Connection.convert_binding (and Cursor.convert_binding) callback to allow conversion of bindings when executing SQL.

Connection.convert_jsonb (and Cursor.convert_jsonb) callback to allow conversion of JSONB when reading query results. (JSONB is SQLite’s binary internal parsed format for quick operations on JSON.)

3 functions for working directly with JSONB allowing direct conversion between Python objects and JSONB, without having to go through the intermediate JSON text format.

Added apsw.ext.Function() for calling SQL functions directly from Python.

When using with (Connection context manager) you can set the outer transaction mode to DEFERRED (default) / IMMEDIATE / EXCLUSIVE. (APSW issue 578)

Changeset.apply() now takes filter_change parameter for allowing filtering on individual change level, taking advantage of sqlite3changeset_apply_v3

Updated Connection.status() to use 64 bit API, and apsw.ext.ShowResourceUsage() to show TEMPBUF_SPILL. (pragma cache_size controls the amount of temp/cache memory available.)

The percentile extension is enabled when enabling all extensions, which is standard for pypi downloads. It enables several percentile, median, and related SQL functions.

The carray extension is enabled when enabling all extensions, which is standard for pypi downloads. apsw.carray() allows binding bulk numbers, strings, and blobs to a query. See the example.

SQLITE_SCM_ constants (BRANCH, TAGS, DATETIME) are available on the module if built with the amalgamation.

apsw.ext.generate_series_sqlite() updated to exactly match SQLite’s behaviour. apsw.ext.generate_series() is recommended as it matches other databases.

Updated apsw.unicode to support Unicode 17.0 which adds 4,803 new codepoints, and updated line breaking, along with other small tweaks.

The Geopoly extension (GeoJSON access to RTree) is enabled when --enable-all-extensions is used with setup.py. This includes pypi builds.

This is the final release supporting Python 3.9.

3.50.4.0

31 Jul 15:17

Choose a tag to compare

PyPI binary builds are available for:

  • Python 3.14
  • Windows ARM
  • Python 3.14 free threaded (no GIL). The GIL will be enabled when APSW is loaded. APSW will be free threaded in the future (APSW issue 568)

3.50.3.0

20 Jul 22:10

Choose a tag to compare

preupdate_hook() is available. The commit and rollback hooks let you provide multiple callbacks, multiplex by APSW. apsw.ext.Trace() can now show updates, and transaction begin, commit, and rollback.

3.50.2.0

29 Jun 16:32

Choose a tag to compare

PyPi builds now use cibuildwheel version 3 which advances the minimum supported Linux distribution. It is configured to continue building both 32 and 64 bit binaries..

3.50.1.0

06 Jun 17:19

Choose a tag to compare

No user visible changes.

3.50.0.0

30 May 15:26

Choose a tag to compare

Full support for the Session extension

Added Connection.setlk_timeout(), apsw.mapping_setlk_timeout_flags, and enabled the timeout for amalgamation builds such as PyPI.

Shell open command allows specifying flags to open a connection, and connection command shows flags used for each open. (APSW issue 557)

Type stubs updated to collections.abc.Buffer (Python 3.12+) wherever some bytes are taken. Buffers have always been used, but Python 3.12 added typing.

3.49.2.0

07 May 17:49

Choose a tag to compare

Shell dump command handles generated columns correctly. (APSW issue 556)

3.49.1.0

18 Feb 18:18

Choose a tag to compare