forked from stephenmcd/mezzanine
-
Notifications
You must be signed in to change notification settings - Fork 1
/
CHANGELOG
2797 lines (2547 loc) · 238 KB
/
CHANGELOG
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
953
954
955
956
957
958
959
960
961
962
963
964
965
966
967
968
969
970
971
972
973
974
975
976
977
978
979
980
981
982
983
984
985
986
987
988
989
990
991
992
993
994
995
996
997
998
999
1000
Version 4.0.1 (Jul 26, 2015)
----------------------------
* Prompt for user creation in createdb command if interactive - Stephen McDonald
* Fix #1351 - exception in ``displayable_links_js`` - Alex Hill
* Use Django's createsuperuser command when createdb is run in interactive mode - Stephen McDonald
* Fix some Django 1.9 warnings - Stephen McDonald
* Remove references to long deprecated ``PAGES_MENU_SHOW_ALL`` setting - Stephen McDonald
* Locale middleware should fall after session middleware - Stephen McDonald
* Set up debug toolbar explicitly when installed. Closes #1358 - Stephen McDonald
* Restore support for alternate package option in mezzanine-project command - Stephen McDonald
* Fix for issue #1361 - backup command fails when called from deploy - Luke Plant
* Use 'exec' instead of import to add ``local_settings``. This allows ``local_settings`` to reference and modify existing settings. Refs issue #1360 - Luke Plant
Version 4.0.0 (Jul 09, 2015)
----------------------------
* Strip punctuation from keywords instead of non-alphanumeric chars, since languages like Hindi use characters that Python doesn't consider to be alphanumeric - Stephen McDonald
* Unpin tzlocal version 1.0 - Alex Hill
* Update tinymce setup to use browsers' built in spell checking. Tested and works in latest FireFox and Chrome and Safari - joshcartme
* Support custom user models in admin password change view. Previously it was assumed that the user's pw change view is at "auth/user/(\d+)/password/", which caused NoReverseMatch with custom models - Rivo Laks
* Fix admin password change for Django 1.5 - Stephen McDonald
* Support Django 1.7 migrations - Baylee Feore
* Don't remove south when ``USE_SOUTH`` isn't defined - Stephen McDonald
* Use ``is_staff`` to check for logged in user in base admin template. Closes #1114 - Stephen McDonald
* beautifulsoup version should not be pinned exactly. There's no need to require exactly 4.1.3 - Gavin Wahl
* Added brackets for Python 3 print() - Tuk Bredsdorff
* Handle malformed user agent strings. Closes #1116 - Stephen McDonald
* Configure ``SOUTH_MIGRATION_MODULES`` setting to check for custom south migration packages - Stephen McDonald
* Move ``south_migrations`` -> migrations/south - Stephen McDonald
* Added `The Entrepreneurial School <http://theentrepreneurialschool.com/>` to site using Mezzanine - Renyi Khor
* Fix DoesNotExist when non admin visits /admin. SitePermission objects are only added when staff users are created. If a non admin user (with no manually assigned site permissions) visits the admin a DoesNotExist is raised since no site permissions exist for the user. Therefore the templatetags logic should only run if the user is staff - joshcartme
* Exposed ``JQUERY_UI_FILENAME`` for templates - wrwrwr
* wordpress export is under Tools, not Settings - Gavin Wahl
* Renamed all ``get_query_set`` methods to ``get_queryset``. Django 1.6 normalized the naming, providing a metaclass that handles. previous naming schemes, while printing a warning. See: ``https://code.djangoproject.com/ticket/15363``. This is probably incompatible with 1.5, but limits the amount of. Django 1.8 deprecation warnings - wrwrwr
* Explicitly list fields when defining form from model. This only changes one test (`` test_richtext_widget``), but here's a. short article that may explain why ``fields`` or ``exclude`` becomes. mandatory argument to ``modelform_factory`` and why you actually may. want to explicitly list fields to be available in forms: ``http://blog.mhartl.com/2008/09/21/mass-assignment-in-rails-applications/`` - wrwrwr
* Unfrozen future, pep and flakes. If the reason to keep these at some fixed old versions still exists,. please add a comment - wrwrwr
* Let sqlite configuration not contain a ``NAME`` at all (as with some settings environments) - wrwrwr
* Resolve race condition in ``conf.settings`` - Alex Hill
* Fixed a couple of block comments not starting with hash and space - wrwrwr
* List form fields (as recommended) to preserve compatibility with 1.5. The ``"__all__"`` shortcut must be ``past-1.6`` only - wrwrwr
* Fixed ``test_login_required`` when run without ``mezzanine.accounts``. Note 1: Always testing both scenerios no matter what's in the settings. would be thorough, but without something like the 1.7+ ``modify_settings``. it turns out ugly. It would be better to run the whole suite with and. without some optional apps. Note 2: This test passes when run through ``runtests``, but it cheats. by forcing ``mezzanine.accounts`` into installed apps ;-) - wrwrwr
* Allow Mezzanine's static files handling to support ``MEDIA_ROOT`` outside of ``STATIC_ROOT`` during development - Stephen McDonald
* Don't colorize the terminal banner if color sequences aren't supported - Stephen McDonald
* Cleaned up ``in_menus`` defaults test. Making use of the runtime settings changes support - wrwrwr
* Added failing settings race condition test - Alex Hill
* Simpler fix for race condition in settings - Alex Hill
* Reorder and add comments to settings test - Alex Hill
* Overwrite settings cache when loading from DB - Alex Hill
* Clear DB settings after test run - Alex Hill
* Made forms tests use Mezzanine's TestCase. Not currently necessary, but potentially surprising if you add something. to the TestCase - wrwrwr
* Added a simple decorator defining ``get_query_set`` or ``get_queryset``. allowing to use the latter one while preserving compatibility with 1.5. Django (1.6+) uses a metaclass to allow usage of the former name after. renaming a method (``django.utils.deprecation.RenameMethodsBase``), but. for the 2 cases in Mezzanine a decorator seems sufficient and less. intrusive - wrwrwr
* Replaced usage of ``Options.get_(add|change|delete)_permission`` with. ``auth.get_permission_codename``. Just a single case in ``utils/views.py``. The former one is deprecated and will be removed in Django 1.8; see. ``https://code.djangoproject.com/ticket/20642`` - wrwrwr
* Added an 1.5-compatible implementation of ``get_permission_codename`` - wrwrwr
* Made MenusField respect the current value of ``PAGE_MENU_TEMPLATES_DEFAULT`` - wrwrwr
* Small semantic change in MenusField behavior, now ``in_menus`` returns an. empty tuple instead of None for a page not in any menu. This seems more consistent with ``PAGE_MENU_TEMPLATES_DEFAULT`` = tuple() - wrwrwr
* Made MenusField also support dynamic changes to ``PAGE_MENU_TEMPLATES``. This costs a call to a private ``Field._get_choices()``, because. ``Field.choices`` is already a property - wrwrwr
* Extended the ``test_login_required`` to check if ``LOGIN_URL`` set to view or. pattern name still allows the decorator to work as expected. The new cases are only checked if ``mezzanine.accounts`` is installed. These additional ``LOGIN_URL`` possibilities were introduced in 1.5; view. objects should also work, but don't seem to be documented - wrwrwr
* Don't test the new options with 1.4, it's not supposed to support them - wrwrwr
* Prevent duplicate app names when testing - Stephen McDonald
* Extend ``renamed_get_queryset`` to also support admin classes, and apply to OwnableAdmin - Stephen McDonald
* ``set_slug`` now save itself - Dustin Broderick
* ``set_slug`` now saves itself - Dustin Broderick
* Remove the requirement for searchable models to subclass Displayable - Stephen McDonald
* Handle installing initial data with Django 1.7's syncdb signals. Closes #1123 - Stephen McDonald
* Remove redundant page save in slug tests - Stephen McDonald
* Slightly faster settings loader - Stephen McDonald
* Fix some docstrings and messages - Stephen McDonald
* Actually skip the threading test as expected - Stephen McDonald
* Fix version check in ``post_syncdb`` signals - Stephen McDonald
* Added description of "label" keyword argument of ``register_settings``. function to docs - eyeinthebrick
* Cache site ID on request object, even when fallback setting is used. Closes #1144 - Stephen McDonald
* Fix site ID fallback when testing - Stephen McDonald
* separate basic gallery functionality. to be more flexible with creating galleries we can separate gallery. functionality so it can be reused if developer wants to create a. gallery but not necessarily a gallery page - Robert Zywucki
* Added a test for DynamicInlineAdmin - wrwrwr
* Allow DynamicInlineAdmin fields to be a tuple. Previously, if fields was defined as a tuple, a very confusing TypeError. would be raised - Rocky Meza
* Travis test the latest versions of Django. This way you don't have to update every time a security release comes. out - Rocky Meza
* Re-instate conf test as per recent threading fixes. Closes #858 - Stephen McDonald
* Return HTTP 405 on comment/rating URLs for GET requests. Closes #1159 - Stephen McDonald
* Fix Travis Django installation - Rocky Meza
* Shamelessly modified the dynamic admin fields tuple test, so it checks. ``get_fieldsets()`` instead of directly using the fields attribute. Also made BaseDynamicInlineAdmin work when fields are listed without. the ``_order`` field or fieldsets are declared (with or without it) - wrwrwr
* SiteRelated changed to allow explicit site assignment on creation - Kelvin Wong
* Made "flake8 ." output less warnings. Excluded ``docs/conf.py`` as its autogenerated by Sphinx and increased. acceptable complexity from 10 to 20 - wrwrwr
* Allowed optional apps to be loaded for testing - wrwrwr
* Separated generation of ``short_urls`` from their saving - wrwrwr
* include menu pages in broader context. issue #1154 - Eduardo S. Klein
* Refactored confirmation prompts in createdb, ``create_pages`` and collecttemplates - wrwrwr
* Factored out deleting unused keywords as a manager method - wrwrwr
* Removed ``django_extensions`` from ``INSTALLED_APPS`` for testing - wrwrwr
* Fixed ``pages.test_login_required`` with I18N / LocaleMiddleware - wrwrwr
* Fixed ``core.test_password_reset`` with ``i18n_patterns`` - wrwrwr
* Use the response context during two-phase rendering. If a response has `context_data` use that instead of creating a new. context and running context processors again - David Sanders
* Fix for using response ``context_data`` - David Sanders
* Remove call to ``set_model_permissions`` in page admin - Alex Hill
* Backout context processor changes to cache middleware for now, re #1174 - Stephen McDonald
* Prevent order setting vs. form submission race condition. If the js runs slow for any reason the admin form can submit before the order of inlines has been set - joshcartme
* Create new model field OrderField - Alex Hill
* ``OrderWidget.is_hidden`` should evaluate False - Alex Hill
* Update orderable ordering to use the submit event. It seems that the click event may not be guaranteed to run in FireFox before the form actually submits. This may be due to a variety of factors including the version of jQuery but for now switching to the submit event solves the problem - joshcartme
* Fixed spelling of 'collapsed' - Stone C. Lasley
* Refactored all the initial data setup to only occur when the createdb command is used, since Django 1.7's migrations no longer provide a signal that can reliably trap when tables are created - Stephen McDonald
* Added migrations for changed ``_order`` field - Stephen McDonald
* Host the dashboard screentshot in the docs so it can be correctly referenced on github - Stephen McDonald
* Fix docs build for Django 1.7 - Stephen McDonald
* Fix for brocken link - Krzysztof Szumny
* Fix optional data installation for non-interactive installs - Stephen McDonald
* Don't store absolute urls as short urls in the db, since the column length is shorted, and these aren't necessairly permanent either. Closes #1178 - Stephen McDonald
* Refactored the ``fields_for`` templatetag to allow for custom field template - Avery Laird
* nginx conf: use Mozilla recommended ciphers. For the included ``nginx.conf``, use the ciphersuite recommended by the Operations. Security team at the Mozilla project: ``https://wiki.mozilla.org/Security/Server_Side_TLS``. The ones included here are the ones labelled "Intermediate compatibility". They. also document a ciphersuite with a higher level of security on that page. labelled "Modern compatibility", though it excludes more older browsers - Lorin Hochstein
* Convert relative URLs to absolute in RSS feed item descriptions. Closes #1193 - Stephen McDonald
* Fix 500 error when the 'comment' view function doesn't receive expected form data - Christian Abbott
* Filenames in ZIP not always UTF-8. Fixing this with chardet - Souren Araya
* Don't assume ``INSTALLED_APPS`` is all modules as Django 1.7 adds AppConfig - Frankie Robertson
* Replace ``django.contrib.comments`` with ``django_comments``. Django has removed the comments app from ``django.contrib``, and. moved it into an external django-contrib-comments package hosted. under the Django GitHub organisation - Alex Hill
* Test up to Python 3.4 and Django up to 1.8 - Alex Hill
* Test with Py 3.4, Django 1.7 and default runners. Update ``.travis.yml`` config to run tests under Python 3.4 and Django 1.7. Future-proof the test script to work with both default test runners: DjangoTestSuiteRunner ``pre-1.6``, and DiscoverRunner in 1.6 and later. Under DiscoverRunner, the ``django.contrib`` tests won’t be run - Alex Hill
* Enable SHA1 hasher for happy Django 1.4 tests - Alex Hill
* Miscellaneous backwards-compatible 1.8 fixes. Includes changes to Meta, some moved functions and various internal API. changes - Alex Hill
* Accommodate Django 1.8's template system changes. Django 1.8 introduces the possibility of using multiple template. engines, which means that some components of Django's template system. have been encapsulated in an Engine class instead of being available. globally, and other parts refactored and moved around - Alex Hill
* Remove Django 1.4 and 1.5 from ``.travis.yml`` - Alex Hill
* No need to enable SHA1 hasher in tests > 1.4 - Alex Hill
* Remove ``mezzanine.utils.models.get_user_model``. This was introduced for compatibility with Django 1.4 after Django 1.5. included support for custom User models. Now that we no longer support. Django 1.4, we can just use the builtin version. Still need to remove references in filebrowser, so the import remains. in ``mezzanine.utils.models`` - Alex Hill
* Remove shims for ``force_text`` and ``smart_text``. Not necessary since dropping support for Django 1.4 - Alex Hill
* Deleted ``mezzanine/utils/deprecation.py``. This contained compatibility fixes for Django < 1.6, which we no longer. support - Alex Hill
* Remove miscellaneous BC fixes for Django < 1.6 - Alex Hill
* Use ``get_models`` from ``django.db.models.loading`` - Alex Hill
* Bump required Django version to > 1.6.0 - Alex Hill
* Import ``local_settings.py`` before test run - Alex Hill
* Restore previous behaviour in runtests script - use the ``local_settings`` template to create ``test_settings``, not an actual ``local_settings`` module, which may already exist during development - Stephen McDonald
* Use south's test command, which is needed to pick up our custom values for ``SOUTH_MIGRATION_MODULES`` - Stephen McDonald
* Some envs don't create pyc files - Stephen McDonald
* Allow ``local_settings`` import when project isn't a package - Stephen McDonald
* Some path hacks during development to allow tests to be picked up when calling the test command via ``manage.py`` - Stephen McDonald
* KeyError when excluding ``first_name``, ``last_name``, and username fields using ``ACCOUNTS_PROFILE_FORM_EXCLUDE_FIELDS`` and ``ACCOUNTS_NO_USERNAME`` settings - rsadwick
* Fix handling blank first/last names in username creation - Stephen McDonald
* Fix bug with missing scope in atexit registered function in test runner - Stephen McDonald
* Update ``views.py``. clean the cookie rating record after an auth user undoing his/her rating - Yuheng QIU
* Exclude commit messages with 3 words or less from the changelog - Stephen McDonald
* Using Tabbed admin instead of showing all fields at once - Mathias
* Delete cached context settings on settings update. With editable settings it is best to invalidate the context settings. cache key when settings have been changed via the admin panel so that. they can take effect immediately - David Sanders
* Added site ID back to settings cache key prefix - David Sanders
* pip can't seem to install Django 1.8 from a zip file on Python 2.7 - Stephen McDonald
* Fallback lookup for current page should exclude link pages, since they may contain duplicate slugs. Closes #1220 - Stephen McDonald
* Update docs and add mini-tutorial in Deployment section - Eduardo Rivas
* Handle new app-loading mechanism for Django 1.7 in fabfile. See ``https://docs.djangoproject.com/en/1.7/releases/1.7/#standalone-scripts`` - Eduardo Rivas
* Add documentation about using AppConfigs in ``INSTALLED_APPS`` and ``defaults.py`` - Frankie Robertson
* Added exception handler for ``make_dirs()`` function call in thumbnail() template tag - Alex Bendig
* Fix error raised when twitter lib is installed, but ``mezzanine.twitter`` is removed from ``INSTALLED_APPS`` - Stephen McDonald
* Update ``multi-lingual.rst`` for spelling/grammar - Ryan Sadwick
* Show Links to Code in Package Documentation. Refs #1148 - Pavan Rikhi
* Account for ``cartridge.shop`` being after ``mezzanine.pages`` in the template rendering pipeline. Also enable nested {% ifinstalled %} tags - Mathias
* Twitter: Fix parsing of email addresses as Twitter usernames - Eduardo Rivas
* Added setting to allow custom forms for submitting comments. Handy for common requests from people such as adding captchas. Easiest way is to create a new form class that inherits from ThreadedCommentForm then specify that class in the new setting - Paul Hunt
* Import WordPress draft posts correctly - Jan Varho
* Don't consider proxy models a content model. Otherwise we'll try to use them with ``select_related``, which is not. supported - Gavin Wahl
* Remove all support for South in favour of Django >= 1.7 migrations - Stephen McDonald
* Remove all support for Django < 1.7 - Stephen McDonald
* Add option for thumbnails to not grow in size. Add the `no_grow` option to the thumbnail template tag, specifying. whether a thumbnail is allowed to grow in size when resizing to a given. width or height - Simen Heggestøyl
* Fix createdb to work with Django 1.7 and 1.8. Django 1.8 changed the way optional args are added to management commands. This patch adds optional args "the old way" for Django 1.7 in `Command.__init__`, and then uses "the new way" for Djagno 1.8, which is via a call to the new class method `add_arguments()` - Eduardo Rivas
* Check for valid Python package name format in mezzanine-project command. Closes #1248 - Stephen McDonald
* Add ``SECRET_KEY`` to docs config which fixes broken rtd builds - Sam Kingston
* Attempt to fix path issue in rtd environment - Sam Kingston
* Set ``CurrentSiteManager.use_in_migrations`` = False - Alex Hill
* Migrations for Django 1.8 - Alex Hill
* Fix overextends tag for Django 1.7 & 1.8 - Alex Hill
* Compile all new Spanish locale - Eduardo Rivas
* Initial project layout update - Alex Hill
* Allow project template's ``local_settings.py`` into repo - Alex Hill
* Explicitly set email field ``max_length`` to 254 - Alex Hill
* Make updated project template work with ``local_settings.py.template`` - Alex Hill
* Restore ``".template"`` suffix in test script - Alex Hill
* Django changed ``Model._meta.get_parent_list()`` to return a list instead of a set! This fixes it - Stephen McDonald
* Change field on site permission model as per Django warning - Stephen McDonald
* Add mezzanine-modal-announcements to third party modules - Josh Cartmell
* change redirect to be permanent, which is how Django does it - Darius
* Change way PostgreSQL version is displayed - orotau
* Fix import error with latest django-contrib-comments - Stephen McDonald
* Fix various import warnings for Django 1.9 - Stephen McDonald
* Use a consistent version of jquery-ui - Stephen McDonald
* Add the ``featured_image`` as an enclosure to the rss feed. Add the featured image to the rss feed as an enclosure url, so that it can be used by feed readers. For example Zapier RSS to Facebook to use as the Post Image - Michael Best
* Restricted support Django versions to < 1.9 - Stephen McDonald
* Prefetch blog categories in RSS feed - Stephen McDonald
* Ensure host for the current site is used in RSS feeds - Stephen McDonald
* Handle parent comment ID in duplicate comment check. Closes #1286 - Stephen McDonald
* Added mezzanine-slideshows to third-party apps - Stephen McDonald
* Updated email address for security issues - Stephen McDonald
* Fix edge case where ``mezzanine.accounts`` code is run even though not installed (generated docs, some alternate test run setups), and the ``ACCOUNTS_PROFILE_FORM_EXCLUDE_FIELDS`` isn't defined - Stephen McDonald
* Added mezzanine-onepage to third-party apps - Stephen McDonald
* Ensure consistent ``related_model`` attribute throughout django fields - Mathias
* Keep compatibility with django 1.7 for ``generic.fields.BaseGenericRelation`` - Mathias
* Ensure front-end language selector is always visible - Stephen McDonald
* Switch forms admin to use the object-tools-items block in template - David Sanders
* Add some space between the filter-horizontal admin widget and its help text - Stephen McDonald
* Move default button text for forms app from model into template - Stephen McDonald
* Fix double-escaping of HTML in settings admin form field help text - Stephen McDonald
* Define correct JS media for settings admin form class - Stephen McDonald
* Ensure ``mezzanine.accounts`` is available when generating settings docs - Stephen McDonald
* Allow protocol to be omitted from URL arg in ``import_rss`` command - Stephen McDonald
* Fix mysql/unicode issue on saving Link pages - Stephen McDonald
* Use Django language code to configure language for TinyMCE - Stephen McDonald
* Remove automatic selection of site permission for staff users, since it breaks when manually choosing them in the admin interface - Stephen McDonald
* Updating documentation to account for the switch between South and Django's builtin migration tools - Mathias
* Updating multi-lingual documentation to add a note on migrations - Mathias
* Update ``model-customization.rst``. Small grammar changes - orotau
* Restore support for the ``ADMIN_REMOVAL`` setting. Closes #1313 - Stephen McDonald
* Don't assume ``ADMIN_REMOVAL`` setting is defined - Stephen McDonald
* Added optional ``extra_context`` to applicable views - David Sanders
* Add index on ``publish_date`` - Frankie Robertson
* Ensure emptyish page titles in admin tree are clickable. Closes #1321 - Stephen McDonald
* Smarter handling of editable settings - Alex Hill
* Make ``use_editable`` backward compatible - Alex Hill
* Use ``clear_cache`` in tests - Alex Hill
* Remove calls to ``Settings.use_editable()`` - Alex Hill
* Make setting context processor lazy - Alex Hill
* Make Settings object more opaque WRT the current thread - Alex Hill
* Remove context settings caching - Alex Hill
* Show repr of setting values in warning - Alex Hill
* Add a few settings tests - Alex Hill
* Don't require ``Settings.clear_cache()`` outside of a request - Alex Hill
* Test conflicting settings warning - Alex Hill
* Refactor settings retrieval logic - Alex Hill
* Clear request settings cache when settings saved - Alex Hill
* Handle updated project layout in fabfile - Alex Hill
* Handle updated project layout in ``supervisor.conf`` - Alex Hill
* Update ``settings.py`` for new project layout - Alex Hill
* Fix URLs during tests - Alex Hill
* Stop server before dropping database - Alex Hill
* Fix paths in settings - Alex Hill
* More refinements to fabfile - Alex Hill
* Give all deploy files the ``.template`` extension - Alex Hill
* Add utility function ``real_project_name`` - Alex Hill
* Use ``real_project_name`` in ``fabfile.py`` - Alex Hill
* Use ``real_project_name`` in ``manage.py`` - Alex Hill
* Add missing blank line - Alex Hill
* Use ``real_project_name`` in ``wsgi.py`` - Alex Hill
* Use unicode paths in project template handling - Alex Hill
* Add missing trailing bracket - Alex Hill
* Add ``BASE_DIR`` to settings - Alex Hill
* Don't use DB settings at import time - Alex Hill
* Update settings docs to reflect removeal of ``use_editable`` - Stephen McDonald
* Fix doc generation for new project template layout - Stephen McDonald
* Update jquery to 1.7.2, jquery-mobile to 1.2.1. In an effort to gradually bring mezzanine's javascript up to date,. this commit updates mezzanine's default jquery version to the. latest in the 1.7.x series (which is 1.7.2). Because the 1.7.2 release notes state that this version. should be used with jQuery Mobile >= version 1.1, I've updated. jQuery Mobile as well. ``http://blog.jquery.com/2012/03/21/jquery-1-7-2-released/`` - Nik Nyby
* Prefer published date over updated date in RSS importer. Closes #1329 - Stephen McDonald
* Fix manually assigned template settings, such as ``MEZZANINE_ADMIN_PREFIX`` - Stephen McDonald
* Fix host themes when current site does not match domain, eg when selected via admin. Closes #1327 - Stephen McDonald
* Ensure local middleware installed if required - Stephen McDonald
* Change next release numbering in warning message - Mathias Ettinger
* Upgrade to TinyMCE 4. Closes #705 - Stephen McDonald
* Refactor dynamic inline handling. Fixes a bug where Mezzanine would delete inline rows even when its. inlines weren’t being used - Alex Hill
* Correctly handle ``GRAPPELLI_INSTALLED`` and ``ADMIN_MENU_COLLAPSED`` - Alex Hill
* Amend file location for local settings when advising on contribution - Stuart Dines
* admin: use apps config ``verbose_name`` for display - gradel
* TinyMCE 4.2 -> 4.1 due to image insertion conflict - Stephen McDonald
* Don't show draft blog posts under related posts - Stephen McDonald
* Ensure link pages only allow external URLs. Closes #1342. Closes #1345 - Stephen McDonald
* Revert changes to Link model validation - Stephen McDonald
* Clean leading/trailing slashes from page admin slugs - Alexander Bliskovsky
Version 3.1.10 (Aug 30, 2014)
-----------------------------
* Delete kwargs for ``page_view``. This is strange, pass `view_kwargs` form some view to ``page_view``. I have error if kwargs contin `slug` key or some keys with not exists in ``page_view`` kwargs - Pahaz Blinov
* South should not be used for Django 1.7 - Stephen McDonald
* Added mezzanine-bsbanners to third party apps - Stephen McDonald
* Clean up some docstrings - Stephen McDonald
* For dropdown fields in the forms builder app, use the placeholder text to provide an empty first choice - Stephen McDonald
* Add a custom banner to Mezzanine's runserver command, showing a logo and various software versions - Stephen McDonald
* Handle new management command loading order in Django 1.7, so we can override runserver - Stephen McDonald
* Make the setuptools test runner part of the mezzanine package so that we can call it from other packages (such as cartridge). Also make its ``local_settings`` module more dynamic - Stephen McDonald
* Remove working directory hack from bundled ``manage.py`` - conflicts with Django runserver's auto-reloader when run from outside of project root - Stephen McDonald
* Updated development instructions for setting up Mezzanine when contributing - Stephen McDonald
* Update to latest patch versions of Django in travis config - Stephen McDonald
* Better explansion example in dev setup docs - Stephen McDonald
* A test for the ``login_required`` property has been added - Ulrich Wagner
* A more complete test for the ``login_required`` property - Ulrich Wagner
* Don't apply a zindex to h1 tags in admin, since it conflicts with date picker widgets. Closes #1087 - Stephen McDonald
* Raise 404 in page view if page is not an exact match. Closes #1090 - Stephen McDonald
* Add unique constraint to site perm model. Closes #1089 - Stephen McDonald
* Provide a more meaningful exception message when the ``SEARCH_MODEL_CHOICES`` settings points to missing models - Stephen McDonald
* Run page processors before view in PageMiddleware - Alex Hill
* Only run page processors for Mezzanine's page view - Alex Hill
* Update ``models.py``. This fixes day light saving issue. It seems that ``created_at`` is coming with timezone 0000 UTC, so I would like to make ti timezoneaware using just utc. Django templates shows datetime ok with timesince without one hour error - eino-makitalo
* Fix login required test for protected page - Stephen McDonald
* Fix dynamic ``INSTALLED_APPS`` in setuptools test runner - Stephen McDonald
* Remove non-ascii chars from comment - Stephen McDonald
* Better approach for test settings - Stephen McDonald
* Issue 1102 - fixed UnicodeEncodeError when importing non-ascii files from zip - Maciej Szulik
* Fix ``local_settings`` import error check for Python 3 - Stephen McDonald
Version 3.1.9 (Jul 12, 2014)
----------------------------
* Nicer error message when ``register_setting`` is called with editable and no default - Stephen McDonald
* In thumbnails richtext filter, use built-in HTML parser with BeautifulSoup to better preserve original markup - Stephen McDonald
* Bail early in thumbnails richtext filter if ``MEDIA_URL`` isn't used - Stephen McDonald
Version 3.1.8 (Jul 10, 2014)
----------------------------
* Support custom User model in AdminLoginInterfaceSelectorMiddleware - Rocky Meza
* Fix call to ``get_model`` in search view - Stephen McDonald
* Add test for the search view - Stephen McDonald
Version 3.1.7 (Jul 06, 2014)
----------------------------
* Fix twitter query encoding - Stephen McDonald
Version 3.1.6 (Jul 05, 2014)
----------------------------
* Stricter child page lookup when parent slug is updated. Fixes #1045 - Stephen McDonald
* In thumbnails richtext filter, maintain markup that html5lib deems belonging in a head tag, and fix any script tags that have been self-closed - Stephen McDonald
* In front-end editing, handle widget overrides not existing when ``FORMS_USE_HTML5`` is False - Stephen McDonald
* Remove some redundant encoding/escaping from Twitter queries, and handle some MySQL unicode warnings - Stephen McDonald
* Fix regression in generic signal handling in Django 1.7 - Alex Hill
* Initial refactor of profile support for Django 1.7 - Alex Hill
* LazyModelOperations can wait on multiple models - Alex Hill
* Add trailing newline to ``accounts/models.py`` - Alex Hill
* Allow ``'app_label.ModelName'`` passed to ``get_model()`` - Alex Hill
* Fail early with invalid lazy model names - Alex Hill
* Use ``get_profile_for_user()`` in profile signal handler - Alex Hill
* Use ProfileNotConfigured in profile functions - Alex Hill
* Use ProfileNotConfigured in ``accounts/admin.py`` - Alex Hill
* Update accounts tests to use ProfileNotConfigured - Alex Hill
* Use ``get_profile_fields_form()`` rather than importing - Alex Hill
* Fix return statement in ``accounts_tags.profile_fields()`` - Alex Hill
* Fix dependency: oauthlib is used - Melvyn Sopacua
* Replace html5lib with BeautifulSoup in thumbnails richtext filter, to preserve original HTML. Closes #1056 - Stephen McDonald
* In thumbnails richtext filter, only resize images uploaded to ``MEDIA_URL``. Closes #1058 - Stephen McDonald
* Use beautifulsoup4 for Python 3 support - Stephen McDonald
* Added mezzanineopenshift to third-party apps - Stephen McDonald
* Remove distutils version checking code which doesn't work with strings in versions - Stephen McDonald
* Allow alternate settings module when building docs. Closes #1062 - Stephen McDonald
* Remove redundant encoding. Closes #1063 - Stephen McDonald
* Redundant forms admin attribute - Stephen McDonald
Version 3.1.5 (Jun 09, 2014)
----------------------------
* Small css fix for settings admin page - Mario Rosa
* Check if ``django.contrib.admin`` is in ``INSTALLED_APPS``. Make sure ``django.contrib.admin`` is in ``INSTALLED_APPS`` before moving. it to the end of the list. Adding this enables moving admin app. on a different domain - Dovydas Stepanavicius
* Add language selector in the navigation bar - Mathias Ettinger
* Generate slug from title for default language instead of active one - Mathias Ettinger
* rtl: fix margins in admin - Ahmad Khayyat
* Fix ID check in ``admin_page_ordering`` view to prevent some redundant queries - Stephen McDonald
* Revert bad ``get_FOO_display`` change. Closes #1032 - Stephen McDonald
* Don't strip quotes from twitter template tag args which was only needed in early Django versions. Closes #1034 - Stephen McDonald
* Remove global signal handlers in ``mezzanine.generic``. Fixes #1036 - Alex Hill
* Implement a new ``can_move`` dynamic page permission. Content types can override ``can_move()`` to control whether a given page. move in the page tree is permitted. ``can_move()`` should raise a. PageMoveException if the move is denied. PageMoveException takes a. single argument: a message explaining the reason for the denial - Ahmad Khayyat
* page tree: reload on move exception to revert the tree and display any messages - Ahmad Khayyat
* Move LazyModelOperations into ``mezzanine.utils.models`` - Stephen McDonald
* Added ``mezzanine.utils.html.thumbnails`` to ``RICHTEXT_FILTERS`` setting, which converts images within richtext fields into thumbnail references. Closes #567 - Stephen McDonald
* CSS fixes for send to twitter admin checkobx - Stephen McDonald
* Document the ``can_move`` dynamic permission - Ahmad Khayyat
* Faster admin left-hand menu animation - Stephen McDonald
* Show featured images in recent blog posts section - Stephen McDonald
Version 3.1.4 (May 05, 2014)
----------------------------
* Remove previous cached build dir when creating wheel builds - Stephen McDonald
* Explicitly close db connection in ``poll_twitter`` command - Stephen McDonald
* Remove deprecated Debug Toolbar configuration. ``DEBUG_TOOLBAR_CONFIG.INTERCEPT_REDIRECTS`` has been deprecated. In fact, the Redirect panel is now disabled by default, so we don't need to define the setting any more. Deprecation notice: ``http://django-debug-toolbar.readthedocs.org/en/latest/changes.html#deprecated-features``. New default value: ``http://django-debug-toolbar.readthedocs.org/en/latest/configuration.html#toolbar-options`` - Eduardo Rivas
* Bypass streaming responses in cache middleware. Closes #1020 - Stephen McDonald
* Django 1.7: avoid trying to load user model during startup for profile signals - Stephen McDonald
* Support pre/post Django 1.7 CurrentSiteManager - Stephen McDonald
* Change handling of multiple versions of password reset urlpattern format to work with Django 1.7 - Stephen McDonald
* Django 1.7: fix exception handling when testing for slugs or app/model names in page processors - Stephen McDonald
* Django 1.7: fix initial site creation, in 1.7 the default site already exists - Stephen McDonald
* Django 1.7: fix admin formfields for generic relations, thanks to @loic84 - Stephen McDonald
* added ``get_XXX_display()`` to MultiChoiceField - slav0nic
* Only abort second phase cache render for non-200 http status when DEBUG is enabled - Stephen McDonald
* Bump grappelli-safe version to 0.3.10 - Stephen McDonald
Version 3.1.3 (Apr 25, 2014)
----------------------------
* Fix regression in page middleware on non TemplateResponse responses - Stephen McDonald
* Revert change to javascript location in default templates - Stephen McDonald
Version 3.1.2 (Apr 25, 2014)
----------------------------
* [#1004] Move Javascript to the Bottom of the Body. * Move all Javascript Includes to Bottom of the ``base.html`` and. ``mobile/base.html`` templates. * Move ``extra_js`` Blocks Below main Blocks in the ``pages/form.html`` and. ``pages/gallery.html`` templates. closes #1004: JS should be at the bottom of body - Pavan Rikhi
* Widget js shouldn't need staticfiles handling - Stephen McDonald
* Allow local testing of ``STATIC_URL`` containing host - Stephen McDonald
* Add Additional 3rd Party Integration Documentation - Pavan Rikhi
* Indicate active tree branch in tree page menu - Stephen McDonald
* Move the logic for assigning a page variable to the template context, from PageMiddleware into a context processor. This ensures we don't reply on TemplateResponse objects - Stephen McDonald
* More reworking of the docs for integrating apps with pages - Stephen McDonald
* Give a ``.template`` extension to Python files under ``project_template/deploy`` since they aren't valid Python files and an attempt to compile them may be made when installing. Closes #1010 - Stephen McDonald
* Make the new page context processor backward compatible with older projects - Stephen McDonald
* Fix some deprecation warnings: mimetype -> ``content_type`` - Stephen McDonald
* Restore site selection dropdown menu in admin nav - Stephen McDonald
* Decouple the Blog Post List from RichTextPages. The ``blog_post_list.html`` template currently requires that any `page`. context variable passed to it has a `richtextpage` attribute. These changes modify the template, making the `richtextpage` attribute. optional. This allows users to create other Page types pointing to the. URL of the Blog Post List - Pavan Rikhi
* Fix styling of admin help text. Closes #1013 - Stephen McDonald
* Further decoupling of richtextpage in blog templates - Stephen McDonald
* Apply admin title click globally - Stephen McDonald
* Show users section in admin nav highlighted as active for the change password view - Stephen McDonald
* Include grappelli in ``INSTALLED_APPS`` during tests - Stephen McDonald
* Skip reset password test for older Django versions since we now include grappelli, which has a bad url name in the reset password template. Since fixed but not released - Stephen McDonald
* Ensure missing settings vars don't break admin JS. Closes #1015 - Stephen McDonald
* Bump grappelli safe version to 0.3.9 - Stephen McDonald
Version 3.1.1 (Apr 19, 2014)
----------------------------
* Fix richtext widget loading - Stephen McDonald
Version 3.1.0 (Apr 17, 2014)
----------------------------
* Allow auth admin's change password view to be reversed - Stephen McDonald
* Fix for ignoring ``search_fields`` when they are set on the ModelAdmin - Sam Kingston
* Make pillow an explicit dependency since wheel distributions can't have optional dependencies, and clean up uses of it - Stephen McDonald
* Update reference and link for Pillow in Deps - Matt Stevenson
* Add Debian and Ubuntu prereqs for Pillow - Matt Stevenson
* Something is broken with password-resetting. Building a test to reproduce the issue (already hitting the first problem). Will do further testing and fixes in this branch - Arnold Krille
* Further up the test-road. Running this with ``Django1.5.5`` works here. The test reaches the page congratulating to the new password and showing a link to "Log in". Unfortunately that link leads to an invalid url '/accounts/login' by default:-( But thats probably stuff for a different Issue/PR - Arnold Krille
* fix for the python3 problem? - Arnold Krille
* Make the urls version-dependant. This feels a bit dirty. But it could actually work - Arnold Krille
* Python3 fixes. Don't know if this is correct, its my first actual encounter with python3;-) - Arnold Krille
* Add a note about osx setup for libjpeg - Stephen McDonald
* When testing, do so in english. And follow any language-redirects should these occure - Arnold Krille
* Better uidb64 password reset version check - Stephen McDonald
* Fix the fix for reversing the change password form when multiple langages are enabled in the admin - Stephen McDonald
* Provide a warning on admin login when the default password is being used - Stephen McDonald
* Bump grappelli version to 0.3.6 - Stephen McDonald
* Fix ``add_to_builtins`` import for Django 1.7 - Stephen McDonald
* Initial version of new admin menu - Stephen McDonald
* Adds docs for ``HOST_THEMES`` configuration - geojeff
* Made a few grammatical fixes - geojeff
* Removed a caveat that can go in the PR comments - geojeff
* Update css to make side nav full height. Add js to open/close section subnav - Josh Cartmell
* Don't animate the admin menu when first loading - Stephen McDonald
* Better defaults for non-english language codes - Stephen McDonald
* Added setting ``ADMIN_MENU_COLLAPSED`` for controlling admin side-nav behaviour - Stephen McDonald
* Remove dashboard link from admin menu - replace with cliackable Mezzanine title - Stephen McDonald
* Highlight selected item in admin nav - Stephen McDonald
* Move site/lang drop-downs into top nav bar - Stephen McDonald
* Bigger buttons throughout admin - Stephen McDonald
* Move multi-site docs into new section - Stephen McDonald
* Fix tuple/list setting handling - Stephen McDonald
* Allow page subclasses to implement ``get_template_name`` to customize template selection in the page view. Closes #957 - Stephen McDonald
* Use dark chosen plugin for top nav dropdowns in admin - Stephen McDonald
* Use Mezzanine's branding for the admin nav title - Stephen McDonald
* Consistent message styling in admin - Stephen McDonald
* Mentioning ``PAGE_MENU_TEMPLATES_DEFAULT``. Updated the *Filtering Menus* section to mention the `PAGE_MENU_TEMPLATES_DEFAULT` setting which controls what entries get pre-selected in the admin section - Philip Mateescu
* Apply jquery chosen to other selects in the admin - Stephen McDonald
* Remove broken/unnecessary jquery resize plugin - Stephen McDonald
* Don't use sans-serif as the admin font (should fall back to Arial) - Eduardo Rivas
* Adjust CSS selector and colors for dark language selector. The dropdown in the admin login was being targeted as a dark dropdown - Eduardo Rivas
* Fix admin nav margin with alert messages - Stephen McDonald
* Use bigreason tinymce theme - Stephen McDonald
* Actually apply tinymce skin - Stephen McDonald
* Make admin panel collapsible to the left with a nice animation - Eduardo Rivas
* Make the admin panel hidden/show state persist in between page loads. This one uses localStorage instead of cookies - Eduardo Rivas
* Make the admin menu toggle panel a bit more subtle - Stephen McDonald
* Make sure the messages bar responds to panel toggling - Eduardo Rivas
* Fix regression in save bottom of change-list view - Eduardo Rivas
* Apply z-index to the whole side panel, not just the inner list - Eduardo Rivas
* Handle edge case of bottom controls in settings page - Eduardo Rivas
* Fix message margin with collapsed nav - Stephen McDonald
* Deal with POSTS in ssl middleware. Closes #975 - Stephen McDonald
* Fix POST handling in ssl middleware - Stephen McDonald
* Allow authentiated users to undo their ratings - Stephen McDonald
* Messages shouldn't cover admin nav when scrolling horizontally - Stephen McDonald
* Added support for search fields across model relations - Stephen McDonald
* Fix device handling for non-ascii user agents. Closes #976 - Stephen McDonald
* Bring back admin meta title - Eduardo Rivas
* Added distinct to search queryset, to prevent relation spanning search fields from producing duplicate results - Stephen McDonald
* Fix non-ascii form response CSV downloads on Python 3 - Stephen McDonald
* Update test Django version - Stephen McDonald
* Only attempt second phase cache render on valid http status. Closes #967 - Stephen McDonald
* Fix deprecated depth arg to ``select_related`` - Stephen McDonald
* Port over ``FORMS_EXTRA_WIDGETS`` feature from forms-builder - Stephen McDonald
* ``unicode_literals`` shouldn't be used in migrations. Because strings are passed to type(), which requires a non-unicode. string in python 2. Fixes #871 refs toastdriven/django-tastypie#1007 - Gavin Wahl
* Add ``FORMS_EXTRA_WIDGETS`` to Mezzanine's settings - Stephen McDonald
* Changed fabfile ``LIVE_HOSTNAME`` setting to DOMAINS, and handle multiple domains for a single project - Stephen McDonald
* Mention ``parent.page`` in the menu variables docs section - Stephen McDonald
* Only use ``RICHTEXT_WIDGET_CLASS`` if a RichTextField's widget is not. specified in the form's Meta - Alex Hill
* Add tests for RichTextField - Alex Hill
* update the migration files of blog and generic to use custom user model - Ziwei Zhou
* Handle removal of ``CurrentSiteManager._validate_field_name()`` in Django 1.7 - Stephen McDonald
* Better line break and HTML entities handling in form emails. Support line breaks in HTML email (so that they don't collapse when. rendered) and HTML entities in plain text email (unescape them to make. them legible) - Dominique Bischof
* Provide separate overridable email templates for the extra recipients in ``mezzanine.forms`` - Stephen McDonald
* added padding functionality to thumbnail tag - Bryan Clement
* removed rogue print statement - Bryan Clement
* Support hard-coded URLs in ``LOGIN_REDIRECT_URL``. Closes #992 - Stephen McDonald
* Port forms-builder fix for large file uploads - Stephen McDonald
* Allow subclasses of PageMiddleware to be used in page view check - Stephen McDonald
* Clean up thumbnail padding - Stephen McDonald
* Correctly handle 404 exceptions for static files during development - Stephen McDonald
* Store thumbnails in individual directories named after the original filename, so that we can accurately delete them from within filebrowser where necessary. Closes #995 - Stephen McDonald
* Update thumbnail test path - Stephen McDonald
* Disable the 'Add' option of comments in the admin, because the program crash when you try to create a new comment, is better delete this option for avoid this problem - Jesus Armando Anaya Orozco
* Add a new site. Add new site created with Mezzanine - Anthony
* converted ratios to floats. ratios were integer division, which didn't work as desired. casting the numerators to floats cures this ailment - lykkin
* added padding color option into thumbnail tag - lykkin
* Document optional thumbnail tag args - Stephen McDonald
* Added ``USE_L10N`` check for language dropdowns in admin - Rocky Meza
* Fix ``USE_L10N`` check for admin language selector - Stephen McDonald
* Handle null descriptions ofr settings in conf form - Stephen McDonald
* Catches exceptions in thumbnail ``image.convert`` - Doug Evenhouse
* Prevent some warnings during tests - Stephen McDonald
* Restructure content architecture docs - lead in with describing how Page/Displayable are built and used - Stephen McDonald
* Move ``short_url`` generation code from template tag to model, so we can use it for tweets - Stephen McDonald
* Added TweetableAdminMixin and applied to BlogPostAdmin - used for sending tweets from admin - Stephen McDonald
* Updated docs for twitter integration - document setup for sending tweets plus move to own section - Stephen McDonald
* Move the side-menu directly where it should be in the admin template so we don't have to juggle it with jQuery - Stephen McDonald
Version 3.0.9 (Feb 11, 2014)
----------------------------
* Add noindex tag to search results. Search results shouldn't normally be indexed, given that they can be generated for arbitrary queries. This patch adds a noindex tag to the head - Samir Shah
* Fix serving uploaded files during development - Stephen McDonald
* Fix static files handling - Stephen McDonald
* Support collapse classes in admin. Closes #943 - Stephen McDonald
* Add some HTML5 tags to ``RICHTEXT_ALLOWED_TAGS``. Hi,. This patch adds the following tags to ``RICHTEXT_ALLOWED_TAGS:`` * article. * aside. * figure. * caption. * header. * footer. * nav. * section. , all of which are becoming increasingly common, and should all be safe to allow. Thanks! - Samir Shah
Version 3.0.8 (Feb 05, 2014)
----------------------------
* Use binary mode when opening the image to be copied on a remote server - Sylvain Fankhauser
* Fixed regression when validating displayable content field against published status - Stephen McDonald
* Fix static proxy handling - Stephen McDonald
* Fix string checking in page processors. Closes #931 - Stephen McDonald
* Handle the different method of importing filebrowser urls when the upstream version is installed. Closes #925 - Stephen McDonald
* Rename account URL prefix to match Django's by adding the plural s. Catch and redirect any old urls to the new scheme - Sam Kingston
* Tidy up old account redirect view - Sam Kingston
* Added tests to ``static_proxy`` - Alejandro Peralta
* Handle next param in ``old_account_redirect`` - Stephen McDonald
* In Mezzanine's runserver, also serve up static files in ``STATIC_ROOT`` - Stephen McDonald
* Bump filebrowser-safe to 0.3.2 - Stephen McDonald
* Use ``file.name`` instead of ``file.url`` for getting name of file in GalleryImage. `file.name` is universal accross storages and can be used not only with. FileSystem storage but with S3 storage as well (`file.name` is used to. create the url). Also with using `name` instead of `url` we will not have. problems with encoding and python version - Venelin Stoykov
Version 3.0.7 (Feb 02, 2014)
----------------------------
* check if the user model is already registered. Fix usage of overwriting the UserProfileAdmin because it will be under ``mezzanine.accounts`` in ``INSTALLED_APPS`` - Sebastian Clemens
* check django version instead of ImportError. Closes ``https://github.com/stephenmcd/mezzanine/issues/893`` - Sebastian Clemens
* Use space indent instead of tab - Sebastian Clemens
* Do not show the ``in_menus`` field in page admin if ``PAGE_MENU_TEMPLATES`` is empty - Laurent Prodon
* Fix admin password reset page. Closes #909 - Stephen McDonald
* Clean up ``PAGE_MENU_TEMPLATES`` check in page admin - Stephen McDonald
* Fix failing account tests for foreignkey and date/datetime fields on user profile models - Stephen McDonald
* menu: include parent page in context - Laurent Prodon
* menu: modify doc accordingly - Laurent Prodon
* Handle multiple ip addresses in ``mezzanine.utils.views.ip_for_request`` - Stephen McDonald
* Fix handling for schemeless static urls in static proxy - Stephen McDonald
* fix on python3 loads() required string found bytes <- reads(). adding ``.decode("utf-8")`` to support python3 - Simone Federici
* Fixed bug in ``processor_for`` if it receives an unicode slug - Vindio
* Replaced unicode string for ``python3.x`` compatibility - Vindio
* Previous commit breaked test for ``python2.x`` - Vindio
* Previous commit broke test for ``python2.x`` - Vindio
* Dont show comments in blogpost list if they are not allowed - Laurent Prodon
* wrap ratings in a block in blogpost detail template - Laurent Prodon
* More Django 1.6 generic relation regressions - underlying sql has changed, returning duplicates, so apply distinct for correct results. Closes #918 - Stephen McDonald
* Fix tag cloud padding - Stephen McDonald
* Ensure filtering blog posts by keyword uses the correct content type - Stephen McDonald
* Much simpler keywords lookup fix - Stephen McDonald
* Don't assume static proxy url param contains a host. Closes #920 - Stephen McDonald
* Added test to check that /static/ as a prefix of url is removed - Alejandro Peralta
* Fix static proxy test for Python 3 and remove fb dependency from test - Stephen McDonald
Version 3.0.6 (Jan 17, 2014)
----------------------------
* Don't require specifying filebrowser urls separately in a project's urlconf - Stephen McDonald
* import the user model from settings - Sebastian Clemens
* Improved support for determining timezone with tzlocal lib - Stephen McDonald
* New setting ``EMAIL_FAIL_SILENTLY`` for controlling the default ``fail_silently`` arg in sending email - Stephen McDonald
Version 3.0.5 (Jan 12, 2014)
----------------------------
* Fix bytes/string handling in Python 3 ``static_proxy``. Closes #866 - Stephen McDonald
* Move the file browser url to i18n patterns - Sebastian Clemens
* Use the new template tag for url generation - Sebastian Clemens
* Add a given query string to url - Sebastian Clemens
* Move jQuery setup for ajax/csrf outside of ``document.ready`` handler - Stephen McDonald
* In overextends template tag, don't assume extends node is first in node list - Stephen McDonald
* Fix bytes/str handling in disqus SSO - Stephen McDonald
* Communicate the requirement for twitter credentials on changing the default query in the help text - Stephen McDonald
* Slight increase to font size throughout the admin - Stephen McDonald
* Add url field type to anyFieldsDirty in ``dynamic_inline.js`` - Adrian Carpenter
* Patch all migrations to remove generic fields - these break with Django 1.6 and aren't actually necessary with the latest version of south - Stephen McDonald
* Added two more HTML5 input types in ``dynamic_inline.js`` - Adrian Carpenter
* ``dynamic_inline.js`` updated for HTML5 input types in Django 1.6 - Adrian Carpenter
* Remove all the ``frozen_by_south`` hacks and use it to provide a warning for old migrations - Stephen McDonald
* Add some more html5 field types to dynamic inlines JavaScript - Stephen McDonald
* Update to use multiprocessing library - tyescott
* Use pytz to determine a closest matching timezone fro ``TIME_ZONE`` default - Stephen McDonald
* Have RSS/Atom feed link attribute go to homepage of site - David Tomaschik
* Don't hard code rss link url - Stephen McDonald
* Use ``FieldFile.url`` to get full image-url in gallery. Closes #877 - Denis Cornehl
* SS: Bumped requests and requests-oauthlib versions - Sachin Shende
* Fix tuple/list setting handling. Closes #883 - Stephen McDonald
* allow <a> tags inside <button> in TinyMCE - Neum
* Add back ``bootstrap-extras.js``. Menus stay open for a few hundred milliseconds after the cursor leaves them and the dropdowns in the main menu are useable when the menu is collapsed - Josh Cartmell
* Relative schemes for twitter avatar urls. Closes #878 - Stephen McDonald
* Fix some failing http status code tests that need to follow redirects when multiple languages defined - Stephen McDonald
* Make the label element optional for form fields. Labels for form fields can be disabled by setting them to an empty string. Previously this would produce the intended result visually, but left an empty label element in the HTML. This change causes the element to only be inserted if a label value exists - David Sanders
* Fix for uploading zip files to a homepage gallery - Jeff Fein-Worton
* Update to latest bleach/html5lib and enable for Python 3 - Stephen McDonald
* Fix admin menu app/model sorting for Python 3 - Stephen McDonald
* Bump version to 3.0.5 - Stephen McDonald
Version 3.0.4 (Dec 27, 2013)
----------------------------
* Shadow staticfiles runserver instead of ``django.core`` - Stephen McDonald
* Use local names for the language selector. Also dropping creation of the two variables LANGUAGES and ``LANGUAGE_CODE``. because they already exists - Sebastian Clemens
* Correctly handle serving files under ``MEDIA_ROOT`` during development on Windows. Closes #865 - Stephen McDonald
Version 3.0.3 (Dec 25, 2013)
----------------------------
* Skip randomly failing settings test on Python 3 - Stephen McDonald
* Unicode fix for gallery image descriptions from filenames - Stephen McDonald
* More gallery unicode fixes - Stephen McDonald
* Fix some jQuery namespacing regressions in the admin - Stephen McDonald
Version 3.0.2 (Dec 24, 2013)
----------------------------
* No changes listed.
Version 3.0.1 (Dec 24, 2013)
----------------------------
* Fix Python 2/3 str/bytes error in cache bypass util - Stephen McDonald
Version 3.0.0 (Dec 24, 2013)
----------------------------
* Python 2/3 port: be conservative: no magic super() imports - Ed Schofield
* Put ``__future__`` imports below the # encoding: utf-8 lines - Ed Schofield
* Correctly handle page slug lookups when ``APPEND_SLASH`` is False - Stephen McDonald
* disqus counts should follow the protocol of the original request, see: ``http://help.disqus.com/customer/portal/articles/542119`` - John Henry
* Fall back to Python 2 urllib imports if needed. * Also fix one bug triggered by passing a newstr to ``urllib.unquote`` - Ed Schofield
* Remove obsolete ``with_statement`` import from ``__future__`` - Ed Schofield
* Always pass a native string to first arg of 3-arg type() call in ``middleware.py`` - Ed Schofield
* Add ``absolute_import`` to prevent implicit relative import of ``html.py`` on Py2 - Ed Schofield
* Python 2/3 compatibility for types in the settings registry - Ed Schofield
* Fix a few out-of-order ``__future__`` imports - Ed Schofield
* Python 3 compatibility: Use Django's newer ``smart_text`` and ``force_text`` if available. - ``smart_unicode`` and ``force_unicode`` aren't defined in ``django.utils.encoding`` on Py3 - Ed Schofield
* Python 3: fix ``arg_names`` lookup in ``FormForForm.__init__`` - Ed Schofield
* Python 3 compatibility: Fix ``galleries/models.py:`` use BytesIO etc - Ed Schofield
* Add Python 3.3 to ``.travis.yml`` - Ed Schofield
* Revert "Add Python 3.3 to ``.travis.yml"``. This reverts commit 4dee3b787d040613fa632c3300a29def955ca128. Django 1.4.x doesn't support Python 3.x, so the ``.travis.yml`` file needs to. specify that the combination of Python 3.3 and Django 1.4.x should not be. tested - Ed Schofield
* Change ``__unicode__`` -> ``__str__`` and add ``python_2_unicode_compatible`` decorator - Ed Schofield
* Disable ``standard_library`` import hooks for pychecker - Ed Schofield
* Add future == 0.8.2 to requirements; remove dependency for ``setup.py`` - Ed Schofield
* Change future dependency to >= 0.8.2 - Ed Schofield
* Add Python 3.3 back to ``.travis.yml`` and disable tests on ``Py3.3`` + Django 1.4 - Ed Schofield
* Fix location of urlparse on Python 2 - Ed Schofield
* Add Python 3 classifier for PyPI - Ed Schofield
* Prevent UnicodeDecodeError in test run on Py2 if files in the local dir have high-bit chars. - Also remove an extraneous import - Ed Schofield
* Python 3: import ``local_settings`` correctly from ``project_template.settings`` - Ed Schofield
* Work around Django / Python 2.x not supporting unicode cookie keys - Ed Schofield
* Change Py3-incompatible is-this-a-string type-check hack in ``send_mail_template`` - Ed Schofield
* Fix for ``mezzanine.utils.email`` imports - Ed Schofield
* Remove Django 1.4.x from ``.travis.yml`` for pull request for early testing - Ed Schofield
* ``import_rss`` and ``import_tumblr`` scripts: fix urllib imports on Py2 - Ed Schofield
* Remove all isinstance() imports (with future ``v0.9)``. - These are not needed in future ``v0.9`` - Ed Schofield
* Handle ``context_data`` is None in PageMiddleware - Stephen McDonald
* No need to provide ``TEST_RUNNER`` in settings - Stephen McDonald
* Restore 1.6 fix for generic relations - Stephen McDonald
* Don't use deprectaed depth arg for ``select_related`` in ``page_menu`` tag - use the built up list of subclass models instead, as per in the admin - Stephen McDonald
* Revert "Restore 1.6 fix for generic ``relations."``. This reverts commit 19288b896a5ccb146ae8fe8e25cde5a768079c0d. ``_meta.get_all_field_names()`` load the app cache. This cannot be called. during the app cache loading. Those line have been posing problems as seen in: * 19288b896a5ccb146ae8fe8e25cde5a768079c0d. * d2b68151ca936422eef3d0b7cc2a8e63f5e2d4d1. * 69acbfd8f025d2b245c4c8e8ca4d1484f0c1228d - Antoine Catton
* Fix circular import problem and keep Django 1.6 compatibility. See: * f48390c4c8d61ca499f277f2ae1c2346262b949d. * 19288b896a5ccb146ae8fe8e25cde5a768079c0d. * d2b68151ca936422eef3d0b7cc2a8e63f5e2d4d1. * 69acbfd8f025d2b245c4c8e8ca4d1484f0c1228d. Thank you Gavin Wahl (gwahl at fusionbox dot com) for the solution - Antoine Catton
* Bump future version requirement to 0.9.0 - Ed Schofield
* Add Django 1.4.8 back to ``.travis.yml`` and disable tests on ``Py3.3`` + Django 1.4.8 - Ed Schofield
* Remove some unnecessary list() calls around map() results - Ed Schofield
* Allow fab remove to run when db/user don't exist - Stephen McDonald
* Allow multiple deployed projects with ssl in nginx conf - Stephen McDonald
* Fixed a few small spelling errors - Tuk Bredsdorff
* In ``set_dynamic_settings`` don't convert tuple settings back to tuples if they were already a list. Closes #821 - Stephen McDonald
* Python 3 fix - can't compare string and int when sorting content types in page admin - Stephen McDonald
* Don't install optional dependencies for Python 3 that aren't yet compatible with it - Stephen McDonald
* Fix string cast for file fields in thumbnail template tag - Stephen McDonald
* Overide staticfiles' runserver command and wsgi handler during development, to allow uploaded files to be served from within the static dir - Stephen McDonald
* Update refs to latest Django 1.4/1.5 versions - Stephen McDonald
* Add project path to search path in tests - Stephen McDonald
* Authenticate new user using a token instead of a password to support password-less configurations - Alex Hill
* If new user's password is empty, make this explicit by calling ``set_unusable_password()`` - Alex Hill
* Only load editable settings from the database - Alex Hill
* Add a test for fixed editable settings behaviour - Alex Hill
* Load settings in a separate method, emit warnings for settings that are defined twice - Alex Hill
* Assume settings pulled from the database are UTF-8 - Alex Hill
* Remove assignment to make pyflakes happy - Alex Hill
* Remove use of ``from future import standard_library`` for now (issue #826). - This feature in ``future`` is currently buggy. - The import was not actually needed by some modules anyway - Ed Schofield
* Remove deprecated assert methods - Stephen McDonald
* Clean up editable setting loading - Stephen McDonald
* Move special-case bytes conversion to ``_load`` method - Alex Hill
* Add test for special-case bytes conversion - Alex Hill
* Fix inline editing response. Closes #829 - Stephen McDonald
* Upstream update to Bootstrap 3.0.2 - Eduardo Rivas
* Update footer link to point to the Bootstrap 3 site - Eduardo Rivas
* Inline Admin: Convert ``editable_form.html`` to BS3 - Eduardo Rivas
* Make auto-generated slugs propagate. Fixes #831 - Alex Hill
* Use reverse instead of ``models.permalink`` in ``BlogPost.get_absolute_url`` - Stephen McDonald
* Allow all models subclassing Displayable to be searched by setting ``SEARCH_MODEL_CHOICES`` to None - Stephen McDonald
* Update search engine docs - Stephen McDonald
* Fix some type handling for settings in ``mezzanine.conf`` - Stephen McDonald
* More Python 3 fixes for types in ``mezzanine.conf`` - Stephen McDonald
* Allow specifying optional left and top values to the thumbnail tag which control the centering of the thumbnail. If non default values are used update the thumbnail name - Josh Cartmell
* Allow None to be used as a ``per_page`` arg for pagination, to bypass pagination altogther - Stephen McDonald
* Force string type names for HTML5 form fields - Stephen McDonald
* Clean up positioning code in thumbnail tag - Stephen McDonald
* added three classes "left", "middle" and "right". these classes are used by cartridge to use the entire space in checkout process - Sebastian Clemens
* fix on ``__admin_media_prefix__`` about the trailing slash - Alexandre Hajjar
* Namespace jQuery in the admin pages to prevent conflicts - Zachery Metcalf
* Upstream update to Bootstrap 3.0.3 - Eduardo Rivas
* Use the new BS 3.0.3 colors for error fields - Eduardo Rivas
* Py3k compatibility fixes in two-phase rendering - Alex Hill
* Update ``forms.py``. Added a check to see if the initial value for a field is a manager - Tim Harton
* Fixed multipleschoiceselect error with profiles - Tim Harton
* Slightly cleaner related field check in profile form - Stephen McDonald
* Add a {% block %} to ``.form-actions`` in ``account_form.html`` for Cartridge. to extend. This makes it easier for Cartridge to insert an "Order History" button - Eduardo Rivas
* Increased margin around buttons in the user panel. Makes it look less. crammed - Eduardo Rivas
* Render form errors with a new {% ``errors_for`` %} template tag. This new template tag accomplishes three things: - Fixes the bug of multiple form error messages appearing when using. {% ``fields_for`` %}. This bug was intruduced in [this ``commit](https://github.com/jerivas/mezzanine/commit/323660db5bee7e21358315c4e247eaa8ee77b034)``. and was discovered when [migrating Cartridge to ``BS3](https://github.com/clemensbasti/cartridge/pull/1)``. - Decouples error message rendering from form field rendering, with. the added flexibility of placing the error messages wherever we want. - Creates a new template ``(includes/form_errors.html)`` as the single. location to control form error rendering through all Mezzanine and. Cartridge - Eduardo Rivas
* Admin href disqus recent comments to https or http via double slash. Changed how the disqus widget in the admin panel loads its recent. comments. This will fix any errors for loading insecure content - Daniel Lawrence
* ``verbose_names`` should be capitalized when output. The convention is to always use lowercase ``verbose_names`` and capitalize. in the template where necessary. ``<https://docs.djangoproject.com/en/1.0/topics/db/models/#verbose-field-names>``. > The convention is not to capitalize the first letter of the. > ``verbose_name``. Django will automatically capitalize the first letter. > where it needs to - Gavin Wahl
* Fix a bunch of regressions from namespacing jQuery in admin - Stephen McDonald
* Add django 1.6.1 to supported/tested versions - Stephen McDonald
* Move sitemap generation logic for Displayable instances into DisplayableManager - Stephen McDonald
* Added the url/view for ``displayable_links.js`` which is then used by TinyMCE to render a list of site links to use - Stephen McDonald
* In TinyMCE, don't convert relative urls to absolute - Stephen McDonald
* Added ``ALLOWED_HOSTS`` configuration for Django. As it's part of the default django settings, we also need this in mezzanine - Sebastian Clemens
* Python 2/3 fix for forms export - Stephen McDonald
* Added LANGUAGES to settings, since they're needed for multilingual support - Sebastian Clemens
* Added ``django.middleware.locale.LocaleMiddleware`` to ``MIDDLEWARE_CLASSES`` - Sebastian Clemens
* Added a language selector field to the login and admin site - Sebastian Clemens
* Mention Widgy in the list of third-party modules - Gavin Wahl
* Only show admin language selector when multiple languages configured - Stephen McDonald
* Don't use future's int for int settings. Closes #855 - Stephen McDonald
* In admin customization section of docs, mention ``in_menu`` method on admin classes for controlling ``ADMIN_MENU_ORDER`` behavior - Stephen McDonald
* Move requirements file for ``project_template`` into project root to better conform with hosting providers like Heroku. Closes #859 - Stephen McDonald
* Broader excpetion handling for importing bleach since its deps aren't Python 3 ready - Stephen McDonald
* Fix for django-debug-tolbar 1.0 which prevents later middleware from running - Stephen McDonald
* Add config for wheel distribution - Stephen McDonald
* Remove use of deprecated simplejson module and clean up other imports - Stephen McDonald
* Provide read-only twitter settings for the default query - Stephen McDonald
Version 1.4.16 (Sep 30, 2013)
-----------------------------
* Revert broken static proxy change - Stephen McDonald
* Better fix for static proxy urls - Stephen McDonald
Version 1.4.15 (Sep 29, 2013)
-----------------------------
* Blog: Generate RSS and Atom feeds through ``richtext_filters`` - Eduardo Rivas
* Delete BS2 static resources. Add BS3 resources: css, js and fonts - Eduardo Rivas
* Migrated ``base.html`` and all it's includes to BS3 - Eduardo Rivas
* Strip ``STATIC_URL``, leading / from proxied URLs. ``STATIC_URL`` often contains host or ``generic_host`` (esp. if ``STATIC_URL`` is a. path on the same domain), so it needs to be removed first to ensure it. is removed completely. Also removed leading '/' from URL, since it. appears staticfiles doesn't like absolute paths - Adam Brenecki
* Added a function ``mezzanine.utils.urls.next_url`` which is used to retrieve redirect URLs from a request's next param, while verifying that the redirect URL is valid - Stephen McDonald
* Fix min Dajngo version - Stephen McDonald
* Use ``request.get_host`` rather than ``request.META['HTTP_HOST']`` - Stephen McDonald
* Fix Django version for travis - Stephen McDonald
Version 1.4.14 (Sep 14, 2013)
-----------------------------
* Blog: Catch exception if a non-existent month is requested from the archives - Eduardo Rivas
Version 1.4.13 (Sep 10, 2013)
-----------------------------
* Allow for there being no "errors" in the twitter api response. When a successful "user" query to the twitter api is completed the json that is returned is a list. In order to validate the response the code tests to see if it was a dictionary with an "error" key. However passing a string as a index to a list will raise a TypeError, which was not being caught by the "except" clause. I have added TypeError to the list of items being caught. There are of course other ways of verifying the response but I think just adding the TypeError is in keeping with what you have already done. For reference, here is what I was seeing: > python ``manage.py`` ``poll_twitter`` --traceback --force. Traceback (most recent call last): ,. File ``"/,/lib/python2.7/site-packages/mezzanine/twitter/models.py"``, line 74, in run. raise TwitterQueryException(tweets["errors"][0]["message"]). TypeError: list indices must be integers, not str - David Higgins
* Fix tag cloud factor in generic app - Stephen McDonald
Version 1.4.12 (Aug 27, 2013)
-----------------------------
* Remove bad 1.6 handling - Stephen McDonald
* Fix settings context processor for email template contexts when cache installed - Stephen McDonald
Version 1.4.11 (Aug 26, 2013)
-----------------------------
* Added mezzatheme themes marketplace to features list - Stephen McDonald
* Method to load all symbols of all files in a submodule - Thomas Rega
* Use new decorator ``"richhtext_filters"``. The decorator ``"richtext_filter"`` is marked as deprecated - Thomas Rega
* Move gallery related tests into the app directory. If the app is not installed, the tests are not executed - Thomas Rega
* Move blog related tests into the app directory. If the app is not installed, the tests are not executed - Thomas Rega
* Move page related tests into the app directory. If the app is not installed, the tests are not executed - Thomas Rega
* Move account related tests into the app directory. If the app is not installed, the tests are not executed - Thomas Rega
* Move form related tests into the app directory. If the app is not installed, the tests are not executed - Thomas Rega
* Move core related tests into the app tests directory. These tests do not belong direct to an specific app, so they stay. in the core app directory for now - Thomas Rega
* Simplify new test module structure - Stephen McDonald
* Provide a common TestCase class for all app specific tests, for features such as admin user plus debug cursor for query tracking. Also consistent naming for tests - Stephen McDonald
* Move tons of tests into their correct apps - Stephen McDonald
* Patch ``jquery.overlay`` with ``jquery.browser`` support to work with new jQuery versions. Closes #701 - Stephen McDonald
* Force tinyMCE save in ``dynamic_inline.js`` to avoid issues with richtext fields in dynamic inlines and ordering values not correctly handled. Closes #731 - Stephen McDonald
* Update dev status classifier in ``setup.py`` - Stephen McDonald
* Remove inclusion of ``mezzanine.accounts`` when testing - Zach Gohr
* Inject all Mezzanine apps into the temp settings module when Mezzanine itself is being tested - Stephen McDonald
* Use setuptools to test on travis - Stephen McDonald
* Apply skipTests throughout different tests where apps are coupled - Stephen McDonald
* ``setup.py`` specifies the test deps so we don't need to grab them for travis now - Stephen McDonald
* Update ``send_mail_template`` to pass optional email headers to the EmailMultiAlternatives constructor. Rather than having the form ``page_processor`` send mail from user submitted email addresses (if present) have it specify the Reply-To header - Josh Cartmell
* Get rid of ``FORMS_DISABLE_SEND_FROM_EMAIL_FIELD``, always add the Reply-To header if there is an ``email_to`` - Josh Cartmell
* Adding template accessible settings into context for rendering templates for emails - Danny Sag
* Handling case when diff between min and max count is smaller than size. Weights were not calculated correctly when difference between `max_count` and `min_count` was smaller than `settings.TAG_CLOUD_SIZES`. Changed calculation of weights to use floating point arithmetic. The results of weight calculations using old and new code are shown below: ``http://ideone.com/fXs5aG`` - Ahmet Bakan
* Adding ``.control-label`` to ``form_fields.html`` - Troy Harvey
* Be a bit more explicit with request arg in settings context processor - Stephen McDonald
* Added mezzanine-meze to third-party apps list - Stephen McDonald
* Added support for Django 1.6. - The situations in which ``contribute_to_class`` is called have changed. - Fixed DeprecationWarning about simplejson. - Explicitly set the ``TEST_RUNNER`` to the pre 1.6 one. - Set default=False on BooleanField - Rocky Meza
* Keep django version pinned - Stephen McDonald
* Ensure correct arguments are used when returning a Page in place of a 404 from a non-page urlpattern - Ben Ledbury
* Better error propagation when querying for tweets - Stephen McDonald
* Added --force option to ``poll_twitter`` command which will query for tweets on all queries - Stephen McDonald
* Catch and show twitter query errors in management command, and allow continuing - Stephen McDonald
* Allow twitter queries to gracefully fail in templates - Stephen McDonald
* Bump requeusts-oauthlib version. Closes #764 - Stephen McDonald
* Exempt Link pages from 404 Page replacement - Ben Ledbury
* Changed 'form' to ``'editable_form'`` to fix naming conflict. Editable JS no longer being pulled in - Nicole Harris
* Don't quote bullets,. The indentation causes the bullets to be treated as blockquotes - David Winterbottom
* ,but do quote quotes :grinning: - David Winterbottom
* Use correct comment field name in akismet API. Closes #768 - Stephen McDonald
* Added TimeStamped model mixin to Displayable, for created/updated timestamps on all models. Closes #661 - Stephen McDonald
* Allow account signups with profiles containing non-nullable fields. Closes #749 - Stephen McDonald
Version 1.4.10 (Jul 29, 2013)
-----------------------------
* Added ``window.__language_code`` variable to admin and inline loader - Artem Gluvchynsky
* Better error message for page models that get removed from ``INSTALLED_APPS``. Closes #722 - Stephen McDonald
* Allow initial user creation in syncdb when a profile model is managed by migrations and doesn't yet exist - Stephen McDonald
* Looser AJAX response check for page reordering. Closes #727 - Stephen McDonald
* Allow key settings to be defined in fab conf and injected into live ``local_settings`` module - Stephen McDonald
* Added valid Polish messages for mezzanine/core. Closes #729 - Marek Wywiał
* add a ``tox.ini`` config file - jferry
* Use protocol-relative URL to avoid SSL warnings - Vinod Kurup
* Make running fabfile outside project root optional, since it conflicts with importing the fabfile into other fabfiles - Stephen McDonald
* Specify minimum version of pytz requirement - Vinod Kurup
* Fixed view and JS to be compatible with jQuery 1.8 - Ethan Goldstine
* Fix ``gravatar_url`` tag for non-ascii email addresses. Closses #721 - Stephen McDonald
Version 1.4.9 (Jul 10, 2013)
----------------------------
* Allow deployments to be run from project subdirectories - Stephen McDonald
* Add support for ``settings.RICHTEXT_FILTERS``. ``RICHTEXT_FILTERS`` is a list of items that are valid for the. ``RICHTEXT_FILTER`` setting. The plural version takes precedence if it is. available and non-empty. Each item in ``RICHTEXT_FILTERS`` is applied in. order. An alias for the ``richtext_filter`` template filter has been added to. match the plural nature of the new setting: ``richtext_filters`` simply. calls on ``richtext_filter`` for its output - Tim Valenta
* Fixed blog post categories list in ``blog_post_list.html`` template - Artem Gluvchynsky
* Removed redundant jQuery media from KeywordsWidget - Artem Gluvchynsky
* Use urljoin in ``Page.get_absolute_url`` for link pages - Dheeraj Sayala
* RTL: fix position of changelink icon in page tree after recent changes. Problem introduced in aec1a0462b60, which solves an issue due to long. page names - Ahmad Khayyat
* Comma separate categories in blog post listing - Stephen McDonald
* Update docs for new ``RICHTEXT_FILTERS`` setting - Stephen McDonald
* Properly deprecate ``RICHTEXT_FILTER`` setting in favour of ``RICHTEXT_FILTERS`` (plural) setting - Stephen McDonald
* Update templates to use new ``richtext_filters`` (plural) tag - Stephen McDonald
* Allow a single BCC address in addition to list/tuple. BCC fails if the ``addr_bcc`` argument is a single address rather than a list/tuple. This commit wraps a single address in a list to fix this problem - Alex Hill
* Make sure ``request._messages`` has been set before trying to access it. This is for cases where the MessageMiddleware hasn't had a chance to. run, ``e.g`` when a previous middleware returned an exception - Gu1
* Use a separate key setting for nevercache tokens - Stephen McDonald
* Add ``is_current_parent`` on pages filtering - Antoine Catton
* Remove field related to Django built-in user model. South is expecting those fields to be in the database. So it is. selecting them, since some custom user models don't have them, this can. break this migration - Antoine Catton
Version 1.4.8 (Jun 27, 2013)
----------------------------
* Fix nginx config to work on more recent ubuntu versions. Not sure how backwards compatible this is. Please see: ``http://stackoverflow.com/questions/8768946/dealing-with-nginx-400-the-plain-http-request-was-sent-to-https-port-error`` - David Novakovic
* dynamically generate top margin of admin content area - Andromeda Yelton
* contentMargin out of global namespace - Andromeda Yelton
* Force csrf token generation on every request with cache middleware. Closes #676 - Stephen McDonald
* Use a more explicit name in ``PageAdmin.get_content_models`` which won't collide with a commonly used field name such as name - Stephen McDonald
* Don't use ``ugettext_lazy`` for form field labels since Django will double-escape them. Closes #682 - Stephen McDonald
* Move case-insensitive keyword creation into KeywordManager, and allow for duplicate results. Closes #679 - Stephen McDonald
* Fix ``ADD_PAGE_ORDER``. Closes #681 - Stephen McDonald
* Fix uses of next param for redirects where param exists but value is empty - Stephen McDonald
* Revert fix to #594 #677 - causes issues with status messages - Stephen McDonald
* TagCloser - don't close br and image tags - John Groszko
* Test changes to TagCloser - John Groszko
* Clean up some docstrings - Stephen McDonald
* When using search against an abstract model (eg Displayable), filter the combined models searched against by the models represented in the ``SEARCH_MODEL_CHOICES`` setting. Closes #684 - Stephen McDonald
* Add a note to search docs about ``SEARCH_MODEL_CHOICES`` affecting abstract search behaviour - Stephen McDonald
* Added missing class to collapsible navbar that affected nested menus - Jason Wong
* SS: Moved to the original - Sachin Shende
* long title : break words on pages tree - jferry
* SS: Changes done to Twitter app to upgrade to API 1.1. 1. Added ``requests==1.2.3`` and ``requests-oauthlib==0.3.2`` to the dependency list. 2. Added 4 new keys to the settings. 3. Changed models to use new authentication for Twitter API, changed urls and other changes to parse the response - Sachin Shende
* use of staticfiles to get url to tinymce - Eduardo S. Klein
* Just added my Website to the gallery ;) - Rafael Beckel
* More consistent names and validation of new twitter settings - Stephen McDonald
* Document new requirements for Twitter API - Stephen McDonald
* Fix for Issue #691 - ``ACCOUNTS_APPROVAL_REQUIRED`` bypasses ``ACCOUNTS_VERIFICATION_REQUIRED`` - Ling Thio
* Provide better default for ``FILE_UPLOAD_PERMISSIONS`` - Stephen McDonald
* fixed little firefox bug - jferry
* Improved ssl cipher settings in default nginx conf - Stephen McDonald
Version 1.4.7 (May 17, 2013)
----------------------------
* Added the ``ACCOUNTS_NO_USERNAME`` setting, which will hide the username field from signup/update forms, but still generate a unique username for use in profile view slugs - Stephen McDonald
* Allow querystring vars to be excluded from pagination links - Stephen McDonald
* Missing migration on site perms. Closes #655 - Stephen McDonald
* Added support for ``setup.py`` test - Stephen McDonald
* Pass in the user to ``page.get_ascendants`` in the page view. This will allow previewing of the unpublished children pages of. unpublished parent pages. fixes #653 - Rocky Meza
* Lowered ``MAX_POSTS_PER_CALL`` to 20; Added support for question/answer posts - Jeff Fein-Worton
* Use a context instance when rendering page menus, huge performance boost - Stephen McDonald
* Fixed rss import errors - Andrey Zhukov
* Fixed the igrations to be able to run with a custom user model. This uses a pattern copied from django-reversion: ``https://github.com/etianen/django-reversion/blob/master/src/reversion/migrations/0001_initial.py`` - Rocky Meza
* Add ``addr_bcc`` arg to ``send_mail_template``. This accommodates the new setting ``SHOP_ORDER_EMAIL_BCC`` in Cartridge - Alex Hill
* Fix lookup for username generation when ``ACCOUNTS_NO_USERNAME`` is True, closes #664 - Stephen McDonald
* Fixed 0005 migration wrt custom user models - Rocky Meza
* Correctly validate float settings in ``mezzanine.conf`` - Stephen McDonald
* Added some validation in the createdb command that fails if a Mezzanine table exists, to prevent people from running it and accidentally faking new migrations that need to be run - Stephen McDonald
* ``mezzanine/accounts/templates/email/account_approved.html:`` removed the extra. "http://" - Alexandre Hajjar
* Make fabfile work in Windows. Two small changes allow deployment via Fabric from Windows: * Use ``posixpath.join`` instead of ``os.path.join`` to construct all paths destined for the remote machine. * Check for ``"fab-file.py"`` as well as "fab" in ``sys.argv``, to handle the way setuptools-generated command-line scripts work in Windows - Alex Hill
* Fix urlpattern for archive year - Stephen McDonald
* Hide printing ``STATIC_ROOT`` in deploys - Stephen McDonald
* Added paragraph to ``mezzanine/docs/user-accounts.rst`` about ``ACCOUNTS_NO_USERNAME``. setting - Alexandre Hajjar
* Used ``username_label`` variable in the PasswordResetForm label. ``(accounts/forms.py)`` - Alexandre Hajjar
* Pin html5lib, see ``https://github.com/jsocol/bleach/issues/94`` - Stephen McDonald
* Added an extra safeguard for type errors in editable settings - Stephen McDonald
Version 1.4.6 (Apr 27, 2013)
----------------------------
* Fix ``set_dynamic_settings`` for projects without ``AUTHENTICATION_BACKENDS`` defined - Stephen McDonald
* Provide meaningful exception when dotted import fails - Sam Kingston
* SS: Line 12 ``dsq.src`` changed to include https if the site is runnning on SSL. Comments do not appear if the site is running on SSL and js link is http - Sachin Shende
* Adding Golds Gym Utah - Josh Batchelor
* If ``static_directory`` does not exist, create it. Instead of trying to tar the static directory (which. fails when the dir does not exist), we create it when. is missing - José Aliste
* Hack for generic fields that allows MySQL migrations to run correctly - Stephen McDonald
* Don't assume a site exists in some older migrations - Stephen McDonald
* Use consistent language for 'log in / sign up' - Stephen McDonald
* The ``db_type`` field must take a second 'connection' argument, even though unused, otherwise one gets an 'unexpected keyword argument connection' TypeError - Marcos Scriven
* Added a port of Django's RedirectFallbackMiddleware with support for Mezzanine's multi-site handling. Closes #535 - Stephen McDonald
* Changelist view signature change to work with reversion - Thejaswi Puthraya
* Mark redirects middleware as unused if redirects not installed - Stephen McDonald
* Add special handling in PageMiddleware for non-page views that raise 404s, but do so with a valid page slug - in this case, we use the page view instead, which allows pages to be created that may match non-page urlpatterns. Closes #561 - Stephen McDonald
* Fix CSRF token generation when cache is enabled, should solve #632 - Gu1
* Be more explicit in checking for a test run management command - Stephen McDonald
* Add missing reference for link - Thibault J.
* Fix ``SearchableManager._search_fields`` incorrectly persisting across managers for model subclasses. Closes #633 - Stephen McDonald
* Add code of conduct - Ken Bolton
* New mezzanine-file-collections reference. mezzanine-media-library got renamed to mezzanine-file-collections. The reference was updated in this commit - Thibault J.
* Added the bool setting ``ACCOUNTS_APPROVAL_REQUIRED``, which defaults to False and when set to True, sets newly created public user accounts to inactivate, requiring activation by a staff member. Also added the setting ``ACCOUNTS_APPROVAL_EMAILS`` which can contain a comma separated string of email addresses to send notification emails to each time a new account is created and requires activation. Closes #417 - Stephen McDonald
* Document the new account approval feature - Stephen McDonald
* Better name for ``emails_list`` -> ``split_addresses`` - Stephen McDonald
* Fix thumbnail template tag for palette-mode images. Closes #636 - Stephen McDonald
* Added ``select_related`` for user in ``blog_recent_posts`` template tag - Stephen McDonald
* Fix lookup of initial data in from-builder forms, and correctly handle initial values for checkbox fields - Stephen McDonald
* Allow forms-builder forms to contain template code for default values - Stephen McDonald
* Provide more granular export filtering for multiple-choice fields in forms-builder export, eg matches/doesn't match any/all selected choices, and also allow range filters to use only one boundary - Stephen McDonald
* Fix ``static_proxy`` to work with //host ``STATIC_URLs``. ``STATIC_URL`` = ``'//mybucket.s3.amazonaws.com'`` would break the ``static_proxy`` prefix stripper, and therefore break tinyMCE plugins. This fix adds proper handling of generic-protocol hostnames to the ``static_proxy`` view - Gabe Smedresman
* Reorder blog and accounts patterns in ``mezzanine.urls`` to allow for projects with a blog homepage that also have accounts enabled - Stephen McDonald
* Fix handling of paths in zip imports in galleries app - Stephen McDonald
* accounts: properly reject multiple matching e-mail addresses. Django allows multiple Users with the same e-mail address; the existing. form can throw MultipleObjectsReturned when get(email=email) is called. against such a dataset - mike wakerly
* Added default wsgi script to project template - Stephen McDonald
* Only add input-xlarge on inputs without a class attribute, fixes #643 - Gu1
* Replaced the ``BLOG_URLS_USE_DATE`` setting with a new ``BLOG_URLS_DATE_FORMAT`` setting - it can contain the string year, month, or day, which controls the date granularity in blog post URLs - Stephen McDonald
* Editable settings refactor - this change is to clear up confusion around editable settings being defined in a project's settings module. Previously when this happened, the ``settings.py`` module value would only serve as a default, which would be superceded by the db editable value as soon as the settings admin form is first saved. To address this, this change means that editable settings defined in the project's ``settings.py`` module now mark the setting as not editable, so it will always be the value used. We also include some handling for the migration case so that even with this change, editable settings already in the db that have a ``settings.py`` value defined will still use the db value and provide a warning - Stephen McDonald
* Revert the handling for still using db values for editable settings with ``settings.py`` values defined, since it basically defeats the purpose if a ``settings.py`` value is added once a project is live - Stephen McDonald
* New ``INLINE_EDITING_ENABLED`` setting doesn't need to be editable - Stephen McDonald
* Don't force lowercase keywords. Closes #647 - Stephen McDonald
* Allow blog feed title and description to be overridden - Stephen McDonald
* Use callable description in atom rss feed - Stephen McDonald
* Properly escape comments in ``comment_filter`` template tag - Stephen McDonald
Version 1.4.5 (Apr 02, 2013)
----------------------------
* Fix some static urls in admin to support external storage backends - Stephen McDonald
Version 1.4.4 (Mar 30, 2013)
----------------------------
* Added user FK to rating model, and allow authenticated users to edit their ratings. Added new setting ``RATINGS_ACCOUNT_REQUIRED`` to allow ratings to behave like comments, where requiring authentication can store post data in session until user logs in to complete the rating - Stephen McDonald
* If RichTextPage is unregistered in the admin, have the page add link in the dashboard go to the page tree - Stephen McDonald
* Let's go back to a fixed-width navbar - Stephen McDonald
* Give the navbar some more space - Stephen McDonald
* Docs for using the Media Library browse dialog in custom widgets - Ahmad Khayyat
* Added the ``ADD_PAGE_ORDER`` setting, which is a sequence of ``app_label.object_name`` values of Page subclasses, for defining the ordering used in the add drop-down on the admin page tree - Stephen McDonald
* Use CSS instead of JavaScript for the admin app dropdowns. There were some bugs with the dropdowns when they were in JavaScript: 1. When you open a dropdown and then scroll, the dropdown would stay. put, instead of following the scroll. 2. The JavaScript used `.live('mouseover')` which binds to body and. wastes memory because it's fired for mouseover on every single DOM. element. 3. Occasionally, the dropdowns never disappeared even after mouseout. This commit fixes those bugs by using CSS and `:hover` instead of. JavaScript. Additionally, it simplifies the JavaScript related to. setting the href of the primary menu item links to their first child. It is a pixel for pixel match of the previous functionality and. appearance - Rocky Meza
* Update to bootstrap 2.3.1 - Stephen McDonald
* Use Django's ``module_has_submodule`` util in any module autodiscover scenarios (page processors, conf defaults) so we can correctly propagate real errors - Stephen McDonald
* Tighten up the search form css a bit - Stephen McDonald
* Remove the model graph FAQ since no one's actually ever asked it - Stephen McDonald
* New docs sesction, Utilities, covering the models/fields in ``mezzanine.generic``, as well as some of the more useful template tags in ``mezzanine_tags`` - Stephen McDonald
* Django 1.5 url compatability - pahaz
* Use future lib in form entries template for backward compat - Stephen McDonald
* Fix search form HTML - Stephen McDonald
* Add ``JQUERY_UI_FILENAME`` setting and corresponding docs - Ahmad Khayyat
* Fix rating field lookups - Stephen McDonald
* Added domain to cache key for site ID caching - Stephen McDonald
* Added some JS to the default front-end templates that delays closing of dropdown menus in the primary nav to make them more user friendly. Closes #587 - Stephen McDonald
* Added the setting ``BLOG_RSS_LIMIT`` defaulting to 20, which limits the number of blog posts shown in the RSS feed - Stephen McDonald
* Update ``BLOG_RSS_LIMIT`` setting description to describe setting it to None for no limit - Stephen McDonald
* Make ``BLOG_RSS_LIMIT`` setting not editable - Stephen McDonald
* A little late here, but fix Django 1.3 support - Stephen McDonald
* Provide a default ``max_length`` for FileBrowseField - Stephen McDonald
* Added a website powered by Mezzanine - poptosic
* Better comment button text - Stephen McDonald
* Unicode fix for comment emails - Stephen McDonald