Skip to content

Commit 6e0ce9a

Browse files
committed
Add changelog entry for CodeQL 2.23.1 release
1 parent 92cced2 commit 6e0ce9a

File tree

2 files changed

+177
-0
lines changed

2 files changed

+177
-0
lines changed
Lines changed: 176 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,176 @@
1+
.. _codeql-cli-2.23.1:
2+
3+
==========================
4+
CodeQL 2.23.1 (2025-09-23)
5+
==========================
6+
7+
.. contents:: Contents
8+
:depth: 2
9+
:local:
10+
:backlinks: none
11+
12+
This is an overview of changes in the CodeQL CLI and relevant CodeQL query and library packs. For additional updates on changes to the CodeQL code scanning experience, check out the `code scanning section on the GitHub blog <https://github.blog/tag/code-scanning/>`__, `relevant GitHub Changelog updates <https://github.blog/changelog/label/code-scanning/>`__, `changes in the CodeQL extension for Visual Studio Code <https://marketplace.visualstudio.com/items/GitHub.vscode-codeql/changelog>`__, and the `CodeQL Action changelog <https://github.com/github/codeql-action/blob/main/CHANGELOG.md>`__.
13+
14+
Security Coverage
15+
-----------------
16+
17+
CodeQL 2.23.1 runs a total of 478 security queries when configured with the Default suite (covering 166 CWE). The Extended suite enables an additional 135 queries (covering 35 more CWE). 3 security queries have been added with this release.
18+
19+
CodeQL CLI
20+
----------
21+
22+
New Features
23+
~~~~~~~~~~~~
24+
25+
* CodeQL now adds the sources and sinks of path alerts to the :code:`relatedLocations` property of SARIF results if they are not included as the primary location or within the alert message. This means that path alerts will show on PRs if a source or sink is added or modified, even for queries that don't follow the common convention of selecting the sink as the primary location and mentioning the source in the alert message.
26+
27+
* CodeQL now populates file coverage information for GitHub Actions on
28+
\ `the tool status page for code scanning <https://docs.github.com/en/code-security/code-scanning/managing-your-code-scanning-configuration/about-the-tool-status-page#viewing-the-tool-status-page-for-a-repository>`__.
29+
30+
Query Packs
31+
-----------
32+
33+
Bug Fixes
34+
~~~~~~~~~
35+
36+
C/C++
37+
"""""
38+
39+
* The predicate :code:`occurenceCount` in the file module :code:`MagicConstants` has been deprecated. Use :code:`occurrenceCount` instead.
40+
* The predicate :code:`additionalAdditionOrSubstractionCheckForLeapYear` in the file module :code:`LeapYear` has been deprecated. Use :code:`additionalAdditionOrSubtractionCheckForLeapYear` instead.
41+
42+
C#
43+
""
44+
45+
* The message for :code:`csharp/diagnostic/database-quality` has been updated to include detailed database health metrics. Additionally, the threshold for reporting database health issues has been lowered from 95% to 85% (if any metric falls below this percentage). These changes are visible on the tool status page.
46+
47+
Java/Kotlin
48+
"""""""""""
49+
50+
* The message for :code:`java/diagnostic/database-quality` has been updated to include detailed database health metrics. Additionally, the threshold for reporting database health issues has been lowered from 95% to 85% (if any metric falls below this percentage). These changes are visible on the tool status page.
51+
52+
Rust
53+
""""
54+
55+
* The message for :code:`rust/diagnostic/database-quality` has been updated to include detailed database health metrics. These changes are visible on the tool status page.
56+
57+
Major Analysis Improvements
58+
~~~~~~~~~~~~~~~~~~~~~~~~~~~
59+
60+
C/C++
61+
"""""
62+
63+
* The queries :code:`cpp/wrong-type-format-argument`, :code:`cpp/comparison-with-wider-type`, :code:`cpp/integer-multiplication-cast-to-long`, :code:`cpp/implicit-function-declaration` and :code:`cpp/suspicious-add-sizeof` have had their precisions reduced from :code:`high` to :code:`medium`. They will also now give alerts for projects built with :code:`build-mode: none`.
64+
* The queries :code:`cpp/wrong-type-format-argument`, :code:`cpp/comparison-with-wider-type`, :code:`cpp/integer-multiplication-cast-to-long` and :code:`cpp/suspicious-add-sizeof` are no longer included in the :code:`code-scanning` suite.
65+
66+
Java/Kotlin
67+
"""""""""""
68+
69+
* The implementation of :code:`java/dereferenced-value-may-be-null` has been completely replaced with a new general control-flow reachability library. This improves precision by reducing false positives. However, since the entire calculation has been reworked, there can be small corner cases where precision regressions might occur and new false positives may occur, but these cases should be rare.
70+
71+
JavaScript/TypeScript
72+
"""""""""""""""""""""
73+
74+
* Added support for TypeScript 5.9
75+
* Added support for :code:`import defer` syntax in JavaScript and TypeScript.
76+
77+
Minor Analysis Improvements
78+
~~~~~~~~~~~~~~~~~~~~~~~~~~~
79+
80+
C#
81+
""
82+
83+
* The query :code:`cs/call-to-object-tostring` has been improved to remove false positives for enum types.
84+
85+
JavaScript/TypeScript
86+
"""""""""""""""""""""
87+
88+
* Data flow is now tracked through the :code:`Promise.try` and :code:`Array.prototype.with` functions.
89+
* Query :code:`js/index-out-of-bounds` no longer produces a false-positive when a strictly-less-than check overrides a previous less-than-or-equal test.
90+
* The query :code:`js/remote-property-injection` now detects property injection vulnerabilities through object enumeration patterns such as :code:`Object.keys()`.
91+
* The query "Permissive CORS configuration" (:code:`js/cors-permissive-configuration`) has been promoted from experimental and is now part of the default security suite.
92+
93+
Python
94+
""""""
95+
96+
* The queries :code:`py/missing-call-to-init`, :code:`py/missing-calls-to-del`, :code:`py/multiple-calls-to-init`, and :code:`py/multiple-calls-to-del` queries have been modernized; no longer relying on outdated libraries, producing more precise results with more descriptive alert messages, and improved documentation.
97+
98+
GitHub Actions
99+
""""""""""""""
100+
101+
* Actions analysis now reports file coverage information on the CodeQL status page.
102+
103+
Deprecated Queries
104+
~~~~~~~~~~~~~~~~~~
105+
106+
C#
107+
""
108+
109+
* The query :code:`cs/captured-foreach-variable` has been deprecated as the semantics of capturing a 'foreach' variable and using it outside the loop has been stable since C# version 5.
110+
111+
New Queries
112+
~~~~~~~~~~~
113+
114+
Rust
115+
""""
116+
117+
* Added a new query, :code:`rust/request-forgery`, for detecting server-side request forgery vulnerabilities.
118+
119+
Language Libraries
120+
------------------
121+
122+
Minor Analysis Improvements
123+
~~~~~~~~~~~~~~~~~~~~~~~~~~~
124+
125+
Golang
126+
""""""
127+
128+
* The second argument of the :code:`CreateTemp` function, from the :code:`os` package, is no longer a path-injection sink due to proper sanitization by Go.
129+
* The query "Uncontrolled data used in path expression" (:code:`go/path-injection`) now detects sanitizing a path by adding :code:`os.PathSeparator` or :code:`\` to the beginning.
130+
131+
Java/Kotlin
132+
"""""""""""
133+
134+
* Improved support for various assertion libraries, in particular JUnit. This affects the control-flow graph slightly, and in turn affects several queries (mainly quality queries). Most queries should see improved precision (new true positives and fewer false positives), in particular :code:`java/constant-comparison`, :code:`java/index-out-of-bounds`, :code:`java/dereferenced-value-may-be-null`, and :code:`java/useless-null-check`. Some medium precision queries like :code:`java/toctou-race-condition` and :code:`java/unreleased-lock` may see mixed result changes (both slight improvements and slight regressions).
135+
* Added taint flow model for :code:`java.crypto.KDF`.
136+
* Added taint flow model for :code:`java.lang.ScopedValue`.
137+
138+
JavaScript/TypeScript
139+
"""""""""""""""""""""
140+
141+
* Added modeling for promisification libraries :code:`@gar/promisify`, :code:`es6-promisify`, :code:`util.promisify`, :code:`thenify-all`, :code:`call-me-maybe`, :code:`@google-cloud/promisify`, and :code:`util-promisify`.
142+
* Data flow is now tracked through promisified user-defined functions.
143+
144+
Swift
145+
"""""
146+
147+
* Updated to allow analysis of Swift 6.1.3.
148+
149+
Rust
150+
""""
151+
152+
* Added cryptography related models for the :code:`cookie` and :code:`biscotti` crates.
153+
154+
Deprecated APIs
155+
~~~~~~~~~~~~~~~
156+
157+
C/C++
158+
"""""
159+
160+
* The predicate :code:`getAContructorCall` in the class :code:`SslContextClass` has been deprecated. Use :code:`getAConstructorCall` instead.
161+
162+
New Features
163+
~~~~~~~~~~~~
164+
165+
C/C++
166+
"""""
167+
168+
* Added predicates :code:`getTransitiveNumberOfVlaDimensionStmts`, :code:`getTransitiveVlaDimensionStmt`, and :code:`getParentVlaDecl` to :code:`VlaDeclStmt` for handling :code:`VlaDeclStmt`\ s whose base type is defined in terms of another :code:`VlaDeclStmt` via a :code:`typedef`.
169+
170+
Java/Kotlin
171+
"""""""""""
172+
173+
* The Java extractor and QL libraries now support Java 25.
174+
* Added support for Java 25 compact source files (JEP 512). The new predicate :code:`Class.isImplicit()` identifies classes that are implicitly declared when using compact source files, and the new predicate :code:`CompilationUnit.isCompactSourceFile()` identifies compilation units that contain compact source files.
175+
* Added support for Java 25 module import declarations.
176+
* Add :code:`ModuleImportDeclaration` class.

docs/codeql/codeql-overview/codeql-changelog/index.rst

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,7 @@ A list of queries for each suite and language `is available here <https://docs.g
1111
.. toctree::
1212
:maxdepth: 1
1313

14+
codeql-cli-2.23.1
1415
codeql-cli-2.23.0
1516
codeql-cli-2.22.4
1617
codeql-cli-2.22.3

0 commit comments

Comments
 (0)