apostrophe
Advanced tools
Changelog
4.9.0 (2024-10-31)
data-apos-focus-priority
attribute that prioritizes them inside the focusable elements list.data-apos-focus-priority
appears or the max retry threshold is reached.before: "module-name"
property in their configuration to initialize them before another module, bypassing the normal
order implied by defaults.js
and app.js
.select
and checkboxes
fields that implement dynamic choices can now take into account the value of other fields on the fly, by specifying
a following
property with an array of other field names. Array and object subfields can access properties of the parent document
by adding a <
prefix (or more than one) to field names in following
to look upwards a level. Your custom method on the server side will
now receive a following
object as an additional argument. One limitation: for now, a field with dynamic choices cannot depend on another field
with dynamic choices in this way.shortcut
property to display breakpoints out of the dropdown.[data-apos-refreshable]
.isActive
state to context menu items. Also adds possibility to add icons to context menu items.vh
and vw
values on breakpoint preview mode.when
condition with possible values hmr
, prod
, and dev
. Modules should explicitely register their components with the same when
value and the condition should be met to inject the component.bundler
registration condition. It's in use only when registering a component and will be evaluated on runtime. The value should match the current build module (webpack
or the external build module alias).@apostrophecms/asset:reset
to reset the asset build cache and all build artifacts.@apostrophecms/asset
module to enable bundling via build modules.apos.asset.devServerUrl()
nunjucks helper to get the (bundle) dev server URL when available.options.hmr
that accepts public
(default), apos
or false
to enable HMR for the public bundle or the admin UI bundle or disable it respectively. This configuration works only with external build modules that support HMR.options.hmrPort
that accepts an integer (default null
) to specify the HMR WS port. If not specified, the default express port is used. This configuration works only with external build modules that support HMR WS.options.productionSourceMaps
that accepts a boolean (default false
) to enable source maps in production. This configuration works only with external build modules that support source maps.@import
. The Sass team has stated there will be a two-year transition period before the feature is actually removed. The use of @import
is common practice in the Apostrophe codebase and in many project codebases. We will arrange for an orderly migration to the new @use
directive before Sass 3.x appears.mergeConfiguration
, autodetectBundles
, lintModules
, nestedModuleSubdirs
and testDir
are now async.express.getSessionOptions
is now async.AposAreaMenu.vue
component to set the disabled
attribute to true
if the max number of widgets have been added in an area with expanded: true
.pnpm: true
option in app.js
is no longer breaking the application.vue-template-compiler
dependency.@apostrophecms/global
doc and more generally all singletons.isEqual
method of area
field type to avoid comparing an area having temporary properties with one having none.withRelationships
an dot notion.
If this is done in combination with a projection, this projection is updated to add the id storage fields of the needed relationships for the whole withRelationships
path.sendPage
call and there is no current "in context" page or piece.Changelog
4.7.2 and 4.8.1 (2024-10-09)
uploadfs
options are present in some specific cloud environments e.g. when using Azure Blob Storage.Changelog
4.7.2 and 4.8.1 (2024-10-09)
uploadfs
options are present in some specific cloud environments e.g. when using Azure Blob Storage.Changelog
4.8.0 (2024-10-03)
@apostrophecms/asset
module's new breakpointPreviewMode
option. Once enabled, the asset build process will duplicate existing media queries as container queries. There are some limitations in the equivalence between media queries and container queries. You can refer to the CSS @container at-rule documentation for more information. You can also enable breakpointPreviewMode.debug
to be notified in the console when the build encounters an unsupported media query.img
tags pointing to existing images, you can now import them all quickly. When supplying the rich text widget object, include an import
property with an html
subproperty, rather than the usual content
property. You can optionally provide a baseUrl
subproperty as well. Any images present in html
will be imported automatically and the correct figure
tags will be added to the new rich text widget, along with any other markup acceptable to the widget's configuration.newInstance
found in Apostrophe, e.g. for widgets, array items, relationship fields and documents themselves, have been consolidated in one implementation. The same code is now reused both on the front and the back end, ensuring the same result without the need to introduce additional back end API calls.@apostrophecms/page
module APIs no longer allow a page to become a child of itself. Thanks to Maarten Marx for reporting the issue.<use>
tags granted their xlink:href
property is a local reference and begins with the #
character. This improves SVG support while mitgating XSS vulnerabilities.piecesFilters
feature when using dynamic choices.title
as titleField
value by default (consistent with the Slat list).Changelog
4.7.1 (2024-09-20)
_defaults
.Changelog
4.7.0 (2024-09-05)
big-upload-client
module can now be used to upload very large files to any route that uses the new big-upload-middleware
.skipReplace
for apos.doc.changeDocIds
method to skip the replacing of the "old" document in the database.@apostrophecms/i18n
module now exposes a locales
HTTP GET API to aid in implementation of native apps for localized sites.menuId
so that interested components can listen to their opening/closing.AposWidget
component through props.replaces
(boolean, false
by default) option to the context operation definition (registered via apos.doc.addContextOperation()
) to allow the operation to require a replace confirmation before being executed. The user confirmation results in the Editor modal being closed and the operation being executed. The operation is not executed if the user cancels the confirmation.checkedTypes
via the pages body toolbar operations (e.g. 'batch') to the modal.uploadfs
dependency to ensure .tar.gz
, .tgz
and .gz
files uploaded to S3 download without double-gzipping.
This resolves the issue for new uploads.debounce-async
dependencyAposSlatLists
so that elements are properly reordered on dragChangelog
4.6.1 (2024-08-26)
alwaysOpen
replaced with UI togglesChangelog
4.6.0 (2024-08-08)
simulateRelationshipsFromStorage
method in schema module.
This method populates the relationship field with just enough information to allow convert to accept it. It does not fully fetch the related documents. It does the opposite of prepareForStorage.fetchRelationships
option to false will prevent convert from actually fetching relationships to check which related documents currently exist.
The shape of the relationship field is still validated.title
and _url
to select all projection.Select all
message on all pages in the manager modal.checked
in manager modal after archive action.@apostrophecms/emulate-mongo-3-driver
dependency to keep supporting mongodb@3.x
queries while using mongodb@6.x
.inline: true
option is used.editorModal
and managerModal
are now applied all the time.oembetter
dependency to guarantee compatibility with YouTube. YouTube recently deployed broken link rel="undefined"
tags on some of their video pages.@apostrophecms/security-headers
is installed, because its defaults are incompatible by design.