Maintenance guidelines
Learn about general support and maintenance recommendations for customizations
Release process
Tooling and packages related to a customization are released and published to Node Package Manager (NPM) following Semantic Versioning (SemVer).
Releases are documented in each package's CHANGELOG.md
file and in the GitHub release pages in the following repositories:
All published packages to NPM are listed in the following scoped packages:
Release cadence
commercetools strives to continuously improve the tooling and packages related to Merchant Center customizations. We do not follow a strict release cycle. Instead, we publish releases in meaningful intervals, potentially multiple times a week. Minor and patch versions are released more frequently than major versions.
According to Semantic Versioning, minor, and patch version releases can be safely updated and do not require any additional maintenance work. However, a major release indicates a breaking change and might require maintenance work. Breaking changes are kept to an absolute minimum and are planned ahead of time.
Breaking changes
Breaking changes are introduced whenever there is a major version release, for example from v1
to v2
.
How a breaking change can impact your customization:
- It affects a component or module not used within the customization
- It affects a component or module used within the customization
- It affects a component or module directly interacting with some of commercetools's internal APIs
A new major release does not always mean that breaking changes directly affect consumers of the packages. Some examples are:
- A dependency package drops support for an older Node.js version, thus releasing a major version. As a result, commercetools could subsequently release a new major version to also drop support for the Node.js version. However, this is unlikely to affect consumers of Custom Application or Custom View packages.
- React releases a new feature that requires a specific minimum version. As a result, commercetools could subsequently release a new major version, updating the minimum React version requirement for Custom Applications or Custom Views.
All breaking changes are thoroughly documented in the release notes together with migration steps to facilitate the version update. This also helps to identify if changes are needed within the customization.
Minimum required maintenance policy
All built-in Merchant Center applications are kept up-to-date with the released tools and packages. This ensures the uniform adoption of the latest bug fixes and features across all applications.
We recommend that customizations are updated at regular periods and maintained in planned intervals, to avoid falling too many versions behind. Failure to do so may lead to increased maintenance efforts if the codebase requires updates across multiple versions, especially for major releases and/or deprecated API functionalities.
It is important to keep the dependencies up-to-date, especially to get the latest bug fixes and security patches. See also Automate maintenance of dependencies.
Automate maintenance of dependencies
To help with the maintenance of dependencies, there are tools and services that can be used to automatically get dependency version updates to your own repository, for example, Renovate, or Dependabot.
These tools and services can be configured to meet a wide range of needs, for example, to get updates only once a week.
Hosting
Customers using Custom Applications or Custom Views are responsible for the maintenance, hosting, and deployment of the customization(s). commercetools does not take any responsibility for incidents and/or service disruptions related to customizations which are caused by their underlying infrastructure.
Issues and support requests
If you need help with a technical question or need general guidance, please reach out to the Composable Commerce support team.
For UI Kit topics, we recommend opening a GitHub Issue in the UI Kit repository.
Never include passwords, credentials, or any private or sensitive information in a Github Issue since they are publicly viewable.
If you need to provide sensitive information, for example, the name of a customer Project, open a commercetools support ticket.
Contributing
commercetools provides all packages and tools under the open-source MIT license.
At commercetools, we love open source and actively contribute to other open source software that we also use internally. As such, we welcome contributions to our packages, whether in the form of an issue or a pull request.
You can read more about the contribution guidelines in the following repositories: