Version history
From Canasta Wiki
Canasta
Canasta version history:
- 1.0.0 - April 14, 2022 - Initial version
- 1.0.1 - April 14, 2022 - Update MediaWiki version to 1.35.6
- 1.1.0 - April 29, 2022 - Rename /user-extensions and /user-skins directories to /extensions and /skins
- 1.1.1 - June 16, 2022 - Disable sitemap generator by default; update CommentStreams extension; remove Favorites and MobileDetect extensions; add iputils-ping package
- 1.1.2 - July 12, 2022 - Update MediaWiki version to 1.35.7; add default setting of $wgServer; add CookieWarning extension; update CommentStreams, Echo and EmbedVideo extensions; remove HeadScript extension; add poppler-utils package for PDF rendering
- 1.2.0 - October 2, 2022 - Update MediaWiki version to 1.35.8; remove cfLoadExtension() and cfLoadSkin() functionality in favor of symlink-based approach; add displayWikiInfo.php script; make use of gateway.docker.internal to detect host address
- 1.2.1 - November 25, 2022 - Add AArch64 support; update SimpleBatchUpload extension
- 1.2.2 - December 22, 2022 - Fix installation of EmailAuthorization extension; fix web installer to also install Boostrap extension if Chameleon skin gets installed; add MW_MAP_DOMAIN_TO_DOCKER_GATEWAY as an environment variable (set to true by default); remove patches made unnecessary by cfLoad... removal
- 1.3.0 - February 17, 2023 - Update MediaWiki version to 1.39.0; update all extensions to a compatible version (in most cases, using the REL1_39 Git branch); add the extensions AbuseFilter, DeleteBatch, MediaUploader, Mermaid, SemanticDependencyUpdater, TemplateWizard, Title Icon, UserPageViewTracker, WatchAnalytics, WhosOnline; remove the extensions DiscussionTools, LocalisationUpdate; add the skin Vector 2022; add header warning to email-related special pages if $wgSMTP is not set
- 2.0.0 - December 11, 2023 - Add wiki farm support; add maintenance-scripts/ directory; add automated symlinking of local versions of extensions and skins; add AWS, EditAccount, GTag, JWTAuth, TemplateSandbox, Semantic Tasks and Semantic Watchlist extensions
- 2.0.1 - April 14, 2024 - Update MediaWiki version to 1.39.7; move extension installation settings from Dockerfile into extensions.yaml; rename run-apache.sh to run-all.sh; remove WikiForum extension
- 3.0.0 - June 23, 2025 - Move most functionality into CanastaBase repository (which currently uses MediaWiki 1.43), leaving only extension- and skin-specific code; place all extension and skin installation settings into a single file, contents.yaml, which in turn inherits from "Recommended Revisions" page; add the DiscussionTools, InlineComments, LoginNotify, OAuth, Page Schemas, QuickInstantCommons and Paragraph-based Edit Conflict Interface ("TwoColConflict") extensions; remove the Graph, RenameUser, Semantic Breadcrumb Links, Semantic Forms Select, Semantic Tasks and TinyMCE extensions
- 3.0.1 - June 30, 2025 - Update to CanastaBase 1.0.1, which uses MediaWiki 1.43.2
- 3.0.2 - July 1, 2025 - Update to CanastaBase 1.0.2, which uses MediaWiki 1.43.3; update Contribution Scores and WhosOnline extensions
- 3.0.3 - September 3, 2025 - Update to CanastaBase 1.0.3; get MediaWiki version from CanastaBase instead of hardcoding it; add Babel, CLDR, CreateRedirect, RandomSelection, RegexFunctions, RelatedArticles, RSS, TemplateStylesExtender and VariablesLua extensions; update Cargo, JWTAuth, Maps and WatchAnalytics extensions
- 3.0.4 - October 3, 2025 - Update to CanastaBase 1.0.4, which uses MediaWiki 1.43.4; update Admin Links, Cargo, EmbedVideo and Page Forms extensions
- 3.0.5 - October 8, 2025 - Update to CanastaBase 1.0.5, which uses MediaWiki 1.43.5
- 3.0.6 - December 2, 2025 - Update to CanastaBase 1.0.6; fix Chameleon skin error; update Approved Revs, Cargo, UserPageViewTracker and WatchAnalytics extensions
- 3.0.7 - December 17, 2025 - Update to CanastaBase 1.0.7, which uses MediaWiki 1.43.6; update Contribution Scores and WhosOnline extensions
- 3.1.0 - February 10, 2026 - Update to CanastaBase 1.1.0; update Approved Revs, Cargo, External Data, Flex Diagrams and WhosOnline extensions
- 3.2.0 - February 18, 2026 - Update to CanastaBase 1.2.0; remove special handling for Semantic MediaWiki
- 3.2.1 - February 24, 2026 - Update to CanastaBase 1.2.1; stabilize Canasta version tag to always point to the actual version commit; update SimpleMathJax and SubPageList extensions
- 3.3.1 - March 1, 2026 - Show Canasta version on Special:Version
- 3.3.2 - March 2, 2026 - Update to CanastaBase 1.3.1
- 3.4.0 - March 4, 2026 - Version alignment with Canasta-CLI 3.4.0
- 3.5.0 - March 8, 2026 - Version alignment with Canasta-CLI 3.5.0
- 3.5.1 - March 9, 2026 - Version alignment with Canasta-CLI 3.5.1
- 3.5.2 - March 22, 2026 - Update to CanastaBase 1.3.2; update WSOAuth extension
- 3.5.3 - April 7, 2026 - Update to CanastaBase 1.3.3, which uses MediaWiki 1.43.8; add the CrawlerProtection extension
- 3.5.4 - April 10, 2026 - Update to CanastaBase 1.3.4
- 3.5.5 - April 15, 2026 - Update to CanastaBase 1.3.5
- 3.5.6 - April 16, 2026 - Update to CanastaBase 1.3.6; fixes broken skin rendering and API access on wiki farms with sub-path wikis
- 3.5.7 - April 21, 2026 - Update to CanastaBase 1.3.7
- 3.5.8 - May 15, 2026 - Add DynamicSidebar extension; update Cargo and Mermaid extensions
- 3.5.9 - June 7, 2026 - Accidental release; no change
- 3.5.10 - June 8, 2026 - Update to CanastaBase 1.3.9; update PageForms extension
- 3.5.11 - June 29, 2026 - Update to CanastaBase 1.3.10, which uses MediaWiki 1.43.9 (security release); add the CreateUserPage extension; update the Cargo extension
- 3.5.12 - June 30, 2026 - Update to CanastaBase 1.3.11; update the TemplateStyles extension for css-sanitizer 6 compatibility, fixing the broken Composer build in 3.5.11
- 3.5.13 - July 1, 2026 - Update to CanastaBase 1.3.12; fix errors in downloading the EmbedVideo, WhosOnline and WSOAuth extensions (the latest code was accidentally downloaded); remove no-longer-used persistent directory for Semantic MediaWiki
- 3.5.14 - July 2, 2026 - Update to CanastaBase 1.3.14; remove dead CirrusSearch and SMW maintenance scripts (#652); remove a no-op CI test job (#654)
- 3.5.15 - July 3, 2026 - Update the Maps and OAuth extensions (security updates) and the Page Forms extension
- 3.5.16 - July 14, 2026 - Update the Cargo extension
- 3.5.17 - July 25, 2026 - Update to CanastaBase 1.3.16; update the Data Transfer extension
- 3.5.18 - July 27, 2026 - Update to CanastaBase 1.3.17; image rescan reporting (#675, #677)
- 3.5.19 - July 28, 2026 - Update to CanastaBase 1.3.18; update the Data Transfer, Display Title, CrawlerProtection and Page Forms extensions; rescan reporting (#680, #682, #684)
- 3.5.20 - August 1, 2026 - Update to CanastaBase 1.3.19; update the CrawlerProtection extension
- 3.5.21 - August 24, 2026 - Update to CanastaBase 1.3.20 (#696); update the Cargo extension (#694)
- 3.5.22 - September 24, 2026 - Update the External Data and Page Forms extensions
- 3.5.23 - September 24, 2026 - Update to CanastaBase 1.3.21
- 3.5.24 - September 28, 2026 - Update to CanastaBase 1.3.22 (#705)
- 3.5.25 - October 2, 2026 - Update to CanastaBase 1.3.23 (#711); extension and skin security updates (#712)
- 3.5.26 - October 5, 2026 - Update to CanastaBase 1.3.24 (#717)
- 3.5.27 - October 12, 2026 - Update to CanastaBase 1.3.25 (#731)
- 3.5.28 - October 14, 2026 - Update to CanastaBase 1.3.26 (#737); composer dependencies for OAuth, JWTAuth and CheckUser, JWTAuth 2.1.1, archived GoogleAnalyticsMetrics removed (#735)
CanastaBase
CanastaBase version history:
- 1.0.0 - June 18, 2025 - Initial version. Based on version 2.0.1 of Canasta, but with the following changes: MediaWiki upgraded to 1.43.0; extension and skin download and handling removed; Postfix added; Debian upgraded to 12.8; USE_EXTERNAL_DB handling fixed; MW_VOLUME mountpoint check removed
- 1.0.1 - June 30, 2025 - Upgrade to MediaWiki 1.43.2
- 1.0.2 - July 1, 2025 - Upgrade to MediaWiki 1.43.3
- 1.0.3 - September 3, 2025 - Fixes for the creation of extension/skin symlinks; removed the setting of $wgJobRunRate to 0; added 404 response for nonexistent URLs; renamed mail variables for consistency; added X-Forwarded-For information to log files
- 1.0.4 - October 3, 2025 - Upgrade to MediaWiki 1.43.4
- 1.0.5 - October 8, 2025 - Upgrade to MediaWiki 1.43.5
- 1.0.6 - November 27, 2025 - Added OCI labels exposing the bundled MediaWiki version and branch for easier image introspection
- 1.0.7 - December 16, 2025 - Upgrade to MediaWiki 1.43.6
- 1.0.8 - February 2, 2026 - Changed to new configuration directory structure; added MW_SECRET_KEY and DISABLE_DIRECTORY_MONITOR environment variables; fixes for extension and skin symlink generation; fixed job runner in non-farm mode; fixed handling of DB access in wait-for-it.sh; fixed handling of non-standard web server port; added php8.1-bcmath extension
- 1.1.0 - February 10, 2026 - Upgraded PHP version from 8.1 to 8.2, enabling the use of LuaSandbox for Scribunto; added public_assets/ directory for publicly accessible wiki files; moved Vector skin loading out of CanastaDefaultSettings.php; fixed MediaWiki purging to also purge Varnish cache; fixed running of maintenance scripts for wiki farm setup; added gitinfo.json files to restore correct Special:Version display, after removal of .git directories; changed health check to access /server-status instead of MediaWiki API
- 1.2.0 - February 18, 2026 - Replaced individual Composer installs with a single install (via composer.local.json) for all relevant extensions and skins; moved sitemap storage to public_assets/ directory; removed CanastaUtils.php; removed generated installedExtensions.txt and installedSkins.txt files; removed automatic call to Semantic MediaWiki's rebuildData.php; re-added warning if $wgSMTP is not set; fix for $wgMetaNamespace for wiki names containing spaces; permission fix for writing to log
- 1.2.1 - February 24, 2026 - Moved .composer-deps-hash and .smw.json to config/persistent/ directory
- 1.3.0 - March 1, 2026 - Removed Postfix; added YAML settings file loading for extensions/skins; added styled 404 page and optional wiki directory for wiki farms; derived $wgServer scheme from MW_SITE_SERVER instead of hardcoding HTTPS; added default MediaWiki error logging and log rotation
- 1.3.1 - March 1, 2026 - Show distribution version on Special:Version via SoftwareInfo hook
- 1.3.2 - March 22, 2026 - Removed default.vcl (now managed by CLI installation template); switched FarmConfigLoader from PECL yaml to Symfony YAML parser; fixed composer hash check to account for require and repositories sections; skip Varnish CDN settings when CANASTA_ENABLE_VARNISH is explicitly disabled (backward compatible: Varnish remains enabled by default)
- 1.3.3 - April 7, 2026 - Upgrade to MediaWiki 1.43.8; GitHub actions upgrades
- 1.3.4 - April 10, 2026 - Removed canasta_img.php in favor of upstream img_auth.php; removed public_assets.php so files are served directly from the filesystem; fixed composer hash mismatch and sourced-entry-point bugs at container startup; added opt-in CANASTA_ENABLE_VERY_SHORT_URLS env variable for root-relative short URLs
- 1.3.5 - April 15, 2026 - Fixed img_auth.php and rest.php for private wiki farms with sub-path wikis; subdirectory .htaccess no longer prefixes passthrough rules with wiki path and uses [END] flag to prevent catch-all re-entry
- 1.3.6 - April 16, 2026 - Fixed .htaccess to route sub-path wiki entry points (load.php, api.php, rest.php, index.php, img_auth.php) to the real PHP files instead of falling through to the catch-all rewrite; fixes broken skin rendering and API access on wiki farms with sub-path wikis
- 1.3.7 - April 20, 2026 - Added external database support: $wgDBserver, $wgDBuser, and $wgDBpassword now read from MYSQL_HOST, MYSQL_USER, and MYSQL_PASSWORD environment variables; non-standard database ports are appended to $wgDBserver as host:port; version tag publishing workflow now only fires on VERSION changes, making the published tag immutable
- 1.3.8 - June 7, 2026 - Added Ghostscript and Xpdfutils to support PDF rendering and thumbnailing
- 1.3.9 - June 8, 2026 - Removed (unnecessary) addition of Xpdfutils
- 1.3.10 - June 29, 2026 - Upgrade to MediaWiki 1.43.9 (security release); MW_VERSION and MW_CORE_VERSION are now build-time ARGs (overridable with docker build --build-arg) so a non-default MediaWiki version or branch can be built without editing the Dockerfile (#185); wait for LocalSettings.php with an external database to prevent startup exit 123 (#176); guard PHP-FPM log directory setup against an unset PHP_LOG_DIR (#177); detect host-side directory events without the inotify ISDIR flag so host-added extensions and skins are picked up (#179); heal config/persistent ownership before run_autoupdate (#180); guard canastaLoadConfigYaml against a null $wgSettings (#181)
- 1.3.11 - June 30, 2026 - Fail the image build when the unified Composer update fails to resolve or leaves a bundled extension's dependencies uninstalled, instead of silently shipping an image with an incomplete vendor/; added a build-time dependency self-test that aborts the build if any merged-in extension's required package is missing from vendor/ (#187)
- 1.3.12 - July 1, 2026 - Fail the image build if there are Git errors during extension and skin setup (#190)
- 1.3.13 - July 2, 2026 - Idempotent Apache/.htaccess generation (#197); fail the build on Composer and Git errors (#195); maintenance-script fixes (#194); Dockerfile hardening (#198)
- 1.3.14 - July 2, 2026 - Fix public_assets file serving (logo, favicon) for wikis.yaml with indented entries (#202)
- 1.3.15 - July 23, 2026 - Rebuild with current Debian 12 packages to remediate fixable HIGH/CRITICAL vulnerabilities in the 1.3.14 image (#208)
- 1.3.16 - July 25, 2026 - Removed the unused MediaWiki web installer (mw-config) from the image (#213)
- 1.3.17 - July 27, 2026 - Apt-layer cache-bust (#217); Debian security package refresh (#208); version-tag-only image rescan (#219)
- 1.3.18 - July 27, 2026 - robots.txt User-agent line and load.php allow restored (#224); scan tracker per cycle (#222)
- 1.3.19 - August 1, 2026 - /server-status served to loopback over IPv6; healthcheck addresses it numerically (#227)
- 1.3.20 - August 24, 2026 - Wiki directory logos on private wikis (#231); Debian security package refresh (#229); upstream composer pin patching removed (#233)
- 1.3.21 - September 24, 2026 - Debian security update and other package updates
- 1.3.22 - September 28, 2026 - No PHP in web-writable dirs (#239);
execlogging (#240); code andconfig/read-only to web user (#242) - 1.3.23 - October 2, 2026 - Upgrade to MediaWiki 1.43.10 (#246); Debian security package refresh (#229)
- 1.3.24 - October 5, 2026 - Upgrade to MediaWiki 1.43.11 (#251); Debian security package refresh (#249)
- 1.3.25 - October 12, 2026 - Per-host
/sitemap.xmlindex (#275); per-wiki farm startup settings (#261); persistent update fingerprints (#271); startup update continuing past failures (#273), running once and honoringMW_AUTOUPDATE=false(#280), skipping uninstalled wikis (#281); stalerobots.txt, sitemap and farm pages in Varnish (#279); Debian security package refresh (#256) - 1.3.26 - October 14, 2026 - Bundled composer list moved into the image,
config/composer.local.jsonholding operator additions only, failed startup composer updates recorded (#286)
Canasta CLI
Canasta CLI version history:
- 0.1.0-alpha - July 22, 2022 - initial version
- 1.0.0 - August 3, 2022 - add "skin" and "extension" commands; add restic "unlock", "list", "check" and "diff" commands; add ability to enable/disable multiple extensions or skins at the same time; many bug fixes
- 1.2.0 - October 25, 2022 - add install.sh and build.sh scripts; add "version" command; change default behavior from "keep" to "delete" on import error
- 3.3.1 - March 1, 2026 - Major rewrite. CLI version now aligned with Canasta image version via a single VERSION file. Added Kubernetes orchestrator support alongside Docker Compose; embedded all stack files and templates into the CLI binary; added wiki farm management (
canasta add,canasta remove); addedcanasta config get/set/unsetcommands; addedcanasta devmode enable/disablefor xdebug support; addedcanasta upgradewith--dry-runflag and self-update; addedcanasta exportcommand; addedcanasta maintenance execcommand; addedcanasta backup/canasta restorewith Restic (including Kubernetes support andrestic schedule); added optional Elasticsearch/CirrusSearch deployment; added OpenSearch observability support; switched extension/skin enable/disable to YAML-based config; added auto-generated CLI documentation via MkDocs; added database import support duringcanasta create; removed Postfix references; numerous bug fixes, security improvements (ShellQuote for shell commands), and code quality improvements - 3.4.0 - March 4, 2026 - Reject empty string in ValidateWikiID; add Special:Random cache bypass to Varnish config; fix install.sh directory collision on case-insensitive filesystems; backfill CANASTA_IMAGE in .env during upgrade; resolve installations from subdirectories; support CANASTA_CONFIG_DIR environment variable; add integration testing infrastructure; many new unit tests
- 3.5.0 - March 8, 2026 - Add
canasta gitopscommand for git-based configuration management (init, join, push, pull, status, diff); addcanasta backup purgecommand for retention-based cleanup with--older-than,--keep-last, and--dry-runflags; add--purge-older-thanflag tocanasta backup schedule setfor automatic post-backup purge - 3.5.1 - March 9, 2026 - Fix
gitops initto preserve extension/skin commit hashes during submodule conversion; fail early if extensions/skins have uncommitted changes; auto-detect backup credentials (RESTIC_, AWS_, AZURE_, B2_, etc.) as encrypted placeholders; remove legacy .gitignore files from extensions/, skins/, config/, and config/settings/ that blocked gitops tracking - 3.6.0 - March 13, 2026 - Add
wikis.yamltemplating for gitops (host-specific wiki URLs are extracted intowikis.yaml.templatewith placeholders, rendered per-host on join/pull); addgitops addandgitops rmcommands for managing tracked files; add--repairflag togitops initfor fixing broken gitlink detection; fixgitops statustruncating modified file paths; fix backup restore failing when files exist with different ownership; drop--userfrom backup restore to preserve file ownership; check gituser.nameanduser.emailbefore gitops operations; gitignoreconfig/backup/in gitops default template; fixcanasta upgradeto update outdatedCANASTA_IMAGEin.env(previously only backfilled when missing); decouple CLI and Canasta image version numbers (newCANASTA_VERSIONfile pins image tag independently from CLIVERSION); many new integration and unit tests - 3.6.1 - March 18, 2026 - Fix Varnish caching: remove 48h TTL override that ignored MediaWiki's
s-maxagesetting, addno-storeheader to prevent browser bfcache from serving stale content; markdefault.vclas non-user-editable so upgrades can update it; detect and report template file changes during upgrade with--dry-runsupport; move--wikiflag to maintenance subcommands and iterate over all wikis inmaintenance script; move documentation to wiki and add CI workflow for publishing CLI reference pages - 3.6.2 - March 22, 2026 - Make Varnish optional via
CANASTA_ENABLE_VARNISHenvironment variable using Docker Compose profiles; fix upgrade removing.gitdirectory used by gitops; make informational template files (READMEs,docker-compose.override.yml.example) no-clobber during upgrade; remove unused_initdbvolume mount; addcanasta gitops fix-submodulescommand for converting extensions/skins to proper git submodules after gitops init; improvecanasta gitops diffto show local vs remote changes separately with conflict detection; addDefaultSettings.phpto instance template for private-by-default wiki farms; fixcanasta add/canasta removeto syncwikis.yaml.templatewhen gitops is active; update default Canasta image to 3.5.2; standardize terminology: rename "installation" to "instance" across CLI and documentation - 3.6.3 - April 15, 2026 - Update default Canasta image to 3.5.5
- 3.7.0 - April 25, 2026 - End-of-life release of the Canasta-Go (legacy Go) CLI. Adds a deprecation warning printed to stderr from every command (suppressible with
CANASTA_SUPPRESS_DEPRECATION_WARNING=1), directing users to the Python/Ansible reimplementation now hosted at <a href="https://github.com/CanastaWiki/Canasta-CLI">https://github.com/CanastaWiki/Canasta-CLI</a>. Release artifacts are mirrored to CanastaWiki/Canasta-CLI so legacycanasta upgradeclients continue to self-update successfully. No other functional changes since 3.6.3. See <a href="https://canasta.wiki/wiki/Help:Upgrading" rel="nofollow">https://canasta.wiki/wiki/Help:Upgrading</a> for the migration path; further releases of this repo are not planned.
Canasta CLI version history (Ansible-based, 4.0.0+):
For earlier versions (0.1.0-alpha through 3.7.0, Go-based), see <a href="https://github.com/CanastaWiki/Canasta-Go/blob/main/RELEASE_NOTES.md">https://github.com/CanastaWiki/Canasta-Go/blob/main/RELEASE_NOTES.md</a>
- 4.0.0 - May 9, 2026 - Complete rewrite from Go to Ansible; replaces Canasta-Go 3.x (end-of-life as of 3.7.0). Existing
conf.jsonregistries and instance directories continue to work without modification; installer replaces the Go binary in place viaget-canasta.sh. New capabilities: SSH-based multi-host management (--hostflag,canasta host add/remove/list); multi-node Kubernetes withReadWriteManyPVCs for multi-replica web pods;canasta doctor,canasta install/uninstall,canasta storage setup nfs/efs; auto-generated CLI reference on canasta.wiki. Feature parity otherwise with 3.6.3. - 4.0.1 - May 9, 2026 - Fix
CANASTA_ENABLE_OBSERVABILITY=true: declarebcryptinrequirements.txtso the OpenSearch Dashboards basicauth password hash gets generated. - 4.0.2 - May 15, 2026 - Bump target Canasta version to 3.5.8. Operational improvements:
canasta doctorwarns when rootless Docker can't bind privileged ports belowip_unprivileged_port_start(#557); thewebandvarnishservices declareuser: rootin the bundled compose stack so podman-compose runs them correctly under rootless Podman (#558);canasta maintenance scriptandcanasta maintenance extensioninvoke through MediaWiki'srun.phpso the.phpsuffix is optional and extension scripts use theExtName:scriptNameprefix syntax (#559);canasta createrefuses to enter a non-empty target directory and no longer deletes pre-existing directories on rescue cleanup, preventing operator-data loss (#561);canasta upgraderebuilds buildable services on any image change rather than only the pull-skipped path, and detects buildable services dynamically from the merged compose config (#563); newcanasta rebuildcommand for standalone custom-image rebuilds without going through upgrade (#564). - 4.0.3 - June 8, 2026 - Bump target Canasta version to 3.5.10. Backup: align
canasta backup purgewith restic's native retention flags and drop the canasta-specific--older-than, fixing scheduled-purge failures on Compose (#601); validate RESTIC settings on Compose and warn on quoted/CRLF.envvalues (#587); preflight a runnablecanastaon the host and use an absolute path in the scheduled-backup cron (#591). Gitops: keep domain/port/scheme changes durable across pulls (#577); block port changes on Kubernetes (#581); ignore generated sitemaps,backup.log, and editor.bakfiles (#599). Reliability and fixes:status/doctordetect the instance from any subdirectory (#597); fix acanasta installcrash resolving the operator user without facts (#589); list subcommands for bare nested groups instead of erroring (#586); fall back tocertifiwhen the interpreter has no usable system CA store (#584);canasta doctorreports whether a runnablecanastais on the host (#593); fix Ansible callback signature warnings (#573). - 4.0.4 - June 8, 2026 - Re-exec after self-update, fixing intermittent
canasta upgradefailures (#607). - 4.1.0 - June 11, 2026 - Optional CrowdSec support for Docker Compose (opt-in via
CANASTA_ENABLE_CROWDSEC=true): a CrowdSec engine and Caddy bouncer with trusted-proxy handling, managed by the newcanasta crowdseccommand group, with CAPI and the bouncer auto-enrolled so the community blocklist works out of the box (#603, #620, #633, #637, #639, #641, #643, #646, #647). Also includes backup andcanasta upgradeimprovements (#611, #615, #617, #627, #629, #631),canasta-groupmembership hardening (#612),gitops diffpatch output (#622), and quieter ignored-failure output (#624, #625). See #650 for the full changelog. - 4.1.1 - June 12, 2026 - Bug fixes:
canasta upgradeno longer aborts on a stopped Compose instance during the MySQL-to-MariaDB probe (#655);canasta config set CANASTA_ENABLE_CROWDSEC=trueno longer loops forever auto-enrolling the Caddy bouncer (#653). - 4.2.0 - June 18, 2026 - CrowdSec support for Kubernetes (opt-in via
CANASTA_ENABLE_CROWDSEC=true): the CrowdSec engine and Caddy bouncer (a sidecar in the Caddy pod) now run on Kubernetes with CAPI and Console auto-enrollment, plus newcanasta crowdsec scenarios/alerts/metricsinspection andreload --purge-blocklist(s)(#604, #659, #660, #662, #700, #709). Multi-node Kubernetes hardening: real client IP via TraefikexternalTrafficPolicy=Local(#688), reliable worker joins (#690), pinned k3s/helm versions (#721), and long remote operations (install, deploy, backup, restore, delete, maintenance) now survive transient SSH resets (#743, #751, #752, #754, #756, #763). Backup/restore correctness: K8s restore fails loudly instead of silently when restic fails (#748), local-path restic repos pin to the control plane on multi-node (#749), anddeleteno longer orphans the Compose backup staging volume (#761). Also a large internal orchestrator-dispatch refactor (#696) and many gitops, create, and config fixes. See #765 for the full changelog. - 4.3.0 - June 22, 2026 - Orchestrator-agnostic application sidecars: the new
canasta sidecarcommand group (add/list/remove/migrate) declares companion services inconfig/sidecars.yamland renders them to both Docker Compose and Kubernetes, includingbuild:image delivery and a web-to-sidecar environment bridge (#810, #814, #817, #819, #820, #823, #824, #827, #831, #832). Kubernetes backups now capture the fullconfig/directory, with orchestrator-agnostic host-crontab scheduling (#826, #813, #834).canasta create --build-fromworks on Kubernetes via an in-cluster registry, with a disk-space preflight (#791, #801, #795). Newcanasta config refresh-templateadopts updated template-seeded config files (#859, #861, #863). GitOps gains non-interactive Kubernetesinit/join, self-hosted Argo CD repo trust, and richergitops status/add/upgradehandling (#846, #849, #851, #852, #853, #855, #867, #868, #869, #871, #873, #875, #877, #879). Plusmaintenance exec --stdin-file(#768, #771) and many Kubernetes, backup, and gitops fixes. See #856 for the full changelog. - 4.4.0 - June 29, 2026 - Bump target Canasta version to 3.5.11 (MediaWiki 1.43.9 security release). New capabilities: override the Elasticsearch image on both orchestrators via
CANASTA_ELASTICSEARCH_IMAGE(#888); Kubernetes secrets now come from a per-instance Secret, withenvSecretfor sidecars,envPrivateto withhold sidecar keys from the web bridge, andappSecretEnvfor the web and jobrunner pods (#890, #892, #894). Fixes:maintenance execfalls back toshwhen a container has nobash(#896); the generated CLI: wiki reference uses MediaWiki list markup, unwraps hard-wrapped descriptions, and retries rate-limited edits (#898, #901, #902). Also dead-code removal,canastainstall-package docs, full sidecar teardown on restart and delete, and added test coverage (#883, #884, #885, #886). - 4.4.1 - June 30, 2026 - Bump target Canasta version to 3.5.12, which fixes the broken Composer build in 3.5.11 that left bundled extension dependencies (Elastica, Semantic MediaWiki, and others) uninstalled.
- 4.5.0 - July 1, 2026 - Bump target Canasta version to 3.5.13. New
canasta reconcilecommand andcanasta doctorconfig/runtime drift checks (#920, #924, #931, #937, #944); upgrade and GitOps durability fixes (#909, #914, #915, #917, #922, #925, #927, #930, #933, #935, #939, #954); atomicconf.jsonwrites (#945); a CrowdSec auto-enroll loop fix (#919); acanasta sidecar migratecrash fix (#943); and test, CI, and docs hardening (#946, #947, #948, #949, #950, #952, #953). See #957 for the full changelog. - 4.5.1 - July 1, 2026 - Bug fixes:
canasta upgradenow migrates a MySQL 8.0 instance to MariaDB instead of skipping the migration and leaving the database unable to start (#960). - 4.5.2 - July 2, 2026 - Bump target Canasta version to 3.5.14.
canasta create --build-fromforwards--build-argto the image build (#982); plus bug fixes and hardening across upgrade, gitops, sidecars, Kubernetes, and validation (#968, #969, #970, #971, #972, #973, #974, #975, #976, #977, #978, #979, #980, #981, #985, #987, #988, #990, #992, #994). - 4.5.3 - July 3, 2026 - Bump target Canasta version to 3.5.15, which updates the Maps and OAuth extensions (security updates) and the Page Forms extension.
- 4.6.0 - July 3, 2026 - New
--imagesoption oncanasta createandcanasta addto restore a wiki's uploaded media alongside--database(#1003). Kubernetes backup/restore fixes:canasta backup restorenow brings back uploaded media and custom extensions, skins, and public assets that were previously dropped (#1002, #1005);public_assetsnow syncs into its PVC on start (#1000);canasta createandcanasta addcreate the per-wikipublic_assets/<wiki-id>/directory (#1008). - 4.7.0 - July 4, 2026 - New
--skip-installoption oncanasta createandcanasta addconnects a wiki to a pre-provisioned external database without runninginstall.php(#1014). Kubernetes fixes:canasta doctordetects un-appliedconfig setedits on non-GitOps instances (#1018); NFS-backed PVCs reclaim their storage on delete by defaulting the StorageClass toDelete(#1017); GitOps push prunes deleted settings files from the rendered config (#1016). Also points users tocanasta reconcilefor applying config changes without a full restart (#1013). - 4.8.0 - July 4, 2026 - New
canasta image pushandcanasta image prunecommands for the Kubernetes in-cluster image registry (#1022, #1028, #1029); Kubernetes Elasticsearch no longer crash-loops on slow starts (#1030); CI YAML lint matchesmake lint(#1024). - 4.8.1 - July 4, 2026 - Kubernetes Elasticsearch pins 7.10.2, matching Docker Compose and the version CirrusSearch supports (#1034).
- 4.9.0 - July 4, 2026 -
canasta image pushsupports--build-arg KEY=VALUE, enabling web overlay images to be pushed to the in-cluster registry (#1038). - 4.9.1 - July 4, 2026 - Bug fixes: enabling Elasticsearch on Kubernetes pulls its image again (#1042); the Kubernetes jobrunner runs localisation-dependent jobs such as CirrusSearch indexing (#1045);
canasta maintenancecommands reach remote Kubernetes instances (#1046, #1048). - 4.10.0 - July 7, 2026 - New
canasta wiki-checkcommand reports which wikis are reachable (#570, #1076); Kubernetes GitOps encrypts committed secrets with SOPS+age (#1064). Bug fixes:canasta restore -wrestores a single wiki (#1056);ignore_errorshonored on included restore/remove tasks (#1058); Compose restore file ownership (#1059); restore clears its staging volume (#1060); safety backup skips absent databases (#1062);gitops statusmarks non-GitOps instances unmanaged (#1066); unpushed GitOps commit retried (#1068); backup schedule crontab entries deduplicated (#1070); Kubernetes jobrunner runs aswww-data(#1072);gitops initfailure message printed once (#1074). - 4.11.0 - July 7, 2026 - New
canasta upgrade --purgereclaims disk by removing the images an upgrade supersedes (#1081). Bug fixes:canasta versionno longer reports Kubernetes instances as not running (#1084);canasta gitops init --encrypt-secrets --reinitno longer strands the Argo CD Application with two source types (#1085); Kubernetescanasta gitops statussurfaces uncommitted and untracked changes (#1087); the untrackedwikis.yaml.templateadvisory points tocanasta gitops add config/wikis.yaml(#1089). - 4.12.0 - July 8, 2026 - Kubernetes Ingress domains auto-derived from the farm's wiki URLs, with an
extraDomainsescape hatch (#1099). Bug fixes: Caddy renders http-only behind the Kubernetes Ingress (#1093);canasta config set CADDY_AUTO_HTTPSblocked on Kubernetes (#1095); full Kubernetes restore exactly matches the snapshot (#1097). - 4.12.1 - July 10, 2026 - Kubernetes GitOps source-directory tracking (#1113); special characters in
maintenance script/extensionarguments (#1115);gitops statusdeletion labeling (#1111);gitops statusmanaged-file handling (#1110);config setenv.templatestaging (#1109);upgradehosts.yamlstaging (#1108). - 4.13.0 - July 25, 2026 - New:
extension set-version(#1197),config setmaintenance-script env-var forwarding (#1192), profile-aware host memory floor (#1186). Bump target Canasta version to 3.5.17. Bug fixes acrosscreate/add/upgrade/list/maintenance/DB import (#1121, #1146, #1159, #1167, #1184, #1185, #1188, #1189, #1190, #1199) and GitOps/git-crypt/SOPS-age (#1127, #1128, #1132, #1133, #1134, #1136, #1140, #1141, #1168, #1169, #1170, #1171, #1172, #1173, #1175, #1176, #1178, #1193, #1194, #1203). - 4.14.0 - July 28, 2026 - New: Podman as a container runtime (#1224, #1225, #1226, #1227);
backup purge --dry-run(#1249); wiki liveness incanasta list(#1217); host-local settings overrides on gitops Compose (#1216). Bump target Canasta version to 3.5.19. Bug fixes across Podman/runtime (#1233, #1236, #1266, #1269, #1272, #1277, #1278), GitOps (#1213, #1214, #1215, #1228, #1229), backup/restore (#1205, #1238, #1245), lifecycle (#1219, #1237, #1263, #1268), secrets and packaging (#1223, #1244, #1253) and docs publishing (#1251, #1258, #1260, #1261). - 4.14.1 - July 29, 2026 - Encrypted gitops host vars merging across hosts (#1326, #1328); gitops shared-key deferral and per-host restic credentials (#1319, #1320, #1321); Podman and rootless-runtime fixes across
create,start,rebuild, backup and image references (#1283, #1285, #1294, #1295, #1297, #1298, #1302, #1316, #1317, #1318, #1325); Compose port preflight honoringHTTP_PORT/HTTPS_PORT(#1332);install/uninstallpackage-name validation (#1289, #1303, #1310); test, CI, and install-dispatch hardening (#1291, #1292, #1301, #1305, #1311). - 4.15.0 - August 2, 2026 - New:
doctororigin-certificate check (#1367, #1402), CrowdSec trusted-proxy warning (#1366, #1383). Bump target Canasta version to 3.5.20. Bug fixes across Podman and runtime detection (#1345, #1351, #1352, #1359, #1377, #1386, #1393, #1399, #1400, #1403), CrowdSec and Caddy trusted proxies and status (#1365, #1369),create/upgrade/install/registry/Compose config (#1344, #1346, #1347, #1361, #1371, #1373, #1398, #1401, #1421, #1423, #1425, #1427), remotestatus(#1395), andcanasta-dockerupdate reporting and Podman refusal (#1404, #1430). Static analysis across Python, Ansible, shell, workflows and Dockerfiles (#1410, #1411, #1412, #1416, #1422), plus CI, test and docs hardening (#1335, #1336, #1340, #1353, #1355, #1407). - 4.16.0 - August 21, 2026 - New:
backup databases add/list/removewith extra databases captured in the wiki's dump transaction and DB passwords off the process table (#1460);install uv/uv:<tool>(#1437);config getcredential masking with--show-secrets(#1466);doctorbuffer-pool andmy.cnfreporting (#1475) and podman-compose 1.3.0 warning (#1436). Silent-failure fixes across backup, Caddy and profiles (#1442, #1461, #1462, #1463, #1465), Kubernetes rollout and db config (#1469, #1470), GitOps key export and orphan gitlinks (#1480, #1486), anddoctor/installtargeting (#1439, #1473). - 4.17.0 - August 24, 2026 - New:
config unset --secret;config set --secretrefusing recognized.envkeys (#1494). Bump target Canasta version to 3.5.21. - 4.18.0 - August 26, 2026 - New:
image pruneon Compose hosts with in-use image pinning anddoctordisk reporting (#1505, #1509, #1511); full restic retention policy inbackup schedule set(#1526); backup and restore progress output (#1527). Owner-only.envpermissions (#1540). Bug fixes across backup staging and restore (#1524, #1528), restored-instance ownership (#1523),list --check-wikisTLS SNI (#1522), CDN client-IP forwarding (#1513),startexit status on an uncreated service (#1545), Kubernetescreateagainst stubbed collection modules (#1544),rebuildwith a missing build source (#1501), image-build download retries (#1521) and command output rendering (#1539, #1543), plus docs publishing and test hardening (#1525, #1530). - 4.19.0 - August 28, 2026 - New: per-host
my.cnfrendering on gitops, with the migration completing onupgrade(#1553, #1556).gitops pullre-render after an unfinished pull (#1557). - 4.20.0 - August 31, 2026 - New:
CADDY_TLS_MODEfor internal and custom origin certificates (#1568); object-storage media hosts from a declaration (#1569);CANASTA_CONTAINER_RUNTIMEruntime selection, with Docker probed before Podman (#1574, #1582); an interrupted restore recorded and surfaced bylistandstatus(#1577). Bug fixes: MariaDB startup failures reachingdocker logsand the start failure capture (#1575); cross-host restore identity andmy.cnf(#1576); the destination's database password across an interrupted restore (#1583); gitops empty shared keys (#1572), committed per-host vars on join (#1573), and one.envrender (#1580). - 4.20.1 - September 25, 2026 - Bump target Canasta version to 3.5.23; Podman 4
startservice check (#1594). - 4.21.0 - September 30, 2026 - New:
extension add/skin add(#1492, #1632, #1674); git-crypt GPG mode for GitOps (#1564). Bump target Canasta version to 3.5.24. Security hardening: NFS exports limited to cluster nodes (#1609, #1689), k3s agent join token (#1672), secrets off command lines and logs (#1618, #1621, #1628, #1673, #1682), client PURGE refused (#1623), credential and kubeconfig file modes (#1620, #1670), GitOps key handling and staging (#1619, #1671, #1684). Bug fixes acrossconfig/backup/restore/upgrade(#1491, #1566, #1616, #1622, #1625, #1629, #1664, #1666, #1667, #1668, #1669, #1676, #1680, #1683) and GitOps (#1600, #1617, #1633, #1663, #1665). - 4.22.0 - October 2, 2026 - New: MediaWiki's own database account on Compose, with migration on
upgrade(#1740, #1743, #1744). Security hardening:--branch/--refoption injection (#1735),config settoken echo (#1734), symlinked submodule removal (#1730). Bug fixes across backup/restore (#1717, #1721, #1725, #1732, #1736, #1737, #1738, #1745),delete(#1716, #1727, #1729), concurrent lifecycle operations (#1739), backup schedule validation (#1733) and GitOps (#1718, #1719, #1726, #1731, #1746). - 4.22.1 - October 2, 2026 - Bump target Canasta version to 3.5.25.
- 4.23.0 - October 5, 2026 - New:
config set --secret [--web]on Compose (#1815);CANASTA_FORWARD_AGENT=no(#1814); shared SSH connections per host (#1767).maintenance script/extensionrun on every wiki by default (#1822);maintenance exec --wikiremoved (#1824). Security hardening: gitops encryption rules enforced (#1820), secrets off command lines (#1758, #1810, #1811). Bug fixes across extensions and skins (#1786, #1794, #1806, #1826), remote hosts (#1754, #1755, #1759, #1763, #1792, #1808, #1809, #1812), Podman (#1756, #1784, #1785), GitOps (#1762, #1764, #1766, #1779, #1790, #1813, #1821, #1829), observability (#1778, #1791, #1807), sidecars (#1765, #1789, #1819) and other commands (#1757, #1760, #1761, #1780, #1787, #1788, #1805). - 4.23.1 - October 6, 2026 - Bump target Canasta version to 3.5.26.
- 4.23.2 - October 8, 2026 -
crowdsec statuscommunity-blocklist pull health (#1837); CrowdSec startup-failure hold on Compose (#1838);image pruneof unused locally built images (#1840); CrowdSec status help (#1841);sitemap generateindex URLs (#1843). - 4.24.0 - October 12, 2026 - New:
create -d/add -dimport a wiki's extra databases (#1976);config refresh-template --apply(#1969); missing-database warning aftergitops pull(#1956); Kubernetes jobrunner Deployment removed (#1849);config regeneratereplaced byreconcile(#1873). Security hardening: private gitops vars and restore dumps (#1929), NFS export sync (#1974), restic argument quoting (#1931). Bug fixes across backup/restore (#1877, #1878, #1886, #1887, #1893, #1924, #1933, #1935, #1936), GitOps (#1857, #1872, #1879, #1881, #1884, #1888, #1897, #1921, #1922, #1944, #1949, #1955, #1958, #1968), Kubernetes (#1848, #1866, #1870, #1871, #1880, #1885, #1889, #1890, #1895, #1900, #1901, #1923, #1925, #1926, #1953, #1957, #1962, #1964, #1965), external databases (#1928, #1932, #1947) and other commands (#1847, #1861, #1864, #1867, #1868, #1869, #1875, #1930, #1954, #1959, #1960, #1963, #1966, #1973, #1975). - 4.24.1 - October 12, 2026 - Bump target Canasta version to 3.5.27.
update.phpfor a wiki re-added under a removed ID (#2001). - 4.25.0 - October 15, 2026 - Bump target Canasta version to 3.5.28. Composer:
config/composer.local.jsonholds only operator additions, tidied on upgrade; failed startup updates reported;extension add/removekeep bundled packages (#2062, #2065, #2066).upgradecontinues past a failed instance (#2097) and names an unhealthy container's cause (#2098). Docker Compose and general fixes: CrowdSec (#2019, #2025, #2037, #2057), backup/export (#2012, #2016, #2050) and other commands (#2013, #2017, #2018, #2026, #2030, #2032, #2033, #2034, #2035, #2036, #2038, #2039, #2041, #2051, #2079, #2096). Kubernetes: gitopsupgrade,add/removeandconfig set/unsetstage changes forgitops push+gitops sync(#2046, #2069, #2093); per-instance Argo CD projects (#2058); fixes (#2014, #2015, #2023, #2024, #2027, #2028, #2029, #2040, #2042, #2052, #2078, #2087, #2088, #2094, #2095). - 4.25.1 - October 15, 2026 -
listanddoctorreport an unhealthy web container (#2115);--clonefalls back to Wikimedia's GitHub mirror when Gerrit does not answer (#2110). Kubernetes: CrowdSec local API in its own pod so Caddy rolls without downtime (#2123); graceful web, Varnish and Caddy shutdown during rollouts (#2119, #2123); on gitops,extension/skin enable/disablestaged (#2116), a warning before deploying unpushed changes (#2117) and accurate CrowdSec enrollment and bouncer status (#2118); Argo CD chart pinned with Redis from a mirror (#2126) and install-failure diagnostics (#2120). - 4.25.2 - October 16, 2026 - Descriptive user agent for Gerrit clones and lookups (#2147);
upgradere-run finishing a failed restart (#2131);extension/skincommands on a stopped instance (#2145); quieterextension add/removeandmy.cnfnote (#2132, #2130); start hint afterconfig set --no-restarton a stopped instance (#2133);add -uport (#2134); installer--prefixsummary (#2135);gitops status/addafter local commits (#2136); CrowdSec refused Central API reporting and status wording (#2137, #2146). Kubernetes: MediaWiki's own database account, staged on gitops upgrade (#2070); exec skipping draining pods (#2142); Argo CD install with a stale Helm index (#2143); root-account create keeping a separate password (#2151). - 4.26.0 - October 18, 2026 - New: HAProxy edge in front of every Docker Compose instance, with TLS (Let's Encrypt by HTTP or Cloudflare DNS validation), hostname routing, scraper rate limits, deny lists, CrowdSec bans and CDN client addresses;
upgrademoves existing instances behind it, keeping their URLs and certificates, and--dry-runshows the plan (#2059, #2168, #2179). TLS settings renamed toTLS_MODE(offfor plain HTTP),TRUSTED_PROXIES,TLS_CERTandTLS_KEY(#2197). Rootless Podman records real visitor addresses (#2182); rootless Docker supported with a warning (#2187). Fixes: IPv6 visitors (#2173, #2178),Caddyfile.globalsites (#2170, #2192),canasta-docker(#2174, #2175), the host's own requests not rate-limited (#2207), edge logs capped (#2203). - 4.26.1 - October 18, 2026 - The HAProxy edge waits for HAProxy to start before installing certificates, so certificates moved from Caddy renew and newly issued ones are served (#2210).
- 4.26.2 - October 19, 2026 -
delete --keep-dataremoves an instance from the registry only, leaving its containers or namespace, volumes and files in place (#2060). The edge's warning for a certificate Let's Encrypt did not issue gives Let's Encrypt's reason (#2215). Fixes: static files no longer rate-limited as dynamic for visitors with a session cookie (#2219), the port check undercanasta-docker(#2212), the edge's hostnames and keys removed when its last instance leaves (#2209), a stale comment inhaproxy-backend.cfg(#2220).