Skip to content

v2.0.0 GA readiness checklist #514

Open

Description

@shenxianpeng

@2bndy5 a proposal for tracking what is left before v2.0.0. When and how to release is your call, so please edit, reorder or close this as you see fit. Everything below was checked on 2026-10-20 against main (83 commits after cpp-linter/v2.0.0-rc.23).

Open before GA

  • GitHub Enterprise Server. Cargo.lock on main has git-bot-feedback 0.8.5 (the 0.8.5 requirement already allows 0.8.8, so cargo update -p git-bot-feedback is enough). The REST base URL fix (fix: ensure GITHUB_API_URL ends with a / 2bndy5/git-bot-feedback#140) and the GraphQL URL fix (fix: use GITHUB_GRAPHQL_URL for GraphQL requests 2bndy5/git-bot-feedback#143) are in 0.8.8. With 0.8.5, GITHUB_API_URL=https://HOST/api/v3 sends requests to https://HOST/api/repos/... (404). I reproduced that with a local fake API on a main build, and confirmed cpp-linter 1.15.0 works once the Python binding is 0.2.9.
  • Remaining differences from v1 that fix: close behavior gaps with cpp-linter v1 #492 left out: lines-changed-only defaults to true, there is no --jobs, and add --fix arg #500 (generate the patch without a PR review). For each one: change it, or list it in the migration guide.
  • --ignore with nested folders. --ignore=build no longer skips src/build (cpp-linter 1.14.1 did; 1.15.0 and v2 do not). This matches the documented "relative to --repo-root" wording, so it probably only needs a line in the migration guide.
  • Migration guide for the CLI (v1 → v2) and for cpp-linter-action inputs (v2 → v3, Moving toward v3 cpp-linter-action#283).
  • Package names and tags.
    • PyPI: the Python binding is named cpp-linter, like v1, and no v2 version has been uploaded there yet. Once 2.0.0 is uploaded, pip install cpp-linter gets v2.
    • npm: @cpp-linter/cpp-linter has latest = 2.0.0-rc2 and next = 2.0.0-rc.21, so npm install currently gets rc2.
    • crates.io: max_version is 2.0.0-rc9, because rc9 sorts above rc.23 in semver. 2.0.0 will supersede it.
  • Benchmark wording (Benchmark: v2 (Rust) vs v1 (Python) before GA #476): v2 starts much faster (about 2 ms vs 200 ms) but is not faster at linting, so the announcement should lead with log groups, parallel runs, SARIF, the untouched worktree and the combined fix patch.

After GA

Activity

  1. 2bndy5 commented on Oct 20, 2026

    @2bndy5
    Collaborator

    Cargo.lock on main has git-bot-feedback 0.8.5 (the 0.8.5 requirement already allows 0.8.8, so cargo update -p git-bot-feedback is enough)

    I've noticed that dependabot only updates the Cargo.lock file and not any corresponding Cargo.toml file. Expect to run cargo update periodically before releases.

    --ignore with nested folders ...

    This was an undiscovered bug in v1.14. cpplinter v1.15 and v2 now use the same code for filtering files: git-bot-feedback does not have that bug. So I don't think a bug fix should go into a migration guide.

    Package names and tags ...

    Yeah, this was a mistake on my part. At first the RC releases didn't use a . in the RC version number. I fixed that, but I didn't yank any RC releases from the package registries.

    Deploying a stable v2.0.0 should resolve that instantly. I'm not worried about it, and I don't think it is worth mentioning in a migration guide.

    v2 starts much faster (about 2 ms vs 200 ms) but is not faster at linting ...

    Yeah, this rewrite has been developing for over 2 years. I've tried back porting most improvements into v1. But the PR review feature has significantly diverged from v1 behavior (for the better), and that opened the door for other opportunities of improvement which cannot be back ported into v1 (the reason --fix behaves differently).

  2. shenxianpeng commented on Oct 30, 2026

    @shenxianpeng
    MemberAuthor

    Right now, we have a lot of fixes on the main branch. Maybe it is the time to release rc.24?

  3. 2bndy5 commented on Oct 31, 2026

    @2bndy5
    Collaborator

    Release crusade done. I also updated the cpp-linter-action@v3.0.0-rc0 branch accordingly

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions