You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
This release is all about choices. Most schema fields now have a new conditional setting, requiredIf, that works much like the if setting. This setting can determine whether a schema field is required based on the values of other fields in the schema or calls to a method.
The @apostrophecms/form extension has a new widget that allows you to choose to group subforms using an HTML fieldset tag (See what I did there? 😉). It is as simple as adding the form-group-widget and then adding your other form widgets inside. The widget also adds a legend tag for each set of subforms added.
Moving forward, you are going to be hearing from the Apostrophe team with a little less frequency as we retune our release schedule. In order to deliver the best product that we can, we are shifting to a monthly release cycle instead of the current bi-weekly rhythm. This will give us additional time to fine-tune the user experience with more QA testing and time for our engineers to craft the best code possible. Next up, improvements to advanced permissions!
⚠️ Updating Apostrophe core for the new requiredIf setting affects the @apostrophecms-pro/data-set, @apostrophecms-pro/document-versions, and @apostrophecms-pro/doc-template-library extensions. If your project uses these modules, they must be updated alongside the core. This can be done using npm update.
Barring hot fixes, the next release note will come at the end of November.
Apostrophe 3.59.0
Changes
Webpack warnings about package size during the admin UI build process have been turned off by default. Warnings are still enabled for the public build, where a large bundle can be problematic for SEO.
Fixes
Apostrophe warns you if you have more than one piece page for the same piece type and you have not overridden chooseParentPage to help Apostrophe decide which page is suitable as the _url of each piece. Beginning with this release, Apostrophe can recognize when you have chosen to do this via extendMethods, so that you can call _super() to fall back to the default implementation without receiving this warning. The default implementation still just returns the first page found, but always following the _super() pattern here opens the door to npm modules that improve@apostrophecms/piece-page to do something more sophisticated by default.
newInstance always returns a reasonable non-null empty value for area and object fields in case the document is inserted without being passed through the editor, e.g. in a parked page like the home page. This simplifies the new external front feature.
Adds
An adapter for Astro is under development with support from Michelin. Starting with this release, adapters for external fronts, i.e. "back for front" frameworks such as Astro, may now be implemented more easily. Apostrophe recognizes the x-requested-with: AposExternalFront header and the apos-external-front-key header. If both are present and apos-external-front-key matches the APOS_EXTERNAL_FRONT_KEY environment variable, then Apostrophe returns JSON in place of a normal page response. This mechanism is also available for the render-widget route.
Like type, metaType is always included in projections. This helps ensure that apos.util.getManagerOf() can be used on any object returned by the Apostrophe APIs.
An in-context interface for changing CSS. @apostrophecms-pro/palette is 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. Contact us or visit our new pricing page to learn more.
Fixes
Adds a fix so that @apostrophecms/global contains the generated stylesheet when palette is first inserted.
This module provides an easy avenue for low-code data presentation. It creates a data-set piece for the import of comma-separated values (CSV) files. A separate widget allows for the dynamic selection of columns, and display of the data as an HTML table, or in other templates provided by the developer. Contact us or visit our new pricing page to learn more.
Adds
Updates code to make it work with the new conditionally required fields feature
This module automatically creates versions for your published documents (pages and pieces) and allows manual restore to any previously saved document version. Contact us or visit our new pricing page to learn more.
Adds
Updates code to make it work with the new conditionally required fields feature
This module solves the "blank page problem" for developers and product managers, and makes it faster for editors to create content. doc-template-library allows for the configuration of default widgets and pre-populated content on piece or page templates, and to re-use existing layouts. Contact us or visit our new pricing page to learn more.
Adds
Updates code to make it work with the new conditionally required fields feature
Fixes
Types with options.singleton or options.singletonAuto should automatically be opted out, as it never makes sense to make a second instance, the first is created automatically, and the UI of modules like palette can become confused by the sudden appearance of the Template field group.
This module generates XML and plaintext sitemaps for sites powered by the Apostrophe CMS.
Changed
Sitemaps now appear as XML source rather than awkwardly rendered text when viewed in the browser. There was never a problem with the XML from Google's perspective, but this improves the developer experience. Thanks to [norbie-nagy] (https://github.com/norbie-nagy) for contributing this improvement.
reacted with thumbs up emoji reacted with thumbs down emoji reacted with laugh emoji reacted with hooray emoji reacted with confused emoji reacted with heart emoji reacted with rocket emoji reacted with eyes emoji
-
Salutations Apostrophe Universe!
This release is all about choices. Most schema fields now have a new conditional setting,
requiredIf
, that works much like theif
setting. This setting can determine whether a schema field is required based on the values of other fields in the schema or calls to a method.The
@apostrophecms/form
extension has a new widget that allows you to choose to group subforms using an HTMLfieldset
tag (See what I did there? 😉). It is as simple as adding theform-group-widget
and then adding your other form widgets inside. The widget also adds alegend
tag for each set of subforms added.Moving forward, you are going to be hearing from the Apostrophe team with a little less frequency as we retune our release schedule. In order to deliver the best product that we can, we are shifting to a monthly release cycle instead of the current bi-weekly rhythm. This will give us additional time to fine-tune the user experience with more QA testing and time for our engineers to craft the best code possible. Next up, improvements to advanced permissions!
Barring hot fixes, the next release note will come at the end of November.
Apostrophe 3.59.0
Changes
Fixes
chooseParentPage
to help Apostrophe decide which page is suitable as the_url
of each piece. Beginning with this release, Apostrophe can recognize when you have chosen to do this viaextendMethods
, so that you can call_super()
to fall back to the default implementation without receiving this warning. The default implementation still just returns the first page found, but always following the_super()
pattern here opens the door to npm modules thatimprove
@apostrophecms/piece-page
to do something more sophisticated by default.newInstance
always returns a reasonable non-null empty value for area and object fields in case the document is inserted without being passed through the editor, e.g. in a parked page like the home page. This simplifies the new external front feature.Adds
x-requested-with: AposExternalFront
header and theapos-external-front-key
header. If both are present andapos-external-front-key
matches theAPOS_EXTERNAL_FRONT_KEY
environment variable, then Apostrophe returns JSON in place of a normal page response. This mechanism is also available for therender-widget
route.type
,metaType
is always included in projections. This helps ensure thatapos.util.getManagerOf()
can be used on any object returned by the Apostrophe APIs.Apostrophe 3.x modules
@apostrophecms/redirect
1.3.0Manages site redirects for Apostrophe.
Adds
@apostrophecms/form
1.3.0Allow ApostropheCMS editors to build their own forms. They can then place any form in one or more content areas across the website.
Adds
Fixes
@apostrophecms/seo
1.2.1Add useful meta fields to all pages and pieces.
Changes
@apostrophecms/import-export
1.1.0This A3 module enables import and export of pages and pieces, with or without related documents such as files, images and other related types.
Adds
Enterprise modules
@apostrophecms-pro/palette
3.2.2An in-context interface for changing CSS.
@apostrophecms-pro/palette
is 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. Contact us or visit our new pricing page to learn more.Fixes
@apostrophecms/global
contains the generated stylesheet when palette is first inserted.@apostrophecms-pro/data-set
1.0.4This module provides an easy avenue for low-code data presentation. It creates a data-set piece for the import of comma-separated values (CSV) files. A separate widget allows for the dynamic selection of columns, and display of the data as an HTML table, or in other templates provided by the developer. Contact us or visit our new pricing page to learn more.
Adds
@apostrophecms-pro/document-versions
1.1.3This module automatically creates versions for your published documents (pages and pieces) and allows manual restore to any previously saved document version. Contact us or visit our new pricing page to learn more.
Adds
@apostrophecms-pro/doc-template-library
1.1.3This module solves the "blank page problem" for developers and product managers, and makes it faster for editors to create content. doc-template-library allows for the configuration of default widgets and pre-populated content on piece or page templates, and to re-use existing layouts. Contact us or visit our new pricing page to learn more.
Adds
Fixes
options.singleton
oroptions.singletonAuto
should automatically be opted out, as it never makes sense to make a second instance, the first is created automatically, and the UI of modules like palette can become confused by the sudden appearance of theTemplate
field group.Apostrophe 2.x modules
@apostrophe-site-map
2.9.0This module generates XML and plaintext sitemaps for sites powered by the Apostrophe CMS.
Changed
Beta Was this translation helpful? Give feedback.
All reactions