Skip to content

v4.9.0

Latest

Choose a tag to compare

@github-actions github-actions released this 06 Aug 15:03
1e39ad3

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: v4.8.2...v4.9.0