Weeknotes (2025 week 27)
I have again missed a few weeks, so the releases section will be longer than usual since it covers six weeks.
django-prose-editor
I have totally restructured the documentation to make it clearer. The configuration chapter is shorter and more focussed, and the custom extensions chapter actually shows all required parts now.
The most visible change is probably the refactored menu system. Extensions now have an addMenuItems
method where they can add their own buttons to the menu bar. I wanted to do this for a long time but have only just this week found a way to achieve this which I actually like.
I’ve reported a bug to Tiptap where a .can()
chain always succeeded even though the actual operation could fail (#6306).
Finally, I have also switched from esbuild to rslib; I’m a heavy user of rspack anyway and am more at home with its configuration.
django-content-editor
The 7.4 release mostly contains minor changes, one new feature is the content_editor.admin.RefinedModelAdmin
class. It includes tweaks to Django’s standard behavior such as supporting a Ctrl-S
shortcut for the “Save and continue editing” functionality and an additional warning when people want to delete inlines and instead delete the whole object. This seems to happen often even though people are shown the full list of objects which will be deleted.
Releases
- django-prose-editor 0.15: See above
- django-content-editor 7.4.1: See above.
- django-json-schema-editor 0.5.1: Now supports customizing the prose editor configuration (when using
format: "prose"
) and also includes validation support for foreign key references in the JSON data. - html-sanitizer 2.6: The sanitizer started crashing when used with
lxml>=6
when being fed strings with control characters inside. - django-recent-objects 0.1.1: Changed the code to use
UNION ALL
instead ofUNION
when determining which objects to fetch from all tables. - feincms3 5.4.1: Added experimental support for rendering sections. Sections can be nested, so they are more powerful than subregions. Also, added warnings when registering plugin proxies for rendering and fetching, since that will mostly likely lead to duplicated objects in the rendered output.
- django-tree-queries 0.20: Added
tree_info
andrecursetree
template tags. Optimized the performance by avoiding the rank table if easily possible. Added stronger recommendations to pre-filter the table using.tree_filter()
or.tree_exclude()
when working with small subsets of large datasets. - django-ckeditor 6.7.3: Added a trove identifeir for recent Django versions. It still works fine, but it’s deprecated and shouldn’t be used since it still uses the unmaintained CKEditor 4 line (since we do not ship the commercial LTS version).
- feincms3-cookiecontrol 1.6.1: Golfed the generated CSS and JavaScript bundle down to below 4000 bytes again, including the YouTube/Vimeo/etc. wrapper which only loads external content when users consent.