Colophon

Authors

  • Stephen McDonald
  • Lex Hider
  • Van Lindberg
  • Timur Bobrus
  • Toby White
  • Eric Floehr
  • Tom von Schwerdtner
  • Brad Montgomery
  • Andrew Fisher
  • Carlos David Marrero
  • Lee Matos
  • Josh de Blank
  • Dominique Guardiola Falco
  • Michał Oleniec
  • John Campbell
  • Andrew Grigorev
  • Audrey Roy
  • Josh Cartmell
  • Osiloke Emoekpere
  • Eduardo Gutierrez
  • Rich Atkinson
  • Brett Clouser
  • Brent Hoover
  • Owen Nelson
  • Zeke Harris
  • Ken Bolton
  • Eli Spizzichino
  • Michael Delaney
  • David Prusaczyk
  • Alexey Makarenya
  • Sebastián Ramírez Magrí
  • Kevin Levenstein
  • Josh Batchelor
  • John Barham
  • Luke Plant
  • Zdeněk Softič
  • Alvin Mites
  • Jason Kowaleski
  • Nicola Larosa
  • Anders Hofstee
  • Tommy Wolber
  • Chris Trengove
  • Chris Smith
  • Patrick Taylor
  • Paolo Dinay
  • Nicolas Perriault
  • Aleksandr Vladimirskiy
  • Thomas Wajs
  • Arsenio Santos
  • Dmitry Falk
  • Brian Schott
  • Gary Reynolds
  • Maxim Sukharev
  • Anton Sutton
  • Kent Hauser
  • Renyi Khor
  • Van Nguyen
  • Thomas Lockhart
  • Pavel Ponomarev
  • Ross Laird
  • Alex Hill
  • Zachary Gohr
  • Edita Menclová
  • Jaffa McNeill
  • Kristjan Schmidt
  • Yong Choi
  • Milorad Pop-Tosic
  • Rivo Zängov
  • Vincent Rialland
  • Martin Jahn
  • Olav Lindekleiv
  • Christopher R. Parr
  • Hilton Medeiros
  • Yassine Elassad
  • Armadillo Integración Tecnológica C.A
  • Sergi Almacellas Abellana
  • Enrico Tröger
  • Sanjay B
  • Adam Brenecki
  • James Page
  • Hakan Bakkalbasi
  • Isaac Bythewood
  • Lorin Hochstein
  • Aaron Merriam
  • Pedro Miguel Correia Araújo
  • Kevin London
  • David Novakovic
  • Mark Mukherjee
  • Eduardo Rivas
  • Kenneth Falck
  • Zean Tsoi
  • Robert Moggach
  • Artem Ploujnikov
  • Sean Voss
  • Stefan Hummert
  • Penny Leach
  • Andrey Shipilov
  • Andre Graf
  • Per Andersson
  • Ulrich Wagner
  • Ahmad Khayyat
  • Ivan Teoh
  • Thomas Jetzinger
  • Grant Warren-Robertson
  • Doug Evenhouse
  • Matt Stevenson
  • Olivier Harris
  • Churkin Oleg
  • Chris F Ravenscroft
  • Kenneth Love
  • Gavin Wahl
  • Rocky Meza
  • Jonathan Potter
  • David K. Hess
  • skooch
  • Li Yinhui
  • Jackson Gothe-Snape
  • Stian Prestholdt
  • Wojtek Ruszczewski
  • Ben Wilson
  • Mahdi Bornazadeh
  • Travis Nickles
  • Bryden Frizzell
  • Jesus Armando Anaya Orozco
  • Pahaz Blinov
  • Mahdi Bornazadeh
  • David Lawrence
  • Basil Mironenko
  • Dmitry Belaventcev
  • Thejaswi Puthraya
  • Sachin Shende
  • Sam Kingston
  • José Aliste
  • Marcos Scriven
  • Gabe Smedresman
  • Kim Tore Jensen
  • Mike Wakerly
  • Jeff Fein-Worton
  • Petr Papoušek
  • Andrey Zhukov
  • Alexandre Hajjar
  • Breno Uchoa
  • Nar Kumar
  • Tim Slot
  • Andromeda Yelton
  • John Groszko
  • Jeremie Ferry
  • Eduardo S. Klein
  • Jason Wong
  • Romain Hardouin
  • Ling Thio
  • Tim Valenta
  • Artem Gluvchynsky
  • Dheeraj Sayala
  • Antoine Catton
  • Marek Wywiał
  • Vinod Kurup
  • Ethan Goldstine
  • Henri Koivuneva
  • Mehmet Özgür Bayhan
  • Thomas Rega
  • Deric Crago
  • Cristian Ciupitu
  • Danny Sag
  • Troy Harvey
  • Ahmet Bakan
  • Ben Ledbury
  • Nicole Harris
  • David Winterbottom
  • David Higgins
  • hanchen
  • John Henry
  • Cornel K
  • Tuk Bredsdorff
  • Simon Griffee
  • Markus Törnqvist
  • Alyssa Welles
  • Tulio Nobrega
  • Ed Schofield
  • Sebastian Clemens
  • Alexandre Hajjar
  • Zachery Metcalf
  • Tim Harton
  • Daniel Lawrence
  • Leo Zhu
  • Hervé Cauwelier
  • Adrian Carpenter
  • Tye Scott
  • David Tomaschik
  • Denis Cornehl
  • Luiz Felipe Schleder
  • Neum Schmickrath
  • David Sanders
  • Sylvain Fankhauser
  • Laurent Prodon
  • Simone Federici
  • Roberto Macho
  • Alejandro Peralta
  • Venelin Stoykov
  • Samir Shah
  • Arnold Krille
  • Federico Bruni
  • Jeff Pittman
  • Philip Mateescu
  • Tzu-ping Chung
  • Ziwei Zhou
  • Dominique Bischof
  • Bryan Clement
  • Mario Rosa
  • Sergey Maranchuk
  • Dovydas Stepanavicius
  • Luc Milland
  • Melvyn Sopacua
  • Tiantian Gao
  • Eric Valadas
  • Douglas Fraser
  • Mike Cornwell
  • Simone Dalla
  • Eino Mäkitalo
  • River Satya
  • Maciej Szulik
  • Andreas Fleig
  • Rivo Laks
  • Baylee Feore
  • Dustin Broderick
  • Robert Zywucki
  • Kelvin Wong
  • William Scales
  • Sean Hussey
  • Stone Lasley
  • Krzysztof Szumny
  • Avery Laird
  • Christian Abbott
  • Hagan Franks
  • Souren Araya
  • Ryan Sadwick
  • Fábio C. Barrionuevo da Luz
  • Mathias Ettinger
  • Scott Clark
  • Frankie Robertson
  • Alex Bendig
  • Pavan Rikhi
  • Paul Hunt
  • Jan Varho
  • Christian Wiegand
  • Simen Heggestøyl
  • Alex Tsai
  • Darius Daftary
  • Graham Oliver
  • Johannes Ammon
  • Michael Best
  • Google, Inc.
  • Nik Nyby
  • Stuart Dines
  • Gerald Hien
  • Alexander Bliskovsky
  • Ryne Everett
  • Firsov Dmytriy
  • Fygul Hether
  • Anna Wiggins
  • Ha Pham
  • Pirave Eahalaivan
  • Julian Andrews
  • Christian Hill
  • Henri Hulski
  • Tomas Chmelevskij
  • Daniel Blasco
  • Florent D’halluin
  • Douglas Kastle
  • Kristiyan Kostadinov
  • Jura Studenkov
  • Jeff Cook
  • Andrew Cassidy
  • Vladir Parrado Cruz
  • Adam Venturella
  • Wim Feijen
  • Martín Gaitán
  • Alisson Patricio
  • Geoffrey Royer
  • Chris Hawes
  • Andrii Soldatenko

License

Copyright (c) Stephen McDonald and individual contributors. All rights reserved.

Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met:

  1. Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer.
  2. Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution.

THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS “AS IS” AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.

Change Log

Version 4.3.1 (Aug 08, 2018)

