Django-cms

Latest version: v4.1.4

Safety actively analyzes 722460 Python packages for vulnerabilities to keep your Python projects secure.

Scan your dependencies

Page 1 of 13

5.0.0a1

====================

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
* 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
* Allow for CSP - remove inline scripts from edit endpoint markup (8109) (6731f246e) -- Fabian Braun
* Optimize DB queries for edit and structure endpoints (8120) (be71c9d1d) -- Fabian Braun
* 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
* 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:
----------
* 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
* 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
* 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
* 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
* 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
* 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
* Fall back to class name when app name is None (8059) (17343b02e) -- Halit Çelik
* Handle cms command raising error (8054) (69962fe81) -- Abdulwasiu Apalowo
* added redirect message when in editing a redirect toolbar object (8056) (835938c2d) -- Sal
* Issue 7997 remove edit page dialog (7999) (e8d1abf72) -- Jacob Rief
* In rare situations the page tree preview button did not view the latest version (8050) (052eac598) -- Jens-Erik Weber
* Language tabs didn't show existing content due to caching issue (8046) (db0a0c7ca) -- Filip Weidemann
* X frame options added to page settings form (8041) (1acb81677) -- Sal
* Improve UX when page content is missing in selected language (8033) (19ef774c1) -- Jacob Rief
* Sitemap: Return a QuerySet in CMSSitemap.items() (8031) (accc8dafc) -- Jens-Erik Weber
* Accept legacy action names for page permission check (8021) (9a1e178a7) -- Fabian Braun
* Consistent toolbar mode (8011) (1f864af6f) -- Fabian Braun
* 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
* 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
* 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
* Show fallback language titles in pagetree (7955) (302c1b5cc) -- Fabian Braun

Refactoring and Cleanups:
-------------------------
* Replace PageAdmin.delete_view by two smaller methods (7995) (cca00a57a) -- Jacob Rief

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

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

* 사재혁 (1 pull request)
* Abdulwasiu Apalowo (2 pull requests)
* Amanda Savluchinske (2 pull requests)
* dependabot[bot] (0 pull request)
* Fabian Braun (88 pull requests)
* Filip Weidemann (3 pull requests)
* Github Release Action (5 pull requests)
* Halit Çelik (1 pull request)
* Hana Belay (2 pull requests)
* Jacob Rief (7 pull requests)
* Jeffrey de Lange (1 pull request)
* Jens-Erik Weber (2 pull requests)
* jianghuyiyuan (1 pull request)
* Mario Colombo (1 pull request)
* Mark Walker (2 pull requests)
* Sal (2 pull requests)
* Stefan Heinen (1 pull request)
* Vinit Kumar (2 pull requests)
* Waithaka Waweru (1 pull request)

With the review help of the following contributors:

* dependabot[bot]
* Fabian Braun
* Github Release Action
* Jacob Rief
* John Bazik
* Mario Colombo
* sourcery-ai[bot]
* Vinit Kumar

Thanks to all contributors for their efforts!

4.1.4

==================

Bug Fixes:
----------
* XSS vulnerability for page title (8075) (c045a990e) -- Fabian Braun
* Menus crashed when unexpected page content was present (8052) -- Fabian Braun
* Sites menu was empty in the page tree (8064) -- Fabian Braun
* Added redirect message when in editing a redirect toolbar object (8056) -- Sal
* X frame options added to page settings form (8041) -- Sal
* template tag ``get_admin_url_for_language`` did not return the latest page content (7967) -- Fabian Braun
* Sitemap return a QuerySet in CMSSitemap.items() (8031) -- Jens-Erik Weber
* Improved UX when page content is missing in selected language (8033) -- Jacob Rief

Other:
------
* Updated welcome page (8057) -- Fabian Braun

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

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

* Fabian Braun (5 pull requests)
* Jacob Rief (1 pull request)
* Jens-Erik Weber (1 pull request)
* Sal (2 pull requests)

With the review help of the following contributors:

* Jacob Rief
* Mark Walker
* Vinit Kumar

Thanks to all contributors for their efforts!

4.1.3

Not secure
==================

Bug Fixes:
----------
* Respect ContentAdminManager pattern for frontend-editable models (7998) (e4650ecb7) -- Fabian Braun
* 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
* 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

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

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

* Fabian Braun (6 pull request)

With the review help of the following contributors:

* Mark Walker
* Vinit Kumar

Thanks to all contributors for their efforts!

4.1.2

Not secure
==================

