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
  * Bump ``grappelli_safe`` version to 0.2.8 - Stephen McDonald
  * Added a check in ``footer_scripts`` to only include the analytics tracking code if user is not part of the staff team - Pedro Araújo

Version 1.2.0 (Aug 05, 2012)
----------------------------

  * Redirect to next param or home on signup with pending account verification. Closes #289 - Stephen McDonald
  * Prevent certain exceptions from swallowed by the cache middleware - Stephen McDonald
  * Removed ``in_navigation`` and ``in_footer`` fields on the Page model, and replaced them with the ``in_menus`` field, which stored a list of IDs specifying which menu templates the page should appear in. Menu IDs are mapped to templates with the new ``PAGE_MENU_TEMPLATES`` setting - Stephen McDonald
  * Template tag changes for the new ``page.in_menus`` field - Stephen McDonald
  * Added mezzanine-twittertopic to third-party apps - Stephen McDonald
  * Update fixtures for new ``Page.in_menus`` field - Stephen McDonald
  * Move the page permissions section of the docs to underneath more important topics - Stephen McDonald
  * Added page menu docs - Stephen McDonald
  * Ensure unique slugs even when slug is provided. Closes #290 - Stephen McDonald
  * Add a comment to the default urlconf about changing the admin urlpattern - Stephen McDonald
  * Don't allow pages to be added as children to a homepage page. Closes #286 - Stephen McDonald
  * Added more notes around the new ``SITE_PREFIX`` setting, and refactored the code a bit - Stephen McDonald
  * Remove old page admin code for forcing order/slug to be set - Stephen McDonald
  * Only set ``COMMENTS_APP`` if not defined. Closes #294 - Stephen McDonald
  * Allow internal ``PAGES_SLUG`` setting to be configurable - Stephen McDonald
  * register ThreadedComment admin for ``mezzanine.generic`` ``COMMENTS_APP`` only - Dmitry Falk
  * Fix for progressive jpgs in thumbnail template tag. Closes #268. Closes #295 - Stephen McDonald
  * Don't assume ``COMMENTS_APP`` is set - Stephen McDonald
  * separated conf settings - Dmitry Falk
  * add a block ``left_panel`` in ``base.html`` to make it easier to over-ride / over-extend - Sanjay B
  * Ensure urls are only added once to the list of items. It might happen that pages are listed multiple times since for. instance a RichTextPage is also a Page and both are subclasses. of Displayable - Enrico Tröger
  * Redirect the /account/ URL to the profile update form, and the /users/ URL to the logged in user's profile. Closes #291 - Stephen McDonald
  * Clean up sitemap URL handling - Stephen McDonald
  * Use ``publish_date`` for BlogPosts in ``/sitemap.xml`` - Enrico Tröger
  * ``FORMS_USE_HTML5`` is a core setting - Stephen McDonald
  * Allow page objects with removed apps to still render - Stephen McDonald
  * Ensure mezzanine's apps have their settings loaded before any others - Stephen McDonald
  * fix utils if ``mezzanine.accounts`` not installed - Dmitry Falk
  * Fix reference to richtext filter settings defaults which are now in ``mezzanine.core`` - Stephen McDonald
  * Fix serialization of ``Page.in_menus`` fields for dumpdata command. Closes #303 - Stephen McDonald
  * Fix initial tuple for ignorable nexts in ``mezzanine.utils.login_redirect`` - Stephen McDonald
  * Make gunicorn names in supervisor project specific. Closes #285 - Stephen McDonald
  * Added i18n cache key suffix - Renyi Khor
  * Fix edge case in url templatetag causing ViewDoesNotExist error. It happened when ``ACCOUNTS_PROFILE_VIEWS_ENABLED`` was set to False. and profile app called ``profile`` (same as url name) was added. to ``INSTALLED_APPS`` - Michał Oleniec
  * Fix TypeError on ProfileFieldsForm save. Passing ``cleaned_data`` from ProfileForm into ProfileFieldsForm. caused doubled validation which in case of ForeignKey. field tried to get instance by field value which was instance already. (excepting int from ``request.POST)`` - Michał Oleniec
  * Add ``ACCOUNTS_PROFILE_FORM_FIELDS_ORDER`` setting - Michał Oleniec
  * Add customizable profile form. - new setting ``ACCOUNT_PROFILE_FORM``. - add ``get_profile_form`` help method. - add generic form getter into views. - update ``mezzanine.account.templatetags`` - Michał Oleniec
  * Make ``editable.js`` work with ``JQuery.noConflict()`` - Adam Brenecki
  * changes to detect the appropriate page when making the homepage part of the page tree. Old code did not detect the slug appropriatley forcing you to make the slug / in the admin area - James Page
  * Make some template tags more robust ``(keywords_for`` and editable) by failing silently when given an empty variable, as the case may be in the blog templates when no blog page object exists, so we don't need to check for this case in the templates themselves - Stephen McDonald
  * In the overextends template tag, only remove template paths from the list of available paths when the first call to ``find_template`` is made in each call to ``get_parent``, otherwise every second parent template found is skipped - Stephen McDonald
  * Bump ``filebrowser_safe`` to 0.2.9 - Stephen McDonald
  * Switch page processor execution order so custom slug processors are executed before model processors - Hakan Bakkalbasi
  * Change ``@processor_for`` registration logic so most recently registered page processors are run first - Hakan Bakkalbasi
  * For custom hompegae slug lookup in PageMiddleware, fix missing import and only call resolve once - Stephen McDonald
  * Hash cache keys when talking directly to the cache API, to avoid keys longer than the backend supports (eg memcache limit is 255) - Stephen McDonald
  * overextends tag path fix for uwsgi - Stephen McDonald
  * Added new optional field ``MetaData._meta_title`` for overriding HTML title tag value, accessible via ``MetaData.meta_title``, which will return the string version of an instance of ``_meta_title`` is not provided - Stephen McDonald
  * Add parent hierarchy to page template rendering - Ken Bolton
  * Added rollback command for deploys - Stephen McDonald
  * Only pip install requirements if the requirements file has changed - Stephen McDonald
  * Use ``file.url`` instead of ``file.path`` to auto-generate descriptions for gallery image, as remote storage backends such as S3BotoStorage do not support the ``file.path`` method - Hakan Bakkalbasi
  * Added Django's tz context processor to ``project_template.settings``. Closes #319 - Stephen McDonald
  * Move settings specific to the pages app into their own defaults module, and add ``PAGE_MENU_TEMPLATES`` commented out in ``project_template's`` ``settings.py`` along with other common settings - Stephen McDonald
  * Added missing defaults module for pages - Stephen McDonald
  * Don't use the timezone context processor on Django 1.3 - Stephen McDonald
  * Update docs for page hierarchy. Fix page template hierarchy issues around ``content_model`` - Ken Bolton
  * Remove print statement - Ken Bolton
  * Support modules within packages when trying to import host specific themes. According to ``http://docs.python.org/library/functions.html?highlight=__import__#__import__``. ``__import__`` only returns the top-level package which might not be what we want for. the ``HOST_THEMES`` mapping. Looking the import module path up in ``sys.modules`` gives. the full path. With this change it is possible to do use ``example_com.mybest`` as a host theme for. ``mybest.example.com`` (with main site ``example_com)``. Otherwise ``host_theme_path()``. would return ``'example_com'`` when trying to import ``'example_com.mybest'`` - Enrico Tröger
  * Still call ``contribute_to_class`` for dynamic fields in ``mezzanine.generic`` even when frozen by south. Closes #321 - Stephen McDonald
  * Improve page template hierarchy documentation - Ken Bolton
  * In fabfile, always update requirements if any are unpinned - Stephen McDonald
  * Fix indentation. <leader>-fef does not understand rst! - Ken Bolton
  * Remove global from ``get_parents`` - Ken Bolton
  * Adds ``get_ascendants()`` to Page. This returns all pages along the path from the root of the Page tree to. this page. The value is pre-calculated in PageMiddleware - Alex Hill
  * Add comments and remove an obsolete variable - Alex Hill
  * Ensure editable integer settings always have a value. Closes #325 - Stephen McDonald
  * Fix regression in ``keywords_for`` tag for class args. Closes #326 - Stephen McDonald
  * Remove unused import - Stephen McDonald
  * Remove HTML filtering from tincymce setup since we're filtering server-side - Stephen McDonald
  * Allow comments in HTML filtering - Stephen McDonald
  * Change build IRC notifications to only occur if the build status changes - Stephen McDonald
  * Upgrade ``manage.py`` to the new cli handler, and throw out some old dev code. Closes #330 - Stephen McDonald
  * Further mimic Django's new project layout - Stephen McDonald
  * Addedd a note to the deployment docs describing how alternative web servers and DBs can be used - Stephen McDonald
  * Prevent docs build import errors when optional dependencies for the rss blog importer aren't installed - Stephen McDonald
  * Add links in the depooyment docs to the web and database server sections in the Django docs - Stephen McDonald
  * Save a query in ``page.get_ascendants`` - Stephen McDonald
  * Update url for mezzanine-stackato - Stephen McDonald
  * Fix tests asserting number of queries used - Stephen McDonald
  * Move ascendant page lookup by slug, from PageMiddleware into a method on a new PageManager manager for the Page model, and use it as the first attempt at loading ascendants in ``Page.get_ascendants``, before falling back to recursive queries in the case of a custom slug in the ascendants chain - Stephen McDonald
  * Add tests for the new page ascendant lookup methods - Stephen McDonald
  * add ``ADMIN_THUMB_SIZE`` settings - Dmitry Falk
  * Bump ``filebrowser_safe`` to 0.2.10 - Stephen McDonald
  * Added some notes about parent template selection in the page view - Stephen McDonald
  * Don't use ``with_ascendants_for_slug`` in ``Page.get_ascendants`` if a slug hasn't been created yet - Stephen McDonald
  * Make relation check in signals for generic fields more robust - Stephen McDonald
  * Different attempt at making relation check in signals for generic fields more robust - Stephen McDonald
  * Allow static proxy URL to be configured - Stephen McDonald
  * Also rename ``static_proxy`` URL default in case anyone else's web server alias is slightly off - Stephen McDonald
  * 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
  * 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 #349 - regression in ``set_page_permissions`` - Alex Hill
  * Madee the labels and help text for the email fields more descriptive - Stephen McDonald
  * Added mezzanine-events to third-party apps list - Stephen McDonald
  * Added FAQ to the docs covering the HTML filtering settings - Stephen McDonald
  * Add a setting to send notification mails to MANAGERS when a new comment is posted - Enrico Tröger
  * PageAdmin now respects excluded fields - Aaron Merriam
  * Fix #348, RichTextFields in IE - Ken Bolton
  * Change the rating ajax response to return the new rating - Stephen McDonald
  * Added the bool setting ``PAGES_PUBLISHED_INCLUDE_LOGIN_REQUIRED`` which when set to False (default) will exclude pages with ``login_required`` set to True in ``PageManager.published``. This affects the ``page_menu`` template tag which renders menus, and pages listed in search results - Stephen McDonald
  * Added ``get_next_by_order`` and ``get_previous_by_order`` methods to the Orderable model - Stephen McDonald
  * Allow ``PAGES_PUBLISHED_INCLUDE_LOGIN_REQUIRED`` handling to be overridden by callers to ``PageManager.publsihed`` for cases when they want to deal with ``login_required`` manually, such as in the case of PageMiddleware - Stephen McDonald
  * Marked fabfile functions explicitly with task decorator, and added a custom docs generator for each task - Stephen McDonald
  * Updated auto-generated docs - Stephen McDonald