Version 4.3.0 (Jun 15, 2018)

  • Added explicit on_delete arguments for all ForeignKey models - Samir Shah
  • Only generate thumbnails in RichText when absolute width/height used. Closes #1748 - Stephen McDonald
  • Removed null attribute from slug CharField - Samir Shah
  • Converted all template.render calls to pass a dict instead of a Context object - Samir Shah
  • Fixed MezzanineBackend.authenticate backend to accept a request argument, added in Django 1.11 - Samir Shah
  • Fixed test_multiple_comment_forms to be agnostic of the order of HTML attributes - Samir Shah
  • Altered annotation behaviour of search results. Previously this was done implicitly in the SearchQuerySet.iterator() method,. which Django would call internally when evaluating the queryset. Django 1.11 changed its behaviour to use a ModelIterator class instead of. just calling iterator() on the queryset. Rather than suppy a custom. ModelIterator, we just make the annotate explicit - Samir Shah
  • Updated setup and test configuration to include Django 1.11 - Samir Shah
  • password reset: ‘http’ -> request.schema. This fixes a potential security vulnerability in which the password. reset url is exposed to untrusted intermediary nodes in the network. Thanks to John Barham for reporting. See. <https://groups.google.com/forum/?_escaped_fragment_=topic/mezzanine-users/KaDzCzCJDPM#!topic/mezzanine-users/KaDzCzCJDPM> - ryneeverett
  • Add explicit on_delete arguments to foreign keys in migrations - Samir Shah
  • Use TextField for Field.label and Field.help_text. Fixes #1753. Now length limits for user-defined labels and help_texts are enforced in the admin instead of the DB, which should prevent any further migrations - Eduardo Rivas
  • Get rid of max_length settings for mezzanine.forms - Eduardo Rivas
  • Timezone aware blog months. From [the mailing. list](https://groups.google.com/forum/#!topic/mezzanine-users/W1HNoqj1ZHI): Quoting Luke Addison (2017-04-30 21:20:09). > When USE_TZ is set to True,. > mezzanine.blog.templatetags.blog_tags.blog_months pulls the month and year. > from an array of timezone aware datatime objects but uses them to create an. > array of timezone unaware datatime objects which is the used to create the. > month_dicts return value. This seems like a bug to me. >. > For example, if a UTC time is stored in the database less than an hour. > before the end of a month, and then this tag is used with timezone. > Europe/London (UTC+1 currently) then wouldn’t this tag return the pervious. > month instead of the current month? - ryneeverett
  • Test and simplify blog_months - ryneeverett
  • Weigh search results by age. Weigh search results by their age by default. Add a new setting,. SEARCH_AGE_SCALE_FACTOR, controlling how much emphasis to put on the. age when ranking results (set this to 0 to revert to the old behavior) - Simen Heggestøyl
  • Split dev and prod ALLOWED_HOSTS. Django started checking ALLOWED_HOSTS when DEBUG=True a few releases back. See https://www.djangoproject.com/weblog/2016/nov/01/security-releases/#s-cve-2016-9014-dns-rebinding-vulnerability-when-debug-true - Ed Rivas
  • Update docs related to ALLOWED_HOSTS - Ed Rivas
  • Fix the old url parsing in import wordpress - Karim N Gorjux
  • Use Django’s six module - Stephen McDonald
  • Don’t warn Mezzanine about itself - Stephen McDonald
  • Looser check for LocalMiddleware. Closes #1621 - Stephen McDonald
  • Modified the blog homepage pattern to a working version. Added import it requires - Ville Ranki
  • Remove explicit show_banner argument from inner_run. This broke –noreload for me. When called from https://github.com/django/django/blob/master/django/core/management/commands/runserver.py#L107, if **options contains a show_banner arg (which, seemingly, is set just above in add_arguments), this throws a “Got multiple values for argument” TypeError - Kevin Shen
  • Handle MIDDLEWARE_CLASSES -> MIDDLEWARE - Stephen McDonald
  • Don’t use lazy static loading when Django’s ManifestStaticFilesStorage is configured. Closes #1772 - Stephen McDonald
  • Link to Pillow docs for dependencies - Stephen McDonald
  • Adding new site to site list. Adding “The National: New Australian Art” to the site list. https://the-national.com.au - pegl
  • Doesn’t convert JPG/JPEG images to RGBA. resolve #1781 - Bruno Barbosa
  • Remove all device-detection features - Eduardo Rivas
  • Remove mentions of device handling from docs - Eduardo Rivas
  • Use template loaders instead of middlware for host-based template swapping - Eduardo Rivas
  • Add docs on upgrading from TemplateForHostMiddleware - Eduardo Rivas
  • Create __init__.py so Python can find directory - Dylan Peter Hayward
  • Properly parse positional args. As demonstrated by using call_command, the positional args not. processed. This may be a left-over from optarg migration. Usage property is no longer necessary - Melvyn Sopacua
  • Fix build fail while in here - Melvyn Sopacua
  • Added more tests por pages - Vindio
  • Update page_not_found view args. Closes #1795 - Stephen McDonald
  • Rename Displayable is_public to published - Stephen McDonald
  • Test Nginx config before restarting. This way the configuration won’t be updated if it’s broken, and you also get an error message in the terminal explaining why it’s broken (instead of just telling you to check service status/journal) - Andrés Martano
  • Enable browser-native spell checking in WYSIWYG tinymce editor, which got wiped in 82339b0 . Previously introduced in 86f6ef6 - Michel
  • Fixing the support for external links which are moved to child categories in the menu hierarchy - Gerik Peterson
  • Update LOGOUT_URL to make use of ACCOUNT_URL - Adam Radwon
  • Ensure template vars for form defaults are properly escaped - Stephen McDonald
  • Fix drag-n-drop for Form field inlines. Fixes #1841. Inherit from DynamicInlineAdminForm to inject the necessary JS files - Eduardo Rivas
  • Fix failing tests that assume threadlocals have been set up - Luke Plant
  • Pulled out middleware present check into its own function. And fixed Python 3 compat - Luke Plant
  • Made all middleware installation checking consistent. All check by string first, and then for classes and subclasses,. correctly ignoring things that aren’t classes - Luke Plant
  • Fix failing tests that assume threadlocals have been set up (#1848) - Luke Plant
  • Fix keywords widget for Django 1.11. Closes #1844 - stephenmcd
  • Fix sense of SITE_PERMISSION_MIDDLEWARE check. Issue introduced by commit 00f4a63c - Ross Younger
  • Fix sense of other check for SITE_PERMISSION_MIDDLEWARE. Issue introduced by commit 00f4a63 - Ross Younger
  • Added basic tests for TemplateSettings. The tests follow the existing functionality - Luke Plant
  • Gave TemplateSettings a useful __repr__. Previously it just returned ‘{}’ always, from super()s empty dict - Luke Plant
  • Don’t emit warning when doing force_text(TestSettings()). This is to fix the behaviour of getting lots of instances of: UserWarning: __unicode__ is not in TEMPLATE_ACCESSIBLE_SETTINGS. if you have django-debug-tool installed - Luke Plant
  • Prevent changes to FORMS_EXTRA_FIELDS setting creating new migrations - steve@jupo.org
  • Support access to related model on Django 2+ - Williams Mendez
  • Fix safe string handling in richtext filters - steve@jupo.org
  • Fix some test warnings - steve@jupo.org
  • Add deprecation handling for mark_safe as decorator - steve@jupo.org
  • Fix SplitSelectDateTimeWidget which Django 1.9 broke. Closes #1838 - steve@jupo.org
  • Fix usage of request.scheme in password reset email - Eduardo Rivas
  • Make thumbnail tag recognize .PNG and .GIF. Files with the upper case extensions .PNG and .GIF are now recognized by. the thumbnail template tag as being PNG- and GIF images, respectively,. instead of being treated as JPEG images - Simen Heggestøyl
  • Added gcc and rsync for the full deployment on the freshly installed Debian (eg. on OVH) - lukasz
  • Support SelectDateWidget in django 1.8 and django 2.x - Williams Mendez
  • Narrow exception handling to ImportError only - Williams Mendez

Version 4.2.3 (Mar 10, 2017)

  • Test MultiChoiceField.validate when invalid. For the record, this raises a TypeError prior to Simen’s commit - ryneeverett
  • Test MultiChoiceField.validate when valid. Also, I realized that the choices kwarg needs to be a nested list - ryneeverett
  • Ensure createdb command passes on the exepcted options to base class - Stephen McDonald
  • Workaround for Django bug with templates field and empty values - Stephen McDonald
  • Update travis django versions. (#1683). See discussion at. https://github.com/stephenmcd/mezzanine/commit/1866997c64725b3161b59628c8deaee544f0c473 - ryneeverett
  • Subclass Django’s redirect admin to filter by site - Stephen McDonald
  • Remove “Overriding vs. Extending” Docs. I know we discussed this a little bit somewhere and rewriting this. section was suggested. However, I don’t see any reason to keep it. around. This was always a django issue but we provided a. mezzanine-specific solution. Now that there’s a django solution, why. clutter our docs with it? - ryneeverett
  • Richtext filters must return SafeString. For now, just raise a warning. In the way-off future I’d like to see. richtext_filters raise an exception when a SafeString is not received. Django makes a contract with users: “Unless you explicitly mark. untrusted input as safe, we’ll escape it and you don’t need to worry. about XSS vulnerabilities." My position is that reusable apps should. proxy this contract to users. In doing so, this also moves the SafeString conversion out of templates. and into the escape function in which bleach actually makes the html. safe. The closer these two components are to each other the less likely. we are to make a mistake in between them - ryneeverett
  • Fix SSLRedirectMiddleware.__init__ signature. As reported on the mailing list. (https://groups.google.com/d/msg/mezzanine-users/d5mcAMOVcnk/uqw61LyjAwAJ),. this raised a TypeError because the get_response argument is optional - ryneeverett
  • Move “required” from field help text to template. The forms app used to set “required” as the help text for fields that. are required and didn’t have a help text already. Move this text into. the template instead, making it easier to override - Simen Heggestøyl
  • Use call_command() instead of execute() (#1691) - Geoffrey ROYER
  • Remove the no_color handling in createdb management command (#1691) - Geoffrey ROYER
  • Fix example in profile docs - Stephen McDonald
  • Remove outdated message regarding auto-reload. Since local_settings.py is added to sys.modules, the autoreload is working as expected. See: https://github.com/stephenmcd/mezzanine/blob/master/mezzanine/project_template/project_name/settings.py#L308 - Ed Rivas
  • Document static_lazy's purpose. This is a summary of the reasoning in. https://github.com/stephenmcd/mezzanine/pull/1411 - ryneeverett
  • Update contributing guidelines to reflect practice. The language here is too broad and has caused several users to submit. high quality bug reports or patches to the mailing list when it’s. actually easier to deal with them in the tracker - ryneeverett
  • Fix TinyMCE support in dynamic inlines (#1674). * Fix TinyMCE support in dynamic inlines. Use TinyMCE’s jQuery plugin to initialise our editors, and handle. Django’s formset:added event to initialise editors in dynamically added. forms. * Tidy up TinyMCE initialisation code. * Call out changes to jquery.tinymce.min.js more visibly - Alex Hill
  • Warn when editing admin users without permissions. Closes #1707 - Stephen McDonald
  • Move contributing guidelines to CONTRIBUTING.rst. This will present itself before people open issues which should cut down. on a lot of the erroneous ones - ryneeverett
  • Fix short URL generation - Stephen McDonald
  • Add support for importing via blogml - Evan Mattiza
  • Clean up blogml importer - Stephen McDonald
  • Added python 3.6 (#1720) - Andrii Soldatenko
  • Deprecate as_tag templatetag shortcut. It isn’t documented but folks may be using it anyway. We can’t switch. over to simple_tag internally yet until we drop support for django-1.8 - ryneeverett
  • Restore tinymce support in front-end editing. Closes #1718 - Stephen McDonald
  • Fix caching editable settings forever when no request - David Sanders
  • Blog RSS feed - set length property for images (enclosure) - Yuri Prezument
  • Blog RSS - add mime_type for images (enclosure) - Yuri Prezument
  • Blog Atom feed - add “updatedate” property - Yuri Prezument
  • Fix issue with PyPy2 (#1725). Under PyPy2 you can’t do u”foo” == lazy(static, str)(“bar”) because the. code assumes dir(str) is a strict subset of dir(unicode), which isn’t. true on PyPy2. The other way around is no problem however, and the. other strings in the static assets lists are unicode anyway - Ernst Sjöstrand
  • Fix issue 1710. During user validation, only save POST data in session if it is a POST. request, otherwise saved comment may be overwritten by GET request that. results from redirect if user verification is required - Chris Hawes
  • Re-order JavaScript loading to ensure TinyMCE has access to correct variables. Closes #1728 - Stephen McDonald
  • Nicer way to import and register checks. The previous way meant every check gets mentioned 3 times (def, import,. register), with this way it is just once, and all the django.core.checks. are together - Luke Plant
  • Converted SitePermissionMiddleware warning to a Django check. Refs issue #1400 - Luke Plant
  • Added hashbangs/permission bits to make scripts more easily runnable - Luke Plant
  • Made it easier to run individual tests - Luke Plant
  • Documented how to run tests - Luke Plant
  • Fixed pyflakes errors for .checks imports - Luke Plant
  • Fixed login form to not use request.REQUEST. This is not available in Django 1.9 and greater, so without this fix the. forms are (slightly) broken. There doesn’t seem to be any reason to use. REQUEST instead of POST - the form is a POST one, and the parameters are not. used elsewhere in the code base to construct a querystring - Luke Plant
  • Fixed search forms to use request.GET instead of request.REQUEST. request.REQUEST is not available in Django 1.9 and greater - Luke Plant
  • Support latest bleach, BS, html5lib. Closes #1741, closes #1742, closes #1743 - Stephen McDonald

Version 4.2.2 (Sep 25, 2016)

  • Add an option for turning off the runserver banner. Add an option to Mezzanine’s runserver command for not showing the. banner at startup - Simen Heggestøyl
  • Only set content_model first time. Fix #1676 - ryneeverett

Version 4.2.1 (Sep 19, 2016)

  • Issue #1565. Added conditions for assigning keywords to the keyword widget, when a validation error occurs - xuryax
  • Stop using deprecated template settings. - TEMPLATE_DIRS. - TEMPLATE_LOADERS. I think these must have been actually removed in django-1.10.0 because. they’re throwing AttributeError’s now - ryneeverett
  • Remove deprecated richtext_filter tag. I don’t see how the fallback could even work without the user defining. RICHTEXT_FILTERS as empty in their own settings, because it defaults to. (“mezzanine.utils.html.thumbnails”,) so the if not filternames path. would never be taken. Give that the fallback does nothing, I think. printing a warning is deceptive so better just to remove it entirely - ryneeverett
  • Fixed crash in Page.get_ascendants with non-current site - Alex Hill
  • Add override_current_site_id context manager - Alex Hill
  • Make sure a thread-local request is set in PagesTests. We rely in these tests on a “current request” being stored as a. thread-local, but without explicitly assigning one we were dependent on. other tests that make requests being executed before these - Alex Hill
  • Exclude .pyc, .pyo and __pycache__ files from release - Edward Betts
  • Correctly handle custom email fields in mezzanine.forms. The is_a method checks whether a field is one of Mezzanine’s built-in. form fields. As far as I can tell, every other usage is for the purpose. of initializing the built-in fields and widgets, so it makes sense to. exclude user-defined fields. However in this instance, we only want to know whether the field is an. EmailField, not that it is the built-in Mezzanine email field. Therefore, check the class rather than identity. The effective change here is that user-defined fields (in. FORMS_EXTRA_FIELDS) which subclass django’s EmailField will be able to. receive confirmation emails - ryneeverett
  • Remove redundant assignment of request.site_id - Alex Hill
  • Add compatibility with the Django 1.10 MIDDLEWARE setting - Samir Shah
  • Added test for KeywordWidget - xuryax
  • Updated Test for KeywordWidget - xuryax
  • Add more docstrings to ContentTyped - ryneeverett
  • Set base ContentTyped content_model to None. Per discussion with @AlexHill in cartridge#293, content_model is the. name of django’s automatic OneToOneField’s linking the concrete base. class inheriting from ContentTyped to it’s subclasses. There is no such. field when the base class itself is instantiated, so the content_model. should be None - ryneeverett
  • ContentTyped.get_content_model() should return instance, not class - Alex Hill
  • Test admin redirects for ContentTyped models - Alex Hill
  • Small error documentation. I think there are a small error : fields (plural) not field - Anthony
  • Add some MIDDLEWARE compatibility fixes that were missing from #1660. Also change the way in which the middleware setting is determined. A statis variable will fail when settings are modified on the fly, e.g., when running tests - Samir Shah
  • Fix positional argument count on get_db_prep_value - Jeff Cook
  • Restore context vars in admin_dropdown_menu templatetag. Closes #1669 - Stephen McDonald
  • Fix request context for form entries in admin - Stephen McDonald
  • Fix template for form entries in admin - Stephen McDonald
  • Fix overextends tag with cached template loader - Alex Hill
  • Deprecate overextends tag since Django now includes its functionality - Alex Hill
  • Remove some obsolete checks for Django < 1.8 - Alex Hill
  • Deprecate SSLRedirectMiddleware. Resolve #1600. Also, set default SSL settings to editable=False so they do not. display in the settings by default - ryneeverett
  • Move most Field functionality into abstract base class - Alex Hill
  • Escape comment usernames in admin list - Stephen McDonald
  • Move richtext filtering into a util function - Stephen McDonald

Version 4.2.0 (Aug 12, 2016)

  • Update collecttemplates command for 4.1. Closes #1512 - Stephen McDonald
  • Return correct HTTP error response if static proxy cannot find requested file - Stephen McDonald
  • Fix dummy homepage object in sitemap. Closes #1516 - Stephen McDonald
  • Fixes #1449 – duplicate profile fields in admin - Alex Hill
  • Move template form CSS rule to grappelli-safe - Alex Hill
  • Removed nesting of Context objects. Inclusion tags should: * Return dictionaries, not Context objects. * Explicitly pass all needed data to their templates. * Not modify passed in Context object ideally. No code should wrap Context objects in further Context objects, as this. causes errors in some contexts - Luke Plant
  • Fix blog pagination due to Django 1.9 change - Stephen McDonald
  • Don’t load user model at import time in tests - Stephen McDonald
  • Move misc admin related urlpatterns under /admin/ for better compatibility with SSLRedirectMiddleware. Closes #1365 - Stephen McDonald
  • Fix user creation with required profile fields - Alex Hill
  • Removed syncdb from deploy as it is no longer supported in Django1.9 and has been depricated since 1.7, migrate is used instead - Douglas Kastle
  • Use Django’s native dynamic inline mechanism - Alex Hill
  • Remove custom dynamic inline templates - Alex Hill
  • Support with i18n urlpatterns with SSL_FORCE_URL_PREFIXES. Closes #1456 - Stephen McDonald
  • Restore the ordering-related parts of dynamic_inline.js. We still need to use dynamic_inline.js for its custom ordering code, but we can remove everything related to dynamically adding and removing inline forms since we’re now using Django’s built-in mechanisms for that - Alex Hill
  • Remove now-unused dynamic inline templates - Alex Hill
  • Update Python/Django versions in documentation - Stephen McDonald
  • Accept either CDATA or text nodes for WordPress comments. ,. All text output is CDATA in an export from WordPress 4.4.2. It is hoped. that accepting either text or CDATA as node type will be compatible. with exports from all versions of WordPress - Jeff Cook
  • Changed proxy to resolve mime types using the mimetypes library for python - Andrew Cassidy
  • Google Chrome seems to interpret an empty response as. <html><body></body></html> so forced content_type to text/plain to. prevent Chrome handling it in this way - Andrew Cassidy
  • Changed free themes url. I have changed the URL for the free themes - thecodinghouse
  • Fix help text for Link page URL. The field is required, but the inherited help text says it’s optional - Gavin Wahl
  • Add Coveralls coverage testing to CI, per #1012 - ryneeverett
  • Clear TEST_COLLATION deprecation warning - David Sanders
  • Add Federation of Egalitarian Communities Website - Pavan Rikhi
  • Only autofocus visible fields with Html5Mixin - David Sanders
  • Replace all _meta.fields with _meta.get_fields. According to https://docs.djangoproject.com/en/1.8/ref/models/meta/ to. access all the fields of the _meta object you should call get_fields(). This. is new with Django 1.8. The _meta.fields is now a property with a docstring. saying it’s Private API intended only to be used by Django itself - Geoff Crompton
  • Ensure csrftoken cookie is set inside nevercache tag - David Sanders
  • Remove check for CSRF token before re-running CSRF middleware - David Sanders
  • Add testcase for nevercache and CSRF cookie - David Sanders
  • Response should be marked as CSRF processing not done, not request - David Sanders
  • Fix unicode errors in user agent check for devices. Closes #1589 - Stephen McDonald
  • ModelAdmin.in_menu -> has_module_permission. Deprecate ModelAdmin.in_menu now that django has an equivalent method,. ModelAdmin.has_module_permission. See. <https://docs.djangoproject.com/en/1.9/ref/contrib/admin/#django.contrib.admin.ModelAdmin.has_module_permission> - ryneeverett
  • Replace undocumented ModelAdmin.get_model_perms. Instead use the documented methods ModelAdmin.has_change_permission. and ModelAdmin.has_add_permission - ryneeverett
  • Fix tests for pyflakes 1.2.x. The warning message now includes the module name - ryneeverett
  • Fix selector of the _order field to make stacked inlines sortable - Eduardo Rivas
  • Catch TinyMCE errors when trying to save inlines. Previously this used to prevent the new _order values from being computed - Eduardo Rivas
  • Annotate special handling of the _order field in inlines - Eduardo Rivas
  • Add CSS to hide the _order field in stacked inlines - Eduardo Rivas
  • Constrain content images to max width in default templates - Stephen McDonald
  • un-urlencode thumbnail filenames. Closes #1580 - Stephen McDonald
  • Clarify format of ADMIN_REMOVAL setting - Stephen McDonald
  • Fix: Add missing space - cspollar
  • Fix file name decoding from zip files in python 3. In python3, non-ascii filenames in galleries are incorrectly decoded,. interpreting utf8 code points as box-drawing characters. For example, in. the demo project “Ávila Spain” is incorrectly parsed as “A╠üvila Spain”. CP437 is a superset of ascii and the de facto standard for file names. Obviously not every valid utf-8 character is in this character set, but. a lot of tooling does not support file names with characters outside. this set anyway. If we were to encode them in a broader character set I. suspect we would get into OS-interoperability issues, so better to. forego encoding them and coerce them into valid file names. Note that this changes the behavior such that in python3, file names are. now decoded with a chardet-detected encoding. It’s also notable that the latest release of chardet incorrectly. identifies the encoding, so in the demo galleries, “Ávila Spain” is. incorrectly parsed as “AĚvila Spain”. This is fixed in chardet master - ryneeverett
  • base_concrete_model: accept model class argument. Previously only model instances were accepted but now model classes can. be passed alternatively - ryneeverett
  • Factor custom content types out of Page. Custom content types are now implemented as Model and ModelAdmin mixins. This way they can be reused by Cartridge’s Product model - ryneeverett
  • Add content_typed/change_list.html include. This eliminates template duplication for the content type selector in. cartridge. Note that all jQuery events are propagated unless one of them returns. false, so both of our addlist change handlers get called. http://stackoverflow.com/questions/4379403/jquery-event-handlers-return-values - ryneeverett
  • Append default TEMPLATE_ACCESSIBLE_SETTINGS. This means users don’t have to copy the defaults into their settings and. are protected from future changes to the settings used by internal. mezzanine templates - ryneeverett
  • Warn when unallowed template settings are used. Since the exception is suppressed, give a hint that the template. setting isn’t allowed - ryneeverett
  • dynamically set current rating if it exists - Martín Gaitán
  • Remove redundant slash in urlpatterns when homepage is the blog - Stephen McDonald
  • Django 1.10 removed LOGOUT_URL, so provide a default - Stephen McDonald
  • Replace Django’s deprecated AUTH_PROFILE_MODULE setting with new ACCOUNTS_PROFILE_MODEL setting - Stephen McDonald
  • Remove use of NoArgsCommand, which Django 1.10 removes - Stephen McDonald
  • Remove content_typed namespace. - content_typed.py -> models.py + admin.py. - content_typed/change_list.html ->. admin/includes/content_typed_change_list.html - ryneeverett
  • Restore guards against back button in page tree / content typed JS - Stephen McDonald
  • Fix encoding in blog feeds. Closes #1461 - Stephen McDonald
  • Add form media to Form pages. My use case is adding form assets to a widget used by a field included. in the FORMS_EXTRA_FIELDS setting. I don’t think one should have to. override this template to do this and overextension doesn’t seem to work. on content-typed templates - ryneeverett
  • Fail gracefully on third-party admin classes that do odd things. Closes #1628 - Stephen McDonald
  • Prevent bleach from stripping ‘tel:’ hrefs in HTML - Stephen McDonald
  • Fix #1438 – allow multiple comment forms on a page - Alex Hill
  • Use call_command instead calling Command.execute() directly - Alex Hill
  • Fix search by hacking around Django’s abstract manager restriction - Alex Hill
  • Allow Django 1.10 in setup.py - Alex Hill
  • Pass raw context dict to template.render() in error views - Alex Hill
  • Remove testing of dotted path for LOGIN_URL setting, since Django 1.10 doesn’t support it - Stephen McDonald
  • Prevent Django 1.10 from adding required attribute to admin change list actions dropdown - Stephen McDonald
  • Replace usage of optparse with argparse - Alex Hill
  • Ensure blog import commands contain base args - Stephen McDonald
  • Add Django stable/1.10.x to test matrix - Alex Hill
  • Upgrade pip and setuptools before test run - Alex Hill
  • Restore access to parent template context in comments template tag. Closes #1654 - Stephen McDonald

Version 4.1.0 (Jan 17, 2016)

  • Update Python version classifiers in setup.py - Stephen McDonald
  • Update excluded files in package build - Stephen McDonald
  • Force local_settings.py into sys.modules so it’s visible to Django’s autoreloader - Stephen McDonald
  • Add the ability to use proxy in “Add ,” drop down. We sometimes want to use proxy models in the add dropdown, to have. different changeform being backed-up by the same model. See ce02f8afe3d42dda for more information about the “and not. m._meta.proxy" part - Antoine Catton
  • Improve readability by using list comprehension - Antoine Catton
  • Remove extraneous site permissions field. Closes #1366 - Stephen McDonald
  • Add to settings this: RATINGS_ACCOUNT_REQUIRED = True COMMENTS_ACCOUNT_REQUIRED = True RATINGS_RANGE = [-1, 1] and then run tests you will get about 5 errors, so i fixed tests for these settings and now they work well - d-first
  • Do not throw away next parameter on login. get_full_path() throws away the “next” URL parameter, breaking. vanilla Django redirection behavior. The login form should redirect. to the “next” parameter on a successful login - Alexander Bliskovsky
  • When the thumbnail richtext filter runs, deal with BeautifulSoup adding closing br tags, by stripping them out. Closes #1377 - Stephen McDonald
  • r_range deleted replased with settings - d-first
  • Fix textarea fields in live-editing - Stephen McDonald
  • Upgrade to jQuery 1.8.3 - Nik Nyby
  • Upgrade jQuery UI to 1.8.24. This upgrades jQuery UI from 1.8.2 to 1.8.24, fixing. a bunch of bugs. It also changes the CSS file used for jQuery UI - the v1.9. CSS was being used, so I’ve replaced it with the appropriate. CSS for version 1.8.24 - Nik Nyby
  • Upgrade jquery.form.js to 3.51.0-2014.06.20 - Nik Nyby
  • Fix edit overlay vertical positioning - Nik Nyby
  • Upgrade Bootstrap from 3.0.3 to 3.1.1 - Nik Nyby
  • Test on Python 2.7, Django 1.8. These are the versions I use by default, so we shouldn’t need to exclude this combination - Nik Nyby
  • Don’t use zip files - Nik Nyby
  • Fix TinyMCE width in live-editing - Stephen McDonald
  • Bootstrap 3.2.0. Continuing the effort of gradually updating bootstrap,. this upgrades from 3.1.1 to 3.2.0. There’s not many changes here and everything’s looking okay. to me - Nik Nyby
  • Fix tag list padding - Stephen McDonald
  • Make a note about removing JS hack for site permissions field at some stage - Stephen McDonald
  • Update tinymce_setup.js: Django language codes. https://docs.djangoproject.com/en/1.8/topics/i18n/. Language codes are generally represented in lower-case, but the HTTP Accept-Language header is case-insensitive. The separator is a dash. I also noticed a warning message showing when I run ‘python manage.py runserver’. it’s about ‘zh-tw’ will be deprecated in Django 1.9, use ‘zh-hant’ instead. So I also add ‘zh-hant’. I guess ‘zh-cn’ may be deprecated too. I tested ‘zh-hant’ and ‘zh-tw’ well, my tinymce editor shows hints in Traditional Chinese now. I only change the content in “var language_codes = {}” block, but github marks whole file to be changed. I don’t know why - fygul
  • Update frequently-asked-questions.rst. Update the link of "urls.py module” - Fygul Hether
  • Checking if page attribute in request is of type mezzanine.page.models.Page, before processing it - pirave
  • Ken is a core team member - Stephen McDonald
  • Add support for blogs with > 500 posts - Anna Wiggins
  • Replace timestamp trimming code with a more robust regex; current code broke on some timestamps returned by blogger - Anna Wiggins
  • Add several new overridable blocks to the base template - Anna Wiggins
  • Fix and test page_processor's exact_page argument - David Sanders
  • Updating disqus sso tag with working encoder - pirave
  • Resolve css/js Media paths using static templatetag - David Sanders
  • Clean up page context processor check - Stephen McDonald
  • Removing tox.ini since it’s out of date - and of course it is, we don’t use it - Stephen McDonald
  • utils.html: HTMLParseError disappeared in Python 3.5. The HTMLParser is guaranteed not to choke on HTML soup - Hervé Cauwelier
  • Add kwarg for form used in login and password reset views - David Sanders
  • Don’t titlecase group name for ADMIN_MENU_ORDER - David Sanders
  • Add _parent_page_ids to global context scope. Currently if the first menu loaded is in a nested context. ` parent_pages_ids` can drop out of scope, and then never get reset since. menu_pages is set in context.dicts[0]. See https://github.com/stephenmcd/mezzanine/issues/1154 - Julian Andrews
  • Upgrade html5shiv to v3.7.3 - Nik Nyby
  • Remove unnecessary triple-quote in comment - Nik Nyby
  • Don’t overwrite files options in mezzanine-project command. Updating the files option here disables the –name option, which I need. to render custom template files (i.e. a Makefile) when making a custom. mezzanine template for use with mezzanine-project. This change adds local_settings.py.template to the list of files to render instead. of overwriting the list completely. This allows users to specify their own template. files if necessary. Relevant django code is here: https://github.com/django/django/blob/master/django/core/management/templates.py#L56. And my mezzanine template I’m getting this to work with is here: https://github.com/nikolas/ctlmezzanine - Nik Nyby
  • Ensure global context variables set in page_menu template tag are actually global - Stephen McDonald
  • Switch to a lazy static for Media statics - David Sanders
  • In the admin dropdown menu, show add links to users without change permissions. This is a patch to fix the following problem: 1. Create a user with add permissions but not change permissions on a model. that is managed through the admin (e.g. blog posts). 2. Log in as that user in the admin site. 3. Click on the name of the model in the dropdown menu on the left. 4. Error. The problem arises because the template uses the admin_url instead of the. add_url for users without appropriate permissions to change instances of the. model. It then tries to remedy the situation by manually appending ‘add/’ to. the url. However, the url it receives from the template tag admin_url is set. to ‘None’ - Pieter
  • Fix for is_spam_akismet to handle Python 3’s bytestring response properly - Christian Hill
  • Handle None as content_type subclass without breaking - Sam Kingston
  • Restore login redirects on ratings/comments. Closes #1440 - Stephen McDonald
  • Check for FORMS_USE_HTML5 on the admin instead of the model. Fixes #1399 - Eduardo Rivas
  • Removing duplicate profile fields from admin. Issue #1449 - Danny Sag
  • Document errors_for and update fields_for docs. - The fields for template path and type are out of date. - Document errors_for since it adds a lot of value to fields_for - ryneeverett
  • Add references to api-docs. This will add links to documentation generated from the source - Tomas Chmelevskij
  • Added mezzanine-shortcodes to third-party apps - Stephen McDonald
  • Don’t strip HTML in TinyMCE. Because filtering is handled by bleach. Reimplement 0f6ab7c - ryneeverett
  • Recommend using includes/footer_scripts. This is how it’s done in the default templates but docs-readers probably. aren’t going to know that they’re already calling editable_loader via. an include - ryneeverett
  • Add support for Python 3.5 in trove classifiers and travis build - Sam Kingston
  • Add a setter for property MenusField.choices. Django 1.9’s CharField.choices is just a regular attribute, no longer a. property. Its constructor tries to set a value, and since we weren’t. providing a setter, we’d hit an exception - Alex Hill
  • Update project template to use TEMPLATES - Alex Hill
  • Suggest using TEMPLATES in set_dynamic_settings - Alex Hill
  • Replace SortedDict with OrderedDict - Alex Hill
  • Drop support for Django 1.7 - Alex Hill
  • Drop Python 3.3 support - Alex Hill
  • Don’t use OrderableBase in 1.9. Django 1.9 supports ordering with respect to generic foreign keys,. which makes OrderableBase no longer necessary - Alex Hill
  • Update Django & Python versions in setup.py - Alex Hill
  • Import skipUnless from Python’s unites - Alex Hill
  • Fix saving related objects in tests - Alex Hill
  • Don’t use removed Field.get_flatchoices() - Alex Hill
  • Remove check for page context processor in PageMiddleware - Alex Hill
  • Remove LazyModelOperations. Django now provides lazy model signals which accept model strings and. render this class redundant - Alex Hill
  • Update flake8 configuration to match Django’s - Alex Hill
  • Refactor EXTRA_MODEL_FIELD code. Break into a few smaller functions, and use Apps.lazy_model_operation. instead of class_prepared signal - Alex Hill
  • Remove usage of SubfieldBase - Alex Hill
  • Revert “Don’t use OrderableBase in 1.9”. This reverts commit 54d900776a2c7412cdacd7b5a6a4af44affac869 - Alex Hill
  • Remove complexity check from flake8 config. This wasn’t being honoured by the lint test before, so causes several. failures when enabled. We can add it again later and refactor those. functions if necessary - Alex Hill
  • Bring docs/conf.py into line with flake8 - Alex Hill
  • Restore but deprecate Mezzanine’s get_user_model(). This wasn’t actually defined before, simply imported from Django. We. define it here in order to provide a deprecation warning for anybody. importing it from this file - Alex Hill
  • Make EXTRA_MODEL_FIELDS work in 1.8 again - Alex Hill
  • Add a footer_js block in templates - Alex Hill
  • Fix usage of TemplateResponse - Alex Hill
  • Account for middleware subclasses in cache_installed() - Alex Hill
  • Remove “builtins” from TEMPLATE options in Django < 1.9 - Alex Hill
  • Can’t use add() with bulk=False in Django 1.8 - Alex Hill
  • Formalise template tests with checks framework - Alex Hill
  • Fixed #1483 ValueError while parsing dates of imported Blogger posts - Daniel Blasco
  • missing french messages for accounts, compiling .mo file - flo@mymedecine.fr
  • Move SingletonAdmin to utils. Resolve #1480 - ryneeverett
  • Add classes to app_list in admin. This provides a hook for model specific styling, and mirrors what Django. itself does. See: https://github.com/django/django/blob/5399ccc0f4257676981ef7937ea84be36f7058a6/django/contrib/admin/templates/admin/index.html#L23 - Julian Andrews
  • Catch error if user sitepermissions don’t exist. For the most part, if not using SitePermissionMiddleware Mezzanine. falls back on the is_staff attribute seamlessly. But since. d5d21ba527bd4 it’s possible to have users without sitepermissions. This. breaks the admin dropdown, but not much else. This fix should allow. single site projects to continue to leave SitePermissionMiddleware. uninstalled - Julian Andrews
  • Fall back to title field first before using string rep for meta title - Stephen McDonald
  • Give the media library a root URL so it can be correctly highlighted in the admin nav. Closes #1505 - Stephen McDonald
  • Only add debug toolbar urlpatterns if installed - Stephen McDonald
  • Support admin classes registered via decorator. Closes #1462 - Stephen McDonald
  • Fix some more cases of related managers requiring saved data in Django 1.9 - Stephen McDonald
  • Remove redundant slashes in blog urlpatterns - Stephen McDonald
  • Update from deprecated features of urlpatterns - Stephen McDonald
  • Remove use of deprecated get_all_field_names() - Stephen McDonald
  • Remove deprecated use of i18n_patterns() - Stephen McDonald
  • Remove deprecated middleware names - Stephen McDonald
  • Fix admin login interface selector - Stephen McDonald
  • Fix slashes in blog urlpatterns - Stephen McDonald
  • Create links to settings mentioned in the comments. Adds labels to the settings.rst files which can be used accross the. documentation to to link to their description - Tomas Chmelevskij
  • Remove deprecated category/keyword helpers on blog posts, which existed for Django 1.3 - Stephen McDonald
  • Remove Django 1.7 support from overextends templatetag - Stephen McDonald
  • Remove a bunch of Django 1.7 handling from tests - Stephen McDonald
  • TEMPLATES is a list of configurations - ryneeverett
  • django.core.context_processors->django.template,. RemovedInDjango110Warning: django.core.context_processors is deprecated in favor of django.template.context_processors - ryneeverett
  • string url views -> callable url views. RemovedInDjango110Warning: Support for string view arguments to url() is deprecated and will be removed in Django 1.10, Pass the callable instead - ryneeverett
  • Fix user profile signal handler - Stephen McDonald
  • Restore profile form fields - Stephen McDonald

Version 4.0.1 (Jul 26, 2015)

  • Prompt for user creation in createdb command if interactive - Stephen McDonald
  • Fix #1351 - exception in displayable_links_js - Alex Hill
  • Use Django’s createsuperuser command when createdb is run in interactive mode - Stephen McDonald
  • Fix some Django 1.9 warnings - Stephen McDonald
  • Remove references to long deprecated PAGES_MENU_SHOW_ALL setting - Stephen McDonald
  • Locale middleware should fall after session middleware - Stephen McDonald
  • Set up debug toolbar explicitly when installed. Closes #1358 - Stephen McDonald
  • Restore support for alternate package option in mezzanine-project command - Stephen McDonald
  • Fix for issue #1361 - backup command fails when called from deploy - Luke Plant
  • Use ‘exec’ instead of import to add local_settings. This allows local_settings to reference and modify existing settings. Refs issue #1360 - Luke Plant

Version 4.0.0 (Jul 09, 2015)

  • Strip punctuation from keywords instead of non-alphanumeric chars, since languages like Hindi use characters that Python doesn’t consider to be alphanumeric - Stephen McDonald
  • Unpin tzlocal version 1.0 - Alex Hill
  • Update tinymce setup to use browsers’ built in spell checking. Tested and works in latest FireFox and Chrome and Safari - joshcartme
  • Support custom user models in admin password change view. Previously it was assumed that the user’s pw change view is at “auth/user/(d+)/password/”, which caused NoReverseMatch with custom models - Rivo Laks
  • Fix admin password change for Django 1.5 - Stephen McDonald
  • Support Django 1.7 migrations - Baylee Feore
  • Don’t remove south when USE_SOUTH isn’t defined - Stephen McDonald
  • Use is_staff to check for logged in user in base admin template. Closes #1114 - Stephen McDonald
  • beautifulsoup version should not be pinned exactly. There’s no need to require exactly 4.1.3 - Gavin Wahl
  • Added brackets for Python 3 print() - Tuk Bredsdorff
  • Handle malformed user agent strings. Closes #1116 - Stephen McDonald
  • Configure SOUTH_MIGRATION_MODULES setting to check for custom south migration packages - Stephen McDonald
  • Move south_migrations -> migrations/south - Stephen McDonald
  • Added The Entrepreneurial School <http://theentrepreneurialschool.com/> to site using Mezzanine - Renyi Khor
  • Fix DoesNotExist when non admin visits /admin. SitePermission objects are only added when staff users are created. If a non admin user (with no manually assigned site permissions) visits the admin a DoesNotExist is raised since no site permissions exist for the user. Therefore the templatetags logic should only run if the user is staff - joshcartme
  • Exposed JQUERY_UI_FILENAME for templates - wrwrwr
  • wordpress export is under Tools, not Settings - Gavin Wahl
  • Renamed all get_query_set methods to get_queryset. Django 1.6 normalized the naming, providing a metaclass that handles. previous naming schemes, while printing a warning. See: https://code.djangoproject.com/ticket/15363. This is probably incompatible with 1.5, but limits the amount of. Django 1.8 deprecation warnings - wrwrwr
  • Explicitly list fields when defining form from model. This only changes one test (`` test_richtext_widget``), but here’s a. short article that may explain why fields or exclude becomes. mandatory argument to modelform_factory and why you actually may. want to explicitly list fields to be available in forms: http://blog.mhartl.com/2008/09/21/mass-assignment-in-rails-applications/ - wrwrwr
  • Unfrozen future, pep and flakes. If the reason to keep these at some fixed old versions still exists,. please add a comment - wrwrwr
  • Let sqlite configuration not contain a NAME at all (as with some settings environments) - wrwrwr
  • Resolve race condition in conf.settings - Alex Hill
  • Fixed a couple of block comments not starting with hash and space - wrwrwr
  • List form fields (as recommended) to preserve compatibility with 1.5. The "__all__" shortcut must be past-1.6 only - wrwrwr
  • Fixed test_login_required when run without mezzanine.accounts. Note 1: Always testing both scenerios no matter what’s in the settings. would be thorough, but without something like the 1.7+ modify_settings. it turns out ugly. It would be better to run the whole suite with and. without some optional apps. Note 2: This test passes when run through runtests, but it cheats. by forcing mezzanine.accounts into installed apps ;-) - wrwrwr
  • Allow Mezzanine’s static files handling to support MEDIA_ROOT outside of STATIC_ROOT during development - Stephen McDonald
  • Don’t colorize the terminal banner if color sequences aren’t supported - Stephen McDonald
  • Cleaned up in_menus defaults test. Making use of the runtime settings changes support - wrwrwr
  • Added failing settings race condition test - Alex Hill
  • Simpler fix for race condition in settings - Alex Hill
  • Reorder and add comments to settings test - Alex Hill
  • Overwrite settings cache when loading from DB - Alex Hill
  • Clear DB settings after test run - Alex Hill
  • Made forms tests use Mezzanine’s TestCase. Not currently necessary, but potentially surprising if you add something. to the TestCase - wrwrwr
  • Added a simple decorator defining get_query_set or get_queryset. allowing to use the latter one while preserving compatibility with 1.5. Django (1.6+) uses a metaclass to allow usage of the former name after. renaming a method (django.utils.deprecation.RenameMethodsBase), but. for the 2 cases in Mezzanine a decorator seems sufficient and less. intrusive - wrwrwr
  • Replaced usage of Options.get_(add|change|delete)_permission with. auth.get_permission_codename. Just a single case in utils/views.py. The former one is deprecated and will be removed in Django 1.8; see. https://code.djangoproject.com/ticket/20642 - wrwrwr
  • Added an 1.5-compatible implementation of get_permission_codename - wrwrwr
  • Made MenusField respect the current value of PAGE_MENU_TEMPLATES_DEFAULT - wrwrwr
  • Small semantic change in MenusField behavior, now in_menus returns an. empty tuple instead of None for a page not in any menu. This seems more consistent with PAGE_MENU_TEMPLATES_DEFAULT = tuple() - wrwrwr
  • Made MenusField also support dynamic changes to PAGE_MENU_TEMPLATES. This costs a call to a private Field._get_choices(), because. Field.choices is already a property - wrwrwr
  • Extended the test_login_required to check if LOGIN_URL set to view or. pattern name still allows the decorator to work as expected. The new cases are only checked if mezzanine.accounts is installed. These additional LOGIN_URL possibilities were introduced in 1.5; view. objects should also work, but don’t seem to be documented - wrwrwr
  • Don’t test the new options with 1.4, it’s not supposed to support them - wrwrwr
  • Prevent duplicate app names when testing - Stephen McDonald
  • Extend renamed_get_queryset to also support admin classes, and apply to OwnableAdmin - Stephen McDonald
  • set_slug now save itself - Dustin Broderick
  • set_slug now saves itself - Dustin Broderick
  • Remove the requirement for searchable models to subclass Displayable - Stephen McDonald
  • Handle installing initial data with Django 1.7’s syncdb signals. Closes #1123 - Stephen McDonald
  • Remove redundant page save in slug tests - Stephen McDonald
  • Slightly faster settings loader - Stephen McDonald
  • Fix some docstrings and messages - Stephen McDonald
  • Actually skip the threading test as expected - Stephen McDonald
  • Fix version check in post_syncdb signals - Stephen McDonald
  • Added description of “label” keyword argument of register_settings. function to docs - eyeinthebrick
  • Cache site ID on request object, even when fallback setting is used. Closes #1144 - Stephen McDonald
  • Fix site ID fallback when testing - Stephen McDonald
  • separate basic gallery functionality. to be more flexible with creating galleries we can separate gallery. functionality so it can be reused if developer wants to create a. gallery but not necessarily a gallery page - Robert Zywucki
  • Added a test for DynamicInlineAdmin - wrwrwr
  • Allow DynamicInlineAdmin fields to be a tuple. Previously, if fields was defined as a tuple, a very confusing TypeError. would be raised - Rocky Meza
  • Travis test the latest versions of Django. This way you don’t have to update every time a security release comes. out - Rocky Meza
  • Re-instate conf test as per recent threading fixes. Closes #858 - Stephen McDonald
  • Return HTTP 405 on comment/rating URLs for GET requests. Closes #1159 - Stephen McDonald
  • Fix Travis Django installation - Rocky Meza
  • Shamelessly modified the dynamic admin fields tuple test, so it checks. get_fieldsets() instead of directly using the fields attribute. Also made BaseDynamicInlineAdmin work when fields are listed without. the _order field or fieldsets are declared (with or without it) - wrwrwr
  • SiteRelated changed to allow explicit site assignment on creation - Kelvin Wong
  • Made “flake8 .” output less warnings. Excluded docs/conf.py as its autogenerated by Sphinx and increased. acceptable complexity from 10 to 20 - wrwrwr
  • Allowed optional apps to be loaded for testing - wrwrwr
  • Separated generation of short_urls from their saving - wrwrwr
  • include menu pages in broader context. issue #1154 - Eduardo S. Klein
  • Refactored confirmation prompts in createdb, create_pages and collecttemplates - wrwrwr
  • Factored out deleting unused keywords as a manager method - wrwrwr
  • Removed django_extensions from INSTALLED_APPS for testing - wrwrwr
  • Fixed pages.test_login_required with I18N / LocaleMiddleware - wrwrwr
  • Fixed core.test_password_reset with i18n_patterns - wrwrwr
  • Use the response context during two-phase rendering. If a response has context_data use that instead of creating a new. context and running context processors again - David Sanders
  • Fix for using response context_data - David Sanders
  • Remove call to set_model_permissions in page admin - Alex Hill
  • Backout context processor changes to cache middleware for now, re #1174 - Stephen McDonald
  • Prevent order setting vs. form submission race condition. If the js runs slow for any reason the admin form can submit before the order of inlines has been set - joshcartme
  • Create new model field OrderField - Alex Hill
  • OrderWidget.is_hidden should evaluate False - Alex Hill
  • Update orderable ordering to use the submit event. It seems that the click event may not be guaranteed to run in FireFox before the form actually submits. This may be due to a variety of factors including the version of jQuery but for now switching to the submit event solves the problem - joshcartme
  • Fixed spelling of ‘collapsed’ - Stone C. Lasley
  • Refactored all the initial data setup to only occur when the createdb command is used, since Django 1.7’s migrations no longer provide a signal that can reliably trap when tables are created - Stephen McDonald
  • Added migrations for changed _order field - Stephen McDonald
  • Host the dashboard screentshot in the docs so it can be correctly referenced on github - Stephen McDonald
  • Fix docs build for Django 1.7 - Stephen McDonald
  • Fix for brocken link - Krzysztof Szumny
  • Fix optional data installation for non-interactive installs - Stephen McDonald
  • Don’t store absolute urls as short urls in the db, since the column length is shorted, and these aren’t necessairly permanent either. Closes #1178 - Stephen McDonald
  • Refactored the fields_for templatetag to allow for custom field template - Avery Laird
  • nginx conf: use Mozilla recommended ciphers. For the included nginx.conf, use the ciphersuite recommended by the Operations. Security team at the Mozilla project: https://wiki.mozilla.org/Security/Server_Side_TLS. The ones included here are the ones labelled “Intermediate compatibility”. They. also document a ciphersuite with a higher level of security on that page. labelled “Modern compatibility”, though it excludes more older browsers - Lorin Hochstein
  • Updated the js in footer_scripts.html to handle universal analytics - Avery Laird
  • Convert relative URLs to absolute in RSS feed item descriptions. Closes #1193 - Stephen McDonald
  • Fix 500 error when the ‘comment’ view function doesn’t receive expected form data - Christian Abbott
  • Filenames in ZIP not always UTF-8. Fixing this with chardet - Souren Araya
  • Don’t assume INSTALLED_APPS is all modules as Django 1.7 adds AppConfig - Frankie Robertson
  • Replace django.contrib.comments with django_comments. Django has removed the comments app from django.contrib, and. moved it into an external django-contrib-comments package hosted. under the Django GitHub organisation - Alex Hill
  • Test up to Python 3.4 and Django up to 1.8 - Alex Hill
  • Test with Py 3.4, Django 1.7 and default runners. Update .travis.yml config to run tests under Python 3.4 and Django 1.7. Future-proof the test script to work with both default test runners: DjangoTestSuiteRunner pre-1.6, and DiscoverRunner in 1.6 and later. Under DiscoverRunner, the django.contrib tests won’t be run - Alex Hill
  • Enable SHA1 hasher for happy Django 1.4 tests - Alex Hill
  • Miscellaneous backwards-compatible 1.8 fixes. Includes changes to Meta, some moved functions and various internal API. changes - Alex Hill
  • Accommodate Django 1.8’s template system changes. Django 1.8 introduces the possibility of using multiple template. engines, which means that some components of Django’s template system. have been encapsulated in an Engine class instead of being available. globally, and other parts refactored and moved around - Alex Hill
  • Remove Django 1.4 and 1.5 from .travis.yml - Alex Hill
  • No need to enable SHA1 hasher in tests > 1.4 - Alex Hill
  • Remove mezzanine.utils.models.get_user_model. This was introduced for compatibility with Django 1.4 after Django 1.5. included support for custom User models. Now that we no longer support. Django 1.4, we can just use the builtin version. Still need to remove references in filebrowser, so the import remains. in mezzanine.utils.models - Alex Hill
  • Remove shims for force_text and smart_text. Not necessary since dropping support for Django 1.4 - Alex Hill
  • Deleted mezzanine/utils/deprecation.py. This contained compatibility fixes for Django < 1.6, which we no longer. support - Alex Hill
  • Remove miscellaneous BC fixes for Django < 1.6 - Alex Hill
  • Use get_models from django.db.models.loading - Alex Hill
  • Bump required Django version to > 1.6.0 - Alex Hill
  • Import local_settings.py before test run - Alex Hill
  • Restore previous behaviour in runtests script - use the local_settings template to create test_settings, not an actual local_settings module, which may already exist during development - Stephen McDonald
  • Use south’s test command, which is needed to pick up our custom values for SOUTH_MIGRATION_MODULES - Stephen McDonald
  • Some envs don’t create pyc files - Stephen McDonald
  • Allow local_settings import when project isn’t a package - Stephen McDonald
  • Some path hacks during development to allow tests to be picked up when calling the test command via manage.py - Stephen McDonald
  • KeyError when excluding first_name, last_name, and username fields using ACCOUNTS_PROFILE_FORM_EXCLUDE_FIELDS and ACCOUNTS_NO_USERNAME settings - rsadwick
  • Fix handling blank first/last names in username creation - Stephen McDonald
  • Fix bug with missing scope in atexit registered function in test runner - Stephen McDonald
  • Update views.py. clean the cookie rating record after an auth user undoing his/her rating - Yuheng QIU
  • Exclude commit messages with 3 words or less from the changelog - Stephen McDonald
  • Using Tabbed admin instead of showing all fields at once - Mathias
  • Delete cached context settings on settings update. With editable settings it is best to invalidate the context settings. cache key when settings have been changed via the admin panel so that. they can take effect immediately - David Sanders
  • Added site ID back to settings cache key prefix - David Sanders
  • pip can’t seem to install Django 1.8 from a zip file on Python 2.7 - Stephen McDonald
  • Fallback lookup for current page should exclude link pages, since they may contain duplicate slugs. Closes #1220 - Stephen McDonald
  • Update docs and add mini-tutorial in Deployment section - Eduardo Rivas
  • Handle new app-loading mechanism for Django 1.7 in fabfile. See https://docs.djangoproject.com/en/1.7/releases/1.7/#standalone-scripts - Eduardo Rivas
  • Add documentation about using AppConfigs in INSTALLED_APPS and defaults.py - Frankie Robertson
  • Added exception handler for make_dirs() function call in thumbnail() template tag - Alex Bendig
  • Fix error raised when twitter lib is installed, but mezzanine.twitter is removed from INSTALLED_APPS - Stephen McDonald
  • Update multi-lingual.rst for spelling/grammar - Ryan Sadwick
  • Show Links to Code in Package Documentation. Refs #1148 - Pavan Rikhi
  • Account for cartridge.shop being after mezzanine.pages in the template rendering pipeline. Also enable nested {% ifinstalled %} tags - Mathias
  • Twitter: Fix parsing of email addresses as Twitter usernames - Eduardo Rivas
  • Added setting to allow custom forms for submitting comments. Handy for common requests from people such as adding captchas. Easiest way is to create a new form class that inherits from ThreadedCommentForm then specify that class in the new setting - Paul Hunt
  • Import WordPress draft posts correctly - Jan Varho
  • Don’t consider proxy models a content model. Otherwise we’ll try to use them with select_related, which is not. supported - Gavin Wahl
  • Remove all support for South in favour of Django >= 1.7 migrations - Stephen McDonald
  • Remove all support for Django < 1.7 - Stephen McDonald
  • Add option for thumbnails to not grow in size. Add the no_grow option to the thumbnail template tag, specifying. whether a thumbnail is allowed to grow in size when resizing to a given. width or height - Simen Heggestøyl
  • Fix createdb to work with Django 1.7 and 1.8. Django 1.8 changed the way optional args are added to management commands. This patch adds optional args “the old way” for Django 1.7 in Command.__init__, and then uses “the new way” for Djagno 1.8, which is via a call to the new class method add_arguments() - Eduardo Rivas
  • Check for valid Python package name format in mezzanine-project command. Closes #1248 - Stephen McDonald
  • Add SECRET_KEY to docs config which fixes broken rtd builds - Sam Kingston
  • Attempt to fix path issue in rtd environment - Sam Kingston
  • Set CurrentSiteManager.use_in_migrations = False - Alex Hill
  • Migrations for Django 1.8 - Alex Hill
  • Fix overextends tag for Django 1.7 & 1.8 - Alex Hill
  • Compile all new Spanish locale - Eduardo Rivas
  • Initial project layout update - Alex Hill
  • Allow project template’s local_settings.py into repo - Alex Hill
  • Explicitly set email field max_length to 254 - Alex Hill
  • Make updated project template work with local_settings.py.template - Alex Hill
  • Restore ".template" suffix in test script - Alex Hill
  • Django changed Model._meta.get_parent_list() to return a list instead of a set! This fixes it - Stephen McDonald
  • Change field on site permission model as per Django warning - Stephen McDonald
  • Add mezzanine-modal-announcements to third party modules - Josh Cartmell
  • change redirect to be permanent, which is how Django does it - Darius
  • Change way PostgreSQL version is displayed - orotau
  • Fix import error with latest django-contrib-comments - Stephen McDonald
  • Fix various import warnings for Django 1.9 - Stephen McDonald
  • Use a consistent version of jquery-ui - Stephen McDonald
  • Add the featured_image as an enclosure to the rss feed. Add the featured image to the rss feed as an enclosure url, so that it can be used by feed readers. For example Zapier RSS to Facebook to use as the Post Image - Michael Best
  • Restricted support Django versions to < 1.9 - Stephen McDonald
  • Prefetch blog categories in RSS feed - Stephen McDonald
  • Ensure host for the current site is used in RSS feeds - Stephen McDonald
  • Handle parent comment ID in duplicate comment check. Closes #1286 - Stephen McDonald
  • Added mezzanine-slideshows to third-party apps - Stephen McDonald
  • Updated email address for security issues - Stephen McDonald
  • Fix edge case where mezzanine.accounts code is run even though not installed (generated docs, some alternate test run setups), and the ACCOUNTS_PROFILE_FORM_EXCLUDE_FIELDS isn’t defined - Stephen McDonald
  • Added mezzanine-onepage to third-party apps - Stephen McDonald
  • Ensure consistent related_model attribute throughout django fields - Mathias
  • Keep compatibility with django 1.7 for generic.fields.BaseGenericRelation - Mathias
  • Ensure front-end language selector is always visible - Stephen McDonald
  • Switch forms admin to use the object-tools-items block in template - David Sanders
  • Add some space between the filter-horizontal admin widget and its help text - Stephen McDonald
  • Move default button text for forms app from model into template - Stephen McDonald
  • Fix double-escaping of HTML in settings admin form field help text - Stephen McDonald
  • Define correct JS media for settings admin form class - Stephen McDonald
  • Ensure mezzanine.accounts is available when generating settings docs - Stephen McDonald
  • Allow protocol to be omitted from URL arg in import_rss command - Stephen McDonald
  • Fix mysql/unicode issue on saving Link pages - Stephen McDonald
  • Use Django language code to configure language for TinyMCE - Stephen McDonald
  • Remove automatic selection of site permission for staff users, since it breaks when manually choosing them in the admin interface - Stephen McDonald
  • Updating documentation to account for the switch between South and Django’s builtin migration tools - Mathias
  • Updating multi-lingual documentation to add a note on migrations - Mathias
  • Update model-customization.rst. Small grammar changes - orotau
  • Restore support for the ADMIN_REMOVAL setting. Closes #1313 - Stephen McDonald
  • Don’t assume ADMIN_REMOVAL setting is defined - Stephen McDonald
  • Added optional extra_context to applicable views - David Sanders
  • Add index on publish_date - Frankie Robertson
  • Ensure emptyish page titles in admin tree are clickable. Closes #1321 - Stephen McDonald
  • Smarter handling of editable settings - Alex Hill
  • Make use_editable backward compatible - Alex Hill
  • Use clear_cache in tests - Alex Hill
  • Remove calls to Settings.use_editable() - Alex Hill
  • Make setting context processor lazy - Alex Hill
  • Make Settings object more opaque WRT the current thread - Alex Hill
  • Remove context settings caching - Alex Hill
  • Show repr of setting values in warning - Alex Hill
  • Add a few settings tests - Alex Hill
  • Don’t require Settings.clear_cache() outside of a request - Alex Hill
  • Test conflicting settings warning - Alex Hill
  • Refactor settings retrieval logic - Alex Hill
  • Clear request settings cache when settings saved - Alex Hill
  • Handle updated project layout in fabfile - Alex Hill
  • Handle updated project layout in supervisor.conf - Alex Hill
  • Update settings.py for new project layout - Alex Hill
  • Fix URLs during tests - Alex Hill
  • Stop server before dropping database - Alex Hill
  • Fix paths in settings - Alex Hill
  • More refinements to fabfile - Alex Hill
  • Give all deploy files the .template extension - Alex Hill
  • Add utility function real_project_name - Alex Hill
  • Use real_project_name in fabfile.py - Alex Hill
  • Use real_project_name in manage.py - Alex Hill
  • Add missing blank line - Alex Hill
  • Use real_project_name in wsgi.py - Alex Hill
  • Use unicode paths in project template handling - Alex Hill
  • Add missing trailing bracket - Alex Hill
  • Add BASE_DIR to settings - Alex Hill
  • Don’t use DB settings at import time - Alex Hill
  • Update settings docs to reflect removeal of use_editable - Stephen McDonald
  • Fix doc generation for new project template layout - Stephen McDonald
  • Update jquery to 1.7.2, jquery-mobile to 1.2.1. In an effort to gradually bring mezzanine’s javascript up to date,. this commit updates mezzanine’s default jquery version to the. latest in the 1.7.x series (which is 1.7.2). Because the 1.7.2 release notes state that this version. should be used with jQuery Mobile >= version 1.1, I’ve updated. jQuery Mobile as well. http://blog.jquery.com/2012/03/21/jquery-1-7-2-released/ - Nik Nyby
  • Prefer published date over updated date in RSS importer. Closes #1329 - Stephen McDonald
  • Fix manually assigned template settings, such as MEZZANINE_ADMIN_PREFIX - Stephen McDonald
  • Fix host themes when current site does not match domain, eg when selected via admin. Closes #1327 - Stephen McDonald
  • Ensure local middleware installed if required - Stephen McDonald
  • Change next release numbering in warning message - Mathias Ettinger
  • Upgrade to TinyMCE 4. Closes #705 - Stephen McDonald
  • Refactor dynamic inline handling. Fixes a bug where Mezzanine would delete inline rows even when its. inlines weren’t being used - Alex Hill
  • Correctly handle GRAPPELLI_INSTALLED and ADMIN_MENU_COLLAPSED - Alex Hill
  • Amend file location for local settings when advising on contribution - Stuart Dines
  • admin: use apps config verbose_name for display - gradel
  • TinyMCE 4.2 -> 4.1 due to image insertion conflict - Stephen McDonald
  • Don’t show draft blog posts under related posts - Stephen McDonald
  • Ensure link pages only allow external URLs. Closes #1342. Closes #1345 - Stephen McDonald
  • Revert changes to Link model validation - Stephen McDonald
  • Clean leading/trailing slashes from page admin slugs - Alexander Bliskovsky

Version 3.1.10 (Aug 30, 2014)

  • Delete kwargs for page_view. This is strange, pass view_kwargs form some view to page_view. I have error if kwargs contin slug key or some keys with not exists in page_view kwargs - Pahaz Blinov
  • South should not be used for Django 1.7 - Stephen McDonald
  • Added mezzanine-bsbanners to third party apps - Stephen McDonald
  • Clean up some docstrings - Stephen McDonald
  • For dropdown fields in the forms builder app, use the placeholder text to provide an empty first choice - Stephen McDonald
  • Add a custom banner to Mezzanine’s runserver command, showing a logo and various software versions - Stephen McDonald
  • Handle new management command loading order in Django 1.7, so we can override runserver - Stephen McDonald
  • Make the setuptools test runner part of the mezzanine package so that we can call it from other packages (such as cartridge). Also make its local_settings module more dynamic - Stephen McDonald
  • Remove working directory hack from bundled manage.py - conflicts with Django runserver’s auto-reloader when run from outside of project root - Stephen McDonald
  • Updated development instructions for setting up Mezzanine when contributing - Stephen McDonald
  • Update to latest patch versions of Django in travis config - Stephen McDonald
  • Better explansion example in dev setup docs - Stephen McDonald
  • A test for the login_required property has been added - Ulrich Wagner
  • A more complete test for the login_required property - Ulrich Wagner
  • Don’t apply a zindex to h1 tags in admin, since it conflicts with date picker widgets. Closes #1087 - Stephen McDonald
  • Raise 404 in page view if page is not an exact match. Closes #1090 - Stephen McDonald
  • Add unique constraint to site perm model. Closes #1089 - Stephen McDonald
  • Provide a more meaningful exception message when the SEARCH_MODEL_CHOICES settings points to missing models - Stephen McDonald
  • Run page processors before view in PageMiddleware - Alex Hill
  • Only run page processors for Mezzanine’s page view - Alex Hill
  • Update models.py. This fixes day light saving issue. It seems that created_at is coming with timezone 0000 UTC, so I would like to make ti timezoneaware using just utc. Django templates shows datetime ok with timesince without one hour error - eino-makitalo
  • Fix login required test for protected page - Stephen McDonald
  • Fix dynamic INSTALLED_APPS in setuptools test runner - Stephen McDonald
  • Remove non-ascii chars from comment - Stephen McDonald
  • Better approach for test settings - Stephen McDonald
  • Issue 1102 - fixed UnicodeEncodeError when importing non-ascii files from zip - Maciej Szulik
  • Fix local_settings import error check for Python 3 - Stephen McDonald

Version 3.1.9 (Jul 12, 2014)

  • Nicer error message when register_setting is called with editable and no default - Stephen McDonald
  • In thumbnails richtext filter, use built-in HTML parser with BeautifulSoup to better preserve original markup - Stephen McDonald
  • Bail early in thumbnails richtext filter if MEDIA_URL isn’t used - Stephen McDonald

Version 3.1.8 (Jul 10, 2014)

  • Support custom User model in AdminLoginInterfaceSelectorMiddleware - Rocky Meza
  • Fix call to get_model in search view - Stephen McDonald
  • Add test for the search view - Stephen McDonald

Version 3.1.7 (Jul 06, 2014)

  • Fix twitter query encoding - Stephen McDonald

Version 3.1.6 (Jul 05, 2014)

  • Stricter child page lookup when parent slug is updated. Fixes #1045 - Stephen McDonald
  • In thumbnails richtext filter, maintain markup that html5lib deems belonging in a head tag, and fix any script tags that have been self-closed - Stephen McDonald
  • In front-end editing, handle widget overrides not existing when FORMS_USE_HTML5 is False - Stephen McDonald
  • Remove some redundant encoding/escaping from Twitter queries, and handle some MySQL unicode warnings - Stephen McDonald
  • Fix regression in generic signal handling in Django 1.7 - Alex Hill
  • Initial refactor of profile support for Django 1.7 - Alex Hill
  • LazyModelOperations can wait on multiple models - Alex Hill
  • Add trailing newline to accounts/models.py - Alex Hill
  • Allow 'app_label.ModelName' passed to get_model() - Alex Hill
  • Fail early with invalid lazy model names - Alex Hill
  • Use get_profile_for_user() in profile signal handler - Alex Hill
  • Use ProfileNotConfigured in profile functions - Alex Hill
  • Use ProfileNotConfigured in accounts/admin.py - Alex Hill
  • Update accounts tests to use ProfileNotConfigured - Alex Hill
  • Use get_profile_fields_form() rather than importing - Alex Hill
  • Fix return statement in accounts_tags.profile_fields() - Alex Hill
  • Fix dependency: oauthlib is used - Melvyn Sopacua
  • Replace html5lib with BeautifulSoup in thumbnails richtext filter, to preserve original HTML. Closes #1056 - Stephen McDonald
  • In thumbnails richtext filter, only resize images uploaded to MEDIA_URL. Closes #1058 - Stephen McDonald
  • Use beautifulsoup4 for Python 3 support - Stephen McDonald
  • Added mezzanineopenshift to third-party apps - Stephen McDonald
  • Remove distutils version checking code which doesn’t work with strings in versions - Stephen McDonald
  • Allow alternate settings module when building docs. Closes #1062 - Stephen McDonald
  • Remove redundant encoding. Closes #1063 - Stephen McDonald
  • Redundant forms admin attribute - Stephen McDonald

Version 3.1.5 (Jun 09, 2014)

  • Small css fix for settings admin page - Mario Rosa
  • Check if django.contrib.admin is in INSTALLED_APPS. Make sure django.contrib.admin is in INSTALLED_APPS before moving. it to the end of the list. Adding this enables moving admin app. on a different domain - Dovydas Stepanavicius
  • Add language selector in the navigation bar - Mathias Ettinger
  • Generate slug from title for default language instead of active one - Mathias Ettinger
  • rtl: fix margins in admin - Ahmad Khayyat
  • Fix ID check in admin_page_ordering view to prevent some redundant queries - Stephen McDonald
  • Revert bad get_FOO_display change. Closes #1032 - Stephen McDonald
  • Don’t strip quotes from twitter template tag args which was only needed in early Django versions. Closes #1034 - Stephen McDonald
  • Remove global signal handlers in mezzanine.generic. Fixes #1036 - Alex Hill
  • Implement a new can_move dynamic page permission. Content types can override can_move() to control whether a given page. move in the page tree is permitted. can_move() should raise a. PageMoveException if the move is denied. PageMoveException takes a. single argument: a message explaining the reason for the denial - Ahmad Khayyat
  • page tree: reload on move exception to revert the tree and display any messages - Ahmad Khayyat
  • Move LazyModelOperations into mezzanine.utils.models - Stephen McDonald
  • Added mezzanine.utils.html.thumbnails to RICHTEXT_FILTERS setting, which converts images within richtext fields into thumbnail references. Closes #567 - Stephen McDonald
  • CSS fixes for send to twitter admin checkobx - Stephen McDonald
  • Document the can_move dynamic permission - Ahmad Khayyat
  • Faster admin left-hand menu animation - Stephen McDonald
  • Show featured images in recent blog posts section - Stephen McDonald

Version 3.1.4 (May 05, 2014)

  • Remove previous cached build dir when creating wheel builds - Stephen McDonald
  • Explicitly close db connection in poll_twitter command - Stephen McDonald
  • Remove deprecated Debug Toolbar configuration. DEBUG_TOOLBAR_CONFIG.INTERCEPT_REDIRECTS has been deprecated. In fact, the Redirect panel is now disabled by default, so we don’t need to define the setting any more. Deprecation notice: http://django-debug-toolbar.readthedocs.org/en/latest/changes.html#deprecated-features. New default value: http://django-debug-toolbar.readthedocs.org/en/latest/configuration.html#toolbar-options - Eduardo Rivas
  • Bypass streaming responses in cache middleware. Closes #1020 - Stephen McDonald
  • Django 1.7: avoid trying to load user model during startup for profile signals - Stephen McDonald
  • Support pre/post Django 1.7 CurrentSiteManager - Stephen McDonald
  • Change handling of multiple versions of password reset urlpattern format to work with Django 1.7 - Stephen McDonald
  • Django 1.7: fix exception handling when testing for slugs or app/model names in page processors - Stephen McDonald
  • Django 1.7: fix initial site creation, in 1.7 the default site already exists - Stephen McDonald
  • Django 1.7: fix admin formfields for generic relations, thanks to @loic84 - Stephen McDonald
  • added get_XXX_display() to MultiChoiceField - slav0nic
  • Only abort second phase cache render for non-200 http status when DEBUG is enabled - Stephen McDonald
  • Bump grappelli-safe version to 0.3.10 - Stephen McDonald

Version 3.1.3 (Apr 25, 2014)

  • Fix regression in page middleware on non TemplateResponse responses - Stephen McDonald
  • Revert change to javascript location in default templates - Stephen McDonald

Version 3.1.2 (Apr 25, 2014)

  • [#1004] Move Javascript to the Bottom of the Body. * Move all Javascript Includes to Bottom of the base.html and. mobile/base.html templates. * Move extra_js Blocks Below main Blocks in the pages/form.html and. pages/gallery.html templates. closes #1004: JS should be at the bottom of body - Pavan Rikhi
  • Widget js shouldn’t need staticfiles handling - Stephen McDonald
  • Allow local testing of STATIC_URL containing host - Stephen McDonald
  • Add Additional 3rd Party Integration Documentation - Pavan Rikhi
  • Indicate active tree branch in tree page menu - Stephen McDonald
  • Move the logic for assigning a page variable to the template context, from PageMiddleware into a context processor. This ensures we don’t reply on TemplateResponse objects - Stephen McDonald
  • More reworking of the docs for integrating apps with pages - Stephen McDonald
  • Give a .template extension to Python files under project_template/deploy since they aren’t valid Python files and an attempt to compile them may be made when installing. Closes #1010 - Stephen McDonald
  • Make the new page context processor backward compatible with older projects - Stephen McDonald
  • Fix some deprecation warnings: mimetype -> content_type - Stephen McDonald
  • Restore site selection dropdown menu in admin nav - Stephen McDonald
  • Decouple the Blog Post List from RichTextPages. The blog_post_list.html template currently requires that any page. context variable passed to it has a richtextpage attribute. These changes modify the template, making the richtextpage attribute. optional. This allows users to create other Page types pointing to the. URL of the Blog Post List - Pavan Rikhi
  • Fix styling of admin help text. Closes #1013 - Stephen McDonald
  • Further decoupling of richtextpage in blog templates - Stephen McDonald
  • Apply admin title click globally - Stephen McDonald
  • Show users section in admin nav highlighted as active for the change password view - Stephen McDonald
  • Include grappelli in INSTALLED_APPS during tests - Stephen McDonald
  • Skip reset password test for older Django versions since we now include grappelli, which has a bad url name in the reset password template. Since fixed but not released - Stephen McDonald
  • Ensure missing settings vars don’t break admin JS. Closes #1015 - Stephen McDonald
  • Bump grappelli safe version to 0.3.9 - Stephen McDonald

Version 3.1.1 (Apr 19, 2014)

  • Fix richtext widget loading - Stephen McDonald

Version 3.1.0 (Apr 17, 2014)

  • Allow auth admin’s change password view to be reversed - Stephen McDonald
  • Fix for ignoring search_fields when they are set on the ModelAdmin - Sam Kingston
  • Make pillow an explicit dependency since wheel distributions can’t have optional dependencies, and clean up uses of it - Stephen McDonald
  • Update reference and link for Pillow in Deps - Matt Stevenson
  • Add Debian and Ubuntu prereqs for Pillow - Matt Stevenson
  • Something is broken with password-resetting. Building a test to reproduce the issue (already hitting the first problem). Will do further testing and fixes in this branch - Arnold Krille
  • Further up the test-road. Running this with Django1.5.5 works here. The test reaches the page congratulating to the new password and showing a link to “Log in”. Unfortunately that link leads to an invalid url ‘/accounts/login’ by default:-( But thats probably stuff for a different Issue/PR - Arnold Krille
  • fix for the python3 problem? - Arnold Krille
  • Make the urls version-dependant. This feels a bit dirty. But it could actually work - Arnold Krille
  • Python3 fixes. Don’t know if this is correct, its my first actual encounter with python3;-) - Arnold Krille
  • Add a note about osx setup for libjpeg - Stephen McDonald
  • When testing, do so in english. And follow any language-redirects should these occure - Arnold Krille
  • Better uidb64 password reset version check - Stephen McDonald
  • Fix the fix for reversing the change password form when multiple langages are enabled in the admin - Stephen McDonald
  • Provide a warning on admin login when the default password is being used - Stephen McDonald
  • Bump grappelli version to 0.3.6 - Stephen McDonald
  • Fix add_to_builtins import for Django 1.7 - Stephen McDonald
  • Initial version of new admin menu - Stephen McDonald
  • Adds docs for HOST_THEMES configuration - geojeff
  • Made a few grammatical fixes - geojeff
  • Removed a caveat that can go in the PR comments - geojeff
  • Update css to make side nav full height. Add js to open/close section subnav - Josh Cartmell
  • Don’t animate the admin menu when first loading - Stephen McDonald
  • Better defaults for non-english language codes - Stephen McDonald
  • Added setting ADMIN_MENU_COLLAPSED for controlling admin side-nav behaviour - Stephen McDonald
  • Remove dashboard link from admin menu - replace with cliackable Mezzanine title - Stephen McDonald
  • Highlight selected item in admin nav - Stephen McDonald
  • Move site/lang drop-downs into top nav bar - Stephen McDonald
  • Bigger buttons throughout admin - Stephen McDonald
  • Move multi-site docs into new section - Stephen McDonald
  • Fix tuple/list setting handling - Stephen McDonald
  • Allow page subclasses to implement get_template_name to customize template selection in the page view. Closes #957 - Stephen McDonald
  • Use dark chosen plugin for top nav dropdowns in admin - Stephen McDonald
  • Use Mezzanine’s branding for the admin nav title - Stephen McDonald
  • Consistent message styling in admin - Stephen McDonald
  • Mentioning PAGE_MENU_TEMPLATES_DEFAULT. Updated the Filtering Menus section to mention the PAGE_MENU_TEMPLATES_DEFAULT setting which controls what entries get pre-selected in the admin section - Philip Mateescu
  • Apply jquery chosen to other selects in the admin - Stephen McDonald
  • Remove broken/unnecessary jquery resize plugin - Stephen McDonald
  • Don’t use sans-serif as the admin font (should fall back to Arial) - Eduardo Rivas
  • Adjust CSS selector and colors for dark language selector. The dropdown in the admin login was being targeted as a dark dropdown - Eduardo Rivas
  • Fix admin nav margin with alert messages - Stephen McDonald
  • Use bigreason tinymce theme - Stephen McDonald
  • Actually apply tinymce skin - Stephen McDonald
  • Make admin panel collapsible to the left with a nice animation - Eduardo Rivas
  • Make the admin panel hidden/show state persist in between page loads. This one uses localStorage instead of cookies - Eduardo Rivas
  • Make the admin menu toggle panel a bit more subtle - Stephen McDonald
  • Make sure the messages bar responds to panel toggling - Eduardo Rivas
  • Fix regression in save bottom of change-list view - Eduardo Rivas
  • Apply z-index to the whole side panel, not just the inner list - Eduardo Rivas
  • Handle edge case of bottom controls in settings page - Eduardo Rivas
  • Fix message margin with collapsed nav - Stephen McDonald
  • Deal with POSTS in ssl middleware. Closes #975 - Stephen McDonald
  • Fix POST handling in ssl middleware - Stephen McDonald
  • Allow authentiated users to undo their ratings - Stephen McDonald
  • Messages shouldn’t cover admin nav when scrolling horizontally - Stephen McDonald
  • Added support for search fields across model relations - Stephen McDonald
  • Fix device handling for non-ascii user agents. Closes #976 - Stephen McDonald
  • Bring back admin meta title - Eduardo Rivas
  • Added distinct to search queryset, to prevent relation spanning search fields from producing duplicate results - Stephen McDonald
  • Fix non-ascii form response CSV downloads on Python 3 - Stephen McDonald
  • Update test Django version - Stephen McDonald
  • Only attempt second phase cache render on valid http status. Closes #967 - Stephen McDonald
  • Fix deprecated depth arg to select_related - Stephen McDonald
  • Port over FORMS_EXTRA_WIDGETS feature from forms-builder - Stephen McDonald
  • unicode_literals shouldn’t be used in migrations. Because strings are passed to type(), which requires a non-unicode. string in python 2. Fixes #871 refs toastdriven/django-tastypie#1007 - Gavin Wahl
  • Add FORMS_EXTRA_WIDGETS to Mezzanine’s settings - Stephen McDonald
  • Changed fabfile LIVE_HOSTNAME setting to DOMAINS, and handle multiple domains for a single project - Stephen McDonald
  • Mention parent.page in the menu variables docs section - Stephen McDonald
  • Only use RICHTEXT_WIDGET_CLASS if a RichTextField’s widget is not. specified in the form’s Meta - Alex Hill
  • Add tests for RichTextField - Alex Hill
  • update the migration files of blog and generic to use custom user model - Ziwei Zhou
  • Handle removal of CurrentSiteManager._validate_field_name() in Django 1.7 - Stephen McDonald
  • Better line break and HTML entities handling in form emails. Support line breaks in HTML email (so that they don’t collapse when. rendered) and HTML entities in plain text email (unescape them to make. them legible) - Dominique Bischof
  • Provide separate overridable email templates for the extra recipients in mezzanine.forms - Stephen McDonald
  • added padding functionality to thumbnail tag - Bryan Clement
  • removed rogue print statement - Bryan Clement
  • Support hard-coded URLs in LOGIN_REDIRECT_URL. Closes #992 - Stephen McDonald
  • Port forms-builder fix for large file uploads - Stephen McDonald
  • Allow subclasses of PageMiddleware to be used in page view check - Stephen McDonald
  • Clean up thumbnail padding - Stephen McDonald
  • Correctly handle 404 exceptions for static files during development - Stephen McDonald
  • Store thumbnails in individual directories named after the original filename, so that we can accurately delete them from within filebrowser where necessary. Closes #995 - Stephen McDonald
  • Update thumbnail test path - Stephen McDonald
  • Disable the ‘Add’ option of comments in the admin, because the program crash when you try to create a new comment, is better delete this option for avoid this problem - Jesus Armando Anaya Orozco
  • Add a new site. Add new site created with Mezzanine - Anthony
  • converted ratios to floats. ratios were integer division, which didn’t work as desired. casting the numerators to floats cures this ailment - lykkin
  • added padding color option into thumbnail tag - lykkin
  • Document optional thumbnail tag args - Stephen McDonald
  • Added USE_L10N check for language dropdowns in admin - Rocky Meza
  • Fix USE_L10N check for admin language selector - Stephen McDonald
  • Handle null descriptions ofr settings in conf form - Stephen McDonald
  • Catches exceptions in thumbnail image.convert - Doug Evenhouse
  • Prevent some warnings during tests - Stephen McDonald
  • Restructure content architecture docs - lead in with describing how Page/Displayable are built and used - Stephen McDonald
  • Move short_url generation code from template tag to model, so we can use it for tweets - Stephen McDonald
  • Added TweetableAdminMixin and applied to BlogPostAdmin - used for sending tweets from admin - Stephen McDonald
  • Updated docs for twitter integration - document setup for sending tweets plus move to own section - Stephen McDonald
  • Move the side-menu directly where it should be in the admin template so we don’t have to juggle it with jQuery - Stephen McDonald

Version 3.0.9 (Feb 11, 2014)

  • Add noindex tag to search results. Search results shouldn’t normally be indexed, given that they can be generated for arbitrary queries. This patch adds a noindex tag to the head - Samir Shah
  • Fix serving uploaded files during development - Stephen McDonald
  • Fix static files handling - Stephen McDonald
  • Support collapse classes in admin. Closes #943 - Stephen McDonald
  • Add some HTML5 tags to RICHTEXT_ALLOWED_TAGS. Hi,. This patch adds the following tags to RICHTEXT_ALLOWED_TAGS: * article. * aside. * figure. * caption. * header. * footer. * nav. * section. , all of which are becoming increasingly common, and should all be safe to allow. Thanks! - Samir Shah

Version 3.0.8 (Feb 05, 2014)

  • Use binary mode when opening the image to be copied on a remote server - Sylvain Fankhauser
  • Fixed regression when validating displayable content field against published status - Stephen McDonald
  • Fix static proxy handling - Stephen McDonald
  • Fix string checking in page processors. Closes #931 - Stephen McDonald
  • Handle the different method of importing filebrowser urls when the upstream version is installed. Closes #925 - Stephen McDonald
  • Rename account URL prefix to match Django’s by adding the plural s. Catch and redirect any old urls to the new scheme - Sam Kingston
  • Tidy up old account redirect view - Sam Kingston
  • Added tests to static_proxy - Alejandro Peralta
  • Handle next param in old_account_redirect - Stephen McDonald
  • In Mezzanine’s runserver, also serve up static files in STATIC_ROOT - Stephen McDonald
  • Bump filebrowser-safe to 0.3.2 - Stephen McDonald
  • Use file.name instead of file.url for getting name of file in GalleryImage. file.name is universal accross storages and can be used not only with. FileSystem storage but with S3 storage as well (file.name is used to. create the url). Also with using name instead of url we will not have. problems with encoding and python version - Venelin Stoykov

Version 3.0.7 (Feb 02, 2014)

  • check if the user model is already registered. Fix usage of overwriting the UserProfileAdmin because it will be under mezzanine.accounts in INSTALLED_APPS - Sebastian Clemens
  • check django version instead of ImportError. Closes https://github.com/stephenmcd/mezzanine/issues/893 - Sebastian Clemens
  • Use space indent instead of tab - Sebastian Clemens
  • Do not show the in_menus field in page admin if PAGE_MENU_TEMPLATES is empty - Laurent Prodon
  • Fix admin password reset page. Closes #909 - Stephen McDonald
  • Clean up PAGE_MENU_TEMPLATES check in page admin - Stephen McDonald
  • Fix failing account tests for foreignkey and date/datetime fields on user profile models - Stephen McDonald
  • menu: include parent page in context - Laurent Prodon
  • menu: modify doc accordingly - Laurent Prodon
  • Handle multiple ip addresses in mezzanine.utils.views.ip_for_request - Stephen McDonald
  • Fix handling for schemeless static urls in static proxy - Stephen McDonald
  • fix on python3 loads() required string found bytes <- reads(). adding .decode("utf-8") to support python3 - Simone Federici
  • Fixed bug in processor_for if it receives an unicode slug - Vindio
  • Replaced unicode string for python3.x compatibility - Vindio
  • Previous commit breaked test for python2.x - Vindio
  • Previous commit broke test for python2.x - Vindio
  • Dont show comments in blogpost list if they are not allowed - Laurent Prodon
  • wrap ratings in a block in blogpost detail template - Laurent Prodon
  • More Django 1.6 generic relation regressions - underlying sql has changed, returning duplicates, so apply distinct for correct results. Closes #918 - Stephen McDonald
  • Fix tag cloud padding - Stephen McDonald
  • Ensure filtering blog posts by keyword uses the correct content type - Stephen McDonald
  • Much simpler keywords lookup fix - Stephen McDonald
  • Don’t assume static proxy url param contains a host. Closes #920 - Stephen McDonald
  • Added test to check that /static/ as a prefix of url is removed - Alejandro Peralta
  • Fix static proxy test for Python 3 and remove fb dependency from test - Stephen McDonald

Version 3.0.6 (Jan 17, 2014)

  • Don’t require specifying filebrowser urls separately in a project’s urlconf - Stephen McDonald
  • import the user model from settings - Sebastian Clemens
  • Improved support for determining timezone with tzlocal lib - Stephen McDonald
  • New setting EMAIL_FAIL_SILENTLY for controlling the default fail_silently arg in sending email - Stephen McDonald

Version 3.0.5 (Jan 12, 2014)

  • Fix bytes/string handling in Python 3 static_proxy. Closes #866 - Stephen McDonald
  • Move the file browser url to i18n patterns - Sebastian Clemens
  • Use the new template tag for url generation - Sebastian Clemens
  • Add a given query string to url - Sebastian Clemens
  • Move jQuery setup for ajax/csrf outside of document.ready handler - Stephen McDonald
  • In overextends template tag, don’t assume extends node is first in node list - Stephen McDonald
  • Fix bytes/str handling in disqus SSO - Stephen McDonald
  • Communicate the requirement for twitter credentials on changing the default query in the help text - Stephen McDonald
  • Slight increase to font size throughout the admin - Stephen McDonald
  • Add url field type to anyFieldsDirty in dynamic_inline.js - Adrian Carpenter
  • Patch all migrations to remove generic fields - these break with Django 1.6 and aren’t actually necessary with the latest version of south - Stephen McDonald
  • Added two more HTML5 input types in dynamic_inline.js - Adrian Carpenter
  • dynamic_inline.js updated for HTML5 input types in Django 1.6 - Adrian Carpenter
  • Remove all the frozen_by_south hacks and use it to provide a warning for old migrations - Stephen McDonald
  • Add some more html5 field types to dynamic inlines JavaScript - Stephen McDonald
  • Update to use multiprocessing library - tyescott
  • Use pytz to determine a closest matching timezone fro TIME_ZONE default - Stephen McDonald
  • Have RSS/Atom feed link attribute go to homepage of site - David Tomaschik
  • Don’t hard code rss link url - Stephen McDonald
  • Use FieldFile.url to get full image-url in gallery. Closes #877 - Denis Cornehl
  • SS: Bumped requests and requests-oauthlib versions - Sachin Shende
  • Fix tuple/list setting handling. Closes #883 - Stephen McDonald
  • allow <a> tags inside <button> in TinyMCE - Neum
  • Add back bootstrap-extras.js. Menus stay open for a few hundred milliseconds after the cursor leaves them and the dropdowns in the main menu are useable when the menu is collapsed - Josh Cartmell
  • Relative schemes for twitter avatar urls. Closes #878 - Stephen McDonald
  • Fix some failing http status code tests that need to follow redirects when multiple languages defined - Stephen McDonald
  • Make the label element optional for form fields. Labels for form fields can be disabled by setting them to an empty string. Previously this would produce the intended result visually, but left an empty label element in the HTML. This change causes the element to only be inserted if a label value exists - David Sanders
  • Fix for uploading zip files to a homepage gallery - Jeff Fein-Worton
  • Update to latest bleach/html5lib and enable for Python 3 - Stephen McDonald
  • Fix admin menu app/model sorting for Python 3 - Stephen McDonald
  • Bump version to 3.0.5 - Stephen McDonald

Version 3.0.4 (Dec 27, 2013)

  • Shadow staticfiles runserver instead of django.core - Stephen McDonald
  • Use local names for the language selector. Also dropping creation of the two variables LANGUAGES and LANGUAGE_CODE. because they already exists - Sebastian Clemens
  • Correctly handle serving files under MEDIA_ROOT during development on Windows. Closes #865 - Stephen McDonald

Version 3.0.3 (Dec 25, 2013)

  • Skip randomly failing settings test on Python 3 - Stephen McDonald
  • Unicode fix for gallery image descriptions from filenames - Stephen McDonald
  • More gallery unicode fixes - Stephen McDonald
  • Fix some jQuery namespacing regressions in the admin - Stephen McDonald

Version 3.0.2 (Dec 24, 2013)

  • No changes listed.

Version 3.0.1 (Dec 24, 2013)

  • Fix Python 2/3 str/bytes error in cache bypass util - Stephen McDonald

Version 3.0.0 (Dec 24, 2013)

  • Python 2/3 port: be conservative: no magic super() imports - Ed Schofield
  • Put __future__ imports below the # encoding: utf-8 lines - Ed Schofield
  • Correctly handle page slug lookups when APPEND_SLASH is False - Stephen McDonald
  • disqus counts should follow the protocol of the original request, see: http://help.disqus.com/customer/portal/articles/542119 - John Henry
  • Fall back to Python 2 urllib imports if needed. * Also fix one bug triggered by passing a newstr to urllib.unquote - Ed Schofield
  • Remove obsolete with_statement import from __future__ - Ed Schofield
  • Always pass a native string to first arg of 3-arg type() call in middleware.py - Ed Schofield
  • Add absolute_import to prevent implicit relative import of html.py on Py2 - Ed Schofield
  • Python 2/3 compatibility for types in the settings registry - Ed Schofield
  • Fix a few out-of-order __future__ imports - Ed Schofield
  • Python 3 compatibility: Use Django’s newer smart_text and force_text if available. - smart_unicode and force_unicode aren’t defined in django.utils.encoding on Py3 - Ed Schofield
  • Python 3: fix arg_names lookup in FormForForm.__init__ - Ed Schofield
  • Python 3 compatibility: Fix galleries/models.py: use BytesIO etc - Ed Schofield
  • Add Python 3.3 to .travis.yml - Ed Schofield
  • Revert “Add Python 3.3 to .travis.yml". This reverts commit 4dee3b787d040613fa632c3300a29def955ca128. Django 1.4.x doesn’t support Python 3.x, so the .travis.yml file needs to. specify that the combination of Python 3.3 and Django 1.4.x should not be. tested - Ed Schofield
  • Change __unicode__ -> __str__ and add python_2_unicode_compatible decorator - Ed Schofield
  • Disable standard_library import hooks for pychecker - Ed Schofield
  • Add future == 0.8.2 to requirements; remove dependency for setup.py - Ed Schofield
  • Change future dependency to >= 0.8.2 - Ed Schofield
  • Add Python 3.3 back to .travis.yml and disable tests on Py3.3 + Django 1.4 - Ed Schofield
  • Fix location of urlparse on Python 2 - Ed Schofield
  • Add Python 3 classifier for PyPI - Ed Schofield
  • Prevent UnicodeDecodeError in test run on Py2 if files in the local dir have high-bit chars. - Also remove an extraneous import - Ed Schofield
  • Python 3: import local_settings correctly from project_template.settings - Ed Schofield
  • Work around Django / Python 2.x not supporting unicode cookie keys - Ed Schofield
  • Change Py3-incompatible is-this-a-string type-check hack in send_mail_template - Ed Schofield
  • Fix for mezzanine.utils.email imports - Ed Schofield
  • Remove Django 1.4.x from .travis.yml for pull request for early testing - Ed Schofield
  • import_rss and import_tumblr scripts: fix urllib imports on Py2 - Ed Schofield
  • Remove all isinstance() imports (with future v0.9). - These are not needed in future v0.9 - Ed Schofield
  • Handle context_data is None in PageMiddleware - Stephen McDonald
  • No need to provide TEST_RUNNER in settings - Stephen McDonald
  • Restore 1.6 fix for generic relations - Stephen McDonald
  • Don’t use deprectaed depth arg for select_related in page_menu tag - use the built up list of subclass models instead, as per in the admin - Stephen McDonald
  • Revert “Restore 1.6 fix for generic relations.". This reverts commit 19288b896a5ccb146ae8fe8e25cde5a768079c0d. _meta.get_all_field_names() load the app cache. This cannot be called. during the app cache loading. Those line have been posing problems as seen in: * 19288b896a5ccb146ae8fe8e25cde5a768079c0d. * d2b68151ca936422eef3d0b7cc2a8e63f5e2d4d1. * 69acbfd8f025d2b245c4c8e8ca4d1484f0c1228d - Antoine Catton
  • Fix circular import problem and keep Django 1.6 compatibility. See: * f48390c4c8d61ca499f277f2ae1c2346262b949d. * 19288b896a5ccb146ae8fe8e25cde5a768079c0d. * d2b68151ca936422eef3d0b7cc2a8e63f5e2d4d1. * 69acbfd8f025d2b245c4c8e8ca4d1484f0c1228d. Thank you Gavin Wahl (gwahl at fusionbox dot com) for the solution - Antoine Catton
  • Bump future version requirement to 0.9.0 - Ed Schofield
  • Add Django 1.4.8 back to .travis.yml and disable tests on Py3.3 + Django 1.4.8 - Ed Schofield
  • Remove some unnecessary list() calls around map() results - Ed Schofield
  • Allow fab remove to run when db/user don’t exist - Stephen McDonald
  • Allow multiple deployed projects with ssl in nginx conf - Stephen McDonald
  • Fixed a few small spelling errors - Tuk Bredsdorff
  • In set_dynamic_settings don’t convert tuple settings back to tuples if they were already a list. Closes #821 - Stephen McDonald
  • Python 3 fix - can’t compare string and int when sorting content types in page admin - Stephen McDonald
  • Don’t install optional dependencies for Python 3 that aren’t yet compatible with it - Stephen McDonald
  • Fix string cast for file fields in thumbnail template tag - Stephen McDonald
  • Overide staticfiles’ runserver command and wsgi handler during development, to allow uploaded files to be served from within the static dir - Stephen McDonald
  • Update refs to latest Django 1.4/1.5 versions - Stephen McDonald
  • Add project path to search path in tests - Stephen McDonald
  • Authenticate new user using a token instead of a password to support password-less configurations - Alex Hill
  • If new user’s password is empty, make this explicit by calling set_unusable_password() - Alex Hill
  • Only load editable settings from the database - Alex Hill
  • Add a test for fixed editable settings behaviour - Alex Hill
  • Load settings in a separate method, emit warnings for settings that are defined twice - Alex Hill
  • Assume settings pulled from the database are UTF-8 - Alex Hill
  • Remove assignment to make pyflakes happy - Alex Hill
  • Remove use of from future import standard_library for now (issue #826). - This feature in future is currently buggy. - The import was not actually needed by some modules anyway - Ed Schofield
  • Remove deprecated assert methods - Stephen McDonald
  • Clean up editable setting loading - Stephen McDonald
  • Move special-case bytes conversion to _load method - Alex Hill
  • Add test for special-case bytes conversion - Alex Hill
  • Fix inline editing response. Closes #829 - Stephen McDonald
  • Upstream update to Bootstrap 3.0.2 - Eduardo Rivas
  • Update footer link to point to the Bootstrap 3 site - Eduardo Rivas
  • Inline Admin: Convert editable_form.html to BS3 - Eduardo Rivas
  • Make auto-generated slugs propagate. Fixes #831 - Alex Hill
  • Use reverse instead of models.permalink in BlogPost.get_absolute_url - Stephen McDonald
  • Allow all models subclassing Displayable to be searched by setting SEARCH_MODEL_CHOICES to None - Stephen McDonald
  • Update search engine docs - Stephen McDonald
  • Fix some type handling for settings in mezzanine.conf - Stephen McDonald
  • More Python 3 fixes for types in mezzanine.conf - Stephen McDonald
  • Allow specifying optional left and top values to the thumbnail tag which control the centering of the thumbnail. If non default values are used update the thumbnail name - Josh Cartmell
  • Allow None to be used as a per_page arg for pagination, to bypass pagination altogther - Stephen McDonald
  • Force string type names for HTML5 form fields - Stephen McDonald
  • Clean up positioning code in thumbnail tag - Stephen McDonald
  • added three classes “left”, “middle” and “right”. these classes are used by cartridge to use the entire space in checkout process - Sebastian Clemens
  • fix on __admin_media_prefix__ about the trailing slash - Alexandre Hajjar
  • Namespace jQuery in the admin pages to prevent conflicts - Zachery Metcalf
  • Upstream update to Bootstrap 3.0.3 - Eduardo Rivas
  • Use the new BS 3.0.3 colors for error fields - Eduardo Rivas
  • Py3k compatibility fixes in two-phase rendering - Alex Hill
  • Update forms.py. Added a check to see if the initial value for a field is a manager - Tim Harton
  • Fixed multipleschoiceselect error with profiles - Tim Harton
  • Slightly cleaner related field check in profile form - Stephen McDonald
  • Add a {% block %} to .form-actions in account_form.html for Cartridge. to extend. This makes it easier for Cartridge to insert an “Order History” button - Eduardo Rivas
  • Increased margin around buttons in the user panel. Makes it look less. crammed - Eduardo Rivas
  • Render form errors with a new {% errors_for %} template tag. This new template tag accomplishes three things: - Fixes the bug of multiple form error messages appearing when using. {% fields_for %}. This bug was intruduced in [this commit](https://github.com/jerivas/mezzanine/commit/323660db5bee7e21358315c4e247eaa8ee77b034). and was discovered when [migrating Cartridge to BS3](https://github.com/clemensbasti/cartridge/pull/1). - Decouples error message rendering from form field rendering, with. the added flexibility of placing the error messages wherever we want. - Creates a new template (includes/form_errors.html) as the single. location to control form error rendering through all Mezzanine and. Cartridge - Eduardo Rivas
  • Admin href disqus recent comments to https or http via double slash. Changed how the disqus widget in the admin panel loads its recent. comments. This will fix any errors for loading insecure content - Daniel Lawrence
  • verbose_names should be capitalized when output. The convention is to always use lowercase verbose_names and capitalize. in the template where necessary. <https://docs.djangoproject.com/en/1.0/topics/db/models/#verbose-field-names>. > The convention is not to capitalize the first letter of the. > verbose_name. Django will automatically capitalize the first letter. > where it needs to - Gavin Wahl
  • Fix a bunch of regressions from namespacing jQuery in admin - Stephen McDonald
  • Add django 1.6.1 to supported/tested versions - Stephen McDonald
  • Move sitemap generation logic for Displayable instances into DisplayableManager - Stephen McDonald
  • Added the url/view for displayable_links.js which is then used by TinyMCE to render a list of site links to use - Stephen McDonald
  • In TinyMCE, don’t convert relative urls to absolute - Stephen McDonald
  • Added ALLOWED_HOSTS configuration for Django. As it’s part of the default django settings, we also need this in mezzanine - Sebastian Clemens
  • Python 2/3 fix for forms export - Stephen McDonald
  • Added LANGUAGES to settings, since they’re needed for multilingual support - Sebastian Clemens
  • Added django.middleware.locale.LocaleMiddleware to MIDDLEWARE_CLASSES - Sebastian Clemens
  • Added a language selector field to the login and admin site - Sebastian Clemens
  • Mention Widgy in the list of third-party modules - Gavin Wahl
  • Only show admin language selector when multiple languages configured - Stephen McDonald
  • Don’t use future’s int for int settings. Closes #855 - Stephen McDonald
  • In admin customization section of docs, mention in_menu method on admin classes for controlling ADMIN_MENU_ORDER behavior - Stephen McDonald
  • Move requirements file for project_template into project root to better conform with hosting providers like Heroku. Closes #859 - Stephen McDonald
  • Broader excpetion handling for importing bleach since its deps aren’t Python 3 ready - Stephen McDonald
  • Fix for django-debug-tolbar 1.0 which prevents later middleware from running - Stephen McDonald
  • Add config for wheel distribution - Stephen McDonald
  • Remove use of deprecated simplejson module and clean up other imports - Stephen McDonald
  • Provide read-only twitter settings for the default query - Stephen McDonald

Version 1.4.16 (Sep 30, 2013)

  • Revert broken static proxy change - Stephen McDonald
  • Better fix for static proxy urls - Stephen McDonald

Version 1.4.15 (Sep 29, 2013)

  • Blog: Generate RSS and Atom feeds through richtext_filters - Eduardo Rivas
  • Delete BS2 static resources. Add BS3 resources: css, js and fonts - Eduardo Rivas
  • Migrated base.html and all it’s includes to BS3 - Eduardo Rivas
  • Strip STATIC_URL, leading / from proxied URLs. STATIC_URL often contains host or generic_host (esp. if STATIC_URL is a. path on the same domain), so it needs to be removed first to ensure it. is removed completely. Also removed leading ‘/’ from URL, since it. appears staticfiles doesn’t like absolute paths - Adam Brenecki
  • Added a function mezzanine.utils.urls.next_url which is used to retrieve redirect URLs from a request’s next param, while verifying that the redirect URL is valid - Stephen McDonald
  • Fix min Dajngo version - Stephen McDonald
  • Use request.get_host rather than request.META['HTTP_HOST'] - Stephen McDonald
  • Fix Django version for travis - Stephen McDonald

Version 1.4.14 (Sep 14, 2013)

  • Blog: Catch exception if a non-existent month is requested from the archives - Eduardo Rivas

Version 1.4.13 (Sep 10, 2013)

  • Allow for there being no “errors” in the twitter api response. When a successful “user” query to the twitter api is completed the json that is returned is a list. In order to validate the response the code tests to see if it was a dictionary with an “error” key. However passing a string as a index to a list will raise a TypeError, which was not being caught by the “except” clause. I have added TypeError to the list of items being caught. There are of course other ways of verifying the response but I think just adding the TypeError is in keeping with what you have already done. For reference, here is what I was seeing: > python manage.py poll_twitter –traceback –force. Traceback (most recent call last): ,. File "/,/lib/python2.7/site-packages/mezzanine/twitter/models.py", line 74, in run. raise TwitterQueryException(tweets[“errors”][0][“message”]). TypeError: list indices must be integers, not str - David Higgins
  • Fix tag cloud factor in generic app - Stephen McDonald

Version 1.4.12 (Aug 27, 2013)

  • Remove bad 1.6 handling - Stephen McDonald
  • Fix settings context processor for email template contexts when cache installed - Stephen McDonald

Version 1.4.11 (Aug 26, 2013)

  • Added mezzatheme themes marketplace to features list - Stephen McDonald
  • Method to load all symbols of all files in a submodule - Thomas Rega
  • Use new decorator "richhtext_filters". The decorator "richtext_filter" is marked as deprecated - Thomas Rega
  • Move gallery related tests into the app directory. If the app is not installed, the tests are not executed - Thomas Rega
  • Move blog related tests into the app directory. If the app is not installed, the tests are not executed - Thomas Rega
  • Move page related tests into the app directory. If the app is not installed, the tests are not executed - Thomas Rega
  • Move account related tests into the app directory. If the app is not installed, the tests are not executed - Thomas Rega
  • Move form related tests into the app directory. If the app is not installed, the tests are not executed - Thomas Rega
  • Move core related tests into the app tests directory. These tests do not belong direct to an specific app, so they stay. in the core app directory for now - Thomas Rega
  • Simplify new test module structure - Stephen McDonald
  • Provide a common TestCase class for all app specific tests, for features such as admin user plus debug cursor for query tracking. Also consistent naming for tests - Stephen McDonald
  • Move tons of tests into their correct apps - Stephen McDonald
  • Patch jquery.overlay with jquery.browser support to work with new jQuery versions. Closes #701 - Stephen McDonald
  • Force tinyMCE save in dynamic_inline.js to avoid issues with richtext fields in dynamic inlines and ordering values not correctly handled. Closes #731 - Stephen McDonald
  • Update dev status classifier in setup.py - Stephen McDonald
  • Remove inclusion of mezzanine.accounts when testing - Zach Gohr
  • Inject all Mezzanine apps into the temp settings module when Mezzanine itself is being tested - Stephen McDonald
  • Use setuptools to test on travis - Stephen McDonald
  • Apply skipTests throughout different tests where apps are coupled - Stephen McDonald
  • setup.py specifies the test deps so we don’t need to grab them for travis now - Stephen McDonald
  • Update send_mail_template to pass optional email headers to the EmailMultiAlternatives constructor. Rather than having the form page_processor send mail from user submitted email addresses (if present) have it specify the Reply-To header - Josh Cartmell
  • Get rid of FORMS_DISABLE_SEND_FROM_EMAIL_FIELD, always add the Reply-To header if there is an email_to - Josh Cartmell
  • Adding template accessible settings into context for rendering templates for emails - Danny Sag
  • Handling case when diff between min and max count is smaller than size. Weights were not calculated correctly when difference between max_count and min_count was smaller than settings.TAG_CLOUD_SIZES. Changed calculation of weights to use floating point arithmetic. The results of weight calculations using old and new code are shown below: http://ideone.com/fXs5aG - Ahmet Bakan
  • Adding .control-label to form_fields.html - Troy Harvey
  • Be a bit more explicit with request arg in settings context processor - Stephen McDonald
  • Added mezzanine-meze to third-party apps list - Stephen McDonald
  • Added support for Django 1.6. - The situations in which contribute_to_class is called have changed. - Fixed DeprecationWarning about simplejson. - Explicitly set the TEST_RUNNER to the pre 1.6 one. - Set default=False on BooleanField - Rocky Meza
  • Keep django version pinned - Stephen McDonald
  • Ensure correct arguments are used when returning a Page in place of a 404 from a non-page urlpattern - Ben Ledbury
  • Better error propagation when querying for tweets - Stephen McDonald
  • Added –force option to poll_twitter command which will query for tweets on all queries - Stephen McDonald
  • Catch and show twitter query errors in management command, and allow continuing - Stephen McDonald
  • Allow twitter queries to gracefully fail in templates - Stephen McDonald
  • Bump requeusts-oauthlib version. Closes #764 - Stephen McDonald
  • Exempt Link pages from 404 Page replacement - Ben Ledbury
  • Changed ‘form’ to 'editable_form' to fix naming conflict. Editable JS no longer being pulled in - Nicole Harris
  • Don’t quote bullets,. The indentation causes the bullets to be treated as blockquotes - David Winterbottom
  • ,but do quote quotes :grinning: - David Winterbottom
  • Use correct comment field name in akismet API. Closes #768 - Stephen McDonald
  • Added TimeStamped model mixin to Displayable, for created/updated timestamps on all models. Closes #661 - Stephen McDonald
  • Allow account signups with profiles containing non-nullable fields. Closes #749 - Stephen McDonald

Version 1.4.10 (Jul 29, 2013)

  • Added window.__language_code variable to admin and inline loader - Artem Gluvchynsky
  • Better error message for page models that get removed from INSTALLED_APPS. Closes #722 - Stephen McDonald
  • Allow initial user creation in syncdb when a profile model is managed by migrations and doesn’t yet exist - Stephen McDonald
  • Looser AJAX response check for page reordering. Closes #727 - Stephen McDonald
  • Allow key settings to be defined in fab conf and injected into live local_settings module - Stephen McDonald
  • Added valid Polish messages for mezzanine/core. Closes #729 - Marek Wywiał
  • add a tox.ini config file - jferry
  • Use protocol-relative URL to avoid SSL warnings - Vinod Kurup
  • Make running fabfile outside project root optional, since it conflicts with importing the fabfile into other fabfiles - Stephen McDonald
  • Specify minimum version of pytz requirement - Vinod Kurup
  • Fixed view and JS to be compatible with jQuery 1.8 - Ethan Goldstine
  • Fix gravatar_url tag for non-ascii email addresses. Closses #721 - Stephen McDonald

Version 1.4.9 (Jul 10, 2013)

  • Allow deployments to be run from project subdirectories - Stephen McDonald
  • Add support for settings.RICHTEXT_FILTERS. RICHTEXT_FILTERS is a list of items that are valid for the. RICHTEXT_FILTER setting. The plural version takes precedence if it is. available and non-empty. Each item in RICHTEXT_FILTERS is applied in. order. An alias for the richtext_filter template filter has been added to. match the plural nature of the new setting: richtext_filters simply. calls on richtext_filter for its output - Tim Valenta
  • Fixed blog post categories list in blog_post_list.html template - Artem Gluvchynsky
  • Removed redundant jQuery media from KeywordsWidget - Artem Gluvchynsky
  • Use urljoin in Page.get_absolute_url for link pages - Dheeraj Sayala
  • RTL: fix position of changelink icon in page tree after recent changes. Problem introduced in aec1a0462b60, which solves an issue due to long. page names - Ahmad Khayyat
  • Comma separate categories in blog post listing - Stephen McDonald
  • Update docs for new RICHTEXT_FILTERS setting - Stephen McDonald
  • Properly deprecate RICHTEXT_FILTER setting in favour of RICHTEXT_FILTERS (plural) setting - Stephen McDonald
  • Update templates to use new richtext_filters (plural) tag - Stephen McDonald
  • Allow a single BCC address in addition to list/tuple. BCC fails if the addr_bcc argument is a single address rather than a list/tuple. This commit wraps a single address in a list to fix this problem - Alex Hill
  • Make sure request._messages has been set before trying to access it. This is for cases where the MessageMiddleware hasn’t had a chance to. run, e.g when a previous middleware returned an exception - Gu1
  • Use a separate key setting for nevercache tokens - Stephen McDonald
  • Add is_current_parent on pages filtering - Antoine Catton
  • Remove field related to Django built-in user model. South is expecting those fields to be in the database. So it is. selecting them, since some custom user models don’t have them, this can. break this migration - Antoine Catton

Version 1.4.8 (Jun 27, 2013)

  • Fix nginx config to work on more recent ubuntu versions. Not sure how backwards compatible this is. Please see: http://stackoverflow.com/questions/8768946/dealing-with-nginx-400-the-plain-http-request-was-sent-to-https-port-error - David Novakovic
  • dynamically generate top margin of admin content area - Andromeda Yelton
  • contentMargin out of global namespace - Andromeda Yelton
  • Force csrf token generation on every request with cache middleware. Closes #676 - Stephen McDonald
  • Use a more explicit name in PageAdmin.get_content_models which won’t collide with a commonly used field name such as name - Stephen McDonald
  • Don’t use ugettext_lazy for form field labels since Django will double-escape them. Closes #682 - Stephen McDonald
  • Move case-insensitive keyword creation into KeywordManager, and allow for duplicate results. Closes #679 - Stephen McDonald
  • Fix ADD_PAGE_ORDER. Closes #681 - Stephen McDonald
  • Fix uses of next param for redirects where param exists but value is empty - Stephen McDonald
  • Revert fix to #594 #677 - causes issues with status messages - Stephen McDonald
  • TagCloser - don’t close br and image tags - John Groszko
  • Test changes to TagCloser - John Groszko
  • Clean up some docstrings - Stephen McDonald
  • When using search against an abstract model (eg Displayable), filter the combined models searched against by the models represented in the SEARCH_MODEL_CHOICES setting. Closes #684 - Stephen McDonald
  • Add a note to search docs about SEARCH_MODEL_CHOICES affecting abstract search behaviour - Stephen McDonald
  • Added missing class to collapsible navbar that affected nested menus - Jason Wong
  • SS: Moved to the original - Sachin Shende
  • long title : break words on pages tree - jferry
  • SS: Changes done to Twitter app to upgrade to API 1.1. 1. Added requests==1.2.3 and requests-oauthlib==0.3.2 to the dependency list. 2. Added 4 new keys to the settings. 3. Changed models to use new authentication for Twitter API, changed urls and other changes to parse the response - Sachin Shende
  • use of staticfiles to get url to tinymce - Eduardo S. Klein
  • Just added my Website to the gallery ;) - Rafael Beckel
  • More consistent names and validation of new twitter settings - Stephen McDonald
  • Document new requirements for Twitter API - Stephen McDonald
  • Fix for Issue #691 - ACCOUNTS_APPROVAL_REQUIRED bypasses ACCOUNTS_VERIFICATION_REQUIRED - Ling Thio
  • Provide better default for FILE_UPLOAD_PERMISSIONS - Stephen McDonald
  • fixed little firefox bug - jferry
  • Improved ssl cipher settings in default nginx conf - Stephen McDonald

Version 1.4.7 (May 17, 2013)

  • Added the ACCOUNTS_NO_USERNAME setting, which will hide the username field from signup/update forms, but still generate a unique username for use in profile view slugs - Stephen McDonald
  • Allow querystring vars to be excluded from pagination links - Stephen McDonald
  • Missing migration on site perms. Closes #655 - Stephen McDonald
  • Added support for setup.py test - Stephen McDonald
  • Pass in the user to page.get_ascendants in the page view. This will allow previewing of the unpublished children pages of. unpublished parent pages. fixes #653 - Rocky Meza
  • Lowered MAX_POSTS_PER_CALL to 20; Added support for question/answer posts - Jeff Fein-Worton
  • Use a context instance when rendering page menus, huge performance boost - Stephen McDonald
  • Fixed rss import errors - Andrey Zhukov
  • Fixed the igrations to be able to run with a custom user model. This uses a pattern copied from django-reversion: https://github.com/etianen/django-reversion/blob/master/src/reversion/migrations/0001_initial.py - Rocky Meza
  • Add addr_bcc arg to send_mail_template. This accommodates the new setting SHOP_ORDER_EMAIL_BCC in Cartridge - Alex Hill
  • Fix lookup for username generation when ACCOUNTS_NO_USERNAME is True, closes #664 - Stephen McDonald
  • Fixed 0005 migration wrt custom user models - Rocky Meza
  • Correctly validate float settings in mezzanine.conf - Stephen McDonald
  • Added some validation in the createdb command that fails if a Mezzanine table exists, to prevent people from running it and accidentally faking new migrations that need to be run - Stephen McDonald
  • mezzanine/accounts/templates/email/account_approved.html: removed the extra. “http://” - Alexandre Hajjar
  • Make fabfile work in Windows. Two small changes allow deployment via Fabric from Windows: * Use posixpath.join instead of os.path.join to construct all paths destined for the remote machine. * Check for "fab-file.py" as well as “fab” in sys.argv, to handle the way setuptools-generated command-line scripts work in Windows - Alex Hill
  • Fix urlpattern for archive year - Stephen McDonald
  • Hide printing STATIC_ROOT in deploys - Stephen McDonald
  • Added paragraph to mezzanine/docs/user-accounts.rst about ACCOUNTS_NO_USERNAME. setting - Alexandre Hajjar
  • Used username_label variable in the PasswordResetForm label. (accounts/forms.py) - Alexandre Hajjar
  • Pin html5lib, see https://github.com/jsocol/bleach/issues/94 - Stephen McDonald
  • Added an extra safeguard for type errors in editable settings - Stephen McDonald

Version 1.4.6 (Apr 27, 2013)

  • Fix set_dynamic_settings for projects without AUTHENTICATION_BACKENDS defined - Stephen McDonald
  • Provide meaningful exception when dotted import fails - Sam Kingston
  • SS: Line 12 dsq.src changed to include https if the site is runnning on SSL. Comments do not appear if the site is running on SSL and js link is http - Sachin Shende
  • Adding Golds Gym Utah - Josh Batchelor
  • If static_directory does not exist, create it. Instead of trying to tar the static directory (which. fails when the dir does not exist), we create it when. is missing - José Aliste
  • Hack for generic fields that allows MySQL migrations to run correctly - Stephen McDonald
  • Don’t assume a site exists in some older migrations - Stephen McDonald
  • Use consistent language for ‘log in / sign up’ - Stephen McDonald
  • The db_type field must take a second ‘connection’ argument, even though unused, otherwise one gets an ‘unexpected keyword argument connection’ TypeError - Marcos Scriven
  • Added a port of Django’s RedirectFallbackMiddleware with support for Mezzanine’s multi-site handling. Closes #535 - Stephen McDonald
  • Changelist view signature change to work with reversion - Thejaswi Puthraya
  • Mark redirects middleware as unused if redirects not installed - Stephen McDonald
  • Add special handling in PageMiddleware for non-page views that raise 404s, but do so with a valid page slug - in this case, we use the page view instead, which allows pages to be created that may match non-page urlpatterns. Closes #561 - Stephen McDonald
  • Fix CSRF token generation when cache is enabled, should solve #632 - Gu1
  • Be more explicit in checking for a test run management command - Stephen McDonald
  • Add missing reference for link - Thibault J.
  • Fix SearchableManager._search_fields incorrectly persisting across managers for model subclasses. Closes #633 - Stephen McDonald
  • Add code of conduct - Ken Bolton
  • New mezzanine-file-collections reference. mezzanine-media-library got renamed to mezzanine-file-collections. The reference was updated in this commit - Thibault J.
  • Added the bool setting ACCOUNTS_APPROVAL_REQUIRED, which defaults to False and when set to True, sets newly created public user accounts to inactivate, requiring activation by a staff member. Also added the setting ACCOUNTS_APPROVAL_EMAILS which can contain a comma separated string of email addresses to send notification emails to each time a new account is created and requires activation. Closes #417 - Stephen McDonald
  • Document the new account approval feature - Stephen McDonald
  • Better name for emails_list -> split_addresses - Stephen McDonald
  • Fix thumbnail template tag for palette-mode images. Closes #636 - Stephen McDonald
  • Added select_related for user in blog_recent_posts template tag - Stephen McDonald
  • Fix lookup of initial data in from-builder forms, and correctly handle initial values for checkbox fields - Stephen McDonald
  • Allow forms-builder forms to contain template code for default values - Stephen McDonald
  • Provide more granular export filtering for multiple-choice fields in forms-builder export, eg matches/doesn’t match any/all selected choices, and also allow range filters to use only one boundary - Stephen McDonald
  • Fix static_proxy to work with //host STATIC_URLs. STATIC_URL = '//mybucket.s3.amazonaws.com' would break the static_proxy prefix stripper, and therefore break tinyMCE plugins. This fix adds proper handling of generic-protocol hostnames to the static_proxy view - Gabe Smedresman
  • Reorder blog and accounts patterns in mezzanine.urls to allow for projects with a blog homepage that also have accounts enabled - Stephen McDonald
  • Fix handling of paths in zip imports in galleries app - Stephen McDonald
  • accounts: properly reject multiple matching e-mail addresses. Django allows multiple Users with the same e-mail address; the existing. form can throw MultipleObjectsReturned when get(email=email) is called. against such a dataset - mike wakerly
  • Added default wsgi script to project template - Stephen McDonald
  • Only add input-xlarge on inputs without a class attribute, fixes #643 - Gu1
  • Replaced the BLOG_URLS_USE_DATE setting with a new BLOG_URLS_DATE_FORMAT setting - it can contain the string year, month, or day, which controls the date granularity in blog post URLs - Stephen McDonald
  • Editable settings refactor - this change is to clear up confusion around editable settings being defined in a project’s settings module. Previously when this happened, the settings.py module value would only serve as a default, which would be superceded by the db editable value as soon as the settings admin form is first saved. To address this, this change means that editable settings defined in the project’s settings.py module now mark the setting as not editable, so it will always be the value used. We also include some handling for the migration case so that even with this change, editable settings already in the db that have a settings.py value defined will still use the db value and provide a warning - Stephen McDonald
  • Revert the handling for still using db values for editable settings with settings.py values defined, since it basically defeats the purpose if a settings.py value is added once a project is live - Stephen McDonald
  • New INLINE_EDITING_ENABLED setting doesn’t need to be editable - Stephen McDonald
  • Don’t force lowercase keywords. Closes #647 - Stephen McDonald
  • Allow blog feed title and description to be overridden - Stephen McDonald
  • Use callable description in atom rss feed - Stephen McDonald
  • Properly escape comments in comment_filter template tag - Stephen McDonald

Version 1.4.5 (Apr 02, 2013)

  • Fix some static urls in admin to support external storage backends - Stephen McDonald

Version 1.4.4 (Mar 30, 2013)

  • Added user FK to rating model, and allow authenticated users to edit their ratings. Added new setting RATINGS_ACCOUNT_REQUIRED to allow ratings to behave like comments, where requiring authentication can store post data in session until user logs in to complete the rating - Stephen McDonald
  • If RichTextPage is unregistered in the admin, have the page add link in the dashboard go to the page tree - Stephen McDonald
  • Let’s go back to a fixed-width navbar - Stephen McDonald
  • Give the navbar some more space - Stephen McDonald
  • Docs for using the Media Library browse dialog in custom widgets - Ahmad Khayyat
  • Added the ADD_PAGE_ORDER setting, which is a sequence of app_label.object_name values of Page subclasses, for defining the ordering used in the add drop-down on the admin page tree - Stephen McDonald
  • Use CSS instead of JavaScript for the admin app dropdowns. There were some bugs with the dropdowns when they were in JavaScript: 1. When you open a dropdown and then scroll, the dropdown would stay. put, instead of following the scroll. 2. The JavaScript used .live(‘mouseover’) which binds to body and. wastes memory because it’s fired for mouseover on every single DOM. element. 3. Occasionally, the dropdowns never disappeared even after mouseout. This commit fixes those bugs by using CSS and :hover instead of. JavaScript. Additionally, it simplifies the JavaScript related to. setting the href of the primary menu item links to their first child. It is a pixel for pixel match of the previous functionality and. appearance - Rocky Meza
  • Update to bootstrap 2.3.1 - Stephen McDonald
  • Use Django’s module_has_submodule util in any module autodiscover scenarios (page processors, conf defaults) so we can correctly propagate real errors - Stephen McDonald
  • Tighten up the search form css a bit - Stephen McDonald
  • Remove the model graph FAQ since no one’s actually ever asked it - Stephen McDonald
  • New docs sesction, Utilities, covering the models/fields in mezzanine.generic, as well as some of the more useful template tags in mezzanine_tags - Stephen McDonald
  • Django 1.5 url compatability - pahaz
  • Use future lib in form entries template for backward compat - Stephen McDonald
  • Fix search form HTML - Stephen McDonald
  • Add JQUERY_UI_FILENAME setting and corresponding docs - Ahmad Khayyat
  • Fix rating field lookups - Stephen McDonald
  • Added domain to cache key for site ID caching - Stephen McDonald
  • Added some JS to the default front-end templates that delays closing of dropdown menus in the primary nav to make them more user friendly. Closes #587 - Stephen McDonald
  • Added the setting BLOG_RSS_LIMIT defaulting to 20, which limits the number of blog posts shown in the RSS feed - Stephen McDonald
  • Update BLOG_RSS_LIMIT setting description to describe setting it to None for no limit - Stephen McDonald
  • Make BLOG_RSS_LIMIT setting not editable - Stephen McDonald
  • A little late here, but fix Django 1.3 support - Stephen McDonald
  • Provide a default max_length for FileBrowseField - Stephen McDonald
  • Added a website powered by Mezzanine - poptosic
  • Better comment button text - Stephen McDonald
  • Unicode fix for comment emails - Stephen McDonald
  • 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
  • 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
  • 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
  • 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
  • Fixed dynamic admin inlines for subclasses doing fields magic. (assuming that InlineAdmin.fields is a user-provided list) - wrwrwr
  • 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 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
  • 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
  • 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
  • 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
  • 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
  • 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
  • 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
  • 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
  • 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

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
  • 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
  • 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
  • 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
  • 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
  • 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
  • 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 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
  • 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 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
  • 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
  • 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

Version 1.1.4 (Jun 27, 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)

  • 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
  • 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 04, 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
  • 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
  • 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
  • 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
  • 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
  • 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
  • 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 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 26, 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)

  • Upgrade Bootstrap to 2.0.2 - Stephen McDonald

Version 1.0.6 (Mar 21, 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

Version 1.0.5 (Mar 19, 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)

  • No changes listed.

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
  • Disable nav in popups. Closes #152 - Stephen McDonald
  • Refactored model graph building in docs - call management command natively, and handle all the error conditions - Stephen McDonald
  • Internal refactoring of abstract models in mezzanine.core. Move admin_link from Displayable to Slugged, since it is more closely related to URLs. Move description_from_content from Slugged to MetaData, since it is more related to description on MetaData. Don’t rely on title in description_from_content, just use string version of an instance, which is title anyway via Slugged - Stephen McDonald
  • Added handling for having ‘save’ and ‘save and continue’ in SingletonAdmin - Stephen McDonald
  • Make pillow an optional dependency, only used when PIL isn’t installed - Stephen McDonald
  • Added bootstrap’s collapsible navbar, upgraded jQuery to 1.7, and added a setting JQUERY_FILENAME so that the jQuery file/version is stored in one place - Stephen McDonald
  • Fix cyclic import in Django 1.4 - Stephen McDonald
  • Don’t abort on graph generation in docs build, since we can use the repo version of it - Stephen McDonald
  • Pin exact versions in dependencies - Stephen McDonald
  • Fix form export encoding - Stephen McDonald
  • Updated database settings to use prefixed format. unprefixed format removed from django 1.4. Added django.db.backends. to. settings.py and local_settings.py templates - Patrick Taylor
  • Clean up db settings and remove helpers from mezzanine.utils.conf - Stephen McDonald
  • Added more info and examples of different homepage patterns in project_template/urls.py - Stephen McDonald
  • Added FAQs section to docs - Stephen McDonald
  • Skinned the docs to be in line with the Mezzanine project’s homepage styling - Stephen McDonald
  • Added storage API to thumbnail template tag, and zip upload for galleries - Stephen McDonald
  • Fix use of with statement for Python 2.5 - Stephen McDonald
  • Use django’s conf at the module level in mezzanine.core.fields, so that fields can be loaded prior to mezzanine.conf being loaded - Stephen McDonald
  • Exclude static dir from package - Stephen McDonald
  • Added the collecttemplates management command, for copying all (or app specific) templates to a project - Stephen McDonald
  • Added secure arg and default expiry seconds to mezzanine.utils.views.set_cookie - Stephen McDonald
  • Added mezzanine.utils.email.send_mail_template for sending templated email, and integrated with mezzanine.forms. Closes #165 - Stephen McDonald
  • Fixed weird double-click bug in admin page tree - Stephen McDonald
  • Fixed regression in orderable inlines from upgrading to latest jQuery - Stephen McDonald
  • Fixed regression in keywords field from upgrading to latest jQuery - Stephen McDonald
  • Fixed signature change in Django 1.4’s admin change_view - Stephen McDonald
  • Fixed admin login redirect for non-login view URLs - Stephen McDonald
  • Fixed removed project_template setup in mezzanine-project. Closes #167 - Stephen McDonald
  • Use operating system separator - Chris Trengove

Version 1.0.2 (Mar 05, 2012)

  • Update setup to exclude new dev db name - Stephen McDonald

Version 1.0.1 (Mar 05, 2012)

  • Add a patch to the changelog generator for the versioning blunder - Stephen McDonald
  • Added a new middleware which will serve templates from a theme, based upon the host accessing the site - Josh Cartmell
  • Separated the logic a little more to make host_theme_path more reusable - Josh Cartmell
  • Remove mention of site_media which no longer applies with staticfiles used - Stephen McDonald
  • Avoid file-in-use exception when deleting (on Windows) - Chris Trengove
  • Added quote by Antonio Rodriguez and one line bio for each of the quoters - Stephen McDonald
  • Fix a couple of test failures on Windows - Chris Trengove

Version 1.0.0 (Mar 03, 2012)

  • Fixed runserver arg parsing for grappelli media hosting. Closes #110 - Stephen McDonald
  • Added a note to the docs about not subclassing RichTextPage - Stephen McDonald
  • Raise a more meaningful error message when someone tries to subclass a custom content type, which isn’t supported - Stephen McDonald
  • Every model mixing Slugged in with a cyclical dependency fails with dumpdata in current Django (including a tree with a fix applied for Django ticket #14226). The natural key declared in Slugged is the culprit - derkaderka
  • Bookmarks are removed from grappelli_safe - Stephen McDonald
  • Fixed duplicate keyword handling regression and added support for automatically removing unused keywords. Closes #116 - Stephen McDonald
  • Added patching of django.contrib.admin.site in mezzanine.boot to defer certains calls to unregister/register to work around some loading issues for custom model fields - Stephen McDonald
  • Don’t use form email field as from address if FORMS_DISABLE_SEND_FROM_EMAIL_FIELD setting is True - John Barham
  • Register FORMS_DISABLE_SEND_FROM_EMAIL_FIELD in mezzanine.conf - Stephen McDonald
  • Fixed migration forms/0003 failure for Postgres - Luke Plant
  • Fixed dependencies of migrations, so that './manage.py migrate’ works even if starting from scratch - Luke Plant
  • Added installation instructions for adding Mezzanine to an existing project - Luke Plant
  • Added a generic RSS blog importer - Stephen McDonald
  • Added a type attribute to fields in mezzanine.forms.forms.FormForForm for use in styling, and removed CSS class assignments - Stephen McDonald
  • Addedmezzanine.mobile commented out to INSTALLED_APPS in project_template.settings - Stephen McDonald
  • Fixed authentication check in base admin template - Stephen McDonald
  • Ported default templates from 960.gs to Twitter Bootstrap - Stephen McDonald
  • Merge paging links settings into a single MAX_PAGING_LINKS setting - Stephen McDonald
  • Cleaned up settings ordering - Stephen McDonald
  • Stub out empty comment forms in the context for the comments test - Stephen McDonald
  • Don’t show help text for form fields with errors assigned, and show all errors rather than just the first - Stephen McDonald
  • Added docs for the RSS importer - Stephen McDonald
  • Update the docs copyright date and fix some warnings - Stephen McDonald
  • Fix template path for cartridge hook - Stephen McDonald
  • Added Number and URL field types to mezzanine.forms - Stephen McDonald
  • Unicode fixes for MS Excel in forms export - Stephen McDonald
  • Added a work-around for performance issues with jQuery.ui.sortable and large page trees - Stephen McDonald
  • Add pillow as a dependency for getting PIL install properly - Stephen McDonald
  • Added handling in PageAdmin for picking up any extra fields defined by subclasses of Page, when the admin class being used doesn’t implement any fieldsets - Stephen McDonald
  • Added a wrapper field mezzanine.core.fields.FileField for filebrowser’s FileBrowseField, falling back to Django’s FileField if unavailable - Stephen McDonald
  • Changed the filebrowser urlpattern to match the admin menu name - Stephen McDonald
  • Changed thumbnailing to use a separate directory defined by the setting THUMBNAILS_DIR_NAME - Stephen McDonald
  • Added additional URL structure. To better mimic wordpress and other blogs URL I added a. /year/month/slug url path - Josh
  • Changing name of url pattern - Josh
  • Added an image gallery app mezzanine.galleries - Stephen McDonald
  • Give blog post with date urlpattern a unique name and correct regex - Stephen McDonald
  • Added the setting BLOG_URLS_USE_DATE to control blog post url format - Stephen McDonald
  • Added my site which has taken the fairly popular pixel theme from Wordpress and partially created it from the html5boilerplate. I’ll be working on rounding it out even further - joejulian
  • Fixed Joe Julian’s site link - Stephen McDonald
  • Device detection uses lowercase strings - Alvin Mites
  • Added unique URLs for gallery photo overlays - Stephen McDonald
  • Updated device checking based on conversation from Stephen McDonald - Alvin Mites
  • Added a num_children attribute to page objects in page menus - Stephen McDonald
  • Changed LICENSE from 3-clause to 2-clause BSD - Stephen McDonald
  • Fixed unicode handling in gallery image description from name - Stephen McDonald
  • Added gallery image tests - Stephen McDonald
  • Added demo fixtures for galleries - Stephen McDonald
  • Add Blog Featured Images. Added featured images for blogs as well as settings to turn the feature. on and off - Josh
  • Migration file for Featured image and setting the field to null - Josh
  • Updated page_menu and tree.html to avoid creating uls if no pages in the page_branch are in_navigation - Josh Cartmell
  • Updated page_menu page_branch_in_navigation and page_branch_in_footer to be more concise. Updated tree.html and footer_tree.html not print out uls unless page_branch_in_navigation or page_branch_in_footer are set - Josh Cartmell
  • Accidentally omitted if from tag - Josh Cartmell
  • Updated footer.html to avoid unecessary uls - Josh Cartmell
  • Rolling back as the previous change to footer.html did not work with 3rd level menus - Josh Cartmell
  • Updated footer.html again to avoid unecessary uls - Josh Cartmell
  • Updated footer.html identation to be more consistent - Josh Cartmell
  • Refactored device handling to be based on TemplateResponse objects since dropping Django 1.1/1.2 support - Stephen McDonald
  • Use filebrowser field for blog feature image, and add template handling for it - Stephen McDonald
  • Removed all uses of ifequal and ifnotequal templatetags - Stephen McDonald
  • Added model graph to docs - Stephen McDonald
  • Change Displayable.status default to published - Stephen McDonald
  • Create dest directories in mezzanine.utils.tests.copy_test_to_media - Stephen McDonald
  • Prevent child pages being added to protected pages. Closes #131 - Stephen McDonald
  • Added SSLMiddleware which redirects based on matching url prefixes. Updated defaults.py with new settings related to the middleware. Added deprecation warning if SHOP_SSL_ENABLED or SHOP_FORCE_HOST is found in settings - Josh Cartmell
  • Updated deprecation warnings to work - Josh Cartmell
  • Middleware now redirects back to non-secure if the request is secure but does not have a prefix from SITE_FORCE_SSL_URL_PREFIXES - Josh Cartmell
  • Added fix for footer.html if a page is primary, in footer and the first in the loop - Josh Cartmell
  • Removed cartridge checks from SITE_FORCE_SSL_URL_PREFIXES defaults. Moving to cartridge and using append - Josh Cartmell
  • Restored mezzanine.core.AdminLoginInterfaceSelector and added a deprecation warning - Stephen McDonald
  • Added the setting TINYMCE_SETUP_JS which controls the URL for the TinyMCE setup JavaScript file - Stephen McDonald
  • Renamed SSL settings to begin with SSL and moved deprecation warnings to Cartridge - Stephen McDonald
  • Moved account functionality from Cartridge into Mezzanine, and added data migrations for editable setting name changes - Stephen McDonald
  • Make generated fields in mezzanine.generic (_string, _count, _average, etc) uneditable, to prevent them from appearing in admin change views that don’t have explicit admin classes registered - Stephen McDonald
  • Ensure generated fields in mezzanine.generic are unique instances - Stephen McDonald
  • Fixed branch clicking in admin page tree so that open/close for a branch doesn’t toggle its children (Thanks Jason Kowaleski) - Stephen McDonald
  • Changed admin dropdown menu to be injected into breadcrumb area, rather than floating on it, to allow for the breadcrumb background to wrap with menu items when the browser window is thin - Stephen McDonald
  • Fixed admin page tree on reload. The problem occured when reloading a page after setting an open child branch’s. parent as closed. When you reloaded a page the routine that would. reopen previously opened child branches (that are currently hidden by a parent). was causing said child branch displaying both the show(+) and hide(-). icons side by side which could be seen when reopening the parent. It would also cause this said hidden, opened child branch. to no longer be registered in the opened branch cookie. So if you were to. reload the page again, this branch wouldn’t be opened at all. The solution involves simply reopening all previously opened branches on. reload without worrying about adding their ID’s again to the cookie. It also. avoids using the Jquery toggle() function which seemed to be the problem. that caused both the show(+) and hide(-) buttons to appear - Kowaleski, Jason
  • Refactored rating form and templatetag to remove hard-coded field name - Stephen McDonald
  • Raise exception if any of the generic fields are used multiple times on the same model, since we don’t have access to the field being modified in the signals - Stephen McDonald
  • Added migrations for mezzanine.galleries - Stephen McDonald
  • Fail silently and return an empty list for objects given without a KeywordsField - Stephen McDonald
  • Refactored comment handling into its own view, and removed mezzanine.generic.utils.handle_comments - Stephen McDonald
  • Revert previous change for removing hard-coded rating field name, and remove the hard-coded field name by simply finding the first RatingField for the given object, since there can only be one - Stephen McDonald
  • Fix logic in form export - Stephen McDonald
  • In mezzanine.forms, allow FormEntry instances to be provided for FormForForm and handle loading and updating FieldEntry values - Stephen McDonald
  • Update packages docs and re-generate settings docs - Stephen McDonald
  • Remove unnecessary time_format handling in SplitSelectDateTimeWidget which doesn’t exist in Django 1.4 - Stephen McDonald
  • Add missing messages context processor for Django 1.4 - Stephen McDonald
  • Allow docs to build even if model graph can’t be built - Stephen McDonald
  • Allow BLOG_SLUG to be set to an empty string, in which case the catch-all urlpatterns belong to the blog, and page urlpatterns get their own URL prefix - Stephen McDonald
  • Use a generic sqlite db name in local_settings.py - Stephen McDonald
  • Upgrade to Bootstrap 2.0 - Stephen McDonald
  • Added Javascript to show only pages with children in tree, and to update this after moving pages (via drag and drop) - Kowaleski, Jason
  • Add fallback for blog title when blog page isn’t available - Stephen McDonald
  • Fix gallery overlay close handler - Stephen McDonald
  • Add the missing viewport for the responsive layout to work correctly - Stephen McDonald
  • Updating doc for model customization, registering works better in admin.py - Ismail Dhorat
  • Change the template copying option in the mezzanine-project script to default to False - Stephen McDonald
  • Create entries for empty fields, so that export filtering works correctly - Stephen McDonald
  • Setup local_settings template when testing - Stephen McDonald
  • Updated -t help text to reflect that it is no longer the default - Josh Cartmell
  • Updated the mezzanine-project command to have a -m option which must be specified to copy over mobile templates. The -t option now skips over mobile templates - Josh Cartmell
  • Removed the make_grappelli/filebrowser_safe scripts as they’re no longer useful since we’ve customized those packages - Stephen McDonald
  • Remove themes from feature list - Stephen McDonald
  • Version bump to 1.0 - Stephen McDonald

Version 0.12.4 (Dec 03, 2011)

  • Synchronize PO files with tip - Sebastián Ramírez Magrí
  • Added a note to the documentation overview about assumed Django knowledge with a reference to the tutorial - Stephen McDonald
  • Let messages fail silently for Django < 1.3 - stephenmcd
  • Don’t rely on version checking for adding cookie-based messaging - stephenmcd

Version 0.12.3 (Nov 22, 2011)

  • Fixed Disqus single-sign-on bug where message is overwritten to <message, timestamp> and returned incorrectly in payload - Brett Clouser
  • Changed thumbnail test to remove test thumbnail even if test fails - Stephen McDonald

Version 0.12.2 (Nov 18, 2011)

  • Added the mezzanine.utils.html.TagCloser class that closes open tags in a string of HTML. Used in Displayable.description_from_content to ensure valid HTML is returned when extracting the first block/sentence. Fixes #100 - stephenmcd

Version 0.12.1 (Nov 18, 2011)

  • possibility to insert fieldsets’ fields in classes extended from DisplayableAdmin (was not possible, tuples are immutable) - Zdeněk Softič
  • Added handling in BaseGenericRelation for actual instance being deleted. Fixes #103 - stephenmcd
  • Added testing for correct keyword string population on keyword removal - stephenmcd

Version 0.12 (Nov 05, 2011)

  • added allow_comments flag to blog, and moved the site filed up the class hierarchy from Displayable to Slugged, plus migrations - legutierr
  • KeywordManager needs to subclass CurrentSiteManager in order to take advantage of multi-site capability added to Slugged - legutierr
  • This is probably the most complex migration I have written. Read inline comments for more information - legutierr
  • Fixed unicode handling in CSV export in the forms app - stephenmcd
  • Fixed Django 1.3/1.4 feed handling - stephenmcd
  • Added fallbacks for blog feed title and description for when the blog page doesn’t exist - stephenmcd
  • Added response tests for the blog feeds - stephenmcd
  • Added handling for spaces in keywords - stephenmcd
  • Fixed meta keywords loading in blog post templates - stephenmcd
  • Upgraded keyword handling in mobile templates - stephenmcd
  • Changed keywords_for template tag to handle None being given as an instance - stephenmcd
  • Added support for using generic relations as order_with_respect_to on subclasses of Orderable, and applied to AssignedKeyword so that keyword order is maintained - stephenmcd
  • Fixed check for generic relations in Orderable - stephenmcd
  • Stringify secret_key because hmac hates unicode - Ken Bolton
  • Fix issue #97. Add PNG support - Ken Bolton
  • Renamed export related areas to entries in the forms app and added handling for deleting form entries - stephenmcd
  • Added mezzanine.utils.messages module with fallbacks for the django.contrib.messages app - stephenmcd
  • Added a count for the number of entries displayed in the admin for the forms app - stephenmcd
  • Use css selectors rather than JS for injecting the count in the admin entries view for the forms app - stephenmcd
  • Added a comment to the urlconf in project_template describing the importance of ordering in relation to mezzanine.pages urlpatterns when adding your own - stephenmcd
  • Added the mezzanine.boot app which exists for handling setup code, and added the EXTRA_MODEL_FIELDS setting which is used by boot to inject extra fields onto any models required via the class_prepared signal - stephenmcd
  • Use the DEV_SERVER setting when setting up Grappelli media hosting - stephenmcd
  • Updated the EXTRA_MODEL_FIELDS example in settings.py - stephenmcd
  • Added EXTRA_MODEL_FIELDS to mezzanine.conf.defaults - stephenmcd
  • Added initial docs for model field customization - stephenmcd
  • Restructured the docs into more logical paragraphs and added some missing modules to the packages docs - stephenmcd
  • Allow for non-keyword args for fields in EXTRA_MODEL_FIELDS - stephenmcd
  • Initial attempt at a subclassable MixinModel for injecting fields and methods into external models - stephenmcd
  • Add png & gif thumbnailing. Support for filebrowser FileBrowseField thumbnailing - Ken Bolton
  • Somehow, this didn’t make it up to my repo - Ken Bolton
  • if setting in registry is no more registered, delete it from registry - btx
  • Added sections to the model customizations docs about field injection caveats and exposing custom fields in the admin - stephenmcd
  • Updated grappelli version requirement - stephenmcd

Version 0.11.10 (Sep 24, 2011)

  • Upgraded pyflakes test to handle latest version of pyflakes - stephenmcd
  • better fix by Stephen for dynamic inline fields focus issue - Eli Spizzichino
  • Changed install command to only fake migrations when South is installed - stephenmcd
  • Renamed install command to createdb and added deprecation warning for install - stephenmcd

Version 0.11.9 (Sep 21, 2011)

  • Added defaults for cookie messaging with Django >= 1.3 - stephenmcd
  • Moved description and keywords fields out of Displayable and into their own MetaData abstract model - stephenmcd
  • Added handling for changes to the syndication app in Django 1.4 - stephenmcd
  • Added feed imports to suppressed pyflakes warnings - stephenmcd
  • Removed fixtures from tests - stephenmcd
  • Fixed device template test - stephenmcd
  • Enable iframe, xhtmlxtras in tinymce - Ken Bolton
  • Bumped grappelli-safe version requirement - stephenmcd

Version 0.11.8 (Aug 23, 2011)

  • Fixed incorrect setting name in device handling docs - stephenmcd

Version 0.11.7 (Aug 18, 2011)

  • Upgraded DISQUS handling in the blog templates to properly use the generic app, as well as fixing DISQUS identifiers to be unique across different models - stephenmcd

Version 0.11.6 (Aug 13, 2011)

  • Decorate blog posts in blog_post_list with lists of categories and keywords - stephenmcd
  • Added a has_childen helper to page objects in the page menus - stephenmcd
  • Fixed styling of fixed footer in admin change form when Grappelli is not used - stephenmcd
  • Fixed migration of object_pk in Rating and AssignedKeyword - David Prusaczyk
  • Added null defaults for generic migration fix - stephenmcd
  • Created an install management command that combines syncdb and migrate –fake to correct the issue of initial migrations failing with multiple apps. As a result reverted USE_SOUTH default to True and removed the handling of south for fixture loading - stephenmcd
  • Fixed a bug in orderable inlines where order fields would be wiped on inlines that only contain a file upload field - stephenmcd
  • Fixed quick-blog form styling to be fluid - stephenmcd
  • Fixed bug with url field hiding logic - stephenmcd
  • Added a custom slugify function to mezzanine.utils.urls that preserves unicode chars to support non-English URLs - stephenmcd
  • Updated jquery-ui version. Fixes #80 - stephenmcd
  • Add placeholders for dynamic inline sorting - stephenmcd
  • Fixed category decorator query in blog post list when there are no blog posts - stephenmcd
  • merging pending changes to mezzanine trunk - legutierr
  • Migration adding site field to dynamic settings needs to be split into separate schema and data migrations - legutierr
  • Fixed slug calculation for pages so that actual parent slugs are used. Fixes #82 - stephenmcd
  • fixed unicode encode error with cyrillic slugs in template loader - Andrew Grigrev
  • switch to turn comments on blog posts on/off - Johnny Brown
  • fixed unicode encode error with cyrillic slugs in template loader in other places - Andrew Grigrev
  • changed google analytics js to what they gave me - Johnny Brown
  • Added ARA Consultants to site using Mezzanine - stephenmcd

Version 0.11.5 (Jul 03, 2011)

  • Changed device test to use a page it creates itself - stephenmcd
  • Updated old contentpage template in the mobile theme to richtextpage - stephenmcd

Version 0.11.4 (Jul 03, 2011)

  • fixes 500 error on mobile theme (bad template tag) - Owen Nelson
  • Updated processor_for as exceptions received were TypeError get_model() takes at least 3 arguments (2 given) not a ValueError - Josh Cartmell
  • Fixed some new pyflakes warnings - stephenmcd
  • Only run thumbnail test when the test image is in the current project (eg Mezzanine dev) - stephenmcd
  • Fixed tinyMCE setup to allow tables - Zeke Harris
  • Fix allowing inline editing of form content on form pages by avoiding naming conflicts with the inline editing form - Josh Cartmell
  • Update example settings. Fixes #70 - stephenmcd
  • Don’t use HTML5 required attributes on multiple checkboxes - stephenmcd
  • Adding site FK to mezzanine.conf.models.Setting and read/write hooks to present content based on current_site - Ken Bolton
  • Allow override of GRAPPELLI_ADMIN_HEADLINE and _TITLE in settings.py - Ken Bolton
  • Proper setting of default values for GRAPPELLI_ADMIN_HEADLINE and _TITLE, to fix #74 - Ken Bolton
  • Proper setting of default values for GRAPPELLI_ADMIN_HEADLINE and _TITLE - Ken Bolton
  • Update the site for existing settings when migrating - stephenmcd
  • added post_count to blog_categories tag - Michael Delaney
  • Added select_related for blog list view - stephenmcd

Version 0.11.3 (Jun 09, 2011)

  • catches exception generated when trying to retrieve the admin url for a model that is not registered, to allow some Page models not to be registered in the admin - legutierr
  • migration 0004 conflated a schema migration and a data migration, which was causing problems with MySQL. The two are now separated - legutierr
  • pass all form media to the template - Owen Nelson
  • adding docs for RICHTEXT_FILTER setting - Owen Nelson
  • updated docs on how to customize RICHTEXT_FILTER - Owen Nelson

Version 0.11.2 (May 31, 2011)

  • compile language files, compiled blog, mobile, twitter language files - Alexey Makarenya
  • Updated 960.gs to fluid version - stephenmcd
  • Remove mezzanine from internal Mezzanine urls - stephenmcd
  • Test to verify if thumbnail generation is working - Brent Hoover
  • Added 500 handler view that adds MEDIA_URL to the context - stephenmcd
  • Fixed unicode handling in KeywordsWidget rendering - stephenmcd
  • Added pip requirments to project_template and use it to define Mezzanine’s actual version number - stephenmcd
  • Reverted change to storing version number to work with docs generation - stephenmcd

Version 0.11.1 (May 24, 2011)

  • Upgraded comment handling to work with new comment models in base blog importer. Fixes #59 - stephenmcd
  • Only look for tags if it isn’t going to throw an AtributeError - rich
  • Only look for tags if it isn’t going to throw an AttributeError - rich
  • Split mezzanine.core.admin.DynamicInlineAdmin out into TabularDynamicInlineAdmin and StackedDynamicInlineAdmin - stephenmcd
  • Fixed missing media from dynamic admin form - stephenmcd
  • Added the template filter is_installed which can be used to test for values in the INSTALLED_APPS setting from within templates - stephenmcd
  • Added is_installed for blog app around feed urls in mobile base template - stephenmcd
  • Added integration with django’s sitemaps app - stephenmcd
  • Added handling in KeywordsWidget for the keywords field not existing in the request. Fixes #64 - stephenmcd
  • Fixed issue where admin.StackedInlines would not display in the admin - Josh Cartmell
  • Updated tinymce_setup.js to only initialize when TinyMCE is available - stephenmcd
  • Updated dynamic_inline.js to support StackedDynamicInlineAdmin - stephenmcd
  • Reordered jQuery in base_site.html to avoid issues when Grappelli isn’t installed - stephenmcd
  • Added CSS classes to each of the comment fields - stephenmcd
  • Addd better hanadling in the keyword widget for when no keyword field is in the request. Previous fix only corrected the field not existing in the form object - stephenmcd
  • Fixed the version check for collapse_backport.js - stephenmcd
  • Added Single-Sign-On support to Disqus templates - Brett Clouser
  • Added handling for unauthenticated users and empty key settings for Disqus single sign-on - stephenmcd
  • Updated auto-generated settings docs - stephenmcd
  • Added some sys.path fixing in manage.py to avoid some cron issues - stephenmcd
  • Changed object_pk fields to integer fields in the generic app to resolve some issues with Postgres - stephenmcd
  • Added migrations for object_pk change in generic. Fixes #66 - stephenmcd
  • Fixed loading of blog posts for a tag - stephenmcd

Version 0.11 (Apr 30, 2011)

  • Created a GRAPPELLI_INSTALLED setting that is dynamically set, and made it available to JavaScript in the admin so that this can be determined reliably without depending on Grappelli specific HTML/CSS - stephenmcd
  • Made the default value for the DASHBOARD_TAGS setting dynamically created based on whether mezzanine.blog is in settings.INSTALLED_APPS - stephenmcd
  • Added commented-out versions of some common Mezzanine settings to the project_template's settings module - stephenmcd
  • French locale for all other apps - Dominique Guardiola
  • Updated inline-editing docs to include a note about the tags already being provided by themes - stephenmcd
  • Added setting for specifying the delimiter for CSV exports in the forms app - stephenmcd
  • Added an option to view entries in a HTML table when exporting for the forms app - stephenmcd
  • Fixed Page.get_absolute_url to use its static slug rather than dynamic get_slug. Fixes #45 - stephenmcd
  • Making Query.value a varchar(300) to allow for larger queries - John Campbell
  • make value length 140 instead of 300 since the max twitter query is 140 currently - John Campbell
  • Added migration for twitter query length - stephenmcd
  • Converted blog categories to a ManyToManyField - stephenmcd
  • Added migration scripts for blog categories - stephenmcd
  • not sure how there wasn’t one of these already - Tom von Schwerdtner
  • Added post counts to archive and author listings for blog posts - stephenmcd
  • add a label to registered settings for a more human-friendly admin UI - Tom von Schwerdtner
  • A meta title for the default project homepage - Tom von Schwerdtner
  • add title/tagline to admin settings - Tom von Schwerdtner
  • a (slightly) better default tagline, and make settings available to templates - Tom von Schwerdtner
  • Move the LOGIN_URL default into the project’s settings module so it can be modified - stephenmcd
  • Modified the AdminLoginInterfaceSelector middleware to recognise next paramters in the querystring, and redirect to those regardless of the interface option selected on the login form - stephenmcd
  • Applied SITE_TITLE and SITE_TAGLINE to templates - stephenmcd
  • Made description field for meta data into plain text - stephenmcd
  • Added descriptions for new settings - stephenmcd
  • Added styling for the blog tagline - stephenmcd
  • Updated the auto-generated settings docs - stephenmcd
  • Implemented initial version of custom per-page permissions - stephenmcd
  • Added some template code to the gallery example in docs - stephenmcd
  • Changed TinyMCE setup to properly support embed code - stephenmcd
  • Integrated the SITE_TITLE and SITE_TAGLINE settings better into templates - stephenmcd
  • Removed handling of HTML from Displayable.description - stephenmcd
  • Updated the settings docs with the restored defaults for the SITE_TITLE and SITE_TAGLINE settings - stephenmcd
  • Added a section to the admin customization docs about defining custom widget classes for HtmlField fields - stephenmcd
  • Changed mezzanine-project script to exclude admin templates - stephenmcd
  • Added note to deployment docs about setting up a cron job for Twitter feeds - stephenmcd
  • Added embedded robots.txt to prevent spidering when DEBUG is enabled - stephenmcd
  • Fixed handling of anonymous comments in the Disqus API - stephenmcd
  • Changed handling of editable settings to force unicode for settings with string defaults. Fixes #52 - stephenmcd
  • Initial version of refactoring comments into Django’s built-in comments, and moving them into the new generic package - stephenmcd
  • Added multi-site capability and tests, updated jso page fixtures to include site reference - legutierr
  • added migrations for the new site field on Displayable - legutierr
  • Fixed bug in login redirect - was defaulting to /accounts/profile/ upon login before and showing the logged in user a 404 error. Now defaults to /admin/ - Audrey M Roy
  • Added migrate command to setup steps. Closes #54 - stephenmcd
  • Fixed incorrect tag lib name in template - stephenmcd
  • Added documentation regarding multi-site to the deployment page in the docs - legutierr
  • Fixed mezzanine-project script where an error would occur when more than one project template with admin templates was used - stephenmcd
  • Refactored the Keywords model to use generic relations and moved it and all related functionality into mezzanine.generic - stephenmcd
  • Fixed a bug where django.conf.settings would override mezzanine.conf.settings - stephenmcd
  • Added tests for keywords - stephenmcd
  • Added migrations for keywords - stephenmcd
  • Updated mezzanine/core/media/js/dynamic_inline.js to allow multiple DynamicInlineAdmins on a single admin page - Josh Cartmell
  • Fixed a potential circular import bug - stephenmcd
  • Added more error handling to the processor_for page processor decorator - stephenmcd
  • Added delete links to the admin page tree - stephenmcd
  • Updated search to respect published status - Josh Cartmell
  • Small fix to Keywords Field. Stops instance from saving if keyword data is empty - Osiloke Emoekpere
  • Removed DEV_SERVER setting from local_settings module template, since this is defined dynamically - stephenmcd
  • Removed south from the OPTIONAL_APPS setting, since the addition of this to a project needs to be controlled manually, as the order of initial migrations for each app cannot be guarenteed and will break if used to create the tables for these apps. Added the USE_SOUTH boolean setting which can be defined to automatically have south added to INSTALLED_APPS when available. Fixes #53 - stephenmcd
  • Removed handling of admin user for returning unpublished search results - stephenmcd
  • Added test to ensure only published objects are returned as search results - stephenmcd
  • Fixed bug where superclasses in concrete model inheritence chains would cause duplicate search results - stephenmcd
  • Fixed bug where _order values were not being set for dynamic inlines - stephenmcd
  • Added extra_context arg to mezzanine.pages.views.page - stephenmcd
  • Refactored the page processor to only accept one argument since its behaviour is to only deal with one - stephenmcd
  • Added note to docs about slug-based page processors - stephenmcd
  • Removed migrate command from installation notes since south is no longer automatically configured - stephenmcd
  • Re-sequenced the migrations for the Displayable.site field - stephenmcd
  • Applied workaround for unexplainable Django issue where certain signals get lost - stephenmcd
  • Updated settings form template to have a submit row and error note consistent with other admin change forms - stephenmcd
  • Added ratings to mezzanine.generic and applied to the blog app - stephenmcd
  • Updated auto-generated settings docs - stephenmcd
  • Added handling for page menus where parent page is explicitly provided. Fixes #58 - stephenmcd
  • Renamed Content to RichText, ContentPage to RichTextPage, and HtmlField to RichTextField - stephenmcd
  • Fixed handling of USE_SOUTH setting so that south is also removed when explicitly set to False - stephenmcd
  • Updated template for RichTextPage - stephenmcd
  • Fixed toolbar styling for TinyMce inside the inline editing form - stephenmcd

Version 0.10.6 (Feb 13, 2011)

  • blog strings from html templates - Dominique Guardiola
  • Apply the CSRF token to all AJAX posts in the admin - stephenmcd

Version 0.10.5 (Feb 10, 2011)

  • Updated mezzanine.utils.importing name in package docs - stephenmcd
  • Changed cache handling to remove middleware classes if no cache backend specified - stephenmcd
  • Refactored adding of optional apps so that it only occurs once, and the ordering of installed apps so that order is not modified unless necessary (eg grappelli) - stephenmcd
  • Moved generation of docs/settings.rst and CHANGELOG from docs/conf.py into functions in mezzanine.utils.docs - stephenmcd
  • Fixed admin fieldsets example in docs - stephenmcd
  • Removed includes from mobile theme that replicated JavaScript common to all devices - stephenmcd
  • Fixed JavaScript for Discus comments - include the absolute URL - stephenmcd
  • Fixed module margin in admin dashboard - stephenmcd
  • Changed Google Anylatics code so that the main tracking args can be overridden via a block - stephenmcd
  • Reverted Google Analytics block in favour of checking for an existing _gaq JavaScript var - stephenmcd
  • fix for ajax in admin not using csrf token for forms. fix for django 1.2.5 - lexual

Version 0.10.4 (Jan 28, 2011)

  • Fixed regression in cache defaults. Django defaults to a 5 minute memory cache which functions with Mezzanine’s caching middleware installed by default. We now set the cache backend to dummy if no cache backend is defined in the project’s settings module - stephenmcd

Version 0.10.3 (Jan 28, 2011)

  • Renamed the module mezzanine.utils.path to the more accurate mezzanine.utils.importing - stephenmcd
  • Added the function mezzanine.utils.importing.import_dotted_path for importing via Python paths to names which are defined as string settings - stephenmcd
  • Removed the cache defaults - stephenmcd

Version 0.10.2 (Jan 26, 2011)

  • Updated docs to describe approach for adding fieldsets to subclasses of PageAdmin - stephenmcd
  • Added a depth arg for select_related in the recent comments panel of the admin dashboard - stephenmcd
  • Restored depth arg for select_related in blog manager - stephenmcd
  • Added deployment section to docs describing the various aliases required for serving media files, and added a management command which prints these out - stephenmcd
  • Grammar fix in docs - stephenmcd
  • Added lost password link to login template - stephenmcd
  • Fixed the handling for creating the default user when south is installed. Closes #34 - stephenmcd

Version 0.10.1 (Jan 12, 2011)

  • Fixed bug in PageAdmin._maintain_parent where it was assumed a location header exists for a redirect, which isn’t actually the case when the page is being edited via a popup window as a forgien key - stephenmcd

Version 0.10 (Dec 21, 2010)

  • Renamed fixtures to not be installed with syncdb and added signal to install them when pages are first installed - stephenmcd
  • Renamed example mobile template so that it won’t be rendered by default - stephenmcd
  • Updated device template test to only run when device templates exist - stephenmcd
  • Added a setting for restricting setting available in templates - stephenmcd
  • Fixed some CSS around inline editing - stephenmcd
  • Added hook for third-party apps to extend existing settings - stephenmcd
  • Fixed settings append hook - stephenmcd
  • Backported inline editing helptext markup for Django <= 1.2 - stephenmcd
  • Fixed settings append hook again - stephenmcd
  • Added handling for variable template names in include tags - stephenmcd
  • Cleaned up a ton of unused imports. Fixes #29 - stephenmcd
  • Added initial south migrations for all apps - stephenmcd
  • Added initial optional support for HTML5 with placeholder attributes in the forms app - stephenmcd
  • Added support for HTML5 required attributes in the forms app - stephenmcd
  • Refactored values for field types in the forms app to separate out classes and widgets - stephenmcd
  • Added HTML5 field types to the forms app: date, datetime, email - stephenmcd
  • Rename user variable to author in mezzanine.blog.views.blog_post_list to avoid clobbering Django’s user context variable. Fixes #30 - stephenmcd
  • Update to new author var in blog listing template - stephenmcd
  • Reduced the width of text fields for field inlines in the form admin - stephenmcd
  • Updated the layout for auto generated packages docs as well as adding new missing modules. Made a giant sweep of the code base adding and updating docstrings that appear in the packages docs - stephenmcd
  • Removed unused admin template filter is_page_content_model - stephenmcd
  • Fixed south compatibility with fixture loading - stephenmcd
  • make save/delete buttons in admin, always visible at screen’s bottom edge - lexual
  • Added a CSS shadow to the inline editing form - stephenmcd
  • Fixed missing hidden fields in the inline editing form - stephenmcd
  • Added a split datetime widget with select fields for date parts in the inline editing form - stephenmcd
  • Refactored mezzanine.utils module into a package - stephenmcd
  • Moved pyflakes test runner into utils - stephenmcd
  • Updated package docs layout with new utils package - stephenmcd
  • make static save buttons in admin, not affect admin login page - lexual
  • Fixed path for serving of theme assets - stephenmcd
  • Moved handling of serving assets during development from project’s urlconf into mezzanine.urls - stephenmcd
  • Removed favicon handling during development - stephenmcd
  • Refactored urls so that mezzanine.urls becomes the main point for combining urls for all the different apps. Also moved homepage url into the project’s urlconf as it’s expected to be modified - stephenmcd
  • Removed use of Django’s LOGIN_FORM_KEY from Mezzanine’s AdminLoginInterfaceSelector middleware since it was just removed from Django trunk and now breaks. Fixes #31 - stephenmcd
  • Added a background gradient to pages in the admin page tree - stephenmcd
  • Moved admin submit-row buttons CSS into base admin template - stephenmcd
  • Fixed serving of media files outside of a theme when a theme is defined as in development - stephenmcd
  • Added support in the admin page tree for changing parents via dragging between branches - stephenmcd
  • Fixed failures in Django’s tests caused by automatically using a cache backend when available - stephenmcd
  • Added handling for regenerating slugs when a page’s parent changes - stephenmcd
  • Fixed bug where editable settings were being loaded from the DB on every access - stephenmcd
  • Updated each of Mezzanine’s apps to use its version number as their own - stephenmcd
  • Restored empty string as default TIME_ZONE value so Django uses the system timezone - stephenmcd
  • Moved the Grappelli/Filebrowser/caching setup into mezzanine.utils.conf - stephenmcd
  • Made editable template tag fail silently if None is given - stephenmcd
  • Fixed overridden slugs changing on pages when their parent changes - stephenmcd
  • Changed Page.overridden to be more reliable by not using get_absolute_url which can be incorrect without a permalink - stephenmcd
  • tinymce: remove word styling when cutting and pasting. Remove unnecessary toolbar buttons - lexual
  • remove more MS word paste junk from tinymce pasting - lexual
  • Updated handling of post_syncdb signal to still execute when south is installed - stephenmcd
  • Fixed unicode bug when non-ascii strings are used in the blog comment form and break when persisted to a cookie - stephenmcd
  • Refactored out the widget for the HtmlField into its own widget that can then be replaced via the setting HTML_WIDGET_CLASS - stephenmcd
  • Fixed bug in post_syncdb signal handler names - stephenmcd
  • Added new hooks for page menus for determining whether a page is a child or sibling of the current page - jdeblank
  • Added initial version of a mobile menu that only renders child page links - jdeblank
  • Removed redundant setuptools requirement - stephenmcd
  • Cleaned up unused imports - stephenmcd
  • Fixed default settings ordering - stephenmcd
  • Updated auto-generated settings docs - stephenmcd
  • Fixed a pathing bug in creating themes on Windows - stephenmcd
  • Added HTML5 form features to inline edit forms - stephenmcd
  • Added a context-aware version of Django’s inclusion_tag template tag - stephenmcd
  • Moved assignment of menu helper page attributes into Page.set_menu_helpers and renamed some of them to be clearer in purpose - stephenmcd
  • Refactored menu template tags into a single tag page_menu which accepts the name of the menu template to use - stephenmcd
  • Added initial handling for overriding device in a cookie - stephenmcd
  • Changed mezzanine.core.models.Displayble.set_searchable_keywords to only trigger a save when the keyword list changes - stephenmcd
  • Moved the call to mezzanine.core.models.Displayble.set_searchable_keywords inside mezzanine.core.admin.DisplayableAdmin from save_form to save_model so that it is only triggered when the entire form including inline formsets are valid - stephenmcd
  • Changed mezzanine.utils.conf.set_dynamic_settings to ensure debug_toolbar.middleware.DebugToolbarMiddleware is only ever added once when installed - stephenmcd
  • Added a set_cookie function to save repeating seconds conversion and encoding - stephenmcd
  • Changed the check for a device in cookies to only match if the value is a valid device - stephenmcd
  • Added a set_device view for explictly requesting the site for a particular device via cookie - stephenmcd
  • Moved mobile templates to mobile theme directory - stephenmcd
  • Moved determining device from request into mezzanine.utils.device_from_request - stephenmcd
  • Created a device aware version of Django’s cache middleware that uses the device for the request as part of the cache key - stephenmcd
  • Updated device section in docs to include a section about the mezzanine.mobile theme - stephenmcd
  • Updated text for link to mobile site - stephenmcd

Version 0.9.1 (Nov 28, 2010)

  • stop creation of empty p id=”description” (Potentially needs refactoring) aka not too elegant - Lee Matos
  • Fixed white-space in blog list template - stephenmcd
  • Fixed branching of admin media hosting for Grappelli - stephenmcd

Version 0.9 (Nov 28, 2010)

  • Change the logic around settings loading to avoid some untrappable errors creating the DB table - stephenmcd
  • Update setting names in docs - stephenmcd
  • Update conf app name in packages docs - stephenmcd
  • Update to multiple DB settings - stephenmcd
  • update to jquery 1.4.4 http://blog.jquery.com/2010/11/11/jquery-1-4-4-release-notes/ - lexual
  • Fixed the blog_categories template tag so that it returns a list of categories without duplicates - Brad Montgomery
  • Added a "get_recent_posts" template tag - Brad Montgomery
  • Update template loader and auth context processor names to newest versions with fallbacks for Django 1.1 - stephenmcd
  • Add south introspection rules for mezzanine.core.fields.HtmlField - stephenmcd
  • allow definition lists in tinymce - lexual
  • Modification of the importer script to be more streamlined. Moved importer to the blog module main and still to refactor the changes to the command line module. Can be run from a django shell and import blogger and word press - ajfisher
  • Initial layout for themes - stephenmcd
  • finished refactoring of importers module and wrote new import blog handler to import the various blog types into mezzanine. Also stripped down the params to be passed in on the word press blog - now treating any path as a url and dealing with it system side rather than user side - ajfisher
  • Added documentation around blogger import stuff - ajfisher
  • Remove some old redundant template tag loading - stephenmcd
  • Add admin change logging to inline editing - stephenmcd
  • Allow newer versions of Django to determine full paths for templates in the start_theme command - stephenmcd
  • if image is already the right size, don’t change it (fixes bug where image quality is degraded if same size.) - lexual
  • Add copying of media files to start_theme command - stephenmcd
  • Initial support for hosting a theme - stephenmcd
  • Fix check for exact image size in thumbnail template tag - stephenmcd
  • Make use of conf module’s name within itself dynamic - stephenmcd
  • Create a path_for_import utils function for calculating package/module paths - stephenmcd
  • Add media hosting for a theme when defined - stephenmcd
  • Further refactoring of the import process using a BaseImporterClass which is a Command and then setting up specific implementations for Wordpress and Blogger - ajfisher
  • Modification to the docs in order to update the new structure of the commands and also how to implement a new importer class - ajfisher
  • removed all the now-superfluous files - ajfisher
  • Wrap lines in blog import docs - stephenmcd
  • Modifications to make the class abstraction more tidy and clean up some other bits and pieces of code as well - ajfisher
  • First round of edits for the blog import docs - stephenmcd
  • Fix up constructor logic - stephenmcd
  • Fix mezzanune_user reference in base blog importer - stephenmcd
  • Move the output messages for blog importing into the base importer class - stephenmcd
  • Fix settings access for THEME in urls.py - stephenmcd
  • Fix duplicate months in archive list for blog - stephenmcd
  • Initial version of install_theme command - stephenmcd
  • Add handling for interactive option in install_theme command - stephenmcd
  • Rename scripts directory to bin for consistency with Django - stephenmcd
  • Rename Blog importer convert method to handle_import and pass it options directly to mimic Django commands more closely - stephenmcd
  • Clean up unused exceptions in Blog importer - stephenmcd
  • Add a old_url arg for posts in base Blog importer for creating redirects - stephenmcd
  • Upgrade import_tumblr command to use new importer base - stephenmcd
  • Add handling in the import_tumblr command for more posts that a single call to Tumblr’s API allows - stephenmcd
  • Add handling for verbosity option in base Blog importer - stephenmcd
  • Add handling for all post types in the import_tumblr command - stephenmcd
  • Fix some errors and add Tumblr info to the blog importing doc - stephenmcd
  • Move Google Analytics and editable_loader tag into their own include template footer_scripts.html - stephenmcd
  • Add docs for themes - stephenmcd
  • Rename recent_posts blog template tag to be consistent with other tags - stephenmcd
  • Add recent blog posts to filter_panel.html - stephenmcd
  • js fix for ie bug with formbuilder - lexual
  • Modified the blog’s filter_panel tempate so <ul> tags get closed properly - Brad Montgomery
  • More robust handling for class-based views in mobile middleware. Closes #23 - stephenmcd
  • add primary menu id to the UL for semantic and/or styling uses - Lee Matos
  • Moved mezzanine.templates into a package - stephenmcd
  • Add context-aware replacements for Django’s render_to_response, select_template, get_template and template tags include and extend - stephenmcd
  • Changed calls to select_template and render_to_response to use Mezzanine’s context-aware versions - stephenmcd
  • Added main handling for device specific template directories - stephenmcd
  • Added a context-aware replacement for Django’s direct_to_template - stephenmcd
  • Moved the test mobile homepage into its device specific subdirectory - stephenmcd
  • Fixed renaming of node class in extends tag - stephenmcd
  • Replaced mobile middleware test with device specific template test - stephenmcd
  • Added “blog-post-tile” class for semantic/styling purposes - Lee Matos
  • Added documentation for device specific template loading - stephenmcd

Version 0.8.5 (Nov 10, 2010)

  • CSS update for default templates - stephenmcd
  • Add more fine-grained error handling for tumblr_import management command - stephenmcd
  • Change TinyMCE options to relax allowed HTML - stephenmcd
  • CSS updates to inline editing form - stephenmcd
  • Initial version of admin dashboard plugin system with Quick Blog and Recent Comments implemented as dashboard widgets - stephenmcd
  • Convert remaining dashboard sections into dashboard tags - app list and recent actions - stephenmcd
  • Add the new screenshot - stephenmcd
  • Add docstring to inline editing view - stephenmcd
  • Add basic support for class-based views in mobile middleware and a more explicit check for unique mobile template names - stephenmcd
  • Backed out changeset: c2ed0a189648 - stephenmcd
  • Re-apply TINYMCE_URL setting, lost from merge - stephenmcd
  • Move settings for forms app into main settings module - stephenmcd
  • Fix filebrowser_safe generator script to add a dummy Image module which will prevent breaking when PIL isn’t installed. Closes #15 - stephenmcd
  • Give the ContentPage model a more descriptive name for the content type dropdown menu in the admin page tree - stephenmcd
  • Convert mezzanine.settings into an app with values lazy loaded via DB - stephenmcd
  • Add a default user when syncdb is called - stephenmcd
  • Rewrite settings app to give more control over when settings are loaded so that fewer DB queries are used - stephenmcd
  • Prevent settings from being loaded from DB during syncdb - stephenmcd
  • Change settings from dicts into objects so they can be more easily identified when iterating through the mezzanine.settings.defaults module - stephenmcd
  • Add admin view and form for editing all settings - stephenmcd
  • Fix post_syncdb signal for demo user to work with Django 1.1 - stephenmcd
  • Fix casting of boolean settings from DB - stephenmcd
  • Add a redirect on successful update of settings - stephenmcd
  • Add tests for settings app - stephenmcd
  • Fix custom field HTML for Django 1.1 - stephenmcd
  • Add hook for apps to register their own settings - stephenmcd
  • Update docs to use new settings app - stephenmcd
  • Fix export for forms with deleted fields in forms app - stephenmcd
  • Allow comma separated list of field choices to contain commas when quoted in forms app - stephenmcd
  • Add a back button to the admin export view in the forms app - stephenmcd
  • Fix missing import in forms export - stephenmcd
  • Allow multiple fields to be used in a single editable tag - stephenmcd
  • Update docs with information about grouping together fields for inline editing - stephenmcd
  • Update creation of default user to only run with --noinput passed to syncdb - stephenmcd
  • tree_menu_footer tag added. Exact same as "tree_menu" but checks if in footer not if in nav - lexual
  • Hide the slug field and delete button in the admin for pages with an overridden urlpattern - stephenmcd
  • Display list bullets and numbers in content - Eric Floehr
  • Fix rendering editable fields when not authenticated - stephenmcd
  • Update mezzanine-project script to remove pyc files when creating new projects - stephenmcd
  • Remove admin menu from popups - stephenmcd
  • Add mezzanine.core.templatetags.mezzanine_tags.thumbnail for image resizing - stephenmcd
  • Add docs for the mezzanine.settings app - stephenmcd
  • Strip newlines from commit messages in the auto-generated CHANGELOG - stephenmcd
  • use export instead of checkout - Tom von Schwerdtner
  • Use svn export in grappelli/filebrowser scripts. Closes #16 - stephenmcd
  • Fix split on commit author in automated CHANGELOG generator - stephenmcd
  • Fix unrequested settings being loaded from DB - stephenmcd
  • Allow no names to be provided when calling editable_settings - stephenmcd
  • Sort setting names for settings form in admin - stephenmcd
  • Add Django as a dependency and remove import from project_template.settings in setup.py which depends on Django - stephenmcd
  • Remove redundant call to jQuery.noConflict since editable_loader is now at end of the document. Also check for an existing jQuery instance before including it - stephenmcd
  • Fix isDirty() check for file fields in dynamic inlines - stephenmcd
  • Fix inline editing for file uploads - stephenmcd
  • Give each inline editable form field a unique ID to allow multiple TinyMCE editors to work correctly - stephenmcd
  • add csrf_token to form for inline editing (django 1.2 fails without this.) - lexual
  • admin now contains link back to site - lexual
  • Move site link in admin to user-tools panel - stephenmcd
  • move toolbar for editable inline to the right hand side - lexual
  • Backed out changeset 50aa6171231d - lexual
  • move inline editable toolbar to top right - lexual
  • Make number of comments for a BlogPost available via BlogPostManager - stephenmcd
  • Add mezzanine.utils.admin_url which handles reversing different admin URLs. Also rename admin_url template tag to try_url to better reflect its purpose - stephenmcd
  • Add a (yet to be used) SingletonAdmin class for creating admin classes that manage models with a single instance - stephenmcd
  • Clean up the dynamic inline hooks Django uses that get left behind by using Grappelli’s inline template - stephenmcd
  • Remove redundant reference to jquery - stephenmcd
  • Different approach to cleaning up __prefix__ templates from inlines - just remove them - stephenmcd
  • Hide the unwanted add link - stephenmcd
  • admin_app_list template tag bugfix - lexual
  • make inline editable forms pretty - lexual
  • Backed out changeset: 7a1d5a321032 - stephenmcd
  • Add support for custom navigation items in ADMIN_MENU_ORDER and configure filebrowser as an item - stephenmcd
  • Add docs for custom navigation items in admin - stephenmcd
  • Add Wordpress support to blog importer - ajfisher
  • Added importer with command line option - ajfisher
    1. Some changes to the importer module in order to clean up. 2. Implementation of framework to use tumblr in importer module. 3. Addition of new tumblr module, adapting from @stephenmcd ‘s previous work but extending it to work into new importer framework - ajfisher
  • Catch DatabaseError instead of trying to check for syncdb when reading DB settings to allow for other DB management related commands to run such as south - stephenmcd
  • Rename mezzanine.settings to mezzanine.conf - stephenmcd
  • Make the DatabaseError import compatible with Django 1.1 - stephenmcd
  • Put fixtures into a potentially more stable order - stephenmcd
  • Update the admin menu with the new conf name - stephenmcd
  • fixed some code logic to enumerate more cleanly and removed the testing 5 item max results - ajfisher
  • modified to include tries on the feedparser import and exit gracefully if not. Also cleaned up some enumeration stuff and making the tags code into a list comprehension - ajfisher
  • added some graceful exit handling if the gdata library isn’t available - ajfisher
  • streamlined tag stuff to use a list comprehension - ajfisher
  • Replace the approach of calling mezzanine.conf.load_settings to create new instances of settings objects with a single instance via mezzanine.conf.settings that contains a method use_editable which when called will mark the settings object for reloading settings from the db - stephenmcd
  • Refactor settings loading to reload settings when use_editable called - stephenmcd
  • Remove unused func editable_settings - stephenmcd
  • Explicitly evaluate the results for blog template tags so that queries are only executed once - stephenmcd
  • Replace load_settings template tag with a context processor for a global settings object - stephenmcd
  • Remove the SETTINGS_EDITABLE setting and check for mezzanine.conf in installed apps - stephenmcd
  • Remove the MEZZANINE_ prefix from checking project’s settings for default values, since non-mezzanine apps may register settings themselves - stephenmcd
  • Group the form fields for editable settings by prefix - stephenmcd
  • Update documentation to reflect refactoring of the conf app - stephenmcd
  • Allow the BlogCategoryAdmin to be displayed in the admin menu when explicitly defined in ADMIN_MENU_ORDER - stephenmcd

Version 0.8.4 (Sep 30, 2010)

  • Fix PostgreSQL error on tweet lookup - stephenmcd
  • Use dynamically generated intro for posts in blog listing page rather than the description field - stephenmcd

Version 0.8.3 (Sep 29, 2010)

  • Workaround for when mezzanine is hosted under a different urlspace. (Only tested with Django admin, not grappelli). The keywords.js file needs to reference a mezzanine URL, from the admin site. It used to use a hard-coded string with a root-absolute path, but this failed when mezzanine was hosted elsewhere. Instead, we now reference a global Mezzanine JS object, which is set by template, using URL reversal to find the correct url. This requires a reworking in how the PageAdmin object accesses its Media settings - previously the list of js files was calculated at module load time, but at this stage the url reversal mechanism won’t work, because the urls.py aren’t all loaded yet, Instead, we hide the list generation inside a lazy iterator object and create the list on demand - Toby White
  • Fix admin menu for earlier than Python 2.6 which lacks tuple.index - stephenmcd
  • add active class to footer menu - lexual
  • Don’t fail if PACKAGE_NAME_FILEBROWSER or PACKAGE_NAME_GRAPELLI aren’t set - just don’t try & load them - Toby White
  • Fix grappelli/filebrowser package creation scripts to be Python 2.5 compatible. Closes #12 - stephenmcd
  • Create a template tag for reversing urls from within admin templates that fail silently when the url can’t be reversed, as this is always the case when running admin tests. Apply this to both the admin dropdown menu and to the base admin template making all templates aware of the admin_keyword_submit URL so that it does not need to be hard-coded - stephenmcd
  • Backed out changeset: d43f3e430d1f - stephenmcd
  • Replace MobileTemplate middleware with a decorator. If mezzanine is being used as an application within another project, then the MobileTemplate middleware may not be appropriate to use on URLs outside of mezzanine’s control. In fact, if the project uses other calling conventions (eg class-based views) then the middleware may fail completely - Toby White
  • Fix positioning of admin dropdown menu in Firefox. Closes #11 - stephenmcd
  • Let the location of the tinymce scripts be overridden - Toby White
  • Give the Page object a get_admin_url property, which we can use to provide direct links to a Page’s admin page from the editable toolbar - Toby White
  • add id’s to tree-menu, fix bug with multiple “first” class being set - lexual
  • Add a filtering form for exporting responses in the forms app - stephenmcd
  • Add branch_level and html_id attributes to pages in menu template tags - stephenmcd
  • Add TEST_DATABASE_COLLATION for MySQL - stephenmcd
  • Fix field length of test data - stephenmcd
  • Remove trailing commas from tinymce_setup.js that break IE. Fixes #14 - stephenmcd

Version 0.8.2 (Sep 23, 2010)

  • Backed out changeset 0e7907eef4fc - lexual
  • move editable-loader to bottom of template to fix weird webkit layout bug - lexual
  • 960 stuff into separate files - lexual
  • custom css in separate files - lexual
  • Modify absolute ADMIN_MEDIA_PREFIX value when using grappelli to read in ip/port from sys.argv - stephenmcd
  • Clean up a bunch of dead code. Fixes #10 - stephenmcd
  • Test for existence of TinyMCE before using it in JS - Toby White
  • Fix missing quotes for CONTENT_MEDIA_URL setting - stephenmcd
  • Type in setting function - stephenmcd
  • Fix handling of empty field values in forms app by not saving them - stephenmcd

Version 0.8.1 (Sep 19, 2010)

  • No changes listed.

Version 0.8 (Sep 19, 2010)

  • Allow search fields for SearchableManager to be defined across multiple models in an inheritance chain - stephenmcd
  • Refactor models to remove the content field from the pages.Page model (and therefore the core.Displayable model from which it inherits) so that custom content types can be created without the content field. Introduces a new default content type pages.ContentPage - stephenmcd
  • Remove BLOG_TITLE and BLOG_DESCRIPTION from mezzanine.settings and replace use of these with the title and description of the blog page from the pages app allowing them to be in-line editable - stephenmcd
  • Separate dynamic inlines into its own js file - stephenmcd
  • Make class name unique for dynamic inlines - stephenmcd
  • Fixed a bug with the stripping of comment dates - ajfisher
  • Added comment migration to the post importing. Have disabled keywords /. tags for the moment due to an error from refactoring - ajfisher
  • added some exception handling to start cleaning up things ready for. the proper management command set up - ajfisher
  • removed some of my testing params and made them generic - ajfisher
  • Fix with statement for Python2.5 in setup.py. Closes #9 - stephenmcd
  • Refactor ordering and dynamic “Add another” enhancements to admin inlines so that they explicitly target the correct inlines - stephenmcd
  • Move scripts into scripts directory and use OptionParser in mezzanine-project script to allow options for copying templates, package source and specifying an alternate package to install from - stephenmcd
  • Fix logic of checking a page’s slug to be selected in page_menu template tag - stephenmcd
  • Remove the list of apps/models from the admin dashboard and move them into a navigation menu persistent throughout the entire admin - stephenmcd
  • Trap failure to resolve admin URLs so that tests can pass - stephenmcd
  • Set mezzanine.core.admin.DynamicInlineAdmin.extra to 20 unconditionally - stephenmcd
  • Try and check for jQuery before loading it for admin menu - stephenmcd
  • Fix styling of messages to prevent them being layered on top of the admin menu - stephenmcd
  • Update auto-generated settings docs - stephenmcd

Version 0.7.4 (Sep 11, 2010)

  • Use ADMIN_MEDIA_PREFIX in path to TinyMCE js. Closes #6 - stephenmcd
  • Refactor generation of Displayable.description to not explicitly use content field - stephenmcd
  • Fix sequence of styling for selected nav in tree menu - stephenmcd
  • Let blog views render even if the blog page object doesn’t exist - stephenmcd
  • Add a test for generated page descriptions - stephenmcd
  • Allow test for overriden pages to pass when blog page doesn’t exist - stephenmcd
  • fix up footer positioning - lexual
  • Fix field length for field types in forms app - stephenmcd
  • Update mezzanine-project script to copy templates into newly created project - stephenmcd
  • Fix missing enctype in forms template for forms with file uploads - stephenmcd
  • Add a new help_text field to form field model in forms app - stephenmcd
  • Add email_subject and email_message fields to form model in forms app - stephenmcd
  • Fix pages.page_processors.processor_for to return the function it decorates so they can be referenced from their modules for documentation purposes - stephenmcd
  • Fix docs in mezzanine.utils - stephenmcd
  • Add mezzanine.forms to package docs - stephenmcd

Version 0.7.3 (Sep 03, 2010)

  • Alignment fixes to the footer menu - stephenmcd

Version 0.7.2 (Sep 02, 2010)

  • Refactor mezzanine.template to use functools.wraps - stephenmcd
  • Move local_settings module into a template - stephenmcd
  • Align TinyMCE width with other admin fields - stephenmcd
  • Refactor slug creation functionality out of Displayable model into Slugged model - stephenmcd
  • Add BlogCategory model and associated functionality - stephenmcd
  • Added BooleanField in_navigation and in_footer to Page model to allow for controlling navigation placement of pages - stephenmcd
  • Bugfix to slug fields - change to CharField to allow slashes - stephenmcd
  • Better styling for the footer nav - stephenmcd
  • Add a primary attrib for page objects in menu templates - stephenmcd
  • More styling enhancements to footer menu - stephenmcd
  • Add new fixtures for demonstrating footer menu - stephenmcd

Version 0.7.1 (Aug 30, 2010)

  • Bugfix to mobile middleware for view functions without keyword args - stephenmcd

Version 0.7 (Aug 29, 2010)

  • Integrate 960.gs CSS framework into default templates - stephenmcd

Version 0.6.4 (Aug 29, 2010)

  • Backed out changeset: 8dac998c6f0c - stephenmcd
  • Add expiry_date field to DisplayableAdmin - stephenmcd
  • Change if tags in breadcrumbs and toplevel_menu templates to be Django 1.1 compatible, and to use the page.selected attribute rather than template_utils lib, allowing it to be removed from pages_tags - stephenmcd
  • Use consistant naming for each type of page menu and include all types of page menus in default templates - stephenmcd
  • Create a custom breadcrumb menu for blog posts - stephenmcd
  • Replace the setting tag with a load_settings tag that takes a list of setting names and injects them into the template context - stephenmcd
  • Bugfix template tag name for admin page menu - stephenmcd

Version 0.6.3 (Aug 26, 2010)

  • Bugfix login redirect to be compatible with Django 1.2 - stephenmcd

Version 0.6.2 (Aug 26, 2010)

  • More error handling to CHANGELOG generator - ensure hg repo also exists - stephenmcd
  • Add a button_text field to forms model for editing the text of the form’s submit button - stephenmcd
  • Bugfix to forms button text - stephenmcd
  • Add new field Displayable.expiry_date and relevant handling in PublishedManager.published - stephenmcd
  • Add field for default values in forms app and new field types: Check boxes, Radio buttons, Hidden - stephenmcd
  • Add login_required field to page model for restricting pages to authenticated users - stephenmcd

Version 0.6.1 (Aug 23, 2010)

  • Update to Mezzanine 0.6 - VanL
  • Update pages_tags to include comparisons and toplevel/breadcrumbs tags; added associated templates - VanL
  • Set TIME_ZONE to use the system timezone - stephenmcd
  • Change CHANGELOG generator to fail silently when mercurial isn’t installed - stephenmcd

Version 0.6 (Aug 09, 2010)

  • Bugfix to mobile template test to allow for no template inheritance - stephenmcd
  • Initial import of django-forms-builder - stephenmcd
  • Bugfix to orderable_inline.js to correctly detect dirty checkboxes - stephenmcd
  • Move mezzanine.core.models.HtmlField to new module mezzanine.core.fields - stephenmcd
  • Allow model/field passed to editable templatetag to contain extra dot notation - stephenmcd
  • Convert forms_builder app to a Mezzanine content type - stephenmcd
  • Extend admin definitions from inherited admin classes for FormAdmin - stephenmcd
  • Bugfix for generating slugs with parent pages for subclasses of Page - stephenmcd
  • Initial commit of the importer code for blogger. Comprises the baseline generic importer code for mezz that will be used by all input types and the baseline processor for blogger. 0.1 - ajfisher
  • Updated sequence of classes in documentation to run correctly - thanks Nick Hagianis for picking this up - stephenmcd
  • Handful of patches to correct bugs around creating slugs, titles and ordering for pages and their subclasses - stephenmcd
  • Add a contact form to fixtures - stephenmcd
  • Added built-in styling to form fields in forms app - stephenmcd
  • unnecessary imports removed ? - lexual
  • Added missing line in docs for in-line editing example - stephenmcd
  • Remove natural keys from fixtures for Django 1.1 compatibility - stephenmcd

Version 0.5.4 (Jul 25, 2010)

  • Bugfix to in-line editing view - missing import - stephenmcd
  • Moved setting of class attribute for TinyMCE into HtmlField - stephenmcd
  • Added loading animation to in-line editing - stephenmcd

Version 0.5.3 (Jul 24, 2010)

  • Use names of packages from settings in setup script - stephenmcd
  • Make changelog generator in Sphinx conf list changesets within a version in chronological order - stephenmcd
  • Update CSS for in-line editing toolbar to stay fixed at top of the page - stephenmcd
  • Added handling for models to define their own editable method for controlling in-line editing - stephenmcd
  • Added the abstract model Ownable for defining models with instances owned by users, containing is_editable hook and admin class for setting the owner of new objects and restricting objects to their owners - stephenmcd
  • Apply Ownable abstract model to BlogPost model and related classes - stephenmcd
  • Wrap quickblog form in permission check - stephenmcd

Version 0.5.2 (Jul 22, 2010)

  • Allow interface selection on admin login screen to prepopulate from querystring - stephenmcd
  • spelling fixed in docs - lexual
  • Added more backward-compatible csrf handling - stephenmcd
  • Added more robust handling for csrf and apply to forms - stephenmcd
  • Bugfix setting author of blog post in BlogPostAdmin to be compatible with DisplayableAdmin - stephenmcd

Version 0.5.1 (Jul 18, 2010)

  • Bugfix to permission check for in-line editing - stephenmcd
  • Bugfix to persist values for in-line TinyMCE fields - stephenmcd
  • Created HtmlField and TinyMceWidget for more control over targetting textareas as TinyMCE fields - stephenmcd
  • Bugfix to TinyMceWidget name - stephenmcd
  • Include Csrf Middleware when available - stephenmcd

Version 0.5 (Jul 18, 2010)

  • Added ‘Posted by’ text to blog posts - stephenmcd
  • Fixed grammar error in docs - stephenmcd
  • Added routine to Sphinx conf to auto-generate changelog from mercurial repo - stephenmcd
  • Change admin title to Mezzanine - stephenmcd
  • Make slugs editable in admin - stephenmcd
  • Bugfix links to RSS feeds - stephenmcd
  • Update to_end_tag with context and token args, but only use as many args as the tag supports - stephenmcd
  • Created system for inline-editing - stephenmcd
  • Apply in-line editing to templates - stephenmcd
  • Add option to admin login screen to log into site for in-line editing - stephenmcd
  • Added docs for in-line editing - stephenmcd

Version 0.4 (Jul 11, 2010)

  • Added search functionality and moved pagination out into utils and templatetags - stephenmcd
  • Remove weight from search results output - stephenmcd
  • A bunch of updates to doc strings - stephenmcd
  • Added documentation for search API - stephenmcd
  • Added highlighting to blog post author’s own comments - stephenmcd
  • Save blog commenter’s details in a cookie - stephenmcd
  • Bugfix to links in recent comments section of admin dashboard - stephenmcd

Version 0.3.5 (Jul 08, 2010)

  • Bugfix to page template missing tag library - stephenmcd
  • Bugfix to tests loading and version bump - stephenmcd

Version 0.3.4 (Jul 08, 2010)

  • Add blog migration to feature list - stephenmcd
  • Added support for natural keys - stephenmcd
  • Bugfix to natural key format - stephenmcd
  • Cleaned up interface for custom tag types - stephenmcd
  • Update docs with references to new modules and version bump - stephenmcd

Version 0.3.3 (Jul 06, 2010)

  • No changes listed.

Version 0.3.2 (Jul 06, 2010)

  • Reformatted docs to lines less than 80 chars - stephenmcd
  • Revert some of mezzanine.settings back to not being overridable - stephenmcd
  • Added routine to sphinx conf.py to auto-generate docs for mezzanine.settings - stephenmcd
  • Prevent sphinx blank-line warning - stephenmcd
  • Make building docs Python2.5 compatible - stephenmcd
  • Bugfix for losing parent ID when editing existing child pages - stephenmcd
  • fix bug with ordering field in pages. Add error handling for page ordering - lexual

Version 0.3.1 (Jul 04, 2010)

  • Fixed some spelling mistakes throughout docs - stephenmcd
  • Bugfix to unique slug generation method - stephenmcd
  • Added redirects app to default settings - stephenmcd
  • Added management command to blog app for migrating a Tumblr blog - stephenmcd
  • Allow members of mezzanine.settings to be defined in the project’s settings module prefixed with MEZZANINE_ - stephenmcd

Version 0.3.0 (Jul 03, 2010)

  • Bugfix to template lookup for custom content model - stephenmcd
  • Added page processor system for manipulating context and response per page type - stephenmcd
  • Added docs for page processors and bumped version - stephenmcd

Version 0.2.4 (Jul 02, 2010)

  • Add warning to mezzanine_project script to prevent the user from creating a project name that conflicts with an existing package or module - stephenmcd
  • fix mezzanine_project.py handling –options or multiple arguments - lexual
  • project_name variable instead of continual using sys.argv[1] - lexual
  • make proj name start with “-” illegal and print usage - lexual

Version 0.2.3 (Jun 30, 2010)

  • added content_model to json - lexual
  • Bugfix to dynamic admin inlines - stephenmcd

Version 0.2.2 (Jun 27, 2010)

  • No changes listed.

Version 0.2.1 (Jun 27, 2010)

  • Added more documentation around extending pages - stephenmcd
  • Update fixtures with new name for ordering field - stephenmcd
  • Added notes about contributing with links to github and bitbucket repos - stephenmcd
  • Fixes to Mezzanine’s sphinx theme - stephenmcd
  • Added initial layout template for docs with GA code - stephenmcd
  • Bugfix to template loading in page view - stephenmcd

Version 0.2 (Jun 27, 2010)

  • Reinstate required ordering for correct admin template loading - stephenmcd
  • Fixed incorrect project name in license - stephenmcd
  • Created framework for inheriting from Page model to create custom content types for pages, and added new abstract model Orderable for managing orderable models - stephenmcd
  • Initial version of documentation - stephenmcd
  • Bugfix to submit overriding for keyword field - stephenmcd

Version 0.1.4 (Jun 15, 2010)

  • Switch out filebrowser to use a custom version as done with grappelli - correctly packaged and Django 1.1 compatible - stephenmcd
  • Add script for generating fork of filebrowser - stephenmcd
  • Simplify structure for optionally installed apps and exclude all optional apps from testing - stephenmcd
  • In mobile middleware, don’t assume user-agent exists since the test client doesn’t use one - stephenmcd
  • Bugfix to mobile middleware - missing imports - stephenmcd
  • Made comments IP address nullable - stephenmcd
  • Use url tags in templates instead of get_absolute_url - stephenmcd
  • Don’t assume request is in context in inclusion tags - stephenmcd
  • Added error templates and example mobile template for homepage - stephenmcd
  • Added test suite and version bump - stephenmcd

Version 0.1.3 (Jun 14, 2010)

  • Moved the blog landing page’s slug into a setting - stephenmcd
  • Add homepage to menu - stephenmcd
  • Update to layout of sharing panel - stephenmcd
  • Bugfix to AJAX submit for admin keywords field - stephenmcd
  • Added a dynamically set “selected” attribute for pages rendered in the page menu - stephenmcd
  • Bugfix to tweets for search terms - missing profile image and invalid date format - stephenmcd
  • Bugfix to tweets - invalid import - stephenmcd
  • Added demo twitter feed - stephenmcd
  • Bugfix to blog view - old variable name - stephenmcd
  • Added username fallback for displaying author’s name for list of blog posts - stephenmcd
  • Added “powered by” copy - stephenmcd
  • Added setting GOOGLE_ANALYTICS_ID for integrating Google Analytics - stephenmcd
  • Added setting PAGES_MENU_SHOW_ALL to control whether all levels in page menu are shown by default - stephenmcd
  • Changed manual file exclusion in setuptools script to maintain owner and permissions - stephenmcd

Version 0.1.2 (Jun 10, 2010)

  • Remove local settings module from repo and packaging - stephenmcd
  • Actual local_settings module removal - stephenmcd

Version 0.1.1 (Jun 10, 2010)

  • No changes listed.

Version 0.1 (Jun 10, 2010)

  • No changes listed.