From 83a38dffb95db98de8517a558e54f238f2069e00 Mon Sep 17 00:00:00 2001 From: mricoul Date: Thu, 24 Sep 2026 17:46:19 +0200 Subject: [PATCH 1/2] bump: version to 2.0.0 --- .gitignore | 1 + .plugin-data | 2 +- .wordpress-org/blueprints/blueprint.json | 6 +++--- CHANGELOG.md | 19 +++++++++++++++++++ blockparty-tabs.php | 4 ++-- package-lock.json | 4 ++-- package.json | 2 +- readme.txt | 19 +++++++++++++++++++ src/blockparty-tabs-nav-item/block.json | 2 +- src/blockparty-tabs-nav/block.json | 2 +- src/blockparty-tabs-panel-item/block.json | 2 +- src/blockparty-tabs-panels/block.json | 2 +- src/blockparty-tabs/block.json | 2 +- 13 files changed, 53 insertions(+), 14 deletions(-) diff --git a/.gitignore b/.gitignore index fb726bb..f883627 100644 --- a/.gitignore +++ b/.gitignore @@ -17,6 +17,7 @@ coverage # Compiled binary addons (https://nodejs.org/api/addons.html) build/Release build/ +.wp-env/plugins/ # Dependency directories node_modules/ diff --git a/.plugin-data b/.plugin-data index 4ee0793..52b5fe1 100644 --- a/.plugin-data +++ b/.plugin-data @@ -1,4 +1,4 @@ { - "version": "1.1.5", + "version": "2.0.0", "slug": "blockparty-tabs" } diff --git a/.wordpress-org/blueprints/blueprint.json b/.wordpress-org/blueprints/blueprint.json index 7261096..b267134 100644 --- a/.wordpress-org/blueprints/blueprint.json +++ b/.wordpress-org/blueprints/blueprint.json @@ -11,7 +11,7 @@ "pluginData": { "resource": "git:directory", "url": "https://github.com/BeAPI/blockparty-tabs", - "ref": "1.1.5", + "ref": "2.0.0", "refType": "tag" }, "options": { @@ -26,11 +26,11 @@ }, { "step": "runPHP", - "code": "\n
\n\n\n\n\n
\n
\n
\n

\"Gutenberg\" redirects here. For the Bible, see Gutenberg Bible. For other uses, see Gutenberg (disambiguation).

\n
\n\n\n\n
\n\n\n\n

Johannes Gensfleisch zur Laden zum Gutenberg (c. 1393–1406 – 3 February 1468) was a German inventor and craftsman who invented the movable-type printing press. Though movable type was already in use in East Asia, Gutenberg's invention of the printing press enabled a much faster rate of printing. The printing press later spread across the world, and led to an information revolution and the unprecedented mass-spread of literature throughout Europe. It had a profound impact on the development of the Renaissance, Reformation, and humanist movements.

\n\n\n\n

Source : Wikipedia

\n
\n\n\n\n
\n

Johannes Gutenberg was born in Mainz (in modern-day Germany), a wealthy city along the Rhine, between the 14th and 15th centuries. His exact year of birth is unknown; on the basis of a later document indicating that he came of age by 1420, scholarly estimates have ranged from 1393 to 1406. The year 1400 is commonly assigned to Gutenberg, \"for the sake of convenience\". Tradition also holds his birthdate to be on the feast day of Saint John the Baptist, 24 June, since children of the time were often named after their birthday's patron saint. There is no verification for this assumption, since the name \"Johannes\"—and variants such as \"Johann\", \"Henne\", \"Hengin\" and \"Henchen\"—was widely popular at the time. In full, Gutenberg's name was \"Johannes Gensfleisch zur Laden zum Gutenberg\", with \"Laden\" and \"Gutenberg\" being adopted from the family's residences in Mainz.The latter refers to the Hof zum Gutenberg, a large and now destroyed Gothic-style residence inherited by Gutenberg's father. Gutenberg probably spent his earliest years at the manor, which existed beside St. Christoph's.

\n\n\n\n

Source : Wikipedia

\n
\n\n\n\n
\n

