Concerns: pushword/admin, pushword/core, pushword/newsletter
Run php bin/console doctrine:schema:update --force to add the audience’s email design fields, including the nullable Twig preset identifier. Existing audiences retain the simple layout. Custom /newsletter/email.html.twig templates can use wrapped and header; registered presets can extend the default template’s email_header and email_footer blocks. The live preview now opens at mobile width. See email design.
Media creations, renames and removals are logged at info on the pushword_media Monolog channel. To keep them, route the channel to its own handler: see audit log.
pw:image:cache reports a file name several media hold and leaves those media alone; renaming one is refused, and removing one keeps the file. Concerns sites that uploaded media before this release. List them with SELECT media, COUNT(*) FROM media GROUP BY media HAVING COUNT(*) > 1, then remove the row whose hash is not the file’s SHA-1. See file names.
The admin media form no longer stores a file the library already holds: it opens the existing media, or selects it in the media picker. Media::$fileNameBeforeUpdate and Media::setFileNameBeforeUpdate() are removed; nothing to do unless your code read them.