Skip to content

From semantic-release to semrel

This guide targets teams currently using semantic-release and migrating to semrel.

semantic-release concernsemrel equivalent
Commit analyzer pluginsanalyzer plugin (analyzer-default / analyzer-conventional)
Release notes/changelog pluginsgenerator plugins (generator-release-notes, generator-changelog-*)
npm/github/docker publish pluginspublisher plugins (publisher-oci, publisher-generic-http) + CI publish jobs
  1. Keep your existing branch and trigger policy unchanged.
  2. Add semrel in dry-run mode and compare computed version + notes with semantic-release output.
  3. Switch changelog/release note generation to semrel generators.
  4. Switch publishing from semantic-release plugins to semrel publishers.
  5. Disable semantic-release tagging/publishing after one stable release cycle.
plugins:
- uses: @semrel/github
- uses: @semrel/conventional
- uses: @semrel/release-notes
- uses: @semrel/changelog-md
args:
file: CHANGELOG.md
  • npm package flow: keep npm publish in CI after semrel determines version and changelog.
  • GitHub release assets: use your CI upload step or plugin-based publishing.
  • OCI/image or generic artifacts: use @semrel/oci or @semrel/generic-http.
  • Ensure only one system creates tags.
  • Compare at least 10 recent commits in dry-run to validate version parity.
  • Move credentials to SEMREL_PLUGIN_* environment variables.
Back to Migration Hub