Skip to content
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
358 commits
Select commit Hold shift + click to select a range
3de9880
C++: Update expected test results
jketema Aug 19, 2026
c2c5351
C++: Mark initializers (and their expressions) of compiler-generated …
MathiasVP Aug 21, 2026
b711b32
C++: Add change note.
MathiasVP Aug 21, 2026
3d1a64d
C++: Add a test for the static local compiler-generated variable that…
MathiasVP Aug 21, 2026
e0ac3d5
C++: Add a test with compiler-generated initializers from C++11 range…
MathiasVP Aug 21, 2026
6b87a58
C++: Require orphaned variables when computing compiler-generated ini…
MathiasVP Aug 21, 2026
2876bb0
Merge pull request #22321 from github/copilot/prt-migration-20260811-…
navntoft Aug 21, 2026
3ffcc1e
Merge branch 'main' into cpp-access-paths-for-sources-and-sinks-3
MathiasVP Aug 21, 2026
5eac06d
Merge pull request #22379 from jketema/jketema/constant-filter
jketema Aug 21, 2026
b34e1cc
Merge branch 'main' into cpp-access-paths-for-sources-and-sinks-3
MathiasVP Aug 21, 2026
20f36e0
Merge pull request #22406 from MathiasVP/compiler-generated-initializers
MathiasVP Aug 21, 2026
ba5654f
Swift: avoid module scan for lazy body emission
arun279 Aug 21, 2026
c8afb1d
Use HTTPS for Wikimedia query-help links
miachillgood Aug 22, 2026
06d874f
Improve performance
JarLob Aug 22, 2026
c52545f
Extracted isMicrosoftAspNetCoreMvcApplication to predicate
JarLob Aug 22, 2026
d0c3738
Implement code review suggestion
JarLob Aug 22, 2026
35ccfb1
Rust: Accept changes to test .expected file, result of upgrades on main.
geoffw0 Aug 18, 2026
1b3c870
Rust: Add more test cases for barrier guards.
geoffw0 Aug 18, 2026
1a8b5b5
Rust: Add barrier guards to the query.
geoffw0 Aug 18, 2026
519c40b
Merge branch 'main' into rust-cwe-078-command-injection
lcmangalagiri Aug 22, 2026
9fc84bf
Rust: Clarify comment in CommandInjectionGood.rs example per review s…
CHMANG Aug 22, 2026
6d26e22
Rust: Add MaD tests for blanket implementations
hvitved Aug 24, 2026
b12b1d0
Rust: Canonical paths for blanket implementations
hvitved Aug 24, 2026
736b110
Ruby: Add change note.
aschackmull Aug 24, 2026
f2ce282
Merge pull request #22392 from hvitved/dataflow/access-path-length
hvitved Aug 24, 2026
ea600a9
unified: Add test for enums
asgerf Aug 24, 2026
6d91ebe
C++: Simplify 'getSourceDataFlowNode' for parameters.
MathiasVP Aug 24, 2026
86f7ccf
Merge branch 'main' into cpp-access-paths-for-sources-and-sinks-3
MathiasVP Aug 24, 2026
782f1fc
Merge pull request #22374 from MathiasVP/cpp-access-paths-for-sources…
MathiasVP Aug 24, 2026
0f1fd7f
Unified: Make Linux build hermetic
jketema Aug 11, 2026
ec63c66
Merge pull request #22405 from hvitved/rust/canonical-path-blanket
hvitved Aug 24, 2026
b3f6f2e
Merge pull request #22413 from github/jketema/swift-static
jketema Aug 24, 2026
c4ac327
Publish patched rules_swift as codeql.2
jketema Aug 24, 2026
9a34fbc
Merge pull request #22416 from github/jketema/swift-static-versioning
jketema Aug 24, 2026
f361e3d
Merge branch 'main' into codex/avoid-lazy-module-scan-current
jketema Aug 24, 2026
67a362a
Merge pull request #22328 from geoffw0/rustsummary
geoffw0 Aug 24, 2026
5871b87
JS: Add a test for an unusual import syntax which is not support in a…
MathiasVP Aug 24, 2026
df35070
JS: Support an alternative syntax for imports and accept test changes.
MathiasVP Aug 24, 2026
61ec80f
Improve performance
JarLob Aug 24, 2026
ff5a248
Correct 'enable' to 'enabled' in ASP.NET example
jzabroski Aug 24, 2026
c23b3a9
Fix typo in directoryBrowse attribute
jzabroski Aug 24, 2026
ada881e
Fix directoryBrowse attribute from 'enable' to 'enabled'
jzabroski Aug 24, 2026
7f43245
Potential fix for pull request finding
jzabroski Aug 24, 2026
748fbc7
Fix closing tag
jzabroski Aug 24, 2026
33107c2
Merge pull request #22417 from MathiasVP/js-parse-weird-module-import
asgerf Aug 25, 2026
3cf499f
unified: Rename TExportedNamespace -> TStaticMemberNamespace
asgerf Aug 25, 2026
cd0afb9
unified: Add TInstanceMemberNamespace
asgerf Aug 25, 2026
40a0291
unified: Store instance members in the new node
asgerf Aug 25, 2026
2bc839d
unified: Add inheritance between instance namespaces
asgerf Aug 25, 2026
5b31814
unified: Ensure member-namespaces are always NamespaceNodes
asgerf Aug 25, 2026
981fc4d
unified: Add language hook for inheritance restriction
asgerf Aug 25, 2026
2b28f75
unified: Expose handling of unqualified member accesses
asgerf Aug 25, 2026
b1ca110
unified: Add getStaticBindingTarget
asgerf Aug 25, 2026
fa36a11
unified: Sharpen set of candidates when measuring static name binding
asgerf Aug 25, 2026
e9caa4e
Merge pull request #22408 from arun279/codex/avoid-lazy-module-scan-c…
jketema Aug 25, 2026
2deb0f7
Merge branch 'main' into rust-cwe-078-command-injection
mchammer01 Aug 25, 2026
5027b36
Merge pull request #22265 from JarLob/aspnetcore-controller-discovery
michaelnebel Aug 25, 2026
4641bdc
Ruby: Deprecate getAControlFlowNode.
aschackmull Aug 25, 2026
ac0438f
Ruby: Address review comments.
aschackmull Aug 25, 2026
af6d1da
Merge branch 'main' into feat/xml-commons
ppkarwasz Aug 25, 2026
daa37c0
Merge pull request #22158 from aschackmull/ruby/cfg-swap
aschackmull Aug 25, 2026
3fe4382
Shared CFG: check abrupt completion origins
yoff Aug 25, 2026
b160f27
Merge branch 'main' into codex/issue-5163-wikimedia-links
jketema Aug 25, 2026
fc90700
C#: Add tool status page information and compilation info for unreach…
michaelnebel Aug 17, 2026
cd64d68
C#: Update integration test expected output.
michaelnebel Aug 17, 2026
bb6def0
C#: Add change-note.
michaelnebel Aug 18, 2026
9446394
C#: Avoid logging sensitive information like username and password (i…
michaelnebel Aug 24, 2026
746b806
Update csharp/ql/lib/ext/Microsoft.AspNet.OData.model.yml
hugo-syn Aug 25, 2026
131b6be
Update csharp/ql/lib/semmle/code/csharp/frameworks/OData.qll
hugo-syn Aug 25, 2026
de9eae2
Update csharp/ql/lib/semmle/code/csharp/frameworks/OData.qll
hugo-syn Aug 25, 2026
393512f
C++: Implement a pruning version of 'getAnUltimateDefinition'.
MathiasVP Aug 25, 2026
59170ee
C++: Use the optimized version of getAnUltimateDefinition in FlowSumm…
MathiasVP Aug 25, 2026
6214cd1
C++: Cleanup.
MathiasVP Aug 25, 2026
891f2e1
C++: Use the optimized version of getAnUltimateDefinition for iterato…
MathiasVP Aug 25, 2026
f70e0b5
Merge pull request #22419 from jzabroski/patch-1
redsun82 Aug 25, 2026
117fc6b
Python: keep the Python 2 reading of `except A, e:`
aausch Aug 25, 2026
93baa40
fix: add fix from review
Aug 25, 2026
7d9ae21
Python: test the Python 2 except reading through extraction, not a un…
aausch Aug 25, 2026
e9ab160
Rust: Add a test case for rust/hard-coded-cryptographic-value.
geoffw0 Aug 25, 2026
73c4427
Rust: Fix near duplicate results.
geoffw0 Aug 25, 2026
d15895c
Rust: Change note.
geoffw0 Aug 25, 2026
ff0f892
Potential fix for pull request finding
MathiasVP Aug 25, 2026
94165df
Apply batched suggestions from code review
asgerf Aug 26, 2026
7190c8c
unified: Use getStaticBindingTarget in Candidate.getTarget
asgerf Aug 26, 2026
49600c1
C++: Add comments.
MathiasVP Aug 26, 2026
08f0b16
C#: Use ProcessStartInfo.ArgumentList instead of Arguments to automat…
michaelnebel Aug 24, 2026
b4e561a
Python: Split up `except Alpha, Beta:` case across language versions
tausbn Aug 26, 2026
7f8d03d
Merge branch 'main' into aausch/python-pep758-legacy-parser
tausbn Aug 26, 2026
9500a4e
update codeql documentation
invalid-email-address Aug 26, 2026
3bb6726
Merge pull request #22430 from github/codeql-spark-run-32971203150
redsun82 Aug 26, 2026
b756a08
Merge pull request #22425 from MathiasVP/speed-up-get-an-ultimate-def…
MathiasVP Aug 26, 2026
cf4c3d0
C#: address further OData review comments
Aug 26, 2026
f6efc34
Unified: Hand-roll the mashalling of the JSON
jketema Aug 26, 2026
fcdb89c
Rust: Rename isConstant -> hasConstant.
geoffw0 Aug 26, 2026
c0baa61
Rust: Additional test case for arrays.
geoffw0 Aug 26, 2026
02d670a
Rust: Make hasConstant behaviour on arrays consistent.
geoffw0 Aug 26, 2026
fd0b813
Docs: add linux-arm64 to supported platforms
redsun82 Aug 26, 2026
abf5a0d
Python: translate Rust escapes in `tsg-python` output
redsun82 Aug 27, 2026
e464c99
Docs: note Rosetta 2 requirement for Apple Silicon
redsun82 Aug 27, 2026
68f4039
Merge pull request #22377 from michaelnebel/csharp/dotnetquoting
michaelnebel Aug 27, 2026
d0aa8f8
Merge pull request #22364 from michaelnebel/csharp/tspreportbadfeeds
michaelnebel Aug 27, 2026
1ec44f9
Merge pull request #22386 from aausch/aausch/python-pep758-legacy-parser
tausbn Aug 27, 2026
3e88b36
yeast: Support optional guards in rules
tausbn Aug 26, 2026
51a107e
C#: Convert the OData test to use the Sink for the alert location and…
michaelnebel Aug 27, 2026
538d51f
C#: Convert the test to use inline expectations and update expected t…
michaelnebel Aug 27, 2026
5b2568d
C#: Use unique types pr test case (otherwise they will interfere with…
michaelnebel Aug 27, 2026
8519b91
C#: Remove recursion.
michaelnebel Aug 27, 2026
caac5d8
Widen escape round-trip test to all printable ASCII neighbours
redsun82 Aug 27, 2026
4236d7a
Merge pull request #22426 from geoffw0/match
geoffw0 Aug 27, 2026
3d4cd37
Rust: Accept changes to .expected files.
geoffw0 Aug 26, 2026
a035968
Merge pull request #22436 from github/tausbn/yeast-support-optional-g…
tausbn Aug 27, 2026
9567f1a
Merge pull request #22443 from github/redsun82-python-tsg-variation-s…
redsun82 Aug 27, 2026
4623819
cpp: model libpq query functions as SQL-injection sinks
kumarak Aug 27, 2026
421078b
Merge main into rc/3.23 mergeback for 2.26.4
redsun82 Aug 27, 2026
04816f1
Merge pull request #22323 from lcmangalagiri/rust-cwe-078-command-inj…
geoffw0 Aug 27, 2026
3e6e3be
unified: Update qldoc
asgerf Aug 28, 2026
4185f75
unified: Remove superfluous parens
asgerf Aug 28, 2026
2820e04
Merge pull request #22420 from asgerf/unified/instance-members
asgerf Aug 28, 2026
b304770
Unified: Implement simple LOC counting
hvitved Aug 28, 2026
3ee0030
Merge pull request #22456 from hvitved/unified/loc-count
hvitved Aug 28, 2026
1649faf
Rust: Use angle brackets for trait item canonical paths
hvitved Aug 28, 2026
0780aca
Merge pull request #22433 from github/jketema/swift-json
jketema Aug 28, 2026
516815c
Rust: Reuse Cargo target dir when running QL tests
paldepind Aug 27, 2026
048314d
Rust: Update command injection expected output
hvitved Aug 28, 2026
c6d4f8d
unified: Add Swift node type schema generator
tausbn Aug 27, 2026
bc3447f
Merge pull request #22451 from github/redsun82/mergeback-2.26.4
redsun82 Aug 28, 2026
f0de9c3
C++: Add a crazy false positive from a Microsoft internal issue.
MathiasVP Aug 28, 2026
fcfdf81
C++: Exclude compiler generated variables from a case in 'cpp/leap-ye…
MathiasVP Aug 28, 2026
2fe9ff3
Potential fix for pull request finding
MathiasVP Aug 28, 2026
416b3ee
C++: Add an amazing change note.
MathiasVP Aug 28, 2026
45c7a51
Merge pull request #22460 from MathiasVP/add-crazy-fp
MathiasVP Aug 28, 2026
4809a5e
unified: Address review comments
tausbn Aug 28, 2026
0017292
Docs: remove blank line between supported-platform footnotes
redsun82 Aug 28, 2026
c4c6667
Docs: keep beta marker on Apple Silicon
redsun82 Aug 28, 2026
fa8a287
Merge pull request #22444 from github/redsun82-docs-linux-arm64-suppo…
redsun82 Aug 28, 2026
ef1b821
Fix synchronized query-help file
miachillgood Aug 29, 2026
4796ff4
cpp: address review feedback on libpq SQL-injection sinks
kumarak Aug 30, 2026
9e3707f
Merge pull request #22384 from hugo-syn/hugo-syn/csharp-odata-tainted…
michaelnebel Aug 31, 2026
a7186e5
Rust: Fix model missed by Copilot
hvitved Aug 31, 2026
a9f60fa
CFG: Exclude blocks from post-order in case they're Exprs.
aschackmull Aug 31, 2026
13ecf2e
C++: Improve test stability when models are added
jketema Aug 31, 2026
973d5b5
Merge pull request #22467 from jketema/jketema/test-stable
jketema Aug 31, 2026
546e64d
Java: update the Commons XML model to the commons-secure-xml 1.0.0 API
ppkarwasz Aug 31, 2026
619da40
Merge remote-tracking branch 'ppkarwasz/feat/xml-commons' into feat/x…
ppkarwasz Aug 31, 2026
ce0e2ad
Merge pull request #22449 from trail-of-forks/kumarak/cpp-libpq-sql-s…
jketema Aug 31, 2026
209cd4c
C#: Add NuGet feed list to the unit tests.
michaelnebel Aug 31, 2026
a14379e
C#: Move feed prefix logic out of the feed manager.
michaelnebel Aug 31, 2026
829f880
C#: Update unit tests to reflect the new logic.
michaelnebel Aug 31, 2026
66faa15
Unified: Add Callable type
aschackmull Aug 31, 2026
5e9dade
Rust: Start canonical path part indices at zero
hvitved Aug 31, 2026
bb10ccb
Merge pull request #22457 from github/hvitved-angle-bracket-trait-paths
hvitved Aug 31, 2026
178f12c
C#: Introduce IFileProvider interface.
michaelnebel Aug 31, 2026
29e1392
C#: Introduce interface for DependabotProxy.
michaelnebel Aug 31, 2026
0f2a7cf
C#: Make FeedManager unit-testable.
michaelnebel Aug 31, 2026
53972f5
C#: Move DotNetStub into its own file.
michaelnebel Aug 31, 2026
b76f793
C#: Add some Feed manager unit tests.
michaelnebel Aug 31, 2026
95c30d3
Merge pull request #22446 from github/rust/reuse-cargo-target-dir
paldepind Aug 31, 2026
b9559cd
Add changed framework coverage reports
github-actions[bot] Sep 1, 2026
6202d28
CPP: Disable dynamic reordering for AliasedSSA::isCoveredOffset
kaspersv Sep 1, 2026
d0156c1
Unified: Enable on Arm64
jketema Sep 1, 2026
5573276
Merge pull request #22472 from github/workflow/coverage/update
michaelnebel Sep 1, 2026
56dac46
Merge pull request #22469 from aschackmull/unified/callable
aschackmull Sep 1, 2026
d3f80b6
Unified: Add a debug query to view the AST as a graph.
aschackmull Sep 1, 2026
2a1dbdf
Rust: Add source/sink/barrier MaD trait tests
hvitved Aug 27, 2026
631419a
Unified: Add BinaryExpr.getAnOperand to FacadeAst.
aschackmull Sep 1, 2026
a1ac9b1
Unified: Add more logical expressions to AstExtra.
aschackmull Sep 1, 2026
61e11eb
CFG: Exclude 'try's from post-order in case they're Exprs.
aschackmull Sep 1, 2026
872aabc
FlowSummaryImpl: Align source/sink/barrier prioriterization with that…
hvitved Aug 27, 2026
2d69fc3
Rust: Derive source/sink/barrier MaD implementation models from trait…
hvitved Aug 27, 2026
4f4ba85
Unified: Add qldoc.
aschackmull Sep 1, 2026
158d358
Merge pull request #22476 from aschackmull/cfg/tweaks
aschackmull Sep 1, 2026
575df8e
Skip mono/nuget C# integration tests on Ubuntu 26.04
redsun82 Aug 27, 2026
c550c51
Merge pull request #22468 from michaelnebel/csharp/refactorfeedmanager
michaelnebel Sep 1, 2026
8e5e63b
Merge pull request #22474 from aschackmull/unified/debug-ast
aschackmull Sep 1, 2026
0909279
Merge branch 'main' into unified/ast-binaryexpr
aschackmull Sep 1, 2026
164d97d
Merge pull request #22475 from aschackmull/unified/ast-binaryexpr
aschackmull Sep 1, 2026
aab9cb6
Unified: Add control flow graph.
aschackmull Aug 28, 2026
b36dbd4
Merge pull request #22480 from kaspersv/kaspersv/rtjo-disable-reordering
kaspersv Sep 1, 2026
3ca261a
Unified: Move `extension` workaround into static name binding library
hvitved Sep 1, 2026
4138d65
Merge pull request #22481 from hvitved/unified/static-namebinding-ext…
hvitved Sep 1, 2026
7b2695b
Merge pull request #22478 from github/jketema/static-followup
jketema Sep 1, 2026
1a3750b
Unified: simplify Bazel build
jketema Sep 1, 2026
e8c6faf
Unified: fix formatting
jketema Sep 1, 2026
6b3497b
Merge pull request #22482 from github/jketema/simpilfy-bazel
jketema Sep 1, 2026
957b713
Python: test shared CFG exception reachability
yoff Aug 19, 2026
9df64e7
Python: wire leaf exceptions to catch entries
yoff Aug 19, 2026
8d65f0a
Python: model throwing leaves as post-order
yoff Aug 25, 2026
918ff2e
Python: Restrict the set of throwing exceptions
yoff Sep 1, 2026
b0fa3e7
Merge pull request #22445 from github/hvitved-add-source-sink-barrier…
hvitved Sep 1, 2026
6608984
FlowSummaryImpl: Model more source/sink steps as jump steps
hvitved Aug 31, 2026
d64ad79
Fix `accept-expected-changes-from-ci.py`
hvitved Aug 31, 2026
734a77d
Bazel: Add `lfs_archives` function
jketema Sep 1, 2026
41ad940
fix: missed where opporunity false positive
baywet Sep 1, 2026
9b57285
Bazel: remove redundant whitespace
jketema Sep 1, 2026
dc42a4c
docs: rewording
baywet Sep 1, 2026
17412f3
tests: adds a unit test to prevent regression on else cases
baywet Sep 1, 2026
3271587
chore: fixes missing break case
baywet Sep 1, 2026
c5f2bdb
Bazel: Address review comments
jketema Sep 1, 2026
3a36d25
Remove redundant consistency qltests
yoff Sep 1, 2026
5e11c9a
tests: adds a negative test for break
baywet Sep 1, 2026
b2721ad
Ruby: Disable dynamic reordering for select predicate
kaspersv Sep 1, 2026
a690c0c
Merge pull request #22410 from miachillgood/codex/issue-5163-wikimedi…
jketema Sep 2, 2026
e7181b3
Merge pull request #22486 from kaspersv/kaspersv/ruby-disable-reordering
kaspersv Sep 2, 2026
f452bd4
Apply suggestion from @asgerf
aschackmull Sep 2, 2026
479cceb
JS: Report HTML/XHTML files under file coverage
asgerf Sep 2, 2026
35e48a6
JS: Change note
asgerf Sep 2, 2026
2377214
Add actions.lock extraction
hvitved Sep 2, 2026
71cf2f1
Merge pull request #22479 from aschackmull/unified/cfg
aschackmull Sep 2, 2026
53f30a0
CFG: Rename ForeachStmt to ForEachStmt.
aschackmull Sep 2, 2026
3d143e1
Unified: Make pattern a subtype of expr.
aschackmull Sep 2, 2026
4f153c6
Merge pull request #22490 from aschackmull/unified/expr-pattern
aschackmull Sep 2, 2026
738c91f
Merge pull request #22489 from aschackmull/cfg/rename-foreach
aschackmull Sep 2, 2026
d36354b
C#: Disable dynamic reordering for Unification::Gvn::unifiableTypeArg…
kaspersv Sep 2, 2026
a92b6a8
Apply suggestion from @aschackmull
yoff Sep 2, 2026
7fda929
Merge pull request #22491 from kaspersv/kaspersv/rtjo-disable-csharp-…
kaspersv Sep 2, 2026
ee6a179
C#: Add explicit class with dependabot configuration.
michaelnebel Sep 1, 2026
68d8351
C#: Move some logic into the DependabotProxy object construction.
michaelnebel Sep 1, 2026
b3ae7ff
C#: Minor re-write to enable OS independant testing of dependabot pro…
michaelnebel Sep 1, 2026
8583ecc
C#: Add DependabotProxy unit-tests.
michaelnebel Sep 1, 2026
54415ad
Merge pull request #22380 from yoff/yoff-fix-shared-cfg-ssa-regressions
yoff Sep 2, 2026
7102999
Include actions.lock in baseline paths
hvitved Sep 2, 2026
be52f4c
Merge pull request #22488 from asgerf/js/scan-html
asgerf Sep 2, 2026
dd005e5
chore: applies review suggestion
baywet Sep 2, 2026
ed2b77e
Merge pull request #21387 from github/nicolaswill/micronaut
owen-mc Sep 2, 2026
7814be5
Bazel: Factor out the shared attributes
jketema Sep 2, 2026
1fe0cb5
Merge pull request #22450 from github/redsun82-skip-mono-integration-…
redsun82 Sep 2, 2026
2d9252f
Merge pull request #22487 from github/hvitved-actions-lock-extraction
hvitved Sep 2, 2026
d6ffc18
docs: removes additional cases to avoid the page being too long
baywet Sep 2, 2026
2dc8ef9
C#: Address some review comments.
michaelnebel Sep 2, 2026
1161393
Merge pull request #22483 from github/jketema/lfs-archives
redsun82 Sep 2, 2026
327b8e9
Merge pull request #22399 from jketema/jketema/go-follow
jketema Sep 2, 2026
72c44b8
Add changed framework coverage reports
github-actions[bot] Sep 3, 2026
1925c20
Rust: Make crate fallback logic more conservative in path resolution …
hvitved Sep 2, 2026
42e8a32
Merge pull request #22496 from github/workflow/coverage/update
owen-mc Sep 3, 2026
18dae28
Merge pull request #22269 from ppkarwasz/feat/xml-commons
owen-mc Sep 3, 2026
2a7faa5
chore: applies review suggestion
baywet Sep 3, 2026
dd84d7f
docs: adds change note for linq where fixes
baywet Sep 3, 2026
51a5929
unified: Pin `swift-syntax` directly
tausbn Sep 3, 2026
7f8a20e
shared: consistent order for consistency checks
yoff Sep 3, 2026
b5d570f
Merge pull request #22459 from github/tausbn/unified-add-swift-node-t…
tausbn Sep 3, 2026
9207c4b
Address review comment
hvitved Sep 3, 2026
b32e90c
Merge pull request #22477 from michaelnebel/csharp/refactordependabot…
michaelnebel Sep 3, 2026
c970d43
Merge pull request #22470 from hvitved/flow-summary-source-sink-jump-…
MathiasVP Sep 3, 2026
cf26b00
Merge pull request #22484 from baywet/fix/csharp-where-opportunity-false
michaelnebel Sep 3, 2026
df7d49d
Rename `normalizeSemVer` to `padSemVer` and adopt Ruby implementation
hvitved Sep 3, 2026
f1f964c
Merge pull request #22423 from yoff/yoff-abrupt-origin-consistency
yoff Sep 3, 2026
cb55cf1
Merge pull request #22495 from hvitved/rust/path-resolution-crate-fal…
hvitved Sep 3, 2026
da93726
Release preparation for version 2.27.0
invalid-email-address Sep 3, 2026
c6baf47
Merge pull request #22504 from github/release-prep/2.27.0
henrymercer Sep 3, 2026
4737f67
Merge upstream CodeQL 2.27.0 release
chanel-y Sep 11, 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
  •  
  •  
  •  
