Releases: appsignal/mono
v0.7.0
Added
-
e712276 minor - Support custom languages with the custom language option. Example custom language configuration:
--- language: custom repo: "https://github.com/appsignal/appsignal-python" bootstrap: command: "echo bootstrap" clean: command: "hatch clean" build: command: "hatch build" publish: command: "hatch publish" test: command: "hatch run test:pytest" read_version: "hatch version" write_version: "hatch version"
-
7853508 minor - Add mono publish
--no-git
flag. When this flag is given tomono publish
, the publishing process will not commit the changes to Git, create a tag or push the changes to the remote. This can be useful when you want mono to only generate changelogs and update package version. -
10ce9e4 minor - Add mono publish
--no-package-push
flag. When this flag is given tomono publish
, the publishing process will not push the packages to their version managers. This can be useful when you want mono to only generate changelogs and update package version. -
cbd946d minor - Add mono publish
--yes
flag. When this flag is given tomono publish
, the publishing process will not prompt to confirm publishing. Any OTP prompts by the package managers may still prompt for input. -
d7ab1e0 patch - Support custom tags for Node.js packages. Call
mono publish
with the--tag
option to set custom tags for new releases. By default Node.js adds thelatest
tag to new releases, but this may not always be desired. The tag specified applies to all packages published by mono. The--tag
option has precedence over the--prerelease
option.mono publish --tag 2.x-stable
-
7837ef1 patch - When the
mono publish
command fails at or before the publishing step, offer the user the possibility to rollback changes performed to the Git repository.
Changed
- 56d7135 minor - Require Ruby 3 going forward.
- 8ae7c7f minor - Use a selection prompt for the semver change in
mono changeset add
. The prompts were inconsistency asking between a number and text input. It now will only require you to select options with numbers. - 19eb6f7 patch - Remove [ci skip] tag from publish commit. Run the CI build for the publish commit just in case anything could break with updating the version.
- 4e21aed patch - Improve publish commit message. When only one package is publish, show the version number in the commit subject. Add a small description to the message what was changed.
- b0474af patch - When running
mono publish
, check if the Git tag that is about to be published already exists, and if so, abort the publishing process early. - ad5a451 patch - Add the publish date for each version to the changelog. This allows people to see at a glance when a version was released.
Fixed
- db13740 patch - Fix changeset filenames containing a backticks by replacing it with a dash (
-
). If a backtick was present in the changeset description it would fail to open the right file when prompted. - 6596f02 patch - Check if the directory in which Mono is run is Mono project before performing commands. Previously Mono would error with a non-user friendly Ruby error about a missing file. This case is now handled with a better error message.
v0.6.2
Added
- bdbbcf5 patch - Support Node.js package.json
devDependencies
. Any package in the workspace that's specified as a dev dependency by other packages are also updated upon publish.
Fixed
- 546b81a patch - Strip out colons from changeset filenames. The colon and semicolon symbols are now replaced with a dash symbol.
v0.6.1
Fixed
- 393d60d patch - Fix publishing with changeset filenames containing unescaped symbols.
- 3eb2f57 patch - Prevent duplicate dependency bump changesets. Previously, if a package's dependency had a dependency that was also updated, the final package in the tree would track multiple changesets for the same dependency update.
v0.6.0
Added
- d81182b minor - Add types to changesets. The following types are supported: add, change, deprecate, remove, fix and security. Use the appropriate one for the change and the changelog will include sections for every present type of change. This will make it easier for readers to understand the impact of a new release's changes.
- dd19f67 minor - Add support for the
fish
shell in thescript/setup
installation script. - dd19f67 patch - Print changeset summaries on publish. This makes it easier to tell which changes are about to be published for every package.
- dd19f67 patch - Print changeset type on publish preview.
Fixed
- 81b0614 patch - Validate changesets when parsing. With the addition of changeset types, make sure that the changesets have a version bump and type specified and that they are known values. Otherwise, these changesets would not be picked up by mono.
- dd19f67 patch - Validate user input of the package number for changesets in mono repositories better. Non number characters and other invalid strings will prompt the user again to enter a valid package number.
v0.5.9
- 616571e patch - Add
mono-dev
executable to allow for testing mono. Themono
executable will not allow usage of mono with uncommitted changes. This will prevent accidental usage of mono with uncommitted changes that would cause mono to crash unexpectedly. - 43cc5fc patch - Retry failed publish commands. When a publish command like
gem push
fails, prompt the user to retry it rather than fail the entire publish process. - 709caa4 patch - Fix mono production check directory. It would perform the check in the current directory, not the mono install directory.
- f70a877 patch - Check Git branch for mono to prevent accidental usage of mono on an unmerged branch.
- e89e57c patch - Skip Git check if Git command fails. If
git status
fails in themono
directory, skip the check. It's probably a production download.
v0.5.8
- 244ec4f patch - Aside from working on Elixir projects with their version set in a module attribute (
@version "1.2.3"
andversion: @version
), add support for projects with their versions set directly in theproject
block (version: "1.2.3"
). - 221dd5f patch - Move the [ci-ckip] tag to commit message body instead of printing it in the subject.
- 940b0ac patch - Fix Node.js package publishing using yarn. Calling
yarn publish
prompted the user to enter a new version while Mono already knows what version to upgrade the package to. This prompt is now removed.
v0.5.7
- 3f06eec patch - Improve circular dependency error message.
- ac15342 patch - Print exit message with line break. This gives a more user friendly end stopping the publish process, rather than a message with a missing line break.
- 54540cb patch - Improve command failure error message. Explain in more detail what the message is about.
- 8a86a6e patch - Require npm 7.12 at minimum, this should fix the issue with certain workspaces not being found on older npm versions.
v0.5.6
- dd2a62f patch - Remove commit info from some changeset entries made by mono. Changeset entries made by mono for dependency bumps do not have a commit, as they are part of the "publish" commit, which doesn't exist at time of changelog generation, so omit the information to reduce noise.
- 2c54ba1 patch - Implement dependency tree, this accounts for package dependencies in compilation order. When package B depends on package A it will first compile package A and then package B. This prevents compilation errors.