Version 1.1.4 (Jun 28, 2012)
----------------------------

  * Add custom introspection rules that prevent duplicate field creation on dynamic fields during migration - Stephen McDonald
  * Use filebrowser field's format attribute rather than extensions. Closes #287 - Stephen McDonald

Version 1.1.3 (Jun 26, 2012)
----------------------------

  * fix spacing - Dmitry Falk
  * Allow rel attributes in anchor tags - Stephen McDonald
  * Don't cast to list in paginate - Stephen McDonald
  * Remove redundant ampersands in pagination links - Stephen McDonald
  * Update the configuration docs example to use author/blooks instead of gallery/images, and add the new options for registered settings, choices and append - Stephen McDonald
  * Allow default twitter feed to be managed via admin settings - Stephen McDonald
  * Raise NotImplementedError on Displayable subclasses that don't implement ``get_absolute_url`` - Stephen McDonald
  * Add new setting ``SITE_PREFIX`` to configure a custom prefix. This is useful if Mezzanine doesn't run at the root of the domain - Enrico Tröger
  * Add and use ``utils.urls.get_page_slug_from_path()`` to handle non-root configurations. For the pages app, we need to handle removing the ``SITE_PREFIX`` and ``PAGES_SLUG`` if. they are set - Enrico Tröger
  * Set ``is_current`` on Pages when added to context in PageMiddleware - Alex Hill
  * Permit disabling page processors at external apps' urls in the page tree - Alex Hill
  * Refactored overextends template tag to not depend on template origins since they're not available with DEBUG off - Stephen McDonald
  * Fix variable resolution for ``as_tag`` template tags - Stephen McDonald
  * Added template tags for the various account forms - Stephen McDonald
  * Updated packages docs - Stephen McDonald
  * Bump ``grappelli_safe`` to 0.2.7 for admin column sorting fix - Stephen McDonald
  * Clean up exact page matching for page processors - Stephen McDonald
  * Updated jQuery Form Plugin - Renyi Khor
  * Fix ``_current_page`` in middleware - Stephen McDonald
  * Reorganised page middleware for fewer queries and readability - Alex Hill
  * page middleware: use ``request.path_info`` - Dmitry Falk
  * Correctly handle root URL - Alexander Hill
  * Add check for ``page_branch_in_footer``. Without this check, ``footer.html`` is rendered for every page in the tree,. returning an empty string - Alexander Hill
  * Add perms to existing context page instead of overwriting it. Previously the template tag ``set_page_permissions`` would retrieve the. page's content model, set the perms attribute on it, and then replace. the page object in the context with the retrieved object. Setting perms. on the existing page object instead preseves attributes set by ``set_helpers`` - Alexander Hill
  * Check ``has_children`` before calling ``page_menu``. This saves a lot of template renders in wide page trees - Alexander Hill
  * backport of django-forms-builder signals to ``mezzanine.forms`` - Brian Schott
  * set mimetype to empty string in case path is not found - Brian Schott
  * Handle no blog page existing for meta keywords in the blog list template - Stephen McDonald
  * Fix path lookup for Python 2.5 - Stephen McDonald
  * Handle FileBrowseField args in Django FileField fallback - Stephen McDonald
  * Use image formats for image FileBrowse fields - Stephen McDonald
  * Bump ``filebrowser_safe`` to 0.2.7 - Stephen McDonald
  * Cleaned up blog import redirect creation - Zachary Gohr
  * Bugfix: Account form validation errors on non-html5 browsers - Renyi Khor
  * added in-navigation test to level 1 - Brian Schott
  * fix migration without blog app - Dmitry Falk
  * Ensure Mezzanine's auth backend is enabled if ``mezzanine.accounts`` is installed. Closes #281 - Stephen McDonald
  * Eval settings choices when generating settings docs - Stephen McDonald