5 changes: 3 additions & 2 deletions .github/workflows/check-change-note.yml
Original file line number Diff line number Diff line change
@@ -1,10 +1,11 @@
name: Check change note

permissions:
contents: read
pull-requests: read

on:
pull_request_target:
pull_request:
types: [labeled, unlabeled, opened, synchronize, reopened, ready_for_review]
paths:
- "*/ql/src/**/*.ql"
Expand All @@ -23,7 +24,7 @@ jobs:
env:
REPO: ${{ github.repository }}
PULL_REQUEST_NUMBER: ${{ github.event.number }}
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
GH_TOKEN: ${{ github.token }}
runs-on: ubuntu-latest
steps:

Expand Down
143 changes: 136 additions & 7 deletions .github/workflows/labeler.yml
Original file line number Diff line number Diff line change
@@ -1,15 +1,144 @@
name: "Pull Request Labeler"

on:
- pull_request_target
schedule:
# Reconcile recently updated PRs promptly, including unapproved forks and
# conflicted PRs for which pull_request workflows do not run.
- cron: "7,22,37,52 * * * *"
# Reconcile one stable shard of all open PRs each hour to recover from
# delayed or missed scheduled runs.
- cron: "12 * * * *"
workflow_dispatch:
inputs:
pr_number:
description: "Open pull request number to reconcile"
required: true
type: string

