Release 1.2 (05 Apr 2016)
-------------------------
* better support for django 1.9 ( ``TemplateDoesNotExist`` is now in ``django.template.exceptions``
* improved eror message in ``ConcurrencyListEditableMixin`` :issue:`63` :issue:`64`
* fixes :issue:`61`. Error in ``ConditionalVersionField`` (thanks ticosax)
* fixes ``skipif`` test in pypy


Release 1.1 (13 Feb 2016)
-------------------------
* drop support for django<1.7
* add support for pypy
* new :class:`concurrency.fields.ConditionalVersionField`
* new decorator :class:`concurrency.api.concurrency_disable_increment`
* :class:`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
* :ref:`disable_concurrency` can now disable concurrency in any model
* :ref:`disable_concurrency` is now also a decorator
* **BACKWARD INCOMPATIBLE**:: removed custom backends. ``TriggerVerionField`` can be used with standard Django
* new way to create triggers (thanks Naddiseo)
* new trigger code
* new :method:`TriggerVersionField.check`.
* new :attr:`TriggerVersionField.trigger_name`.
* new :setting:`CONCURRECY_ENABLED` to fully disable concurrency
* new :setting:`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** :function:`disable_concurrency` works differently if used with classes or instances
* better 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`` template
* python 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
-----------
* new :class:`concurrency.fields.TriggerVersionField`
* 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 :setting:`USE_SELECT_FOR_UPDATE`


Release 0.6.0
-------------
* new :ref:`disable_concurrency` context manager
* added documentation for :ref:`concurrency.middleware.ConcurrencyMiddleware <concurrencymiddleware>`
* **BACKWARD INCOMPATIBLE** Fixed typo: ``CONCURRECY_SANITY_CHECK`` now ``CONCURRENCY_SANITY_CHECK``
* added ``disable_sanity_check`` context manager
* added configuration
* check admin actions for concurrent deletion
* added concurrency check for admin's :ref:`list_editable`


Release 0.5.0
-------------
* python 3.x compatibility
* new :setting:`CONCURRENCY_FIELD_SIGNER`


Release 0.4.0
---------------------------------
* start deprecation of ``concurrency.core.VersionChangedError``, ``concurrency.core.RecordModifiedError``,
    ``concurrency.core.InconsistencyError``,moved in ``concurrency.exceptions``
* start deprecation of ``concurrency.core.apply_concurrency_check``, ``concurrency.core.concurrency_check`` moved in ``concurrency.api``
* added :setting:`CONCURRECY_SANITY_CHECK` settings entry
* signing of version number to avoid tampering (:ref:`concurrentform`)
* added :ref:`concurrencytestmixin` to help test on concurrency managed models
* changed way to add concurrency to existing models (:ref:`apply_concurrency_check`)
* fixed :issue:`4` (thanks FrankBie)
* removed RandomVersionField
* new :ref:`concurrency_check`
* added :ref:`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


Release 0.3.2
---------------------------------
* fixed :issue:`3` (thanks pombredanne)
* fixed :issue:`1` (thanks mbrochh)
