Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 2 additions & 2 deletions .github/workflows/test_startcmsproject.yml
Original file line number Diff line number Diff line change
Expand Up @@ -13,9 +13,9 @@ jobs:
fail-fast: false
matrix:
django-version: [
'4.2', '5.0', '5.1',
'4.2', '5.0', '5.1', '5.2',
]
python-version: ['3.11']
python-version: ['3.13']
requirements-file: ['requirements_base.txt']
os: [
ubuntu-latest,
Expand Down
77 changes: 64 additions & 13 deletions CHANGELOG.rst
Original file line number Diff line number Diff line change
@@ -1,11 +1,11 @@
5.0.0a1 (2025-03-02)
====================
5.0.0 (2025-05-12)
==================

Features:
---------
* Port forward of automatic JS updates (#8165) (fae83a8dd) -- Fabian Braun
* Adds backwards migration of the `Page`/`TreeNode` model merge (#8163) (f85297d33) -- Fabian Braun
* Add `CMS_ALWAYS_REFRESH_CONTENT` setting and other fixes (#8154) (1e2ff09e1) -- Fabian Braun
* Adds backwards migration of the ``Page``/``TreeNode`` model merge (#8163) (f85297d33) -- Fabian Braun
* Add ``CMS_ALWAYS_REFRESH_CONTENT`` setting and other fixes (#8154) (1e2ff09e1) -- Fabian Braun
* Improved editing response time by global caching of plugin restrictions (#8157) (3981f92d5) -- Fabian Braun
* Better editor turn-around times (#8140) (2704cd41e) -- Fabian Braun
* add django 5.2 to the test matrix (#8151) (203dfcb0e) -- Vinit Kumar
Expand All @@ -14,39 +14,40 @@ Features:
* add placeholder-level error handling (#8118) (8274ff6c7) -- Fabian Braun
* Don't show plugin selector if only one plugin can be selected (#8105) (ea9830151) -- Fabian Braun
* Improved delete page confirmation message (#8070) (47b63015f) -- Fabian Braun
* Add `FrontendEditableAdminMixin` endpoint to plugins (#8062) (0224f1e36) -- Fabian Braun
* Add ``FrontendEditableAdminMixin`` endpoint to plugins (#8062) (0224f1e36) -- Fabian Braun
* Updated welcome page (#8057) (adbcb71be) -- Fabian Braun
* Headless readiness (#7850) (d0a25c004) -- Fabian Braun
* merge page with node tree (#7947) (8577444c1) -- Jacob Rief
* Performant permission calculation for pages (#7943) (8630db8aa) -- Fabian Braun

Bug Fixes:
----------
* Remove more text decorations in page tree introduced by Django 5.2 (#8219) (7f8a6e312) -- Fabian Braun
* Racing condition after content update through data bridge (4b5d0f0d3) -- Fabian Braun
* deleting users cascaded to deleting PageUser or PageUserGroup (#8167) (2403d4ea1) -- Fabian Braun
* Add get_ancestors method to `CMSPlugin` (#8159) (502ced1ca) -- Fabian Braun
* Add get_ancestors method to ``CMSPlugin`` (#8159) (502ced1ca) -- Fabian Braun
* respect object-level permissions in placeholder model (#8156) (eab0f3410) -- Hana Belay
* ensure page content translations are created with the same template than existing (#8145) (4777a022c) -- Amanda Savluchinske
* Async support and middleware update for django CMS 4.2+ (#8147) (693e910c3) -- Fabian Braun
* Creation of text plugins failed (#8149) (fa3618e01) -- Fabian Braun
* accept custom template engines that inherit from DjangoTemplates (#8144) (579db863f) -- Hana Belay
* Replace inline script `done.html` redirect wizard (#8142) (1ee530c77) -- Fabian Braun
* Replace inline script ``done.html`` redirect wizard (#8142) (1ee530c77) -- Fabian Braun
* Copy plugins was broken (#8135) (733c377ab) -- Fabian Braun
* Detect page when getting toolbar for endpoint (#8137) (76cb708f8) -- Fabian Braun
* Django 6 tried to adding object tools to the page tree throwing an error (#8133) (01fd09bca) -- Fabian Braun
* Allow frontend editing of page title fields (#8131) (5f36e1c40) -- Fabian Braun
* #7904 - `manage.py cms fixtree` did not fix PageUrl model (#7905) (63a38367b) -- Jacob Rief
* #7904 - ``manage.py cms fixtree`` did not fix PageUrl model (#7905) (63a38367b) -- Jacob Rief
* Respect setting CMS_DEFAULT_IN_NAVIGATION (#8094) (ded96db00) -- Fabian Braun
* Added the new delete confirmation for pages also to delete translation (#8111) (df4066639) -- Fabian Braun
* Use correct `changed_date` of page content in sitemap (#8122) (d98757609) -- Jacob Rief
* Use correct ``changed_date`` of page content in sitemap (#8122) (d98757609) -- Jacob Rief
* Placeholder page getter failed for unpublished pages (#8115) (4bcb4b43e) -- Fabian Braun
* Fallback page names were not escaped (#8113) (463294977) -- Fabian Braun
* Adjust tests for updated django 5.2 admin templates (#8095) (f2c367ddc) -- Fabian Braun
* Correct ContentRenderer logic for toolbar and page content handling (#8092) (3f8fcb5fb) -- Fabian Braun
* Resolve incorrect example in django CMS API reference documentation (#8079) (58eb76bb9) -- 사재혁
* Remove `Page` object from admin index (introduced by #7995) (#8066) (fe54de417) -- Fabian Braun
* Ensure plugin class properties are available to the Django template engine (#8071) (9e33db4f4) -- Fabian Braun
* Replaced `languages` field from `Page` which used to become inconsistent (#8080) (1031d20fc) -- Fabian Braun
* Replaced ``languages`` field from ``Page`` which used to become inconsistent (#8080) (1031d20fc) -- Fabian Braun
* XSS vulnerability for page title (#8075) (241d1cbe4) -- Fabian Braun
* Grouper admin raised AttributeError when used outside the admin views (#8067) (e1af99804) -- Fabian Braun
* Sites menu was empty in the page tree (#8064) (d4b811d94) -- Fabian Braun
Expand All @@ -64,9 +65,9 @@ Bug Fixes:
* Respect ContentAdminManager pattern for frontend-editable models (#7998) (a56decf11) -- Fabian Braun
* Also clear menu cache if page permissions are changed (#7988) (4f1cbc5c9) -- Fabian Braun
* Consistent labels and help texts for page content model and page content forms (#7968) (5f2f9e465) -- Fabian Braun
* Inconsistent color codes for dark mode and `prefers-color-scheme: auto` (#7979) (f82bcaca4) -- Fabian Braun
* Inconsistent color codes for dark mode and ``prefers-color-scheme: auto`` (#7979) (f82bcaca4) -- Fabian Braun
* Refactor menus app: significant time saving (queries and cpu) (#7956) (59d50f249) -- Fabian Braun
* template tag `get_admin_url_for_language` did not return the latest page content (#7967) (b4f54a517) -- Fabian Braun
* template tag ``get_admin_url_for_language`` did not return the latest page content (#7967) (b4f54a517) -- Fabian Braun
* Regression: Turning a cached property into a property in a subclass leads to side-effects (#7971) (93f6fc508) -- Fabian Braun
* Invalidate permissions cache if group assignment of user changes (1240e189e) -- Fabian Braun
* Fail silently when rendering a placeholder on a missing toolbar object (#7954) (0f81ceaea) -- Fabian Braun
Expand Down Expand Up @@ -114,6 +115,56 @@ With the review help of the following contributors:

Thanks to all contributors for their efforts!

4.1.6 (2025-04-22)
==================

Bug Fixes:
----------
* Django 5.2 tried adding object tools to the page tree throwing an error (#8200) (52af3ffc9) -- Fabian Braun

Statistics:
-----------

This release includes 4 pull requests, and was created with the help of the following contributors (in alphabetical order):

* Fabian Braun (1 pull request)

With the review help of the following contributors:

* Vinit Kumar

Thanks to all contributors for their efforts!

4.1.5 (2025-04-04)
==================

Bug Fixes:
----------
* Grouper models must not assume language grouper (#8194) (#8195) (35521bc7f) -- Fabian Braun
* Ensure correct placeholder retrieval for PageContent instances (#8088) -- Fabian Braun
* Fallback page names were not escaped (#8113) (#8114) -- Fabian Braun
* Use PageContent.changed_date for sitemap lastmod (#8125) -- Jacob Rief
* Allow frontend editing of page title fields -- Fabian Braun
* Detect page when getting toolbar for endpoint (#8137) (#8138) -- Fabian Braun
* CMS_TOOLBAR_HIDE broke endpoints in django CMS 4+ (#8176) -- Fabian Braun
* Preview did not show the redirect page (#8175) -- Fabian Braun


Statistics:
-----------

This release includes 8 pull requests, and was created with the help of the following contributors (in alphabetical order):

* Fabian Braun (7 pull requests)
* Jacob Rief (1 pull request)

With the review help of the following contributors:

* Vinit Kumar
* sourcery-ai[bot]

Thanks to all contributors for their efforts!

4.1.4 (2024-11-12)
==================

Expand Down Expand Up @@ -159,7 +210,7 @@ Bug Fixes:
* Improve pagecontent caching in page admin (esp. page tree) (#8002) (842f347da) -- Fabian Braun
* Clear menu cache if page permissions are changed (#7988) (1719b9a1b) -- Fabian Braun
* Consistent labels and help texts for page content model and page content forms (#7968) (acbc2e70a) -- Fabian Braun
* Inconsistent color codes for dark mode and `prefers-color-scheme: auto` (#7979) (46ff58321) -- Fabian Braun
* Inconsistent color codes for dark mode and ``prefers-color-scheme: auto`` (#7979) (46ff58321) -- Fabian Braun
* Invalidate permissions cache if group assignment of user changes (ec05b6f2f) -- Fabian Braun
* Accept legacy action names for page permission checks (#8021) (9a1e178) -- Fabian Braun
* Mark language and user middleware synchronous for ASGI (#7985) -- John Bazik
Expand Down
2 changes: 1 addition & 1 deletion cms/__init__.py
Original file line number Diff line number Diff line change
@@ -1 +1 @@
__version__ = '5.0.0a1'
__version__ = '5.0.0'
12 changes: 11 additions & 1 deletion cms/locale/en/LC_MESSAGES/django.po
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@ msgid ""
msgstr ""
"Project-Id-Version: django-cms\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2025-03-01 20:44+0000\n"
"POT-Creation-Date: 2025-05-07 07:36+0000\n"
"PO-Revision-Date: 2015-11-11 17:31+0000\n"
"Last-Translator: yakky <i.spalletti@nephila.it>\n"
"Language-Team: English (http://www.transifex.com/divio/django-cms/language/"
Expand Down Expand Up @@ -93,6 +93,11 @@ msgstr "An application instance with this name already exists."
msgid "You can't move the home page inside another page"
msgstr "You can't move the home page inside another page"

msgid ""
"You cannot have two pages with the same slug at the same page level. Please "
"alter the slug of one of the pages before trying to move again."
msgstr ""

msgid "Yes"
msgstr "Yes"

Expand Down Expand Up @@ -188,6 +193,11 @@ msgstr "The page is not eligible to be home."
msgid "%(name)s object with primary key %(key)r does not exist."
msgstr "%(name)s object with primary key %(key)r does not exist."

#, fuzzy
#| msgid "Error:"
msgid "error"
msgstr "Error:"

msgid ""
"Error! You don't have permissions to move this page. Please reload the page"
msgstr ""
Expand Down
Binary file modified cms/locale/zh_CN/LC_MESSAGES/django.mo
Binary file not shown.
8 changes: 4 additions & 4 deletions cms/locale/zh_CN/LC_MESSAGES/django.po
Original file line number Diff line number Diff line change
Expand Up @@ -7,16 +7,16 @@
# Aosp T, 2023
# Florian Delizy <florian.delizy@gmail.com>, 2023
# libingchao <popil1987@126.com>, 2023
# Fabian Braun <fsbraun@gmx.de>, 2023
# Scott Jiang, 2023
# Fabian Braun <fsbraun@gmx.de>, 2025
# Jonas Obrist <ojiidotch@gmail.com>, 2011
msgid ""
msgstr ""
"Project-Id-Version: django-cms\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2023-08-23 12:21+0000\n"
"PO-Revision-Date: 2022-12-12 10:32+0000\n"
"Last-Translator: Scott Jiang, 2023\n"
"Last-Translator: Fabian Braun <fsbraun@gmx.de>, 2025\n"
"Language-Team: Chinese (China) (https://app.transifex.com/divio/teams/58664/zh_CN/)\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
Expand Down Expand Up @@ -438,10 +438,10 @@ msgstr "用户"

#, python-format
msgid "Logout %s"
msgstr "登出 %s"
msgstr "退出 %s"

msgid "Logout"
msgstr "注销"
msgstr "退出"

msgid "Language"
msgstr "语言"
Expand Down
6 changes: 1 addition & 5 deletions cms/plugin_pool.py
Original file line number Diff line number Diff line change
Expand Up @@ -38,10 +38,6 @@ def _clear_cached(self):
def discover_plugins(self):
if self.discovered:
return
from cms.cache import invalidate_cms_page_cache

if get_cms_setting("PAGE_CACHE"):
invalidate_cms_page_cache()

autodiscover_modules("cms_plugins")
self.discovered = True
Expand Down Expand Up @@ -219,7 +215,7 @@ def get_system_plugins(self) -> list[str]:

@cached_property
def registered_plugins(self) -> list[type[CMSPluginBase]]:
return sorted(self.get_all_plugins(), key=attrgetter("module", "name"))
return sorted(self.get_all_plugins(root_plugin=False), key=attrgetter("module", "name"))

@cached_property
def plugins_with_extra_menu(self) -> list[type[CMSPluginBase]]:
Expand Down
3 changes: 3 additions & 0 deletions cms/static/cms/css/5.0.0/cms.admin.css

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

3 changes: 3 additions & 0 deletions cms/static/cms/css/5.0.0/cms.base.css

Large diffs are not rendered by default.

3 changes: 3 additions & 0 deletions cms/static/cms/css/5.0.0/cms.pagetree.css

Large diffs are not rendered by default.

Loading
Loading