permissions: {}

permissions:
contents: read
pull-requests: write
concurrency:
group: pull-request-labeler
cancel-in-progress: false

jobs:
triage:
if: github.ref_name == github.event.repository.default_branch
runs-on: ubuntu-latest
timeout-minutes: 30
permissions:
contents: read
pull-requests: write
steps:
- uses: actions/labeler@v4
with:
repo-token: "${{ secrets.GITHUB_TOKEN }}"
- uses: actions/checkout@v5
with:
persist-credentials: false
sparse-checkout: .github/labeler.yml
sparse-checkout-cone-mode: false

- name: Collect pull requests to reconcile
id: collect
env:
GH_TOKEN: ${{ github.token }}
REPO: ${{ github.repository }}
EVENT_NAME: ${{ github.event_name }}
SCHEDULE: ${{ github.event.schedule }}
REQUESTED_PR: ${{ inputs.pr_number }}
run: |
set -euo pipefail

if [ "$EVENT_NAME" = "workflow_dispatch" ]; then
if [[ ! "$REQUESTED_PR" =~ ^[1-9][0-9]*$ ]]; then
echo "Invalid pull request number: $REQUESTED_PR"
exit 1
fi

pr_json=$(gh api "repos/$REPO/pulls/$REQUESTED_PR")
candidates=$(jq -c '[{
number: .number,
head_sha: .head.sha
}]' <<<"$pr_json")
else
pulls_json=$(gh api --paginate \
"repos/$REPO/pulls?state=open&sort=updated&direction=desc&per_page=100" |
jq -cs 'add')

