Changelog¶
This section lists the biggest changes done on each release.
Release 2.7¶
fixes #256
Release 2.6¶
add support do Django 5.x
drop support python 3.9
drop support django 3.x
move to .pyproject.toml
Release 2.5¶
BUG FIX: fixes check() implementation
removes deprecatd MANUAL_TRIGGERS
drop support Django 2.x
drop support python 3.8
Release 2.4¶
add support Django 4
add support Python 3.10
Release 2.3¶
Removes code producing DeprecationError
add
AUTO_CREATE_TRIGGERS
and deprecateMANUAL_TRIGGERS
add support for Postgres 13
add ability to customise SQL to create triggers
TRIGGERS_FACTORY
Release 2.2¶
drop suppot django<3.0
drop suppot Python<3.6
Release 2.1.1¶
fixes packaging
Release 2.1 ( not released on pypi)¶
drop support Python < 3.5
add support Django 2.2 / 3.0
drop support Django < 1.11
Release 2.0¶
drop official support to Django < 1.10
add support Django 2.1
removed deprecated api concurrency_check
BACKWARD INCOMPATIBLE: version field is now mandatory in any save operation. Use
VERSION_FIELD_REQUIRED=False
to have the old behaviour.disable_concurrency now has start(), finish() to be called as command
Release 1.4 (13 Sep 2016)¶
Release 1.3.2 (10 Sep 2016)¶
fixes bug in ConditionalVersionField that produced ‘maximum recursion error’ when a model had a ManyToManyField with a field to same model (self-relation)
Release 1.3.1 (15 Jul 2016)¶
just packaging
Release 1.3 (15 Jul 2016)¶
drop support for Python < 3.3
add support Django>=1.10
change license
fixes issue #36. (thanks claytondaley)
new
IGNORE_DEFAULT
to ignore default version number
Release 1.2 (05 Apr 2016)¶
Release 1.1 (13 Feb 2016)¶
drop support for django<1.7
add support for pypy
new
concurrency.fields.ConditionalVersionField
new decorator
concurrency.api.concurrency_disable_increment
concurrency.api.disable_concurrency
is now a noop if applied to a model not under concurrency management
Release 1.0.1¶
fixes issue #56 “Can’t upgrade django-concurrency to 1.0” (thanks oppianmatt).
Release 1.0¶
BACKWARD INCOMPATIBLE:: dropped support for Django prior 1.6
code clean
fixes issue #54 “Incorrect default for IntegerVersionField” (thanks vmspike).
fixes issue #53. updates Documentation
disable_concurrency() can now disable concurrency in any model
disable_concurrency() is now also a decorator
BACKWARD INCOMPATIBLE:: removed custom backends.
TriggerVerionField
can be used with standard Djangonew way to create triggers (thanks Naddiseo)
new trigger code
new
TriggerVersionField.check
.new
CONCURRECY_ENABLED
to fully disable concurrencynew
CONCURRECY_MANUAL_TRIGGERS
to disable triggers auto creation fixes issue #41 (thanks Naddiseo)
Release 0.9¶
Django 1.8 compatibility
python 3.4 compatibility
BACKWARD INCOMPATIBLE
disable_concurrency()
works differently if used with classes or instancesbetter support for external Models (models that are part of plugged-in applications)
fixes issue with TriggerVersionField and Proxy Models (thanx Richard Eames)
Release 0.8.1¶
avoid to use concurrency when selecting all items (select_across)
Release 0.8¶
Django 1.7 compatibility
fixes typo in
delete_selected_confirmation.html
templatepython 3.2/3.3 compatibility
Release 0.7.1¶
- backward compatibility updates. Do not check for concurrency if 0 is passed as version value
(ie. no value provided by the form)
Release 0.7¶
start using pytest
moved tests outside main package
new protocol see:ref:protocols
it’s now possible disable concurrency in Models that extends concurrency enabled models
fixed issue #23 (thanks matklad)
new
USE_SELECT_FOR_UPDATE
Release 0.6.0¶
new disable_concurrency() context manager
added documentation for concurrency.middleware.ConcurrencyMiddleware
BACKWARD INCOMPATIBLE Fixed typo:
CONCURRECY_SANITY_CHECK
nowCONCURRENCY_SANITY_CHECK
added
disable_sanity_check
context manageradded configuration
check admin actions for concurrent deletion
added concurrency check for admin’s Handle list_editable
Release 0.5.0¶
python 3.x compatibility
Release 0.4.0¶
- start deprecation of
concurrency.core.VersionChangedError
,concurrency.core.RecordModifiedError
, concurrency.core.InconsistencyError
,moved inconcurrency.exceptions
- start deprecation of
start deprecation of
concurrency.core.apply_concurrency_check
,concurrency.core.concurrency_check
moved inconcurrency.api
added
CONCURRECY_SANITY_CHECK
settings entrysigning of version number to avoid tampering (ConcurrentForm)
added ConcurrencyTestMixin to help test on concurrency managed models
changed way to add concurrency to existing models (apply_concurrency_check())
fixed issue #4 (thanks FrankBie)
removed RandomVersionField
new concurrency_check
added ConcurrentForm to mitigate some concurrency conflict
select_for_update now executed with
nowait=True
removed some internal methods, to avoid unlikely but possible name clashes