Skip to content

Releases: github/codeql-cli-binaries

v2.16.4

11 Mar 17:46
9e527ae
Compare
Choose a tag to compare

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

22 Feb 11:48
f07c9ca
Compare
Choose a tag to compare

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 to codeql database create (or codeql 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 find py.exe on the system PATH 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

12 Feb 18:19
Compare
Choose a tag to compare
  • 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

25 Jan 13:59
Compare
Choose a tag to compare

Improvements

  • When executing the codeql database init command, the CodeQL runner executable path is now stored in the CODEQL_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

16 Jan 14:31
fb86fb9
Compare
Choose a tag to compare

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 to codeql 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

20 Dec 16:59
e67d1c0
Compare
Choose a tag to compare

New features

  • A new extractor option has been added to the JavaScript/TypeScript extractor.
    Set the environment variable CODEQL_EXTRACTOR_JAVASCRIPT_OPTION_SKIP_TYPES
    to true 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 by codeql database analyze
    and codeql 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

11 Dec 16:47
Compare
Choose a tag to compare

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

22 Nov 12:57
68cfc1c
Compare
Choose a tag to compare

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 options always (which
    includes query help for all queries), custom_queries_only (the default) and never
    (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 of codeql 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 commands database 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

13 Nov 12:29
007d2a8
Compare
Choose a tag to compare

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 and codeql 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

19 Oct 15:39
Compare
Choose a tag to compare

Release 2.15.1 (2023-10-19)

Potentially Breaking Changes

  • The query server's evaluation/trimCache command was previously equivalent to the codeql 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.