if [ "$SCHEDULE" = "12 * * * *" ]; then
shard=$(( ($(date -u +%s) / 3600) % 6 ))
candidates=$(jq -c --argjson shard "$shard" \
'[.[] | select((.number % 6) == $shard) | {
number: .number,
head_sha: .head.sha
}]' <<<"$pulls_json")
else
cutoff=$(date -u -d "1 hour ago" "+%Y-%m-%dT%H:%M:%SZ")
# Hourly shards reconcile any candidates beyond this API budget.
candidates=$(jq -c --arg cutoff "$cutoff" \
'[.[] | select(.updated_at >= $cutoff) | {
number: .number,
head_sha: .head.sha
}][0:100]' <<<"$pulls_json")
fi
fi

echo "Collected $(jq 'length' <<<"$candidates") pull request(s)."
{
echo "candidates<<EOF"
echo "$candidates"
echo "EOF"
} >> "$GITHUB_OUTPUT"

- name: Validate pull request state
id: validate
env:
GH_TOKEN: ${{ github.token }}
REPO: ${{ github.repository }}
CANDIDATES: ${{ steps.collect.outputs.candidates }}
run: |
set -euo pipefail

valid_numbers=()
while IFS=$'\t' read -r pr_number expected_sha; do
if [[ ! "$pr_number" =~ ^[1-9][0-9]*$ ]] ||
[[ ! "$expected_sha" =~ ^[0-9a-f]{40}$ ]]; then
echo "Skipping malformed pull request candidate."
continue
fi

