What's Changed
- fix: Structure board update sometimes failed to add all interactive elements by @fsbraun in #8227
- chore: Prepare new dev branch by @fsbraun in #8223
- chore: Move from script tags containing dom elements to template tags by @fsbraun in #8233
- docs: Require American spelling in documentation by @shundread in #8207
- fix: Update migrations to respect the
--databaseoption by @fsbraun in #8222 - fix: Page settings raised an exception when
USE_I18N = Falseby @fsbraun in #8236 - fix: replace outdated usage of
page__node__pathwithpage__pathby @PeterW-LWL in #8238 - fix: 404 no raised in CMS view when no URLs match by @stefanw in #8240
- fix: Remove unused import by @dnlzrgz in #8241
- build(deps): bump tar-fs by @dependabot[bot] in #8244
- fix: broken links in CONTRIBUTING file by @dnlzrgz in #8245
- build(deps): bump django from 4.2.21 to 4.2.22 in /docs by @dependabot[bot] in #8250
- build(deps): bump requests from 2.32.3 to 2.32.4 in /docs by @dependabot[bot] in #8252
- chore: Make
djangocms-admin-styleoptional dependency by @fsbraun in #8251 - fix: Allow legacy PlaceholderField to be deconstructed by @stefanw in #8248
- fix: Migration error with cms.0027_title_placeholders_data_migration by @jmit-modern in #8249
- refactor: Replace inline-scripts and onclick handlers for better CSP conformance by @stefanw in #8246
- build(deps): bump urllib3 from 2.3.0 to 2.5.0 in /docs by @dependabot[bot] in #8260
- build(deps-dev): bump pbkdf2 from 3.1.2 to 3.1.3 by @dependabot[bot] in #8262
- fix: Apphook widget detection (#8263) by @fsbraun in #8264
- chore: Remove legacy publication code from extensions by @fsbraun in #8270
- fix: show_placeholder did not respect edit/preview mode and failed loudly by @fsbraun in #8272
- fix: Page 'str' return page title for all pages by @mhsiddiqui in #8280
- chore: Include package data in distr by @fsbraun in #8281
- fix: Allow lazy wizard initialization by @fsbraun in #8266
- chore: Introduce dynamic badges by @mrbazzan in #8282
- chore: Run code coverage upon merge of PR by @fsbraun in #8285
- fix: Allow clicks to propagate to plugins by @fsbraun in #8288
- chore: Remove djangocms-text-ckeditor from tests by @fsbraun in #8287
- fix: GrouperAdmin Search in content model by @mhsiddiqui in #8284
- docs: link pr template link to Discord channel by @wesleyboar in #8257
- fix: The headless template included inline CSS by @fsbraun in #8291
- build(deps): bump actions/first-interaction from 1 to 2 by @dependabot[bot] in #8295
- docs: Fix broken link in 01-install.rst by @macolo in #8297
- feat: Django 6 compatibility (July 2025) by @fsbraun in #8299
- feat: Help menu on CMS5 (#8300) by @florianschieder in #8301
- build(deps): bump tmp from 0.2.1 to 0.2.4 by @dependabot[bot] in #8304
- build(deps): bump starlette from 0.46.1 to 0.47.2 in /docs by @dependabot[bot] in #8305
- build(deps): bump actions/download-artifact from 4 to 5 by @dependabot[bot] in #8308
- build(deps): bump actions/checkout from 4 to 5 by @dependabot[bot] in #8307
- build(deps): bump actions/first-interaction from 2 to 3 by @dependabot[bot] in #8310
- build(deps): bump amannn/action-semantic-pull-request from 5.5.3 to 6.0.1 by @dependabot[bot] in #8309
- docs: Add documentation for toolbar get_object and set_object methods by @Copilot in #8312
- build(deps-dev): bump cipher-base from 1.0.4 to 1.0.6 by @dependabot[bot] in #8316
- build(deps-dev): bump sha.js from 2.4.11 to 2.4.12 by @dependabot[bot] in #8315
- fix: Respect individual placeholder checks if they can be changed by @fsbraun in #8317
- perf: Optimize placeholder and plugin utilities by @fsbraun in #8319
- build(deps): bump amannn/action-semantic-pull-request from 6.0.1 to 6.1.1 by @dependabot[bot] in #8323
- fix: Cut children from inactive menu nodes when level is less or equal to 0 by @stefanw in #8322
- build(deps): bump actions/setup-python from 5 to 6 by @dependabot[bot] in #8329
- build(deps): bump actions/setup-node from 4 to 5 by @dependabot[bot] in #8332
- build(deps): bump actions/github-script from 7 to 8 by @dependabot[bot] in #8331
- build(deps): bump actions/stale from 9.1.0 to 10.0.0 by @dependabot[bot] in #8330
- fix: copy lang management command - include PageUrl by @vasekch in #7548
- fix: Migration 0033 failed when empty placeholder objects were not present in the db by @fsbraun in #8338
- build(deps): bump django from 4.2.22 to 4.2.24 in /docs by @dependabot[bot] in #8333
- build(deps): bump tar-fs from 3.0.9 to 3.1.1 by @dependabot[bot] in #8345
- fix: Wrong placholders rendered when using apphooks with own placeholder by @fsbraun in #8343
- build(deps): bump django from 4.2.24 to 4.2.25 in /docs by @dependabot[bot] in #8351
- build(deps): bump actions/stale from 10.0.0 to 10.1.0 by @dependabot[bot] in #8354
- fix: Searching pages for language-specific content failed due to wrong serach queryset by @fsbraun in #8355
- build(deps): bump github/codeql-action from 3 to 4 by @dependabot[bot] in #8359
- ci: Fix new contributor message by @marksweb in #8369
- build(deps): bump actions/setup-node from 5 to 6 by @dependabot[bot] in #8370
- chore: change python version by @vinitkumar in #8371
- build(deps): bump actions/upload-artifact from 4 to 5 by @dependabot[bot] in #8373
- build(deps): bump actions/download-artifact from 5 to 6 by @dependabot[bot] in #8372
- fix: avoid stringifying None-values in page attribute template tag by @wfehr in #8375
- fix: link in welcome.html for fellowship program by @fsbraun in #8365
- feat: optimize CI with conditional database testing and nightly runs by @vinitkumar in #8377
- fix: Copying x-language lead to unique constraint violation by @fsbraun in #8366
- fix: Fix default value for edit_fields parameter to avoid AttributeError by @fsbraun in #8379
- build(deps): bump starlette from 0.47.2 to 0.49.1 in /docs by @dependabot[bot] in #8376
- fix: Ensure edit endpoint language selection when admin is not using i18n_patterns by @fsbraun in #8367
- build(deps): bump django from 4.2.25 to 4.2.26 in /docs by @dependabot[bot] in #8389
- fix: Update toolbar URL to use language context by @fsbraun in #8394
- chore: Upgrade JS build pipeline by @fsbraun in #8393
- feat: Implement new Django CMS design language for Django CMS 5.1 by @fsbraun in #8320
- fix: copying failed if a target placeholders was missing by @pietzschke in #8399
- build(deps-dev): bump js-yaml from 3.14.1 to 3.14.2 by @dependabot[bot] in #8400
- fix: Fix ApphookReloadMiddleware not handling new language variants #2 by @pietzschke in #8401
- feat: Refactor site handling, and allow single-instance multi-site configurations by @stefanw in #8303
- fix: Save fallback for includes when scanning for placeholders by @fsbraun in #8405
- build(deps): bump actions/checkout from 5 to 6 by @dependabot[bot] in #8409
- fix: Allow frontend-editable models to omit get_template method by @fsbraun in #8406
- feat: Let the "eye" icon in the page tree directly go to edit endpoints for editable content by @fsbraun in #8414
- feat: Allow plugins to restrict themselves to specific models by @fsbraun in #8395
- build(deps): bump django from 4.2.26 to 4.2.27 in /docs by @dependabot[bot] in #8421
- fix: clear apphook fields when copying page trees by @Vincent-Ngobeh in #8418
- fix: gracefully handle unresolvable extends variables in placeholder scanning by @Vincent-Ngobeh in #8420
- build(deps): bump urllib3 from 2.5.0 to 2.6.0 in /docs by @dependabot[bot] in #8422
- fix: Potential fix for code scanning alert no. 1231: Wrong name for an argument in a call by @fsbraun in #8423
- chore: Replace Django 6.0a1 with 6.0 in test requirements by @vinitkumar in #8424
- build(deps): bump actions/stale from 10.1.0 to 10.1.1 by @dependabot[bot] in #8425
- chore: Update copyright notice by @fsbraun in #8417
- feat: Allow page permission change from advanced settings by @fsbraun in #8387
- build(deps): bump actions/cache from 4 to 5 by @dependabot[bot] in #8428
- build(deps): bump actions/download-artifact from 6 to 7 by @dependabot[bot] in #8429
- build(deps): bump actions/upload-artifact from 5 to 6 by @dependabot[bot] in #8430
- fix: Improved UX for external placeholders (e.g., static aliases) by @fsbraun in #8416
- docs: Add note on system attribute in CMSPluginBase by @mrbazzan in #8368
- fix: Ignore plugins placeholder conf settings nor non-root plugins. by @fsbraun in #8433
- fix: Add
default_auto_fieldto cms/apps.py (#8254) by @fsbraun in #8258 - build(deps): bump urllib3 from 2.6.0 to 2.6.3 in /docs by @dependabot[bot] in #8436
- feat: Add icon for redirected pages in page tree by @fsbraun in #8437
- ci: Skip live PyPI publish for tags containing "dev" by @Copilot in #8439
- fix: Use PageContent.template_choices attribute for template choices instead of settings by @fsbraun in #8441
- feat: Preserve GET params when switching to preview or edit mode by @fsbraun in #8444
- chore: Add release notes of minor versions to main branch by @fsbraun in #8448
- docs: Update logo by @fsbraun in #8450
- fix: Improve anti-aliasing of django CMS logo png by @fsbraun in #8452
- docs: Update release notes for 5.1 by @fsbraun in #8454
- fix: resolve empty page_title in frontend edit mode for apphooks by @woolfie1101 in #8449
- docs: Add more type hints and tidy up docstrings in plugin_pool.py by @jasperbok in #8445
- fix: Make Placeholder.add_plugin() set plugin.instance to self (#8442) by @jasperbok in #8447
- build(deps): bump lodash from 4.17.21 to 4.17.23 by @dependabot[bot] in #8457
- build(deps): bump lodash-es from 4.17.21 to 4.17.23 by @dependabot[bot] in #8458
- docs: Rework doc's starting page, and dedicate a full page on explaining the philosophy by @fsbraun in #8453
- fix: Revert "Add
default_auto_fieldto cms/apps.py (#8254)" by @fsbraun in #8461 - feat: Make page content placeholders available to apphook root pages by @fsbraun in #8456
- feat: Avoid database access when registering apphook urls to make them async-safe by @fsbraun in #8460
- build(deps): bump wheel from 0.45.1 to 0.46.2 in /docs by @dependabot[bot] in #8459
- fix: Remove async method from user middleware to avoid asgi freeze when accessing session object by @fsbraun in #8464
- fix: Create page wizard not available on empty install by @fsbraun in #8463
- build(deps): bump django from 4.2.27 to 4.2.28 in /docs by @dependabot[bot] in #8467
- feat: introduce contracts for django CMS Extensions by @fsbraun in #8455
- fix: get_permissions failed for missing global permissions by @fsbraun in #8468
- fix: Align detection of frontend-editable models by @fsbraun in #8472
- fix: Grouper admin kept read-only fields as prepopulated fields by @fsbraun in #8471
- build(deps-dev): bump webpack from 5.102.1 to 5.105.0 by @dependabot[bot] in #8476
- fix: Language changer for edit and preview mode if no get_absolute_url is available by @fsbraun in #8474
- feat: Add button for django CMS chat by @fsbraun in #8478
- chore: Merge back release 5.1.0a1 by @fsbraun in #8481
New Contributors
- @PeterW-LWL made their first contribution in #8238
- @dnlzrgz made their first contribution in #8241
- @jmit-modern made their first contribution in #8249
- @mhsiddiqui made their first contribution in #8280
- @wesleyboar made their first contribution in #8257
- @florianschieder made their first contribution in #8301
- @Copilot made their first contribution in #8312
- @vasekch made their first contribution in #7548
- @pietzschke made their first contribution in #8399
- @Vincent-Ngobeh made their first contribution in #8418
- @woolfie1101 made their first contribution in #8449
Full Changelog: 5.0.0...5.1.0a1