Apostrophe 4.18.0: Improved Conditional Fields, Image Links in Rich Text and Image Widgets, and a new Default Rich Text Toolbar #4978
BoDonkey
announced in
Release Notes
Replies: 0 comments
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Uh oh!
There was an error while loading. Please reload this page.
-
Apostrophe 4.18.0: Improved Conditional Fields, Image Links in Rich Text and Image Widgets, and a new Default Rich Text Toolbar
Hello Apostrophe Community!
Apostrophe 4.18.0 continues our commitment to improving the editorial experience with more options for conditional fields, easy image linking, and expanded rich text editing tools and styles.
pres-4.18.0.mp4
Advanced Conditional Fields with Enhanced Query Capabilities
This release introduces enhancements to conditional field logic, giving developers more precise control over when fields appear in editing interfaces. Conditional fields now support
following, enabling fields to be conditionally displayed based on values within deeply nested objects or arrays.Additionally, conditional fields now support dot notation for conditionals like array length and MongoDB-like query operators including
$gt,$gte,$lt, and$lte. This enhancement applies to all conditional fields, allowing developers to create more focused editing interfaces throughout the platform.Unified Image Linking Experience
We've enhanced how editors work with images by introducing linking capabilities that work consistently whether images are added through the rich text editor or the image widget.
Images are now added as figure elements with caption support, providing better semantic structure and styling opportunities. This structure also enables captions and linking functionality. By default, the widgets allow you to add links to URLs or internal pages. The
linkWithTypeoption allows you to add links to any piece-type show page.Important Styling Note: Developers should review and update their CSS to ensure proper styling of figure-based images. An inline
margin: 0style is added by default, but can be disabled by settinginlineStyles: falsein widget configuration.Streamlined Rich Text Editing
We've expanded the default toolbar and styling options available in the rich text widget, reducing setup work for new projects. Common formatting options that previously required explicit configuration are now available by default, allowing content teams to start creating formatted content immediately.
These enhancements reduce friction in the content creation process while maintaining the flexibility developers need to create customized editorial experiences. To take advantage of these new default settings in an existing project, just remove any project-level rich text widget toolbar options.
Enterprise Contributions: Zero-Downtime Site Management
We're proud to highlight a significant contribution from Michelin to our multisite capabilities. As briefly noted on May 20th, the multisite extension now supports zero-downtime site reloads and proactive site prewarming, enabling enterprise customers to manage large-scale deployments more efficiently. When site configurations change, the system serves requests with existing instances while new instances start in the background, ensuring seamless transitions and improved performance.
Quality of Life Improvements
This release includes several refinements that improve the overall editorial experience:
These improvements are ready for you to explore! Update your projects with
npm updateand let us know what you think on our roadmap. Your feedback helps us refine and enhance ApostropheCMS to meet your needs.🚀 Happy coding!
Apostrophe 4.18.0
Adds
followingvalues from the parent schema fields.followingIgnoreoption to thestringfield schema. By default,followingIgnorewill be an empty array. This means that any fields being used throughfollowingfor setting a conditional will also be used to set the string value for the field. A booleantrueresults in allfollowingvalues being ignored (not attempted to be used as a value for the field). When an array of strings is used as value, the UI will ignore every item that matches afollowingfield name, but all fields will still be available for conditional operations. See the documentation for more information.@apostrophecms/image-widgetUI and a new optionlinkWithTypeto control what document types can be linked to. Opt-out of the widget inline styles (reset) by settinginlineStyles: falsein the widget configuration or contextual options (area).linkWithTypeRich Text option and uses the same schema (linkFields) used for text links. Theextensionoption can be used to add schema fields to thelinkFieldsthat apply only to a single widget (either Rich-Text or Image)Changes
Cache-Controlheader tono-storefor error pages in order to prevent the risk of serving stale error pages to users.Fixes
AposButtonnow supports the:download="true"prop as expected.reqobject with the corresponding rights. The old behavior gave non-admin API keys less access than expected.Enterprise modules
@apostrophecms-pro/multisite4.4.0This module lets you have many ApostropheCMS websites running on a single codebase in a single Node.js process. Each has its own database, users, media uploads, etc. Sites can be created and managed via a dashboard site. Explore our documentation to discover how this extension can enhance your project. For further details or inquiries, feel free to contact us or visit our pricing page.
Adds
prewarmSitesoption to proactively initialize specified or all site instances during multisite startup, before the server begins listening for traffic, reducing initial request latency for those sites. Thanks to Michelin for contributing this feature.oldInstanceGracePeriod). Thanks to Michelin for contributing this feature.@apostrophecms-pro/palette4.8.0An in-context interface for changing CSS.
@apostrophecms-pro/paletteis a module that provides an in-context interface for changing the values of developer-set CSS properties. The values are stored in an Apostrophe piece singleton (like @apostrophecms/global) and applied to the site whenever the stylesheet link is included in a template. Adjusting values via the palette interface renders changes to the site instantly. Explore our documentation to discover how this extension can enhance your project. Then, effortlessly integrate it through our new Apostrophe Workspaces. For further details or inquiries, feel free to contact us or visit our pricing page.Changes
postcss-viewport-to-container-toggleto2.Apostrophe modules
@apostrophecms/vite1.1.0This extension provides Vite integration for ApostropheCMS projects, enabling module bundling and hot module replacement (HMR) during development.
Changes
eslint-config-apostropheto5, fixes errors, removes unused dependencies.vite@61.0.0 (2024-12-18)
Fixes
postcss-viewport-to-container-toggleplugin only onpublicbuilds to avoid breaking apos UI out ofapos-refreshable.Utilities
@apostrophecms/apostrophe-astro1.4.0This module integrates ApostropheCMS into your Astro application.
Adds
util(currently containing onlyslugify) andattachmenthelpers to mimic Apostrophe's Nunjucks helpers.Fixes
1.3.1 (2025-05-23)
Fixes
postcss-viewport-to-container-toggle1.2.0A plugin for PostCSS that allows to toggle between viewport and container units based on the presence of a container data attribute.
Adds
[data-apos-refreshable-body]that exists and replace the body in breakpoint preview in core.@apostrophecms/stylelint-config-apostrophe4.3.0This module provides a stylelint configuration for the Apostrophe team and contributors.
Changed
custom/require-nested-after-includerule to a standalone@apostrophecms/stylelint-no-mixed-declsplugin and use it.@apostrophecms/stylelint-config-apostrophe1.1.0 (2025-06-02)A Stylelint plugin that enforces Sass's mixed-decls rule — requiring declarations and nested rules to be ordered according to Sass's updated behavior.
1.1.0
Adds
1.0.0 (2025-05-23)
Adds
Beta Was this translation helpful? Give feedback.
All reactions