Skip to content

Releases: rogerbinns/apsw

3.39.3.0

11 Sep 21:04
Compare
Choose a tag to compare

SourceDownloadsChangelogsDocumentation

Test no longer fails if APSW was compiled without SQLITE_ENABLE_COLUMN_METADATA but sqlite3 was separately compiled with it. APSW should be compiled with the same flags as sqlite3 to match functionality and APIs. (APSW issue 363)

–use-system-sqlite-config setup.py build_ext option added to allow Matching APSW and SQLite options. (APSW issue 364)

3.39.2.1

04 Sep 21:07
Compare
Choose a tag to compare

SourceDownloadsChangelogsDocumentation

PyPI now includes Python 3.11 builds.

Instead of using scripts, you can now run several tools directly:

tests: python3 -m apsw.tests [options]

tracer: python3 -m apsw.trace [options]

speed tester: python3 -m apsw.speedtest [options]

shell: python3 -m apsw [options]

The shell class has moved from apsw.Shell to apsw.shell.Shell (APSW issue 356). You can still reference it via the old name (ie existing code will not break, except on Python 3.6).

Shell: On Windows the native console support for colour is now used (previously a third party module was supported).

You can use –definevalues in setup.py build_ext to provide compiler defines used for configuring SQLite. (APSW issue 357)

If SQLITE_ENABLE_COLUMN_METADATA is enabled then Cursor.description_full is available providing all the column metadata available. (APSW issue 354)

Connection.cursor_factory attribute is now present and is used when Connection.cursor() is called. Added Connection.execute() and Connection.executemany() which automatically obtain the underlying cursor. See customizing connections and cursors in the Tips. (APSW issue 361)

3.39.2.0

31 Jul 15:58
Compare
Choose a tag to compare

SourceDownloadsChangelogsDocumentation

Version numbering scheme change: Instead of a -r1 style suffix, there is .0 style suffix (APSW issue 340)

Updated building for PyPI to include more compiled platforms, including aarch64 (Linux) and universal (MacOS). Windows binaries are no longer separately provided since PyPI has them.

When the amalgamation is included into APSW, SQLITE_MAX_ATTACHED is set to 125 if not defined, up from the default of 10.

Updated typing information stubs with more detail and include docstrings. This is still ongoing, but core functionality is well covered. (APSW issue 338) (APSW issue 381)

Corrected the tips log handler of extended result code (APSW issue 342)

Added Connection.db_names() (APSW issue 343)

3.38.5-r1

05 Jun 16:51
Compare
Choose a tag to compare

SourceDownloadsChangelogsDocumentation

APSW is now on PyPI, so you can: pip install apsw
(Thanks to several people behind the scenes who helped with the various pieces to make this happen.)

Removed support for setup.py downloading the in-development (aka fossil) version of SQLite.

Shell exit for –version etc cleanly exits (APSW issue 210)

Python 3.11 (APSW issue 326) now works.

PyPy3 compiles and mostly works (APSW issue 323).

3.38.1-r1

22 Mar 17:04
Compare
Choose a tag to compare

SourceDownloadsChangelogsDocumentation

ll items now have full docstrings including type information. (Previously just one line summaries). Note the C implemented functions and data (ie almost all of APSW) can't provide the same level of type information as regular Python code.

apsw.pyi file is included which does provide all the typing information in type stub format, and shown by most IDEs.

Removal of code, tests, and documentation only relevant to CPython before 3.7. (Python 3.6 does still work, but is end of life.)

Keyword arguments can be used everywhere.

The statement cache implementation changed from a dictionary to a list. This allows the cache to be used for the same query text multiple times. (The code is also a quarter of the size and simpler).

The default for setup.py's fetch command is to get the SQLite version corresponding to APSW's release. (Previously it got the latest release.)

Added constants:

  • SQLITE_INDEX_CONSTRAINT_OFFSET, SQLITE_INDEX_CONSTRAINT_LIMIT

3.37.0-r1

04 Jan 23:06
Compare
Choose a tag to compare

SourceDownloadsChangelogsDocumentation

Allow breaking of reference cycles between objects that contain a Connection or Cursor, and also use callbacks from that object (eg busy handler). (APSW issue #314)

This is the last release supporting Python 2 and Python 3 before 3.7. If you still use those Python versions then you should pin to this APSW version. (More information).

Windows Python 3.10 binaries are available to download. The .exe format is no longer available with this Python version.

Fixed custom VFS extension loading failure could leave the error message unterminated.

Updated size of mutex array used by the fork checker

Connections are opened with SQLITE_OPEN_EXRESCODE so open errors will also include extended result codes.

Connection.changes() and Connection.totalchanges() use the new SQLite APIs that return 64 bit values (ie can now return values greater than 2 billion).

Added Connection.autovacuum_pages().

Added constants:

SQLITE_CONSTRAINT_DATATYPE, SQLITE_OPEN_EXRESCODE

3.36.0-r1

30 Jul 19:47
Compare
Choose a tag to compare

SourceDownloadsChangelogsDocumentation

Implemented Connection.serialize() and Connection.deserialize(). They turn a database into bytes, and bytes into a database respectively.

Allow any subclass of VFS to implement WAL, not just direct subclasses. (APSW issue 311)

Added constants:

  • SQLITE_FCNTL_EXTERNAL_READER, SQLITE_FCNTL_CKSM_FILE

3.35.4-r1

12 Apr 22:26
Compare
Choose a tag to compare

SourceDownloadsChangelogsDocumentation

Updates for SQLite download url (the year is part of the urls).

Added enable flag for built-in SQL math functions, and enable it by default with –enable-all-extensions.

Use the newer buffer API for Python 3 (old API removed in Python 3.10).

3.34.0-r1

18 Dec 23:24
Compare
Choose a tag to compare

SourceDownloadsChangelogsDocumentation

Windows MSI installer files are now provided in addition to the exe files (APSW issue 294), as well as wheels for Python 3.6+. Python 3.9 binaries are also now available. The wheels can be installed via pip.

Added Connection.txn_state()

Added constants:

  • SQLITE_IOERR_CORRUPTFS

3.33.0-r1

30 Aug 19:39
Compare
Choose a tag to compare

SourceDownloadsChangelogsDocumentation

Small performance improvement in string handling

apsw module exposes Cursor, Blob, and Backup types (issue #273)

pkg-config is used to detect International Components for Unicode (ICU) sdk when the SQLite ICU extension is enabled. It falls back to icu-config as before. (issue #268).

Added constants:

  • SQLITE_OPEN_SUPER_JOURNAL