All notable changes to this project will be documented in this file.
The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.
0.25.0 - 2026-08-26
- Add
Django 6.1support. - Drop
Django < 4.2support. #220 - Refactor
update_treeto use bulk updates. (by stumpylog in #221) - Update only changed fields in
update_treebulk update. - Replace
mark_safe(f-string)withformat_htmlto prevent XSS in admin. #219 - Pin actions to SHA, fix permissions, add "OpenSSF Scorecard" workflow. #218
- Bump test requirements.
- Bump
pre-commithooks.
0.24.0 - 2026-04-15
- Add
Python 3.14support. - Add
Django 6.0support. - Fix skip Python abstract classes in
__is_treenode_model. #215 - Bump test requirements.
- Bump
pre-commithooks.
0.23.3 - 2025-12-01
- Add circular reference detection to prevent infinite recursion. (by InzGIBA in #199)
- Fix
RuntimeErrorduring parallel test execution with proxy models. #207 - Bump test requirements.
- Bump
pre-commithooks.
0.23.2 - 2025-09-04
- Fix
set_parentnot properly finding descendants. #196 - Bump test requirements.
- Bump
pre-commithooks.
0.23.1 - 2025-04-30
- Fix call to
update_treeupon migration to zero causesProgrammingError. #188 (by @danilo-botelho in #189) - Update linter settings.
- Bump
pre-commithooks.
0.23.0 - 2025-04-03
- Add
Django 5.2support. - Bump
pre-commithooks. - Bump requirements.
0.22.2 - 2025-02-05
- Fix when
list_display_links = Nonethere is no encapsulating<a>tag. (by @bernieke in #168) - Bump test requirements.
- Bump
pre-commithooks.
0.22.1 - 2023-09-20
- Increase
tn_prioritymax value to9999999999to allow nodes sorting by timestamp. (by @simensol in #166) - Bump test requirements.
- Bump
pre-commithooks.
0.22.0 - 2023-01-31
- Ensure cache has been updated, otherwise log a warning.
- Fix tree methods not working if cache is not configured correctly.
- Code refactoring.
- Bump requirements.
- Bump
pre-commithooks. - Bump GitHub action.
0.21.0 - 2023-12-05
- Add
Python 3.12support. - Add
Django 5.0support. - Speed-up test workflow.
- Bump requirements.
- Bump
pre-commithooks.
0.20.2 - 2023-09-26
- Use specific database for write operations in multi-database setup. #123 (by @Nathan-Cohen in #124)
- Bump requirements and
pre-commithooks.
0.20.1 - 2023-06-02
- Fix
AttributeError: 'NoneType' object has no attribute 'get_parent_pk'when loading fixtures. #88 - Fix model tree update when receiving
post_migratesignal.
0.20.0 - 2023-05-29
- Add
pyupgrade(Python >= 3.8) topre-commitconfig. - Add
Django 4.2support and dropDjango 2.2support. - Add
django-upgrade(Django >= 3.2) topre-commithooks. - Add
metadatamodule. - Add locales support.
- Add string primary key support. #81
- Fix XSS vulnerability in
get_display_textmethod. - Replace
str.formatwithf-string. - Replace
flake8withRuff. - Replace
setup.pyin favor ofpyproject.toml. - Run
pre-commitalso withtox. - Pin test requirements.
- Bump requirements and
pre-commithooks. - Rename default branch from
mastertomain.
0.19.0 - 2022-12-14
- Add
Python 3.11anddjango 4.1support. - Drop
Python < 3.8andDjango < 2.2support. #67 - Add
pre-commit. - Bump requirements and actions.
- Replace
str.formatwithf-strings. - Replace
setup.py testin favor ofruntests.py.
0.18.2 - 2022-07-19
- Improved
get_breadcrumbsperformance.
0.18.1 - 2021-12-22
- Fixed positive integer fields for big trees. #51
0.18.0 - 2021-12-08
- Added django 4.0 compatibility.
- Added
cascadeoption todeletemethod. #40 - Added documentation for bulk operations. #41 #42 #45
- Removed console verbose logging. #36
- Removed display fallback to str method due to recursion error.
- Fixed order field too small for big trees. #44
- Fixed tests auto-field warning.
0.17.1 - 2021-12-07
- Replaced travis CI with GitHub workflow.
- Added python 3.10 support.
- Added feature: use
__str__as default fallback fortreenode_display_field. - Fixed backward compatibility.
0.17.0 - 2021-06-11
- Added handling for
UUIDprimary keys (thanks to @cperrin88). #31 - Reduced admin changelist queries.
- Added
TreeNodeModelutility methods and properties to retrieve only pk(s):- method
get_ancestors_pks()/ propertyancestors_pks - method
get_children_pks()/ propertychildren_pks - method
get_descendants_pks()/ propertydescendants_pks - method
get_parent_pk()/ propertyparent_pk - method
get_root_pk()/ propertyroot_pk - method
get_siblings_pks()/ propertysiblings_pks
- method
0.16.0 - 2021-04-21
- Added
python 3.9anddjango 3.2totoxandtravis. - Added
get_display_textmethod. #27 - Fixed
TreeNodeModelAdminduplicated query. - Updated
debug_performancedecorator to work only ifsettings.DEBUG = True.
0.15.0 - 2020-09-16
- Added custom
cacheback-end support. #19 #24 - Fixed tests warning (admin.W411).