Skip to content

Releases: appsignal/mono

v0.7.0

19 Jan 12:38
421d6fa
Compare
Choose a tag to compare

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 to mono 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 to mono 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 to mono 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 the latest 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

18 Mar 13:49
a2ef525
Compare
Choose a tag to compare

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

17 Jan 12:23
43c92f7
Compare
Choose a tag to compare

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

01 Dec 10:50
9698408
Compare
Choose a tag to compare

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 the script/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

29 Sep 15:03
493eae8
Compare
Choose a tag to compare
  • 616571e patch - Add mono-dev executable to allow for testing mono. The mono 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 the mono directory, skip the check. It's probably a production download.

v0.5.8

12 Aug 07:26
24c1c7c
Compare
Choose a tag to compare
  • 244ec4f patch - Aside from working on Elixir projects with their version set in a module attribute (@version "1.2.3" and version: @version), add support for projects with their versions set directly in the project 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

17 Jul 07:59
4617cc2
Compare
Choose a tag to compare
  • 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

15 Jun 07:43
39e99ed
Compare
Choose a tag to compare
  • 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.

v0.5.5

31 May 17:11
6b17581
Compare
Choose a tag to compare
  • 0a3f464 patch - Support final releases from prereleases without changes. Run mono publish for a package with version 1.0.0-rc.4 and mono will publish it as 1.0.0 if no changesets are present. It's always possible to publish another prerelease, as long as there are changesets.

v0.5.4

31 May 13:34
b9d3602
Compare
Choose a tag to compare
  • ec52f98 patch - Fix prerelease version incrementation. Mono would not properly update an alpha 1 release to an alpha 2 release.