docs: update CHANGELOG and README for this development cycle
Universal: PR Check / Branch Policy (pull_request) Successful in 1s
Generic: Project CI / Lint & Validate (pull_request) Successful in 11s
Universal: PR Check / Validate PR (pull_request) Failing after 13s
Universal: PR Check / Secret Scan (pull_request) Successful in 20s
RC Revert / Rename rc/ back to dev/ (pull_request) Has been skipped
Branch Cleanup / Delete merged branch (pull_request) Successful in 3s
Joomla: Metadata Validation / Validate Joomla Metadata (pull_request) Failing after 1m1s
Generic: Project CI / Tests (pull_request) Has been cancelled
Universal: PR Check / Build RC Package (pull_request) Has been cancelled
Universal: PR Check / Report Issues (pull_request) Has been cancelled
Universal: PR Check / Branch Policy (pull_request) Successful in 1s
Generic: Project CI / Lint & Validate (pull_request) Successful in 11s
Universal: PR Check / Validate PR (pull_request) Failing after 13s
Universal: PR Check / Secret Scan (pull_request) Successful in 20s
RC Revert / Rename rc/ back to dev/ (pull_request) Has been skipped
Branch Cleanup / Delete merged branch (pull_request) Successful in 3s
Joomla: Metadata Validation / Validate Joomla Metadata (pull_request) Failing after 1m1s
Generic: Project CI / Tests (pull_request) Has been cancelled
Universal: PR Check / Build RC Package (pull_request) Has been cancelled
Universal: PR Check / Report Issues (pull_request) Has been cancelled
- CHANGELOG: fix the mangled header (duplicate empty [01.05.00], misplaced intro) and add a full [Unreleased] section covering the dashboard, edit UI, CSV import UI, access.xml/config.xml, AI/sitemap hardening, forward-compat, dead-code removal, and the new unit tests - README: add Coverage dashboard / Manual tag editor / Component permissions to Admin Tools; drop the removed ImageGenerator overlay feature; note sitemap access-level filtering; add a Joomla 6.0+ / PHP 8.2+ Requirements line
This commit is contained in:
+33
-7
@@ -1,16 +1,42 @@
|
||||
# Changelog
|
||||
|
||||
## [Unreleased]
|
||||
|
||||
## [01.05.00] --- 2026-06-28
|
||||
|
||||
|
||||
<!-- VERSION: 01.06.10 -->
|
||||
|
||||
All notable changes to MokoSuiteOpenGraph will be documented in this file.
|
||||
|
||||
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.1.0/).
|
||||
|
||||
<!-- VERSION: 01.06.10 -->
|
||||
|
||||
## [Unreleased]
|
||||
|
||||
### Added
|
||||
- OG coverage **dashboard** as the default admin view — SVG donut gauge, coverage by content type, and a list of articles missing OG tags with a batch-generate shortcut (#94)
|
||||
- Single OG tag **create/edit screen** in the admin (the tag manager was previously read-only) (#98)
|
||||
- **CSV import** button and upload form in the tag manager (#103)
|
||||
- Component **Options** screen with a Permissions tab, plus `access.xml` ACL actions `mokoog.batch` and `mokoog.import` (#95)
|
||||
- `og_video`, `event_data`, `recipe_data`, and `custom_schema` are now included in CSV import/export and the REST API (#101)
|
||||
- Unit tests for `JsonLdBuilder::buildLocalBusiness()` and `toScriptTag()` (#33)
|
||||
|
||||
### Changed
|
||||
- **Require Joomla 6.0+ and PHP 8.2+** (enforced at install)
|
||||
- Renamed the product from *MokoJoomOpenGraph* to **MokoSuiteOpenGraph**
|
||||
- Forward-compatibility for Joomla 7: replaced deprecated `Factory::getDbo/getUser/getSession/getLanguage`, `Joomla\CMS\Filesystem\File/Folder`, and `jexit()` (#102)
|
||||
- Aligned OG/SEO form `maxlength` values with the database column limits (#77)
|
||||
- Moved coverage metrics out of the tag list into a dedicated model (no longer runs uncached `COUNT` queries on every list load)
|
||||
|
||||
### Fixed
|
||||
- Fatal frontend error (HTTP 500) when a non-object value was saved into the custom JSON-LD field — values are now validated as objects/arrays on save and guarded on render (#97)
|
||||
- Stored XSS via the canonical URL field — now restricted to `http`/`https` (#79)
|
||||
- Use the `mysqli` driver in the component manifest so install/upgrade SQL actually runs on Joomla 4/5/6
|
||||
- `loadArticle()` now caches negative lookups; zero dates are no longer emitted as `article:published_time`/`article:modified_time` (#106)
|
||||
|
||||
### Security
|
||||
- AI meta-generation endpoint now requires article-edit permission and enforces an HTTP timeout and status check — previously any authenticated back-end user could trigger paid API calls (#99)
|
||||
- XML sitemap now excludes content above the public view level (no longer leaks registered/special-access articles) and writes atomically (#100)
|
||||
|
||||
### Removed
|
||||
- Unused `ImageGenerator` class and `JsonLdBuilder::buildOrganization()`; generated OG images are now pruned after 30 days to bound disk usage (#104)
|
||||
- Empty `src/Field` and `src/Service` stub directories; packaged the `en-US` language folder (#107)
|
||||
|
||||
## [01.05.00] --- 2026-06-28
|
||||
|
||||
### Security
|
||||
|
||||
@@ -45,21 +45,24 @@ MokoSuiteOpenGraph gives you full control over how your Joomla content appears w
|
||||
- **Debug links** — Quick links to Facebook Debugger, LinkedIn Inspector, Google Rich Results
|
||||
- **Live preview** — Real-time Facebook, Twitter/X, LinkedIn, Discord, Mastodon, and Slack card previews in the editor
|
||||
- **Character count indicators** — Green/yellow/red warnings on OG and SEO text fields
|
||||
- **OG coverage dashboard** — Coverage percentage and missing field counts
|
||||
- **AI meta generation** — Generate OG titles and descriptions with Claude or OpenAI
|
||||
- **Coverage dashboard** — Default admin view: coverage donut, breakdown by content type, and a list of articles missing OG tags with quick batch-generate
|
||||
- **Manual tag editor** — Create and edit individual OG tag records directly in the admin
|
||||
- **Component permissions** — ACL actions (`mokoog.batch`, `mokoog.import`) configurable from the component Options → Permissions
|
||||
- **AI meta generation** — Generate OG titles and descriptions with Claude or OpenAI (article-edit permission required)
|
||||
|
||||
### Developer Features
|
||||
- **REST API** — Full CRUD via Joomla Web Services (`/api/v1/mokoog/tags`)
|
||||
- **MokoSuiteShop integration** — Auto-generated OG/JSON-LD for product pages with pricing meta
|
||||
- **Plugin event** — `onMokoOGAfterRender` for third-party plugins to add custom social tags
|
||||
- **OG image generator** — Text overlay on template backgrounds with auto-resize to 1200x630
|
||||
- **Per-platform image resizing** — Twitter 1200x600, Pinterest 1000x1500, WhatsApp 400x400
|
||||
- **XML sitemap** — Auto-generates sitemap.xml on article save, respects noindex
|
||||
- **Per-platform image resizing** — Twitter 1200x600, Pinterest 1000x1500, WhatsApp 400x400, with auto-resize to 1200x630
|
||||
- **XML sitemap** — Auto-generates sitemap.xml on article save; respects noindex and public access levels, written atomically
|
||||
- **OpenAPI spec** — Full REST API documentation at `openapi.yaml`
|
||||
- **PHPUnit tests** — 16 unit tests for JsonLdBuilder schema outputs
|
||||
- **PHPUnit tests** — Unit tests for JsonLdBuilder schema outputs and JSON-LD script-tag escaping
|
||||
|
||||
## Installation
|
||||
|
||||
**Requirements:** Joomla 6.0 or higher and PHP 8.2 or higher.
|
||||
|
||||
1. Download the latest `pkg_mokoog-*.zip` from [Releases](https://git.mokoconsulting.tech/MokoConsulting/MokoSuiteOpenGraph/releases)
|
||||
2. In Joomla Administrator → Extensions → Install → Upload Package File
|
||||
3. All plugins are enabled automatically on install
|
||||
|
||||
Reference in New Issue
Block a user