- Retired: this project is no longer maintained. I (Adam Johnson) no longer have time to continue maintaining this. I was doing so since I took on this project, and its related packages django-modeldict and nexus, for my ex-employer YPlan. If you'd like to sponsor ongoing maintenance or take it over yourself, please contact [email protected].
- Drop Django 1.8, 1.9, and 1.10 support. Only Django 1.11+ is supported now.
- Depend on nexus-yplan >= 2.1.0 which also dropped old Django support.
- Tested on Django 2.2. No changes were needed for compatibility.
- Drop Python 2 support, only Python 3.4+ is supported now.
- Added protection against conflicting conditions being added to a switch.
- Added
initial_status
option toGARGOYLE_SWITCH_DEFAULTS
- Added missing argument message and documents for management commands
- Django 2.0b1 support
- Added three built-in condition sets for checking if today is before or after
a date -
UTCTodayConditionSet
,AppTodayConditionSet
, andActiveTimezoneTodayConditionSet
.
- Set requirements to exclude
django-jsonfield==1.0.0
which is broken for PostgreSQL - use1.0.1+
instead. - Made
gargoyle.register()
usable as a decorator - Made
gargoyle.unregister()
return the boolean value of whether something was unregistered. - Fixed removing conditions where the value is the empty string.
- Removed debug prints from
conditions.py
which spammed your WSGI logs.
- Added a migration to tidy up
bytes
versusstr
forchoices
onSwitch.status
. It's no-op aschoices
is in-memory only.
- Bugfix for
@switches
which didn't work onTestCase
classes properly in 1.2.2.
- Removed the South Migrations, since South doesn't support Django 1.7+, and Gargoyle only supports Django 1.8+.
- Added all
__future__
imports to all files for Python 2.7/3 compatibility. - Made
@switches
usable as a class decorator forunittest.TestCase
classes as well, where it applies fromsetUpClass
through all tests totearDownClass
. This adds a dependency oncontextdecorator
on Python 2.7.
- Simplified autodiscovery code to use
AppConfig.ready()
. It's no longer necessary to add a call togargoyle.autodiscover()
in yoururls.py
, when not using Nexus. - Fixed url
patterns
warnings that appear on Django 1.9
- Fixed the splitting of
Range
conditions, a merge of disqus#55, thanks @matclayton. - Fixed the parsing of
Range
conditions for the Nexus admin interface. - Fixed the Nexus interface to work with Switches that contain dots in their names, a merge of disqus#73, thanks @Raekkeri.
- Removed all inline javascript.
- Added
ifnotswitch
template tag, a merge of disqus#92, thanks @mrfuxi. - Fixed Nexus admin interface for Switches with spaces in their keys, an issue reported in disqus#98, thanks @arnaudlimbourg.
- Fix jQuery Templates
This version has a broken UI, please upgrade
- Support for Django 1.9
- Use the YPlan fork of
django-modeldict
- Removed support for Django 1.7
- Added support for Python 3.4 and 3.5
- Fix requirements to use
nexus-yplan
notnexus
- Forked by YPlan
- Django 1.8 compatibility - use Django migrations
- Better support for Django 1.6 and Django 1.7
- Dropped support for Django 1.2 and Django 1.3
- Use
model_name
in favour ofmodule_name
if available (deprecation in Django 1.6) - DateTimeFields now utilize the auto_now=True kwarg
- Travis now tests on Django 1.6/Django 1.7
- Bump ModelDict version to handle expiration in Celery tasks.
- Correct issue with trying to serialize datetime objects.
- Changed the behavior of gargoyle.testutils.switches to monkey patch the is_active method which should solve scenarios where switches are reloaded during the context.
- Added confirmation message for enabling switches globally.
- Added date modified and sorts for switches on index view.
- Require Nexus >= 0.2.0
- Added basic switch inheritance.
- Added auto collapsing of switch details in interface.
- Added simple search filtering of switches in interface.
- Improved display of Gargoyle dashboard widget.
- Fixed switch_condition_removed signal to pass
switch
instance.
- Updated signals to pass more useful information in each one (including the switch).
- The percent field is now available on all ModelConditionSet's by default.
- Fixed a CSRF conflict issue with Nexus.
- Added gargoyle.testutils.with_switches decorator
- Added gargoyle.testutils.SwitchContextManager
- Updated autodiscovery code to resemble Django's newer example
- Updated django-modeldict to 1.1.6 to solve a threading issue with registration
- Added GARGOYLE_AUTO_CREATE setting to disable auto creation of new switches
- Added the ability to pass arbitrary objects to the ifswitch template tag.
- Ensure HostConditionSet is registered
- Moved tests outside of gargoyle namespace
- UI tweaks
- [Backwards Incompatible] SELECTIVE switches without conditions are now inactive
- Added ConditionSet.has_active_condition, and support for default NoneType instances for global / environment checks.
- Added HostConditionSet which allows you to specify a switch for a single server hostname