Apostrophe 2.105.1 & 2.105.2
Lean mode improvement:
apos.utils.emitnow works properly in IE11, addressing an issue that impacted
apostrophe-formssubmissions in IE11 in 2.105.0.
Lean mode improvement: IE11 now respects the
prefixoption properly in
apos.utils.post(lean mode helpers for making API calls).
Lean mode improvement: lean video widgets did not support Internet Explorer 11 properly. This issue has been fixed. Non-lean mode video widgets have always supported Internet Explorer 11.
Best practices: if the
jQuery: 3option is not passed to
apostrophe-assetsa developer warning is now printed at startup. The use of jQuery 1.x is deprecated. All Apostrophe-published modules work fine with the
jQuery: 3option. You may need to review the jQuery 3 changelogs for a few changes required for your own legacy code.
Schemas: users may now intentionally clear a
datefield, whether or not it has a
defsetting, in which case it is stored as
required: trueis present). The inability to do this was a regression introduced in verion 2.102.0.
Static i18n: the
objectNotation: trueoption to
apostrophe-i18n, which we pass on to the
i18nmodule, is now compatible with the
namespaces: trueoption introduced in 2.105.0. When both are active, the namespace separator defaults to
<@>to avoid a conflict with the
:character used to begin the default value when using object notation.
Various documentation corrections and minor aesthetic improvements.
“What’s this module about?” apostrophe-multisite lets you run many Apostrophe sites in a single Apostrophe process, as long as they share the same codebase. Multiple themes are possible and the module pairs well with apostrophe-palette.
Command line tasks do not generate assets, unless the task being run is the actual
apostrophe:generation task. The
--without-forking option often used together with
--all-sites when running tasks under
apostrophe-multisite now respects this rule for much faster execution of tasks like
apostrophe-migrations:migrate across all sites.
The new apostrophe-i18n-static module allows you to edit your static internationalization strings as pieces via Apostrophe’s admin bar, i.e. the strings you are passing to the
__() helper and friends in your templates. It also has an option that can be used to hide the labels that come from the Apostrophe core module from this interface, if you are not interested in having those translated.
This module avoids the overhead that would normally be involved in page requests by writing back to the locale JSON files when edits are made.
“What’s this module about?” apostrophe-forms lets your editors create forms and add them to the site via widgets. End users can submit those forms and the results are delivered by email, recorded in a collection and handled in other ways of your choosing.
- Moves the mechanism that sends emails into the
self.sendEmailmethod, allowing for this to be more easily overridden in a project. The initiating purpose was to add project-level subject line functionality that might not make sense for everyone. Thanks to Ricky Rodríguez Álvarez for the contribution.
- Adds event emission on the body element for form submission (
apostrophe-forms:submission-form) and submission failure (
apostrophe-forms:submission-failed). Again, thanks to Ricky Álverez for the contribution.
- Adds the option to use a custom class prefix to add classes to the form templates in addition to the
.apos-form-classes. Thanks to Brett Gaynor for the contribution.
dateas an input type option to the string input widget.
- Updates the ESLint configuration to
firstname.lastname@example.org fixes linter errors.
“What’s this module about?” Apostrophe uses sanitize-html to ensure content entered in rich text widgets “paints inside the lines” by not introducing unwanted elements, classes, style attributes, etc. See Configuring CKEditor for Apostrophe for information on how you can use its advanced features with Apostrophe.
- Adds eslint configuration and adds eslint to test script.
sideEffects: falseon package.json to allow module bundlers like webpack tree-shake this module and all the dependencies from client build. Thanks to Egor Voronov for the contribution.
- Adds the
tagName(HTML element name) as a second parameter passed to
textFilter. Thanks to Slava for the contribution.
Other module updates
mechanic, broadband and many other modules received minor updates related to code linting to ensure best practices are followed in future releases.