if ! pr_json=$(gh api "repos/$REPO/pulls/$pr_number"); then
echo "Pull request #$pr_number could not be fetched; skipping."
continue
fi

if ! jq -e \
--arg repo "$REPO" \
--arg sha "$expected_sha" \
'.state == "open" and
.base.repo.full_name == $repo and
.head.sha == $sha and
(.head.repo.full_name | type == "string")' \
>/dev/null <<<"$pr_json"; then
echo "Pull request #$pr_number changed or is no longer open; skipping."
continue
fi

valid_numbers+=("$pr_number")
done < <(jq -r '.[] | [.number, .head_sha] | @tsv' <<<"$CANDIDATES")

if [ "${#valid_numbers[@]}" -eq 0 ]; then
echo "has_prs=false" >> "$GITHUB_OUTPUT"
exit 0
fi

{
echo "has_prs=true"
echo "pr_numbers<<EOF"
printf '%s\n' "${valid_numbers[@]}"
echo "EOF"
} >> "$GITHUB_OUTPUT"

- uses: actions/labeler@v4
if: steps.validate.outputs.has_prs == 'true'
with:
repo-token: "${{ github.token }}"
pr-number: ${{ steps.validate.outputs.pr_numbers }}
8 changes: 8 additions & 0 deletions BUILD.bazel
Original file line number Diff line number Diff line change
Expand Up @@ -3,3 +3,11 @@ exports_files([
"Cargo.lock",
"Cargo.toml",
])