Version 1.1.2 (Jun 05, 2012)
----------------------------

  * Fix slug handling in page middleware for homepage as page object - Stephen McDonald
  * add some verbose names - Dmitry Falk

Version 1.1.1 (Jun 04, 2012)
----------------------------

  * Don't assume rating field is named rating - Stephen McDonald
  * Handle ``PAGES_SLUG`` in the page middleware - Stephen McDonald
  * Make the creation of ``PAGES_SLUG`` not dependant on the position of the blog urlpatterns in urlpatterns created before the page urlpatterns - Stephen McDonald
  * Fix quoting unicode thumbnail filenames - Stephen McDonald
  * Move lookup of page subclasses into classmethod ``Page.get_content_models``, and call ``select_related`` on all page subclasses in the ``page_menu`` template tag when used for the admin page tree, since we need to touch all the related content type instances to check page paermissions - Stephen McDonald
  * Don't assume request is available in ``page.set_menu_helpers`` - Stephen McDonald
  * Move cache-busting querystring into ``mezzanine.utils.cache.add_cache_bypass`` and apply it to comments and ratings redirects so that posted content appears immediately - Stephen McDonald

Version 1.1.0 (Jun 03, 2012)
----------------------------

  * Added ``MetaData.gen_description`` bool field for controlling whether description fields are automatically populated via ``MetaData.description_from_content`` - Stephen McDonald
  * Emit the ``comment_was_posted`` signal in the comments view - Stephen McDonald
  * Correctly handle model field defaults in the quick blog post form - Stephen McDonald
  * Added the setting ``COMMENTS_ACCOUNT_REQUIRED``, which when True, will store an unauthenticated user's comment in the session and redirect to login/signup, and save their comment once they're authenticated - Stephen McDonald
  * Use setting names as labels if they're missing - Stephen McDonald
  * Wrap data access in migrations with checks against the ``dry_run`` arg - Stephen McDonald
  * added missing fr ``django.mo`` for the conf app - Nicolas Perriault
  * Only pre-populate name in the comment form with the user's username if it's not their email address, which it is by default - Stephen McDonald
  * Always use the name from the comment form, rather than the user's username, since by default it's their email address - Stephen McDonald
  * Use ``comments.select_related(user)`` when loading comments, since Django's Comment model will query for the user each time a comment is loaded - Stephen McDonald
  * Added the setting ``ACCOUNTS_VERIFICATION_REQUIRED`` which when set to True, will create new accounts as inactive, and send the user an email with a verification link to activate their account - Stephen McDonald
  * Remove invalid examples of gettext in settings module - Stephen McDonald
  * Fixed slug-based template name loading for non-ascii slugs - Stephen McDonald
  * Fix unencoded template names from slugs in blog also - Stephen McDonald
  * Added the SLUGIFY which takes a dotted Python path to the slugify function to use when converting strings into slugs. Defaults to ``mezzanine.utils.urls.slugify_unicode`` which allows for non-ascii URLs - Stephen McDonald
  * Use the text required for the help text for required fields in ``mezzanine.forms`` when no help text is entered - Stephen McDonald
  * Add HTML5 features to the comments form - Stephen McDonald
  * Added ``akismet.com`` spam filtering for comments and forms. API key must be configured by the ``AKISMET_API_KEY`` setting - Stephen McDonald
  * Fixed assignment of page permissions in the admin page tree - Stephen McDonald
  * Hide the delete button for ``mezzanine.core.admin.SingletonAdmin`` - Stephen McDonald
  * Added the view ``mezzanine.core.static_proxy`` which is used to serve TinyMCE plugin templates, and uploadify's SWF, as these break with cross-domain errors when ``STATIC_URL`` is an external host - Stephen McDonald
  * Fix with statement in Python 2.5 - Stephen McDonald
  * Bump grappelli and filebrowser versions - Stephen McDonald
  * Fix grappelli version - Stephen McDonald
  * Moved all user account features into a new app ``mezzanine.accounts`` - Stephen McDonald
  * Handle non-ascii filenames on non-utf8 filesystems. Convert filenames and warn when saving them, and raise exceptions if trying to access them and the filesystem encoding has changed. Closes #186 - Stephen McDonald
  * Add new exceptions module - Stephen McDonald
  * Added the decorator ``mezzanine.pages.decorators.for_page``, which can be used for wrapping views that map to protected pages. The decorator adds the page instance to the template context, and handles login redirects if ``page.login_required`` is True. Applied to the blog views, and also added handling for ``login_required`` on the blog page in the blog feeds, which if True, stops the feeds from producing any blog posts or meta data - Stephen McDonald
  * Grammar fix - Stephen McDonald
  * Don't disconnect the default site signal if we're not connecting our own one - Stephen McDonald
  * Only try and modify template lists when they're available - not the case when the response is pulled from cache - Stephen McDonald
  * Added the ifisinstalled template tag to replace the ``is_installed`` template filter, which properly handles include tags when the given app is not installed. Closes #181 - Stephen McDonald
  * Allow pages without children to serve as targets for sortable - Aleksandr Vladimirskiy
  * Fixed regression in admin login interface selector middleware. Closes #192 - Stephen McDonald
  * Fixed ifinstalled template tag so that it removes all tokens, not just include tags. Closes #193 - Stephen McDonald
  * Use ``prefetch_related`` in Django 1.4 for categories and keywords in the blog post list view. Closes #190 - Stephen McDonald
  * Backout admin tree empty child fix for now as it doesn't work quite correctly - Stephen McDonald
  * Fixed settings docs generator. Closes #189 - Stephen McDonald
  * Refactoring of blog feed view. Returns a http 404 instead of http 500 when the feed does not exists - Thomas Wajs
  * Clean up the blog feeds - Stephen McDonald
  * Dev started in 2009 - Stephen McDonald
  * Added fix for thumbnail generation which would previously not work for images which contained special characters in the file path and used url encoding - Kowaleski, Jason
  * Added page import to wordpress - Alvin Mites
  * restore utils/device for fork - Alvin Mites
  * Added blog post content for the feed description - Thomas Wajs
  * Allow the homepage to be login protected - Stephen McDonald
  * Added handling for filebrowser's FileBrowseField directory arg. Closes #202 - Stephen McDonald
  * Increased field lengths for ``Displayable.title`` from 100 to 500 and ``Displayable.slug`` from 100 to 2000 - Stephen McDonald
  * Move ajax csrf setup into its own JS file that's loaded even when a popup interface is loaded. Closes #206 - Stephen McDonald
  * Remove redundant cast - Stephen McDonald
  * Added the new app ``mezzanine.accounts``, which handles user login, signup, update, password reset, profile, and integration with Django's user->profile features - Stephen McDonald
  * Use ifinstalled for the accounts user panel - Stephen McDonald
  * Added some commas to the username format error - Stephen McDonald
  * Give the admin drop-down menu elements the same hover/click state as their anchors. Also closes #208 - Stephen McDonald
  * Bump filebrowser-safe to 0.2.5 - Stephen McDonald
  * Properly handle optional file upload fields in ``mezzanine.forms`` - Stephen McDonald
  * clarify south usage in overview - Brian Schott
  * Fix ``user_panel.html`` layouts - Stephen McDonald
  * Manually assign the parent to each page in the ``page_menu`` template tag, to prevent queries being triggered if they're accessed - Stephen McDonald
  * Update notes about dependencies, and remove notes about setuptools - Stephen McDonald
  * fixed docstring error in ``mezzanine_tags.ifinstalled`` - Brian Schott
  * Added dynamic validation for content in DisplayableAdmin based on the value of status - Stephen McDonald
  * Added handling for slug-based template when the homepage is a page object - Stephen McDonald
  * Add handling for Django 1.4's timezone support - Stephen McDonald
  * Remove DEBUG check from site/content signals, and prompt the user for the site domain in interactive mode, with local/live fallbacks for non-interactive mode - Stephen McDonald
  * Added optional support for django-compressor - Stephen McDonald
  * Fix ``thumb_url`` for root images on remote CDNs - Stephen McDonald
  * Remove old fixes for Postgres and timezones - Stephen McDonald
  * Allow initial dicts to be used for forms in ``mezzanine.forms`` - Stephen McDonald
  * Update to new ``gravatar_url`` in comments admin - Stephen McDonald
  * Use Django 1.4's ``bulk_create`` when creating field entries in ``mezzanine.forms`` - Stephen McDonald
  * Added multi-tenancy support. A threadlocal object is used to store the current request, and a custom manager for site-related models is used, that checks for the current request and matches the host to a site domain. Current site can also be defined by a session var (for the admin), and an environment var (for management commands) - Stephen McDonald
  * Made some visual enhancements to the settings admin, added support for settings with choices, and added the ``RICHTEXT_FILTER_LEVEL`` setting with choices for controlling the level of HTML filtering that occurs on the RichTextField - Stephen McDonald
  * Proper timezone support for tweets - Stephen McDonald
  * Update docs on multi-site to describe the new multi-tenancy approach - Stephen McDonald
  * Use default ``STATICFILES_FINDERS`` setting when setting up compressor - Stephen McDonald
  * Update travis config to test multiple Django versions - Stephen McDonald
  * Fix Django install for travis - Stephen McDonald
  * Added IRC notifications for travis builds - Stephen McDonald
  * added remote url config script - Kent Hauser
  * improved collecttemplates conflict messages - Kent Hauser
  * remove ``git.config.sh`` for pull request - Kent Hauser
  * Added ``mezzanine.pages.middleware.PageMiddleware``, which handles loading the current page, running page processors, and checking ``page.login_required``. Previously handled in ``mezzanine.pages.views.page``, but move to middleware to allow pages to point to non-page urlpatterns, without any configuration via the now redundant ``page_for`` decorator. The page view remains for handling template selection and 404 handling - Stephen McDonald
  * Added fabfile and configs for server setup and deploys - Stephen McDonald
  * allow H1s in tinymce - lexual
  * Handle homepage as page object in the new age middleware - Stephen McDonald
  * Added a Link content type for creating external URLs in the page tree - Stephen McDonald
  * Update Van's title - Stephen McDonald
  * Added the setting ``ACCOUNTS_MIN_PASSWORD_LENGTH`` for minimum password length for user accounts - Stephen McDonald
  * Added the setting ``ACCOUNTS_PROFILE_FORM_EXCLUDE_FIELDS`` for excluding profile model fields from the profile form - Stephen McDonald
  * Ensure min password length in accounts tests - Stephen McDonald
  * Hides pagination if only one page - Renyi Khor
  * Allow ``auth.User`` fields to be excluded from the profile form via the ``ACCOUNTS_PROFILE_FORM_EXCLUDE_FIELDS`` setting - Stephen McDonald
  * Initial docs for the bundled fab deployments - Stephen McDonald
  * fix i18n settings title in admin - Dmitry Falk
  * Don't show excluded profile fields in profile view - Stephen McDonald
  * Allow existing virtualenvs to be removed/replaced in fabfile - Stephen McDonald
  * Added handling for settings with choices in settings doc generator - Stephen McDonald
  * Added docs for ``mezzanine.accounts`` - Stephen McDonald
  * Added optional quality arg to be passed to the thumbnail tag, and changed default from 100 to 95 as per PIL docs. Closes #221 - Stephen McDonald
  * Ensure responses in PageMiddleware are valid responses for adding context to via page processors, eg not redirects - Stephen McDonald
  * Added the {% overextends %} built-in template tag which allows templates to be both overridden and extended at the same time - Stephen McDonald
  * Prettify fab outout - Stephen McDonald
  * In-line edit enhancements re-align on show/resize/expand - Van Nguyen
  * Added body resize event for triggering realign of edit controls - Stephen McDonald
  * added dropdown menu support - Brian Schott
  * added default navlist sidebar - Brian Schott
  * only activate current page - Brian Schott
  * Fix original image links in gallery template - Stephen McDonald
  * Refactored fabfile: - Move all templates into a config. - Move template upload and optional reload into deploy. - Added crontab handling - Stephen McDonald
  * Add proc name to gunicorn conf - Stephen McDonald
  * Clean up the new primary dropdown menu - Stephen McDonald
  * Fixed non field errors in ``fields_for`` template tag - Stephen McDonald
  * Merge navlist into tree menu - Stephen McDonald
  * In fabfile, prompt to create project if it doesn't exist on deploy - Stephen McDonald
  * Require hosts in fabfile - Stephen McDonald
  * Ensure fabfile has hosts, and imports settings from the current path - Stephen McDonald
  * Clean up ^M characters at end of lines using dos2unix and find: find . -type f -exec egrep -q $'\r$' {} \; -exec dos2unix {} \; - Thomas Lockhart
  * Fix missing </li> tag - Pavel Ponomarev
  * fix ``get_absolute_url`` for homepage - Dmitry Falk
  * Allow superuser password to be defined in fabric settings, and create superuser if defined - Stephen McDonald
  * Added the setting ``ACCOUNTS_PROFILE_VIEWS_ENABLED`` for explicitly enabling public profile pages, which defaults to False - Stephen McDonald
  * Only validate fabric settings when fab is run - Stephen McDonald
  * Shadow the admin password in fabfile - Stephen McDonald
  * Add handling for the hotfix releases in the changelog builder - Stephen McDonald
  * Allow large uploads in ``nginx.conf`` - Stephen McDonald
  * Don't fail on fabfile import (for docs build) - Stephen McDonald
  * Added owner/mode handling for templates in fabfile - Stephen McDonald
  * Fix keyword queries in blog listing - Stephen McDonald
  * Use standard page in mobile blog post listing - Stephen McDonald
  * Add a cache-busting querystring to device switching - Stephen McDonald
  * add some verbose names for blog - Dmitry Falk
  * Remove deprecated clear attr from br tags. Closes #241 - Stephen McDonald
  * Added some more notes around twitter cron jobs - Stephen McDonald
  * Fixed docstring - Stephen McDonald
  * Sync ``.po`` files - Sebastián Ramírez Magrí
  * Fixed initial values for entry instances on multi-value fields - Stephen McDonald
  * Better locale error messages - Stephen McDonald
  * Added Mezzanine's own cache system - combination of Django's cache middleware, two-phased render cache, and mint cache - Stephen McDonald
  * Added ``robots.txt/favicon.ico`` handling in ``nginx.conf`` - Stephen McDonald
  * Added docs for the new cache middleware - Stephen McDonald
  * Clean up the deprecated middleware classes - Stephen McDonald
  * Default ``CACHE_MIDDLEWARE_SECONDS`` to a minute in deployed settings - Stephen McDonald
  * Add ``SECURE_PROXY_SSL_HEADER`` to deployed settings. Closes #246 - Stephen McDonald
  * Fix var names in deploy configs - Stephen McDonald
  * Cleaned up descriptive text - Ross Laird
  * Added "timesince" to displayable - Renyi Khor
  * Added thumbnail to blogpost admin - Renyi Khor
  * Add SSL config to ``nginx.conf`` and self signed cert setup to fabfile - Stephen McDonald
  * git pull -f in deploy - Stephen McDonald
  * Added ``mezzanine.utls.models.AdminThumbMixin`` which provides a method for admin classes to refernce in their ``list_display`` that will render a thumbnail. Used for ``BlogPost.featured_image`` and ``Product.image`` in Cartridge - Stephen McDonald
  * Revert cache changes to Twitter queries - since authenticated users bypass the cache, and the Twitter call will generate a lot of queries - Stephen McDonald
  * Quote thumb names in thumbnail template tag - Stephen McDonald
  * Use cache backend for sessions in deployed settings - Stephen McDonald
  * Don't remove key/cert when blowing away a deployed instance in fabfile - Stephen McDonald
  * Use the parent breadcrumb in blog templates, so as not to assume a single root blog page - Stephen McDonald
  * Rewrite ``Page.set_menu_helpers`` to use the currently viewed page instead of the current URL - Stephen McDonald
  * Ensure ``Page.get_absolute_url`` returns absolute URLs for Link page types - Stephen McDonald
  * Allow overridden pages (eg the blog) to be deleted and have child pages added to - Stephen McDonald
  * Recompile all ``.mo`` files - Closes #250. Closes #251 - Stephen McDonald
  * Right-align drop-down menus when ``.pull-right`` is used - Stephen McDonald

