Skip to content

Releases: mattpolzin/harmony

Just give me the deets

05 Jul 23:17
77f2aac
Compare
Choose a tag to compare

What's Changed

With this version, you can now configure Harmony's comment when it requests review based on its heuristic. Previously, the comment was either enabled (with an at-mention to the requested user) or disabled. Now you can disable it, or enable it with an at-mention to the requested user or using the requested user's name. The new comment with name option may be preferable for some organizations because there is no notification tied to the comment itself like there would be with a mention.

harmony config commentOnRequest none is the same as harmony config commentOnRequest no used to be.

harmony config commentOnRequest at-mention is the same as harmony config commentOnRequest yes used to be.

harmony config commentOnRequest name is the the new setting to comment and use the requested user's name instead of mentioning them.

This version also adds support for harmony contribute --list which lists a number of PRs you may want to review instead of only operating on one PR at a time.

Non-breaking

  • Comment strategy config (#135)
  • Add support for listing PRs in need of review (#134)

Breaking

  • Support for the deprecated assign command has been removed. Use the equivalent request (or rq) command instead. This command was renamed around the time of the previous major release.
  • Support for the following deprecated configuration options has been removed:
    • assignUsers (renamed requestUsers)
    • assignTeams (renamed requestTeams)
    • commentOnAssign (renamed commentOnRequest).

If you are coming from a Harmony version prior to 4.0.0, the easiest way to update is to install Harmony 4.4.0, run harmony sync, and then install Harmony 5.x. This will automatically migrate your configuration file(s). Alternatively, you can manually edit harmony.json to rename the above configuration keys.

Full Changelog: 4.4.0...5.0.0


Install via npm with npm install --global @mattpolzin/harmony or by downloading the attached harmony-npm.tar.gz file, extracting, and then running npm install -g from the unzipped folder to install globally on your system. Use in a nix shell (assuming flakes are enabled) with nix shell github:mattpolzin/harmony.

You can build the source with Idris 2 v0.7.0 or the latest HEAD of the main Idris 2 branch.

Maybe not every project is Org-anized

02 Jul 04:11
c8f52e8
Compare
Choose a tag to compare

What's Changed

Non-breaking

  • Allow much of harmony to be used with non-org github repos (#132)
  • list teams when list command is not given a team name (#133)

Full Changelog: 4.3.0...4.4.0


Install via npm with npm install --global @mattpolzin/harmony or by downloading the attached harmony-npm.tar.gz file, extracting, and then running npm install -g from the unzipped folder to install globally on your system. Use in a nix shell (assuming flakes are enabled) with nix shell github:mattpolzin/harmony.

You can build the source with Idris 2 v0.7.0 or the latest HEAD of the main Idris 2 branch.

Add a `light` theme configuration option

30 Jun 16:19
04257c1
Compare
Choose a tag to compare

What's Changed

Non-breaking

  • read terminal width, make help and other output reflow to that width (#127)
  • Light theme (#131)

Full Changelog: 4.2.0...4.3.0


Install via npm with npm install --global @mattpolzin/harmony or by downloading the attached harmony-npm.tar.gz file, extracting, and then running npm install -g from the unzipped folder to install globally on your system. Use in a nix shell (assuming flakes are enabled) with nix shell github:mattpolzin/harmony.

You can build the source with Idris 2 v0.7.0 or the latest HEAD of the main Idris 2 branch.

Support setting `mainBranch` config from CLI

31 May 03:59
124a197
Compare
Choose a tag to compare

Add ability to set mainBranch config prop via CLI

New `rq` alias for the `request` command

08 Mar 16:02
9bc2b1a
Compare
Choose a tag to compare

Changes

Non-breaking

  • Add rq alias for request command in #121

Full Changelog: 4.0.1...4.1.0


Install via npm with npm install --global @mattpolzin/harmony or by downloading the attached harmony-npm.tar.gz file, extracting, and then running npm install -g from the unzipped folder to install globally on your system. Use in a nix shell (assuming flakes are enabled) with nix shell github:mattpolzin/harmony.

You can build the source with Idris 2 v0.7.0 or the latest HEAD of the main Idris 2 branch.

Add missing `help` output

22 Jan 05:24
a56e264
Compare
Choose a tag to compare

Changes

Non-breaking

  • Added missing help command documentation for the now-deprecated assign command.

Install via npm with npm install --global @mattpolzin/harmony or by downloading the attached harmony-npm.tar.gz file, extracting, and then running npm install -g from the unzipped folder to install globally on your system. Use in a nix shell (assuming flakes are enabled) with nix shell github:mattpolzin/harmony.

You can build the source with Idris 2 v0.7.0 or the latest HEAD of the main Idris 2 branch.

Rename `assign` command to `request`

15 Jan 23:48
eddc43d
Compare
Choose a tag to compare

Changes

The way harmony used the word "assign" in commands, configuration options, and help text was often not aligned with the way GitHub uses that same word. Where Harmony used to say "assigned a reviewer" GitHub would say "requested a review;" since GitHub also has a totally distinct concept of assigning (assigning users to Pull Requests), this was regrettable naming for the Harmony CLI. I've changed the Harmony word choice going forward, though the commands and configuration options from prior versions of Harmony will continue to work for the duration of the 4.x releases.

Non-breaking

  • The assign command has been renamed to request; assign will continue to work with a deprecation warning for the duration of the 4.x releases in order to ease the transition to using the new name.
  • The assignTeams and assignUsers configuration options were renamed requestTeams and requestUsers respectively. The old config names will continue to work for the duration of the 4.x releases to ease the transition to the new names.

Breaking

  • The assignTeams and assignUsers config options in the harmony.json configuration file were renamed to requestTeams and requestUsers. Although the old names will continue to work via the harmony config ... CLI command, only the new names will be stored in the harmony.json file. This makes the configuration file not backwards compatible with older versions of Harmony. Harmony will automatically update the config file for you.

Install via npm with npm install --global @mattpolzin/harmony or by downloading the attached harmony-npm.tar.gz file, extracting, and then running npm install -g from the unzipped folder to install globally on your system. Use in a nix shell (assuming flakes are enabled) with nix shell github:mattpolzin/harmony.

You can build the source with Idris 2 v0.7.0 or the latest HEAD of the main Idris 2 branch.

Improve Help

15 Jan 23:07
5184c26
Compare
Choose a tag to compare

Changes

Non-breaking

  • You can now run help <subcommand> to get help for a specific subcommand.
  • The full help command output is now sorted by subcommand alphabetically.
  • The help description for shell prompt completion has been updated to reflect the newest way to use Zsh completion for Harmony.

Install via npm with npm install --global @mattpolzin/harmony or by downloading the attached harmony-npm.tar.gz file, extracting, and then running npm install -g from the unzipped folder to install globally on your system. Use in a nix shell (assuming flakes are enabled) with nix shell github:mattpolzin/harmony.

You can build the source with Idris 2 v0.7.0 or the latest HEAD of the main Idris 2 branch.

More graph command context printed to screen

08 Jan 16:09
b8b0ba5
Compare
Choose a tag to compare

Changes

Non-breaking

  • I chose to add an additional note at the bottom of the graph command output that explains my strong opinion about what the graph output does and does not represent.

Install via npm with npm install --global @mattpolzin/harmony or by downloading the attached harmony-npm.tar.gz file, extracting, and then running npm install -g from the unzipped folder to install globally on your system. Use in a nix shell (assuming flakes are enabled) with nix shell github:mattpolzin/harmony.

You can build the source with Idris 2 v0.7.0 or the latest HEAD of the main Idris 2 branch.

Add more direct zsh completion support

30 Dec 22:16
59c8b0b
Compare
Choose a tag to compare

Changes

Non-breaking

  • Support zsh completion more directly. See the README.

Install via npm with npm install --global @mattpolzin/harmony or by downloading the attached harmony-npm.tar.gz file, extracting, and then running npm install -g from the unzipped folder to install globally on your system. Use in a nix shell (assuming flakes are enabled) with nix shell github:mattpolzin/harmony.

You can build the source with Idris 2 v0.7.0 or the latest HEAD of the main Idris 2 branch.