- Drop official support for Django versions 2.2, 3.2.
- Drop official support for Python versions 3.7, 3.8;
- Added support for DEFAULT_AUTO_FIELD
- Minor fixes
- Fix reStructuredTest syntax to be PyPI compliant.
- Add Django 4.0 and Python 3.10 support. Deprecate EOL Django and Python versions. [aleksihakli]
- Fix weekday deserialization typing bug. [apirobot]
- Fix default
recurrence.language_code
not being set by usingen-us
for locale in frontend as the default. [jleclanche]
- Add Hungarian localisation #161.
- Add Hebrew localisation #159.
- Update path to jQuery to match the one Django admin provides #148.
- Fixes and official support for Django 2.1 and 2.2 #143, #142;
- Remove support for Python 2.7 and 3.5, remove support for Django 2.0 #145.
- Fix for using the recurrence widget in admin inlines #137.
- Minor fix for Django 2.0 #134;
- Minor packaging fix #135.
- Bad release, do not use.
This release contains two backwards incompatible changes - please read the notes below for details.
- django-recurrence now returns timezone aware
datetime
objects in most cases #130. IfUSE_TZ
isTrue
(it defaults to off with a stock Django install) then you'll now get timezone awaredatetime
objects back from django-recurrence. If you haveUSE_TZ
asTrue
, and you don't want this behaviour, you can setRECURRENCE_USE_TZ
toFalse
, but please let us know (via GitHub issues) that you wanted to opt out, so we can understand what your use case is. RecurrenceField
instances withoutrequired=False
will now require at least one rule or date. This change is intended to bring django-recurrence into line with how custom fields should behave. If you don't want to require at least one rule or date, just setrequire=False
on your field #133.- Improvements to avoid inline styles #85;
- Handle changes to
javascript_catalog
in Django 2 #131.
- Drop official support for Django versions 1.7, 1.8, 1.9, 1.10;
- Fixes for saving
None
into aRecurrenceField
causing aTypeError
#89`, #122; - Drop official support for Python 3.3 and Python 3.4;
- Provisional support for Python 3.7 (only for Django 2.0 and up);
- Ensure use of
render
on Django widgets always passes therenderer
argument, to ensure support for Django 2.1 #125; - Django 2.0 compatibility fix for usage of django-recurrence with Django REST framework #126.
- Fixes for Python 3 #105;
- Support for Django 2.0 #109, #110;
- Switch back a couple of instances of
DeserializationError
toValidationError
#111; - Switch around how we set dates in the date selector widget to avoid issues with short months #113.
- Add Slovakian translations #98;
- Add support for events occurring at a fixed point before the end of the month - e.g. the second last Tuesday before the end of the month #88;
- Add minor style changes to make django-recurrence compatible with Wagtail #100;
- Allow changing the behaviour of generating recurrences on
dtstart
by default. You can opt in to this by settinginclude_dtstart=False
on yourRecurrenceField
#93; - Ensure broken values raise
DeserializationError
where expected #103.
- Make PO-Revision-Date parseable by babel #75;
- Update installation notes to cover Django 1.10 #74;
- Add German translation #77;
- Add Brazilian translation #79;
- Ensure the migrations are included when installing #78;
- Fix order of arguments to
to_dateutil_rruleset
#81.
- Improve our testing setup to also cover Python 3.5;
- Fixes for Django 1.10 #69.
- Add Basque translations #67.
- Drop official support for Django 1.4, Django 1.5, Django 1.6 and Python 2.6 (no changes have been made to deliberately break older versions, but older versions will not be tested going forward);
- Add official support for Django 1.8 and Django 1.9 #62;
- Fix for a bug in
Rule
creation where the weekday parameter is an instance ofWeekday
rather than an integer #57.
- Added an option for events to occur on the fourth of a given weekday of the month #29;
- Fixed an off-by-one bug in the
to_text
method for events happening on a regular month each year #30; - Fixed a bug in the JavaScript widget where the date for monthly events on a fixed date of the month had the description rendered incorrectly if the day selected was more than the number of days in the current calendar month #31;
- Added a French translation #32 - this may be backwards
incompatible if have overriden the widget JavaScript such that
there is no
language_code
member of your recurrence object; - Added a Spanish translation #49;
- Added database migrations - running
python manage.py migrate recurrence --fake
should be sufficient for this version - nothing has changed about the database schema between 1.1.0 and 1.2.0; - Fix broken tests for Django 1.4.
- Added experimental Python 3 support.
- Added extensive test coverage (from 0% to 81%).
- Added documentation (including this changelog).
- Removed
RecurrenceModelField
andRecurrenceModelDescriptor
, which don't appear to have worked as expected for some time. - Fixed a bug introduced in 1.0.3 which prevented the django-recurrence JavaScript from working #27.
- Don't raise
ValueError
if you saveNone
into aRecurrenceField
withnull=False
#22, for consistency with other field types. - Make sure an empty recurrence object is falsey #25.
- Fix a copy-paste error in
to_recurrence_object
which prevented exclusion rules from being populated correctly. - Fix a typo in
create_from_recurrence_object
which prevented it working with inclusion or exclusion rules. - Various other very minor bugfixes.