diff --git a/CHANGELOG.md b/CHANGELOG.md index 8e3d787..aeaee7e 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -4,6 +4,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/). +## [0.20.2] - 2026-09-25 + +### Changed +- Product custom fields (`Product::$custom_fields`) moved off the main product edit form onto + their own "Custom Fields" sub-page (`Modules\Core\Catalog\Filament\Pages\ + ManageProductCustomFields`), alongside "Reviews" — the same admin pattern, registered from the + same `Review\Filament\Extensions\ProductResourceExtension` (CorePlugin only allows one + extension class per Lunar resource, and Review's already owns this one). +- Each custom field's `label` and new `help_text` are now translatable per storefront language + (`{locale: string}`, e.g. `{en: "...", el: "..."}`) instead of a single plain string — entered + as a plain `TextInput` per configured language rather than Lunar's `TranslatedText` form + component, which turned out to only resolve its state path correctly as a top-level form + field, not nested inside a `Repeater` item (every value silently failed to save under that + combination). `help_text` is optional and, unlike `label`, shown only on the product page, not + the cart or checkout. +- `Modules\Core\Catalog\Support\ProductDocumentLocalizer::withLocalizedFields()` now also + resolves each `custom_fields` item's `label`/`help_text` to a single string for the current + locale (falling back to the store's default language), the same `filled()`-over-`??` way as + every other translated field — the storefront and cart still only ever see one resolved + string per field, unaware the admin-side value became translatable. A product's custom fields + saved before this change (plain string `label`, no `help_text`) still resolve correctly. + ## [0.20.1] - 2026-09-24 ### Fixed diff --git a/composer.json b/composer.json index fa19d81..5dabfe1 100644 --- a/composer.json +++ b/composer.json @@ -2,7 +2,7 @@ "name": "boboko/core", "description": "Core module — authentication and shared panel behaviour", "type": "library", - "version": "0.20.1", + "version": "0.20.2", "autoload": { "psr-4": { "Modules\\Core\\": "src/"