feat: initial commit
to master
. When pushing that commit, semantic-release will release the version 1.0.0
and make it available on the default distribution channel which is the dist-tag @latest
for npm.fix: a fix
to master
. When pushing that commit, semantic-release will release the version 1.0.1
on the dist-tag @latest
.next
and commit our feature to this branch. When pushing that commit, semantic-release will release the version 2.0.0
on the dist-tag @next
. That means only the users installing our module with npm install [email protected]
will receive the version 2.0.0
. Other users installing with npm install example-module
will still receive the version 1.0.1
.2.0.0
release and reports a bug. We develop a bug fix and commit it to the next
branch with the message fix: fix something on the big feature
. When pushing that commit, semantic-release will release the version 2.0.1
on the dist-tag @next
.next
only a subset of users would get it, and we would need to wait for the end of our feedback period in order to make both the big and the small feature available to all users.master
with the message feat: a small feature
. When pushing that commit, semantic-release will release the version 1.1.0
on the dist-tag @latest
so all users can benefit from it right away.@next
dist-tag. To do so we need to merge our changes made on master
(the commit feat: a small feature
) into next
. As master
and next
branches have diverged, this merge might require to resolve conflicts.next
, semantic-release will release the version 2.1.0
on the dist-tag @next
which contains both our small and big feature.@next
dist-tag we feel confident to make our big feature available to all users. To do so we merge the next
branch into master
. There should be no conflict as next
is strictly ahead of master
.master
, semantic-release will add the version 2.1.0
to the dist-tag @latest
so all users will receive it when installing out module with npm install example-module
.master
, or a new breaking change on next
as we did before.