Skip to content

chore: bump pinned CodeQL CLI to v2.27.0 and release v0.8.0 - #229

Merged
felickz merged 2 commits into
mainfrom
chore/update-codeql-cli-2.27.0
Sep 10, 2026
Merged

felickz merged 2 commits into
mainfrom
chore/update-codeql-cli-2.27.0

Conversation

@security-lab-bot

Copy link
Copy Markdown
Contributor

Automated CLI version bump, requested via the "Update CodeQL CLI Version"
workflow (workflow_dispatch, codeql_version: 2.27.0, release_bump: minor).

This PR:

  • Updates .codeqlversion to 2.27.0.

  • Pins every codeql/<lang>-all / codeql/<lang>-queries dependencies:
    entry across query/library qlpack.yml files (not */ext or
    */ext-library-sources, whose extensionTargets is intentionally left
    unconstrained and must never be auto-rewritten) to the exact version
    shipped in the official CodeQL Bundle for this CLI release (see
    .github/scripts/pin-codeql-library-versions.sh) - this keeps
    codeql pack upgrade from jumping those libraries to registry-latest instead
    of the version this CLI actually ships/tests against.

  • Runs codeql pack upgrade <dir> for every query/library pack directory (again
    excluding */ext and */ext-library-sources) to refresh its
    codeql-pack.lock.yml against the new CLI and pinned library versions.

  • Also bumps the repo release version (minor, via the same
    patch-release-me step update-release.yml uses) to 0.8.0,
    propagating it to every pack's own version: field, configs/*.yml
    references, and cross-pack -libs pins.

Merging this PR triggers the real batch publish - publish.yml's
auto-trigger fires on any push to main that changes .release.yml, which this
PR does. No separate "CodeQL Update Release" run is needed. That run's summary
job will create the matching GitHub Release as a full release
(release_prerelease: false).

Remaining steps (see CONTRIBUTING.md's "Updating the pinned CodeQL CLI/library
version" section):

  • Check CI on this PR - fix any compilation/test errors caused by upstream
    API changes. This is usually the hardest part; consider delegating it to a
    Copilot coding agent session pointed at this PR/branch.
  • Review and merge - this alone will trigger the real batch publish.

@felickz

felickz commented Sep 10, 2026

Copy link
Copy Markdown
Contributor

@copilot investigate the breaking change in ruby queries and update / validate tests still work!

https://github.com/GitHubSecurityLab/CodeQL-Community-Packs/actions/runs/34429926790/job/102723072320?pr=229

Breaking Changes
Ruby
The Ruby control flow graph implementation has been completely replaced. This affects a number of queries slightly. The CFG now includes additional nodes to more accurately represent certain constructs. This also means that any existing code that implicitly relies on very specific details about the CFG may need to be updated. The CFG no longer uses splitting, which means that AST nodes now have a unique CFG node representation. In particular, ControlFlowNode.getAstNode has changed its meaning. The AST-to-CFG mapping remains one-to-many, but now for a different reason. It used to be because of splitting, but now it’s because of additional “helper” CFG nodes. To get the (now canonical) CFG node for a given AST node, use Stmt.getControlFlowNode() instead.

…Node

Co-authored-by: felickz <1760475+felickz@users.noreply.github.com>

Copilot AI commented Sep 10, 2026

Copy link
Copy Markdown
Contributor

@copilot investigate the breaking change in ruby queries and update / validate tests still work!

https://github.com/GitHubSecurityLab/CodeQL-Community-Packs/actions/runs/34429926790/job/10272307232...

Fixed in a74010b's follow-up commit. The breaking change is the deprecation of Statement.getAControlFlowNode() (now getControlFlowNode()) as part of the Ruby CFG rewrite in 2.27.0; CI fails on any compiler warning, and ruby/src/security/CWE-770/UserControlledMaxIterations.ql was the only query using it. Updated to er.getControlFlowNode(), confirmed the query compiles with zero warnings and its existing test (UserControlledMaxIterations) still passes.

@felickz
felickz merged commit e6210ea into main Sep 10, 2026
23 checks passed
@felickz
felickz deleted the chore/update-codeql-cli-2.27.0 branch September 10, 2026 13:49
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants