see issues #109, #111, #112 & #113
- Add support for SQLAlchemy 2.0.
- Add official support for Python 3.12, 3.13 and 3.14.
- Remove examples of defunct features from the documentation.
see issues #104 & #110
- Add support for SQLAlchemy 1.4.
- Drop official support for PyPy.
- Simplify memory management by using
weakref.WeakSetinstead of rolling our own weak reference set. - Unify
after_flush_postexecexecution path for CPython & PyPy. - Simplify
get_siblings. - Run doctest on all code snippets in the documentation.
- Fix some of the incorrect documentation snippets.
see issue #97
- Support for Python 3.10 and 3.11
- Dropped support for Python 3.7
see issues #63, #87, #89 & #90
- Support for joined-table inheritance
- Restrict to Python & PyPy 3.7 - 3.9
- Restrict to SQLA 1.0 - 1.3
- Fixes race condition with garbage collection on PyPy versions
see issue #64
- Added similar django_mptt methods get_siblings and get_children
see PR #61
- Allow to specify ordering of path_to_root
see issue #57
- Fix rebuild tree
- Added support node's identifier start from 0
see issue #56
- Added custom default root level. Support Django style level=0
see PR #51
- fix of index columns names
see PR #50
- Changed
parent_idto dynamically match the type of the primary_key - exposed drilldown_tree's logic and path_to_root's logic as both instance and class level method