diff --git a/.mokogitea/manifest.xml b/.mokogitea/manifest.xml index 5429ec6..90fb49f 100644 --- a/.mokogitea/manifest.xml +++ b/.mokogitea/manifest.xml @@ -5,10 +5,11 @@ --> - Package - MokoWaaS + MokoWaaS + Package - MokoWaaS MokoConsulting White-label identity, security hardening, and tenant restriction layer for WaaS-managed Joomla environments - 02.26.00 + 02.26.03 GNU General Public License v3 diff --git a/.mokogitea/workflows/issue-branch.yml b/.mokogitea/workflows/issue-branch.yml index e76440d..d29866a 100644 --- a/.mokogitea/workflows/issue-branch.yml +++ b/.mokogitea/workflows/issue-branch.yml @@ -5,7 +5,7 @@ # FILE INFORMATION # DEFGROUP: Gitea.Workflow # INGROUP: moko-platform.Automation -# VERSION: 02.26.00 +# VERSION: 02.26.03 # BRIEF: Auto-create feature branch when an issue is opened name: "Universal: Issue Branch" diff --git a/CHANGELOG.md b/CHANGELOG.md index 6353405..95639ff 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -14,14 +14,12 @@ INGROUP: MokoWaaS.Documentation REPO: https://github.com/mokoconsulting-tech/mokowaas PATH: ./CHANGELOG.md - VERSION: 02.26.00 + VERSION: 02.26.03 BRIEF: Version history using `Keep a Changelog` --> # Changelog ## [Unreleased] - -## [02.26.00] --- 2026-05-30 ### Added - API endpoint `POST /api/index.php/v1/mokowaas/install` — install extensions from a remote ZIP URL - Demo Mode with configurable warning banner on frontend when enabled @@ -51,3 +49,30 @@ All notable changes to the MokoWaaS plugin will be documented in this file. The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/), and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html). + +## [02.17.00] --- 2026-05-28 + +### Changed +- Migrated all workflow and template paths from `.github/` to `.mokogitea/` +- Template source paths updated: `templates/gitea/` to `templates/mokogitea/` +- HCL definition files removed -- Template repos are now the canonical source + +### Added +- `branch-cleanup.yml`: auto-delete merged feature branches after PR merge +- `plg_webservices_perfectpublisher`: REST API for Perfect Publisher (com_autotweet) — channels, posts, requests, rules, feeds, and stats + +### Planned +- License/subscription check +- System email template branding (DB approach) + +### Added +- Trusted IPs: configurable repeatable rows of IP addresses, CIDR ranges, and wildcards that bypass admin session timeout +- Supports exact IPs (192.168.1.100), CIDR (10.0.0.0/24), and wildcards (192.168.1.*) +- Each entry has a label and enabled toggle for easy management +- Current IP display above trusted IPs table so admins can easily add their own IP + +### Fixed +- Trusted IP session bypass: moved from `onAfterInitialise` to `boot()` so Joomla's session lifetime is extended before the session handler validates it (was too late, Joomla expired the session first) +- updates.xml: removed stale pre-release entries pointing to non-existent dev artifacts, legacy plugin update entry that caused stable sites to attempt dev downloads +- Removed duplicate `` from inner plugin manifest — only the package-level manifest should register the update server +- Auto-cleanup of stale plugin-level update site entries on install/update (cleans `#__update_sites` and `#__update_sites_extensions`) diff --git a/CODE_OF_CONDUCT.md b/CODE_OF_CONDUCT.md index 7df8a41..d629f8d 100644 --- a/CODE_OF_CONDUCT.md +++ b/CODE_OF_CONDUCT.md @@ -14,7 +14,7 @@ DEFGROUP: Joomla.Plugin INGROUP: MokoWaaS.Documentation REPO: https://github.com/mokoconsulting-tech/mokowaas - VERSION: 02.26.00 + VERSION: 02.26.03 PATH: ./CODE_OF_CONDUCT.md BRIEF: Reference + packaging repo for Moko Consulting Developer GPT Other Default --> diff --git a/GOVERNANCE.md b/GOVERNANCE.md index dd2bb8e..7844de3 100644 --- a/GOVERNANCE.md +++ b/GOVERNANCE.md @@ -19,7 +19,7 @@ DEFGROUP: mokoconsulting-tech.MokoWaaSBrand INGROUP: MokoStandards.Governance REPO: https://github.com/mokoconsulting-tech/MokoWaaSBrand - VERSION: 02.26.00 + VERSION: 02.26.03 PATH: /GOVERNANCE.md BRIEF: Project governance rules, roles, and decision process for MokoWaaSBrand --> diff --git a/LICENSE.md b/LICENSE.md index f90d689..47095e6 100644 --- a/LICENSE.md +++ b/LICENSE.md @@ -15,7 +15,7 @@ INGROUP: MokoWaaS.Documentation REPO: https://github.com/mokoconsulting-tech/mokowaas PATH: ./LICENSE.md - VERSION: 02.26.00 + VERSION: 02.26.03 BRIEF: Project license (GPL-3.0-or-later) --> GNU GENERAL PUBLIC LICENSE diff --git a/README.md b/README.md index 285917e..568fcab 100644 --- a/README.md +++ b/README.md @@ -9,7 +9,7 @@ DEFGROUP: Joomla.Plugin INGROUP: MokoWaaS REPO: https://git.mokoconsulting.tech/MokoConsulting/MokoWaaS - VERSION: 02.26.00 + VERSION: 02.26.03 PATH: /README.md BRIEF: MokoWaaS platform plugin for Joomla --> diff --git a/SECURITY.md b/SECURITY.md index 6080b6e..002ec62 100644 --- a/SECURITY.md +++ b/SECURITY.md @@ -23,7 +23,7 @@ DEFGROUP: [PROJECT_NAME] INGROUP: [PROJECT_NAME].Documentation REPO: [REPOSITORY_URL] PATH: /SECURITY.md -VERSION: 02.26.00 +VERSION: 02.26.03 BRIEF: Security vulnerability reporting and handling policy --> diff --git a/docs/guides/build-guide.md b/docs/guides/build-guide.md index 3b1f01f..4a55290 100644 --- a/docs/guides/build-guide.md +++ b/docs/guides/build-guide.md @@ -11,13 +11,13 @@ INGROUP: MokoWaaS.Build REPO: https://github.com/mokoconsulting-tech/mokowaas FILE: build-guide.md - VERSION: 02.26.00 + VERSION: 02.26.03 PATH: /docs/guides/ BRIEF: Build and packaging guide for the MokoWaaS system plugin NOTE: Defines environment setup, repository layout, packaging rules, and release preparation --> -# MokoWaaS Build Guide (VERSION: 02.26.00) +# MokoWaaS Build Guide (VERSION: 02.26.03) ## 1. Purpose diff --git a/docs/guides/configuration-guide.md b/docs/guides/configuration-guide.md index 7a7eb46..b74e569 100644 --- a/docs/guides/configuration-guide.md +++ b/docs/guides/configuration-guide.md @@ -10,13 +10,13 @@ DEFGROUP: Joomla.Plugin INGROUP: MokoWaaS.Guides REPO: https://github.com/mokoconsulting-tech/mokowaas - VERSION: 02.26.00 + VERSION: 02.26.03 PATH: /docs/guides/configuration-guide.md BRIEF: Configuration guide for the MokoWaaS system plugin NOTE: Defines plugin parameters, expected behaviors, and recommended defaults --> -# MokoWaaS Configuration Guide (VERSION: 02.26.00) +# MokoWaaS Configuration Guide (VERSION: 02.26.03) ## 1. Objective diff --git a/docs/guides/installation-guide.md b/docs/guides/installation-guide.md index be8536a..a4b8aaf 100644 --- a/docs/guides/installation-guide.md +++ b/docs/guides/installation-guide.md @@ -10,13 +10,13 @@ DEFGROUP: Joomla.Plugin INGROUP: MokoWaaS.Guides REPO: https://github.com/mokoconsulting-tech/mokowaas - VERSION: 02.26.00 + VERSION: 02.26.03 PATH: /docs/guides/installation-guide.md BRIEF: Installation guide for the MokoWaaS system plugin NOTE: First document in the guide set --> -# MokoWaaS Installation Guide (VERSION: 02.26.00) +# MokoWaaS Installation Guide (VERSION: 02.26.03) ## Introduction diff --git a/docs/guides/operations-guide.md b/docs/guides/operations-guide.md index 5c6dafb..92953e6 100644 --- a/docs/guides/operations-guide.md +++ b/docs/guides/operations-guide.md @@ -10,13 +10,13 @@ DEFGROUP: Joomla.Plugin INGROUP: MokoWaaS.Guides REPO: https://github.com/mokoconsulting-tech/mokowaas - VERSION: 02.26.00 + VERSION: 02.26.03 PATH: /docs/guides/operations-guide.md BRIEF: Operational guide for administering and managing the MokoWaaS system plugin NOTE: Defines lifecycle, responsibilities, and operational behaviors --> -# MokoWaaS Operations Guide (VERSION: 02.26.00) +# MokoWaaS Operations Guide (VERSION: 02.26.03) ## Introduction diff --git a/docs/guides/rollback-and-recovery-guide.md b/docs/guides/rollback-and-recovery-guide.md index 7657994..427e422 100644 --- a/docs/guides/rollback-and-recovery-guide.md +++ b/docs/guides/rollback-and-recovery-guide.md @@ -10,13 +10,13 @@ DEFGROUP: Joomla.Plugin INGROUP: MokoWaaS.Guides REPO: https://github.com/mokoconsulting-tech/mokowaas - VERSION: 02.26.00 + VERSION: 02.26.03 PATH: /docs/guides/rollback-and-recovery-guide.md BRIEF: Rollback and recovery guide for restoring stable operation after plugin related incidents NOTE: Completes the core guide set for WaaS plugin governance --> -# MokoWaaS Rollback and Recovery Guide (VERSION: 02.26.00) +# MokoWaaS Rollback and Recovery Guide (VERSION: 02.26.03) ## Introduction diff --git a/docs/guides/testing-guide.md b/docs/guides/testing-guide.md index 5eafdc4..6518aa2 100644 --- a/docs/guides/testing-guide.md +++ b/docs/guides/testing-guide.md @@ -7,13 +7,13 @@ DEFGROUP: Joomla.Plugin INGROUP: MokoWaaS.Guides REPO: https://github.com/mokoconsulting-tech/mokowaas - VERSION: 02.26.00 + VERSION: 02.26.03 PATH: /docs/guides/testing-guide.md BRIEF: Testing guide for MokoWaaS v02.01.08 NOTE: Covers manual test procedures for language overrides, install/uninstall, and configuration --> -# MokoWaaS Testing Guide (VERSION: 02.26.00) +# MokoWaaS Testing Guide (VERSION: 02.26.03) ## 1. Prerequisites diff --git a/docs/guides/troubleshooting-guide.md b/docs/guides/troubleshooting-guide.md index ecb5d5a..0314eb0 100644 --- a/docs/guides/troubleshooting-guide.md +++ b/docs/guides/troubleshooting-guide.md @@ -10,13 +10,13 @@ DEFGROUP: Joomla.Plugin INGROUP: MokoWaaS.Guides REPO: https://github.com/mokoconsulting-tech/mokowaas - VERSION: 02.26.00 + VERSION: 02.26.03 PATH: /docs/guides/troubleshooting-guide.md BRIEF: Troubleshooting guide for diagnosing and resolving issues related to the MokoWaaS plugin NOTE: Designed for administrators and WaaS operations teams --> -# MokoWaaS Troubleshooting Guide (VERSION: 02.26.00) +# MokoWaaS Troubleshooting Guide (VERSION: 02.26.03) ## Introduction diff --git a/docs/guides/upgrade-and-versioning-guide.md b/docs/guides/upgrade-and-versioning-guide.md index e801eb3..6a2564c 100644 --- a/docs/guides/upgrade-and-versioning-guide.md +++ b/docs/guides/upgrade-and-versioning-guide.md @@ -10,13 +10,13 @@ DEFGROUP: Joomla.Plugin INGROUP: MokoWaaS.Guides REPO: https://github.com/mokoconsulting-tech/mokowaas - VERSION: 02.26.00 + VERSION: 02.26.03 PATH: /docs/guides/upgrade-and-versioning-guide.md BRIEF: Guide for updating, versioning, and maintaining the MokoWaaS plugin NOTE: Defines release flow, version rules, and upgrade validation --> -# MokoWaaS Upgrade and Versioning Guide (VERSION: 02.26.00) +# MokoWaaS Upgrade and Versioning Guide (VERSION: 02.26.03) ## Introduction diff --git a/docs/index.md b/docs/index.md index 5db7fe2..b798810 100644 --- a/docs/index.md +++ b/docs/index.md @@ -10,13 +10,13 @@ DEFGROUP: Joomla.Plugin INGROUP: MokoWaaS.Documentation REPO: https://github.com/mokoconsulting-tech/mokowaas - VERSION: 02.26.00 + VERSION: 02.26.03 PATH: /docs/index.md BRIEF: Master index of all documentation for the MokoWaaS plugin NOTE: Automatically maintained index for all guide canvases --> -# MokoWaaS Documentation Index (VERSION: 02.26.00) +# MokoWaaS Documentation Index (VERSION: 02.26.03) ## Introduction diff --git a/docs/plugin-basic.md b/docs/plugin-basic.md index dfcd35e..55ec225 100644 --- a/docs/plugin-basic.md +++ b/docs/plugin-basic.md @@ -11,12 +11,12 @@ INGROUP: MokoWaaS REPO: https://github.com/mokoconsulting-tech/mokowaas PATH: /docs/plugin-basic.md - VERSION: 02.26.00 + VERSION: 02.26.03 BRIEF: Baseline documentation for the MokoWaaS system plugin NOTE: Foundational reference for internal and external stakeholders --> -# MokoWaaS Plugin Overview (VERSION: 02.26.00) +# MokoWaaS Plugin Overview (VERSION: 02.26.03) ## Introduction diff --git a/docs/update-server.md b/docs/update-server.md index 7f2ed39..715d0b1 100644 --- a/docs/update-server.md +++ b/docs/update-server.md @@ -10,7 +10,7 @@ DEFGROUP: MokoWaaS.Documentation INGROUP: MokoStandards.Templates REPO: https://github.com/mokoconsulting-tech/MokoWaaS PATH: /docs/update-server.md -VERSION: 02.26.00 +VERSION: 02.26.03 BRIEF: How this extension's Joomla update server file (update.xml) is managed --> diff --git a/src/packages/com_mokowaas/mokowaas.xml b/src/packages/com_mokowaas/mokowaas.xml index 39e94b4..876eab2 100644 --- a/src/packages/com_mokowaas/mokowaas.xml +++ b/src/packages/com_mokowaas/mokowaas.xml @@ -7,7 +7,7 @@ GPL-3.0-or-later hello@mokoconsulting.tech https://mokoconsulting.tech - 02.26.00 + 02.26.03-dev Minimal API-only component for MokoWaaS. Provides REST endpoints for site health, cache, updates, and backups. Moko\Component\MokoWaaS\Api diff --git a/src/packages/plg_system_mokowaas/Extension/MokoWaaS.php b/src/packages/plg_system_mokowaas/Extension/MokoWaaS.php index ca96897..e54f9c4 100644 --- a/src/packages/plg_system_mokowaas/Extension/MokoWaaS.php +++ b/src/packages/plg_system_mokowaas/Extension/MokoWaaS.php @@ -22,7 +22,7 @@ * DEFGROUP: Joomla.Plugin * INGROUP: MokoWaaS * REPO: https://github.com/mokoconsulting-tech/mokowaas - * VERSION: 02.26.00 + * VERSION: 02.26.03 * PATH: /src/Extension/MokoWaaS.php * NOTE: Handles Joomla system events for rebranding functionality */ diff --git a/src/packages/plg_system_mokowaas/Field/AllowedIpsField.php b/src/packages/plg_system_mokowaas/Field/AllowedIpsField.php index 3014dbc..807eea2 100644 --- a/src/packages/plg_system_mokowaas/Field/AllowedIpsField.php +++ b/src/packages/plg_system_mokowaas/Field/AllowedIpsField.php @@ -7,7 +7,7 @@ * FILE INFORMATION * DEFGROUP: Joomla.Plugin * INGROUP: MokoWaaS - * VERSION: 02.26.00 + * VERSION: 02.26.03 * PATH: /src/Field/AllowedIpsField.php * BRIEF: Custom form field that displays the current IP whitelist */ diff --git a/src/packages/plg_system_mokowaas/Field/CopyableTokenField.php b/src/packages/plg_system_mokowaas/Field/CopyableTokenField.php index 8534b25..5ac8522 100644 --- a/src/packages/plg_system_mokowaas/Field/CopyableTokenField.php +++ b/src/packages/plg_system_mokowaas/Field/CopyableTokenField.php @@ -8,7 +8,7 @@ * FILE INFORMATION * DEFGROUP: Joomla.Plugin * INGROUP: MokoWaaS - * VERSION: 02.26.00 + * VERSION: 02.26.03 * PATH: /src/Field/CopyableTokenField.php * BRIEF: Read-only token field with a copy-to-clipboard button */ diff --git a/src/packages/plg_system_mokowaas/Field/CurrentIpField.php b/src/packages/plg_system_mokowaas/Field/CurrentIpField.php index 601ce12..e936f55 100644 --- a/src/packages/plg_system_mokowaas/Field/CurrentIpField.php +++ b/src/packages/plg_system_mokowaas/Field/CurrentIpField.php @@ -7,7 +7,7 @@ * FILE INFORMATION * DEFGROUP: Joomla.Plugin * INGROUP: MokoWaaS - * VERSION: 02.26.00 + * VERSION: 02.26.03 * PATH: /src/Field/CurrentIpField.php * BRIEF: Read-only field that displays the current user's IP address */ diff --git a/src/packages/plg_system_mokowaas/Field/NextResetField.php b/src/packages/plg_system_mokowaas/Field/NextResetField.php new file mode 100644 index 0000000..964ce5d --- /dev/null +++ b/src/packages/plg_system_mokowaas/Field/NextResetField.php @@ -0,0 +1,93 @@ +value)) + { + return '
No reset scheduled — save the plugin config to calculate.
'; + } + + $utcTimestamp = strtotime($this->value); + + if ($utcTimestamp === false || $utcTimestamp <= 0) + { + return '
Invalid timestamp stored.
'; + } + + // Convert to site timezone + $siteTimezone = Factory::getApplication()->get('offset', 'UTC'); + + try + { + $dt = new \DateTime('@' . $utcTimestamp); + $dt->setTimezone(new \DateTimeZone($siteTimezone)); + $formatted = $dt->format('l, F j, Y \a\t g:i A T'); + } + catch (\Throwable $e) + { + $formatted = gmdate('Y-m-d H:i:s', $utcTimestamp) . ' UTC'; + } + + // Calculate relative time + $diff = $utcTimestamp - time(); + $relative = ''; + + if ($diff <= 0) + { + $relative = 'overdue — save to recalculate'; + } + elseif ($diff < 3600) + { + $mins = (int) ceil($diff / 60); + $relative = 'in ' . $mins . ' minute' . ($mins !== 1 ? 's' : '') . ''; + } + elseif ($diff < 86400) + { + $hours = round($diff / 3600, 1); + $relative = 'in ' . $hours . ' hour' . ($hours != 1 ? 's' : '') . ''; + } + else + { + $days = round($diff / 86400, 1); + $relative = 'in ' . $days . ' day' . ($days != 1 ? 's' : '') . ''; + } + + return '
' + . '' + . ' ' + . htmlspecialchars($formatted) . ' ' + . $relative + . '' + . '
'; + } +} diff --git a/src/packages/plg_system_mokowaas/Field/SnapshotTablesField.php b/src/packages/plg_system_mokowaas/Field/SnapshotTablesField.php index 11e7f8c..9fbdc40 100644 --- a/src/packages/plg_system_mokowaas/Field/SnapshotTablesField.php +++ b/src/packages/plg_system_mokowaas/Field/SnapshotTablesField.php @@ -8,9 +8,9 @@ * FILE INFORMATION * DEFGROUP: Joomla.Plugin * INGROUP: MokoWaaS - * VERSION: 02.26.00 + * VERSION: 02.26.03 * PATH: /src/Field/SnapshotTablesField.php - * BRIEF: Multi-select field that loads DB tables with sensible defaults pre-checked + * BRIEF: Multi-select list field that loads DB tables with sensible defaults */ namespace Moko\Plugin\System\MokoWaaS\Field; @@ -18,16 +18,15 @@ namespace Moko\Plugin\System\MokoWaaS\Field; defined('_JEXEC') or die; use Joomla\CMS\Factory; -use Joomla\CMS\Form\Field\CheckboxesField; +use Joomla\CMS\Form\FormField; /** - * Renders a checkbox list of all Joomla database tables, with content-related - * tables pre-selected by default. Tables are grouped by category (content, - * users, menus, modules, other). + * Renders a multi-select list box of all Joomla database tables, with + * content-related tables pre-selected by default. * - * @since 02.25.00 + * @since 02.26.00 */ -class SnapshotTablesField extends CheckboxesField +class SnapshotTablesField extends FormField { protected $type = 'SnapshotTables'; @@ -56,102 +55,116 @@ class SnapshotTablesField extends CheckboxesField ]; /** - * Group labels for table categorisation. + * Table suffixes grouped by category. * * @var array * @since 02.25.00 */ private const TABLE_GROUPS = [ - 'content' => ['content', 'categories', 'fields', 'tags', 'contentitem_tag_map', 'ucm_content', 'ucm_history'], - 'users' => ['users', 'user_usergroup_map', 'user_profiles', 'usergroups', 'user_keys', 'user_mfa'], - 'menus' => ['menu', 'menu_types'], - 'modules' => ['modules', 'modules_menu'], - 'assets' => ['assets'], + 'Content' => ['content', 'categories', 'fields', 'fields_values', 'fields_groups', 'tags', 'contentitem_tag_map', 'ucm_content', 'ucm_history'], + 'Users' => ['users', 'user_usergroup_map', 'user_profiles', 'usergroups', 'user_keys', 'user_mfa'], + 'Menus' => ['menu', 'menu_types'], + 'Modules' => ['modules', 'modules_menu'], + 'Assets' => ['assets'], ]; - protected function getOptions() + protected function getInput() { $db = Factory::getDbo(); $prefix = $db->getPrefix(); $tables = $db->getTableList(); - $options = []; + // Resolve selected values + $selected = $this->value; + + if ($selected === null || $selected === '') + { + $selected = self::DEFAULT_TABLES; + } + elseif (is_string($selected)) + { + $selected = array_filter(array_map('trim', explode("\n", $selected))); + } + + $selected = (array) $selected; + + // Group tables + $grouped = []; foreach ($tables as $table) { - // Only show tables with the site's prefix if (strpos($table, $prefix) !== 0) { continue; } - // Convert real table name to #__ notation - $logical = '#__' . substr($table, strlen($prefix)); - - // Determine group for display ordering - $group = 'Other'; + $suffix = substr($table, strlen($prefix)); + $logical = '#__' . $suffix; + $group = 'Other'; foreach (self::TABLE_GROUPS as $groupName => $patterns) { - $suffix = substr($table, strlen($prefix)); - - foreach ($patterns as $pattern) + if (in_array($suffix, $patterns, true)) { - if ($suffix === $pattern) - { - $group = ucfirst($groupName); - break 2; - } + $group = $groupName; + break; } } - $obj = (object) [ - 'value' => $logical, - 'text' => $logical, - 'disable' => false, - 'class' => '', - 'onclick' => '', - ]; - - $options[$group][] = $obj; + $grouped[$group][] = $logical; } - // Flatten with group headers: content tables first, then alphabetical + // Build HTML select with optgroups + $size = (int) ($this->element['size'] ?? 15); + $html = ''; - protected function getInput() - { - // If no value stored yet, use defaults - if ($this->value === null || $this->value === '') - { - $this->value = self::DEFAULT_TABLES; - } - elseif (is_string($this->value)) - { - // Handle legacy textarea format (newline-separated) - $this->value = array_filter(array_map('trim', explode("\n", $this->value))); - } + // "Reset to defaults" link + $defaultsJson = htmlspecialchars(json_encode(self::DEFAULT_TABLES), ENT_QUOTES, 'UTF-8'); + $html .= '
' + . ' Reset to defaults' + . '
'; - return parent::getInput(); + return $html; } } diff --git a/src/packages/plg_system_mokowaas/Service/ContentSyncReceiver.php b/src/packages/plg_system_mokowaas/Service/ContentSyncReceiver.php index b2a9e72..b7d125b 100644 --- a/src/packages/plg_system_mokowaas/Service/ContentSyncReceiver.php +++ b/src/packages/plg_system_mokowaas/Service/ContentSyncReceiver.php @@ -10,7 +10,7 @@ * INGROUP: MokoWaaS * REPO: https://git.mokoconsulting.tech/MokoConsulting/MokoWaaS * PATH: /src/packages/plg_system_mokowaas/Service/ContentSyncReceiver.php - * VERSION: 02.26.00 + * VERSION: 02.26.03 * BRIEF: Receiver-side content sync — applies incoming payload to local DB */ diff --git a/src/packages/plg_system_mokowaas/Service/ContentSyncService.php b/src/packages/plg_system_mokowaas/Service/ContentSyncService.php index b75d5c3..173a791 100644 --- a/src/packages/plg_system_mokowaas/Service/ContentSyncService.php +++ b/src/packages/plg_system_mokowaas/Service/ContentSyncService.php @@ -10,7 +10,7 @@ * INGROUP: MokoWaaS * REPO: https://git.mokoconsulting.tech/MokoConsulting/MokoWaaS * PATH: /src/packages/plg_system_mokowaas/Service/ContentSyncService.php - * VERSION: 02.26.00 + * VERSION: 02.26.03 * BRIEF: Sender-side content sync — builds payload and pushes to remote sites */ diff --git a/src/packages/plg_system_mokowaas/Service/DemoResetService.php b/src/packages/plg_system_mokowaas/Service/DemoResetService.php index e2369bd..34dd1af 100644 --- a/src/packages/plg_system_mokowaas/Service/DemoResetService.php +++ b/src/packages/plg_system_mokowaas/Service/DemoResetService.php @@ -10,7 +10,7 @@ * INGROUP: MokoWaaS * REPO: https://git.mokoconsulting.tech/MokoConsulting/MokoWaaS * PATH: /src/packages/plg_system_mokowaas/Service/DemoResetService.php - * VERSION: 02.26.00 + * VERSION: 02.26.03 * BRIEF: Core snapshot/restore service for demo site reset */ diff --git a/src/packages/plg_system_mokowaas/mokowaas.xml b/src/packages/plg_system_mokowaas/mokowaas.xml index 48f6c0f..9cb366f 100644 --- a/src/packages/plg_system_mokowaas/mokowaas.xml +++ b/src/packages/plg_system_mokowaas/mokowaas.xml @@ -30,7 +30,7 @@ GNU General Public License version 3 or later; see LICENSE.md hello@mokoconsulting.tech https://mokoconsulting.tech - 02.26.00 + 02.26.03-dev This plugin rebrands the Joomla system interface with MokoWaaS identity. It applies language overrides and ensures consistent branding across the platform. Moko\Plugin\System\MokoWaaS script.php @@ -314,13 +314,15 @@ description="PLG_SYSTEM_MOKOWAAS_DEMO_CRON_DESC" default="" hint="min hour day month weekday (e.g. 0 */6 * * *)" showon="demo_reset_schedule:custom" /> - + /> GNU General Public License version 3 or later; see LICENSE hello@mokoconsulting.tech https://mokoconsulting.tech - 02.26.00 + 02.26.03-dev PLG_TASK_MOKOWAASDEMO_DESC Moko\Plugin\Task\MokoWaaSDemo diff --git a/src/packages/plg_webservices_mokowaas/mokowaas.xml b/src/packages/plg_webservices_mokowaas/mokowaas.xml index a568219..1b32c26 100644 --- a/src/packages/plg_webservices_mokowaas/mokowaas.xml +++ b/src/packages/plg_webservices_mokowaas/mokowaas.xml @@ -7,7 +7,7 @@ GPL-3.0-or-later hello@mokoconsulting.tech https://mokoconsulting.tech - 02.26.00 + 02.26.03-dev Joomla Web Services API routes for MokoWaaS site management — health checks, cache, updates, backups, and site info. Moko\Plugin\WebServices\MokoWaaS diff --git a/src/packages/plg_webservices_perfectpublisher/perfectpublisher.xml b/src/packages/plg_webservices_perfectpublisher/perfectpublisher.xml index 90d6d5d..b69d43a 100644 --- a/src/packages/plg_webservices_perfectpublisher/perfectpublisher.xml +++ b/src/packages/plg_webservices_perfectpublisher/perfectpublisher.xml @@ -7,7 +7,7 @@ GPL-3.0-or-later hello@mokoconsulting.tech https://mokoconsulting.tech - 02.26.00 + 02.26.03-dev Joomla Web Services API routes for Perfect Publisher (com_autotweet) — channels, posts, requests, rules, and feeds. Moko\Plugin\WebServices\PerfectPublisher diff --git a/src/packages/plg_webservices_perfectpublisher/services/provider.php b/src/packages/plg_webservices_perfectpublisher/services/provider.php index e3a228f..341a1d5 100644 --- a/src/packages/plg_webservices_perfectpublisher/services/provider.php +++ b/src/packages/plg_webservices_perfectpublisher/services/provider.php @@ -8,7 +8,7 @@ * INGROUP: MokoWaaS * REPO: https://git.mokoconsulting.tech/MokoConsulting/MokoWaaS * PATH: /src/packages/plg_webservices_perfectpublisher/services/provider.php - * VERSION: 02.26.00 + * VERSION: 02.26.03 * BRIEF: DI service provider for Perfect Publisher Web Services plugin */ diff --git a/src/packages/plg_webservices_perfectpublisher/src/Extension/PerfectPublisherApi.php b/src/packages/plg_webservices_perfectpublisher/src/Extension/PerfectPublisherApi.php index 5507422..d982845 100644 --- a/src/packages/plg_webservices_perfectpublisher/src/Extension/PerfectPublisherApi.php +++ b/src/packages/plg_webservices_perfectpublisher/src/Extension/PerfectPublisherApi.php @@ -8,7 +8,7 @@ * INGROUP: MokoWaaS * REPO: https://git.mokoconsulting.tech/MokoConsulting/MokoWaaS * PATH: /src/packages/plg_webservices_perfectpublisher/src/Extension/PerfectPublisherApi.php - * VERSION: 02.26.00 + * VERSION: 02.26.03 * BRIEF: Web Services API plugin for Perfect Publisher (com_autotweet) */ diff --git a/src/pkg_mokowaas.xml b/src/pkg_mokowaas.xml index ea04e4c..998e472 100644 --- a/src/pkg_mokowaas.xml +++ b/src/pkg_mokowaas.xml @@ -2,7 +2,7 @@ Package - MokoWaaS mokowaas - 02.26.00 + 02.26.03-dev 2026-05-23 Moko Consulting hello@mokoconsulting.tech diff --git a/updates.xml b/updates.xml index a4ef0c3..ba7ac37 100644 --- a/updates.xml +++ b/updates.xml @@ -1,7 +1,7 @@ @@ -13,16 +13,16 @@ site 02.26.03-dev 2026-05-31 - https://git.mokoconsulting.tech/MokoConsulting/MokoWaaS/releases/tag/development + https://git.mokoconsulting.tech/MokoConsulting/MokoWaaS/releases/tag/development - https://git.mokoconsulting.tech/MokoConsulting/MokoWaaS/releases/download/development/pkg_mokowaas-02.26.03-dev.zip + https://git.mokoconsulting.tech/MokoConsulting/MokoWaaS/releases/download/development/pkg_mokowaas-02.26.03-dev.zip 095d714b1b761dca1b85460392bdb4bcebb021de991f5ffe436f97f3c78a2aa4 dev https://git.mokoconsulting.tech/MokoConsulting/MokoWaaS/raw/branch/main/CHANGELOG.md Moko Consulting https://mokoconsulting.tech - + Package - MokoWaaS @@ -68,18 +68,18 @@ pkg_mokowaas package site - 02.26.00-rc - 2026-05-30 - https://git.mokoconsulting.tech/MokoConsulting/MokoWaaS/releases/tag/release-candidate + 02.27.00-rc + 2026-05-31 + https://git.mokoconsulting.tech/MokoConsulting/MokoWaaS/releases/tag/release-candidate - https://git.mokoconsulting.tech/MokoConsulting/MokoWaaS/releases/download/release-candidate/pkg_mokowaas-02.26.00-rc.zip + https://git.mokoconsulting.tech/MokoConsulting/MokoWaaS/releases/download/release-candidate/pkg_mokowaas-02.27.00-rc.zip - e5b47e71c97e67cb70f14c9c6c559ce1fbc841a60c7d0c75ee00ec150f3d88b7 + 6c3013509a329572fe51fa75104c7c7cb82aa128de22a2c80b714ada18d4ebe2 rc https://git.mokoconsulting.tech/MokoConsulting/MokoWaaS/raw/branch/main/CHANGELOG.md Moko Consulting https://mokoconsulting.tech - + Package - MokoWaaS