v0.24.0 release notes¶
This release is focused primarily on resolving internal tech debt. This translates to improved reliability and improved developer experience.
Navbars and footers are now orderable and support multi-site. This is configured under Settings > Layout.
Supports Django 4.0.
codered_settingshas been renamed
crx_settings. You should find/replace this in any of your HTML or other Django template files.
Django settings beginning with
CODERED_*have been renamed to
CRX_*. You should find/replace these in your Django settings files.
wagtail-import-exporthas been removed as a dependency. You should remove this from
INSTALLED_APPSin your Django settings. As a result, import/export from JSON files has been removed. However we have preserved the ability to import Pages from CSV files. See Import Pages.
Behavior of Navbars and Footers has changed. If your navbar and footer does not look correct after upgrading, you may need to synchronize your customizations to
footer.htmlwith the stock versions which can be found here.
Python 3.7, 3.8, 3.9, 3.10
Django 3.2, 4.0
The following changes are not publicly documented APIs, but have changed. Most sites should not be using any of these APIs and therefore can ignore this section. In case your site deeply hooks into the package, these are here for reference.
coderedcms.settings.cr_settingshas been replaced with
coderedcms.settings.crx_settingswhich is no longer a dictionary, but an object which behaves exactly like the Django settings. This object will first retrieve a Django setting, and if it does not exist, will then load a CRX default.
Internal uses of Wagtail
StreamFieldon concrete models have been replaced with
CoderedStreamFieldwhich will not generate migrations based on block changes. This effectively eliminites most of our historic migration problems.
As a result, all past migrations have been hand-edited to reflect this change. No action is required in client sites.
Client sites can freely use
coderedcms.fields.CoderedStreamFieldin place of Wagtail’s
StreamFieldto eliminate the giant migrations problem inherent to Wagtail. However this API is not publicly documented at this time.
Choice fields on internal concrete models have been replaced with a lazy-loading mechanism to load choices and defaults at runtime. This further eliminates historic migration problems.
Thanks to everyone who contributed to 0.24.0 on GitHub.