constraint_setting(name = "swift_runtime_linkage")

constraint_value(
name = "static_swift_runtime",
constraint_setting = ":swift_runtime_linkage",
visibility = ["//visibility:public"],
)
7 changes: 5 additions & 2 deletions MODULE.bazel
Original file line number Diff line number Diff line change
Expand Up @@ -31,7 +31,7 @@ bazel_dep(name = "gazelle", version = "0.50.0")
bazel_dep(name = "rules_dotnet", version = "0.21.5-codeql.1")
bazel_dep(name = "googletest", version = "1.17.0.bcr.2")
bazel_dep(name = "rules_rust", version = "0.69.0")
bazel_dep(name = "rules_swift", version = "4.0.0-rc5-codeql.1")
bazel_dep(name = "rules_swift", version = "4.0.0-rc5-codeql.2")
bazel_dep(name = "swift-syntax", version = "603.0.2")
bazel_dep(name = "zstd", version = "1.5.7.bcr.1")

Expand Down Expand Up @@ -228,7 +228,7 @@ use_repo(
# `unified/swift-syntax-rs` package is not loadable in that context. Keep this
# in sync with `unified/swift-syntax-rs/.swift-version` (used by the `cargo`
# build) and the `swift-syntax` release in `swift/Package.swift`.
swift = use_extension("@rules_swift//swift:extensions.bzl", "swift")
swift = use_extension("@rules_swift//swift:extensions.bzl", "swift", dev_dependency = True)
swift.toolchain(
name = "swift_toolchain",
swift_version = "6.3.3",
Expand All @@ -237,12 +237,15 @@ use_repo(
swift,
"swift_toolchain",
"swift_toolchain_ubuntu22.04",
"swift_toolchain_ubuntu22.04-aarch64",
"swift_toolchain_xcode",
)

register_toolchains(
"@swift_toolchain//:swift_toolchain_exec_ubuntu22.04",
"@swift_toolchain//:swift_toolchain_exec_ubuntu22.04-aarch64",
"@swift_toolchain//:swift_toolchain_exec_xcode",
dev_dependency = True,
)

node = use_extension("@rules_nodejs//nodejs:extensions.bzl", "node")
Expand Down
3 changes: 2 additions & 1 deletion actions/extractor/tools/autobuild-impl.ps1
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,8 @@ $DefaultPathFilters = @(
'include:.github/reusable_workflows/**/*.yml',
'include:.github/reusable_workflows/**/*.yaml',
'include:**/action.yml',
'include:**/action.yaml'
'include:**/action.yaml',
'include:**/actions.lock'
)

if ($null -ne $env:LGTM_INDEX_FILTERS) {
Expand Down
1 change: 1 addition & 0 deletions actions/extractor/tools/autobuild.sh
Original file line number Diff line number Diff line change
Expand Up @@ -14,6 +14,7 @@ include:.github/reusable_workflows/**/*.yml
include:.github/reusable_workflows/**/*.yaml
include:**/action.yml
include:**/action.yaml
include:**/actions.lock
END
)

Expand Down
3 changes: 2 additions & 1 deletion actions/extractor/tools/baseline-config.json
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,7 @@
".github/reusable_workflows/**/*.yml",
".github/reusable_workflows/**/*.yaml",
"**/action.yml",
"**/action.yaml"
"**/action.yaml",
"**/actions.lock"
]
}
4 changes: 4 additions & 0 deletions actions/ql/integration-tests/actions-lock/query/actions.ql
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
import codeql.actions.Lock