Features:
---------
* More performant permission calculation for pages (7943) (6b8269e1c) -- Fabian Braun
* Reintroduce default_plugins setting -- Fabian Braun
* Reintroduce page-level publish permission (just as in v4.0) -- Fabian Braun


Bug Fixes:
----------
* Also use key-length of 200 for the actual cache-key of placeholders -- wfehr
* Set toolbar direction based on toolbar language -- Fabian Braun
* Allow viewing page settings even if change page settings is not possible -- Fabian Braun
* Versioning-safe implementation of placeholder in heritance -- Fabian Braun
* Only switch to structure endpoint on viewport breakpoint if in edit mode -- Fabian Braun
* Allow special characters in page title -- Jacob Rief
* Fail silently when rendering a placeholder on a missing toolbar object -- Fabian Braun
* Show fallback language titles in pagetree -- Fabian Braun

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

This release includes 5 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)
* wfehr (1 pull request)

Thanks to all contributors for their efforts!

4.1.1

==================

Features:
---------
* send post request if toolbar button has `cms-form-post-method` class (bb31ba990) -- Fabian Braun
* Add RTL support to modal header and related components (7863) (bef004550) -- Moe
* Add RTL support to toolbar (7871) (92a1086de) -- Moe
* add versioned deprecation warnings (7750) (545ea1f6d) -- Fabian Braun
* Added new contributor message based on django's own version (7797) (311af6cf3) -- Mark Walker

Bug Fixes:
----------
* Placeholders must not block deletion of their source objects (ccb2e8b3b) -- Fabian Braun
* structure board on the right for ltr (a4c6ccb68) -- Fabian Braun
* CMS widgets need not load if they are read only (7880) (fb30434e4) -- Fabian Braun
* some Django antipatterns (7867) (c436cf45a) -- Jacob Rief
* Redirects to newly created object (7864) (0b43a43c3) -- Fabian Braun
* `views.details` revealed existence of unpublished language (7853) (fa7b89cee) -- Fabian Braun
* Render structure view in toolbar object's language (7846) (d123d118d) -- Fabian Braun
* Add RTL support to pagetree (7817) (21d6a6def) -- Moe
* 7828, try using uv as pip replacement (7829) (08463c274) -- Vinit Kumar
* Efficient build menu for versioned and unversioned pages (7807) (b0f59bb55) -- Fabian Braun
* Delete orphaned plugin management command for django CMS 4 (7814) (3e635d3db) -- Fabian Braun
* render content in place `redirect_on_fallback` is False (7781) (e264d0400) -- Moe
* solved issue 7818 (7819) (087fa3ec7) -- Raffaella
* Port forward 7070 - faster DOM update after editing (7787) (26b081a31) -- Fabian Braun
* return _handle_no_page when page is None (7786) (ce8d5d557) -- Moe
* Redirect user to edit url after a successful page creation (7772) (f290e3d09) -- Moe
* editing of apphooked CMS pages without apphook landing page (7766) (cd6df846b) -- Philipp S. Sommer
* make messages readable in dark mode, let user close long messages (7740) (68749cbb3) -- Fabian Braun
* Replace the VCS pip installs with release name in docs (7755) (10e9b5327) -- sakhawy
* Incorrect commands to migrate database in docs (7754) (082214be6) -- sakhawy
* Incomplete command to create a virtual env in docs (7735) (490dffab1) -- Fabian Braun

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

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

* Aiden-RC (2 pull requests)
* Erdenebat Oyungerel (1 pull request)
* Fabian Braun (37 pull requests)
* Github Release Action (4 pull requests)
* Jacob Rief (4 pull requests)
* Mario Colombo (1 pull request)
* Mark Walker (9 pull requests)
* Miloš Nikić (1 pull request)
* Moe (6 pull requests)
* Philipp S. Sommer (1 pull request)
* Raffaella (1 pull request)
* Vinit Kumar (1 pull request)
* dependabot[bot] (0 pull request)
* sakhawy (2 pull requests)
* sparrow (1 pull request)

With the review help of the following contributors:

* Fabian Braun
* Github Release Action
* Jacob Rief
* Leonardo Cavallucci
* Mario Colombo
* Mark Walker
* Vinit Kumar
* dependabot[bot]
* nichoski

Thanks to all contributors for their efforts!

4.1.0

==================

