apostrophe
Advanced tools
Changelog
3.1.3 - 2021-07-16
vue-loader
and webpack
5.45.0 which causes a crash at startup in development, or asset build time in production. We have temporarily pinned our dependency to webpack
5.44.x. We are contributing to the discussion around the best long-term fix for vue-loader.Changelog
3.1.2 - 2021-07-14
mapMongoIdToJqtreeId
, that was used in A2 but is no longer relevant.edit
method in the AposDocsManager.vue
component.Changelog
3.1.1 - 2021-07-08
ui/src/index.scss
file, similar to the fix already applied to allow multiple ui/src/index.js
files.Changelog
3.1.0 - 2021-06-30
package-lock.json
has been modified (i.e. you installed a new module that might contain new Apostrophe admin UI code). If you are actively developing Apostrophe admin UI code, you can opt into rebuilding all the time with the APOS_DEV=1
environment variable. In any case, ui/src
is always rebuilt in a dev environment.cheerio
, deep-get-set
, and oembetter
versions to resolve vulnerability warnings.ui/src
folder, but no other content, are no longer considered "empty" and do not generate a warning.self.renderPage
method for removal in next major version.ui/src/index.js
files must export a function to avoid a browser error in production which breaks the website experience, we now detect this at startup and throw a more helpful error to prevent a last-minute discovery in production.Changelog
3.0.1 - 2021-06-17
ui/src/index.js
file in the same project. Using more than one is a good practice as it allows you to group frontend code with an appropriate module, or ship frontend code in an npm module that extends Apostrophe.ui/public
to ui/src
, which provides a robust functional test of the above.ui/src
imports without waiting for next tick, which is appropriate as we have positioned it as an alternative to ui/public
which is run without delay.Changelog
3.0.0 - 2021-06-16
a3-boilerplate
project came with a webpack build that pushed code to the ui/public
folder of an asset
module. Now the webpack build is not needed because Apostrophe takes care of compiling ui/src
for us. This is good! However, if you are transitioning your project to this new strategy, you will need to remove the modules/asset/ui/public
folder from your project manually to ensure that webpack-generated code originally intended for webpack-dev-server does not fail with a publicPath
error in the console.CORE_DEV=1
environment setting has been changed to APOS_DEV=1
because it is appropriate for anyone who is actively developing custom Apostrophe admin UI using ui/apos
folders in their own modules.sass
npm module. The node-sass
npm module has been deprecated by its authors for some time now. Most existing projects will be unaffected, but those writing their own Apostrophe UI components will need to change any /deep/
selectors to ::v-deep
and consider making other Dart Sass updates as well. For more information see the Dart Sass documentation. Those embracing the new ui/src
feature should also bear in mind that Dart Sass is being used.attachment
field type now correctly limits file uploads by file type when using the fileGroup
field option.ui/src/index.js
file, which may use import
to bring in other files in the standard way. Note that ui/src/index.js must export a function
. These functions are called for you in the order modules are initialized.ui/src/index.scss
file, which may also import other Sass (SCSS) files.ui/src
JavaScript code can enable it by setting the es5: true
option to the @apostrophecms/asset
module. Apostrophe produces separate builds for IE11 and modern browsers, so there is no loss of performance in modern browsers. Code is automatically compiled for IE11 using babel
and missing language features are polyfilled using core-js
so you can use promises, async/await
and other standard modern JavaScript features.ui/public
is still available for raw JavaScript and CSS files that should be pushed as-is to the browser. The best use of this feature is to deliver the output of your own custom webpack build, if you have one.editMode
flag that tracks the state of the current view (edit or preview), located at window.apos.adminBar.editMode
.toolbar
property:
-- alignLeft
-- alignRight
-- alignCenter
-- alignJustify
@apostrophecms/express
module now supports the trustProxy: true
option, allowing your reverse proxy server (such as nginx) to pass on the original hostname, protocol and client IP address.reverseOf
is used.def
property.color
's format
option moved out of the UI options and into the general options object. Supported formats are "rgb", "prgb", "hex6", "hex3", "hex8", "name", "hsl", "hsv". Pass the format
string like:myColorField: {
type: 'color',
label: 'My Color',
options: {
format: 'hsl'
}
}
min
and max
work properly for both string-like and number-like fields.data.page
and data.contextOptions
are now available in widget.html
templates in most cases. Specifically, they are available when loading the page, (2) when a widget has just been inserted on the page, and (3) when a widget has just been edited and saved back to the page. However, bear in mind that these parameters are never available when a widget is being edited "out of context" via "Page Settings", via the "Edit Piece" dialog box, via a dialog box for a parent widget, etc. Your templates should be written to tolerate the absence of these parameters.def
property of schema fields when first inserted at site creation time.