Here is the summary of the development of Meza in September and October 2025. The milestone was tagged 43.60.6 and named the "Halloween" release.
Issues edit
Fully linked issues are complete. Issues with only a link on the issue ID are in progress.
- update Project documentation and Online resources #3
- Restructure Meza into multiple roles and collection(s) #42
- Ensure .smw.json has a home #44
- create wiki fails #48
- Use a declarative wiki ID (YAML) #101
- [BUG] permission problems #186
- Ensure that all essential variables are available to all playbooks #207
- PageForms exception from SMWDIProperty class not found #200
- [FEATURE] Ensure all bundled extensions and skins are in core #201
- [FEATURE] Replace ImageMagick with better scaler 204
- Update meza help output from meza python command #211
- Deploy fails on init-controller-config #212
- Reenable WatchAnalytics #214
New and Improved edit
New Features edit
Use a declarative wiki ID (in YAML) #101 Meza wikis are now registered and configured in YAML in a source-controlled file rather than a combination of YAML, templated PHP files and directories on the filesystem. The new system is backwards compatible, but the old usage is now deprecated.
Enhanced Help documentation / UX The meza command help system received a major overhaul. The help files were migrated from text files to markdown files. Internally, we use the Python 'rich' library to render the markdown. Simply type meza (no args) or meza --help to display the help content. You can also get help on any command: meza create-wiki --help Externally, you can easily browse the whole manual at GitHub or in VSCode.
- 📊 Structured tables for arguments and options
- 🎨 Syntax-highlighted code blocks
- ⚠️ Visual warnings with emojis
- 🔗 Cross-references between related commands
- 📋 Consistent formatting across all files
- 📊 Documentation for all commands such as autodeploy and deploy-notify.
- 🆕 New commands like list-wikis and debug
Add Backup and Retention Policy Framework - implements a complete log file rotation, compression, and removal strategy which handles all the important file stores in meza, including the database sqldump backups. New scripts, roles, and documentation. Meza already does a lot of work to create backups, and also does a lot of logging of operations. This adds the housekeeping aspect to keep your storage tidy with an easy to modify policy.
New Playbooks edit
migrate-wikis - Playbook to migrate existing directory-based wikis to declarative configuration
Usage: sudo meza migrate-wikis <environment> The Playbook uses a new role migrate-to-declarative-wikis
to read your PHP, YAML, and directories into the new declarative YAML syntax for wiki configuration. It will backup and edit /opt/conf-meza/public/public.yml to save your new configuration. See config/defaults.yml for example declaration.
debug - Playbook to show the value of a variable. e.g. sudo debug monolith m_htdocs
run-maintenance - Playbook that is a general-purpose MediaWiki maintenance script runner. We removed the cleanup-upload-stash playbook and replaced it with a new meza maint command. You can run meza maint cleanuploadstash <environment> and also any other MediaWiki maintenance script.
New Roles edit
- essential-vars - setup key variables early; avoid extra-vars; use OS-specific logic for cross-platform support
- Replace inline variable definitions with include_role
- logrotate - the new log rotation, compression, removal policy framework.
Project / DevOps edit
- implement local (user) repo commit hook to enforce code checks
- Expanded CONTRIBUTING to include tools and quality controls
- Created new "raw" CHANGELOG and "formatted"3 RELEASE NOTES which are now updated automatically on push.
- 🎯 Add new badges in README.md
- Analyze and map the flow of 'meza deploy' vs. 'meza create wiki'
- Release Automation using GitHub Actions
Extensions edit
- Add LinkTarget extension
More edit
- Fix
sudo meza maint run_jobs(all wikis) andsudo meza maint run_jobs -- demo(demo only) - Fix inadvertent cases where
ansible_usercould resolve to 'root' - Improved verify-permissions playbook
- Scrutinize users, permissions, mode, user:group ownership
- e.g. Change
m_config_public_modefrom 0755 to 0775 for dirs 0664 for files by using Symbolic modeu=rwX,g=rwX,o=rX
- Fix test-certbot playbook to use set-vars role
- Ensure playbooks load variables first with
pre_tasks - Add configuration to allow HTML emails and set default User Preference option to opt-in
- Corrected CommentStreams branch
- Multiple improvements to linting quality and adoption of Ansible best practices like using fully qualified collection names (FQCN)
- Fix quoting in
/opt/.deploy-meza/refresh-links.sh - Add Debian support for ImageMagick and Ghostscript following the established pattern for cross-platform compatibility
- Ensure that
--checkworks with narrow playbook execution - Update SBOM files
- Core configuration (OS-specific,
config/paths.yml, andconfig/defaults.yml) in the set-vars role are always loaded regardless of which tags are specified, ensuring that essential variables are available for any tagged deployment scenario. - Remove undefined
meza destroycommand