Apostrophe 3.62.0 Advanced Permission improvement, link attributes, and fixes #4410
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.
-
Bonjour, Builders of the Web!
Happy belated New Year! As we kick off our first release of the Gregorian calendar new year, we're thrilled to bring you a major update to our Pro Advanced Permission extension. This isn't just any update; we've overhauled permissions to make them more granular, giving you unprecedented control. Now, you can tailor permissions not only at the piece-type, page, and per-document levels but also at the individual schema field level. Now, you have the flexibility to assign
createpermissions, allowing users to only create and edit their own documents of a specified type. Conversely,modifypermissions enable users to edit all documents of a specific type, but not create new ones. You can also define permissions for creating child pages under a specific parent, adding a layer of precision. For those who love customization, we've introduced a top-level permissions object for crafting your own permission types, along with field-level permissions using the editPermission attribute. Fancy creating custom permissions? We've got you covered!This version changes the paradigm from just assigning high-level roles to assigning individual permissions, so we know some customers who already use
@apostrophecms-pro/advanced-permissionmight want to take their time upgrading. For that reason, you’ll need to edit your package.json file and change your dependency for this module from^1.x.yto^2.0.0when you’re ready to upgrade. Just typing npm update alone will not upgrade to the new version in an existing project. Check out the extension README file for all the details. We're super excited about these changes and can't wait for you to try them out!In our rich text editor, rich text hyperlinks now support custom HTML attributes. This came from a specific community request to be able to add additional accessibility attributes, like
aria-label. Watch the documentation for more info soon. Speaking of community, this release also contains code contributions from two of our open-source community members to the@apostrophecms/random-wordsand@apostrophecms/absolutionrepositories. Thanks to Gauav Kumar and Orr Shalev!While it was not part of this release cycle, some of you might have missed the exciting release of our new Astro integration extension. Released at the end of last year, the
@apostrophecms/apostrophe-astroextension allows you to easily use an ApostropheCMS project as a backend for the Astro web framework. The really exciting thing here is that you still get to enjoy the same content management UI experience, including in-context editing, that you are used to in your ApostropheCMS projects! We have an accompanying Apostrophe starter-kit that you can install with the CLI using the--starter=astroflag and an Astro project ready to spin up. So, if you are ready to chuck your Nunjucks (templates), give it a try today!The
@apostrophecms/import-exportextension was updated to add compatibility with the new Advanced Permission extension. Also, as previously announced, we published a hotfix to patch a security issue where a cleverly designed HTTP request could potentially delete files and folders. No user account was required to exploit this issue. All users of this optional extension, which not all projects contain, should immediately runnpm update @apostrophecms/import-exportand deploy to ensure the latest version of the extension is installed. The module has been carefully audited for similar issues, and best practices have been put in place to prevent any similar issues in the future.Going forward into the next cycle, we will make some follow-up improvements to the Advanced Permission extension. We will also be working on implementing a new automatic translation extension to make getting your content into all your locales easier. Finally, we are starting development on the ability to easily compare changes in document versions as an upgrade to the
@apostrophecms-pro/document-versionsextension.Several of our optional extensions have been updated to ensure mutual compatibility. So whether you use the Advanced Permission extension or not, make sure you
npm updateyour entire project when upgrading to this latest release of Apostrophe.Apostrophe 3.62.0
Adds
typequery parameter for page autocomplete. This allows to filter the results by page type. Example:/api/v1/@apostrophecms/page?autocomplete=something&type=my-page-type.floatschema field query builder.integerschema field query builder.linkFields, extendable on a project level (same as it's done forfields). Add anhtmlAttributeproperty to the standard fields that map directly to an HTML attribute, excepthref(see special case below), and set it accordingly, even if it is the same as the field name. SettinghtmlAttribute: 'href'is not allowed and will throw a schema validation exception (on application boot).canandcriteriamethods forcreateanddelete.canEdittocanCreate.@apostrophecms-pro/advanced-permissionmodule.Fixes
launderandfinalizemethods of thefloatschema field query builder.launderandfinalizemethods of theintegerschema field query builder.publisha particular page should always be allowed to insert it into thepublished version of the site even if they could not otherwise insert a child of the published
parent.
Apostrophe 3.x modules
@apostrophecms/import-export1.2.1This A3 module enables import and export of pages and pieces, with or without related documents such as files, images and other related types.
Security
HTTP request to delete arbitrary files and folders, subject to the permissions with which the Node.js
process was run. No user account was required to exploit this issue. All users of this module should immediately run
npm update @apostrophecms/import-exportand deploy the latest version of this module. The module has been carefully audited for similar issues and best practices have been put in place to prevent any similar issue in future.Changes
@apostrophecms/piece-type-importerand@apostrophecms/piece-type-exportermodules.@apostrophecms/piece-type-importer1.1.2This module adds an optional import feature to all piece type modules in an Apostrophe project. This feature enables importing pieces from CSV files where it is configured.
Changes
@apostrophecms/import-exportmodule.@apostrophecms/piece-type-exporterv1.0.1This module adds an optional export feature to all piece type modules in an Apostrophe project. This feature enables exporting published pieces of piece types where it is configured. Requires Apostrophe 3.
Changes
@apostrophecms/import-exportmodule.@apostrophecms/cache-redisv1.1.0This module enhances the core caching module,
@apostrophecms/cache, to use Redis rather than MongoDB. This module does not set up the actual Redis store, but instead allows Apostrophe to access an existing Redis store through the standard Apostrophe caching API and an internal Redis client.Fixes
@apostrophecms/apostrophe-astrov1.0.4This module integrates ApostropheCMS into your Astro application.
Changes
Enterprise modules
@apostrophecms-pro/advanced-permission2.0.0This module provides more granular control over content permission. It allows the creation of custom groups with proscribed abilities and the ability to assign users to as few or as many groups as desired. Users and groups can also be assigned per-document and per-locale permissions allowing for fine control of who can edit and publish any document. Contact us or visit our new pricing page to learn more.
This release marks a major version change and includes breaking changes. To upgrade an existing installation of this module to version 2.0.0, edit the
package.jsonfile and update the version number to^2.0.0. TheREADME.mdfile has been updated to document the new functionality. Additionally, an automatic migration is included for permissions set in previous versions of the advanced permission module.Changes
Createpermission, allowing users to create documents of a specified type and edit only those they have created.Modifypermission, enabling users to edit all documents of a specified type without the ability to create new ones.permissionsobject for creating custom permission types.editPermissionattribute.@apostrophecms-pro/multisite3.13.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. Contact us or visit our new pricing page to learn more.
Changes
requireUniqueShortNamecode frombeforeInsertandbeforeUpdatehandlers intobeforeSave.Adds
patternattribute to theshortNamefield of thesitepiece schema in order to force it being URL friendly.@apostrophecms-pro/doc-template-library1.1.3This module solves the "blank page problem" for developers and product managers, and makes it faster for editors to create content. doc-template-library allows for the configuration of default widgets and pre-populated content on piece or page templates, and to re-use existing layouts. Contact us or visit our new pricing page to learn more.
Fixes
plugin-standardversions that brokenpm test. No actual bugs.@apostrophecms-pro/document-versions1.1.4This module automatically creates versions for your published documents (pages and pieces) and allows manual restore to any previously saved document version. Contact us or visit our new pricing page to learn more.
Fixes
plugin-standardversions that brokenpm test. No actual bugs.Utilities
@apostrophecms/random-words2.0.1This module generates random words for use as sample text. We use it to generate random blog posts when testing Apostrophe.
Fixed
generateso that it is consistent with the possibility of returning eitherstringorstring[]@apostrophecms/cli3.3.0The Apostrophe CLI is a cross-platform starting point for creating and configuring ApostropheCMS projects, providing a simple boilerplate generator and wrapping other useful functions into an easy to use command line tool.
Adds
--mongodb-uriflag to pass a MongoDB server connection string allowing for initial user addition during project creation when a host server is being used.@apostrophecms/absolution1.1.0absolutionaccepts HTML and a base URL, and returns HTML with absolute URLs. Great for generating valid RSS feeds.Fixed
Beta Was this translation helpful? Give feedback.
All reactions