Gutenberg's invention had an enormous impact on subsequent human history, both on cultural and social matters. His design directly impacted the mass spread of books across Europe, causing an information revolution. As a result, Venzke describes the inauguration of the Renaissance, Reformation and humanist movement as \"unthinkable\" without Gutenberg's influence. Described as \"one of the most recognized names in the world\", a team of US journalists voted Gutenberg as the \"man of the millennium\" in 1999. Similarly, in 1999 the A&E Network ranked Gutenberg the No. 1 most influential person of the second millennium on their \"Biographies of the Millennium\" countdown, while Time–Life magazine picked Gutenberg's invention as the most important of the second millennium in 1997. The scholar of paper history, Thomas Francis Carter, drew parallels between Cai Lun, the traditional inventor of paper during the Eastern Han dynasty, and Gutenberg, calling them \"spiritual father and son\" respectively. In his 1978 book, The 100: A Ranking of the Most Influential Persons in History, Michael H. Hart ranked him 8th, below Cai but above figures such as Christopher Columbus, Albert Einstein and Charles Darwin.

\n\n\n\n

Source : Wikipedia

\n
\n
\n
\n\nBLOCKPARTY_TABS_MARKUP_EOF;\n\n$page_id = wp_insert_post(\n\tarray(\n\t\t'post_title' => 'Blockparty Tabs',\n\t\t'post_name' => 'blockparty-tabs-demo',\n\t\t'post_content' => $page_content,\n\t\t'post_status' => 'publish',\n\t\t'post_type' => 'page',\n\t)\n);\necho 'Page created with ID: ' . $page_id;\n?>\n" + "code": "\n
\n\n\n\n\n
\n
\n
\n

\"Gutenberg\" redirects here. For the Bible, see Gutenberg Bible. For other uses, see Gutenberg (disambiguation).

\n
\n\n\n\n
\n\n\n\n

Johannes Gensfleisch zur Laden zum Gutenberg (c. 1393–1406 – 3 February 1468) was a German inventor and craftsman who invented the movable-type printing press. Though movable type was already in use in East Asia, Gutenberg's invention of the printing press enabled a much faster rate of printing. The printing press later spread across the world, and led to an information revolution and the unprecedented mass-spread of literature throughout Europe. It had a profound impact on the development of the Renaissance, Reformation, and humanist movements.

\n\n\n\n

Source : Wikipedia

\n
\n\n\n\n
\n

Johannes Gutenberg was born in Mainz (in modern-day Germany), a wealthy city along the Rhine, between the 14th and 15th centuries. His exact year of birth is unknown; on the basis of a later document indicating that he came of age by 1420, scholarly estimates have ranged from 1393 to 1406. The year 1400 is commonly assigned to Gutenberg, \"for the sake of convenience\". Tradition also holds his birthdate to be on the feast day of Saint John the Baptist, 24 June, since children of the time were often named after their birthday's patron saint. There is no verification for this assumption, since the name \"Johannes\"—and variants such as \"Johann\", \"Henne\", \"Hengin\" and \"Henchen\"—was widely popular at the time. In full, Gutenberg's name was \"Johannes Gensfleisch zur Laden zum Gutenberg\", with \"Laden\" and \"Gutenberg\" being adopted from the family's residences in Mainz.The latter refers to the Hof zum Gutenberg, a large and now destroyed Gothic-style residence inherited by Gutenberg's father. Gutenberg probably spent his earliest years at the manor, which existed beside St. Christoph's.

\n\n\n\n

Source : Wikipedia

\n
\n\n\n\n
\n

Gutenberg's invention had an enormous impact on subsequent human history, both on cultural and social matters. His design directly impacted the mass spread of books across Europe, causing an information revolution. As a result, Venzke describes the inauguration of the Renaissance, Reformation and humanist movement as \"unthinkable\" without Gutenberg's influence. Described as \"one of the most recognized names in the world\", a team of US journalists voted Gutenberg as the \"man of the millennium\" in 1999. Similarly, in 1999 the A&E Network ranked Gutenberg the No. 1 most influential person of the second millennium on their \"Biographies of the Millennium\" countdown, while Time–Life magazine picked Gutenberg's invention as the most important of the second millennium in 1997. The scholar of paper history, Thomas Francis Carter, drew parallels between Cai Lun, the traditional inventor of paper during the Eastern Han dynasty, and Gutenberg, calling them \"spiritual father and son\" respectively. In his 1978 book, The 100: A Ranking of the Most Influential Persons in History, Michael H. Hart ranked him 8th, below Cai but above figures such as Christopher Columbus, Albert Einstein and Charles Darwin.

