CodeQL 2.6.3 (2021-10-06)¶
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, relevant GitHub Changelog updates, changes in the CodeQL extension for Visual Studio Code, and the CodeQL Action changelog.
Security Coverage¶
CodeQL 2.6.3 runs a total of 274 security queries when configured with the Default suite (covering 120 CWE). The Extended suite enables an additional 81 queries (covering 28 more CWE).
CodeQL CLI¶
Potentially Breaking Changes¶
The option
--compiler-specaccepted by some subcommands ofcodeql databaseis deprecated. It will be removed in a later version (earliest 2.7.0). If you need this option, please file a public issue in https://github.com/github/codeql-cli-binaries, or open a private ticket with GitHub support and request an escalation to engineering.By default, databases created using the CodeQL CLI will now have their underlying datasets finalized, meaning that no further data can be subsequently imported into them. This change should not affect most users.
The
codeql resolve qlrefcommand will now throw an error when the target is ambiguous. The qlref resolution rules are now as follows:If the target of a qlref is in the same qlpack, then that target is always returned.
If multiple targets of the qlref are found in dependent packs, this is an error.
Previously, the command would have arbitrarily chosen one of the targets and ignored any ambiguities.
Bug Fixes¶
Linux/MacOS: When tracing a build that involves an
execvp/execvpe(Linux-only)/posix_spawnpsyscall wherePATHwas not set in the environment, CodeQL sometimes would break the build. Now, CodeQL uses the correct, platform-specific fallback forPATHinstead.Linux/MacOS: When tracing a build that involves an
execvpe(Linux-only)/posix_spawnpsyscall, thePATHlookup of the executable wrongly took place in the environment provided viaenvp, instead of the environment of the process callingexecvpe/posix_spawnp. Now, the correct environment is used for thePATHlookup.A bug where query compilation would sometimes fail with a
StackOverflowErrorwhen compiling a query that usesinstanceofhas now been fixed.
New Features¶
The
codeql query compilecommand now accepts a--keep-goingor-koption, which indicates that the compiler should continue compiling queries even if one of the queries has a compile error in it.CLI commands now run default queries if none are specified. If no queries are specified, the
codeql database analyze,codeql database run-queries, andcodeql database interpret-resultscommands will now run the default suite for the language being analyzed.codeql pack publishnow copies the published package to the local package cache. In addition to publishing to a remote repository, thecodeql pack publishcommand will also copy the published package to the local package cache.