- Added the
--only=type1,type2,...option to migrate only certain A2 doc types and the attachments they reference. Includeapostrophe-image(and/orapostrophe-file) in the list if you want the corresponding media to come across. - Added the
--related-imagesoption to migrate only the images actually referenced by the migrated content (one hop, resolved against the A4-form content), rather than every image. Works on its own or together with--only. - Added the
--mergeoption to add the upgraded content to an existing A4 database instead of insisting on--drop. Existing content is preserved and new content is inserted alongside it. - Added the
--replaceoption, which upserts documents and attachments (overwriting any with matching ids) rather than inserting them, so re-running an upgrade does not fail with duplicate key errors.--replaceimplies--merge. - Added the
--copy-mediaoption (which requires--a4-dir) to copy the physical media files of the migrated attachments into the A4 project, respecting--onlyand--related-images. Assumes media is stored locally underpublic/uploads/attachments; it does not use uploadfs and so does not handle remote (e.g. S3) storage.
- The
--dropoption now drops all existing collections in thea4-db, as it always promised to do. Previously all it did was bypass the check for existing documents, which doesn't make sense.
- Documented the need to update the A2 project and ensure
parkedIdis consistently set on parked pages.
- Updated misleading references to alpha status in README.
- Updated legacy references to A3. You should migrate directly to A4.
- Provided code migration AI agent skill. The
@apostrophecms/code-upgradermodule is no longer recommended.
- Declared stable. No code changes.
- Decision made to start official releases with
1.0.0for consistency.
- No code changes. Needed to apply the
latesttag properly in npm.
- Hotfix: do not delete the published mode of the /archive page when exporting, it is a special exception to the rule that archived documents have no published mode
- Remove the published version of draft documents that are archived (in A3, an archived document exists only as a draft).
- Support for migrating rich text permalinks.
- Safer migration of site pieces, in case that piece type name is used for something else in a non-multisite project.
- Fixed the link to the document section for migration from Apostrophe 2 in the README.md.
- Migrate existing locales in site pieces.
- Do not localize site pieces.
- Fixed a significant bug preventing proper import of areas when the content has been transformed.
- Allow the
mapWidgetTypesoption to override the standard transformers provided for certain widget types.
- Correctly update the
pathof each page to the A3 pattern. - Handle the main "trash" page correctly.
- Fixed a bug that broke the recursive updating of join/relationship ids.
- Replaced
defaultLocaleoption withmapLocale, which defaults to mappingdefaulttoen, as that's the right thing to do for projects with or without workflow in most cases, and allows for a broader remapping if needed. Clarified documentation on how this works and implemented it for the case where workflow is enabled for the first time. - The
visibilityproperty is now set, as required in A3. Ifpublishedwastrueit is set topublic, otherwise tologinRequired. While the two features are not identical this does a good job of avoiding premature public access to migrated content. - Don't crash if the workflow module is enabled with no
prefixesoption. - Supply an
_idfor every exportedarea. - As the content upgrader intentionally does not copy user and group pieces, it should not copy the
aposUsersSafecollection from 2.x to 3.x, either.
- First alpha test release.