Changelog

This section lists the biggest changes done on each release.

Release 1.4

  • closes issue #81. Add docs and check.
  • fixes issue #80. (thanks Naddiseo for the useful support)
  • Django 1.11 compatibility
  • some minor support for Django 2.0

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 (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)

  • 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 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

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 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 USE_SELECT_FOR_UPDATE

Release 0.6.0

Release 0.5.0

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 CONCURRECY_SANITY_CHECK settings entry
  • signing 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

Release 0.3.2