1Release 1.4.9 (Jul 01, 2017)
2============================
3
4* Drop ``django_guardian.compat.OrderedDict`` as a consequence of drop Python 1.6
5  earlier.
6* Fix django admin 1.11 not showing selected permissions
7* Add a optional checker variable to get_obj_perms
8* Add missing classifiers in setup.py
9
10
11Release 1.4.8 (Apr 04, 2017)
12============================
13
14* Improved performance of `clean_orphan_obj_perms` management command
15* Use bumpversion for versioning.
16* Enable Python 3.6 testing
17* Python 2.7, 3.4, 3.5, 3.6 are only supported Python versions
18* Django 1.8, 1.10, and 1.11 are only supported Django versions
19* Added explicity on_delete to all ForeignKeys
20
21Release 1.4.6 (Sep 09, 2016)
22============================
23
24* Improved performance of get_objects_for_user
25* Added test-covered and documented guardian.mixins.PermissionListMixin
26* Allow content type retrieval to be overridden fg. for django-polymorphic support
27* Added support CreateView-like (no object) view in PermissionRequiredMixin
28* Added django 1.10 to TravisCI and tox
29* Run tests for example_project in TravisCI
30* Require django 1.9+ for example_project (django-guardian core support django 1.7+)
31* Fix django versions compatibility in example_project
32* Drop django in install_requires of setuptools
33
34Release 1.4.5 (Aug 09, 2016)
35============================
36
37* Fix caching issue with prefetch_perms.
38* Convert readthedocs link for their .org -> .io migration for hosted projects
39* Added example CRUD CBV project
40* Added TEMPLATES in example_project settings
41* Added Queryset support to assign_perm
42* Added QuerySet support to remove_perm
43* Updated assign_perm and remove_perm docstrings
44* Moved queryset support in assign_perms to its own function
45* Moved queryset support in remove_perms to its own function
46* Consolidated {User,Group}ObjectPermissionManager, move logic of bulk_*_perm
47  to managers
48* `assign_perm` and `remove_perm` shortcuts accept `Permission`
49  instance as `perm` and `QuerySet` as `obj` too.
50* Consolidated bulk_assign_perm to assign_perm and bulk_remove_perm to remove_perm
51* Upgraded Grappelli templates breadcrumbs block to new Django 1.9 and
52  Grappelli 2.8 standards, including proper URLs and support for
53  preserved_filters. Removed the duplicated field.errors in the field.html
54  template file.
55* Made UserManage/GroupManage forms overridable
56* Fixed GuardedModelAdminMixin views render for Django 1.10
57
58
59Release 1.4.4 (Apr 04, 2016)
60============================
61
62* Don't install support example_project.
63* Direct ForeignKey perms in prefetch_perms.
64
65
66Release 1.4.3 (Apr 03, 2016)
67============================
68
69* guardian.VERSION should be a tuple, not a list. Fixes #411.
70* Support for prefetching permissions.
71* Fixed union between queries.
72* Allow specifying an empty list of permissions for get_objects_for_group.
73* Mixed group and user direction relations broken. Fixes #271.
74* Lookup anonymous user using custom username field.
75* Fix up processing of ANONYMOUS_USER_NAME where set to None. Fixes #409.
76* Require TEMPLATE_403 to exist if RENDER_403 set.
77
78
79Release 1.4.2 (Mar 09, 2016)
80============================
81
82* Test against django-master (Django 1.10 - not released).
83* Django 1.10 fixes.
84* Fixes for documentation.
85* PEP8 fixes.
86* Fix distributed files in MANIFEST.in
87* Use pytest for tests.
88* Add dependancy on django-environ.
89* Don't use ANONYMOUS_USER_ID. Uses ANONYMOUS_DEFAULT_USERNAME
90  and USERNAME_FIELD instead.
91* Use setuptools_scm for versioning.
92* Initialise admin context using each_context for Django >= 1.8.
93* Add missing with_superusers parameter to get_users_with_perms().
94* Use setuptools scm for versioning.
95* Fixes for example_project.
96* Only display permissions if permission actually assigned.
97* When using `attach_perms` with `get_users_with_perms`, and `with_group_users`
98  and `with_superusers` set to `False`, only directly assigned permissions are
99  now returned, and not effective (infered) permissions.
100
101
102Release 1.4.1 (Jan 10, 2016)
103============================
104
105* Fix broken documentation.
106* Fix setup.py errors (#387).
107* Fix tox tests.
108* Fix travis tests.
109
110
111Release 1.4.0 (Jan 8, 2016)
112===========================
113
114* Drop support for Django < 1.7
115* Drop support for django south migrations.
116* Remove depreciated code.
117* Fix many Django depreciated warnings.
118* Fix tests and example_project.
119* Work around for postgresql specific Django bug (#366). This is a regression
120  that was introduced in version 1.3.2.
121* Updates to documentation.
122* Require can_change permission to change object perms in admin.
123* Fixes broke admin URLS (#376 and #381).
124* Tests now work with Mysql and Postgresql as well as sqlite.
125* Uses django-environ for tests.
126
127
128Release 1.3.2 (Nov 14, 2015)
129============================
130
131* Fixes tests for all versions of Django.
132* Tests pass for Django 1.9b1.
133* Drops support for Django < 1.5
134* Add Russian translation.
135* Various bug fixes.
136* Ensure password for anonymous user is set to unusable, not None.
137
138
139Release 1.3.1 (Oct 20, 2015)
140============================
141
142* Fixes for 1.8 compat
143
144
145Release 1.3 (Jun 3, 2015)
146=========================
147
148* Official Django 1.8 support (thanks to multiple contributors)
149
150
151Release 1.2.5 (Dec 28, 2014)
152============================
153
154* Official Django 1.7 support (thanks Troy Grosfield and Brian May)
155* Allow to override ``PermissionRequiredMixin.get_permission_object``, part
156  of ``PermissionRequiredMixin.check_permissions`` method, responsible for
157  retrieving single object (Thanks zauddelig)
158* French translations (Thanks Morgan Aubert)
159* Added support for ``User.get_all_permissions`` (thanks Michael Drescher)
160
161Release 1.2.4 (Jul 14, 2014)
162============================
163
164* Fixed another issue with custom primary keys at admin extensions (Thanks Omer
165  Katz)
166
167
168Release 1.2.3 (Jul 14, 2014)
169============================
170
171Unfortunately this was broken release not including any important changes.
172
173
174Release 1.2.2 (Jul 2, 2014)
175===========================
176
177* Fixed issue with custom primary keys at admin extensions (Thanks Omer Katz)
178* ``get_403_or_None`` now accepts Python path to the view function, for example
179  ``'django.contrib.auth.views.login'`` (Thanks Warren Volz)
180* Added ``with_superuser`` flag to ``guardian.shortcuts.get_objects_for_user``
181  (Thanks Bruno Ribeiro da Silva)
182* Added possibility to disable monkey patching of the ``User`` model.
183  (Thanks Cezar Jenkins)
184
185
186Release 1.2 (Mar 7, 2014)
187=========================
188
189* Removed ``get_for_object`` methods from managers (#188)
190* Extended documentation
191* GuardedModelAdmin has been splitted into mixins
192* Faster queries in get_objects_for_user when use_groups=False or any_perm=True
193  (#148)
194* Improved speed of get_objects_for_user shortcut
195* Support for custom User model with not default username field
196* Added GUARDIAN_GET_INIT_ANONYMOUS_USER setting (#179)
197* Added ``accept_global_perms`` to ``PermissionRequiredMixin``
198* Added brazilian portuguese translations
199* Added polish translations
200* Added ``wheel`` support
201* Fixed wrong anonymous user checks
202* Support for Django 1.6
203* Support for Django 1.7 alpha
204
205.. important::
206    In this release we have removed undocumented ``get_for_object`` method
207    from both ``UserObjectPermissionManager`` and
208    ``GroupObjectPermissionManager``. Not deprecated, removed. Those methods
209    were not used within ``django-guardian`` and their odd names could lead to
210    issues if user would believe they would return object level permissions
211    associated with user/group and object passed as the input. If you depend
212    on those methods, you'd need to stick with version 1.1 and make sure you
213    do not misuse them.
214
215
216Release 1.1 (May 26, 2013)
217==========================
218
219* Support for Django 1.5 (including Python 3 combination)
220* Support for custom user models (introduced by Django 1.5)
221* Ability to create permissions using Foreign Keys
222* Added ``user_can_access_owned_by_group_objects_only`` option to
223  ``GuardedModelAdmin.``
224* Minor documentation fixups
225* Spanish translations
226* Better support for grappelli_
227* Updated examples project
228* Speed up ``get_perms`` shortcut function
229
230
231Release 1.0.4 (Jul 15, 2012)
232============================
233
234* Added ``GUARDIAN_RENDER_403`` and ``GUARDIAN_RAISE_403`` settings (#40)
235* Updated docstring for ``get_obj_perms`` (#43)
236* Updated codes to run with newest django-grappelli (#51)
237* Fixed problem with building a RPM package (#50)
238* Updated caveats docs related with oprhaned object permissions (#47)
239* Updated ``permission_required`` docstring (#49)
240* Added ``accept_global_perms`` for decorators (#49)
241* Fixed problem with MySQL and booleans (#56)
242* Added flag to check for *any* permission in ``get_objects_for_user`` and
243  ``get_objects_for_group`` (#65)
244* Added missing *tag closing* at template (#63)
245* Added view mixins related with authorization and authentication (#73)
246* Added tox_ support
247* Added Travis_ support
248
249
250Release 1.0.3 (Jul 25, 2011)
251============================
252
253* Added ``get_objects_for_group`` shortcut (thanks to Rafael Ponieman)
254* Added ``user_can_access_owned_objects_only`` flag to ``GuardedModelAdmin``
255* Updated and fixed issues with example app (thanks to Bojan Mihelac)
256* Minor typo fixed at documentation
257* Included ADC theme for documentation
258
259Release 1.0.2 (Apr 12, 2011)
260============================
261
262* ``get_users_with_perms`` now accepts ``with_group_users`` flag
263* Fixed ``group_id`` issue at admin templates
264* Small fix for documentation building process
265* It's 2011 (updated dates within this file)
266
267
268Release 1.0.1 (Mar 25, 2011)
269============================
270
271* ``get_users_with_perms`` now accepts ``with_superusers`` flag
272* Small fix for documentation building process
273
274
275Release 1.0.0 (Jan 27, 2011)
276============================
277
278* A final v1.0 release!
279
280
281Release 1.0.0.beta2 (Jan 14, 2011)
282==================================
283
284* Added ``get_objects_for_user`` shortcut function
285* Added few tests
286* Fixed issues related with ``django.contrib.auth`` tests
287* Removed example project from source distribution
288
289
290Release 1.0.0.beta1 (Jan 11, 2011)
291==================================
292
293* Simplified example project
294* Fixed issues related with test suite
295* Added ability to clear orphaned object permissions
296* Added ``clean_orphan_obj_perms`` management command
297* Documentation cleanup
298* Added grappelli_ admin templates
299
300
301Release 1.0.0.alpha2 (Dec 2, 2010)
302==================================
303
304* Added possibility to operate with global permissions for assign and
305  ``remove_perm`` shortcut functions
306* Added possibility to generate PDF documentation
307* Fixed some tests
308
309
310Release 1.0.0.alpha1 (Nov 23, 2010)
311===================================
312
313* Fixed admin templates not included in ``MANIFEST.in``
314* Fixed admin integration codes
315
316
317Release 1.0.0.pre (Nov 23, 2010)
318================================
319
320* Added admin integration
321* Added reusable forms for object permissions management
322
323
324Release 0.2.3 (Nov 17, 2010)
325============================
326
327* Added ``guardian.shortcuts.get_users_with_perms`` function
328* Added ``AUTHORS`` file
329
330
331Release 0.2.2 (Oct 19, 2010)
332============================
333
334* Fixed migrations order (thanks to Daniel Rech)
335
336
337Release 0.2.1 (Oct 3, 2010)
338===========================
339
340* Fixed migration (it wasn't actually updating object_pk field)
341
342
343Release 0.2.0 (Oct 3, 2010)
344===========================
345
346Fixes
347~~~~~
348
349* #4: guardian now supports models with not-integer primary keys and
350  they don't need to be called "id".
351
352  .. important::
353     For 0.1.X users: it is required to *migrate* guardian in your projects.
354     Add ``south`` to ``INSTALLED_APPS`` and run::
355
356        python manage.py syncdb
357        python manage.py migrate guardian 0001 --fake
358        python manage.py migrate guardian
359
360Improvements
361~~~~~~~~~~~~
362
363* Added South_ migrations support
364
365
366Release 0.1.1 (Sep 27, 2010)
367============================
368
369Improvements
370~~~~~~~~~~~~
371
372* Added view decorators: ``permission_required`` and
373  ``permission_required_403``
374
375
376Release 0.1.0 (Jun 6, 2010)
377===========================
378
379* Initial public release
380
381
382.. _south: http://south.aeracode.org/
383.. _grappelli: https://github.com/sehmaschine/django-grappelli
384.. _tox: http://tox.testrun.org/
385.. _travis: http://travis-ci.org/
386
387
388.. vim: ft=rst
389
390