\n\n\n\n

Source : Wikipedia

\n
\n
\n
\n\nBLOCKPARTY_TABS_MARKUP_EOF;\n\n$page_id = wp_insert_post(\n\tarray(\n\t\t'post_title' => 'Blockparty Tabs',\n\t\t'post_name' => 'blockparty-tabs-demo',\n\t\t'post_content' => $page_content,\n\t\t'post_status' => 'publish',\n\t\t'post_type' => 'page',\n\t)\n);\necho 'Page created with ID: ' . $page_id;\n?>\n" } ] } diff --git a/CHANGELOG.md b/CHANGELOG.md index 41400f9..a019a6b 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -5,6 +5,25 @@ 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.0.0/), and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html). +## 2.0.0 - 2026-09-24 + +- Use native `core/icon` for tab icons by default (breaking change) +- Fix frontend spacing for `core/icon` next to tab labels +- Add `blockparty_tabs_allowed_icon_blocks` filter to allow Blockparty / BeAPI icon blocks +- Limit tabs to a single icon block (no duplication) +- Improve accessibility: move `tablist` to nav and complete ARIA roles +- Expand block supports and refresh block descriptions +- Share add/remove tab toolbar controls across nav and panels +- Add appender to insert synced tabs from the navigation +- Fix KSES stripping of `aria-selected` and `tabindex` on tab links +- Fix stale active index after tab removal +- Fix panel pairing locks when moving tabs +- Fix deprecated block versions omitting original supports +- Fix first-tab validation after saving `is-active` on nav items +- Update French translations +- Move release/version scripts under `tests/bin` +- Remove `@beapi/icons` dependency + ## 1.1.5 - 2026-08-24 - Fix editor margin reset for tabs block diff --git a/blockparty-tabs.php b/blockparty-tabs.php index 0e88431..4df2213 100644 --- a/blockparty-tabs.php +++ b/blockparty-tabs.php @@ -4,7 +4,7 @@ * Description: Accessible Tabs block for WordPress gutenberg. * Requires at least: 6.4 * Requires PHP: 8.1 - * Version: 1.1.5 + * Version: 2.0.0 * Author: Be API Technical team * Author URI: https://beapi.fr * License: GPL-2.0-or-later @@ -14,7 +14,7 @@ namespace Blockparty\Tabs; -define( 'BLOCKPARTY_TABS_VERSION', '1.1.5' ); +define( 'BLOCKPARTY_TABS_VERSION', '2.0.0' ); define( 'BLOCKPARTY_TABS_URL', plugin_dir_url( __FILE__ ) ); define( 'BLOCKPARTY_TABS_DIR', plugin_dir_path( __FILE__ ) ); define( 'BLOCKPARTY_TABS_PLUGIN_BASENAME', plugin_basename( __FILE__ ) ); diff --git a/package-lock.json b/package-lock.json index f8d0280..3bf5b84 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,12 +1,12 @@ { "name": "blockparty-tabs", - "version": "1.1.5", + "version": "2.0.0", "lockfileVersion": 3, "requires": true, "packages": { "": { "name": "blockparty-tabs", - "version": "1.1.5", + "version": "2.0.0", "license": "GPL-2.0-or-later", "dependencies": { "classnames": "^2.5.1" diff --git a/package.json b/package.json index 34a280b..0be3f73 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "blockparty-tabs", - "version": "1.1.5", + "version": "2.0.0", "description": "Accessible tabs block for WordPress", "author": "Be API Technical team", "license": "GPL-2.0-or-later", diff --git a/readme.txt b/readme.txt index df1f8bf..3522879 100644 --- a/readme.txt +++ b/readme.txt @@ -33,6 +33,25 @@ directory take precedence. For example, `/assets/screenshot-1.png` would win ove == Changelog == += 2.0.0 = + +* Use native `core/icon` for tab icons by default (breaking change) +* Fix frontend spacing for `core/icon` next to tab labels +* Add `blockparty_tabs_allowed_icon_blocks` filter to allow Blockparty / BeAPI icon blocks +* Limit tabs to a single icon block (no duplication) +* Improve accessibility: move `tablist` to nav and complete ARIA roles +* Expand block supports and refresh block descriptions +* Share add/remove tab toolbar controls across nav and panels +* Add appender to insert synced tabs from the navigation +* Fix KSES stripping of `aria-selected` and `tabindex` on tab links +* Fix stale active index after tab removal +* Fix panel pairing locks when moving tabs +* Fix deprecated block versions omitting original supports +* Fix first-tab validation after saving `is-active` on nav items +* Update French translations +* Move release/version scripts under `tests/bin` +* Remove `@beapi/icons` dependency + = 1.1.5 = * Fix editor margin reset for tabs block diff --git a/src/blockparty-tabs-nav-item/block.json b/src/blockparty-tabs-nav-item/block.json index e60415d..e69e5e1 100644 --- a/src/blockparty-tabs-nav-item/block.json +++ b/src/blockparty-tabs-nav-item/block.json @@ -2,7 +2,7 @@ "$schema": "https://schemas.wp.org/trunk/block.json", "apiVersion": 2, "name": "blockparty/tabs-nav-item", - "version": "1.1.5", + "version": "2.0.0", "title": "Tab", "category": "widgets", "description": "A single tab button used to switch to its matching content panel.", diff --git a/src/blockparty-tabs-nav/block.json b/src/blockparty-tabs-nav/block.json index 6929f8c..bb0201f 100644 --- a/src/blockparty-tabs-nav/block.json +++ b/src/blockparty-tabs-nav/block.json @@ -2,7 +2,7 @@ "$schema": "https://schemas.wp.org/trunk/block.json", "apiVersion": 2, "name": "blockparty/tabs-nav", - "version": "1.1.5", + "version": "2.0.0", "title": "Tabs list", "category": "widgets", "description": "Display the tab list for switching between content panels.", diff --git a/src/blockparty-tabs-panel-item/block.json b/src/blockparty-tabs-panel-item/block.json index 235679e..57bb1d2 100644 --- a/src/blockparty-tabs-panel-item/block.json +++ b/src/blockparty-tabs-panel-item/block.json @@ -2,7 +2,7 @@ "$schema": "https://schemas.wp.org/trunk/block.json", "apiVersion": 2, "name": "blockparty/tabs-panel-item", - "version": "1.1.5", + "version": "2.0.0", "title": "Panel", "category": "widgets", "icon": "layout", diff --git a/src/blockparty-tabs-panels/block.json b/src/blockparty-tabs-panels/block.json index 653bc56..67a6854 100644 --- a/src/blockparty-tabs-panels/block.json +++ b/src/blockparty-tabs-panels/block.json @@ -2,7 +2,7 @@ "$schema": "https://schemas.wp.org/trunk/block.json", "apiVersion": 2, "name": "blockparty/tabs-panels", - "version": "1.1.5", + "version": "2.0.0", "title": "Panels", "category": "widgets", "description": "Group the content panels of a tabbed interface.", diff --git a/src/blockparty-tabs/block.json b/src/blockparty-tabs/block.json index ecd7651..d694539 100644 --- a/src/blockparty-tabs/block.json +++ b/src/blockparty-tabs/block.json @@ -2,7 +2,7 @@ "$schema": "https://schemas.wp.org/trunk/block.json", "apiVersion": 2, "name": "blockparty/tabs", - "version": "1.1.5", + "version": "2.0.0", "title": "Tabs", "category": "widgets", "description": "Organize content into tabs so visitors can browse sections without scrolling endlessly.", From 4e3a19f731e05ff3994e914584b4b8821455c734 Mon Sep 17 00:00:00 2001 From: mricoul Date: Mon, 28 Sep 2026 12:05:13 +0200 Subject: [PATCH 2/2] docs: update changelog --- CHANGELOG.md | 18 ++++++++++++------ readme.txt | 18 ++++++++++++------ 2 files changed, 24 insertions(+), 12 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index a019a6b..89646d6 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -5,21 +5,27 @@ 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.0.0/), and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html). -## 2.0.0 - 2026-09-24 +## 2.0.0 - 2026-09-28 -- Use native `core/icon` for tab icons by default (breaking change) -- Fix frontend spacing for `core/icon` next to tab labels -- Add `blockparty_tabs_allowed_icon_blocks` filter to allow Blockparty / BeAPI icon blocks +- Require WordPress 6.2 or later +- Prefer native `core/icon` for tab icons when available (WordPress 7.0+), with Blockparty / BeAPI icon blocks still allowed by default for WordPress 6.2–6.8 +- Fix frontend spacing and styles for `core/icon` next to tab labels +- Add `blockparty_tabs_allowed_icon_blocks` filter to customize allowed icon blocks - Limit tabs to a single icon block (no duplication) - Improve accessibility: move `tablist` to nav and complete ARIA roles - Expand block supports and refresh block descriptions +- Remove anchor support from the panel item block - Share add/remove tab toolbar controls across nav and panels - Add appender to insert synced tabs from the navigation -- Fix KSES stripping of `aria-selected` and `tabindex` on tab links +- Fix KSES stripping of tab ARIA attributes (`aria-controls`, `aria-selected`, `aria-expanded`) and `tabindex` - Fix stale active index after tab removal - Fix panel pairing locks when moving tabs - Fix deprecated block versions omitting original supports -- Fix first-tab validation after saving `is-active` on nav items +- Fix block validation after save when existing tabs were invalidated +- Fix saved tab nav items missing the active class +- Ship a `react-jsx-runtime` webpack polyfill so editor scripts load on WordPress 6.2–6.5 +- Fix editor warnings by avoiding setState during render and enabling direct inner block insertion +- Add PHPUnit, Jest, and Playwright test suites with GitHub Actions CI - Update French translations - Move release/version scripts under `tests/bin` - Remove `@beapi/icons` dependency diff --git a/readme.txt b/readme.txt index 3522879..b7cd317 100644 --- a/readme.txt +++ b/readme.txt @@ -8,7 +8,7 @@ Stable tag: 2.0.0 License: GPL-2.0-or-later License URI: https://www.gnu.org/licenses/gpl-2.0.html -Accessible Tabs block for WordPress gutenberg. +Accessible Tabs block for the WordPress block editor. == Description == @@ -35,19 +35,25 @@ directory take precedence. For example, `/assets/screenshot-1.png` would win ove = 2.0.0 = -* Use native `core/icon` for tab icons by default (breaking change) -* Fix frontend spacing for `core/icon` next to tab labels -* Add `blockparty_tabs_allowed_icon_blocks` filter to allow Blockparty / BeAPI icon blocks +* Require WordPress 6.2 or later +* Prefer native `core/icon` for tab icons when available (WordPress 7.0+), with Blockparty / BeAPI icon blocks still allowed by default for WordPress 6.2–6.8 +* Fix frontend spacing and styles for `core/icon` next to tab labels +* Add `blockparty_tabs_allowed_icon_blocks` filter to customize allowed icon blocks * Limit tabs to a single icon block (no duplication) * Improve accessibility: move `tablist` to nav and complete ARIA roles * Expand block supports and refresh block descriptions +* Remove anchor support from the panel item block * Share add/remove tab toolbar controls across nav and panels * Add appender to insert synced tabs from the navigation -* Fix KSES stripping of `aria-selected` and `tabindex` on tab links +* Fix KSES stripping of tab ARIA attributes (`aria-controls`, `aria-selected`, `aria-expanded`) and `tabindex` * Fix stale active index after tab removal * Fix panel pairing locks when moving tabs * Fix deprecated block versions omitting original supports -* Fix first-tab validation after saving `is-active` on nav items +* Fix block validation after save when existing tabs were invalidated +* Fix saved tab nav items missing the active class +* Ship a `react-jsx-runtime` webpack polyfill so editor scripts load on WordPress 6.2–6.5 +* Fix editor warnings by avoiding setState during render and enabling direct inner block insertion +* Add PHPUnit, Jest, and Playwright test suites with GitHub Actions CI * Update French translations * Move release/version scripts under `tests/bin` * Remove `@beapi/icons` dependency