Version 1.0.10 (Apr 28, 2012)
-----------------------------

  * Bump filebrowser-safe for security fix to 0.2.6 - Stephen McDonald

Version 1.0.9 (Apr 27, 2012)
----------------------------

  * Add HTML sanitizing on RichTextField instances. Closes #211 - Stephen McDonald

Version 1.0.8 (Mar 24, 2012)
----------------------------

  * Fixed ``.navbar`` ``.container`` responsive width - Stephen McDonald
  * Added default blank favicon and replace Bootstrap's collapse JS with all Bootstrap JS - Stephen McDonald
  * Added nav dividers in primary menu - Stephen McDonald
  * Fixed leftover tag loading in form response emails - Stephen McDonald

Version 1.0.7 (Mar 24, 2012)
----------------------------

  * Fixed ``body_id`` block - Stephen McDonald
  * Upgrade Bootstrap to 2.0.2 - Stephen McDonald

Version 1.0.6 (Mar 22, 2012)
----------------------------

  * Fixed draft status for quick blog form in dashboard. Closes #172 - Stephen McDonald
  * Format newlines in the quick blog form since the expected format is HTML - Stephen McDonald
  * Markup validation improvements - Paolo Dina

Version 1.0.5 (Mar 20, 2012)
----------------------------

  * Fixed admin navigation showing in inline filebrowser popups when called from TinyMCE - Stephen McDonald
  * Bump ``filebrowser_safe`` to 0.2.3 - Stephen McDonald

