Repository navigation
Releases
Releases · Vince-ALIEN/ufo-tools-blocks
v1.0.8
Changed
- Editor: the experimental WordPress components (
ToolsPanel,ToolsPanelItem,ToggleGroupControl,AlignmentMatrixControl,BlockVariationPicker) are loaded throughsrc/shared/wp-components.js, which uses the stable name when the site's WordPress provides it and falls back to the__experimentalname otherwise. - Editor: the icon pickers (
ufo-button,ufo-icon,ufo-title), the media picker and the background position matrix are named groups for screen readers (visual label plusrole="group"/aria-label); their label previously pointed to no field. - Editor placeholders use the ellipsis character (
…) instead of three dots. - Build tooling:
@wordpress/scripts32 → 37. Unit tests stay on Jest (wp-scripts test-unit-jest). No high or criticalnpm auditalert remains, none in shipped code. - Source code follows the WordPress coding standards (JS and CSS), enforced by
npm run check:styleinnpm testand therefore in the release workflow.
The front-end output is unchanged: CSS, render.php, block.json and ufo-tabs/view.js are identical to 1.0.7, and the saved markup of the static blocks is unchanged (snapshot tests).
v1.0.7
Security
ufo-icon: the icon size is clamped to 12–120 px on render, the range of the editor control.- Release workflow split into two jobs:
buildrunsnpm ci, the tests and the build with a read-only token;publishalone getscontents: writeand runs no code from the repository.
Added
uninstall.php: deletes the cached GitHub release data on uninstall. Site content is left untouched.LICENSE.txt(GPL v2 text); the plugin header'sLicense URIpoints to it on gnu.org.
Changed
package.json: onlyclsxandlucide-react, bundled intobuild/, stay independencies; the@wordpress/*packages (loaded from WordPress core) and build tools move todevDependencies. The built files are unchanged.
Removed
src/ufo-button/icon-svgs.php: unused leftover, neither loaded nor shipped.
v1.0.6
Security
- Updater: forcing a fresh GitHub check (
force-check) now requirescurrent_user_can( 'update_plugins' ). The previousis_admin()test is also true onadmin-ajax.phpfor visitors who are not logged in. - Updater: the release link returned by the GitHub API (
html_url) is only used if it points to this repository; otherwise the repository's releases page is linked. - The
render.phpfiles ofufo-button,ufo-icon,ufo-tabsandufo-title, and the generated icon helper, exit when called directly (ABSPATHguard): a direct request no longer triggers a PHP error that could reveal server paths.
v1.0.5
Security
ufo-faq: the JSON-LDFAQPageis encoded withJSON_HEX_TAG | JSON_HEX_AMP. The schema name, description and subject come from the block comment, which kses does not filter: a contributor could close the<script>tag and inject a script (stored XSS). The three fields also go throughsanitize_text_field().
Fixed
ufo-faqJSON-LD: answers nested in other blocks (group, list, columns…) were dropped; all inner blocks are now read at any depth. HTML entities are decoded (&→&) and paragraphs are separated by a space.ufo-faqJSON-LD: the partial schema written bysave()(nomainEntity, invalid for search engines) is always removed, including when the FAQ has no complete question/answer or the schema is disabled.ufo-title: no fatal error if the icon helper is missing (function_existscheck, as inufo-button).- Plugin header: "Gutemberg" typo.
composer.json: support URLs point to the actual repository.
Changed
ufo-faq-itemandufo-tabs: borders useborder-slate-200instead ofborder-gray-200. Existing FAQ items stay valid (deprecatedentry) and switch to slate on their next save.
Added
ufo-tabsblock (withufo-tabchildren): underlined tabs. Tab titles are edited directly in the tab bar, the+button adds a tab. Front end: ARIA tabs pattern (tablist/tab/tabpanel), arrow keys, Home/End, and the tab containing the URL anchor opens on load. The first tab is open without JavaScript too.- Tests:
save()snapshots anddeprecatedmigrations (Jest), Tailwind safelist coverage, FAQ schema filter (PHP).npm testruns them, and the release workflow runs it before building.
v1.0.4
Fixed
ufo-buttonwithout a URL: the front end no longer emitshref="#"(a fake link, focusable, that jumped to the top of the page on Enter). As in core/button, the<a>is rendered withouthref, so it is neither focusable nor announced as a link;target,reland the automatic "(nouvel onglet)" text are only emitted with a URL, andcursor-pointeronly when there is a destination. A warning in the block inspector points out the missing link.ufo-buttonwithout an accessible name (empty label and empty screen-reader text, e.g. an icon only) is no longer rendered on the front end: a link without a name fails WCAG 2.4.4 / 4.1.2. A warning in the block inspector explains what to fill in.ufo-buttoneditor: the block is edited in a<div>instead of a<button>. Firefox handles acontenteditable(RichText) inside a<button>badly (caret placement, Space key). Editor only, the front end is unchanged.
Removed
ufo-button: the Tertiary block style (is-style-tertiary) published in 1.0.3. Sites updated to 1.0.3 get 1.0.4 like the others; a button saved with that style keeps itsis-style-tertiaryclass but the style is no longer offered in the editor.
v1.0.3
Added
ufo-button: third block style Tertiary (is-style-tertiary), next to Primary and Secondary. As for the other two, the plugin only registers the style; the theme gives it its look (the Ufo Agency theme renders it like Primary with a pill shape,rounded-full). Server-rendered block: existing buttons are unchanged.
v1.0.2
Changed
ufo-buttoncan now be inserted on its own, anywhere a block is allowed (parentremoved fromblock.json). Until now it was only offered inside aufo-buttons-group. The group still accepts it and remains the way to align several buttons on one line; a standalone button is aninline-flexlink that takes the width of its content, or the full width with the "Pleine largeur" toggle. Server-rendered block (save()returnsnull): existing buttons and groups are unchanged.
v1.0.1
Changed
ufo-grid/ufo-roweditor rebuilt on the model of core Columns / Column (Gutenberg 24.2). Editor only:save()is unchanged, existing content stays valid.- An empty grid shows a layout picker (100, 50/50, 33/66, 66/33, 33/33/33, 25/50/25, 4 × 25, and a "Mosaïque" layout with one large cell over two rows).
- Raising the column count adds cells until the first row is full; lowering it deletes nothing. "Ajouter une cellule" button in the grid toolbar.
- Settings grouped in ToolsPanels with reset and optional items (« ⋮ » menu): Grille, Dimensions (Tailwind), Image et vidéo de fond, Arrondi (Tailwind). Sliders with pixel values for gap and padding, image preview with Replace / Remove, position matrix, size toggle.
- Vertical alignment set on the grid is applied to its cells; aligning one cell clears the grid alignment (same as core Columns).
- Grid easy to reach from a cell: clickable "Grille X col · gap Y" badge and "Modifier la grille" button in the cell settings.
- Cells: "+" appender when empty, drop before/after a cell, screen-reader position ("ufo Row (1 sur 4)"), width slider limited to the grid column count (block context
ufo-blocks/columnsCount). - Transforms between core Columns and ufo Grid, both ways (column widths in % ↔
col-span).
Fixed
ufo-titleblock icon: LucideHeadingwith the same treatment as the other blocks (#EB9188 on #F6F6F7) instead of the plain black Dashicon.ufo-iconblock icon: the Lucide logo (not in lucide-react, drawn from the lucide-icons/lucidelogo.svg, ISC) with the same treatment, instead of the black star.ufo-grideditor: the column guides never showed (wrong selector,--ufo-colsnever set); they now follow the real column and gap widths.ufo-grideditor stylesheet changed the label style of every block's inspector and the icon color of every block card.- Editor-only padding, borders and minimum height no longer distort the grid and cells: the editor shows the front-end layout.
ufo-grideditor: the grid could hardly be seen or selected, its cells covering it entirely. In the editor only, the grid now has a light purple background, a purple outline (solid when selected), an always visible « Grille X col · gap Y » label and its own space (32 px top, 12 px bottom, left and right); clicking that space or the label selects the grid. Cells show as white cards with a grey outline. Column guides sit under the cells. The front end is unchanged.
v1.0.0
First release of Ufo Tools Blocks, successor of Ufo Blocks 1.8.0 (new repository, versioning restarts at 1.0.0). The entries below 1.0.0 are the history of Ufo Blocks.
Changed
- Plugin renamed
ufo-tools-blocks(folder, main fileufo-tools-blocks.php, text domain, GitHub repositoryVince-ALIEN/ufo-tools-blocks, release assetufo-tools-blocks.zip, PHP prefixesufo_tools_blocks_/Ufo_Tools_Blocks_Updater, updater filterufo_tools_blocks_updater_enabled). Block names (ufo-blocks/*), theufo-blockseditor category and the CSS classes are unchanged, so existing content stays valid.- Migration: install and activate Ufo Tools Blocks, which deactivates Ufo Blocks; then delete Ufo Blocks. Sites on Ufo Blocks 1.8.0 are not offered this version as an update (different slug and asset). While Ufo Blocks is still active, Ufo Tools Blocks loads nothing and shows an admin notice.
- Themes: update the Tailwind
@sourcepaths toplugins/ufo-tools-blocks/src.
Removed
- Blocks
ufo-bento,ufo-timeandufo-logo-slider, moved to their own plugins ufo-tools-bento, ufo-tools-time and ufo-tools-logo-slider. Block names (ufo-blocks/ufo-bento,ufo-blocks/ufo-time,ufo-blocks/logo-slider), attributes and markup are unchanged: activate the matching plugin before switching to Ufo Tools Blocks and existing content keeps working. These plugins register the « UFO Blocks » editor category when Ufo Tools Blocks is not active.