Features:
---------
* Dark mode for v4 branch (7597) (e0c923836) -- Fabian Braun
* Graceful plugin exceptions (7423)
* Reintroduce indicator menus (7426)
* Add release scripts for develop-4 branch (7466)
* Icon update (7494)
* Add setting to redirect slugs to lowercase et al. (7510)
* Grouper model admin class
* Change `TitleExtension` to `PageContentExtension` (7369)
* Optimize populating page content cache for Page model. (7177)
* Unified icon font with icons for versioning, moderation and version locking
* Django 4.2, 4.1 and 4.0 support
* Python 3.11, 3.10 support
* Remove patching of PageContent by djangocms-versioning (7446)
* Utility function get_placeholder_from_slot for PlaceholderRelationField (7479)

Bug Fixes:
----------
* Open new plugin window in language of toolbar not of page (7632) (ac74c2127) -- Fabian Braun
* Update transifex source file (7629) (06ecf3a8e) -- Fabian Braun
* Remove publish/draft reference from grouper admin message (fcc2f7ad5) -- Fabian Braun
* Update _modal.scss (4ab1f58cd) -- Fabian Braun
* Better action feedback (94cc9b0f5) -- Fabian Braun
* modal.scss dark-mode compatibilitiy (318d417a4) -- Fabian Braun
* remove `copy_to_public` from page and page content extensions (7604) (81ad858e9) -- Fabian Braun
* Cross-talk between grouper admins due to common list initialization (7613) (1f932b097) -- Fabian Braun
* Remove admin view provided cancel button from modals (since it has its own cancel button) (7603) (5caf8d5c2) -- Fabian Braun
* Upgrade js build system to node.js 18 (7601) (a0977a7f9) -- Vinit Kumar
* update diff-dom and karma, run frontend tests on Chrome Headless (7599) (69a6cef63) -- Fabian Braun
* Sitemaps in v4 relied on availability of `PageUrl` instead of `PageContent` (7596) (1c208a8cb) -- Fabian Braun
* page settings does not correctly focus (7576) (e100087c3) -- Fabian Braun
* Add (back) navigation extenders to advanced settings (7578) (3e3a86b4f) -- Fabian Braun
* Unlocalize ids to avoid js errors for ids greater than 999 (7577) (52e6f8751) -- Fabian Braun
* create page wizard fails with Asian page titles/unicode slugs (7572) (79a063f21) -- Fabian Braun
* take csrf token from admin form or cms toolbar instead of cookie (6a6ebecff) -- Fabian Braun
* Menu link is outdated when page moved (7558)
* Preview button lead to the wrong language (7558)
* empty actions shown without unwanted spaces (7545) (7552) (aee76b492) -- Fabian Braun
* Language switching in page settings (7507)
* Show language menu in toolbar only if at least two languages are configured (7508)
* Moving plugins between placeholders, plugin api (7394)
* Apphooks at endpoints (7496)
* Fix bug that broke page tree if it contained empty page content
* Fix bug that created new page content not in the displayed language but the browser language
* Remove outdated Django setting SEND_BROKEN_LINK_EMAILS
* Fixed redirect issues when i18n_patterns had prefix_default_language = False
* add release scripts for develop-4 branch (7466) (ddbc99a53) -- Fabian Braun

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

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

* Adam Murray (2 pull requests)
* Aiky30 (35 pull requests)
* Andrew Aikman (1 pull request)
* Chematronix (1 pull request)
* Fabian Braun (83 pull requests)
* Github Release Action (4 pull requests)
* Jacob Rief (2 pull requests)
* Jonathan Sundqvist (7 pull requests)
* Krzysztof Socha (17 pull requests)
* Malinda Perera (3 pull requests)
* Mark Walker (8 pull requests)
* Mateusz Kamycki (1 pull request)
* Nebojsa Knezevic (1 pull request)
* Paulo (18 pull requests)
* Paulo Alvarado (12 pull requests)
* Simon (1 pull request)
* Vadim Sikora (11 pull requests)
* Vinit Kumar (2 pull requests)
* anirbanlahiri-fidelity (1 pull request)
* monikasulik (3 pull requests)

With the review help of the following contributors:

* Adam Murray
* Aiky30
* Andrew Aikman
* Angelo Dini
* Bartosz Płóciennik
* Fabian Braun
* Florian Delizy
* Github Release Action
* Iacopo Spalletti
* Jacob Rief
* Krzysztof Socha
* Marco Bonetti
* Mark Walker
* Radek Stępień
* Radosław Stępień
* Raffaele Salmaso
* Stuart Axon
* Vinit Kumar
* Will Hoey
* dwintergruen
* pajowu
* wfehr
* wintergruen
* Éric Araujo

Thanks to all contributors for their efforts!

Page 1 of 13

© 2025 Safety CLI Cybersecurity Inc. All Rights Reserved.