Releases: semantic-release/semantic-release
v4.0.1
v4.0.0 – The Great Rewrite
This is a pre-release tagged as next
on npm, so nobody will get it by default. You have to explicitly install it:
npm i -D semantic-release@next
Features
This is a complete rewrite of semantic-release
with a new structure and architecture. Everything is more modular and more extensible. It's easier than ever to write plugins, there are more plugins and semantic-release
itself consists of plugins.
On top of that there are a lot new features. For example private module support (for real this time) and support for release channels, which means you can maintain multiple releases like "latest" and "next", or "beta", "canary" and the stable "latest".
Another huge thing is that the setup got about 4937 times easier and semantic-release
is no longer using the old npm auth token format. There is even a single command setup that takes care of everything (Thank you @christophwitzko).
npm install -g semantic-release-cli
cd your-module
semantic-release-cli setup
If you want to get a feeling for how much easier it got, then compare the .travis.yml of master and the .travis.yml of next.
Tests
There is now a unit test suite and integration tests were rewritten so they run against the official npm-registry-couchapp and not sinopia anymore. The problem is that they don't yet run on Travis. Let me know if you want to help with this.
Breaking Changes
Ironically the changelog generation doesn't work here, because this a complete rewrite with no shared history. I'll write them up manually, but there is a migration guide already.
Migrate from semantic-release <=3.x to 4.x
package.json
- Remove
semantic-release pre
from theprepublish
script. - Remove
semantic-release post
from thepostpublish
script.
.travis.yml
- If you had a setup with multiple node versions and travis_after_all remove
python travis_after_all.py
andexport $(cat .to_export_back)
from theafter_failure
script and removerm -f travis_after_all.py .to_export_back
frombefore_deploy
. - Add
npm run semantic-release
at the end of yourafter_success
script. - If you had a custom script in the
before_deploy
script, then move it right in front ofnpm run semantic-release
. - If you had a custom script in the
after_deploy
script, then move it right afternpm run semantic-release
. - Entirely delete the
deploy
section.
semantic-release-cli
If you haven't already install the new semantic-release-cli
.
npm install -g semantic-release-cli
Run semantic-release-cli setup
inside your module's folder and enter your details.
When it comes to "What kind of .travis.yml
do you want?" select "Create no .travis.yml
".
This PR to pouchdb-hoodie-api is an execution of above guide so you can see what the diff looks like.
One More Thing
semantic-release
has its own GitHub Organisation and a beautfiul logo now. Thank you @lewiscowper!
v3.4.1
v3.4.0: Merge pull request #30 from boennemann/feat-private-modules
v3.3.2: Merge pull request #38 from boennemann/feat-verify-version-placeholder
v3.3.1
v3.3.0
v3.2.2
v3.2.1
v3.2.0
<a name"3.2.0">
3.2.0 (2015-04-24)
Features
- post: custom release note generation (323b5d5b)
https://github.com/boennemann/semantic-release/wiki/release-note-generation
https://github.com/boennemann/semantic-release/wiki/commit-analysis