from ActionsLock lock
select lock.getFile()
4 changes: 4 additions & 0 deletions actions/ql/integration-tests/actions-lock/query/qlpack.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
name: codeql/actions-lock-integration-test
dependencies:
codeql/actions-all: "*"
warnOnImplicitThis: true
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
on: push
jobs:
test:
runs-on: ubuntu-latest
steps:
- run: echo test
19 changes: 19 additions & 0 deletions actions/ql/integration-tests/actions-lock/src/actions.lock
Original file line number Diff line number Diff line change
@@ -0,0 +1,19 @@
# This file is machine-generated by `gh actions-lock`.
# Do not edit by hand; run `gh actions-lock` to update.
# Docs: https://gh.io/actions-lockfile
version: 'v0.0.2'
workflows:
'.github/workflows/test.yml':
- 'actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1'
- 'github/codeql-action@db488ddef3bf6cb639b32c2e9a7c0a7ea8271d28'
dependencies:
'actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1':
ref: '3d3c42e5aac5ba805825da76410c181273ba90b1'
commit: 'sha1-3d3c42e5aac5ba805825da76410c181273ba90b1'
owner_id: 44036562
repo_id: 197814629
'github/codeql-action@db488ddef3bf6cb639b32c2e9a7c0a7ea8271d28':
ref: 'v4.37.8'
commit: 'sha1-db488ddef3bf6cb639b32c2e9a7c0a7ea8271d28'
owner_id: 9919
repo_id: 259445878
4 changes: 4 additions & 0 deletions actions/ql/integration-tests/actions-lock/test.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
def test_actions_lock(codeql, actions, javascript):
codeql.database.create(source_root="src", language="actions")
output = codeql.query.run("query/actions.ql", database="test-db", _capture=True)
assert "actions.lock" in output
11 changes: 11 additions & 0 deletions actions/ql/lib/CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,3 +1,14 @@
## 0.6.1

