From 7df2babf3ce572f338b24740d1d3bdb0f4617d75 Mon Sep 17 00:00:00 2001 From: code-snippets-bot <139164393+code-snippets-bot@users.noreply.github.com> Date: Thu, 11 Jun 2026 13:18:50 +0000 Subject: [PATCH 01/12] chore(release): update changelog for v4.0.0-beta --- CHANGELOG.md | 21 +++++++++++++++++++++ 1 file changed, 21 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index 235009b27..4bf21e736 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,5 +1,26 @@ # Changelog +## [4.0.0-beta] (2026-06-11) + +### Added +* Add WordPress 7.0 admin styling compatibility layer to ensure admin UI renders correctly under WP 7.0 +* Improve cloud search UX so fetching featured bundles no longer shows a persistent 'loading' state + +### Changed +* Refine community cloud search results and restore previously missing community results for cloud browse/search +* Consolidate row-action and snippets table styling for more consistent controls and spacing in the admin lists +* Keep cloud community 'Go Pro' / upsell button branding and alignment correct in WP 7.0 +* Render truncate-row-values on the snippets list table to improve long-value display and prevent layout overflow +* Increase spacing below the import drop zone icon for clearer UX when importing snippets +* Add unit tests for cloud search and response parsing and expand documentation for cloud endpoints (get_types) + +### Fixed +* Fix get_item() returning HTTP 500 for a not-found snippet (now returns proper 404/handled response) +* Restore community cloud search results after regression introduced in earlier changes +* Fix various WordPress 7.0 admin UI regressions (snippets table controls, menu button alignment, branding) +* Fix a breaking change introduced in #389 that caused runtime issues +* Stabilize flaky featured cache key test to reduce CI/test flakiness + ## [3.9.6] (2026-04-28) ### Fixed From dcdd48f9c68b3e7d8f0a5aebd42089ce8ffb35f5 Mon Sep 17 00:00:00 2001 From: code-snippets-bot <139164393+code-snippets-bot@users.noreply.github.com> Date: Thu, 11 Jun 2026 13:18:56 +0000 Subject: [PATCH 02/12] chore(release): update readme for v4.0.0-beta --- src/readme.txt | 24 ++++++++++++++++++++++++ 1 file changed, 24 insertions(+) diff --git a/src/readme.txt b/src/readme.txt index 10e475f1f..85daf2d29 100644 --- a/src/readme.txt +++ b/src/readme.txt @@ -106,6 +106,30 @@ You can report security bugs found in the source code of this plugin through the == Changelog == += 4.0.0-beta (2026-06-11) = + +__Added__ + +* Add WordPress 7.0 admin styling compatibility layer to ensure admin UI renders correctly under WP 7.0 +* Improve cloud search UX so fetching featured bundles no longer shows a persistent 'loading' state + +__Changed__ + +* Refine community cloud search results and restore previously missing community results for cloud browse/search +* Consolidate row-action and snippets table styling for more consistent controls and spacing in the admin lists +* Keep cloud community 'Go Pro' / upsell button branding and alignment correct in WP 7.0 +* Render truncate-row-values on the snippets list table to improve long-value display and prevent layout overflow +* Increase spacing below the import drop zone icon for clearer UX when importing snippets +* Add unit tests for cloud search and response parsing and expand documentation for cloud endpoints (get_types) + +__Fixed__ + +* Fix get_item() returning HTTP 500 for a not-found snippet (now returns proper 404/handled response) +* Restore community cloud search results after regression introduced in earlier changes +* Fix various WordPress 7.0 admin UI regressions (snippets table controls, menu button alignment, branding) +* Fix a breaking change introduced in #389 that caused runtime issues +* Stabilize flaky featured cache key test to reduce CI/test flakiness + = 3.9.6 (2026-04-28) = __Fixed__ From c7769072dc50488f3a8b950edefdf7da8b532891 Mon Sep 17 00:00:00 2001 From: code-snippets-bot <139164393+code-snippets-bot@users.noreply.github.com> Date: Thu, 11 Jun 2026 13:19:06 +0000 Subject: [PATCH 03/12] chore(release): bump version to v4.0.0-beta --- package-lock.json | 4 ++-- package.json | 2 +- src/code-snippets.php | 6 +++--- 3 files changed, 6 insertions(+), 6 deletions(-) diff --git a/package-lock.json b/package-lock.json index 214e138fc..be58c89a8 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,12 +1,12 @@ { "name": "code-snippets", - "version": "4.0.0-dev.1", + "version": "4.0.0-beta", "lockfileVersion": 3, "requires": true, "packages": { "": { "name": "code-snippets", - "version": "4.0.0-dev.1", + "version": "4.0.0-beta", "license": "GPL-2.0-or-later", "dependencies": { "@codemirror/fold": "^0.19.4", diff --git a/package.json b/package.json index 4dca5023d..1644fa96b 100644 --- a/package.json +++ b/package.json @@ -2,7 +2,7 @@ "name": "code-snippets", "description": "Manage code snippets running on a WordPress-powered site through a graphical interface.", "homepage": "https://codesnippets.pro", - "version": "4.0.0-dev.1", + "version": "4.0.0-beta", "main": "src/dist/edit.js", "directories": { "test": "tests" diff --git a/src/code-snippets.php b/src/code-snippets.php index c86439550..68ed4dac4 100644 --- a/src/code-snippets.php +++ b/src/code-snippets.php @@ -8,11 +8,11 @@ * License: GPL-2.0-or-later * License URI: license.txt * Text Domain: code-snippets - * Version: 4.0.0-dev.1 + * Version: 4.0.0-beta-beta * Requires PHP: 7.4 * Requires at least: 5.5 * - * @version 4.0.0-dev.1 + * @version 4.0.0-beta * @package Code_Snippets * @author Shea Bunge * @copyright 2012-2026 Code Snippets Pro @@ -37,7 +37,7 @@ * * @const string */ - define( 'CODE_SNIPPETS_VERSION', '4.0.0-dev.1' ); + define( 'CODE_SNIPPETS_VERSION', '4.0.0-beta' ); /** * The full path to the main file of this plugin. From ce3a96b09623cdcc8850e56fb90c1512683eb12d Mon Sep 17 00:00:00 2001 From: Code Snippets Bot <139164393+code-snippets-bot@users.noreply.github.com> Date: Thu, 11 Jun 2026 14:04:32 +0000 Subject: [PATCH 04/12] docs: refine 4.0.0 beta changelog --- CHANGELOG.md | 43 ++++++++++++++++++++++++++----------------- src/code-snippets.php | 2 +- src/readme.txt | 36 +++++++++++++++++++++++------------- 3 files changed, 50 insertions(+), 31 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 4bf21e736..1afc0f7ff 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -3,23 +3,32 @@ ## [4.0.0-beta] (2026-06-11) ### Added -* Add WordPress 7.0 admin styling compatibility layer to ensure admin UI renders correctly under WP 7.0 -* Improve cloud search UX so fetching featured bundles no longer shows a persistent 'loading' state - -### Changed -* Refine community cloud search results and restore previously missing community results for cloud browse/search -* Consolidate row-action and snippets table styling for more consistent controls and spacing in the admin lists -* Keep cloud community 'Go Pro' / upsell button branding and alignment correct in WP 7.0 -* Render truncate-row-values on the snippets list table to improve long-value display and prevent layout overflow -* Increase spacing below the import drop zone icon for clearer UX when importing snippets -* Add unit tests for cloud search and response parsing and expand documentation for cloud endpoints (get_types) - -### Fixed -* Fix get_item() returning HTTP 500 for a not-found snippet (now returns proper 404/handled response) -* Restore community cloud search results after regression introduced in earlier changes -* Fix various WordPress 7.0 admin UI regressions (snippets table controls, menu button alignment, branding) -* Fix a breaking change introduced in #389 that caused runtime issues -* Stabilize flaky featured cache key test to reduce CI/test flakiness +* New admin interface for managing snippets, with a cleaner layout, faster interactions, and a more consistent experience across plugin screens. +* Admin bar snippet drawer, based on the Deckerweb Snippets workflow, for quick access to snippets and Safe Mode from the WordPress admin bar. +* Snippet locking to help prevent accidental edits or deletion of important snippets. Props to https://github.com/mgiannopoulos24. +* Improved screen options on the main snippets table, including controls for visible columns and truncating long snippet names or descriptions. +* Bulk actions and bulk code download support in the redesigned snippets table. +* Featured snippets and improved browsing in Community Cloud. +* WordPress 7.0 admin styling compatibility. + +### Changed +* Redesigned the main snippets table with improved search, filtering, sorting, pagination, row actions, and bulk selection. +* Improved the snippet import and migration experience, including clearer file upload handling and third-party plugin migration flows. +* Improved snippet error handling so activation failures, validation errors, and stack traces are easier to understand. +* Improved Community Cloud search and filtering, including server-side filters, better result loading, and clearer empty states. +* Updated the welcome screen, toolbar, import screen, and cloud screens to match the new admin experience. +* Updated internal plugin architecture to a cleaner PSR-4 structure for better long-term maintainability. + +### Fixed +* Fixed REST API server error responses on missing snippets. +* Fixed redundant frontend logic, improving overall performance. +* Fixed Community Cloud search results and pagination to respect WordPress screen options. +* Fixed snippet saving and activation feedback to improve validation and runtime error display. + +### Accessibility +* Improved accessibility across the snippets table, import screen, migration flow, Community Cloud, welcome screen, toolbar, dialogs, tooltips, and code editor. +* Added clearer labels, headings, tab markup, table checkboxes, sort buttons, copy buttons, and drag-and-drop upload controls. +* Improved colour contrast and reduced-motion support across admin screens. ## [3.9.6] (2026-04-28) diff --git a/src/code-snippets.php b/src/code-snippets.php index 68ed4dac4..632f73544 100644 --- a/src/code-snippets.php +++ b/src/code-snippets.php @@ -8,7 +8,7 @@ * License: GPL-2.0-or-later * License URI: license.txt * Text Domain: code-snippets - * Version: 4.0.0-beta-beta + * Version: 4.0.0-beta * Requires PHP: 7.4 * Requires at least: 5.5 * diff --git a/src/readme.txt b/src/readme.txt index 85daf2d29..a259e133d 100644 --- a/src/readme.txt +++ b/src/readme.txt @@ -110,25 +110,35 @@ You can report security bugs found in the source code of this plugin through the __Added__ -* Add WordPress 7.0 admin styling compatibility layer to ensure admin UI renders correctly under WP 7.0 -* Improve cloud search UX so fetching featured bundles no longer shows a persistent 'loading' state +* New admin interface for managing snippets, with a cleaner layout, faster interactions, and a more consistent experience across plugin screens. +* Admin bar snippet drawer, based on the Deckerweb Snippets workflow, for quick access to snippets and Safe Mode from the WordPress admin bar. +* Snippet locking to help prevent accidental edits or deletion of important snippets. Props to https://github.com/mgiannopoulos24. +* Improved screen options on the main snippets table, including controls for visible columns and truncating long snippet names or descriptions. +* Bulk actions and bulk code download support in the redesigned snippets table. +* Featured snippets and improved browsing in Community Cloud. +* WordPress 7.0 admin styling compatibility. __Changed__ -* Refine community cloud search results and restore previously missing community results for cloud browse/search -* Consolidate row-action and snippets table styling for more consistent controls and spacing in the admin lists -* Keep cloud community 'Go Pro' / upsell button branding and alignment correct in WP 7.0 -* Render truncate-row-values on the snippets list table to improve long-value display and prevent layout overflow -* Increase spacing below the import drop zone icon for clearer UX when importing snippets -* Add unit tests for cloud search and response parsing and expand documentation for cloud endpoints (get_types) +* Redesigned the main snippets table with improved search, filtering, sorting, pagination, row actions, and bulk selection. +* Improved the snippet import and migration experience, including clearer file upload handling and third-party plugin migration flows. +* Improved snippet error handling so activation failures, validation errors, and stack traces are easier to understand. +* Improved Community Cloud search and filtering, including server-side filters, better result loading, and clearer empty states. +* Updated the welcome screen, toolbar, import screen, and cloud screens to match the new admin experience. +* Updated internal plugin architecture to a cleaner PSR-4 structure for better long-term maintainability. __Fixed__ -* Fix get_item() returning HTTP 500 for a not-found snippet (now returns proper 404/handled response) -* Restore community cloud search results after regression introduced in earlier changes -* Fix various WordPress 7.0 admin UI regressions (snippets table controls, menu button alignment, branding) -* Fix a breaking change introduced in #389 that caused runtime issues -* Stabilize flaky featured cache key test to reduce CI/test flakiness +* Fixed REST API server error responses on missing snippets. +* Fixed redundant frontend logic, improving overall performance. +* Fixed Community Cloud search results and pagination to respect WordPress screen options. +* Fixed snippet saving and activation feedback to improve validation and runtime error display. + +__Accessibility__ + +* Improved accessibility across the snippets table, import screen, migration flow, Community Cloud, welcome screen, toolbar, dialogs, tooltips, and code editor. +* Added clearer labels, headings, tab markup, table checkboxes, sort buttons, copy buttons, and drag-and-drop upload controls. +* Improved colour contrast and reduced-motion support across admin screens. = 3.9.6 (2026-04-28) = From d27552ed64777cda95628e62f69890c83bc2d5a4 Mon Sep 17 00:00:00 2001 From: Imants Date: Tue, 16 Jun 2026 13:30:59 +0300 Subject: [PATCH 05/12] chore: set release version to 4.0.0-beta.1 --- package-lock.json | 4 ++-- package.json | 2 +- src/code-snippets.php | 6 +++--- 3 files changed, 6 insertions(+), 6 deletions(-) diff --git a/package-lock.json b/package-lock.json index be58c89a8..96fc29878 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,12 +1,12 @@ { "name": "code-snippets", - "version": "4.0.0-beta", + "version": "4.0.0-beta.1", "lockfileVersion": 3, "requires": true, "packages": { "": { "name": "code-snippets", - "version": "4.0.0-beta", + "version": "4.0.0-beta.1", "license": "GPL-2.0-or-later", "dependencies": { "@codemirror/fold": "^0.19.4", diff --git a/package.json b/package.json index 1644fa96b..deecd29a7 100644 --- a/package.json +++ b/package.json @@ -2,7 +2,7 @@ "name": "code-snippets", "description": "Manage code snippets running on a WordPress-powered site through a graphical interface.", "homepage": "https://codesnippets.pro", - "version": "4.0.0-beta", + "version": "4.0.0-beta.1", "main": "src/dist/edit.js", "directories": { "test": "tests" diff --git a/src/code-snippets.php b/src/code-snippets.php index 632f73544..20752f9c7 100644 --- a/src/code-snippets.php +++ b/src/code-snippets.php @@ -8,11 +8,11 @@ * License: GPL-2.0-or-later * License URI: license.txt * Text Domain: code-snippets - * Version: 4.0.0-beta + * Version: 4.0.0-beta.1 * Requires PHP: 7.4 * Requires at least: 5.5 * - * @version 4.0.0-beta + * @version 4.0.0-beta.1 * @package Code_Snippets * @author Shea Bunge * @copyright 2012-2026 Code Snippets Pro @@ -37,7 +37,7 @@ * * @const string */ - define( 'CODE_SNIPPETS_VERSION', '4.0.0-beta' ); + define( 'CODE_SNIPPETS_VERSION', '4.0.0-beta.1' ); /** * The full path to the main file of this plugin. From f42a4f64733920500fa21a49a188bde03ad02028 Mon Sep 17 00:00:00 2001 From: Imants Date: Tue, 16 Jun 2026 13:32:46 +0300 Subject: [PATCH 06/12] docs: rename the 4.0.0 release entry and mark readme as upcoming --- CHANGELOG.md | 2 +- src/readme.txt | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 1afc0f7ff..8128099cf 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,6 +1,6 @@ # Changelog -## [4.0.0-beta] (2026-06-11) +## [4.0.0] (2026-06-11) ### Added * New admin interface for managing snippets, with a cleaner layout, faster interactions, and a more consistent experience across plugin screens. diff --git a/src/readme.txt b/src/readme.txt index a259e133d..203d05800 100644 --- a/src/readme.txt +++ b/src/readme.txt @@ -106,7 +106,7 @@ You can report security bugs found in the source code of this plugin through the == Changelog == -= 4.0.0-beta (2026-06-11) = += 4.0.0 (Upcoming) = __Added__ From 823a53d132e13faf4edb37b21cab9d664e1997ae Mon Sep 17 00:00:00 2001 From: Imants Date: Wed, 17 Jun 2026 21:11:51 +0300 Subject: [PATCH 07/12] docs: mark the 4.0.0 changelog entry as upcoming --- CHANGELOG.md | 2 +- src/readme.txt | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 8128099cf..c67eb7804 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,6 +1,6 @@ # Changelog -## [4.0.0] (2026-06-11) +## [4.0.0] (UPCOMING) ### Added * New admin interface for managing snippets, with a cleaner layout, faster interactions, and a more consistent experience across plugin screens. diff --git a/src/readme.txt b/src/readme.txt index 203d05800..14c75fd30 100644 --- a/src/readme.txt +++ b/src/readme.txt @@ -106,7 +106,7 @@ You can report security bugs found in the source code of this plugin through the == Changelog == -= 4.0.0 (Upcoming) = += 4.0.0 (UPCOMING) = __Added__ From 0f205bb8df73ef9dbf04e5acc07ab2396b0c4d31 Mon Sep 17 00:00:00 2001 From: Imants Date: Thu, 18 Jun 2026 00:28:43 +0300 Subject: [PATCH 08/12] fix: parse featured snippets from the response envelope --- src/php/Client/Cloud_API.php | 10 ++-------- tests/phpunit/test-cloud-api-featured.php | 1 - 2 files changed, 2 insertions(+), 9 deletions(-) diff --git a/src/php/Client/Cloud_API.php b/src/php/Client/Cloud_API.php index d3697158d..19c212898 100644 --- a/src/php/Client/Cloud_API.php +++ b/src/php/Client/Cloud_API.php @@ -509,15 +509,9 @@ public function get_featured_snippets( int $page = 1, int $per_page = 10, array return new Cloud_Snippets(); } - $body = wp_remote_retrieve_body( $response ); - - if ( ! $body ) { - return new Cloud_Snippets(); - } - - $json = json_decode( $body, true ); + $json = self::unpack_request_json( $response ); - if ( ! is_array( $json ) || ! isset( $json['data'] ) ) { + if ( ! $json ) { return new Cloud_Snippets(); } diff --git a/tests/phpunit/test-cloud-api-featured.php b/tests/phpunit/test-cloud-api-featured.php index dc493dc6e..4fdf422e2 100644 --- a/tests/phpunit/test-cloud-api-featured.php +++ b/tests/phpunit/test-cloud-api-featured.php @@ -127,7 +127,6 @@ private function build_success_response( int $count = 3 ): array { } $body = [ - 'data' => $snippets, 'snippets' => $snippets, 'meta' => [ 'total' => $count, From 09bba83cfb85171c4e25c53fdc529639a8bb530e Mon Sep 17 00:00:00 2001 From: Imants Date: Thu, 18 Jun 2026 00:28:53 +0300 Subject: [PATCH 09/12] fix: read cloud snippet lists from the snippets key only --- src/php/Model/Cloud_Snippets.php | 2 +- tests/phpunit/test-cloud-api-search.php | 2 +- tests/phpunit/test-cloud-snippets.php | 18 +++++++++--------- 3 files changed, 11 insertions(+), 11 deletions(-) diff --git a/src/php/Model/Cloud_Snippets.php b/src/php/Model/Cloud_Snippets.php index 77f323dbb..6de036f0a 100644 --- a/src/php/Model/Cloud_Snippets.php +++ b/src/php/Model/Cloud_Snippets.php @@ -107,7 +107,7 @@ private function normalize_cloud_api( $initial_data ): array { if ( is_array( $initial_data ) ) { $meta = $initial_data['meta'] ?? []; - $result['snippets'] = $initial_data['data'] ?? $initial_data['snippets'] ?? []; + $result['snippets'] = $initial_data['snippets'] ?? []; $result['cloud_id_rev'] = $initial_data['cloud_id_rev'] ?? []; if ( $meta ) { diff --git a/tests/phpunit/test-cloud-api-search.php b/tests/phpunit/test-cloud-api-search.php index 693ee85c1..b33dd167d 100644 --- a/tests/phpunit/test-cloud-api-search.php +++ b/tests/phpunit/test-cloud-api-search.php @@ -88,7 +88,7 @@ private function build_response( int $count = 2, int $total = 42 ): array { } $body = [ - 'data' => $snippets, + 'snippets' => $snippets, 'meta' => [ 'total' => $total, 'total_pages' => 5, diff --git a/tests/phpunit/test-cloud-snippets.php b/tests/phpunit/test-cloud-snippets.php index 9a7081f7d..06fbb342b 100644 --- a/tests/phpunit/test-cloud-snippets.php +++ b/tests/phpunit/test-cloud-snippets.php @@ -20,7 +20,7 @@ class Cloud_Snippets_Test extends TestCase { public function test_normalizes_full_envelope(): void { $result = new Cloud_Snippets( [ - 'data' => [ + 'snippets' => [ [ 'id' => 1, 'name' => 'First', @@ -57,11 +57,11 @@ public function test_normalizes_full_envelope(): void { } /** - * The `snippets` key is used when no `data` key is present. + * Snippets are read from the `snippets` key of the envelope. * * @return void */ - public function test_falls_back_to_snippets_key(): void { + public function test_reads_snippets_key(): void { $result = new Cloud_Snippets( [ 'snippets' => [ @@ -79,11 +79,11 @@ public function test_falls_back_to_snippets_key(): void { } /** - * The `data` key takes precedence over the `snippets` key when both are present. + * The `snippets` key is authoritative; a legacy `data` key is ignored. * * @return void */ - public function test_data_key_takes_precedence_over_snippets_key(): void { + public function test_legacy_data_key_is_ignored(): void { $result = new Cloud_Snippets( [ 'data' => [ @@ -99,14 +99,14 @@ public function test_data_key_takes_precedence_over_snippets_key(): void { 'snippets' => [ [ 'id' => 9, - 'name' => 'Ignored', + 'name' => 'Used', ], ], - 'meta' => [ 'total' => 2 ], + 'meta' => [ 'total' => 1 ], ] ); - $this->assertCount( 2, $result->snippets ); + $this->assertCount( 1, $result->snippets ); } /** @@ -161,7 +161,7 @@ public function test_empty_input_uses_defaults(): void { public function test_missing_meta_keeps_default_totals(): void { $result = new Cloud_Snippets( [ - 'data' => [ + 'snippets' => [ [ 'id' => 1, 'name' => 'Lonely', From 0ef46ba5aaafbaccdc0c9be2a768018f730d0606 Mon Sep 17 00:00:00 2001 From: Imants Date: Thu, 18 Jun 2026 17:11:27 +0300 Subject: [PATCH 10/12] fix: exclude trashed snippets from the inactive status count --- .../ManageMenu/SnippetsTable/WithFilteredSnippetsContext.tsx | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/src/js/components/ManageMenu/SnippetsTable/WithFilteredSnippetsContext.tsx b/src/js/components/ManageMenu/SnippetsTable/WithFilteredSnippetsContext.tsx index 4a6793598..327fe4f7a 100644 --- a/src/js/components/ManageMenu/SnippetsTable/WithFilteredSnippetsContext.tsx +++ b/src/js/components/ManageMenu/SnippetsTable/WithFilteredSnippetsContext.tsx @@ -17,7 +17,10 @@ const pushToMapArray = (map: Map, key: K, value: V) => { const partitionSnippetsByStatus = (snippets: Snippet[]): Map => snippets.reduce((acc, snippet) => { pushToMapArray(acc, snippet.trashed ? 'trashed' : 'all', snippet) - pushToMapArray(acc, snippet.active ? 'active' : 'inactive', snippet) + + if (!snippet.trashed) { + pushToMapArray(acc, snippet.active ? 'active' : 'inactive', snippet) + } pushToMapArray(acc, snippet.locked ? 'locked' : 'unlocked', snippet) if (snippet.lastActive) { From d3d728ab3ee28992e7f0df22cb7672a3f1b0ccf2 Mon Sep 17 00:00:00 2001 From: Imants Date: Fri, 19 Jun 2026 15:45:14 +0300 Subject: [PATCH 11/12] docs: fold changelog accessibility notes into keepachangelog headings --- CHANGELOG.md | 8 +++----- 1 file changed, 3 insertions(+), 5 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index c67eb7804..d8acd9182 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -10,6 +10,7 @@ * Bulk actions and bulk code download support in the redesigned snippets table. * Featured snippets and improved browsing in Community Cloud. * WordPress 7.0 admin styling compatibility. +* Clearer accessibility labels, headings, tab markup, table checkboxes, sort buttons, copy buttons, and drag-and-drop upload controls. ### Changed * Redesigned the main snippets table with improved search, filtering, sorting, pagination, row actions, and bulk selection. @@ -18,6 +19,8 @@ * Improved Community Cloud search and filtering, including server-side filters, better result loading, and clearer empty states. * Updated the welcome screen, toolbar, import screen, and cloud screens to match the new admin experience. * Updated internal plugin architecture to a cleaner PSR-4 structure for better long-term maintainability. +* Improved accessibility across the snippets table, import screen, migration flow, Community Cloud, welcome screen, toolbar, dialogs, tooltips, and code editor. +* Improved colour contrast and reduced-motion support across admin screens. ### Fixed * Fixed REST API server error responses on missing snippets. @@ -25,11 +28,6 @@ * Fixed Community Cloud search results and pagination to respect WordPress screen options. * Fixed snippet saving and activation feedback to improve validation and runtime error display. -### Accessibility -* Improved accessibility across the snippets table, import screen, migration flow, Community Cloud, welcome screen, toolbar, dialogs, tooltips, and code editor. -* Added clearer labels, headings, tab markup, table checkboxes, sort buttons, copy buttons, and drag-and-drop upload controls. -* Improved colour contrast and reduced-motion support across admin screens. - ## [3.9.6] (2026-04-28) ### Fixed From bc8de79f802a8b5063d070cb13d2d41c2848c914 Mon Sep 17 00:00:00 2001 From: Imants Date: Fri, 19 Jun 2026 15:46:04 +0300 Subject: [PATCH 12/12] docs: fold readme accessibility notes into keepachangelog headings --- src/readme.txt | 9 +++------ 1 file changed, 3 insertions(+), 6 deletions(-) diff --git a/src/readme.txt b/src/readme.txt index 14c75fd30..1775fd2a5 100644 --- a/src/readme.txt +++ b/src/readme.txt @@ -117,6 +117,7 @@ __Added__ * Bulk actions and bulk code download support in the redesigned snippets table. * Featured snippets and improved browsing in Community Cloud. * WordPress 7.0 admin styling compatibility. +* Clearer accessibility labels, headings, tab markup, table checkboxes, sort buttons, copy buttons, and drag-and-drop upload controls. __Changed__ @@ -126,6 +127,8 @@ __Changed__ * Improved Community Cloud search and filtering, including server-side filters, better result loading, and clearer empty states. * Updated the welcome screen, toolbar, import screen, and cloud screens to match the new admin experience. * Updated internal plugin architecture to a cleaner PSR-4 structure for better long-term maintainability. +* Improved accessibility across the snippets table, import screen, migration flow, Community Cloud, welcome screen, toolbar, dialogs, tooltips, and code editor. +* Improved colour contrast and reduced-motion support across admin screens. __Fixed__ @@ -134,12 +137,6 @@ __Fixed__ * Fixed Community Cloud search results and pagination to respect WordPress screen options. * Fixed snippet saving and activation feedback to improve validation and runtime error display. -__Accessibility__ - -* Improved accessibility across the snippets table, import screen, migration flow, Community Cloud, welcome screen, toolbar, dialogs, tooltips, and code editor. -* Added clearer labels, headings, tab markup, table checkboxes, sort buttons, copy buttons, and drag-and-drop upload controls. -* Improved colour contrast and reduced-motion support across admin screens. - = 3.9.6 (2026-04-28) = __Fixed__