0.27.0 (2024-12-10)
- code is in in ES Modules now and earliest node support is 18
0.26.4 (2024-08-20)
0.26.3 (2023-04-12)
0.26.2 (2023-04-06)
0.26.1 (2023-03-21)
0.26.0 (2023-03-15)
0.25.1 (2023-01-09)
Note: this requires a git email and name to be set before trigger
.
0.25.0 (2022-11-22)
- github: require later version of octokit (bb915bf)
0.24.4 (2022-04-12)
0.24.3 (2022-02-22)
0.24.2 (2022-01-31)
0.24.1 (2021-12-07)
0.24.0 (2021-09-21)
0.23.3 (2021-06-14)
0.23.2 (2021-04-12)
- print out error when changelog fails (d40b041)
0.23.1 (2021-03-09)
0.23.0 (2020-11-06)
If you don't use Ship.js in a monorepo, this breaking change doesn't affect you.
If you do, we have a good addition for you. Ship.js will update the versions of the dependencies in the monorepo. You can learn more from here.
- specify path for changelog (#673) (74531a3)
- github-actions: use the
actions/github-script
action instead of the deprecatedactions/github
action (#934) (4f56bdb)
0.22.0 (2020-09-28)
0.21.1 (2020-09-23)
- setup: add --tag to publish command in generated config (#916) (53121e2)
- trigger: replace yarn publish with npm publish (#919) (66149dc)
- trigger: set npm config to read NPM_AUTH_TOKEN (#923) (1c935a3)
0.21.0 (2020-08-24)
0.20.1 (2020-06-22)
0.20.0 (2020-06-16)
From this version, mergeStrategy
no longer exists.
Make sure you run shipjs trigger
only on the branches you've specified.
If you have a CircleCI config like the following:
version: 2
jobs:
shipjs_trigger:
docker:
- image: "circleci/node:latest"
steps:
- checkout
- run:
name: Install
command: yarn install
- run:
name: Triggering Ship.js to Release
command: yarn shipjs trigger
workflows:
version: 2
release_if_needed:
jobs:
- shipjs_trigger
then, modify the last part like the following:
workflows:
version: 2
release_if_needed:
jobs:
- shipjs_trigger:
filters:
branches:
only:
- master # or whatever branch you'd like (normally your base branch)
This ensures shipjs trigger
runs only on the specified branches.
Ship.js used to have toSameBranch
and toReleaseBranch
strategies. Now they're gone and it only works like toSameBranch
strategy. As explained above, you need to specify branches where to run shipjs trigger
, though.
If you were using toReleaseBranch
, there is a workaround. You can read Release Snapshot to achieve what you used to do.
- prepare: return correct releaseType (#885) (7d918f6)
- setup: get correct remote branches (#883) (551dde0)
- setup: update circleci node version to v12 (#884) (6579294)
- setup: use current branch when there is no remote at setup flow (#881) (5a0e152)
0.19.0 (2020-05-12)
0.18.4 (2020-05-08)
- actions: fix ejs syntax (#801) (8055a9f)
- release: push to correct branch in toReleaseBranch strategy (#803) (1367315)
0.18.3 (2020-05-04)
- actions: add fetch-depth and git fetch (#778) (994e4ff)
- deps: update dependency shelljs to v0.8.4 (#776) (b70fc24)
- release: skip running publishCommand if nullish (#793) (eb62c8d)
0.18.2 (2020-04-07)
- prepare: fix wrong comparison url in the PR summary when getTagName is overridden in ship.config.js (#753) (4a40920)
0.18.1 (2020-04-03)
- deps: update dependency prettier to v2 (#732) (96d6ff2)
- prepare: respect custom tag name when getting a revision range (#751) (a1baa93)
0.18.0 (2020-03-17)
0.17.0 (2020-03-06)
This version introduces some breaking changes.
-
In your
ship.config.js
, renamepullRequestReviewer
topullRequestReviewers
(which accepts only an array of strings). -
In your
ship.config.js
, renamepullRequestTeamReviewer
topullRequestTeamReviewers
(which accepts only an array of strings). -
releaseStart
for Slack message has been removed. If you'd like to have it back, please create an issue and let's discuss. -
The default value of
testCommandBeforeRelease
is nowundefined
. It used to be({ isYarn }) => isYarn ? 'yarn test' : 'npm run test'
. This change assumes many of you already run tests with CI services when you create pull requests. With the previous config, Ship.js unnecessarily ran tests before release. If you'd like to have it back, add some config like the following:
testCommandBeforeRelease: ({ isYarn }) => isYarn ? 'yarn test' : 'npm run test',
-
setup: do not write ship.config.js if not necessary (#705) (82f8cbc)
-
setup: fix wrong config(packagesToBump, packagesToPublish) for monorepo (#701) (0590a38)
-
allow @(a|b|c) syntax for packagesToBump and packagesToPublish (#702) (de9083c)
-
shipjs-lib: exclude dependencies from final bundle (#651) (f6ec4cf)
0.16.1 (2020-03-03)
0.16.0 (2020-02-25)
- detect major versions correctly (#666) (5c5cca1), closes #634
- pass version to buildCommand (#676) (c25b49b)
0.15.0 (2020-02-03)
default: undefined
// example
shouldPrepare: ({
commits,
nextVersion,
releaseType,
releaseTag,
commitNumbersPerType,
}) => { /* ... */ }
This is a lifecycle hook where you can decide whether or not to proceed with the preparation.
Read the guide to learn more about the hook.
0.14.2 (2020-01-27)
0.14.1 (2020-01-22)
- clean up all cases for releaseType (#631) (89e5d73)
- pass releaseTag to afterPublish hook (#632) (6b5febb)
The following shows how releaseType
is determined.
1.2.3
->2.0.0
:major
1.2.3
->1.3.0
:minor
1.2.3
->1.2.4
:patch
1.2.3
->1.2.4-alpha.0
:prerelease
1.2.4-alpha.0
->1.2.4-alpha.1
:prerelease
1.2.4-alpha.0
->1.2.4
:patch
1.2.4-alpha.0
->1.2.5
:patch
1.2.4-alpha.0
->1.3.0
:minor
1.2.4-alpha.0
->2.0.0
:major
1.3.0-alpha.0
->1.3.0
:minor
Just like normal cases, the new version decides thereleaseType
.
0.14.0 (2020-01-14)
- release: add
version
inafterPublish
hook (#608) (76c5591) - action: pin GitHub Action versions (#612) (b5e576a)
- action: replace switch with build in checkout (#602) (ef5f8b9)
- slack: use tag name instead of release tag (#609) (f183425)
0.13.1 (2019-12-31)
0.13.0 (2019-12-31)
- github-actions: fix image name (#557) (33f710c)
- replace GH_TOKEN with GITHUB_TOKEN (#568) (835e26f)
- prepare: throw with --yes when git tag is missing (#570) (cee5f35)
- prepare: add --commit-from option (#572) (041d3d9)
- release: notify GitHub release url instead of CHANGELOG (#555) (c017067), closes #506
0.12.1 (2019-12-24)
- setup: add SLACK_INCOMING_HOOK env for all GitHub Actions (#550) (dbdd919)
- setup: don't use escape for config serializion (#549) (59b802d)
0.12.0 (2019-12-20)
0.11.3 (2019-12-17)
0.11.2 (2019-12-04)
- add missing pr url to slack message (#499) (fa1e654)
- make
versionUpdated
andbeforeCommitChanges
undefined by default (#495) (d9a4c51)
0.11.1 (2019-12-01)
- ask commit range when tag is missing (#471) (f659c34)
- clean up remote
origin-with-token
after git push (#479) (c81d247) - fetch tags before figuring out next version (#468) (045bbc0)
- update changelog based on commit range (#473) (9841f25)
- update PR message with publish command (#467) (18cc7e4)
0.11.0 (2019-11-27)
From 0.11.0
, GITHUB_TOKEN
is required as an environment variable for Ship.js to work.
Please refer to the guide.
- check if origin-with-token already exists on prepare command (#455) (ce296a6)
- create github release with rest api instead of hub (#458) (0bfeda6)
- create pull request with rest api instead of hub (#456) (9423f11)
- guide users to have GITHUB_TOKEN (#460) (b3ae436)
- remove hub (#459) (cfd4b2f)
0.10.0 (2019-11-26)
- deprecate --first-release and --release-count at shipjs prepare (#447) (d46d83f)
- pin dependency at shipjs setup (#446) (6560b9f)
- getChangelog: wrong argument name (#448) (e378e06)
0.9.0 (2019-11-25)
0.8.2 (2019-11-08)
- continue release even if there's no conventional commit (#405) (70fb2ec)
- fix hubConfigured for GitHub Actions (#393) (635ab7b)
0.8.1 (2019-11-05)
- extract changelog for lerna-changelog (#388) (08ae7d5)
- pass
nextVersion
tobeforeCommitChanges
(#389) (903f569) - fix detecting yarn (#381) (7aa393a)
0.8.0 (2019-10-25)
0.7.1 (2019-10-21)
0.7.0 (2019-10-21)
- accept an array for pullRequestReviewer (#314) (c26a07f)
- add option to run not to print command (#321) (bc328e6)
- do not print github token (#322) (82527cf)
- fix exception on dry mode (#313) (2c4a2e4)
- get PR number correctly after preparation (#340) (4ce3443)
- create GitHub releases (#311) (f1e4e77)
- This is automatically done and uses the changelog as content of release.
- upload assets to GitHub release (#334) (fcf2807)
- At
ship.config.js
, You can configurereleaeses.assetsToUpload
. More details in configuration will come soon.
- At
It's a breaking change but haven't bumped the major version since it's still in beta.
Please bear with any inconvenience.
- replace
monorepo.readVersionFrom
withmonorepo.mainVersionFile
(#350) (107255a), (#351) (98617b4)- Now Ship.js updates the version at
monorepo.mainVersionFile
. Withmonorepo.readVersionFrom
, it didn't update the file itself.
- Now Ship.js updates the version at
0.6.0 (2019-10-04)
- don't display steps for slack when there's no slack config (#294) (eb1ab44)
- fix pull request url in slack message (#301) (f89ba1d)
0.5.5 (2019-10-01)
0.5.4 (2019-09-25)
0.5.3 (2019-09-24)
0.5.2 (2019-09-24)
0.5.0 (2019-09-08)
- add monorepo config (#246) (744cfc4)
- fix a bug where it couldn't check correctly if hub is configured (#241) (c228772)
- git push with upstream specified (#206) (ef5eccd)
- print error message when hub doesn't exist (#205) (9ba45ff)
- push to git with GITHUB_TOKEN (#234) (a39e7ee)
- rename release command to trigger (#236) (3cbedb2)
- throw when hub is installed but not configured (#208) (a4c769c)
- add monorepo support (#232) (aa96ca9)
- add tag at NPM when it's prerelease like beta, rc, ... (#212) (91ba961)
- rename packageJsons to filesToBump (#209) (5753300)