v2.3.0
·
185 commits
to main
since this release
Immutable
release. Only release title and notes can be modified.
Added
-
AI content-authoring agents (#170, #171, #172, #173, #174, #175) — Five new agents built on the
artisanpack-ui/aiv1.0 foundation:PostTitleSuggestionAgent(cms.post_title) — generate 3–5 title variants from a draft body.ExcerptGenerationAgent(cms.excerpt) — generate a natural excerpt (default ≤200 chars) from full post content.TagSuggestionAgent(cms.suggest_tags) — pick tags from an existing taxonomy, optionally propose new ones.CategorySuggestionAgent(cms.suggest_category) — pick one category (slash-delimited path) from a hierarchical tree.SlugSuggestionAgent(cms.suggest_slug) — produce an SEO-friendly kebab-case slug from a title, delegating ASCII folding toStr::slug().
Every agent honors the
artisanpack.ai.features.<key>.enabledtoggle and is auto-discovered viaCMSFrameworkServiceProvider::aiFeatures(). -
AI trigger surfaces — two consumer surfaces expose the same five agents:
- Livewire component
ap-cms-ai-tools(ArtisanPackUI\CMSFramework\Livewire\Ai\AiTools) — dispatchap-cms-ai:{action}browser events, receive results onap-cms-ai:{featureKey}:{status}. - REST controller mounted at
/api/v1/cms/ai/*(ArtisanPackUI\CMSFramework\Http\Controllers\Ai\AiController) — framework-agnostic path for React, Vue, or any HTTP client. Endpoints are guarded byauth:sanctumso bearer-token SPAs can authenticate. Adding a new CMS AI feature never requires touching the@artisanpack-ui/reactor@artisanpack-ui/vuepackages.
- Livewire component
-
AI_FEATURE_KEYSconstant onCMSFrameworkServiceProvider— canonical list of the fivecms.*feature keys, consumed by both trigger surfaces.
Changed
- Minimum PHP raised to 8.3 (#175) — the
artisanpack-ui/aifoundation this release depends on requires PHP 8.3+, and running a Composer resolution across the two constraints is not possible on PHP 8.2. Hosts still on PHP 8.2 should stay on the 2.2.x line until they can upgrade the runtime. No API changes; the codebase itself does not yet require 8.3-only syntax. - Dependencies —
artisanpack-ui/ai ^1.0added assuggest+require-dev. Without it the AI Livewire component and REST routes stay unregistered and the framework boots normally.