Apostrophe 4.2.0 Rich text widget enhancement, security improvement, and fixes #4511
BoDonkey
announced in
Release Notes
Replies: 0 comments
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
-
Hola Apostrophe Universe!
While we aren't releasing any new large features or extensions this cycle, the team has been busy making improvements and fixes while working toward a revamp of the
@apostrophecms-pro/multisiteextension dashboard.Rich text improvements
The rich-text-widget received some UI/UX love this cycle. Now there are two intuitive menus for applying styling and element changes to your text. Without going into the inner workings of Tiptap which powers the widget, the selection of base elements like
<h2>will occur through one dropdown menu, while the styling of other elements like<span>will be added to a second dropdown. This new arrangement enhances style tracking without necessitating any changes to your current editor setup.Password hashing improvements improve performance
Additionally, the Apostrophe core itself has been enhanced with an improved password hashing process following guidance from OWASP. While the originally implemented procedure was completely secure, it could lead to significantly increased CPU load during login. This was replaced with the Node.js
scryptfunction that significantly improves login speed. The user’s first login following the update will still take time while their password is rehashed, but then shift into high gear with faster logins!New MongoDB driver emulation extension
Tech moves fast, but sometimes getting to the leading edge takes time and energy. With that in mind, we've released a new MongoDB driver emulation extension. This allows you to continue using code that depends on the 3.x version of the MongoDB Node.js driver while updating to the newer 6.x version. Note that both legacy and new projects will automatically take advantage of this module with their next npm update. We have taken measures to emulate all of the changes that impact Apostrophe sites. If you encounter edge cases, your bug reports and pull requests are welcome. Thanks to Michelin for their support of this work.
Community contributions
Finally, we wrap up this release cycle by acknowledging the contributions from our community. Thanks to Gauav Kumar you can now use a
/in the title field of a page. In the past, this would prevent further slug generation. Due to continued collaboration with the developers at Michelin, the login experience when integrating Astro with Apostrophe has become much smoother. Thanks! 🎉While this note mentioned some great improvements, check out the release notes below for additional fixes and improvements. Remember
npm updategets you the latest and greatest right in your project!Apostrophe 4.2.0
Changes
stylesoption is configured.i18nmodule now uses the regularreq.redirectinstead of a directres.redirectto ensure redirection, enabling more possibilities for@apostrophecms/redirectmoduleAposModalcomponent with composition api to get rid of duplicated code inAposFocusMixinandAposFocus.APOS_MONGODB_LOG_LEVELhas been removed. According to mongodb documentation "Both the logger and the logLevel options had no effect and have been removed."connect-mongoto5.x. Add@apostrophecms/emulate-mongo-3-driverdependency to keep supporting[email protected]queries while using[email protected].Fixes
beforeInserthandler to avoid ending with different modes being set between_id,aposLocaleandaposMode._id,aposLocaleandaposMode.notificationwhenreq.bodywas not present. Thanks to Michelin for contributing this fix.@apostrophecms-pro/palettemodule across various projects.@apostrophecms-pro/palettemodule.data-apos-testattribute in the admin bar's tray item buttons is set by passing theactionprop toAposButton.metaTypeproperty to newly inserted widgets./in the title field of a page no longer confuses the slug field. Thanks to Gauav Kumar.Security
scrypt, the best password hash available in the Node.js corecryptomodule, following guidance from OWASP. This reduces login time while improving overall security.scrypton the next successful login attempt, which adds some delay to that next attempt, but speeds them up forever after compared to the old implementation.scryptparameters for password hashing can be passed to the@apostrophecms/usermodule via thescryptoption. See the Node.js documentation forscrypt. Note that themaxmemparameter is computed automatically based on the other parameters.Apostrophe 3.64.0
Fixes
metaTypeproperty to newly inserted widgets.Security
scrypt, the best password hash available in the Node.js corecryptomodule, following guidance from OWASP. This reduces login time while improving overall security.scrypton the next successful login attempt, whichadds some delay to that next attempt, but speeds them up forever after compared to the old implementation.
scryptparameters for password hashing can be passed to the@apostrophecms/usermodule via thescryptoption. See the [Node.js documentation forscrypt]. Note that themaxmemparameter is computed automatically based on the other parameters.Changes
APOS_MONGODB_LOG_LEVELhas been removed. According to mongodb documentation "Both the logger and the logLevel options had no effect and have been removed."connect-mongoto5.x. Add@apostrophecms/emulate-mongo-3-driverdependency to keep supporting[email protected]queries while using[email protected].Apostrophe modules
@apostrophecms/form1.3.1Allow ApostropheCMS editors to build their own forms. They can then place any form in one or more content areas across the website.
Changes
Fixes
form-boolean-field-widgetto thecheckedstatus instead of thevaluedirectly.@apostrophecms/svg-sprite1.0.1This module provides an Apostrophe piece type that manages and renders SVG sprites. Sprites can be imported from files in a website codebase or an external source via a URL.
Fixes
Pro modules
@apostrophecms-pro/automatic-translation1.0.1This bundle allows automatic translation of documents (pages and pieces) when localizing content. It comes with two translation providers: Google Cloud Translation and DeepL, but it is also possible to configure your own providers. Explore our documentation to discover how this extension can enhance your project. Then, effortlessly integrate it through our new Apostrophe Workspaces. For further details or inquiries, feel free to contact us or visit our pricing page.
Fixes
@apostrophecms-pro/palette4.1.0An in-context interface for changing CSS.
@apostrophecms-pro/paletteis 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. Explore our documentation to discover how this extension can enhance your project. Then, effortlessly integrate it through our new Apostrophe Workspaces. For further details or inquiries, feel free to contact us or visit our pricing page.Adds
@apostrophecms-pro/multisite3.16.0This module lets you have many ApostropheCMS websites running on a single codebase in a single Node.js process. Each has its own database, users, media uploads, etc. Sites can be created and managed via a dashboard site. Explore our documentation to discover how this extension can enhance your project. For further details or inquiries, feel free to contact us or visit our pricing page.
Fixes
CDNenvironment variable is in effect. Previously this worked for both static assets and uploaded media of individual sites and for uploaded media of the dashboard, but not for static assets of the dashboard.Changes
server-destroyshould not be adevDependency, it is used in production.wsshould be an official dependency. Previously this worked because of a sub-dependency on it.@apostrophecms/emulate-mongo-3-driverdependency to keep supporting[email protected]queries while using[email protected].Legacy modules
emulate-mongo-2-driver1.3.3emulate-mongo-2-driveraims to be a highly compatible emulation of the 2.x version of the MongoDB Node.js driver, implemented as a wrapper for the 3.x driver.Changes
mongodb@3with@apostrophecms/emulate-mongo-3-driverwithmongodb@6.emulate-mongo-3-driver1.0.2@apostrophecms/emulate-mongo-3-driveraims to be a compatible emulation of the 3.x version of the MongoDB Node.js driver, implemented as a wrapper for the 6.x driver.Fix
emulate-mongo-2-driverwhich depends on this module.FindCursor.sortwithfalseas sort key.Adds
Utilities
@apostrophecms/apostrophe-astro1.0.7 (2024-03-28)This module integrates ApostropheCMS into your Astro application.
Changes
/loginpage when already logged in no longer results in an undesired direct response from Apostrophe. Redirects within api routes like the login issued on the Apostrophe side are now sending a redirect response as per Astro endpoints documentation.1.0.6 (2024-03-26)
Changes
undicirequestmethod, so as all headers are correctly forwarded. As on latest Node.js versions, headers likeHostare no more forwarded by the regularfetchglobal method.@apostrophecms/rename-mongodb-database1.0.1 (2024-04-04)A handy little utility from apostrophecms to rename a mongodb database with one command.
Fixes
Adds
Beta Was this translation helpful? Give feedback.
All reactions