# Changelog ## [Unreleased] ## [09.05.00] --- 2026-05-29 ## [09.04.00] --- 2026-05-28 ## [09.04.00] --- 2026-05-28 All notable changes to this project will be documented in this file. The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.1.0/). Version format: `XX.YY.ZZ` (zero-padded semver). ## [09.03.00] --- 2026-05-28 ### Added - `branch-cleanup.yml`: auto-delete merged feature branches after PR merge — synced to all 47 repos - `governance.yml`: lightweight YAML schema replacing HCL definition files for repo governance config - `auto-bump.yml`: auto patch-bump version on every push to dev ### Changed - **Definitions removed**: deleted `definitions/` directory (63,602 lines of HCL) — Template repos are now the canonical source for platform-specific files - **Template path migration**: `templates/gitea/` → `templates/mokogitea/`, all `.github/` references → `.mokogitea/` across definitions and sync tools - `version_bump.php`: preserves version suffix (e.g. `-dev`) through bumps — moko manifest is now the single source of truth for the full version string (#191) - `version_read.php`: accepts suffix from moko manifest (was stripping it) - `update-server.yml`: removed `DISPLAY_VERSION` — derives filename directly from manifest version (#191) - `pre-release.yml`: removed `SUFFIX` variable — version string already includes suffix - `push_files.php`: detects platform from manifest.xml via API instead of local sync definition files - `auto_detect_platform.php`: gracefully handles missing schema directory - `DefinitionParser.php`: deleted — no longer needed - `manifest-schema.xsd`: moved from `definitions/` to `templates/schemas/` ### Removed - `definitions/default/` — 10 HCL definition files (generic, joomla, dolibarr, platform, standards, etc.) - `definitions/sync/` — 48 auto-generated sync tracking files - `lib/Enterprise/DefinitionParser.php` — HCL parser (replaced by Template repo sourcing) - Redundant bump from pre-release.yml (handled by auto-bump) - 47 merged feature branches cleaned up from remote ## [09.02.00] - 2026-05-26 ### Added - **Release promotion pipeline**: draft PR → RC promotion, merged PR → RC-to-stable (skip rebuild) - **7 new CLI tools**: `manifest_element.php`, `release_create.php`, `release_package.php`, `release_promote.php`, `release_mirror.php`, `version_reset_dev.php`, `ManifestReader.php` - `version_bump.php` / `version_read.php`: support for `package.json` (Node.js) and `pyproject.toml` (Python) - `version_bump.php`: now writes bumped version to all sources (README, manifests, Dolibarr mod, composer.json, package.json, pyproject.toml) - `release_cascade.php`: `--version` flag for version-aware deletion of stale releases - `release_validate.php`: auto-detect platform from manifest.xml, `--github-output` flag, source dir check - `updates_xml_build.php`: supports non-Joomla platforms via manifest.xml detection - `release_package.php`: reads entry-point from manifest.xml for source dir resolution - `auto-release.yml`: `workflow_dispatch` with `promote-rc` action as fallback for MokoGitea#220 - `update-server.yml`: now universal — pushed to all 69+ repos (Joomla, Dolibarr, generic, MCP) - `ManifestReader.php`: shared typed accessor for `.mokogitea/manifest.xml` - Universal workflow cascade: Template-Generic → other templates → all repos via `bulk_sync.php` - Wiki: UPDATE_SERVER standard page on moko-platform and all template repos - PHPDoc added to 4 classes missing class-level docs ### Changed - `auto-release.yml`: 761 → 490 lines — replaced all inline bash with CLI tool calls - `pre-release.yml`: 389 → 314 lines — replaced inline logic with `manifest_read.php`, `manifest_element.php`, `updates_xml_build.php` - Removed `paths` filter from workflow triggers (enables Go, Node.js, generic repo compatibility) - `RepositorySynchronizer.php`: fixed template repo names, `.mokogitea/workflows` path, universal workflow sync - Template-Generic is now the single source of truth for universal workflows ### Fixed - `release_cascade.php` in `auto-release.yml`: was using `--org`/`--repo` flags instead of `--api-base` - `pre-release.yml`: updates.xml sync was checking out entire branch tree instead of just `updates.xml` - MokoWaaS#48: Joomla 6 typed event API fix for `plg_webservices_mokowaas`