Releases: contentstack/migration-v2
New Release: AEM to Contentstack Connector Now Available (v1.1.2)
New Release: AEM to Contentstack Connector Now Available (v1.1.2)
🧭 Overview
This release introduces a new AEM to Contentstack connector, enabling migration of content and data from Adobe Experience Manager (AEM) to Contentstack. It also includes stability and performance improvements to existing modules in the migration framework.
✨ What’s New
🔌 AEM → Contentstack Connector
- Adds support for migrating content from Adobe Experience Manager (AEM) to Contentstack
- Supports key content structures based on the available AEM data samples
🛠 Existing Feature Enhancements
- Performance optimizations in existing migration pipelines
- Improved reliability during data processing
- Minor bug fixes and code cleanup
⚠️ Limitations
Migration to an Existing Stack
- Migration into an existing destination stack is not supported in this release
- Only the "Create New Stack" approach is currently available
- Support for existing stack migration is planned for Q1 next year
AEM Data Coverage
- The connector is based on limited AEM data samples
- Due to variations in AEM structures, some content types or configurations may not be supported
Component Support
- Not all AEM components are supported in this version
- Custom or unique components in AEM may not be migrated
Asset Migration Dependency
- Assets must be extracted from the AEM DAM using the provided script
- Without this step, asset migration cannot be performed
🧾 Impact
This release enables a more streamlined migration path from Adobe Experience Manager to Contentstack, reducing manual effort and improving migration efficiency for supported structures.
If you have issues or feature requests, please raise them via GitHub Issues.
Multi-Platform CMS Migration Support with Enhanced Logging
📌 Summary
This release introduces Docker configuration for cross-platform CMS migrations and comprehensive logging capabilities for better migration visibility and traceability.
🧭 What's New
✨ Major Features
-
Docker Configuration Support - Seamlessly migrate data from multiple CMS platforms including:
-
Sitecore
-
Contentful
-
WordPress
-
Execution Logs Dashboard - New dedicated screen for:
-
Real-time migration progress monitoring
-
Issue identification and debugging
-
Complete traceability of migration steps
-
Audit Logs Interface - Comprehensive audit trail featuring:
-
User activity tracking (who, what, when)
-
Content-level action logging
-
Compliance and accountability reporting
🔧 Enhancements
- Improved existing migration features
- Better Windows OS compatibility through Docker
🧾 Impact
- Cross-Platform Support: Windows users can now perform Sitecore data migrations seamlessly
- Enhanced Visibility: Complete transparency into migration processes through execution logs
- Compliance Ready: Full audit trail for all migration activities
- Improved Debugging: Detailed logs help quickly identify and resolve migration issues
v1.0.1
Key Changes
.talismanrc
- Added new file checksums for:
upload-api/src/helper/index.tsupload-api/package-lock.jsonapi/package-lock.json
- Tightens secret scanning and integrity verification for updated files.
README.md
- Removed CLI Setup Instructions:
The section describingpnpminstallation andnpm run setup-repowas deleted.
Documentation now focuses on available scripts and configuration.
api/package.json & api/package-lock.json
- Dependency Updates:
- Upgraded
@contentstack/cli-utilitiesfrom^1.11.1to^1.12.0 - Indirect upgrades for sub-dependencies, including:
@contentstack/managementto~1.21.4/1.21.6@contentstack/marketplace-sdkto^1.2.8@oclif/coreto^4.3.0axiosto^1.9.0dotenvto^16.5.0papaparseto^5.5.3- Added
husky(^9.1.7) - Multiple
brace-expansionupgrades
- Upgraded
- Improves security, stability, and compatibility.
upload-api/package-lock.json
- Dependency Upgrades:
- Multiple upgrades for
brace-expansionand related packages to address security advisories.
- Multiple upgrades for
upload-api/src/helper/index.ts
- Refactored Zip Extraction Logic:
- Always prepends the main folder name to extracted files unless already present.
- Skips writing files/directories that match the Mac OS X resource folder.
- Cleans up logic for handling zip files, ensuring robust extraction for various structures.
Impact
- Security: Improved dependency management and secret scanning.
- Reliability: More robust zip extraction logic, especially for edge cases and Mac OS X files.
- Maintainability: Codebase is cleaner, with clearer documentation and logic.
v1.0.0
Release v1.0.0
We are excited to announce the release of v1.0.0 for the contentstack/migration-v2 repository!
Summary of Notable Changes
Added
- SECURITY.md: Added a security policy and contact instructions.
- CODEOWNERS: Added security-admin as code owner for all files.
- api/package-lock.json: Locked dependencies for the API package.
Changed
- .talismanrc:
- Now includes version information and additional file checksums, especially for various
package-lock.jsonfiles across the project. - Expanded ignore configuration for security scan-related files.
- Now includes version information and additional file checksums, especially for various
Details by File
-
Security & Licensing
- Added
SECURITY.mdwith responsible disclosure policy and contact. - Project now has a top-level
CODEOWNERSfile specifying security-admin as the owner.
- Added
-
Source Control & Configuration
- Expanded
.gitignoreto ignore.vscode, but now tracks more previously ignored files (e.g.,*.zipandpackage-lock.json). .talismanrcimprovements to cover more files for secret scanning.- Removed
.vscodeworkspace recommendations and settings to reduce editor-specific configuration in the repo.
- Expanded
-
Dependency Management
- Added
api/package-lock.json(and several other package-lock files, referenced in.talismanrc) for reproducible builds.
- Added
Impact
- Security and compliance improvements: Clearer code ownership, license, and security policy.
- Dependency and configuration management: Improved reproducibility and auditing.
- Editor experience: Removed VSCode-specific settings/recommendations for a more editor-agnostic repo.
View the full diff for more details
What's Changed
- Feature/wordpress by @umeshmore45 in #674
- [Snyk] Upgrade @types/react from 18.3.20 to 18.3.21 by @sauravraw in #679
- Feature/fix issues snyk by @umeshmore45 in #686
- [Snyk] Security upgrade node from 24.1.0-slim to 24.1.0-alpine3.22 by @umeshmore45 in #690
Full Changelog: v1.0.0-beta...v1.0.0
v1.0.0-beta: Core Modules & CMS Connectors
📌 Version: v1.0.0-beta (Beta Release)
This release includes the foundational components of the migration platform with support for multiple CMSs and initial migration flows.
✅ Included Modules and Features
-
Login | v1.0 CMG-511
-
Dashboard | v1.0 CMG-507
-
Legacy CMS | v1.0 CMG-90
-
Destination Stack | v1.0 CMG-96
-
Content Mapper | v1.0 CMG-506
-
Test Migration | v1.0 CMG-215
-
Migration Execution | v1.0 CMG-509
-
Contentful Connector | v1.0.0 CMG-505
-
Sitecore Connector | v1.0.0 CMG-154
-
WordPress Connector | v1.0.0 CMG-500
-
Destination Stack Enhancements CMG-508
-
Migration Execution Improvements CMG-517
⚠️ Known Limitations (Beta)
- Contentful Connector
- Not handle the use case of deletion of existing destination stack in runtime
- Content mapper module | existing stack | existing content type mapped | Modular blocks, taxonomy these fields can be matched with Single Line Textbox field
- Content Type Migration Limitations in Test Stacks
- When migrating content types in a test stack, the handling of attached references depends on your organization's reference limit:
- Organizations with a reference limit of 50: Full data migration is supported if a content type has more than 10 references.
- Organizations with a reference limit of 10: If a content type has more than 10 references, only the 'title' and 'URL' fields will be migrated.
- Issue: Data migration may encounter unforeseen problems if the Contentful data contains duplicate UIDs.
- Sitecore Connector
-
Runtime Deletion Not Handled
The system does not handle the deletion of an existing destination stack during runtime. -
Content Type Migration Limitations in Test Stacks
When migrating content types in a test stack, the behavior depends on your organization's reference limits:-
Organizations with a reference limit of 50:
Full data migration is supported even if a content type has more than 10 references. -
Organizations with a reference limit of 10:
If a content type has more than 10 references, only the'title'and'URL'fields will be migrated.
-
- Wordpress Connector
-
Not supporting WordPress dynamic content models
-
Supports only the basic data migration process
-
Does not handle the use case of deletion of existing destination stack at runtime
-
Content Type Migration Limitations in Test Stacks
4.1 When migrating content types in a test stack, the handling of attached references depends on your organization's reference limit:4.2 Organizations with a reference limit of 50:
Full data migration is supported if a content type has more than 10 references.4.3 Organizations with a reference limit of 10:
If a content type has more than 10 references, only the'title'and'URL'fields will be migrated.
What's Changed
- Feature/hanoak by @hanoak20 in #1
- Development by @hanoak20 in #2
- Stage by @hanoak20 in #3
- add: typescript support by @himanshu-contentstack in #4
- chore: initial modifications to accomodate apis by @himanshu-contentstack in #5
- feat: login api with jwt by @himanshu-contentstack in #6
- feat: API endpoints for project CRUD operations by @Arpit1119 in #7
- Feature/login by @hanoak20 in #8
- chore: added https service & modified 'auth' route. by @hanoak20 in #9
- chore: added a utility function: AsyncRouter. by @hanoak20 in #10
- feat: added endpoint to get user profile and orgs by @Arpit1119 in #12
- chore: added the login route with actual redirection to CS. by @hanoak20 in #13
- feat: added winston logger for custom logs by @Arpit1119 in #15
- Feature/login by @himanshu-contentstack in #14
- centralize error handling - partial by @himanshu-contentstack in #16
- Feature/hanoak by @hanoak20 in #18
- DB setup with schema initialisation by @himanshu-contentstack in #19
- Feature/hanoak by @hanoak20 in #20
- Feature/hanoak by @hanoak20 in #21
- Feature/hanoak by @hanoak20 in #22
- Feature/hanoak by @hanoak20 in #24
- Feature/hanoak by @hanoak20 in #27
- feat: select cms and file format APIs by @himanshu-contentstack in #28
- Feature/hanoak by @hanoak20 in #29
- feat: Project APIs by @himanshu-contentstack in #23
- feat: added content mapper models and endpoints by @Arpit1119 in #30
- fix: removed duplicate constant by @Arpit1119 in #31
- feat: get all projects by orgId by @himanshu-contentstack in #32
- feat: destination cms update API by @himanshu-contentstack in #33
- Feature/hanoak by @hanoak20 in #34
- FieldMapping-GetExisting contentTypes route added by @shreyasBhoyar in #35
- Feature/hanoak by @hanoak20 in #36
- remove: srcFunc from error middleware by @himanshu-contentstack in #37
- fix: code changes as per the updated schema by @Arpit1119 in #38
- Feature/hanoak by @hanoak20 in #39
- Feature/hanoak by @hanoak20 in #40
- feat: added authentication for upload file and migration service by @Arpit1119 in #41
- Feature/prefix by @hanoak20 in #42
- feat: Code changes related to the project's status. by @Arpit1119 in #43
- add master_locale field in get org stack api response by @shristi-sinha in #44
- Feature/confirmation by @hanoak20 in #45
- fix: removed nodemon, as if was not necessary. We've tsx. by @hanoak20 in #47
- add created at field in get org stack api by @shristi-sinha in #48
- Feature/confirmation by @hanoak20 in #50
- refactor: FieldMapper's collection erfactored to Lowdb. by @hanoak20 in #51
- feat: Added a new API endpoint to get contenttypes count. by @hanoak20 in #52
- Feature/code merge by @umeshmore45 in #57
- add lowdb code refactor code by @shristi-sinha in #58
- Feature/re merge by @umeshmore45 in #60
- Feature/project dashboard by @AishDani in #59
- Test-migration API added in API folder by @shreyasBhoyar in #61
- Feature/project dashboard by @AishDani in #62
- refactor:added search logic in mapper table by @AishDani in #63
- Content mapper changes and Refactor code by @sayalijoshi27 in #64
- refactor:legacy step and context provider by @AishDani in #65
- Content Mapper, Projects and Schema modal changes by @sayalijoshi27 in #66
- remove mongo db connection, models and mongoose from package.json by @shristi-sinha in #67
- change cond in update destination stack api by @shristi-sinha in #68
- Resolved Legacy CMS height and CTA issue by @sayalijoshi27 in #6...