Version 1.0.4 (Mar 19, 2012)
----------------------------

  * Bump dependencies - Stephen McDonald

Version 1.0.3 (Mar 19, 2012)
----------------------------

  * Don't restrict image width in default css since it's now responsive - Stephen McDonald
  * Updated ``templates_for_host`` to insert default templates after the associated custom template, rather than putting all defaults at the end - Josh Cartmell
  * Updated ``templates_for_device`` to insert default templates after the associated custom template, rather than putting all defaults after all custom templates - Josh Cartmell
  * 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
  * Update ``mezzanine/forms/forms.py`` - Magic
  * Update ``mezzanine/blog/locale/ru/LC_MESSAGES/django.po`` - Mikhail
  * Update ``mezzanine/conf/locale/ru/LC_MESSAGES/django.po`` - Mikhail
  * 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
  * Actual collecttemplates command - 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
  * Missing files - 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
  * Bump dependencies - Stephen McDonald

Version 1.0.2 (Mar 06, 2012)
----------------------------

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

Version 1.0.1 (Mar 06, 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)
----------------------------

  * Added ``www.diablo-news.com`` as web site using mezzanine - wesleyb
  * 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
  * Added category support - Josh
  * 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
  * Removed unused import - 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
  * Regenerated settings docs - 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
  * Requirements version bumps - 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
  * Temp remove requirements - 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
  * Dummy commit - Stephen McDonald
  * 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
  * More responsive footer - Stephen McDonald
  * 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
  * Added travis config - 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
  * Restore requirements - 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í
  * Synchronize PO files - 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 23, 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 19, 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 19, 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
  * Remove logger code - 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
  * Cleaned up ``mezzanine.utils.conf.set_dynamic_settings`` - stephenmcd
  * 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 22, 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 24, 2011)
