Releases: github/codeql-cli-binaries
v2.16.4
Potentially breaking changes
- A number of internal command line options (
--builtin_functions_file
,--clang_builtin_functions
,
--disable-objc-default-synthesize-properties
,--list_builtin_functions
,--memory-limit-bytes
,
--mimic_config
, and--objc
) has been removed from the C/C++ extractor. The--verbosity
command line option has also been removed. The option was an alias for--codeql-verbosity
,
which should be used instead.
Improvements
- The frontend of the C/C++ extractor has been updated, improving the
extractor's reliability and increasing its ability to extract source code.
Bugs fixed
- When parsing user-authored YAML files such as
codeql-pack.yml
,
qlpack.yml
,codeql-workspace.yml
, and any YAML file defining a data
extension, unquoted string values starting with a*
character are now
correctly interpreted as YAML aliases. Previously, they were interpreted
as strings, but with the first character skipped.
For more information about the changes included in this release, see the CodeQL CLI changelog.
You can download either the codeql-PLATFORM.zip
for your platform, or the generic codeql.zip
which contains binaries for all supported platforms. Please ignore the additional "source code" downloads below the .zip
artifacts.
This release is compatible with the CodeQL language packs from github/codeql@codeql-cli/v2.16.4
.
v2.16.3
Security patches
- Fixes CVE-2024-25129, a limited data exfiltration vulnerability that could be triggered by untrusted databases or QL packs. See the security advisory for more information.
New Features
-
A new extractor option has been added to the Python extractor. Pass one of
--extractor-option python_executable_name=py
or--extractor-option python_executable_name=python
or--extractor-option python_executable_name=python3
tocodeql database create
(orcodeql database trace-command
or, for indirect tracing,codeql database init
) to override the default Python executable search and selection behavior of the Python extractor. For example, on Windows machines, the Python extractor will expect to findpy.exe
on the systemPATH
by default. Setting this extractor option or environment variable allows overriding this behavior to look for a different name.More detail can be found in the extractor option documentation.
Bugs fixed
- Fixed a bug where CodeQL may produce an invalid database when it exhausts all available ID numbers. Now it detects the condition and reports an error instead.
For more information about the changes included in this release, see the CodeQL CLI changelog.
You can download either the codeql-PLATFORM.zip
for your platform, or the generic codeql.zip
which contains binaries for all supported platforms. Please ignore the additional "source code" downloads below the .zip
artifacts.
This release is compatible with the CodeQL language packs from github/codeql@codeql-cli/v2.16.3
.
v2.16.2
- There are no user-facing changes in this release.
For more information about the changes included in this release, see the CodeQL CLI changelog.
You can download either the codeql-PLATFORM.zip
for your platform, or the generic codeql.zip
which contains binaries for all supported platforms. Please ignore the additional "source code" downloads below the .zip
artifacts.
This release is compatible with the CodeQL language packs from github/codeql@codeql-cli/v2.16.2
.
v2.16.1
Improvements
- When executing the
codeql database init
command, the CodeQL runner executable path is now stored in theCODEQL_RUNNER
environment variable. Users of indirect tracing on MacOS with System Integrity Protection enabled who previously had trouble with indirect tracing should prefix their build command with this path. For example,$CODEQL_RUNNER build.sh
.
QL language improvements
- Name clashes between weak aliases (i.e. aliases that are not final aliases of non-final entities) of the same target no longer cause ambiguity errors.
For more information about the changes included in this release, see the CodeQL CLI changelog.
You can download either the codeql-PLATFORM.zip
for your platform, or the generic codeql.zip
which contains binaries for all supported platforms. Please ignore the additional "source code" downloads below the .zip
artifacts.
This release is compatible with the CodeQL language packs from github/codeql@codeql-cli/v2.16.1
.
v2.16.0
Improvements
- The
Experimental
flag has been removed from all packaging and related commands. - The RA pretty-printer omits names of internal RA nodes and pretty-prints binary unions
with nested internal unions as n-ary unions.
Potentially breaking changes
- The Python extractor will no longer extract dependencies by default.
- The
--ram
option tocodeql database run-queries
and other commands that execute
queries is now interpreted more strictly. Previously it was mostly a rough hint for how
much memory to use, and the actual memory footprint of the CodeQL process could be
hundreds of megabytes higher. From this release, CodeQL tries harder to keep its total
memory consumption during evaluation below the given limit.
For more information about the changes included in this release, see the CodeQL CLI changelog.
You can download either the codeql-PLATFORM.zip
for your platform, or the generic codeql.zip
which contains binaries for all supported platforms. Please ignore the additional "source code" downloads below the .zip
artifacts.
This release is compatible with the CodeQL language packs from github/codeql@codeql-cli/v2.16.0
.
v2.15.5
New features
- A new extractor option has been added to the JavaScript/TypeScript extractor.
Set the environment variableCODEQL_EXTRACTOR_JAVASCRIPT_OPTION_SKIP_TYPES
totrue
to skip the extraction of types in TypeScript files.
Bugs fixed
- Fixed an issue where CodeQL would sometimes incorrectly report that no files
were scanned when running on Windows.
This affected the human-readable summary produced bycodeql database analyze
andcodeql database interpret-results
, but did not impact the file coverage
information produced in the SARIF output and displayed on the tool status page. - When analyzing Swift codebases, CodeQL build tracing will now ignore the
codesign
tool. This prevents errors in build commands or workflows on macOS
that include both CodeQL and code signing.
For more information about the changes included in this release, see the CodeQL CLI changelog.
You can download either the codeql-PLATFORM.zip
for your platform, or the generic codeql.zip
which contains binaries for all supported platforms. Please ignore the additional "source code" downloads below the .zip
artifacts.
This release is compatible with the CodeQL language packs from github/codeql@codeql-cli/v2.15.5
.
v2.15.4
New features
- Java 21 is now fully supported, including support for new language features such as pattern switches and record patterns.
Improvements
- Parallelism in the evaluator has been improved, resulting in faster analysis when running with many threads, particularly for large databases.
For more information about the changes included in this release, see the CodeQL CLI changelog.
You can download either the codeql-PLATFORM.zip
for your platform, or the generic codeql.zip
which contains binaries for all supported platforms. Please ignore the additional "source code" downloads below the .zip
artifacts.
This release is compatible with the CodeQL language packs from github/codeql@codeql-cli/v2.15.4
.
v2.15.3
Release 2.15.3 (2023-11-22)
New features
codeql database analyze
now defaults to include markdown query help for all custom
queries with help files available. To change the default behaviour you can pass the
new flag--sarif-include-query-help
, which provides the optionsalways
(which
includes query help for all queries),custom_queries_only
(the default) andnever
(which does not include query help for any query). The existing flag
--sarif-add-query-help
has been deprecated and will be removed in a future release.- The new (advanced) command-line option
--[no-]linkage-aware-import
disables the
linkage-awareness phase ofcodeql dataset import
, as a quick fix (at the expense of
database completeness) for C++ projects where this part of database creation consumes
too much memory. This option is available in the commandsdatabase create
,
database finalize
,database import
,dataset import
,test extract
, and
test run
. - The CodeQL language server now provides basic support for Rename, and you can now use
the Rename Symbol functionality in Visual Studio Code for CodeQL. The current Rename
support is less a refactoring tool and more a labor-saving device. You may have to
perform some manual edits after using Rename, but it should still be faster and less
work than renaming a symbol manually.
For more information about the changes included in this release, see the CodeQL CLI changelog.
You can download either the codeql-PLATFORM.zip
for your platform, or the generic codeql.zip
which contains binaries for all supported platforms. Please ignore the additional "source code" downloads below the .zip
artifacts.
This release is compatible with the CodeQL language packs from github/codeql@codeql-cli/v2.15.3
.
v2.15.2
Breaking changes
- C++ extraction has been updated to output more accurate C++ value categories. Note you may need to recompile query packs that were compiled with an older CodeQL (see full changelog below for details).
New features
codeql database analyze
andcodeql database interpret-results
can now
output human-readable analysis summaries in a new format. To enable this new format, pass the--analysis-summary-v2
flag. See the full changelog for compatibility information if you intend to use this with GitHub Enterprise Server.- CodeQL now supports
distinguishing file coverage information between related languages C and C++, Java and Kotlin,
and JavaScript and TypeScript. See the full changelog for usage and compatibility information. - All CLI commands now support
--common-caches
, which controls the location of the
cached data that is persisted between several runs of the CLI, such as downloaded QL packs
and compiled query plans.
Improvements
- Model packs that are used in an analysis will now be included in an output SARIF results file. All model packs now include the
isCodeQLModelPack: true
property in their tool component property bag.
For more information about the changes included in this release, see the CodeQL CLI changelog.
You can download either the codeql-PLATFORM.zip
for your platform, or the generic codeql.zip
which contains binaries for all supported platforms. Please ignore the additional "source code" downloads below the .zip
artifacts.
This release is compatible with the CodeQL language packs from github/codeql@codeql-cli/v2.15.2
.
v2.15.1
Release 2.15.1 (2023-10-19)
Potentially Breaking Changes
- The query server's
evaluation/trimCache
command was previously equivalent to thecodeql database cleanup --mode=gentle
CLI command, but is now equivalent to using--mode=normal
.
Deprecations
- The accepted values of the
codeql database cleanup --mode=
command line option have been renamed to bring them in line with what they are called in the VSCode extension and the query server:--mode=brutal
is now--mode=clear
.--mode=normal
is now--mode=trim
.--mode=light
is now--mode=fit
.- The old names are deprecated, but will be accepted for backwards-compatibility reasons until further notice.
Improvements
- The list of failed tests at the end of a
codeql test run
is now sorted lexicographically.
Bugs fixed
- Fixed a bug where the
$CODEQL_JAVA_HOME
environment variable was
erroneously ignored for certain subsidiary Java processes started by
codeql
. - Fixed a bug in the CodeQL build tracer on Apple Silicon machines that prevented database creation if System Integrity Protection was disabled.
For more information about the changes included in this release, see the CodeQL CLI changelog.
You can download either the codeql-PLATFORM.zip
for your platform, or the generic codeql.zip
which contains binaries for all supported platforms. Please ignore the additional "source code" downloads below the .zip
artifacts.
This release is compatible with the CodeQL language packs from github/codeql@codeql-cli/v2.15.1
.