### New Features

* GitHub Actions databases now extract `actions.lock` files. The new `ActionsLock` class
provides access to their YAML abstract syntax trees.

### Minor Analysis Improvements

* Checks on author association fields read from the event payload (e.g. `github.event.pull_request.author_association`) now only count as protection for events whose payload actually populates that field. Previously, a condition such as `github.event.pull_request.author_association != 'NONE'` on a workflow triggered by `issues` events was treated as a protective check even though `github.event.pull_request` is not populated for `issues` events, which makes the condition vacuous. This change may result in more alerts for queries using the `ControlCheck` class.

## 0.6.0

### Breaking Changes
Expand Down
1 change: 1 addition & 0 deletions actions/ql/lib/actions.qll
Original file line number Diff line number Diff line change
@@ -1 +1,2 @@
import codeql.actions.Ast
import codeql.actions.Lock
10 changes: 10 additions & 0 deletions actions/ql/lib/change-notes/released/0.6.1.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
## 0.6.1

### New Features

* GitHub Actions databases now extract `actions.lock` files. The new `ActionsLock` class
provides access to their YAML abstract syntax trees.

### Minor Analysis Improvements

* Checks on author association fields read from the event payload (e.g. `github.event.pull_request.author_association`) now only count as protection for events whose payload actually populates that field. Previously, a condition such as `github.event.pull_request.author_association != 'NONE'` on a workflow triggered by `issues` events was treated as a protective check even though `github.event.pull_request` is not populated for `issues` events, which makes the condition vacuous. This change may result in more alerts for queries using the `ControlCheck` class.
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.6.0
lastReleaseVersion: 0.6.1
10 changes: 10 additions & 0 deletions actions/ql/lib/codeql/actions/Lock.qll
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
/**
* Provides classes for working with GitHub Actions lockfiles.
*/

private import codeql.actions.ast.internal.Yaml

/** An `actions.lock` file. */
class ActionsLock extends YamlDocument {
ActionsLock() { this.getFile().getBaseName() = "actions.lock" }
}
35 changes: 28 additions & 7 deletions actions/ql/lib/codeql/actions/security/ControlChecks.qll
Original file line number Diff line number Diff line change
Expand Up @@ -408,16 +408,37 @@ class WorkflowRunRepositoryIfCheck extends RepositoryCheck instanceof If {
}
}

/**
* Gets a regular expression matching a condition on an author association field
* that is only populated for events whose payload contains the `context_prefix`
* context.
*/
private string eventPayloadAssociationFieldRegex(string context_prefix) {
context_prefix = "github.event.comment" and
result = "\\bgithub\\.event\\.comment\\.author_association\\b"
or
context_prefix = "github.event.issue" and
result = "\\bgithub\\.event\\.issue\\.author_association\\b"
or
context_prefix = "github.event.pull_request" and
result = "\\bgithub\\.event\\.pull_request\\.author_association\\b"
}

class AssociationIfCheck extends AssociationCheck instanceof If {
string context_prefix;

AssociationIfCheck() {
// eg: contains(fromJson('["MEMBER", "OWNER"]'), github.event.comment.author_association)
normalizeExpr(this.getCondition())
.splitAt("\n")
.regexpMatch([
".*\\bgithub\\.event\\.comment\\.author_association\\b.*",
".*\\bgithub\\.event\\.issue\\.author_association\\b.*",
".*\\bgithub\\.event\\.pull_request\\.author_association\\b.*",
])
exists(
normalizeExpr(this.getCondition())
.regexpFind(eventPayloadAssociationFieldRegex(context_prefix), _, _)
)
}

override predicate protectsCategoryAndEvent(string category, string event) {
AssociationCheck.super.protectsCategoryAndEvent(category, event) and
// association fields only restrict events whose payload populates them
contextTriggerDataModel(event, context_prefix)
}
}

Expand Down
2 changes: 1 addition & 1 deletion actions/ql/lib/qlpack.yml
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
name: codeql/actions-all
version: 0.6.0
version: 0.6.1
library: true
warnOnImplicitThis: true
dependencies:
Expand Down
4 changes: 4 additions & 0 deletions actions/ql/src/CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,3 +1,7 @@
## 0.6.35

No user-facing changes.

## 0.6.34

### Minor Analysis Improvements
Expand Down
3 changes: 3 additions & 0 deletions actions/ql/src/change-notes/released/0.6.35.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
## 0.6.35

No user-facing changes.
Loading
Loading