Skip to content

chore: release v3.0.0#527

Merged
jdx merged 1 commit intomainfrom
release
Mar 13, 2026
Merged

chore: release v3.0.0#527
jdx merged 1 commit intomainfrom
release

Conversation

@mise-en-dev
Copy link
Copy Markdown
Collaborator

@mise-en-dev mise-en-dev commented Mar 6, 2026

🚀 Features

  • (spec) breaking add support for license, before/after help metadata by @jdx in #542

🐛 Bug Fixes

  • (cobra) escape newlines, tabs, and carriage returns in kdlQuoteAlways by @thecodesmith in #539
  • bump major version for breaking changes in release automation by @jdx in #544
  • add custom_major_increment_regex for breaking change detection by @jdx in #545
  • handle all breaking change commit formats in major bump regex by @jdx in 27e1ab1
  • normalize breaking change commit format in preprocessor by @jdx in aa72b92

📚 Documentation

  • add argparse-usage integration by @jdx in #531
  • mark KDL code blocks as KDL and use correct inline-comment // by @muzimuzhi in #536
  • fix include syntax to match implementation by @jdx in #540
  • consolidate integration list to single source by @jdx in #541
  • fix link to integrations by @muzimuzhi in #543

🛡️ Security

🔍 Other Changes

📦️ Dependency Updates

New Contributors

@gemini-code-assist
Copy link
Copy Markdown
Contributor

Summary of Changes

Hello, I'm Gemini Code Assist1! I'm currently reviewing this pull request and will post my feedback shortly. In the meantime, here's a summary to help you and other reviewers quickly get up to speed!

This pull request performs a routine release for version v2.18.3, primarily by updating a wide array of dependencies across both the Rust and JavaScript ecosystems. It ensures that the project's various components and their lock files reflect the latest stable dependency versions, and updates internal version references in documentation and configuration.

Highlights

  • Version Bump: The project's version has been updated to v2.18.3 across various configuration and documentation files.
  • Rust Dependency Updates: Several Rust dependencies, including getrandom, jiff, jiff-static, quote, and r-efi, have been updated to newer versions in Cargo.lock.
  • JavaScript Dependency Updates: Numerous Node.js dependencies, such as @iconify-json/simple-icons, caniuse-lite, electron-to-chromium, flatted, node-releases, postcss, and vitepress, have been updated in pnpm-lock.yaml.
  • Changelog Entry: A new entry for v2.18.3 has been added to the CHANGELOG.md, specifically noting an update to the actions/setup-node digest.
Changelog
  • CHANGELOG.md
    • Added a new changelog entry for version 2.18.3.
  • Cargo.lock
    • Updated getrandom from 0.4.1 to 0.4.2.
    • Updated jiff from 0.2.22 to 0.2.23.
    • Updated jiff-static from 0.2.22 to 0.2.23.
    • Updated quote from 1.0.44 to 1.0.45.
    • Added r-efi version 6.0.0 and specified r-efi 5.3.0 for getrandom.
    • Updated usage-cli from 2.18.2 to 2.18.3.
    • Updated usage-lib from 2.18.2 to 2.18.3.
  • Cargo.toml
    • Updated the usage-lib workspace dependency version to 2.18.3.
  • cli/Cargo.toml
    • Updated the usage-cli package version to 2.18.3.
  • cli/usage.usage.kdl
    • Updated the usage-cli version metadata to 2.18.3.
  • docs/cli/reference/commands.json
    • Updated the usage-cli version in the CLI commands reference to 2.18.3.
  • docs/cli/reference/index.md
    • Updated the usage-cli version in the markdown documentation to 2.18.3.
  • lib/Cargo.toml
    • Updated the usage-lib package version to 2.18.3.
  • pnpm-lock.yaml
    • Updated vitepress dependency to use [email protected].
    • Updated @iconify-json/simple-icons from 1.2.71 to 1.2.72.
    • Updated caniuse-lite from 1.0.30001775 to 1.0.30001776.
    • Updated electron-to-chromium from 1.5.302 to 1.5.307.
    • Updated flatted from 3.3.3 to 3.3.4.
    • Updated node-releases from 2.0.27 to 2.0.36.
    • Updated postcss from 8.5.6 to 8.5.8.
    • Updated browserslist to depend on newer versions of caniuse-lite, electron-to-chromium, and node-releases.
    • Updated eslint-plugin-compat to depend on a newer version of caniuse-lite.
    • Updated flat-cache to depend on a newer version of flatted.
    • Updated vite to depend on a newer version of postcss.
    • Updated vitepress to depend on newer versions of postcss and @iconify-json/simple-icons.
