Releases: jazzband/django-simple-history
Releases · jazzband/django-simple-history
Release 3.7.0
What's Changed
Documented changes
Merged PRs
- Drop support for Django 3.2 by @ddabble in #1344
- Update package metadata by @ofek in #1348
- Add Django as installation dependency by @ddabble in #1349
- Prepare for release 3.7.0 by @ddabble in #1350
New Contributors
Full Changelog: 3.6.0...3.7.0
Release 3.6.0
What's Changed
Documented changes
Merged PRs
- Support customizing the history manager and historical queryset classes by @tim-schilling in #1306
- Add history diff column to admin change history table by @raunaq-sailo in #1128
- Fix m2m saved when simple history disabled by @MattFanto in #1329
- Fix Dependabot not creating new dependency PRs by @ddabble in #1332
- Fix O(n) queries when adding M2M objects by @ddabble in #1333
- Prepare for release 3.6.0 by @ddabble in #1345
New Contributors
- @raunaq-sailo made their first contribution in #1128
- @MattFanto made their first contribution in #1329
Full Changelog: 3.5.0...3.6.0
Release 3.5.0
What's Changed
Documented changes
Merged PRs
- Exclude bots from generated release notes by @hugovk in #1231
- Use django builtin for determining through field name by @mjsir911 in #1218
- feat: m2m_fields accepts field names by @legau in #1243
- Handle missing request by @Tenzer in #1256
- Batch with additional historical model fields by @NoelJames in #1248
- Add temporary
asgiref
requirement by @ddabble in #1261 - Use exists query instead of count in clean-duplicate-history command. by @bigtimecriminal in #1015
- add translation for Simplified Chinese (zh_Hans) by @renph in #1281
- Add Django 5.0 by @tim-schilling in #1289
- Prepare for 3.5.0 release by @tim-schilling in #1290
New Contributors
- @Tenzer made their first contribution in #1256
- @NoelJames made their first contribution in #1248
- @bigtimecriminal made their first contribution in #1015
- @renph made their first contribution in #1281
Full Changelog: 3.4.0...3.5.0
Release 3.4.0
What's Changed
Documented changes
Merged PRs
- Fix failing admin tests when testing against Django's main branch by @ddabble in #1140
- Update GitHub Actions by @hugovk in #1147
- evaluate history model permissions explicitly by @erikvw in #1017
- docs: missing comma in 'Signals' codeblock by @hector97i in #1132
- Change admin.py to use Django's registered User Model by @helmetwearer in #1177
- Fix doc typo to make code block instead of block quote by @mjsir911 in #1185
- add id translation by @kiraware in #1198
- Urdu Translation by @muneeb706 in #1199
- Fix MariaDB test container failing to start by @ddabble in #1200
- Update Python and Django versions by @ddabble in #1202
- Test that translation files are compiled by @ddabble in #1207
- Update utils.py with adding a return of function bulk_update_with_history by @zhaojiejoe in #1206
- Add Norwegian bokmål translations + a little translation cleanup by @ddabble in #1210
- use new style middleware and catch exceptions to be sure to clear request in context by @manelclos in #1188
- Use sync/async pattern for middleware since Django 3.1 by @john-parton in #1209
- Fix: Error when setting table name with inherit by @muneeb706 in #1196
- Prepare for release 3.4.0 by @ddabble in #1230
New Contributors
- @hector97i made their first contribution in #1132
- @helmetwearer made their first contribution in #1177
- @mjsir911 made their first contribution in #1185
- @kiraware made their first contribution in #1198
- @muneeb706 made their first contribution in #1199
- @zhaojiejoe made their first contribution in #1206
- @manelclos made their first contribution in #1188
Full Changelog: 3.3.0...3.4.0
Release 3.3.0
What's Changed
Documented changes
Merged PRs
- M2M support for inheritance and signals by @legau in #1042
- Fix
KeyError
when cleaning duplicate history by @ddabble in #1038 - Add Python 3.11 to CI, tox, trove classifers, and README by @joshuadavidthomas in #1053
- added Arabic translations by @Ibrahim-Aldhaheri in #1056
- docs - fix code example (historical_model) by @kfsz in #1069
- Base manager can now be used for clean_duplicate_history by @nick-traeger in #1115
- Fix failing tests by @ddabble in #1124
- Prepare for release 3.3.0 by @ddabble in #1139
New Contributors
- @legau made their first contribution in #1042
- @ddabble made their first contribution in #1038
- @joshuadavidthomas made their first contribution in #1053
- @Ibrahim-Aldhaheri made their first contribution in #1056
- @kfsz made their first contribution in #1069
Full Changelog: 3.2.0...3.3.0
3.2.0
What's Changed
- Replaces count by exists in populate_history command by @fabiocapsouza in #982
- [issue-983] querying history, convert to instance, chase foreign key on history_date by @jeking3 in #984
- [fix] add fallback_version to scm settings by @areski in #981
- Removed n+1 query from bulk_create_with_history utility by @twolfson in #975
- Fixed simple typos by @creyD in #996
- Fix code block in docs for Using custom OneToOneFields by @bheesham in #1011
- Added support for Django 4.1 by @hramezani in #1021
- Add pyupgrade to .pre-commit-config.yaml by @hramezani in #1022
- Enable diffing m2m fields by @thijskramer in #932
New Contributors
- @fabiocapsouza made their first contribution in #982
- @twolfson made their first contribution in #975
- @creyD made their first contribution in #996
- @bheesham made their first contribution in #1011
- @thijskramer made their first contribution in #932
Full Changelog: 3.1.1...3.2.0
Release 3.1.1
What's Changed
- Fix stale py36 references in pyproject.toml by @jeking3 in #978
- Fix local setup.py install versioning issue by @jeking3 in #978
- Prepare for 3.1.1 and remove py2 universal wheel by @jeking3 in #979
Full Changelog: 3.1.0...3.1.1
Release 3.1.0
Breaking Changes
- Dropped support for Django 2.2 (gh-968)
- Dropped support for Django 3.1 (gh-952)
- Dropped support for Python 3.6, which reached end-of-life on 2021-12-23 (gh-946)
Upgrade Implications
- Run
makemigrations
after upgrading to realize the benefit of indexing changes.
Full list of changes
- Added queryset-based filtering with
as_of
(gh-397) - Added index on
history_date
column; opt-out with settingSIMPLE_HISTORY_DATE_INDEX
(gh-565) - RecordModels now support a
no_db_index
setting, to drop indices in historical models,
default stays the same (gh-720) - Support
included_fields
forhistory.diff_against
(gh-776) - Improve performance of
history.diff_against
by reducing number of queries to 0 in most cases (gh-776) - Fixed
prev_record
andnext_record
performance when usingexcluded_fields
(gh-791) - Fixed
update_change_reason
in pk (gh-806) - Fixed bug where serializer of djangorestframework crashed if used with
OrderingFilter
(gh-821) - Fixed
make format
so it works by using tox (gh-859) - Fixed bug where latest() is not idempotent for identical
history_date
records (gh-861) - Added
excluded_field_kwargs
to support customOneToOneField
that have
additional arguments that don't exist onForeignKey
. (gh-870) - Added Czech translations (gh-885)
- Added ability to break into debugger on unit test failure (gh-890)
- Added pre-commit for better commit quality (gh-896)
- Russian translations update (gh-897)
- Added support for Django 4.0 (gh-898)
- Added Python 3.10 to test matrix (gh-899)
- Fix bug with
history.diff_against
with non-editable fields (gh-923) - Added HistoricForeignKey (gh-940)
- Support change reason formula feature. Change reason formula can be defined by overriding
get_change_reason_for_object
method after subclassingHistoricalRecords
(gh-962)
Release 3.0.0
Breaking changes:
- Removed support for Django 3.0
- Removed
changeReason
in favor of_change_reason
(see 2.10.0)
Full list of changes:
- Removed support for Django versions prior to 2.2 (gh-652)
- Migrate from TravisCI to Github Actions (gh-739)
- Add Python 3.9 support (gh-745)
- Support
ignore_conflicts
inbulk_create_with_history
(gh-733) - Use
asgiref
when available instead of thread locals (gh-747) - Sort imports with isort (gh-751)
- Queryset
history.as_of
speed improvements by calculating in the DB (gh-758) - Increase
black
andisort
python version to 3.6 (gh-817) - Remove Django 3.0 support (gh-817)
- Add Django 3.2 support (gh-817)
- Improve French translations (gh-811)
- Remove support for changeReason (gh-819)
Release 2.12.0
- Add default date to
bulk_create_with_history
andbulk_update_with_history
(gh-687) - Exclude ManyToManyFields when using
bulk_create_with_history
(gh-699) - Added
--excluded_fields
argument toclean_duplicate_history
command (gh-674) - Exclude ManyToManyFields when fetching excluded fields (gh-707)
- Use default model manager for
bulk_create_with_history
and
bulk_update_with_history
instead ofobjects
(gh-703) - Add optional
manager
argument tobulk_update_with_history
to use instead of
the default manager (gh-703) - Add support for Django 3.1 (gh-713)
- Fix a bug with
clean_old_history
command's--days
argument (gh-722)
* NOTE: This will be the last minor release before 3.0.0.