-----------------------------

  * Fixed incorrect setting name in device handling docs - stephenmcd
  * Use Django's simplejson - stephenmcd

Version 0.11.7 (Aug 19, 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
  * selectively load analytics - Johnny Brown
  * Added ARA Consultants to site using Mezzanine - stephenmcd

Version 0.11.5 (Jul 04, 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
  * implementing ``richtext_filter`` - Owen Nelson
  * adding docs for ``RICHTEXT_FILTER`` setting - Owen Nelson
  * updated docs on how to customize ``RICHTEXT_FILTER`` - Owen Nelson

Version 0.11.2 (Jun 01, 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
  * Fixed thumbnail test - 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
  * whoops! Reinserted line that I shouldn't have deleted - 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
  * Cleaned up white-space - stephenmcd
  * 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
  * Updated package docs - 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
  * Cleaned up white-space - 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
  * Removed unused code - 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 14, 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 11, 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
  * fix javascript syntax - lexual

Version 0.10.4 (Jan 29, 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
  * Removed redundant import - stephenmcd

Version 0.10.2 (Jan 27, 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 13, 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 22, 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
  * Updated ``local_settings`` template - 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 pyflakes test - stephenmcd
  * Fixed pyflakes test - stephenmcd
  * Removed unused imports - stephenmcd
  * 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
  * Mobile theme - jdeblank
  * 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 29, 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
  * Remove redundant import - 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
  * Missing apostrophe - stephenmcd
  * Modified the blog's ``filter_panel`` tempate so <ul> tags get closed properly - Brad Montgomery
  * locale spanish - Carlos David Marrero
  * ``search_results.html`` locale spanish - Carlos David Marrero
  * 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
  * Deprecated ``mezzanine.core.middleware.MobileTemplate`` - 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
  * More TinyMCE allowances - 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
  * Refactor settings app - 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 bad copy - 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
  * removing ``tweet_timesince`` filter - Eric Floehr
  * 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
  * Fix admin menu - stephenmcd
  * ``admin_app_list`` template tag bugfix - lexual
  * make inline editable forms pretty - lexual
  * Backed out changeset: 7a1d5a321032 - stephenmcd
  * Removed tag git/git/master - 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
  * Comment fixes - stephenmcd
  * Allow the ``BlogCategoryAdmin`` to be displayed in the admin menu when explicitly defined in ``ADMIN_MENU_ORDER`` - stephenmcd

Version 0.8.4 (Oct 01, 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 30, 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
  * Remove stray pdb - Toby White
  * 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 24, 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
  * Allow overriding ``CONTENT_MEDIA_URL`` - Toby White
  * 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 20, 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 03, 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 30, 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 ``DisplayableAdmin.search_fields`` - 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
  * Commented ``mezzanine.forms.admin`` - 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 09, 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 07, 2010)
----------------------------

  * No changes listed.

Version 0.3.2 (Jul 07, 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 05, 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 04, 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
  * Make ``maintain_parent`` private - 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)
--------------------------

  * Reintroduce ``local_settings`` module - stephenmcd
  * Reinstate required ordering for correct admin template loading - stephenmcd
  * Use ``models.permalink`` decorator - 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
  * CSS updates - 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 11, 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)
--------------------------

  * Original import - stephenmcd

