forked from stephenmcd/mezzanine
-
Notifications
You must be signed in to change notification settings - Fork 9
/
CHANGELOG
2148 lines (1944 loc) · 175 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 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
* 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 11, 2013)
-----------------------------
* 1.fix comments errors - hanchen
* 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 27, 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
* Indent ``.control-label`` - 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 11, 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
* Remove print - 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
* Fix invalid migration - 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
* Bump grappelli-safe version - Stephen McDonald
* Improved ssl cipher settings in default nginx conf - Stephen McDonald
Version 1.4.7 (May 18, 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 28, 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
* Bump grappelli-safe version - 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
* Added ``INLINE_EDITING_ENABLED`` setting - Jeff Fein-Worton
* 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
* Bump grappelli/filebrowser versions - Stephen McDonald
Version 1.4.5 (Apr 03, 2013)
----------------------------
* Fix some static urls in admin to support external storage backends - Stephen McDonald
* Bump grappelli/filebrowser versions - Stephen McDonald
Version 1.4.4 (Mar 31, 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
* Fix rating css - 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
* Don't show site selection form when there's only one site. If there's only a single site, there's no need to show this form,. because it can't do anything - Gavin Wahl
* Only show one reply form at a time in a comment thread - Stephen McDonald
* Configurable page var names in pagination querystrings - Stephen McDonald
* Pin max Django version to 1.5.x - Stephen McDonald
* Fix tweets/comments css - Stephen McDonald
* RTL: adjust admin navbar thickness after the js->css change - Ahmad Khayyat
* Provide optional template for user panel in nav - Stephen McDonald
* RTL: fix position of help icon in ``filter_horizontal`` m2m widget - Ahmad Khayyat
* Remove content from DisplayableAdmin's ``search_fields`` since content is not defined on Displayable and may or may not be present on a model that subclasses it and uses the DisplayableAdmin - Josh Cartmell
* Clean up nav version of user panel - Stephen McDonald
* Don't strip any HTML in TinyMCE since filtering is handled by bleach - Stephen McDonald
* 569 - replace uses of ``STATIC_URL`` in templates with 'static' template tag - endophage
* site is never assigned when hostname is set, single line addition fixes the problem - endophage
* Don't depend on unloaded comment state for determining parent-most level of replies in ``comment_thread`` template tag - Stephen McDonald
* Fix KeywordsField swapping of name in model's ``search_fields`` when a sequence is used - Stephen McDonald
* Moved the logic for building up search fields in SearchableQueryset into a new method ``SearchableManager.get_search_fields``, which allows externally retrieving the search fields dict that will be used - Stephen McDonald
* Use model's ``search_fields`` to populate ``DisplayableAdmin.search_fields`` - Stephen McDonald
* Fix use of ``JQUERY_FILENAME`` with static template tag - Stephen McDonald
* Add compress tags to js/css in base mobile template - Stephen McDonald
* Fix empty thumbnails for fielbrowser fields in AdminThumbMixin - Stephen McDonald
* Added AJAX/JSON handling for comment/rating login redirects, and comment form errors - Stephen McDonald
* Allow migrations and fixtures to run from scratch without ``mezzanine.pages`` installed - Stephen McDonald
* Don't update existing ratings if their values haven't changed - Stephen McDonald
* Fix dot lookup in template settings - Stephen McDonald
* Upgrade bitly integration - added new ``BITLY_ACCESS_CODE`` setting to replace the old api settings - Stephen McDonald
* Upgrade ``select_related`` call in ``recent_comments`` template tag - Stephen McDonald
* Remove all use of ``django.conf.urls.defaults`` since we don't support Django 1.3 anymore. Closes #539 - Stephen McDonald
* Remove all special handling for Django 1.3 since it's no longer supported - Stephen McDonald
* Removed all use of Django's deprecated ``ADMIN_MEDIA_PREFIX`` since we no longer support Django 1.3 - Stephen McDonald
* Fix missing import - dizpers
* Added keyword/category filtering to blog post admin - Stephen McDonald
* Remove the ``USE_REVERSION`` setting since it's incomplete - Stephen McDonald
* Remove stray deprecated ``django.conf.urls.defaults`` - Stephen McDonald
* Update to latest grappelli/filebrowser-safe - Stephen McDonald
* Bump ``grappelli_safe`` to 0.2.16 - Stephen McDonald
* Fix list/tuple handling for ``AUTHENTICATION_BACKENDS`` checks in ``set_dynamic_settings`` - Stephen McDonald
* Revert sequence settings back to tuples in ``set_dynamic_settings`` since some Django tests expect them to be tuples - Stephen McDonald
* Update grappelli version - Stephen McDonald
* Rename sr@latin locale folders to ``sr_Latn`` - Sebastián Ramírez Magrí
Version 1.4.3 (Feb 27, 2013)
----------------------------
* domain change to wdiaz - William Díaz
* Mezzanine's auth backend incompatible with custom user model tests in Django 1.5 - Stephen McDonald
* Added Django 1.5 to travis config - Stephen McDonald
* Add a fallback for the newly required ``ALLOWED_HOSTS`` setting in Django 1.5, that will use the domains defined in the Site model - Stephen McDonald
* Use the string name for user relationships in models since trying to import a custom user model falls apart - Stephen McDonald
* Remove invalid migration - Stephen McDonald
* Remove upgrade flag from installation instructions in case people don't know how pip works - Stephen McDonald
* Drop Python 2.5 tests in travis since Django 1.5 doesn't support it and we'll be dropping it soon - Stephen McDonald
Version 1.4.2 (Feb 23, 2013)
----------------------------
* Added ratings to comments, with new settings ``COMMENTS_USE_RATINGS`` for toggle ratings form in comments, and ``RATINGS_RANGE`` for defining valid ratings, replacing the old min/max settings. Also added ``_sum`` field injections for models with rating fields, and ``rating_date`` field on ratings, for use with time scaled scores - Stephen McDonald
* Ensure emails are lowercased for gravatar hashes - Stephen McDonald
* Fix page tree admin template when reversion is used - Stephen McDonald
* Enhanced args to gravatar URLs - Stephen McDonald
Version 1.4.1 (Feb 19, 2013)
----------------------------
* Remove unnecessary permission from ``live_settings`` module. Closes #568 - Stephen McDonald
* Test slug after setting parent of an unsaved page with autogenerated slug - wrwrwr
* Bum ``filebroswer_safe`` to 0.2.16 - Stephen McDonald
* Prefix ``BLOG_USE_FEATURED_IMAGE`` in blog templates with ``settings.``, otherwise it always evalutes to False - Josh Cartmell
Version 1.4.0 (Feb 17, 2013)
----------------------------
* Added a ``has_home`` variable to templates for the ``page_menu`` template tag, which indicates whether a homepage object exists, and can be used for checking whether a hard-coded homepage link should exist in the menu template - Stephen McDonald
* Update the default twitter query since it's been flooded by movie tweets - Stephen McDonald
* Add a deprecation layer for settings in templates, and deprecate the ``PAGES_MENU_SHOW_ALL`` setting since it's too specific for a setting and can be implemented in one line in a template - Stephen McDonald
* Added an example to the page menu docs of rendering a tree representing the current section of a site being viewed - Stephen McDonald
* Don't need to uncheck ``in_menus`` for an editable homepage anymore, so remove the comment describing that - Stephen McDonald
* Correctly handle file uploads in profile forms - Stephen McDonald
* Alpha-sort options for the search form - Stephen McDonald
* Remove Nimbis Services link for now. We haven't deployed our Mezzanine-based Nimbis Services site. into production yet (the old link was to a testing site that is only. used internally). We'll add this back in once we go live with our Mezzanine site - Lorin Hochstein
* Also check ``BLOG_USE_FEATURED_IMAGE`` in templates when displaying blog post's featured image - Stephen McDonald
* Added a ``sort_by`` template filter for general use - Stephen McDonald
* Removed ``Slugged.Meta.ordering`` since it'll generally always be nuked by Meta on a subclass - and added correct ordering to BlogCategory - Stephen McDonald
* Clean up ``BlogCategory.Meta`` - Stephen McDonald
* Move ``clean_content`` to new DisplayableAdminForm - Alex Hill
* Fix parent of Team and History pages in fixtures. Assign the Team and History pages to the About page (id 2) instead of the Blog page (id 1) in Page fixtures - Alex Hill
* Fix generating descriptions when saving page instances directly, as their content type subclass fields weren't available for the description - Stephen McDonald
* Allow for no content model in ``Page.description_from_content`` - Stephen McDonald
* Fixed duplicate home IDs in menu templates and add some missing IDs - Stephen McDonald
* Check ``has_home`` to avoid duplicates. Updated ``footer_tree.html`` to behave the same as the other menu templates, checking ``has_home`` so that a page that is also the home doesn't end up in the menus twice - joshcartme
* Strip language prefix from request path, before trying to match it against pages slugs - wrwrwr
* Update ``mezzanine/accounts/locale/zh_CN/LC_MESSAGES/django.po`` - lyhapple
* Drupal blog importer for mezzanine blog - #issue 527 - Bryden Frizzell
* Fixed ``import_posterous`` for module requests ``v1.0.1`` and above. - issue #528 - Skooch
* Restore permission check for editable JS/CSS - Stephen McDonald
* Added handling for model field defaults in dynamic inlines. Closes #526 - Stephen McDonald
* Precedence of conflicting page processor context. The order of execution of page processors was reversed in #315 so that custom page processors returning an HttpResponse would bypass the default processors. That had the side-effect of making context variables in default processors overwrite those in custom processors, which isn't very intuitive. This change restores the original behaviour of context variables, while retaining the reversed execution order - Alex Hill
* Added a welcome message and quick links for getting started, for new developers, to the default homepage template - Stephen McDonald
* Fixed conditional context updates in page processors for Python < 2.7 - Stephen McDonald
* Fix handling of non-alpha search terms in SearchableQuerySet - Stephen McDonald
* Fixed support for automatically adding custom ManyToMany fields in PageAdmin. Closes #534 - Stephen McDonald
* Improved some of the messages shown through installation (createdb/syncdb signals) - Stephen McDonald
* Clarify requirements for ``search_fields`` in the search api docs - Stephen McDonald
* Hide the help text for the slug field for Link pages in the admin - Stephen McDonald
* Fix JS/CSS file names in base mobile template. Closes #537 - Stephen McDonald
* use ``AUTH_USER_MODEL`` if available - Ben Wilson
* Fix Manager MRO issue where ``search_fields`` param threw errors - David Novakovic
* Test for SearchableManager in DisplayableManager - David Novakovic
* Hopefully fix MRO regression - David Novakovic
* Fix MRO issues and avoid regression at the same time - David Novakovic
* Protect sequences provided or generated for the default value of ``MenusField`` from being forced to unicode (as for example u'[1, 2, 3]'). Django forces fields defaults to unicode unless they're callable (see ``Field.get_default``). This is done to prevent problems that could arise from setting the same mutable object as a default for many fields (see Django ticket #18478) - wrwrwr
* add fa and ``fa_IR`` locales - Mahdi Bornazadeh
* Clean up use of ``AUTH_USER_MODEL`` - Stephen McDonald
* fix persian locale - Mahdi Bornazadeh
* Database-prepare tuples in the same way lists are handled in ``MultiChoiceField`` - wrwrwr
* Allow pages to be dragged out of a subtree to the root level in page admin - wrwrwr
* Check that setting a new page parent won't cause a cycle in the parent-child graph. Such cycles lead to an infinite loop in ``Page.save`` ``(e.g``. python process consuming all resources) - wrwrwr
* Preparation for django-reversion - uli
* Altered git ``repo_url`` checks to allow ssh hosted git repositories - Travis Nickles
* Fixed indentation issue and PEP-8 issue with fabfile mods - Travis Nickles
* Don't try to create any pages if the models it uses aren't installed - Gavin Wahl
* Support for Django 1.5 custom user models. Uses ``get_user_model`` for every reference to User, and provides a default. implementation of ``get_user_model`` for Django <= 1.4 - Gavin Wahl
* Clean up hg/git checks in fabfile - Stephen McDonald
* Fix fabfile - Stephen McDonald
* Move RSS url parsing code from the drupal importer into the main RSS blog importer, and remove the drupal importer since it isn't specific to drupal - Stephen McDonald
* Fix import error message in rss importer - Stephen McDonald
* Don't use Bootstrap's navbar-inverse class by default, for better theme compatibility. Closes #551 - Stephen McDonald
* Fix some missing imports and settings import errors for the new user model hooks - Stephen McDonald
* Added possibility to set custom menu titles for models in ``ADMIN_MENU_ORDER``, using the same notation as for views ``(e.g``. ``(_("News")``, ``"blog.BlogPost"))`` - wrwrwr
* Python 2.5 compatibility - wrwrwr
* Avoid fixing parent slug in ``Page.set_parent`` if the page had no slug to start with - wrwrwr
* Use ``current_page`` instead of request for ``is_current``. Since we already have the 'current page' object, we can compare it. against ourself to find if we are current - Gavin Wahl
* rm unused import - Gavin Wahl
* Replace the rating form with a message after user casts a vote - wrwrwr
* Use ``content_model`` not the base Page in PageAdmin. When calling methods on a page, they should be called on the subclass,. not the base Page. This allows page types to override them - Gavin Wahl
* The usage of reversion can now be disabled for DisplayableAdmin - uli
* Update admin menu docs to mention labels for regaulr models - Stephen McDonald
* Change new reversion setting to be opt-in instead of opt-out - Stephen McDonald
* backout aa850efe2315 - Stephen McDonald
* backout eff95dec6799 - Stephen McDonald
* Moved the ``MEDIA_LIBRARY_PER_SITE`` setting from ``filebrowser_safe`` into Mezzanine so it's documented. It allows per-site filebrowser root directories - Stephen McDonald
* Bump filebrowser/grappelli versions - Stephen McDonald
Version 1.3.0 (Dec 26, 2012)
----------------------------
* added dob field to list of form fields - mmuk2
* Update url templatetags for Django 1.5. See ``https://docs.djangoproject.com/en/1.4/releases/1.3/#changes-to-url-and-ssi``. "{% load url from future %}" is omitted in favour of a global import in. ``boot/__init__.py`` - Alex Hill
* Bring templates in line with latest master - Alex Hill
* Move forward compatibility code to ``utils/conf.py`` - Alex Hill
* Assume development server if command is "harvest". Lettuce uses the "harvest" command to run a development server. See ``http://lettuce.it/recipes/django-lxml.html#lettuce-run-the-tests``. Note that if this isn't set, then media will not be served correctly. when testing with lettuce - Lorin Hochstein
* Bump versions: ``filebrowser_safe`` >= 0.2.12, ``grappelli_safe`` >= 0.2.10 - Stephen McDonald
* Use non-minified ``jquery.tools`` and ``jquery.ba-resize`` - Per Andersson
* Render admin "add" link if no change permission. Handle the case where a non-superuser staff member has "add". permission but not "change" permission - Lorin Hochstein
* Escape backticks in python task in fabfile. Closes #396 - Stephen McDonald
* Ensure last output line is used to determine remote ``STATIC_URL`` in fabfile, since warnings may occur in output - Stephen McDonald
* add ``related_posts`` for blog - Dmitry Falk
* fix ``related_posts`` in template - Dmitry Falk
* Allow users to sign up with capital letters in their username - David Novakovic
* Update ``mezzanine/core/admin.py``. Add some stuff to OwnableAdmin to make its use more obvious to new users - David Novakovic
* Filter urls that use https - Eduardo Rivas
* Added mezzanine-polls to third party apps - Stephen McDonald
* Update ``mezzanine/accounts/__init__.py``. Display more informative error if this exception is thrown. This exception handler can hide informative errors about model unrelated model ``declaration. `` - David Novakovic
* Update ``mezzanine/accounts/__init__.py``. Even better checks for the profile model string - David Novakovic
* Fix unfiltered RSS feeds for Django 1.3 - Stephen McDonald
* Use tag slugs for tag RSS feeds - Stephen McDonald
* Fix unicode handling for slugs in Django 1.5 - Stephen McDonald
* Fix urls in mobile search include for Django 1.5 - Stephen McDonald
* Fix mobile tests for Django 1.5 - Stephen McDonald
* Handle invalid images in thumbnail tag. Closes #410 - Stephen McDonald
* Use Page URLs without trailing slash when ``settings.APPEND_SLASH`` is False - Kenneth Falck
* Full support for ``APPEND_SLASH`` is False - Stephen McDonald
* Removing initial content from createdb when --nodata parameter is present - Sean Voss
* Added ``TWITTER_STRIP_HIGH_MULTIBYTE`` setting to strip mb3/mb4 characters in Tweets (mainly Emoji), which cause problems with MySQL UTF-8 collation - Kenneth Falck
* Added the setting ``SSL_FORCED_PREFIXES_ONLY``, which defaults to True and controls whether URLs not matched by ``SSL_FORCE_URL_PREFIXES`` are redirected back to HTTP if accessed over HTTPS - Stephen McDonald
* Added the ``COMMENT_FILTER`` setting for controlling how comments are rendered. Works the same as the ``RICHTEXT_FILTER`` setting. Closes #416 - Stephen McDonald
* Added ``has_children_in_menu`` and ``num_children_in_menu`` attributes to page objects in the ``page_menu`` template tag, for determining valid children in the context of a menu and the ``in_emnus`` field. Closes #413 - Stephen McDonald
* Added automated hg tagging for versions in changelog generation. Closes #259 - Stephen McDonald
* Fixed misspelling of argument in ``send_verification_mail`` - Zean Tsoi
* Framework to allow ``EXTRA_FORM_FIELDS`` - Sean Voss
* Allow subclasses to define their own ProfileFieldsForm - David Novakovic
* patches to be jython compatible - Donneker
* Fixes #427: Disqus comment counts are now pulled in on the blog post detail page, if available - cato
* Fix incorrect status on quick-blog form. Closes #429 - Stephen McDonald
* Make form fixtures optional and remove old fixtures - Stephen McDonald
* Use createdb --nodata in fabfile - Stephen McDonald
* Use actual keyword instances in blog listing. Closes #431 - Stephen McDonald
* Put block tags into all blog templates so they can be overridden. Closes #443. This resulted in the splitting of the editable field for the title and. publication date in the list page into two editable fields, so they. could be two separate blocks. I notice that the blog detail page. doesn't have an editable field for the publish date at all, which I. shall address separately. block tags are namespaced by ``blog_post_detail_`` and ``blog_post_list_``. respectively, and inside the list page, the blocks related to an. individual post are namespaced with ``blog_post_list_post_`` - Penny Leach
* Made publication date an editable field in the blog post detail template - Penny Leach
* Remove selection disabling in ``page_tree.js`` - causing issues with latest Firefox - Stephen McDonald
* Added some missing calls to ``richtext_filter``. Closes #438 - Stephen McDonald
* Correctly handle empty password in login form. Closes #439 - Stephen McDonald
* Move error templates into custom paths so that Django's tests can trigger errors using its own error templates, since Mezzanine's urlpatterns aren't used which its error templates depend on - Stephen McDonald
* Add some extra comments and validation for the new ``FORMS_EXTRA_FIELDS`` setting - Stephen McDonald
* Allow LoginForm to be inherited and extended - Renyi Khor
* Slugged model now uses ``self.title`` to generate slug. Fixes #445 - Andrey Shipilov
* Update ``mezzanine/blog/models.py``. wrong keyword argument passed to ``blog_post_list_category`` in ``get_absolute_url`` for the BlogCategory model. This results in an empty url when using <a hreg="{{ ``category.get_absolute_url`` }}">Link to my Category</a>. The problem was that the ``blog/urls.py`` uses 'category' as the keyword and the ``get_absolute_url`` used 'slug' as the keyword. I changed it within ``get_absolute_url`` because I guess changing it within ``blog/urls.py`` may break backwards compatibility - Andre Graf
* Port gallery expose to updated jquerytools version. On overlay load, expose the ``.image-overlay``. Fixes bug where every other image was not exposed due to timing issue. when #exposeMask fades out when already switched to next image - Per Andersson
* Update ``mezzanine/pages/models.py`` - Ken Bolton
* Use local copies of instead of cdn. * html5shiv. * jquery mobile - Per Andersson
* Move ``html5shiv.js`` outside of Mezzanine's js directory, since it's not required by Mezzanine itself (eg it's project specific and can be removed per project) - Stephen McDonald
* Update ``blog_recent_posts`` to allow an optional slug. If the slug is specified returned blog posts will be restricted to being in the category matching the slug. If the slug does not match a category, posts will be returned as normal - joshcartme
* Added support for keyword args in the ``as_tag`` template tag wrapper - Stephen McDonald
* Fix for issue #450: ``home_slug`` with prefix - uli
* Fix bad semicolon in ``gallery.js`` - Stephen McDonald
* Use ``PROJECT_NAME`` fabric setting as ``CACHE_MIDDLEWARE_KEY_PREFIX`` in ``live_settings.py`` - Stephen McDonald
* Update twitter bootstrap to ``v2.2.1`` - Ivan Teoh
* Inverse the top navbar from white to black - Ivan Teoh
* Superusers should be able to select any site - Josh Cartmell
* Disable front end editing for users who don't have access to a site - Josh Cartmell
* Include AdminProfileInline so that it is not lost if the user enables Mezzanine accounts - Josh Cartmell
* Check if the user ``is_staff`` first to avoid unecessarily reversing admin:index on every request - Josh Cartmell
* Only load and display inline editor if the user has access to the current site's admin - Josh Cartmell
* Only check if a user has access to the current site in the middleware. Save the result on ``request.user`` and use this elsewhere - Josh Cartmell
* Added the setting ``OWNABLE_MODELS_ALL_EDITABLE`` which allows a sequence of ``app_label.model_name`` models to be defined, that are Ownable subclasses which won't have their change-list admin views filtered by user - Stephen McDonald
* Update ``.po`` files - Sebastián Ramírez Magrí
* Updated signal to only automatically create admin profiles for staff and not break the User add view if a site is selected - Josh Cartmell
* Fix for issue #470: Right subclass instance in BaseGenericRelation - Thomas Jetzinger
* Add homepage url to ``sitemap.xml`` - Stephen McDonald
* Add handling for multi-tenancy in ``sitemap.xml`` - Stephen McDonald
* Check for published objects in ``Orderable.next/previous`` and allow kwargs to be used - Stephen McDonald
* Fixed margins on user-panel buttons - Stephen McDonald
* Added Displayable methods ``get_next/previous_by_publish_date``, and used in blog post templates for next/previous blog posts - Stephen McDonald
* More accurate template block name for blog post prev/next links - Stephen McDonald
* Fix showstopper on first comment due to url being clobbered and never reset - Grant Warren-Robertson
* No need to log user out for invalid admin - Stephen McDonald
* Check for login form instead of user perms when choosing which js to load in admin's base template - Stephen McDonald
* Still log user out for invalid admin access - Stephen McDonald
* add environment setting to ``supervisor.conf`` to ensure locale is set correctly for gunicorn subprocesses - Doug Evenhouse
* modify environment setting to inject locale specified in FABRIC setting - Doug Evenhouse
* Allows regular link Cmd+Click behaviour on OS X. - Regular click behaviour still applies. - Tested to work in OS X Chrome 24 beta and Firefox 16 beta. - TODO: test on other platforms - Matt Stevenson
* Document how to run unit tests - Lorin Hochstein
* Don't run view functions from page middleware when no page can be found, just pass through. Closes #476 - Stephen McDonald
* Update jquery-ui to full 1.9.1, and include smoothness theme. This allows other apps to use a single version of jquery-ui that is. known to be compatible with Mezzanine's version of jquery. This is ``jquery-ui-1.9.1.all``, so all widgets are available and no. additional jquery code is needed. Also, the full smoothness theme. is included. Third-party apps may include other themes - Ahmad Khayyat
* Added Django < 1.5's adminmedia tag lib for 1.5 compatibility - Stephen McDonald
* Clean up dev server check - Stephen McDonald
* Allow category/tag titles to be used in ``blog_post_recent`` tag - Stephen McDonald
* Bump grappelli safe version to 0.2.11 - Stephen McDonald
* Bump filebrowser safe version to 0.2.13 - Stephen McDonald
* Added the setting ``UPLOAD_TO_HANDLERS`` for configuring the ``upload_to`` arg per file field. Closes #480 - Stephen McDonald
* Added missing word in Blogger import notes - Matt Stevenson
* Change feedparser URL to authoritative fork. - The original author's website(s) returns HTTP 410. - Refer to: ``http://en.wikipedia.org/wiki/Mark_Pilgrim_(software_developer)`` - Matt Stevenson
* Resolves html entity output re: #482 - Matt Stevenson
* Generate better meta descriptions from markdown content. By using the newline character as the first pattern in the generation of the meta description, markdown content (which normally lacks closing `</p>` tags) is processed correctly - Eduardo Rivas
* Parse content with ``rich_text`` filter - Eduardo Rivas
* Moved import inside method - Eduardo Rivas
* Added optional parameters to search view - Eduardo Rivas
* Request filters: specified using ``REQUEST_FILTERS`` in ``settings.py`` - Chris Ravenscroft
* Added default setting for ``REQUEST_FILTERS`` - Chris Ravenscroft
* Works better with the proper values in ``settings.py`` - Chris F Ravenscroft
* Escape miscellaneous percent symbols in deployment templates; fixes #494 - Olivier Harris
* Docs corrections - Stephen McDonald
* Template tag implementation - Eduardo Rivas
* spam filter code moved back to ``views.py;`` using mezzanine's module import mechanism - Chris Ravenscroft
* Added newline at the end of ``search_form.html`` - Eduardo Rivas
* JavaScript localization added for ``mezzanine.forms`` application - Oleg Churkin
* Correct varible name in single model search - Eduardo Rivas
* Fix site perms template error in admin logout - Stephen McDonald
* Update notes in the ``project_template's`` ``urls.py`` describing how the homepage object should not be assigned to any menu templates - Stephen McDonald
* Add new field ``Displayable.in_sitemap`` which appears in the meta data section of each admin form, and controls whether the object appears in ``sitemap.xml``. Closes #499 - Stephen McDonald
* Added {% ``search_form`` %} section to the docs - Eduardo Rivas
* Update ``mezzanine/pages/admin.py``. Remove a blank line so tests will pass - Kenneth Love
* Don't assume {form, gallery} apps are installed. Importing these in ``core.management.__init__`` causes problems when they. aren't installed. Instead, import them in the function where they're. used - Gavin Wahl
* Adds the ability to move a page under a page with no children. I switched to using the jQuery nestedSortable plugin instead of the. sortable plugin provided by jQuery UI, because Pages actually being in a. tree structure, they need a tree editor. This commit temporarily breaks. some functionality such as remembering which pages were open and closed - Rocky Meza
* fixed pagetree hiding of subpages - Rocky Meza
* Provide Mezzanine's settings object to the ``COMPRESS_OFFLINE_CONTEXT`` setting for django-compressor. Closes #505 - Stephen McDonald
* Fix the bugs that we had with nestedSortable - Gavin Wahl
* only ``.nestedSortable()`` the first ol - Gavin Wahl
* Fix front-end editing links for elements not positioned relative to the document. Use visibility hidden and jquery offset function to ensure edit links are always positioned relative to the document and not relative to a positioned ancestor - Jonathan Potter
* Clean up the new page sorting view - Stephen McDonald
* Remove old hack for initial page tree click bug that no longer exists. Closes #509 - Stephen McDonald
* Fix null handling in page sorting view - Stephen McDonald
* Specify widget for keywords field so it can be overridden properly. Closes #421 - Stephen McDonald
* Bug fix for wrong argument ordering for ssl cert handling in ``fabfile.py`` - David Hess
* Remove some commented out editable settings from the project template's ``settings.py`` module, since defining these at the Python level can be confusing once the settings form in the admin is updated. Also made a note of this scenario in the settings docs. Closes #515 - Stephen McDonald
* Add ssl port to ``nginx.conf``. Closes #514 - Stephen McDonald
* Bump filebrowser-safe version to 0.2.14 - Stephen McDonald
* Don't run redirects tests for Django 1.5 - Stephen McDonald
* More commit log filtering for changelog - Stephen McDonald
Version 1.2.4 (Sep 03, 2012)
----------------------------
* Added ``mezzanine.utils.urls.home_slug`` which will return the ``slug` arg of the ``home`` urlpattern, when a urlpattern is defined for an edtiable homepage. This ensures that we don't hard-code the URL for the homepage anywhere, and allows the editable homepage to work correctly when a ``SITE_PREFIX`` setting is defined - Stephen McDonald
* Added autofocus to first field of the form - Renyi Khor
* Added Html5Mixin to PasswordResetForm - Renyi Khor
* Add initial support for importing blog posts from posterous - David Novakovic
* Import comments for each post - David Novakovic
* Importer docs and small doco fix in code - David Novakovic
* Correct bad indentation - David Novakovic
* We only need the hostname if you have more than one posterous blog - David Novakovic
* Host is optional if you have one blog - David Novakovic
* Remove requests import from global scope - David Novakovic
* Make the ``page.in_menus`` check a bit more robust in the ``page_menu`` template tag, in case it doesn't actually have a value, which may have occured if migrations weren't run when the ``in_menus`` field was added - Stephen McDonald
* Allow non-page views to specify their own ``editable_obj`` context variable, which is then used to determine the url for the admin link in the editable toolbar, falling back to the current page object. Allows for things like blog posts and Cartridge products to contain a direct admin link from the ditable toolbar - Stephen McDonald
* Remove unused ``grappelli_safe`` urlpatterns - Stephen McDonald
* Remove unused import - Stephen McDonald
* Bump ``grappelli_safe`` version to 0.2.9 - Stephen McDonald
* Added accessor methods for blog post keywords and categories, so that when we use ``prefetch_related`` with Django >= 1.4 we don't need to iterate through every blog post to set up keywords and categories. Closes #383 - Stephen McDonald
* Use the named home url for the View site link in the admin header. Closes #389 - Stephen McDonald
* Ensure consistent path separators in overextends template tag on Windows. Closes #386 - Stephen McDonald
Version 1.2.3 (Aug 22, 2012)
----------------------------
* Only hide delete button in the submit row for SingletonAdmin. Closes #376 - Stephen McDonald
* Correctly handle invalid form fields when save is clicked in SingletonAdmin. Closes #375 - Stephen McDonald
* Added Ken Bolton's quote to docs homepage - mezz is django - Stephen McDonald
* Fix kwargs usage to work with other auth backends - David Novakovic
* Bump filebrowser version for security fix - Stephen McDonald
Version 1.2.2 (Aug 15, 2012)
----------------------------
* Update page menu handling in blog importer - Stephen McDonald
* Fix missing import in blog importer - Stephen McDonald
* Ensure ``extra_context`` in SingletonAdmin is always a keyword arg. Closes #370 - Stephen McDonald
* Clean up deploy doc - kevinlondon
* Initial layout for filtering RSS feeds by tag/category - Stephen McDonald
* Final bits for author/tag/category rss feeds in the blog app - Stephen McDonald
* Fixed auth for password reset - Stephen McDonald
Version 1.2.1 (Aug 11, 2012)
----------------------------
* Bump min Django version to 1.3.3 - Stephen McDonald
* Fix dict handling in changelog builder (not actually used) - Stephen McDonald
* Don't rebuild host var in ``static_proxy``. Closes #361 - Stephen McDonald
* Fix bug in ``Page.get_ascendants()`` - pass a map to. ``PageManager.with_ascendants_for_slug`` instead of a tuple - Alex Hill
* Added more tests for ``Page.get_ascendants()`` - Alex Hill
* Allow unicode cache keys - Stephen McDonald
* Add ``_order`` to ``Page.META.ordering`` - Ken Bolton
* Bump ``grappelli_safe`` version to 0.2.8 - Stephen McDonald
* Added a check in ``footer_scripts`` to only include the analytics tracking code if user is not part of the staff team - Pedro Araújo
Version 1.2.0 (Aug 05, 2012)
----------------------------
* Redirect to next param or home on signup with pending account verification. Closes #289 - Stephen McDonald
* Prevent certain exceptions from swallowed by the cache middleware - Stephen McDonald
* Removed ``in_navigation`` and ``in_footer`` fields on the Page model, and replaced them with the ``in_menus`` field, which stored a list of IDs specifying which menu templates the page should appear in. Menu IDs are mapped to templates with the new ``PAGE_MENU_TEMPLATES`` setting - Stephen McDonald
* Template tag changes for the new ``page.in_menus`` field - Stephen McDonald
* Added mezzanine-twittertopic to third-party apps - Stephen McDonald
* Update fixtures for new ``Page.in_menus`` field - Stephen McDonald
* Move the page permissions section of the docs to underneath more important topics - Stephen McDonald
* Added page menu docs - Stephen McDonald
* Ensure unique slugs even when slug is provided. Closes #290 - Stephen McDonald
* Add a comment to the default urlconf about changing the admin urlpattern - Stephen McDonald
* Don't allow pages to be added as children to a homepage page. Closes #286 - Stephen McDonald
* Added more notes around the new ``SITE_PREFIX`` setting, and refactored the code a bit - Stephen McDonald
* Remove old page admin code for forcing order/slug to be set - Stephen McDonald
* Only set ``COMMENTS_APP`` if not defined. Closes #294 - Stephen McDonald
* Allow internal ``PAGES_SLUG`` setting to be configurable - Stephen McDonald
* register ThreadedComment admin for ``mezzanine.generic`` ``COMMENTS_APP`` only - Dmitry Falk
* Fix for progressive jpgs in thumbnail template tag. Closes #268. Closes #295 - Stephen McDonald
* Don't assume ``COMMENTS_APP`` is set - Stephen McDonald
* separated conf settings - Dmitry Falk
* add a block ``left_panel`` in ``base.html`` to make it easier to over-ride / over-extend - Sanjay B
* Ensure urls are only added once to the list of items. It might happen that pages are listed multiple times since for. instance a RichTextPage is also a Page and both are subclasses. of Displayable - Enrico Tröger
* Redirect the /account/ URL to the profile update form, and the /users/ URL to the logged in user's profile. Closes #291 - Stephen McDonald
* Clean up sitemap URL handling - Stephen McDonald
* Use ``publish_date`` for BlogPosts in ``/sitemap.xml`` - Enrico Tröger
* ``FORMS_USE_HTML5`` is a core setting - Stephen McDonald
* Allow page objects with removed apps to still render - Stephen McDonald
* Ensure mezzanine's apps have their settings loaded before any others - Stephen McDonald
* fix utils if ``mezzanine.accounts`` not installed - Dmitry Falk
* Fix reference to richtext filter settings defaults which are now in ``mezzanine.core`` - Stephen McDonald
* Fix serialization of ``Page.in_menus`` fields for dumpdata command. Closes #303 - Stephen McDonald
* Fix initial tuple for ignorable nexts in ``mezzanine.utils.login_redirect`` - Stephen McDonald
* Make gunicorn names in supervisor project specific. Closes #285 - Stephen McDonald
* Added i18n cache key suffix - Renyi Khor
* Fix edge case in url templatetag causing ViewDoesNotExist error. It happened when ``ACCOUNTS_PROFILE_VIEWS_ENABLED`` was set to False. and profile app called ``profile`` (same as url name) was added. to ``INSTALLED_APPS`` - Michał Oleniec
* Fix TypeError on ProfileFieldsForm save. Passing ``cleaned_data`` from ProfileForm into ProfileFieldsForm. caused doubled validation which in case of ForeignKey. field tried to get instance by field value which was instance already. (excepting int from ``request.POST)`` - Michał Oleniec
* Add ``ACCOUNTS_PROFILE_FORM_FIELDS_ORDER`` setting - Michał Oleniec
* Add customizable profile form. - new setting ``ACCOUNT_PROFILE_FORM``. - add ``get_profile_form`` help method. - add generic form getter into views. - update ``mezzanine.account.templatetags`` - Michał Oleniec
* Make ``editable.js`` work with ``JQuery.noConflict()`` - Adam Brenecki
* changes to detect the appropriate page when making the homepage part of the page tree. Old code did not detect the slug appropriatley forcing you to make the slug / in the admin area - James Page
* Make some template tags more robust ``(keywords_for`` and editable) by failing silently when given an empty variable, as the case may be in the blog templates when no blog page object exists, so we don't need to check for this case in the templates themselves - Stephen McDonald
* In the overextends template tag, only remove template paths from the list of available paths when the first call to ``find_template`` is made in each call to ``get_parent``, otherwise every second parent template found is skipped - Stephen McDonald
* Bump ``filebrowser_safe`` to 0.2.9 - Stephen McDonald
* Switch page processor execution order so custom slug processors are executed before model processors - Hakan Bakkalbasi
* Change ``@processor_for`` registration logic so most recently registered page processors are run first - Hakan Bakkalbasi
* For custom hompegae slug lookup in PageMiddleware, fix missing import and only call resolve once - Stephen McDonald
* Hash cache keys when talking directly to the cache API, to avoid keys longer than the backend supports (eg memcache limit is 255) - Stephen McDonald
* overextends tag path fix for uwsgi - Stephen McDonald
* Added new optional field ``MetaData._meta_title`` for overriding HTML title tag value, accessible via ``MetaData.meta_title``, which will return the string version of an instance of ``_meta_title`` is not provided - Stephen McDonald
* Add parent hierarchy to page template rendering - Ken Bolton
* Added rollback command for deploys - Stephen McDonald
* Only pip install requirements if the requirements file has changed - Stephen McDonald
* Use ``file.url`` instead of ``file.path`` to auto-generate descriptions for gallery image, as remote storage backends such as S3BotoStorage do not support the ``file.path`` method - Hakan Bakkalbasi
* Added Django's tz context processor to ``project_template.settings``. Closes #319 - Stephen McDonald
* Move settings specific to the pages app into their own defaults module, and add ``PAGE_MENU_TEMPLATES`` commented out in ``project_template's`` ``settings.py`` along with other common settings - Stephen McDonald
* Added missing defaults module for pages - Stephen McDonald
* Don't use the timezone context processor on Django 1.3 - Stephen McDonald
* Update docs for page hierarchy. Fix page template hierarchy issues around ``content_model`` - Ken Bolton
* Remove print statement - Ken Bolton
* Still call ``contribute_to_class`` for dynamic fields in ``mezzanine.generic`` even when frozen by south. Closes #321 - Stephen McDonald
* Improve page template hierarchy documentation - Ken Bolton
* In fabfile, always update requirements if any are unpinned - Stephen McDonald
* Fix indentation. <leader>-fef does not understand rst! - Ken Bolton
* Remove global from ``get_parents`` - Ken Bolton
* Adds ``get_ascendants()`` to Page. This returns all pages along the path from the root of the Page tree to. this page. The value is pre-calculated in PageMiddleware - Alex Hill
* Add comments and remove an obsolete variable - Alex Hill
* Ensure editable integer settings always have a value. Closes #325 - Stephen McDonald
* Fix regression in ``keywords_for`` tag for class args. Closes #326 - Stephen McDonald
* Remove unused import - Stephen McDonald
* Remove HTML filtering from tincymce setup since we're filtering server-side - Stephen McDonald
* Allow comments in HTML filtering - Stephen McDonald
* Change build IRC notifications to only occur if the build status changes - Stephen McDonald
* Upgrade ``manage.py`` to the new cli handler, and throw out some old dev code. Closes #330 - Stephen McDonald
* Further mimic Django's new project layout - Stephen McDonald
* Addedd a note to the deployment docs describing how alternative web servers and DBs can be used - Stephen McDonald
* Prevent docs build import errors when optional dependencies for the rss blog importer aren't installed - Stephen McDonald
* Add links in the depooyment docs to the web and database server sections in the Django docs - Stephen McDonald
* Save a query in ``page.get_ascendants`` - Stephen McDonald
* Update url for mezzanine-stackato - Stephen McDonald
* Fix tests asserting number of queries used - Stephen McDonald
* Move ascendant page lookup by slug, from PageMiddleware into a method on a new PageManager manager for the Page model, and use it as the first attempt at loading ascendants in ``Page.get_ascendants``, before falling back to recursive queries in the case of a custom slug in the ascendants chain - Stephen McDonald
* Add tests for the new page ascendant lookup methods - Stephen McDonald
* add ``ADMIN_THUMB_SIZE`` settings - Dmitry Falk
* Bump ``filebrowser_safe`` to 0.2.10 - Stephen McDonald
* Added some notes about parent template selection in the page view - Stephen McDonald
* Don't use ``with_ascendants_for_slug`` in ``Page.get_ascendants`` if a slug hasn't been created yet - Stephen McDonald
* Make relation check in signals for generic fields more robust - Stephen McDonald
* Different attempt at making relation check in signals for generic fields more robust - Stephen McDonald
* Allow static proxy URL to be configured - Stephen McDonald
* Also rename ``static_proxy`` URL default in case anyone else's web server alias is slightly off - Stephen McDonald
* Preserve slugs & URLs when pages are moved - Alex Hill
* Remove obsolete ``reset_slugs()`` - Alex Hill
* Check overridden() when changing slug - Alex Hill
* In ``set_parent()``, call save() before ``get_slug()`` - Alex Hill
* Make slug changes propagate to all descendant pages - Alex Hill
* use ``ugettext_lazy`` strings for settings form - Dmitry Falk
* Allow unicode twitter search queries - Stephen McDonald
* ``static_proxy`` only needed a rename, not to be congifurable - Stephen McDonald
* Fix menu test to work with lazy unicode settings - Stephen McDonald
* Added new, working, repo for mezzanine-openshift. Since the old one doesn't work anymore and is unmaintained - Isaac Bythewood
* Fix collision of all task with built-in all function - Lorin Hochstein
* Fixed duplicate posts, --noinput handling and entity decoding in base blog importer - Stephen McDonald
* Restore automatic redirects creation for the wordpress blog importer - Stephen McDonald
* Add day parts to the date urlpattern for blog posts - Stephen McDonald
* Fix bug in ``Page.set_parent()`` when no parent set - Alexander Hill
* Allow passing None to ``Page.set_parent()`` - Alexander Hill
* Add tests for ``Page.get_slug()`` and ``Page.get_parent()`` - Alexander Hill
* Swallow import exception when importing ``settings.py`` from fabric - Lorin Hochstein
* Don't mask import errors in the actual call to ``set_dynamic_settings`` - Stephen McDonald
* add ajax hook for generic rating - Dmitry Falk
* Fix references to the ``recent_comments`` template tag - Enrico Tröger
* Fix bug in slug handling when adding a new page - Alex Hill
* Fix #349 - regression in ``set_page_permissions`` - Alex Hill
* Madee the labels and help text for the email fields more descriptive - Stephen McDonald
* Added mezzanine-events to third-party apps list - Stephen McDonald
* Added FAQ to the docs covering the HTML filtering settings - Stephen McDonald
* Add a setting to send notification mails to MANAGERS when a new comment is posted - Enrico Tröger
* PageAdmin now respects excluded fields - Aaron Merriam
* Fix #348, RichTextFields in IE - Ken Bolton
* Change the rating ajax response to return the new rating - Stephen McDonald
* Added the bool setting ``PAGES_PUBLISHED_INCLUDE_LOGIN_REQUIRED`` which when set to False (default) will exclude pages with ``login_required`` set to True in ``PageManager.published``. This affects the ``page_menu`` template tag which renders menus, and pages listed in search results - Stephen McDonald
* Added ``get_next_by_order`` and ``get_previous_by_order`` methods to the Orderable model - Stephen McDonald
* Allow ``PAGES_PUBLISHED_INCLUDE_LOGIN_REQUIRED`` handling to be overridden by callers to ``PageManager.publsihed`` for cases when they want to deal with ``login_required`` manually, such as in the case of PageMiddleware - Stephen McDonald
* Marked fabfile functions explicitly with task decorator, and added a custom docs generator for each task - Stephen McDonald
* Updated auto-generated docs - Stephen McDonald
Version 1.1.4 (Jun 28, 2012)
----------------------------
* Add custom introspection rules that prevent duplicate field creation on dynamic fields during migration - Stephen McDonald
* Use filebrowser field's format attribute rather than extensions. Closes #287 - Stephen McDonald
Version 1.1.3 (Jun 26, 2012)
----------------------------
* fix spacing - Dmitry Falk
* Allow rel attributes in anchor tags - Stephen McDonald
* Don't cast to list in paginate - Stephen McDonald
* Remove redundant ampersands in pagination links - Stephen McDonald
* Update the configuration docs example to use author/blooks instead of gallery/images, and add the new options for registered settings, choices and append - Stephen McDonald
* Allow default twitter feed to be managed via admin settings - Stephen McDonald
* Raise NotImplementedError on Displayable subclasses that don't implement ``get_absolute_url`` - Stephen McDonald
* Add new setting ``SITE_PREFIX`` to configure a custom prefix. This is useful if Mezzanine doesn't run at the root of the domain - Enrico Tröger
* Add and use ``utils.urls.get_page_slug_from_path()`` to handle non-root configurations. For the pages app, we need to handle removing the ``SITE_PREFIX`` and ``PAGES_SLUG`` if. they are set - Enrico Tröger
* Set ``is_current`` on Pages when added to context in PageMiddleware - Alex Hill
* Permit disabling page processors at external apps' urls in the page tree - Alex Hill
* Refactored overextends template tag to not depend on template origins since they're not available with DEBUG off - Stephen McDonald
* Fix variable resolution for ``as_tag`` template tags - Stephen McDonald
* Added template tags for the various account forms - Stephen McDonald
* Updated packages docs - Stephen McDonald
* Bump ``grappelli_safe`` to 0.2.7 for admin column sorting fix - Stephen McDonald
* Clean up exact page matching for page processors - Stephen McDonald
* Updated jQuery Form Plugin - Renyi Khor
* Fix ``_current_page`` in middleware - Stephen McDonald
* Reorganised page middleware for fewer queries and readability - Alex Hill
* page middleware: use ``request.path_info`` - Dmitry Falk
* Correctly handle root URL - Alexander Hill
* Add check for ``page_branch_in_footer``. Without this check, ``footer.html`` is rendered for every page in the tree,. returning an empty string - Alexander Hill
* Add perms to existing context page instead of overwriting it. Previously the template tag ``set_page_permissions`` would retrieve the. page's content model, set the perms attribute on it, and then replace. the page object in the context with the retrieved object. Setting perms. on the existing page object instead preseves attributes set by ``set_helpers`` - Alexander Hill
* Check ``has_children`` before calling ``page_menu``. This saves a lot of template renders in wide page trees - Alexander Hill
* backport of django-forms-builder signals to ``mezzanine.forms`` - Brian Schott
* set mimetype to empty string in case path is not found - Brian Schott
* Handle no blog page existing for meta keywords in the blog list template - Stephen McDonald
* Fix path lookup for Python 2.5 - Stephen McDonald
* Handle FileBrowseField args in Django FileField fallback - Stephen McDonald
* Use image formats for image FileBrowse fields - Stephen McDonald
* Bump ``filebrowser_safe`` to 0.2.7 - Stephen McDonald
* Cleaned up blog import redirect creation - Zachary Gohr
* Bugfix: Account form validation errors on non-html5 browsers - Renyi Khor
* added in-navigation test to level 1 - Brian Schott
* fix migration without blog app - Dmitry Falk
* Ensure Mezzanine's auth backend is enabled if ``mezzanine.accounts`` is installed. Closes #281 - Stephen McDonald
* Eval settings choices when generating settings docs - Stephen McDonald
Version 1.1.2 (Jun 05, 2012)
----------------------------
* Fix slug handling in page middleware for homepage as page object - Stephen McDonald
* add some verbose names - Dmitry Falk
Version 1.1.1 (Jun 04, 2012)
----------------------------
* Don't assume rating field is named rating - Stephen McDonald
* Handle ``PAGES_SLUG`` in the page middleware - Stephen McDonald
* Make the creation of ``PAGES_SLUG`` not dependant on the position of the blog urlpatterns in urlpatterns created before the page urlpatterns - Stephen McDonald
* Fix quoting unicode thumbnail filenames - Stephen McDonald
* Move lookup of page subclasses into classmethod ``Page.get_content_models``, and call ``select_related`` on all page subclasses in the ``page_menu`` template tag when used for the admin page tree, since we need to touch all the related content type instances to check page paermissions - Stephen McDonald
* Don't assume request is available in ``page.set_menu_helpers`` - Stephen McDonald
* Move cache-busting querystring into ``mezzanine.utils.cache.add_cache_bypass`` and apply it to comments and ratings redirects so that posted content appears immediately - Stephen McDonald
Version 1.1.0 (Jun 03, 2012)
----------------------------
* Added ``MetaData.gen_description`` bool field for controlling whether description fields are automatically populated via ``MetaData.description_from_content`` - Stephen McDonald
* Emit the ``comment_was_posted`` signal in the comments view - Stephen McDonald
* Correctly handle model field defaults in the quick blog post form - Stephen McDonald
* Added the setting ``COMMENTS_ACCOUNT_REQUIRED``, which when True, will store an unauthenticated user's comment in the session and redirect to login/signup, and save their comment once they're authenticated - Stephen McDonald
* Use setting names as labels if they're missing - Stephen McDonald
* Wrap data access in migrations with checks against the ``dry_run`` arg - Stephen McDonald
* added missing fr ``django.mo`` for the conf app - Nicolas Perriault
* Only pre-populate name in the comment form with the user's username if it's not their email address, which it is by default - Stephen McDonald
* Always use the name from the comment form, rather than the user's username, since by default it's their email address - Stephen McDonald
* Use ``comments.select_related(user)`` when loading comments, since Django's Comment model will query for the user each time a comment is loaded - Stephen McDonald
* Added the setting ``ACCOUNTS_VERIFICATION_REQUIRED`` which when set to True, will create new accounts as inactive, and send the user an email with a verification link to activate their account - Stephen McDonald
* Remove invalid examples of gettext in settings module - Stephen McDonald
* Fixed slug-based template name loading for non-ascii slugs - Stephen McDonald
* Fix unencoded template names from slugs in blog also - Stephen McDonald
* Added the SLUGIFY which takes a dotted Python path to the slugify function to use when converting strings into slugs. Defaults to ``mezzanine.utils.urls.slugify_unicode`` which allows for non-ascii URLs - Stephen McDonald
* Use the text required for the help text for required fields in ``mezzanine.forms`` when no help text is entered - Stephen McDonald
* Add HTML5 features to the comments form - Stephen McDonald
* Fixed assignment of page permissions in the admin page tree - Stephen McDonald
* Hide the delete button for ``mezzanine.core.admin.SingletonAdmin`` - Stephen McDonald
* Added the view ``mezzanine.core.static_proxy`` which is used to serve TinyMCE plugin templates, and uploadify's SWF, as these break with cross-domain errors when ``STATIC_URL`` is an external host - Stephen McDonald
* Fix with statement in Python 2.5 - Stephen McDonald
* Bump grappelli and filebrowser versions - Stephen McDonald
* Fix grappelli version - Stephen McDonald
* Moved all user account features into a new app ``mezzanine.accounts`` - Stephen McDonald
* Handle non-ascii filenames on non-utf8 filesystems. Convert filenames and warn when saving them, and raise exceptions if trying to access them and the filesystem encoding has changed. Closes #186 - Stephen McDonald
* Add new exceptions module - Stephen McDonald
* Added the decorator ``mezzanine.pages.decorators.for_page``, which can be used for wrapping views that map to protected pages. The decorator adds the page instance to the template context, and handles login redirects if ``page.login_required`` is True. Applied to the blog views, and also added handling for ``login_required`` on the blog page in the blog feeds, which if True, stops the feeds from producing any blog posts or meta data - Stephen McDonald
* Grammar fix - Stephen McDonald
* Don't disconnect the default site signal if we're not connecting our own one - Stephen McDonald
* Only try and modify template lists when they're available - not the case when the response is pulled from cache - Stephen McDonald
* Added the ifisinstalled template tag to replace the ``is_installed`` template filter, which properly handles include tags when the given app is not installed. Closes #181 - Stephen McDonald
* Allow pages without children to serve as targets for sortable - Aleksandr Vladimirskiy
* Fixed regression in admin login interface selector middleware. Closes #192 - Stephen McDonald
* Fixed ifinstalled template tag so that it removes all tokens, not just include tags. Closes #193 - Stephen McDonald
* Use ``prefetch_related`` in Django 1.4 for categories and keywords in the blog post list view. Closes #190 - Stephen McDonald
* Backout admin tree empty child fix for now as it doesn't work quite correctly - Stephen McDonald
* Fixed settings docs generator. Closes #189 - Stephen McDonald
* Refactoring of blog feed view. Returns a http 404 instead of http 500 when the feed does not exists - Thomas Wajs
* Clean up the blog feeds - Stephen McDonald
* Dev started in 2009 - Stephen McDonald
* Added fix for thumbnail generation which would previously not work for images which contained special characters in the file path and used url encoding - Kowaleski, Jason
* Added page import to wordpress - Alvin Mites
* restore utils/device for fork - Alvin Mites
* Added blog post content for the feed description - Thomas Wajs
* Allow the homepage to be login protected - Stephen McDonald
* Added handling for filebrowser's FileBrowseField directory arg. Closes #202 - Stephen McDonald
* Increased field lengths for ``Displayable.title`` from 100 to 500 and ``Displayable.slug`` from 100 to 2000 - Stephen McDonald
* Move ajax csrf setup into its own JS file that's loaded even when a popup interface is loaded. Closes #206 - Stephen McDonald
* Remove redundant cast - Stephen McDonald
* Added the new app ``mezzanine.accounts``, which handles user login, signup, update, password reset, profile, and integration with Django's user->profile features - Stephen McDonald
* Use ifinstalled for the accounts user panel - Stephen McDonald
* Added some commas to the username format error - Stephen McDonald
* Give the admin drop-down menu elements the same hover/click state as their anchors. Also closes #208 - Stephen McDonald
* Bump filebrowser-safe to 0.2.5 - Stephen McDonald
* Properly handle optional file upload fields in ``mezzanine.forms`` - Stephen McDonald
* clarify south usage in overview - Brian Schott
* Fix ``user_panel.html`` layouts - Stephen McDonald
* Manually assign the parent to each page in the ``page_menu`` template tag, to prevent queries being triggered if they're accessed - Stephen McDonald
* Update notes about dependencies, and remove notes about setuptools - Stephen McDonald
* fixed docstring error in ``mezzanine_tags.ifinstalled`` - Brian Schott
* Added dynamic validation for content in DisplayableAdmin based on the value of status - Stephen McDonald
* Added handling for slug-based template when the homepage is a page object - Stephen McDonald
* Add handling for Django 1.4's timezone support - Stephen McDonald
* Remove DEBUG check from site/content signals, and prompt the user for the site domain in interactive mode, with local/live fallbacks for non-interactive mode - Stephen McDonald
* Added optional support for django-compressor - Stephen McDonald
* Fix ``thumb_url`` for root images on remote CDNs - Stephen McDonald
* Remove old fixes for Postgres and timezones - Stephen McDonald
* Allow initial dicts to be used for forms in ``mezzanine.forms`` - Stephen McDonald
* Update to new ``gravatar_url`` in comments admin - Stephen McDonald
* Use Django 1.4's ``bulk_create`` when creating field entries in ``mezzanine.forms`` - Stephen McDonald
* Added multi-tenancy support. A threadlocal object is used to store the current request, and a custom manager for site-related models is used, that checks for the current request and matches the host to a site domain. Current site can also be defined by a session var (for the admin), and an environment var (for management commands) - Stephen McDonald
* Made some visual enhancements to the settings admin, added support for settings with choices, and added the ``RICHTEXT_FILTER_LEVEL`` setting with choices for controlling the level of HTML filtering that occurs on the RichTextField - Stephen McDonald
* Proper timezone support for tweets - Stephen McDonald
* Update docs on multi-site to describe the new multi-tenancy approach - Stephen McDonald
* Use default ``STATICFILES_FINDERS`` setting when setting up compressor - Stephen McDonald
* Update travis config to test multiple Django versions - Stephen McDonald
* Fix Django install for travis - Stephen McDonald
* Added IRC notifications for travis builds - Stephen McDonald
* added remote url config script - Kent Hauser
* improved collecttemplates conflict messages - Kent Hauser
* remove ``git.config.sh`` for pull request - Kent Hauser
* Added ``mezzanine.pages.middleware.PageMiddleware``, which handles loading the current page, running page processors, and checking ``page.login_required``. Previously handled in ``mezzanine.pages.views.page``, but move to middleware to allow pages to point to non-page urlpatterns, without any configuration via the now redundant ``page_for`` decorator. The page view remains for handling template selection and 404 handling - Stephen McDonald
* Added fabfile and configs for server setup and deploys - Stephen McDonald
* allow H1s in tinymce - lexual
* Handle homepage as page object in the new age middleware - Stephen McDonald
* Added a Link content type for creating external URLs in the page tree - Stephen McDonald
* Update Van's title - Stephen McDonald
* Added the setting ``ACCOUNTS_MIN_PASSWORD_LENGTH`` for minimum password length for user accounts - Stephen McDonald
* Added the setting ``ACCOUNTS_PROFILE_FORM_EXCLUDE_FIELDS`` for excluding profile model fields from the profile form - Stephen McDonald
* Ensure min password length in accounts tests - Stephen McDonald
* Hides pagination if only one page - Renyi Khor
* Allow ``auth.User`` fields to be excluded from the profile form via the ``ACCOUNTS_PROFILE_FORM_EXCLUDE_FIELDS`` setting - Stephen McDonald
* Initial docs for the bundled fab deployments - Stephen McDonald
* fix i18n settings title in admin - Dmitry Falk
* Don't show excluded profile fields in profile view - Stephen McDonald
* Allow existing virtualenvs to be removed/replaced in fabfile - Stephen McDonald
* Added handling for settings with choices in settings doc generator - Stephen McDonald
* Added docs for ``mezzanine.accounts`` - Stephen McDonald
* Added optional quality arg to be passed to the thumbnail tag, and changed default from 100 to 95 as per PIL docs. Closes #221 - Stephen McDonald
* Ensure responses in PageMiddleware are valid responses for adding context to via page processors, eg not redirects - Stephen McDonald
* Added the {% overextends %} built-in template tag which allows templates to be both overridden and extended at the same time - Stephen McDonald
* Prettify fab outout - Stephen McDonald
* In-line edit enhancements re-align on show/resize/expand - Van Nguyen
* Added body resize event for triggering realign of edit controls - Stephen McDonald
* added dropdown menu support - Brian Schott
* added default navlist sidebar - Brian Schott
* only activate current page - Brian Schott
* Fix original image links in gallery template - Stephen McDonald
* Refactored fabfile: - Move all templates into a config. - Move template upload and optional reload into deploy. - Added crontab handling - Stephen McDonald
* Add proc name to gunicorn conf - Stephen McDonald
* Clean up the new primary dropdown menu - Stephen McDonald
* Fixed non field errors in ``fields_for`` template tag - Stephen McDonald
* Merge navlist into tree menu - Stephen McDonald
* In fabfile, prompt to create project if it doesn't exist on deploy - Stephen McDonald
* Require hosts in fabfile - Stephen McDonald
* Ensure fabfile has hosts, and imports settings from the current path - Stephen McDonald
* Clean up ^M characters at end of lines using dos2unix and find: find . -type f -exec egrep -q $'\r$' {} \; -exec dos2unix {} \; - Thomas Lockhart
* Fix missing </li> tag - Pavel Ponomarev
* fix ``get_absolute_url`` for homepage - Dmitry Falk
* Allow superuser password to be defined in fabric settings, and create superuser if defined - Stephen McDonald
* Added the setting ``ACCOUNTS_PROFILE_VIEWS_ENABLED`` for explicitly enabling public profile pages, which defaults to False - Stephen McDonald
* Only validate fabric settings when fab is run - Stephen McDonald
* Shadow the admin password in fabfile - Stephen McDonald
* Add handling for the hotfix releases in the changelog builder - Stephen McDonald
* Allow large uploads in ``nginx.conf`` - Stephen McDonald
* Don't fail on fabfile import (for docs build) - Stephen McDonald
* Added owner/mode handling for templates in fabfile - Stephen McDonald
* Fix keyword queries in blog listing - Stephen McDonald
* Use standard page in mobile blog post listing - Stephen McDonald
* Add a cache-busting querystring to device switching - Stephen McDonald
* add some verbose names for blog - Dmitry Falk
* Remove deprecated clear attr from br tags. Closes #241 - Stephen McDonald
* Added some more notes around twitter cron jobs - Stephen McDonald
* Fixed docstring - Stephen McDonald
* Sync ``.po`` files - Sebastián Ramírez Magrí
* Fixed initial values for entry instances on multi-value fields - Stephen McDonald
* Better locale error messages - Stephen McDonald
* Added Mezzanine's own cache system - combination of Django's cache middleware, two-phased render cache, and mint cache - Stephen McDonald
* Added ``robots.txt/favicon.ico`` handling in ``nginx.conf`` - Stephen McDonald
* Added docs for the new cache middleware - Stephen McDonald
* Clean up the deprecated middleware classes - Stephen McDonald
* Default ``CACHE_MIDDLEWARE_SECONDS`` to a minute in deployed settings - Stephen McDonald
* Add ``SECURE_PROXY_SSL_HEADER`` to deployed settings. Closes #246 - Stephen McDonald
* Fix var names in deploy configs - Stephen McDonald
* Cleaned up descriptive text - Ross Laird
* Added "timesince" to displayable - Renyi Khor
* Added thumbnail to blogpost admin - Renyi Khor
* Add SSL config to ``nginx.conf`` and self signed cert setup to fabfile - Stephen McDonald
* git pull -f in deploy - Stephen McDonald
* Added ``mezzanine.utls.models.AdminThumbMixin`` which provides a method for admin classes to refernce in their ``list_display`` that will render a thumbnail. Used for ``BlogPost.featured_image`` and ``Product.image`` in Cartridge - Stephen McDonald
* Revert cache changes to Twitter queries - since authenticated users bypass the cache, and the Twitter call will generate a lot of queries - Stephen McDonald
* Quote thumb names in thumbnail template tag - Stephen McDonald
* Use cache backend for sessions in deployed settings - Stephen McDonald
* Don't remove key/cert when blowing away a deployed instance in fabfile - Stephen McDonald
* Use the parent breadcrumb in blog templates, so as not to assume a single root blog page - Stephen McDonald
* Rewrite ``Page.set_menu_helpers`` to use the currently viewed page instead of the current URL - Stephen McDonald
* Ensure ``Page.get_absolute_url`` returns absolute URLs for Link page types - Stephen McDonald
* Allow overridden pages (eg the blog) to be deleted and have child pages added to - Stephen McDonald
* Recompile all ``.mo`` files - Closes #250. Closes #251 - Stephen McDonald
* Right-align drop-down menus when ``.pull-right`` is used - Stephen McDonald
Version 1.0.10 (Apr 28, 2012)
-----------------------------
* Bump filebrowser-safe for security fix to 0.2.6 - Stephen McDonald
Version 1.0.9 (Apr 27, 2012)
----------------------------
* Add HTML sanitizing on RichTextField instances. Closes #211 - Stephen McDonald
Version 1.0.8 (Mar 24, 2012)
----------------------------
* Fixed ``.navbar`` ``.container`` responsive width - Stephen McDonald
* Added default blank favicon and replace Bootstrap's collapse JS with all Bootstrap JS - Stephen McDonald
* Added nav dividers in primary menu - Stephen McDonald
* Fixed leftover tag loading in form response emails - Stephen McDonald
Version 1.0.7 (Mar 24, 2012)
----------------------------
* Fixed ``body_id`` block - Stephen McDonald
* Upgrade Bootstrap to 2.0.2 - Stephen McDonald
Version 1.0.6 (Mar 22, 2012)
----------------------------
* Fixed draft status for quick blog form in dashboard. Closes #172 - Stephen McDonald
* Format newlines in the quick blog form since the expected format is HTML - Stephen McDonald
* Markup validation improvements - Paolo Dina
Version 1.0.5 (Mar 20, 2012)
----------------------------
* Fixed admin navigation showing in inline filebrowser popups when called from TinyMCE - Stephen McDonald
* Bump ``filebrowser_safe`` to 0.2.3 - Stephen McDonald
Version 1.0.4 (Mar 19, 2012)
----------------------------
* Bump dependencies - Stephen McDonald
Version 1.0.3 (Mar 19, 2012)
----------------------------
* Don't restrict image width in default css since it's now responsive - Stephen McDonald
* Updated ``templates_for_host`` to insert default templates after the associated custom template, rather than putting all defaults at the end - Josh Cartmell
* Updated ``templates_for_device`` to insert default templates after the associated custom template, rather than putting all defaults after all custom templates - Josh Cartmell