Download Latest Version v4.9.0 source code.zip (162.7 kB)
Email in envelope

Get an email when there's a new version of TinyDB

Home / v4.9.0
Name Modified Size InfoDownloads / Week
Parent folder
README.md 2026-08-06 2.2 kB
v4.9.0 source code.tar.gz 2026-08-06 140.0 kB
v4.9.0 source code.zip 2026-08-06 162.7 kB
Totals: 3 Items   304.9 kB 1

What's Changed

  • Drop official support for Python 3.8 and 3.9. Both versions have reached their official End of Life (Python 3.8 in October 2024, Python 3.9 in October 2025). TinyDB now requires Python 3.10 or later.
  • Fix: Make Table.update(doc_ids=...) and Table.remove(doc_ids=...) behave consistently with Table.get(doc_id=...) when given document IDs that don't exist: missing IDs are now silently skipped and the returned list only contains IDs that were actually updated/removed. Previously both methods raised KeyError, and update could leave the table in a partially-updated state when a mix of existing and missing IDs was passed (see [#591]).
  • Fix: Prevent TypeError when passing unhashable extra arguments (like lists or dicts) to Query.test() (see [#517]).
  • Fix: Prevent FileNotFoundError when creating a database file in the current directory without an explicit path prefix (see [#619]).
  • Fix: Correctly handle falsy values (like 0 or None) stored in LRUCache (see [#596]).
  • Improvement: More precise type hints for Table.get (see [#602]).
  • Improvement: Correct the type hints for Table.update and tinydb.operations to use MutableMapping, so transform functions that modify documents in place type-check correctly (see [#598]).

New Contributors

Full Changelog: https://github.com/msiemens/tinydb/compare/v4.8.2...v4.9.0

Source: README.md, updated 2026-08-06