From a67fdf2423ae83d8698832d54885882ca645833c Mon Sep 17 00:00:00 2001 From: Karl Hobley Date: Tue, 8 Jul 2014 13:26:08 +0100 Subject: [PATCH 1/6] Early draft of 0.4 release notes --- docs/releases/0.4.rst | 135 ++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 135 insertions(+) create mode 100644 docs/releases/0.4.rst diff --git a/docs/releases/0.4.rst b/docs/releases/0.4.rst new file mode 100644 index 000000000..56a9751e5 --- /dev/null +++ b/docs/releases/0.4.rst @@ -0,0 +1,135 @@ +========================= +Wagtail 0.4 release notes +========================= + + +Whats new +========= + +Front-end permissions +~~~~~~~~~~~~~~~~~~~~~ + +TODO + + +Python 3 support +~~~~~~~~~~~~~~~~ + +Wagtail now supports Python 3.2, 3.3 and 3.4. + + +Scheduled publishing +~~~~~~~~~~~~~~~~~~~~ + +Editors can now schedule pages to be published or unpublished at specified times. + +A new management command has been added (``publish_scheduled_pages``) to publish pages that have been scheduled by an Editor. + +TODO: Link to docs + + +Search on QuerySet with Elasticsearch +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +Its now possible to perform searches with Elasticsearch on ``PageQuerySet``s. + +Example: + + >>> from wagtail.wagtailcore.models import Page + >>> Page.objects.live().descendant_of(events_index).search("Hello") + [, ] + + + +Sitemap generation +~~~~~~~~~~~~~~~~~~ + +A new module has been added (``wagtail.contrib.wagtailsitemaps``) which produces XML sitemaps for Wagtail sites. + +TODO: Link to docs + + +Front-end cache invalidation +~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +A new module has been added (``wagtail.contrib.wagtailfrontendcache``) which invalidates pages in a frontend cache when they are updated or deleted in Wagtail. + +TODO: Link to docs + + +Notification preferences +~~~~~~~~~~~~~~~~~~~~~~~~ + +Users can now decide which notifications they recieve from Wagtail using a new "Notification preferences" section located in the accound settings section. + + +Minor features +~~~~~~~~~~~~~~ + +Core +---- + + * Any extra arguments given to ``Page.serve`` are now passed through to ``get_context`` and ``get_template`` + * Added ``in_menu`` and ``not_in_menu`` methods to ``PageQuerySet`` + * Added ``get_next_siblings`` and ``get_prev_siblings`` to ``Page`` + * Added ``page_published`` signal + * Added ``copy`` method to ``Page`` to allow copying of pages + * Added ``construct_whitelister_element_rules`` hook for customising the HTML whitelist used when saving ``RichText`` fields + * Support for setting a ``subpage_types`` property on ``Page`` models, to define which page types are allowed as subpages + + +Admin +----- + + * Removed the "More" section from the admin menu + * Added pagination to page listings in admin + * Added a new datetime picker widget + * Updated hallo.js to version 1.0.4 + * Aesthetic improvements to preview experience + * Login screen redirects to dashboard if user is already logged in + * Snippets are now ordered alphabetically + * Added ``init_new_page`` signal + + +Images +------ + + * Added ``original`` as a resizing rule supported by the ``{% image %}`` tag + * ``image`` tag now accepts extra keyword arguments to be output as attributes on the img tag + * Added an ``attrs`` property to image rendition objects to output ``src``, ``width``, ``height`` and ``alt`` attributes all in one go + + +Other +----- + * Added styleguide (mainly for wagtail developers) + + +Bug fixes +~~~~~~~~~ + + * Animated GIFs are now coalesced before resizing + * Wand backend clones images before modifying them + * Admin breadcrumb now positioned correctly on mobile + * Page chooser breadcrumb now updates the chooser modal instead of linking to Explorer + * Embeds - Fixed crash when no HTML field is sent back from the embed provider + * Multiple sites with same hostname but different ports are now allowed + * No longer possible to create multiple sites with ``is_default_site = True`` + + +Backwards incompatible changes +============================== + +ElasticUtils/pyelasticsearch has now been replaced with elasticsearch-py +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +TODO + + +Deprecated features +=================== + + * Renamed some template tag libraries + +TODO: Write some more about renamed template tags + +TODO: Search wagtail codebase for any new DeprecationWarnings From 1274a81e8df5908ec03b89db51d37f717eefa5cb Mon Sep 17 00:00:00 2001 From: Karl Hobley Date: Tue, 8 Jul 2014 13:55:19 +0100 Subject: [PATCH 2/6] Updates to release notes --- docs/releases/0.4.rst | 51 +++++++++++++++++++++++++++++++++++++------ 1 file changed, 44 insertions(+), 7 deletions(-) diff --git a/docs/releases/0.4.rst b/docs/releases/0.4.rst index 56a9751e5..85b325f40 100644 --- a/docs/releases/0.4.rst +++ b/docs/releases/0.4.rst @@ -6,6 +6,7 @@ Wagtail 0.4 release notes Whats new ========= + Front-end permissions ~~~~~~~~~~~~~~~~~~~~~ @@ -31,16 +32,13 @@ TODO: Link to docs Search on QuerySet with Elasticsearch ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -Its now possible to perform searches with Elasticsearch on ``PageQuerySet``s. - -Example: +Its now possible to perform searches with Elasticsearch on ``PageQuerySet``s: >>> from wagtail.wagtailcore.models import Page >>> Page.objects.live().descendant_of(events_index).search("Hello") [, ] - Sitemap generation ~~~~~~~~~~~~~~~~~~ @@ -66,6 +64,7 @@ Users can now decide which notifications they recieve from Wagtail using a new " Minor features ~~~~~~~~~~~~~~ + Core ---- @@ -119,6 +118,7 @@ Bug fixes Backwards incompatible changes ============================== + ElasticUtils/pyelasticsearch has now been replaced with elasticsearch-py ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ @@ -128,8 +128,45 @@ TODO Deprecated features =================== - * Renamed some template tag libraries -TODO: Write some more about renamed template tags +Template tag libraries renamed +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -TODO: Search wagtail codebase for any new DeprecationWarnings +The following template tag libraries have been renamed: + + * ``pageurl`` => ``wagtailcore_tags`` + * ``rich_text`` => ``wagtailcore_tags`` + * ``embed_filters`` => ``wagtailembeds_tags`` + * ``image_tags`` => ``wagtailimages_tags`` + + +New search field configuration format +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +The ``indexed_fields`` is now deprecated and has been replaced by a new search field configuration format called ``search_fields``. + +TODO: Needs docs! + + +Page.route method should now return a RouteResult instead of an HttpResponse +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +TODO + + +Hooks have been moved into wagtailcore +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +TODO + + +Page.show_as_mode renamed to Page.serve_preview +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +TODO + + +Page.get_other_siblings deprecated +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +Please use ``my_page.get_siblings(inclusive=False)`` instead. From 89e4d2697837127c42688eacfc35c8fd7116336f Mon Sep 17 00:00:00 2001 From: Karl Hobley Date: Tue, 8 Jul 2014 14:17:10 +0100 Subject: [PATCH 3/6] More updates to 0.4 release notes --- docs/releases/0.4.rst | 37 ++++++++++++++++++++++++------------- 1 file changed, 24 insertions(+), 13 deletions(-) diff --git a/docs/releases/0.4.rst b/docs/releases/0.4.rst index 85b325f40..f2eb290f5 100644 --- a/docs/releases/0.4.rst +++ b/docs/releases/0.4.rst @@ -10,7 +10,9 @@ Whats new Front-end permissions ~~~~~~~~~~~~~~~~~~~~~ -TODO +Wagtail now supports password protecting pages on the frontend allowing sections of your website to be made private. + +TODO: Link to docs Python 3 support @@ -80,8 +82,8 @@ Core Admin ----- - * Removed the "More" section from the admin menu - * Added pagination to page listings in admin + * Removed the "More" section from the menu + * Added pagination to page listings * Added a new datetime picker widget * Updated hallo.js to version 1.0.4 * Aesthetic improvements to preview experience @@ -119,10 +121,15 @@ Backwards incompatible changes ============================== -ElasticUtils/pyelasticsearch has now been replaced with elasticsearch-py -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +ElasticUtils replaced with elasticsearch-py +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -TODO +If you are using the elasticsearch backend, you must install the ``elasticsearch`` module into your environment. + + +.. note:: + + If you are using an older version of Elasticsearch (< 1.0) you must install elasticsearch-py 0.4.x. Deprecated features @@ -143,25 +150,29 @@ The following template tag libraries have been renamed: New search field configuration format ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -The ``indexed_fields`` is now deprecated and has been replaced by a new search field configuration format called ``search_fields``. +``indexed_fields`` is now deprecated and has been replaced by a new search field configuration format called ``search_fields``. TODO: Needs docs! -Page.route method should now return a RouteResult instead of an HttpResponse -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +Page.route method should now return a RouteResult +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -TODO +Previously, the ``route`` method called ``serve`` and returned a ``HttpResponse`` object. This has now been split up so ``serve`` is called separately and ``route`` must now return a RouteResult object. + +TODO: Link to docs -Hooks have been moved into wagtailcore +Wagtailadmins ``hooks`` module has moved to wagtailcore ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -TODO +If you use any ``wagtail_hooks.py`` files in your project, you may have an import like: ``from wagtail.wagtailadmin import hooks`` + +Change this to: ``from wagtail.wagtailcore import hooks`` Page.show_as_mode renamed to Page.serve_preview -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ TODO From 67fbf86bd111facf35a8372c9cf0e1523ce90f64 Mon Sep 17 00:00:00 2001 From: Karl Hobley Date: Tue, 8 Jul 2014 14:43:49 +0100 Subject: [PATCH 4/6] Added links to docs from 0.4 release notes --- docs/building_your_site/djangodevelopers.rst | 2 ++ docs/management_commands.rst | 17 ++++++++++++++ docs/releases/0.4.rst | 24 ++++++++------------ 3 files changed, 29 insertions(+), 14 deletions(-) diff --git a/docs/building_your_site/djangodevelopers.rst b/docs/building_your_site/djangodevelopers.rst index 89f0ed642..ee066b99a 100644 --- a/docs/building_your_site/djangodevelopers.rst +++ b/docs/building_your_site/djangodevelopers.rst @@ -171,6 +171,8 @@ Other Relationships Your ``Page``-derived models might have other interrelationships which extend the basic Wagtail tree or depart from it entirely. You could provide functions to navigate between siblings, such as a "Next Post" link on a blog page (``post->post->post``). It might make sense for subtrees to interrelate, such as in a discussion forum (``forum->post->replies``) Skipping across the hierarchy might make sense, too, as all objects of a certain model class might interrelate regardless of their ancestors (``events = EventPage.objects.all``). It's largely up to the models to define their interrelations, the possibilities are really endless. +.. _anatomy_of_a_wagtail_request: + Anatomy of a Wagtail Request ~~~~~~~~~~~~~~~~~~~~~~~~~~~~ diff --git a/docs/management_commands.rst b/docs/management_commands.rst index 96cfe95c3..18358a869 100644 --- a/docs/management_commands.rst +++ b/docs/management_commands.rst @@ -1,6 +1,11 @@ +.. _management_commands: + Management commands =================== + +.. _publish_scheduled_pages: + publish_scheduled_pages ----------------------- @@ -8,6 +13,9 @@ publish_scheduled_pages This command publishes or unpublishes pages that have had these actions scheduled by an editor. It is recommended to run this command once an hour. + +.. _fixtree: + fixtree ------- @@ -15,6 +23,9 @@ fixtree This command scans for errors in your database and attempts to fix any issues it finds. + +.. _move_pages: + move_pages ---------- @@ -30,6 +41,9 @@ Options: - **to** This is the **id** of the page to move pages to. + +.. _update_index: + update_index ------------ @@ -44,6 +58,9 @@ It is recommended to run this command once a week and at the following times: The search may not return any results while this command is running, so avoid running it at peak times. + +.. _search_garbage_collect: + search_garbage_collect ---------------------- diff --git a/docs/releases/0.4.rst b/docs/releases/0.4.rst index f2eb290f5..1330603dc 100644 --- a/docs/releases/0.4.rst +++ b/docs/releases/0.4.rst @@ -7,12 +7,12 @@ Whats new ========= -Front-end permissions -~~~~~~~~~~~~~~~~~~~~~ +Private Pages +~~~~~~~~~~~~~ Wagtail now supports password protecting pages on the frontend allowing sections of your website to be made private. -TODO: Link to docs +:ref:`private_pages` Python 3 support @@ -26,9 +26,7 @@ Scheduled publishing Editors can now schedule pages to be published or unpublished at specified times. -A new management command has been added (``publish_scheduled_pages``) to publish pages that have been scheduled by an Editor. - -TODO: Link to docs +A new management command has been added (:ref:`publish_scheduled_pages`) to publish pages that have been scheduled by an Editor. Search on QuerySet with Elasticsearch @@ -46,7 +44,7 @@ Sitemap generation A new module has been added (``wagtail.contrib.wagtailsitemaps``) which produces XML sitemaps for Wagtail sites. -TODO: Link to docs +:ref:`sitemap_generation` Front-end cache invalidation @@ -54,7 +52,7 @@ Front-end cache invalidation A new module has been added (``wagtail.contrib.wagtailfrontendcache``) which invalidates pages in a frontend cache when they are updated or deleted in Wagtail. -TODO: Link to docs +:ref:`frontend_cache_purging` Notification preferences @@ -129,7 +127,7 @@ If you are using the elasticsearch backend, you must install the ``elasticsearch .. note:: - If you are using an older version of Elasticsearch (< 1.0) you must install elasticsearch-py 0.4.x. + If you are using an older version of Elasticsearch (< 1.0) you must install ``elasticsearch`` version 0.4.x. Deprecated features @@ -152,15 +150,13 @@ New search field configuration format ``indexed_fields`` is now deprecated and has been replaced by a new search field configuration format called ``search_fields``. -TODO: Needs docs! - Page.route method should now return a RouteResult ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ Previously, the ``route`` method called ``serve`` and returned a ``HttpResponse`` object. This has now been split up so ``serve`` is called separately and ``route`` must now return a RouteResult object. -TODO: Link to docs +:ref:`anatomy_of_a_wagtail_request` Wagtailadmins ``hooks`` module has moved to wagtailcore @@ -171,8 +167,8 @@ If you use any ``wagtail_hooks.py`` files in your project, you may have an impor Change this to: ``from wagtail.wagtailcore import hooks`` -Page.show_as_mode renamed to Page.serve_preview -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +Page.show_as_mode replaced with Page.serve_preview +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ TODO From 608b8ccc4fa3240a92c9f3f8488ce656144dee28 Mon Sep 17 00:00:00 2001 From: Karl Hobley Date: Tue, 8 Jul 2014 14:54:26 +0100 Subject: [PATCH 5/6] Added 'Miscellaneous' section to deprecated features --- docs/releases/0.4.rst | 18 +++++++----------- 1 file changed, 7 insertions(+), 11 deletions(-) diff --git a/docs/releases/0.4.rst b/docs/releases/0.4.rst index 1330603dc..a2ac574da 100644 --- a/docs/releases/0.4.rst +++ b/docs/releases/0.4.rst @@ -151,8 +151,8 @@ New search field configuration format ``indexed_fields`` is now deprecated and has been replaced by a new search field configuration format called ``search_fields``. -Page.route method should now return a RouteResult -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +``Page.route`` method should now return a ``RouteResult`` +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ Previously, the ``route`` method called ``serve`` and returned a ``HttpResponse`` object. This has now been split up so ``serve`` is called separately and ``route`` must now return a RouteResult object. @@ -167,13 +167,9 @@ If you use any ``wagtail_hooks.py`` files in your project, you may have an impor Change this to: ``from wagtail.wagtailcore import hooks`` -Page.show_as_mode replaced with Page.serve_preview -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +Miscellaneous +~~~~~~~~~~~~~ -TODO - - -Page.get_other_siblings deprecated -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - -Please use ``my_page.get_siblings(inclusive=False)`` instead. + * ``Page.show_as_mode`` replaced with ``Page.serve_preview`` + * ``Page.get_page_modes`` method replaced with ``Page.preview_modes`` property + * ``Page.get_other_siblings`` replaced with ``Page.get_siblings(inclusive=False)`` From ff72d70d37dfd32e1a0e75e4d216eca555a719ff Mon Sep 17 00:00:00 2001 From: Karl Hobley Date: Tue, 8 Jul 2014 14:55:12 +0100 Subject: [PATCH 6/6] Fixed typo --- docs/releases/0.4.rst | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/releases/0.4.rst b/docs/releases/0.4.rst index a2ac574da..a51c3402d 100644 --- a/docs/releases/0.4.rst +++ b/docs/releases/0.4.rst @@ -58,7 +58,7 @@ A new module has been added (``wagtail.contrib.wagtailfrontendcache``) which inv Notification preferences ~~~~~~~~~~~~~~~~~~~~~~~~ -Users can now decide which notifications they recieve from Wagtail using a new "Notification preferences" section located in the accound settings section. +Users can now decide which notifications they recieve from Wagtail using a new "Notification preferences" section located in the account settings. Minor features