UNPKG

@plone/volto

Version:
896 lines (562 loc) 507 kB
--- myst: html_meta: "description": "Volto Release Notes for the Plone content management system" "property=og:description": "Volto Release Notes for the Plone content management system" "property=og:title": "Volto Release Notes" "keywords": "Volto, Plone, frontend, Release Notes, change log, changelog, change history" --- # Volto Release Notes <!-- Do *NOT* add new change log entries to this file. Instead create a file in the news directory. For helpful instructions, see: https://6.docs.plone.org/contributing/index.html#change-log-entry --> <!-- towncrier release notes start --> ## 18.32.4 (2026-03-12) ### Feature - If a delete operation fails, display the error message returned by the API (if any). @cekk [#7888](https://github.com/plone/volto/issues/7888) ### Bugfix - Update the users controlpanel to be compatible with the new response format of the users endpoint introduced in https://github.com/plone/plone.restapi/pull/1971. @jnptk ### Internal - Remove the `immutable` dependency, since it is not a direct dependency. @wesleybl [#7974](https://github.com/plone/volto/issues/7974) - Update pnpm to 9.15.9. @wesleybl [#7975](https://github.com/plone/volto/issues/7975) - Revert: "Backport #7672: Convert FormFieldWrapper to functional component (18.x.x)" @sneridagh [#7994](https://github.com/plone/volto/issues/7994) - Update dependencies: webpack 5.105.4 @davisagli ## 18.32.3 (2026-03-04) ### Bugfix - Add file size upload limit validator. @robgietema [#7936](https://github.com/plone/volto/issues/7936) ## 18.32.2 (2026-03-02) ### Bugfix - Avoid storing empty blocks clipboard in localstorage until blocks are cut or copied. @davisagli [#6697](https://github.com/plone/volto/issues/6697) - Fix ContentTypeSchema error toast to display only error message instead of stringified JSON object. @Shyam-Raghuwanshi [#7692](https://github.com/plone/volto/issues/7692) - Language control panel: fix validation of default language. @davisagli [#7720](https://github.com/plone/volto/issues/7720) - Set HTTP 503 status code for ConnectionRefused error page. @Shyam-Raghuwanshi [#7754](https://github.com/plone/volto/issues/7754) - Changed the order of the "Save" and "Cancel" buttons on the sharing page to improve accessibility. @Wagner3UB [#7835](https://github.com/plone/volto/issues/7835) - Filter invalid block IDs (null, undefined, 'undefined') in getBlocks() to prevent duplicate elements in DOM and test failures. @aryan7081 [#7858](https://github.com/plone/volto/issues/7858) - Fixed searchable types in Object Browser Widget, adding also selectable-types to searchable-types. @giuliaghisini [#7915](https://github.com/plone/volto/issues/7915) - Fix subordering order tab. @robgietema [#7937](https://github.com/plone/volto/issues/7937) - Fix href override in UniversalLink component. @iFlameing ### Internal - Remove references to @plone/providers and @plone/helpers packages that don't exist in Volto 18 branch. @wesleybl [#7693](https://github.com/plone/volto/issues/7693) - Removed references to apps folder and Plone's modular architecture packages (helpers, blocks, providers, theming, layout) that were already removed from the codebase. These packages exist only in the seven branch. @sneridagh [#7785](https://github.com/plone/volto/issues/7785) - Continue to prevent editors from automatically reformatting Markdown files by moving this configuration from VSCode to prettier. Move the VSCode settings setup from `make install` to a pnpm post-install hook. @wesleybl [#7834](https://github.com/plone/volto/issues/7834) - Use Plone 6.1.4 for development. @wesleybl [#7870](https://github.com/plone/volto/issues/7870) - Reinstalled all dependencies to latest compatible versions. @wesleybl [#7871](https://github.com/plone/volto/issues/7871) - Increase wait time between link check retries with Lychee. @wesleybl [#7872](https://github.com/plone/volto/issues/7872) - Exclude `.storybook` from ESLint's default hidden directory ignore list via `.eslintignore` to allow linting of Storybook configuration files. @Shyam-Raghuwanshi [#7894](https://github.com/plone/volto/issues/7894) - Use `getSlateEditorAndType` in `03-block-slate.js` to make the test more robust. @wesleybl [#7924](https://github.com/plone/volto/issues/7924) - Fix in-page drag-and-drop issue with the Listing block to ensure proper content reordering. @Manik-Khajuria-5 [#7943](https://github.com/plone/volto/issues/7943) - Refactored the `PasswordReset` widget by converting it from a class-based component to a modern functional component using React hooks. @Manik-Khajuria-5 [#7951](https://github.com/plone/volto/issues/7951) ### Documentation - Removed add-on packages that no longer exist in the `18.x.x` branch from documentation. @wesleybl [#7887](https://github.com/plone/volto/issues/7887) - Remove link to Jobfamilie MEDICE: site is no longer a Volto site (redirects to non-Volto destination). @wesleybl [#7929](https://github.com/plone/volto/issues/7929) ## 18.32.1 (2026-01-23) ### Bugfix - Remove '__ac' cookie when authtoken expires @Tishasoumya-02 [#7783](https://github.com/plone/volto/issues/7783) ## 18.32.0 (2026-01-12) ### Feature - Add feature of drag and drop files in folder contents. @Tishasoumya-02 [#draganddrop](https://github.com/plone/volto/issues/draganddrop) - Added support for selecting Path and Depth in the Listing Block’s Location criteria using the ObjectBrowserWidget and NumberWidget. @iFlameing @giuliaghisini [#7661](https://github.com/plone/volto/issues/7661) ### Bugfix - Fix multilingual redirect for languages with locale variants in Volto 18. @Shyam-Raghuwanshi [#7738](https://github.com/plone/volto/issues/7738) - Fix rearrangement of files in drag-and-drop of folderish content. @Tishasoumya-02 [#7782](https://github.com/plone/volto/issues/7782) - Add support for typing and pasting URLs in the ObjectBrowserWidget for location selection in the Listing block. @iFlameing ### Internal - Update actions/cache from v4 to v5 in GitHub Actions workflow files. @wesleybl [#7731](https://github.com/plone/volto/issues/7731) ## 18.31.0 (2025-12-21) ### Feature - ModalForm should handle empty schemas, rendering an empty form with just the submit and cancel buttons. @tedw87 [#7687](https://github.com/plone/volto/issues/7687) ### Bugfix - Hide date and time fields when either "Whole Day" or "Open End" is checked in the Event form. @wesleybl [#3243](https://github.com/plone/volto/issues/3243) - Fixed a bug in the login form where the user could see a spinner instead of an error message after a failed login, when the login form was loaded via server-side rendering. @aryan7081 [#7397](https://github.com/plone/volto/issues/7397) - Udpated translations (ta) @TamilNeram Updated translations (it) @yurj [#7659](https://github.com/plone/volto/issues/7659) ### Internal - Backport #7712. Include other *.md files in the repo root for link checking, fix redirecting links, and remove non-responsive server. @stevepiercy [#7721](https://github.com/plone/volto/issues/7721) - Update actions/checkout to v5 in all GitHub Actions workflows. @wesleybl [#7724](https://github.com/plone/volto/issues/7724) - Refactored the `FormFieldWrapper` widget by converting it from a class-based component to a modern functional component using React hooks. @Manik-Khajuria-5 [#7734](https://github.com/plone/volto/issues/7734) ## 18.30.1 (2025-12-08) ### Bugfix - Add classname for unauthorized page @iRohitSingh - Added `prettier` as a direct dependency of Volto, since is used by HTML block, to prevent the removal from the production build. @sneridagh ## 18.30.0 (2025-12-02) ### Feature - cross language support for blocks chooser search @Tishasoumya-02 [#7657](https://github.com/plone/volto/issues/7657) ### Bugfix - Remove container cage on relations control panel. @ksuess [#6633](https://github.com/plone/volto/issues/6633) - Adjusted the opacity of the CMS UI toolbar’s expand/collapse button and enhanced its label to clearly convey to screen readers whether the toolbar is open or closed. @Wagner3UB [#7551](https://github.com/plone/volto/issues/7551) - Improve some JSDocs for better typing. @sneridagh [#7560](https://github.com/plone/volto/issues/7560) - Fixed a TypeError in `flattenScales` that occurred when `image.scales` was missing. @pratyush07-hub [#7568](https://github.com/plone/volto/issues/7568) ### Internal - Add Cypress coverage for Delete-key behavior in text blocks: merge next text block into current and do nothing to non-text (Description) block when pressed at end of a text block. @aryan7081 [#7263](https://github.com/plone/volto/issues/7263) - Use 18 as version for cookieplone CI checks. @sneridagh [#7548](https://github.com/plone/volto/issues/7548) - Refactor `SidebarPortal` to TypeScript. @sneridagh [#7560](https://github.com/plone/volto/issues/7560) - Enable ESlint detection of '.only' in unit and cypress tests. @sneridagh [#7567](https://github.com/plone/volto/issues/7567) ## 18.29.1 (2025-11-03) ### Bugfix - Fix image upload inside `ImageWidget` component when used inside a non-folderish object. [@jnptk] [#7576](https://github.com/plone/volto/issues/7576) - Fix failing cypress test on updating to Cypress 13.17.0 @Tishasoumya-02 ### Internal - Convert UsersControlpanel component from class to functional with hooks. @wesleybl [#7450](https://github.com/plone/volto/issues/7450) - Update to @types/node 22 and cypress to 13.17.0 @sneridagh @wesleybl [#7538](https://github.com/plone/volto/issues/7538) ## 18.29.0 (2025-10-31) ### Feature - Update Japanese translations @terapyon [#7368](https://github.com/plone/volto/issues/7368) - Internationalizes help for the `Group Name` field. @wesleybl [#7481](https://github.com/plone/volto/issues/7481) - Enhanced diff reducer to process static behaviors in the result object. @rboixaderg [#7546](https://github.com/plone/volto/issues/7546) ### Bugfix - Fix `InlineForm` to always pass the error prop as an array, preventing prop type errors in widgets that use `InlineForm`. @alexandreIFB [#7267](https://github.com/plone/volto/issues/7267) - Get translationObject from the store instead of directly from the response in CreateTranslation component. @rboixaderg [#7543](https://github.com/plone/volto/issues/7543) - Avoid re-rendering a content item view while hydrating server-side rendered components. @reebalazs - Fix infinite @users requests caused by anonymous useUser hook. @iFlameing - Reset fieldset.invisible class definition in order to prevent clashes with other CSS frameworks that might have `invisible` as utility. @sneridagh ### Internal - Modernize and update `tsconfig.json` settings for core. @sneridagh [#7531.1](https://github.com/plone/volto/issues/7531.1) - Refactor `LanguageSelector` into TypeScript. @sneridagh [#7531.2](https://github.com/plone/volto/issues/7531.2) - Makes the Cypress commands `getSlateEditorAndType` and `getSlateEditorSelectorAndType` more robust. @wesleybl [#7503](https://github.com/plone/volto/issues/7503) - Enhance Cypress commands to trigger focus before typing in Slate editor. @wesleybl [#7506](https://github.com/plone/volto/issues/7506) - Fix error and rename test to "should save typed content in the Slate editor". @wesleybl [#7507](https://github.com/plone/volto/issues/7507) - Move to `dependencies` some bad categorized dependencies in `devDependencies`. @sneridagh ## 18.28.2 (2025-10-10) ### Bugfix - Fixed corner case where RAZZLE_INTERNAL_API_PATH is set and id is still undefined on first SSR load. @sneridagh [#7478](https://github.com/plone/volto/issues/7478) - Escape double quotes in POT / PO files @erral ### Internal - Added Cypress test for backspace behavior in slate blocks. @aryan7081 [#7373](https://github.com/plone/volto/issues/7373) ### Documentation - Fix images path in root README. @wesleybl [#7437](https://github.com/plone/volto/issues/7437) ## 18.28.1 (2025-10-08) ### Bugfix - Reverts #7419. See #7419 for more information. @sneridagh [#7466](https://github.com/plone/volto/issues/7466) ## 18.28.0 (2025-10-07) ### Feature - Update translations: es, eu, nl, tr @erral @ingovdb @chihanandac [#7351](https://github.com/plone/volto/issues/7351) ### Bugfix - Refactored the fix for #7238: corner case when coming from SSR in edit route, where the teasers where overwriten with bogus URLs after save if INTERNAL_API_PATH is set. @sneridagh [#7317](https://github.com/plone/volto/issues/7317) - The cancel/clear "X" button inside the DatetimeWidget now includes an accessible label when active. @Wagner3UB [#7414](https://github.com/plone/volto/issues/7414) - Add underline to formtabs items for proper link identification. @Wagner3UB [#7419](https://github.com/plone/volto/issues/7419) - Fix api middleware possible empty values error. @robgietema [#7433](https://github.com/plone/volto/issues/7433) ### Internal - Skip link check for URL which blocks traffic from GitHub. @davisagli - Use Plone 6.1.3. @sneridagh ### Documentation - Fix images path in Volto README. @wesleybl [#7437](https://github.com/plone/volto/issues/7437) ## 18.27.3 (2025-10-01) ### Bugfix - Fix image rerender on page edit. @calinvladth [#7391](https://github.com/plone/volto/issues/7391) ### Internal - Acceptance test for Teaser Block Refresh Source Content @Tishasoumya-02 ## 18.27.2 (2025-09-29) ### Bugfix - Update folder content search input to announce result count for screen readers on search or input change. @Wagner3UB [#7305](https://github.com/plone/volto/issues/7305) - Check if we are editing a content type before rendering the Content Type control panel form. @ericof [#7396](https://github.com/plone/volto/issues/7396) - Added guard in API REDUX middleware. @sneridagh [#7412](https://github.com/plone/volto/issues/7412) ## 18.27.1 (2025-09-26) ### Bugfix - Revert #7389 ESlint rule definition. @sneridagh [#7401](https://github.com/plone/volto/issues/7401) ## 18.27.0 (2025-09-26) ### Feature - Convert RenderUsers component from class to functional with hooks. @wesleybl [#7313](https://github.com/plone/volto/issues/7313) - Update Portuguese Brazilian translations @ericof [#7362](https://github.com/plone/volto/issues/7362) - Replace img tags with Image component. @wesleybl [#7363](https://github.com/plone/volto/issues/7363) ### Bugfix - Search block: fix 'Clear filters' overriding the base query. @mauritsvanrees [#7271](https://github.com/plone/volto/issues/7271) - Ensure the Refresh Content button correctly loads the preview image when using preview_image_link for Teaser block. @iFlameing ### Internal - Replace README.md link checker of `awesome_bot` with Lychee. @stevepiercy [#7380](https://github.com/plone/volto/issues/7380) ## 18.26.0 (2025-09-12) ### Feature - Update translations for es, eu, it, nl, ta, pt, sv [#7187](https://github.com/plone/volto/issues/7187) ### Bugfix - Teaser block: Clarify "Refresh source content" button by changing the default text to "Reset to target". @davisagli [#7329](https://github.com/plone/volto/issues/7329) - Fix German translation of "Order" from "Reihung" to "Reihenfolge" @iRohitSingh [#7331](https://github.com/plone/volto/issues/7331) - Update German translations for teaser block. @Tishasoumya-02 [#7332](https://github.com/plone/volto/issues/7332) ### Internal - Remove vitest dependencies from root to prevent confusion. @wesleybl [#7274](https://github.com/plone/volto/issues/7274) - Fix test storeProtectLoadUtils.test.js > storeProtectLoadUtils > loadProtector store > pass when not counting. @wesleybl [#7287](https://github.com/plone/volto/issues/7287) - Update package versions in pnpm-lock.yaml. @wesleybl [#7291](https://github.com/plone/volto/issues/7291) - Fix random failure in 'renders a file widget component with value' test of RegistryImageWidget. @wesleybl [#7292](https://github.com/plone/volto/issues/7292) - Fixes random error in Listing Block tests 2. @wesleybl [#7293](https://github.com/plone/volto/issues/7293) - Fixed random failure in Cypress 'Index Text Block' test. @wesleybl [#7304](https://github.com/plone/volto/issues/7304) - 2021.ploneconf.org is no longer a Volto site, but just a redirect to YouTube. Also reverts #6627 and replaces code examples with `2022.ploneconf.org`. Backport of #7314. @stevepiercy [#7315](https://github.com/plone/volto/issues/7315) ## 18.25.0 (2025-09-01) ### Feature - Make Jest maxWorkers configurable via MAX_WORKERS env var. @wesleybl [#7251](https://github.com/plone/volto/issues/7251) ### Bugfix - Fix ImageWidget to support DX fields and Relation Choice images (preview_image_link). @sneridagh [#7099](https://github.com/plone/volto/issues/7099) ### Internal - Update @testing-library/react to 14.3.1. @wesleybl [#7260](https://github.com/plone/volto/issues/7260) - Remove MEDICE website entry from `Volto in production`. @wesleybl [#7283](https://github.com/plone/volto/issues/7283) - Fix random error in Listing Block tests. @wesleybl [#7286](https://github.com/plone/volto/issues/7286) - Fixed a random failure in Cypress tests when using `getSlateEditorAndType` or `getSlateEditorSelectorAndType`. @wesleybl [#7290](https://github.com/plone/volto/issues/7290) ## 18.24.0 (2025-08-25) ### Feature - Complete missing catalan translations @rboixaderg [#7209](https://github.com/plone/volto/issues/7209) - Add support for single selection in SelectAutoComplete widget. @iFlameing [#7270](https://github.com/plone/volto/issues/7270) ### Bugfix - Contents view: Label 'None' for deselecting needs to be different from 'None' of a not available value in the table. @ksuess [#7233](https://github.com/plone/volto/issues/7233) - UniversalLink: regression, pass on onClick to Link component. @fredvd [#7240](https://github.com/plone/volto/issues/7240) - Hide the `webstats_head_js` field in the site control panel form @erral [#7244](https://github.com/plone/volto/issues/7244) - Fix corner case in devproxy when pathname is null. @sneridagh [#7276](https://github.com/plone/volto/issues/7276) ### Internal - Update eslint-config-prettier past malware versions to "^9.1.2". @kittauri [#7254](https://github.com/plone/volto/issues/7254) - Test with Plone 6.1.2. @davisagli ## 18.23.0 (2025-06-12) ### Feature - Use translated schema title in Helmet for `Add` component page. @alexandreIFB [#7048](https://github.com/plone/volto/issues/7048) - Improved the component `ContentsDeleteModal` by displaying a detailed list of selected items with clickable links for better clarity and usability. @alexandreIFB [#7054](https://github.com/plone/volto/issues/7054) - Translations from weblate @yurj, @ingovdb, @erral, @MrTango [#7135](https://github.com/plone/volto/issues/7135) - Added the `.error` class to blocks with errors, highlighting them with a red border in edit mode. @alexandreIFB [#7138](https://github.com/plone/volto/issues/7138) ### Bugfix - fix(fetchContent): correctly handle undefined blocksType in async fetchContent @nileshgulia1 [#7114](https://github.com/plone/volto/issues/7114) - Make sure the server-side rendered content is still shown if there is an error while hydrating a page that did not have a server-side error. @davisagli [#7132](https://github.com/plone/volto/issues/7132) - Added missing languages in `packages/volto/src/helpers/LanguageMap/LanguageMap.js`. @JeffersonBledsoe [#7146](https://github.com/plone/volto/issues/7146) - Add default if no filename is supplied in FileView @kittauri [#7174](https://github.com/plone/volto/issues/7174) ## 18.22.0 (2025-05-20) ### Feature - Add `isClearable` prop to `SelectWidget`, allowing configuration of whether the select input can be cleared by the user. @alexandreIFB [#7083](https://github.com/plone/volto/issues/7083) ### Bugfix - The title block should be focused all the subsequent times you edit a content. @ana-oprea [#6880](https://github.com/plone/volto/issues/6880) - Use table sorting icons from pastanaga `icons.woff` instead of assuming we have Font Awesome icons. @ichim-david [#7090](https://github.com/plone/volto/issues/7090) ## 18.21.0 (2025-05-16) ### Feature - The `Add` component can now optionally receive `initialFormData` from the `CreateTranslation` component. This makes it possible for a custom `CreateTranslation` implementation to fully control the initial translation. @Tishasoumya-02 [#7073](https://github.com/plone/volto/issues/7073) ## 18.20.0 (2025-05-12) ### Feature - Fix translations default of ContentsDeleteModal: 'linkintegrity: delete' -> 'delete' if no link to break. @ksuess [#6964](https://github.com/plone/volto/issues/6964) ### Bugfix - Improve typings in ConditionalLink component, add TS tests to catch the bad typings. @sneridagh [#7057](https://github.com/plone/volto/issues/7057) ## 18.19.0 (2025-05-08) ### Feature - Refactor the UniversalLink component using typescript. Use union types for deciding between href or item. Modify tsconfig, include types located in `types` folder, otherwise d.ts files will noch be recognized in .tsx files, e.g. inside components. I need this for the `react-router-hash-link` package, that we use in the UniversalLink component. The specific file is `/types/react-router-hash-link.d.ts`. Modify lint-staged.config.js to exclude d.ts files. Use newest version of classnames (with types). Create tests and negative tests for optimization with React.memo (add render counter for testing this behavior) @tomschall [#6826](https://github.com/plone/volto/issues/6826) - `ConditionalLink` in TypeScript. @sneridagh [#6959](https://github.com/plone/volto/issues/6959) ### Internal - Fixed types of #6826 in build:types. @sneridagh ## 18.18.0 (2025-05-08) ### Feature - Enhance the `ImageInput` component to only accept image files. [@jnptk] [#6926](https://github.com/plone/volto/issues/6926) ### Bugfix - Fixed stuck states in the Image Upload Widget by resetting uploading after failed size validation and dragging after image deletion or drag events, ensuring proper functionality and user feedback. [#7045](https://github.com/plone/volto/issues/7045) ## 18.17.0 (2025-05-06) ### Feature - Added `contained` class if `isContainer` prop is passed (from containers). @sneridagh [#7043](https://github.com/plone/volto/issues/7043) ## 18.16.0 (2025-05-01) ### Feature - Rename `vitest.config.ts` to `vitest.config.mjs` for allowing it to be loaded from add-ons. @sneridagh [#7035](https://github.com/plone/volto/issues/7035) ### Bugfix - Added missing dependency for `sgvo`. Fixed `svgo` library loading in `./vite-plugins/svg.js`. @sneridagh [#7035](https://github.com/plone/volto/issues/7035) - Rename `./vite-plugins/svg.js` to proper extension `vite-plugins/svg.mjs`. @sneridagh [#7035](https://github.com/plone/volto/issues/7035) ## 18.15.1 (2025-04-30) ### Internal - Rereleasing due to a new patch release (`1.4.3`) in `@plone/types`. @sneridagh ## 18.15.0 (2025-04-30) ### Feature - Move `MaybeWrap` to TypeScript. @sneridagh [#7029](https://github.com/plone/volto/issues/7029) ## 18.14.1 (2025-04-25) ### Bugfix - Add support for both Vitest and Jest in `__mocks__` folders of Volto core. Add-on tests using Jest relies on them. @Abhishek-17h [#7000](https://github.com/plone/volto/issues/7000) ## 18.14.0 (2025-04-23) ### Feature - Added current evaluated `querystring` as a parameter in expander's `querystring` key when it's a function. @sneridagh [#7012](https://github.com/plone/volto/issues/7012) ## 18.13.0 (2025-04-22) ### Feature - Allow `object_list` widget to receive a `schemaName` prop, mapped to an utility. @sneridagh [#7007](https://github.com/plone/volto/issues/7007) ## 18.12.1 (2025-04-15) ### Bugfix - Fixed broken tests in add-ons in Volto 18.12.0. @Abhishek-17h [#6989](https://github.com/plone/volto/issues/6989) ### Internal - Removes make commands in root of repository whose packages no longer exist. @wesleybl [#6975](https://github.com/plone/volto/issues/6975) - Use `Image` from `@plone/volto/components/theme/Image/Image` instead of `semantic-ui-react` in `ContentsUploadModal`. @wesleybl [#6982](https://github.com/plone/volto/issues/6982) ## 18.12.0 (2025-04-12) ### Feature - Volto core has migrated from Jest to Vitest as its unit test runner. @Abhishek-17h [#6326](https://github.com/plone/volto/issues/6326) ### Bugfix - Call `initialValue` consistently by passing `null` instead of `{}` to `blocksConfig`. @Abhishek-17h [#6952](https://github.com/plone/volto/issues/6952) ### Internal - Make the Cypress `getSlateEditorAndType` and `getSlateEditorSelectorAndType` commands more robust, avoiding timeouts. @wesleybl [#6962](https://github.com/plone/volto/issues/6962) - Use `Image` from `@plone/volto/components/theme/Image/Image` instead of `semantic-ui-react`. @wesleybl [#6963](https://github.com/plone/volto/issues/6963) - Fixes Cypress "Index Text Block" test. @wesleybl [#6968](https://github.com/plone/volto/issues/6968) - Fix Cypress "Test Yearly recurrence" test. @wesleybl [#6971](https://github.com/plone/volto/issues/6971) ### Documentation - Backport of #6953 to Volto 18. @wesleybl [#6966](https://github.com/plone/volto/issues/6966) ## 18.11.1 (2025-04-07) ### Bugfix - Fixed regression on brown bag minor version of `@storybook/addon-webpack5-compiler-babel`. @sneridagh [#6930](https://github.com/plone/volto/issues/6930) ## 18.11.0 (2025-03-31) ### Feature - Add hidden widget. @robgietema Add static text widget. @robgietema Add time widget. @robgietema Add radio group widget. @robgietema Add checkbox group widget. @robgietema Add taken slugs to slugify helper. @robgietema Add filter choices, additional choices and sort to select widget. @robgietema Add max size and accept type checks to file widget. @robgietema Fix bug with pressing enter in blocks form that events gets bubbled from modal to blocks area. @robgietema Add option to pass custom widget `config` to field component. @robgietema Add optional widgets `config` to form component. @robgietema Add option to override the form component and the buttons in the form component. @robgietema Add option to override cancel label in form. @robgietema Add option to choose between icon and text buttons in the form component. @robgietema Add option to change form data from outside of the form in the modal form. @robgietema Move field factory properties per field to a utility so it can be registered from other packages. @robgietema Move field factory initial data per field to a utility so it can be registered from other packages. @robgietema Add filter factory option to schema widget. @robgietema Add additional factory option to schema widget. @robgietema Add option to allow editing the id of the fields in the schema widget. @robgietema Fix bug when multiple fields were added with the same id in the schema widget. @robgietema Add option to select the shortname as initial data for a new field in the schema widget. @robgietema Change properties form on the fly in the add field modal when changing the factory. @robgietema Fix bug where error messages where not rendered in the form because a string was expected. @robgietema Don't show request error multiple times when a form is validated. @robgietema Fix a bug where the video block schema was not used for validation. @robgietema [#6370](https://github.com/plone/volto/issues/6370) - Add Russian translation in Volto. @toropok [#6874](https://github.com/plone/volto/issues/6874) - Use Plone 6.1.1 final. @sneridagh - Enhance the `ImageInput` component to only accept image files. [@jnptk] [#6926](https://github.com/plone/volto/issues/6926) - Fix translations default of ContentsDeleteModal: 'linkintegrity: delete' -> 'delete' if no link to break. @ksuess [#6964](https://github.com/plone/volto/issues/6964) - Use Plone 6.1.1 final. @sneridagh ### Bugfix - Fixed horizontal drag and drop placeholder. Now it appears behind the next element, and if it is the last element, it highlights the whole draggable area. Vertical placeholder remained untouched. @Narcis2005 [#4405](https://github.com/plone/volto/issues/4405) - Fixed Makefile to use `SITE_DEFAULT_LANGUAGE` instead of `LANGUAGE` for backend Docker setup. This aligns with plone/plone-backend#170 changes and resolves conflicts with the OS `LANGUAGE` environment variable. @boss6825 [#6747](https://github.com/plone/volto/issues/6747) - Improved error handling in the Form component to display the title of the error field in the Toast. This ensures that users see a more descriptive and clear error message when a field is invalid. @alexandreIFB [#6833](https://github.com/plone/volto/issues/6833) - Fix error when saving content with ObjectBrowserNav open. @wesleybl [#6845](https://github.com/plone/volto/issues/6845) - Fix the toolbar icon for the back navigation in the contact form. @kittauri [#6852](https://github.com/plone/volto/issues/6852) - Check if the destination (build public directory) exists before trying to create it in AfterBuildPlugin when consolidating `public` folders from add-ons. @sneridagh [#6853](https://github.com/plone/volto/issues/6853) - Add `aria-label` for search and cancel buttons for the input on search block. @Wagner3UB [#6862](https://github.com/plone/volto/issues/6862) - Prevent submit form from ImageWidget. @giuliaghisini [#6879](https://github.com/plone/volto/issues/6879) - Fixed merge public folder from addons regression. @reebalazs @sneridagh [#6919](https://github.com/plone/volto/issues/6919) ### Internal - Enable documentation builds and update README.md links on branch `18.x.x`. @stevepiercy, @sneridagh [#6876](https://github.com/plone/volto/issues/6876) ### Documentation - Changed `LANGUAGE` to `SITE_DEFAULT_LANGUAGE` in documentation examples to align with plone/plone-backend#170 changes. @boss6825 [#6747](https://github.com/plone/volto/issues/6747) ## 18.10.1 (2025-03-14) ### Bugfix - Fix validation allowing relative URLs when `allowExternals` prop is set. @sneridagh [#6840](https://github.com/plone/volto/issues/6840) ## 18.10.0 (2025-03-13) ### Feature - Add validator for `default_language` in language control panel. @sneridagh [#6811](https://github.com/plone/volto/issues/6811) - Allow setting the default language via a runtime environment variable. @sneridagh [#6830](https://github.com/plone/volto/issues/6830) ### Bugfix - For form validation, use the backend validator props passed to fields. @iRohitSingh. [#6816](https://github.com/plone/volto/issues/6816) - The style wrapper `buildStyleObjectFromData` now accounts for container blocks. @sneridagh [#6832](https://github.com/plone/volto/issues/6832) ### Documentation - Use Cookieplone for installation everywhere. @stevepiercy [#6820](https://github.com/plone/volto/issues/6820) ## 18.9.2 (2025-03-07) ### Bugfix - Does not show empty `class` attribute when rendering `img` tag with `Image` component. @wesleybl [#6788](https://github.com/plone/volto/issues/6788) - Fixed button types across several components to allow reuse in more complex forms @pnicolli [#6791](https://github.com/plone/volto/issues/6791) - Fixed `AlternateHrefLangs` component, missing `FlattenToAppURL`. @sneridagh [#6799](https://github.com/plone/volto/issues/6799) - a11y - Added id attribute to checkbox widget for proper identification and fixes label functionality for screen readers. @Wagner3UB [#6802](https://github.com/plone/volto/issues/6802) ### Documentation - Improve the wording on theming docs. @erral [#6767](https://github.com/plone/volto/issues/6767) - Fix MyST warnings about bad references, remove cookiecutter-plone-starter link, and remove `rietveldschroderhuis.nl` due to repeated failures and no response in https://github.com/collective/awesome-volto/pull/27. @stevepiercy [#6812](https://github.com/plone/volto/issues/6812) ## 18.9.1 (2025-02-20) ### Bugfix - Fix load more comments link. @sneridagh [#6759](https://github.com/plone/volto/issues/6759) ### Internal - Move Seven to its own branch. @sneridagh [#6769](https://github.com/plone/volto/issues/6769) ### Documentation - Fix reference to `link.svg` and include of `_inc/_install-browser-reqs-volto.md`. @stevepiercy [#6760](https://github.com/plone/volto/issues/6760) ## 18.9.0 (2025-02-17) ### Feature - Add self link in alternate language links @erral [#6602](https://github.com/plone/volto/issues/6602) ### Bugfix - Serve `sitemap.xml.gz` as an alias for `sitemap-index.xml`. @reebalazs [#6561](https://github.com/plone/volto/issues/6561) - Move the block chooser beneath the block, instead of covering the block and preventing making a choice, when `config.experimental.addBlockButton` is enabled. @giuliaghisini [#6751](https://github.com/plone/volto/issues/6751) ### Internal - Use Plone 6.1.0 final release. @sneridagh [#6731](https://github.com/plone/volto/issues/6731) - Add Film Basque Country website to README. @erral [#6741](https://github.com/plone/volto/issues/6741) - Sync content from Awesome Volto into README. @stevepiercy [#6745](https://github.com/plone/volto/issues/6745) - Fixes intermittent error in cypress "Index Text Block" test. @wesleybl [#6755](https://github.com/plone/volto/issues/6755) ### Documentation - Document Slate heading as anchor links in Volto blocks user manual. @nileshgulia1 [#5755](https://github.com/plone/volto/issues/5755) ## 18.8.2 (2025-02-08) ### Bugfix - Use a text widget for editing the frontend domain setting in the Volto Settings control panel, instead of the URL widget which causes problems by erasing the current domain. @davisagli [#4171](https://github.com/plone/volto/issues/4171) - Update Dutch translations. @mauritsvanrees [#6476](https://github.com/plone/volto/issues/6476) ### Internal - Test(cypress): fix breaking a list by typing Enter refs- #6586 @nileshgulia1 [#6570](https://github.com/plone/volto/issues/6570) - Add the block `group` name in the block configuration. @erral [#6679](https://github.com/plone/volto/issues/6679) - Test with Plone 6.1.0rc1. @sneridagh [#6682](https://github.com/plone/volto/issues/6682) - Revise the existing issue templates and create a new one for PLIP tasks. @stevepiercy [#6683](https://github.com/plone/volto/issues/6683) - Fix documentation build at Read the Docs. @sneridagh [#6684](https://github.com/plone/volto/issues/6684) - Upgrade jotai to 2.11.3 @ksuess [#6685](https://github.com/plone/volto/issues/6685) - Add Makefile command for testing Cookieplone in CI @sneridagh [#6728](https://github.com/plone/volto/issues/6728) ## 18.8.1 (2025-02-04) ### Bugfix - Fix regression in moving blocks from Grid block. @sneridagh [#6642](https://github.com/plone/volto/issues/6642) ### Internal - Fix `corepack` in CI. @sneridagh For more info: https://github.com/nodejs/corepack/issues/612 [#6640](https://github.com/plone/volto/issues/6640) - Update TS version. @sneridagh [#6641](https://github.com/plone/volto/issues/6641) ## 18.8.0 (2025-01-31) ### Feature - Show the working copy actions (checkin/checkout) based on whether they are enabled in the backend, instead of the `hasWorkingCopySupport` setting. @wesleybl, @davisagli [#5284](https://github.com/plone/volto/issues/5284) - Expose `robots.txt` setting in Volto control panel, and render `robots.txt` based on REST API call. @robgietema [#5580](https://github.com/plone/volto/issues/5580) - Update tests to match the new message in the add-ons loader. @sneridagh [#6630](https://github.com/plone/volto/issues/6630) ### Bugfix - Pass `intl` object to `initialValue` function. @wesleybl [#6529](https://github.com/plone/volto/issues/6529) - Update Dutch translations @fredvd [#6531](https://github.com/plone/volto/issues/6531) - Correctly handle when one of the items is `null` in the Relations control panel. @giuliaghisini [#6629](https://github.com/plone/volto/issues/6629) - Added `field.pattern` as a parameter to the internationalized message. @ionlizarazu [#6631](https://github.com/plone/volto/issues/6631) - Display the appropriately sized image to eliminate blurring from upsizing smaller images in the `srcSet` generation. @giuliaghisini [#6634](https://github.com/plone/volto/issues/6634) ### Internal - Add acceptance test for non-manager user editing group memberships. @ksuess [#5786](https://github.com/plone/volto/issues/5786) - Enhance Volto contributing guidelines. @stevepiercy [#6613](https://github.com/plone/volto/issues/6613) - Split Read the Docs pull request preview builds between Volto and `@plone/registry`. @stevepiercy [#6617](https://github.com/plone/volto/issues/6617) - Updates the first-timer message to use the correct link for feature voting. @stevepiercy [#6625](https://github.com/plone/volto/issues/6625) - Allow `2021.ploneconf.org` to fail readme-link-check. @stevepiercy [#6627](https://github.com/plone/volto/issues/6627) ### Documentation - Amended version policy documentation. @sneridagh Added deprecation notice for Semantic UI theming. [#6541](https://github.com/plone/volto/issues/6541) - Document how to migrate projects to Cookieplone. @stevepiercy @erral [#6626](https://github.com/plone/volto/issues/6626) ## 18.7.0 (2025-01-24) ### Feature - - Fixed handling of the site logo preview to appear after upload. @Shyam-Raghuwanshi [#6591](https://github.com/plone/volto/issues/6591) - Provide language alternate links @erral [#6602](https://github.com/plone/volto/issues/6602) - feat(cypress):Add custom check Accessibility command @Tishasoumya-02 [#6606](https://github.com/plone/volto/issues/6606) ### Bugfix - Improve the usability of the `ObjectBrowser` when inputting a manual value, checking it on blur, and adding a local validator. @sneridagh [#6576](https://github.com/plone/volto/issues/6576) - fix(useClipboard): Do not have a pending promise in a boolean state @nileshgulia1 [#6585](https://github.com/plone/volto/issues/6585) ### Internal - Add Seven convenience Makefile commands. @sneridagh [#6599](https://github.com/plone/volto/issues/6599) - Restore pull request previews on Read the Docs. @stevepiercy [#6612](https://github.com/plone/volto/issues/6612) - Fix lint-staged throwing warnings when a file is checked-in and ignored. @sneridagh [#6614](https://github.com/plone/volto/issues/6614) ### Documentation - Enhancements of the upgrade guide for Volto 18, since we detected some inconsistencies. @sneridagh [#6609](https://github.com/plone/volto/issues/6609) ## 18.6.0 (2025-01-11) ### Feature - Add component to show related items, which can be enabled using the `showRelatedItems` setting. @wesleybl [#3740](https://github.com/plone/volto/issues/3740) ### Bugfix - The depth field in the base search query of the search block was ignored, causing search results to include items beyond the specified depth level. Search results now respect the specified depth configuration. @TechSubham [#5856](https://github.com/plone/volto/issues/5856) - No longer add classes from the query string search text in the `body` tag. @Abhishek-17h [#6493](https://github.com/plone/volto/issues/6493) - Fixed folder contents issues with persistent selection across page changes. @pnicolli [#6554](https://github.com/plone/volto/issues/6554) - Fix robots.txt in devmode @reebalazs [#6572](https://github.com/plone/volto/issues/6572) ### Documentation - Fix redirecting links to Mozilla Developer Network's responsive images. @stevepiercy [#6552](https://github.com/plone/volto/issues/6552) - Add Volto block examples in the documentation. @erral [#6560](https://github.com/plone/volto/issues/6560) ## 18.5.0 (2025-01-09) ### Feature - Add component to show related items, which can be enabled using the `showRelatedItems` setting. @wesleybl [#3740](https://github.com/plone/volto/issues/3740) ### Bugfix - The depth field in the base search query of the search block was ignored, causing search results to include items beyond the specified depth level. Search results now respect the specified depth configuration. @TechSubham [#5856](https://github.com/plone/volto/issues/5856) - No longer add classes from the query string search text in the `body` tag. @Abhishek-17h [#6493](https://github.com/plone/volto/issues/6493) - Fixed folder contents issues with persistent selection across page changes. @pnicolli [#6554](https://github.com/plone/volto/issues/6554) - Fix robots.txt in devmode @reebalazs [#6572](https://github.com/plone/volto/issues/6572) ### Documentation - Fix redirecting links to Mozilla Developer Network's responsive images. @stevepiercy [#6552](https://github.com/plone/volto/issues/6552) - Add Volto block examples in the documentation. @erral [#6560](https://github.com/plone/volto/issues/6560) ## 18.4.0 (2024-12-17) ### Feature - Added a setting in the `config` object to set the site's CSS layers, if required. @sneridagh [#6539](https://github.com/plone/volto/issues/6539) ### Internal - Fixed and re-enabled the types declaration extractor from core Volto. @sneridagh [#6534](https://github.com/plone/volto/issues/6534) ### Documentation - Add monorepo structure to the README. Update the monorepo structure file tree. @stevepiercy [#6542](https://github.com/plone/volto/issues/6542) ## 18.3.0 (2024-12-12) ### Feature - Add disable Teaser block Align handlers for teasers inside containers. @sneridagh [#6527](https://github.com/plone/volto/issues/6527) ### Bugfix - Fix inline comment in `SlotRenderer`. @sneridagh [#6409](https://github.com/plone/volto/issues/6409) - Enhanced linkintegrity popup and moved all logic in a separate component ContentsDeleteModal @giuliaghisini [#6516](https://github.com/plone/volto/issues/6516) - Disable initial scroll to top after SSR completion. @Faakhir30 [#6523](https://github.com/plone/volto/issues/6523) - Add missing styleWrapper style builder information in container/Grid. @sneridagh [#6527](https://github.com/plone/volto/issues/6527) ## 18.2.3 (2024-12-09) ### Bugfix - Fixed circular import error in dev with HMR in core Views and Widgets shadow customizations. @sneridagh [#6526](https://github.com/plone/volto/issues/6526) ## 18.2.2 (2024-12-09) ### Bugfix - Fixed circular import error in dev with HMR in core Blocks shadow customizations. @sneridagh [#6525](https://github.com/plone/volto/issues/6525) ## 18.2.1 (2024-12-09) ### Bugfix - Fixes ICS download in non-public event content. @sneridagh [#6515](https://github.com/plone/volto/issues/6515) - Fixed circular import error in dev with HMR in `App` component when imported in the main default config. @sneridagh [#6524](https://github.com/plone/volto/issues/6524) ### Internal - Fix extension in files containing JSX. @sneridagh [#6520](https://github.com/plone/volto/issues/6520) ## 18.2.0 (2024-12-08) ### Internal - Removed all imports from barrel files for components, actions, helpers, hooks and lodash. @pnicolli [#6509](https://github.com/plone/volto/issues/6509) ## 18.1.2 (2024-12-05) ### Bugfix - Remove `not ie 11` from browserslist configuration, because it is now included in `not dead`. @stevepiercy [#6501](https://github.com/plone/volto/issues/6501) - Fix warnings related to `snapshot.managedPaths` on startup. @davisagli [#6511](https://github.com/plone/volto/issues/6511) ### Internal - Add Accessibility acceptance tests for content types. @ana-oprea @ichim-david [#6339](https://github.com/plone/volto/issues/6339) - Fixed the `README.md` for Volto core when releasing to npm registry: copy it from the root of the monorepo on release. @sneridagh [#6510](https://github.com/plone/volto/issues/6510) ### Documentation - Add new Volto trainings to tutorials. @stevepiercy [#6499](https://github.com/plone/volto/issues/6499) - `html_use_opensearch` value must not have a trailing slash. Clean up comments. @stevepiercy [#6502](https://github.com/plone/volto/issues/6502) ## 18.1.1 (2024-11-21) ### Bugfix - Do not break toolbar if layout id is not registered in layoutViewsNamesMapping. @cekk [#6485](https://github.com/plone/volto/issues/6485) - Replace _all_ spaces with `-` in `BodyClass` classes, instead of with `-` or `` depending on the content type or section. @giuliaghisini [#6487](https://github.com/plone/volto/issues/6487) ### Internal - Update instructions to install `pipx` in `RELEASING.md`. @stevepiercy [#6496](https://github.com/plone/volto/issues/6496) ### Documentation - More privacy concerning youtube links and fixing link check warnings for youtube playlist links. @stevepiercy @ksuess [#4203](https://github.com/plone/volto/issues/4203) - Remove conflicting `searchtools.js` file from documentation to allow default Sphinx search in main Plone documentation. @stevepiercy [#6482](https://github.com/plone/volto/issues/6482) - Add support for sphinxcontrib-youtube. @stevepiercy [#6486](https://github.com/plone/volto/issues/6486) - Refactor documentation includes to align with main documentation pattern. @stevepiercy [#6495](https://github.com/plone/volto/issues/6495) ## 18.1.0 (2024-11-11) ### Feature - Update Dutch translations. @fredvd [#6476](https://github.com/plone/volto/issues/6476) ### Bugfix - URL Management control panel: Show errors from a failed CSV upload. @davisagli [#6473](https://github.com/plone/volto/issues/6473) - Added missing style Helmet serialization in the HTML component to make it work in SSR. @sneridagh Fix deprecation notice for the usage of apple-mobile-web-app-capable. [#6480](https://github.com/plone/volto/issues/6480) ### Internal - Added React Router 7 experimental PoC. @sneridagh [#6472](https://github.com/plone/volto/issues/6472) ### Documentation - Overhaul and update of the add-ons section in documentation. @sneridagh [#6397](https://github.com/plone/volto/issues/6397) ## 18.0.3 (2024-11-05) ### Bugfix - Fixed image generation because of a bug in the docker build with registry typings. @sneridagh [#6471](https://github.com/plone/volto/issues/6471) ## 18.0.2 (2024-11-05) ### Internal - Fix missing export src in @plone/components Also improve packaging in packages. @sneridagh [#6470](https://github.com/plone/volto/issues/6470) ## 18.0.1 (2024-11-05) ### Bugfix - Fix ERR_REQUIRE from ESM module requiring CJS module in `@plone/registry` fix tests. @sneridagh [#6458](https://github.com/plone/volto/issues/6458) ### Internal - Improve exports in @plone/registry, adapt the Jest test setup. @sneridagh [#6461](https://github.com/plone/volto/issues/6461) - Removed `parcel` completely from core. @sneridagh [#6469](https://github.com/plone/volto/issues/6469) ### Documentation - Fix display of nvm version when installing it for Contributing to Volto. @stevepiercy [#6460](https://github.com/plone/volto/issues/6460) ## 18.0.0 (2024-10-31) (Summary) ### Breaking - Dropped support for Node.js 18, since Volto only supports the last two LTS versions. @sneridagh Volto might continue to work on it, but it will be no longer tested in CI. [#6371](https://github.com/plone/volto/issues/6371) - Added `react/jsx-key` rule for ESlint to detect missing key property in iterators. @sneridagh [#6387](https://github.com/plone/volto/issues/6387) - Move `Tags` component to the slot `belowContent`. @wesleybl [#6269](https://github.com/plone/volto/issues/6269) - Add foundations for extensible validation in forms. @sneridagh - `packages/volto/src/helpers/FormValidation/FormValidation.jsx` has been heavily refactored. - If you shadowed this component in your project or add-on, you should review it and update it accordingly. [#6161](https://github.com/plone/volto/issues/6161) - Remove `react-share` library and `SocialSharing` component @sneridagh [#6162](https://github.com/plone/volto/issues/6162) - In the widget mapping, moved the `SchemaWidget` registration from the `id` object to the `widget` object, and added the `widget` key to the `schema` object in the `properties` object for `makeSchemaList`. @sneridagh [#6189](https://github.com/plone/volto/issues/6189) - Fixed image widget position and look and feel in sidebar. @ichim-david - Updated the markup of the widget in the sidebar to render the widget on a single column bellow the label. - AddLink Pop-up of the widget is now rendered inside `toolbar-inner` instead of the document body, this fixes the positioning of the toolbar when scrolling. [#6159](https://github.com/plone/volto/issues/6159) - Added `ImageWidget` component with upload, drop, external, and inline capabilities. @sneridagh @ichim-david @dobri1408 - The user experience of the image upload has changed. - The input field is now a row of buttons. - The input field's placeholder text was moved above the buttons. - Together these changes improve usability both on small screens and in small containers, such as when the widget is in grid block elements. - If you shadow the image block edit component, make sure it continues to work as you expect, or update it to use the new image upload widget component. [#5607](https://github.com/plone/volto/issues/5607) - Improve container detection, `config.settings.containerBlockTypes` is no longer needed @sneridagh [#6099](https://github.com/plone/volto/issues/6099) - Fix JavaScript events association on error pages. Also remove settings `config.settings.serverConfig.extractScripts.errorPages`. Now scripts are added to error pages, regardless of whether we are in production mode or not. @wesleybl [#6048](https://github.com/plone/volto/issues/6048) - Breaking from the original slots implementation: - Now `config.getSlots` in the configuration registry takes the argument `location` instead of `pathname`. - This allows to have more expressive conditions, and fulfill the use case of the `Add` form. @sneridagh [#6063](https://github.com/plone/volto/issues/6063) - Use `id` instead of `title` for the fieldset's generated value when rendering a `Field` component in a form. @sneridagh [#5921](https://github.com/plone/volto/issues/5921) - Moved `devDependencies`