Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
660 commits
Select commit Hold shift + click to select a range
99538f0
Delete unused predicate (leftover from old implementation)
owen-mc Jun 9, 2026
ce9e61d
C#: Add Razor Page handler method parameters as remote flow sources
felickz Jun 12, 2026
23567eb
C#: Add change note for Razor Page handler flow sources
felickz Jun 12, 2026
359e272
Merge pull request #21979 from owen-mc/code-owners-rasmuswl
owen-mc Jun 14, 2026
9c65082
Fix MISSING alert
owen-mc Jun 12, 2026
2eed6c1
Fix dominates() false positive in reusable workflows
JarLob Jun 15, 2026
048884b
Remove redundant cast
JarLob Jun 15, 2026
d51a9a3
Support nested reusable workflows
JarLob Jun 15, 2026
6934aa0
Merge pull request #21980 from aschackmull/cfg/unless-until
aschackmull Jun 15, 2026
7ae0337
Add new MaD kinds
BazookaMusic Jun 15, 2026
7c11f19
Merge branch 'main' into bazookamusic/cwe-1427
BazookaMusic Jun 15, 2026
651770b
Java: Fix performance issue in type flow library
hvitved Jun 15, 2026
28c879f
yeast-macros: add .map(p -> tpl) chain syntax for tree templates
asgerf May 30, 2026
0006894
yeast-macros: add .reduce_left(first -> init, acc, elem -> fold) chain
asgerf May 30, 2026
ddc9516
Yeast: better support for rewriting unnamed nodes
asgerf Jun 2, 2026
d11b428
yeast-macros: desugar 'field: @cap' to 'field: _ @cap'
asgerf Jun 4, 2026
0baa126
Add ability to prepend fields in Yeast
asgerf Jun 2, 2026
1d8e682
Reset mappings
asgerf Jun 2, 2026
568de02
Update shared/typeflow/codeql/typeflow/UniversalFlow.qll
hvitved Jun 15, 2026
d0841d2
C#: Address review comments.
michaelnebel Jun 15, 2026
14c72de
Merge pull request #21983 from owen-mc/java/convert-to-inline-expecta…
owen-mc Jun 15, 2026
686e98c
Update java/ql/lib/semmle/code/java/dataflow/TypeFlow.qll
hvitved Jun 15, 2026
4ad3a44
QL: Convert qlref tests to inline expectations
owen-mc Jun 15, 2026
ab4f170
Merge pull request #21909 from michaelnebel/csharp/refactoroperations
michaelnebel Jun 15, 2026
175c4f1
C#: Add models as data tests for compound assignment operators.
michaelnebel Jun 15, 2026
8cb4b9b
Add CaseElseBranch AST node for Ruby case else branches
Copilot Jun 15, 2026
f658bc9
Update expected files for CaseElseBranch AST node change
Copilot Jun 15, 2026
b9b15af
Java: Use fixture for filtering diagnostics
jketema Jun 15, 2026
746631d
Merge pull request #21989 from michaelnebel/csharp/compoundmad
michaelnebel Jun 15, 2026
7039c4a
Merge pull request #21981 from asgerf/yeast/comments
asgerf Jun 15, 2026
66db0d4
C#: Address review comment.
michaelnebel Jun 15, 2026
c31b594
C#: Address review comments.
michaelnebel Jun 15, 2026
78d9571
Do not convert test that is example of not using inline expectations
owen-mc Jun 15, 2026
4f1d6f4
Fix test comments: replace GOOD/BAD markers with flow source descript…
felickz Jun 15, 2026
c08c0e9
Merge branch 'main' into felickz/razor-page-handler-sources
felickz Jun 15, 2026
bc9fa6b
Fix bug in inline expectations test implementation
owen-mc Jun 15, 2026
0df9aac
Merge pull request #21988 from owen-mc/ql/convert-qlref-tests-inline-…
owen-mc Jun 15, 2026
84e7c2d
Convert Ruby qlref tests to inline expectations
Copilot Jun 11, 2026
5e606b7
Don't use inline expectations when alerts in erb files
owen-mc Jun 15, 2026
44e2363
Convert Swift .qlref tests to inline expectation tests
Copilot Jun 11, 2026
b10abb6
Add SPURIOUS and MISSING to some comments
owen-mc Jun 15, 2026
859ad1d
Merge pull request #21877 from michaelnebel/csharp/spanaccessrange
michaelnebel Jun 16, 2026
01454d7
Merge pull request #21881 from michaelnebel/csharp/propertycalls
michaelnebel Jun 16, 2026
f143dad
Apply suggestions from code review
hvitved Jun 16, 2026
d287f0c
Merge pull request #21987 from hvitved/type-flow-ranking
hvitved Jun 16, 2026
ae57ca7
Merge pull request #21907 from hvitved/ruby/implicit-local-fix
hvitved Jun 16, 2026
ef67311
Swift: Filter more clang options not recognized by off-the-shelf clang
jketema Jun 16, 2026
d72372c
Fix system prompt injection description and title
BazookaMusic Jun 16, 2026
8f965a9
Grammar
BazookaMusic Jun 16, 2026
36c1796
Ruby: Fix data flow step.
aschackmull Jun 16, 2026
8778e88
Ruby: Accept two more test changes for new AST node.
aschackmull Jun 16, 2026
c5e020c
Work around problem with comments in heredocs
owen-mc Jun 15, 2026
48aefff
Add SPURIOUS and MISSING to some comments
owen-mc Jun 15, 2026
e94d279
Merge pull request #21984 from forks-felickz/felickz/razor-page-handl…
michaelnebel Jun 16, 2026
7f3181b
Merge pull request #21972 from github/copilot/qlref-conversion-instru…
owen-mc Jun 16, 2026
c5dc054
Merge pull request #21990 from jketema/jketema/telemetry-prep
jketema Jun 16, 2026
7ef1911
Potential fix for pull request finding
jketema Jun 16, 2026
4bfc2fd
Potential fix for pull request finding
jketema Jun 16, 2026
4d70c5f
Merge pull request #21973 from github/copilot/convert-qlref-tests
owen-mc Jun 16, 2026
e10743b
Kotlin: add extractor support for 2.4.0
andersfugmann Jun 16, 2026
1b785a8
Kotlin: mark kotlin1 integration tests
andersfugmann Jun 16, 2026
2eb9c54
Swift: Update test to ensure stabilitry across Xcode versions
jketema Jun 16, 2026
72f34c2
Merge pull request #21971 from github/mario-campos/fix-changenote-gra…
jonjanego Jun 16, 2026
027f302
Ruby: improve return type
aschackmull Jun 17, 2026
3654205
Merge pull request #21991 from github/copilot/change-ast-for-else-bra…
aschackmull Jun 17, 2026
c12cf88
Merge branch 'main' into add-yaml-comments
MathiasVP Jun 17, 2026
e6e5f0d
Merge pull request #21992 from jketema/jketema/swift-filter
jketema Jun 17, 2026
1d11151
Merge `rc/3.22` into `main`
henrymercer Jun 17, 2026
b9025a5
Fix prompt injection severity
BazookaMusic Jun 17, 2026
274f014
Merge branch 'main' into bazookamusic/cwe-1427
BazookaMusic Jun 17, 2026
df416fa
Merge pull request #21977 from owen-mc/code-owners-actions
owen-mc Jun 17, 2026
6161922
Merge pull request #21940 from owen-mc/go/unhandled-writable-file-close
owen-mc Jun 17, 2026
0a065c9
Update QLDoc for ResultNode
owen-mc Jun 17, 2026
71daa20
Merge branch 'main' into add-yaml-comments
MathiasVP Jun 17, 2026
8909694
Add test for FP for py/file-not-closed
owen-mc Jun 17, 2026
1154db4
Merge pull request #21957 from owen-mc/go/fix-result-node
owen-mc Jun 17, 2026
929870d
Merge pull request #21994 from github/henrymercer/mergeback-rc-3-22-i…
henrymercer Jun 17, 2026
199fd86
Fix FP for py/file-not-closed
owen-mc Jun 17, 2026
c444f41
1. Enable inline expectations for tests
BazookaMusic Jun 17, 2026
b15a1af
Merge branch 'bazookamusic/cwe-1427' of https://github.com/github/cod…
BazookaMusic Jun 17, 2026
d721446
Add test for FP for py/should-use-with
owen-mc Jun 17, 2026
ac3e38e
Merge branch 'main' into bazookamusic/cwe-1427
BazookaMusic Jun 17, 2026
415857c
Fix FP for py/should-use-with
owen-mc Jun 17, 2026
ea7510b
Refactor ReExposedInstance logic into one place
owen-mc Jun 17, 2026
1cb5be5
Merge branch 'add-yaml-comments'
mbg Jun 17, 2026
47c2c9e
Add test for FP for py/modification-of-locals
owen-mc Jun 17, 2026
dd61dd2
Fix FP for py/modification-of-locals
owen-mc Jun 17, 2026
1f9899d
Extend added type tracking step to related types
owen-mc Jun 17, 2026
57f2006
Merge branch 'main' into bazookamusic/cwe-1427
BazookaMusic Jun 17, 2026
7960c5c
Merge pull request #21953 from github/bazookamusic/cwe-1427
BazookaMusic Jun 17, 2026
fefe01e
Java: Update expected test results after extractor changes
jketema Jun 17, 2026
004a5b4
Python: Ensure that YAML comment extraction is properly reflected in …
MathiasVP Jun 17, 2026
55f2f04
Shared: Ensure that YAML comment extraction is properly reflected in …
MathiasVP Jun 17, 2026
3dd3e2c
Merge pull request #21998 from MathiasVP/fix-autogenerated-dbschemes
MathiasVP Jun 17, 2026
c7c1eca
Merge branch 'main' into copilot/investigate-missing-alerts
owen-mc Jun 17, 2026
e618883
Merge pull request #21969 from github/copilot/investigate-missing-alerts
owen-mc Jun 17, 2026
00427d2
Go: Model `log/slog` as a logging sink
sauyon Jun 18, 2026
b7ef551
Address review: exercise variadic args/attrs in slog Log/LogAttrs tests
sauyon Jun 18, 2026
944d76d
C#: Use the build actions IsWindows in the NugetExeWrapper.
michaelnebel Jun 17, 2026
9b34cfa
C#: Invert logic in HasPackageSource.
michaelnebel Jun 17, 2026
21f8caf
C#: Re-factor the NugetExeWrapper, introduce an interface and a facto…
michaelnebel Jun 17, 2026
63057db
C#: Only download and use nuget.exe in case of windows or mono is ins…
michaelnebel Jun 17, 2026
dfdd121
C#: Rename NugetExeWrapper to PackagesConfigRestorer.
michaelnebel Jun 17, 2026
c747352
C#: Fix some code quality issues by replacing Path.Combine with Path.…
michaelnebel Jun 17, 2026
3a3ec1b
Cfg: Distinguish parameters from their patterns.
aschackmull Jun 17, 2026
f844cd3
Java/C#: Adapt to signature change.
aschackmull Jun 17, 2026
330e904
Merge pull request #22004 from sauyon/go-model-log-slog
owen-mc Jun 18, 2026
142a72c
C#: Address review comments.
michaelnebel Jun 18, 2026
5016fcb
Merge pull request #21995 from jketema/jketema/tele
jketema Jun 18, 2026
7222f1d
Remove change note
owen-mc Jun 18, 2026
f04c8cc
Use module already provided by BasicBlocks lib
owen-mc Jun 18, 2026
8c07e95
Rename `mayCapture` to `mayUpdateCapturedVariable`
owen-mc Jun 18, 2026
2d6feb1
Fix false negatives when one of the jobs had proper checks and the ot…
JarLob Jun 18, 2026
7f16853
Remove trailing white space
JarLob Jun 18, 2026
6dd7ded
Rewrite AST
asgerf Jun 2, 2026
b40cb5d
Regenerate QL
asgerf Jun 2, 2026
166406a
Unified: Elaborate a bit more on AGENTS.md
asgerf Jun 8, 2026
6c74cd3
Yeast: use child locations instead of rule target
asgerf Jun 8, 2026
0e9d17b
unified/swift: add top-level normalization and fallback scaffold
asgerf Jun 18, 2026
4e9c3fb
unified/swift: add literals, names, and operator expression mappings
asgerf Jun 18, 2026
d17fd2d
unified/swift: add variable/property/accessor and enum mappings
asgerf Jun 18, 2026
8f747a3
unified/swift: add function and parameter mappings
asgerf Jun 18, 2026
790d4f1
unified/swift: add closure and capture mappings
asgerf Jun 18, 2026
938396a
unified/swift: add control-flow and loop mappings
asgerf Jun 18, 2026
3522f35
unified/swift: add collections, optionals/errors
asgerf Jun 18, 2026
15208b7
Unified: Add import_declaration.scoped_import_kind
asgerf Jun 18, 2026
f362707
unified/swift: Imports
asgerf Jun 18, 2026
1e167df
unified/swift: add type and declaration-family mappings
asgerf Jun 18, 2026
fa98557
Update QL test output
asgerf Jun 18, 2026
2470c13
Fix: preserve switch case patterns in desugared output
asgerf Jun 18, 2026
142ac47
Refactor: map switch case patterns to constructor_pattern instead of …
asgerf Jun 18, 2026
0b666d4
Preserve the dot token in case patterns
asgerf Jun 18, 2026
2182265
unified/swift: Better source range for inferred_type_expr
asgerf Jun 18, 2026
2d34b0b
Merge branch 'main' into copilot/make-go-use-ssa-library
owen-mc Jun 18, 2026
779309e
Merge pull request #21999 from aschackmull/cfg/parameter-pattern
aschackmull Jun 18, 2026
4e7e363
Merge branch 'main' into copilot/make-go-use-ssa-library
henrymercer Jun 18, 2026
99fb387
Java: update ferstl script
IdrissRio Jun 18, 2026
fc06aa1
Update expected data flow consistency results
owen-mc Jun 18, 2026
db5fac1
Add QLDoc to MakeSsa to silence CI
owen-mc Jun 18, 2026
ea87f59
JS: Add and reclassify prompt-injection sinks for AI SDKs
BazookaMusic Jun 18, 2026
e8923b7
Rust: Output cryptographic operations in the weak sensitive data hash…
geoffw0 Jun 18, 2026
3aaeb68
Rust: Make the new test inline expectations.
geoffw0 Jun 18, 2026
b86cb6d
Rust: Additional test cases for weak sensitive data hashing.
geoffw0 Jun 17, 2026
721070a
Rust: Make the Seed case a tiny bit more realistic.
geoffw0 Jun 18, 2026
65a3153
Add changed framework coverage reports
github-actions[bot] Jun 19, 2026
1d69c30
Merge pull request #22010 from github/workflow/coverage/update
owen-mc Jun 19, 2026
ebb74a5
Java: accept new test results
IdrissRio Jun 18, 2026
2686026
Merge pull request #21993 from michaelnebel/csharp/dropmono
michaelnebel Jun 19, 2026
131d4a0
C#: Fix the cs/path-combine code quality issues in the extractor.
michaelnebel Jun 17, 2026
f7b3f85
C#: Rename PathCombine to PathJoin.
michaelnebel Jun 18, 2026
03b525b
C#: Handle the places where we could risk that Path.Combine would hav…
michaelnebel Jun 18, 2026
63e1cc9
Test: add corpus test for switch case patterns with labeled arguments
asgerf Jun 19, 2026
c01264d
Coerce pattern_element.key to be an identifier
asgerf Jun 19, 2026
b743ad9
Swift: Strip out more unknown clang arguments
jketema Jun 19, 2026
38435fc
Merge branch 'main' into bazookamusic/js-prompt-injection-sinks
BazookaMusic Jun 19, 2026
2675070
unified/swift: Clean up translation of patterns
asgerf Jun 19, 2026
66c1f03
Add TODO
asgerf Jun 19, 2026
1496fb6
Shared: allow comment starting with `#` after inline expectation comment
owen-mc Jun 15, 2026
0834e64
Ruby: Prepare qltest change by line renumbering.
aschackmull Jun 19, 2026
5497f2c
Convert Python qlref tests to inline expectations
owen-mc Jun 15, 2026
451fc2e
Undo conversion for queries that import LegacyPointsTo
owen-mc Jun 19, 2026
65b4a43
Add ExceptionList AST node for rescue clauses with 2+ exceptions
Copilot Jun 19, 2026
132b476
Ruby: autoformat
aschackmull Jun 19, 2026
6fbb572
Ruby: Get rid of the change note.
aschackmull Jun 19, 2026
0f83586
Kotlin 2.4.0: Address peer review
andersfugmann Jun 19, 2026
75328da
Swift: Match quotes
jketema Jun 19, 2026
c9d4521
Fix order of comments in test
owen-mc Jun 19, 2026
27f6ffc
Delete accidentally included text file
owen-mc Jun 19, 2026
f65d1e8
Merge pull request #21554 from github/copilot/make-go-use-ssa-library
owen-mc Jun 19, 2026
a076ffc
Merge pull request #21996 from michaelnebel/csharp/fixpathcombineissues
michaelnebel Jun 19, 2026
b54d95d
Merge pull request #21967 from github/copilot/conversion-of-codeql-qu…
owen-mc Jun 19, 2026
d86ec1a
Merge pull request #22012 from github/bazookamusic/js-prompt-injectio…
BazookaMusic Jun 19, 2026
42ebe56
Make all lines in logging tests reachable
owen-mc Jun 3, 2026
07cf895
Test CFG for function epilogue (read-result nodes and calls to defere…
owen-mc Jun 16, 2026
568a147
Merge pull request #22007 from github/java-update-ferstl-depgraph-cves
IdrissRio Jun 22, 2026
0a41157
C/C++: update stats file
IdrissRio Jun 22, 2026
2fb5321
C#: NoOpPackageRestore only needs the PackageConfigs collection and n…
michaelnebel Jun 19, 2026
bae2d18
C#: Refactor some of the feed logic into a separate class.
michaelnebel Jun 19, 2026
cf896f2
C#: Re-factor more the feed related methods into the FeedManager.
michaelnebel Jun 19, 2026
6a2a337
C#: Move the nuget.config diagnostics out of the GetAllFeeds method.
michaelnebel Jun 19, 2026
7d66ec0
Ruby: Clarify AST.
aschackmull Jun 22, 2026
4c9fa4d
Emit catch type mentions without variables
Copilot Jun 22, 2026
bd84fb3
Add regression for catch type mention extraction
Copilot Jun 22, 2026
03187ae
Merge pull request #22013 from jketema/swift/more-arguments
jketema Jun 22, 2026
5f31632
C#: Move GetAllFeeds to the feed manager.
michaelnebel Jun 22, 2026
ac7ed06
C#: Accept test change.
aschackmull Jun 22, 2026
18f49ed
C#: Fix spelling error.
michaelnebel Jun 22, 2026
48b0cbc
Merge pull request #22031 from github/copilot/tweak-csharp-extractor
aschackmull Jun 22, 2026
7197cc5
Merge pull request #22014 from github/copilot/update-rescue-clause-ex…
aschackmull Jun 22, 2026
8179bff
Merge pull request #21930 from github/yoff/python-dataflow-noop-simpl…
yoff Jun 22, 2026
717ff62
Python: deprecate AstNode.getAFlowNode() and rewrite internal callers
Copilot Jun 1, 2026
1a9bb24
Python: deprecate Function.getAReturnValueFlowNode() and rewrite inte…
yoff Jun 1, 2026
32f7c54
Merge pull request #21919 from github/yoff/python-remove-getAFlowNode
yoff Jun 22, 2026
8c24acc
Fix for pull request finding
geoffw0 Jun 22, 2026
9e0e1bd
Rust: Use Copilot suggested comment phrasing.
geoffw0 Jun 22, 2026
f057604
Merge pull request #22027 from owen-mc/go/improve-tests
owen-mc Jun 22, 2026
ec91865
Merge pull request #22030 from github/idrissrio/cpp/update-stats-file
IdrissRio Jun 23, 2026
cd23341
Merge branch 'main' into andersfugmann/kotlin-2.4-v2
jketema Jun 23, 2026
f6dce46
Merge pull request #22009 from geoffw0/rust-crypto
geoffw0 Jun 23, 2026
06fa46f
Python: qualify Flow.qll's AST references with Py:: prefix
Copilot Jun 1, 2026
7d95024
Apply suggestions from code review
yoff Jun 1, 2026
15cbbb8
Shared CFG: add defaulted getLoopElse to AstSig
nischal Jun 2, 2026
73ab3e6
Update shared/controlflow/codeql/controlflow/ControlFlowGraph.qll
yoff Jun 23, 2026
d26102b
Merge pull request #21920 from github/yoff/python-flow-py-namespace
yoff Jun 23, 2026
e2347a5
Fix for independent checks
JarLob Jun 23, 2026
b254aa7
C#: Extract catch(Ex) type as TypeAccess instead of TypeMention
Copilot Jun 23, 2026
31f6e71
Fix "The variable event is only used in one side of disjunct."
JarLob Jun 23, 2026
cfbf4a3
Merge pull request #22037 from github/copilot/update-csharp-extractor…
aschackmull Jun 23, 2026
53cae68
Merge pull request #21931 from github/yoff/python-shared-cfg-loop-else
yoff Jun 23, 2026
41297c5
Cfg: Change AST/CFG for CatchClauses to use a pattern.
aschackmull Jun 19, 2026
11725e8
Java: Accept test changes.
aschackmull Jun 22, 2026
e1d4fe8
C#: Accept test changes.
aschackmull Jun 22, 2026
bcfee98
Apply suggestion from @aschackmull
aschackmull Jun 24, 2026
a24d222
Merge pull request #22011 from michaelnebel/csharp/removeafallback
michaelnebel Jun 24, 2026
4fa8a9f
Synthesize true value for valueless Ruby CaseExpr
Copilot Jun 24, 2026
29eba2f
Merge pull request #22017 from aschackmull/cfg/catchclause-pattern
aschackmull Jun 24, 2026
5047bee
Ruby: Adjust qldoc.
aschackmull Jun 24, 2026
bcf71d0
Merge pull request #22043 from github/copilot/tweak-ruby-ast-caseexpr
aschackmull Jun 24, 2026
b8c78fd
Merge pull request #21970 from github/andersfugmann/kotlin-2.4-v2
jketema Jun 24, 2026
4b8cb3f
Fix false negative for branching nested reusable workflows
redsun82 Jun 24, 2026
7fc4b48
Fix formatting
JarLob Jun 24, 2026
af11f6e
Use Maven Central mirror in Java Maven integration tests
mario-campos Jun 23, 2026
402c0f8
Kotlin: Update tests to use new `kotlin_2_3_20` fixture
jketema Jun 24, 2026
f6b3d1e
Kotlin: Remove unneeded pytest imports
jketema Jun 24, 2026
3324d07
Merge pull request #22046 from github/mario-campos/mirror-maven-centr…
mario-campos Jun 24, 2026
929fa1e
C#: Remove redundant code from `DeadStoreOfLocal.ql`
hvitved Jun 25, 2026
9b2e607
Kotlin: Address review comments
jketema Jun 25, 2026
89cd677
Potential fix for pull request finding
asgerf Jun 25, 2026
b9a132d
Rust: Remove redundant cast.
geoffw0 Apr 29, 2026
b582844
Merge pull request #22049 from hvitved/csharp/dead-store-cleanup
hvitved Jun 25, 2026
20b4cbe
Rust: Remove pointless imports of codeql.util.Unit.
geoffw0 Jun 25, 2026
b67644c
Merge pull request #21986 from JarLob/userpermissions
redsun82 Jun 25, 2026
969ab78
Merge pull request #22048 from github/jketema/kotlin1-pytest
jketema Jun 25, 2026
ca09327
Rust: Remove more pointless imports.
geoffw0 Jun 25, 2026
0fbab22
Merge pull request #22056 from geoffw0/codequal
geoffw0 Jun 25, 2026
cc83856
Merge pull request #22058 from github/codeql-cli-2.25.6
mbg Jun 25, 2026
73ad826
Merge pull request #22016 from asgerf/commonast-rebased5
asgerf Jun 25, 2026
237c563
Release preparation for version 2.26.0
invalid-email-address Jun 25, 2026
7c73de0
Merge pull request #22059 from github/release-prep/2.26.0
mario-campos Jun 25, 2026
f251a57
Python: hotfix - disable instanceFieldStep to avoid type-tracker blowup
tausbn Jun 30, 2026
41f2e7b
Revert "Release preparation for version 2.26.0"
mario-campos Jun 30, 2026
b12c67f
Merge pull request #22092 from github/tausbn/python-hotfix-disable-in…
tausbn Jun 30, 2026
f4d6f58
Merge pull request #22096 from github/revert-22059-release-prep/2.26.0
mbg Jul 1, 2026
32181cd
Python: Improve some flow summaries
hvitved Jul 1, 2026
2308981
Python: Update inline test expectations
hvitved Jul 1, 2026
79eeaa2
Merge pull request #22108 from hvitved/python-hot-fix
mbg Jul 2, 2026
1af9609
Release preparation for version 2.26.0
invalid-email-address Jul 2, 2026
66ddf3b
Remove unnecessary changenote for the hotfix
mbg Jul 2, 2026
e4a7b4f
Merge pull request #22109 from github/release-prep/2.26.0
mbg Jul 2, 2026
4cb6867
Merge tag 'codeql-cli/latest' into auto/sync-main-pr
chanel-y Jul 9, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
208 changes: 208 additions & 0 deletions .github/workflows/go-version-update.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,208 @@
name: Update Go version

on:
workflow_dispatch:
schedule:
- cron: "0 3 * * 1" # Run weekly on Mondays at 3 AM UTC (1 = Monday)

permissions:
contents: write
pull-requests: write

jobs:
update-go-version:
name: Check and update Go version
if: github.repository == 'github/codeql'
runs-on: ubuntu-latest

steps:
- name: Checkout repository
uses: actions/checkout@v5
with:
fetch-depth: 0

- name: Set up Git
run: |
git config user.name "github-actions[bot]"
git config user.email "41898282+github-actions[bot]@users.noreply.github.com"

- name: Fetch latest Go version
id: fetch-version
run: |
LATEST_GO_VERSION=$(curl -s https://go.dev/dl/?mode=json | jq -r '.[0].version')

if [ -z "$LATEST_GO_VERSION" ] || [ "$LATEST_GO_VERSION" = "null" ]; then
echo "Error: Failed to fetch latest Go version from go.dev"
exit 1
fi

echo "Latest Go version from go.dev: $LATEST_GO_VERSION"
echo "version=$LATEST_GO_VERSION" >> $GITHUB_OUTPUT

# Extract version numbers (e.g., go1.26.0 -> 1.26.0)
LATEST_VERSION_NUM=$(echo $LATEST_GO_VERSION | sed 's/^go//')
echo "version_num=$LATEST_VERSION_NUM" >> $GITHUB_OUTPUT

# Extract major.minor version (e.g., 1.26.0 -> 1.26)
LATEST_MAJOR_MINOR=$(echo $LATEST_VERSION_NUM | sed -E 's/^([0-9]+\.[0-9]+).*/\1/')
echo "major_minor=$LATEST_MAJOR_MINOR" >> $GITHUB_OUTPUT

- name: Check current Go version
id: current-version
run: |
CURRENT_VERSION=$(sed -n 's/.*go_sdk\.download(version = \"\([^\"]*\)\".*/\1/p' MODULE.bazel)

if [ -z "$CURRENT_VERSION" ]; then
echo "Error: Could not extract Go version from MODULE.bazel"
exit 1
fi

echo "Current Go version in MODULE.bazel: $CURRENT_VERSION"
echo "version=$CURRENT_VERSION" >> $GITHUB_OUTPUT

# Extract major.minor version
CURRENT_MAJOR_MINOR=$(echo $CURRENT_VERSION | sed -E 's/^([0-9]+\.[0-9]+).*/\1/')
echo "major_minor=$CURRENT_MAJOR_MINOR" >> $GITHUB_OUTPUT

- name: Compare versions
id: compare
run: |
LATEST="${{ steps.fetch-version.outputs.version_num }}"
CURRENT="${{ steps.current-version.outputs.version }}"

echo "Latest: $LATEST"
echo "Current: $CURRENT"

if [ "$LATEST" = "$CURRENT" ]; then
echo "Go version is up to date"
echo "needs_update=false" >> $GITHUB_OUTPUT
else
echo "Go version needs update from $CURRENT to $LATEST"
echo "needs_update=true" >> $GITHUB_OUTPUT
fi

- name: Update Go version in files
if: steps.compare.outputs.needs_update == 'true'
run: |
LATEST_VERSION_NUM="${{ steps.fetch-version.outputs.version_num }}"
LATEST_MAJOR_MINOR="${{ steps.fetch-version.outputs.major_minor }}"
CURRENT_VERSION="${{ steps.current-version.outputs.version }}"
CURRENT_MAJOR_MINOR="${{ steps.current-version.outputs.major_minor }}"

echo "Updating from $CURRENT_VERSION to $LATEST_VERSION_NUM"

# Escape dots in current version strings for use in sed patterns
CURRENT_VERSION_ESCAPED=$(echo "$CURRENT_VERSION" | sed 's/\./\\./g')
CURRENT_MAJOR_MINOR_ESCAPED=$(echo "$CURRENT_MAJOR_MINOR" | sed 's/\./\\./g')

# Update MODULE.bazel
sed -i "s/go_sdk\.download(version = \"$CURRENT_VERSION_ESCAPED\")/go_sdk.download(version = \"$LATEST_VERSION_NUM\")/" MODULE.bazel
if ! grep -q "go_sdk.download(version = \"$LATEST_VERSION_NUM\")" MODULE.bazel; then
echo "Error: Failed to update MODULE.bazel"
exit 1
fi

# Update go/extractor/go.mod
if ! sed -i "s/^go $CURRENT_MAJOR_MINOR_ESCAPED\$/go $LATEST_MAJOR_MINOR/" go/extractor/go.mod; then
echo "Warning: Failed to update go directive in go.mod"
fi
if ! sed -i "s/^toolchain go$CURRENT_VERSION_ESCAPED\$/toolchain go$LATEST_VERSION_NUM/" go/extractor/go.mod; then
echo "Warning: Failed to update toolchain in go.mod"
fi

# Update go/extractor/autobuilder/build-environment.go
if ! sed -i "s/var maxGoVersion = util\.NewSemVer(\"$CURRENT_MAJOR_MINOR_ESCAPED\")/var maxGoVersion = util.NewSemVer(\"$LATEST_MAJOR_MINOR\")/" go/extractor/autobuilder/build-environment.go; then
echo "Warning: Failed to update build-environment.go"
fi

# Update go/actions/test/action.yml
if ! sed -i "s/default: \"~$CURRENT_VERSION_ESCAPED\"/default: \"~$LATEST_VERSION_NUM\"/" go/actions/test/action.yml; then
echo "Warning: Failed to update action.yml"
fi

# Show what changed
git diff

- name: Check for changes
id: check-changes
if: steps.compare.outputs.needs_update == 'true'
run: |
if git diff --quiet; then
echo "No changes detected"
echo "has_changes=false" >> $GITHUB_OUTPUT
else
echo "Changes detected"
echo "has_changes=true" >> $GITHUB_OUTPUT
fi

- name: Check for existing PR
if: steps.check-changes.outputs.has_changes == 'true'
id: check-pr
env:
GH_TOKEN: ${{ secrets.GITHUB_TOKEN }}
run: |
BRANCH_NAME="workflow/go-version-update"
PR_NUMBER=$(gh pr list --head "$BRANCH_NAME" --state open --json number --jq '.[0].number')

if [ -n "$PR_NUMBER" ]; then
echo "Existing PR found: #$PR_NUMBER"
echo "pr_exists=true" >> $GITHUB_OUTPUT
echo "pr_number=$PR_NUMBER" >> $GITHUB_OUTPUT
else
echo "No existing PR found"
echo "pr_exists=false" >> $GITHUB_OUTPUT
fi

- name: Commit and push changes
if: steps.check-changes.outputs.has_changes == 'true'
run: |
BRANCH_NAME="workflow/go-version-update"
LATEST_VERSION_NUM="${{ steps.fetch-version.outputs.version_num }}"
LATEST_MAJOR_MINOR="${{ steps.fetch-version.outputs.major_minor }}"

# Create or switch to branch
git checkout -B "$BRANCH_NAME"

# Stage and commit changes
git add MODULE.bazel go/extractor/go.mod go/extractor/autobuilder/build-environment.go go/actions/test/action.yml
git commit -m "Go: Update to $LATEST_VERSION_NUM"

# Push changes
git push --force-with-lease origin "$BRANCH_NAME"

- name: Create or update PR
if: steps.check-changes.outputs.has_changes == 'true'
env:
GH_TOKEN: ${{ secrets.GITHUB_TOKEN }}
run: |
BRANCH_NAME="workflow/go-version-update"
LATEST_VERSION_NUM="${{ steps.fetch-version.outputs.version_num }}"
CURRENT_VERSION="${{ steps.current-version.outputs.version }}"

PR_TITLE="Go: Update to $LATEST_VERSION_NUM"

PR_BODY=$(cat <<EOF
This PR updates Go from $CURRENT_VERSION to $LATEST_VERSION_NUM.

Updated files:
- \`MODULE.bazel\` - go_sdk.download version
- \`go/extractor/go.mod\` - go directive and toolchain
- \`go/extractor/autobuilder/build-environment.go\` - maxGoVersion (only if MAJOR.MINOR changes)
- \`go/actions/test/action.yml\` - default go-test-version

This PR was automatically created by the [Go version update workflow](https://github.com/${{ github.repository }}/blob/main/.github/workflows/go-version-update.yml).
EOF
)

if [ "${{ steps.check-pr.outputs.pr_exists }}" = "true" ]; then
echo "Updating existing PR #${{ steps.check-pr.outputs.pr_number }}"
gh pr edit "${{ steps.check-pr.outputs.pr_number }}" --title "$PR_TITLE" --body "$PR_BODY"
else
echo "Creating new PR"
gh pr create \
--title "$PR_TITLE" \
--body "$PR_BODY" \
--base main \
--head "$BRANCH_NAME" \
--label "Go"
fi
6 changes: 1 addition & 5 deletions CODEOWNERS
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@
* @github/code-scanning-alert-coverage

# CodeQL language libraries
/actions/ @github/codeql-dynamic
/actions/ @github/code-scanning-alert-coverage
/cpp/ @github/codeql-c-analysis
/csharp/ @github/codeql-csharp
/csharp/autobuilder/Semmle.Autobuild.Cpp @github/codeql-c-extractor @github/code-scanning-language-coverage
Expand Down Expand Up @@ -59,9 +59,5 @@ MODULE.bazel @github/codeql-ci-reviewers
/.github/workflows/rust.yml @github/codeql-rust
/.github/workflows/swift.yml @github/codeql-swift

# Misc
/misc/scripts/accept-expected-changes-from-ci.py @RasmusWL
/misc/scripts/generate-code-scanning-query-list.py @RasmusWL

# .devcontainer
/.devcontainer/ @github/codeql-ci-reviewers
5 changes: 4 additions & 1 deletion MODULE.bazel
Original file line number Diff line number Diff line change
Expand Up @@ -248,6 +248,7 @@ use_repo(
"kotlin-compiler-2.2.20-Beta2",
"kotlin-compiler-2.3.0",
"kotlin-compiler-2.3.20",
"kotlin-compiler-2.4.0",
"kotlin-compiler-embeddable-1.8.0",
"kotlin-compiler-embeddable-1.9.0-Beta",
"kotlin-compiler-embeddable-1.9.20-Beta",
Expand All @@ -259,6 +260,7 @@ use_repo(
"kotlin-compiler-embeddable-2.2.20-Beta2",
"kotlin-compiler-embeddable-2.3.0",
"kotlin-compiler-embeddable-2.3.20",
"kotlin-compiler-embeddable-2.4.0",
"kotlin-stdlib-1.8.0",
"kotlin-stdlib-1.9.0-Beta",
"kotlin-stdlib-1.9.20-Beta",
Expand All @@ -270,10 +272,11 @@ use_repo(
"kotlin-stdlib-2.2.20-Beta2",
"kotlin-stdlib-2.3.0",
"kotlin-stdlib-2.3.20",
"kotlin-stdlib-2.4.0",
)

go_sdk = use_extension("@rules_go//go:extensions.bzl", "go_sdk")
go_sdk.download(version = "1.26.0")
go_sdk.download(version = "1.26.4")

go_deps = use_extension("@gazelle//:extensions.bzl", "go_deps")
go_deps.from_file(go_mod = "//go/extractor:go.mod")
Expand Down
9 changes: 8 additions & 1 deletion actions/ql/lib/CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,8 +1,15 @@
## 0.4.38

### Bug Fixes

* GitHub Actions queries now better account for permission checks on jobs that call reusable workflows.
* The query `actions/pr-on-self-hosted-runner` was updated to the latest standard runner labels reducing false positive results.

## 0.4.37

### Minor Analysis Improvements

* The GitHub Actions analysis now recognizes more Bash regex checks that restrict a value to alphanumeric characters, include regexes like `^[0-9a-zA-Z]{40}([0-9a-zA-Z]{24})?$` which check for a sha1 or sha256 hash. This may reduce false positive results where command output is validated with grouped or optional alphanumeric patterns before being used.
* The GitHub Actions analysis now recognizes more Bash regex checks that restrict a value to alphanumeric characters, including regexes like `^[0-9a-zA-Z]{40}([0-9a-zA-Z]{24})?$` which check for a SHA-1 or SHA-256 hash. This may reduce false positive results where command output is validated with grouped or optional alphanumeric patterns before being used.

## 0.4.36

Expand Down
2 changes: 1 addition & 1 deletion actions/ql/lib/change-notes/released/0.4.37.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,4 +2,4 @@

### Minor Analysis Improvements

* The GitHub Actions analysis now recognizes more Bash regex checks that restrict a value to alphanumeric characters, include regexes like `^[0-9a-zA-Z]{40}([0-9a-zA-Z]{24})?$` which check for a sha1 or sha256 hash. This may reduce false positive results where command output is validated with grouped or optional alphanumeric patterns before being used.
* The GitHub Actions analysis now recognizes more Bash regex checks that restrict a value to alphanumeric characters, including regexes like `^[0-9a-zA-Z]{40}([0-9a-zA-Z]{24})?$` which check for a SHA-1 or SHA-256 hash. This may reduce false positive results where command output is validated with grouped or optional alphanumeric patterns before being used.
6 changes: 6 additions & 0 deletions actions/ql/lib/change-notes/released/0.4.38.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
## 0.4.38

### Bug Fixes

* GitHub Actions queries now better account for permission checks on jobs that call reusable workflows.
* The query `actions/pr-on-self-hosted-runner` was updated to the latest standard runner labels reducing false positive results.
2 changes: 1 addition & 1 deletion actions/ql/lib/codeql-pack.release.yml
Original file line number Diff line number Diff line change
@@ -1,2 +1,2 @@
---
lastReleaseVersion: 0.4.37
lastReleaseVersion: 0.4.38
2 changes: 2 additions & 0 deletions actions/ql/lib/codeql/actions/ast/internal/Ast.qll
Original file line number Diff line number Diff line change
Expand Up @@ -1920,3 +1920,5 @@ private YamlMappingLikeNode resolveMatrixAccessPath(
else result = resolveMatrixAccessPath(newRoot, rest)
)
}

class Comment = YamlComment;
6 changes: 6 additions & 0 deletions actions/ql/lib/codeql/actions/ast/internal/Yaml.qll
Original file line number Diff line number Diff line change
Expand Up @@ -52,6 +52,12 @@ private module YamlSig implements LibYaml::InputSig {
class ParseErrorBase extends LocatableBase, @yaml_error {
string getMessage() { yaml_errors(this, result) }
}

class CommentBase extends LocatableBase, @yaml_comment {
string getText() { yaml_comments(this, result, _) }

override string toString() { yaml_comments(this, _, result) }
}
}

import LibYaml::Make<YamlSig>
Loading
Loading