Activity
  • The pull request was created by mise-en-dev as a chore to release version v2.18.3.
  • The release includes dependency updates, notably an actions/setup-node digest update, which was originally performed by renovate[bot] in pull request #525.
Using Gemini Code Assist

The full guide for Gemini Code Assist can be found on our documentation page, here are some quick tips.

Invoking Gemini

You can request assistance from Gemini at any point by creating a comment using either /gemini <command> or @gemini-code-assist <command>. Below is a summary of the supported commands on the current page.

Feature Command Description
Code Review /gemini review Performs a code review for the current pull request in its current state.
Pull Request Summary /gemini summary Provides a summary of the current pull request in its current state.
Comment @gemini-code-assist Responds in comments when explicitly tagged, both in pull request comments and review comments.
Help /gemini help Displays a list of available commands.

Customization

To customize Gemini Code Assist for GitHub experience, repository maintainers can create a configuration file and/or provide a custom code review style guide (such as PEP-8 for Python) by creating and adding files to a .gemini/ folder in the base of the repository. Detailed instructions can be found here.

Limitations & Feedback

Gemini Code Assist may make mistakes. Please leave feedback on any instances where its feedback is incorrect or counter productive. You can react with 👍 and 👎 on @gemini-code-assist comments. If you're interested in giving your feedback about your experience with Gemini Code Assist for Github and other Google products, sign up here.

You can also get AI-powered code generation, chat, as well as code reviews directly in the IDE at no cost with the Gemini Code Assist IDE Extension.

Footnotes

  1. Review the Privacy Notices, Generative AI Prohibited Use Policy, Terms of Service, and learn how to configure Gemini Code Assist in GitHub here. Gemini can make mistakes, so double check it and use code with caution.

Copy link
Copy Markdown
Contributor

@gemini-code-assist gemini-code-assist Bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Code Review

This pull request handles the release of version v2.18.3, which primarily involves updating version numbers across various project files and refreshing dependency locks. The changes appear to be standard for a release. I've noted one minor issue in the CHANGELOG.md regarding an incorrect release date.

Comment thread CHANGELOG.md Outdated
@@ -1,5 +1,15 @@
# Changelog

## [2.18.3](https://github.com/jdx/usage/compare/v2.18.2..v2.18.3) - 2026-03-06
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

medium

The release date is set to a future date (2026-03-06). This should be corrected to the actual release date. The date for the previous version (v2.18.2) also appears to be in the future, which might indicate a recurring issue with the release script.

@greptile-apps
Copy link
Copy Markdown

greptile-apps Bot commented Mar 6, 2026

Greptile Summary

This is a fully automated v3.0.0 release PR, generated by the tasks/release-plz script. The major version bump is justified by the breaking spec change (feat!(spec)) introduced in #542cliff.toml has breaking_always_bump_major = true and the release script explicitly handles this via git cliff --bumped-version.

Key changes:

  • Version bumpusage-lib and usage-cli moved from 2.18.23.0.0 across Cargo.toml, cli/Cargo.toml, lib/Cargo.toml, Cargo.lock, the generated KDL spec, and both documentation reference files. clap_usage is intentionally held at 2.0.3 per the --exclude clap_usage flag in the release script.
  • Cargo.lock refreshcargo update pulled in routine minor/patch bumps: clap 4.5→4.6, roff 1.0.0→1.1.0, zerocopy 0.8.40→0.8.42, getrandom 0.4.1→0.4.2, and several others — all within their semver-compatible ranges defined in the manifests.
  • pnpm-lock.yaml refreshpnpm update upgraded eslint 10.0.2→10.0.3 (matching the tightened ^10.0.3 specifier in package.json) and bumped a number of @algolia/* and postcss transitive dependencies.
  • Generated artifactscli/usage.usage.kdl, docs/cli/reference/commands.json, and docs/cli/reference/index.md were all regenerated by mise run render and reflect only the version string change.

Confidence Score: 5/5

  • This PR is safe to merge — it is a clean, fully automated release commit with no hand-written logic changes.
  • Every change is either a version string update, a cargo update/pnpm update lock file refresh, or an auto-regenerated documentation artifact. The major-version jump from 2.x to 3.0.0 is correct and intentional (triggered by the feat! breaking change in feat!(spec): add support for license, before/after help metadata #542). All version numbers are consistent across manifests and generated files. The clap_usage exclusion from the version bump is confirmed intentional by the release script. No source code logic was modified.
  • No files require special attention.

Important Files Changed

Filename Overview
CHANGELOG.md Adds the v3.0.0 changelog entry with all associated feature, fix, doc, security, and dependency changes — correctly placed at the top of the file and consistent with the publish-cli.yml awk-based release-notes extraction.
Cargo.toml Workspace dependency for usage-lib correctly bumped to 3.0.0; clap_usage intentionally stays at 2.0.3 (confirmed by the release script's --exclude clap_usage flag).
Cargo.lock Lock file updated by cargo update as part of the release script; includes routine minor/patch bumps to clap (4.5→4.6), zerocopy (0.8.40→0.8.42), roff (1.0.0→1.1.0), and several other crates — all within their semver-compatible ranges.
cli/Cargo.toml Version bumped from 2.18.2 to 3.0.0 in sync with lib/Cargo.toml; no other changes.
lib/Cargo.toml Version bumped from 2.18.2 to 3.0.0; roff = { version = "1.0" } constraint correctly accommodates the lock-file bump to roff 1.1.0 via ^1.0 semver expansion.
cli/usage.usage.kdl Auto-generated CLI spec updated to reflect version "3.0.0" — regenerated by mise run render in the release script.
docs/cli/reference/commands.json Auto-generated JSON reference updated from 2.18.2 to 3.0.0; single-field change, no structural issues.
docs/cli/reference/index.md Auto-generated Markdown reference updated from 2.18.2 to 3.0.0; single-line change.
package.json eslint specifier tightened from ^10.0.0 to ^10.0.3, aligning the lower bound with the patched version installed by the automated pnpm update.
pnpm-lock.yaml Lock file updated by pnpm update as part of the release script; upgrades eslint from 10.0.2 to 10.0.3 and bumps several @algolia/*, postcss, and transitive packages — all routine.

Flowchart

%%{init: {'theme': 'neutral'}}%%
flowchart TD
    A["push to main\n(after PR merge)"] --> B["release-plz workflow"]
    B --> C{"Is v3.0.0\nalready tagged?"}
    C -- "No (first run)" --> D["cargo publish -p usage-lib\ncargo publish -p usage-cli"]
    D --> E["git tag v3.0.0\ngit push --tags"]
    E --> F["publish-cli.yml\ntriggered on v* tag"]
    F --> G["create-release job\n(draft GitHub Release)"]
    G --> H["build-and-publish job\n(cross-compile binaries\nfor 7 targets)"]
    H --> I["release job\n(undraft GitHub Release)"]
    I --> J["enhance-release job\n(communique AI summary)"]
    C -- "Yes (subsequent runs)" --> K["git cliff --bumped-version\n→ calculate next version"]
    K --> L["Update CHANGELOG.md\nbump versions\nregen docs"]
    L --> M["Open/update\n'release' branch PR"]
Loading

Last reviewed commit: b44d9bb

@codecov
Copy link
Copy Markdown

codecov Bot commented Mar 6, 2026

Codecov Report

✅ All modified and coverable lines are covered by tests.
✅ Project coverage is 77.94%. Comparing base (84a198c) to head (b10aaa3).

Additional details and impacted files
@@           Coverage Diff           @@
##             main     #527   +/-   ##
=======================================
  Coverage   77.94%   77.94%           
=======================================
  Files          48       48           
  Lines        6682     6682           
  Branches     6682     6682           
=======================================
  Hits         5208     5208           
  Misses       1114     1114           
  Partials      360      360           

☔ View full report in Codecov by Sentry.
📢 Have feedback on the report? Share it here.

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.
  • 📦 JS Bundle Analysis: Save yourself from yourself by tracking and limiting bundle sizes in JS merges.

@mise-en-dev mise-en-dev force-pushed the release branch 3 times, most recently from dc95d1d to 8385025 Compare March 8, 2026 01:31
@socket-security
Copy link
Copy Markdown

socket-security Bot commented Mar 8, 2026

Review the following changes in direct dependencies. Learn more about Socket for GitHub.

Diff Package Supply Chain
Security
Vulnerability Quality Maintenance License
Updatednpm/​eslint@​10.0.2 ⏵ 10.0.389 +110010097100
Updatedcargo/​roff@​1.0.0 ⏵ 1.1.010010093100100

View full report

Copy link
Copy Markdown

@greptile-apps greptile-apps Bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Your free trial has ended. If you'd like to continue receiving code reviews, you can add a payment method here.

@mise-en-dev mise-en-dev force-pushed the release branch 6 times, most recently from b10aaa3 to 4e58fbb Compare March 13, 2026 14:06
Comment thread CHANGELOG.md Outdated
jdx added a commit that referenced this pull request Mar 13, 2026
)

## Summary
- Adds `[bump]` section to `cliff.toml` with `breaking_always_bump_major
= true`
- Without this, `git cliff --bumped-version` ignored the `!` breaking
change indicator in conventional commits (e.g. `feat!(spec):`) and only
bumped the minor version instead of major
- This caused the release PR #527 to incorrectly version as v2.18.3
instead of v3.0.0

## Test plan
- [ ] Verify `git cliff --bumped-version` returns a major bump when
breaking commits exist

🤖 Generated with [Claude Code](https://claude.com/claude-code)

<!-- CURSOR_SUMMARY -->
---

> [!NOTE]
> **Low Risk**
> Low risk: a config-only change that affects release/changelog version
bumping, with no runtime code paths impacted.
> 
> **Overview**
> Updates `cliff.toml` to add a `[bump]` configuration enabling
`breaking_always_bump_major = true`, so `git cliff --bumped-version`
treats conventional-commit breaking changes (e.g., `!`/footer) as a
**major** version bump during release automation.
> 
> <sup>Written by [Cursor
Bugbot](https://cursor.com/dashboard?tab=bugbot) for commit
bc3395c. This will update automatically
on new commits. Configure
[here](https://cursor.com/dashboard?tab=bugbot).</sup>
<!-- /CURSOR_SUMMARY -->

Co-authored-by: Claude Opus 4.6 <[email protected]>
jdx added a commit that referenced this pull request Mar 13, 2026
…545)

## Summary
- `breaking_always_bump_major` from #544 didn't work — `git cliff
--bumped-version` still returned `v2.18.3` instead of `v3.0.0`
- Adds `custom_major_increment_regex` to explicitly match the `!`
breaking change indicator in conventional commits (`feat!:`,
`feat(scope)!:`, etc.)
- This is a belt-and-suspenders fix alongside
`breaking_always_bump_major`

Follow-up to #544

## Test plan
- [ ] After merge, verify release automation updates PR #527 to v3.0.0

🤖 Generated with [Claude Code](https://claude.com/claude-code)

<!-- CURSOR_SUMMARY -->
---

> [!NOTE]
> **Low Risk**
> Low risk config-only change that affects version bumping; main risk is
unintended major bumps if the regex matches more commit messages than
expected.
> 
> **Overview**
> **Adjusts git-cliff bumping behavior** to more reliably detect
breaking changes from conventional commits.
> 
> Adds `custom_major_increment_regex` in `cliff.toml` to explicitly
treat `feat!:` / `type(scope)!:` style messages as major-version
increments, complementing `breaking_always_bump_major`.
> 
> <sup>Written by [Cursor
Bugbot](https://cursor.com/dashboard?tab=bugbot) for commit
e77f510. This will update automatically
on new commits. Configure
[here](https://cursor.com/dashboard?tab=bugbot).</sup>
<!-- /CURSOR_SUMMARY -->

Co-authored-by: Claude Opus 4.6 <[email protected]>
@mise-en-dev mise-en-dev force-pushed the release branch 2 times, most recently from 473a578 to 4ed168a Compare March 13, 2026 14:44
@mise-en-dev mise-en-dev changed the title chore: release v2.18.3 chore: release v3.0.0 Mar 13, 2026
@jdx jdx merged commit 743efec into main Mar 13, 2026
6 of 7 checks passed
@jdx jdx deleted the release branch March 13, 2026 14:55
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants