Fern Autorelease
Fern Autorelease automates SDK releases end-to-end. When your API specification changes, Autorelease regenerates SDKs, determines the version bump, and publishes to package registries.
How it works
Autorelease detects changes to your spec using either git-based detection (monitors your spec repository for commits) or pull-based detection (periodically fetches your hosted spec from a URL). Once changes are detected, Autorelease:
- Regenerates SDKs for all configured languages
- Analyzes the API diff and determines the next version (semantic, calendar-based, integer, or custom)
- Commits to repositories, tags releases, and publishes packages
- Updates changelogs automatically
Autorelease pauses and requests confirmation if it’s uncertain about the version bump. Publishing uses tokens stored in your GitHub Actions secrets—Fern never has access to these credentials.
If a release fails, Autorelease pauses and sends alerts via Slack (if configured) or the Fern Dashboard where you can review and retry.
Setup
To enable Autorelease, add autorelease: true to your generators.yml and ensure the Fern GitHub App is installed on your SDK repositories. Releases trigger automatically on commits to your spec repository and appear as commit status checks. No changes to your CI/CD setup are required.
Enable globally for all generators
Enable per-generator

Customize Autorelease
You can customize Autorelease if you need to fetch from a hosted spec URL or review releases before publishing.
Enable pull-based detection
Add a cron schedule to your generators.yml:
Or configure per-generator:
Review releases before publishing
Set mode: pull-request to review releases before publishing. Autorelease will open a pull request for you to review instead of publishing directly.