apostrophe
Advanced tools
Changelog
3.47.0 (2023-05-05)
jsdom
22 is incompatible with Node 14. Node 16 and Node 18 are both
still supported. However, because Node 16 reaches its
end-of-life date quite soon (September), testing and upgrading directly
to Node 18 is strongly recommended.sluggo
to version 1.0.0.jsdom
to version 22.0.0
to address an installation warning about the word-wrap
module.extendQueries
to use super pattern for every function in builders and methods (and override properties that are not functions).Changelog
3.46.0 (2023-05-03)
@apostrophecms/ai-helper
module, and also helps in other situations.e.doc
exists when handling content-changed
event.uploadfs
version with no dependency warnings.following: '<parentField'
syntax, where the starting <
indicates the parent level. For example <parentField
follows a field in the parent level, <<grandParentField
follows a field in the grandparent level, etc. The change is fully backward compatible with the current syntax for following fields from the same schema level.Changelog
3.45.1 (2023-04-28)
html-to-text
package to the latest major version.Changelog
3.45.0 (2023-04-27)
insert
option, an array
which currently may contain the strings image
and table
in order to add a
convenient "insert menu" that pops up when the slash key is pressed.
This provides a better user experience for rich text features that shouldn't
require that the user select existing text before using them.width: max-content
in the admin UI.apos-refreshing
Apostrophe bus event can be used to prevent
Apostrophe from refreshing the main content zone of the page when images
and pieces are edited, by clearing the refresh
property of the object
passed to the event.apos.modal.onTopOf(el1, el2)
function is now
available to check whether an element is considered to be "on top of" another element in
the modal stack.v-click-outside-element
Vue directive now understands that modals "on top of"
an element should be considered to be "inside" the element, e.g. clicks on them
shouldn't close the link dialog etc.null
choice to select fields that do not have a default value (required or not) and to the ones configured with dynamic choices.oembed
field where the value was kept in memory after cancelling the widget editor, which resulted in saving the value if the widget was nested and the parent widget was saved.
Also improve the oembed
field UX by setting the input as readonly
rather than disabled
when fetching the video metadata, in order to avoid losing its focus when typing.Changelog
3.44.0 (2023-04-13)
checkboxes
fields now support a new style: 'combobox'
option for a better multiple-select experience when there
are many choices.guestApiAccess
option is set to true
for a piece type or for @apostrophecms/page
,
Apostrophe will allow all logged-in users to access the GET-method REST APIs of that
module, not just users with editing privileges, even if publicApiProjection
is not set.
This is useful when the goal is to allow REST API access to "guest" users who have
project-specific reasons to fetch access content via REST APIs.test-lib/utils.js
has new createUser
and loginAs
methods for the convenience of
those writing mocha tests of Apostrophe modules.batchOperations
permissions: if a permission
property is added to any entry in the batchOperations
cascade of a piece-type module, this permission will be checked for every user. See batchOperations
configuration in modules/@apostrophecms/piece-type/index.js
. The check function checkBatchOperationsPermissions
can be extended. Please note that this permission is checked only to determine whether to offer the operation.Changelog
3.43.0 (2023-03-29)
itemLabel
option of an array
field.touch
task for every piece type. This task invokes update
on each piece, which will execute all of the same event handlers that normally execute when a piece of that type is updated. Example usage: node app article:touch
.relationship
field has no sub-fields
configured.includes
for a simpler, safer test that should be more cross-platform.Changelog
3.42.0 (2023-03-16)
style: table
on inline arrays. It will display the array as a regular HTML table instead of an accordion.
See the array field documentation for more information.draggable: false
on inline arrays. It will disable the drag and drop feature. Useful when the order is not significant.
See the array field documentation for more information.utilityOperations
feature of piece types now supports additional properties:
relationship: true
(show the operation only when editing a relationship), relationship: false
(never show
the operation when editing a relationship), button: true
, icon
and iconOnly: true
.
When button: true
is specified, the operation appears as a standalone button rather than
being tucked away in the "more" menu.utilityOperations
can now specify eventOptions
with an event
subproperty
instead of modalOptions
. This is useful with the new edit
event (see below).await apos.doc.edit({ type: 'article' })
(the type here is an example). To edit an existing document add an
_id
property. To copy an existing document (like our "duplicate" feature) add a copyOf
property. When creating new pages, type
can be sent to @apostrophecms/page
for convenience
(note that the type
property does not override the default or current page type in the editor).edit
Apostrophe event is now available and takes an object with the same properties
as above. This is useful when configuring utilityOperations
.content-changed
Apostrophe event can now be emitted with a select: true
property. If a
document manager for the relevant content type is open, it will attempt to add the document to the
current selection. Currently this works best with newly inserted documents.$t(key)
to localize a string inside
an interpolated variable. This was accomplished by setting skipOnVariables
to false
for i18next, solely on the front end for admin UI purposes.choices
now accepts a module prefix to get the method from, and the ()
suffix.
This has been done for consistency with the external conditions syntax shipped in the previous release. See the documentation for more information.viewPermission
property of schema fields, and renamed permission
to editPermission
(with backwards
compatibility) for clarity. You can now decide if a schema field requires permissions to be visible or editable.
See the documentation for more information.NODE_ENV
, overriden by environmentLabel
option in @apostrophecms/login
module. The environment variable APOS_ENV_LABEL
will override this. Note that NODE_ENV
should generally only be set to development
(the default) or production
as many Node.js modules opt into optimizations suitable for all deployed environments when it is set to production
. This is why we offer the separate APOS_ENV_LABEL
variable.@apostrophecms/doc-type
and @apostrophecms/submitted-drafts
where we were using canCreate
instead of showCreate
to display the Create New
button or showing the Copy
button in Manager
modals.