When a stable release is created, automatically deletes development,
alpha, beta, and release-candidate releases and tags.
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
- Add .nav-mobile-bar flexbox row (d-lg-none) with hamburger left,
search icon right — collapses to one line on mobile
- Horizontal menu collapse target unified to #moko-main-menu-collapse
(shared between index.php bar and mod_menu override)
- Remove duplicate navbar-toggler from horizontal.php (now in index.php)
- CSS: [data-bs-theme] selectors for per-module color scheme (no :root)
- Desktop: .nav-mobile-bar hidden, search always visible
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Updates.xml fixes:
- Restored clean 5-channel structure with proper comment markers
- All channels use consistent format (single-line <tags>, same targetplatform)
- Correct descriptions per channel (not "MokoOnyx (rc)" for everything)
- Version tag uses raw XX.YY.ZZ (no -dev/-beta suffixes)
update-server.yml fixes:
- Entry builder matches canonical format (single-line tags, consistent quoting)
- Version uses raw VERSION not DISPLAY_VERSION (suffix is ZIP-only)
- targetplatform standardized to (5|6).*
- Cascade now UPDATES IN PLACE (preserves ordering) or CREATES if missing
- No more remove+insert that destroyed the comment-based structure
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
The bump step was doing sed "s|<version>${README_VERSION}|..." on the
manifest, but the manifest had a different version (01.00.31) than
README (02.00.02). The sed silently failed — no replacement, so the
ZIP shipped with the old version. Joomla saw the update in updates.xml
but the installed ZIP's manifest was <= the current version, so
nothing actually updated.
Fix: read the manifest's own <version> independently and replace that,
regardless of what README says. Also sync templateDetails.xml to
02.00.02 to match current README.
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Add "theme-dark" or "theme-light" to any module's Module Class Suffix
to force it into dark or light mode regardless of the page theme.
Implementation:
- CSS theme selectors changed from :root[data-bs-theme] to
[data-bs-theme] so variables apply to any element, not just <html>
- JS scans for .theme-dark/.theme-light classes on DOMContentLoaded
and sets data-bs-theme attribute on matching elements
- Scoped background/color/border-radius applied to themed modules
- Works with all module types, all layouts, no per-override changes
Files: template.js, template.css, light.standard.css, dark.standard.css,
light.custom.css, dark.custom.css, en-GB + en-US language docs
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
BREAKING CHANGE: Sites still on MokoCassiopeia must install MokoOnyx
v01.x first to migrate settings before upgrading to v02.
Removed:
- helper/migrate.php — full migration engine (style cloning, file copy,
update server rewrite)
- script.php migration methods: migrateFromCassiopeia(),
copyUserFiles(), replaceCassiopeiaReferences() + OLD_NAME constants
- index.php first-load migration check (file_exists .migrated)
- Migration fieldset and language strings from admin UI
- "formerly MokoCassiopeia" from description
- MokoCassiopeia reference in bootstrap-toc.css comment
Updated:
- Roadmap rewritten for 01.xx→02.xx version line with clean future plan
- script.php MIN_JOOMLA bumped to 5.0.0 (Joomla 4.4 dropped)
- script.php postflight() simplified (favicon + lock only)
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>