@@ -7,44 +7,122 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
77
88## [ Unreleased]
99
10+ Nothing yet.
11+
12+ ## [ 1.1.0] - 2026-01-12
13+
1014### Added
1115
1216- New "Color Source" field setting to choose between three sources in theme.json:
1317 - ` settings.color.palette ` (default): Standard WordPress color palette
14- - ` custom.color ` : Custom color definitions with slug as key and hex value
18+ - ` custom.color ` : Custom color definitions with slug as key and hex value (must be at root level)
1519 - ` both ` : Combines both settings and custom colors (custom takes priority on conflicts)
1620- Automatic name generation from slugs for custom colors
1721 - Example: ` environnement-400 ` → "Environnement 400"
1822 - Example: ` services-publics-900 ` → "Services Publics 900"
23+ - Dynamic reloading of Include/Exclude color options via AJAX when source changes
24+ - AJAX endpoint ` acf_palette_get_colors ` for fetching colors based on selected source
1925
2026### Changed
2127
28+ - Simplified Return Format options: removed "Label" option
29+ - ** Slug** : Returns only the color slug (e.g., ` "primary-orange" ` )
30+ - ** Hex Color** : Returns only the hex value (e.g., ` "#FF6745" ` )
31+ - ** Both (Array)** : Returns array with ` name ` , ` slug ` , and ` color `
32+ - Updated Array format structure for consistency:
33+ - Before: ` ['value' => '...', 'label' => '...', 'color' => '...'] `
34+ - After: ` ['name' => '...', 'slug' => '...', 'color' => '...'] `
35+ - Split color retrieval logic into separate methods (` get_settings_colors() ` , ` get_custom_colors() ` , ` get_both_colors() ` )
36+ - Changed color source field layout from horizontal to vertical for better readability
2237- Updated ` get_theme_colors() ` method to accept a ` $source ` parameter
23- - Split color retrieval logic into separate methods for better maintainability
24- - Updated README with documentation for the new color sources
25- - Include/Exclude color fields are now automatically reloaded with correct colors when source changes (via AJAX)
26- - Simplified Return Format options: removed "Label" option, kept "Slug", "Hex Color", and "Both (Array)"
27- - Updated Array format to return ` name ` , ` slug ` , and ` color ` (instead of ` value ` , ` label ` , ` color ` ) for consistency
38+ - All field methods now support the ` color_source ` parameter
2839
2940### Fixed
3041
3142- Fixed AJAX handler to use proper capability checks and custom nonce validation
3243- Fixed custom colors retrieval to correctly read from root-level ` custom.color ` in theme.json
33- - Clarified documentation: ` custom ` section must be at root level of theme.json (same level as ` settings ` , ` styles ` )
44+ - Improved security with ` acf_palette_nonce ` instead of generic ` acf_nonce `
3445
3546### Technical
3647
37- - Added ` get_settings_colors() ` private method for settings.color.palette
38- - Added ` get_custom_colors() ` private method for custom.color
48+ - Added ` get_settings_colors() ` private method for ` settings.color.palette `
49+ - Added ` get_custom_colors() ` private method for ` custom.color `
3950- Added ` get_both_colors() ` private method for combining both sources
40- - Added ` format_slug_to_name() ` helper method for name generation
41- - Added ` ajax_get_colors() ` method to handle AJAX requests for dynamic color loading
42- - Added JavaScript AJAX handler to reload Include/Exclude color options on source change
51+ - Added ` format_slug_to_name() ` helper method for slug-to-name conversion
52+ - Added ` ajax_get_colors() ` method to handle AJAX requests
53+ - Added JavaScript AJAX handler in ` editor.js ` to reload color options dynamically
54+ - Added ` updateSelectOptions() ` JavaScript function to refresh Select2 dropdowns
4355- Added ` wp_localize_script() ` for passing AJAX URL and nonce to JavaScript
44- - All field methods now support the color_source parameter ('settings', 'custom', 'both')
45- - Changed color source field layout from horizontal to vertical for better readability
46- - Removed debug logs (console.log and error_log) from production code
56+ - Removed debug logs (` console.log ` and ` error_log ` ) from production code
57+
58+ ## [ 1.0.6] - 2025-11-28
59+
60+ ### Fixed
61+
62+ - Updated export-ignore list in ` .gitattributes ` for cleaner releases
63+
64+ ## [ 1.0.5] - 2025-11-28
65+
66+ ### Changed
67+
68+ - Updated PHP version requirement to 8.3
69+
70+ ### Fixed
71+
72+ - Fixed potential undefined array key warnings
73+
74+ ## [ 1.0.4] - 2025-11-27
75+
76+ ### Changed
4777
48- ## [ 1.0.0] - Previous release
78+ - Updated plugin metadata and autoloader configuration
79+
80+ ## [ 1.0.3] - 2025-11-27
81+
82+ ### Added
83+
84+ - Added autoload configuration
85+
86+ ## [ 1.0.2] - 2025-11-27
87+
88+ ### Fixed
89+
90+ - Updated package metadata in ` composer.json `
91+
92+ ## [ 1.0.1] - 2025-11-27
93+
94+ ### Added
95+
96+ - Automated release workflow setup
97+ - Added ` composer.lock ` file
98+
99+ ### Changed
100+
101+ - Removed Node.js build step from workflow
102+ - Removed obsolete workflow configurations
103+ - Set first radio option as selected by default
104+
105+ ## [ 1.0.0] - 2025-08-08
106+
107+ ### Added
49108
50- - Initial release with settings.color.palette support
109+ - Initial release of ACF Color Palette plugin
110+ - Custom ACF field type "Theme Color" for selecting colors from theme.json
111+ - Support for ` settings.color.palette ` colors from theme.json
112+ - Color preview with color circle and hex code
113+ - Select2 integration for searchable dropdown
114+ - Field settings:
115+ - Allow Null: Option to allow no color selection
116+ - Default Value: Set a default color
117+ - Color Filter Method: Choose between "Exclude" or "Include" colors
118+ - Exclude Colors: Exclude specific colors from selection
119+ - Include Colors: Only include specific colors
120+ - Return Format: Value (Slug), Hex Color, Label, or Array
121+ - Return format options:
122+ - Value: Returns color slug
123+ - Hex: Returns hex color code
124+ - Label: Returns color name
125+ - Array: Returns complete color data
126+ - Support for multiple theme.json file locations
127+ - Color filtering based on inclusion/exclusion rules
128+ - Automatic color selection (first color or "No color" if null allowed)
0 commit comments