Skip to content

docs: document CodeQL version pinning and pack compatibility#154

Merged
felickz merged 2 commits into
mainfrom
felickz-document-codeql-version-pinning
Jul 6, 2026
Merged

docs: document CodeQL version pinning and pack compatibility#154
felickz merged 2 commits into
mainfrom
felickz-document-codeql-version-pinning

Conversation

@felickz

@felickz felickz commented Jul 6, 2026

Copy link
Copy Markdown
Contributor

Summary

Documents which CodeQL CLI/library versions this repo pins to and tested against, for both maintainers and consumers of the published query packs.

For consumers (README.md)

Adds a short compatibility note under "Getting started" linking to GitHub's official CodeQL pack compatibility docs — reassuring users that older published packs generally keep working against newer CLIs (precompiled .qlx queries), with a link to the version table for details.

For maintainers/contributors (CONTRIBUTING.md)

Adds a Supported CodeQL versions section explaining:

  • The two-file pinning mechanism: .codeqlversion (repo root) pins the CLI version CI installs; <lang>/src/codeql-pack.lock.yml locks the resolved *-all library version compiled against.
  • A table of the currently locked standard library (*-all) and upstream query pack (*-queries) versions per language (C/C++ and C# are the only two that depend on an upstream *-queries pack, due to Dependencies.ql's use of Metrics.Dependencies.ExternalDependencies).
  • A link to the community CodeQL Bundle Version Tracker for mapping CLI bundle versions to library pack versions.

Motivation

  • GHSL PR Add Java security queries: cleartext LDAP, insecure JDBC cert, credentials in URL, IDOR #151 diagnosed a real breakage: java-all renamed getValue() to getAValue() somewhere between 7.1.3 (this repo's current lock) and 9.1.2 (a contributor's local CLI), causing local validation to diverge from CI. This gap ("which CLI version maps to which library API") wasn't documented anywhere in the repo.
  • Issue New release #145 flags that packs are stale (over a year old) and asks for a release refresh; this documents why that matters and where the pins live so it's easier to action.

No code or query changes - documentation only.

- Add a consumer-facing compatibility note in README linking to GitHub's
  official CodeQL pack compatibility docs, reassuring users that older
  published packs generally keep working with newer CLIs (with caveats).
- Add a maintainer-facing 'Supported CodeQL versions' section in
  CONTRIBUTING.md documenting the two-file pinning mechanism
  (.codeqlversion for the CLI, <lang>/src/codeql-pack.lock.yml for the
  locked library version) with a table of current locked versions per
  language, including the upstream *-queries dependency used by C/C++
  and C# only.
- Link out to the community CodeQL Bundle Version Tracker for the
  broader CLI-to-library version mapping.

Motivated by GHSL PR #151 (java-all API rename between 7.1.3 and 9.1.2
causing local/CI compile mismatches) and issue #145 (stale packs).

Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
Copilot AI review requested due to automatic review settings July 6, 2026 17:31

Copilot AI left a comment

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.

Pull request overview

This PR documents how the repository pins the CodeQL CLI and standard library versions used to compile and test the community packs, clarifying compatibility expectations for both consumers and contributors.

Changes:

  • Adds a compatibility note to the README explaining why older published packs often work with newer CodeQL CLIs, with a link to official documentation.
  • Adds a “Supported CodeQL versions” section to CONTRIBUTING.md describing the repo’s pinning/lock mechanism and listing the currently locked versions per language.
Show a summary per file
File Description
README.md Adds a “Getting started” note about CodeQL pack compatibility and a short “Contributing” section linking to version-pin documentation.
CONTRIBUTING.md Documents the CLI/library pinning mechanism and provides a per-language table of the pinned *-all / *-queries versions.

Review details

Tip

Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

  • Files reviewed: 2/2 changed files
  • Comments generated: 1
  • Review effort level: Low

Comment thread CONTRIBUTING.md Outdated

@felickz felickz left a comment

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

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

:octocat: 👍

@felickz felickz merged commit 3970915 into main Jul 6, 2026
21 checks passed
@felickz felickz deleted the felickz-document-codeql-version-pinning branch July 6, 2026 17:46
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants