From de05aee483c204aa6da50fe6213c44c229748348 Mon Sep 17 00:00:00 2001 From: "REDMOND\\brodes" Date: Mon, 18 Nov 2024 11:11:25 -0500 Subject: [PATCH 01/46] Adding model transition to using Throwing.qll. --- .../raw/internal/TranslatedCall.qll | 4 +- .../cpp/models/implementations/Memcpy.qll | 4 +- .../cpp/models/implementations/Memset.qll | 4 +- .../implementations/NoexceptFunction.qll | 4 +- .../cpp/models/implementations/Printf.qll | 12 +++- .../cpp/models/implementations/Strcat.qll | 4 +- .../cpp/models/implementations/Strcpy.qll | 4 +- .../StructuredExceptionHandling.qll | 23 ++++++- .../cpp/models/interfaces/NonThrowing.qll | 11 --- .../code/cpp/models/interfaces/Throwing.qll | 69 +++++++++++++++++-- 10 files changed, 112 insertions(+), 27 deletions(-) delete mode 100644 cpp/ql/lib/semmle/code/cpp/models/interfaces/NonThrowing.qll diff --git a/cpp/ql/lib/semmle/code/cpp/ir/implementation/raw/internal/TranslatedCall.qll b/cpp/ql/lib/semmle/code/cpp/ir/implementation/raw/internal/TranslatedCall.qll index daa6bdaafcf..a4c67886959 100644 --- a/cpp/ql/lib/semmle/code/cpp/ir/implementation/raw/internal/TranslatedCall.qll +++ b/cpp/ql/lib/semmle/code/cpp/ir/implementation/raw/internal/TranslatedCall.qll @@ -363,11 +363,11 @@ class TranslatedFunctionCall extends TranslatedCallExpr, TranslatedDirectCall { } final override predicate mayThrowException() { - expr.getTarget().(ThrowingFunction).mayThrowException(_) + expr.getTarget().(ThrowingFunction).mayRaiseException() } final override predicate mustThrowException() { - expr.getTarget().(ThrowingFunction).mayThrowException(true) + expr.getTarget().(ThrowingFunction).alwaysRaisesException() } } diff --git a/cpp/ql/lib/semmle/code/cpp/models/implementations/Memcpy.qll b/cpp/ql/lib/semmle/code/cpp/models/implementations/Memcpy.qll index 0bf2dd31fe4..8c3ae368da9 100644 --- a/cpp/ql/lib/semmle/code/cpp/models/implementations/Memcpy.qll +++ b/cpp/ql/lib/semmle/code/cpp/models/implementations/Memcpy.qll @@ -9,7 +9,7 @@ import semmle.code.cpp.models.interfaces.DataFlow import semmle.code.cpp.models.interfaces.Alias import semmle.code.cpp.models.interfaces.SideEffect import semmle.code.cpp.models.interfaces.Taint -import semmle.code.cpp.models.interfaces.NonThrowing +import semmle.code.cpp.models.interfaces.Throwing /** * The standard functions `memcpy`, `memmove` and `bcopy`; and the gcc variant @@ -106,6 +106,8 @@ private class MemcpyFunction extends ArrayFunction, DataFlowFunction, SideEffect not this.hasGlobalName(["bcopy", mempcpy(), "memccpy"]) and index = this.getParamDest() } + + override TCxxException getExceptionType() { any() } } private string mempcpy() { result = ["mempcpy", "wmempcpy"] } diff --git a/cpp/ql/lib/semmle/code/cpp/models/implementations/Memset.qll b/cpp/ql/lib/semmle/code/cpp/models/implementations/Memset.qll index ab2e0af99f3..6a4ab8a133f 100644 --- a/cpp/ql/lib/semmle/code/cpp/models/implementations/Memset.qll +++ b/cpp/ql/lib/semmle/code/cpp/models/implementations/Memset.qll @@ -8,7 +8,7 @@ import semmle.code.cpp.models.interfaces.ArrayFunction import semmle.code.cpp.models.interfaces.DataFlow import semmle.code.cpp.models.interfaces.Alias import semmle.code.cpp.models.interfaces.SideEffect -import semmle.code.cpp.models.interfaces.NonThrowing +import semmle.code.cpp.models.interfaces.Throwing private class MemsetFunctionModel extends ArrayFunction, DataFlowFunction, AliasFunction, SideEffectFunction, NonThrowingFunction @@ -74,6 +74,8 @@ private class MemsetFunctionModel extends ArrayFunction, DataFlowFunction, Alias i = 0 and if this.hasGlobalName(bzero()) then result = 1 else result = 2 } + + override TCxxException getExceptionType() { any() } } private string bzero() { result = ["bzero", "explicit_bzero"] } diff --git a/cpp/ql/lib/semmle/code/cpp/models/implementations/NoexceptFunction.qll b/cpp/ql/lib/semmle/code/cpp/models/implementations/NoexceptFunction.qll index b0f76ee6538..ee05b2a68a0 100644 --- a/cpp/ql/lib/semmle/code/cpp/models/implementations/NoexceptFunction.qll +++ b/cpp/ql/lib/semmle/code/cpp/models/implementations/NoexceptFunction.qll @@ -1,4 +1,4 @@ -import semmle.code.cpp.models.interfaces.NonThrowing +import semmle.code.cpp.models.interfaces.Throwing /** * A function that is annotated with a `noexcept` specifier (or the equivalent @@ -8,4 +8,6 @@ import semmle.code.cpp.models.interfaces.NonThrowing */ class NoexceptFunction extends NonThrowingFunction { NoexceptFunction() { this.isNoExcept() or this.isNoThrow() } + + override TCxxException getExceptionType() { any() } } diff --git a/cpp/ql/lib/semmle/code/cpp/models/implementations/Printf.qll b/cpp/ql/lib/semmle/code/cpp/models/implementations/Printf.qll index 9c3bfb4f35e..7dbd38126bf 100644 --- a/cpp/ql/lib/semmle/code/cpp/models/implementations/Printf.qll +++ b/cpp/ql/lib/semmle/code/cpp/models/implementations/Printf.qll @@ -8,7 +8,7 @@ import semmle.code.cpp.models.interfaces.FormattingFunction import semmle.code.cpp.models.interfaces.Alias import semmle.code.cpp.models.interfaces.SideEffect -import semmle.code.cpp.models.interfaces.NonThrowing +import semmle.code.cpp.models.interfaces.Throwing /** * The standard functions `printf`, `wprintf` and their glib variants. @@ -32,6 +32,8 @@ private class Printf extends FormattingFunction, AliasFunction, NonThrowingFunct override predicate parameterEscapesOnlyViaReturn(int n) { none() } override predicate parameterIsAlwaysReturned(int n) { none() } + + override TCxxException getExceptionType() { any() } } /** @@ -50,6 +52,8 @@ private class Fprintf extends FormattingFunction, NonThrowingFunction { override int getFormatParameterIndex() { result = 1 } override int getOutputParameterIndex(boolean isStream) { result = 0 and isStream = true } + + override TCxxException getExceptionType() { any() } } /** @@ -93,6 +97,8 @@ private class Sprintf extends FormattingFunction, NonThrowingFunction { then result = 4 else result = super.getFirstFormatArgumentIndex() } + + override TCxxException getExceptionType() { any() } } /** @@ -165,6 +171,8 @@ private class SnprintfImpl extends Snprintf, AliasFunction, SideEffectFunction, // We don't know how many parameters are passed to the function since it's varargs, but they also have read side effects. i = this.getFormatParameterIndex() and buffer = true } + + override TCxxException getExceptionType() { any() } } /** @@ -215,4 +223,6 @@ private class Syslog extends FormattingFunction, NonThrowingFunction { override int getFormatParameterIndex() { result = 1 } override predicate isOutputGlobal() { any() } + + override TCxxException getExceptionType() { any() } } diff --git a/cpp/ql/lib/semmle/code/cpp/models/implementations/Strcat.qll b/cpp/ql/lib/semmle/code/cpp/models/implementations/Strcat.qll index 9b11ed0af15..df85c56148a 100644 --- a/cpp/ql/lib/semmle/code/cpp/models/implementations/Strcat.qll +++ b/cpp/ql/lib/semmle/code/cpp/models/implementations/Strcat.qll @@ -7,7 +7,7 @@ import semmle.code.cpp.models.interfaces.ArrayFunction import semmle.code.cpp.models.interfaces.DataFlow import semmle.code.cpp.models.interfaces.Taint import semmle.code.cpp.models.interfaces.SideEffect -import semmle.code.cpp.models.interfaces.NonThrowing +import semmle.code.cpp.models.interfaces.Throwing /** * The standard function `strcat` and its wide, sized, and Microsoft variants. @@ -94,6 +94,8 @@ class StrcatFunction extends TaintFunction, DataFlowFunction, ArrayFunction, Sid (i = 0 or i = 1) and buffer = true } + + override TCxxException getExceptionType() { any() } } /** diff --git a/cpp/ql/lib/semmle/code/cpp/models/implementations/Strcpy.qll b/cpp/ql/lib/semmle/code/cpp/models/implementations/Strcpy.qll index b7f06f0cebf..b09cbeb8dc6 100644 --- a/cpp/ql/lib/semmle/code/cpp/models/implementations/Strcpy.qll +++ b/cpp/ql/lib/semmle/code/cpp/models/implementations/Strcpy.qll @@ -7,7 +7,7 @@ import semmle.code.cpp.models.interfaces.ArrayFunction import semmle.code.cpp.models.interfaces.DataFlow import semmle.code.cpp.models.interfaces.Taint import semmle.code.cpp.models.interfaces.SideEffect -import semmle.code.cpp.models.interfaces.NonThrowing +import semmle.code.cpp.models.interfaces.Throwing /** * The standard function `strcpy` and its wide, sized, and Microsoft variants. @@ -145,4 +145,6 @@ class StrcpyFunction extends ArrayFunction, DataFlowFunction, TaintFunction, Sid i = this.getParamDest() and result = this.getParamSize() } + + override TCxxException getExceptionType() { any() } } diff --git a/cpp/ql/lib/semmle/code/cpp/models/implementations/StructuredExceptionHandling.qll b/cpp/ql/lib/semmle/code/cpp/models/implementations/StructuredExceptionHandling.qll index af8f3088f25..d5941488d0d 100644 --- a/cpp/ql/lib/semmle/code/cpp/models/implementations/StructuredExceptionHandling.qll +++ b/cpp/ql/lib/semmle/code/cpp/models/implementations/StructuredExceptionHandling.qll @@ -1,9 +1,26 @@ import semmle.code.cpp.models.interfaces.Throwing -class WindowsDriverFunction extends ThrowingFunction { - WindowsDriverFunction() { +/** + * The default behavior for Structured Exception Handling (SEH) is + * any function may (conditionally) raise an exception. + * NOTE: this can be overridden by for any specific function to make in + * unconditional or non-throwing. IR generation will enforce + * the most strict interpretation. + */ +class DefaultSehExceptionBehavior extends ThrowingFunction { + DefaultSehExceptionBehavior() { any() } + + override predicate raisesException(boolean unconditional) { unconditional = false } + + override TSehException getExceptionType() { any() } +} + +class WindowsDriverExceptionAnnotation extends ThrowingFunction { + WindowsDriverExceptionAnnotation() { this.hasGlobalName(["RaiseException", "ExRaiseAccessViolation", "ExRaiseDatatypeMisalignment"]) } - final override predicate mayThrowException(boolean unconditional) { unconditional = true } + override predicate raisesException(boolean unconditional) { unconditional = true } + + override TSehException getExceptionType() { any() } } diff --git a/cpp/ql/lib/semmle/code/cpp/models/interfaces/NonThrowing.qll b/cpp/ql/lib/semmle/code/cpp/models/interfaces/NonThrowing.qll deleted file mode 100644 index 64901d39ad3..00000000000 --- a/cpp/ql/lib/semmle/code/cpp/models/interfaces/NonThrowing.qll +++ /dev/null @@ -1,11 +0,0 @@ -/** - * Provides an abstract class for modeling functions that never throw. - */ - -import semmle.code.cpp.Function -import semmle.code.cpp.models.Models - -/** - * A function that is guaranteed to never throw. - */ -abstract class NonThrowingFunction extends Function { } diff --git a/cpp/ql/lib/semmle/code/cpp/models/interfaces/Throwing.qll b/cpp/ql/lib/semmle/code/cpp/models/interfaces/Throwing.qll index 79b7523f1d9..72db8c9e96c 100644 --- a/cpp/ql/lib/semmle/code/cpp/models/interfaces/Throwing.qll +++ b/cpp/ql/lib/semmle/code/cpp/models/interfaces/Throwing.qll @@ -11,12 +11,71 @@ import semmle.code.cpp.models.Models import semmle.code.cpp.models.interfaces.FunctionInputsAndOutputs /** - * A class that models the exceptional behavior of a function. + * Represents a type of exception, + * either Structured Exception Handling (SEH) or C++ exceptions. */ -abstract class ThrowingFunction extends Function { +newtype TException = + /** Structured Exception Handling (SEH) exception */ + TSehException() or + /** C++ exception */ + TCxxException() + +/** + * Functions with information about how an exception is thrown or if one is thrown at all. + * If throwing details conflict for the same function, IR is assumed + * to use the most restricted interpretation, meaning taking options + * that stipulate no exception is raised, before the exception is always raised, + * before conditional exceptions. + * + * Annotations must specify if the exception is from SEH (structured exception handling) + * or ordinary c++ exceptions. + */ +abstract private class ExceptionAnnotation extends Function { /** - * Holds if this function may throw an exception during evaluation. - * If `unconditional` is `true` the function always throws an exception. + * Returns the type of exception this annotation is for, + * either a CPP exception or a STructured Exception Handling (SEH) exception. */ - abstract predicate mayThrowException(boolean unconditional); + abstract TException getExceptionType(); + + /** + * Holds if the exception type of this annotation is for a Structured Exception Handling (SEH) exception. + */ + final predicate isSeh() { this.getExceptionType() = TSehException() } + + /** + * Holds if the exception type of this annotation is for a CPP exception. + */ + final predicate isCxx() { this.getExceptionType() = TCxxException() } +} + +/** + * A Function that is known to not throw an exception. + */ +abstract class NonThrowingFunction extends ExceptionAnnotation { } + +/** + * A function this is known to raise an exception. + */ +abstract class ThrowingFunction extends ExceptionAnnotation { + ThrowingFunction() { any() } + + /** + * Holds if this function may raise an exception during evaluation. + * If `unconditional` is `false` the function may raise, and if `true` the function + * will always raise an exception. + * Do not specify `none()` if no exception is raised, instead use the + * `NonThrowingFunction` class instead. + */ + abstract predicate raisesException(boolean unconditional); + + /** + * Holds if this function will always raise an exception if called + */ + final predicate alwaysRaisesException() { this.raisesException(true) } + + /** + * Holds if this function may raise an exception if called but + * it is not guaranteed to do so. I.e., the function does not always raise an exception. + */ + final predicate mayRaiseException() { this.raisesException(false) } } From 4b83a451bd0547bba0d6bd41750d4739fd7dd5e0 Mon Sep 17 00:00:00 2001 From: "REDMOND\\brodes" Date: Mon, 18 Nov 2024 11:14:46 -0500 Subject: [PATCH 02/46] Change log --- cpp/ql/lib/change-notes/2024-11-18-throwing-functions.md | 4 ++++ 1 file changed, 4 insertions(+) create mode 100644 cpp/ql/lib/change-notes/2024-11-18-throwing-functions.md diff --git a/cpp/ql/lib/change-notes/2024-11-18-throwing-functions.md b/cpp/ql/lib/change-notes/2024-11-18-throwing-functions.md new file mode 100644 index 00000000000..f3c33f40b51 --- /dev/null +++ b/cpp/ql/lib/change-notes/2024-11-18-throwing-functions.md @@ -0,0 +1,4 @@ +--- +category: minorAnalysis +--- +* Removed NonThrowing.qll. Throwing meta-data now part of Throwing.qll. Updated models and IR to use the new Throwing library and predicates. \ No newline at end of file From 792231c949154be6b003d86204df40478e23e600 Mon Sep 17 00:00:00 2001 From: "REDMOND\\brodes" Date: Mon, 18 Nov 2024 14:43:44 -0500 Subject: [PATCH 03/46] Removing SEH default case for function calls as the logic to handle SEH is not yet part of the IR generation to make this logic work. --- .../StructuredExceptionHandling.qll | 15 --------------- 1 file changed, 15 deletions(-) diff --git a/cpp/ql/lib/semmle/code/cpp/models/implementations/StructuredExceptionHandling.qll b/cpp/ql/lib/semmle/code/cpp/models/implementations/StructuredExceptionHandling.qll index d5941488d0d..485dc7137b8 100644 --- a/cpp/ql/lib/semmle/code/cpp/models/implementations/StructuredExceptionHandling.qll +++ b/cpp/ql/lib/semmle/code/cpp/models/implementations/StructuredExceptionHandling.qll @@ -1,20 +1,5 @@ import semmle.code.cpp.models.interfaces.Throwing -/** - * The default behavior for Structured Exception Handling (SEH) is - * any function may (conditionally) raise an exception. - * NOTE: this can be overridden by for any specific function to make in - * unconditional or non-throwing. IR generation will enforce - * the most strict interpretation. - */ -class DefaultSehExceptionBehavior extends ThrowingFunction { - DefaultSehExceptionBehavior() { any() } - - override predicate raisesException(boolean unconditional) { unconditional = false } - - override TSehException getExceptionType() { any() } -} - class WindowsDriverExceptionAnnotation extends ThrowingFunction { WindowsDriverExceptionAnnotation() { this.hasGlobalName(["RaiseException", "ExRaiseAccessViolation", "ExRaiseDatatypeMisalignment"]) From 1c874d32217994a6faae1d2a24d07d19a3a52af2 Mon Sep 17 00:00:00 2001 From: "REDMOND\\brodes" Date: Tue, 19 Nov 2024 10:04:11 -0500 Subject: [PATCH 04/46] Fixed usage raisesException --- .../cpp/ir/implementation/raw/internal/TranslatedCall.qll | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/cpp/ql/lib/semmle/code/cpp/ir/implementation/raw/internal/TranslatedCall.qll b/cpp/ql/lib/semmle/code/cpp/ir/implementation/raw/internal/TranslatedCall.qll index a4c67886959..5f1b2fbe3b4 100644 --- a/cpp/ql/lib/semmle/code/cpp/ir/implementation/raw/internal/TranslatedCall.qll +++ b/cpp/ql/lib/semmle/code/cpp/ir/implementation/raw/internal/TranslatedCall.qll @@ -363,11 +363,11 @@ class TranslatedFunctionCall extends TranslatedCallExpr, TranslatedDirectCall { } final override predicate mayThrowException() { - expr.getTarget().(ThrowingFunction).mayRaiseException() + expr.getTarget().(ThrowingFunction).raisesException(_) } final override predicate mustThrowException() { - expr.getTarget().(ThrowingFunction).alwaysRaisesException() + expr.getTarget().(ThrowingFunction).raisesException(true) } } From 9783a11565664df0963ab0c6298886fb9490e216 Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" Date: Tue, 19 Nov 2024 16:21:37 +0000 Subject: [PATCH 05/46] Release preparation for version 2.19.4 --- cpp/ql/lib/CHANGELOG.md | 6 ++++++ .../2.1.1.md} | 9 +++++---- cpp/ql/lib/codeql-pack.release.yml | 2 +- cpp/ql/lib/qlpack.yml | 2 +- cpp/ql/src/CHANGELOG.md | 4 ++++ cpp/ql/src/change-notes/released/1.2.7.md | 3 +++ cpp/ql/src/codeql-pack.release.yml | 2 +- cpp/ql/src/qlpack.yml | 2 +- csharp/ql/campaigns/Solorigate/lib/CHANGELOG.md | 4 ++++ .../Solorigate/lib/change-notes/released/1.7.29.md | 3 +++ .../campaigns/Solorigate/lib/codeql-pack.release.yml | 2 +- csharp/ql/campaigns/Solorigate/lib/qlpack.yml | 2 +- csharp/ql/campaigns/Solorigate/src/CHANGELOG.md | 4 ++++ .../Solorigate/src/change-notes/released/1.7.29.md | 3 +++ .../campaigns/Solorigate/src/codeql-pack.release.yml | 2 +- csharp/ql/campaigns/Solorigate/src/qlpack.yml | 2 +- csharp/ql/lib/CHANGELOG.md | 7 +++++++ .../lib/change-notes/2024-11-19-extractor-dotnet.md | 4 ---- .../3.1.1.md} | 8 +++++--- csharp/ql/lib/codeql-pack.release.yml | 2 +- csharp/ql/lib/qlpack.yml | 2 +- csharp/ql/src/CHANGELOG.md | 4 ++++ csharp/ql/src/change-notes/released/1.0.12.md | 3 +++ csharp/ql/src/codeql-pack.release.yml | 2 +- csharp/ql/src/qlpack.yml | 2 +- go/ql/consistency-queries/CHANGELOG.md | 4 ++++ .../change-notes/released/1.0.12.md | 3 +++ go/ql/consistency-queries/codeql-pack.release.yml | 2 +- go/ql/consistency-queries/qlpack.yml | 2 +- go/ql/lib/CHANGELOG.md | 11 +++++++++++ ...4-11-07-fix-missing-qualified-names-for-methods.md | 4 ---- .../2024-11-11-models-as-data-subtypes-column.md | 4 ---- .../2024-11-12-models-as-data-subtypes-true.md | 4 ---- go/ql/lib/change-notes/released/2.1.3.md | 10 ++++++++++ go/ql/lib/codeql-pack.release.yml | 2 +- go/ql/lib/qlpack.yml | 2 +- go/ql/src/CHANGELOG.md | 4 ++++ go/ql/src/change-notes/released/1.1.3.md | 3 +++ go/ql/src/codeql-pack.release.yml | 2 +- go/ql/src/qlpack.yml | 2 +- java/ql/automodel/src/CHANGELOG.md | 4 ++++ java/ql/automodel/src/change-notes/released/1.0.12.md | 3 +++ java/ql/automodel/src/codeql-pack.release.yml | 2 +- java/ql/automodel/src/qlpack.yml | 2 +- java/ql/lib/CHANGELOG.md | 6 ++++++ .../4.2.1.md} | 7 ++++--- java/ql/lib/codeql-pack.release.yml | 2 +- java/ql/lib/qlpack.yml | 2 +- java/ql/src/CHANGELOG.md | 4 ++++ java/ql/src/change-notes/released/1.1.9.md | 3 +++ java/ql/src/codeql-pack.release.yml | 2 +- java/ql/src/qlpack.yml | 2 +- javascript/ql/lib/CHANGELOG.md | 11 +++++++++++ .../lib/change-notes/2024-11-11-matchAll-support.md | 4 ---- .../ql/lib/change-notes/2024-11-11-reserve-support.md | 4 ---- .../2024-11-12-immutable-array-operations.md | 5 ----- .../lib/change-notes/2024-11-15-toSpliced-support.md | 4 ---- .../2024-11-18-ES2023-array-protype-with.md | 4 ---- javascript/ql/lib/change-notes/released/2.1.1.md | 10 ++++++++++ javascript/ql/lib/codeql-pack.release.yml | 2 +- javascript/ql/lib/qlpack.yml | 2 +- javascript/ql/src/CHANGELOG.md | 4 ++++ javascript/ql/src/change-notes/released/1.2.4.md | 3 +++ javascript/ql/src/codeql-pack.release.yml | 2 +- javascript/ql/src/qlpack.yml | 2 +- misc/suite-helpers/CHANGELOG.md | 4 ++++ misc/suite-helpers/change-notes/released/1.0.12.md | 3 +++ misc/suite-helpers/codeql-pack.release.yml | 2 +- misc/suite-helpers/qlpack.yml | 2 +- python/ql/lib/CHANGELOG.md | 6 ++++++ python/ql/lib/change-notes/2024-08-30-bottle.md | 4 ---- python/ql/lib/change-notes/released/2.2.0.md | 5 +++++ python/ql/lib/codeql-pack.release.yml | 2 +- python/ql/lib/qlpack.yml | 2 +- python/ql/src/CHANGELOG.md | 4 ++++ python/ql/src/change-notes/released/1.3.3.md | 3 +++ python/ql/src/codeql-pack.release.yml | 2 +- python/ql/src/qlpack.yml | 2 +- ruby/ql/lib/CHANGELOG.md | 4 ++++ ruby/ql/lib/change-notes/released/2.0.4.md | 3 +++ ruby/ql/lib/codeql-pack.release.yml | 2 +- ruby/ql/lib/qlpack.yml | 2 +- ruby/ql/src/CHANGELOG.md | 4 ++++ ruby/ql/src/change-notes/released/1.1.7.md | 3 +++ ruby/ql/src/codeql-pack.release.yml | 2 +- ruby/ql/src/qlpack.yml | 2 +- shared/controlflow/CHANGELOG.md | 4 ++++ shared/controlflow/change-notes/released/1.0.12.md | 3 +++ shared/controlflow/codeql-pack.release.yml | 2 +- shared/controlflow/qlpack.yml | 2 +- shared/dataflow/CHANGELOG.md | 4 ++++ shared/dataflow/change-notes/released/1.1.6.md | 3 +++ shared/dataflow/codeql-pack.release.yml | 2 +- shared/dataflow/qlpack.yml | 2 +- shared/mad/CHANGELOG.md | 4 ++++ shared/mad/change-notes/released/1.0.12.md | 3 +++ shared/mad/codeql-pack.release.yml | 2 +- shared/mad/qlpack.yml | 2 +- shared/rangeanalysis/CHANGELOG.md | 4 ++++ shared/rangeanalysis/change-notes/released/1.0.12.md | 3 +++ shared/rangeanalysis/codeql-pack.release.yml | 2 +- shared/rangeanalysis/qlpack.yml | 2 +- shared/regex/CHANGELOG.md | 4 ++++ shared/regex/change-notes/released/1.0.12.md | 3 +++ shared/regex/codeql-pack.release.yml | 2 +- shared/regex/qlpack.yml | 2 +- shared/ssa/CHANGELOG.md | 4 ++++ shared/ssa/change-notes/released/1.0.12.md | 3 +++ shared/ssa/codeql-pack.release.yml | 2 +- shared/ssa/qlpack.yml | 2 +- shared/threat-models/CHANGELOG.md | 4 ++++ shared/threat-models/change-notes/released/1.0.12.md | 3 +++ shared/threat-models/codeql-pack.release.yml | 2 +- shared/threat-models/qlpack.yml | 2 +- shared/tutorial/CHANGELOG.md | 4 ++++ shared/tutorial/change-notes/released/1.0.12.md | 3 +++ shared/tutorial/codeql-pack.release.yml | 2 +- shared/tutorial/qlpack.yml | 2 +- shared/typeflow/CHANGELOG.md | 4 ++++ shared/typeflow/change-notes/released/1.0.12.md | 3 +++ shared/typeflow/codeql-pack.release.yml | 2 +- shared/typeflow/qlpack.yml | 2 +- shared/typetracking/CHANGELOG.md | 4 ++++ shared/typetracking/change-notes/released/1.0.12.md | 3 +++ shared/typetracking/codeql-pack.release.yml | 2 +- shared/typetracking/qlpack.yml | 2 +- shared/typos/CHANGELOG.md | 4 ++++ shared/typos/change-notes/released/1.0.12.md | 3 +++ shared/typos/codeql-pack.release.yml | 2 +- shared/typos/qlpack.yml | 2 +- shared/util/CHANGELOG.md | 4 ++++ shared/util/change-notes/released/1.0.12.md | 3 +++ shared/util/codeql-pack.release.yml | 2 +- shared/util/qlpack.yml | 2 +- shared/xml/CHANGELOG.md | 4 ++++ shared/xml/change-notes/released/1.0.12.md | 3 +++ shared/xml/codeql-pack.release.yml | 2 +- shared/xml/qlpack.yml | 2 +- shared/yaml/CHANGELOG.md | 4 ++++ shared/yaml/change-notes/released/1.0.12.md | 3 +++ shared/yaml/codeql-pack.release.yml | 2 +- shared/yaml/qlpack.yml | 2 +- swift/ql/lib/CHANGELOG.md | 4 ++++ swift/ql/lib/change-notes/released/2.0.4.md | 3 +++ swift/ql/lib/codeql-pack.release.yml | 2 +- swift/ql/lib/qlpack.yml | 2 +- swift/ql/src/CHANGELOG.md | 4 ++++ swift/ql/src/change-notes/released/1.0.12.md | 3 +++ swift/ql/src/codeql-pack.release.yml | 2 +- swift/ql/src/qlpack.yml | 2 +- 150 files changed, 359 insertions(+), 121 deletions(-) rename cpp/ql/lib/change-notes/{2024-11-18-guard-conditions.md => released/2.1.1.md} (65%) create mode 100644 cpp/ql/src/change-notes/released/1.2.7.md create mode 100644 csharp/ql/campaigns/Solorigate/lib/change-notes/released/1.7.29.md create mode 100644 csharp/ql/campaigns/Solorigate/src/change-notes/released/1.7.29.md delete mode 100644 csharp/ql/lib/change-notes/2024-11-19-extractor-dotnet.md rename csharp/ql/lib/change-notes/{2024-11-07-net8-runtime-models.md => released/3.1.1.md} (51%) create mode 100644 csharp/ql/src/change-notes/released/1.0.12.md create mode 100644 go/ql/consistency-queries/change-notes/released/1.0.12.md delete mode 100644 go/ql/lib/change-notes/2024-11-07-fix-missing-qualified-names-for-methods.md delete mode 100644 go/ql/lib/change-notes/2024-11-11-models-as-data-subtypes-column.md delete mode 100644 go/ql/lib/change-notes/2024-11-12-models-as-data-subtypes-true.md create mode 100644 go/ql/lib/change-notes/released/2.1.3.md create mode 100644 go/ql/src/change-notes/released/1.1.3.md create mode 100644 java/ql/automodel/src/change-notes/released/1.0.12.md rename java/ql/lib/change-notes/{2024-11-14-unreachable-basic-block-in-constant-switch-statement.md => released/4.2.1.md} (83%) create mode 100644 java/ql/src/change-notes/released/1.1.9.md delete mode 100644 javascript/ql/lib/change-notes/2024-11-11-matchAll-support.md delete mode 100644 javascript/ql/lib/change-notes/2024-11-11-reserve-support.md delete mode 100644 javascript/ql/lib/change-notes/2024-11-12-immutable-array-operations.md delete mode 100644 javascript/ql/lib/change-notes/2024-11-15-toSpliced-support.md delete mode 100644 javascript/ql/lib/change-notes/2024-11-18-ES2023-array-protype-with.md create mode 100644 javascript/ql/lib/change-notes/released/2.1.1.md create mode 100644 javascript/ql/src/change-notes/released/1.2.4.md create mode 100644 misc/suite-helpers/change-notes/released/1.0.12.md delete mode 100644 python/ql/lib/change-notes/2024-08-30-bottle.md create mode 100644 python/ql/lib/change-notes/released/2.2.0.md create mode 100644 python/ql/src/change-notes/released/1.3.3.md create mode 100644 ruby/ql/lib/change-notes/released/2.0.4.md create mode 100644 ruby/ql/src/change-notes/released/1.1.7.md create mode 100644 shared/controlflow/change-notes/released/1.0.12.md create mode 100644 shared/dataflow/change-notes/released/1.1.6.md create mode 100644 shared/mad/change-notes/released/1.0.12.md create mode 100644 shared/rangeanalysis/change-notes/released/1.0.12.md create mode 100644 shared/regex/change-notes/released/1.0.12.md create mode 100644 shared/ssa/change-notes/released/1.0.12.md create mode 100644 shared/threat-models/change-notes/released/1.0.12.md create mode 100644 shared/tutorial/change-notes/released/1.0.12.md create mode 100644 shared/typeflow/change-notes/released/1.0.12.md create mode 100644 shared/typetracking/change-notes/released/1.0.12.md create mode 100644 shared/typos/change-notes/released/1.0.12.md create mode 100644 shared/util/change-notes/released/1.0.12.md create mode 100644 shared/xml/change-notes/released/1.0.12.md create mode 100644 shared/yaml/change-notes/released/1.0.12.md create mode 100644 swift/ql/lib/change-notes/released/2.0.4.md create mode 100644 swift/ql/src/change-notes/released/1.0.12.md diff --git a/cpp/ql/lib/CHANGELOG.md b/cpp/ql/lib/CHANGELOG.md index 0536c1c361b..077d4847afd 100644 --- a/cpp/ql/lib/CHANGELOG.md +++ b/cpp/ql/lib/CHANGELOG.md @@ -1,3 +1,9 @@ +## 2.1.1 + +### Minor Analysis Improvements + +* The `Guards` library (`semmle.code.cpp.controlflow.Guards`) has been improved to recognize more guard conditions. Additionally, the guards library no longer considers guards in static local initializers or global initializers as `GuardCondition`s. + ## 2.1.0 ### New Features diff --git a/cpp/ql/lib/change-notes/2024-11-18-guard-conditions.md b/cpp/ql/lib/change-notes/released/2.1.1.md similarity index 65% rename from cpp/ql/lib/change-notes/2024-11-18-guard-conditions.md rename to cpp/ql/lib/change-notes/released/2.1.1.md index 8fb914bf51b..39acc1a585f 100644 --- a/cpp/ql/lib/change-notes/2024-11-18-guard-conditions.md +++ b/cpp/ql/lib/change-notes/released/2.1.1.md @@ -1,4 +1,5 @@ ---- -category: minorAnalysis ---- -* The `Guards` library (`semmle.code.cpp.controlflow.Guards`) has been improved to recognize more guard conditions. Additionally, the guards library no longer considers guards in static local initializers or global initializers as `GuardCondition`s. \ No newline at end of file +## 2.1.1 + +### Minor Analysis Improvements + +* The `Guards` library (`semmle.code.cpp.controlflow.Guards`) has been improved to recognize more guard conditions. Additionally, the guards library no longer considers guards in static local initializers or global initializers as `GuardCondition`s. diff --git a/cpp/ql/lib/codeql-pack.release.yml b/cpp/ql/lib/codeql-pack.release.yml index 487a1a58b2b..576c2ea18d6 100644 --- a/cpp/ql/lib/codeql-pack.release.yml +++ b/cpp/ql/lib/codeql-pack.release.yml @@ -1,2 +1,2 @@ --- -lastReleaseVersion: 2.1.0 +lastReleaseVersion: 2.1.1 diff --git a/cpp/ql/lib/qlpack.yml b/cpp/ql/lib/qlpack.yml index 397a56ac535..74b97808dc2 100644 --- a/cpp/ql/lib/qlpack.yml +++ b/cpp/ql/lib/qlpack.yml @@ -1,5 +1,5 @@ name: codeql/cpp-all -version: 2.1.1-dev +version: 2.1.1 groups: cpp dbscheme: semmlecode.cpp.dbscheme extractor: cpp diff --git a/cpp/ql/src/CHANGELOG.md b/cpp/ql/src/CHANGELOG.md index 4098bcf4d20..5bb266bdd64 100644 --- a/cpp/ql/src/CHANGELOG.md +++ b/cpp/ql/src/CHANGELOG.md @@ -1,3 +1,7 @@ +## 1.2.7 + +No user-facing changes. + ## 1.2.6 ### Minor Analysis Improvements diff --git a/cpp/ql/src/change-notes/released/1.2.7.md b/cpp/ql/src/change-notes/released/1.2.7.md new file mode 100644 index 00000000000..99f957692ac --- /dev/null +++ b/cpp/ql/src/change-notes/released/1.2.7.md @@ -0,0 +1,3 @@ +## 1.2.7 + +No user-facing changes. diff --git a/cpp/ql/src/codeql-pack.release.yml b/cpp/ql/src/codeql-pack.release.yml index 24962f7ba24..950e0645d4a 100644 --- a/cpp/ql/src/codeql-pack.release.yml +++ b/cpp/ql/src/codeql-pack.release.yml @@ -1,2 +1,2 @@ --- -lastReleaseVersion: 1.2.6 +lastReleaseVersion: 1.2.7 diff --git a/cpp/ql/src/qlpack.yml b/cpp/ql/src/qlpack.yml index 7059965615a..06b63fc6d45 100644 --- a/cpp/ql/src/qlpack.yml +++ b/cpp/ql/src/qlpack.yml @@ -1,5 +1,5 @@ name: codeql/cpp-queries -version: 1.2.7-dev +version: 1.2.7 groups: - cpp - queries diff --git a/csharp/ql/campaigns/Solorigate/lib/CHANGELOG.md b/csharp/ql/campaigns/Solorigate/lib/CHANGELOG.md index 7b5cb257096..93e737ae669 100644 --- a/csharp/ql/campaigns/Solorigate/lib/CHANGELOG.md +++ b/csharp/ql/campaigns/Solorigate/lib/CHANGELOG.md @@ -1,3 +1,7 @@ +## 1.7.29 + +No user-facing changes. + ## 1.7.28 No user-facing changes. diff --git a/csharp/ql/campaigns/Solorigate/lib/change-notes/released/1.7.29.md b/csharp/ql/campaigns/Solorigate/lib/change-notes/released/1.7.29.md new file mode 100644 index 00000000000..6ff68866478 --- /dev/null +++ b/csharp/ql/campaigns/Solorigate/lib/change-notes/released/1.7.29.md @@ -0,0 +1,3 @@ +## 1.7.29 + +No user-facing changes. diff --git a/csharp/ql/campaigns/Solorigate/lib/codeql-pack.release.yml b/csharp/ql/campaigns/Solorigate/lib/codeql-pack.release.yml index ff17fbaf982..34100d3ad64 100644 --- a/csharp/ql/campaigns/Solorigate/lib/codeql-pack.release.yml +++ b/csharp/ql/campaigns/Solorigate/lib/codeql-pack.release.yml @@ -1,2 +1,2 @@ --- -lastReleaseVersion: 1.7.28 +lastReleaseVersion: 1.7.29 diff --git a/csharp/ql/campaigns/Solorigate/lib/qlpack.yml b/csharp/ql/campaigns/Solorigate/lib/qlpack.yml index cccebfc4f3f..59289e3ddb1 100644 --- a/csharp/ql/campaigns/Solorigate/lib/qlpack.yml +++ b/csharp/ql/campaigns/Solorigate/lib/qlpack.yml @@ -1,5 +1,5 @@ name: codeql/csharp-solorigate-all -version: 1.7.29-dev +version: 1.7.29 groups: - csharp - solorigate diff --git a/csharp/ql/campaigns/Solorigate/src/CHANGELOG.md b/csharp/ql/campaigns/Solorigate/src/CHANGELOG.md index 7b5cb257096..93e737ae669 100644 --- a/csharp/ql/campaigns/Solorigate/src/CHANGELOG.md +++ b/csharp/ql/campaigns/Solorigate/src/CHANGELOG.md @@ -1,3 +1,7 @@ +## 1.7.29 + +No user-facing changes. + ## 1.7.28 No user-facing changes. diff --git a/csharp/ql/campaigns/Solorigate/src/change-notes/released/1.7.29.md b/csharp/ql/campaigns/Solorigate/src/change-notes/released/1.7.29.md new file mode 100644 index 00000000000..6ff68866478 --- /dev/null +++ b/csharp/ql/campaigns/Solorigate/src/change-notes/released/1.7.29.md @@ -0,0 +1,3 @@ +## 1.7.29 + +No user-facing changes. diff --git a/csharp/ql/campaigns/Solorigate/src/codeql-pack.release.yml b/csharp/ql/campaigns/Solorigate/src/codeql-pack.release.yml index ff17fbaf982..34100d3ad64 100644 --- a/csharp/ql/campaigns/Solorigate/src/codeql-pack.release.yml +++ b/csharp/ql/campaigns/Solorigate/src/codeql-pack.release.yml @@ -1,2 +1,2 @@ --- -lastReleaseVersion: 1.7.28 +lastReleaseVersion: 1.7.29 diff --git a/csharp/ql/campaigns/Solorigate/src/qlpack.yml b/csharp/ql/campaigns/Solorigate/src/qlpack.yml index 4e5b51ed11a..19e34e504e4 100644 --- a/csharp/ql/campaigns/Solorigate/src/qlpack.yml +++ b/csharp/ql/campaigns/Solorigate/src/qlpack.yml @@ -1,5 +1,5 @@ name: codeql/csharp-solorigate-queries -version: 1.7.29-dev +version: 1.7.29 groups: - csharp - solorigate diff --git a/csharp/ql/lib/CHANGELOG.md b/csharp/ql/lib/CHANGELOG.md index 39a75db1b5f..c76569e4ab3 100644 --- a/csharp/ql/lib/CHANGELOG.md +++ b/csharp/ql/lib/CHANGELOG.md @@ -1,3 +1,10 @@ +## 3.1.1 + +### Minor Analysis Improvements + +* .NET 9 is now required to build the C# extractor. +* The Models as Data models for .NET 8 Runtime now include generated models for higher order methods. + ## 3.1.0 ### Major Analysis Improvements diff --git a/csharp/ql/lib/change-notes/2024-11-19-extractor-dotnet.md b/csharp/ql/lib/change-notes/2024-11-19-extractor-dotnet.md deleted file mode 100644 index 58185aa0b0e..00000000000 --- a/csharp/ql/lib/change-notes/2024-11-19-extractor-dotnet.md +++ /dev/null @@ -1,4 +0,0 @@ ---- -category: minorAnalysis ---- -* .NET 9 is now required to build the C# extractor. diff --git a/csharp/ql/lib/change-notes/2024-11-07-net8-runtime-models.md b/csharp/ql/lib/change-notes/released/3.1.1.md similarity index 51% rename from csharp/ql/lib/change-notes/2024-11-07-net8-runtime-models.md rename to csharp/ql/lib/change-notes/released/3.1.1.md index 89574208e40..a2a912341fe 100644 --- a/csharp/ql/lib/change-notes/2024-11-07-net8-runtime-models.md +++ b/csharp/ql/lib/change-notes/released/3.1.1.md @@ -1,4 +1,6 @@ ---- -category: minorAnalysis ---- +## 3.1.1 + +### Minor Analysis Improvements + +* .NET 9 is now required to build the C# extractor. * The Models as Data models for .NET 8 Runtime now include generated models for higher order methods. diff --git a/csharp/ql/lib/codeql-pack.release.yml b/csharp/ql/lib/codeql-pack.release.yml index 82f62960aa3..c06beda86a3 100644 --- a/csharp/ql/lib/codeql-pack.release.yml +++ b/csharp/ql/lib/codeql-pack.release.yml @@ -1,2 +1,2 @@ --- -lastReleaseVersion: 3.1.0 +lastReleaseVersion: 3.1.1 diff --git a/csharp/ql/lib/qlpack.yml b/csharp/ql/lib/qlpack.yml index f750b06e392..a3f9aedf516 100644 --- a/csharp/ql/lib/qlpack.yml +++ b/csharp/ql/lib/qlpack.yml @@ -1,5 +1,5 @@ name: codeql/csharp-all -version: 3.1.1-dev +version: 3.1.1 groups: csharp dbscheme: semmlecode.csharp.dbscheme extractor: csharp diff --git a/csharp/ql/src/CHANGELOG.md b/csharp/ql/src/CHANGELOG.md index fe0765a3b18..99528b54e9e 100644 --- a/csharp/ql/src/CHANGELOG.md +++ b/csharp/ql/src/CHANGELOG.md @@ -1,3 +1,7 @@ +## 1.0.12 + +No user-facing changes. + ## 1.0.11 ### Minor Analysis Improvements diff --git a/csharp/ql/src/change-notes/released/1.0.12.md b/csharp/ql/src/change-notes/released/1.0.12.md new file mode 100644 index 00000000000..12b3cf3e18f --- /dev/null +++ b/csharp/ql/src/change-notes/released/1.0.12.md @@ -0,0 +1,3 @@ +## 1.0.12 + +No user-facing changes. diff --git a/csharp/ql/src/codeql-pack.release.yml b/csharp/ql/src/codeql-pack.release.yml index 56a2fb38872..2036690b201 100644 --- a/csharp/ql/src/codeql-pack.release.yml +++ b/csharp/ql/src/codeql-pack.release.yml @@ -1,2 +1,2 @@ --- -lastReleaseVersion: 1.0.11 +lastReleaseVersion: 1.0.12 diff --git a/csharp/ql/src/qlpack.yml b/csharp/ql/src/qlpack.yml index b861524e144..dc99bd4768a 100644 --- a/csharp/ql/src/qlpack.yml +++ b/csharp/ql/src/qlpack.yml @@ -1,5 +1,5 @@ name: codeql/csharp-queries -version: 1.0.12-dev +version: 1.0.12 groups: - csharp - queries diff --git a/go/ql/consistency-queries/CHANGELOG.md b/go/ql/consistency-queries/CHANGELOG.md index 1c514d078a2..eeb6b0a262a 100644 --- a/go/ql/consistency-queries/CHANGELOG.md +++ b/go/ql/consistency-queries/CHANGELOG.md @@ -1,3 +1,7 @@ +## 1.0.12 + +No user-facing changes. + ## 1.0.11 No user-facing changes. diff --git a/go/ql/consistency-queries/change-notes/released/1.0.12.md b/go/ql/consistency-queries/change-notes/released/1.0.12.md new file mode 100644 index 00000000000..12b3cf3e18f --- /dev/null +++ b/go/ql/consistency-queries/change-notes/released/1.0.12.md @@ -0,0 +1,3 @@ +## 1.0.12 + +No user-facing changes. diff --git a/go/ql/consistency-queries/codeql-pack.release.yml b/go/ql/consistency-queries/codeql-pack.release.yml index 56a2fb38872..2036690b201 100644 --- a/go/ql/consistency-queries/codeql-pack.release.yml +++ b/go/ql/consistency-queries/codeql-pack.release.yml @@ -1,2 +1,2 @@ --- -lastReleaseVersion: 1.0.11 +lastReleaseVersion: 1.0.12 diff --git a/go/ql/consistency-queries/qlpack.yml b/go/ql/consistency-queries/qlpack.yml index b7c67080f46..b9e67ea6137 100644 --- a/go/ql/consistency-queries/qlpack.yml +++ b/go/ql/consistency-queries/qlpack.yml @@ -1,5 +1,5 @@ name: codeql-go-consistency-queries -version: 1.0.12-dev +version: 1.0.12 groups: - go - queries diff --git a/go/ql/lib/CHANGELOG.md b/go/ql/lib/CHANGELOG.md index 37f83fa8dda..b2eb3cbb239 100644 --- a/go/ql/lib/CHANGELOG.md +++ b/go/ql/lib/CHANGELOG.md @@ -1,3 +1,14 @@ +## 2.1.3 + +### Minor Analysis Improvements + +* The `subtypes` column has been set to true in all models-as-data models except some tests. This means that existing models will apply in some cases where they didn't before, which may lead to more alerts. + +### Bug Fixes + +* The behaviour of the `subtypes` column in models-as-data now matches other languages more closely. +* Fixed a bug which meant that some qualified names for promoted methods were not being recognised in some very specific circumstances. + ## 2.1.2 ### Minor Analysis Improvements diff --git a/go/ql/lib/change-notes/2024-11-07-fix-missing-qualified-names-for-methods.md b/go/ql/lib/change-notes/2024-11-07-fix-missing-qualified-names-for-methods.md deleted file mode 100644 index cd2dbb6c974..00000000000 --- a/go/ql/lib/change-notes/2024-11-07-fix-missing-qualified-names-for-methods.md +++ /dev/null @@ -1,4 +0,0 @@ ---- -category: fix ---- -* Fixed a bug which meant that some qualified names for promoted methods were not being recognised in some very specific circumstances. diff --git a/go/ql/lib/change-notes/2024-11-11-models-as-data-subtypes-column.md b/go/ql/lib/change-notes/2024-11-11-models-as-data-subtypes-column.md deleted file mode 100644 index 25115f74d71..00000000000 --- a/go/ql/lib/change-notes/2024-11-11-models-as-data-subtypes-column.md +++ /dev/null @@ -1,4 +0,0 @@ ---- -category: fix ---- -* The behaviour of the `subtypes` column in models-as-data now matches other languages more closely. diff --git a/go/ql/lib/change-notes/2024-11-12-models-as-data-subtypes-true.md b/go/ql/lib/change-notes/2024-11-12-models-as-data-subtypes-true.md deleted file mode 100644 index b1c78815ea3..00000000000 --- a/go/ql/lib/change-notes/2024-11-12-models-as-data-subtypes-true.md +++ /dev/null @@ -1,4 +0,0 @@ ---- -category: minorAnalysis ---- -* The `subtypes` column has been set to true in all models-as-data models except some tests. This means that existing models will apply in some cases where they didn't before, which may lead to more alerts. diff --git a/go/ql/lib/change-notes/released/2.1.3.md b/go/ql/lib/change-notes/released/2.1.3.md new file mode 100644 index 00000000000..3ae1f19fb36 --- /dev/null +++ b/go/ql/lib/change-notes/released/2.1.3.md @@ -0,0 +1,10 @@ +## 2.1.3 + +### Minor Analysis Improvements + +* The `subtypes` column has been set to true in all models-as-data models except some tests. This means that existing models will apply in some cases where they didn't before, which may lead to more alerts. + +### Bug Fixes + +* The behaviour of the `subtypes` column in models-as-data now matches other languages more closely. +* Fixed a bug which meant that some qualified names for promoted methods were not being recognised in some very specific circumstances. diff --git a/go/ql/lib/codeql-pack.release.yml b/go/ql/lib/codeql-pack.release.yml index 1a4e53e8772..345fb0c73a4 100644 --- a/go/ql/lib/codeql-pack.release.yml +++ b/go/ql/lib/codeql-pack.release.yml @@ -1,2 +1,2 @@ --- -lastReleaseVersion: 2.1.2 +lastReleaseVersion: 2.1.3 diff --git a/go/ql/lib/qlpack.yml b/go/ql/lib/qlpack.yml index f9660516373..0e6da37dea1 100644 --- a/go/ql/lib/qlpack.yml +++ b/go/ql/lib/qlpack.yml @@ -1,5 +1,5 @@ name: codeql/go-all -version: 2.1.3-dev +version: 2.1.3 groups: go dbscheme: go.dbscheme extractor: go diff --git a/go/ql/src/CHANGELOG.md b/go/ql/src/CHANGELOG.md index 0e276fda741..c529cbffb32 100644 --- a/go/ql/src/CHANGELOG.md +++ b/go/ql/src/CHANGELOG.md @@ -1,3 +1,7 @@ +## 1.1.3 + +No user-facing changes. + ## 1.1.2 No user-facing changes. diff --git a/go/ql/src/change-notes/released/1.1.3.md b/go/ql/src/change-notes/released/1.1.3.md new file mode 100644 index 00000000000..e8f1701bd62 --- /dev/null +++ b/go/ql/src/change-notes/released/1.1.3.md @@ -0,0 +1,3 @@ +## 1.1.3 + +No user-facing changes. diff --git a/go/ql/src/codeql-pack.release.yml b/go/ql/src/codeql-pack.release.yml index 53ab127707f..35e710ab1bf 100644 --- a/go/ql/src/codeql-pack.release.yml +++ b/go/ql/src/codeql-pack.release.yml @@ -1,2 +1,2 @@ --- -lastReleaseVersion: 1.1.2 +lastReleaseVersion: 1.1.3 diff --git a/go/ql/src/qlpack.yml b/go/ql/src/qlpack.yml index 68bac4cf1a9..af130fa6acf 100644 --- a/go/ql/src/qlpack.yml +++ b/go/ql/src/qlpack.yml @@ -1,5 +1,5 @@ name: codeql/go-queries -version: 1.1.3-dev +version: 1.1.3 groups: - go - queries diff --git a/java/ql/automodel/src/CHANGELOG.md b/java/ql/automodel/src/CHANGELOG.md index 148791b5923..1564285b44b 100644 --- a/java/ql/automodel/src/CHANGELOG.md +++ b/java/ql/automodel/src/CHANGELOG.md @@ -1,3 +1,7 @@ +## 1.0.12 + +No user-facing changes. + ## 1.0.11 No user-facing changes. diff --git a/java/ql/automodel/src/change-notes/released/1.0.12.md b/java/ql/automodel/src/change-notes/released/1.0.12.md new file mode 100644 index 00000000000..12b3cf3e18f --- /dev/null +++ b/java/ql/automodel/src/change-notes/released/1.0.12.md @@ -0,0 +1,3 @@ +## 1.0.12 + +No user-facing changes. diff --git a/java/ql/automodel/src/codeql-pack.release.yml b/java/ql/automodel/src/codeql-pack.release.yml index 56a2fb38872..2036690b201 100644 --- a/java/ql/automodel/src/codeql-pack.release.yml +++ b/java/ql/automodel/src/codeql-pack.release.yml @@ -1,2 +1,2 @@ --- -lastReleaseVersion: 1.0.11 +lastReleaseVersion: 1.0.12 diff --git a/java/ql/automodel/src/qlpack.yml b/java/ql/automodel/src/qlpack.yml index 4acf2219db3..fc5ad003511 100644 --- a/java/ql/automodel/src/qlpack.yml +++ b/java/ql/automodel/src/qlpack.yml @@ -1,5 +1,5 @@ name: codeql/java-automodel-queries -version: 1.0.12-dev +version: 1.0.12 groups: - java - automodel diff --git a/java/ql/lib/CHANGELOG.md b/java/ql/lib/CHANGELOG.md index cddb86232c4..990fea9ddd7 100644 --- a/java/ql/lib/CHANGELOG.md +++ b/java/ql/lib/CHANGELOG.md @@ -1,3 +1,9 @@ +## 4.2.1 + +### Minor Analysis Improvements + +* In a switch statement with a constant switch expression, all non-matching cases were being marked as unreachable, including those that can be reached by falling through from the matching case. This has now been fixed. + ## 4.2.0 ### Major Analysis Improvements diff --git a/java/ql/lib/change-notes/2024-11-14-unreachable-basic-block-in-constant-switch-statement.md b/java/ql/lib/change-notes/released/4.2.1.md similarity index 83% rename from java/ql/lib/change-notes/2024-11-14-unreachable-basic-block-in-constant-switch-statement.md rename to java/ql/lib/change-notes/released/4.2.1.md index 50df55a4c1a..6fb31df9177 100644 --- a/java/ql/lib/change-notes/2024-11-14-unreachable-basic-block-in-constant-switch-statement.md +++ b/java/ql/lib/change-notes/released/4.2.1.md @@ -1,4 +1,5 @@ ---- -category: minorAnalysis ---- +## 4.2.1 + +### Minor Analysis Improvements + * In a switch statement with a constant switch expression, all non-matching cases were being marked as unreachable, including those that can be reached by falling through from the matching case. This has now been fixed. diff --git a/java/ql/lib/codeql-pack.release.yml b/java/ql/lib/codeql-pack.release.yml index 9fc6933b429..38ea9976fcc 100644 --- a/java/ql/lib/codeql-pack.release.yml +++ b/java/ql/lib/codeql-pack.release.yml @@ -1,2 +1,2 @@ --- -lastReleaseVersion: 4.2.0 +lastReleaseVersion: 4.2.1 diff --git a/java/ql/lib/qlpack.yml b/java/ql/lib/qlpack.yml index cc639056e4e..0e8d80fe435 100644 --- a/java/ql/lib/qlpack.yml +++ b/java/ql/lib/qlpack.yml @@ -1,5 +1,5 @@ name: codeql/java-all -version: 4.2.1-dev +version: 4.2.1 groups: java dbscheme: config/semmlecode.dbscheme extractor: java diff --git a/java/ql/src/CHANGELOG.md b/java/ql/src/CHANGELOG.md index 3a29e9e55e0..f212b4a8d3d 100644 --- a/java/ql/src/CHANGELOG.md +++ b/java/ql/src/CHANGELOG.md @@ -1,3 +1,7 @@ +## 1.1.9 + +No user-facing changes. + ## 1.1.8 No user-facing changes. diff --git a/java/ql/src/change-notes/released/1.1.9.md b/java/ql/src/change-notes/released/1.1.9.md new file mode 100644 index 00000000000..f9d367d4248 --- /dev/null +++ b/java/ql/src/change-notes/released/1.1.9.md @@ -0,0 +1,3 @@ +## 1.1.9 + +No user-facing changes. diff --git a/java/ql/src/codeql-pack.release.yml b/java/ql/src/codeql-pack.release.yml index 64972659c42..6f4795f3ea0 100644 --- a/java/ql/src/codeql-pack.release.yml +++ b/java/ql/src/codeql-pack.release.yml @@ -1,2 +1,2 @@ --- -lastReleaseVersion: 1.1.8 +lastReleaseVersion: 1.1.9 diff --git a/java/ql/src/qlpack.yml b/java/ql/src/qlpack.yml index 40ca32d8070..73e951db034 100644 --- a/java/ql/src/qlpack.yml +++ b/java/ql/src/qlpack.yml @@ -1,5 +1,5 @@ name: codeql/java-queries -version: 1.1.9-dev +version: 1.1.9 groups: - java - queries diff --git a/javascript/ql/lib/CHANGELOG.md b/javascript/ql/lib/CHANGELOG.md index 50d1486c006..7d8f8dcfc8b 100644 --- a/javascript/ql/lib/CHANGELOG.md +++ b/javascript/ql/lib/CHANGELOG.md @@ -1,3 +1,14 @@ +## 2.1.1 + +### Minor Analysis Improvements + +Added taint-steps for `Array.prototype.with`. +Added taint-steps for `Array.prototype.toSpliced` +* Added taint-steps for `Array.prototype.toReversed`. +* Added taint-steps for `Array.prototype.toSorted`. +Added support for `String.prototype.matchAll`. +* Added taint-steps for `Array.prototype.reverse` + ## 2.1.0 ### New Features diff --git a/javascript/ql/lib/change-notes/2024-11-11-matchAll-support.md b/javascript/ql/lib/change-notes/2024-11-11-matchAll-support.md deleted file mode 100644 index 74d7c3f34c2..00000000000 --- a/javascript/ql/lib/change-notes/2024-11-11-matchAll-support.md +++ /dev/null @@ -1,4 +0,0 @@ ---- -category: minorAnalysis ---- -Added support for `String.prototype.matchAll`. diff --git a/javascript/ql/lib/change-notes/2024-11-11-reserve-support.md b/javascript/ql/lib/change-notes/2024-11-11-reserve-support.md deleted file mode 100644 index bd2e6808e0c..00000000000 --- a/javascript/ql/lib/change-notes/2024-11-11-reserve-support.md +++ /dev/null @@ -1,4 +0,0 @@ ---- -category: minorAnalysis ---- -* Added taint-steps for `Array.prototype.reverse` diff --git a/javascript/ql/lib/change-notes/2024-11-12-immutable-array-operations.md b/javascript/ql/lib/change-notes/2024-11-12-immutable-array-operations.md deleted file mode 100644 index 20c16d88c6e..00000000000 --- a/javascript/ql/lib/change-notes/2024-11-12-immutable-array-operations.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -category: minorAnalysis ---- -* Added taint-steps for `Array.prototype.toReversed`. -* Added taint-steps for `Array.prototype.toSorted`. diff --git a/javascript/ql/lib/change-notes/2024-11-15-toSpliced-support.md b/javascript/ql/lib/change-notes/2024-11-15-toSpliced-support.md deleted file mode 100644 index a73955e5d2a..00000000000 --- a/javascript/ql/lib/change-notes/2024-11-15-toSpliced-support.md +++ /dev/null @@ -1,4 +0,0 @@ ---- -category: minorAnalysis ---- -Added taint-steps for `Array.prototype.toSpliced` diff --git a/javascript/ql/lib/change-notes/2024-11-18-ES2023-array-protype-with.md b/javascript/ql/lib/change-notes/2024-11-18-ES2023-array-protype-with.md deleted file mode 100644 index 92f160ec1de..00000000000 --- a/javascript/ql/lib/change-notes/2024-11-18-ES2023-array-protype-with.md +++ /dev/null @@ -1,4 +0,0 @@ ---- -category: minorAnalysis ---- -Added taint-steps for `Array.prototype.with`. diff --git a/javascript/ql/lib/change-notes/released/2.1.1.md b/javascript/ql/lib/change-notes/released/2.1.1.md new file mode 100644 index 00000000000..18d206b1918 --- /dev/null +++ b/javascript/ql/lib/change-notes/released/2.1.1.md @@ -0,0 +1,10 @@ +## 2.1.1 + +### Minor Analysis Improvements + +Added taint-steps for `Array.prototype.with`. +Added taint-steps for `Array.prototype.toSpliced` +* Added taint-steps for `Array.prototype.toReversed`. +* Added taint-steps for `Array.prototype.toSorted`. +Added support for `String.prototype.matchAll`. +* Added taint-steps for `Array.prototype.reverse` diff --git a/javascript/ql/lib/codeql-pack.release.yml b/javascript/ql/lib/codeql-pack.release.yml index 487a1a58b2b..576c2ea18d6 100644 --- a/javascript/ql/lib/codeql-pack.release.yml +++ b/javascript/ql/lib/codeql-pack.release.yml @@ -1,2 +1,2 @@ --- -lastReleaseVersion: 2.1.0 +lastReleaseVersion: 2.1.1 diff --git a/javascript/ql/lib/qlpack.yml b/javascript/ql/lib/qlpack.yml index f732755a75b..fc7dd9be7b7 100644 --- a/javascript/ql/lib/qlpack.yml +++ b/javascript/ql/lib/qlpack.yml @@ -1,5 +1,5 @@ name: codeql/javascript-all -version: 2.1.1-dev +version: 2.1.1 groups: javascript dbscheme: semmlecode.javascript.dbscheme extractor: javascript diff --git a/javascript/ql/src/CHANGELOG.md b/javascript/ql/src/CHANGELOG.md index 9a9a4641c6e..403de6b3323 100644 --- a/javascript/ql/src/CHANGELOG.md +++ b/javascript/ql/src/CHANGELOG.md @@ -1,3 +1,7 @@ +## 1.2.4 + +No user-facing changes. + ## 1.2.3 No user-facing changes. diff --git a/javascript/ql/src/change-notes/released/1.2.4.md b/javascript/ql/src/change-notes/released/1.2.4.md new file mode 100644 index 00000000000..21fd88e8124 --- /dev/null +++ b/javascript/ql/src/change-notes/released/1.2.4.md @@ -0,0 +1,3 @@ +## 1.2.4 + +No user-facing changes. diff --git a/javascript/ql/src/codeql-pack.release.yml b/javascript/ql/src/codeql-pack.release.yml index 09a7400b594..172090f46b6 100644 --- a/javascript/ql/src/codeql-pack.release.yml +++ b/javascript/ql/src/codeql-pack.release.yml @@ -1,2 +1,2 @@ --- -lastReleaseVersion: 1.2.3 +lastReleaseVersion: 1.2.4 diff --git a/javascript/ql/src/qlpack.yml b/javascript/ql/src/qlpack.yml index 98c38e64248..de3be7c9a90 100644 --- a/javascript/ql/src/qlpack.yml +++ b/javascript/ql/src/qlpack.yml @@ -1,5 +1,5 @@ name: codeql/javascript-queries -version: 1.2.4-dev +version: 1.2.4 groups: - javascript - queries diff --git a/misc/suite-helpers/CHANGELOG.md b/misc/suite-helpers/CHANGELOG.md index 0992e6bd9c5..969419cb7b7 100644 --- a/misc/suite-helpers/CHANGELOG.md +++ b/misc/suite-helpers/CHANGELOG.md @@ -1,3 +1,7 @@ +## 1.0.12 + +No user-facing changes. + ## 1.0.11 No user-facing changes. diff --git a/misc/suite-helpers/change-notes/released/1.0.12.md b/misc/suite-helpers/change-notes/released/1.0.12.md new file mode 100644 index 00000000000..12b3cf3e18f --- /dev/null +++ b/misc/suite-helpers/change-notes/released/1.0.12.md @@ -0,0 +1,3 @@ +## 1.0.12 + +No user-facing changes. diff --git a/misc/suite-helpers/codeql-pack.release.yml b/misc/suite-helpers/codeql-pack.release.yml index 56a2fb38872..2036690b201 100644 --- a/misc/suite-helpers/codeql-pack.release.yml +++ b/misc/suite-helpers/codeql-pack.release.yml @@ -1,2 +1,2 @@ --- -lastReleaseVersion: 1.0.11 +lastReleaseVersion: 1.0.12 diff --git a/misc/suite-helpers/qlpack.yml b/misc/suite-helpers/qlpack.yml index f40fb8fcde4..9cb14562b39 100644 --- a/misc/suite-helpers/qlpack.yml +++ b/misc/suite-helpers/qlpack.yml @@ -1,4 +1,4 @@ name: codeql/suite-helpers -version: 1.0.12-dev +version: 1.0.12 groups: shared warnOnImplicitThis: true diff --git a/python/ql/lib/CHANGELOG.md b/python/ql/lib/CHANGELOG.md index 1e05822734d..34dc5f1b060 100644 --- a/python/ql/lib/CHANGELOG.md +++ b/python/ql/lib/CHANGELOG.md @@ -1,3 +1,9 @@ +## 2.2.0 + +### Major Analysis Improvements + +* Added modeling of the `bottle` framework, leading to new remote flow sources and header writes + ## 2.1.2 ### Minor Analysis Improvements diff --git a/python/ql/lib/change-notes/2024-08-30-bottle.md b/python/ql/lib/change-notes/2024-08-30-bottle.md deleted file mode 100644 index b3a07f41f59..00000000000 --- a/python/ql/lib/change-notes/2024-08-30-bottle.md +++ /dev/null @@ -1,4 +0,0 @@ ---- -category: majorAnalysis ---- -* Added modeling of the `bottle` framework, leading to new remote flow sources and header writes \ No newline at end of file diff --git a/python/ql/lib/change-notes/released/2.2.0.md b/python/ql/lib/change-notes/released/2.2.0.md new file mode 100644 index 00000000000..0807fe9c2ff --- /dev/null +++ b/python/ql/lib/change-notes/released/2.2.0.md @@ -0,0 +1,5 @@ +## 2.2.0 + +### Major Analysis Improvements + +* Added modeling of the `bottle` framework, leading to new remote flow sources and header writes diff --git a/python/ql/lib/codeql-pack.release.yml b/python/ql/lib/codeql-pack.release.yml index 1a4e53e8772..2f308354195 100644 --- a/python/ql/lib/codeql-pack.release.yml +++ b/python/ql/lib/codeql-pack.release.yml @@ -1,2 +1,2 @@ --- -lastReleaseVersion: 2.1.2 +lastReleaseVersion: 2.2.0 diff --git a/python/ql/lib/qlpack.yml b/python/ql/lib/qlpack.yml index 5b9b9b8f67e..6c2dd3c9d71 100644 --- a/python/ql/lib/qlpack.yml +++ b/python/ql/lib/qlpack.yml @@ -1,5 +1,5 @@ name: codeql/python-all -version: 2.1.3-dev +version: 2.2.0 groups: python dbscheme: semmlecode.python.dbscheme extractor: python diff --git a/python/ql/src/CHANGELOG.md b/python/ql/src/CHANGELOG.md index 64a33ed30ca..5fea597a7a3 100644 --- a/python/ql/src/CHANGELOG.md +++ b/python/ql/src/CHANGELOG.md @@ -1,3 +1,7 @@ +## 1.3.3 + +No user-facing changes. + ## 1.3.2 ### Minor Analysis Improvements diff --git a/python/ql/src/change-notes/released/1.3.3.md b/python/ql/src/change-notes/released/1.3.3.md new file mode 100644 index 00000000000..27a88ea0061 --- /dev/null +++ b/python/ql/src/change-notes/released/1.3.3.md @@ -0,0 +1,3 @@ +## 1.3.3 + +No user-facing changes. diff --git a/python/ql/src/codeql-pack.release.yml b/python/ql/src/codeql-pack.release.yml index 86a9cb32d86..eb1f7dabc84 100644 --- a/python/ql/src/codeql-pack.release.yml +++ b/python/ql/src/codeql-pack.release.yml @@ -1,2 +1,2 @@ --- -lastReleaseVersion: 1.3.2 +lastReleaseVersion: 1.3.3 diff --git a/python/ql/src/qlpack.yml b/python/ql/src/qlpack.yml index d279b5225c8..76133c2a243 100644 --- a/python/ql/src/qlpack.yml +++ b/python/ql/src/qlpack.yml @@ -1,5 +1,5 @@ name: codeql/python-queries -version: 1.3.3-dev +version: 1.3.3 groups: - python - queries diff --git a/ruby/ql/lib/CHANGELOG.md b/ruby/ql/lib/CHANGELOG.md index 230f81c621b..37248cf4960 100644 --- a/ruby/ql/lib/CHANGELOG.md +++ b/ruby/ql/lib/CHANGELOG.md @@ -1,3 +1,7 @@ +## 2.0.4 + +No user-facing changes. + ## 2.0.3 No user-facing changes. diff --git a/ruby/ql/lib/change-notes/released/2.0.4.md b/ruby/ql/lib/change-notes/released/2.0.4.md new file mode 100644 index 00000000000..8e002b6db64 --- /dev/null +++ b/ruby/ql/lib/change-notes/released/2.0.4.md @@ -0,0 +1,3 @@ +## 2.0.4 + +No user-facing changes. diff --git a/ruby/ql/lib/codeql-pack.release.yml b/ruby/ql/lib/codeql-pack.release.yml index fabf1e86596..0f306f8bd3b 100644 --- a/ruby/ql/lib/codeql-pack.release.yml +++ b/ruby/ql/lib/codeql-pack.release.yml @@ -1,2 +1,2 @@ --- -lastReleaseVersion: 2.0.3 +lastReleaseVersion: 2.0.4 diff --git a/ruby/ql/lib/qlpack.yml b/ruby/ql/lib/qlpack.yml index 155d495d7d8..60aa6608a46 100644 --- a/ruby/ql/lib/qlpack.yml +++ b/ruby/ql/lib/qlpack.yml @@ -1,5 +1,5 @@ name: codeql/ruby-all -version: 2.0.4-dev +version: 2.0.4 groups: ruby extractor: ruby dbscheme: ruby.dbscheme diff --git a/ruby/ql/src/CHANGELOG.md b/ruby/ql/src/CHANGELOG.md index 3dfaa623d60..e159e9fda36 100644 --- a/ruby/ql/src/CHANGELOG.md +++ b/ruby/ql/src/CHANGELOG.md @@ -1,3 +1,7 @@ +## 1.1.7 + +No user-facing changes. + ## 1.1.6 No user-facing changes. diff --git a/ruby/ql/src/change-notes/released/1.1.7.md b/ruby/ql/src/change-notes/released/1.1.7.md new file mode 100644 index 00000000000..81505c0507a --- /dev/null +++ b/ruby/ql/src/change-notes/released/1.1.7.md @@ -0,0 +1,3 @@ +## 1.1.7 + +No user-facing changes. diff --git a/ruby/ql/src/codeql-pack.release.yml b/ruby/ql/src/codeql-pack.release.yml index 9e712a00a21..75910556516 100644 --- a/ruby/ql/src/codeql-pack.release.yml +++ b/ruby/ql/src/codeql-pack.release.yml @@ -1,2 +1,2 @@ --- -lastReleaseVersion: 1.1.6 +lastReleaseVersion: 1.1.7 diff --git a/ruby/ql/src/qlpack.yml b/ruby/ql/src/qlpack.yml index 2f270249906..d34551aeb15 100644 --- a/ruby/ql/src/qlpack.yml +++ b/ruby/ql/src/qlpack.yml @@ -1,5 +1,5 @@ name: codeql/ruby-queries -version: 1.1.7-dev +version: 1.1.7 groups: - ruby - queries diff --git a/shared/controlflow/CHANGELOG.md b/shared/controlflow/CHANGELOG.md index 2eddc42a47d..b6de6379e77 100644 --- a/shared/controlflow/CHANGELOG.md +++ b/shared/controlflow/CHANGELOG.md @@ -1,3 +1,7 @@ +## 1.0.12 + +No user-facing changes. + ## 1.0.11 No user-facing changes. diff --git a/shared/controlflow/change-notes/released/1.0.12.md b/shared/controlflow/change-notes/released/1.0.12.md new file mode 100644 index 00000000000..12b3cf3e18f --- /dev/null +++ b/shared/controlflow/change-notes/released/1.0.12.md @@ -0,0 +1,3 @@ +## 1.0.12 + +No user-facing changes. diff --git a/shared/controlflow/codeql-pack.release.yml b/shared/controlflow/codeql-pack.release.yml index 56a2fb38872..2036690b201 100644 --- a/shared/controlflow/codeql-pack.release.yml +++ b/shared/controlflow/codeql-pack.release.yml @@ -1,2 +1,2 @@ --- -lastReleaseVersion: 1.0.11 +lastReleaseVersion: 1.0.12 diff --git a/shared/controlflow/qlpack.yml b/shared/controlflow/qlpack.yml index 10314626ec7..c7554d77bb4 100644 --- a/shared/controlflow/qlpack.yml +++ b/shared/controlflow/qlpack.yml @@ -1,5 +1,5 @@ name: codeql/controlflow -version: 1.0.12-dev +version: 1.0.12 groups: shared library: true dependencies: diff --git a/shared/dataflow/CHANGELOG.md b/shared/dataflow/CHANGELOG.md index 72c27aa8762..7eec34670dc 100644 --- a/shared/dataflow/CHANGELOG.md +++ b/shared/dataflow/CHANGELOG.md @@ -1,3 +1,7 @@ +## 1.1.6 + +No user-facing changes. + ## 1.1.5 No user-facing changes. diff --git a/shared/dataflow/change-notes/released/1.1.6.md b/shared/dataflow/change-notes/released/1.1.6.md new file mode 100644 index 00000000000..553350f40af --- /dev/null +++ b/shared/dataflow/change-notes/released/1.1.6.md @@ -0,0 +1,3 @@ +## 1.1.6 + +No user-facing changes. diff --git a/shared/dataflow/codeql-pack.release.yml b/shared/dataflow/codeql-pack.release.yml index df39a9de059..9e712a00a21 100644 --- a/shared/dataflow/codeql-pack.release.yml +++ b/shared/dataflow/codeql-pack.release.yml @@ -1,2 +1,2 @@ --- -lastReleaseVersion: 1.1.5 +lastReleaseVersion: 1.1.6 diff --git a/shared/dataflow/qlpack.yml b/shared/dataflow/qlpack.yml index 3802aa99a1e..3e488555c7d 100644 --- a/shared/dataflow/qlpack.yml +++ b/shared/dataflow/qlpack.yml @@ -1,5 +1,5 @@ name: codeql/dataflow -version: 1.1.6-dev +version: 1.1.6 groups: shared library: true dependencies: diff --git a/shared/mad/CHANGELOG.md b/shared/mad/CHANGELOG.md index 0d9dcaf2768..8eb5e03400a 100644 --- a/shared/mad/CHANGELOG.md +++ b/shared/mad/CHANGELOG.md @@ -1,3 +1,7 @@ +## 1.0.12 + +No user-facing changes. + ## 1.0.11 No user-facing changes. diff --git a/shared/mad/change-notes/released/1.0.12.md b/shared/mad/change-notes/released/1.0.12.md new file mode 100644 index 00000000000..12b3cf3e18f --- /dev/null +++ b/shared/mad/change-notes/released/1.0.12.md @@ -0,0 +1,3 @@ +## 1.0.12 + +No user-facing changes. diff --git a/shared/mad/codeql-pack.release.yml b/shared/mad/codeql-pack.release.yml index 56a2fb38872..2036690b201 100644 --- a/shared/mad/codeql-pack.release.yml +++ b/shared/mad/codeql-pack.release.yml @@ -1,2 +1,2 @@ --- -lastReleaseVersion: 1.0.11 +lastReleaseVersion: 1.0.12 diff --git a/shared/mad/qlpack.yml b/shared/mad/qlpack.yml index 2205120fc09..7c6a961cb99 100644 --- a/shared/mad/qlpack.yml +++ b/shared/mad/qlpack.yml @@ -1,5 +1,5 @@ name: codeql/mad -version: 1.0.12-dev +version: 1.0.12 groups: shared library: true dependencies: diff --git a/shared/rangeanalysis/CHANGELOG.md b/shared/rangeanalysis/CHANGELOG.md index f3d5e9c3685..cedd38e3e30 100644 --- a/shared/rangeanalysis/CHANGELOG.md +++ b/shared/rangeanalysis/CHANGELOG.md @@ -1,3 +1,7 @@ +## 1.0.12 + +No user-facing changes. + ## 1.0.11 No user-facing changes. diff --git a/shared/rangeanalysis/change-notes/released/1.0.12.md b/shared/rangeanalysis/change-notes/released/1.0.12.md new file mode 100644 index 00000000000..12b3cf3e18f --- /dev/null +++ b/shared/rangeanalysis/change-notes/released/1.0.12.md @@ -0,0 +1,3 @@ +## 1.0.12 + +No user-facing changes. diff --git a/shared/rangeanalysis/codeql-pack.release.yml b/shared/rangeanalysis/codeql-pack.release.yml index 56a2fb38872..2036690b201 100644 --- a/shared/rangeanalysis/codeql-pack.release.yml +++ b/shared/rangeanalysis/codeql-pack.release.yml @@ -1,2 +1,2 @@ --- -lastReleaseVersion: 1.0.11 +lastReleaseVersion: 1.0.12 diff --git a/shared/rangeanalysis/qlpack.yml b/shared/rangeanalysis/qlpack.yml index 8bd5c263848..6a61414dd46 100644 --- a/shared/rangeanalysis/qlpack.yml +++ b/shared/rangeanalysis/qlpack.yml @@ -1,5 +1,5 @@ name: codeql/rangeanalysis -version: 1.0.12-dev +version: 1.0.12 groups: shared library: true dependencies: diff --git a/shared/regex/CHANGELOG.md b/shared/regex/CHANGELOG.md index e4aa1758db2..3e8a99103fe 100644 --- a/shared/regex/CHANGELOG.md +++ b/shared/regex/CHANGELOG.md @@ -1,3 +1,7 @@ +## 1.0.12 + +No user-facing changes. + ## 1.0.11 No user-facing changes. diff --git a/shared/regex/change-notes/released/1.0.12.md b/shared/regex/change-notes/released/1.0.12.md new file mode 100644 index 00000000000..12b3cf3e18f --- /dev/null +++ b/shared/regex/change-notes/released/1.0.12.md @@ -0,0 +1,3 @@ +## 1.0.12 + +No user-facing changes. diff --git a/shared/regex/codeql-pack.release.yml b/shared/regex/codeql-pack.release.yml index 56a2fb38872..2036690b201 100644 --- a/shared/regex/codeql-pack.release.yml +++ b/shared/regex/codeql-pack.release.yml @@ -1,2 +1,2 @@ --- -lastReleaseVersion: 1.0.11 +lastReleaseVersion: 1.0.12 diff --git a/shared/regex/qlpack.yml b/shared/regex/qlpack.yml index 624c826410e..3ab27085789 100644 --- a/shared/regex/qlpack.yml +++ b/shared/regex/qlpack.yml @@ -1,5 +1,5 @@ name: codeql/regex -version: 1.0.12-dev +version: 1.0.12 groups: shared library: true dependencies: diff --git a/shared/ssa/CHANGELOG.md b/shared/ssa/CHANGELOG.md index 6fc1f4442c7..b98345f361c 100644 --- a/shared/ssa/CHANGELOG.md +++ b/shared/ssa/CHANGELOG.md @@ -1,3 +1,7 @@ +## 1.0.12 + +No user-facing changes. + ## 1.0.11 No user-facing changes. diff --git a/shared/ssa/change-notes/released/1.0.12.md b/shared/ssa/change-notes/released/1.0.12.md new file mode 100644 index 00000000000..12b3cf3e18f --- /dev/null +++ b/shared/ssa/change-notes/released/1.0.12.md @@ -0,0 +1,3 @@ +## 1.0.12 + +No user-facing changes. diff --git a/shared/ssa/codeql-pack.release.yml b/shared/ssa/codeql-pack.release.yml index 56a2fb38872..2036690b201 100644 --- a/shared/ssa/codeql-pack.release.yml +++ b/shared/ssa/codeql-pack.release.yml @@ -1,2 +1,2 @@ --- -lastReleaseVersion: 1.0.11 +lastReleaseVersion: 1.0.12 diff --git a/shared/ssa/qlpack.yml b/shared/ssa/qlpack.yml index d55025c28d1..1957224936f 100644 --- a/shared/ssa/qlpack.yml +++ b/shared/ssa/qlpack.yml @@ -1,5 +1,5 @@ name: codeql/ssa -version: 1.0.12-dev +version: 1.0.12 groups: shared library: true dependencies: diff --git a/shared/threat-models/CHANGELOG.md b/shared/threat-models/CHANGELOG.md index 1c514d078a2..eeb6b0a262a 100644 --- a/shared/threat-models/CHANGELOG.md +++ b/shared/threat-models/CHANGELOG.md @@ -1,3 +1,7 @@ +## 1.0.12 + +No user-facing changes. + ## 1.0.11 No user-facing changes. diff --git a/shared/threat-models/change-notes/released/1.0.12.md b/shared/threat-models/change-notes/released/1.0.12.md new file mode 100644 index 00000000000..12b3cf3e18f --- /dev/null +++ b/shared/threat-models/change-notes/released/1.0.12.md @@ -0,0 +1,3 @@ +## 1.0.12 + +No user-facing changes. diff --git a/shared/threat-models/codeql-pack.release.yml b/shared/threat-models/codeql-pack.release.yml index 56a2fb38872..2036690b201 100644 --- a/shared/threat-models/codeql-pack.release.yml +++ b/shared/threat-models/codeql-pack.release.yml @@ -1,2 +1,2 @@ --- -lastReleaseVersion: 1.0.11 +lastReleaseVersion: 1.0.12 diff --git a/shared/threat-models/qlpack.yml b/shared/threat-models/qlpack.yml index 42ac623c23b..637773d6bfb 100644 --- a/shared/threat-models/qlpack.yml +++ b/shared/threat-models/qlpack.yml @@ -1,5 +1,5 @@ name: codeql/threat-models -version: 1.0.12-dev +version: 1.0.12 library: true groups: shared dataExtensions: diff --git a/shared/tutorial/CHANGELOG.md b/shared/tutorial/CHANGELOG.md index 416a3ab33fc..da467b3de30 100644 --- a/shared/tutorial/CHANGELOG.md +++ b/shared/tutorial/CHANGELOG.md @@ -1,3 +1,7 @@ +## 1.0.12 + +No user-facing changes. + ## 1.0.11 No user-facing changes. diff --git a/shared/tutorial/change-notes/released/1.0.12.md b/shared/tutorial/change-notes/released/1.0.12.md new file mode 100644 index 00000000000..12b3cf3e18f --- /dev/null +++ b/shared/tutorial/change-notes/released/1.0.12.md @@ -0,0 +1,3 @@ +## 1.0.12 + +No user-facing changes. diff --git a/shared/tutorial/codeql-pack.release.yml b/shared/tutorial/codeql-pack.release.yml index 56a2fb38872..2036690b201 100644 --- a/shared/tutorial/codeql-pack.release.yml +++ b/shared/tutorial/codeql-pack.release.yml @@ -1,2 +1,2 @@ --- -lastReleaseVersion: 1.0.11 +lastReleaseVersion: 1.0.12 diff --git a/shared/tutorial/qlpack.yml b/shared/tutorial/qlpack.yml index bd281c1a818..f4c164e1052 100644 --- a/shared/tutorial/qlpack.yml +++ b/shared/tutorial/qlpack.yml @@ -1,7 +1,7 @@ name: codeql/tutorial description: Library for the CodeQL detective tutorials, helping new users learn to write CodeQL queries. -version: 1.0.12-dev +version: 1.0.12 groups: shared library: true warnOnImplicitThis: true diff --git a/shared/typeflow/CHANGELOG.md b/shared/typeflow/CHANGELOG.md index 1506cdea175..cae361ea7e7 100644 --- a/shared/typeflow/CHANGELOG.md +++ b/shared/typeflow/CHANGELOG.md @@ -1,3 +1,7 @@ +## 1.0.12 + +No user-facing changes. + ## 1.0.11 No user-facing changes. diff --git a/shared/typeflow/change-notes/released/1.0.12.md b/shared/typeflow/change-notes/released/1.0.12.md new file mode 100644 index 00000000000..12b3cf3e18f --- /dev/null +++ b/shared/typeflow/change-notes/released/1.0.12.md @@ -0,0 +1,3 @@ +## 1.0.12 + +No user-facing changes. diff --git a/shared/typeflow/codeql-pack.release.yml b/shared/typeflow/codeql-pack.release.yml index 56a2fb38872..2036690b201 100644 --- a/shared/typeflow/codeql-pack.release.yml +++ b/shared/typeflow/codeql-pack.release.yml @@ -1,2 +1,2 @@ --- -lastReleaseVersion: 1.0.11 +lastReleaseVersion: 1.0.12 diff --git a/shared/typeflow/qlpack.yml b/shared/typeflow/qlpack.yml index 6c7ecc03264..514743bcb4d 100644 --- a/shared/typeflow/qlpack.yml +++ b/shared/typeflow/qlpack.yml @@ -1,5 +1,5 @@ name: codeql/typeflow -version: 1.0.12-dev +version: 1.0.12 groups: shared library: true dependencies: diff --git a/shared/typetracking/CHANGELOG.md b/shared/typetracking/CHANGELOG.md index d35be2a3771..96110cb10a2 100644 --- a/shared/typetracking/CHANGELOG.md +++ b/shared/typetracking/CHANGELOG.md @@ -1,3 +1,7 @@ +## 1.0.12 + +No user-facing changes. + ## 1.0.11 No user-facing changes. diff --git a/shared/typetracking/change-notes/released/1.0.12.md b/shared/typetracking/change-notes/released/1.0.12.md new file mode 100644 index 00000000000..12b3cf3e18f --- /dev/null +++ b/shared/typetracking/change-notes/released/1.0.12.md @@ -0,0 +1,3 @@ +## 1.0.12 + +No user-facing changes. diff --git a/shared/typetracking/codeql-pack.release.yml b/shared/typetracking/codeql-pack.release.yml index 56a2fb38872..2036690b201 100644 --- a/shared/typetracking/codeql-pack.release.yml +++ b/shared/typetracking/codeql-pack.release.yml @@ -1,2 +1,2 @@ --- -lastReleaseVersion: 1.0.11 +lastReleaseVersion: 1.0.12 diff --git a/shared/typetracking/qlpack.yml b/shared/typetracking/qlpack.yml index 07eeb938af3..b7c3832bef1 100644 --- a/shared/typetracking/qlpack.yml +++ b/shared/typetracking/qlpack.yml @@ -1,5 +1,5 @@ name: codeql/typetracking -version: 1.0.12-dev +version: 1.0.12 groups: shared library: true dependencies: diff --git a/shared/typos/CHANGELOG.md b/shared/typos/CHANGELOG.md index e5392886a3e..83fb2dfb4cc 100644 --- a/shared/typos/CHANGELOG.md +++ b/shared/typos/CHANGELOG.md @@ -1,3 +1,7 @@ +## 1.0.12 + +No user-facing changes. + ## 1.0.11 No user-facing changes. diff --git a/shared/typos/change-notes/released/1.0.12.md b/shared/typos/change-notes/released/1.0.12.md new file mode 100644 index 00000000000..12b3cf3e18f --- /dev/null +++ b/shared/typos/change-notes/released/1.0.12.md @@ -0,0 +1,3 @@ +## 1.0.12 + +No user-facing changes. diff --git a/shared/typos/codeql-pack.release.yml b/shared/typos/codeql-pack.release.yml index 56a2fb38872..2036690b201 100644 --- a/shared/typos/codeql-pack.release.yml +++ b/shared/typos/codeql-pack.release.yml @@ -1,2 +1,2 @@ --- -lastReleaseVersion: 1.0.11 +lastReleaseVersion: 1.0.12 diff --git a/shared/typos/qlpack.yml b/shared/typos/qlpack.yml index dcd9631b697..cbb4019306e 100644 --- a/shared/typos/qlpack.yml +++ b/shared/typos/qlpack.yml @@ -1,5 +1,5 @@ name: codeql/typos -version: 1.0.12-dev +version: 1.0.12 groups: shared library: true warnOnImplicitThis: true diff --git a/shared/util/CHANGELOG.md b/shared/util/CHANGELOG.md index 9f1057cba24..15c3b8c6225 100644 --- a/shared/util/CHANGELOG.md +++ b/shared/util/CHANGELOG.md @@ -1,3 +1,7 @@ +## 1.0.12 + +No user-facing changes. + ## 1.0.11 No user-facing changes. diff --git a/shared/util/change-notes/released/1.0.12.md b/shared/util/change-notes/released/1.0.12.md new file mode 100644 index 00000000000..12b3cf3e18f --- /dev/null +++ b/shared/util/change-notes/released/1.0.12.md @@ -0,0 +1,3 @@ +## 1.0.12 + +No user-facing changes. diff --git a/shared/util/codeql-pack.release.yml b/shared/util/codeql-pack.release.yml index 56a2fb38872..2036690b201 100644 --- a/shared/util/codeql-pack.release.yml +++ b/shared/util/codeql-pack.release.yml @@ -1,2 +1,2 @@ --- -lastReleaseVersion: 1.0.11 +lastReleaseVersion: 1.0.12 diff --git a/shared/util/qlpack.yml b/shared/util/qlpack.yml index 2a33b5aa84a..ebc22562a77 100644 --- a/shared/util/qlpack.yml +++ b/shared/util/qlpack.yml @@ -1,5 +1,5 @@ name: codeql/util -version: 1.0.12-dev +version: 1.0.12 groups: shared library: true dependencies: null diff --git a/shared/xml/CHANGELOG.md b/shared/xml/CHANGELOG.md index 6ef34d6264c..c8213742dc9 100644 --- a/shared/xml/CHANGELOG.md +++ b/shared/xml/CHANGELOG.md @@ -1,3 +1,7 @@ +## 1.0.12 + +No user-facing changes. + ## 1.0.11 No user-facing changes. diff --git a/shared/xml/change-notes/released/1.0.12.md b/shared/xml/change-notes/released/1.0.12.md new file mode 100644 index 00000000000..12b3cf3e18f --- /dev/null +++ b/shared/xml/change-notes/released/1.0.12.md @@ -0,0 +1,3 @@ +## 1.0.12 + +No user-facing changes. diff --git a/shared/xml/codeql-pack.release.yml b/shared/xml/codeql-pack.release.yml index 56a2fb38872..2036690b201 100644 --- a/shared/xml/codeql-pack.release.yml +++ b/shared/xml/codeql-pack.release.yml @@ -1,2 +1,2 @@ --- -lastReleaseVersion: 1.0.11 +lastReleaseVersion: 1.0.12 diff --git a/shared/xml/qlpack.yml b/shared/xml/qlpack.yml index 94acb679e9c..902f7735b18 100644 --- a/shared/xml/qlpack.yml +++ b/shared/xml/qlpack.yml @@ -1,5 +1,5 @@ name: codeql/xml -version: 1.0.12-dev +version: 1.0.12 groups: shared library: true dependencies: diff --git a/shared/yaml/CHANGELOG.md b/shared/yaml/CHANGELOG.md index 79fc573c5ae..2cc2ec62057 100644 --- a/shared/yaml/CHANGELOG.md +++ b/shared/yaml/CHANGELOG.md @@ -1,3 +1,7 @@ +## 1.0.12 + +No user-facing changes. + ## 1.0.11 No user-facing changes. diff --git a/shared/yaml/change-notes/released/1.0.12.md b/shared/yaml/change-notes/released/1.0.12.md new file mode 100644 index 00000000000..12b3cf3e18f --- /dev/null +++ b/shared/yaml/change-notes/released/1.0.12.md @@ -0,0 +1,3 @@ +## 1.0.12 + +No user-facing changes. diff --git a/shared/yaml/codeql-pack.release.yml b/shared/yaml/codeql-pack.release.yml index 56a2fb38872..2036690b201 100644 --- a/shared/yaml/codeql-pack.release.yml +++ b/shared/yaml/codeql-pack.release.yml @@ -1,2 +1,2 @@ --- -lastReleaseVersion: 1.0.11 +lastReleaseVersion: 1.0.12 diff --git a/shared/yaml/qlpack.yml b/shared/yaml/qlpack.yml index 62119951431..4d5cd01611f 100644 --- a/shared/yaml/qlpack.yml +++ b/shared/yaml/qlpack.yml @@ -1,5 +1,5 @@ name: codeql/yaml -version: 1.0.12-dev +version: 1.0.12 groups: shared library: true warnOnImplicitThis: true diff --git a/swift/ql/lib/CHANGELOG.md b/swift/ql/lib/CHANGELOG.md index d871246f42f..898a3282bb5 100644 --- a/swift/ql/lib/CHANGELOG.md +++ b/swift/ql/lib/CHANGELOG.md @@ -1,3 +1,7 @@ +## 2.0.4 + +No user-facing changes. + ## 2.0.3 No user-facing changes. diff --git a/swift/ql/lib/change-notes/released/2.0.4.md b/swift/ql/lib/change-notes/released/2.0.4.md new file mode 100644 index 00000000000..8e002b6db64 --- /dev/null +++ b/swift/ql/lib/change-notes/released/2.0.4.md @@ -0,0 +1,3 @@ +## 2.0.4 + +No user-facing changes. diff --git a/swift/ql/lib/codeql-pack.release.yml b/swift/ql/lib/codeql-pack.release.yml index fabf1e86596..0f306f8bd3b 100644 --- a/swift/ql/lib/codeql-pack.release.yml +++ b/swift/ql/lib/codeql-pack.release.yml @@ -1,2 +1,2 @@ --- -lastReleaseVersion: 2.0.3 +lastReleaseVersion: 2.0.4 diff --git a/swift/ql/lib/qlpack.yml b/swift/ql/lib/qlpack.yml index bc08ee6ac2e..1197bd99667 100644 --- a/swift/ql/lib/qlpack.yml +++ b/swift/ql/lib/qlpack.yml @@ -1,5 +1,5 @@ name: codeql/swift-all -version: 2.0.4-dev +version: 2.0.4 groups: swift extractor: swift dbscheme: swift.dbscheme diff --git a/swift/ql/src/CHANGELOG.md b/swift/ql/src/CHANGELOG.md index 8890e7e83a4..76de7db1348 100644 --- a/swift/ql/src/CHANGELOG.md +++ b/swift/ql/src/CHANGELOG.md @@ -1,3 +1,7 @@ +## 1.0.12 + +No user-facing changes. + ## 1.0.11 No user-facing changes. diff --git a/swift/ql/src/change-notes/released/1.0.12.md b/swift/ql/src/change-notes/released/1.0.12.md new file mode 100644 index 00000000000..12b3cf3e18f --- /dev/null +++ b/swift/ql/src/change-notes/released/1.0.12.md @@ -0,0 +1,3 @@ +## 1.0.12 + +No user-facing changes. diff --git a/swift/ql/src/codeql-pack.release.yml b/swift/ql/src/codeql-pack.release.yml index 56a2fb38872..2036690b201 100644 --- a/swift/ql/src/codeql-pack.release.yml +++ b/swift/ql/src/codeql-pack.release.yml @@ -1,2 +1,2 @@ --- -lastReleaseVersion: 1.0.11 +lastReleaseVersion: 1.0.12 diff --git a/swift/ql/src/qlpack.yml b/swift/ql/src/qlpack.yml index dcc0f94dcf4..128ca2b26ea 100644 --- a/swift/ql/src/qlpack.yml +++ b/swift/ql/src/qlpack.yml @@ -1,5 +1,5 @@ name: codeql/swift-queries -version: 1.0.12-dev +version: 1.0.12 groups: - swift - queries From ef3fc5e29f40e940bd977fb31bfc995a6ff24f95 Mon Sep 17 00:00:00 2001 From: Alex Eyers-Taylor Date: Tue, 19 Nov 2024 16:34:30 +0000 Subject: [PATCH 06/46] Fix broken changelog. --- javascript/ql/lib/change-notes/released/2.1.1.md | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/javascript/ql/lib/change-notes/released/2.1.1.md b/javascript/ql/lib/change-notes/released/2.1.1.md index 18d206b1918..fd6616a6c03 100644 --- a/javascript/ql/lib/change-notes/released/2.1.1.md +++ b/javascript/ql/lib/change-notes/released/2.1.1.md @@ -2,9 +2,9 @@ ### Minor Analysis Improvements -Added taint-steps for `Array.prototype.with`. -Added taint-steps for `Array.prototype.toSpliced` +* Added taint-steps for `Array.prototype.with`. +* Added taint-steps for `Array.prototype.toSpliced` * Added taint-steps for `Array.prototype.toReversed`. * Added taint-steps for `Array.prototype.toSorted`. -Added support for `String.prototype.matchAll`. +* Added support for `String.prototype.matchAll`. * Added taint-steps for `Array.prototype.reverse` From 3909df75dc4a91f407a6436295e37a6b01b9623d Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" Date: Tue, 19 Nov 2024 17:54:03 +0000 Subject: [PATCH 07/46] Post-release preparation for codeql-cli-2.19.4 --- cpp/ql/lib/qlpack.yml | 2 +- cpp/ql/src/qlpack.yml | 2 +- csharp/ql/campaigns/Solorigate/lib/qlpack.yml | 2 +- csharp/ql/campaigns/Solorigate/src/qlpack.yml | 2 +- csharp/ql/lib/qlpack.yml | 2 +- csharp/ql/src/qlpack.yml | 2 +- go/ql/consistency-queries/qlpack.yml | 2 +- go/ql/lib/qlpack.yml | 2 +- go/ql/src/qlpack.yml | 2 +- java/ql/automodel/src/qlpack.yml | 2 +- java/ql/lib/qlpack.yml | 2 +- java/ql/src/qlpack.yml | 2 +- javascript/ql/lib/qlpack.yml | 2 +- javascript/ql/src/qlpack.yml | 2 +- misc/suite-helpers/qlpack.yml | 2 +- python/ql/lib/qlpack.yml | 2 +- python/ql/src/qlpack.yml | 2 +- ruby/ql/lib/qlpack.yml | 2 +- ruby/ql/src/qlpack.yml | 2 +- shared/controlflow/qlpack.yml | 2 +- shared/dataflow/qlpack.yml | 2 +- shared/mad/qlpack.yml | 2 +- shared/rangeanalysis/qlpack.yml | 2 +- shared/regex/qlpack.yml | 2 +- shared/ssa/qlpack.yml | 2 +- shared/threat-models/qlpack.yml | 2 +- shared/tutorial/qlpack.yml | 2 +- shared/typeflow/qlpack.yml | 2 +- shared/typetracking/qlpack.yml | 2 +- shared/typos/qlpack.yml | 2 +- shared/util/qlpack.yml | 2 +- shared/xml/qlpack.yml | 2 +- shared/yaml/qlpack.yml | 2 +- swift/ql/lib/qlpack.yml | 2 +- swift/ql/src/qlpack.yml | 2 +- 35 files changed, 35 insertions(+), 35 deletions(-) diff --git a/cpp/ql/lib/qlpack.yml b/cpp/ql/lib/qlpack.yml index 74b97808dc2..001028daae1 100644 --- a/cpp/ql/lib/qlpack.yml +++ b/cpp/ql/lib/qlpack.yml @@ -1,5 +1,5 @@ name: codeql/cpp-all -version: 2.1.1 +version: 2.1.2-dev groups: cpp dbscheme: semmlecode.cpp.dbscheme extractor: cpp diff --git a/cpp/ql/src/qlpack.yml b/cpp/ql/src/qlpack.yml index 06b63fc6d45..2fcf45807da 100644 --- a/cpp/ql/src/qlpack.yml +++ b/cpp/ql/src/qlpack.yml @@ -1,5 +1,5 @@ name: codeql/cpp-queries -version: 1.2.7 +version: 1.2.8-dev groups: - cpp - queries diff --git a/csharp/ql/campaigns/Solorigate/lib/qlpack.yml b/csharp/ql/campaigns/Solorigate/lib/qlpack.yml index 59289e3ddb1..0c8db9920eb 100644 --- a/csharp/ql/campaigns/Solorigate/lib/qlpack.yml +++ b/csharp/ql/campaigns/Solorigate/lib/qlpack.yml @@ -1,5 +1,5 @@ name: codeql/csharp-solorigate-all -version: 1.7.29 +version: 1.7.30-dev groups: - csharp - solorigate diff --git a/csharp/ql/campaigns/Solorigate/src/qlpack.yml b/csharp/ql/campaigns/Solorigate/src/qlpack.yml index 19e34e504e4..3a4343780e4 100644 --- a/csharp/ql/campaigns/Solorigate/src/qlpack.yml +++ b/csharp/ql/campaigns/Solorigate/src/qlpack.yml @@ -1,5 +1,5 @@ name: codeql/csharp-solorigate-queries -version: 1.7.29 +version: 1.7.30-dev groups: - csharp - solorigate diff --git a/csharp/ql/lib/qlpack.yml b/csharp/ql/lib/qlpack.yml index a3f9aedf516..efc82eedc90 100644 --- a/csharp/ql/lib/qlpack.yml +++ b/csharp/ql/lib/qlpack.yml @@ -1,5 +1,5 @@ name: codeql/csharp-all -version: 3.1.1 +version: 3.1.2-dev groups: csharp dbscheme: semmlecode.csharp.dbscheme extractor: csharp diff --git a/csharp/ql/src/qlpack.yml b/csharp/ql/src/qlpack.yml index dc99bd4768a..569b69021d1 100644 --- a/csharp/ql/src/qlpack.yml +++ b/csharp/ql/src/qlpack.yml @@ -1,5 +1,5 @@ name: codeql/csharp-queries -version: 1.0.12 +version: 1.0.13-dev groups: - csharp - queries diff --git a/go/ql/consistency-queries/qlpack.yml b/go/ql/consistency-queries/qlpack.yml index b9e67ea6137..60d11115c14 100644 --- a/go/ql/consistency-queries/qlpack.yml +++ b/go/ql/consistency-queries/qlpack.yml @@ -1,5 +1,5 @@ name: codeql-go-consistency-queries -version: 1.0.12 +version: 1.0.13-dev groups: - go - queries diff --git a/go/ql/lib/qlpack.yml b/go/ql/lib/qlpack.yml index 0e6da37dea1..98e81430897 100644 --- a/go/ql/lib/qlpack.yml +++ b/go/ql/lib/qlpack.yml @@ -1,5 +1,5 @@ name: codeql/go-all -version: 2.1.3 +version: 2.1.4-dev groups: go dbscheme: go.dbscheme extractor: go diff --git a/go/ql/src/qlpack.yml b/go/ql/src/qlpack.yml index af130fa6acf..866a0935713 100644 --- a/go/ql/src/qlpack.yml +++ b/go/ql/src/qlpack.yml @@ -1,5 +1,5 @@ name: codeql/go-queries -version: 1.1.3 +version: 1.1.4-dev groups: - go - queries diff --git a/java/ql/automodel/src/qlpack.yml b/java/ql/automodel/src/qlpack.yml index fc5ad003511..da81981956b 100644 --- a/java/ql/automodel/src/qlpack.yml +++ b/java/ql/automodel/src/qlpack.yml @@ -1,5 +1,5 @@ name: codeql/java-automodel-queries -version: 1.0.12 +version: 1.0.13-dev groups: - java - automodel diff --git a/java/ql/lib/qlpack.yml b/java/ql/lib/qlpack.yml index 0e8d80fe435..a8c1ee2de2b 100644 --- a/java/ql/lib/qlpack.yml +++ b/java/ql/lib/qlpack.yml @@ -1,5 +1,5 @@ name: codeql/java-all -version: 4.2.1 +version: 4.2.2-dev groups: java dbscheme: config/semmlecode.dbscheme extractor: java diff --git a/java/ql/src/qlpack.yml b/java/ql/src/qlpack.yml index 73e951db034..44740683f14 100644 --- a/java/ql/src/qlpack.yml +++ b/java/ql/src/qlpack.yml @@ -1,5 +1,5 @@ name: codeql/java-queries -version: 1.1.9 +version: 1.1.10-dev groups: - java - queries diff --git a/javascript/ql/lib/qlpack.yml b/javascript/ql/lib/qlpack.yml index fc7dd9be7b7..9726d407e1a 100644 --- a/javascript/ql/lib/qlpack.yml +++ b/javascript/ql/lib/qlpack.yml @@ -1,5 +1,5 @@ name: codeql/javascript-all -version: 2.1.1 +version: 2.1.2-dev groups: javascript dbscheme: semmlecode.javascript.dbscheme extractor: javascript diff --git a/javascript/ql/src/qlpack.yml b/javascript/ql/src/qlpack.yml index de3be7c9a90..a1efe30e69d 100644 --- a/javascript/ql/src/qlpack.yml +++ b/javascript/ql/src/qlpack.yml @@ -1,5 +1,5 @@ name: codeql/javascript-queries -version: 1.2.4 +version: 1.2.5-dev groups: - javascript - queries diff --git a/misc/suite-helpers/qlpack.yml b/misc/suite-helpers/qlpack.yml index 9cb14562b39..e2cbd7f3f9d 100644 --- a/misc/suite-helpers/qlpack.yml +++ b/misc/suite-helpers/qlpack.yml @@ -1,4 +1,4 @@ name: codeql/suite-helpers -version: 1.0.12 +version: 1.0.13-dev groups: shared warnOnImplicitThis: true diff --git a/python/ql/lib/qlpack.yml b/python/ql/lib/qlpack.yml index 6c2dd3c9d71..290189efa13 100644 --- a/python/ql/lib/qlpack.yml +++ b/python/ql/lib/qlpack.yml @@ -1,5 +1,5 @@ name: codeql/python-all -version: 2.2.0 +version: 2.2.1-dev groups: python dbscheme: semmlecode.python.dbscheme extractor: python diff --git a/python/ql/src/qlpack.yml b/python/ql/src/qlpack.yml index 76133c2a243..d84402123dc 100644 --- a/python/ql/src/qlpack.yml +++ b/python/ql/src/qlpack.yml @@ -1,5 +1,5 @@ name: codeql/python-queries -version: 1.3.3 +version: 1.3.4-dev groups: - python - queries diff --git a/ruby/ql/lib/qlpack.yml b/ruby/ql/lib/qlpack.yml index 60aa6608a46..97259f5dd36 100644 --- a/ruby/ql/lib/qlpack.yml +++ b/ruby/ql/lib/qlpack.yml @@ -1,5 +1,5 @@ name: codeql/ruby-all -version: 2.0.4 +version: 2.0.5-dev groups: ruby extractor: ruby dbscheme: ruby.dbscheme diff --git a/ruby/ql/src/qlpack.yml b/ruby/ql/src/qlpack.yml index d34551aeb15..26ac8866ae0 100644 --- a/ruby/ql/src/qlpack.yml +++ b/ruby/ql/src/qlpack.yml @@ -1,5 +1,5 @@ name: codeql/ruby-queries -version: 1.1.7 +version: 1.1.8-dev groups: - ruby - queries diff --git a/shared/controlflow/qlpack.yml b/shared/controlflow/qlpack.yml index c7554d77bb4..da4368217d3 100644 --- a/shared/controlflow/qlpack.yml +++ b/shared/controlflow/qlpack.yml @@ -1,5 +1,5 @@ name: codeql/controlflow -version: 1.0.12 +version: 1.0.13-dev groups: shared library: true dependencies: diff --git a/shared/dataflow/qlpack.yml b/shared/dataflow/qlpack.yml index 3e488555c7d..15f77aa0a3a 100644 --- a/shared/dataflow/qlpack.yml +++ b/shared/dataflow/qlpack.yml @@ -1,5 +1,5 @@ name: codeql/dataflow -version: 1.1.6 +version: 1.1.7-dev groups: shared library: true dependencies: diff --git a/shared/mad/qlpack.yml b/shared/mad/qlpack.yml index 7c6a961cb99..8ce60ad0cc9 100644 --- a/shared/mad/qlpack.yml +++ b/shared/mad/qlpack.yml @@ -1,5 +1,5 @@ name: codeql/mad -version: 1.0.12 +version: 1.0.13-dev groups: shared library: true dependencies: diff --git a/shared/rangeanalysis/qlpack.yml b/shared/rangeanalysis/qlpack.yml index 6a61414dd46..ee5954cae0b 100644 --- a/shared/rangeanalysis/qlpack.yml +++ b/shared/rangeanalysis/qlpack.yml @@ -1,5 +1,5 @@ name: codeql/rangeanalysis -version: 1.0.12 +version: 1.0.13-dev groups: shared library: true dependencies: diff --git a/shared/regex/qlpack.yml b/shared/regex/qlpack.yml index 3ab27085789..34aa1065398 100644 --- a/shared/regex/qlpack.yml +++ b/shared/regex/qlpack.yml @@ -1,5 +1,5 @@ name: codeql/regex -version: 1.0.12 +version: 1.0.13-dev groups: shared library: true dependencies: diff --git a/shared/ssa/qlpack.yml b/shared/ssa/qlpack.yml index 1957224936f..145cd9e2192 100644 --- a/shared/ssa/qlpack.yml +++ b/shared/ssa/qlpack.yml @@ -1,5 +1,5 @@ name: codeql/ssa -version: 1.0.12 +version: 1.0.13-dev groups: shared library: true dependencies: diff --git a/shared/threat-models/qlpack.yml b/shared/threat-models/qlpack.yml index 637773d6bfb..16ca1fe3a88 100644 --- a/shared/threat-models/qlpack.yml +++ b/shared/threat-models/qlpack.yml @@ -1,5 +1,5 @@ name: codeql/threat-models -version: 1.0.12 +version: 1.0.13-dev library: true groups: shared dataExtensions: diff --git a/shared/tutorial/qlpack.yml b/shared/tutorial/qlpack.yml index f4c164e1052..14cbbbdc067 100644 --- a/shared/tutorial/qlpack.yml +++ b/shared/tutorial/qlpack.yml @@ -1,7 +1,7 @@ name: codeql/tutorial description: Library for the CodeQL detective tutorials, helping new users learn to write CodeQL queries. -version: 1.0.12 +version: 1.0.13-dev groups: shared library: true warnOnImplicitThis: true diff --git a/shared/typeflow/qlpack.yml b/shared/typeflow/qlpack.yml index 514743bcb4d..5a659a4559d 100644 --- a/shared/typeflow/qlpack.yml +++ b/shared/typeflow/qlpack.yml @@ -1,5 +1,5 @@ name: codeql/typeflow -version: 1.0.12 +version: 1.0.13-dev groups: shared library: true dependencies: diff --git a/shared/typetracking/qlpack.yml b/shared/typetracking/qlpack.yml index b7c3832bef1..216cc8696d9 100644 --- a/shared/typetracking/qlpack.yml +++ b/shared/typetracking/qlpack.yml @@ -1,5 +1,5 @@ name: codeql/typetracking -version: 1.0.12 +version: 1.0.13-dev groups: shared library: true dependencies: diff --git a/shared/typos/qlpack.yml b/shared/typos/qlpack.yml index cbb4019306e..8c1a93efe5e 100644 --- a/shared/typos/qlpack.yml +++ b/shared/typos/qlpack.yml @@ -1,5 +1,5 @@ name: codeql/typos -version: 1.0.12 +version: 1.0.13-dev groups: shared library: true warnOnImplicitThis: true diff --git a/shared/util/qlpack.yml b/shared/util/qlpack.yml index ebc22562a77..83284f19cc3 100644 --- a/shared/util/qlpack.yml +++ b/shared/util/qlpack.yml @@ -1,5 +1,5 @@ name: codeql/util -version: 1.0.12 +version: 1.0.13-dev groups: shared library: true dependencies: null diff --git a/shared/xml/qlpack.yml b/shared/xml/qlpack.yml index 902f7735b18..f48f41ef3ff 100644 --- a/shared/xml/qlpack.yml +++ b/shared/xml/qlpack.yml @@ -1,5 +1,5 @@ name: codeql/xml -version: 1.0.12 +version: 1.0.13-dev groups: shared library: true dependencies: diff --git a/shared/yaml/qlpack.yml b/shared/yaml/qlpack.yml index 4d5cd01611f..54880a8cf2f 100644 --- a/shared/yaml/qlpack.yml +++ b/shared/yaml/qlpack.yml @@ -1,5 +1,5 @@ name: codeql/yaml -version: 1.0.12 +version: 1.0.13-dev groups: shared library: true warnOnImplicitThis: true diff --git a/swift/ql/lib/qlpack.yml b/swift/ql/lib/qlpack.yml index 1197bd99667..2e855546d50 100644 --- a/swift/ql/lib/qlpack.yml +++ b/swift/ql/lib/qlpack.yml @@ -1,5 +1,5 @@ name: codeql/swift-all -version: 2.0.4 +version: 2.0.5-dev groups: swift extractor: swift dbscheme: swift.dbscheme diff --git a/swift/ql/src/qlpack.yml b/swift/ql/src/qlpack.yml index 128ca2b26ea..1d9f7154cda 100644 --- a/swift/ql/src/qlpack.yml +++ b/swift/ql/src/qlpack.yml @@ -1,5 +1,5 @@ name: codeql/swift-queries -version: 1.0.12 +version: 1.0.13-dev groups: - swift - queries From 26d590a616fba45b40fa3e5d47791b59c6d38d13 Mon Sep 17 00:00:00 2001 From: "REDMOND\\brodes" Date: Tue, 19 Nov 2024 12:57:50 -0500 Subject: [PATCH 08/46] Putting back deleted file, and deprecating instead. Deprecating mayThrowException as well. --- .../code/cpp/models/interfaces/NonThrowing.qll | 13 +++++++++++++ .../semmle/code/cpp/models/interfaces/Throwing.qll | 7 +++++++ 2 files changed, 20 insertions(+) create mode 100644 cpp/ql/lib/semmle/code/cpp/models/interfaces/NonThrowing.qll diff --git a/cpp/ql/lib/semmle/code/cpp/models/interfaces/NonThrowing.qll b/cpp/ql/lib/semmle/code/cpp/models/interfaces/NonThrowing.qll new file mode 100644 index 00000000000..9f2c28979b4 --- /dev/null +++ b/cpp/ql/lib/semmle/code/cpp/models/interfaces/NonThrowing.qll @@ -0,0 +1,13 @@ +/** + * Provides an abstract class for modeling functions that never throw. + */ + +import semmle.code.cpp.Function +import semmle.code.cpp.models.Models + +/** + * A function that is guaranteed to never throw. + * + * DEPRECATED: use `NonThrowingFunction` in `semmle.code.cpp.models.Models.Interfaces.Throwing` instead. + */ +abstract deprecated class NonThrowingFunction extends Function { } diff --git a/cpp/ql/lib/semmle/code/cpp/models/interfaces/Throwing.qll b/cpp/ql/lib/semmle/code/cpp/models/interfaces/Throwing.qll index 72db8c9e96c..bd64051d141 100644 --- a/cpp/ql/lib/semmle/code/cpp/models/interfaces/Throwing.qll +++ b/cpp/ql/lib/semmle/code/cpp/models/interfaces/Throwing.qll @@ -68,6 +68,13 @@ abstract class ThrowingFunction extends ExceptionAnnotation { */ abstract predicate raisesException(boolean unconditional); + /** + * DEPRECATES: use/extend `raisesException` instead. + */ + deprecated predicate mayThrowException(boolean unconditional){ + this.raisesException(unconditional) + } + /** * Holds if this function will always raise an exception if called */ From 07847762e1f7dc87408c0e74dba32edcd5d0be56 Mon Sep 17 00:00:00 2001 From: "REDMOND\\brodes" Date: Tue, 19 Nov 2024 13:17:10 -0500 Subject: [PATCH 09/46] bringing back mayThrowException to make it cleaner/easier for backwards compatibility. --- .../raw/internal/TranslatedCall.qll | 4 ++-- .../code/cpp/models/interfaces/Throwing.qll | 17 ++--------------- 2 files changed, 4 insertions(+), 17 deletions(-) diff --git a/cpp/ql/lib/semmle/code/cpp/ir/implementation/raw/internal/TranslatedCall.qll b/cpp/ql/lib/semmle/code/cpp/ir/implementation/raw/internal/TranslatedCall.qll index 5f1b2fbe3b4..daa6bdaafcf 100644 --- a/cpp/ql/lib/semmle/code/cpp/ir/implementation/raw/internal/TranslatedCall.qll +++ b/cpp/ql/lib/semmle/code/cpp/ir/implementation/raw/internal/TranslatedCall.qll @@ -363,11 +363,11 @@ class TranslatedFunctionCall extends TranslatedCallExpr, TranslatedDirectCall { } final override predicate mayThrowException() { - expr.getTarget().(ThrowingFunction).raisesException(_) + expr.getTarget().(ThrowingFunction).mayThrowException(_) } final override predicate mustThrowException() { - expr.getTarget().(ThrowingFunction).raisesException(true) + expr.getTarget().(ThrowingFunction).mayThrowException(true) } } diff --git a/cpp/ql/lib/semmle/code/cpp/models/interfaces/Throwing.qll b/cpp/ql/lib/semmle/code/cpp/models/interfaces/Throwing.qll index bd64051d141..db6bd689b4f 100644 --- a/cpp/ql/lib/semmle/code/cpp/models/interfaces/Throwing.qll +++ b/cpp/ql/lib/semmle/code/cpp/models/interfaces/Throwing.qll @@ -66,23 +66,10 @@ abstract class ThrowingFunction extends ExceptionAnnotation { * Do not specify `none()` if no exception is raised, instead use the * `NonThrowingFunction` class instead. */ - abstract predicate raisesException(boolean unconditional); - - /** - * DEPRECATES: use/extend `raisesException` instead. - */ - deprecated predicate mayThrowException(boolean unconditional){ - this.raisesException(unconditional) - } + abstract predicate mayThrowException(boolean unconditional); /** * Holds if this function will always raise an exception if called */ - final predicate alwaysRaisesException() { this.raisesException(true) } - - /** - * Holds if this function may raise an exception if called but - * it is not guaranteed to do so. I.e., the function does not always raise an exception. - */ - final predicate mayRaiseException() { this.raisesException(false) } + final predicate alwaysRaisesException() { this.mayThrowException(true) } } From a69daa0d2018844fae600a420e7417de4f8600b8 Mon Sep 17 00:00:00 2001 From: "REDMOND\\brodes" Date: Tue, 19 Nov 2024 13:35:45 -0500 Subject: [PATCH 10/46] Missing change to 'mayThrowException' in StructuredExceptionHandling.qll --- .../cpp/models/implementations/StructuredExceptionHandling.qll | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/cpp/ql/lib/semmle/code/cpp/models/implementations/StructuredExceptionHandling.qll b/cpp/ql/lib/semmle/code/cpp/models/implementations/StructuredExceptionHandling.qll index 485dc7137b8..36a2f6cdbe4 100644 --- a/cpp/ql/lib/semmle/code/cpp/models/implementations/StructuredExceptionHandling.qll +++ b/cpp/ql/lib/semmle/code/cpp/models/implementations/StructuredExceptionHandling.qll @@ -5,7 +5,7 @@ class WindowsDriverExceptionAnnotation extends ThrowingFunction { this.hasGlobalName(["RaiseException", "ExRaiseAccessViolation", "ExRaiseDatatypeMisalignment"]) } - override predicate raisesException(boolean unconditional) { unconditional = true } + override predicate mayThrowException(boolean unconditional) { unconditional = true } override TSehException getExceptionType() { any() } } From 4e777561f06ad9f891de48ab648135ebc50cd361 Mon Sep 17 00:00:00 2001 From: "REDMOND\\brodes" Date: Tue, 19 Nov 2024 15:10:15 -0500 Subject: [PATCH 11/46] Changing terminology back to "throws" vs "rasis" for alwaysThrowsException to be consistent with other backward compatibility changes. --- cpp/ql/lib/semmle/code/cpp/models/interfaces/Throwing.qll | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/cpp/ql/lib/semmle/code/cpp/models/interfaces/Throwing.qll b/cpp/ql/lib/semmle/code/cpp/models/interfaces/Throwing.qll index db6bd689b4f..d64ba61caa0 100644 --- a/cpp/ql/lib/semmle/code/cpp/models/interfaces/Throwing.qll +++ b/cpp/ql/lib/semmle/code/cpp/models/interfaces/Throwing.qll @@ -71,5 +71,5 @@ abstract class ThrowingFunction extends ExceptionAnnotation { /** * Holds if this function will always raise an exception if called */ - final predicate alwaysRaisesException() { this.mayThrowException(true) } + final predicate alwaysThrowsException() { this.mayThrowException(true) } } From 69df07ed1208ca12a82e83c1c2da9f430dbd458a Mon Sep 17 00:00:00 2001 From: Ben Rodes Date: Wed, 20 Nov 2024 09:06:44 -0500 Subject: [PATCH 12/46] Update cpp/ql/lib/change-notes/2024-11-18-throwing-functions.md Co-authored-by: Mathias Vorreiter Pedersen --- cpp/ql/lib/change-notes/2024-11-18-throwing-functions.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/cpp/ql/lib/change-notes/2024-11-18-throwing-functions.md b/cpp/ql/lib/change-notes/2024-11-18-throwing-functions.md index f3c33f40b51..114822e6c8f 100644 --- a/cpp/ql/lib/change-notes/2024-11-18-throwing-functions.md +++ b/cpp/ql/lib/change-notes/2024-11-18-throwing-functions.md @@ -1,4 +1,4 @@ --- -category: minorAnalysis +category: deprecated --- -* Removed NonThrowing.qll. Throwing meta-data now part of Throwing.qll. Updated models and IR to use the new Throwing library and predicates. \ No newline at end of file +* The `NonThrowing` class (`semmle.code.cpp.models.interfaces.NonThrowing`) has been deprecated. Please use the `NonThrowing` class from `semmle.code.cpp.models.interfaces.Throwing` instead. \ No newline at end of file From fa8aba88af30c9b36405d4d3825f8efa453ef695 Mon Sep 17 00:00:00 2001 From: Jeroen Ketema Date: Thu, 21 Nov 2024 15:39:00 +0100 Subject: [PATCH 13/46] Revert "Merge pull request #17938 from MathiasVP/fix-fp-in-missing-check-scanf-fixing-take-2" This reverts commit 6785b93ed84cbb483bdd22b2163b8a3189118068, reversing changes made to d9b86f55c824eb35af651bef2830cbf7eecffcee. --- cpp/ql/lib/change-notes/released/2.1.1.md | 4 +- .../semmle/code/cpp/controlflow/IRGuards.qll | 351 ++++++------------ .../rangeanalysis/RangeAnalysis.expected | 1 - .../rangeanalysis/rangeanalysis/test.cpp | 2 +- .../controlflow/guards-ir/tests.expected | 318 ---------------- .../controlflow/guards/GuardsCompare.expected | 58 --- .../controlflow/guards/GuardsEnsure.expected | 111 ------ .../MissingCheckScanf.expected | 11 - .../Critical/MissingCheckScanf/test.cpp | 24 -- 9 files changed, 125 insertions(+), 755 deletions(-) diff --git a/cpp/ql/lib/change-notes/released/2.1.1.md b/cpp/ql/lib/change-notes/released/2.1.1.md index 39acc1a585f..f023e9166c2 100644 --- a/cpp/ql/lib/change-notes/released/2.1.1.md +++ b/cpp/ql/lib/change-notes/released/2.1.1.md @@ -1,5 +1,3 @@ ## 2.1.1 -### Minor Analysis Improvements - -* The `Guards` library (`semmle.code.cpp.controlflow.Guards`) has been improved to recognize more guard conditions. Additionally, the guards library no longer considers guards in static local initializers or global initializers as `GuardCondition`s. +No user-facing changes. diff --git a/cpp/ql/lib/semmle/code/cpp/controlflow/IRGuards.qll b/cpp/ql/lib/semmle/code/cpp/controlflow/IRGuards.qll index f16dbd3d49d..9b4d28430ff 100644 --- a/cpp/ql/lib/semmle/code/cpp/controlflow/IRGuards.qll +++ b/cpp/ql/lib/semmle/code/cpp/controlflow/IRGuards.qll @@ -5,7 +5,6 @@ import cpp import semmle.code.cpp.ir.IR -private import semmle.code.cpp.ir.ValueNumbering private import semmle.code.cpp.ir.implementation.raw.internal.TranslatedExpr private import semmle.code.cpp.ir.implementation.raw.internal.InstructionTag @@ -60,91 +59,7 @@ class MatchValue extends AbstractValue, TMatchValue { } /** - * A value number such that at least one of the instructions is - * a `CompareInstruction`. - */ -private class CompareValueNumber extends ValueNumber { - CompareInstruction cmp; - - CompareValueNumber() { cmp = this.getAnInstruction() } - - /** Gets a `CompareInstruction` belonging to this value number. */ - CompareInstruction getCompareInstruction() { result = cmp } - - /** - * Gets the left and right operands of a `CompareInstruction` that - * belong to this value number. - */ - predicate hasOperands(Operand left, Operand right) { - left = cmp.getLeftOperand() and - right = cmp.getRightOperand() - } -} - -private class CompareEQValueNumber extends CompareValueNumber { - override CompareEQInstruction cmp; -} - -private class CompareNEValueNumber extends CompareValueNumber { - override CompareNEInstruction cmp; -} - -private class CompareLTValueNumber extends CompareValueNumber { - override CompareLTInstruction cmp; -} - -private class CompareGTValueNumber extends CompareValueNumber { - override CompareGTInstruction cmp; -} - -private class CompareLEValueNumber extends CompareValueNumber { - override CompareLEInstruction cmp; -} - -private class CompareGEValueNumber extends CompareValueNumber { - override CompareGEInstruction cmp; -} - -/** - * A value number such that at least one of the instructions provides - * the integer value controlling a `SwitchInstruction`. - */ -private class SwitchConditionValueNumber extends ValueNumber { - SwitchInstruction switch; - - pragma[nomagic] - SwitchConditionValueNumber() { this.getAnInstruction() = switch.getExpression() } - - /** Gets an expression that belongs to this value number. */ - Operand getExpressionOperand() { result = switch.getExpressionOperand() } - - Instruction getSuccessor(CaseEdge kind) { result = switch.getSuccessor(kind) } -} - -private class BuiltinExpectCallValueNumber extends ValueNumber { - BuiltinExpectCallInstruction instr; - - BuiltinExpectCallValueNumber() { this.getAnInstruction() = instr } - - ValueNumber getCondition() { result.getAnInstruction() = instr.getCondition() } - - Operand getAUse() { result = instr.getAUse() } -} - -private class LogicalNotValueNumber extends ValueNumber { - LogicalNotInstruction instr; - - LogicalNotValueNumber() { this.getAnInstruction() = instr } - - ValueNumber getUnary() { result.getAnInstruction() = instr.getUnary() } -} - -/** - * A Boolean condition in the AST that guards one or more basic blocks. This includes - * operands of logical operators but not switch statements. - * - * For performance reasons conditions inside static local initializers or - * global initializers are not considered `GuardCondition`s. + * A Boolean condition in the AST that guards one or more basic blocks. */ cached class GuardCondition extends Expr { @@ -454,9 +369,6 @@ private predicate nonExcludedIRAndBasicBlock(IRBlock irb, BasicBlock controlled) * * Note that `&&` and `||` don't have an explicit representation in the IR, * and therefore will not appear as IRGuardConditions. - * - * For performance reasons conditions inside static local initializers or - * global initializers are not considered `IRGuardCondition`s. */ cached class IRGuardCondition extends Instruction { @@ -605,7 +517,7 @@ class IRGuardCondition extends Instruction { cached predicate comparesLt(Operand left, Operand right, int k, boolean isLessThan, boolean testIsTrue) { exists(BooleanValue value | - compares_lt(valueNumber(this), left, right, k, isLessThan, value) and + compares_lt(this, left, right, k, isLessThan, value) and value.getValue() = testIsTrue ) } @@ -616,7 +528,7 @@ class IRGuardCondition extends Instruction { */ cached predicate comparesLt(Operand op, int k, boolean isLessThan, AbstractValue value) { - compares_lt(valueNumber(this), op, k, isLessThan, value) + compares_lt(this, op, k, isLessThan, value) } /** @@ -626,8 +538,7 @@ class IRGuardCondition extends Instruction { cached predicate ensuresLt(Operand left, Operand right, int k, IRBlock block, boolean isLessThan) { exists(AbstractValue value | - compares_lt(valueNumber(this), left, right, k, isLessThan, value) and - this.valueControls(block, value) + compares_lt(this, left, right, k, isLessThan, value) and this.valueControls(block, value) ) } @@ -638,8 +549,7 @@ class IRGuardCondition extends Instruction { cached predicate ensuresLt(Operand op, int k, IRBlock block, boolean isLessThan) { exists(AbstractValue value | - compares_lt(valueNumber(this), op, k, isLessThan, value) and - this.valueControls(block, value) + compares_lt(this, op, k, isLessThan, value) and this.valueControls(block, value) ) } @@ -652,7 +562,7 @@ class IRGuardCondition extends Instruction { Operand left, Operand right, int k, IRBlock pred, IRBlock succ, boolean isLessThan ) { exists(AbstractValue value | - compares_lt(valueNumber(this), left, right, k, isLessThan, value) and + compares_lt(this, left, right, k, isLessThan, value) and this.valueControlsEdge(pred, succ, value) ) } @@ -664,7 +574,7 @@ class IRGuardCondition extends Instruction { cached predicate ensuresLtEdge(Operand left, int k, IRBlock pred, IRBlock succ, boolean isLessThan) { exists(AbstractValue value | - compares_lt(valueNumber(this), left, k, isLessThan, value) and + compares_lt(this, left, k, isLessThan, value) and this.valueControlsEdge(pred, succ, value) ) } @@ -673,7 +583,7 @@ class IRGuardCondition extends Instruction { cached predicate comparesEq(Operand left, Operand right, int k, boolean areEqual, boolean testIsTrue) { exists(BooleanValue value | - compares_eq(valueNumber(this), left, right, k, areEqual, value) and + compares_eq(this, left, right, k, areEqual, value) and value.getValue() = testIsTrue ) } @@ -681,7 +591,7 @@ class IRGuardCondition extends Instruction { /** Holds if (determined by this guard) `op == k` evaluates to `areEqual` if this expression evaluates to `value`. */ cached predicate comparesEq(Operand op, int k, boolean areEqual, AbstractValue value) { - unary_compares_eq(valueNumber(this), op, k, areEqual, false, value) + unary_compares_eq(this, op, k, areEqual, false, value) } /** @@ -691,8 +601,7 @@ class IRGuardCondition extends Instruction { cached predicate ensuresEq(Operand left, Operand right, int k, IRBlock block, boolean areEqual) { exists(AbstractValue value | - compares_eq(valueNumber(this), left, right, k, areEqual, value) and - this.valueControls(block, value) + compares_eq(this, left, right, k, areEqual, value) and this.valueControls(block, value) ) } @@ -703,8 +612,7 @@ class IRGuardCondition extends Instruction { cached predicate ensuresEq(Operand op, int k, IRBlock block, boolean areEqual) { exists(AbstractValue value | - unary_compares_eq(valueNumber(this), op, k, areEqual, false, value) and - this.valueControls(block, value) + unary_compares_eq(this, op, k, areEqual, false, value) and this.valueControls(block, value) ) } @@ -717,7 +625,7 @@ class IRGuardCondition extends Instruction { Operand left, Operand right, int k, IRBlock pred, IRBlock succ, boolean areEqual ) { exists(AbstractValue value | - compares_eq(valueNumber(this), left, right, k, areEqual, value) and + compares_eq(this, left, right, k, areEqual, value) and this.valueControlsEdge(pred, succ, value) ) } @@ -729,7 +637,7 @@ class IRGuardCondition extends Instruction { cached predicate ensuresEqEdge(Operand op, int k, IRBlock pred, IRBlock succ, boolean areEqual) { exists(AbstractValue value | - unary_compares_eq(valueNumber(this), op, k, areEqual, false, value) and + unary_compares_eq(this, op, k, areEqual, false, value) and this.valueControlsEdge(pred, succ, value) ) } @@ -817,20 +725,13 @@ class IRGuardCondition extends Instruction { } private Instruction getBranchForCondition(Instruction guard) { - // There are a lot of guards inside global or static local initializers, - // and on certain databases this can make the `ensures*` predicates - // blow up. - // These guards are likely not super important anyway. - guard.getEnclosingFunction() instanceof Function and - ( - result.(ConditionalBranchInstruction).getCondition() = guard - or - result.(SwitchInstruction).getExpression() = guard - ) + result.(ConditionalBranchInstruction).getCondition() = guard or exists(LogicalNotInstruction cond | result = getBranchForCondition(cond) and cond.getUnary() = guard ) + or + result.(SwitchInstruction).getExpression() = guard } /** @@ -839,7 +740,7 @@ private Instruction getBranchForCondition(Instruction guard) { * Beware making mistaken logical implications here relating `areEqual` and `testIsTrue`. */ private predicate compares_eq( - ValueNumber test, Operand left, Operand right, int k, boolean areEqual, AbstractValue value + Instruction test, Operand left, Operand right, int k, boolean areEqual, AbstractValue value ) { /* The simple case where the test *is* the comparison so areEqual = testIsTrue xor eq. */ exists(AbstractValue v | simple_comparison_eq(test, left, right, k, v) | @@ -858,10 +759,10 @@ private predicate compares_eq( or /* (x is true => (left == right + k)) => (!x is false => (left == right + k)) */ exists(AbstractValue dual | value = dual.getDualValue() | - compares_eq(test.(LogicalNotValueNumber).getUnary(), left, right, k, areEqual, dual) + compares_eq(test.(LogicalNotInstruction).getUnary(), left, right, k, areEqual, dual) ) or - compares_eq(test.(BuiltinExpectCallValueNumber).getCondition(), left, right, k, areEqual, value) + compares_eq(test.(BuiltinExpectCallInstruction).getCondition(), left, right, k, areEqual, value) } /** @@ -900,10 +801,12 @@ private predicate compares_eq( * latter. */ private predicate unary_compares_eq( - ValueNumber test, Operand op, int k, boolean areEqual, boolean inNonZeroCase, AbstractValue value + Instruction test, Operand op, int k, boolean areEqual, boolean inNonZeroCase, AbstractValue value ) { /* The simple case where the test *is* the comparison so areEqual = testIsTrue xor eq. */ - exists(AbstractValue v | unary_simple_comparison_eq(test, op, k, inNonZeroCase, v) | + exists(AbstractValue v | + unary_simple_comparison_eq(test, k, inNonZeroCase, v) and op.getDef() = test + | areEqual = true and value = v or areEqual = false and value = v.getDualValue() @@ -914,7 +817,7 @@ private predicate unary_compares_eq( /* (x is true => (op == k)) => (!x is false => (op == k)) */ exists(AbstractValue dual, boolean inNonZeroCase0 | value = dual.getDualValue() and - unary_compares_eq(test.(LogicalNotValueNumber).getUnary(), op, k, inNonZeroCase0, areEqual, dual) + unary_compares_eq(test.(LogicalNotInstruction).getUnary(), op, k, inNonZeroCase0, areEqual, dual) | k = 0 and inNonZeroCase = inNonZeroCase0 or @@ -924,95 +827,82 @@ private predicate unary_compares_eq( // ((test is `areEqual` => op == const + k2) and const == `k1`) => // test is `areEqual` => op == k1 + k2 inNonZeroCase = false and - exists(int k1, int k2, Instruction const | + exists(int k1, int k2, ConstantInstruction const | compares_eq(test, op, const.getAUse(), k2, areEqual, value) and int_value(const) = k1 and k = k1 + k2 ) or - unary_compares_eq(test.(BuiltinExpectCallValueNumber).getCondition(), op, k, areEqual, + unary_compares_eq(test.(BuiltinExpectCallInstruction).getCondition(), op, k, areEqual, inNonZeroCase, value) } /** Rearrange various simple comparisons into `left == right + k` form. */ private predicate simple_comparison_eq( - CompareValueNumber cmp, Operand left, Operand right, int k, AbstractValue value + CompareInstruction cmp, Operand left, Operand right, int k, AbstractValue value ) { - cmp instanceof CompareEQValueNumber and - cmp.hasOperands(left, right) and + left = cmp.getLeftOperand() and + cmp instanceof CompareEQInstruction and + right = cmp.getRightOperand() and k = 0 and value.(BooleanValue).getValue() = true or - cmp instanceof CompareNEValueNumber and - cmp.hasOperands(left, right) and + left = cmp.getLeftOperand() and + cmp instanceof CompareNEInstruction and + right = cmp.getRightOperand() and k = 0 and value.(BooleanValue).getValue() = false } /** - * Holds if `op` is an operand that is eventually used in a unary comparison - * with a constant. + * Rearrange various simple comparisons into `op == k` form. */ -private predicate isRelevantUnaryComparisonOperand(Operand op) { - // Base case: `op` is an operand of a `CompareEQInstruction` or `CompareNEInstruction`, - // and the other operand is a constant. - exists(CompareInstruction eq, Instruction instr | - eq.hasOperands(op, instr.getAUse()) and - exists(int_value(instr)) - | - eq instanceof CompareEQInstruction - or - eq instanceof CompareNEInstruction - ) - or - // C doesn't have int-to-bool conversions, so `if(x)` will just generate: - // r2_1(glval) = VariableAddress[x] - // r2_2(int) = Load[x] : &:r2_1, m1_6 - // v2_3(void) = ConditionalBranch : r2_2 - exists(ConditionalBranchInstruction branch | branch.getConditionOperand() = op) - or - // If `!x` is a relevant unary comparison then so is `x`. - exists(LogicalNotInstruction logicalNot | - isRelevantUnaryComparisonOperand(unique( | | logicalNot.getAUse())) and - logicalNot.getUnaryOperand() = op - ) - or - // If `y` is a relevant unary comparison and `y = x` then so is `x`. - not op.isDefinitionInexact() and - exists(CopyInstruction copy | - isRelevantUnaryComparisonOperand(unique( | | copy.getAUse())) and - op = copy.getSourceValueOperand() - ) - or - // If phi(x1, x2) is a relevant unary comparison then so are `x1` and `x2`. - not op.isDefinitionInexact() and - exists(PhiInstruction phi | - isRelevantUnaryComparisonOperand(unique( | | phi.getAUse())) and - op = phi.getAnInputOperand() - ) - or - // If `__builtin_expect(x)` is a relevant unary comparison then so is `x`. - exists(BuiltinExpectCallInstruction call | - isRelevantUnaryComparisonOperand(unique( | | call.getAUse())) and - op = call.getConditionOperand() - ) -} - -/** Rearrange various simple comparisons into `op == k` form. */ private predicate unary_simple_comparison_eq( - ValueNumber test, Operand op, int k, boolean inNonZeroCase, AbstractValue value + Instruction test, int k, boolean inNonZeroCase, AbstractValue value ) { - exists(CaseEdge case, SwitchConditionValueNumber condition | - condition = test and - op = condition.getExpressionOperand() and + exists(SwitchInstruction switch, CaseEdge case | + test = switch.getExpression() and case = value.(MatchValue).getCase() and - exists(condition.getSuccessor(case)) and + exists(switch.getSuccessor(case)) and case.getValue().toInt() = k and inNonZeroCase = false ) or - isRelevantUnaryComparisonOperand(op) and - op.getDef() = test.getAnInstruction() and + // Any instruction with an integral type could potentially be part of a + // check for nullness when used in a guard. So we include all integral + // typed instructions here. However, since some of these instructions are + // already included as guards in other cases, we exclude those here. + // These are instructions that compute a binary equality or inequality + // relation. For example, the following: + // ```cpp + // if(a == b + 42) { ... } + // ``` + // generates the following IR: + // ``` + // r1(glval) = VariableAddress[a] : + // r2(int) = Load[a] : &:r1, m1 + // r3(glval) = VariableAddress[b] : + // r4(int) = Load[b] : &:r3, m2 + // r5(int) = Constant[42] : + // r6(int) = Add : r4, r5 + // r7(bool) = CompareEQ : r2, r6 + // v1(void) = ConditionalBranch : r7 + // ``` + // and since `r7` is an integral typed instruction this predicate could + // include a case for when `r7` evaluates to true (in which case we would + // infer that `r6` was non-zero, and a case for when `r7` evaluates to false + // (in which case we would infer that `r6` was zero). + // However, since `a == b + 42` is already supported when reasoning about + // binary equalities we exclude those cases here. + not test.isGLValue() and + not simple_comparison_eq(test, _, _, _, _) and + not simple_comparison_lt(test, _, _, _) and + not test = any(SwitchInstruction switch).getExpression() and + ( + test.getResultIRType() instanceof IRAddressType or + test.getResultIRType() instanceof IRIntegerType or + test.getResultIRType() instanceof IRBooleanType + ) and ( k = 1 and value.(BooleanValue).getValue() = true and @@ -1029,12 +919,10 @@ private class BuiltinExpectCallInstruction extends CallInstruction { BuiltinExpectCallInstruction() { this.getStaticCallTarget().hasName("__builtin_expect") } /** Gets the condition of this call. */ - Instruction getCondition() { result = this.getConditionOperand().getDef() } - - Operand getConditionOperand() { + Instruction getCondition() { // The first parameter of `__builtin_expect` has type `long`. So we skip // the conversion when inferring guards. - result = this.getArgument(0).(ConvertInstruction).getUnaryOperand() + result = this.getArgument(0).(ConvertInstruction).getUnary() } } @@ -1044,23 +932,23 @@ private class BuiltinExpectCallInstruction extends CallInstruction { * `__builtin_expect(left == right + k, _)` to `0`. */ private predicate builtin_expect_eq( - CompareValueNumber cmp, Operand left, Operand right, int k, boolean areEqual, AbstractValue value + CompareInstruction cmp, Operand left, Operand right, int k, boolean areEqual, AbstractValue value ) { - exists(BuiltinExpectCallValueNumber call, Instruction const, AbstractValue innerValue | + exists(BuiltinExpectCallInstruction call, Instruction const, AbstractValue innerValue | int_value(const) = 0 and cmp.hasOperands(call.getAUse(), const.getAUse()) and compares_eq(call.getCondition(), left, right, k, areEqual, innerValue) | - cmp instanceof CompareNEValueNumber and + cmp instanceof CompareNEInstruction and value = innerValue or - cmp instanceof CompareEQValueNumber and + cmp instanceof CompareEQInstruction and value.getDualValue() = innerValue ) } private predicate complex_eq( - ValueNumber cmp, Operand left, Operand right, int k, boolean areEqual, AbstractValue value + CompareInstruction cmp, Operand left, Operand right, int k, boolean areEqual, AbstractValue value ) { sub_eq(cmp, left, right, k, areEqual, value) or @@ -1074,24 +962,24 @@ private predicate complex_eq( * an instruction that compares the value of `__builtin_expect(op == k, _)` to `0`. */ private predicate unary_builtin_expect_eq( - CompareValueNumber cmp, Operand op, int k, boolean areEqual, boolean inNonZeroCase, + CompareInstruction cmp, Operand op, int k, boolean areEqual, boolean inNonZeroCase, AbstractValue value ) { - exists(BuiltinExpectCallValueNumber call, Instruction const, AbstractValue innerValue | + exists(BuiltinExpectCallInstruction call, Instruction const, AbstractValue innerValue | int_value(const) = 0 and cmp.hasOperands(call.getAUse(), const.getAUse()) and unary_compares_eq(call.getCondition(), op, k, areEqual, inNonZeroCase, innerValue) | - cmp instanceof CompareNEValueNumber and + cmp instanceof CompareNEInstruction and value = innerValue or - cmp instanceof CompareEQValueNumber and + cmp instanceof CompareEQInstruction and value.getDualValue() = innerValue ) } private predicate unary_complex_eq( - ValueNumber test, Operand op, int k, boolean areEqual, boolean inNonZeroCase, AbstractValue value + Instruction test, Operand op, int k, boolean areEqual, boolean inNonZeroCase, AbstractValue value ) { unary_sub_eq(test, op, k, areEqual, inNonZeroCase, value) or @@ -1107,7 +995,7 @@ private predicate unary_complex_eq( /** Holds if `left < right + k` evaluates to `isLt` given that test is `testIsTrue`. */ private predicate compares_lt( - ValueNumber test, Operand left, Operand right, int k, boolean isLt, AbstractValue value + Instruction test, Operand left, Operand right, int k, boolean isLt, AbstractValue value ) { /* In the simple case, the test is the comparison, so isLt = testIsTrue */ simple_comparison_lt(test, left, right, k) and @@ -1120,22 +1008,23 @@ private predicate compares_lt( or /* (x is true => (left < right + k)) => (!x is false => (left < right + k)) */ exists(AbstractValue dual | value = dual.getDualValue() | - compares_lt(test.(LogicalNotValueNumber).getUnary(), left, right, k, isLt, dual) + compares_lt(test.(LogicalNotInstruction).getUnary(), left, right, k, isLt, dual) ) } /** Holds if `op < k` evaluates to `isLt` given that `test` evaluates to `value`. */ -private predicate compares_lt(ValueNumber test, Operand op, int k, boolean isLt, AbstractValue value) { - unary_simple_comparison_lt(test, op, k, isLt, value) +private predicate compares_lt(Instruction test, Operand op, int k, boolean isLt, AbstractValue value) { + unary_simple_comparison_lt(test, k, isLt, value) and + op.getDef() = test or complex_lt(test, op, k, isLt, value) or /* (x is true => (op < k)) => (!x is false => (op < k)) */ exists(AbstractValue dual | value = dual.getDualValue() | - compares_lt(test.(LogicalNotValueNumber).getUnary(), op, k, isLt, dual) + compares_lt(test.(LogicalNotInstruction).getUnary(), op, k, isLt, dual) ) or - exists(int k1, int k2, Instruction const | + exists(int k1, int k2, ConstantInstruction const | compares_lt(test, op, const.getAUse(), k2, isLt, value) and int_value(const) = k1 and k = k1 + k2 @@ -1144,38 +1033,42 @@ private predicate compares_lt(ValueNumber test, Operand op, int k, boolean isLt, /** `(a < b + k) => (b > a - k) => (b >= a + (1-k))` */ private predicate compares_ge( - ValueNumber test, Operand left, Operand right, int k, boolean isGe, AbstractValue value + Instruction test, Operand left, Operand right, int k, boolean isGe, AbstractValue value ) { exists(int onemk | k = 1 - onemk | compares_lt(test, right, left, onemk, isGe, value)) } /** Rearrange various simple comparisons into `left < right + k` form. */ -private predicate simple_comparison_lt(CompareValueNumber cmp, Operand left, Operand right, int k) { - cmp.hasOperands(left, right) and - cmp instanceof CompareLTValueNumber and +private predicate simple_comparison_lt(CompareInstruction cmp, Operand left, Operand right, int k) { + left = cmp.getLeftOperand() and + cmp instanceof CompareLTInstruction and + right = cmp.getRightOperand() and k = 0 or - cmp.hasOperands(left, right) and - cmp instanceof CompareLEValueNumber and + left = cmp.getLeftOperand() and + cmp instanceof CompareLEInstruction and + right = cmp.getRightOperand() and k = 1 or - cmp.hasOperands(right, left) and - cmp instanceof CompareGTValueNumber and + right = cmp.getLeftOperand() and + cmp instanceof CompareGTInstruction and + left = cmp.getRightOperand() and k = 0 or - cmp.hasOperands(right, left) and - cmp instanceof CompareGEValueNumber and + right = cmp.getLeftOperand() and + cmp instanceof CompareGEInstruction and + left = cmp.getRightOperand() and k = 1 } /** Rearrange various simple comparisons into `op < k` form. */ private predicate unary_simple_comparison_lt( - SwitchConditionValueNumber test, Operand op, int k, boolean isLt, AbstractValue value + Instruction test, int k, boolean isLt, AbstractValue value ) { - exists(CaseEdge case | - test.getExpressionOperand() = op and + exists(SwitchInstruction switch, CaseEdge case | + test = switch.getExpression() and case = value.(MatchValue).getCase() and - exists(test.getSuccessor(case)) and + exists(switch.getSuccessor(case)) and case.getMaxValue() > case.getMinValue() | // op <= k => op < k - 1 @@ -1188,7 +1081,7 @@ private predicate unary_simple_comparison_lt( } private predicate complex_lt( - ValueNumber cmp, Operand left, Operand right, int k, boolean isLt, AbstractValue value + CompareInstruction cmp, Operand left, Operand right, int k, boolean isLt, AbstractValue value ) { sub_lt(cmp, left, right, k, isLt, value) or @@ -1196,7 +1089,7 @@ private predicate complex_lt( } private predicate complex_lt( - ValueNumber test, Operand left, int k, boolean isLt, AbstractValue value + Instruction test, Operand left, int k, boolean isLt, AbstractValue value ) { sub_lt(test, left, k, isLt, value) or @@ -1206,7 +1099,7 @@ private predicate complex_lt( // left - x < right + c => left < right + (c+x) // left < (right - x) + c => left < right + (c-x) private predicate sub_lt( - ValueNumber cmp, Operand left, Operand right, int k, boolean isLt, AbstractValue value + CompareInstruction cmp, Operand left, Operand right, int k, boolean isLt, AbstractValue value ) { exists(SubInstruction lhs, int c, int x | compares_lt(cmp, lhs.getAUse(), right, c, isLt, value) and @@ -1237,7 +1130,7 @@ private predicate sub_lt( ) } -private predicate sub_lt(ValueNumber test, Operand left, int k, boolean isLt, AbstractValue value) { +private predicate sub_lt(Instruction test, Operand left, int k, boolean isLt, AbstractValue value) { exists(SubInstruction lhs, int c, int x | compares_lt(test, lhs.getAUse(), c, isLt, value) and left = lhs.getLeftOperand() and @@ -1256,7 +1149,7 @@ private predicate sub_lt(ValueNumber test, Operand left, int k, boolean isLt, Ab // left + x < right + c => left < right + (c-x) // left < (right + x) + c => left < right + (c+x) private predicate add_lt( - ValueNumber cmp, Operand left, Operand right, int k, boolean isLt, AbstractValue value + CompareInstruction cmp, Operand left, Operand right, int k, boolean isLt, AbstractValue value ) { exists(AddInstruction lhs, int c, int x | compares_lt(cmp, lhs.getAUse(), right, c, isLt, value) and @@ -1299,7 +1192,7 @@ private predicate add_lt( ) } -private predicate add_lt(ValueNumber test, Operand left, int k, boolean isLt, AbstractValue value) { +private predicate add_lt(Instruction test, Operand left, int k, boolean isLt, AbstractValue value) { exists(AddInstruction lhs, int c, int x | compares_lt(test, lhs.getAUse(), c, isLt, value) and ( @@ -1324,7 +1217,7 @@ private predicate add_lt(ValueNumber test, Operand left, int k, boolean isLt, Ab // left - x == right + c => left == right + (c+x) // left == (right - x) + c => left == right + (c-x) private predicate sub_eq( - ValueNumber cmp, Operand left, Operand right, int k, boolean areEqual, AbstractValue value + CompareInstruction cmp, Operand left, Operand right, int k, boolean areEqual, AbstractValue value ) { exists(SubInstruction lhs, int c, int x | compares_eq(cmp, lhs.getAUse(), right, c, areEqual, value) and @@ -1357,7 +1250,7 @@ private predicate sub_eq( // op - x == c => op == (c+x) private predicate unary_sub_eq( - ValueNumber test, Operand op, int k, boolean areEqual, boolean inNonZeroCase, AbstractValue value + Instruction test, Operand op, int k, boolean areEqual, boolean inNonZeroCase, AbstractValue value ) { inNonZeroCase = false and exists(SubInstruction sub, int c, int x | @@ -1379,7 +1272,7 @@ private predicate unary_sub_eq( // left + x == right + c => left == right + (c-x) // left == (right + x) + c => left == right + (c+x) private predicate add_eq( - ValueNumber cmp, Operand left, Operand right, int k, boolean areEqual, AbstractValue value + CompareInstruction cmp, Operand left, Operand right, int k, boolean areEqual, AbstractValue value ) { exists(AddInstruction lhs, int c, int x | compares_eq(cmp, lhs.getAUse(), right, c, areEqual, value) and @@ -1424,7 +1317,7 @@ private predicate add_eq( // left + x == right + c => left == right + (c-x) private predicate unary_add_eq( - ValueNumber test, Operand left, int k, boolean areEqual, boolean inNonZeroCase, + Instruction test, Operand left, int k, boolean areEqual, boolean inNonZeroCase, AbstractValue value ) { inNonZeroCase = false and @@ -1458,4 +1351,6 @@ private class IntegerOrPointerConstantInstruction extends ConstantInstruction { } /** The int value of integer constant expression. */ -private int int_value(IntegerOrPointerConstantInstruction i) { result = i.getValue().toInt() } +private int int_value(Instruction i) { + result = i.(IntegerOrPointerConstantInstruction).getValue().toInt() +} diff --git a/cpp/ql/test/experimental/library-tests/rangeanalysis/rangeanalysis/RangeAnalysis.expected b/cpp/ql/test/experimental/library-tests/rangeanalysis/rangeanalysis/RangeAnalysis.expected index 15125038d19..106313c8707 100644 --- a/cpp/ql/test/experimental/library-tests/rangeanalysis/rangeanalysis/RangeAnalysis.expected +++ b/cpp/ql/test/experimental/library-tests/rangeanalysis/rangeanalysis/RangeAnalysis.expected @@ -17,7 +17,6 @@ | test.cpp:49:12:49:12 | Load: x | test.cpp:46:22:46:22 | ValueNumberBound | -1 | true | CompareLT: ... < ... | test.cpp:48:9:48:13 | test.cpp:48:9:48:13 | | test.cpp:49:12:49:12 | Load: x | test.cpp:46:29:46:29 | ValueNumberBound | -2 | true | CompareLT: ... < ... | test.cpp:48:9:48:13 | test.cpp:48:9:48:13 | | test.cpp:54:12:54:12 | Load: x | test.cpp:46:22:46:22 | ValueNumberBound | -1 | true | CompareLT: ... < ... | test.cpp:52:7:52:11 | test.cpp:52:7:52:11 | -| test.cpp:54:12:54:12 | Load: x | test.cpp:46:29:46:29 | ValueNumberBound | -2 | true | CompareLT: ... < ... | test.cpp:52:7:52:11 | test.cpp:52:7:52:11 | | test.cpp:62:10:62:13 | Load: iter | test.cpp:60:17:60:17 | ValueNumberBound | 0 | false | NoReason | file://:0:0:0:0 | file://:0:0:0:0 | | test.cpp:62:10:62:13 | Load: iter | test.cpp:60:17:60:17 | ValueNumberBound | 3 | true | CompareLT: ... < ... | test.cpp:61:32:61:51 | test.cpp:61:32:61:51 | | test.cpp:62:10:62:13 | Load: iter | test.cpp:61:39:61:51 | ValueNumberBound | -1 | true | CompareLT: ... < ... | test.cpp:61:32:61:51 | test.cpp:61:32:61:51 | diff --git a/cpp/ql/test/experimental/library-tests/rangeanalysis/rangeanalysis/test.cpp b/cpp/ql/test/experimental/library-tests/rangeanalysis/rangeanalysis/test.cpp index 6b241fc42f7..87653c2fa43 100644 --- a/cpp/ql/test/experimental/library-tests/rangeanalysis/rangeanalysis/test.cpp +++ b/cpp/ql/test/experimental/library-tests/rangeanalysis/rangeanalysis/test.cpp @@ -51,7 +51,7 @@ int test5(int x, int y, int z) { } if (x < y) { if (y < z) { - sink(x); // x < z is inferred here + sink(x); // x < z is not inferred here } } } diff --git a/cpp/ql/test/library-tests/controlflow/guards-ir/tests.expected b/cpp/ql/test/library-tests/controlflow/guards-ir/tests.expected index 24ce995f813..d097fa7dfa6 100644 --- a/cpp/ql/test/library-tests/controlflow/guards-ir/tests.expected +++ b/cpp/ql/test/library-tests/controlflow/guards-ir/tests.expected @@ -42,8 +42,6 @@ astGuards astGuardsCompare | 7 | 0 < x+0 when ... > ... is true | | 7 | 0 >= x+0 when ... > ... is false | -| 7 | ... > ... != 0 when ... > ... is true | -| 7 | ... > ... == 0 when ... > ... is false | | 7 | x < 0+1 when ... > ... is false | | 7 | x >= 0+1 when ... > ... is true | | 17 | 0 < x+1 when ... < ... is false | @@ -52,12 +50,6 @@ astGuardsCompare | 17 | 1 < y+0 when ... && ... is true | | 17 | 1 < y+0 when ... > ... is true | | 17 | 1 >= y+0 when ... > ... is false | -| 17 | ... < ... != 0 when ... && ... is true | -| 17 | ... < ... != 0 when ... < ... is true | -| 17 | ... < ... == 0 when ... < ... is false | -| 17 | ... > ... != 0 when ... && ... is true | -| 17 | ... > ... != 0 when ... > ... is true | -| 17 | ... > ... == 0 when ... > ... is false | | 17 | x < 0+0 when ... && ... is true | | 17 | x < 0+0 when ... < ... is true | | 17 | x >= 0+0 when ... < ... is false | @@ -68,42 +60,30 @@ astGuardsCompare | 18 | call to get == 0 when call to get is false | | 26 | 0 < x+0 when ... > ... is true | | 26 | 0 >= x+0 when ... > ... is false | -| 26 | ... > ... != 0 when ... > ... is true | -| 26 | ... > ... == 0 when ... > ... is false | | 26 | x < 0+1 when ... > ... is false | | 26 | x >= 0+1 when ... > ... is true | | 31 | - ... != x+0 when ... == ... is false | | 31 | - ... == x+0 when ... == ... is true | -| 31 | ... == ... != 0 when ... == ... is true | -| 31 | ... == ... == 0 when ... == ... is false | | 31 | x != -1 when ... == ... is false | | 31 | x != - ...+0 when ... == ... is false | | 31 | x == -1 when ... == ... is true | | 31 | x == - ...+0 when ... == ... is true | | 34 | 10 < j+1 when ... < ... is false | | 34 | 10 >= j+1 when ... < ... is true | -| 34 | ... < ... != 0 when ... < ... is true | -| 34 | ... < ... == 0 when ... < ... is false | | 34 | j < 10+0 when ... < ... is true | | 34 | j >= 10+0 when ... < ... is false | | 42 | 10 < j+1 when ... < ... is false | | 42 | 10 >= j+1 when ... < ... is true | -| 42 | ... < ... != 0 when ... < ... is true | -| 42 | ... < ... == 0 when ... < ... is false | | 42 | call to getABool != 0 when call to getABool is true | | 42 | call to getABool == 0 when call to getABool is false | | 42 | j < 10+0 when ... < ... is true | | 42 | j >= 10+0 when ... < ... is false | | 44 | 0 < z+0 when ... > ... is true | | 44 | 0 >= z+0 when ... > ... is false | -| 44 | ... > ... != 0 when ... > ... is true | -| 44 | ... > ... == 0 when ... > ... is false | | 44 | z < 0+1 when ... > ... is false | | 44 | z >= 0+1 when ... > ... is true | | 45 | 0 < y+0 when ... > ... is true | | 45 | 0 >= y+0 when ... > ... is false | -| 45 | ... > ... != 0 when ... > ... is true | -| 45 | ... > ... == 0 when ... > ... is false | | 45 | y < 0+1 when ... > ... is false | | 45 | y >= 0+1 when ... > ... is true | | 58 | 0 != x+0 when ... == ... is false | @@ -112,12 +92,6 @@ astGuardsCompare | 58 | 0 < y+1 when ... \|\| ... is false | | 58 | 0 == x+0 when ... == ... is true | | 58 | 0 >= y+1 when ... < ... is true | -| 58 | ... < ... != 0 when ... < ... is true | -| 58 | ... < ... == 0 when ... < ... is false | -| 58 | ... < ... == 0 when ... \|\| ... is false | -| 58 | ... == ... != 0 when ... == ... is true | -| 58 | ... == ... == 0 when ... == ... is false | -| 58 | ... == ... == 0 when ... \|\| ... is false | | 58 | x != 0 when ... == ... is false | | 58 | x != 0 when ... \|\| ... is false | | 58 | x != 0+0 when ... == ... is false | @@ -129,8 +103,6 @@ astGuardsCompare | 58 | y >= 0+0 when ... \|\| ... is false | | 75 | 0 != x+0 when ... == ... is false | | 75 | 0 == x+0 when ... == ... is true | -| 75 | ... == ... != 0 when ... == ... is true | -| 75 | ... == ... == 0 when ... == ... is false | | 75 | x != 0 when ... == ... is false | | 75 | x != 0+0 when ... == ... is false | | 75 | x == 0 when ... == ... is true | @@ -141,12 +113,6 @@ astGuardsCompare | 85 | 0 == x+0 when ... && ... is true | | 85 | 0 == x+0 when ... == ... is true | | 85 | 0 == y+0 when ... != ... is false | -| 85 | ... != ... != 0 when ... != ... is true | -| 85 | ... != ... != 0 when ... && ... is true | -| 85 | ... != ... == 0 when ... != ... is false | -| 85 | ... == ... != 0 when ... && ... is true | -| 85 | ... == ... != 0 when ... == ... is true | -| 85 | ... == ... == 0 when ... == ... is false | | 85 | x != 0 when ... == ... is false | | 85 | x != 0+0 when ... == ... is false | | 85 | x == 0 when ... && ... is true | @@ -161,16 +127,12 @@ astGuardsCompare | 85 | y == 0+0 when ... != ... is false | | 94 | 0 != x+0 when ... != ... is true | | 94 | 0 == x+0 when ... != ... is false | -| 94 | ... != ... != 0 when ... != ... is true | -| 94 | ... != ... == 0 when ... != ... is false | | 94 | x != 0 when ... != ... is true | | 94 | x != 0+0 when ... != ... is true | | 94 | x == 0 when ... != ... is false | | 94 | x == 0+0 when ... != ... is false | | 102 | 10 < j+1 when ... < ... is false | | 102 | 10 >= j+1 when ... < ... is true | -| 102 | ... < ... != 0 when ... < ... is true | -| 102 | ... < ... == 0 when ... < ... is false | | 102 | j < 10+0 when ... < ... is true | | 102 | j >= 10+0 when ... < ... is false | | 109 | 0 != x+0 when ... == ... is false | @@ -179,12 +141,6 @@ astGuardsCompare | 109 | 0 < y+1 when ... \|\| ... is false | | 109 | 0 == x+0 when ... == ... is true | | 109 | 0 >= y+1 when ... < ... is true | -| 109 | ... < ... != 0 when ... < ... is true | -| 109 | ... < ... == 0 when ... < ... is false | -| 109 | ... < ... == 0 when ... \|\| ... is false | -| 109 | ... == ... != 0 when ... == ... is true | -| 109 | ... == ... == 0 when ... == ... is false | -| 109 | ... == ... == 0 when ... \|\| ... is false | | 109 | x != 0 when ... == ... is false | | 109 | x != 0 when ... \|\| ... is false | | 109 | x != 0+0 when ... == ... is false | @@ -217,8 +173,6 @@ astGuardsCompare | 152 | y == 0 when y is false | | 156 | ... + ... != x+0 when ... == ... is false | | 156 | ... + ... == x+0 when ... == ... is true | -| 156 | ... == ... != 0 when ... == ... is true | -| 156 | ... == ... == 0 when ... == ... is false | | 156 | x != ... + ...+0 when ... == ... is false | | 156 | x != y+42 when ... == ... is false | | 156 | x == ... + ...+0 when ... == ... is true | @@ -227,8 +181,6 @@ astGuardsCompare | 156 | y == x+-42 when ... == ... is true | | 159 | ... - ... != x+0 when ... == ... is false | | 159 | ... - ... == x+0 when ... == ... is true | -| 159 | ... == ... != 0 when ... == ... is true | -| 159 | ... == ... == 0 when ... == ... is false | | 159 | x != ... - ...+0 when ... == ... is false | | 159 | x != y+-42 when ... == ... is false | | 159 | x == ... - ...+0 when ... == ... is true | @@ -237,8 +189,6 @@ astGuardsCompare | 159 | y == x+42 when ... == ... is true | | 162 | ... + ... < x+1 when ... < ... is false | | 162 | ... + ... >= x+1 when ... < ... is true | -| 162 | ... < ... != 0 when ... < ... is true | -| 162 | ... < ... == 0 when ... < ... is false | | 162 | x < ... + ...+0 when ... < ... is true | | 162 | x < y+42 when ... < ... is true | | 162 | x >= ... + ...+0 when ... < ... is false | @@ -247,8 +197,6 @@ astGuardsCompare | 162 | y >= x+-41 when ... < ... is true | | 165 | ... - ... < x+1 when ... < ... is false | | 165 | ... - ... >= x+1 when ... < ... is true | -| 165 | ... < ... != 0 when ... < ... is true | -| 165 | ... < ... == 0 when ... < ... is false | | 165 | x < ... - ...+0 when ... < ... is true | | 165 | x < y+-42 when ... < ... is true | | 165 | x >= ... - ...+0 when ... < ... is false | @@ -257,8 +205,6 @@ astGuardsCompare | 165 | y >= x+43 when ... < ... is true | | 175 | 0 != call to foo+0 when ... == ... is false | | 175 | 0 == call to foo+0 when ... == ... is true | -| 175 | ... == ... != 0 when ... == ... is true | -| 175 | ... == ... == 0 when ... == ... is false | | 175 | call to foo != 0 when ... == ... is false | | 175 | call to foo != 0+0 when ... == ... is false | | 175 | call to foo == 0 when ... == ... is true | @@ -468,20 +414,10 @@ astGuardsEnsure | test.c:75:9:75:14 | ... == ... | test.c:75:9:75:9 | x | == | test.c:75:14:75:14 | 0 | 0 | 75 | 77 | | test.c:75:9:75:14 | ... == ... | test.c:75:14:75:14 | 0 | != | test.c:75:9:75:9 | x | 0 | 78 | 79 | | test.c:75:9:75:14 | ... == ... | test.c:75:14:75:14 | 0 | == | test.c:75:9:75:9 | x | 0 | 75 | 77 | -| test.c:75:9:75:14 | ... == ... | test.c:85:8:85:8 | x | != | test.c:85:13:85:13 | 0 | 0 | 78 | 79 | -| test.c:75:9:75:14 | ... == ... | test.c:85:8:85:8 | x | == | test.c:85:13:85:13 | 0 | 0 | 75 | 77 | -| test.c:75:9:75:14 | ... == ... | test.c:85:13:85:13 | 0 | != | test.c:85:8:85:8 | x | 0 | 78 | 79 | -| test.c:75:9:75:14 | ... == ... | test.c:85:13:85:13 | 0 | == | test.c:85:8:85:8 | x | 0 | 75 | 77 | -| test.c:85:8:85:13 | ... == ... | test.c:75:9:75:9 | x | == | test.c:75:14:75:14 | 0 | 0 | 85 | 85 | -| test.c:85:8:85:13 | ... == ... | test.c:75:9:75:9 | x | == | test.c:75:14:75:14 | 0 | 0 | 86 | 86 | -| test.c:85:8:85:13 | ... == ... | test.c:75:14:75:14 | 0 | == | test.c:75:9:75:9 | x | 0 | 85 | 85 | -| test.c:85:8:85:13 | ... == ... | test.c:75:14:75:14 | 0 | == | test.c:75:9:75:9 | x | 0 | 86 | 86 | | test.c:85:8:85:13 | ... == ... | test.c:85:8:85:8 | x | == | test.c:85:13:85:13 | 0 | 0 | 85 | 85 | | test.c:85:8:85:13 | ... == ... | test.c:85:8:85:8 | x | == | test.c:85:13:85:13 | 0 | 0 | 86 | 86 | | test.c:85:8:85:13 | ... == ... | test.c:85:13:85:13 | 0 | == | test.c:85:8:85:8 | x | 0 | 85 | 85 | | test.c:85:8:85:13 | ... == ... | test.c:85:13:85:13 | 0 | == | test.c:85:8:85:8 | x | 0 | 86 | 86 | -| test.c:85:8:85:23 | ... && ... | test.c:75:9:75:9 | x | == | test.c:75:14:75:14 | 0 | 0 | 86 | 86 | -| test.c:85:8:85:23 | ... && ... | test.c:75:14:75:14 | 0 | == | test.c:75:9:75:9 | x | 0 | 86 | 86 | | test.c:85:8:85:23 | ... && ... | test.c:85:8:85:8 | x | == | test.c:85:13:85:13 | 0 | 0 | 86 | 86 | | test.c:85:8:85:23 | ... && ... | test.c:85:13:85:13 | 0 | == | test.c:85:8:85:8 | x | 0 | 86 | 86 | | test.c:85:8:85:23 | ... && ... | test.c:85:18:85:18 | y | != | test.c:85:23:85:23 | 0 | 0 | 86 | 86 | @@ -555,81 +491,16 @@ astGuardsEnsure | test.cpp:31:7:31:13 | ... == ... | test.cpp:31:12:31:13 | - ... | == | test.cpp:31:7:31:7 | x | 0 | 30 | 30 | | test.cpp:31:7:31:13 | ... == ... | test.cpp:31:12:31:13 | - ... | == | test.cpp:31:7:31:7 | x | 0 | 31 | 32 | astGuardsEnsure_const -| test.c:7:9:7:13 | ... > ... | test.c:7:9:7:13 | ... > ... | != | 0 | 7 | 9 | -| test.c:7:9:7:13 | ... > ... | test.c:7:9:7:13 | ... > ... | == | 0 | 10 | 11 | -| test.c:17:8:17:12 | ... < ... | test.c:17:8:17:12 | ... < ... | != | 0 | 17 | 17 | -| test.c:17:8:17:12 | ... < ... | test.c:17:8:17:12 | ... < ... | != | 0 | 18 | 18 | -| test.c:17:8:17:21 | ... && ... | test.c:17:8:17:12 | ... < ... | != | 0 | 18 | 18 | -| test.c:17:8:17:21 | ... && ... | test.c:17:17:17:21 | ... > ... | != | 0 | 18 | 18 | -| test.c:17:17:17:21 | ... > ... | test.c:17:17:17:21 | ... > ... | != | 0 | 18 | 18 | -| test.c:26:11:26:15 | ... > ... | test.c:26:11:26:15 | ... > ... | != | 0 | 26 | 28 | -| test.c:26:11:26:15 | ... > ... | test.c:26:11:26:15 | ... > ... | == | 0 | 2 | 2 | -| test.c:26:11:26:15 | ... > ... | test.c:26:11:26:15 | ... > ... | == | 0 | 31 | 34 | -| test.c:26:11:26:15 | ... > ... | test.c:26:11:26:15 | ... > ... | == | 0 | 34 | 34 | -| test.c:26:11:26:15 | ... > ... | test.c:26:11:26:15 | ... > ... | == | 0 | 39 | 42 | -| test.c:26:11:26:15 | ... > ... | test.c:26:11:26:15 | ... > ... | == | 0 | 42 | 42 | -| test.c:26:11:26:15 | ... > ... | test.c:26:11:26:15 | ... > ... | == | 0 | 42 | 44 | -| test.c:26:11:26:15 | ... > ... | test.c:26:11:26:15 | ... > ... | == | 0 | 45 | 45 | -| test.c:26:11:26:15 | ... > ... | test.c:26:11:26:15 | ... > ... | == | 0 | 45 | 47 | -| test.c:26:11:26:15 | ... > ... | test.c:26:11:26:15 | ... > ... | == | 0 | 51 | 53 | -| test.c:26:11:26:15 | ... > ... | test.c:26:11:26:15 | ... > ... | == | 0 | 56 | 58 | -| test.c:26:11:26:15 | ... > ... | test.c:26:11:26:15 | ... > ... | == | 0 | 58 | 58 | -| test.c:26:11:26:15 | ... > ... | test.c:26:11:26:15 | ... > ... | == | 0 | 58 | 66 | -| test.c:26:11:26:15 | ... > ... | test.c:26:11:26:15 | ... > ... | == | 0 | 62 | 62 | -| test.c:34:16:34:21 | ... < ... | test.c:34:16:34:21 | ... < ... | != | 0 | 34 | 34 | -| test.c:34:16:34:21 | ... < ... | test.c:34:16:34:21 | ... < ... | == | 0 | 2 | 2 | -| test.c:34:16:34:21 | ... < ... | test.c:34:16:34:21 | ... < ... | == | 0 | 39 | 42 | -| test.c:34:16:34:21 | ... < ... | test.c:34:16:34:21 | ... < ... | == | 0 | 42 | 42 | -| test.c:34:16:34:21 | ... < ... | test.c:34:16:34:21 | ... < ... | == | 0 | 42 | 44 | -| test.c:34:16:34:21 | ... < ... | test.c:34:16:34:21 | ... < ... | == | 0 | 45 | 45 | -| test.c:34:16:34:21 | ... < ... | test.c:34:16:34:21 | ... < ... | == | 0 | 45 | 47 | -| test.c:34:16:34:21 | ... < ... | test.c:34:16:34:21 | ... < ... | == | 0 | 51 | 53 | -| test.c:34:16:34:21 | ... < ... | test.c:34:16:34:21 | ... < ... | == | 0 | 56 | 58 | -| test.c:34:16:34:21 | ... < ... | test.c:34:16:34:21 | ... < ... | == | 0 | 58 | 58 | -| test.c:34:16:34:21 | ... < ... | test.c:34:16:34:21 | ... < ... | == | 0 | 58 | 66 | -| test.c:34:16:34:21 | ... < ... | test.c:34:16:34:21 | ... < ... | == | 0 | 62 | 62 | -| test.c:42:16:42:21 | ... < ... | test.c:42:16:42:21 | ... < ... | != | 0 | 42 | 42 | -| test.c:42:16:42:21 | ... < ... | test.c:42:16:42:21 | ... < ... | != | 0 | 42 | 44 | -| test.c:42:16:42:21 | ... < ... | test.c:42:16:42:21 | ... < ... | != | 0 | 45 | 45 | -| test.c:42:16:42:21 | ... < ... | test.c:42:16:42:21 | ... < ... | != | 0 | 45 | 47 | -| test.c:42:16:42:21 | ... < ... | test.c:42:16:42:21 | ... < ... | != | 0 | 51 | 53 | -| test.c:44:12:44:16 | ... > ... | test.c:44:12:44:16 | ... > ... | != | 0 | 45 | 45 | -| test.c:44:12:44:16 | ... > ... | test.c:44:12:44:16 | ... > ... | != | 0 | 45 | 47 | -| test.c:44:12:44:16 | ... > ... | test.c:44:12:44:16 | ... > ... | == | 0 | 42 | 42 | -| test.c:44:12:44:16 | ... > ... | test.c:44:12:44:16 | ... > ... | == | 0 | 51 | 53 | -| test.c:45:16:45:20 | ... > ... | test.c:45:16:45:20 | ... > ... | != | 0 | 45 | 47 | | test.c:58:9:58:14 | ... == ... | test.c:58:9:58:9 | x | != | 0 | 58 | 58 | | test.c:58:9:58:14 | ... == ... | test.c:58:9:58:9 | x | != | 0 | 62 | 62 | -| test.c:58:9:58:14 | ... == ... | test.c:58:9:58:14 | ... == ... | == | 0 | 58 | 58 | -| test.c:58:9:58:14 | ... == ... | test.c:58:9:58:14 | ... == ... | == | 0 | 62 | 62 | | test.c:58:9:58:23 | ... \|\| ... | test.c:58:9:58:9 | x | != | 0 | 62 | 62 | -| test.c:58:9:58:23 | ... \|\| ... | test.c:58:9:58:14 | ... == ... | == | 0 | 62 | 62 | -| test.c:58:9:58:23 | ... \|\| ... | test.c:58:19:58:23 | ... < ... | == | 0 | 62 | 62 | -| test.c:58:19:58:23 | ... < ... | test.c:58:19:58:23 | ... < ... | == | 0 | 62 | 62 | | test.c:75:9:75:14 | ... == ... | test.c:75:9:75:9 | x | != | 0 | 78 | 79 | | test.c:75:9:75:14 | ... == ... | test.c:75:9:75:9 | x | == | 0 | 75 | 77 | -| test.c:75:9:75:14 | ... == ... | test.c:75:9:75:14 | ... == ... | != | 0 | 75 | 77 | -| test.c:75:9:75:14 | ... == ... | test.c:75:9:75:14 | ... == ... | == | 0 | 78 | 79 | -| test.c:75:9:75:14 | ... == ... | test.c:85:8:85:8 | x | != | 0 | 78 | 79 | -| test.c:75:9:75:14 | ... == ... | test.c:85:8:85:8 | x | == | 0 | 75 | 77 | -| test.c:75:9:75:14 | ... == ... | test.c:85:8:85:13 | ... == ... | != | 0 | 75 | 77 | -| test.c:75:9:75:14 | ... == ... | test.c:85:8:85:13 | ... == ... | == | 0 | 78 | 79 | -| test.c:85:8:85:13 | ... == ... | test.c:75:9:75:9 | x | == | 0 | 85 | 85 | -| test.c:85:8:85:13 | ... == ... | test.c:75:9:75:9 | x | == | 0 | 86 | 86 | -| test.c:85:8:85:13 | ... == ... | test.c:75:9:75:14 | ... == ... | != | 0 | 85 | 85 | -| test.c:85:8:85:13 | ... == ... | test.c:75:9:75:14 | ... == ... | != | 0 | 86 | 86 | | test.c:85:8:85:13 | ... == ... | test.c:85:8:85:8 | x | == | 0 | 85 | 85 | | test.c:85:8:85:13 | ... == ... | test.c:85:8:85:8 | x | == | 0 | 86 | 86 | -| test.c:85:8:85:13 | ... == ... | test.c:85:8:85:13 | ... == ... | != | 0 | 85 | 85 | -| test.c:85:8:85:13 | ... == ... | test.c:85:8:85:13 | ... == ... | != | 0 | 86 | 86 | -| test.c:85:8:85:23 | ... && ... | test.c:75:9:75:9 | x | == | 0 | 86 | 86 | -| test.c:85:8:85:23 | ... && ... | test.c:75:9:75:14 | ... == ... | != | 0 | 86 | 86 | | test.c:85:8:85:23 | ... && ... | test.c:85:8:85:8 | x | == | 0 | 86 | 86 | -| test.c:85:8:85:23 | ... && ... | test.c:85:8:85:13 | ... == ... | != | 0 | 86 | 86 | | test.c:85:8:85:23 | ... && ... | test.c:85:18:85:18 | y | != | 0 | 86 | 86 | -| test.c:85:8:85:23 | ... && ... | test.c:85:18:85:23 | ... != ... | != | 0 | 86 | 86 | | test.c:85:18:85:23 | ... != ... | test.c:85:18:85:18 | y | != | 0 | 86 | 86 | -| test.c:85:18:85:23 | ... != ... | test.c:85:18:85:23 | ... != ... | != | 0 | 86 | 86 | | test.c:94:11:94:16 | ... != ... | test.c:94:11:94:11 | x | != | 0 | 94 | 96 | | test.c:94:11:94:16 | ... != ... | test.c:94:11:94:11 | x | == | 0 | 70 | 70 | | test.c:94:11:94:16 | ... != ... | test.c:94:11:94:11 | x | == | 0 | 99 | 102 | @@ -638,41 +509,16 @@ astGuardsEnsure_const | test.c:94:11:94:16 | ... != ... | test.c:94:11:94:11 | x | == | 0 | 109 | 109 | | test.c:94:11:94:16 | ... != ... | test.c:94:11:94:11 | x | == | 0 | 109 | 117 | | test.c:94:11:94:16 | ... != ... | test.c:94:11:94:11 | x | == | 0 | 113 | 113 | -| test.c:94:11:94:16 | ... != ... | test.c:94:11:94:16 | ... != ... | != | 0 | 94 | 96 | -| test.c:94:11:94:16 | ... != ... | test.c:94:11:94:16 | ... != ... | == | 0 | 70 | 70 | -| test.c:94:11:94:16 | ... != ... | test.c:94:11:94:16 | ... != ... | == | 0 | 99 | 102 | -| test.c:94:11:94:16 | ... != ... | test.c:94:11:94:16 | ... != ... | == | 0 | 102 | 102 | -| test.c:94:11:94:16 | ... != ... | test.c:94:11:94:16 | ... != ... | == | 0 | 107 | 109 | -| test.c:94:11:94:16 | ... != ... | test.c:94:11:94:16 | ... != ... | == | 0 | 109 | 109 | -| test.c:94:11:94:16 | ... != ... | test.c:94:11:94:16 | ... != ... | == | 0 | 109 | 117 | -| test.c:94:11:94:16 | ... != ... | test.c:94:11:94:16 | ... != ... | == | 0 | 113 | 113 | -| test.c:102:16:102:21 | ... < ... | test.c:102:16:102:21 | ... < ... | != | 0 | 102 | 102 | -| test.c:102:16:102:21 | ... < ... | test.c:102:16:102:21 | ... < ... | == | 0 | 70 | 70 | -| test.c:102:16:102:21 | ... < ... | test.c:102:16:102:21 | ... < ... | == | 0 | 107 | 109 | -| test.c:102:16:102:21 | ... < ... | test.c:102:16:102:21 | ... < ... | == | 0 | 109 | 109 | -| test.c:102:16:102:21 | ... < ... | test.c:102:16:102:21 | ... < ... | == | 0 | 109 | 117 | -| test.c:102:16:102:21 | ... < ... | test.c:102:16:102:21 | ... < ... | == | 0 | 113 | 113 | | test.c:109:9:109:14 | ... == ... | test.c:109:9:109:9 | x | != | 0 | 109 | 109 | | test.c:109:9:109:14 | ... == ... | test.c:109:9:109:9 | x | != | 0 | 113 | 113 | -| test.c:109:9:109:14 | ... == ... | test.c:109:9:109:14 | ... == ... | == | 0 | 109 | 109 | -| test.c:109:9:109:14 | ... == ... | test.c:109:9:109:14 | ... == ... | == | 0 | 113 | 113 | | test.c:109:9:109:23 | ... \|\| ... | test.c:109:9:109:9 | x | != | 0 | 113 | 113 | -| test.c:109:9:109:23 | ... \|\| ... | test.c:109:9:109:14 | ... == ... | == | 0 | 113 | 113 | -| test.c:109:9:109:23 | ... \|\| ... | test.c:109:19:109:23 | ... < ... | == | 0 | 113 | 113 | -| test.c:109:19:109:23 | ... < ... | test.c:109:19:109:23 | ... < ... | == | 0 | 113 | 113 | | test.c:126:7:126:7 | 1 | test.c:126:7:126:7 | 1 | != | 0 | 126 | 126 | | test.c:126:7:126:7 | 1 | test.c:126:7:126:7 | 1 | != | 0 | 126 | 128 | | test.c:126:7:126:7 | 1 | test.c:126:7:126:7 | 1 | != | 0 | 131 | 131 | | test.c:126:7:126:7 | 1 | test.c:126:7:126:7 | 1 | != | 0 | 131 | 132 | | test.c:126:7:126:7 | 1 | test.c:126:7:126:7 | 1 | != | 0 | 134 | 123 | -| test.c:126:7:126:7 | 1 | test.c:127:9:127:9 | 1 | != | 0 | 126 | 126 | -| test.c:126:7:126:7 | 1 | test.c:127:9:127:9 | 1 | != | 0 | 126 | 128 | -| test.c:126:7:126:7 | 1 | test.c:127:9:127:9 | 1 | != | 0 | 131 | 131 | -| test.c:126:7:126:7 | 1 | test.c:127:9:127:9 | 1 | != | 0 | 131 | 132 | -| test.c:126:7:126:7 | 1 | test.c:127:9:127:9 | 1 | != | 0 | 134 | 123 | | test.c:126:7:126:28 | ... && ... | test.c:126:7:126:7 | 1 | != | 0 | 126 | 128 | | test.c:126:7:126:28 | ... && ... | test.c:126:12:126:26 | call to test3_condition | != | 0 | 126 | 128 | -| test.c:126:7:126:28 | ... && ... | test.c:127:9:127:9 | 1 | != | 0 | 126 | 128 | | test.c:126:12:126:26 | call to test3_condition | test.c:126:12:126:26 | call to test3_condition | != | 0 | 126 | 128 | | test.c:131:7:131:7 | b | test.c:131:7:131:7 | b | != | 0 | 131 | 132 | | test.c:137:7:137:7 | 0 | test.c:137:7:137:7 | 0 | == | 0 | 142 | 136 | @@ -683,14 +529,8 @@ astGuardsEnsure_const | test.c:152:10:152:15 | ... && ... | test.c:152:10:152:10 | x | != | 0 | 151 | 152 | | test.c:152:10:152:15 | ... && ... | test.c:152:15:152:15 | y | != | 0 | 151 | 152 | | test.c:152:15:152:15 | y | test.c:152:15:152:15 | y | != | 0 | 151 | 152 | -| test.c:156:9:156:19 | ... == ... | test.c:156:9:156:19 | ... == ... | != | 0 | 156 | 157 | -| test.c:159:9:159:19 | ... == ... | test.c:159:9:159:19 | ... == ... | != | 0 | 159 | 160 | -| test.c:162:9:162:18 | ... < ... | test.c:162:9:162:18 | ... < ... | != | 0 | 162 | 163 | -| test.c:165:9:165:18 | ... < ... | test.c:165:9:165:18 | ... < ... | != | 0 | 165 | 166 | | test.c:175:13:175:32 | ... == ... | test.c:175:13:175:15 | call to foo | != | 0 | 175 | 175 | | test.c:175:13:175:32 | ... == ... | test.c:175:13:175:15 | call to foo | == | 0 | 175 | 175 | -| test.c:175:13:175:32 | ... == ... | test.c:175:13:175:32 | ... == ... | != | 0 | 175 | 175 | -| test.c:175:13:175:32 | ... == ... | test.c:175:13:175:32 | ... == ... | == | 0 | 175 | 175 | | test.c:181:9:181:9 | x | test.c:181:9:181:9 | x | != | 0 | 181 | 182 | | test.c:181:9:181:9 | x | test.c:181:9:181:9 | x | != | 0 | 186 | 180 | | test.c:181:9:181:9 | x | test.c:181:9:181:9 | x | == | 0 | 183 | 184 | @@ -699,10 +539,6 @@ astGuardsEnsure_const | test.cpp:31:7:31:13 | ... == ... | test.cpp:31:7:31:7 | x | != | -1 | 34 | 34 | | test.cpp:31:7:31:13 | ... == ... | test.cpp:31:7:31:7 | x | == | -1 | 30 | 30 | | test.cpp:31:7:31:13 | ... == ... | test.cpp:31:7:31:7 | x | == | -1 | 31 | 32 | -| test.cpp:31:7:31:13 | ... == ... | test.cpp:31:7:31:13 | ... == ... | != | 0 | 30 | 30 | -| test.cpp:31:7:31:13 | ... == ... | test.cpp:31:7:31:13 | ... == ... | != | 0 | 31 | 32 | -| test.cpp:31:7:31:13 | ... == ... | test.cpp:31:7:31:13 | ... == ... | == | 0 | 30 | 30 | -| test.cpp:31:7:31:13 | ... == ... | test.cpp:31:7:31:13 | ... == ... | == | 0 | 34 | 34 | | test.cpp:42:13:42:20 | call to getABool | test.cpp:42:13:42:20 | call to getABool | != | 0 | 43 | 45 | | test.cpp:42:13:42:20 | call to getABool | test.cpp:42:13:42:20 | call to getABool | == | 0 | 53 | 53 | irGuards @@ -743,8 +579,6 @@ irGuards irGuardsCompare | 7 | 0 < x+0 when CompareGT: ... > ... is true | | 7 | 0 >= x+0 when CompareGT: ... > ... is false | -| 7 | ... > ... != 0 when CompareGT: ... > ... is true | -| 7 | ... > ... == 0 when CompareGT: ... > ... is false | | 7 | x < 0+1 when CompareGT: ... > ... is false | | 7 | x < 1 when CompareGT: ... > ... is false | | 7 | x >= 0+1 when CompareGT: ... > ... is true | @@ -753,10 +587,6 @@ irGuardsCompare | 17 | 0 >= x+1 when CompareLT: ... < ... is true | | 17 | 1 < y+0 when CompareGT: ... > ... is true | | 17 | 1 >= y+0 when CompareGT: ... > ... is false | -| 17 | ... < ... != 0 when CompareLT: ... < ... is true | -| 17 | ... < ... == 0 when CompareLT: ... < ... is false | -| 17 | ... > ... != 0 when CompareGT: ... > ... is true | -| 17 | ... > ... == 0 when CompareGT: ... > ... is false | | 17 | x < 0 when CompareLT: ... < ... is true | | 17 | x < 0+0 when CompareLT: ... < ... is true | | 17 | x >= 0 when CompareLT: ... < ... is false | @@ -769,32 +599,24 @@ irGuardsCompare | 18 | call to get == 0 when CompareNE: (bool)... is false | | 26 | 0 < x+0 when CompareGT: ... > ... is true | | 26 | 0 >= x+0 when CompareGT: ... > ... is false | -| 26 | ... > ... != 0 when CompareGT: ... > ... is true | -| 26 | ... > ... == 0 when CompareGT: ... > ... is false | | 26 | x < 0+1 when CompareGT: ... > ... is false | | 26 | x < 1 when CompareGT: ... > ... is false | | 26 | x >= 0+1 when CompareGT: ... > ... is true | | 26 | x >= 1 when CompareGT: ... > ... is true | | 31 | - ... != x+0 when CompareEQ: ... == ... is false | | 31 | - ... == x+0 when CompareEQ: ... == ... is true | -| 31 | ... == ... != 0 when CompareEQ: ... == ... is true | -| 31 | ... == ... == 0 when CompareEQ: ... == ... is false | | 31 | x != -1 when CompareEQ: ... == ... is false | | 31 | x != - ...+0 when CompareEQ: ... == ... is false | | 31 | x == -1 when CompareEQ: ... == ... is true | | 31 | x == - ...+0 when CompareEQ: ... == ... is true | | 34 | 10 < j+1 when CompareLT: ... < ... is false | | 34 | 10 >= j+1 when CompareLT: ... < ... is true | -| 34 | ... < ... != 0 when CompareLT: ... < ... is true | -| 34 | ... < ... == 0 when CompareLT: ... < ... is false | | 34 | j < 10 when CompareLT: ... < ... is true | | 34 | j < 10+0 when CompareLT: ... < ... is true | | 34 | j >= 10 when CompareLT: ... < ... is false | | 34 | j >= 10+0 when CompareLT: ... < ... is false | | 42 | 10 < j+1 when CompareLT: ... < ... is false | | 42 | 10 >= j+1 when CompareLT: ... < ... is true | -| 42 | ... < ... != 0 when CompareLT: ... < ... is true | -| 42 | ... < ... == 0 when CompareLT: ... < ... is false | | 42 | call to getABool != 0 when Call: call to getABool is true | | 42 | call to getABool == 0 when Call: call to getABool is false | | 42 | j < 10 when CompareLT: ... < ... is true | @@ -803,16 +625,12 @@ irGuardsCompare | 42 | j >= 10+0 when CompareLT: ... < ... is false | | 44 | 0 < z+0 when CompareGT: ... > ... is true | | 44 | 0 >= z+0 when CompareGT: ... > ... is false | -| 44 | ... > ... != 0 when CompareGT: ... > ... is true | -| 44 | ... > ... == 0 when CompareGT: ... > ... is false | | 44 | z < 0+1 when CompareGT: ... > ... is false | | 44 | z < 1 when CompareGT: ... > ... is false | | 44 | z >= 0+1 when CompareGT: ... > ... is true | | 44 | z >= 1 when CompareGT: ... > ... is true | | 45 | 0 < y+0 when CompareGT: ... > ... is true | | 45 | 0 >= y+0 when CompareGT: ... > ... is false | -| 45 | ... > ... != 0 when CompareGT: ... > ... is true | -| 45 | ... > ... == 0 when CompareGT: ... > ... is false | | 45 | y < 0+1 when CompareGT: ... > ... is false | | 45 | y < 1 when CompareGT: ... > ... is false | | 45 | y >= 0+1 when CompareGT: ... > ... is true | @@ -821,10 +639,6 @@ irGuardsCompare | 58 | 0 < y+1 when CompareLT: ... < ... is false | | 58 | 0 == x+0 when CompareEQ: ... == ... is true | | 58 | 0 >= y+1 when CompareLT: ... < ... is true | -| 58 | ... < ... != 0 when CompareLT: ... < ... is true | -| 58 | ... < ... == 0 when CompareLT: ... < ... is false | -| 58 | ... == ... != 0 when CompareEQ: ... == ... is true | -| 58 | ... == ... == 0 when CompareEQ: ... == ... is false | | 58 | x != 0 when CompareEQ: ... == ... is false | | 58 | x != 0+0 when CompareEQ: ... == ... is false | | 58 | x == 0 when CompareEQ: ... == ... is true | @@ -835,8 +649,6 @@ irGuardsCompare | 58 | y >= 0+0 when CompareLT: ... < ... is false | | 75 | 0 != x+0 when CompareEQ: ... == ... is false | | 75 | 0 == x+0 when CompareEQ: ... == ... is true | -| 75 | ... == ... != 0 when CompareEQ: ... == ... is true | -| 75 | ... == ... == 0 when CompareEQ: ... == ... is false | | 75 | x != 0 when CompareEQ: ... == ... is false | | 75 | x != 0+0 when CompareEQ: ... == ... is false | | 75 | x == 0 when CompareEQ: ... == ... is true | @@ -845,10 +657,6 @@ irGuardsCompare | 85 | 0 != y+0 when CompareNE: ... != ... is true | | 85 | 0 == x+0 when CompareEQ: ... == ... is true | | 85 | 0 == y+0 when CompareNE: ... != ... is false | -| 85 | ... != ... != 0 when CompareNE: ... != ... is true | -| 85 | ... != ... == 0 when CompareNE: ... != ... is false | -| 85 | ... == ... != 0 when CompareEQ: ... == ... is true | -| 85 | ... == ... == 0 when CompareEQ: ... == ... is false | | 85 | x != 0 when CompareEQ: ... == ... is false | | 85 | x != 0+0 when CompareEQ: ... == ... is false | | 85 | x == 0 when CompareEQ: ... == ... is true | @@ -859,16 +667,12 @@ irGuardsCompare | 85 | y == 0+0 when CompareNE: ... != ... is false | | 94 | 0 != x+0 when CompareNE: ... != ... is true | | 94 | 0 == x+0 when CompareNE: ... != ... is false | -| 94 | ... != ... != 0 when CompareNE: ... != ... is true | -| 94 | ... != ... == 0 when CompareNE: ... != ... is false | | 94 | x != 0 when CompareNE: ... != ... is true | | 94 | x != 0+0 when CompareNE: ... != ... is true | | 94 | x == 0 when CompareNE: ... != ... is false | | 94 | x == 0+0 when CompareNE: ... != ... is false | | 102 | 10 < j+1 when CompareLT: ... < ... is false | | 102 | 10 >= j+1 when CompareLT: ... < ... is true | -| 102 | ... < ... != 0 when CompareLT: ... < ... is true | -| 102 | ... < ... == 0 when CompareLT: ... < ... is false | | 102 | j < 10 when CompareLT: ... < ... is true | | 102 | j < 10+0 when CompareLT: ... < ... is true | | 102 | j >= 10 when CompareLT: ... < ... is false | @@ -877,10 +681,6 @@ irGuardsCompare | 109 | 0 < y+1 when CompareLT: ... < ... is false | | 109 | 0 == x+0 when CompareEQ: ... == ... is true | | 109 | 0 >= y+1 when CompareLT: ... < ... is true | -| 109 | ... < ... != 0 when CompareLT: ... < ... is true | -| 109 | ... < ... == 0 when CompareLT: ... < ... is false | -| 109 | ... == ... != 0 when CompareEQ: ... == ... is true | -| 109 | ... == ... == 0 when CompareEQ: ... == ... is false | | 109 | x != 0 when CompareEQ: ... == ... is false | | 109 | x != 0+0 when CompareEQ: ... == ... is false | | 109 | x == 0 when CompareEQ: ... == ... is true | @@ -908,8 +708,6 @@ irGuardsCompare | 152 | y == 0 when Load: y is false | | 156 | ... + ... != x+0 when CompareEQ: ... == ... is false | | 156 | ... + ... == x+0 when CompareEQ: ... == ... is true | -| 156 | ... == ... != 0 when CompareEQ: ... == ... is true | -| 156 | ... == ... == 0 when CompareEQ: ... == ... is false | | 156 | x != ... + ...+0 when CompareEQ: ... == ... is false | | 156 | x != y+42 when CompareEQ: ... == ... is false | | 156 | x == ... + ...+0 when CompareEQ: ... == ... is true | @@ -918,8 +716,6 @@ irGuardsCompare | 156 | y == x+-42 when CompareEQ: ... == ... is true | | 159 | ... - ... != x+0 when CompareEQ: ... == ... is false | | 159 | ... - ... == x+0 when CompareEQ: ... == ... is true | -| 159 | ... == ... != 0 when CompareEQ: ... == ... is true | -| 159 | ... == ... == 0 when CompareEQ: ... == ... is false | | 159 | x != ... - ...+0 when CompareEQ: ... == ... is false | | 159 | x != y+-42 when CompareEQ: ... == ... is false | | 159 | x == ... - ...+0 when CompareEQ: ... == ... is true | @@ -928,8 +724,6 @@ irGuardsCompare | 159 | y == x+42 when CompareEQ: ... == ... is true | | 162 | ... + ... < x+1 when CompareLT: ... < ... is false | | 162 | ... + ... >= x+1 when CompareLT: ... < ... is true | -| 162 | ... < ... != 0 when CompareLT: ... < ... is true | -| 162 | ... < ... == 0 when CompareLT: ... < ... is false | | 162 | x < ... + ...+0 when CompareLT: ... < ... is true | | 162 | x < y+42 when CompareLT: ... < ... is true | | 162 | x >= ... + ...+0 when CompareLT: ... < ... is false | @@ -938,8 +732,6 @@ irGuardsCompare | 162 | y >= x+-41 when CompareLT: ... < ... is true | | 165 | ... - ... < x+1 when CompareLT: ... < ... is false | | 165 | ... - ... >= x+1 when CompareLT: ... < ... is true | -| 165 | ... < ... != 0 when CompareLT: ... < ... is true | -| 165 | ... < ... == 0 when CompareLT: ... < ... is false | | 165 | x < ... - ...+0 when CompareLT: ... < ... is true | | 165 | x < y+-42 when CompareLT: ... < ... is true | | 165 | x >= ... - ...+0 when CompareLT: ... < ... is false | @@ -948,8 +740,6 @@ irGuardsCompare | 165 | y >= x+43 when CompareLT: ... < ... is true | | 175 | 0 != call to foo+0 when CompareEQ: ... == ... is false | | 175 | 0 == call to foo+0 when CompareEQ: ... == ... is true | -| 175 | ... == ... != 0 when CompareEQ: ... == ... is true | -| 175 | ... == ... == 0 when CompareEQ: ... == ... is false | | 175 | call to foo != 0 when CompareEQ: ... == ... is false | | 175 | call to foo != 0+0 when CompareEQ: ... == ... is false | | 175 | call to foo == 0 when CompareEQ: ... == ... is true | @@ -1140,14 +930,6 @@ irGuardsEnsure | test.c:75:9:75:14 | CompareEQ: ... == ... | test.c:75:9:75:9 | Load: x | == | test.c:75:14:75:14 | Constant: 0 | 0 | 76 | 76 | | test.c:75:9:75:14 | CompareEQ: ... == ... | test.c:75:14:75:14 | Constant: 0 | != | test.c:75:9:75:9 | Load: x | 0 | 79 | 79 | | test.c:75:9:75:14 | CompareEQ: ... == ... | test.c:75:14:75:14 | Constant: 0 | == | test.c:75:9:75:9 | Load: x | 0 | 76 | 76 | -| test.c:75:9:75:14 | CompareEQ: ... == ... | test.c:85:8:85:8 | Load: x | != | test.c:85:13:85:13 | Constant: 0 | 0 | 79 | 79 | -| test.c:75:9:75:14 | CompareEQ: ... == ... | test.c:85:8:85:8 | Load: x | == | test.c:85:13:85:13 | Constant: 0 | 0 | 76 | 76 | -| test.c:75:9:75:14 | CompareEQ: ... == ... | test.c:85:13:85:13 | Constant: 0 | != | test.c:85:8:85:8 | Load: x | 0 | 79 | 79 | -| test.c:75:9:75:14 | CompareEQ: ... == ... | test.c:85:13:85:13 | Constant: 0 | == | test.c:85:8:85:8 | Load: x | 0 | 76 | 76 | -| test.c:85:8:85:13 | CompareEQ: ... == ... | test.c:75:9:75:9 | Load: x | == | test.c:75:14:75:14 | Constant: 0 | 0 | 85 | 85 | -| test.c:85:8:85:13 | CompareEQ: ... == ... | test.c:75:9:75:9 | Load: x | == | test.c:75:14:75:14 | Constant: 0 | 0 | 86 | 86 | -| test.c:85:8:85:13 | CompareEQ: ... == ... | test.c:75:14:75:14 | Constant: 0 | == | test.c:75:9:75:9 | Load: x | 0 | 85 | 85 | -| test.c:85:8:85:13 | CompareEQ: ... == ... | test.c:75:14:75:14 | Constant: 0 | == | test.c:75:9:75:9 | Load: x | 0 | 86 | 86 | | test.c:85:8:85:13 | CompareEQ: ... == ... | test.c:85:8:85:8 | Load: x | == | test.c:85:13:85:13 | Constant: 0 | 0 | 85 | 85 | | test.c:85:8:85:13 | CompareEQ: ... == ... | test.c:85:8:85:8 | Load: x | == | test.c:85:13:85:13 | Constant: 0 | 0 | 86 | 86 | | test.c:85:8:85:13 | CompareEQ: ... == ... | test.c:85:13:85:13 | Constant: 0 | == | test.c:85:8:85:8 | Load: x | 0 | 85 | 85 | @@ -1221,14 +1003,9 @@ irGuardsEnsure irGuardsEnsure_const | test.c:7:9:7:13 | CompareGT: ... > ... | test.c:7:9:7:9 | Load: x | < | 1 | 11 | 11 | | test.c:7:9:7:13 | CompareGT: ... > ... | test.c:7:9:7:9 | Load: x | >= | 1 | 8 | 8 | -| test.c:7:9:7:13 | CompareGT: ... > ... | test.c:7:9:7:13 | CompareGT: ... > ... | != | 0 | 8 | 8 | -| test.c:7:9:7:13 | CompareGT: ... > ... | test.c:7:9:7:13 | CompareGT: ... > ... | == | 0 | 11 | 11 | | test.c:17:8:17:12 | CompareLT: ... < ... | test.c:17:8:17:8 | Load: x | < | 0 | 17 | 17 | | test.c:17:8:17:12 | CompareLT: ... < ... | test.c:17:8:17:8 | Load: x | < | 0 | 18 | 18 | -| test.c:17:8:17:12 | CompareLT: ... < ... | test.c:17:8:17:12 | CompareLT: ... < ... | != | 0 | 17 | 17 | -| test.c:17:8:17:12 | CompareLT: ... < ... | test.c:17:8:17:12 | CompareLT: ... < ... | != | 0 | 18 | 18 | | test.c:17:17:17:21 | CompareGT: ... > ... | test.c:17:17:17:17 | Load: y | >= | 2 | 18 | 18 | -| test.c:17:17:17:21 | CompareGT: ... > ... | test.c:17:17:17:21 | CompareGT: ... > ... | != | 0 | 18 | 18 | | test.c:26:11:26:15 | CompareGT: ... > ... | test.c:26:11:26:11 | Load: x | < | 1 | 2 | 2 | | test.c:26:11:26:15 | CompareGT: ... > ... | test.c:26:11:26:11 | Load: x | < | 1 | 31 | 31 | | test.c:26:11:26:15 | CompareGT: ... > ... | test.c:26:11:26:11 | Load: x | < | 1 | 34 | 34 | @@ -1244,21 +1021,6 @@ irGuardsEnsure_const | test.c:26:11:26:15 | CompareGT: ... > ... | test.c:26:11:26:11 | Load: x | < | 1 | 59 | 59 | | test.c:26:11:26:15 | CompareGT: ... > ... | test.c:26:11:26:11 | Load: x | < | 1 | 62 | 62 | | test.c:26:11:26:15 | CompareGT: ... > ... | test.c:26:11:26:11 | Load: x | >= | 1 | 27 | 27 | -| test.c:26:11:26:15 | CompareGT: ... > ... | test.c:26:11:26:15 | CompareGT: ... > ... | != | 0 | 27 | 27 | -| test.c:26:11:26:15 | CompareGT: ... > ... | test.c:26:11:26:15 | CompareGT: ... > ... | == | 0 | 2 | 2 | -| test.c:26:11:26:15 | CompareGT: ... > ... | test.c:26:11:26:15 | CompareGT: ... > ... | == | 0 | 31 | 31 | -| test.c:26:11:26:15 | CompareGT: ... > ... | test.c:26:11:26:15 | CompareGT: ... > ... | == | 0 | 34 | 34 | -| test.c:26:11:26:15 | CompareGT: ... > ... | test.c:26:11:26:15 | CompareGT: ... > ... | == | 0 | 35 | 35 | -| test.c:26:11:26:15 | CompareGT: ... > ... | test.c:26:11:26:15 | CompareGT: ... > ... | == | 0 | 39 | 39 | -| test.c:26:11:26:15 | CompareGT: ... > ... | test.c:26:11:26:15 | CompareGT: ... > ... | == | 0 | 42 | 42 | -| test.c:26:11:26:15 | CompareGT: ... > ... | test.c:26:11:26:15 | CompareGT: ... > ... | == | 0 | 43 | 43 | -| test.c:26:11:26:15 | CompareGT: ... > ... | test.c:26:11:26:15 | CompareGT: ... > ... | == | 0 | 45 | 45 | -| test.c:26:11:26:15 | CompareGT: ... > ... | test.c:26:11:26:15 | CompareGT: ... > ... | == | 0 | 46 | 46 | -| test.c:26:11:26:15 | CompareGT: ... > ... | test.c:26:11:26:15 | CompareGT: ... > ... | == | 0 | 52 | 52 | -| test.c:26:11:26:15 | CompareGT: ... > ... | test.c:26:11:26:15 | CompareGT: ... > ... | == | 0 | 56 | 56 | -| test.c:26:11:26:15 | CompareGT: ... > ... | test.c:26:11:26:15 | CompareGT: ... > ... | == | 0 | 58 | 58 | -| test.c:26:11:26:15 | CompareGT: ... > ... | test.c:26:11:26:15 | CompareGT: ... > ... | == | 0 | 59 | 59 | -| test.c:26:11:26:15 | CompareGT: ... > ... | test.c:26:11:26:15 | CompareGT: ... > ... | == | 0 | 62 | 62 | | test.c:34:16:34:21 | CompareLT: ... < ... | test.c:34:16:34:16 | Load: j | < | 10 | 35 | 35 | | test.c:34:16:34:21 | CompareLT: ... < ... | test.c:34:16:34:16 | Load: j | >= | 10 | 2 | 2 | | test.c:34:16:34:21 | CompareLT: ... < ... | test.c:34:16:34:16 | Load: j | >= | 10 | 39 | 39 | @@ -1271,58 +1033,22 @@ irGuardsEnsure_const | test.c:34:16:34:21 | CompareLT: ... < ... | test.c:34:16:34:16 | Load: j | >= | 10 | 58 | 58 | | test.c:34:16:34:21 | CompareLT: ... < ... | test.c:34:16:34:16 | Load: j | >= | 10 | 59 | 59 | | test.c:34:16:34:21 | CompareLT: ... < ... | test.c:34:16:34:16 | Load: j | >= | 10 | 62 | 62 | -| test.c:34:16:34:21 | CompareLT: ... < ... | test.c:34:16:34:21 | CompareLT: ... < ... | != | 0 | 35 | 35 | -| test.c:34:16:34:21 | CompareLT: ... < ... | test.c:34:16:34:21 | CompareLT: ... < ... | == | 0 | 2 | 2 | -| test.c:34:16:34:21 | CompareLT: ... < ... | test.c:34:16:34:21 | CompareLT: ... < ... | == | 0 | 39 | 39 | -| test.c:34:16:34:21 | CompareLT: ... < ... | test.c:34:16:34:21 | CompareLT: ... < ... | == | 0 | 42 | 42 | -| test.c:34:16:34:21 | CompareLT: ... < ... | test.c:34:16:34:21 | CompareLT: ... < ... | == | 0 | 43 | 43 | -| test.c:34:16:34:21 | CompareLT: ... < ... | test.c:34:16:34:21 | CompareLT: ... < ... | == | 0 | 45 | 45 | -| test.c:34:16:34:21 | CompareLT: ... < ... | test.c:34:16:34:21 | CompareLT: ... < ... | == | 0 | 46 | 46 | -| test.c:34:16:34:21 | CompareLT: ... < ... | test.c:34:16:34:21 | CompareLT: ... < ... | == | 0 | 52 | 52 | -| test.c:34:16:34:21 | CompareLT: ... < ... | test.c:34:16:34:21 | CompareLT: ... < ... | == | 0 | 56 | 56 | -| test.c:34:16:34:21 | CompareLT: ... < ... | test.c:34:16:34:21 | CompareLT: ... < ... | == | 0 | 58 | 58 | -| test.c:34:16:34:21 | CompareLT: ... < ... | test.c:34:16:34:21 | CompareLT: ... < ... | == | 0 | 59 | 59 | -| test.c:34:16:34:21 | CompareLT: ... < ... | test.c:34:16:34:21 | CompareLT: ... < ... | == | 0 | 62 | 62 | | test.c:42:16:42:21 | CompareLT: ... < ... | test.c:42:16:42:16 | Load: j | < | 10 | 43 | 43 | | test.c:42:16:42:21 | CompareLT: ... < ... | test.c:42:16:42:16 | Load: j | < | 10 | 45 | 45 | | test.c:42:16:42:21 | CompareLT: ... < ... | test.c:42:16:42:16 | Load: j | < | 10 | 46 | 46 | | test.c:42:16:42:21 | CompareLT: ... < ... | test.c:42:16:42:16 | Load: j | < | 10 | 52 | 52 | -| test.c:42:16:42:21 | CompareLT: ... < ... | test.c:42:16:42:21 | CompareLT: ... < ... | != | 0 | 43 | 43 | -| test.c:42:16:42:21 | CompareLT: ... < ... | test.c:42:16:42:21 | CompareLT: ... < ... | != | 0 | 45 | 45 | -| test.c:42:16:42:21 | CompareLT: ... < ... | test.c:42:16:42:21 | CompareLT: ... < ... | != | 0 | 46 | 46 | -| test.c:42:16:42:21 | CompareLT: ... < ... | test.c:42:16:42:21 | CompareLT: ... < ... | != | 0 | 52 | 52 | | test.c:44:12:44:16 | CompareGT: ... > ... | test.c:44:12:44:12 | Load: z | < | 1 | 52 | 52 | | test.c:44:12:44:16 | CompareGT: ... > ... | test.c:44:12:44:12 | Load: z | >= | 1 | 45 | 45 | | test.c:44:12:44:16 | CompareGT: ... > ... | test.c:44:12:44:12 | Load: z | >= | 1 | 46 | 46 | -| test.c:44:12:44:16 | CompareGT: ... > ... | test.c:44:12:44:16 | CompareGT: ... > ... | != | 0 | 45 | 45 | -| test.c:44:12:44:16 | CompareGT: ... > ... | test.c:44:12:44:16 | CompareGT: ... > ... | != | 0 | 46 | 46 | -| test.c:44:12:44:16 | CompareGT: ... > ... | test.c:44:12:44:16 | CompareGT: ... > ... | == | 0 | 52 | 52 | | test.c:45:16:45:20 | CompareGT: ... > ... | test.c:45:16:45:16 | Load: y | >= | 1 | 46 | 46 | -| test.c:45:16:45:20 | CompareGT: ... > ... | test.c:45:16:45:20 | CompareGT: ... > ... | != | 0 | 46 | 46 | | test.c:58:9:58:14 | CompareEQ: ... == ... | test.c:58:9:58:9 | Load: x | != | 0 | 58 | 58 | | test.c:58:9:58:14 | CompareEQ: ... == ... | test.c:58:9:58:9 | Load: x | != | 0 | 62 | 62 | -| test.c:58:9:58:14 | CompareEQ: ... == ... | test.c:58:9:58:14 | CompareEQ: ... == ... | == | 0 | 58 | 58 | -| test.c:58:9:58:14 | CompareEQ: ... == ... | test.c:58:9:58:14 | CompareEQ: ... == ... | == | 0 | 62 | 62 | | test.c:58:19:58:23 | CompareLT: ... < ... | test.c:58:19:58:19 | Load: y | >= | 0 | 62 | 62 | -| test.c:58:19:58:23 | CompareLT: ... < ... | test.c:58:19:58:23 | CompareLT: ... < ... | == | 0 | 62 | 62 | | test.c:75:9:75:14 | CompareEQ: ... == ... | test.c:75:9:75:9 | Load: x | != | 0 | 79 | 79 | | test.c:75:9:75:14 | CompareEQ: ... == ... | test.c:75:9:75:9 | Load: x | == | 0 | 76 | 76 | -| test.c:75:9:75:14 | CompareEQ: ... == ... | test.c:75:9:75:14 | CompareEQ: ... == ... | != | 0 | 76 | 76 | -| test.c:75:9:75:14 | CompareEQ: ... == ... | test.c:75:9:75:14 | CompareEQ: ... == ... | == | 0 | 79 | 79 | -| test.c:75:9:75:14 | CompareEQ: ... == ... | test.c:85:8:85:8 | Load: x | != | 0 | 79 | 79 | -| test.c:75:9:75:14 | CompareEQ: ... == ... | test.c:85:8:85:8 | Load: x | == | 0 | 76 | 76 | -| test.c:75:9:75:14 | CompareEQ: ... == ... | test.c:85:8:85:13 | CompareEQ: ... == ... | != | 0 | 76 | 76 | -| test.c:75:9:75:14 | CompareEQ: ... == ... | test.c:85:8:85:13 | CompareEQ: ... == ... | == | 0 | 79 | 79 | -| test.c:85:8:85:13 | CompareEQ: ... == ... | test.c:75:9:75:9 | Load: x | == | 0 | 85 | 85 | -| test.c:85:8:85:13 | CompareEQ: ... == ... | test.c:75:9:75:9 | Load: x | == | 0 | 86 | 86 | -| test.c:85:8:85:13 | CompareEQ: ... == ... | test.c:75:9:75:14 | CompareEQ: ... == ... | != | 0 | 85 | 85 | -| test.c:85:8:85:13 | CompareEQ: ... == ... | test.c:75:9:75:14 | CompareEQ: ... == ... | != | 0 | 86 | 86 | | test.c:85:8:85:13 | CompareEQ: ... == ... | test.c:85:8:85:8 | Load: x | == | 0 | 85 | 85 | | test.c:85:8:85:13 | CompareEQ: ... == ... | test.c:85:8:85:8 | Load: x | == | 0 | 86 | 86 | -| test.c:85:8:85:13 | CompareEQ: ... == ... | test.c:85:8:85:13 | CompareEQ: ... == ... | != | 0 | 85 | 85 | -| test.c:85:8:85:13 | CompareEQ: ... == ... | test.c:85:8:85:13 | CompareEQ: ... == ... | != | 0 | 86 | 86 | | test.c:85:18:85:23 | CompareNE: ... != ... | test.c:85:18:85:18 | Load: y | != | 0 | 86 | 86 | -| test.c:85:18:85:23 | CompareNE: ... != ... | test.c:85:18:85:23 | CompareNE: ... != ... | != | 0 | 86 | 86 | | test.c:94:11:94:16 | CompareNE: ... != ... | test.c:94:11:94:11 | Load: x | != | 0 | 95 | 95 | | test.c:94:11:94:16 | CompareNE: ... != ... | test.c:94:11:94:11 | Load: x | == | 0 | 70 | 70 | | test.c:94:11:94:16 | CompareNE: ... != ... | test.c:94:11:94:11 | Load: x | == | 0 | 99 | 99 | @@ -1332,78 +1058,34 @@ irGuardsEnsure_const | test.c:94:11:94:16 | CompareNE: ... != ... | test.c:94:11:94:11 | Load: x | == | 0 | 109 | 109 | | test.c:94:11:94:16 | CompareNE: ... != ... | test.c:94:11:94:11 | Load: x | == | 0 | 110 | 110 | | test.c:94:11:94:16 | CompareNE: ... != ... | test.c:94:11:94:11 | Load: x | == | 0 | 113 | 113 | -| test.c:94:11:94:16 | CompareNE: ... != ... | test.c:94:11:94:16 | CompareNE: ... != ... | != | 0 | 95 | 95 | -| test.c:94:11:94:16 | CompareNE: ... != ... | test.c:94:11:94:16 | CompareNE: ... != ... | == | 0 | 70 | 70 | -| test.c:94:11:94:16 | CompareNE: ... != ... | test.c:94:11:94:16 | CompareNE: ... != ... | == | 0 | 99 | 99 | -| test.c:94:11:94:16 | CompareNE: ... != ... | test.c:94:11:94:16 | CompareNE: ... != ... | == | 0 | 102 | 102 | -| test.c:94:11:94:16 | CompareNE: ... != ... | test.c:94:11:94:16 | CompareNE: ... != ... | == | 0 | 103 | 103 | -| test.c:94:11:94:16 | CompareNE: ... != ... | test.c:94:11:94:16 | CompareNE: ... != ... | == | 0 | 107 | 107 | -| test.c:94:11:94:16 | CompareNE: ... != ... | test.c:94:11:94:16 | CompareNE: ... != ... | == | 0 | 109 | 109 | -| test.c:94:11:94:16 | CompareNE: ... != ... | test.c:94:11:94:16 | CompareNE: ... != ... | == | 0 | 110 | 110 | -| test.c:94:11:94:16 | CompareNE: ... != ... | test.c:94:11:94:16 | CompareNE: ... != ... | == | 0 | 113 | 113 | | test.c:102:16:102:21 | CompareLT: ... < ... | test.c:102:16:102:16 | Load: j | < | 10 | 103 | 103 | | test.c:102:16:102:21 | CompareLT: ... < ... | test.c:102:16:102:16 | Load: j | >= | 10 | 70 | 70 | | test.c:102:16:102:21 | CompareLT: ... < ... | test.c:102:16:102:16 | Load: j | >= | 10 | 107 | 107 | | test.c:102:16:102:21 | CompareLT: ... < ... | test.c:102:16:102:16 | Load: j | >= | 10 | 109 | 109 | | test.c:102:16:102:21 | CompareLT: ... < ... | test.c:102:16:102:16 | Load: j | >= | 10 | 110 | 110 | | test.c:102:16:102:21 | CompareLT: ... < ... | test.c:102:16:102:16 | Load: j | >= | 10 | 113 | 113 | -| test.c:102:16:102:21 | CompareLT: ... < ... | test.c:102:16:102:21 | CompareLT: ... < ... | != | 0 | 103 | 103 | -| test.c:102:16:102:21 | CompareLT: ... < ... | test.c:102:16:102:21 | CompareLT: ... < ... | == | 0 | 70 | 70 | -| test.c:102:16:102:21 | CompareLT: ... < ... | test.c:102:16:102:21 | CompareLT: ... < ... | == | 0 | 107 | 107 | -| test.c:102:16:102:21 | CompareLT: ... < ... | test.c:102:16:102:21 | CompareLT: ... < ... | == | 0 | 109 | 109 | -| test.c:102:16:102:21 | CompareLT: ... < ... | test.c:102:16:102:21 | CompareLT: ... < ... | == | 0 | 110 | 110 | -| test.c:102:16:102:21 | CompareLT: ... < ... | test.c:102:16:102:21 | CompareLT: ... < ... | == | 0 | 113 | 113 | | test.c:109:9:109:14 | CompareEQ: ... == ... | test.c:109:9:109:9 | Load: x | != | 0 | 109 | 109 | | test.c:109:9:109:14 | CompareEQ: ... == ... | test.c:109:9:109:9 | Load: x | != | 0 | 113 | 113 | -| test.c:109:9:109:14 | CompareEQ: ... == ... | test.c:109:9:109:14 | CompareEQ: ... == ... | == | 0 | 109 | 109 | -| test.c:109:9:109:14 | CompareEQ: ... == ... | test.c:109:9:109:14 | CompareEQ: ... == ... | == | 0 | 113 | 113 | | test.c:109:19:109:23 | CompareLT: ... < ... | test.c:109:19:109:19 | Load: y | >= | 0 | 113 | 113 | -| test.c:109:19:109:23 | CompareLT: ... < ... | test.c:109:19:109:23 | CompareLT: ... < ... | == | 0 | 113 | 113 | | test.c:126:7:126:7 | Constant: 1 | test.c:126:7:126:7 | Constant: 1 | != | 0 | 126 | 126 | | test.c:126:7:126:7 | Constant: 1 | test.c:126:7:126:7 | Constant: 1 | != | 0 | 127 | 127 | | test.c:126:7:126:7 | Constant: 1 | test.c:126:7:126:7 | Constant: 1 | != | 0 | 131 | 131 | | test.c:126:7:126:7 | Constant: 1 | test.c:126:7:126:7 | Constant: 1 | != | 0 | 132 | 132 | | test.c:126:7:126:7 | Constant: 1 | test.c:126:7:126:7 | Constant: 1 | != | 0 | 134 | 134 | -| test.c:126:7:126:7 | Constant: 1 | test.c:127:5:127:9 | Store: ... = ... | != | 0 | 126 | 126 | -| test.c:126:7:126:7 | Constant: 1 | test.c:127:5:127:9 | Store: ... = ... | != | 0 | 127 | 127 | -| test.c:126:7:126:7 | Constant: 1 | test.c:127:5:127:9 | Store: ... = ... | != | 0 | 131 | 131 | -| test.c:126:7:126:7 | Constant: 1 | test.c:127:5:127:9 | Store: ... = ... | != | 0 | 132 | 132 | -| test.c:126:7:126:7 | Constant: 1 | test.c:127:5:127:9 | Store: ... = ... | != | 0 | 134 | 134 | -| test.c:126:7:126:7 | Constant: 1 | test.c:127:9:127:9 | Constant: 1 | != | 0 | 126 | 126 | -| test.c:126:7:126:7 | Constant: 1 | test.c:127:9:127:9 | Constant: 1 | != | 0 | 127 | 127 | -| test.c:126:7:126:7 | Constant: 1 | test.c:127:9:127:9 | Constant: 1 | != | 0 | 131 | 131 | -| test.c:126:7:126:7 | Constant: 1 | test.c:127:9:127:9 | Constant: 1 | != | 0 | 132 | 132 | -| test.c:126:7:126:7 | Constant: 1 | test.c:127:9:127:9 | Constant: 1 | != | 0 | 134 | 134 | | test.c:126:12:126:26 | Call: call to test3_condition | test.c:126:12:126:26 | Call: call to test3_condition | != | 0 | 127 | 127 | | test.c:131:7:131:7 | Load: b | test.c:131:7:131:7 | Load: b | != | 0 | 132 | 132 | -| test.c:131:7:131:7 | Load: b | test.c:131:7:131:7 | Phi: b | != | 0 | 132 | 132 | | test.c:137:7:137:7 | Constant: 0 | test.c:137:7:137:7 | Constant: 0 | == | 0 | 142 | 142 | | test.c:146:7:146:8 | LogicalNot: ! ... | test.c:146:7:146:8 | LogicalNot: ! ... | != | 0 | 147 | 147 | -| test.c:146:8:146:8 | Load: x | test.c:145:16:145:16 | InitializeParameter: x | == | 0 | 147 | 147 | | test.c:146:8:146:8 | Load: x | test.c:146:8:146:8 | Load: x | == | 0 | 147 | 147 | -| test.c:152:10:152:10 | Load: x | test.c:151:16:151:16 | InitializeParameter: x | != | 0 | 152 | 152 | | test.c:152:10:152:10 | Load: x | test.c:152:10:152:10 | Load: x | != | 0 | 152 | 152 | -| test.c:152:15:152:15 | Load: y | test.c:151:23:151:23 | InitializeParameter: y | != | 0 | 152 | 152 | | test.c:152:15:152:15 | Load: y | test.c:152:15:152:15 | Load: y | != | 0 | 152 | 152 | -| test.c:156:9:156:19 | CompareEQ: ... == ... | test.c:156:9:156:19 | CompareEQ: ... == ... | != | 0 | 156 | 157 | -| test.c:159:9:159:19 | CompareEQ: ... == ... | test.c:159:9:159:19 | CompareEQ: ... == ... | != | 0 | 159 | 160 | -| test.c:162:9:162:18 | CompareLT: ... < ... | test.c:162:9:162:18 | CompareLT: ... < ... | != | 0 | 162 | 163 | -| test.c:165:9:165:18 | CompareLT: ... < ... | test.c:165:9:165:18 | CompareLT: ... < ... | != | 0 | 165 | 166 | | test.c:175:13:175:32 | CompareEQ: ... == ... | test.c:175:13:175:15 | Call: call to foo | != | 0 | 175 | 175 | | test.c:175:13:175:32 | CompareEQ: ... == ... | test.c:175:13:175:15 | Call: call to foo | == | 0 | 175 | 175 | -| test.c:175:13:175:32 | CompareEQ: ... == ... | test.c:175:13:175:32 | CompareEQ: ... == ... | != | 0 | 175 | 175 | -| test.c:175:13:175:32 | CompareEQ: ... == ... | test.c:175:13:175:32 | CompareEQ: ... == ... | == | 0 | 175 | 175 | -| test.c:181:9:181:9 | Load: x | test.c:180:20:180:20 | InitializeParameter: x | != | 0 | 182 | 182 | -| test.c:181:9:181:9 | Load: x | test.c:180:20:180:20 | InitializeParameter: x | == | 0 | 184 | 184 | | test.c:181:9:181:9 | Load: x | test.c:181:9:181:9 | Load: x | != | 0 | 182 | 182 | | test.c:181:9:181:9 | Load: x | test.c:181:9:181:9 | Load: x | == | 0 | 184 | 184 | | test.cpp:18:8:18:12 | CompareNE: (bool)... | test.cpp:18:8:18:10 | Call: call to get | != | 0 | 19 | 19 | -| test.cpp:18:8:18:12 | CompareNE: (bool)... | test.cpp:18:8:18:12 | CompareNE: (bool)... | != | 0 | 19 | 19 | | test.cpp:31:7:31:13 | CompareEQ: ... == ... | test.cpp:31:7:31:7 | Load: x | != | -1 | 34 | 34 | | test.cpp:31:7:31:13 | CompareEQ: ... == ... | test.cpp:31:7:31:7 | Load: x | == | -1 | 30 | 30 | | test.cpp:31:7:31:13 | CompareEQ: ... == ... | test.cpp:31:7:31:7 | Load: x | == | -1 | 32 | 32 | -| test.cpp:31:7:31:13 | CompareEQ: ... == ... | test.cpp:31:7:31:13 | CompareEQ: ... == ... | != | 0 | 30 | 30 | -| test.cpp:31:7:31:13 | CompareEQ: ... == ... | test.cpp:31:7:31:13 | CompareEQ: ... == ... | != | 0 | 32 | 32 | -| test.cpp:31:7:31:13 | CompareEQ: ... == ... | test.cpp:31:7:31:13 | CompareEQ: ... == ... | == | 0 | 34 | 34 | | test.cpp:42:13:42:20 | Call: call to getABool | test.cpp:42:13:42:20 | Call: call to getABool | != | 0 | 44 | 44 | | test.cpp:42:13:42:20 | Call: call to getABool | test.cpp:42:13:42:20 | Call: call to getABool | == | 0 | 53 | 53 | diff --git a/cpp/ql/test/library-tests/controlflow/guards/GuardsCompare.expected b/cpp/ql/test/library-tests/controlflow/guards/GuardsCompare.expected index 4f44591e0b8..8480a1f8613 100644 --- a/cpp/ql/test/library-tests/controlflow/guards/GuardsCompare.expected +++ b/cpp/ql/test/library-tests/controlflow/guards/GuardsCompare.expected @@ -1,7 +1,5 @@ | 7 | 0 < x+0 when ... > ... is true | | 7 | 0 >= x+0 when ... > ... is false | -| 7 | ... > ... != 0 when ... > ... is true | -| 7 | ... > ... == 0 when ... > ... is false | | 7 | x < 0+1 when ... > ... is false | | 7 | x < 1 when ... > ... is false | | 7 | x >= 0+1 when ... > ... is true | @@ -12,12 +10,6 @@ | 17 | 1 < y+0 when ... && ... is true | | 17 | 1 < y+0 when ... > ... is true | | 17 | 1 >= y+0 when ... > ... is false | -| 17 | ... < ... != 0 when ... && ... is true | -| 17 | ... < ... != 0 when ... < ... is true | -| 17 | ... < ... == 0 when ... < ... is false | -| 17 | ... > ... != 0 when ... && ... is true | -| 17 | ... > ... != 0 when ... > ... is true | -| 17 | ... > ... == 0 when ... > ... is false | | 17 | x < 0 when ... && ... is true | | 17 | x < 0 when ... < ... is true | | 17 | x < 0+0 when ... && ... is true | @@ -34,32 +26,24 @@ | 18 | call to get == 0 when call to get is false | | 26 | 0 < x+0 when ... > ... is true | | 26 | 0 >= x+0 when ... > ... is false | -| 26 | ... > ... != 0 when ... > ... is true | -| 26 | ... > ... == 0 when ... > ... is false | | 26 | x < 0+1 when ... > ... is false | | 26 | x < 1 when ... > ... is false | | 26 | x >= 0+1 when ... > ... is true | | 26 | x >= 1 when ... > ... is true | | 31 | - ... != x+0 when ... == ... is false | | 31 | - ... == x+0 when ... == ... is true | -| 31 | ... == ... != 0 when ... == ... is true | -| 31 | ... == ... == 0 when ... == ... is false | | 31 | x != -1 when ... == ... is false | | 31 | x != - ...+0 when ... == ... is false | | 31 | x == -1 when ... == ... is true | | 31 | x == - ...+0 when ... == ... is true | | 34 | 10 < j+1 when ... < ... is false | | 34 | 10 >= j+1 when ... < ... is true | -| 34 | ... < ... != 0 when ... < ... is true | -| 34 | ... < ... == 0 when ... < ... is false | | 34 | j < 10 when ... < ... is true | | 34 | j < 10+0 when ... < ... is true | | 34 | j >= 10 when ... < ... is false | | 34 | j >= 10+0 when ... < ... is false | | 42 | 10 < j+1 when ... < ... is false | | 42 | 10 >= j+1 when ... < ... is true | -| 42 | ... < ... != 0 when ... < ... is true | -| 42 | ... < ... == 0 when ... < ... is false | | 42 | call to getABool != 0 when call to getABool is true | | 42 | call to getABool == 0 when call to getABool is false | | 42 | j < 10 when ... < ... is true | @@ -68,16 +52,12 @@ | 42 | j >= 10+0 when ... < ... is false | | 44 | 0 < z+0 when ... > ... is true | | 44 | 0 >= z+0 when ... > ... is false | -| 44 | ... > ... != 0 when ... > ... is true | -| 44 | ... > ... == 0 when ... > ... is false | | 44 | z < 0+1 when ... > ... is false | | 44 | z < 1 when ... > ... is false | | 44 | z >= 0+1 when ... > ... is true | | 44 | z >= 1 when ... > ... is true | | 45 | 0 < y+0 when ... > ... is true | | 45 | 0 >= y+0 when ... > ... is false | -| 45 | ... > ... != 0 when ... > ... is true | -| 45 | ... > ... == 0 when ... > ... is false | | 45 | y < 0+1 when ... > ... is false | | 45 | y < 1 when ... > ... is false | | 45 | y >= 0+1 when ... > ... is true | @@ -88,12 +68,6 @@ | 58 | 0 < y+1 when ... \|\| ... is false | | 58 | 0 == x+0 when ... == ... is true | | 58 | 0 >= y+1 when ... < ... is true | -| 58 | ... < ... != 0 when ... < ... is true | -| 58 | ... < ... == 0 when ... < ... is false | -| 58 | ... < ... == 0 when ... \|\| ... is false | -| 58 | ... == ... != 0 when ... == ... is true | -| 58 | ... == ... == 0 when ... == ... is false | -| 58 | ... == ... == 0 when ... \|\| ... is false | | 58 | x != 0 when ... == ... is false | | 58 | x != 0 when ... \|\| ... is false | | 58 | x != 0+0 when ... == ... is false | @@ -115,8 +89,6 @@ | 74 | i >= 11 when i is Case[11..20] | | 75 | 0 != x+0 when ... == ... is false | | 75 | 0 == x+0 when ... == ... is true | -| 75 | ... == ... != 0 when ... == ... is true | -| 75 | ... == ... == 0 when ... == ... is false | | 75 | x != 0 when ... == ... is false | | 75 | x != 0+0 when ... == ... is false | | 75 | x == 0 when ... == ... is true | @@ -127,12 +99,6 @@ | 85 | 0 == x+0 when ... && ... is true | | 85 | 0 == x+0 when ... == ... is true | | 85 | 0 == y+0 when ... != ... is false | -| 85 | ... != ... != 0 when ... != ... is true | -| 85 | ... != ... != 0 when ... && ... is true | -| 85 | ... != ... == 0 when ... != ... is false | -| 85 | ... == ... != 0 when ... && ... is true | -| 85 | ... == ... != 0 when ... == ... is true | -| 85 | ... == ... == 0 when ... == ... is false | | 85 | x != 0 when ... == ... is false | | 85 | x != 0+0 when ... == ... is false | | 85 | x == 0 when ... && ... is true | @@ -149,26 +115,18 @@ | 93 | c == 0 when c is false | | 94 | 0 != x+0 when ... != ... is true | | 94 | 0 == x+0 when ... != ... is false | -| 94 | ... != ... != 0 when ... != ... is true | -| 94 | ... != ... == 0 when ... != ... is false | | 94 | x != 0 when ... != ... is true | | 94 | x != 0+0 when ... != ... is true | | 94 | x == 0 when ... != ... is false | | 94 | x == 0+0 when ... != ... is false | -| 99 | f != 0 when f is true | -| 99 | f == 0 when f is false | | 102 | 10 < j+1 when ... < ... is false | | 102 | 10 >= j+1 when ... < ... is true | -| 102 | ... < ... != 0 when ... < ... is true | -| 102 | ... < ... == 0 when ... < ... is false | | 102 | j < 10 when ... < ... is true | | 102 | j < 10+0 when ... < ... is true | | 102 | j >= 10 when ... < ... is false | | 102 | j >= 10+0 when ... < ... is false | | 105 | 0.0 != f+0 when ... != ... is true | | 105 | 0.0 == f+0 when ... != ... is false | -| 105 | ... != ... != 0 when ... != ... is true | -| 105 | ... != ... == 0 when ... != ... is false | | 105 | f != 0.0+0 when ... != ... is true | | 105 | f == 0.0+0 when ... != ... is false | | 109 | 0 != x+0 when ... == ... is false | @@ -177,12 +135,6 @@ | 109 | 0 < y+1 when ... \|\| ... is false | | 109 | 0 == x+0 when ... == ... is true | | 109 | 0 >= y+1 when ... < ... is true | -| 109 | ... < ... != 0 when ... < ... is true | -| 109 | ... < ... == 0 when ... < ... is false | -| 109 | ... < ... == 0 when ... \|\| ... is false | -| 109 | ... == ... != 0 when ... == ... is true | -| 109 | ... == ... == 0 when ... == ... is false | -| 109 | ... == ... == 0 when ... \|\| ... is false | | 109 | x != 0 when ... == ... is false | | 109 | x != 0 when ... \|\| ... is false | | 109 | x != 0+0 when ... == ... is false | @@ -197,8 +149,6 @@ | 109 | y >= 0+0 when ... \|\| ... is false | | 111 | 0.0 != i+0 when ... != ... is true | | 111 | 0.0 == i+0 when ... != ... is false | -| 111 | ... != ... != 0 when ... != ... is true | -| 111 | ... != ... == 0 when ... != ... is false | | 111 | i != 0.0+0 when ... != ... is true | | 111 | i == 0.0+0 when ... != ... is false | | 122 | b != 0 when b is true | @@ -216,8 +166,6 @@ | 126 | call to test3_condition == 0 when call to test3_condition is false | | 131 | ... + ... != a+0 when call to __builtin_expect is false | | 131 | ... + ... == a+0 when call to __builtin_expect is true | -| 131 | ... == ... != 0 when call to __builtin_expect is true | -| 131 | ... == ... == 0 when call to __builtin_expect is false | | 131 | a != ... + ...+0 when call to __builtin_expect is false | | 131 | a != b+42 when call to __builtin_expect is false | | 131 | a == ... + ...+0 when call to __builtin_expect is true | @@ -228,8 +176,6 @@ | 131 | b == a+-42 when call to __builtin_expect is true | | 131 | call to __builtin_expect != 0 when call to __builtin_expect is true | | 131 | call to __builtin_expect == 0 when call to __builtin_expect is false | -| 135 | ... != ... != 0 when call to __builtin_expect is true | -| 135 | ... != ... == 0 when call to __builtin_expect is false | | 135 | ... + ... != a+0 when call to __builtin_expect is true | | 135 | ... + ... == a+0 when call to __builtin_expect is false | | 135 | a != ... + ...+0 when call to __builtin_expect is true | @@ -244,8 +190,6 @@ | 137 | 0 == 0 when 0 is false | | 141 | 42 != a+0 when call to __builtin_expect is false | | 141 | 42 == a+0 when call to __builtin_expect is true | -| 141 | ... == ... != 0 when call to __builtin_expect is true | -| 141 | ... == ... == 0 when call to __builtin_expect is false | | 141 | a != 42 when call to __builtin_expect is false | | 141 | a != 42+0 when call to __builtin_expect is false | | 141 | a == 42 when call to __builtin_expect is true | @@ -254,8 +198,6 @@ | 141 | call to __builtin_expect == 0 when call to __builtin_expect is false | | 145 | 42 != a+0 when call to __builtin_expect is true | | 145 | 42 == a+0 when call to __builtin_expect is false | -| 145 | ... != ... != 0 when call to __builtin_expect is true | -| 145 | ... != ... == 0 when call to __builtin_expect is false | | 145 | a != 42 when call to __builtin_expect is true | | 145 | a != 42+0 when call to __builtin_expect is true | | 145 | a == 42 when call to __builtin_expect is false | diff --git a/cpp/ql/test/library-tests/controlflow/guards/GuardsEnsure.expected b/cpp/ql/test/library-tests/controlflow/guards/GuardsEnsure.expected index c41cdfd6063..c520b48f94e 100644 --- a/cpp/ql/test/library-tests/controlflow/guards/GuardsEnsure.expected +++ b/cpp/ql/test/library-tests/controlflow/guards/GuardsEnsure.expected @@ -99,20 +99,10 @@ binary | test.c:75:9:75:14 | ... == ... | test.c:75:9:75:9 | x | == | test.c:75:14:75:14 | 0 | 0 | 75 | 77 | | test.c:75:9:75:14 | ... == ... | test.c:75:14:75:14 | 0 | != | test.c:75:9:75:9 | x | 0 | 78 | 79 | | test.c:75:9:75:14 | ... == ... | test.c:75:14:75:14 | 0 | == | test.c:75:9:75:9 | x | 0 | 75 | 77 | -| test.c:75:9:75:14 | ... == ... | test.c:85:8:85:8 | x | != | test.c:85:13:85:13 | 0 | 0 | 78 | 79 | -| test.c:75:9:75:14 | ... == ... | test.c:85:8:85:8 | x | == | test.c:85:13:85:13 | 0 | 0 | 75 | 77 | -| test.c:75:9:75:14 | ... == ... | test.c:85:13:85:13 | 0 | != | test.c:85:8:85:8 | x | 0 | 78 | 79 | -| test.c:75:9:75:14 | ... == ... | test.c:85:13:85:13 | 0 | == | test.c:85:8:85:8 | x | 0 | 75 | 77 | -| test.c:85:8:85:13 | ... == ... | test.c:75:9:75:9 | x | == | test.c:75:14:75:14 | 0 | 0 | 85 | 85 | -| test.c:85:8:85:13 | ... == ... | test.c:75:9:75:9 | x | == | test.c:75:14:75:14 | 0 | 0 | 86 | 86 | -| test.c:85:8:85:13 | ... == ... | test.c:75:14:75:14 | 0 | == | test.c:75:9:75:9 | x | 0 | 85 | 85 | -| test.c:85:8:85:13 | ... == ... | test.c:75:14:75:14 | 0 | == | test.c:75:9:75:9 | x | 0 | 86 | 86 | | test.c:85:8:85:13 | ... == ... | test.c:85:8:85:8 | x | == | test.c:85:13:85:13 | 0 | 0 | 85 | 85 | | test.c:85:8:85:13 | ... == ... | test.c:85:8:85:8 | x | == | test.c:85:13:85:13 | 0 | 0 | 86 | 86 | | test.c:85:8:85:13 | ... == ... | test.c:85:13:85:13 | 0 | == | test.c:85:8:85:8 | x | 0 | 85 | 85 | | test.c:85:8:85:13 | ... == ... | test.c:85:13:85:13 | 0 | == | test.c:85:8:85:8 | x | 0 | 86 | 86 | -| test.c:85:8:85:23 | ... && ... | test.c:75:9:75:9 | x | == | test.c:75:14:75:14 | 0 | 0 | 86 | 86 | -| test.c:85:8:85:23 | ... && ... | test.c:75:14:75:14 | 0 | == | test.c:75:9:75:9 | x | 0 | 86 | 86 | | test.c:85:8:85:23 | ... && ... | test.c:85:8:85:8 | x | == | test.c:85:13:85:13 | 0 | 0 | 86 | 86 | | test.c:85:8:85:23 | ... && ... | test.c:85:13:85:13 | 0 | == | test.c:85:8:85:8 | x | 0 | 86 | 86 | | test.c:85:8:85:23 | ... && ... | test.c:85:18:85:18 | y | != | test.c:85:23:85:23 | 0 | 0 | 86 | 86 | @@ -184,18 +174,11 @@ binary unary | test.c:7:9:7:13 | ... > ... | test.c:7:9:7:9 | x | < | 1 | 10 | 11 | | test.c:7:9:7:13 | ... > ... | test.c:7:9:7:9 | x | >= | 1 | 7 | 9 | -| test.c:7:9:7:13 | ... > ... | test.c:7:9:7:13 | ... > ... | != | 0 | 7 | 9 | -| test.c:7:9:7:13 | ... > ... | test.c:7:9:7:13 | ... > ... | == | 0 | 10 | 11 | | test.c:17:8:17:12 | ... < ... | test.c:17:8:17:8 | x | < | 0 | 17 | 17 | | test.c:17:8:17:12 | ... < ... | test.c:17:8:17:8 | x | < | 0 | 18 | 18 | -| test.c:17:8:17:12 | ... < ... | test.c:17:8:17:12 | ... < ... | != | 0 | 17 | 17 | -| test.c:17:8:17:12 | ... < ... | test.c:17:8:17:12 | ... < ... | != | 0 | 18 | 18 | | test.c:17:8:17:21 | ... && ... | test.c:17:8:17:8 | x | < | 0 | 18 | 18 | -| test.c:17:8:17:21 | ... && ... | test.c:17:8:17:12 | ... < ... | != | 0 | 18 | 18 | | test.c:17:8:17:21 | ... && ... | test.c:17:17:17:17 | y | >= | 2 | 18 | 18 | -| test.c:17:8:17:21 | ... && ... | test.c:17:17:17:21 | ... > ... | != | 0 | 18 | 18 | | test.c:17:17:17:21 | ... > ... | test.c:17:17:17:17 | y | >= | 2 | 18 | 18 | -| test.c:17:17:17:21 | ... > ... | test.c:17:17:17:21 | ... > ... | != | 0 | 18 | 18 | | test.c:26:11:26:15 | ... > ... | test.c:26:11:26:11 | x | < | 1 | 2 | 2 | | test.c:26:11:26:15 | ... > ... | test.c:26:11:26:11 | x | < | 1 | 31 | 34 | | test.c:26:11:26:15 | ... > ... | test.c:26:11:26:11 | x | < | 1 | 34 | 34 | @@ -210,20 +193,6 @@ unary | test.c:26:11:26:15 | ... > ... | test.c:26:11:26:11 | x | < | 1 | 58 | 66 | | test.c:26:11:26:15 | ... > ... | test.c:26:11:26:11 | x | < | 1 | 62 | 62 | | test.c:26:11:26:15 | ... > ... | test.c:26:11:26:11 | x | >= | 1 | 26 | 28 | -| test.c:26:11:26:15 | ... > ... | test.c:26:11:26:15 | ... > ... | != | 0 | 26 | 28 | -| test.c:26:11:26:15 | ... > ... | test.c:26:11:26:15 | ... > ... | == | 0 | 2 | 2 | -| test.c:26:11:26:15 | ... > ... | test.c:26:11:26:15 | ... > ... | == | 0 | 31 | 34 | -| test.c:26:11:26:15 | ... > ... | test.c:26:11:26:15 | ... > ... | == | 0 | 34 | 34 | -| test.c:26:11:26:15 | ... > ... | test.c:26:11:26:15 | ... > ... | == | 0 | 39 | 42 | -| test.c:26:11:26:15 | ... > ... | test.c:26:11:26:15 | ... > ... | == | 0 | 42 | 42 | -| test.c:26:11:26:15 | ... > ... | test.c:26:11:26:15 | ... > ... | == | 0 | 42 | 44 | -| test.c:26:11:26:15 | ... > ... | test.c:26:11:26:15 | ... > ... | == | 0 | 45 | 45 | -| test.c:26:11:26:15 | ... > ... | test.c:26:11:26:15 | ... > ... | == | 0 | 45 | 47 | -| test.c:26:11:26:15 | ... > ... | test.c:26:11:26:15 | ... > ... | == | 0 | 51 | 53 | -| test.c:26:11:26:15 | ... > ... | test.c:26:11:26:15 | ... > ... | == | 0 | 56 | 58 | -| test.c:26:11:26:15 | ... > ... | test.c:26:11:26:15 | ... > ... | == | 0 | 58 | 58 | -| test.c:26:11:26:15 | ... > ... | test.c:26:11:26:15 | ... > ... | == | 0 | 58 | 66 | -| test.c:26:11:26:15 | ... > ... | test.c:26:11:26:15 | ... > ... | == | 0 | 62 | 62 | | test.c:34:16:34:21 | ... < ... | test.c:34:16:34:16 | j | < | 10 | 34 | 34 | | test.c:34:16:34:21 | ... < ... | test.c:34:16:34:16 | j | >= | 10 | 2 | 2 | | test.c:34:16:34:21 | ... < ... | test.c:34:16:34:16 | j | >= | 10 | 39 | 42 | @@ -236,72 +205,28 @@ unary | test.c:34:16:34:21 | ... < ... | test.c:34:16:34:16 | j | >= | 10 | 58 | 58 | | test.c:34:16:34:21 | ... < ... | test.c:34:16:34:16 | j | >= | 10 | 58 | 66 | | test.c:34:16:34:21 | ... < ... | test.c:34:16:34:16 | j | >= | 10 | 62 | 62 | -| test.c:34:16:34:21 | ... < ... | test.c:34:16:34:21 | ... < ... | != | 0 | 34 | 34 | -| test.c:34:16:34:21 | ... < ... | test.c:34:16:34:21 | ... < ... | == | 0 | 2 | 2 | -| test.c:34:16:34:21 | ... < ... | test.c:34:16:34:21 | ... < ... | == | 0 | 39 | 42 | -| test.c:34:16:34:21 | ... < ... | test.c:34:16:34:21 | ... < ... | == | 0 | 42 | 42 | -| test.c:34:16:34:21 | ... < ... | test.c:34:16:34:21 | ... < ... | == | 0 | 42 | 44 | -| test.c:34:16:34:21 | ... < ... | test.c:34:16:34:21 | ... < ... | == | 0 | 45 | 45 | -| test.c:34:16:34:21 | ... < ... | test.c:34:16:34:21 | ... < ... | == | 0 | 45 | 47 | -| test.c:34:16:34:21 | ... < ... | test.c:34:16:34:21 | ... < ... | == | 0 | 51 | 53 | -| test.c:34:16:34:21 | ... < ... | test.c:34:16:34:21 | ... < ... | == | 0 | 56 | 58 | -| test.c:34:16:34:21 | ... < ... | test.c:34:16:34:21 | ... < ... | == | 0 | 58 | 58 | -| test.c:34:16:34:21 | ... < ... | test.c:34:16:34:21 | ... < ... | == | 0 | 58 | 66 | -| test.c:34:16:34:21 | ... < ... | test.c:34:16:34:21 | ... < ... | == | 0 | 62 | 62 | | test.c:42:16:42:21 | ... < ... | test.c:42:16:42:16 | j | < | 10 | 42 | 42 | | test.c:42:16:42:21 | ... < ... | test.c:42:16:42:16 | j | < | 10 | 42 | 44 | | test.c:42:16:42:21 | ... < ... | test.c:42:16:42:16 | j | < | 10 | 45 | 45 | | test.c:42:16:42:21 | ... < ... | test.c:42:16:42:16 | j | < | 10 | 45 | 47 | | test.c:42:16:42:21 | ... < ... | test.c:42:16:42:16 | j | < | 10 | 51 | 53 | -| test.c:42:16:42:21 | ... < ... | test.c:42:16:42:21 | ... < ... | != | 0 | 42 | 42 | -| test.c:42:16:42:21 | ... < ... | test.c:42:16:42:21 | ... < ... | != | 0 | 42 | 44 | -| test.c:42:16:42:21 | ... < ... | test.c:42:16:42:21 | ... < ... | != | 0 | 45 | 45 | -| test.c:42:16:42:21 | ... < ... | test.c:42:16:42:21 | ... < ... | != | 0 | 45 | 47 | -| test.c:42:16:42:21 | ... < ... | test.c:42:16:42:21 | ... < ... | != | 0 | 51 | 53 | | test.c:44:12:44:16 | ... > ... | test.c:44:12:44:12 | z | < | 1 | 42 | 42 | | test.c:44:12:44:16 | ... > ... | test.c:44:12:44:12 | z | < | 1 | 51 | 53 | | test.c:44:12:44:16 | ... > ... | test.c:44:12:44:12 | z | >= | 1 | 45 | 45 | | test.c:44:12:44:16 | ... > ... | test.c:44:12:44:12 | z | >= | 1 | 45 | 47 | -| test.c:44:12:44:16 | ... > ... | test.c:44:12:44:16 | ... > ... | != | 0 | 45 | 45 | -| test.c:44:12:44:16 | ... > ... | test.c:44:12:44:16 | ... > ... | != | 0 | 45 | 47 | -| test.c:44:12:44:16 | ... > ... | test.c:44:12:44:16 | ... > ... | == | 0 | 42 | 42 | -| test.c:44:12:44:16 | ... > ... | test.c:44:12:44:16 | ... > ... | == | 0 | 51 | 53 | | test.c:45:16:45:20 | ... > ... | test.c:45:16:45:16 | y | >= | 1 | 45 | 47 | -| test.c:45:16:45:20 | ... > ... | test.c:45:16:45:20 | ... > ... | != | 0 | 45 | 47 | | test.c:58:9:58:14 | ... == ... | test.c:58:9:58:9 | x | != | 0 | 58 | 58 | | test.c:58:9:58:14 | ... == ... | test.c:58:9:58:9 | x | != | 0 | 62 | 62 | -| test.c:58:9:58:14 | ... == ... | test.c:58:9:58:14 | ... == ... | == | 0 | 58 | 58 | -| test.c:58:9:58:14 | ... == ... | test.c:58:9:58:14 | ... == ... | == | 0 | 62 | 62 | | test.c:58:9:58:23 | ... \|\| ... | test.c:58:9:58:9 | x | != | 0 | 62 | 62 | -| test.c:58:9:58:23 | ... \|\| ... | test.c:58:9:58:14 | ... == ... | == | 0 | 62 | 62 | | test.c:58:9:58:23 | ... \|\| ... | test.c:58:19:58:19 | y | >= | 0 | 62 | 62 | -| test.c:58:9:58:23 | ... \|\| ... | test.c:58:19:58:23 | ... < ... | == | 0 | 62 | 62 | | test.c:58:19:58:23 | ... < ... | test.c:58:19:58:19 | y | >= | 0 | 62 | 62 | -| test.c:58:19:58:23 | ... < ... | test.c:58:19:58:23 | ... < ... | == | 0 | 62 | 62 | | test.c:75:9:75:14 | ... == ... | test.c:75:9:75:9 | x | != | 0 | 78 | 79 | | test.c:75:9:75:14 | ... == ... | test.c:75:9:75:9 | x | == | 0 | 75 | 77 | -| test.c:75:9:75:14 | ... == ... | test.c:75:9:75:14 | ... == ... | != | 0 | 75 | 77 | -| test.c:75:9:75:14 | ... == ... | test.c:75:9:75:14 | ... == ... | == | 0 | 78 | 79 | -| test.c:75:9:75:14 | ... == ... | test.c:85:8:85:8 | x | != | 0 | 78 | 79 | -| test.c:75:9:75:14 | ... == ... | test.c:85:8:85:8 | x | == | 0 | 75 | 77 | -| test.c:75:9:75:14 | ... == ... | test.c:85:8:85:13 | ... == ... | != | 0 | 75 | 77 | -| test.c:75:9:75:14 | ... == ... | test.c:85:8:85:13 | ... == ... | == | 0 | 78 | 79 | -| test.c:85:8:85:13 | ... == ... | test.c:75:9:75:9 | x | == | 0 | 85 | 85 | -| test.c:85:8:85:13 | ... == ... | test.c:75:9:75:9 | x | == | 0 | 86 | 86 | -| test.c:85:8:85:13 | ... == ... | test.c:75:9:75:14 | ... == ... | != | 0 | 85 | 85 | -| test.c:85:8:85:13 | ... == ... | test.c:75:9:75:14 | ... == ... | != | 0 | 86 | 86 | | test.c:85:8:85:13 | ... == ... | test.c:85:8:85:8 | x | == | 0 | 85 | 85 | | test.c:85:8:85:13 | ... == ... | test.c:85:8:85:8 | x | == | 0 | 86 | 86 | -| test.c:85:8:85:13 | ... == ... | test.c:85:8:85:13 | ... == ... | != | 0 | 85 | 85 | -| test.c:85:8:85:13 | ... == ... | test.c:85:8:85:13 | ... == ... | != | 0 | 86 | 86 | -| test.c:85:8:85:23 | ... && ... | test.c:75:9:75:9 | x | == | 0 | 86 | 86 | -| test.c:85:8:85:23 | ... && ... | test.c:75:9:75:14 | ... == ... | != | 0 | 86 | 86 | | test.c:85:8:85:23 | ... && ... | test.c:85:8:85:8 | x | == | 0 | 86 | 86 | -| test.c:85:8:85:23 | ... && ... | test.c:85:8:85:13 | ... == ... | != | 0 | 86 | 86 | | test.c:85:8:85:23 | ... && ... | test.c:85:18:85:18 | y | != | 0 | 86 | 86 | -| test.c:85:8:85:23 | ... && ... | test.c:85:18:85:23 | ... != ... | != | 0 | 86 | 86 | | test.c:85:18:85:23 | ... != ... | test.c:85:18:85:18 | y | != | 0 | 86 | 86 | -| test.c:85:18:85:23 | ... != ... | test.c:85:18:85:23 | ... != ... | != | 0 | 86 | 86 | | test.c:94:11:94:16 | ... != ... | test.c:94:11:94:11 | x | != | 0 | 94 | 96 | | test.c:94:11:94:16 | ... != ... | test.c:94:11:94:11 | x | == | 0 | 70 | 70 | | test.c:94:11:94:16 | ... != ... | test.c:94:11:94:11 | x | == | 0 | 99 | 102 | @@ -310,49 +235,24 @@ unary | test.c:94:11:94:16 | ... != ... | test.c:94:11:94:11 | x | == | 0 | 109 | 109 | | test.c:94:11:94:16 | ... != ... | test.c:94:11:94:11 | x | == | 0 | 109 | 117 | | test.c:94:11:94:16 | ... != ... | test.c:94:11:94:11 | x | == | 0 | 113 | 113 | -| test.c:94:11:94:16 | ... != ... | test.c:94:11:94:16 | ... != ... | != | 0 | 94 | 96 | -| test.c:94:11:94:16 | ... != ... | test.c:94:11:94:16 | ... != ... | == | 0 | 70 | 70 | -| test.c:94:11:94:16 | ... != ... | test.c:94:11:94:16 | ... != ... | == | 0 | 99 | 102 | -| test.c:94:11:94:16 | ... != ... | test.c:94:11:94:16 | ... != ... | == | 0 | 102 | 102 | -| test.c:94:11:94:16 | ... != ... | test.c:94:11:94:16 | ... != ... | == | 0 | 107 | 109 | -| test.c:94:11:94:16 | ... != ... | test.c:94:11:94:16 | ... != ... | == | 0 | 109 | 109 | -| test.c:94:11:94:16 | ... != ... | test.c:94:11:94:16 | ... != ... | == | 0 | 109 | 117 | -| test.c:94:11:94:16 | ... != ... | test.c:94:11:94:16 | ... != ... | == | 0 | 113 | 113 | | test.c:102:16:102:21 | ... < ... | test.c:102:16:102:16 | j | < | 10 | 102 | 102 | | test.c:102:16:102:21 | ... < ... | test.c:102:16:102:16 | j | >= | 10 | 70 | 70 | | test.c:102:16:102:21 | ... < ... | test.c:102:16:102:16 | j | >= | 10 | 107 | 109 | | test.c:102:16:102:21 | ... < ... | test.c:102:16:102:16 | j | >= | 10 | 109 | 109 | | test.c:102:16:102:21 | ... < ... | test.c:102:16:102:16 | j | >= | 10 | 109 | 117 | | test.c:102:16:102:21 | ... < ... | test.c:102:16:102:16 | j | >= | 10 | 113 | 113 | -| test.c:102:16:102:21 | ... < ... | test.c:102:16:102:21 | ... < ... | != | 0 | 102 | 102 | -| test.c:102:16:102:21 | ... < ... | test.c:102:16:102:21 | ... < ... | == | 0 | 70 | 70 | -| test.c:102:16:102:21 | ... < ... | test.c:102:16:102:21 | ... < ... | == | 0 | 107 | 109 | -| test.c:102:16:102:21 | ... < ... | test.c:102:16:102:21 | ... < ... | == | 0 | 109 | 109 | -| test.c:102:16:102:21 | ... < ... | test.c:102:16:102:21 | ... < ... | == | 0 | 109 | 117 | -| test.c:102:16:102:21 | ... < ... | test.c:102:16:102:21 | ... < ... | == | 0 | 113 | 113 | | test.c:109:9:109:14 | ... == ... | test.c:109:9:109:9 | x | != | 0 | 109 | 109 | | test.c:109:9:109:14 | ... == ... | test.c:109:9:109:9 | x | != | 0 | 113 | 113 | -| test.c:109:9:109:14 | ... == ... | test.c:109:9:109:14 | ... == ... | == | 0 | 109 | 109 | -| test.c:109:9:109:14 | ... == ... | test.c:109:9:109:14 | ... == ... | == | 0 | 113 | 113 | | test.c:109:9:109:23 | ... \|\| ... | test.c:109:9:109:9 | x | != | 0 | 113 | 113 | -| test.c:109:9:109:23 | ... \|\| ... | test.c:109:9:109:14 | ... == ... | == | 0 | 113 | 113 | | test.c:109:9:109:23 | ... \|\| ... | test.c:109:19:109:19 | y | >= | 0 | 113 | 113 | -| test.c:109:9:109:23 | ... \|\| ... | test.c:109:19:109:23 | ... < ... | == | 0 | 113 | 113 | | test.c:109:19:109:23 | ... < ... | test.c:109:19:109:19 | y | >= | 0 | 113 | 113 | -| test.c:109:19:109:23 | ... < ... | test.c:109:19:109:23 | ... < ... | == | 0 | 113 | 113 | | test.c:126:7:126:7 | 1 | test.c:126:7:126:7 | 1 | != | 0 | 126 | 126 | | test.c:126:7:126:7 | 1 | test.c:126:7:126:7 | 1 | != | 0 | 126 | 128 | | test.c:126:7:126:7 | 1 | test.c:126:7:126:7 | 1 | != | 0 | 131 | 131 | | test.c:126:7:126:7 | 1 | test.c:126:7:126:7 | 1 | != | 0 | 131 | 132 | | test.c:126:7:126:7 | 1 | test.c:126:7:126:7 | 1 | != | 0 | 134 | 123 | -| test.c:126:7:126:7 | 1 | test.c:127:9:127:9 | 1 | != | 0 | 126 | 126 | -| test.c:126:7:126:7 | 1 | test.c:127:9:127:9 | 1 | != | 0 | 126 | 128 | -| test.c:126:7:126:7 | 1 | test.c:127:9:127:9 | 1 | != | 0 | 131 | 131 | -| test.c:126:7:126:7 | 1 | test.c:127:9:127:9 | 1 | != | 0 | 131 | 132 | -| test.c:126:7:126:7 | 1 | test.c:127:9:127:9 | 1 | != | 0 | 134 | 123 | | test.c:126:7:126:28 | ... && ... | test.c:126:7:126:7 | 1 | != | 0 | 126 | 128 | | test.c:126:7:126:28 | ... && ... | test.c:126:12:126:26 | call to test3_condition | != | 0 | 126 | 128 | -| test.c:126:7:126:28 | ... && ... | test.c:127:9:127:9 | 1 | != | 0 | 126 | 128 | | test.c:126:12:126:26 | call to test3_condition | test.c:126:12:126:26 | call to test3_condition | != | 0 | 126 | 128 | | test.c:131:7:131:7 | b | test.c:131:7:131:7 | b | != | 0 | 131 | 132 | | test.c:137:7:137:7 | 0 | test.c:137:7:137:7 | 0 | == | 0 | 142 | 136 | @@ -369,10 +269,6 @@ unary | test.cpp:31:7:31:13 | ... == ... | test.cpp:31:7:31:7 | x | != | -1 | 34 | 34 | | test.cpp:31:7:31:13 | ... == ... | test.cpp:31:7:31:7 | x | == | -1 | 30 | 30 | | test.cpp:31:7:31:13 | ... == ... | test.cpp:31:7:31:7 | x | == | -1 | 31 | 32 | -| test.cpp:31:7:31:13 | ... == ... | test.cpp:31:7:31:13 | ... == ... | != | 0 | 30 | 30 | -| test.cpp:31:7:31:13 | ... == ... | test.cpp:31:7:31:13 | ... == ... | != | 0 | 31 | 32 | -| test.cpp:31:7:31:13 | ... == ... | test.cpp:31:7:31:13 | ... == ... | == | 0 | 30 | 30 | -| test.cpp:31:7:31:13 | ... == ... | test.cpp:31:7:31:13 | ... == ... | == | 0 | 34 | 34 | | test.cpp:42:13:42:20 | call to getABool | test.cpp:42:13:42:20 | call to getABool | != | 0 | 43 | 45 | | test.cpp:42:13:42:20 | call to getABool | test.cpp:42:13:42:20 | call to getABool | == | 0 | 53 | 53 | | test.cpp:61:10:61:10 | i | test.cpp:61:10:61:10 | i | == | 0 | 62 | 64 | @@ -382,20 +278,13 @@ unary | test.cpp:74:10:74:10 | i | test.cpp:74:10:74:10 | i | >= | 0 | 75 | 77 | | test.cpp:74:10:74:10 | i | test.cpp:74:10:74:10 | i | >= | 11 | 78 | 79 | | test.cpp:93:6:93:6 | c | test.cpp:93:6:93:6 | c | != | 0 | 93 | 94 | -| test.cpp:99:6:99:6 | f | test.cpp:99:6:99:6 | f | != | 0 | 99 | 100 | -| test.cpp:105:6:105:14 | ... != ... | test.cpp:105:6:105:14 | ... != ... | != | 0 | 105 | 106 | -| test.cpp:111:6:111:14 | ... != ... | test.cpp:111:6:111:14 | ... != ... | != | 0 | 111 | 112 | | test.cpp:122:9:122:9 | b | test.cpp:122:9:122:9 | b | != | 0 | 123 | 125 | | test.cpp:122:9:122:9 | b | test.cpp:122:9:122:9 | b | != | 0 | 125 | 125 | | test.cpp:125:13:125:20 | ! ... | test.cpp:125:13:125:20 | ! ... | != | 0 | 125 | 125 | | test.cpp:125:14:125:17 | call to safe | test.cpp:125:14:125:17 | call to safe | == | 0 | 125 | 125 | | test.cpp:131:6:131:21 | call to __builtin_expect | test.cpp:131:6:131:21 | call to __builtin_expect | != | 0 | 131 | 132 | -| test.cpp:131:6:131:21 | call to __builtin_expect | test.cpp:131:23:131:33 | ... == ... | != | 0 | 131 | 132 | | test.cpp:135:6:135:21 | call to __builtin_expect | test.cpp:135:6:135:21 | call to __builtin_expect | != | 0 | 135 | 136 | -| test.cpp:135:6:135:21 | call to __builtin_expect | test.cpp:135:23:135:33 | ... != ... | != | 0 | 135 | 136 | | test.cpp:141:6:141:21 | call to __builtin_expect | test.cpp:141:6:141:21 | call to __builtin_expect | != | 0 | 141 | 142 | | test.cpp:141:6:141:21 | call to __builtin_expect | test.cpp:141:23:141:23 | a | == | 42 | 141 | 142 | -| test.cpp:141:6:141:21 | call to __builtin_expect | test.cpp:141:23:141:29 | ... == ... | != | 0 | 141 | 142 | | test.cpp:145:6:145:21 | call to __builtin_expect | test.cpp:145:6:145:21 | call to __builtin_expect | != | 0 | 145 | 146 | | test.cpp:145:6:145:21 | call to __builtin_expect | test.cpp:145:23:145:23 | a | != | 42 | 145 | 146 | -| test.cpp:145:6:145:21 | call to __builtin_expect | test.cpp:145:23:145:29 | ... != ... | != | 0 | 145 | 146 | diff --git a/cpp/ql/test/query-tests/Critical/MissingCheckScanf/MissingCheckScanf.expected b/cpp/ql/test/query-tests/Critical/MissingCheckScanf/MissingCheckScanf.expected index 1edf3b1ae99..dac8afd3fd3 100644 --- a/cpp/ql/test/query-tests/Critical/MissingCheckScanf/MissingCheckScanf.expected +++ b/cpp/ql/test/query-tests/Critical/MissingCheckScanf/MissingCheckScanf.expected @@ -52,9 +52,6 @@ edges | test.cpp:541:39:541:40 | sscanf output argument | test.cpp:549:8:549:8 | e | provenance | | | test.cpp:541:43:541:44 | sscanf output argument | test.cpp:545:8:545:8 | f | provenance | | | test.cpp:541:43:541:44 | sscanf output argument | test.cpp:550:8:550:8 | f | provenance | | -| test.cpp:559:30:559:31 | scanf output argument | test.cpp:561:9:561:9 | i | provenance | | -| test.cpp:567:35:567:36 | scanf output argument | test.cpp:569:9:569:9 | i | provenance | | -| test.cpp:575:30:575:31 | scanf output argument | test.cpp:577:9:577:9 | i | provenance | | nodes | test.cpp:34:15:34:16 | scanf output argument | semmle.label | scanf output argument | | test.cpp:35:7:35:7 | i | semmle.label | i | @@ -157,12 +154,6 @@ nodes | test.cpp:548:8:548:8 | d | semmle.label | d | | test.cpp:549:8:549:8 | e | semmle.label | e | | test.cpp:550:8:550:8 | f | semmle.label | f | -| test.cpp:559:30:559:31 | scanf output argument | semmle.label | scanf output argument | -| test.cpp:561:9:561:9 | i | semmle.label | i | -| test.cpp:567:35:567:36 | scanf output argument | semmle.label | scanf output argument | -| test.cpp:569:9:569:9 | i | semmle.label | i | -| test.cpp:575:30:575:31 | scanf output argument | semmle.label | scanf output argument | -| test.cpp:577:9:577:9 | i | semmle.label | i | subpaths #select | test.cpp:35:7:35:7 | i | test.cpp:34:15:34:16 | scanf output argument | test.cpp:35:7:35:7 | i | This variable is read, but may not have been written. It should be guarded by a check that the $@ returns at least 1. | test.cpp:34:3:34:7 | call to scanf | call to scanf | @@ -186,5 +177,3 @@ subpaths | test.cpp:484:9:484:9 | i | test.cpp:480:25:480:26 | scanf output argument | test.cpp:484:9:484:9 | i | This variable is read, but may not have been written. It should be guarded by a check that the $@ returns at least 1. | test.cpp:480:13:480:17 | call to scanf | call to scanf | | test.cpp:495:8:495:8 | i | test.cpp:491:25:491:26 | scanf output argument | test.cpp:495:8:495:8 | i | This variable is read, but may not have been written. It should be guarded by a check that the $@ returns at least 1. | test.cpp:491:13:491:17 | call to scanf | call to scanf | | test.cpp:545:8:545:8 | f | test.cpp:541:43:541:44 | sscanf output argument | test.cpp:545:8:545:8 | f | This variable is read, but may not have been written. It should be guarded by a check that the $@ returns at least 3. | test.cpp:541:10:541:15 | call to sscanf | call to sscanf | -| test.cpp:569:9:569:9 | i | test.cpp:567:35:567:36 | scanf output argument | test.cpp:569:9:569:9 | i | This variable is read, but may not have been written. It should be guarded by a check that the $@ returns at least 1. | test.cpp:567:23:567:27 | call to scanf | call to scanf | -| test.cpp:577:9:577:9 | i | test.cpp:575:30:575:31 | scanf output argument | test.cpp:577:9:577:9 | i | This variable is read, but may not have been written. It should be guarded by a check that the $@ returns at least 1. | test.cpp:575:18:575:22 | call to scanf | call to scanf | diff --git a/cpp/ql/test/query-tests/Critical/MissingCheckScanf/test.cpp b/cpp/ql/test/query-tests/Critical/MissingCheckScanf/test.cpp index 9cfad40a148..efc37060a55 100644 --- a/cpp/ql/test/query-tests/Critical/MissingCheckScanf/test.cpp +++ b/cpp/ql/test/query-tests/Critical/MissingCheckScanf/test.cpp @@ -553,27 +553,3 @@ void switch_cases(const char *data) { break; } } - -void test_scanf_compared_right_away() { - int i; - bool success = scanf("%d", &i) == 1; - if(success) { - use(i); // GOOD - } -} - -void test_scanf_compared_in_conjunct_right(bool b) { - int i; - bool success = b && scanf("%d", &i) == 1; - if(success) { - use(i); // GOOD [FALSE POSITIVE] - } -} - -void test_scanf_compared_in_conjunct_left(bool b) { - int i; - bool success = scanf("%d", &i) == 1 && b; - if(success) { - use(i); // GOOD [FALSE POSITIVE] - } -} From 4effe9e3643aa9ae2fd62a17dfeebbd1302e8d98 Mon Sep 17 00:00:00 2001 From: Alexander Eyers-Taylor Date: Thu, 21 Nov 2024 14:43:15 +0000 Subject: [PATCH 14/46] Revert "Post-release preparation for codeql-cli-2.19.4" --- cpp/ql/lib/CHANGELOG.md | 6 ------ .../2.1.1.md => 2024-11-18-guard-conditions.md} | 9 ++++----- cpp/ql/lib/codeql-pack.release.yml | 2 +- cpp/ql/lib/qlpack.yml | 2 +- cpp/ql/src/CHANGELOG.md | 4 ---- cpp/ql/src/change-notes/released/1.2.7.md | 3 --- cpp/ql/src/codeql-pack.release.yml | 2 +- cpp/ql/src/qlpack.yml | 2 +- csharp/ql/campaigns/Solorigate/lib/CHANGELOG.md | 4 ---- .../Solorigate/lib/change-notes/released/1.7.29.md | 3 --- .../campaigns/Solorigate/lib/codeql-pack.release.yml | 2 +- csharp/ql/campaigns/Solorigate/lib/qlpack.yml | 2 +- csharp/ql/campaigns/Solorigate/src/CHANGELOG.md | 4 ---- .../Solorigate/src/change-notes/released/1.7.29.md | 3 --- .../campaigns/Solorigate/src/codeql-pack.release.yml | 2 +- csharp/ql/campaigns/Solorigate/src/qlpack.yml | 2 +- csharp/ql/lib/CHANGELOG.md | 7 ------- .../3.1.1.md => 2024-11-07-net8-runtime-models.md} | 8 +++----- .../lib/change-notes/2024-11-19-extractor-dotnet.md | 4 ++++ csharp/ql/lib/codeql-pack.release.yml | 2 +- csharp/ql/lib/qlpack.yml | 2 +- csharp/ql/src/CHANGELOG.md | 4 ---- csharp/ql/src/change-notes/released/1.0.12.md | 3 --- csharp/ql/src/codeql-pack.release.yml | 2 +- csharp/ql/src/qlpack.yml | 2 +- go/ql/consistency-queries/CHANGELOG.md | 4 ---- .../change-notes/released/1.0.12.md | 3 --- go/ql/consistency-queries/codeql-pack.release.yml | 2 +- go/ql/consistency-queries/qlpack.yml | 2 +- go/ql/lib/CHANGELOG.md | 11 ----------- ...4-11-07-fix-missing-qualified-names-for-methods.md | 4 ++++ .../2024-11-11-models-as-data-subtypes-column.md | 4 ++++ .../2024-11-12-models-as-data-subtypes-true.md | 4 ++++ go/ql/lib/change-notes/released/2.1.3.md | 10 ---------- go/ql/lib/codeql-pack.release.yml | 2 +- go/ql/lib/qlpack.yml | 2 +- go/ql/src/CHANGELOG.md | 4 ---- go/ql/src/change-notes/released/1.1.3.md | 3 --- go/ql/src/codeql-pack.release.yml | 2 +- go/ql/src/qlpack.yml | 2 +- java/ql/automodel/src/CHANGELOG.md | 4 ---- java/ql/automodel/src/change-notes/released/1.0.12.md | 3 --- java/ql/automodel/src/codeql-pack.release.yml | 2 +- java/ql/automodel/src/qlpack.yml | 2 +- java/ql/lib/CHANGELOG.md | 6 ------ ...hable-basic-block-in-constant-switch-statement.md} | 7 +++---- java/ql/lib/codeql-pack.release.yml | 2 +- java/ql/lib/qlpack.yml | 2 +- java/ql/src/CHANGELOG.md | 4 ---- java/ql/src/change-notes/released/1.1.9.md | 3 --- java/ql/src/codeql-pack.release.yml | 2 +- java/ql/src/qlpack.yml | 2 +- javascript/ql/lib/CHANGELOG.md | 11 ----------- .../lib/change-notes/2024-11-11-matchAll-support.md | 4 ++++ .../ql/lib/change-notes/2024-11-11-reserve-support.md | 4 ++++ .../2024-11-12-immutable-array-operations.md | 5 +++++ .../lib/change-notes/2024-11-15-toSpliced-support.md | 4 ++++ .../2024-11-18-ES2023-array-protype-with.md | 4 ++++ javascript/ql/lib/change-notes/released/2.1.1.md | 10 ---------- javascript/ql/lib/codeql-pack.release.yml | 2 +- javascript/ql/lib/qlpack.yml | 2 +- javascript/ql/src/CHANGELOG.md | 4 ---- javascript/ql/src/change-notes/released/1.2.4.md | 3 --- javascript/ql/src/codeql-pack.release.yml | 2 +- javascript/ql/src/qlpack.yml | 2 +- misc/suite-helpers/CHANGELOG.md | 4 ---- misc/suite-helpers/change-notes/released/1.0.12.md | 3 --- misc/suite-helpers/codeql-pack.release.yml | 2 +- misc/suite-helpers/qlpack.yml | 2 +- python/ql/lib/CHANGELOG.md | 6 ------ python/ql/lib/change-notes/2024-08-30-bottle.md | 4 ++++ python/ql/lib/change-notes/released/2.2.0.md | 5 ----- python/ql/lib/codeql-pack.release.yml | 2 +- python/ql/lib/qlpack.yml | 2 +- python/ql/src/CHANGELOG.md | 4 ---- python/ql/src/change-notes/released/1.3.3.md | 3 --- python/ql/src/codeql-pack.release.yml | 2 +- python/ql/src/qlpack.yml | 2 +- ruby/ql/lib/CHANGELOG.md | 4 ---- ruby/ql/lib/change-notes/released/2.0.4.md | 3 --- ruby/ql/lib/codeql-pack.release.yml | 2 +- ruby/ql/lib/qlpack.yml | 2 +- ruby/ql/src/CHANGELOG.md | 4 ---- ruby/ql/src/change-notes/released/1.1.7.md | 3 --- ruby/ql/src/codeql-pack.release.yml | 2 +- ruby/ql/src/qlpack.yml | 2 +- shared/controlflow/CHANGELOG.md | 4 ---- shared/controlflow/change-notes/released/1.0.12.md | 3 --- shared/controlflow/codeql-pack.release.yml | 2 +- shared/controlflow/qlpack.yml | 2 +- shared/dataflow/CHANGELOG.md | 4 ---- shared/dataflow/change-notes/released/1.1.6.md | 3 --- shared/dataflow/codeql-pack.release.yml | 2 +- shared/dataflow/qlpack.yml | 2 +- shared/mad/CHANGELOG.md | 4 ---- shared/mad/change-notes/released/1.0.12.md | 3 --- shared/mad/codeql-pack.release.yml | 2 +- shared/mad/qlpack.yml | 2 +- shared/rangeanalysis/CHANGELOG.md | 4 ---- shared/rangeanalysis/change-notes/released/1.0.12.md | 3 --- shared/rangeanalysis/codeql-pack.release.yml | 2 +- shared/rangeanalysis/qlpack.yml | 2 +- shared/regex/CHANGELOG.md | 4 ---- shared/regex/change-notes/released/1.0.12.md | 3 --- shared/regex/codeql-pack.release.yml | 2 +- shared/regex/qlpack.yml | 2 +- shared/ssa/CHANGELOG.md | 4 ---- shared/ssa/change-notes/released/1.0.12.md | 3 --- shared/ssa/codeql-pack.release.yml | 2 +- shared/ssa/qlpack.yml | 2 +- shared/threat-models/CHANGELOG.md | 4 ---- shared/threat-models/change-notes/released/1.0.12.md | 3 --- shared/threat-models/codeql-pack.release.yml | 2 +- shared/threat-models/qlpack.yml | 2 +- shared/tutorial/CHANGELOG.md | 4 ---- shared/tutorial/change-notes/released/1.0.12.md | 3 --- shared/tutorial/codeql-pack.release.yml | 2 +- shared/tutorial/qlpack.yml | 2 +- shared/typeflow/CHANGELOG.md | 4 ---- shared/typeflow/change-notes/released/1.0.12.md | 3 --- shared/typeflow/codeql-pack.release.yml | 2 +- shared/typeflow/qlpack.yml | 2 +- shared/typetracking/CHANGELOG.md | 4 ---- shared/typetracking/change-notes/released/1.0.12.md | 3 --- shared/typetracking/codeql-pack.release.yml | 2 +- shared/typetracking/qlpack.yml | 2 +- shared/typos/CHANGELOG.md | 4 ---- shared/typos/change-notes/released/1.0.12.md | 3 --- shared/typos/codeql-pack.release.yml | 2 +- shared/typos/qlpack.yml | 2 +- shared/util/CHANGELOG.md | 4 ---- shared/util/change-notes/released/1.0.12.md | 3 --- shared/util/codeql-pack.release.yml | 2 +- shared/util/qlpack.yml | 2 +- shared/xml/CHANGELOG.md | 4 ---- shared/xml/change-notes/released/1.0.12.md | 3 --- shared/xml/codeql-pack.release.yml | 2 +- shared/xml/qlpack.yml | 2 +- shared/yaml/CHANGELOG.md | 4 ---- shared/yaml/change-notes/released/1.0.12.md | 3 --- shared/yaml/codeql-pack.release.yml | 2 +- shared/yaml/qlpack.yml | 2 +- swift/ql/lib/CHANGELOG.md | 4 ---- swift/ql/lib/change-notes/released/2.0.4.md | 3 --- swift/ql/lib/codeql-pack.release.yml | 2 +- swift/ql/lib/qlpack.yml | 2 +- swift/ql/src/CHANGELOG.md | 4 ---- swift/ql/src/change-notes/released/1.0.12.md | 3 --- swift/ql/src/codeql-pack.release.yml | 2 +- swift/ql/src/qlpack.yml | 2 +- 150 files changed, 121 insertions(+), 359 deletions(-) rename cpp/ql/lib/change-notes/{released/2.1.1.md => 2024-11-18-guard-conditions.md} (65%) delete mode 100644 cpp/ql/src/change-notes/released/1.2.7.md delete mode 100644 csharp/ql/campaigns/Solorigate/lib/change-notes/released/1.7.29.md delete mode 100644 csharp/ql/campaigns/Solorigate/src/change-notes/released/1.7.29.md rename csharp/ql/lib/change-notes/{released/3.1.1.md => 2024-11-07-net8-runtime-models.md} (51%) create mode 100644 csharp/ql/lib/change-notes/2024-11-19-extractor-dotnet.md delete mode 100644 csharp/ql/src/change-notes/released/1.0.12.md delete mode 100644 go/ql/consistency-queries/change-notes/released/1.0.12.md create mode 100644 go/ql/lib/change-notes/2024-11-07-fix-missing-qualified-names-for-methods.md create mode 100644 go/ql/lib/change-notes/2024-11-11-models-as-data-subtypes-column.md create mode 100644 go/ql/lib/change-notes/2024-11-12-models-as-data-subtypes-true.md delete mode 100644 go/ql/lib/change-notes/released/2.1.3.md delete mode 100644 go/ql/src/change-notes/released/1.1.3.md delete mode 100644 java/ql/automodel/src/change-notes/released/1.0.12.md rename java/ql/lib/change-notes/{released/4.2.1.md => 2024-11-14-unreachable-basic-block-in-constant-switch-statement.md} (83%) delete mode 100644 java/ql/src/change-notes/released/1.1.9.md create mode 100644 javascript/ql/lib/change-notes/2024-11-11-matchAll-support.md create mode 100644 javascript/ql/lib/change-notes/2024-11-11-reserve-support.md create mode 100644 javascript/ql/lib/change-notes/2024-11-12-immutable-array-operations.md create mode 100644 javascript/ql/lib/change-notes/2024-11-15-toSpliced-support.md create mode 100644 javascript/ql/lib/change-notes/2024-11-18-ES2023-array-protype-with.md delete mode 100644 javascript/ql/lib/change-notes/released/2.1.1.md delete mode 100644 javascript/ql/src/change-notes/released/1.2.4.md delete mode 100644 misc/suite-helpers/change-notes/released/1.0.12.md create mode 100644 python/ql/lib/change-notes/2024-08-30-bottle.md delete mode 100644 python/ql/lib/change-notes/released/2.2.0.md delete mode 100644 python/ql/src/change-notes/released/1.3.3.md delete mode 100644 ruby/ql/lib/change-notes/released/2.0.4.md delete mode 100644 ruby/ql/src/change-notes/released/1.1.7.md delete mode 100644 shared/controlflow/change-notes/released/1.0.12.md delete mode 100644 shared/dataflow/change-notes/released/1.1.6.md delete mode 100644 shared/mad/change-notes/released/1.0.12.md delete mode 100644 shared/rangeanalysis/change-notes/released/1.0.12.md delete mode 100644 shared/regex/change-notes/released/1.0.12.md delete mode 100644 shared/ssa/change-notes/released/1.0.12.md delete mode 100644 shared/threat-models/change-notes/released/1.0.12.md delete mode 100644 shared/tutorial/change-notes/released/1.0.12.md delete mode 100644 shared/typeflow/change-notes/released/1.0.12.md delete mode 100644 shared/typetracking/change-notes/released/1.0.12.md delete mode 100644 shared/typos/change-notes/released/1.0.12.md delete mode 100644 shared/util/change-notes/released/1.0.12.md delete mode 100644 shared/xml/change-notes/released/1.0.12.md delete mode 100644 shared/yaml/change-notes/released/1.0.12.md delete mode 100644 swift/ql/lib/change-notes/released/2.0.4.md delete mode 100644 swift/ql/src/change-notes/released/1.0.12.md diff --git a/cpp/ql/lib/CHANGELOG.md b/cpp/ql/lib/CHANGELOG.md index 077d4847afd..0536c1c361b 100644 --- a/cpp/ql/lib/CHANGELOG.md +++ b/cpp/ql/lib/CHANGELOG.md @@ -1,9 +1,3 @@ -## 2.1.1 - -### Minor Analysis Improvements - -* The `Guards` library (`semmle.code.cpp.controlflow.Guards`) has been improved to recognize more guard conditions. Additionally, the guards library no longer considers guards in static local initializers or global initializers as `GuardCondition`s. - ## 2.1.0 ### New Features diff --git a/cpp/ql/lib/change-notes/released/2.1.1.md b/cpp/ql/lib/change-notes/2024-11-18-guard-conditions.md similarity index 65% rename from cpp/ql/lib/change-notes/released/2.1.1.md rename to cpp/ql/lib/change-notes/2024-11-18-guard-conditions.md index 39acc1a585f..8fb914bf51b 100644 --- a/cpp/ql/lib/change-notes/released/2.1.1.md +++ b/cpp/ql/lib/change-notes/2024-11-18-guard-conditions.md @@ -1,5 +1,4 @@ -## 2.1.1 - -### Minor Analysis Improvements - -* The `Guards` library (`semmle.code.cpp.controlflow.Guards`) has been improved to recognize more guard conditions. Additionally, the guards library no longer considers guards in static local initializers or global initializers as `GuardCondition`s. +--- +category: minorAnalysis +--- +* The `Guards` library (`semmle.code.cpp.controlflow.Guards`) has been improved to recognize more guard conditions. Additionally, the guards library no longer considers guards in static local initializers or global initializers as `GuardCondition`s. \ No newline at end of file diff --git a/cpp/ql/lib/codeql-pack.release.yml b/cpp/ql/lib/codeql-pack.release.yml index 576c2ea18d6..487a1a58b2b 100644 --- a/cpp/ql/lib/codeql-pack.release.yml +++ b/cpp/ql/lib/codeql-pack.release.yml @@ -1,2 +1,2 @@ --- -lastReleaseVersion: 2.1.1 +lastReleaseVersion: 2.1.0 diff --git a/cpp/ql/lib/qlpack.yml b/cpp/ql/lib/qlpack.yml index 001028daae1..397a56ac535 100644 --- a/cpp/ql/lib/qlpack.yml +++ b/cpp/ql/lib/qlpack.yml @@ -1,5 +1,5 @@ name: codeql/cpp-all -version: 2.1.2-dev +version: 2.1.1-dev groups: cpp dbscheme: semmlecode.cpp.dbscheme extractor: cpp diff --git a/cpp/ql/src/CHANGELOG.md b/cpp/ql/src/CHANGELOG.md index 5bb266bdd64..4098bcf4d20 100644 --- a/cpp/ql/src/CHANGELOG.md +++ b/cpp/ql/src/CHANGELOG.md @@ -1,7 +1,3 @@ -## 1.2.7 - -No user-facing changes. - ## 1.2.6 ### Minor Analysis Improvements diff --git a/cpp/ql/src/change-notes/released/1.2.7.md b/cpp/ql/src/change-notes/released/1.2.7.md deleted file mode 100644 index 99f957692ac..00000000000 --- a/cpp/ql/src/change-notes/released/1.2.7.md +++ /dev/null @@ -1,3 +0,0 @@ -## 1.2.7 - -No user-facing changes. diff --git a/cpp/ql/src/codeql-pack.release.yml b/cpp/ql/src/codeql-pack.release.yml index 950e0645d4a..24962f7ba24 100644 --- a/cpp/ql/src/codeql-pack.release.yml +++ b/cpp/ql/src/codeql-pack.release.yml @@ -1,2 +1,2 @@ --- -lastReleaseVersion: 1.2.7 +lastReleaseVersion: 1.2.6 diff --git a/cpp/ql/src/qlpack.yml b/cpp/ql/src/qlpack.yml index 2fcf45807da..7059965615a 100644 --- a/cpp/ql/src/qlpack.yml +++ b/cpp/ql/src/qlpack.yml @@ -1,5 +1,5 @@ name: codeql/cpp-queries -version: 1.2.8-dev +version: 1.2.7-dev groups: - cpp - queries diff --git a/csharp/ql/campaigns/Solorigate/lib/CHANGELOG.md b/csharp/ql/campaigns/Solorigate/lib/CHANGELOG.md index 93e737ae669..7b5cb257096 100644 --- a/csharp/ql/campaigns/Solorigate/lib/CHANGELOG.md +++ b/csharp/ql/campaigns/Solorigate/lib/CHANGELOG.md @@ -1,7 +1,3 @@ -## 1.7.29 - -No user-facing changes. - ## 1.7.28 No user-facing changes. diff --git a/csharp/ql/campaigns/Solorigate/lib/change-notes/released/1.7.29.md b/csharp/ql/campaigns/Solorigate/lib/change-notes/released/1.7.29.md deleted file mode 100644 index 6ff68866478..00000000000 --- a/csharp/ql/campaigns/Solorigate/lib/change-notes/released/1.7.29.md +++ /dev/null @@ -1,3 +0,0 @@ -## 1.7.29 - -No user-facing changes. diff --git a/csharp/ql/campaigns/Solorigate/lib/codeql-pack.release.yml b/csharp/ql/campaigns/Solorigate/lib/codeql-pack.release.yml index 34100d3ad64..ff17fbaf982 100644 --- a/csharp/ql/campaigns/Solorigate/lib/codeql-pack.release.yml +++ b/csharp/ql/campaigns/Solorigate/lib/codeql-pack.release.yml @@ -1,2 +1,2 @@ --- -lastReleaseVersion: 1.7.29 +lastReleaseVersion: 1.7.28 diff --git a/csharp/ql/campaigns/Solorigate/lib/qlpack.yml b/csharp/ql/campaigns/Solorigate/lib/qlpack.yml index 0c8db9920eb..cccebfc4f3f 100644 --- a/csharp/ql/campaigns/Solorigate/lib/qlpack.yml +++ b/csharp/ql/campaigns/Solorigate/lib/qlpack.yml @@ -1,5 +1,5 @@ name: codeql/csharp-solorigate-all -version: 1.7.30-dev +version: 1.7.29-dev groups: - csharp - solorigate diff --git a/csharp/ql/campaigns/Solorigate/src/CHANGELOG.md b/csharp/ql/campaigns/Solorigate/src/CHANGELOG.md index 93e737ae669..7b5cb257096 100644 --- a/csharp/ql/campaigns/Solorigate/src/CHANGELOG.md +++ b/csharp/ql/campaigns/Solorigate/src/CHANGELOG.md @@ -1,7 +1,3 @@ -## 1.7.29 - -No user-facing changes. - ## 1.7.28 No user-facing changes. diff --git a/csharp/ql/campaigns/Solorigate/src/change-notes/released/1.7.29.md b/csharp/ql/campaigns/Solorigate/src/change-notes/released/1.7.29.md deleted file mode 100644 index 6ff68866478..00000000000 --- a/csharp/ql/campaigns/Solorigate/src/change-notes/released/1.7.29.md +++ /dev/null @@ -1,3 +0,0 @@ -## 1.7.29 - -No user-facing changes. diff --git a/csharp/ql/campaigns/Solorigate/src/codeql-pack.release.yml b/csharp/ql/campaigns/Solorigate/src/codeql-pack.release.yml index 34100d3ad64..ff17fbaf982 100644 --- a/csharp/ql/campaigns/Solorigate/src/codeql-pack.release.yml +++ b/csharp/ql/campaigns/Solorigate/src/codeql-pack.release.yml @@ -1,2 +1,2 @@ --- -lastReleaseVersion: 1.7.29 +lastReleaseVersion: 1.7.28 diff --git a/csharp/ql/campaigns/Solorigate/src/qlpack.yml b/csharp/ql/campaigns/Solorigate/src/qlpack.yml index 3a4343780e4..4e5b51ed11a 100644 --- a/csharp/ql/campaigns/Solorigate/src/qlpack.yml +++ b/csharp/ql/campaigns/Solorigate/src/qlpack.yml @@ -1,5 +1,5 @@ name: codeql/csharp-solorigate-queries -version: 1.7.30-dev +version: 1.7.29-dev groups: - csharp - solorigate diff --git a/csharp/ql/lib/CHANGELOG.md b/csharp/ql/lib/CHANGELOG.md index c76569e4ab3..39a75db1b5f 100644 --- a/csharp/ql/lib/CHANGELOG.md +++ b/csharp/ql/lib/CHANGELOG.md @@ -1,10 +1,3 @@ -## 3.1.1 - -### Minor Analysis Improvements - -* .NET 9 is now required to build the C# extractor. -* The Models as Data models for .NET 8 Runtime now include generated models for higher order methods. - ## 3.1.0 ### Major Analysis Improvements diff --git a/csharp/ql/lib/change-notes/released/3.1.1.md b/csharp/ql/lib/change-notes/2024-11-07-net8-runtime-models.md similarity index 51% rename from csharp/ql/lib/change-notes/released/3.1.1.md rename to csharp/ql/lib/change-notes/2024-11-07-net8-runtime-models.md index a2a912341fe..89574208e40 100644 --- a/csharp/ql/lib/change-notes/released/3.1.1.md +++ b/csharp/ql/lib/change-notes/2024-11-07-net8-runtime-models.md @@ -1,6 +1,4 @@ -## 3.1.1 - -### Minor Analysis Improvements - -* .NET 9 is now required to build the C# extractor. +--- +category: minorAnalysis +--- * The Models as Data models for .NET 8 Runtime now include generated models for higher order methods. diff --git a/csharp/ql/lib/change-notes/2024-11-19-extractor-dotnet.md b/csharp/ql/lib/change-notes/2024-11-19-extractor-dotnet.md new file mode 100644 index 00000000000..58185aa0b0e --- /dev/null +++ b/csharp/ql/lib/change-notes/2024-11-19-extractor-dotnet.md @@ -0,0 +1,4 @@ +--- +category: minorAnalysis +--- +* .NET 9 is now required to build the C# extractor. diff --git a/csharp/ql/lib/codeql-pack.release.yml b/csharp/ql/lib/codeql-pack.release.yml index c06beda86a3..82f62960aa3 100644 --- a/csharp/ql/lib/codeql-pack.release.yml +++ b/csharp/ql/lib/codeql-pack.release.yml @@ -1,2 +1,2 @@ --- -lastReleaseVersion: 3.1.1 +lastReleaseVersion: 3.1.0 diff --git a/csharp/ql/lib/qlpack.yml b/csharp/ql/lib/qlpack.yml index efc82eedc90..f750b06e392 100644 --- a/csharp/ql/lib/qlpack.yml +++ b/csharp/ql/lib/qlpack.yml @@ -1,5 +1,5 @@ name: codeql/csharp-all -version: 3.1.2-dev +version: 3.1.1-dev groups: csharp dbscheme: semmlecode.csharp.dbscheme extractor: csharp diff --git a/csharp/ql/src/CHANGELOG.md b/csharp/ql/src/CHANGELOG.md index 99528b54e9e..fe0765a3b18 100644 --- a/csharp/ql/src/CHANGELOG.md +++ b/csharp/ql/src/CHANGELOG.md @@ -1,7 +1,3 @@ -## 1.0.12 - -No user-facing changes. - ## 1.0.11 ### Minor Analysis Improvements diff --git a/csharp/ql/src/change-notes/released/1.0.12.md b/csharp/ql/src/change-notes/released/1.0.12.md deleted file mode 100644 index 12b3cf3e18f..00000000000 --- a/csharp/ql/src/change-notes/released/1.0.12.md +++ /dev/null @@ -1,3 +0,0 @@ -## 1.0.12 - -No user-facing changes. diff --git a/csharp/ql/src/codeql-pack.release.yml b/csharp/ql/src/codeql-pack.release.yml index 2036690b201..56a2fb38872 100644 --- a/csharp/ql/src/codeql-pack.release.yml +++ b/csharp/ql/src/codeql-pack.release.yml @@ -1,2 +1,2 @@ --- -lastReleaseVersion: 1.0.12 +lastReleaseVersion: 1.0.11 diff --git a/csharp/ql/src/qlpack.yml b/csharp/ql/src/qlpack.yml index 569b69021d1..b861524e144 100644 --- a/csharp/ql/src/qlpack.yml +++ b/csharp/ql/src/qlpack.yml @@ -1,5 +1,5 @@ name: codeql/csharp-queries -version: 1.0.13-dev +version: 1.0.12-dev groups: - csharp - queries diff --git a/go/ql/consistency-queries/CHANGELOG.md b/go/ql/consistency-queries/CHANGELOG.md index eeb6b0a262a..1c514d078a2 100644 --- a/go/ql/consistency-queries/CHANGELOG.md +++ b/go/ql/consistency-queries/CHANGELOG.md @@ -1,7 +1,3 @@ -## 1.0.12 - -No user-facing changes. - ## 1.0.11 No user-facing changes. diff --git a/go/ql/consistency-queries/change-notes/released/1.0.12.md b/go/ql/consistency-queries/change-notes/released/1.0.12.md deleted file mode 100644 index 12b3cf3e18f..00000000000 --- a/go/ql/consistency-queries/change-notes/released/1.0.12.md +++ /dev/null @@ -1,3 +0,0 @@ -## 1.0.12 - -No user-facing changes. diff --git a/go/ql/consistency-queries/codeql-pack.release.yml b/go/ql/consistency-queries/codeql-pack.release.yml index 2036690b201..56a2fb38872 100644 --- a/go/ql/consistency-queries/codeql-pack.release.yml +++ b/go/ql/consistency-queries/codeql-pack.release.yml @@ -1,2 +1,2 @@ --- -lastReleaseVersion: 1.0.12 +lastReleaseVersion: 1.0.11 diff --git a/go/ql/consistency-queries/qlpack.yml b/go/ql/consistency-queries/qlpack.yml index 60d11115c14..b7c67080f46 100644 --- a/go/ql/consistency-queries/qlpack.yml +++ b/go/ql/consistency-queries/qlpack.yml @@ -1,5 +1,5 @@ name: codeql-go-consistency-queries -version: 1.0.13-dev +version: 1.0.12-dev groups: - go - queries diff --git a/go/ql/lib/CHANGELOG.md b/go/ql/lib/CHANGELOG.md index b2eb3cbb239..37f83fa8dda 100644 --- a/go/ql/lib/CHANGELOG.md +++ b/go/ql/lib/CHANGELOG.md @@ -1,14 +1,3 @@ -## 2.1.3 - -### Minor Analysis Improvements - -* The `subtypes` column has been set to true in all models-as-data models except some tests. This means that existing models will apply in some cases where they didn't before, which may lead to more alerts. - -### Bug Fixes - -* The behaviour of the `subtypes` column in models-as-data now matches other languages more closely. -* Fixed a bug which meant that some qualified names for promoted methods were not being recognised in some very specific circumstances. - ## 2.1.2 ### Minor Analysis Improvements diff --git a/go/ql/lib/change-notes/2024-11-07-fix-missing-qualified-names-for-methods.md b/go/ql/lib/change-notes/2024-11-07-fix-missing-qualified-names-for-methods.md new file mode 100644 index 00000000000..cd2dbb6c974 --- /dev/null +++ b/go/ql/lib/change-notes/2024-11-07-fix-missing-qualified-names-for-methods.md @@ -0,0 +1,4 @@ +--- +category: fix +--- +* Fixed a bug which meant that some qualified names for promoted methods were not being recognised in some very specific circumstances. diff --git a/go/ql/lib/change-notes/2024-11-11-models-as-data-subtypes-column.md b/go/ql/lib/change-notes/2024-11-11-models-as-data-subtypes-column.md new file mode 100644 index 00000000000..25115f74d71 --- /dev/null +++ b/go/ql/lib/change-notes/2024-11-11-models-as-data-subtypes-column.md @@ -0,0 +1,4 @@ +--- +category: fix +--- +* The behaviour of the `subtypes` column in models-as-data now matches other languages more closely. diff --git a/go/ql/lib/change-notes/2024-11-12-models-as-data-subtypes-true.md b/go/ql/lib/change-notes/2024-11-12-models-as-data-subtypes-true.md new file mode 100644 index 00000000000..b1c78815ea3 --- /dev/null +++ b/go/ql/lib/change-notes/2024-11-12-models-as-data-subtypes-true.md @@ -0,0 +1,4 @@ +--- +category: minorAnalysis +--- +* The `subtypes` column has been set to true in all models-as-data models except some tests. This means that existing models will apply in some cases where they didn't before, which may lead to more alerts. diff --git a/go/ql/lib/change-notes/released/2.1.3.md b/go/ql/lib/change-notes/released/2.1.3.md deleted file mode 100644 index 3ae1f19fb36..00000000000 --- a/go/ql/lib/change-notes/released/2.1.3.md +++ /dev/null @@ -1,10 +0,0 @@ -## 2.1.3 - -### Minor Analysis Improvements - -* The `subtypes` column has been set to true in all models-as-data models except some tests. This means that existing models will apply in some cases where they didn't before, which may lead to more alerts. - -### Bug Fixes - -* The behaviour of the `subtypes` column in models-as-data now matches other languages more closely. -* Fixed a bug which meant that some qualified names for promoted methods were not being recognised in some very specific circumstances. diff --git a/go/ql/lib/codeql-pack.release.yml b/go/ql/lib/codeql-pack.release.yml index 345fb0c73a4..1a4e53e8772 100644 --- a/go/ql/lib/codeql-pack.release.yml +++ b/go/ql/lib/codeql-pack.release.yml @@ -1,2 +1,2 @@ --- -lastReleaseVersion: 2.1.3 +lastReleaseVersion: 2.1.2 diff --git a/go/ql/lib/qlpack.yml b/go/ql/lib/qlpack.yml index 98e81430897..f9660516373 100644 --- a/go/ql/lib/qlpack.yml +++ b/go/ql/lib/qlpack.yml @@ -1,5 +1,5 @@ name: codeql/go-all -version: 2.1.4-dev +version: 2.1.3-dev groups: go dbscheme: go.dbscheme extractor: go diff --git a/go/ql/src/CHANGELOG.md b/go/ql/src/CHANGELOG.md index c529cbffb32..0e276fda741 100644 --- a/go/ql/src/CHANGELOG.md +++ b/go/ql/src/CHANGELOG.md @@ -1,7 +1,3 @@ -## 1.1.3 - -No user-facing changes. - ## 1.1.2 No user-facing changes. diff --git a/go/ql/src/change-notes/released/1.1.3.md b/go/ql/src/change-notes/released/1.1.3.md deleted file mode 100644 index e8f1701bd62..00000000000 --- a/go/ql/src/change-notes/released/1.1.3.md +++ /dev/null @@ -1,3 +0,0 @@ -## 1.1.3 - -No user-facing changes. diff --git a/go/ql/src/codeql-pack.release.yml b/go/ql/src/codeql-pack.release.yml index 35e710ab1bf..53ab127707f 100644 --- a/go/ql/src/codeql-pack.release.yml +++ b/go/ql/src/codeql-pack.release.yml @@ -1,2 +1,2 @@ --- -lastReleaseVersion: 1.1.3 +lastReleaseVersion: 1.1.2 diff --git a/go/ql/src/qlpack.yml b/go/ql/src/qlpack.yml index 866a0935713..68bac4cf1a9 100644 --- a/go/ql/src/qlpack.yml +++ b/go/ql/src/qlpack.yml @@ -1,5 +1,5 @@ name: codeql/go-queries -version: 1.1.4-dev +version: 1.1.3-dev groups: - go - queries diff --git a/java/ql/automodel/src/CHANGELOG.md b/java/ql/automodel/src/CHANGELOG.md index 1564285b44b..148791b5923 100644 --- a/java/ql/automodel/src/CHANGELOG.md +++ b/java/ql/automodel/src/CHANGELOG.md @@ -1,7 +1,3 @@ -## 1.0.12 - -No user-facing changes. - ## 1.0.11 No user-facing changes. diff --git a/java/ql/automodel/src/change-notes/released/1.0.12.md b/java/ql/automodel/src/change-notes/released/1.0.12.md deleted file mode 100644 index 12b3cf3e18f..00000000000 --- a/java/ql/automodel/src/change-notes/released/1.0.12.md +++ /dev/null @@ -1,3 +0,0 @@ -## 1.0.12 - -No user-facing changes. diff --git a/java/ql/automodel/src/codeql-pack.release.yml b/java/ql/automodel/src/codeql-pack.release.yml index 2036690b201..56a2fb38872 100644 --- a/java/ql/automodel/src/codeql-pack.release.yml +++ b/java/ql/automodel/src/codeql-pack.release.yml @@ -1,2 +1,2 @@ --- -lastReleaseVersion: 1.0.12 +lastReleaseVersion: 1.0.11 diff --git a/java/ql/automodel/src/qlpack.yml b/java/ql/automodel/src/qlpack.yml index da81981956b..4acf2219db3 100644 --- a/java/ql/automodel/src/qlpack.yml +++ b/java/ql/automodel/src/qlpack.yml @@ -1,5 +1,5 @@ name: codeql/java-automodel-queries -version: 1.0.13-dev +version: 1.0.12-dev groups: - java - automodel diff --git a/java/ql/lib/CHANGELOG.md b/java/ql/lib/CHANGELOG.md index 990fea9ddd7..cddb86232c4 100644 --- a/java/ql/lib/CHANGELOG.md +++ b/java/ql/lib/CHANGELOG.md @@ -1,9 +1,3 @@ -## 4.2.1 - -### Minor Analysis Improvements - -* In a switch statement with a constant switch expression, all non-matching cases were being marked as unreachable, including those that can be reached by falling through from the matching case. This has now been fixed. - ## 4.2.0 ### Major Analysis Improvements diff --git a/java/ql/lib/change-notes/released/4.2.1.md b/java/ql/lib/change-notes/2024-11-14-unreachable-basic-block-in-constant-switch-statement.md similarity index 83% rename from java/ql/lib/change-notes/released/4.2.1.md rename to java/ql/lib/change-notes/2024-11-14-unreachable-basic-block-in-constant-switch-statement.md index 6fb31df9177..50df55a4c1a 100644 --- a/java/ql/lib/change-notes/released/4.2.1.md +++ b/java/ql/lib/change-notes/2024-11-14-unreachable-basic-block-in-constant-switch-statement.md @@ -1,5 +1,4 @@ -## 4.2.1 - -### Minor Analysis Improvements - +--- +category: minorAnalysis +--- * In a switch statement with a constant switch expression, all non-matching cases were being marked as unreachable, including those that can be reached by falling through from the matching case. This has now been fixed. diff --git a/java/ql/lib/codeql-pack.release.yml b/java/ql/lib/codeql-pack.release.yml index 38ea9976fcc..9fc6933b429 100644 --- a/java/ql/lib/codeql-pack.release.yml +++ b/java/ql/lib/codeql-pack.release.yml @@ -1,2 +1,2 @@ --- -lastReleaseVersion: 4.2.1 +lastReleaseVersion: 4.2.0 diff --git a/java/ql/lib/qlpack.yml b/java/ql/lib/qlpack.yml index a8c1ee2de2b..cc639056e4e 100644 --- a/java/ql/lib/qlpack.yml +++ b/java/ql/lib/qlpack.yml @@ -1,5 +1,5 @@ name: codeql/java-all -version: 4.2.2-dev +version: 4.2.1-dev groups: java dbscheme: config/semmlecode.dbscheme extractor: java diff --git a/java/ql/src/CHANGELOG.md b/java/ql/src/CHANGELOG.md index f212b4a8d3d..3a29e9e55e0 100644 --- a/java/ql/src/CHANGELOG.md +++ b/java/ql/src/CHANGELOG.md @@ -1,7 +1,3 @@ -## 1.1.9 - -No user-facing changes. - ## 1.1.8 No user-facing changes. diff --git a/java/ql/src/change-notes/released/1.1.9.md b/java/ql/src/change-notes/released/1.1.9.md deleted file mode 100644 index f9d367d4248..00000000000 --- a/java/ql/src/change-notes/released/1.1.9.md +++ /dev/null @@ -1,3 +0,0 @@ -## 1.1.9 - -No user-facing changes. diff --git a/java/ql/src/codeql-pack.release.yml b/java/ql/src/codeql-pack.release.yml index 6f4795f3ea0..64972659c42 100644 --- a/java/ql/src/codeql-pack.release.yml +++ b/java/ql/src/codeql-pack.release.yml @@ -1,2 +1,2 @@ --- -lastReleaseVersion: 1.1.9 +lastReleaseVersion: 1.1.8 diff --git a/java/ql/src/qlpack.yml b/java/ql/src/qlpack.yml index 44740683f14..40ca32d8070 100644 --- a/java/ql/src/qlpack.yml +++ b/java/ql/src/qlpack.yml @@ -1,5 +1,5 @@ name: codeql/java-queries -version: 1.1.10-dev +version: 1.1.9-dev groups: - java - queries diff --git a/javascript/ql/lib/CHANGELOG.md b/javascript/ql/lib/CHANGELOG.md index 7d8f8dcfc8b..50d1486c006 100644 --- a/javascript/ql/lib/CHANGELOG.md +++ b/javascript/ql/lib/CHANGELOG.md @@ -1,14 +1,3 @@ -## 2.1.1 - -### Minor Analysis Improvements - -Added taint-steps for `Array.prototype.with`. -Added taint-steps for `Array.prototype.toSpliced` -* Added taint-steps for `Array.prototype.toReversed`. -* Added taint-steps for `Array.prototype.toSorted`. -Added support for `String.prototype.matchAll`. -* Added taint-steps for `Array.prototype.reverse` - ## 2.1.0 ### New Features diff --git a/javascript/ql/lib/change-notes/2024-11-11-matchAll-support.md b/javascript/ql/lib/change-notes/2024-11-11-matchAll-support.md new file mode 100644 index 00000000000..74d7c3f34c2 --- /dev/null +++ b/javascript/ql/lib/change-notes/2024-11-11-matchAll-support.md @@ -0,0 +1,4 @@ +--- +category: minorAnalysis +--- +Added support for `String.prototype.matchAll`. diff --git a/javascript/ql/lib/change-notes/2024-11-11-reserve-support.md b/javascript/ql/lib/change-notes/2024-11-11-reserve-support.md new file mode 100644 index 00000000000..bd2e6808e0c --- /dev/null +++ b/javascript/ql/lib/change-notes/2024-11-11-reserve-support.md @@ -0,0 +1,4 @@ +--- +category: minorAnalysis +--- +* Added taint-steps for `Array.prototype.reverse` diff --git a/javascript/ql/lib/change-notes/2024-11-12-immutable-array-operations.md b/javascript/ql/lib/change-notes/2024-11-12-immutable-array-operations.md new file mode 100644 index 00000000000..20c16d88c6e --- /dev/null +++ b/javascript/ql/lib/change-notes/2024-11-12-immutable-array-operations.md @@ -0,0 +1,5 @@ +--- +category: minorAnalysis +--- +* Added taint-steps for `Array.prototype.toReversed`. +* Added taint-steps for `Array.prototype.toSorted`. diff --git a/javascript/ql/lib/change-notes/2024-11-15-toSpliced-support.md b/javascript/ql/lib/change-notes/2024-11-15-toSpliced-support.md new file mode 100644 index 00000000000..a73955e5d2a --- /dev/null +++ b/javascript/ql/lib/change-notes/2024-11-15-toSpliced-support.md @@ -0,0 +1,4 @@ +--- +category: minorAnalysis +--- +Added taint-steps for `Array.prototype.toSpliced` diff --git a/javascript/ql/lib/change-notes/2024-11-18-ES2023-array-protype-with.md b/javascript/ql/lib/change-notes/2024-11-18-ES2023-array-protype-with.md new file mode 100644 index 00000000000..92f160ec1de --- /dev/null +++ b/javascript/ql/lib/change-notes/2024-11-18-ES2023-array-protype-with.md @@ -0,0 +1,4 @@ +--- +category: minorAnalysis +--- +Added taint-steps for `Array.prototype.with`. diff --git a/javascript/ql/lib/change-notes/released/2.1.1.md b/javascript/ql/lib/change-notes/released/2.1.1.md deleted file mode 100644 index fd6616a6c03..00000000000 --- a/javascript/ql/lib/change-notes/released/2.1.1.md +++ /dev/null @@ -1,10 +0,0 @@ -## 2.1.1 - -### Minor Analysis Improvements - -* Added taint-steps for `Array.prototype.with`. -* Added taint-steps for `Array.prototype.toSpliced` -* Added taint-steps for `Array.prototype.toReversed`. -* Added taint-steps for `Array.prototype.toSorted`. -* Added support for `String.prototype.matchAll`. -* Added taint-steps for `Array.prototype.reverse` diff --git a/javascript/ql/lib/codeql-pack.release.yml b/javascript/ql/lib/codeql-pack.release.yml index 576c2ea18d6..487a1a58b2b 100644 --- a/javascript/ql/lib/codeql-pack.release.yml +++ b/javascript/ql/lib/codeql-pack.release.yml @@ -1,2 +1,2 @@ --- -lastReleaseVersion: 2.1.1 +lastReleaseVersion: 2.1.0 diff --git a/javascript/ql/lib/qlpack.yml b/javascript/ql/lib/qlpack.yml index 9726d407e1a..f732755a75b 100644 --- a/javascript/ql/lib/qlpack.yml +++ b/javascript/ql/lib/qlpack.yml @@ -1,5 +1,5 @@ name: codeql/javascript-all -version: 2.1.2-dev +version: 2.1.1-dev groups: javascript dbscheme: semmlecode.javascript.dbscheme extractor: javascript diff --git a/javascript/ql/src/CHANGELOG.md b/javascript/ql/src/CHANGELOG.md index 403de6b3323..9a9a4641c6e 100644 --- a/javascript/ql/src/CHANGELOG.md +++ b/javascript/ql/src/CHANGELOG.md @@ -1,7 +1,3 @@ -## 1.2.4 - -No user-facing changes. - ## 1.2.3 No user-facing changes. diff --git a/javascript/ql/src/change-notes/released/1.2.4.md b/javascript/ql/src/change-notes/released/1.2.4.md deleted file mode 100644 index 21fd88e8124..00000000000 --- a/javascript/ql/src/change-notes/released/1.2.4.md +++ /dev/null @@ -1,3 +0,0 @@ -## 1.2.4 - -No user-facing changes. diff --git a/javascript/ql/src/codeql-pack.release.yml b/javascript/ql/src/codeql-pack.release.yml index 172090f46b6..09a7400b594 100644 --- a/javascript/ql/src/codeql-pack.release.yml +++ b/javascript/ql/src/codeql-pack.release.yml @@ -1,2 +1,2 @@ --- -lastReleaseVersion: 1.2.4 +lastReleaseVersion: 1.2.3 diff --git a/javascript/ql/src/qlpack.yml b/javascript/ql/src/qlpack.yml index a1efe30e69d..98c38e64248 100644 --- a/javascript/ql/src/qlpack.yml +++ b/javascript/ql/src/qlpack.yml @@ -1,5 +1,5 @@ name: codeql/javascript-queries -version: 1.2.5-dev +version: 1.2.4-dev groups: - javascript - queries diff --git a/misc/suite-helpers/CHANGELOG.md b/misc/suite-helpers/CHANGELOG.md index 969419cb7b7..0992e6bd9c5 100644 --- a/misc/suite-helpers/CHANGELOG.md +++ b/misc/suite-helpers/CHANGELOG.md @@ -1,7 +1,3 @@ -## 1.0.12 - -No user-facing changes. - ## 1.0.11 No user-facing changes. diff --git a/misc/suite-helpers/change-notes/released/1.0.12.md b/misc/suite-helpers/change-notes/released/1.0.12.md deleted file mode 100644 index 12b3cf3e18f..00000000000 --- a/misc/suite-helpers/change-notes/released/1.0.12.md +++ /dev/null @@ -1,3 +0,0 @@ -## 1.0.12 - -No user-facing changes. diff --git a/misc/suite-helpers/codeql-pack.release.yml b/misc/suite-helpers/codeql-pack.release.yml index 2036690b201..56a2fb38872 100644 --- a/misc/suite-helpers/codeql-pack.release.yml +++ b/misc/suite-helpers/codeql-pack.release.yml @@ -1,2 +1,2 @@ --- -lastReleaseVersion: 1.0.12 +lastReleaseVersion: 1.0.11 diff --git a/misc/suite-helpers/qlpack.yml b/misc/suite-helpers/qlpack.yml index e2cbd7f3f9d..f40fb8fcde4 100644 --- a/misc/suite-helpers/qlpack.yml +++ b/misc/suite-helpers/qlpack.yml @@ -1,4 +1,4 @@ name: codeql/suite-helpers -version: 1.0.13-dev +version: 1.0.12-dev groups: shared warnOnImplicitThis: true diff --git a/python/ql/lib/CHANGELOG.md b/python/ql/lib/CHANGELOG.md index 34dc5f1b060..1e05822734d 100644 --- a/python/ql/lib/CHANGELOG.md +++ b/python/ql/lib/CHANGELOG.md @@ -1,9 +1,3 @@ -## 2.2.0 - -### Major Analysis Improvements - -* Added modeling of the `bottle` framework, leading to new remote flow sources and header writes - ## 2.1.2 ### Minor Analysis Improvements diff --git a/python/ql/lib/change-notes/2024-08-30-bottle.md b/python/ql/lib/change-notes/2024-08-30-bottle.md new file mode 100644 index 00000000000..b3a07f41f59 --- /dev/null +++ b/python/ql/lib/change-notes/2024-08-30-bottle.md @@ -0,0 +1,4 @@ +--- +category: majorAnalysis +--- +* Added modeling of the `bottle` framework, leading to new remote flow sources and header writes \ No newline at end of file diff --git a/python/ql/lib/change-notes/released/2.2.0.md b/python/ql/lib/change-notes/released/2.2.0.md deleted file mode 100644 index 0807fe9c2ff..00000000000 --- a/python/ql/lib/change-notes/released/2.2.0.md +++ /dev/null @@ -1,5 +0,0 @@ -## 2.2.0 - -### Major Analysis Improvements - -* Added modeling of the `bottle` framework, leading to new remote flow sources and header writes diff --git a/python/ql/lib/codeql-pack.release.yml b/python/ql/lib/codeql-pack.release.yml index 2f308354195..1a4e53e8772 100644 --- a/python/ql/lib/codeql-pack.release.yml +++ b/python/ql/lib/codeql-pack.release.yml @@ -1,2 +1,2 @@ --- -lastReleaseVersion: 2.2.0 +lastReleaseVersion: 2.1.2 diff --git a/python/ql/lib/qlpack.yml b/python/ql/lib/qlpack.yml index 290189efa13..5b9b9b8f67e 100644 --- a/python/ql/lib/qlpack.yml +++ b/python/ql/lib/qlpack.yml @@ -1,5 +1,5 @@ name: codeql/python-all -version: 2.2.1-dev +version: 2.1.3-dev groups: python dbscheme: semmlecode.python.dbscheme extractor: python diff --git a/python/ql/src/CHANGELOG.md b/python/ql/src/CHANGELOG.md index 5fea597a7a3..64a33ed30ca 100644 --- a/python/ql/src/CHANGELOG.md +++ b/python/ql/src/CHANGELOG.md @@ -1,7 +1,3 @@ -## 1.3.3 - -No user-facing changes. - ## 1.3.2 ### Minor Analysis Improvements diff --git a/python/ql/src/change-notes/released/1.3.3.md b/python/ql/src/change-notes/released/1.3.3.md deleted file mode 100644 index 27a88ea0061..00000000000 --- a/python/ql/src/change-notes/released/1.3.3.md +++ /dev/null @@ -1,3 +0,0 @@ -## 1.3.3 - -No user-facing changes. diff --git a/python/ql/src/codeql-pack.release.yml b/python/ql/src/codeql-pack.release.yml index eb1f7dabc84..86a9cb32d86 100644 --- a/python/ql/src/codeql-pack.release.yml +++ b/python/ql/src/codeql-pack.release.yml @@ -1,2 +1,2 @@ --- -lastReleaseVersion: 1.3.3 +lastReleaseVersion: 1.3.2 diff --git a/python/ql/src/qlpack.yml b/python/ql/src/qlpack.yml index d84402123dc..d279b5225c8 100644 --- a/python/ql/src/qlpack.yml +++ b/python/ql/src/qlpack.yml @@ -1,5 +1,5 @@ name: codeql/python-queries -version: 1.3.4-dev +version: 1.3.3-dev groups: - python - queries diff --git a/ruby/ql/lib/CHANGELOG.md b/ruby/ql/lib/CHANGELOG.md index 37248cf4960..230f81c621b 100644 --- a/ruby/ql/lib/CHANGELOG.md +++ b/ruby/ql/lib/CHANGELOG.md @@ -1,7 +1,3 @@ -## 2.0.4 - -No user-facing changes. - ## 2.0.3 No user-facing changes. diff --git a/ruby/ql/lib/change-notes/released/2.0.4.md b/ruby/ql/lib/change-notes/released/2.0.4.md deleted file mode 100644 index 8e002b6db64..00000000000 --- a/ruby/ql/lib/change-notes/released/2.0.4.md +++ /dev/null @@ -1,3 +0,0 @@ -## 2.0.4 - -No user-facing changes. diff --git a/ruby/ql/lib/codeql-pack.release.yml b/ruby/ql/lib/codeql-pack.release.yml index 0f306f8bd3b..fabf1e86596 100644 --- a/ruby/ql/lib/codeql-pack.release.yml +++ b/ruby/ql/lib/codeql-pack.release.yml @@ -1,2 +1,2 @@ --- -lastReleaseVersion: 2.0.4 +lastReleaseVersion: 2.0.3 diff --git a/ruby/ql/lib/qlpack.yml b/ruby/ql/lib/qlpack.yml index 97259f5dd36..155d495d7d8 100644 --- a/ruby/ql/lib/qlpack.yml +++ b/ruby/ql/lib/qlpack.yml @@ -1,5 +1,5 @@ name: codeql/ruby-all -version: 2.0.5-dev +version: 2.0.4-dev groups: ruby extractor: ruby dbscheme: ruby.dbscheme diff --git a/ruby/ql/src/CHANGELOG.md b/ruby/ql/src/CHANGELOG.md index e159e9fda36..3dfaa623d60 100644 --- a/ruby/ql/src/CHANGELOG.md +++ b/ruby/ql/src/CHANGELOG.md @@ -1,7 +1,3 @@ -## 1.1.7 - -No user-facing changes. - ## 1.1.6 No user-facing changes. diff --git a/ruby/ql/src/change-notes/released/1.1.7.md b/ruby/ql/src/change-notes/released/1.1.7.md deleted file mode 100644 index 81505c0507a..00000000000 --- a/ruby/ql/src/change-notes/released/1.1.7.md +++ /dev/null @@ -1,3 +0,0 @@ -## 1.1.7 - -No user-facing changes. diff --git a/ruby/ql/src/codeql-pack.release.yml b/ruby/ql/src/codeql-pack.release.yml index 75910556516..9e712a00a21 100644 --- a/ruby/ql/src/codeql-pack.release.yml +++ b/ruby/ql/src/codeql-pack.release.yml @@ -1,2 +1,2 @@ --- -lastReleaseVersion: 1.1.7 +lastReleaseVersion: 1.1.6 diff --git a/ruby/ql/src/qlpack.yml b/ruby/ql/src/qlpack.yml index 26ac8866ae0..2f270249906 100644 --- a/ruby/ql/src/qlpack.yml +++ b/ruby/ql/src/qlpack.yml @@ -1,5 +1,5 @@ name: codeql/ruby-queries -version: 1.1.8-dev +version: 1.1.7-dev groups: - ruby - queries diff --git a/shared/controlflow/CHANGELOG.md b/shared/controlflow/CHANGELOG.md index b6de6379e77..2eddc42a47d 100644 --- a/shared/controlflow/CHANGELOG.md +++ b/shared/controlflow/CHANGELOG.md @@ -1,7 +1,3 @@ -## 1.0.12 - -No user-facing changes. - ## 1.0.11 No user-facing changes. diff --git a/shared/controlflow/change-notes/released/1.0.12.md b/shared/controlflow/change-notes/released/1.0.12.md deleted file mode 100644 index 12b3cf3e18f..00000000000 --- a/shared/controlflow/change-notes/released/1.0.12.md +++ /dev/null @@ -1,3 +0,0 @@ -## 1.0.12 - -No user-facing changes. diff --git a/shared/controlflow/codeql-pack.release.yml b/shared/controlflow/codeql-pack.release.yml index 2036690b201..56a2fb38872 100644 --- a/shared/controlflow/codeql-pack.release.yml +++ b/shared/controlflow/codeql-pack.release.yml @@ -1,2 +1,2 @@ --- -lastReleaseVersion: 1.0.12 +lastReleaseVersion: 1.0.11 diff --git a/shared/controlflow/qlpack.yml b/shared/controlflow/qlpack.yml index da4368217d3..10314626ec7 100644 --- a/shared/controlflow/qlpack.yml +++ b/shared/controlflow/qlpack.yml @@ -1,5 +1,5 @@ name: codeql/controlflow -version: 1.0.13-dev +version: 1.0.12-dev groups: shared library: true dependencies: diff --git a/shared/dataflow/CHANGELOG.md b/shared/dataflow/CHANGELOG.md index 7eec34670dc..72c27aa8762 100644 --- a/shared/dataflow/CHANGELOG.md +++ b/shared/dataflow/CHANGELOG.md @@ -1,7 +1,3 @@ -## 1.1.6 - -No user-facing changes. - ## 1.1.5 No user-facing changes. diff --git a/shared/dataflow/change-notes/released/1.1.6.md b/shared/dataflow/change-notes/released/1.1.6.md deleted file mode 100644 index 553350f40af..00000000000 --- a/shared/dataflow/change-notes/released/1.1.6.md +++ /dev/null @@ -1,3 +0,0 @@ -## 1.1.6 - -No user-facing changes. diff --git a/shared/dataflow/codeql-pack.release.yml b/shared/dataflow/codeql-pack.release.yml index 9e712a00a21..df39a9de059 100644 --- a/shared/dataflow/codeql-pack.release.yml +++ b/shared/dataflow/codeql-pack.release.yml @@ -1,2 +1,2 @@ --- -lastReleaseVersion: 1.1.6 +lastReleaseVersion: 1.1.5 diff --git a/shared/dataflow/qlpack.yml b/shared/dataflow/qlpack.yml index 15f77aa0a3a..3802aa99a1e 100644 --- a/shared/dataflow/qlpack.yml +++ b/shared/dataflow/qlpack.yml @@ -1,5 +1,5 @@ name: codeql/dataflow -version: 1.1.7-dev +version: 1.1.6-dev groups: shared library: true dependencies: diff --git a/shared/mad/CHANGELOG.md b/shared/mad/CHANGELOG.md index 8eb5e03400a..0d9dcaf2768 100644 --- a/shared/mad/CHANGELOG.md +++ b/shared/mad/CHANGELOG.md @@ -1,7 +1,3 @@ -## 1.0.12 - -No user-facing changes. - ## 1.0.11 No user-facing changes. diff --git a/shared/mad/change-notes/released/1.0.12.md b/shared/mad/change-notes/released/1.0.12.md deleted file mode 100644 index 12b3cf3e18f..00000000000 --- a/shared/mad/change-notes/released/1.0.12.md +++ /dev/null @@ -1,3 +0,0 @@ -## 1.0.12 - -No user-facing changes. diff --git a/shared/mad/codeql-pack.release.yml b/shared/mad/codeql-pack.release.yml index 2036690b201..56a2fb38872 100644 --- a/shared/mad/codeql-pack.release.yml +++ b/shared/mad/codeql-pack.release.yml @@ -1,2 +1,2 @@ --- -lastReleaseVersion: 1.0.12 +lastReleaseVersion: 1.0.11 diff --git a/shared/mad/qlpack.yml b/shared/mad/qlpack.yml index 8ce60ad0cc9..2205120fc09 100644 --- a/shared/mad/qlpack.yml +++ b/shared/mad/qlpack.yml @@ -1,5 +1,5 @@ name: codeql/mad -version: 1.0.13-dev +version: 1.0.12-dev groups: shared library: true dependencies: diff --git a/shared/rangeanalysis/CHANGELOG.md b/shared/rangeanalysis/CHANGELOG.md index cedd38e3e30..f3d5e9c3685 100644 --- a/shared/rangeanalysis/CHANGELOG.md +++ b/shared/rangeanalysis/CHANGELOG.md @@ -1,7 +1,3 @@ -## 1.0.12 - -No user-facing changes. - ## 1.0.11 No user-facing changes. diff --git a/shared/rangeanalysis/change-notes/released/1.0.12.md b/shared/rangeanalysis/change-notes/released/1.0.12.md deleted file mode 100644 index 12b3cf3e18f..00000000000 --- a/shared/rangeanalysis/change-notes/released/1.0.12.md +++ /dev/null @@ -1,3 +0,0 @@ -## 1.0.12 - -No user-facing changes. diff --git a/shared/rangeanalysis/codeql-pack.release.yml b/shared/rangeanalysis/codeql-pack.release.yml index 2036690b201..56a2fb38872 100644 --- a/shared/rangeanalysis/codeql-pack.release.yml +++ b/shared/rangeanalysis/codeql-pack.release.yml @@ -1,2 +1,2 @@ --- -lastReleaseVersion: 1.0.12 +lastReleaseVersion: 1.0.11 diff --git a/shared/rangeanalysis/qlpack.yml b/shared/rangeanalysis/qlpack.yml index ee5954cae0b..8bd5c263848 100644 --- a/shared/rangeanalysis/qlpack.yml +++ b/shared/rangeanalysis/qlpack.yml @@ -1,5 +1,5 @@ name: codeql/rangeanalysis -version: 1.0.13-dev +version: 1.0.12-dev groups: shared library: true dependencies: diff --git a/shared/regex/CHANGELOG.md b/shared/regex/CHANGELOG.md index 3e8a99103fe..e4aa1758db2 100644 --- a/shared/regex/CHANGELOG.md +++ b/shared/regex/CHANGELOG.md @@ -1,7 +1,3 @@ -## 1.0.12 - -No user-facing changes. - ## 1.0.11 No user-facing changes. diff --git a/shared/regex/change-notes/released/1.0.12.md b/shared/regex/change-notes/released/1.0.12.md deleted file mode 100644 index 12b3cf3e18f..00000000000 --- a/shared/regex/change-notes/released/1.0.12.md +++ /dev/null @@ -1,3 +0,0 @@ -## 1.0.12 - -No user-facing changes. diff --git a/shared/regex/codeql-pack.release.yml b/shared/regex/codeql-pack.release.yml index 2036690b201..56a2fb38872 100644 --- a/shared/regex/codeql-pack.release.yml +++ b/shared/regex/codeql-pack.release.yml @@ -1,2 +1,2 @@ --- -lastReleaseVersion: 1.0.12 +lastReleaseVersion: 1.0.11 diff --git a/shared/regex/qlpack.yml b/shared/regex/qlpack.yml index 34aa1065398..624c826410e 100644 --- a/shared/regex/qlpack.yml +++ b/shared/regex/qlpack.yml @@ -1,5 +1,5 @@ name: codeql/regex -version: 1.0.13-dev +version: 1.0.12-dev groups: shared library: true dependencies: diff --git a/shared/ssa/CHANGELOG.md b/shared/ssa/CHANGELOG.md index b98345f361c..6fc1f4442c7 100644 --- a/shared/ssa/CHANGELOG.md +++ b/shared/ssa/CHANGELOG.md @@ -1,7 +1,3 @@ -## 1.0.12 - -No user-facing changes. - ## 1.0.11 No user-facing changes. diff --git a/shared/ssa/change-notes/released/1.0.12.md b/shared/ssa/change-notes/released/1.0.12.md deleted file mode 100644 index 12b3cf3e18f..00000000000 --- a/shared/ssa/change-notes/released/1.0.12.md +++ /dev/null @@ -1,3 +0,0 @@ -## 1.0.12 - -No user-facing changes. diff --git a/shared/ssa/codeql-pack.release.yml b/shared/ssa/codeql-pack.release.yml index 2036690b201..56a2fb38872 100644 --- a/shared/ssa/codeql-pack.release.yml +++ b/shared/ssa/codeql-pack.release.yml @@ -1,2 +1,2 @@ --- -lastReleaseVersion: 1.0.12 +lastReleaseVersion: 1.0.11 diff --git a/shared/ssa/qlpack.yml b/shared/ssa/qlpack.yml index 145cd9e2192..d55025c28d1 100644 --- a/shared/ssa/qlpack.yml +++ b/shared/ssa/qlpack.yml @@ -1,5 +1,5 @@ name: codeql/ssa -version: 1.0.13-dev +version: 1.0.12-dev groups: shared library: true dependencies: diff --git a/shared/threat-models/CHANGELOG.md b/shared/threat-models/CHANGELOG.md index eeb6b0a262a..1c514d078a2 100644 --- a/shared/threat-models/CHANGELOG.md +++ b/shared/threat-models/CHANGELOG.md @@ -1,7 +1,3 @@ -## 1.0.12 - -No user-facing changes. - ## 1.0.11 No user-facing changes. diff --git a/shared/threat-models/change-notes/released/1.0.12.md b/shared/threat-models/change-notes/released/1.0.12.md deleted file mode 100644 index 12b3cf3e18f..00000000000 --- a/shared/threat-models/change-notes/released/1.0.12.md +++ /dev/null @@ -1,3 +0,0 @@ -## 1.0.12 - -No user-facing changes. diff --git a/shared/threat-models/codeql-pack.release.yml b/shared/threat-models/codeql-pack.release.yml index 2036690b201..56a2fb38872 100644 --- a/shared/threat-models/codeql-pack.release.yml +++ b/shared/threat-models/codeql-pack.release.yml @@ -1,2 +1,2 @@ --- -lastReleaseVersion: 1.0.12 +lastReleaseVersion: 1.0.11 diff --git a/shared/threat-models/qlpack.yml b/shared/threat-models/qlpack.yml index 16ca1fe3a88..42ac623c23b 100644 --- a/shared/threat-models/qlpack.yml +++ b/shared/threat-models/qlpack.yml @@ -1,5 +1,5 @@ name: codeql/threat-models -version: 1.0.13-dev +version: 1.0.12-dev library: true groups: shared dataExtensions: diff --git a/shared/tutorial/CHANGELOG.md b/shared/tutorial/CHANGELOG.md index da467b3de30..416a3ab33fc 100644 --- a/shared/tutorial/CHANGELOG.md +++ b/shared/tutorial/CHANGELOG.md @@ -1,7 +1,3 @@ -## 1.0.12 - -No user-facing changes. - ## 1.0.11 No user-facing changes. diff --git a/shared/tutorial/change-notes/released/1.0.12.md b/shared/tutorial/change-notes/released/1.0.12.md deleted file mode 100644 index 12b3cf3e18f..00000000000 --- a/shared/tutorial/change-notes/released/1.0.12.md +++ /dev/null @@ -1,3 +0,0 @@ -## 1.0.12 - -No user-facing changes. diff --git a/shared/tutorial/codeql-pack.release.yml b/shared/tutorial/codeql-pack.release.yml index 2036690b201..56a2fb38872 100644 --- a/shared/tutorial/codeql-pack.release.yml +++ b/shared/tutorial/codeql-pack.release.yml @@ -1,2 +1,2 @@ --- -lastReleaseVersion: 1.0.12 +lastReleaseVersion: 1.0.11 diff --git a/shared/tutorial/qlpack.yml b/shared/tutorial/qlpack.yml index 14cbbbdc067..bd281c1a818 100644 --- a/shared/tutorial/qlpack.yml +++ b/shared/tutorial/qlpack.yml @@ -1,7 +1,7 @@ name: codeql/tutorial description: Library for the CodeQL detective tutorials, helping new users learn to write CodeQL queries. -version: 1.0.13-dev +version: 1.0.12-dev groups: shared library: true warnOnImplicitThis: true diff --git a/shared/typeflow/CHANGELOG.md b/shared/typeflow/CHANGELOG.md index cae361ea7e7..1506cdea175 100644 --- a/shared/typeflow/CHANGELOG.md +++ b/shared/typeflow/CHANGELOG.md @@ -1,7 +1,3 @@ -## 1.0.12 - -No user-facing changes. - ## 1.0.11 No user-facing changes. diff --git a/shared/typeflow/change-notes/released/1.0.12.md b/shared/typeflow/change-notes/released/1.0.12.md deleted file mode 100644 index 12b3cf3e18f..00000000000 --- a/shared/typeflow/change-notes/released/1.0.12.md +++ /dev/null @@ -1,3 +0,0 @@ -## 1.0.12 - -No user-facing changes. diff --git a/shared/typeflow/codeql-pack.release.yml b/shared/typeflow/codeql-pack.release.yml index 2036690b201..56a2fb38872 100644 --- a/shared/typeflow/codeql-pack.release.yml +++ b/shared/typeflow/codeql-pack.release.yml @@ -1,2 +1,2 @@ --- -lastReleaseVersion: 1.0.12 +lastReleaseVersion: 1.0.11 diff --git a/shared/typeflow/qlpack.yml b/shared/typeflow/qlpack.yml index 5a659a4559d..6c7ecc03264 100644 --- a/shared/typeflow/qlpack.yml +++ b/shared/typeflow/qlpack.yml @@ -1,5 +1,5 @@ name: codeql/typeflow -version: 1.0.13-dev +version: 1.0.12-dev groups: shared library: true dependencies: diff --git a/shared/typetracking/CHANGELOG.md b/shared/typetracking/CHANGELOG.md index 96110cb10a2..d35be2a3771 100644 --- a/shared/typetracking/CHANGELOG.md +++ b/shared/typetracking/CHANGELOG.md @@ -1,7 +1,3 @@ -## 1.0.12 - -No user-facing changes. - ## 1.0.11 No user-facing changes. diff --git a/shared/typetracking/change-notes/released/1.0.12.md b/shared/typetracking/change-notes/released/1.0.12.md deleted file mode 100644 index 12b3cf3e18f..00000000000 --- a/shared/typetracking/change-notes/released/1.0.12.md +++ /dev/null @@ -1,3 +0,0 @@ -## 1.0.12 - -No user-facing changes. diff --git a/shared/typetracking/codeql-pack.release.yml b/shared/typetracking/codeql-pack.release.yml index 2036690b201..56a2fb38872 100644 --- a/shared/typetracking/codeql-pack.release.yml +++ b/shared/typetracking/codeql-pack.release.yml @@ -1,2 +1,2 @@ --- -lastReleaseVersion: 1.0.12 +lastReleaseVersion: 1.0.11 diff --git a/shared/typetracking/qlpack.yml b/shared/typetracking/qlpack.yml index 216cc8696d9..07eeb938af3 100644 --- a/shared/typetracking/qlpack.yml +++ b/shared/typetracking/qlpack.yml @@ -1,5 +1,5 @@ name: codeql/typetracking -version: 1.0.13-dev +version: 1.0.12-dev groups: shared library: true dependencies: diff --git a/shared/typos/CHANGELOG.md b/shared/typos/CHANGELOG.md index 83fb2dfb4cc..e5392886a3e 100644 --- a/shared/typos/CHANGELOG.md +++ b/shared/typos/CHANGELOG.md @@ -1,7 +1,3 @@ -## 1.0.12 - -No user-facing changes. - ## 1.0.11 No user-facing changes. diff --git a/shared/typos/change-notes/released/1.0.12.md b/shared/typos/change-notes/released/1.0.12.md deleted file mode 100644 index 12b3cf3e18f..00000000000 --- a/shared/typos/change-notes/released/1.0.12.md +++ /dev/null @@ -1,3 +0,0 @@ -## 1.0.12 - -No user-facing changes. diff --git a/shared/typos/codeql-pack.release.yml b/shared/typos/codeql-pack.release.yml index 2036690b201..56a2fb38872 100644 --- a/shared/typos/codeql-pack.release.yml +++ b/shared/typos/codeql-pack.release.yml @@ -1,2 +1,2 @@ --- -lastReleaseVersion: 1.0.12 +lastReleaseVersion: 1.0.11 diff --git a/shared/typos/qlpack.yml b/shared/typos/qlpack.yml index 8c1a93efe5e..dcd9631b697 100644 --- a/shared/typos/qlpack.yml +++ b/shared/typos/qlpack.yml @@ -1,5 +1,5 @@ name: codeql/typos -version: 1.0.13-dev +version: 1.0.12-dev groups: shared library: true warnOnImplicitThis: true diff --git a/shared/util/CHANGELOG.md b/shared/util/CHANGELOG.md index 15c3b8c6225..9f1057cba24 100644 --- a/shared/util/CHANGELOG.md +++ b/shared/util/CHANGELOG.md @@ -1,7 +1,3 @@ -## 1.0.12 - -No user-facing changes. - ## 1.0.11 No user-facing changes. diff --git a/shared/util/change-notes/released/1.0.12.md b/shared/util/change-notes/released/1.0.12.md deleted file mode 100644 index 12b3cf3e18f..00000000000 --- a/shared/util/change-notes/released/1.0.12.md +++ /dev/null @@ -1,3 +0,0 @@ -## 1.0.12 - -No user-facing changes. diff --git a/shared/util/codeql-pack.release.yml b/shared/util/codeql-pack.release.yml index 2036690b201..56a2fb38872 100644 --- a/shared/util/codeql-pack.release.yml +++ b/shared/util/codeql-pack.release.yml @@ -1,2 +1,2 @@ --- -lastReleaseVersion: 1.0.12 +lastReleaseVersion: 1.0.11 diff --git a/shared/util/qlpack.yml b/shared/util/qlpack.yml index 83284f19cc3..2a33b5aa84a 100644 --- a/shared/util/qlpack.yml +++ b/shared/util/qlpack.yml @@ -1,5 +1,5 @@ name: codeql/util -version: 1.0.13-dev +version: 1.0.12-dev groups: shared library: true dependencies: null diff --git a/shared/xml/CHANGELOG.md b/shared/xml/CHANGELOG.md index c8213742dc9..6ef34d6264c 100644 --- a/shared/xml/CHANGELOG.md +++ b/shared/xml/CHANGELOG.md @@ -1,7 +1,3 @@ -## 1.0.12 - -No user-facing changes. - ## 1.0.11 No user-facing changes. diff --git a/shared/xml/change-notes/released/1.0.12.md b/shared/xml/change-notes/released/1.0.12.md deleted file mode 100644 index 12b3cf3e18f..00000000000 --- a/shared/xml/change-notes/released/1.0.12.md +++ /dev/null @@ -1,3 +0,0 @@ -## 1.0.12 - -No user-facing changes. diff --git a/shared/xml/codeql-pack.release.yml b/shared/xml/codeql-pack.release.yml index 2036690b201..56a2fb38872 100644 --- a/shared/xml/codeql-pack.release.yml +++ b/shared/xml/codeql-pack.release.yml @@ -1,2 +1,2 @@ --- -lastReleaseVersion: 1.0.12 +lastReleaseVersion: 1.0.11 diff --git a/shared/xml/qlpack.yml b/shared/xml/qlpack.yml index f48f41ef3ff..94acb679e9c 100644 --- a/shared/xml/qlpack.yml +++ b/shared/xml/qlpack.yml @@ -1,5 +1,5 @@ name: codeql/xml -version: 1.0.13-dev +version: 1.0.12-dev groups: shared library: true dependencies: diff --git a/shared/yaml/CHANGELOG.md b/shared/yaml/CHANGELOG.md index 2cc2ec62057..79fc573c5ae 100644 --- a/shared/yaml/CHANGELOG.md +++ b/shared/yaml/CHANGELOG.md @@ -1,7 +1,3 @@ -## 1.0.12 - -No user-facing changes. - ## 1.0.11 No user-facing changes. diff --git a/shared/yaml/change-notes/released/1.0.12.md b/shared/yaml/change-notes/released/1.0.12.md deleted file mode 100644 index 12b3cf3e18f..00000000000 --- a/shared/yaml/change-notes/released/1.0.12.md +++ /dev/null @@ -1,3 +0,0 @@ -## 1.0.12 - -No user-facing changes. diff --git a/shared/yaml/codeql-pack.release.yml b/shared/yaml/codeql-pack.release.yml index 2036690b201..56a2fb38872 100644 --- a/shared/yaml/codeql-pack.release.yml +++ b/shared/yaml/codeql-pack.release.yml @@ -1,2 +1,2 @@ --- -lastReleaseVersion: 1.0.12 +lastReleaseVersion: 1.0.11 diff --git a/shared/yaml/qlpack.yml b/shared/yaml/qlpack.yml index 54880a8cf2f..62119951431 100644 --- a/shared/yaml/qlpack.yml +++ b/shared/yaml/qlpack.yml @@ -1,5 +1,5 @@ name: codeql/yaml -version: 1.0.13-dev +version: 1.0.12-dev groups: shared library: true warnOnImplicitThis: true diff --git a/swift/ql/lib/CHANGELOG.md b/swift/ql/lib/CHANGELOG.md index 898a3282bb5..d871246f42f 100644 --- a/swift/ql/lib/CHANGELOG.md +++ b/swift/ql/lib/CHANGELOG.md @@ -1,7 +1,3 @@ -## 2.0.4 - -No user-facing changes. - ## 2.0.3 No user-facing changes. diff --git a/swift/ql/lib/change-notes/released/2.0.4.md b/swift/ql/lib/change-notes/released/2.0.4.md deleted file mode 100644 index 8e002b6db64..00000000000 --- a/swift/ql/lib/change-notes/released/2.0.4.md +++ /dev/null @@ -1,3 +0,0 @@ -## 2.0.4 - -No user-facing changes. diff --git a/swift/ql/lib/codeql-pack.release.yml b/swift/ql/lib/codeql-pack.release.yml index 0f306f8bd3b..fabf1e86596 100644 --- a/swift/ql/lib/codeql-pack.release.yml +++ b/swift/ql/lib/codeql-pack.release.yml @@ -1,2 +1,2 @@ --- -lastReleaseVersion: 2.0.4 +lastReleaseVersion: 2.0.3 diff --git a/swift/ql/lib/qlpack.yml b/swift/ql/lib/qlpack.yml index 2e855546d50..bc08ee6ac2e 100644 --- a/swift/ql/lib/qlpack.yml +++ b/swift/ql/lib/qlpack.yml @@ -1,5 +1,5 @@ name: codeql/swift-all -version: 2.0.5-dev +version: 2.0.4-dev groups: swift extractor: swift dbscheme: swift.dbscheme diff --git a/swift/ql/src/CHANGELOG.md b/swift/ql/src/CHANGELOG.md index 76de7db1348..8890e7e83a4 100644 --- a/swift/ql/src/CHANGELOG.md +++ b/swift/ql/src/CHANGELOG.md @@ -1,7 +1,3 @@ -## 1.0.12 - -No user-facing changes. - ## 1.0.11 No user-facing changes. diff --git a/swift/ql/src/change-notes/released/1.0.12.md b/swift/ql/src/change-notes/released/1.0.12.md deleted file mode 100644 index 12b3cf3e18f..00000000000 --- a/swift/ql/src/change-notes/released/1.0.12.md +++ /dev/null @@ -1,3 +0,0 @@ -## 1.0.12 - -No user-facing changes. diff --git a/swift/ql/src/codeql-pack.release.yml b/swift/ql/src/codeql-pack.release.yml index 2036690b201..56a2fb38872 100644 --- a/swift/ql/src/codeql-pack.release.yml +++ b/swift/ql/src/codeql-pack.release.yml @@ -1,2 +1,2 @@ --- -lastReleaseVersion: 1.0.12 +lastReleaseVersion: 1.0.11 diff --git a/swift/ql/src/qlpack.yml b/swift/ql/src/qlpack.yml index 1d9f7154cda..dcc0f94dcf4 100644 --- a/swift/ql/src/qlpack.yml +++ b/swift/ql/src/qlpack.yml @@ -1,5 +1,5 @@ name: codeql/swift-queries -version: 1.0.13-dev +version: 1.0.12-dev groups: - swift - queries From c0474c4e45c3a94dd2c6c23a06c759ab42c26d8d Mon Sep 17 00:00:00 2001 From: Alexander Eyers-Taylor Date: Thu, 21 Nov 2024 15:37:52 +0000 Subject: [PATCH 15/46] Revert "Revert "Post-release preparation for codeql-cli-2.19.4"" --- cpp/ql/lib/CHANGELOG.md | 6 ++++++ .../2.1.1.md} | 9 +++++---- cpp/ql/lib/codeql-pack.release.yml | 2 +- cpp/ql/lib/qlpack.yml | 2 +- cpp/ql/src/CHANGELOG.md | 4 ++++ cpp/ql/src/change-notes/released/1.2.7.md | 3 +++ cpp/ql/src/codeql-pack.release.yml | 2 +- cpp/ql/src/qlpack.yml | 2 +- csharp/ql/campaigns/Solorigate/lib/CHANGELOG.md | 4 ++++ .../Solorigate/lib/change-notes/released/1.7.29.md | 3 +++ .../campaigns/Solorigate/lib/codeql-pack.release.yml | 2 +- csharp/ql/campaigns/Solorigate/lib/qlpack.yml | 2 +- csharp/ql/campaigns/Solorigate/src/CHANGELOG.md | 4 ++++ .../Solorigate/src/change-notes/released/1.7.29.md | 3 +++ .../campaigns/Solorigate/src/codeql-pack.release.yml | 2 +- csharp/ql/campaigns/Solorigate/src/qlpack.yml | 2 +- csharp/ql/lib/CHANGELOG.md | 7 +++++++ .../lib/change-notes/2024-11-19-extractor-dotnet.md | 4 ---- .../3.1.1.md} | 8 +++++--- csharp/ql/lib/codeql-pack.release.yml | 2 +- csharp/ql/lib/qlpack.yml | 2 +- csharp/ql/src/CHANGELOG.md | 4 ++++ csharp/ql/src/change-notes/released/1.0.12.md | 3 +++ csharp/ql/src/codeql-pack.release.yml | 2 +- csharp/ql/src/qlpack.yml | 2 +- go/ql/consistency-queries/CHANGELOG.md | 4 ++++ .../change-notes/released/1.0.12.md | 3 +++ go/ql/consistency-queries/codeql-pack.release.yml | 2 +- go/ql/consistency-queries/qlpack.yml | 2 +- go/ql/lib/CHANGELOG.md | 11 +++++++++++ ...4-11-07-fix-missing-qualified-names-for-methods.md | 4 ---- .../2024-11-11-models-as-data-subtypes-column.md | 4 ---- .../2024-11-12-models-as-data-subtypes-true.md | 4 ---- go/ql/lib/change-notes/released/2.1.3.md | 10 ++++++++++ go/ql/lib/codeql-pack.release.yml | 2 +- go/ql/lib/qlpack.yml | 2 +- go/ql/src/CHANGELOG.md | 4 ++++ go/ql/src/change-notes/released/1.1.3.md | 3 +++ go/ql/src/codeql-pack.release.yml | 2 +- go/ql/src/qlpack.yml | 2 +- java/ql/automodel/src/CHANGELOG.md | 4 ++++ java/ql/automodel/src/change-notes/released/1.0.12.md | 3 +++ java/ql/automodel/src/codeql-pack.release.yml | 2 +- java/ql/automodel/src/qlpack.yml | 2 +- java/ql/lib/CHANGELOG.md | 6 ++++++ .../4.2.1.md} | 7 ++++--- java/ql/lib/codeql-pack.release.yml | 2 +- java/ql/lib/qlpack.yml | 2 +- java/ql/src/CHANGELOG.md | 4 ++++ java/ql/src/change-notes/released/1.1.9.md | 3 +++ java/ql/src/codeql-pack.release.yml | 2 +- java/ql/src/qlpack.yml | 2 +- javascript/ql/lib/CHANGELOG.md | 11 +++++++++++ .../lib/change-notes/2024-11-11-matchAll-support.md | 4 ---- .../ql/lib/change-notes/2024-11-11-reserve-support.md | 4 ---- .../2024-11-12-immutable-array-operations.md | 5 ----- .../lib/change-notes/2024-11-15-toSpliced-support.md | 4 ---- .../2024-11-18-ES2023-array-protype-with.md | 4 ---- javascript/ql/lib/change-notes/released/2.1.1.md | 10 ++++++++++ javascript/ql/lib/codeql-pack.release.yml | 2 +- javascript/ql/lib/qlpack.yml | 2 +- javascript/ql/src/CHANGELOG.md | 4 ++++ javascript/ql/src/change-notes/released/1.2.4.md | 3 +++ javascript/ql/src/codeql-pack.release.yml | 2 +- javascript/ql/src/qlpack.yml | 2 +- misc/suite-helpers/CHANGELOG.md | 4 ++++ misc/suite-helpers/change-notes/released/1.0.12.md | 3 +++ misc/suite-helpers/codeql-pack.release.yml | 2 +- misc/suite-helpers/qlpack.yml | 2 +- python/ql/lib/CHANGELOG.md | 6 ++++++ python/ql/lib/change-notes/2024-08-30-bottle.md | 4 ---- python/ql/lib/change-notes/released/2.2.0.md | 5 +++++ python/ql/lib/codeql-pack.release.yml | 2 +- python/ql/lib/qlpack.yml | 2 +- python/ql/src/CHANGELOG.md | 4 ++++ python/ql/src/change-notes/released/1.3.3.md | 3 +++ python/ql/src/codeql-pack.release.yml | 2 +- python/ql/src/qlpack.yml | 2 +- ruby/ql/lib/CHANGELOG.md | 4 ++++ ruby/ql/lib/change-notes/released/2.0.4.md | 3 +++ ruby/ql/lib/codeql-pack.release.yml | 2 +- ruby/ql/lib/qlpack.yml | 2 +- ruby/ql/src/CHANGELOG.md | 4 ++++ ruby/ql/src/change-notes/released/1.1.7.md | 3 +++ ruby/ql/src/codeql-pack.release.yml | 2 +- ruby/ql/src/qlpack.yml | 2 +- shared/controlflow/CHANGELOG.md | 4 ++++ shared/controlflow/change-notes/released/1.0.12.md | 3 +++ shared/controlflow/codeql-pack.release.yml | 2 +- shared/controlflow/qlpack.yml | 2 +- shared/dataflow/CHANGELOG.md | 4 ++++ shared/dataflow/change-notes/released/1.1.6.md | 3 +++ shared/dataflow/codeql-pack.release.yml | 2 +- shared/dataflow/qlpack.yml | 2 +- shared/mad/CHANGELOG.md | 4 ++++ shared/mad/change-notes/released/1.0.12.md | 3 +++ shared/mad/codeql-pack.release.yml | 2 +- shared/mad/qlpack.yml | 2 +- shared/rangeanalysis/CHANGELOG.md | 4 ++++ shared/rangeanalysis/change-notes/released/1.0.12.md | 3 +++ shared/rangeanalysis/codeql-pack.release.yml | 2 +- shared/rangeanalysis/qlpack.yml | 2 +- shared/regex/CHANGELOG.md | 4 ++++ shared/regex/change-notes/released/1.0.12.md | 3 +++ shared/regex/codeql-pack.release.yml | 2 +- shared/regex/qlpack.yml | 2 +- shared/ssa/CHANGELOG.md | 4 ++++ shared/ssa/change-notes/released/1.0.12.md | 3 +++ shared/ssa/codeql-pack.release.yml | 2 +- shared/ssa/qlpack.yml | 2 +- shared/threat-models/CHANGELOG.md | 4 ++++ shared/threat-models/change-notes/released/1.0.12.md | 3 +++ shared/threat-models/codeql-pack.release.yml | 2 +- shared/threat-models/qlpack.yml | 2 +- shared/tutorial/CHANGELOG.md | 4 ++++ shared/tutorial/change-notes/released/1.0.12.md | 3 +++ shared/tutorial/codeql-pack.release.yml | 2 +- shared/tutorial/qlpack.yml | 2 +- shared/typeflow/CHANGELOG.md | 4 ++++ shared/typeflow/change-notes/released/1.0.12.md | 3 +++ shared/typeflow/codeql-pack.release.yml | 2 +- shared/typeflow/qlpack.yml | 2 +- shared/typetracking/CHANGELOG.md | 4 ++++ shared/typetracking/change-notes/released/1.0.12.md | 3 +++ shared/typetracking/codeql-pack.release.yml | 2 +- shared/typetracking/qlpack.yml | 2 +- shared/typos/CHANGELOG.md | 4 ++++ shared/typos/change-notes/released/1.0.12.md | 3 +++ shared/typos/codeql-pack.release.yml | 2 +- shared/typos/qlpack.yml | 2 +- shared/util/CHANGELOG.md | 4 ++++ shared/util/change-notes/released/1.0.12.md | 3 +++ shared/util/codeql-pack.release.yml | 2 +- shared/util/qlpack.yml | 2 +- shared/xml/CHANGELOG.md | 4 ++++ shared/xml/change-notes/released/1.0.12.md | 3 +++ shared/xml/codeql-pack.release.yml | 2 +- shared/xml/qlpack.yml | 2 +- shared/yaml/CHANGELOG.md | 4 ++++ shared/yaml/change-notes/released/1.0.12.md | 3 +++ shared/yaml/codeql-pack.release.yml | 2 +- shared/yaml/qlpack.yml | 2 +- swift/ql/lib/CHANGELOG.md | 4 ++++ swift/ql/lib/change-notes/released/2.0.4.md | 3 +++ swift/ql/lib/codeql-pack.release.yml | 2 +- swift/ql/lib/qlpack.yml | 2 +- swift/ql/src/CHANGELOG.md | 4 ++++ swift/ql/src/change-notes/released/1.0.12.md | 3 +++ swift/ql/src/codeql-pack.release.yml | 2 +- swift/ql/src/qlpack.yml | 2 +- 150 files changed, 359 insertions(+), 121 deletions(-) rename cpp/ql/lib/change-notes/{2024-11-18-guard-conditions.md => released/2.1.1.md} (65%) create mode 100644 cpp/ql/src/change-notes/released/1.2.7.md create mode 100644 csharp/ql/campaigns/Solorigate/lib/change-notes/released/1.7.29.md create mode 100644 csharp/ql/campaigns/Solorigate/src/change-notes/released/1.7.29.md delete mode 100644 csharp/ql/lib/change-notes/2024-11-19-extractor-dotnet.md rename csharp/ql/lib/change-notes/{2024-11-07-net8-runtime-models.md => released/3.1.1.md} (51%) create mode 100644 csharp/ql/src/change-notes/released/1.0.12.md create mode 100644 go/ql/consistency-queries/change-notes/released/1.0.12.md delete mode 100644 go/ql/lib/change-notes/2024-11-07-fix-missing-qualified-names-for-methods.md delete mode 100644 go/ql/lib/change-notes/2024-11-11-models-as-data-subtypes-column.md delete mode 100644 go/ql/lib/change-notes/2024-11-12-models-as-data-subtypes-true.md create mode 100644 go/ql/lib/change-notes/released/2.1.3.md create mode 100644 go/ql/src/change-notes/released/1.1.3.md create mode 100644 java/ql/automodel/src/change-notes/released/1.0.12.md rename java/ql/lib/change-notes/{2024-11-14-unreachable-basic-block-in-constant-switch-statement.md => released/4.2.1.md} (83%) create mode 100644 java/ql/src/change-notes/released/1.1.9.md delete mode 100644 javascript/ql/lib/change-notes/2024-11-11-matchAll-support.md delete mode 100644 javascript/ql/lib/change-notes/2024-11-11-reserve-support.md delete mode 100644 javascript/ql/lib/change-notes/2024-11-12-immutable-array-operations.md delete mode 100644 javascript/ql/lib/change-notes/2024-11-15-toSpliced-support.md delete mode 100644 javascript/ql/lib/change-notes/2024-11-18-ES2023-array-protype-with.md create mode 100644 javascript/ql/lib/change-notes/released/2.1.1.md create mode 100644 javascript/ql/src/change-notes/released/1.2.4.md create mode 100644 misc/suite-helpers/change-notes/released/1.0.12.md delete mode 100644 python/ql/lib/change-notes/2024-08-30-bottle.md create mode 100644 python/ql/lib/change-notes/released/2.2.0.md create mode 100644 python/ql/src/change-notes/released/1.3.3.md create mode 100644 ruby/ql/lib/change-notes/released/2.0.4.md create mode 100644 ruby/ql/src/change-notes/released/1.1.7.md create mode 100644 shared/controlflow/change-notes/released/1.0.12.md create mode 100644 shared/dataflow/change-notes/released/1.1.6.md create mode 100644 shared/mad/change-notes/released/1.0.12.md create mode 100644 shared/rangeanalysis/change-notes/released/1.0.12.md create mode 100644 shared/regex/change-notes/released/1.0.12.md create mode 100644 shared/ssa/change-notes/released/1.0.12.md create mode 100644 shared/threat-models/change-notes/released/1.0.12.md create mode 100644 shared/tutorial/change-notes/released/1.0.12.md create mode 100644 shared/typeflow/change-notes/released/1.0.12.md create mode 100644 shared/typetracking/change-notes/released/1.0.12.md create mode 100644 shared/typos/change-notes/released/1.0.12.md create mode 100644 shared/util/change-notes/released/1.0.12.md create mode 100644 shared/xml/change-notes/released/1.0.12.md create mode 100644 shared/yaml/change-notes/released/1.0.12.md create mode 100644 swift/ql/lib/change-notes/released/2.0.4.md create mode 100644 swift/ql/src/change-notes/released/1.0.12.md diff --git a/cpp/ql/lib/CHANGELOG.md b/cpp/ql/lib/CHANGELOG.md index 0536c1c361b..077d4847afd 100644 --- a/cpp/ql/lib/CHANGELOG.md +++ b/cpp/ql/lib/CHANGELOG.md @@ -1,3 +1,9 @@ +## 2.1.1 + +### Minor Analysis Improvements + +* The `Guards` library (`semmle.code.cpp.controlflow.Guards`) has been improved to recognize more guard conditions. Additionally, the guards library no longer considers guards in static local initializers or global initializers as `GuardCondition`s. + ## 2.1.0 ### New Features diff --git a/cpp/ql/lib/change-notes/2024-11-18-guard-conditions.md b/cpp/ql/lib/change-notes/released/2.1.1.md similarity index 65% rename from cpp/ql/lib/change-notes/2024-11-18-guard-conditions.md rename to cpp/ql/lib/change-notes/released/2.1.1.md index 8fb914bf51b..39acc1a585f 100644 --- a/cpp/ql/lib/change-notes/2024-11-18-guard-conditions.md +++ b/cpp/ql/lib/change-notes/released/2.1.1.md @@ -1,4 +1,5 @@ ---- -category: minorAnalysis ---- -* The `Guards` library (`semmle.code.cpp.controlflow.Guards`) has been improved to recognize more guard conditions. Additionally, the guards library no longer considers guards in static local initializers or global initializers as `GuardCondition`s. \ No newline at end of file +## 2.1.1 + +### Minor Analysis Improvements + +* The `Guards` library (`semmle.code.cpp.controlflow.Guards`) has been improved to recognize more guard conditions. Additionally, the guards library no longer considers guards in static local initializers or global initializers as `GuardCondition`s. diff --git a/cpp/ql/lib/codeql-pack.release.yml b/cpp/ql/lib/codeql-pack.release.yml index 487a1a58b2b..576c2ea18d6 100644 --- a/cpp/ql/lib/codeql-pack.release.yml +++ b/cpp/ql/lib/codeql-pack.release.yml @@ -1,2 +1,2 @@ --- -lastReleaseVersion: 2.1.0 +lastReleaseVersion: 2.1.1 diff --git a/cpp/ql/lib/qlpack.yml b/cpp/ql/lib/qlpack.yml index 397a56ac535..001028daae1 100644 --- a/cpp/ql/lib/qlpack.yml +++ b/cpp/ql/lib/qlpack.yml @@ -1,5 +1,5 @@ name: codeql/cpp-all -version: 2.1.1-dev +version: 2.1.2-dev groups: cpp dbscheme: semmlecode.cpp.dbscheme extractor: cpp diff --git a/cpp/ql/src/CHANGELOG.md b/cpp/ql/src/CHANGELOG.md index 4098bcf4d20..5bb266bdd64 100644 --- a/cpp/ql/src/CHANGELOG.md +++ b/cpp/ql/src/CHANGELOG.md @@ -1,3 +1,7 @@ +## 1.2.7 + +No user-facing changes. + ## 1.2.6 ### Minor Analysis Improvements diff --git a/cpp/ql/src/change-notes/released/1.2.7.md b/cpp/ql/src/change-notes/released/1.2.7.md new file mode 100644 index 00000000000..99f957692ac --- /dev/null +++ b/cpp/ql/src/change-notes/released/1.2.7.md @@ -0,0 +1,3 @@ +## 1.2.7 + +No user-facing changes. diff --git a/cpp/ql/src/codeql-pack.release.yml b/cpp/ql/src/codeql-pack.release.yml index 24962f7ba24..950e0645d4a 100644 --- a/cpp/ql/src/codeql-pack.release.yml +++ b/cpp/ql/src/codeql-pack.release.yml @@ -1,2 +1,2 @@ --- -lastReleaseVersion: 1.2.6 +lastReleaseVersion: 1.2.7 diff --git a/cpp/ql/src/qlpack.yml b/cpp/ql/src/qlpack.yml index 7059965615a..2fcf45807da 100644 --- a/cpp/ql/src/qlpack.yml +++ b/cpp/ql/src/qlpack.yml @@ -1,5 +1,5 @@ name: codeql/cpp-queries -version: 1.2.7-dev +version: 1.2.8-dev groups: - cpp - queries diff --git a/csharp/ql/campaigns/Solorigate/lib/CHANGELOG.md b/csharp/ql/campaigns/Solorigate/lib/CHANGELOG.md index 7b5cb257096..93e737ae669 100644 --- a/csharp/ql/campaigns/Solorigate/lib/CHANGELOG.md +++ b/csharp/ql/campaigns/Solorigate/lib/CHANGELOG.md @@ -1,3 +1,7 @@ +## 1.7.29 + +No user-facing changes. + ## 1.7.28 No user-facing changes. diff --git a/csharp/ql/campaigns/Solorigate/lib/change-notes/released/1.7.29.md b/csharp/ql/campaigns/Solorigate/lib/change-notes/released/1.7.29.md new file mode 100644 index 00000000000..6ff68866478 --- /dev/null +++ b/csharp/ql/campaigns/Solorigate/lib/change-notes/released/1.7.29.md @@ -0,0 +1,3 @@ +## 1.7.29 + +No user-facing changes. diff --git a/csharp/ql/campaigns/Solorigate/lib/codeql-pack.release.yml b/csharp/ql/campaigns/Solorigate/lib/codeql-pack.release.yml index ff17fbaf982..34100d3ad64 100644 --- a/csharp/ql/campaigns/Solorigate/lib/codeql-pack.release.yml +++ b/csharp/ql/campaigns/Solorigate/lib/codeql-pack.release.yml @@ -1,2 +1,2 @@ --- -lastReleaseVersion: 1.7.28 +lastReleaseVersion: 1.7.29 diff --git a/csharp/ql/campaigns/Solorigate/lib/qlpack.yml b/csharp/ql/campaigns/Solorigate/lib/qlpack.yml index cccebfc4f3f..0c8db9920eb 100644 --- a/csharp/ql/campaigns/Solorigate/lib/qlpack.yml +++ b/csharp/ql/campaigns/Solorigate/lib/qlpack.yml @@ -1,5 +1,5 @@ name: codeql/csharp-solorigate-all -version: 1.7.29-dev +version: 1.7.30-dev groups: - csharp - solorigate diff --git a/csharp/ql/campaigns/Solorigate/src/CHANGELOG.md b/csharp/ql/campaigns/Solorigate/src/CHANGELOG.md index 7b5cb257096..93e737ae669 100644 --- a/csharp/ql/campaigns/Solorigate/src/CHANGELOG.md +++ b/csharp/ql/campaigns/Solorigate/src/CHANGELOG.md @@ -1,3 +1,7 @@ +## 1.7.29 + +No user-facing changes. + ## 1.7.28 No user-facing changes. diff --git a/csharp/ql/campaigns/Solorigate/src/change-notes/released/1.7.29.md b/csharp/ql/campaigns/Solorigate/src/change-notes/released/1.7.29.md new file mode 100644 index 00000000000..6ff68866478 --- /dev/null +++ b/csharp/ql/campaigns/Solorigate/src/change-notes/released/1.7.29.md @@ -0,0 +1,3 @@ +## 1.7.29 + +No user-facing changes. diff --git a/csharp/ql/campaigns/Solorigate/src/codeql-pack.release.yml b/csharp/ql/campaigns/Solorigate/src/codeql-pack.release.yml index ff17fbaf982..34100d3ad64 100644 --- a/csharp/ql/campaigns/Solorigate/src/codeql-pack.release.yml +++ b/csharp/ql/campaigns/Solorigate/src/codeql-pack.release.yml @@ -1,2 +1,2 @@ --- -lastReleaseVersion: 1.7.28 +lastReleaseVersion: 1.7.29 diff --git a/csharp/ql/campaigns/Solorigate/src/qlpack.yml b/csharp/ql/campaigns/Solorigate/src/qlpack.yml index 4e5b51ed11a..3a4343780e4 100644 --- a/csharp/ql/campaigns/Solorigate/src/qlpack.yml +++ b/csharp/ql/campaigns/Solorigate/src/qlpack.yml @@ -1,5 +1,5 @@ name: codeql/csharp-solorigate-queries -version: 1.7.29-dev +version: 1.7.30-dev groups: - csharp - solorigate diff --git a/csharp/ql/lib/CHANGELOG.md b/csharp/ql/lib/CHANGELOG.md index 39a75db1b5f..c76569e4ab3 100644 --- a/csharp/ql/lib/CHANGELOG.md +++ b/csharp/ql/lib/CHANGELOG.md @@ -1,3 +1,10 @@ +## 3.1.1 + +### Minor Analysis Improvements + +* .NET 9 is now required to build the C# extractor. +* The Models as Data models for .NET 8 Runtime now include generated models for higher order methods. + ## 3.1.0 ### Major Analysis Improvements diff --git a/csharp/ql/lib/change-notes/2024-11-19-extractor-dotnet.md b/csharp/ql/lib/change-notes/2024-11-19-extractor-dotnet.md deleted file mode 100644 index 58185aa0b0e..00000000000 --- a/csharp/ql/lib/change-notes/2024-11-19-extractor-dotnet.md +++ /dev/null @@ -1,4 +0,0 @@ ---- -category: minorAnalysis ---- -* .NET 9 is now required to build the C# extractor. diff --git a/csharp/ql/lib/change-notes/2024-11-07-net8-runtime-models.md b/csharp/ql/lib/change-notes/released/3.1.1.md similarity index 51% rename from csharp/ql/lib/change-notes/2024-11-07-net8-runtime-models.md rename to csharp/ql/lib/change-notes/released/3.1.1.md index 89574208e40..a2a912341fe 100644 --- a/csharp/ql/lib/change-notes/2024-11-07-net8-runtime-models.md +++ b/csharp/ql/lib/change-notes/released/3.1.1.md @@ -1,4 +1,6 @@ ---- -category: minorAnalysis ---- +## 3.1.1 + +### Minor Analysis Improvements + +* .NET 9 is now required to build the C# extractor. * The Models as Data models for .NET 8 Runtime now include generated models for higher order methods. diff --git a/csharp/ql/lib/codeql-pack.release.yml b/csharp/ql/lib/codeql-pack.release.yml index 82f62960aa3..c06beda86a3 100644 --- a/csharp/ql/lib/codeql-pack.release.yml +++ b/csharp/ql/lib/codeql-pack.release.yml @@ -1,2 +1,2 @@ --- -lastReleaseVersion: 3.1.0 +lastReleaseVersion: 3.1.1 diff --git a/csharp/ql/lib/qlpack.yml b/csharp/ql/lib/qlpack.yml index f750b06e392..efc82eedc90 100644 --- a/csharp/ql/lib/qlpack.yml +++ b/csharp/ql/lib/qlpack.yml @@ -1,5 +1,5 @@ name: codeql/csharp-all -version: 3.1.1-dev +version: 3.1.2-dev groups: csharp dbscheme: semmlecode.csharp.dbscheme extractor: csharp diff --git a/csharp/ql/src/CHANGELOG.md b/csharp/ql/src/CHANGELOG.md index fe0765a3b18..99528b54e9e 100644 --- a/csharp/ql/src/CHANGELOG.md +++ b/csharp/ql/src/CHANGELOG.md @@ -1,3 +1,7 @@ +## 1.0.12 + +No user-facing changes. + ## 1.0.11 ### Minor Analysis Improvements diff --git a/csharp/ql/src/change-notes/released/1.0.12.md b/csharp/ql/src/change-notes/released/1.0.12.md new file mode 100644 index 00000000000..12b3cf3e18f --- /dev/null +++ b/csharp/ql/src/change-notes/released/1.0.12.md @@ -0,0 +1,3 @@ +## 1.0.12 + +No user-facing changes. diff --git a/csharp/ql/src/codeql-pack.release.yml b/csharp/ql/src/codeql-pack.release.yml index 56a2fb38872..2036690b201 100644 --- a/csharp/ql/src/codeql-pack.release.yml +++ b/csharp/ql/src/codeql-pack.release.yml @@ -1,2 +1,2 @@ --- -lastReleaseVersion: 1.0.11 +lastReleaseVersion: 1.0.12 diff --git a/csharp/ql/src/qlpack.yml b/csharp/ql/src/qlpack.yml index b861524e144..569b69021d1 100644 --- a/csharp/ql/src/qlpack.yml +++ b/csharp/ql/src/qlpack.yml @@ -1,5 +1,5 @@ name: codeql/csharp-queries -version: 1.0.12-dev +version: 1.0.13-dev groups: - csharp - queries diff --git a/go/ql/consistency-queries/CHANGELOG.md b/go/ql/consistency-queries/CHANGELOG.md index 1c514d078a2..eeb6b0a262a 100644 --- a/go/ql/consistency-queries/CHANGELOG.md +++ b/go/ql/consistency-queries/CHANGELOG.md @@ -1,3 +1,7 @@ +## 1.0.12 + +No user-facing changes. + ## 1.0.11 No user-facing changes. diff --git a/go/ql/consistency-queries/change-notes/released/1.0.12.md b/go/ql/consistency-queries/change-notes/released/1.0.12.md new file mode 100644 index 00000000000..12b3cf3e18f --- /dev/null +++ b/go/ql/consistency-queries/change-notes/released/1.0.12.md @@ -0,0 +1,3 @@ +## 1.0.12 + +No user-facing changes. diff --git a/go/ql/consistency-queries/codeql-pack.release.yml b/go/ql/consistency-queries/codeql-pack.release.yml index 56a2fb38872..2036690b201 100644 --- a/go/ql/consistency-queries/codeql-pack.release.yml +++ b/go/ql/consistency-queries/codeql-pack.release.yml @@ -1,2 +1,2 @@ --- -lastReleaseVersion: 1.0.11 +lastReleaseVersion: 1.0.12 diff --git a/go/ql/consistency-queries/qlpack.yml b/go/ql/consistency-queries/qlpack.yml index b7c67080f46..60d11115c14 100644 --- a/go/ql/consistency-queries/qlpack.yml +++ b/go/ql/consistency-queries/qlpack.yml @@ -1,5 +1,5 @@ name: codeql-go-consistency-queries -version: 1.0.12-dev +version: 1.0.13-dev groups: - go - queries diff --git a/go/ql/lib/CHANGELOG.md b/go/ql/lib/CHANGELOG.md index 37f83fa8dda..b2eb3cbb239 100644 --- a/go/ql/lib/CHANGELOG.md +++ b/go/ql/lib/CHANGELOG.md @@ -1,3 +1,14 @@ +## 2.1.3 + +### Minor Analysis Improvements + +* The `subtypes` column has been set to true in all models-as-data models except some tests. This means that existing models will apply in some cases where they didn't before, which may lead to more alerts. + +### Bug Fixes + +* The behaviour of the `subtypes` column in models-as-data now matches other languages more closely. +* Fixed a bug which meant that some qualified names for promoted methods were not being recognised in some very specific circumstances. + ## 2.1.2 ### Minor Analysis Improvements diff --git a/go/ql/lib/change-notes/2024-11-07-fix-missing-qualified-names-for-methods.md b/go/ql/lib/change-notes/2024-11-07-fix-missing-qualified-names-for-methods.md deleted file mode 100644 index cd2dbb6c974..00000000000 --- a/go/ql/lib/change-notes/2024-11-07-fix-missing-qualified-names-for-methods.md +++ /dev/null @@ -1,4 +0,0 @@ ---- -category: fix ---- -* Fixed a bug which meant that some qualified names for promoted methods were not being recognised in some very specific circumstances. diff --git a/go/ql/lib/change-notes/2024-11-11-models-as-data-subtypes-column.md b/go/ql/lib/change-notes/2024-11-11-models-as-data-subtypes-column.md deleted file mode 100644 index 25115f74d71..00000000000 --- a/go/ql/lib/change-notes/2024-11-11-models-as-data-subtypes-column.md +++ /dev/null @@ -1,4 +0,0 @@ ---- -category: fix ---- -* The behaviour of the `subtypes` column in models-as-data now matches other languages more closely. diff --git a/go/ql/lib/change-notes/2024-11-12-models-as-data-subtypes-true.md b/go/ql/lib/change-notes/2024-11-12-models-as-data-subtypes-true.md deleted file mode 100644 index b1c78815ea3..00000000000 --- a/go/ql/lib/change-notes/2024-11-12-models-as-data-subtypes-true.md +++ /dev/null @@ -1,4 +0,0 @@ ---- -category: minorAnalysis ---- -* The `subtypes` column has been set to true in all models-as-data models except some tests. This means that existing models will apply in some cases where they didn't before, which may lead to more alerts. diff --git a/go/ql/lib/change-notes/released/2.1.3.md b/go/ql/lib/change-notes/released/2.1.3.md new file mode 100644 index 00000000000..3ae1f19fb36 --- /dev/null +++ b/go/ql/lib/change-notes/released/2.1.3.md @@ -0,0 +1,10 @@ +## 2.1.3 + +### Minor Analysis Improvements + +* The `subtypes` column has been set to true in all models-as-data models except some tests. This means that existing models will apply in some cases where they didn't before, which may lead to more alerts. + +### Bug Fixes + +* The behaviour of the `subtypes` column in models-as-data now matches other languages more closely. +* Fixed a bug which meant that some qualified names for promoted methods were not being recognised in some very specific circumstances. diff --git a/go/ql/lib/codeql-pack.release.yml b/go/ql/lib/codeql-pack.release.yml index 1a4e53e8772..345fb0c73a4 100644 --- a/go/ql/lib/codeql-pack.release.yml +++ b/go/ql/lib/codeql-pack.release.yml @@ -1,2 +1,2 @@ --- -lastReleaseVersion: 2.1.2 +lastReleaseVersion: 2.1.3 diff --git a/go/ql/lib/qlpack.yml b/go/ql/lib/qlpack.yml index f9660516373..98e81430897 100644 --- a/go/ql/lib/qlpack.yml +++ b/go/ql/lib/qlpack.yml @@ -1,5 +1,5 @@ name: codeql/go-all -version: 2.1.3-dev +version: 2.1.4-dev groups: go dbscheme: go.dbscheme extractor: go diff --git a/go/ql/src/CHANGELOG.md b/go/ql/src/CHANGELOG.md index 0e276fda741..c529cbffb32 100644 --- a/go/ql/src/CHANGELOG.md +++ b/go/ql/src/CHANGELOG.md @@ -1,3 +1,7 @@ +## 1.1.3 + +No user-facing changes. + ## 1.1.2 No user-facing changes. diff --git a/go/ql/src/change-notes/released/1.1.3.md b/go/ql/src/change-notes/released/1.1.3.md new file mode 100644 index 00000000000..e8f1701bd62 --- /dev/null +++ b/go/ql/src/change-notes/released/1.1.3.md @@ -0,0 +1,3 @@ +## 1.1.3 + +No user-facing changes. diff --git a/go/ql/src/codeql-pack.release.yml b/go/ql/src/codeql-pack.release.yml index 53ab127707f..35e710ab1bf 100644 --- a/go/ql/src/codeql-pack.release.yml +++ b/go/ql/src/codeql-pack.release.yml @@ -1,2 +1,2 @@ --- -lastReleaseVersion: 1.1.2 +lastReleaseVersion: 1.1.3 diff --git a/go/ql/src/qlpack.yml b/go/ql/src/qlpack.yml index 68bac4cf1a9..866a0935713 100644 --- a/go/ql/src/qlpack.yml +++ b/go/ql/src/qlpack.yml @@ -1,5 +1,5 @@ name: codeql/go-queries -version: 1.1.3-dev +version: 1.1.4-dev groups: - go - queries diff --git a/java/ql/automodel/src/CHANGELOG.md b/java/ql/automodel/src/CHANGELOG.md index 148791b5923..1564285b44b 100644 --- a/java/ql/automodel/src/CHANGELOG.md +++ b/java/ql/automodel/src/CHANGELOG.md @@ -1,3 +1,7 @@ +## 1.0.12 + +No user-facing changes. + ## 1.0.11 No user-facing changes. diff --git a/java/ql/automodel/src/change-notes/released/1.0.12.md b/java/ql/automodel/src/change-notes/released/1.0.12.md new file mode 100644 index 00000000000..12b3cf3e18f --- /dev/null +++ b/java/ql/automodel/src/change-notes/released/1.0.12.md @@ -0,0 +1,3 @@ +## 1.0.12 + +No user-facing changes. diff --git a/java/ql/automodel/src/codeql-pack.release.yml b/java/ql/automodel/src/codeql-pack.release.yml index 56a2fb38872..2036690b201 100644 --- a/java/ql/automodel/src/codeql-pack.release.yml +++ b/java/ql/automodel/src/codeql-pack.release.yml @@ -1,2 +1,2 @@ --- -lastReleaseVersion: 1.0.11 +lastReleaseVersion: 1.0.12 diff --git a/java/ql/automodel/src/qlpack.yml b/java/ql/automodel/src/qlpack.yml index 4acf2219db3..da81981956b 100644 --- a/java/ql/automodel/src/qlpack.yml +++ b/java/ql/automodel/src/qlpack.yml @@ -1,5 +1,5 @@ name: codeql/java-automodel-queries -version: 1.0.12-dev +version: 1.0.13-dev groups: - java - automodel diff --git a/java/ql/lib/CHANGELOG.md b/java/ql/lib/CHANGELOG.md index cddb86232c4..990fea9ddd7 100644 --- a/java/ql/lib/CHANGELOG.md +++ b/java/ql/lib/CHANGELOG.md @@ -1,3 +1,9 @@ +## 4.2.1 + +### Minor Analysis Improvements + +* In a switch statement with a constant switch expression, all non-matching cases were being marked as unreachable, including those that can be reached by falling through from the matching case. This has now been fixed. + ## 4.2.0 ### Major Analysis Improvements diff --git a/java/ql/lib/change-notes/2024-11-14-unreachable-basic-block-in-constant-switch-statement.md b/java/ql/lib/change-notes/released/4.2.1.md similarity index 83% rename from java/ql/lib/change-notes/2024-11-14-unreachable-basic-block-in-constant-switch-statement.md rename to java/ql/lib/change-notes/released/4.2.1.md index 50df55a4c1a..6fb31df9177 100644 --- a/java/ql/lib/change-notes/2024-11-14-unreachable-basic-block-in-constant-switch-statement.md +++ b/java/ql/lib/change-notes/released/4.2.1.md @@ -1,4 +1,5 @@ ---- -category: minorAnalysis ---- +## 4.2.1 + +### Minor Analysis Improvements + * In a switch statement with a constant switch expression, all non-matching cases were being marked as unreachable, including those that can be reached by falling through from the matching case. This has now been fixed. diff --git a/java/ql/lib/codeql-pack.release.yml b/java/ql/lib/codeql-pack.release.yml index 9fc6933b429..38ea9976fcc 100644 --- a/java/ql/lib/codeql-pack.release.yml +++ b/java/ql/lib/codeql-pack.release.yml @@ -1,2 +1,2 @@ --- -lastReleaseVersion: 4.2.0 +lastReleaseVersion: 4.2.1 diff --git a/java/ql/lib/qlpack.yml b/java/ql/lib/qlpack.yml index cc639056e4e..a8c1ee2de2b 100644 --- a/java/ql/lib/qlpack.yml +++ b/java/ql/lib/qlpack.yml @@ -1,5 +1,5 @@ name: codeql/java-all -version: 4.2.1-dev +version: 4.2.2-dev groups: java dbscheme: config/semmlecode.dbscheme extractor: java diff --git a/java/ql/src/CHANGELOG.md b/java/ql/src/CHANGELOG.md index 3a29e9e55e0..f212b4a8d3d 100644 --- a/java/ql/src/CHANGELOG.md +++ b/java/ql/src/CHANGELOG.md @@ -1,3 +1,7 @@ +## 1.1.9 + +No user-facing changes. + ## 1.1.8 No user-facing changes. diff --git a/java/ql/src/change-notes/released/1.1.9.md b/java/ql/src/change-notes/released/1.1.9.md new file mode 100644 index 00000000000..f9d367d4248 --- /dev/null +++ b/java/ql/src/change-notes/released/1.1.9.md @@ -0,0 +1,3 @@ +## 1.1.9 + +No user-facing changes. diff --git a/java/ql/src/codeql-pack.release.yml b/java/ql/src/codeql-pack.release.yml index 64972659c42..6f4795f3ea0 100644 --- a/java/ql/src/codeql-pack.release.yml +++ b/java/ql/src/codeql-pack.release.yml @@ -1,2 +1,2 @@ --- -lastReleaseVersion: 1.1.8 +lastReleaseVersion: 1.1.9 diff --git a/java/ql/src/qlpack.yml b/java/ql/src/qlpack.yml index 40ca32d8070..44740683f14 100644 --- a/java/ql/src/qlpack.yml +++ b/java/ql/src/qlpack.yml @@ -1,5 +1,5 @@ name: codeql/java-queries -version: 1.1.9-dev +version: 1.1.10-dev groups: - java - queries diff --git a/javascript/ql/lib/CHANGELOG.md b/javascript/ql/lib/CHANGELOG.md index 50d1486c006..7d8f8dcfc8b 100644 --- a/javascript/ql/lib/CHANGELOG.md +++ b/javascript/ql/lib/CHANGELOG.md @@ -1,3 +1,14 @@ +## 2.1.1 + +### Minor Analysis Improvements + +Added taint-steps for `Array.prototype.with`. +Added taint-steps for `Array.prototype.toSpliced` +* Added taint-steps for `Array.prototype.toReversed`. +* Added taint-steps for `Array.prototype.toSorted`. +Added support for `String.prototype.matchAll`. +* Added taint-steps for `Array.prototype.reverse` + ## 2.1.0 ### New Features diff --git a/javascript/ql/lib/change-notes/2024-11-11-matchAll-support.md b/javascript/ql/lib/change-notes/2024-11-11-matchAll-support.md deleted file mode 100644 index 74d7c3f34c2..00000000000 --- a/javascript/ql/lib/change-notes/2024-11-11-matchAll-support.md +++ /dev/null @@ -1,4 +0,0 @@ ---- -category: minorAnalysis ---- -Added support for `String.prototype.matchAll`. diff --git a/javascript/ql/lib/change-notes/2024-11-11-reserve-support.md b/javascript/ql/lib/change-notes/2024-11-11-reserve-support.md deleted file mode 100644 index bd2e6808e0c..00000000000 --- a/javascript/ql/lib/change-notes/2024-11-11-reserve-support.md +++ /dev/null @@ -1,4 +0,0 @@ ---- -category: minorAnalysis ---- -* Added taint-steps for `Array.prototype.reverse` diff --git a/javascript/ql/lib/change-notes/2024-11-12-immutable-array-operations.md b/javascript/ql/lib/change-notes/2024-11-12-immutable-array-operations.md deleted file mode 100644 index 20c16d88c6e..00000000000 --- a/javascript/ql/lib/change-notes/2024-11-12-immutable-array-operations.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -category: minorAnalysis ---- -* Added taint-steps for `Array.prototype.toReversed`. -* Added taint-steps for `Array.prototype.toSorted`. diff --git a/javascript/ql/lib/change-notes/2024-11-15-toSpliced-support.md b/javascript/ql/lib/change-notes/2024-11-15-toSpliced-support.md deleted file mode 100644 index a73955e5d2a..00000000000 --- a/javascript/ql/lib/change-notes/2024-11-15-toSpliced-support.md +++ /dev/null @@ -1,4 +0,0 @@ ---- -category: minorAnalysis ---- -Added taint-steps for `Array.prototype.toSpliced` diff --git a/javascript/ql/lib/change-notes/2024-11-18-ES2023-array-protype-with.md b/javascript/ql/lib/change-notes/2024-11-18-ES2023-array-protype-with.md deleted file mode 100644 index 92f160ec1de..00000000000 --- a/javascript/ql/lib/change-notes/2024-11-18-ES2023-array-protype-with.md +++ /dev/null @@ -1,4 +0,0 @@ ---- -category: minorAnalysis ---- -Added taint-steps for `Array.prototype.with`. diff --git a/javascript/ql/lib/change-notes/released/2.1.1.md b/javascript/ql/lib/change-notes/released/2.1.1.md new file mode 100644 index 00000000000..fd6616a6c03 --- /dev/null +++ b/javascript/ql/lib/change-notes/released/2.1.1.md @@ -0,0 +1,10 @@ +## 2.1.1 + +### Minor Analysis Improvements + +* Added taint-steps for `Array.prototype.with`. +* Added taint-steps for `Array.prototype.toSpliced` +* Added taint-steps for `Array.prototype.toReversed`. +* Added taint-steps for `Array.prototype.toSorted`. +* Added support for `String.prototype.matchAll`. +* Added taint-steps for `Array.prototype.reverse` diff --git a/javascript/ql/lib/codeql-pack.release.yml b/javascript/ql/lib/codeql-pack.release.yml index 487a1a58b2b..576c2ea18d6 100644 --- a/javascript/ql/lib/codeql-pack.release.yml +++ b/javascript/ql/lib/codeql-pack.release.yml @@ -1,2 +1,2 @@ --- -lastReleaseVersion: 2.1.0 +lastReleaseVersion: 2.1.1 diff --git a/javascript/ql/lib/qlpack.yml b/javascript/ql/lib/qlpack.yml index f732755a75b..9726d407e1a 100644 --- a/javascript/ql/lib/qlpack.yml +++ b/javascript/ql/lib/qlpack.yml @@ -1,5 +1,5 @@ name: codeql/javascript-all -version: 2.1.1-dev +version: 2.1.2-dev groups: javascript dbscheme: semmlecode.javascript.dbscheme extractor: javascript diff --git a/javascript/ql/src/CHANGELOG.md b/javascript/ql/src/CHANGELOG.md index 9a9a4641c6e..403de6b3323 100644 --- a/javascript/ql/src/CHANGELOG.md +++ b/javascript/ql/src/CHANGELOG.md @@ -1,3 +1,7 @@ +## 1.2.4 + +No user-facing changes. + ## 1.2.3 No user-facing changes. diff --git a/javascript/ql/src/change-notes/released/1.2.4.md b/javascript/ql/src/change-notes/released/1.2.4.md new file mode 100644 index 00000000000..21fd88e8124 --- /dev/null +++ b/javascript/ql/src/change-notes/released/1.2.4.md @@ -0,0 +1,3 @@ +## 1.2.4 + +No user-facing changes. diff --git a/javascript/ql/src/codeql-pack.release.yml b/javascript/ql/src/codeql-pack.release.yml index 09a7400b594..172090f46b6 100644 --- a/javascript/ql/src/codeql-pack.release.yml +++ b/javascript/ql/src/codeql-pack.release.yml @@ -1,2 +1,2 @@ --- -lastReleaseVersion: 1.2.3 +lastReleaseVersion: 1.2.4 diff --git a/javascript/ql/src/qlpack.yml b/javascript/ql/src/qlpack.yml index 98c38e64248..a1efe30e69d 100644 --- a/javascript/ql/src/qlpack.yml +++ b/javascript/ql/src/qlpack.yml @@ -1,5 +1,5 @@ name: codeql/javascript-queries -version: 1.2.4-dev +version: 1.2.5-dev groups: - javascript - queries diff --git a/misc/suite-helpers/CHANGELOG.md b/misc/suite-helpers/CHANGELOG.md index 0992e6bd9c5..969419cb7b7 100644 --- a/misc/suite-helpers/CHANGELOG.md +++ b/misc/suite-helpers/CHANGELOG.md @@ -1,3 +1,7 @@ +## 1.0.12 + +No user-facing changes. + ## 1.0.11 No user-facing changes. diff --git a/misc/suite-helpers/change-notes/released/1.0.12.md b/misc/suite-helpers/change-notes/released/1.0.12.md new file mode 100644 index 00000000000..12b3cf3e18f --- /dev/null +++ b/misc/suite-helpers/change-notes/released/1.0.12.md @@ -0,0 +1,3 @@ +## 1.0.12 + +No user-facing changes. diff --git a/misc/suite-helpers/codeql-pack.release.yml b/misc/suite-helpers/codeql-pack.release.yml index 56a2fb38872..2036690b201 100644 --- a/misc/suite-helpers/codeql-pack.release.yml +++ b/misc/suite-helpers/codeql-pack.release.yml @@ -1,2 +1,2 @@ --- -lastReleaseVersion: 1.0.11 +lastReleaseVersion: 1.0.12 diff --git a/misc/suite-helpers/qlpack.yml b/misc/suite-helpers/qlpack.yml index f40fb8fcde4..e2cbd7f3f9d 100644 --- a/misc/suite-helpers/qlpack.yml +++ b/misc/suite-helpers/qlpack.yml @@ -1,4 +1,4 @@ name: codeql/suite-helpers -version: 1.0.12-dev +version: 1.0.13-dev groups: shared warnOnImplicitThis: true diff --git a/python/ql/lib/CHANGELOG.md b/python/ql/lib/CHANGELOG.md index 1e05822734d..34dc5f1b060 100644 --- a/python/ql/lib/CHANGELOG.md +++ b/python/ql/lib/CHANGELOG.md @@ -1,3 +1,9 @@ +## 2.2.0 + +### Major Analysis Improvements + +* Added modeling of the `bottle` framework, leading to new remote flow sources and header writes + ## 2.1.2 ### Minor Analysis Improvements diff --git a/python/ql/lib/change-notes/2024-08-30-bottle.md b/python/ql/lib/change-notes/2024-08-30-bottle.md deleted file mode 100644 index b3a07f41f59..00000000000 --- a/python/ql/lib/change-notes/2024-08-30-bottle.md +++ /dev/null @@ -1,4 +0,0 @@ ---- -category: majorAnalysis ---- -* Added modeling of the `bottle` framework, leading to new remote flow sources and header writes \ No newline at end of file diff --git a/python/ql/lib/change-notes/released/2.2.0.md b/python/ql/lib/change-notes/released/2.2.0.md new file mode 100644 index 00000000000..0807fe9c2ff --- /dev/null +++ b/python/ql/lib/change-notes/released/2.2.0.md @@ -0,0 +1,5 @@ +## 2.2.0 + +### Major Analysis Improvements + +* Added modeling of the `bottle` framework, leading to new remote flow sources and header writes diff --git a/python/ql/lib/codeql-pack.release.yml b/python/ql/lib/codeql-pack.release.yml index 1a4e53e8772..2f308354195 100644 --- a/python/ql/lib/codeql-pack.release.yml +++ b/python/ql/lib/codeql-pack.release.yml @@ -1,2 +1,2 @@ --- -lastReleaseVersion: 2.1.2 +lastReleaseVersion: 2.2.0 diff --git a/python/ql/lib/qlpack.yml b/python/ql/lib/qlpack.yml index 5b9b9b8f67e..290189efa13 100644 --- a/python/ql/lib/qlpack.yml +++ b/python/ql/lib/qlpack.yml @@ -1,5 +1,5 @@ name: codeql/python-all -version: 2.1.3-dev +version: 2.2.1-dev groups: python dbscheme: semmlecode.python.dbscheme extractor: python diff --git a/python/ql/src/CHANGELOG.md b/python/ql/src/CHANGELOG.md index 64a33ed30ca..5fea597a7a3 100644 --- a/python/ql/src/CHANGELOG.md +++ b/python/ql/src/CHANGELOG.md @@ -1,3 +1,7 @@ +## 1.3.3 + +No user-facing changes. + ## 1.3.2 ### Minor Analysis Improvements diff --git a/python/ql/src/change-notes/released/1.3.3.md b/python/ql/src/change-notes/released/1.3.3.md new file mode 100644 index 00000000000..27a88ea0061 --- /dev/null +++ b/python/ql/src/change-notes/released/1.3.3.md @@ -0,0 +1,3 @@ +## 1.3.3 + +No user-facing changes. diff --git a/python/ql/src/codeql-pack.release.yml b/python/ql/src/codeql-pack.release.yml index 86a9cb32d86..eb1f7dabc84 100644 --- a/python/ql/src/codeql-pack.release.yml +++ b/python/ql/src/codeql-pack.release.yml @@ -1,2 +1,2 @@ --- -lastReleaseVersion: 1.3.2 +lastReleaseVersion: 1.3.3 diff --git a/python/ql/src/qlpack.yml b/python/ql/src/qlpack.yml index d279b5225c8..d84402123dc 100644 --- a/python/ql/src/qlpack.yml +++ b/python/ql/src/qlpack.yml @@ -1,5 +1,5 @@ name: codeql/python-queries -version: 1.3.3-dev +version: 1.3.4-dev groups: - python - queries diff --git a/ruby/ql/lib/CHANGELOG.md b/ruby/ql/lib/CHANGELOG.md index 230f81c621b..37248cf4960 100644 --- a/ruby/ql/lib/CHANGELOG.md +++ b/ruby/ql/lib/CHANGELOG.md @@ -1,3 +1,7 @@ +## 2.0.4 + +No user-facing changes. + ## 2.0.3 No user-facing changes. diff --git a/ruby/ql/lib/change-notes/released/2.0.4.md b/ruby/ql/lib/change-notes/released/2.0.4.md new file mode 100644 index 00000000000..8e002b6db64 --- /dev/null +++ b/ruby/ql/lib/change-notes/released/2.0.4.md @@ -0,0 +1,3 @@ +## 2.0.4 + +No user-facing changes. diff --git a/ruby/ql/lib/codeql-pack.release.yml b/ruby/ql/lib/codeql-pack.release.yml index fabf1e86596..0f306f8bd3b 100644 --- a/ruby/ql/lib/codeql-pack.release.yml +++ b/ruby/ql/lib/codeql-pack.release.yml @@ -1,2 +1,2 @@ --- -lastReleaseVersion: 2.0.3 +lastReleaseVersion: 2.0.4 diff --git a/ruby/ql/lib/qlpack.yml b/ruby/ql/lib/qlpack.yml index 155d495d7d8..97259f5dd36 100644 --- a/ruby/ql/lib/qlpack.yml +++ b/ruby/ql/lib/qlpack.yml @@ -1,5 +1,5 @@ name: codeql/ruby-all -version: 2.0.4-dev +version: 2.0.5-dev groups: ruby extractor: ruby dbscheme: ruby.dbscheme diff --git a/ruby/ql/src/CHANGELOG.md b/ruby/ql/src/CHANGELOG.md index 3dfaa623d60..e159e9fda36 100644 --- a/ruby/ql/src/CHANGELOG.md +++ b/ruby/ql/src/CHANGELOG.md @@ -1,3 +1,7 @@ +## 1.1.7 + +No user-facing changes. + ## 1.1.6 No user-facing changes. diff --git a/ruby/ql/src/change-notes/released/1.1.7.md b/ruby/ql/src/change-notes/released/1.1.7.md new file mode 100644 index 00000000000..81505c0507a --- /dev/null +++ b/ruby/ql/src/change-notes/released/1.1.7.md @@ -0,0 +1,3 @@ +## 1.1.7 + +No user-facing changes. diff --git a/ruby/ql/src/codeql-pack.release.yml b/ruby/ql/src/codeql-pack.release.yml index 9e712a00a21..75910556516 100644 --- a/ruby/ql/src/codeql-pack.release.yml +++ b/ruby/ql/src/codeql-pack.release.yml @@ -1,2 +1,2 @@ --- -lastReleaseVersion: 1.1.6 +lastReleaseVersion: 1.1.7 diff --git a/ruby/ql/src/qlpack.yml b/ruby/ql/src/qlpack.yml index 2f270249906..26ac8866ae0 100644 --- a/ruby/ql/src/qlpack.yml +++ b/ruby/ql/src/qlpack.yml @@ -1,5 +1,5 @@ name: codeql/ruby-queries -version: 1.1.7-dev +version: 1.1.8-dev groups: - ruby - queries diff --git a/shared/controlflow/CHANGELOG.md b/shared/controlflow/CHANGELOG.md index 2eddc42a47d..b6de6379e77 100644 --- a/shared/controlflow/CHANGELOG.md +++ b/shared/controlflow/CHANGELOG.md @@ -1,3 +1,7 @@ +## 1.0.12 + +No user-facing changes. + ## 1.0.11 No user-facing changes. diff --git a/shared/controlflow/change-notes/released/1.0.12.md b/shared/controlflow/change-notes/released/1.0.12.md new file mode 100644 index 00000000000..12b3cf3e18f --- /dev/null +++ b/shared/controlflow/change-notes/released/1.0.12.md @@ -0,0 +1,3 @@ +## 1.0.12 + +No user-facing changes. diff --git a/shared/controlflow/codeql-pack.release.yml b/shared/controlflow/codeql-pack.release.yml index 56a2fb38872..2036690b201 100644 --- a/shared/controlflow/codeql-pack.release.yml +++ b/shared/controlflow/codeql-pack.release.yml @@ -1,2 +1,2 @@ --- -lastReleaseVersion: 1.0.11 +lastReleaseVersion: 1.0.12 diff --git a/shared/controlflow/qlpack.yml b/shared/controlflow/qlpack.yml index 10314626ec7..da4368217d3 100644 --- a/shared/controlflow/qlpack.yml +++ b/shared/controlflow/qlpack.yml @@ -1,5 +1,5 @@ name: codeql/controlflow -version: 1.0.12-dev +version: 1.0.13-dev groups: shared library: true dependencies: diff --git a/shared/dataflow/CHANGELOG.md b/shared/dataflow/CHANGELOG.md index 72c27aa8762..7eec34670dc 100644 --- a/shared/dataflow/CHANGELOG.md +++ b/shared/dataflow/CHANGELOG.md @@ -1,3 +1,7 @@ +## 1.1.6 + +No user-facing changes. + ## 1.1.5 No user-facing changes. diff --git a/shared/dataflow/change-notes/released/1.1.6.md b/shared/dataflow/change-notes/released/1.1.6.md new file mode 100644 index 00000000000..553350f40af --- /dev/null +++ b/shared/dataflow/change-notes/released/1.1.6.md @@ -0,0 +1,3 @@ +## 1.1.6 + +No user-facing changes. diff --git a/shared/dataflow/codeql-pack.release.yml b/shared/dataflow/codeql-pack.release.yml index df39a9de059..9e712a00a21 100644 --- a/shared/dataflow/codeql-pack.release.yml +++ b/shared/dataflow/codeql-pack.release.yml @@ -1,2 +1,2 @@ --- -lastReleaseVersion: 1.1.5 +lastReleaseVersion: 1.1.6 diff --git a/shared/dataflow/qlpack.yml b/shared/dataflow/qlpack.yml index 3802aa99a1e..15f77aa0a3a 100644 --- a/shared/dataflow/qlpack.yml +++ b/shared/dataflow/qlpack.yml @@ -1,5 +1,5 @@ name: codeql/dataflow -version: 1.1.6-dev +version: 1.1.7-dev groups: shared library: true dependencies: diff --git a/shared/mad/CHANGELOG.md b/shared/mad/CHANGELOG.md index 0d9dcaf2768..8eb5e03400a 100644 --- a/shared/mad/CHANGELOG.md +++ b/shared/mad/CHANGELOG.md @@ -1,3 +1,7 @@ +## 1.0.12 + +No user-facing changes. + ## 1.0.11 No user-facing changes. diff --git a/shared/mad/change-notes/released/1.0.12.md b/shared/mad/change-notes/released/1.0.12.md new file mode 100644 index 00000000000..12b3cf3e18f --- /dev/null +++ b/shared/mad/change-notes/released/1.0.12.md @@ -0,0 +1,3 @@ +## 1.0.12 + +No user-facing changes. diff --git a/shared/mad/codeql-pack.release.yml b/shared/mad/codeql-pack.release.yml index 56a2fb38872..2036690b201 100644 --- a/shared/mad/codeql-pack.release.yml +++ b/shared/mad/codeql-pack.release.yml @@ -1,2 +1,2 @@ --- -lastReleaseVersion: 1.0.11 +lastReleaseVersion: 1.0.12 diff --git a/shared/mad/qlpack.yml b/shared/mad/qlpack.yml index 2205120fc09..8ce60ad0cc9 100644 --- a/shared/mad/qlpack.yml +++ b/shared/mad/qlpack.yml @@ -1,5 +1,5 @@ name: codeql/mad -version: 1.0.12-dev +version: 1.0.13-dev groups: shared library: true dependencies: diff --git a/shared/rangeanalysis/CHANGELOG.md b/shared/rangeanalysis/CHANGELOG.md index f3d5e9c3685..cedd38e3e30 100644 --- a/shared/rangeanalysis/CHANGELOG.md +++ b/shared/rangeanalysis/CHANGELOG.md @@ -1,3 +1,7 @@ +## 1.0.12 + +No user-facing changes. + ## 1.0.11 No user-facing changes. diff --git a/shared/rangeanalysis/change-notes/released/1.0.12.md b/shared/rangeanalysis/change-notes/released/1.0.12.md new file mode 100644 index 00000000000..12b3cf3e18f --- /dev/null +++ b/shared/rangeanalysis/change-notes/released/1.0.12.md @@ -0,0 +1,3 @@ +## 1.0.12 + +No user-facing changes. diff --git a/shared/rangeanalysis/codeql-pack.release.yml b/shared/rangeanalysis/codeql-pack.release.yml index 56a2fb38872..2036690b201 100644 --- a/shared/rangeanalysis/codeql-pack.release.yml +++ b/shared/rangeanalysis/codeql-pack.release.yml @@ -1,2 +1,2 @@ --- -lastReleaseVersion: 1.0.11 +lastReleaseVersion: 1.0.12 diff --git a/shared/rangeanalysis/qlpack.yml b/shared/rangeanalysis/qlpack.yml index 8bd5c263848..ee5954cae0b 100644 --- a/shared/rangeanalysis/qlpack.yml +++ b/shared/rangeanalysis/qlpack.yml @@ -1,5 +1,5 @@ name: codeql/rangeanalysis -version: 1.0.12-dev +version: 1.0.13-dev groups: shared library: true dependencies: diff --git a/shared/regex/CHANGELOG.md b/shared/regex/CHANGELOG.md index e4aa1758db2..3e8a99103fe 100644 --- a/shared/regex/CHANGELOG.md +++ b/shared/regex/CHANGELOG.md @@ -1,3 +1,7 @@ +## 1.0.12 + +No user-facing changes. + ## 1.0.11 No user-facing changes. diff --git a/shared/regex/change-notes/released/1.0.12.md b/shared/regex/change-notes/released/1.0.12.md new file mode 100644 index 00000000000..12b3cf3e18f --- /dev/null +++ b/shared/regex/change-notes/released/1.0.12.md @@ -0,0 +1,3 @@ +## 1.0.12 + +No user-facing changes. diff --git a/shared/regex/codeql-pack.release.yml b/shared/regex/codeql-pack.release.yml index 56a2fb38872..2036690b201 100644 --- a/shared/regex/codeql-pack.release.yml +++ b/shared/regex/codeql-pack.release.yml @@ -1,2 +1,2 @@ --- -lastReleaseVersion: 1.0.11 +lastReleaseVersion: 1.0.12 diff --git a/shared/regex/qlpack.yml b/shared/regex/qlpack.yml index 624c826410e..34aa1065398 100644 --- a/shared/regex/qlpack.yml +++ b/shared/regex/qlpack.yml @@ -1,5 +1,5 @@ name: codeql/regex -version: 1.0.12-dev +version: 1.0.13-dev groups: shared library: true dependencies: diff --git a/shared/ssa/CHANGELOG.md b/shared/ssa/CHANGELOG.md index 6fc1f4442c7..b98345f361c 100644 --- a/shared/ssa/CHANGELOG.md +++ b/shared/ssa/CHANGELOG.md @@ -1,3 +1,7 @@ +## 1.0.12 + +No user-facing changes. + ## 1.0.11 No user-facing changes. diff --git a/shared/ssa/change-notes/released/1.0.12.md b/shared/ssa/change-notes/released/1.0.12.md new file mode 100644 index 00000000000..12b3cf3e18f --- /dev/null +++ b/shared/ssa/change-notes/released/1.0.12.md @@ -0,0 +1,3 @@ +## 1.0.12 + +No user-facing changes. diff --git a/shared/ssa/codeql-pack.release.yml b/shared/ssa/codeql-pack.release.yml index 56a2fb38872..2036690b201 100644 --- a/shared/ssa/codeql-pack.release.yml +++ b/shared/ssa/codeql-pack.release.yml @@ -1,2 +1,2 @@ --- -lastReleaseVersion: 1.0.11 +lastReleaseVersion: 1.0.12 diff --git a/shared/ssa/qlpack.yml b/shared/ssa/qlpack.yml index d55025c28d1..145cd9e2192 100644 --- a/shared/ssa/qlpack.yml +++ b/shared/ssa/qlpack.yml @@ -1,5 +1,5 @@ name: codeql/ssa -version: 1.0.12-dev +version: 1.0.13-dev groups: shared library: true dependencies: diff --git a/shared/threat-models/CHANGELOG.md b/shared/threat-models/CHANGELOG.md index 1c514d078a2..eeb6b0a262a 100644 --- a/shared/threat-models/CHANGELOG.md +++ b/shared/threat-models/CHANGELOG.md @@ -1,3 +1,7 @@ +## 1.0.12 + +No user-facing changes. + ## 1.0.11 No user-facing changes. diff --git a/shared/threat-models/change-notes/released/1.0.12.md b/shared/threat-models/change-notes/released/1.0.12.md new file mode 100644 index 00000000000..12b3cf3e18f --- /dev/null +++ b/shared/threat-models/change-notes/released/1.0.12.md @@ -0,0 +1,3 @@ +## 1.0.12 + +No user-facing changes. diff --git a/shared/threat-models/codeql-pack.release.yml b/shared/threat-models/codeql-pack.release.yml index 56a2fb38872..2036690b201 100644 --- a/shared/threat-models/codeql-pack.release.yml +++ b/shared/threat-models/codeql-pack.release.yml @@ -1,2 +1,2 @@ --- -lastReleaseVersion: 1.0.11 +lastReleaseVersion: 1.0.12 diff --git a/shared/threat-models/qlpack.yml b/shared/threat-models/qlpack.yml index 42ac623c23b..16ca1fe3a88 100644 --- a/shared/threat-models/qlpack.yml +++ b/shared/threat-models/qlpack.yml @@ -1,5 +1,5 @@ name: codeql/threat-models -version: 1.0.12-dev +version: 1.0.13-dev library: true groups: shared dataExtensions: diff --git a/shared/tutorial/CHANGELOG.md b/shared/tutorial/CHANGELOG.md index 416a3ab33fc..da467b3de30 100644 --- a/shared/tutorial/CHANGELOG.md +++ b/shared/tutorial/CHANGELOG.md @@ -1,3 +1,7 @@ +## 1.0.12 + +No user-facing changes. + ## 1.0.11 No user-facing changes. diff --git a/shared/tutorial/change-notes/released/1.0.12.md b/shared/tutorial/change-notes/released/1.0.12.md new file mode 100644 index 00000000000..12b3cf3e18f --- /dev/null +++ b/shared/tutorial/change-notes/released/1.0.12.md @@ -0,0 +1,3 @@ +## 1.0.12 + +No user-facing changes. diff --git a/shared/tutorial/codeql-pack.release.yml b/shared/tutorial/codeql-pack.release.yml index 56a2fb38872..2036690b201 100644 --- a/shared/tutorial/codeql-pack.release.yml +++ b/shared/tutorial/codeql-pack.release.yml @@ -1,2 +1,2 @@ --- -lastReleaseVersion: 1.0.11 +lastReleaseVersion: 1.0.12 diff --git a/shared/tutorial/qlpack.yml b/shared/tutorial/qlpack.yml index bd281c1a818..14cbbbdc067 100644 --- a/shared/tutorial/qlpack.yml +++ b/shared/tutorial/qlpack.yml @@ -1,7 +1,7 @@ name: codeql/tutorial description: Library for the CodeQL detective tutorials, helping new users learn to write CodeQL queries. -version: 1.0.12-dev +version: 1.0.13-dev groups: shared library: true warnOnImplicitThis: true diff --git a/shared/typeflow/CHANGELOG.md b/shared/typeflow/CHANGELOG.md index 1506cdea175..cae361ea7e7 100644 --- a/shared/typeflow/CHANGELOG.md +++ b/shared/typeflow/CHANGELOG.md @@ -1,3 +1,7 @@ +## 1.0.12 + +No user-facing changes. + ## 1.0.11 No user-facing changes. diff --git a/shared/typeflow/change-notes/released/1.0.12.md b/shared/typeflow/change-notes/released/1.0.12.md new file mode 100644 index 00000000000..12b3cf3e18f --- /dev/null +++ b/shared/typeflow/change-notes/released/1.0.12.md @@ -0,0 +1,3 @@ +## 1.0.12 + +No user-facing changes. diff --git a/shared/typeflow/codeql-pack.release.yml b/shared/typeflow/codeql-pack.release.yml index 56a2fb38872..2036690b201 100644 --- a/shared/typeflow/codeql-pack.release.yml +++ b/shared/typeflow/codeql-pack.release.yml @@ -1,2 +1,2 @@ --- -lastReleaseVersion: 1.0.11 +lastReleaseVersion: 1.0.12 diff --git a/shared/typeflow/qlpack.yml b/shared/typeflow/qlpack.yml index 6c7ecc03264..5a659a4559d 100644 --- a/shared/typeflow/qlpack.yml +++ b/shared/typeflow/qlpack.yml @@ -1,5 +1,5 @@ name: codeql/typeflow -version: 1.0.12-dev +version: 1.0.13-dev groups: shared library: true dependencies: diff --git a/shared/typetracking/CHANGELOG.md b/shared/typetracking/CHANGELOG.md index d35be2a3771..96110cb10a2 100644 --- a/shared/typetracking/CHANGELOG.md +++ b/shared/typetracking/CHANGELOG.md @@ -1,3 +1,7 @@ +## 1.0.12 + +No user-facing changes. + ## 1.0.11 No user-facing changes. diff --git a/shared/typetracking/change-notes/released/1.0.12.md b/shared/typetracking/change-notes/released/1.0.12.md new file mode 100644 index 00000000000..12b3cf3e18f --- /dev/null +++ b/shared/typetracking/change-notes/released/1.0.12.md @@ -0,0 +1,3 @@ +## 1.0.12 + +No user-facing changes. diff --git a/shared/typetracking/codeql-pack.release.yml b/shared/typetracking/codeql-pack.release.yml index 56a2fb38872..2036690b201 100644 --- a/shared/typetracking/codeql-pack.release.yml +++ b/shared/typetracking/codeql-pack.release.yml @@ -1,2 +1,2 @@ --- -lastReleaseVersion: 1.0.11 +lastReleaseVersion: 1.0.12 diff --git a/shared/typetracking/qlpack.yml b/shared/typetracking/qlpack.yml index 07eeb938af3..216cc8696d9 100644 --- a/shared/typetracking/qlpack.yml +++ b/shared/typetracking/qlpack.yml @@ -1,5 +1,5 @@ name: codeql/typetracking -version: 1.0.12-dev +version: 1.0.13-dev groups: shared library: true dependencies: diff --git a/shared/typos/CHANGELOG.md b/shared/typos/CHANGELOG.md index e5392886a3e..83fb2dfb4cc 100644 --- a/shared/typos/CHANGELOG.md +++ b/shared/typos/CHANGELOG.md @@ -1,3 +1,7 @@ +## 1.0.12 + +No user-facing changes. + ## 1.0.11 No user-facing changes. diff --git a/shared/typos/change-notes/released/1.0.12.md b/shared/typos/change-notes/released/1.0.12.md new file mode 100644 index 00000000000..12b3cf3e18f --- /dev/null +++ b/shared/typos/change-notes/released/1.0.12.md @@ -0,0 +1,3 @@ +## 1.0.12 + +No user-facing changes. diff --git a/shared/typos/codeql-pack.release.yml b/shared/typos/codeql-pack.release.yml index 56a2fb38872..2036690b201 100644 --- a/shared/typos/codeql-pack.release.yml +++ b/shared/typos/codeql-pack.release.yml @@ -1,2 +1,2 @@ --- -lastReleaseVersion: 1.0.11 +lastReleaseVersion: 1.0.12 diff --git a/shared/typos/qlpack.yml b/shared/typos/qlpack.yml index dcd9631b697..8c1a93efe5e 100644 --- a/shared/typos/qlpack.yml +++ b/shared/typos/qlpack.yml @@ -1,5 +1,5 @@ name: codeql/typos -version: 1.0.12-dev +version: 1.0.13-dev groups: shared library: true warnOnImplicitThis: true diff --git a/shared/util/CHANGELOG.md b/shared/util/CHANGELOG.md index 9f1057cba24..15c3b8c6225 100644 --- a/shared/util/CHANGELOG.md +++ b/shared/util/CHANGELOG.md @@ -1,3 +1,7 @@ +## 1.0.12 + +No user-facing changes. + ## 1.0.11 No user-facing changes. diff --git a/shared/util/change-notes/released/1.0.12.md b/shared/util/change-notes/released/1.0.12.md new file mode 100644 index 00000000000..12b3cf3e18f --- /dev/null +++ b/shared/util/change-notes/released/1.0.12.md @@ -0,0 +1,3 @@ +## 1.0.12 + +No user-facing changes. diff --git a/shared/util/codeql-pack.release.yml b/shared/util/codeql-pack.release.yml index 56a2fb38872..2036690b201 100644 --- a/shared/util/codeql-pack.release.yml +++ b/shared/util/codeql-pack.release.yml @@ -1,2 +1,2 @@ --- -lastReleaseVersion: 1.0.11 +lastReleaseVersion: 1.0.12 diff --git a/shared/util/qlpack.yml b/shared/util/qlpack.yml index 2a33b5aa84a..83284f19cc3 100644 --- a/shared/util/qlpack.yml +++ b/shared/util/qlpack.yml @@ -1,5 +1,5 @@ name: codeql/util -version: 1.0.12-dev +version: 1.0.13-dev groups: shared library: true dependencies: null diff --git a/shared/xml/CHANGELOG.md b/shared/xml/CHANGELOG.md index 6ef34d6264c..c8213742dc9 100644 --- a/shared/xml/CHANGELOG.md +++ b/shared/xml/CHANGELOG.md @@ -1,3 +1,7 @@ +## 1.0.12 + +No user-facing changes. + ## 1.0.11 No user-facing changes. diff --git a/shared/xml/change-notes/released/1.0.12.md b/shared/xml/change-notes/released/1.0.12.md new file mode 100644 index 00000000000..12b3cf3e18f --- /dev/null +++ b/shared/xml/change-notes/released/1.0.12.md @@ -0,0 +1,3 @@ +## 1.0.12 + +No user-facing changes. diff --git a/shared/xml/codeql-pack.release.yml b/shared/xml/codeql-pack.release.yml index 56a2fb38872..2036690b201 100644 --- a/shared/xml/codeql-pack.release.yml +++ b/shared/xml/codeql-pack.release.yml @@ -1,2 +1,2 @@ --- -lastReleaseVersion: 1.0.11 +lastReleaseVersion: 1.0.12 diff --git a/shared/xml/qlpack.yml b/shared/xml/qlpack.yml index 94acb679e9c..f48f41ef3ff 100644 --- a/shared/xml/qlpack.yml +++ b/shared/xml/qlpack.yml @@ -1,5 +1,5 @@ name: codeql/xml -version: 1.0.12-dev +version: 1.0.13-dev groups: shared library: true dependencies: diff --git a/shared/yaml/CHANGELOG.md b/shared/yaml/CHANGELOG.md index 79fc573c5ae..2cc2ec62057 100644 --- a/shared/yaml/CHANGELOG.md +++ b/shared/yaml/CHANGELOG.md @@ -1,3 +1,7 @@ +## 1.0.12 + +No user-facing changes. + ## 1.0.11 No user-facing changes. diff --git a/shared/yaml/change-notes/released/1.0.12.md b/shared/yaml/change-notes/released/1.0.12.md new file mode 100644 index 00000000000..12b3cf3e18f --- /dev/null +++ b/shared/yaml/change-notes/released/1.0.12.md @@ -0,0 +1,3 @@ +## 1.0.12 + +No user-facing changes. diff --git a/shared/yaml/codeql-pack.release.yml b/shared/yaml/codeql-pack.release.yml index 56a2fb38872..2036690b201 100644 --- a/shared/yaml/codeql-pack.release.yml +++ b/shared/yaml/codeql-pack.release.yml @@ -1,2 +1,2 @@ --- -lastReleaseVersion: 1.0.11 +lastReleaseVersion: 1.0.12 diff --git a/shared/yaml/qlpack.yml b/shared/yaml/qlpack.yml index 62119951431..54880a8cf2f 100644 --- a/shared/yaml/qlpack.yml +++ b/shared/yaml/qlpack.yml @@ -1,5 +1,5 @@ name: codeql/yaml -version: 1.0.12-dev +version: 1.0.13-dev groups: shared library: true warnOnImplicitThis: true diff --git a/swift/ql/lib/CHANGELOG.md b/swift/ql/lib/CHANGELOG.md index d871246f42f..898a3282bb5 100644 --- a/swift/ql/lib/CHANGELOG.md +++ b/swift/ql/lib/CHANGELOG.md @@ -1,3 +1,7 @@ +## 2.0.4 + +No user-facing changes. + ## 2.0.3 No user-facing changes. diff --git a/swift/ql/lib/change-notes/released/2.0.4.md b/swift/ql/lib/change-notes/released/2.0.4.md new file mode 100644 index 00000000000..8e002b6db64 --- /dev/null +++ b/swift/ql/lib/change-notes/released/2.0.4.md @@ -0,0 +1,3 @@ +## 2.0.4 + +No user-facing changes. diff --git a/swift/ql/lib/codeql-pack.release.yml b/swift/ql/lib/codeql-pack.release.yml index fabf1e86596..0f306f8bd3b 100644 --- a/swift/ql/lib/codeql-pack.release.yml +++ b/swift/ql/lib/codeql-pack.release.yml @@ -1,2 +1,2 @@ --- -lastReleaseVersion: 2.0.3 +lastReleaseVersion: 2.0.4 diff --git a/swift/ql/lib/qlpack.yml b/swift/ql/lib/qlpack.yml index bc08ee6ac2e..2e855546d50 100644 --- a/swift/ql/lib/qlpack.yml +++ b/swift/ql/lib/qlpack.yml @@ -1,5 +1,5 @@ name: codeql/swift-all -version: 2.0.4-dev +version: 2.0.5-dev groups: swift extractor: swift dbscheme: swift.dbscheme diff --git a/swift/ql/src/CHANGELOG.md b/swift/ql/src/CHANGELOG.md index 8890e7e83a4..76de7db1348 100644 --- a/swift/ql/src/CHANGELOG.md +++ b/swift/ql/src/CHANGELOG.md @@ -1,3 +1,7 @@ +## 1.0.12 + +No user-facing changes. + ## 1.0.11 No user-facing changes. diff --git a/swift/ql/src/change-notes/released/1.0.12.md b/swift/ql/src/change-notes/released/1.0.12.md new file mode 100644 index 00000000000..12b3cf3e18f --- /dev/null +++ b/swift/ql/src/change-notes/released/1.0.12.md @@ -0,0 +1,3 @@ +## 1.0.12 + +No user-facing changes. diff --git a/swift/ql/src/codeql-pack.release.yml b/swift/ql/src/codeql-pack.release.yml index 56a2fb38872..2036690b201 100644 --- a/swift/ql/src/codeql-pack.release.yml +++ b/swift/ql/src/codeql-pack.release.yml @@ -1,2 +1,2 @@ --- -lastReleaseVersion: 1.0.11 +lastReleaseVersion: 1.0.12 diff --git a/swift/ql/src/qlpack.yml b/swift/ql/src/qlpack.yml index dcc0f94dcf4..1d9f7154cda 100644 --- a/swift/ql/src/qlpack.yml +++ b/swift/ql/src/qlpack.yml @@ -1,5 +1,5 @@ name: codeql/swift-queries -version: 1.0.12-dev +version: 1.0.13-dev groups: - swift - queries From 50ec400fe456144f7e6b32e311f2a808c21bb945 Mon Sep 17 00:00:00 2001 From: Alex Eyers-Taylor Date: Thu, 21 Nov 2024 15:41:08 +0000 Subject: [PATCH 16/46] Revert "Merge pull request #18036 from github/release-prep/2.19.4" This reverts commit aa4cc72f3067c1f09f0fc1bbde4a8a13779c1e36, reversing changes made to e5951516b83545d138700a06e293b82c446dde28. --- cpp/ql/lib/CHANGELOG.md | 6 ------ cpp/ql/lib/change-notes/released/2.1.1.md | 3 --- cpp/ql/lib/codeql-pack.release.yml | 2 +- cpp/ql/lib/qlpack.yml | 2 +- cpp/ql/src/CHANGELOG.md | 4 ---- cpp/ql/src/change-notes/released/1.2.7.md | 3 --- cpp/ql/src/codeql-pack.release.yml | 2 +- cpp/ql/src/qlpack.yml | 2 +- csharp/ql/campaigns/Solorigate/lib/CHANGELOG.md | 4 ---- .../Solorigate/lib/change-notes/released/1.7.29.md | 3 --- .../campaigns/Solorigate/lib/codeql-pack.release.yml | 2 +- csharp/ql/campaigns/Solorigate/lib/qlpack.yml | 2 +- csharp/ql/campaigns/Solorigate/src/CHANGELOG.md | 4 ---- .../Solorigate/src/change-notes/released/1.7.29.md | 3 --- .../campaigns/Solorigate/src/codeql-pack.release.yml | 2 +- csharp/ql/campaigns/Solorigate/src/qlpack.yml | 2 +- csharp/ql/lib/CHANGELOG.md | 7 ------- .../3.1.1.md => 2024-11-07-net8-runtime-models.md} | 8 +++----- .../lib/change-notes/2024-11-19-extractor-dotnet.md | 4 ++++ csharp/ql/lib/codeql-pack.release.yml | 2 +- csharp/ql/lib/qlpack.yml | 2 +- csharp/ql/src/CHANGELOG.md | 4 ---- csharp/ql/src/change-notes/released/1.0.12.md | 3 --- csharp/ql/src/codeql-pack.release.yml | 2 +- csharp/ql/src/qlpack.yml | 2 +- go/ql/consistency-queries/CHANGELOG.md | 4 ---- .../change-notes/released/1.0.12.md | 3 --- go/ql/consistency-queries/codeql-pack.release.yml | 2 +- go/ql/consistency-queries/qlpack.yml | 2 +- go/ql/lib/CHANGELOG.md | 11 ----------- ...4-11-07-fix-missing-qualified-names-for-methods.md | 4 ++++ .../2024-11-11-models-as-data-subtypes-column.md | 4 ++++ .../2024-11-12-models-as-data-subtypes-true.md | 4 ++++ go/ql/lib/change-notes/released/2.1.3.md | 10 ---------- go/ql/lib/codeql-pack.release.yml | 2 +- go/ql/lib/qlpack.yml | 2 +- go/ql/src/CHANGELOG.md | 4 ---- go/ql/src/change-notes/released/1.1.3.md | 3 --- go/ql/src/codeql-pack.release.yml | 2 +- go/ql/src/qlpack.yml | 2 +- java/ql/automodel/src/CHANGELOG.md | 4 ---- java/ql/automodel/src/change-notes/released/1.0.12.md | 3 --- java/ql/automodel/src/codeql-pack.release.yml | 2 +- java/ql/automodel/src/qlpack.yml | 2 +- java/ql/lib/CHANGELOG.md | 6 ------ ...hable-basic-block-in-constant-switch-statement.md} | 7 +++---- java/ql/lib/codeql-pack.release.yml | 2 +- java/ql/lib/qlpack.yml | 2 +- java/ql/src/CHANGELOG.md | 4 ---- java/ql/src/change-notes/released/1.1.9.md | 3 --- java/ql/src/codeql-pack.release.yml | 2 +- java/ql/src/qlpack.yml | 2 +- javascript/ql/lib/CHANGELOG.md | 11 ----------- .../lib/change-notes/2024-11-11-matchAll-support.md | 4 ++++ .../ql/lib/change-notes/2024-11-11-reserve-support.md | 4 ++++ .../2024-11-12-immutable-array-operations.md | 5 +++++ .../lib/change-notes/2024-11-15-toSpliced-support.md | 4 ++++ .../2024-11-18-ES2023-array-protype-with.md | 4 ++++ javascript/ql/lib/change-notes/released/2.1.1.md | 10 ---------- javascript/ql/lib/codeql-pack.release.yml | 2 +- javascript/ql/lib/qlpack.yml | 2 +- javascript/ql/src/CHANGELOG.md | 4 ---- javascript/ql/src/change-notes/released/1.2.4.md | 3 --- javascript/ql/src/codeql-pack.release.yml | 2 +- javascript/ql/src/qlpack.yml | 2 +- misc/suite-helpers/CHANGELOG.md | 4 ---- misc/suite-helpers/change-notes/released/1.0.12.md | 3 --- misc/suite-helpers/codeql-pack.release.yml | 2 +- misc/suite-helpers/qlpack.yml | 2 +- python/ql/lib/CHANGELOG.md | 6 ------ python/ql/lib/change-notes/2024-08-30-bottle.md | 4 ++++ python/ql/lib/change-notes/released/2.2.0.md | 5 ----- python/ql/lib/codeql-pack.release.yml | 2 +- python/ql/lib/qlpack.yml | 2 +- python/ql/src/CHANGELOG.md | 4 ---- python/ql/src/change-notes/released/1.3.3.md | 3 --- python/ql/src/codeql-pack.release.yml | 2 +- python/ql/src/qlpack.yml | 2 +- ruby/ql/lib/CHANGELOG.md | 4 ---- ruby/ql/lib/change-notes/released/2.0.4.md | 3 --- ruby/ql/lib/codeql-pack.release.yml | 2 +- ruby/ql/lib/qlpack.yml | 2 +- ruby/ql/src/CHANGELOG.md | 4 ---- ruby/ql/src/change-notes/released/1.1.7.md | 3 --- ruby/ql/src/codeql-pack.release.yml | 2 +- ruby/ql/src/qlpack.yml | 2 +- shared/controlflow/CHANGELOG.md | 4 ---- shared/controlflow/change-notes/released/1.0.12.md | 3 --- shared/controlflow/codeql-pack.release.yml | 2 +- shared/controlflow/qlpack.yml | 2 +- shared/dataflow/CHANGELOG.md | 4 ---- shared/dataflow/change-notes/released/1.1.6.md | 3 --- shared/dataflow/codeql-pack.release.yml | 2 +- shared/dataflow/qlpack.yml | 2 +- shared/mad/CHANGELOG.md | 4 ---- shared/mad/change-notes/released/1.0.12.md | 3 --- shared/mad/codeql-pack.release.yml | 2 +- shared/mad/qlpack.yml | 2 +- shared/rangeanalysis/CHANGELOG.md | 4 ---- shared/rangeanalysis/change-notes/released/1.0.12.md | 3 --- shared/rangeanalysis/codeql-pack.release.yml | 2 +- shared/rangeanalysis/qlpack.yml | 2 +- shared/regex/CHANGELOG.md | 4 ---- shared/regex/change-notes/released/1.0.12.md | 3 --- shared/regex/codeql-pack.release.yml | 2 +- shared/regex/qlpack.yml | 2 +- shared/ssa/CHANGELOG.md | 4 ---- shared/ssa/change-notes/released/1.0.12.md | 3 --- shared/ssa/codeql-pack.release.yml | 2 +- shared/ssa/qlpack.yml | 2 +- shared/threat-models/CHANGELOG.md | 4 ---- shared/threat-models/change-notes/released/1.0.12.md | 3 --- shared/threat-models/codeql-pack.release.yml | 2 +- shared/threat-models/qlpack.yml | 2 +- shared/tutorial/CHANGELOG.md | 4 ---- shared/tutorial/change-notes/released/1.0.12.md | 3 --- shared/tutorial/codeql-pack.release.yml | 2 +- shared/tutorial/qlpack.yml | 2 +- shared/typeflow/CHANGELOG.md | 4 ---- shared/typeflow/change-notes/released/1.0.12.md | 3 --- shared/typeflow/codeql-pack.release.yml | 2 +- shared/typeflow/qlpack.yml | 2 +- shared/typetracking/CHANGELOG.md | 4 ---- shared/typetracking/change-notes/released/1.0.12.md | 3 --- shared/typetracking/codeql-pack.release.yml | 2 +- shared/typetracking/qlpack.yml | 2 +- shared/typos/CHANGELOG.md | 4 ---- shared/typos/change-notes/released/1.0.12.md | 3 --- shared/typos/codeql-pack.release.yml | 2 +- shared/typos/qlpack.yml | 2 +- shared/util/CHANGELOG.md | 4 ---- shared/util/change-notes/released/1.0.12.md | 3 --- shared/util/codeql-pack.release.yml | 2 +- shared/util/qlpack.yml | 2 +- shared/xml/CHANGELOG.md | 4 ---- shared/xml/change-notes/released/1.0.12.md | 3 --- shared/xml/codeql-pack.release.yml | 2 +- shared/xml/qlpack.yml | 2 +- shared/yaml/CHANGELOG.md | 4 ---- shared/yaml/change-notes/released/1.0.12.md | 3 --- shared/yaml/codeql-pack.release.yml | 2 +- shared/yaml/qlpack.yml | 2 +- swift/ql/lib/CHANGELOG.md | 4 ---- swift/ql/lib/change-notes/released/2.0.4.md | 3 --- swift/ql/lib/codeql-pack.release.yml | 2 +- swift/ql/lib/qlpack.yml | 2 +- swift/ql/src/CHANGELOG.md | 4 ---- swift/ql/src/change-notes/released/1.0.12.md | 3 --- swift/ql/src/codeql-pack.release.yml | 2 +- swift/ql/src/qlpack.yml | 2 +- 150 files changed, 117 insertions(+), 357 deletions(-) delete mode 100644 cpp/ql/lib/change-notes/released/2.1.1.md delete mode 100644 cpp/ql/src/change-notes/released/1.2.7.md delete mode 100644 csharp/ql/campaigns/Solorigate/lib/change-notes/released/1.7.29.md delete mode 100644 csharp/ql/campaigns/Solorigate/src/change-notes/released/1.7.29.md rename csharp/ql/lib/change-notes/{released/3.1.1.md => 2024-11-07-net8-runtime-models.md} (51%) create mode 100644 csharp/ql/lib/change-notes/2024-11-19-extractor-dotnet.md delete mode 100644 csharp/ql/src/change-notes/released/1.0.12.md delete mode 100644 go/ql/consistency-queries/change-notes/released/1.0.12.md create mode 100644 go/ql/lib/change-notes/2024-11-07-fix-missing-qualified-names-for-methods.md create mode 100644 go/ql/lib/change-notes/2024-11-11-models-as-data-subtypes-column.md create mode 100644 go/ql/lib/change-notes/2024-11-12-models-as-data-subtypes-true.md delete mode 100644 go/ql/lib/change-notes/released/2.1.3.md delete mode 100644 go/ql/src/change-notes/released/1.1.3.md delete mode 100644 java/ql/automodel/src/change-notes/released/1.0.12.md rename java/ql/lib/change-notes/{released/4.2.1.md => 2024-11-14-unreachable-basic-block-in-constant-switch-statement.md} (83%) delete mode 100644 java/ql/src/change-notes/released/1.1.9.md create mode 100644 javascript/ql/lib/change-notes/2024-11-11-matchAll-support.md create mode 100644 javascript/ql/lib/change-notes/2024-11-11-reserve-support.md create mode 100644 javascript/ql/lib/change-notes/2024-11-12-immutable-array-operations.md create mode 100644 javascript/ql/lib/change-notes/2024-11-15-toSpliced-support.md create mode 100644 javascript/ql/lib/change-notes/2024-11-18-ES2023-array-protype-with.md delete mode 100644 javascript/ql/lib/change-notes/released/2.1.1.md delete mode 100644 javascript/ql/src/change-notes/released/1.2.4.md delete mode 100644 misc/suite-helpers/change-notes/released/1.0.12.md create mode 100644 python/ql/lib/change-notes/2024-08-30-bottle.md delete mode 100644 python/ql/lib/change-notes/released/2.2.0.md delete mode 100644 python/ql/src/change-notes/released/1.3.3.md delete mode 100644 ruby/ql/lib/change-notes/released/2.0.4.md delete mode 100644 ruby/ql/src/change-notes/released/1.1.7.md delete mode 100644 shared/controlflow/change-notes/released/1.0.12.md delete mode 100644 shared/dataflow/change-notes/released/1.1.6.md delete mode 100644 shared/mad/change-notes/released/1.0.12.md delete mode 100644 shared/rangeanalysis/change-notes/released/1.0.12.md delete mode 100644 shared/regex/change-notes/released/1.0.12.md delete mode 100644 shared/ssa/change-notes/released/1.0.12.md delete mode 100644 shared/threat-models/change-notes/released/1.0.12.md delete mode 100644 shared/tutorial/change-notes/released/1.0.12.md delete mode 100644 shared/typeflow/change-notes/released/1.0.12.md delete mode 100644 shared/typetracking/change-notes/released/1.0.12.md delete mode 100644 shared/typos/change-notes/released/1.0.12.md delete mode 100644 shared/util/change-notes/released/1.0.12.md delete mode 100644 shared/xml/change-notes/released/1.0.12.md delete mode 100644 shared/yaml/change-notes/released/1.0.12.md delete mode 100644 swift/ql/lib/change-notes/released/2.0.4.md delete mode 100644 swift/ql/src/change-notes/released/1.0.12.md diff --git a/cpp/ql/lib/CHANGELOG.md b/cpp/ql/lib/CHANGELOG.md index 077d4847afd..0536c1c361b 100644 --- a/cpp/ql/lib/CHANGELOG.md +++ b/cpp/ql/lib/CHANGELOG.md @@ -1,9 +1,3 @@ -## 2.1.1 - -### Minor Analysis Improvements - -* The `Guards` library (`semmle.code.cpp.controlflow.Guards`) has been improved to recognize more guard conditions. Additionally, the guards library no longer considers guards in static local initializers or global initializers as `GuardCondition`s. - ## 2.1.0 ### New Features diff --git a/cpp/ql/lib/change-notes/released/2.1.1.md b/cpp/ql/lib/change-notes/released/2.1.1.md deleted file mode 100644 index f023e9166c2..00000000000 --- a/cpp/ql/lib/change-notes/released/2.1.1.md +++ /dev/null @@ -1,3 +0,0 @@ -## 2.1.1 - -No user-facing changes. diff --git a/cpp/ql/lib/codeql-pack.release.yml b/cpp/ql/lib/codeql-pack.release.yml index 576c2ea18d6..487a1a58b2b 100644 --- a/cpp/ql/lib/codeql-pack.release.yml +++ b/cpp/ql/lib/codeql-pack.release.yml @@ -1,2 +1,2 @@ --- -lastReleaseVersion: 2.1.1 +lastReleaseVersion: 2.1.0 diff --git a/cpp/ql/lib/qlpack.yml b/cpp/ql/lib/qlpack.yml index 74b97808dc2..397a56ac535 100644 --- a/cpp/ql/lib/qlpack.yml +++ b/cpp/ql/lib/qlpack.yml @@ -1,5 +1,5 @@ name: codeql/cpp-all -version: 2.1.1 +version: 2.1.1-dev groups: cpp dbscheme: semmlecode.cpp.dbscheme extractor: cpp diff --git a/cpp/ql/src/CHANGELOG.md b/cpp/ql/src/CHANGELOG.md index 5bb266bdd64..4098bcf4d20 100644 --- a/cpp/ql/src/CHANGELOG.md +++ b/cpp/ql/src/CHANGELOG.md @@ -1,7 +1,3 @@ -## 1.2.7 - -No user-facing changes. - ## 1.2.6 ### Minor Analysis Improvements diff --git a/cpp/ql/src/change-notes/released/1.2.7.md b/cpp/ql/src/change-notes/released/1.2.7.md deleted file mode 100644 index 99f957692ac..00000000000 --- a/cpp/ql/src/change-notes/released/1.2.7.md +++ /dev/null @@ -1,3 +0,0 @@ -## 1.2.7 - -No user-facing changes. diff --git a/cpp/ql/src/codeql-pack.release.yml b/cpp/ql/src/codeql-pack.release.yml index 950e0645d4a..24962f7ba24 100644 --- a/cpp/ql/src/codeql-pack.release.yml +++ b/cpp/ql/src/codeql-pack.release.yml @@ -1,2 +1,2 @@ --- -lastReleaseVersion: 1.2.7 +lastReleaseVersion: 1.2.6 diff --git a/cpp/ql/src/qlpack.yml b/cpp/ql/src/qlpack.yml index 06b63fc6d45..7059965615a 100644 --- a/cpp/ql/src/qlpack.yml +++ b/cpp/ql/src/qlpack.yml @@ -1,5 +1,5 @@ name: codeql/cpp-queries -version: 1.2.7 +version: 1.2.7-dev groups: - cpp - queries diff --git a/csharp/ql/campaigns/Solorigate/lib/CHANGELOG.md b/csharp/ql/campaigns/Solorigate/lib/CHANGELOG.md index 93e737ae669..7b5cb257096 100644 --- a/csharp/ql/campaigns/Solorigate/lib/CHANGELOG.md +++ b/csharp/ql/campaigns/Solorigate/lib/CHANGELOG.md @@ -1,7 +1,3 @@ -## 1.7.29 - -No user-facing changes. - ## 1.7.28 No user-facing changes. diff --git a/csharp/ql/campaigns/Solorigate/lib/change-notes/released/1.7.29.md b/csharp/ql/campaigns/Solorigate/lib/change-notes/released/1.7.29.md deleted file mode 100644 index 6ff68866478..00000000000 --- a/csharp/ql/campaigns/Solorigate/lib/change-notes/released/1.7.29.md +++ /dev/null @@ -1,3 +0,0 @@ -## 1.7.29 - -No user-facing changes. diff --git a/csharp/ql/campaigns/Solorigate/lib/codeql-pack.release.yml b/csharp/ql/campaigns/Solorigate/lib/codeql-pack.release.yml index 34100d3ad64..ff17fbaf982 100644 --- a/csharp/ql/campaigns/Solorigate/lib/codeql-pack.release.yml +++ b/csharp/ql/campaigns/Solorigate/lib/codeql-pack.release.yml @@ -1,2 +1,2 @@ --- -lastReleaseVersion: 1.7.29 +lastReleaseVersion: 1.7.28 diff --git a/csharp/ql/campaigns/Solorigate/lib/qlpack.yml b/csharp/ql/campaigns/Solorigate/lib/qlpack.yml index 59289e3ddb1..cccebfc4f3f 100644 --- a/csharp/ql/campaigns/Solorigate/lib/qlpack.yml +++ b/csharp/ql/campaigns/Solorigate/lib/qlpack.yml @@ -1,5 +1,5 @@ name: codeql/csharp-solorigate-all -version: 1.7.29 +version: 1.7.29-dev groups: - csharp - solorigate diff --git a/csharp/ql/campaigns/Solorigate/src/CHANGELOG.md b/csharp/ql/campaigns/Solorigate/src/CHANGELOG.md index 93e737ae669..7b5cb257096 100644 --- a/csharp/ql/campaigns/Solorigate/src/CHANGELOG.md +++ b/csharp/ql/campaigns/Solorigate/src/CHANGELOG.md @@ -1,7 +1,3 @@ -## 1.7.29 - -No user-facing changes. - ## 1.7.28 No user-facing changes. diff --git a/csharp/ql/campaigns/Solorigate/src/change-notes/released/1.7.29.md b/csharp/ql/campaigns/Solorigate/src/change-notes/released/1.7.29.md deleted file mode 100644 index 6ff68866478..00000000000 --- a/csharp/ql/campaigns/Solorigate/src/change-notes/released/1.7.29.md +++ /dev/null @@ -1,3 +0,0 @@ -## 1.7.29 - -No user-facing changes. diff --git a/csharp/ql/campaigns/Solorigate/src/codeql-pack.release.yml b/csharp/ql/campaigns/Solorigate/src/codeql-pack.release.yml index 34100d3ad64..ff17fbaf982 100644 --- a/csharp/ql/campaigns/Solorigate/src/codeql-pack.release.yml +++ b/csharp/ql/campaigns/Solorigate/src/codeql-pack.release.yml @@ -1,2 +1,2 @@ --- -lastReleaseVersion: 1.7.29 +lastReleaseVersion: 1.7.28 diff --git a/csharp/ql/campaigns/Solorigate/src/qlpack.yml b/csharp/ql/campaigns/Solorigate/src/qlpack.yml index 19e34e504e4..4e5b51ed11a 100644 --- a/csharp/ql/campaigns/Solorigate/src/qlpack.yml +++ b/csharp/ql/campaigns/Solorigate/src/qlpack.yml @@ -1,5 +1,5 @@ name: codeql/csharp-solorigate-queries -version: 1.7.29 +version: 1.7.29-dev groups: - csharp - solorigate diff --git a/csharp/ql/lib/CHANGELOG.md b/csharp/ql/lib/CHANGELOG.md index c76569e4ab3..39a75db1b5f 100644 --- a/csharp/ql/lib/CHANGELOG.md +++ b/csharp/ql/lib/CHANGELOG.md @@ -1,10 +1,3 @@ -## 3.1.1 - -### Minor Analysis Improvements - -* .NET 9 is now required to build the C# extractor. -* The Models as Data models for .NET 8 Runtime now include generated models for higher order methods. - ## 3.1.0 ### Major Analysis Improvements diff --git a/csharp/ql/lib/change-notes/released/3.1.1.md b/csharp/ql/lib/change-notes/2024-11-07-net8-runtime-models.md similarity index 51% rename from csharp/ql/lib/change-notes/released/3.1.1.md rename to csharp/ql/lib/change-notes/2024-11-07-net8-runtime-models.md index a2a912341fe..89574208e40 100644 --- a/csharp/ql/lib/change-notes/released/3.1.1.md +++ b/csharp/ql/lib/change-notes/2024-11-07-net8-runtime-models.md @@ -1,6 +1,4 @@ -## 3.1.1 - -### Minor Analysis Improvements - -* .NET 9 is now required to build the C# extractor. +--- +category: minorAnalysis +--- * The Models as Data models for .NET 8 Runtime now include generated models for higher order methods. diff --git a/csharp/ql/lib/change-notes/2024-11-19-extractor-dotnet.md b/csharp/ql/lib/change-notes/2024-11-19-extractor-dotnet.md new file mode 100644 index 00000000000..58185aa0b0e --- /dev/null +++ b/csharp/ql/lib/change-notes/2024-11-19-extractor-dotnet.md @@ -0,0 +1,4 @@ +--- +category: minorAnalysis +--- +* .NET 9 is now required to build the C# extractor. diff --git a/csharp/ql/lib/codeql-pack.release.yml b/csharp/ql/lib/codeql-pack.release.yml index c06beda86a3..82f62960aa3 100644 --- a/csharp/ql/lib/codeql-pack.release.yml +++ b/csharp/ql/lib/codeql-pack.release.yml @@ -1,2 +1,2 @@ --- -lastReleaseVersion: 3.1.1 +lastReleaseVersion: 3.1.0 diff --git a/csharp/ql/lib/qlpack.yml b/csharp/ql/lib/qlpack.yml index a3f9aedf516..f750b06e392 100644 --- a/csharp/ql/lib/qlpack.yml +++ b/csharp/ql/lib/qlpack.yml @@ -1,5 +1,5 @@ name: codeql/csharp-all -version: 3.1.1 +version: 3.1.1-dev groups: csharp dbscheme: semmlecode.csharp.dbscheme extractor: csharp diff --git a/csharp/ql/src/CHANGELOG.md b/csharp/ql/src/CHANGELOG.md index 99528b54e9e..fe0765a3b18 100644 --- a/csharp/ql/src/CHANGELOG.md +++ b/csharp/ql/src/CHANGELOG.md @@ -1,7 +1,3 @@ -## 1.0.12 - -No user-facing changes. - ## 1.0.11 ### Minor Analysis Improvements diff --git a/csharp/ql/src/change-notes/released/1.0.12.md b/csharp/ql/src/change-notes/released/1.0.12.md deleted file mode 100644 index 12b3cf3e18f..00000000000 --- a/csharp/ql/src/change-notes/released/1.0.12.md +++ /dev/null @@ -1,3 +0,0 @@ -## 1.0.12 - -No user-facing changes. diff --git a/csharp/ql/src/codeql-pack.release.yml b/csharp/ql/src/codeql-pack.release.yml index 2036690b201..56a2fb38872 100644 --- a/csharp/ql/src/codeql-pack.release.yml +++ b/csharp/ql/src/codeql-pack.release.yml @@ -1,2 +1,2 @@ --- -lastReleaseVersion: 1.0.12 +lastReleaseVersion: 1.0.11 diff --git a/csharp/ql/src/qlpack.yml b/csharp/ql/src/qlpack.yml index dc99bd4768a..b861524e144 100644 --- a/csharp/ql/src/qlpack.yml +++ b/csharp/ql/src/qlpack.yml @@ -1,5 +1,5 @@ name: codeql/csharp-queries -version: 1.0.12 +version: 1.0.12-dev groups: - csharp - queries diff --git a/go/ql/consistency-queries/CHANGELOG.md b/go/ql/consistency-queries/CHANGELOG.md index eeb6b0a262a..1c514d078a2 100644 --- a/go/ql/consistency-queries/CHANGELOG.md +++ b/go/ql/consistency-queries/CHANGELOG.md @@ -1,7 +1,3 @@ -## 1.0.12 - -No user-facing changes. - ## 1.0.11 No user-facing changes. diff --git a/go/ql/consistency-queries/change-notes/released/1.0.12.md b/go/ql/consistency-queries/change-notes/released/1.0.12.md deleted file mode 100644 index 12b3cf3e18f..00000000000 --- a/go/ql/consistency-queries/change-notes/released/1.0.12.md +++ /dev/null @@ -1,3 +0,0 @@ -## 1.0.12 - -No user-facing changes. diff --git a/go/ql/consistency-queries/codeql-pack.release.yml b/go/ql/consistency-queries/codeql-pack.release.yml index 2036690b201..56a2fb38872 100644 --- a/go/ql/consistency-queries/codeql-pack.release.yml +++ b/go/ql/consistency-queries/codeql-pack.release.yml @@ -1,2 +1,2 @@ --- -lastReleaseVersion: 1.0.12 +lastReleaseVersion: 1.0.11 diff --git a/go/ql/consistency-queries/qlpack.yml b/go/ql/consistency-queries/qlpack.yml index b9e67ea6137..b7c67080f46 100644 --- a/go/ql/consistency-queries/qlpack.yml +++ b/go/ql/consistency-queries/qlpack.yml @@ -1,5 +1,5 @@ name: codeql-go-consistency-queries -version: 1.0.12 +version: 1.0.12-dev groups: - go - queries diff --git a/go/ql/lib/CHANGELOG.md b/go/ql/lib/CHANGELOG.md index b2eb3cbb239..37f83fa8dda 100644 --- a/go/ql/lib/CHANGELOG.md +++ b/go/ql/lib/CHANGELOG.md @@ -1,14 +1,3 @@ -## 2.1.3 - -### Minor Analysis Improvements - -* The `subtypes` column has been set to true in all models-as-data models except some tests. This means that existing models will apply in some cases where they didn't before, which may lead to more alerts. - -### Bug Fixes - -* The behaviour of the `subtypes` column in models-as-data now matches other languages more closely. -* Fixed a bug which meant that some qualified names for promoted methods were not being recognised in some very specific circumstances. - ## 2.1.2 ### Minor Analysis Improvements diff --git a/go/ql/lib/change-notes/2024-11-07-fix-missing-qualified-names-for-methods.md b/go/ql/lib/change-notes/2024-11-07-fix-missing-qualified-names-for-methods.md new file mode 100644 index 00000000000..cd2dbb6c974 --- /dev/null +++ b/go/ql/lib/change-notes/2024-11-07-fix-missing-qualified-names-for-methods.md @@ -0,0 +1,4 @@ +--- +category: fix +--- +* Fixed a bug which meant that some qualified names for promoted methods were not being recognised in some very specific circumstances. diff --git a/go/ql/lib/change-notes/2024-11-11-models-as-data-subtypes-column.md b/go/ql/lib/change-notes/2024-11-11-models-as-data-subtypes-column.md new file mode 100644 index 00000000000..25115f74d71 --- /dev/null +++ b/go/ql/lib/change-notes/2024-11-11-models-as-data-subtypes-column.md @@ -0,0 +1,4 @@ +--- +category: fix +--- +* The behaviour of the `subtypes` column in models-as-data now matches other languages more closely. diff --git a/go/ql/lib/change-notes/2024-11-12-models-as-data-subtypes-true.md b/go/ql/lib/change-notes/2024-11-12-models-as-data-subtypes-true.md new file mode 100644 index 00000000000..b1c78815ea3 --- /dev/null +++ b/go/ql/lib/change-notes/2024-11-12-models-as-data-subtypes-true.md @@ -0,0 +1,4 @@ +--- +category: minorAnalysis +--- +* The `subtypes` column has been set to true in all models-as-data models except some tests. This means that existing models will apply in some cases where they didn't before, which may lead to more alerts. diff --git a/go/ql/lib/change-notes/released/2.1.3.md b/go/ql/lib/change-notes/released/2.1.3.md deleted file mode 100644 index 3ae1f19fb36..00000000000 --- a/go/ql/lib/change-notes/released/2.1.3.md +++ /dev/null @@ -1,10 +0,0 @@ -## 2.1.3 - -### Minor Analysis Improvements - -* The `subtypes` column has been set to true in all models-as-data models except some tests. This means that existing models will apply in some cases where they didn't before, which may lead to more alerts. - -### Bug Fixes - -* The behaviour of the `subtypes` column in models-as-data now matches other languages more closely. -* Fixed a bug which meant that some qualified names for promoted methods were not being recognised in some very specific circumstances. diff --git a/go/ql/lib/codeql-pack.release.yml b/go/ql/lib/codeql-pack.release.yml index 345fb0c73a4..1a4e53e8772 100644 --- a/go/ql/lib/codeql-pack.release.yml +++ b/go/ql/lib/codeql-pack.release.yml @@ -1,2 +1,2 @@ --- -lastReleaseVersion: 2.1.3 +lastReleaseVersion: 2.1.2 diff --git a/go/ql/lib/qlpack.yml b/go/ql/lib/qlpack.yml index 0e6da37dea1..f9660516373 100644 --- a/go/ql/lib/qlpack.yml +++ b/go/ql/lib/qlpack.yml @@ -1,5 +1,5 @@ name: codeql/go-all -version: 2.1.3 +version: 2.1.3-dev groups: go dbscheme: go.dbscheme extractor: go diff --git a/go/ql/src/CHANGELOG.md b/go/ql/src/CHANGELOG.md index c529cbffb32..0e276fda741 100644 --- a/go/ql/src/CHANGELOG.md +++ b/go/ql/src/CHANGELOG.md @@ -1,7 +1,3 @@ -## 1.1.3 - -No user-facing changes. - ## 1.1.2 No user-facing changes. diff --git a/go/ql/src/change-notes/released/1.1.3.md b/go/ql/src/change-notes/released/1.1.3.md deleted file mode 100644 index e8f1701bd62..00000000000 --- a/go/ql/src/change-notes/released/1.1.3.md +++ /dev/null @@ -1,3 +0,0 @@ -## 1.1.3 - -No user-facing changes. diff --git a/go/ql/src/codeql-pack.release.yml b/go/ql/src/codeql-pack.release.yml index 35e710ab1bf..53ab127707f 100644 --- a/go/ql/src/codeql-pack.release.yml +++ b/go/ql/src/codeql-pack.release.yml @@ -1,2 +1,2 @@ --- -lastReleaseVersion: 1.1.3 +lastReleaseVersion: 1.1.2 diff --git a/go/ql/src/qlpack.yml b/go/ql/src/qlpack.yml index af130fa6acf..68bac4cf1a9 100644 --- a/go/ql/src/qlpack.yml +++ b/go/ql/src/qlpack.yml @@ -1,5 +1,5 @@ name: codeql/go-queries -version: 1.1.3 +version: 1.1.3-dev groups: - go - queries diff --git a/java/ql/automodel/src/CHANGELOG.md b/java/ql/automodel/src/CHANGELOG.md index 1564285b44b..148791b5923 100644 --- a/java/ql/automodel/src/CHANGELOG.md +++ b/java/ql/automodel/src/CHANGELOG.md @@ -1,7 +1,3 @@ -## 1.0.12 - -No user-facing changes. - ## 1.0.11 No user-facing changes. diff --git a/java/ql/automodel/src/change-notes/released/1.0.12.md b/java/ql/automodel/src/change-notes/released/1.0.12.md deleted file mode 100644 index 12b3cf3e18f..00000000000 --- a/java/ql/automodel/src/change-notes/released/1.0.12.md +++ /dev/null @@ -1,3 +0,0 @@ -## 1.0.12 - -No user-facing changes. diff --git a/java/ql/automodel/src/codeql-pack.release.yml b/java/ql/automodel/src/codeql-pack.release.yml index 2036690b201..56a2fb38872 100644 --- a/java/ql/automodel/src/codeql-pack.release.yml +++ b/java/ql/automodel/src/codeql-pack.release.yml @@ -1,2 +1,2 @@ --- -lastReleaseVersion: 1.0.12 +lastReleaseVersion: 1.0.11 diff --git a/java/ql/automodel/src/qlpack.yml b/java/ql/automodel/src/qlpack.yml index fc5ad003511..4acf2219db3 100644 --- a/java/ql/automodel/src/qlpack.yml +++ b/java/ql/automodel/src/qlpack.yml @@ -1,5 +1,5 @@ name: codeql/java-automodel-queries -version: 1.0.12 +version: 1.0.12-dev groups: - java - automodel diff --git a/java/ql/lib/CHANGELOG.md b/java/ql/lib/CHANGELOG.md index 990fea9ddd7..cddb86232c4 100644 --- a/java/ql/lib/CHANGELOG.md +++ b/java/ql/lib/CHANGELOG.md @@ -1,9 +1,3 @@ -## 4.2.1 - -### Minor Analysis Improvements - -* In a switch statement with a constant switch expression, all non-matching cases were being marked as unreachable, including those that can be reached by falling through from the matching case. This has now been fixed. - ## 4.2.0 ### Major Analysis Improvements diff --git a/java/ql/lib/change-notes/released/4.2.1.md b/java/ql/lib/change-notes/2024-11-14-unreachable-basic-block-in-constant-switch-statement.md similarity index 83% rename from java/ql/lib/change-notes/released/4.2.1.md rename to java/ql/lib/change-notes/2024-11-14-unreachable-basic-block-in-constant-switch-statement.md index 6fb31df9177..50df55a4c1a 100644 --- a/java/ql/lib/change-notes/released/4.2.1.md +++ b/java/ql/lib/change-notes/2024-11-14-unreachable-basic-block-in-constant-switch-statement.md @@ -1,5 +1,4 @@ -## 4.2.1 - -### Minor Analysis Improvements - +--- +category: minorAnalysis +--- * In a switch statement with a constant switch expression, all non-matching cases were being marked as unreachable, including those that can be reached by falling through from the matching case. This has now been fixed. diff --git a/java/ql/lib/codeql-pack.release.yml b/java/ql/lib/codeql-pack.release.yml index 38ea9976fcc..9fc6933b429 100644 --- a/java/ql/lib/codeql-pack.release.yml +++ b/java/ql/lib/codeql-pack.release.yml @@ -1,2 +1,2 @@ --- -lastReleaseVersion: 4.2.1 +lastReleaseVersion: 4.2.0 diff --git a/java/ql/lib/qlpack.yml b/java/ql/lib/qlpack.yml index 0e8d80fe435..cc639056e4e 100644 --- a/java/ql/lib/qlpack.yml +++ b/java/ql/lib/qlpack.yml @@ -1,5 +1,5 @@ name: codeql/java-all -version: 4.2.1 +version: 4.2.1-dev groups: java dbscheme: config/semmlecode.dbscheme extractor: java diff --git a/java/ql/src/CHANGELOG.md b/java/ql/src/CHANGELOG.md index f212b4a8d3d..3a29e9e55e0 100644 --- a/java/ql/src/CHANGELOG.md +++ b/java/ql/src/CHANGELOG.md @@ -1,7 +1,3 @@ -## 1.1.9 - -No user-facing changes. - ## 1.1.8 No user-facing changes. diff --git a/java/ql/src/change-notes/released/1.1.9.md b/java/ql/src/change-notes/released/1.1.9.md deleted file mode 100644 index f9d367d4248..00000000000 --- a/java/ql/src/change-notes/released/1.1.9.md +++ /dev/null @@ -1,3 +0,0 @@ -## 1.1.9 - -No user-facing changes. diff --git a/java/ql/src/codeql-pack.release.yml b/java/ql/src/codeql-pack.release.yml index 6f4795f3ea0..64972659c42 100644 --- a/java/ql/src/codeql-pack.release.yml +++ b/java/ql/src/codeql-pack.release.yml @@ -1,2 +1,2 @@ --- -lastReleaseVersion: 1.1.9 +lastReleaseVersion: 1.1.8 diff --git a/java/ql/src/qlpack.yml b/java/ql/src/qlpack.yml index 73e951db034..40ca32d8070 100644 --- a/java/ql/src/qlpack.yml +++ b/java/ql/src/qlpack.yml @@ -1,5 +1,5 @@ name: codeql/java-queries -version: 1.1.9 +version: 1.1.9-dev groups: - java - queries diff --git a/javascript/ql/lib/CHANGELOG.md b/javascript/ql/lib/CHANGELOG.md index 7d8f8dcfc8b..50d1486c006 100644 --- a/javascript/ql/lib/CHANGELOG.md +++ b/javascript/ql/lib/CHANGELOG.md @@ -1,14 +1,3 @@ -## 2.1.1 - -### Minor Analysis Improvements - -Added taint-steps for `Array.prototype.with`. -Added taint-steps for `Array.prototype.toSpliced` -* Added taint-steps for `Array.prototype.toReversed`. -* Added taint-steps for `Array.prototype.toSorted`. -Added support for `String.prototype.matchAll`. -* Added taint-steps for `Array.prototype.reverse` - ## 2.1.0 ### New Features diff --git a/javascript/ql/lib/change-notes/2024-11-11-matchAll-support.md b/javascript/ql/lib/change-notes/2024-11-11-matchAll-support.md new file mode 100644 index 00000000000..74d7c3f34c2 --- /dev/null +++ b/javascript/ql/lib/change-notes/2024-11-11-matchAll-support.md @@ -0,0 +1,4 @@ +--- +category: minorAnalysis +--- +Added support for `String.prototype.matchAll`. diff --git a/javascript/ql/lib/change-notes/2024-11-11-reserve-support.md b/javascript/ql/lib/change-notes/2024-11-11-reserve-support.md new file mode 100644 index 00000000000..bd2e6808e0c --- /dev/null +++ b/javascript/ql/lib/change-notes/2024-11-11-reserve-support.md @@ -0,0 +1,4 @@ +--- +category: minorAnalysis +--- +* Added taint-steps for `Array.prototype.reverse` diff --git a/javascript/ql/lib/change-notes/2024-11-12-immutable-array-operations.md b/javascript/ql/lib/change-notes/2024-11-12-immutable-array-operations.md new file mode 100644 index 00000000000..20c16d88c6e --- /dev/null +++ b/javascript/ql/lib/change-notes/2024-11-12-immutable-array-operations.md @@ -0,0 +1,5 @@ +--- +category: minorAnalysis +--- +* Added taint-steps for `Array.prototype.toReversed`. +* Added taint-steps for `Array.prototype.toSorted`. diff --git a/javascript/ql/lib/change-notes/2024-11-15-toSpliced-support.md b/javascript/ql/lib/change-notes/2024-11-15-toSpliced-support.md new file mode 100644 index 00000000000..a73955e5d2a --- /dev/null +++ b/javascript/ql/lib/change-notes/2024-11-15-toSpliced-support.md @@ -0,0 +1,4 @@ +--- +category: minorAnalysis +--- +Added taint-steps for `Array.prototype.toSpliced` diff --git a/javascript/ql/lib/change-notes/2024-11-18-ES2023-array-protype-with.md b/javascript/ql/lib/change-notes/2024-11-18-ES2023-array-protype-with.md new file mode 100644 index 00000000000..92f160ec1de --- /dev/null +++ b/javascript/ql/lib/change-notes/2024-11-18-ES2023-array-protype-with.md @@ -0,0 +1,4 @@ +--- +category: minorAnalysis +--- +Added taint-steps for `Array.prototype.with`. diff --git a/javascript/ql/lib/change-notes/released/2.1.1.md b/javascript/ql/lib/change-notes/released/2.1.1.md deleted file mode 100644 index fd6616a6c03..00000000000 --- a/javascript/ql/lib/change-notes/released/2.1.1.md +++ /dev/null @@ -1,10 +0,0 @@ -## 2.1.1 - -### Minor Analysis Improvements - -* Added taint-steps for `Array.prototype.with`. -* Added taint-steps for `Array.prototype.toSpliced` -* Added taint-steps for `Array.prototype.toReversed`. -* Added taint-steps for `Array.prototype.toSorted`. -* Added support for `String.prototype.matchAll`. -* Added taint-steps for `Array.prototype.reverse` diff --git a/javascript/ql/lib/codeql-pack.release.yml b/javascript/ql/lib/codeql-pack.release.yml index 576c2ea18d6..487a1a58b2b 100644 --- a/javascript/ql/lib/codeql-pack.release.yml +++ b/javascript/ql/lib/codeql-pack.release.yml @@ -1,2 +1,2 @@ --- -lastReleaseVersion: 2.1.1 +lastReleaseVersion: 2.1.0 diff --git a/javascript/ql/lib/qlpack.yml b/javascript/ql/lib/qlpack.yml index fc7dd9be7b7..f732755a75b 100644 --- a/javascript/ql/lib/qlpack.yml +++ b/javascript/ql/lib/qlpack.yml @@ -1,5 +1,5 @@ name: codeql/javascript-all -version: 2.1.1 +version: 2.1.1-dev groups: javascript dbscheme: semmlecode.javascript.dbscheme extractor: javascript diff --git a/javascript/ql/src/CHANGELOG.md b/javascript/ql/src/CHANGELOG.md index 403de6b3323..9a9a4641c6e 100644 --- a/javascript/ql/src/CHANGELOG.md +++ b/javascript/ql/src/CHANGELOG.md @@ -1,7 +1,3 @@ -## 1.2.4 - -No user-facing changes. - ## 1.2.3 No user-facing changes. diff --git a/javascript/ql/src/change-notes/released/1.2.4.md b/javascript/ql/src/change-notes/released/1.2.4.md deleted file mode 100644 index 21fd88e8124..00000000000 --- a/javascript/ql/src/change-notes/released/1.2.4.md +++ /dev/null @@ -1,3 +0,0 @@ -## 1.2.4 - -No user-facing changes. diff --git a/javascript/ql/src/codeql-pack.release.yml b/javascript/ql/src/codeql-pack.release.yml index 172090f46b6..09a7400b594 100644 --- a/javascript/ql/src/codeql-pack.release.yml +++ b/javascript/ql/src/codeql-pack.release.yml @@ -1,2 +1,2 @@ --- -lastReleaseVersion: 1.2.4 +lastReleaseVersion: 1.2.3 diff --git a/javascript/ql/src/qlpack.yml b/javascript/ql/src/qlpack.yml index de3be7c9a90..98c38e64248 100644 --- a/javascript/ql/src/qlpack.yml +++ b/javascript/ql/src/qlpack.yml @@ -1,5 +1,5 @@ name: codeql/javascript-queries -version: 1.2.4 +version: 1.2.4-dev groups: - javascript - queries diff --git a/misc/suite-helpers/CHANGELOG.md b/misc/suite-helpers/CHANGELOG.md index 969419cb7b7..0992e6bd9c5 100644 --- a/misc/suite-helpers/CHANGELOG.md +++ b/misc/suite-helpers/CHANGELOG.md @@ -1,7 +1,3 @@ -## 1.0.12 - -No user-facing changes. - ## 1.0.11 No user-facing changes. diff --git a/misc/suite-helpers/change-notes/released/1.0.12.md b/misc/suite-helpers/change-notes/released/1.0.12.md deleted file mode 100644 index 12b3cf3e18f..00000000000 --- a/misc/suite-helpers/change-notes/released/1.0.12.md +++ /dev/null @@ -1,3 +0,0 @@ -## 1.0.12 - -No user-facing changes. diff --git a/misc/suite-helpers/codeql-pack.release.yml b/misc/suite-helpers/codeql-pack.release.yml index 2036690b201..56a2fb38872 100644 --- a/misc/suite-helpers/codeql-pack.release.yml +++ b/misc/suite-helpers/codeql-pack.release.yml @@ -1,2 +1,2 @@ --- -lastReleaseVersion: 1.0.12 +lastReleaseVersion: 1.0.11 diff --git a/misc/suite-helpers/qlpack.yml b/misc/suite-helpers/qlpack.yml index 9cb14562b39..f40fb8fcde4 100644 --- a/misc/suite-helpers/qlpack.yml +++ b/misc/suite-helpers/qlpack.yml @@ -1,4 +1,4 @@ name: codeql/suite-helpers -version: 1.0.12 +version: 1.0.12-dev groups: shared warnOnImplicitThis: true diff --git a/python/ql/lib/CHANGELOG.md b/python/ql/lib/CHANGELOG.md index 34dc5f1b060..1e05822734d 100644 --- a/python/ql/lib/CHANGELOG.md +++ b/python/ql/lib/CHANGELOG.md @@ -1,9 +1,3 @@ -## 2.2.0 - -### Major Analysis Improvements - -* Added modeling of the `bottle` framework, leading to new remote flow sources and header writes - ## 2.1.2 ### Minor Analysis Improvements diff --git a/python/ql/lib/change-notes/2024-08-30-bottle.md b/python/ql/lib/change-notes/2024-08-30-bottle.md new file mode 100644 index 00000000000..b3a07f41f59 --- /dev/null +++ b/python/ql/lib/change-notes/2024-08-30-bottle.md @@ -0,0 +1,4 @@ +--- +category: majorAnalysis +--- +* Added modeling of the `bottle` framework, leading to new remote flow sources and header writes \ No newline at end of file diff --git a/python/ql/lib/change-notes/released/2.2.0.md b/python/ql/lib/change-notes/released/2.2.0.md deleted file mode 100644 index 0807fe9c2ff..00000000000 --- a/python/ql/lib/change-notes/released/2.2.0.md +++ /dev/null @@ -1,5 +0,0 @@ -## 2.2.0 - -### Major Analysis Improvements - -* Added modeling of the `bottle` framework, leading to new remote flow sources and header writes diff --git a/python/ql/lib/codeql-pack.release.yml b/python/ql/lib/codeql-pack.release.yml index 2f308354195..1a4e53e8772 100644 --- a/python/ql/lib/codeql-pack.release.yml +++ b/python/ql/lib/codeql-pack.release.yml @@ -1,2 +1,2 @@ --- -lastReleaseVersion: 2.2.0 +lastReleaseVersion: 2.1.2 diff --git a/python/ql/lib/qlpack.yml b/python/ql/lib/qlpack.yml index 6c2dd3c9d71..5b9b9b8f67e 100644 --- a/python/ql/lib/qlpack.yml +++ b/python/ql/lib/qlpack.yml @@ -1,5 +1,5 @@ name: codeql/python-all -version: 2.2.0 +version: 2.1.3-dev groups: python dbscheme: semmlecode.python.dbscheme extractor: python diff --git a/python/ql/src/CHANGELOG.md b/python/ql/src/CHANGELOG.md index 5fea597a7a3..64a33ed30ca 100644 --- a/python/ql/src/CHANGELOG.md +++ b/python/ql/src/CHANGELOG.md @@ -1,7 +1,3 @@ -## 1.3.3 - -No user-facing changes. - ## 1.3.2 ### Minor Analysis Improvements diff --git a/python/ql/src/change-notes/released/1.3.3.md b/python/ql/src/change-notes/released/1.3.3.md deleted file mode 100644 index 27a88ea0061..00000000000 --- a/python/ql/src/change-notes/released/1.3.3.md +++ /dev/null @@ -1,3 +0,0 @@ -## 1.3.3 - -No user-facing changes. diff --git a/python/ql/src/codeql-pack.release.yml b/python/ql/src/codeql-pack.release.yml index eb1f7dabc84..86a9cb32d86 100644 --- a/python/ql/src/codeql-pack.release.yml +++ b/python/ql/src/codeql-pack.release.yml @@ -1,2 +1,2 @@ --- -lastReleaseVersion: 1.3.3 +lastReleaseVersion: 1.3.2 diff --git a/python/ql/src/qlpack.yml b/python/ql/src/qlpack.yml index 76133c2a243..d279b5225c8 100644 --- a/python/ql/src/qlpack.yml +++ b/python/ql/src/qlpack.yml @@ -1,5 +1,5 @@ name: codeql/python-queries -version: 1.3.3 +version: 1.3.3-dev groups: - python - queries diff --git a/ruby/ql/lib/CHANGELOG.md b/ruby/ql/lib/CHANGELOG.md index 37248cf4960..230f81c621b 100644 --- a/ruby/ql/lib/CHANGELOG.md +++ b/ruby/ql/lib/CHANGELOG.md @@ -1,7 +1,3 @@ -## 2.0.4 - -No user-facing changes. - ## 2.0.3 No user-facing changes. diff --git a/ruby/ql/lib/change-notes/released/2.0.4.md b/ruby/ql/lib/change-notes/released/2.0.4.md deleted file mode 100644 index 8e002b6db64..00000000000 --- a/ruby/ql/lib/change-notes/released/2.0.4.md +++ /dev/null @@ -1,3 +0,0 @@ -## 2.0.4 - -No user-facing changes. diff --git a/ruby/ql/lib/codeql-pack.release.yml b/ruby/ql/lib/codeql-pack.release.yml index 0f306f8bd3b..fabf1e86596 100644 --- a/ruby/ql/lib/codeql-pack.release.yml +++ b/ruby/ql/lib/codeql-pack.release.yml @@ -1,2 +1,2 @@ --- -lastReleaseVersion: 2.0.4 +lastReleaseVersion: 2.0.3 diff --git a/ruby/ql/lib/qlpack.yml b/ruby/ql/lib/qlpack.yml index 60aa6608a46..155d495d7d8 100644 --- a/ruby/ql/lib/qlpack.yml +++ b/ruby/ql/lib/qlpack.yml @@ -1,5 +1,5 @@ name: codeql/ruby-all -version: 2.0.4 +version: 2.0.4-dev groups: ruby extractor: ruby dbscheme: ruby.dbscheme diff --git a/ruby/ql/src/CHANGELOG.md b/ruby/ql/src/CHANGELOG.md index e159e9fda36..3dfaa623d60 100644 --- a/ruby/ql/src/CHANGELOG.md +++ b/ruby/ql/src/CHANGELOG.md @@ -1,7 +1,3 @@ -## 1.1.7 - -No user-facing changes. - ## 1.1.6 No user-facing changes. diff --git a/ruby/ql/src/change-notes/released/1.1.7.md b/ruby/ql/src/change-notes/released/1.1.7.md deleted file mode 100644 index 81505c0507a..00000000000 --- a/ruby/ql/src/change-notes/released/1.1.7.md +++ /dev/null @@ -1,3 +0,0 @@ -## 1.1.7 - -No user-facing changes. diff --git a/ruby/ql/src/codeql-pack.release.yml b/ruby/ql/src/codeql-pack.release.yml index 75910556516..9e712a00a21 100644 --- a/ruby/ql/src/codeql-pack.release.yml +++ b/ruby/ql/src/codeql-pack.release.yml @@ -1,2 +1,2 @@ --- -lastReleaseVersion: 1.1.7 +lastReleaseVersion: 1.1.6 diff --git a/ruby/ql/src/qlpack.yml b/ruby/ql/src/qlpack.yml index d34551aeb15..2f270249906 100644 --- a/ruby/ql/src/qlpack.yml +++ b/ruby/ql/src/qlpack.yml @@ -1,5 +1,5 @@ name: codeql/ruby-queries -version: 1.1.7 +version: 1.1.7-dev groups: - ruby - queries diff --git a/shared/controlflow/CHANGELOG.md b/shared/controlflow/CHANGELOG.md index b6de6379e77..2eddc42a47d 100644 --- a/shared/controlflow/CHANGELOG.md +++ b/shared/controlflow/CHANGELOG.md @@ -1,7 +1,3 @@ -## 1.0.12 - -No user-facing changes. - ## 1.0.11 No user-facing changes. diff --git a/shared/controlflow/change-notes/released/1.0.12.md b/shared/controlflow/change-notes/released/1.0.12.md deleted file mode 100644 index 12b3cf3e18f..00000000000 --- a/shared/controlflow/change-notes/released/1.0.12.md +++ /dev/null @@ -1,3 +0,0 @@ -## 1.0.12 - -No user-facing changes. diff --git a/shared/controlflow/codeql-pack.release.yml b/shared/controlflow/codeql-pack.release.yml index 2036690b201..56a2fb38872 100644 --- a/shared/controlflow/codeql-pack.release.yml +++ b/shared/controlflow/codeql-pack.release.yml @@ -1,2 +1,2 @@ --- -lastReleaseVersion: 1.0.12 +lastReleaseVersion: 1.0.11 diff --git a/shared/controlflow/qlpack.yml b/shared/controlflow/qlpack.yml index c7554d77bb4..10314626ec7 100644 --- a/shared/controlflow/qlpack.yml +++ b/shared/controlflow/qlpack.yml @@ -1,5 +1,5 @@ name: codeql/controlflow -version: 1.0.12 +version: 1.0.12-dev groups: shared library: true dependencies: diff --git a/shared/dataflow/CHANGELOG.md b/shared/dataflow/CHANGELOG.md index 7eec34670dc..72c27aa8762 100644 --- a/shared/dataflow/CHANGELOG.md +++ b/shared/dataflow/CHANGELOG.md @@ -1,7 +1,3 @@ -## 1.1.6 - -No user-facing changes. - ## 1.1.5 No user-facing changes. diff --git a/shared/dataflow/change-notes/released/1.1.6.md b/shared/dataflow/change-notes/released/1.1.6.md deleted file mode 100644 index 553350f40af..00000000000 --- a/shared/dataflow/change-notes/released/1.1.6.md +++ /dev/null @@ -1,3 +0,0 @@ -## 1.1.6 - -No user-facing changes. diff --git a/shared/dataflow/codeql-pack.release.yml b/shared/dataflow/codeql-pack.release.yml index 9e712a00a21..df39a9de059 100644 --- a/shared/dataflow/codeql-pack.release.yml +++ b/shared/dataflow/codeql-pack.release.yml @@ -1,2 +1,2 @@ --- -lastReleaseVersion: 1.1.6 +lastReleaseVersion: 1.1.5 diff --git a/shared/dataflow/qlpack.yml b/shared/dataflow/qlpack.yml index 3e488555c7d..3802aa99a1e 100644 --- a/shared/dataflow/qlpack.yml +++ b/shared/dataflow/qlpack.yml @@ -1,5 +1,5 @@ name: codeql/dataflow -version: 1.1.6 +version: 1.1.6-dev groups: shared library: true dependencies: diff --git a/shared/mad/CHANGELOG.md b/shared/mad/CHANGELOG.md index 8eb5e03400a..0d9dcaf2768 100644 --- a/shared/mad/CHANGELOG.md +++ b/shared/mad/CHANGELOG.md @@ -1,7 +1,3 @@ -## 1.0.12 - -No user-facing changes. - ## 1.0.11 No user-facing changes. diff --git a/shared/mad/change-notes/released/1.0.12.md b/shared/mad/change-notes/released/1.0.12.md deleted file mode 100644 index 12b3cf3e18f..00000000000 --- a/shared/mad/change-notes/released/1.0.12.md +++ /dev/null @@ -1,3 +0,0 @@ -## 1.0.12 - -No user-facing changes. diff --git a/shared/mad/codeql-pack.release.yml b/shared/mad/codeql-pack.release.yml index 2036690b201..56a2fb38872 100644 --- a/shared/mad/codeql-pack.release.yml +++ b/shared/mad/codeql-pack.release.yml @@ -1,2 +1,2 @@ --- -lastReleaseVersion: 1.0.12 +lastReleaseVersion: 1.0.11 diff --git a/shared/mad/qlpack.yml b/shared/mad/qlpack.yml index 7c6a961cb99..2205120fc09 100644 --- a/shared/mad/qlpack.yml +++ b/shared/mad/qlpack.yml @@ -1,5 +1,5 @@ name: codeql/mad -version: 1.0.12 +version: 1.0.12-dev groups: shared library: true dependencies: diff --git a/shared/rangeanalysis/CHANGELOG.md b/shared/rangeanalysis/CHANGELOG.md index cedd38e3e30..f3d5e9c3685 100644 --- a/shared/rangeanalysis/CHANGELOG.md +++ b/shared/rangeanalysis/CHANGELOG.md @@ -1,7 +1,3 @@ -## 1.0.12 - -No user-facing changes. - ## 1.0.11 No user-facing changes. diff --git a/shared/rangeanalysis/change-notes/released/1.0.12.md b/shared/rangeanalysis/change-notes/released/1.0.12.md deleted file mode 100644 index 12b3cf3e18f..00000000000 --- a/shared/rangeanalysis/change-notes/released/1.0.12.md +++ /dev/null @@ -1,3 +0,0 @@ -## 1.0.12 - -No user-facing changes. diff --git a/shared/rangeanalysis/codeql-pack.release.yml b/shared/rangeanalysis/codeql-pack.release.yml index 2036690b201..56a2fb38872 100644 --- a/shared/rangeanalysis/codeql-pack.release.yml +++ b/shared/rangeanalysis/codeql-pack.release.yml @@ -1,2 +1,2 @@ --- -lastReleaseVersion: 1.0.12 +lastReleaseVersion: 1.0.11 diff --git a/shared/rangeanalysis/qlpack.yml b/shared/rangeanalysis/qlpack.yml index 6a61414dd46..8bd5c263848 100644 --- a/shared/rangeanalysis/qlpack.yml +++ b/shared/rangeanalysis/qlpack.yml @@ -1,5 +1,5 @@ name: codeql/rangeanalysis -version: 1.0.12 +version: 1.0.12-dev groups: shared library: true dependencies: diff --git a/shared/regex/CHANGELOG.md b/shared/regex/CHANGELOG.md index 3e8a99103fe..e4aa1758db2 100644 --- a/shared/regex/CHANGELOG.md +++ b/shared/regex/CHANGELOG.md @@ -1,7 +1,3 @@ -## 1.0.12 - -No user-facing changes. - ## 1.0.11 No user-facing changes. diff --git a/shared/regex/change-notes/released/1.0.12.md b/shared/regex/change-notes/released/1.0.12.md deleted file mode 100644 index 12b3cf3e18f..00000000000 --- a/shared/regex/change-notes/released/1.0.12.md +++ /dev/null @@ -1,3 +0,0 @@ -## 1.0.12 - -No user-facing changes. diff --git a/shared/regex/codeql-pack.release.yml b/shared/regex/codeql-pack.release.yml index 2036690b201..56a2fb38872 100644 --- a/shared/regex/codeql-pack.release.yml +++ b/shared/regex/codeql-pack.release.yml @@ -1,2 +1,2 @@ --- -lastReleaseVersion: 1.0.12 +lastReleaseVersion: 1.0.11 diff --git a/shared/regex/qlpack.yml b/shared/regex/qlpack.yml index 3ab27085789..624c826410e 100644 --- a/shared/regex/qlpack.yml +++ b/shared/regex/qlpack.yml @@ -1,5 +1,5 @@ name: codeql/regex -version: 1.0.12 +version: 1.0.12-dev groups: shared library: true dependencies: diff --git a/shared/ssa/CHANGELOG.md b/shared/ssa/CHANGELOG.md index b98345f361c..6fc1f4442c7 100644 --- a/shared/ssa/CHANGELOG.md +++ b/shared/ssa/CHANGELOG.md @@ -1,7 +1,3 @@ -## 1.0.12 - -No user-facing changes. - ## 1.0.11 No user-facing changes. diff --git a/shared/ssa/change-notes/released/1.0.12.md b/shared/ssa/change-notes/released/1.0.12.md deleted file mode 100644 index 12b3cf3e18f..00000000000 --- a/shared/ssa/change-notes/released/1.0.12.md +++ /dev/null @@ -1,3 +0,0 @@ -## 1.0.12 - -No user-facing changes. diff --git a/shared/ssa/codeql-pack.release.yml b/shared/ssa/codeql-pack.release.yml index 2036690b201..56a2fb38872 100644 --- a/shared/ssa/codeql-pack.release.yml +++ b/shared/ssa/codeql-pack.release.yml @@ -1,2 +1,2 @@ --- -lastReleaseVersion: 1.0.12 +lastReleaseVersion: 1.0.11 diff --git a/shared/ssa/qlpack.yml b/shared/ssa/qlpack.yml index 1957224936f..d55025c28d1 100644 --- a/shared/ssa/qlpack.yml +++ b/shared/ssa/qlpack.yml @@ -1,5 +1,5 @@ name: codeql/ssa -version: 1.0.12 +version: 1.0.12-dev groups: shared library: true dependencies: diff --git a/shared/threat-models/CHANGELOG.md b/shared/threat-models/CHANGELOG.md index eeb6b0a262a..1c514d078a2 100644 --- a/shared/threat-models/CHANGELOG.md +++ b/shared/threat-models/CHANGELOG.md @@ -1,7 +1,3 @@ -## 1.0.12 - -No user-facing changes. - ## 1.0.11 No user-facing changes. diff --git a/shared/threat-models/change-notes/released/1.0.12.md b/shared/threat-models/change-notes/released/1.0.12.md deleted file mode 100644 index 12b3cf3e18f..00000000000 --- a/shared/threat-models/change-notes/released/1.0.12.md +++ /dev/null @@ -1,3 +0,0 @@ -## 1.0.12 - -No user-facing changes. diff --git a/shared/threat-models/codeql-pack.release.yml b/shared/threat-models/codeql-pack.release.yml index 2036690b201..56a2fb38872 100644 --- a/shared/threat-models/codeql-pack.release.yml +++ b/shared/threat-models/codeql-pack.release.yml @@ -1,2 +1,2 @@ --- -lastReleaseVersion: 1.0.12 +lastReleaseVersion: 1.0.11 diff --git a/shared/threat-models/qlpack.yml b/shared/threat-models/qlpack.yml index 637773d6bfb..42ac623c23b 100644 --- a/shared/threat-models/qlpack.yml +++ b/shared/threat-models/qlpack.yml @@ -1,5 +1,5 @@ name: codeql/threat-models -version: 1.0.12 +version: 1.0.12-dev library: true groups: shared dataExtensions: diff --git a/shared/tutorial/CHANGELOG.md b/shared/tutorial/CHANGELOG.md index da467b3de30..416a3ab33fc 100644 --- a/shared/tutorial/CHANGELOG.md +++ b/shared/tutorial/CHANGELOG.md @@ -1,7 +1,3 @@ -## 1.0.12 - -No user-facing changes. - ## 1.0.11 No user-facing changes. diff --git a/shared/tutorial/change-notes/released/1.0.12.md b/shared/tutorial/change-notes/released/1.0.12.md deleted file mode 100644 index 12b3cf3e18f..00000000000 --- a/shared/tutorial/change-notes/released/1.0.12.md +++ /dev/null @@ -1,3 +0,0 @@ -## 1.0.12 - -No user-facing changes. diff --git a/shared/tutorial/codeql-pack.release.yml b/shared/tutorial/codeql-pack.release.yml index 2036690b201..56a2fb38872 100644 --- a/shared/tutorial/codeql-pack.release.yml +++ b/shared/tutorial/codeql-pack.release.yml @@ -1,2 +1,2 @@ --- -lastReleaseVersion: 1.0.12 +lastReleaseVersion: 1.0.11 diff --git a/shared/tutorial/qlpack.yml b/shared/tutorial/qlpack.yml index f4c164e1052..bd281c1a818 100644 --- a/shared/tutorial/qlpack.yml +++ b/shared/tutorial/qlpack.yml @@ -1,7 +1,7 @@ name: codeql/tutorial description: Library for the CodeQL detective tutorials, helping new users learn to write CodeQL queries. -version: 1.0.12 +version: 1.0.12-dev groups: shared library: true warnOnImplicitThis: true diff --git a/shared/typeflow/CHANGELOG.md b/shared/typeflow/CHANGELOG.md index cae361ea7e7..1506cdea175 100644 --- a/shared/typeflow/CHANGELOG.md +++ b/shared/typeflow/CHANGELOG.md @@ -1,7 +1,3 @@ -## 1.0.12 - -No user-facing changes. - ## 1.0.11 No user-facing changes. diff --git a/shared/typeflow/change-notes/released/1.0.12.md b/shared/typeflow/change-notes/released/1.0.12.md deleted file mode 100644 index 12b3cf3e18f..00000000000 --- a/shared/typeflow/change-notes/released/1.0.12.md +++ /dev/null @@ -1,3 +0,0 @@ -## 1.0.12 - -No user-facing changes. diff --git a/shared/typeflow/codeql-pack.release.yml b/shared/typeflow/codeql-pack.release.yml index 2036690b201..56a2fb38872 100644 --- a/shared/typeflow/codeql-pack.release.yml +++ b/shared/typeflow/codeql-pack.release.yml @@ -1,2 +1,2 @@ --- -lastReleaseVersion: 1.0.12 +lastReleaseVersion: 1.0.11 diff --git a/shared/typeflow/qlpack.yml b/shared/typeflow/qlpack.yml index 514743bcb4d..6c7ecc03264 100644 --- a/shared/typeflow/qlpack.yml +++ b/shared/typeflow/qlpack.yml @@ -1,5 +1,5 @@ name: codeql/typeflow -version: 1.0.12 +version: 1.0.12-dev groups: shared library: true dependencies: diff --git a/shared/typetracking/CHANGELOG.md b/shared/typetracking/CHANGELOG.md index 96110cb10a2..d35be2a3771 100644 --- a/shared/typetracking/CHANGELOG.md +++ b/shared/typetracking/CHANGELOG.md @@ -1,7 +1,3 @@ -## 1.0.12 - -No user-facing changes. - ## 1.0.11 No user-facing changes. diff --git a/shared/typetracking/change-notes/released/1.0.12.md b/shared/typetracking/change-notes/released/1.0.12.md deleted file mode 100644 index 12b3cf3e18f..00000000000 --- a/shared/typetracking/change-notes/released/1.0.12.md +++ /dev/null @@ -1,3 +0,0 @@ -## 1.0.12 - -No user-facing changes. diff --git a/shared/typetracking/codeql-pack.release.yml b/shared/typetracking/codeql-pack.release.yml index 2036690b201..56a2fb38872 100644 --- a/shared/typetracking/codeql-pack.release.yml +++ b/shared/typetracking/codeql-pack.release.yml @@ -1,2 +1,2 @@ --- -lastReleaseVersion: 1.0.12 +lastReleaseVersion: 1.0.11 diff --git a/shared/typetracking/qlpack.yml b/shared/typetracking/qlpack.yml index b7c3832bef1..07eeb938af3 100644 --- a/shared/typetracking/qlpack.yml +++ b/shared/typetracking/qlpack.yml @@ -1,5 +1,5 @@ name: codeql/typetracking -version: 1.0.12 +version: 1.0.12-dev groups: shared library: true dependencies: diff --git a/shared/typos/CHANGELOG.md b/shared/typos/CHANGELOG.md index 83fb2dfb4cc..e5392886a3e 100644 --- a/shared/typos/CHANGELOG.md +++ b/shared/typos/CHANGELOG.md @@ -1,7 +1,3 @@ -## 1.0.12 - -No user-facing changes. - ## 1.0.11 No user-facing changes. diff --git a/shared/typos/change-notes/released/1.0.12.md b/shared/typos/change-notes/released/1.0.12.md deleted file mode 100644 index 12b3cf3e18f..00000000000 --- a/shared/typos/change-notes/released/1.0.12.md +++ /dev/null @@ -1,3 +0,0 @@ -## 1.0.12 - -No user-facing changes. diff --git a/shared/typos/codeql-pack.release.yml b/shared/typos/codeql-pack.release.yml index 2036690b201..56a2fb38872 100644 --- a/shared/typos/codeql-pack.release.yml +++ b/shared/typos/codeql-pack.release.yml @@ -1,2 +1,2 @@ --- -lastReleaseVersion: 1.0.12 +lastReleaseVersion: 1.0.11 diff --git a/shared/typos/qlpack.yml b/shared/typos/qlpack.yml index cbb4019306e..dcd9631b697 100644 --- a/shared/typos/qlpack.yml +++ b/shared/typos/qlpack.yml @@ -1,5 +1,5 @@ name: codeql/typos -version: 1.0.12 +version: 1.0.12-dev groups: shared library: true warnOnImplicitThis: true diff --git a/shared/util/CHANGELOG.md b/shared/util/CHANGELOG.md index 15c3b8c6225..9f1057cba24 100644 --- a/shared/util/CHANGELOG.md +++ b/shared/util/CHANGELOG.md @@ -1,7 +1,3 @@ -## 1.0.12 - -No user-facing changes. - ## 1.0.11 No user-facing changes. diff --git a/shared/util/change-notes/released/1.0.12.md b/shared/util/change-notes/released/1.0.12.md deleted file mode 100644 index 12b3cf3e18f..00000000000 --- a/shared/util/change-notes/released/1.0.12.md +++ /dev/null @@ -1,3 +0,0 @@ -## 1.0.12 - -No user-facing changes. diff --git a/shared/util/codeql-pack.release.yml b/shared/util/codeql-pack.release.yml index 2036690b201..56a2fb38872 100644 --- a/shared/util/codeql-pack.release.yml +++ b/shared/util/codeql-pack.release.yml @@ -1,2 +1,2 @@ --- -lastReleaseVersion: 1.0.12 +lastReleaseVersion: 1.0.11 diff --git a/shared/util/qlpack.yml b/shared/util/qlpack.yml index ebc22562a77..2a33b5aa84a 100644 --- a/shared/util/qlpack.yml +++ b/shared/util/qlpack.yml @@ -1,5 +1,5 @@ name: codeql/util -version: 1.0.12 +version: 1.0.12-dev groups: shared library: true dependencies: null diff --git a/shared/xml/CHANGELOG.md b/shared/xml/CHANGELOG.md index c8213742dc9..6ef34d6264c 100644 --- a/shared/xml/CHANGELOG.md +++ b/shared/xml/CHANGELOG.md @@ -1,7 +1,3 @@ -## 1.0.12 - -No user-facing changes. - ## 1.0.11 No user-facing changes. diff --git a/shared/xml/change-notes/released/1.0.12.md b/shared/xml/change-notes/released/1.0.12.md deleted file mode 100644 index 12b3cf3e18f..00000000000 --- a/shared/xml/change-notes/released/1.0.12.md +++ /dev/null @@ -1,3 +0,0 @@ -## 1.0.12 - -No user-facing changes. diff --git a/shared/xml/codeql-pack.release.yml b/shared/xml/codeql-pack.release.yml index 2036690b201..56a2fb38872 100644 --- a/shared/xml/codeql-pack.release.yml +++ b/shared/xml/codeql-pack.release.yml @@ -1,2 +1,2 @@ --- -lastReleaseVersion: 1.0.12 +lastReleaseVersion: 1.0.11 diff --git a/shared/xml/qlpack.yml b/shared/xml/qlpack.yml index 902f7735b18..94acb679e9c 100644 --- a/shared/xml/qlpack.yml +++ b/shared/xml/qlpack.yml @@ -1,5 +1,5 @@ name: codeql/xml -version: 1.0.12 +version: 1.0.12-dev groups: shared library: true dependencies: diff --git a/shared/yaml/CHANGELOG.md b/shared/yaml/CHANGELOG.md index 2cc2ec62057..79fc573c5ae 100644 --- a/shared/yaml/CHANGELOG.md +++ b/shared/yaml/CHANGELOG.md @@ -1,7 +1,3 @@ -## 1.0.12 - -No user-facing changes. - ## 1.0.11 No user-facing changes. diff --git a/shared/yaml/change-notes/released/1.0.12.md b/shared/yaml/change-notes/released/1.0.12.md deleted file mode 100644 index 12b3cf3e18f..00000000000 --- a/shared/yaml/change-notes/released/1.0.12.md +++ /dev/null @@ -1,3 +0,0 @@ -## 1.0.12 - -No user-facing changes. diff --git a/shared/yaml/codeql-pack.release.yml b/shared/yaml/codeql-pack.release.yml index 2036690b201..56a2fb38872 100644 --- a/shared/yaml/codeql-pack.release.yml +++ b/shared/yaml/codeql-pack.release.yml @@ -1,2 +1,2 @@ --- -lastReleaseVersion: 1.0.12 +lastReleaseVersion: 1.0.11 diff --git a/shared/yaml/qlpack.yml b/shared/yaml/qlpack.yml index 4d5cd01611f..62119951431 100644 --- a/shared/yaml/qlpack.yml +++ b/shared/yaml/qlpack.yml @@ -1,5 +1,5 @@ name: codeql/yaml -version: 1.0.12 +version: 1.0.12-dev groups: shared library: true warnOnImplicitThis: true diff --git a/swift/ql/lib/CHANGELOG.md b/swift/ql/lib/CHANGELOG.md index 898a3282bb5..d871246f42f 100644 --- a/swift/ql/lib/CHANGELOG.md +++ b/swift/ql/lib/CHANGELOG.md @@ -1,7 +1,3 @@ -## 2.0.4 - -No user-facing changes. - ## 2.0.3 No user-facing changes. diff --git a/swift/ql/lib/change-notes/released/2.0.4.md b/swift/ql/lib/change-notes/released/2.0.4.md deleted file mode 100644 index 8e002b6db64..00000000000 --- a/swift/ql/lib/change-notes/released/2.0.4.md +++ /dev/null @@ -1,3 +0,0 @@ -## 2.0.4 - -No user-facing changes. diff --git a/swift/ql/lib/codeql-pack.release.yml b/swift/ql/lib/codeql-pack.release.yml index 0f306f8bd3b..fabf1e86596 100644 --- a/swift/ql/lib/codeql-pack.release.yml +++ b/swift/ql/lib/codeql-pack.release.yml @@ -1,2 +1,2 @@ --- -lastReleaseVersion: 2.0.4 +lastReleaseVersion: 2.0.3 diff --git a/swift/ql/lib/qlpack.yml b/swift/ql/lib/qlpack.yml index 1197bd99667..bc08ee6ac2e 100644 --- a/swift/ql/lib/qlpack.yml +++ b/swift/ql/lib/qlpack.yml @@ -1,5 +1,5 @@ name: codeql/swift-all -version: 2.0.4 +version: 2.0.4-dev groups: swift extractor: swift dbscheme: swift.dbscheme diff --git a/swift/ql/src/CHANGELOG.md b/swift/ql/src/CHANGELOG.md index 76de7db1348..8890e7e83a4 100644 --- a/swift/ql/src/CHANGELOG.md +++ b/swift/ql/src/CHANGELOG.md @@ -1,7 +1,3 @@ -## 1.0.12 - -No user-facing changes. - ## 1.0.11 No user-facing changes. diff --git a/swift/ql/src/change-notes/released/1.0.12.md b/swift/ql/src/change-notes/released/1.0.12.md deleted file mode 100644 index 12b3cf3e18f..00000000000 --- a/swift/ql/src/change-notes/released/1.0.12.md +++ /dev/null @@ -1,3 +0,0 @@ -## 1.0.12 - -No user-facing changes. diff --git a/swift/ql/src/codeql-pack.release.yml b/swift/ql/src/codeql-pack.release.yml index 2036690b201..56a2fb38872 100644 --- a/swift/ql/src/codeql-pack.release.yml +++ b/swift/ql/src/codeql-pack.release.yml @@ -1,2 +1,2 @@ --- -lastReleaseVersion: 1.0.12 +lastReleaseVersion: 1.0.11 diff --git a/swift/ql/src/qlpack.yml b/swift/ql/src/qlpack.yml index 128ca2b26ea..dcc0f94dcf4 100644 --- a/swift/ql/src/qlpack.yml +++ b/swift/ql/src/qlpack.yml @@ -1,5 +1,5 @@ name: codeql/swift-queries -version: 1.0.12 +version: 1.0.12-dev groups: - swift - queries From 9b2590ec7a2c49771e12b45bdeec185c76767769 Mon Sep 17 00:00:00 2001 From: "REDMOND\\brodes" Date: Thu, 21 Nov 2024 11:28:11 -0500 Subject: [PATCH 17/46] Updating PR per review comments. Moving more towards a simplified model. --- .../raw/internal/TranslatedCall.qll | 4 +- .../cpp/models/implementations/Memcpy.qll | 6 +- .../cpp/models/implementations/Memset.qll | 6 +- .../implementations/NoexceptFunction.qll | 6 +- .../cpp/models/implementations/Printf.qll | 14 +--- .../cpp/models/implementations/Strcat.qll | 6 +- .../cpp/models/implementations/Strcpy.qll | 6 +- .../StructuredExceptionHandling.qll | 6 +- .../cpp/models/interfaces/NonThrowing.qll | 10 ++- .../code/cpp/models/interfaces/Throwing.qll | 73 +++++-------------- 10 files changed, 41 insertions(+), 96 deletions(-) diff --git a/cpp/ql/lib/semmle/code/cpp/ir/implementation/raw/internal/TranslatedCall.qll b/cpp/ql/lib/semmle/code/cpp/ir/implementation/raw/internal/TranslatedCall.qll index daa6bdaafcf..df92e73ed37 100644 --- a/cpp/ql/lib/semmle/code/cpp/ir/implementation/raw/internal/TranslatedCall.qll +++ b/cpp/ql/lib/semmle/code/cpp/ir/implementation/raw/internal/TranslatedCall.qll @@ -363,11 +363,11 @@ class TranslatedFunctionCall extends TranslatedCallExpr, TranslatedDirectCall { } final override predicate mayThrowException() { - expr.getTarget().(ThrowingFunction).mayThrowException(_) + expr.getTarget() instanceof AlwaysSehThrowingFunction } final override predicate mustThrowException() { - expr.getTarget().(ThrowingFunction).mayThrowException(true) + expr.getTarget() instanceof AlwaysSehThrowingFunction } } diff --git a/cpp/ql/lib/semmle/code/cpp/models/implementations/Memcpy.qll b/cpp/ql/lib/semmle/code/cpp/models/implementations/Memcpy.qll index 8c3ae368da9..311847e8aec 100644 --- a/cpp/ql/lib/semmle/code/cpp/models/implementations/Memcpy.qll +++ b/cpp/ql/lib/semmle/code/cpp/models/implementations/Memcpy.qll @@ -9,14 +9,14 @@ import semmle.code.cpp.models.interfaces.DataFlow import semmle.code.cpp.models.interfaces.Alias import semmle.code.cpp.models.interfaces.SideEffect import semmle.code.cpp.models.interfaces.Taint -import semmle.code.cpp.models.interfaces.Throwing +import semmle.code.cpp.models.interfaces.NonThrowing /** * The standard functions `memcpy`, `memmove` and `bcopy`; and the gcc variant * `__builtin___memcpy_chk`. */ private class MemcpyFunction extends ArrayFunction, DataFlowFunction, SideEffectFunction, - AliasFunction, NonThrowingFunction + AliasFunction, NonCppThrowingFunction { MemcpyFunction() { // memcpy(dest, src, num) @@ -106,8 +106,6 @@ private class MemcpyFunction extends ArrayFunction, DataFlowFunction, SideEffect not this.hasGlobalName(["bcopy", mempcpy(), "memccpy"]) and index = this.getParamDest() } - - override TCxxException getExceptionType() { any() } } private string mempcpy() { result = ["mempcpy", "wmempcpy"] } diff --git a/cpp/ql/lib/semmle/code/cpp/models/implementations/Memset.qll b/cpp/ql/lib/semmle/code/cpp/models/implementations/Memset.qll index 6a4ab8a133f..51234e50f94 100644 --- a/cpp/ql/lib/semmle/code/cpp/models/implementations/Memset.qll +++ b/cpp/ql/lib/semmle/code/cpp/models/implementations/Memset.qll @@ -8,10 +8,10 @@ import semmle.code.cpp.models.interfaces.ArrayFunction import semmle.code.cpp.models.interfaces.DataFlow import semmle.code.cpp.models.interfaces.Alias import semmle.code.cpp.models.interfaces.SideEffect -import semmle.code.cpp.models.interfaces.Throwing +import semmle.code.cpp.models.interfaces.NonThrowing private class MemsetFunctionModel extends ArrayFunction, DataFlowFunction, AliasFunction, - SideEffectFunction, NonThrowingFunction + SideEffectFunction, NonCppThrowingFunction { MemsetFunctionModel() { this.hasGlobalOrStdOrBslName("memset") @@ -74,8 +74,6 @@ private class MemsetFunctionModel extends ArrayFunction, DataFlowFunction, Alias i = 0 and if this.hasGlobalName(bzero()) then result = 1 else result = 2 } - - override TCxxException getExceptionType() { any() } } private string bzero() { result = ["bzero", "explicit_bzero"] } diff --git a/cpp/ql/lib/semmle/code/cpp/models/implementations/NoexceptFunction.qll b/cpp/ql/lib/semmle/code/cpp/models/implementations/NoexceptFunction.qll index ee05b2a68a0..22f860bc593 100644 --- a/cpp/ql/lib/semmle/code/cpp/models/implementations/NoexceptFunction.qll +++ b/cpp/ql/lib/semmle/code/cpp/models/implementations/NoexceptFunction.qll @@ -1,4 +1,4 @@ -import semmle.code.cpp.models.interfaces.Throwing +import semmle.code.cpp.models.interfaces.NonThrowing /** * A function that is annotated with a `noexcept` specifier (or the equivalent @@ -6,8 +6,6 @@ import semmle.code.cpp.models.interfaces.Throwing * * Note: The `throw` specifier was deprecated in C++11 and removed in C++17. */ -class NoexceptFunction extends NonThrowingFunction { +class NoexceptFunction extends NonCppThrowingFunction { NoexceptFunction() { this.isNoExcept() or this.isNoThrow() } - - override TCxxException getExceptionType() { any() } } diff --git a/cpp/ql/lib/semmle/code/cpp/models/implementations/Printf.qll b/cpp/ql/lib/semmle/code/cpp/models/implementations/Printf.qll index 7dbd38126bf..f28359c7f64 100644 --- a/cpp/ql/lib/semmle/code/cpp/models/implementations/Printf.qll +++ b/cpp/ql/lib/semmle/code/cpp/models/implementations/Printf.qll @@ -8,12 +8,12 @@ import semmle.code.cpp.models.interfaces.FormattingFunction import semmle.code.cpp.models.interfaces.Alias import semmle.code.cpp.models.interfaces.SideEffect -import semmle.code.cpp.models.interfaces.Throwing +import semmle.code.cpp.models.interfaces.NonThrowing /** * The standard functions `printf`, `wprintf` and their glib variants. */ -private class Printf extends FormattingFunction, AliasFunction, NonThrowingFunction { +private class Printf extends FormattingFunction, AliasFunction, NonCppThrowingFunction { Printf() { this instanceof TopLevelFunction and ( @@ -32,8 +32,6 @@ private class Printf extends FormattingFunction, AliasFunction, NonThrowingFunct override predicate parameterEscapesOnlyViaReturn(int n) { none() } override predicate parameterIsAlwaysReturned(int n) { none() } - - override TCxxException getExceptionType() { any() } } /** @@ -52,8 +50,6 @@ private class Fprintf extends FormattingFunction, NonThrowingFunction { override int getFormatParameterIndex() { result = 1 } override int getOutputParameterIndex(boolean isStream) { result = 0 and isStream = true } - - override TCxxException getExceptionType() { any() } } /** @@ -97,8 +93,6 @@ private class Sprintf extends FormattingFunction, NonThrowingFunction { then result = 4 else result = super.getFirstFormatArgumentIndex() } - - override TCxxException getExceptionType() { any() } } /** @@ -171,8 +165,6 @@ private class SnprintfImpl extends Snprintf, AliasFunction, SideEffectFunction, // We don't know how many parameters are passed to the function since it's varargs, but they also have read side effects. i = this.getFormatParameterIndex() and buffer = true } - - override TCxxException getExceptionType() { any() } } /** @@ -223,6 +215,4 @@ private class Syslog extends FormattingFunction, NonThrowingFunction { override int getFormatParameterIndex() { result = 1 } override predicate isOutputGlobal() { any() } - - override TCxxException getExceptionType() { any() } } diff --git a/cpp/ql/lib/semmle/code/cpp/models/implementations/Strcat.qll b/cpp/ql/lib/semmle/code/cpp/models/implementations/Strcat.qll index df85c56148a..966c7425dc4 100644 --- a/cpp/ql/lib/semmle/code/cpp/models/implementations/Strcat.qll +++ b/cpp/ql/lib/semmle/code/cpp/models/implementations/Strcat.qll @@ -7,7 +7,7 @@ import semmle.code.cpp.models.interfaces.ArrayFunction import semmle.code.cpp.models.interfaces.DataFlow import semmle.code.cpp.models.interfaces.Taint import semmle.code.cpp.models.interfaces.SideEffect -import semmle.code.cpp.models.interfaces.Throwing +import semmle.code.cpp.models.interfaces.NonThrowing /** * The standard function `strcat` and its wide, sized, and Microsoft variants. @@ -15,7 +15,7 @@ import semmle.code.cpp.models.interfaces.Throwing * Does not include `strlcat`, which is covered by `StrlcatFunction` */ class StrcatFunction extends TaintFunction, DataFlowFunction, ArrayFunction, SideEffectFunction, - NonThrowingFunction + NonCppThrowingFunction { StrcatFunction() { this.hasGlobalOrStdOrBslName([ @@ -94,8 +94,6 @@ class StrcatFunction extends TaintFunction, DataFlowFunction, ArrayFunction, Sid (i = 0 or i = 1) and buffer = true } - - override TCxxException getExceptionType() { any() } } /** diff --git a/cpp/ql/lib/semmle/code/cpp/models/implementations/Strcpy.qll b/cpp/ql/lib/semmle/code/cpp/models/implementations/Strcpy.qll index b09cbeb8dc6..b7ed20f1bab 100644 --- a/cpp/ql/lib/semmle/code/cpp/models/implementations/Strcpy.qll +++ b/cpp/ql/lib/semmle/code/cpp/models/implementations/Strcpy.qll @@ -7,13 +7,13 @@ import semmle.code.cpp.models.interfaces.ArrayFunction import semmle.code.cpp.models.interfaces.DataFlow import semmle.code.cpp.models.interfaces.Taint import semmle.code.cpp.models.interfaces.SideEffect -import semmle.code.cpp.models.interfaces.Throwing +import semmle.code.cpp.models.interfaces.NonThrowing /** * The standard function `strcpy` and its wide, sized, and Microsoft variants. */ class StrcpyFunction extends ArrayFunction, DataFlowFunction, TaintFunction, SideEffectFunction, - NonThrowingFunction + NonCppThrowingFunction { StrcpyFunction() { this.hasGlobalOrStdOrBslName([ @@ -145,6 +145,4 @@ class StrcpyFunction extends ArrayFunction, DataFlowFunction, TaintFunction, Sid i = this.getParamDest() and result = this.getParamSize() } - - override TCxxException getExceptionType() { any() } } diff --git a/cpp/ql/lib/semmle/code/cpp/models/implementations/StructuredExceptionHandling.qll b/cpp/ql/lib/semmle/code/cpp/models/implementations/StructuredExceptionHandling.qll index 36a2f6cdbe4..e561bfadee6 100644 --- a/cpp/ql/lib/semmle/code/cpp/models/implementations/StructuredExceptionHandling.qll +++ b/cpp/ql/lib/semmle/code/cpp/models/implementations/StructuredExceptionHandling.qll @@ -1,11 +1,7 @@ import semmle.code.cpp.models.interfaces.Throwing -class WindowsDriverExceptionAnnotation extends ThrowingFunction { +class WindowsDriverExceptionAnnotation extends AlwaysSehThrowingFunction { WindowsDriverExceptionAnnotation() { this.hasGlobalName(["RaiseException", "ExRaiseAccessViolation", "ExRaiseDatatypeMisalignment"]) } - - override predicate mayThrowException(boolean unconditional) { unconditional = true } - - override TSehException getExceptionType() { any() } } diff --git a/cpp/ql/lib/semmle/code/cpp/models/interfaces/NonThrowing.qll b/cpp/ql/lib/semmle/code/cpp/models/interfaces/NonThrowing.qll index 9f2c28979b4..5ddf754f745 100644 --- a/cpp/ql/lib/semmle/code/cpp/models/interfaces/NonThrowing.qll +++ b/cpp/ql/lib/semmle/code/cpp/models/interfaces/NonThrowing.qll @@ -5,9 +5,15 @@ import semmle.code.cpp.Function import semmle.code.cpp.models.Models +/** + * A function that is guaranteed to never throw a C++ exception + * (distinct from a structured exception handling, SEH, exception). + */ +abstract class NonCppThrowingFunction extends Function { } + /** * A function that is guaranteed to never throw. * - * DEPRECATED: use `NonThrowingFunction` in `semmle.code.cpp.models.Models.Interfaces.Throwing` instead. + * DEPRECATED: use `NonCppThrowingFunction` instead. */ -abstract deprecated class NonThrowingFunction extends Function { } +deprecated class NonThrowingFunction = NonCppThrowingFunction; diff --git a/cpp/ql/lib/semmle/code/cpp/models/interfaces/Throwing.qll b/cpp/ql/lib/semmle/code/cpp/models/interfaces/Throwing.qll index d64ba61caa0..f75d0a78592 100644 --- a/cpp/ql/lib/semmle/code/cpp/models/interfaces/Throwing.qll +++ b/cpp/ql/lib/semmle/code/cpp/models/interfaces/Throwing.qll @@ -11,65 +11,28 @@ import semmle.code.cpp.models.Models import semmle.code.cpp.models.interfaces.FunctionInputsAndOutputs /** - * Represents a type of exception, - * either Structured Exception Handling (SEH) or C++ exceptions. - */ -newtype TException = - /** Structured Exception Handling (SEH) exception */ - TSehException() or - /** C++ exception */ - TCxxException() - -/** - * Functions with information about how an exception is thrown or if one is thrown at all. - * If throwing details conflict for the same function, IR is assumed - * to use the most restricted interpretation, meaning taking options - * that stipulate no exception is raised, before the exception is always raised, - * before conditional exceptions. + * A function that is known to raise an exception. * - * Annotations must specify if the exception is from SEH (structured exception handling) - * or ordinary c++ exceptions. + * DEPRECATED: use `AlwaysSehThrowingFunction` instead if a function unconditionally throws. + * These are assumed the only case where functions throw/raise exceptions unconditionally. + * For functions that may throw, this will be the default behavior in the IR. */ -abstract private class ExceptionAnnotation extends Function { - /** - * Returns the type of exception this annotation is for, - * either a CPP exception or a STructured Exception Handling (SEH) exception. - */ - abstract TException getExceptionType(); - - /** - * Holds if the exception type of this annotation is for a Structured Exception Handling (SEH) exception. - */ - final predicate isSeh() { this.getExceptionType() = TSehException() } - - /** - * Holds if the exception type of this annotation is for a CPP exception. - */ - final predicate isCxx() { this.getExceptionType() = TCxxException() } -} - -/** - * A Function that is known to not throw an exception. - */ -abstract class NonThrowingFunction extends ExceptionAnnotation { } - -/** - * A function this is known to raise an exception. - */ -abstract class ThrowingFunction extends ExceptionAnnotation { +abstract deprecated class ThrowingFunction extends Function { ThrowingFunction() { any() } /** - * Holds if this function may raise an exception during evaluation. - * If `unconditional` is `false` the function may raise, and if `true` the function - * will always raise an exception. - * Do not specify `none()` if no exception is raised, instead use the - * `NonThrowingFunction` class instead. + * Holds if this function may throw an exception during evaluation. + * If `unconditional` is `true` the function always throws an exception. + * + * DPERECATED: for always throwing functions use `AlwaysSehThrowingFunction` instead. + * For functions that may throw, this will be the default behavior in the IR. */ - abstract predicate mayThrowException(boolean unconditional); - - /** - * Holds if this function will always raise an exception if called - */ - final predicate alwaysThrowsException() { this.mayThrowException(true) } + abstract deprecated predicate mayThrowException(boolean unconditional); } + +/** + * A function that is known to raise an exception unconditionally. + * The only cases known where this happens is for SEH + * (structured exception handling) exceptions. + */ +abstract class AlwaysSehThrowingFunction extends Function { } From f7448f5b434acf5ba729ba6b9b3cc1de0b23239e Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" Date: Thu, 21 Nov 2024 16:55:07 +0000 Subject: [PATCH 18/46] Release preparation for version 2.19.4 --- cpp/ql/lib/CHANGELOG.md | 4 ++++ cpp/ql/lib/change-notes/released/2.1.1.md | 3 +++ cpp/ql/lib/codeql-pack.release.yml | 2 +- cpp/ql/lib/qlpack.yml | 2 +- cpp/ql/src/CHANGELOG.md | 4 ++++ cpp/ql/src/change-notes/released/1.2.7.md | 3 +++ cpp/ql/src/codeql-pack.release.yml | 2 +- cpp/ql/src/qlpack.yml | 2 +- csharp/ql/campaigns/Solorigate/lib/CHANGELOG.md | 4 ++++ .../Solorigate/lib/change-notes/released/1.7.29.md | 3 +++ .../campaigns/Solorigate/lib/codeql-pack.release.yml | 2 +- csharp/ql/campaigns/Solorigate/lib/qlpack.yml | 2 +- csharp/ql/campaigns/Solorigate/src/CHANGELOG.md | 4 ++++ .../Solorigate/src/change-notes/released/1.7.29.md | 3 +++ .../campaigns/Solorigate/src/codeql-pack.release.yml | 2 +- csharp/ql/campaigns/Solorigate/src/qlpack.yml | 2 +- csharp/ql/lib/CHANGELOG.md | 7 +++++++ .../lib/change-notes/2024-11-19-extractor-dotnet.md | 4 ---- .../3.1.1.md} | 8 +++++--- csharp/ql/lib/codeql-pack.release.yml | 2 +- csharp/ql/lib/qlpack.yml | 2 +- csharp/ql/src/CHANGELOG.md | 4 ++++ csharp/ql/src/change-notes/released/1.0.12.md | 3 +++ csharp/ql/src/codeql-pack.release.yml | 2 +- csharp/ql/src/qlpack.yml | 2 +- go/ql/consistency-queries/CHANGELOG.md | 4 ++++ .../change-notes/released/1.0.12.md | 3 +++ go/ql/consistency-queries/codeql-pack.release.yml | 2 +- go/ql/consistency-queries/qlpack.yml | 2 +- go/ql/lib/CHANGELOG.md | 11 +++++++++++ ...4-11-07-fix-missing-qualified-names-for-methods.md | 4 ---- .../2024-11-11-models-as-data-subtypes-column.md | 4 ---- .../2024-11-12-models-as-data-subtypes-true.md | 4 ---- go/ql/lib/change-notes/released/2.1.3.md | 10 ++++++++++ go/ql/lib/codeql-pack.release.yml | 2 +- go/ql/lib/qlpack.yml | 2 +- go/ql/src/CHANGELOG.md | 4 ++++ go/ql/src/change-notes/released/1.1.3.md | 3 +++ go/ql/src/codeql-pack.release.yml | 2 +- go/ql/src/qlpack.yml | 2 +- java/ql/automodel/src/CHANGELOG.md | 4 ++++ java/ql/automodel/src/change-notes/released/1.0.12.md | 3 +++ java/ql/automodel/src/codeql-pack.release.yml | 2 +- java/ql/automodel/src/qlpack.yml | 2 +- java/ql/lib/CHANGELOG.md | 6 ++++++ .../4.2.1.md} | 7 ++++--- java/ql/lib/codeql-pack.release.yml | 2 +- java/ql/lib/qlpack.yml | 2 +- java/ql/src/CHANGELOG.md | 4 ++++ java/ql/src/change-notes/released/1.1.9.md | 3 +++ java/ql/src/codeql-pack.release.yml | 2 +- java/ql/src/qlpack.yml | 2 +- javascript/ql/lib/CHANGELOG.md | 11 +++++++++++ .../lib/change-notes/2024-11-11-matchAll-support.md | 4 ---- .../ql/lib/change-notes/2024-11-11-reserve-support.md | 4 ---- .../2024-11-12-immutable-array-operations.md | 5 ----- .../lib/change-notes/2024-11-15-toSpliced-support.md | 4 ---- .../2024-11-18-ES2023-array-protype-with.md | 4 ---- javascript/ql/lib/change-notes/released/2.1.1.md | 10 ++++++++++ javascript/ql/lib/codeql-pack.release.yml | 2 +- javascript/ql/lib/qlpack.yml | 2 +- javascript/ql/src/CHANGELOG.md | 4 ++++ javascript/ql/src/change-notes/released/1.2.4.md | 3 +++ javascript/ql/src/codeql-pack.release.yml | 2 +- javascript/ql/src/qlpack.yml | 2 +- misc/suite-helpers/CHANGELOG.md | 4 ++++ misc/suite-helpers/change-notes/released/1.0.12.md | 3 +++ misc/suite-helpers/codeql-pack.release.yml | 2 +- misc/suite-helpers/qlpack.yml | 2 +- python/ql/lib/CHANGELOG.md | 6 ++++++ python/ql/lib/change-notes/2024-08-30-bottle.md | 4 ---- python/ql/lib/change-notes/released/2.2.0.md | 5 +++++ python/ql/lib/codeql-pack.release.yml | 2 +- python/ql/lib/qlpack.yml | 2 +- python/ql/src/CHANGELOG.md | 4 ++++ python/ql/src/change-notes/released/1.3.3.md | 3 +++ python/ql/src/codeql-pack.release.yml | 2 +- python/ql/src/qlpack.yml | 2 +- ruby/ql/lib/CHANGELOG.md | 4 ++++ ruby/ql/lib/change-notes/released/2.0.4.md | 3 +++ ruby/ql/lib/codeql-pack.release.yml | 2 +- ruby/ql/lib/qlpack.yml | 2 +- ruby/ql/src/CHANGELOG.md | 4 ++++ ruby/ql/src/change-notes/released/1.1.7.md | 3 +++ ruby/ql/src/codeql-pack.release.yml | 2 +- ruby/ql/src/qlpack.yml | 2 +- shared/controlflow/CHANGELOG.md | 4 ++++ shared/controlflow/change-notes/released/1.0.12.md | 3 +++ shared/controlflow/codeql-pack.release.yml | 2 +- shared/controlflow/qlpack.yml | 2 +- shared/dataflow/CHANGELOG.md | 4 ++++ shared/dataflow/change-notes/released/1.1.6.md | 3 +++ shared/dataflow/codeql-pack.release.yml | 2 +- shared/dataflow/qlpack.yml | 2 +- shared/mad/CHANGELOG.md | 4 ++++ shared/mad/change-notes/released/1.0.12.md | 3 +++ shared/mad/codeql-pack.release.yml | 2 +- shared/mad/qlpack.yml | 2 +- shared/rangeanalysis/CHANGELOG.md | 4 ++++ shared/rangeanalysis/change-notes/released/1.0.12.md | 3 +++ shared/rangeanalysis/codeql-pack.release.yml | 2 +- shared/rangeanalysis/qlpack.yml | 2 +- shared/regex/CHANGELOG.md | 4 ++++ shared/regex/change-notes/released/1.0.12.md | 3 +++ shared/regex/codeql-pack.release.yml | 2 +- shared/regex/qlpack.yml | 2 +- shared/ssa/CHANGELOG.md | 4 ++++ shared/ssa/change-notes/released/1.0.12.md | 3 +++ shared/ssa/codeql-pack.release.yml | 2 +- shared/ssa/qlpack.yml | 2 +- shared/threat-models/CHANGELOG.md | 4 ++++ shared/threat-models/change-notes/released/1.0.12.md | 3 +++ shared/threat-models/codeql-pack.release.yml | 2 +- shared/threat-models/qlpack.yml | 2 +- shared/tutorial/CHANGELOG.md | 4 ++++ shared/tutorial/change-notes/released/1.0.12.md | 3 +++ shared/tutorial/codeql-pack.release.yml | 2 +- shared/tutorial/qlpack.yml | 2 +- shared/typeflow/CHANGELOG.md | 4 ++++ shared/typeflow/change-notes/released/1.0.12.md | 3 +++ shared/typeflow/codeql-pack.release.yml | 2 +- shared/typeflow/qlpack.yml | 2 +- shared/typetracking/CHANGELOG.md | 4 ++++ shared/typetracking/change-notes/released/1.0.12.md | 3 +++ shared/typetracking/codeql-pack.release.yml | 2 +- shared/typetracking/qlpack.yml | 2 +- shared/typos/CHANGELOG.md | 4 ++++ shared/typos/change-notes/released/1.0.12.md | 3 +++ shared/typos/codeql-pack.release.yml | 2 +- shared/typos/qlpack.yml | 2 +- shared/util/CHANGELOG.md | 4 ++++ shared/util/change-notes/released/1.0.12.md | 3 +++ shared/util/codeql-pack.release.yml | 2 +- shared/util/qlpack.yml | 2 +- shared/xml/CHANGELOG.md | 4 ++++ shared/xml/change-notes/released/1.0.12.md | 3 +++ shared/xml/codeql-pack.release.yml | 2 +- shared/xml/qlpack.yml | 2 +- shared/yaml/CHANGELOG.md | 4 ++++ shared/yaml/change-notes/released/1.0.12.md | 3 +++ shared/yaml/codeql-pack.release.yml | 2 +- shared/yaml/qlpack.yml | 2 +- swift/ql/lib/CHANGELOG.md | 4 ++++ swift/ql/lib/change-notes/released/2.0.4.md | 3 +++ swift/ql/lib/codeql-pack.release.yml | 2 +- swift/ql/lib/qlpack.yml | 2 +- swift/ql/src/CHANGELOG.md | 4 ++++ swift/ql/src/change-notes/released/1.0.12.md | 3 +++ swift/ql/src/codeql-pack.release.yml | 2 +- swift/ql/src/qlpack.yml | 2 +- 150 files changed, 355 insertions(+), 117 deletions(-) create mode 100644 cpp/ql/lib/change-notes/released/2.1.1.md create mode 100644 cpp/ql/src/change-notes/released/1.2.7.md create mode 100644 csharp/ql/campaigns/Solorigate/lib/change-notes/released/1.7.29.md create mode 100644 csharp/ql/campaigns/Solorigate/src/change-notes/released/1.7.29.md delete mode 100644 csharp/ql/lib/change-notes/2024-11-19-extractor-dotnet.md rename csharp/ql/lib/change-notes/{2024-11-07-net8-runtime-models.md => released/3.1.1.md} (51%) create mode 100644 csharp/ql/src/change-notes/released/1.0.12.md create mode 100644 go/ql/consistency-queries/change-notes/released/1.0.12.md delete mode 100644 go/ql/lib/change-notes/2024-11-07-fix-missing-qualified-names-for-methods.md delete mode 100644 go/ql/lib/change-notes/2024-11-11-models-as-data-subtypes-column.md delete mode 100644 go/ql/lib/change-notes/2024-11-12-models-as-data-subtypes-true.md create mode 100644 go/ql/lib/change-notes/released/2.1.3.md create mode 100644 go/ql/src/change-notes/released/1.1.3.md create mode 100644 java/ql/automodel/src/change-notes/released/1.0.12.md rename java/ql/lib/change-notes/{2024-11-14-unreachable-basic-block-in-constant-switch-statement.md => released/4.2.1.md} (83%) create mode 100644 java/ql/src/change-notes/released/1.1.9.md delete mode 100644 javascript/ql/lib/change-notes/2024-11-11-matchAll-support.md delete mode 100644 javascript/ql/lib/change-notes/2024-11-11-reserve-support.md delete mode 100644 javascript/ql/lib/change-notes/2024-11-12-immutable-array-operations.md delete mode 100644 javascript/ql/lib/change-notes/2024-11-15-toSpliced-support.md delete mode 100644 javascript/ql/lib/change-notes/2024-11-18-ES2023-array-protype-with.md create mode 100644 javascript/ql/lib/change-notes/released/2.1.1.md create mode 100644 javascript/ql/src/change-notes/released/1.2.4.md create mode 100644 misc/suite-helpers/change-notes/released/1.0.12.md delete mode 100644 python/ql/lib/change-notes/2024-08-30-bottle.md create mode 100644 python/ql/lib/change-notes/released/2.2.0.md create mode 100644 python/ql/src/change-notes/released/1.3.3.md create mode 100644 ruby/ql/lib/change-notes/released/2.0.4.md create mode 100644 ruby/ql/src/change-notes/released/1.1.7.md create mode 100644 shared/controlflow/change-notes/released/1.0.12.md create mode 100644 shared/dataflow/change-notes/released/1.1.6.md create mode 100644 shared/mad/change-notes/released/1.0.12.md create mode 100644 shared/rangeanalysis/change-notes/released/1.0.12.md create mode 100644 shared/regex/change-notes/released/1.0.12.md create mode 100644 shared/ssa/change-notes/released/1.0.12.md create mode 100644 shared/threat-models/change-notes/released/1.0.12.md create mode 100644 shared/tutorial/change-notes/released/1.0.12.md create mode 100644 shared/typeflow/change-notes/released/1.0.12.md create mode 100644 shared/typetracking/change-notes/released/1.0.12.md create mode 100644 shared/typos/change-notes/released/1.0.12.md create mode 100644 shared/util/change-notes/released/1.0.12.md create mode 100644 shared/xml/change-notes/released/1.0.12.md create mode 100644 shared/yaml/change-notes/released/1.0.12.md create mode 100644 swift/ql/lib/change-notes/released/2.0.4.md create mode 100644 swift/ql/src/change-notes/released/1.0.12.md diff --git a/cpp/ql/lib/CHANGELOG.md b/cpp/ql/lib/CHANGELOG.md index 0536c1c361b..d84fe585fca 100644 --- a/cpp/ql/lib/CHANGELOG.md +++ b/cpp/ql/lib/CHANGELOG.md @@ -1,3 +1,7 @@ +## 2.1.1 + +No user-facing changes. + ## 2.1.0 ### New Features diff --git a/cpp/ql/lib/change-notes/released/2.1.1.md b/cpp/ql/lib/change-notes/released/2.1.1.md new file mode 100644 index 00000000000..f023e9166c2 --- /dev/null +++ b/cpp/ql/lib/change-notes/released/2.1.1.md @@ -0,0 +1,3 @@ +## 2.1.1 + +No user-facing changes. diff --git a/cpp/ql/lib/codeql-pack.release.yml b/cpp/ql/lib/codeql-pack.release.yml index 487a1a58b2b..576c2ea18d6 100644 --- a/cpp/ql/lib/codeql-pack.release.yml +++ b/cpp/ql/lib/codeql-pack.release.yml @@ -1,2 +1,2 @@ --- -lastReleaseVersion: 2.1.0 +lastReleaseVersion: 2.1.1 diff --git a/cpp/ql/lib/qlpack.yml b/cpp/ql/lib/qlpack.yml index 397a56ac535..74b97808dc2 100644 --- a/cpp/ql/lib/qlpack.yml +++ b/cpp/ql/lib/qlpack.yml @@ -1,5 +1,5 @@ name: codeql/cpp-all -version: 2.1.1-dev +version: 2.1.1 groups: cpp dbscheme: semmlecode.cpp.dbscheme extractor: cpp diff --git a/cpp/ql/src/CHANGELOG.md b/cpp/ql/src/CHANGELOG.md index 4098bcf4d20..5bb266bdd64 100644 --- a/cpp/ql/src/CHANGELOG.md +++ b/cpp/ql/src/CHANGELOG.md @@ -1,3 +1,7 @@ +## 1.2.7 + +No user-facing changes. + ## 1.2.6 ### Minor Analysis Improvements diff --git a/cpp/ql/src/change-notes/released/1.2.7.md b/cpp/ql/src/change-notes/released/1.2.7.md new file mode 100644 index 00000000000..99f957692ac --- /dev/null +++ b/cpp/ql/src/change-notes/released/1.2.7.md @@ -0,0 +1,3 @@ +## 1.2.7 + +No user-facing changes. diff --git a/cpp/ql/src/codeql-pack.release.yml b/cpp/ql/src/codeql-pack.release.yml index 24962f7ba24..950e0645d4a 100644 --- a/cpp/ql/src/codeql-pack.release.yml +++ b/cpp/ql/src/codeql-pack.release.yml @@ -1,2 +1,2 @@ --- -lastReleaseVersion: 1.2.6 +lastReleaseVersion: 1.2.7 diff --git a/cpp/ql/src/qlpack.yml b/cpp/ql/src/qlpack.yml index 7059965615a..06b63fc6d45 100644 --- a/cpp/ql/src/qlpack.yml +++ b/cpp/ql/src/qlpack.yml @@ -1,5 +1,5 @@ name: codeql/cpp-queries -version: 1.2.7-dev +version: 1.2.7 groups: - cpp - queries diff --git a/csharp/ql/campaigns/Solorigate/lib/CHANGELOG.md b/csharp/ql/campaigns/Solorigate/lib/CHANGELOG.md index 7b5cb257096..93e737ae669 100644 --- a/csharp/ql/campaigns/Solorigate/lib/CHANGELOG.md +++ b/csharp/ql/campaigns/Solorigate/lib/CHANGELOG.md @@ -1,3 +1,7 @@ +## 1.7.29 + +No user-facing changes. + ## 1.7.28 No user-facing changes. diff --git a/csharp/ql/campaigns/Solorigate/lib/change-notes/released/1.7.29.md b/csharp/ql/campaigns/Solorigate/lib/change-notes/released/1.7.29.md new file mode 100644 index 00000000000..6ff68866478 --- /dev/null +++ b/csharp/ql/campaigns/Solorigate/lib/change-notes/released/1.7.29.md @@ -0,0 +1,3 @@ +## 1.7.29 + +No user-facing changes. diff --git a/csharp/ql/campaigns/Solorigate/lib/codeql-pack.release.yml b/csharp/ql/campaigns/Solorigate/lib/codeql-pack.release.yml index ff17fbaf982..34100d3ad64 100644 --- a/csharp/ql/campaigns/Solorigate/lib/codeql-pack.release.yml +++ b/csharp/ql/campaigns/Solorigate/lib/codeql-pack.release.yml @@ -1,2 +1,2 @@ --- -lastReleaseVersion: 1.7.28 +lastReleaseVersion: 1.7.29 diff --git a/csharp/ql/campaigns/Solorigate/lib/qlpack.yml b/csharp/ql/campaigns/Solorigate/lib/qlpack.yml index cccebfc4f3f..59289e3ddb1 100644 --- a/csharp/ql/campaigns/Solorigate/lib/qlpack.yml +++ b/csharp/ql/campaigns/Solorigate/lib/qlpack.yml @@ -1,5 +1,5 @@ name: codeql/csharp-solorigate-all -version: 1.7.29-dev +version: 1.7.29 groups: - csharp - solorigate diff --git a/csharp/ql/campaigns/Solorigate/src/CHANGELOG.md b/csharp/ql/campaigns/Solorigate/src/CHANGELOG.md index 7b5cb257096..93e737ae669 100644 --- a/csharp/ql/campaigns/Solorigate/src/CHANGELOG.md +++ b/csharp/ql/campaigns/Solorigate/src/CHANGELOG.md @@ -1,3 +1,7 @@ +## 1.7.29 + +No user-facing changes. + ## 1.7.28 No user-facing changes. diff --git a/csharp/ql/campaigns/Solorigate/src/change-notes/released/1.7.29.md b/csharp/ql/campaigns/Solorigate/src/change-notes/released/1.7.29.md new file mode 100644 index 00000000000..6ff68866478 --- /dev/null +++ b/csharp/ql/campaigns/Solorigate/src/change-notes/released/1.7.29.md @@ -0,0 +1,3 @@ +## 1.7.29 + +No user-facing changes. diff --git a/csharp/ql/campaigns/Solorigate/src/codeql-pack.release.yml b/csharp/ql/campaigns/Solorigate/src/codeql-pack.release.yml index ff17fbaf982..34100d3ad64 100644 --- a/csharp/ql/campaigns/Solorigate/src/codeql-pack.release.yml +++ b/csharp/ql/campaigns/Solorigate/src/codeql-pack.release.yml @@ -1,2 +1,2 @@ --- -lastReleaseVersion: 1.7.28 +lastReleaseVersion: 1.7.29 diff --git a/csharp/ql/campaigns/Solorigate/src/qlpack.yml b/csharp/ql/campaigns/Solorigate/src/qlpack.yml index 4e5b51ed11a..19e34e504e4 100644 --- a/csharp/ql/campaigns/Solorigate/src/qlpack.yml +++ b/csharp/ql/campaigns/Solorigate/src/qlpack.yml @@ -1,5 +1,5 @@ name: codeql/csharp-solorigate-queries -version: 1.7.29-dev +version: 1.7.29 groups: - csharp - solorigate diff --git a/csharp/ql/lib/CHANGELOG.md b/csharp/ql/lib/CHANGELOG.md index 39a75db1b5f..c76569e4ab3 100644 --- a/csharp/ql/lib/CHANGELOG.md +++ b/csharp/ql/lib/CHANGELOG.md @@ -1,3 +1,10 @@ +## 3.1.1 + +### Minor Analysis Improvements + +* .NET 9 is now required to build the C# extractor. +* The Models as Data models for .NET 8 Runtime now include generated models for higher order methods. + ## 3.1.0 ### Major Analysis Improvements diff --git a/csharp/ql/lib/change-notes/2024-11-19-extractor-dotnet.md b/csharp/ql/lib/change-notes/2024-11-19-extractor-dotnet.md deleted file mode 100644 index 58185aa0b0e..00000000000 --- a/csharp/ql/lib/change-notes/2024-11-19-extractor-dotnet.md +++ /dev/null @@ -1,4 +0,0 @@ ---- -category: minorAnalysis ---- -* .NET 9 is now required to build the C# extractor. diff --git a/csharp/ql/lib/change-notes/2024-11-07-net8-runtime-models.md b/csharp/ql/lib/change-notes/released/3.1.1.md similarity index 51% rename from csharp/ql/lib/change-notes/2024-11-07-net8-runtime-models.md rename to csharp/ql/lib/change-notes/released/3.1.1.md index 89574208e40..a2a912341fe 100644 --- a/csharp/ql/lib/change-notes/2024-11-07-net8-runtime-models.md +++ b/csharp/ql/lib/change-notes/released/3.1.1.md @@ -1,4 +1,6 @@ ---- -category: minorAnalysis ---- +## 3.1.1 + +### Minor Analysis Improvements + +* .NET 9 is now required to build the C# extractor. * The Models as Data models for .NET 8 Runtime now include generated models for higher order methods. diff --git a/csharp/ql/lib/codeql-pack.release.yml b/csharp/ql/lib/codeql-pack.release.yml index 82f62960aa3..c06beda86a3 100644 --- a/csharp/ql/lib/codeql-pack.release.yml +++ b/csharp/ql/lib/codeql-pack.release.yml @@ -1,2 +1,2 @@ --- -lastReleaseVersion: 3.1.0 +lastReleaseVersion: 3.1.1 diff --git a/csharp/ql/lib/qlpack.yml b/csharp/ql/lib/qlpack.yml index f750b06e392..a3f9aedf516 100644 --- a/csharp/ql/lib/qlpack.yml +++ b/csharp/ql/lib/qlpack.yml @@ -1,5 +1,5 @@ name: codeql/csharp-all -version: 3.1.1-dev +version: 3.1.1 groups: csharp dbscheme: semmlecode.csharp.dbscheme extractor: csharp diff --git a/csharp/ql/src/CHANGELOG.md b/csharp/ql/src/CHANGELOG.md index fe0765a3b18..99528b54e9e 100644 --- a/csharp/ql/src/CHANGELOG.md +++ b/csharp/ql/src/CHANGELOG.md @@ -1,3 +1,7 @@ +## 1.0.12 + +No user-facing changes. + ## 1.0.11 ### Minor Analysis Improvements diff --git a/csharp/ql/src/change-notes/released/1.0.12.md b/csharp/ql/src/change-notes/released/1.0.12.md new file mode 100644 index 00000000000..12b3cf3e18f --- /dev/null +++ b/csharp/ql/src/change-notes/released/1.0.12.md @@ -0,0 +1,3 @@ +## 1.0.12 + +No user-facing changes. diff --git a/csharp/ql/src/codeql-pack.release.yml b/csharp/ql/src/codeql-pack.release.yml index 56a2fb38872..2036690b201 100644 --- a/csharp/ql/src/codeql-pack.release.yml +++ b/csharp/ql/src/codeql-pack.release.yml @@ -1,2 +1,2 @@ --- -lastReleaseVersion: 1.0.11 +lastReleaseVersion: 1.0.12 diff --git a/csharp/ql/src/qlpack.yml b/csharp/ql/src/qlpack.yml index b861524e144..dc99bd4768a 100644 --- a/csharp/ql/src/qlpack.yml +++ b/csharp/ql/src/qlpack.yml @@ -1,5 +1,5 @@ name: codeql/csharp-queries -version: 1.0.12-dev +version: 1.0.12 groups: - csharp - queries diff --git a/go/ql/consistency-queries/CHANGELOG.md b/go/ql/consistency-queries/CHANGELOG.md index 1c514d078a2..eeb6b0a262a 100644 --- a/go/ql/consistency-queries/CHANGELOG.md +++ b/go/ql/consistency-queries/CHANGELOG.md @@ -1,3 +1,7 @@ +## 1.0.12 + +No user-facing changes. + ## 1.0.11 No user-facing changes. diff --git a/go/ql/consistency-queries/change-notes/released/1.0.12.md b/go/ql/consistency-queries/change-notes/released/1.0.12.md new file mode 100644 index 00000000000..12b3cf3e18f --- /dev/null +++ b/go/ql/consistency-queries/change-notes/released/1.0.12.md @@ -0,0 +1,3 @@ +## 1.0.12 + +No user-facing changes. diff --git a/go/ql/consistency-queries/codeql-pack.release.yml b/go/ql/consistency-queries/codeql-pack.release.yml index 56a2fb38872..2036690b201 100644 --- a/go/ql/consistency-queries/codeql-pack.release.yml +++ b/go/ql/consistency-queries/codeql-pack.release.yml @@ -1,2 +1,2 @@ --- -lastReleaseVersion: 1.0.11 +lastReleaseVersion: 1.0.12 diff --git a/go/ql/consistency-queries/qlpack.yml b/go/ql/consistency-queries/qlpack.yml index b7c67080f46..b9e67ea6137 100644 --- a/go/ql/consistency-queries/qlpack.yml +++ b/go/ql/consistency-queries/qlpack.yml @@ -1,5 +1,5 @@ name: codeql-go-consistency-queries -version: 1.0.12-dev +version: 1.0.12 groups: - go - queries diff --git a/go/ql/lib/CHANGELOG.md b/go/ql/lib/CHANGELOG.md index 37f83fa8dda..b2eb3cbb239 100644 --- a/go/ql/lib/CHANGELOG.md +++ b/go/ql/lib/CHANGELOG.md @@ -1,3 +1,14 @@ +## 2.1.3 + +### Minor Analysis Improvements + +* The `subtypes` column has been set to true in all models-as-data models except some tests. This means that existing models will apply in some cases where they didn't before, which may lead to more alerts. + +### Bug Fixes + +* The behaviour of the `subtypes` column in models-as-data now matches other languages more closely. +* Fixed a bug which meant that some qualified names for promoted methods were not being recognised in some very specific circumstances. + ## 2.1.2 ### Minor Analysis Improvements diff --git a/go/ql/lib/change-notes/2024-11-07-fix-missing-qualified-names-for-methods.md b/go/ql/lib/change-notes/2024-11-07-fix-missing-qualified-names-for-methods.md deleted file mode 100644 index cd2dbb6c974..00000000000 --- a/go/ql/lib/change-notes/2024-11-07-fix-missing-qualified-names-for-methods.md +++ /dev/null @@ -1,4 +0,0 @@ ---- -category: fix ---- -* Fixed a bug which meant that some qualified names for promoted methods were not being recognised in some very specific circumstances. diff --git a/go/ql/lib/change-notes/2024-11-11-models-as-data-subtypes-column.md b/go/ql/lib/change-notes/2024-11-11-models-as-data-subtypes-column.md deleted file mode 100644 index 25115f74d71..00000000000 --- a/go/ql/lib/change-notes/2024-11-11-models-as-data-subtypes-column.md +++ /dev/null @@ -1,4 +0,0 @@ ---- -category: fix ---- -* The behaviour of the `subtypes` column in models-as-data now matches other languages more closely. diff --git a/go/ql/lib/change-notes/2024-11-12-models-as-data-subtypes-true.md b/go/ql/lib/change-notes/2024-11-12-models-as-data-subtypes-true.md deleted file mode 100644 index b1c78815ea3..00000000000 --- a/go/ql/lib/change-notes/2024-11-12-models-as-data-subtypes-true.md +++ /dev/null @@ -1,4 +0,0 @@ ---- -category: minorAnalysis ---- -* The `subtypes` column has been set to true in all models-as-data models except some tests. This means that existing models will apply in some cases where they didn't before, which may lead to more alerts. diff --git a/go/ql/lib/change-notes/released/2.1.3.md b/go/ql/lib/change-notes/released/2.1.3.md new file mode 100644 index 00000000000..3ae1f19fb36 --- /dev/null +++ b/go/ql/lib/change-notes/released/2.1.3.md @@ -0,0 +1,10 @@ +## 2.1.3 + +### Minor Analysis Improvements + +* The `subtypes` column has been set to true in all models-as-data models except some tests. This means that existing models will apply in some cases where they didn't before, which may lead to more alerts. + +### Bug Fixes + +* The behaviour of the `subtypes` column in models-as-data now matches other languages more closely. +* Fixed a bug which meant that some qualified names for promoted methods were not being recognised in some very specific circumstances. diff --git a/go/ql/lib/codeql-pack.release.yml b/go/ql/lib/codeql-pack.release.yml index 1a4e53e8772..345fb0c73a4 100644 --- a/go/ql/lib/codeql-pack.release.yml +++ b/go/ql/lib/codeql-pack.release.yml @@ -1,2 +1,2 @@ --- -lastReleaseVersion: 2.1.2 +lastReleaseVersion: 2.1.3 diff --git a/go/ql/lib/qlpack.yml b/go/ql/lib/qlpack.yml index f9660516373..0e6da37dea1 100644 --- a/go/ql/lib/qlpack.yml +++ b/go/ql/lib/qlpack.yml @@ -1,5 +1,5 @@ name: codeql/go-all -version: 2.1.3-dev +version: 2.1.3 groups: go dbscheme: go.dbscheme extractor: go diff --git a/go/ql/src/CHANGELOG.md b/go/ql/src/CHANGELOG.md index 0e276fda741..c529cbffb32 100644 --- a/go/ql/src/CHANGELOG.md +++ b/go/ql/src/CHANGELOG.md @@ -1,3 +1,7 @@ +## 1.1.3 + +No user-facing changes. + ## 1.1.2 No user-facing changes. diff --git a/go/ql/src/change-notes/released/1.1.3.md b/go/ql/src/change-notes/released/1.1.3.md new file mode 100644 index 00000000000..e8f1701bd62 --- /dev/null +++ b/go/ql/src/change-notes/released/1.1.3.md @@ -0,0 +1,3 @@ +## 1.1.3 + +No user-facing changes. diff --git a/go/ql/src/codeql-pack.release.yml b/go/ql/src/codeql-pack.release.yml index 53ab127707f..35e710ab1bf 100644 --- a/go/ql/src/codeql-pack.release.yml +++ b/go/ql/src/codeql-pack.release.yml @@ -1,2 +1,2 @@ --- -lastReleaseVersion: 1.1.2 +lastReleaseVersion: 1.1.3 diff --git a/go/ql/src/qlpack.yml b/go/ql/src/qlpack.yml index 68bac4cf1a9..af130fa6acf 100644 --- a/go/ql/src/qlpack.yml +++ b/go/ql/src/qlpack.yml @@ -1,5 +1,5 @@ name: codeql/go-queries -version: 1.1.3-dev +version: 1.1.3 groups: - go - queries diff --git a/java/ql/automodel/src/CHANGELOG.md b/java/ql/automodel/src/CHANGELOG.md index 148791b5923..1564285b44b 100644 --- a/java/ql/automodel/src/CHANGELOG.md +++ b/java/ql/automodel/src/CHANGELOG.md @@ -1,3 +1,7 @@ +## 1.0.12 + +No user-facing changes. + ## 1.0.11 No user-facing changes. diff --git a/java/ql/automodel/src/change-notes/released/1.0.12.md b/java/ql/automodel/src/change-notes/released/1.0.12.md new file mode 100644 index 00000000000..12b3cf3e18f --- /dev/null +++ b/java/ql/automodel/src/change-notes/released/1.0.12.md @@ -0,0 +1,3 @@ +## 1.0.12 + +No user-facing changes. diff --git a/java/ql/automodel/src/codeql-pack.release.yml b/java/ql/automodel/src/codeql-pack.release.yml index 56a2fb38872..2036690b201 100644 --- a/java/ql/automodel/src/codeql-pack.release.yml +++ b/java/ql/automodel/src/codeql-pack.release.yml @@ -1,2 +1,2 @@ --- -lastReleaseVersion: 1.0.11 +lastReleaseVersion: 1.0.12 diff --git a/java/ql/automodel/src/qlpack.yml b/java/ql/automodel/src/qlpack.yml index 4acf2219db3..fc5ad003511 100644 --- a/java/ql/automodel/src/qlpack.yml +++ b/java/ql/automodel/src/qlpack.yml @@ -1,5 +1,5 @@ name: codeql/java-automodel-queries -version: 1.0.12-dev +version: 1.0.12 groups: - java - automodel diff --git a/java/ql/lib/CHANGELOG.md b/java/ql/lib/CHANGELOG.md index cddb86232c4..990fea9ddd7 100644 --- a/java/ql/lib/CHANGELOG.md +++ b/java/ql/lib/CHANGELOG.md @@ -1,3 +1,9 @@ +## 4.2.1 + +### Minor Analysis Improvements + +* In a switch statement with a constant switch expression, all non-matching cases were being marked as unreachable, including those that can be reached by falling through from the matching case. This has now been fixed. + ## 4.2.0 ### Major Analysis Improvements diff --git a/java/ql/lib/change-notes/2024-11-14-unreachable-basic-block-in-constant-switch-statement.md b/java/ql/lib/change-notes/released/4.2.1.md similarity index 83% rename from java/ql/lib/change-notes/2024-11-14-unreachable-basic-block-in-constant-switch-statement.md rename to java/ql/lib/change-notes/released/4.2.1.md index 50df55a4c1a..6fb31df9177 100644 --- a/java/ql/lib/change-notes/2024-11-14-unreachable-basic-block-in-constant-switch-statement.md +++ b/java/ql/lib/change-notes/released/4.2.1.md @@ -1,4 +1,5 @@ ---- -category: minorAnalysis ---- +## 4.2.1 + +### Minor Analysis Improvements + * In a switch statement with a constant switch expression, all non-matching cases were being marked as unreachable, including those that can be reached by falling through from the matching case. This has now been fixed. diff --git a/java/ql/lib/codeql-pack.release.yml b/java/ql/lib/codeql-pack.release.yml index 9fc6933b429..38ea9976fcc 100644 --- a/java/ql/lib/codeql-pack.release.yml +++ b/java/ql/lib/codeql-pack.release.yml @@ -1,2 +1,2 @@ --- -lastReleaseVersion: 4.2.0 +lastReleaseVersion: 4.2.1 diff --git a/java/ql/lib/qlpack.yml b/java/ql/lib/qlpack.yml index cc639056e4e..0e8d80fe435 100644 --- a/java/ql/lib/qlpack.yml +++ b/java/ql/lib/qlpack.yml @@ -1,5 +1,5 @@ name: codeql/java-all -version: 4.2.1-dev +version: 4.2.1 groups: java dbscheme: config/semmlecode.dbscheme extractor: java diff --git a/java/ql/src/CHANGELOG.md b/java/ql/src/CHANGELOG.md index 3a29e9e55e0..f212b4a8d3d 100644 --- a/java/ql/src/CHANGELOG.md +++ b/java/ql/src/CHANGELOG.md @@ -1,3 +1,7 @@ +## 1.1.9 + +No user-facing changes. + ## 1.1.8 No user-facing changes. diff --git a/java/ql/src/change-notes/released/1.1.9.md b/java/ql/src/change-notes/released/1.1.9.md new file mode 100644 index 00000000000..f9d367d4248 --- /dev/null +++ b/java/ql/src/change-notes/released/1.1.9.md @@ -0,0 +1,3 @@ +## 1.1.9 + +No user-facing changes. diff --git a/java/ql/src/codeql-pack.release.yml b/java/ql/src/codeql-pack.release.yml index 64972659c42..6f4795f3ea0 100644 --- a/java/ql/src/codeql-pack.release.yml +++ b/java/ql/src/codeql-pack.release.yml @@ -1,2 +1,2 @@ --- -lastReleaseVersion: 1.1.8 +lastReleaseVersion: 1.1.9 diff --git a/java/ql/src/qlpack.yml b/java/ql/src/qlpack.yml index 40ca32d8070..73e951db034 100644 --- a/java/ql/src/qlpack.yml +++ b/java/ql/src/qlpack.yml @@ -1,5 +1,5 @@ name: codeql/java-queries -version: 1.1.9-dev +version: 1.1.9 groups: - java - queries diff --git a/javascript/ql/lib/CHANGELOG.md b/javascript/ql/lib/CHANGELOG.md index 50d1486c006..7d8f8dcfc8b 100644 --- a/javascript/ql/lib/CHANGELOG.md +++ b/javascript/ql/lib/CHANGELOG.md @@ -1,3 +1,14 @@ +## 2.1.1 + +### Minor Analysis Improvements + +Added taint-steps for `Array.prototype.with`. +Added taint-steps for `Array.prototype.toSpliced` +* Added taint-steps for `Array.prototype.toReversed`. +* Added taint-steps for `Array.prototype.toSorted`. +Added support for `String.prototype.matchAll`. +* Added taint-steps for `Array.prototype.reverse` + ## 2.1.0 ### New Features diff --git a/javascript/ql/lib/change-notes/2024-11-11-matchAll-support.md b/javascript/ql/lib/change-notes/2024-11-11-matchAll-support.md deleted file mode 100644 index 74d7c3f34c2..00000000000 --- a/javascript/ql/lib/change-notes/2024-11-11-matchAll-support.md +++ /dev/null @@ -1,4 +0,0 @@ ---- -category: minorAnalysis ---- -Added support for `String.prototype.matchAll`. diff --git a/javascript/ql/lib/change-notes/2024-11-11-reserve-support.md b/javascript/ql/lib/change-notes/2024-11-11-reserve-support.md deleted file mode 100644 index bd2e6808e0c..00000000000 --- a/javascript/ql/lib/change-notes/2024-11-11-reserve-support.md +++ /dev/null @@ -1,4 +0,0 @@ ---- -category: minorAnalysis ---- -* Added taint-steps for `Array.prototype.reverse` diff --git a/javascript/ql/lib/change-notes/2024-11-12-immutable-array-operations.md b/javascript/ql/lib/change-notes/2024-11-12-immutable-array-operations.md deleted file mode 100644 index 20c16d88c6e..00000000000 --- a/javascript/ql/lib/change-notes/2024-11-12-immutable-array-operations.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -category: minorAnalysis ---- -* Added taint-steps for `Array.prototype.toReversed`. -* Added taint-steps for `Array.prototype.toSorted`. diff --git a/javascript/ql/lib/change-notes/2024-11-15-toSpliced-support.md b/javascript/ql/lib/change-notes/2024-11-15-toSpliced-support.md deleted file mode 100644 index a73955e5d2a..00000000000 --- a/javascript/ql/lib/change-notes/2024-11-15-toSpliced-support.md +++ /dev/null @@ -1,4 +0,0 @@ ---- -category: minorAnalysis ---- -Added taint-steps for `Array.prototype.toSpliced` diff --git a/javascript/ql/lib/change-notes/2024-11-18-ES2023-array-protype-with.md b/javascript/ql/lib/change-notes/2024-11-18-ES2023-array-protype-with.md deleted file mode 100644 index 92f160ec1de..00000000000 --- a/javascript/ql/lib/change-notes/2024-11-18-ES2023-array-protype-with.md +++ /dev/null @@ -1,4 +0,0 @@ ---- -category: minorAnalysis ---- -Added taint-steps for `Array.prototype.with`. diff --git a/javascript/ql/lib/change-notes/released/2.1.1.md b/javascript/ql/lib/change-notes/released/2.1.1.md new file mode 100644 index 00000000000..18d206b1918 --- /dev/null +++ b/javascript/ql/lib/change-notes/released/2.1.1.md @@ -0,0 +1,10 @@ +## 2.1.1 + +### Minor Analysis Improvements + +Added taint-steps for `Array.prototype.with`. +Added taint-steps for `Array.prototype.toSpliced` +* Added taint-steps for `Array.prototype.toReversed`. +* Added taint-steps for `Array.prototype.toSorted`. +Added support for `String.prototype.matchAll`. +* Added taint-steps for `Array.prototype.reverse` diff --git a/javascript/ql/lib/codeql-pack.release.yml b/javascript/ql/lib/codeql-pack.release.yml index 487a1a58b2b..576c2ea18d6 100644 --- a/javascript/ql/lib/codeql-pack.release.yml +++ b/javascript/ql/lib/codeql-pack.release.yml @@ -1,2 +1,2 @@ --- -lastReleaseVersion: 2.1.0 +lastReleaseVersion: 2.1.1 diff --git a/javascript/ql/lib/qlpack.yml b/javascript/ql/lib/qlpack.yml index f732755a75b..fc7dd9be7b7 100644 --- a/javascript/ql/lib/qlpack.yml +++ b/javascript/ql/lib/qlpack.yml @@ -1,5 +1,5 @@ name: codeql/javascript-all -version: 2.1.1-dev +version: 2.1.1 groups: javascript dbscheme: semmlecode.javascript.dbscheme extractor: javascript diff --git a/javascript/ql/src/CHANGELOG.md b/javascript/ql/src/CHANGELOG.md index 9a9a4641c6e..403de6b3323 100644 --- a/javascript/ql/src/CHANGELOG.md +++ b/javascript/ql/src/CHANGELOG.md @@ -1,3 +1,7 @@ +## 1.2.4 + +No user-facing changes. + ## 1.2.3 No user-facing changes. diff --git a/javascript/ql/src/change-notes/released/1.2.4.md b/javascript/ql/src/change-notes/released/1.2.4.md new file mode 100644 index 00000000000..21fd88e8124 --- /dev/null +++ b/javascript/ql/src/change-notes/released/1.2.4.md @@ -0,0 +1,3 @@ +## 1.2.4 + +No user-facing changes. diff --git a/javascript/ql/src/codeql-pack.release.yml b/javascript/ql/src/codeql-pack.release.yml index 09a7400b594..172090f46b6 100644 --- a/javascript/ql/src/codeql-pack.release.yml +++ b/javascript/ql/src/codeql-pack.release.yml @@ -1,2 +1,2 @@ --- -lastReleaseVersion: 1.2.3 +lastReleaseVersion: 1.2.4 diff --git a/javascript/ql/src/qlpack.yml b/javascript/ql/src/qlpack.yml index 98c38e64248..de3be7c9a90 100644 --- a/javascript/ql/src/qlpack.yml +++ b/javascript/ql/src/qlpack.yml @@ -1,5 +1,5 @@ name: codeql/javascript-queries -version: 1.2.4-dev +version: 1.2.4 groups: - javascript - queries diff --git a/misc/suite-helpers/CHANGELOG.md b/misc/suite-helpers/CHANGELOG.md index 0992e6bd9c5..969419cb7b7 100644 --- a/misc/suite-helpers/CHANGELOG.md +++ b/misc/suite-helpers/CHANGELOG.md @@ -1,3 +1,7 @@ +## 1.0.12 + +No user-facing changes. + ## 1.0.11 No user-facing changes. diff --git a/misc/suite-helpers/change-notes/released/1.0.12.md b/misc/suite-helpers/change-notes/released/1.0.12.md new file mode 100644 index 00000000000..12b3cf3e18f --- /dev/null +++ b/misc/suite-helpers/change-notes/released/1.0.12.md @@ -0,0 +1,3 @@ +## 1.0.12 + +No user-facing changes. diff --git a/misc/suite-helpers/codeql-pack.release.yml b/misc/suite-helpers/codeql-pack.release.yml index 56a2fb38872..2036690b201 100644 --- a/misc/suite-helpers/codeql-pack.release.yml +++ b/misc/suite-helpers/codeql-pack.release.yml @@ -1,2 +1,2 @@ --- -lastReleaseVersion: 1.0.11 +lastReleaseVersion: 1.0.12 diff --git a/misc/suite-helpers/qlpack.yml b/misc/suite-helpers/qlpack.yml index f40fb8fcde4..9cb14562b39 100644 --- a/misc/suite-helpers/qlpack.yml +++ b/misc/suite-helpers/qlpack.yml @@ -1,4 +1,4 @@ name: codeql/suite-helpers -version: 1.0.12-dev +version: 1.0.12 groups: shared warnOnImplicitThis: true diff --git a/python/ql/lib/CHANGELOG.md b/python/ql/lib/CHANGELOG.md index 1e05822734d..34dc5f1b060 100644 --- a/python/ql/lib/CHANGELOG.md +++ b/python/ql/lib/CHANGELOG.md @@ -1,3 +1,9 @@ +## 2.2.0 + +### Major Analysis Improvements + +* Added modeling of the `bottle` framework, leading to new remote flow sources and header writes + ## 2.1.2 ### Minor Analysis Improvements diff --git a/python/ql/lib/change-notes/2024-08-30-bottle.md b/python/ql/lib/change-notes/2024-08-30-bottle.md deleted file mode 100644 index b3a07f41f59..00000000000 --- a/python/ql/lib/change-notes/2024-08-30-bottle.md +++ /dev/null @@ -1,4 +0,0 @@ ---- -category: majorAnalysis ---- -* Added modeling of the `bottle` framework, leading to new remote flow sources and header writes \ No newline at end of file diff --git a/python/ql/lib/change-notes/released/2.2.0.md b/python/ql/lib/change-notes/released/2.2.0.md new file mode 100644 index 00000000000..0807fe9c2ff --- /dev/null +++ b/python/ql/lib/change-notes/released/2.2.0.md @@ -0,0 +1,5 @@ +## 2.2.0 + +### Major Analysis Improvements + +* Added modeling of the `bottle` framework, leading to new remote flow sources and header writes diff --git a/python/ql/lib/codeql-pack.release.yml b/python/ql/lib/codeql-pack.release.yml index 1a4e53e8772..2f308354195 100644 --- a/python/ql/lib/codeql-pack.release.yml +++ b/python/ql/lib/codeql-pack.release.yml @@ -1,2 +1,2 @@ --- -lastReleaseVersion: 2.1.2 +lastReleaseVersion: 2.2.0 diff --git a/python/ql/lib/qlpack.yml b/python/ql/lib/qlpack.yml index 5b9b9b8f67e..6c2dd3c9d71 100644 --- a/python/ql/lib/qlpack.yml +++ b/python/ql/lib/qlpack.yml @@ -1,5 +1,5 @@ name: codeql/python-all -version: 2.1.3-dev +version: 2.2.0 groups: python dbscheme: semmlecode.python.dbscheme extractor: python diff --git a/python/ql/src/CHANGELOG.md b/python/ql/src/CHANGELOG.md index 64a33ed30ca..5fea597a7a3 100644 --- a/python/ql/src/CHANGELOG.md +++ b/python/ql/src/CHANGELOG.md @@ -1,3 +1,7 @@ +## 1.3.3 + +No user-facing changes. + ## 1.3.2 ### Minor Analysis Improvements diff --git a/python/ql/src/change-notes/released/1.3.3.md b/python/ql/src/change-notes/released/1.3.3.md new file mode 100644 index 00000000000..27a88ea0061 --- /dev/null +++ b/python/ql/src/change-notes/released/1.3.3.md @@ -0,0 +1,3 @@ +## 1.3.3 + +No user-facing changes. diff --git a/python/ql/src/codeql-pack.release.yml b/python/ql/src/codeql-pack.release.yml index 86a9cb32d86..eb1f7dabc84 100644 --- a/python/ql/src/codeql-pack.release.yml +++ b/python/ql/src/codeql-pack.release.yml @@ -1,2 +1,2 @@ --- -lastReleaseVersion: 1.3.2 +lastReleaseVersion: 1.3.3 diff --git a/python/ql/src/qlpack.yml b/python/ql/src/qlpack.yml index d279b5225c8..76133c2a243 100644 --- a/python/ql/src/qlpack.yml +++ b/python/ql/src/qlpack.yml @@ -1,5 +1,5 @@ name: codeql/python-queries -version: 1.3.3-dev +version: 1.3.3 groups: - python - queries diff --git a/ruby/ql/lib/CHANGELOG.md b/ruby/ql/lib/CHANGELOG.md index 230f81c621b..37248cf4960 100644 --- a/ruby/ql/lib/CHANGELOG.md +++ b/ruby/ql/lib/CHANGELOG.md @@ -1,3 +1,7 @@ +## 2.0.4 + +No user-facing changes. + ## 2.0.3 No user-facing changes. diff --git a/ruby/ql/lib/change-notes/released/2.0.4.md b/ruby/ql/lib/change-notes/released/2.0.4.md new file mode 100644 index 00000000000..8e002b6db64 --- /dev/null +++ b/ruby/ql/lib/change-notes/released/2.0.4.md @@ -0,0 +1,3 @@ +## 2.0.4 + +No user-facing changes. diff --git a/ruby/ql/lib/codeql-pack.release.yml b/ruby/ql/lib/codeql-pack.release.yml index fabf1e86596..0f306f8bd3b 100644 --- a/ruby/ql/lib/codeql-pack.release.yml +++ b/ruby/ql/lib/codeql-pack.release.yml @@ -1,2 +1,2 @@ --- -lastReleaseVersion: 2.0.3 +lastReleaseVersion: 2.0.4 diff --git a/ruby/ql/lib/qlpack.yml b/ruby/ql/lib/qlpack.yml index 155d495d7d8..60aa6608a46 100644 --- a/ruby/ql/lib/qlpack.yml +++ b/ruby/ql/lib/qlpack.yml @@ -1,5 +1,5 @@ name: codeql/ruby-all -version: 2.0.4-dev +version: 2.0.4 groups: ruby extractor: ruby dbscheme: ruby.dbscheme diff --git a/ruby/ql/src/CHANGELOG.md b/ruby/ql/src/CHANGELOG.md index 3dfaa623d60..e159e9fda36 100644 --- a/ruby/ql/src/CHANGELOG.md +++ b/ruby/ql/src/CHANGELOG.md @@ -1,3 +1,7 @@ +## 1.1.7 + +No user-facing changes. + ## 1.1.6 No user-facing changes. diff --git a/ruby/ql/src/change-notes/released/1.1.7.md b/ruby/ql/src/change-notes/released/1.1.7.md new file mode 100644 index 00000000000..81505c0507a --- /dev/null +++ b/ruby/ql/src/change-notes/released/1.1.7.md @@ -0,0 +1,3 @@ +## 1.1.7 + +No user-facing changes. diff --git a/ruby/ql/src/codeql-pack.release.yml b/ruby/ql/src/codeql-pack.release.yml index 9e712a00a21..75910556516 100644 --- a/ruby/ql/src/codeql-pack.release.yml +++ b/ruby/ql/src/codeql-pack.release.yml @@ -1,2 +1,2 @@ --- -lastReleaseVersion: 1.1.6 +lastReleaseVersion: 1.1.7 diff --git a/ruby/ql/src/qlpack.yml b/ruby/ql/src/qlpack.yml index 2f270249906..d34551aeb15 100644 --- a/ruby/ql/src/qlpack.yml +++ b/ruby/ql/src/qlpack.yml @@ -1,5 +1,5 @@ name: codeql/ruby-queries -version: 1.1.7-dev +version: 1.1.7 groups: - ruby - queries diff --git a/shared/controlflow/CHANGELOG.md b/shared/controlflow/CHANGELOG.md index 2eddc42a47d..b6de6379e77 100644 --- a/shared/controlflow/CHANGELOG.md +++ b/shared/controlflow/CHANGELOG.md @@ -1,3 +1,7 @@ +## 1.0.12 + +No user-facing changes. + ## 1.0.11 No user-facing changes. diff --git a/shared/controlflow/change-notes/released/1.0.12.md b/shared/controlflow/change-notes/released/1.0.12.md new file mode 100644 index 00000000000..12b3cf3e18f --- /dev/null +++ b/shared/controlflow/change-notes/released/1.0.12.md @@ -0,0 +1,3 @@ +## 1.0.12 + +No user-facing changes. diff --git a/shared/controlflow/codeql-pack.release.yml b/shared/controlflow/codeql-pack.release.yml index 56a2fb38872..2036690b201 100644 --- a/shared/controlflow/codeql-pack.release.yml +++ b/shared/controlflow/codeql-pack.release.yml @@ -1,2 +1,2 @@ --- -lastReleaseVersion: 1.0.11 +lastReleaseVersion: 1.0.12 diff --git a/shared/controlflow/qlpack.yml b/shared/controlflow/qlpack.yml index 10314626ec7..c7554d77bb4 100644 --- a/shared/controlflow/qlpack.yml +++ b/shared/controlflow/qlpack.yml @@ -1,5 +1,5 @@ name: codeql/controlflow -version: 1.0.12-dev +version: 1.0.12 groups: shared library: true dependencies: diff --git a/shared/dataflow/CHANGELOG.md b/shared/dataflow/CHANGELOG.md index 72c27aa8762..7eec34670dc 100644 --- a/shared/dataflow/CHANGELOG.md +++ b/shared/dataflow/CHANGELOG.md @@ -1,3 +1,7 @@ +## 1.1.6 + +No user-facing changes. + ## 1.1.5 No user-facing changes. diff --git a/shared/dataflow/change-notes/released/1.1.6.md b/shared/dataflow/change-notes/released/1.1.6.md new file mode 100644 index 00000000000..553350f40af --- /dev/null +++ b/shared/dataflow/change-notes/released/1.1.6.md @@ -0,0 +1,3 @@ +## 1.1.6 + +No user-facing changes. diff --git a/shared/dataflow/codeql-pack.release.yml b/shared/dataflow/codeql-pack.release.yml index df39a9de059..9e712a00a21 100644 --- a/shared/dataflow/codeql-pack.release.yml +++ b/shared/dataflow/codeql-pack.release.yml @@ -1,2 +1,2 @@ --- -lastReleaseVersion: 1.1.5 +lastReleaseVersion: 1.1.6 diff --git a/shared/dataflow/qlpack.yml b/shared/dataflow/qlpack.yml index 3802aa99a1e..3e488555c7d 100644 --- a/shared/dataflow/qlpack.yml +++ b/shared/dataflow/qlpack.yml @@ -1,5 +1,5 @@ name: codeql/dataflow -version: 1.1.6-dev +version: 1.1.6 groups: shared library: true dependencies: diff --git a/shared/mad/CHANGELOG.md b/shared/mad/CHANGELOG.md index 0d9dcaf2768..8eb5e03400a 100644 --- a/shared/mad/CHANGELOG.md +++ b/shared/mad/CHANGELOG.md @@ -1,3 +1,7 @@ +## 1.0.12 + +No user-facing changes. + ## 1.0.11 No user-facing changes. diff --git a/shared/mad/change-notes/released/1.0.12.md b/shared/mad/change-notes/released/1.0.12.md new file mode 100644 index 00000000000..12b3cf3e18f --- /dev/null +++ b/shared/mad/change-notes/released/1.0.12.md @@ -0,0 +1,3 @@ +## 1.0.12 + +No user-facing changes. diff --git a/shared/mad/codeql-pack.release.yml b/shared/mad/codeql-pack.release.yml index 56a2fb38872..2036690b201 100644 --- a/shared/mad/codeql-pack.release.yml +++ b/shared/mad/codeql-pack.release.yml @@ -1,2 +1,2 @@ --- -lastReleaseVersion: 1.0.11 +lastReleaseVersion: 1.0.12 diff --git a/shared/mad/qlpack.yml b/shared/mad/qlpack.yml index 2205120fc09..7c6a961cb99 100644 --- a/shared/mad/qlpack.yml +++ b/shared/mad/qlpack.yml @@ -1,5 +1,5 @@ name: codeql/mad -version: 1.0.12-dev +version: 1.0.12 groups: shared library: true dependencies: diff --git a/shared/rangeanalysis/CHANGELOG.md b/shared/rangeanalysis/CHANGELOG.md index f3d5e9c3685..cedd38e3e30 100644 --- a/shared/rangeanalysis/CHANGELOG.md +++ b/shared/rangeanalysis/CHANGELOG.md @@ -1,3 +1,7 @@ +## 1.0.12 + +No user-facing changes. + ## 1.0.11 No user-facing changes. diff --git a/shared/rangeanalysis/change-notes/released/1.0.12.md b/shared/rangeanalysis/change-notes/released/1.0.12.md new file mode 100644 index 00000000000..12b3cf3e18f --- /dev/null +++ b/shared/rangeanalysis/change-notes/released/1.0.12.md @@ -0,0 +1,3 @@ +## 1.0.12 + +No user-facing changes. diff --git a/shared/rangeanalysis/codeql-pack.release.yml b/shared/rangeanalysis/codeql-pack.release.yml index 56a2fb38872..2036690b201 100644 --- a/shared/rangeanalysis/codeql-pack.release.yml +++ b/shared/rangeanalysis/codeql-pack.release.yml @@ -1,2 +1,2 @@ --- -lastReleaseVersion: 1.0.11 +lastReleaseVersion: 1.0.12 diff --git a/shared/rangeanalysis/qlpack.yml b/shared/rangeanalysis/qlpack.yml index 8bd5c263848..6a61414dd46 100644 --- a/shared/rangeanalysis/qlpack.yml +++ b/shared/rangeanalysis/qlpack.yml @@ -1,5 +1,5 @@ name: codeql/rangeanalysis -version: 1.0.12-dev +version: 1.0.12 groups: shared library: true dependencies: diff --git a/shared/regex/CHANGELOG.md b/shared/regex/CHANGELOG.md index e4aa1758db2..3e8a99103fe 100644 --- a/shared/regex/CHANGELOG.md +++ b/shared/regex/CHANGELOG.md @@ -1,3 +1,7 @@ +## 1.0.12 + +No user-facing changes. + ## 1.0.11 No user-facing changes. diff --git a/shared/regex/change-notes/released/1.0.12.md b/shared/regex/change-notes/released/1.0.12.md new file mode 100644 index 00000000000..12b3cf3e18f --- /dev/null +++ b/shared/regex/change-notes/released/1.0.12.md @@ -0,0 +1,3 @@ +## 1.0.12 + +No user-facing changes. diff --git a/shared/regex/codeql-pack.release.yml b/shared/regex/codeql-pack.release.yml index 56a2fb38872..2036690b201 100644 --- a/shared/regex/codeql-pack.release.yml +++ b/shared/regex/codeql-pack.release.yml @@ -1,2 +1,2 @@ --- -lastReleaseVersion: 1.0.11 +lastReleaseVersion: 1.0.12 diff --git a/shared/regex/qlpack.yml b/shared/regex/qlpack.yml index 624c826410e..3ab27085789 100644 --- a/shared/regex/qlpack.yml +++ b/shared/regex/qlpack.yml @@ -1,5 +1,5 @@ name: codeql/regex -version: 1.0.12-dev +version: 1.0.12 groups: shared library: true dependencies: diff --git a/shared/ssa/CHANGELOG.md b/shared/ssa/CHANGELOG.md index 6fc1f4442c7..b98345f361c 100644 --- a/shared/ssa/CHANGELOG.md +++ b/shared/ssa/CHANGELOG.md @@ -1,3 +1,7 @@ +## 1.0.12 + +No user-facing changes. + ## 1.0.11 No user-facing changes. diff --git a/shared/ssa/change-notes/released/1.0.12.md b/shared/ssa/change-notes/released/1.0.12.md new file mode 100644 index 00000000000..12b3cf3e18f --- /dev/null +++ b/shared/ssa/change-notes/released/1.0.12.md @@ -0,0 +1,3 @@ +## 1.0.12 + +No user-facing changes. diff --git a/shared/ssa/codeql-pack.release.yml b/shared/ssa/codeql-pack.release.yml index 56a2fb38872..2036690b201 100644 --- a/shared/ssa/codeql-pack.release.yml +++ b/shared/ssa/codeql-pack.release.yml @@ -1,2 +1,2 @@ --- -lastReleaseVersion: 1.0.11 +lastReleaseVersion: 1.0.12 diff --git a/shared/ssa/qlpack.yml b/shared/ssa/qlpack.yml index d55025c28d1..1957224936f 100644 --- a/shared/ssa/qlpack.yml +++ b/shared/ssa/qlpack.yml @@ -1,5 +1,5 @@ name: codeql/ssa -version: 1.0.12-dev +version: 1.0.12 groups: shared library: true dependencies: diff --git a/shared/threat-models/CHANGELOG.md b/shared/threat-models/CHANGELOG.md index 1c514d078a2..eeb6b0a262a 100644 --- a/shared/threat-models/CHANGELOG.md +++ b/shared/threat-models/CHANGELOG.md @@ -1,3 +1,7 @@ +## 1.0.12 + +No user-facing changes. + ## 1.0.11 No user-facing changes. diff --git a/shared/threat-models/change-notes/released/1.0.12.md b/shared/threat-models/change-notes/released/1.0.12.md new file mode 100644 index 00000000000..12b3cf3e18f --- /dev/null +++ b/shared/threat-models/change-notes/released/1.0.12.md @@ -0,0 +1,3 @@ +## 1.0.12 + +No user-facing changes. diff --git a/shared/threat-models/codeql-pack.release.yml b/shared/threat-models/codeql-pack.release.yml index 56a2fb38872..2036690b201 100644 --- a/shared/threat-models/codeql-pack.release.yml +++ b/shared/threat-models/codeql-pack.release.yml @@ -1,2 +1,2 @@ --- -lastReleaseVersion: 1.0.11 +lastReleaseVersion: 1.0.12 diff --git a/shared/threat-models/qlpack.yml b/shared/threat-models/qlpack.yml index 42ac623c23b..637773d6bfb 100644 --- a/shared/threat-models/qlpack.yml +++ b/shared/threat-models/qlpack.yml @@ -1,5 +1,5 @@ name: codeql/threat-models -version: 1.0.12-dev +version: 1.0.12 library: true groups: shared dataExtensions: diff --git a/shared/tutorial/CHANGELOG.md b/shared/tutorial/CHANGELOG.md index 416a3ab33fc..da467b3de30 100644 --- a/shared/tutorial/CHANGELOG.md +++ b/shared/tutorial/CHANGELOG.md @@ -1,3 +1,7 @@ +## 1.0.12 + +No user-facing changes. + ## 1.0.11 No user-facing changes. diff --git a/shared/tutorial/change-notes/released/1.0.12.md b/shared/tutorial/change-notes/released/1.0.12.md new file mode 100644 index 00000000000..12b3cf3e18f --- /dev/null +++ b/shared/tutorial/change-notes/released/1.0.12.md @@ -0,0 +1,3 @@ +## 1.0.12 + +No user-facing changes. diff --git a/shared/tutorial/codeql-pack.release.yml b/shared/tutorial/codeql-pack.release.yml index 56a2fb38872..2036690b201 100644 --- a/shared/tutorial/codeql-pack.release.yml +++ b/shared/tutorial/codeql-pack.release.yml @@ -1,2 +1,2 @@ --- -lastReleaseVersion: 1.0.11 +lastReleaseVersion: 1.0.12 diff --git a/shared/tutorial/qlpack.yml b/shared/tutorial/qlpack.yml index bd281c1a818..f4c164e1052 100644 --- a/shared/tutorial/qlpack.yml +++ b/shared/tutorial/qlpack.yml @@ -1,7 +1,7 @@ name: codeql/tutorial description: Library for the CodeQL detective tutorials, helping new users learn to write CodeQL queries. -version: 1.0.12-dev +version: 1.0.12 groups: shared library: true warnOnImplicitThis: true diff --git a/shared/typeflow/CHANGELOG.md b/shared/typeflow/CHANGELOG.md index 1506cdea175..cae361ea7e7 100644 --- a/shared/typeflow/CHANGELOG.md +++ b/shared/typeflow/CHANGELOG.md @@ -1,3 +1,7 @@ +## 1.0.12 + +No user-facing changes. + ## 1.0.11 No user-facing changes. diff --git a/shared/typeflow/change-notes/released/1.0.12.md b/shared/typeflow/change-notes/released/1.0.12.md new file mode 100644 index 00000000000..12b3cf3e18f --- /dev/null +++ b/shared/typeflow/change-notes/released/1.0.12.md @@ -0,0 +1,3 @@ +## 1.0.12 + +No user-facing changes. diff --git a/shared/typeflow/codeql-pack.release.yml b/shared/typeflow/codeql-pack.release.yml index 56a2fb38872..2036690b201 100644 --- a/shared/typeflow/codeql-pack.release.yml +++ b/shared/typeflow/codeql-pack.release.yml @@ -1,2 +1,2 @@ --- -lastReleaseVersion: 1.0.11 +lastReleaseVersion: 1.0.12 diff --git a/shared/typeflow/qlpack.yml b/shared/typeflow/qlpack.yml index 6c7ecc03264..514743bcb4d 100644 --- a/shared/typeflow/qlpack.yml +++ b/shared/typeflow/qlpack.yml @@ -1,5 +1,5 @@ name: codeql/typeflow -version: 1.0.12-dev +version: 1.0.12 groups: shared library: true dependencies: diff --git a/shared/typetracking/CHANGELOG.md b/shared/typetracking/CHANGELOG.md index d35be2a3771..96110cb10a2 100644 --- a/shared/typetracking/CHANGELOG.md +++ b/shared/typetracking/CHANGELOG.md @@ -1,3 +1,7 @@ +## 1.0.12 + +No user-facing changes. + ## 1.0.11 No user-facing changes. diff --git a/shared/typetracking/change-notes/released/1.0.12.md b/shared/typetracking/change-notes/released/1.0.12.md new file mode 100644 index 00000000000..12b3cf3e18f --- /dev/null +++ b/shared/typetracking/change-notes/released/1.0.12.md @@ -0,0 +1,3 @@ +## 1.0.12 + +No user-facing changes. diff --git a/shared/typetracking/codeql-pack.release.yml b/shared/typetracking/codeql-pack.release.yml index 56a2fb38872..2036690b201 100644 --- a/shared/typetracking/codeql-pack.release.yml +++ b/shared/typetracking/codeql-pack.release.yml @@ -1,2 +1,2 @@ --- -lastReleaseVersion: 1.0.11 +lastReleaseVersion: 1.0.12 diff --git a/shared/typetracking/qlpack.yml b/shared/typetracking/qlpack.yml index 07eeb938af3..b7c3832bef1 100644 --- a/shared/typetracking/qlpack.yml +++ b/shared/typetracking/qlpack.yml @@ -1,5 +1,5 @@ name: codeql/typetracking -version: 1.0.12-dev +version: 1.0.12 groups: shared library: true dependencies: diff --git a/shared/typos/CHANGELOG.md b/shared/typos/CHANGELOG.md index e5392886a3e..83fb2dfb4cc 100644 --- a/shared/typos/CHANGELOG.md +++ b/shared/typos/CHANGELOG.md @@ -1,3 +1,7 @@ +## 1.0.12 + +No user-facing changes. + ## 1.0.11 No user-facing changes. diff --git a/shared/typos/change-notes/released/1.0.12.md b/shared/typos/change-notes/released/1.0.12.md new file mode 100644 index 00000000000..12b3cf3e18f --- /dev/null +++ b/shared/typos/change-notes/released/1.0.12.md @@ -0,0 +1,3 @@ +## 1.0.12 + +No user-facing changes. diff --git a/shared/typos/codeql-pack.release.yml b/shared/typos/codeql-pack.release.yml index 56a2fb38872..2036690b201 100644 --- a/shared/typos/codeql-pack.release.yml +++ b/shared/typos/codeql-pack.release.yml @@ -1,2 +1,2 @@ --- -lastReleaseVersion: 1.0.11 +lastReleaseVersion: 1.0.12 diff --git a/shared/typos/qlpack.yml b/shared/typos/qlpack.yml index dcd9631b697..cbb4019306e 100644 --- a/shared/typos/qlpack.yml +++ b/shared/typos/qlpack.yml @@ -1,5 +1,5 @@ name: codeql/typos -version: 1.0.12-dev +version: 1.0.12 groups: shared library: true warnOnImplicitThis: true diff --git a/shared/util/CHANGELOG.md b/shared/util/CHANGELOG.md index 9f1057cba24..15c3b8c6225 100644 --- a/shared/util/CHANGELOG.md +++ b/shared/util/CHANGELOG.md @@ -1,3 +1,7 @@ +## 1.0.12 + +No user-facing changes. + ## 1.0.11 No user-facing changes. diff --git a/shared/util/change-notes/released/1.0.12.md b/shared/util/change-notes/released/1.0.12.md new file mode 100644 index 00000000000..12b3cf3e18f --- /dev/null +++ b/shared/util/change-notes/released/1.0.12.md @@ -0,0 +1,3 @@ +## 1.0.12 + +No user-facing changes. diff --git a/shared/util/codeql-pack.release.yml b/shared/util/codeql-pack.release.yml index 56a2fb38872..2036690b201 100644 --- a/shared/util/codeql-pack.release.yml +++ b/shared/util/codeql-pack.release.yml @@ -1,2 +1,2 @@ --- -lastReleaseVersion: 1.0.11 +lastReleaseVersion: 1.0.12 diff --git a/shared/util/qlpack.yml b/shared/util/qlpack.yml index 2a33b5aa84a..ebc22562a77 100644 --- a/shared/util/qlpack.yml +++ b/shared/util/qlpack.yml @@ -1,5 +1,5 @@ name: codeql/util -version: 1.0.12-dev +version: 1.0.12 groups: shared library: true dependencies: null diff --git a/shared/xml/CHANGELOG.md b/shared/xml/CHANGELOG.md index 6ef34d6264c..c8213742dc9 100644 --- a/shared/xml/CHANGELOG.md +++ b/shared/xml/CHANGELOG.md @@ -1,3 +1,7 @@ +## 1.0.12 + +No user-facing changes. + ## 1.0.11 No user-facing changes. diff --git a/shared/xml/change-notes/released/1.0.12.md b/shared/xml/change-notes/released/1.0.12.md new file mode 100644 index 00000000000..12b3cf3e18f --- /dev/null +++ b/shared/xml/change-notes/released/1.0.12.md @@ -0,0 +1,3 @@ +## 1.0.12 + +No user-facing changes. diff --git a/shared/xml/codeql-pack.release.yml b/shared/xml/codeql-pack.release.yml index 56a2fb38872..2036690b201 100644 --- a/shared/xml/codeql-pack.release.yml +++ b/shared/xml/codeql-pack.release.yml @@ -1,2 +1,2 @@ --- -lastReleaseVersion: 1.0.11 +lastReleaseVersion: 1.0.12 diff --git a/shared/xml/qlpack.yml b/shared/xml/qlpack.yml index 94acb679e9c..902f7735b18 100644 --- a/shared/xml/qlpack.yml +++ b/shared/xml/qlpack.yml @@ -1,5 +1,5 @@ name: codeql/xml -version: 1.0.12-dev +version: 1.0.12 groups: shared library: true dependencies: diff --git a/shared/yaml/CHANGELOG.md b/shared/yaml/CHANGELOG.md index 79fc573c5ae..2cc2ec62057 100644 --- a/shared/yaml/CHANGELOG.md +++ b/shared/yaml/CHANGELOG.md @@ -1,3 +1,7 @@ +## 1.0.12 + +No user-facing changes. + ## 1.0.11 No user-facing changes. diff --git a/shared/yaml/change-notes/released/1.0.12.md b/shared/yaml/change-notes/released/1.0.12.md new file mode 100644 index 00000000000..12b3cf3e18f --- /dev/null +++ b/shared/yaml/change-notes/released/1.0.12.md @@ -0,0 +1,3 @@ +## 1.0.12 + +No user-facing changes. diff --git a/shared/yaml/codeql-pack.release.yml b/shared/yaml/codeql-pack.release.yml index 56a2fb38872..2036690b201 100644 --- a/shared/yaml/codeql-pack.release.yml +++ b/shared/yaml/codeql-pack.release.yml @@ -1,2 +1,2 @@ --- -lastReleaseVersion: 1.0.11 +lastReleaseVersion: 1.0.12 diff --git a/shared/yaml/qlpack.yml b/shared/yaml/qlpack.yml index 62119951431..4d5cd01611f 100644 --- a/shared/yaml/qlpack.yml +++ b/shared/yaml/qlpack.yml @@ -1,5 +1,5 @@ name: codeql/yaml -version: 1.0.12-dev +version: 1.0.12 groups: shared library: true warnOnImplicitThis: true diff --git a/swift/ql/lib/CHANGELOG.md b/swift/ql/lib/CHANGELOG.md index d871246f42f..898a3282bb5 100644 --- a/swift/ql/lib/CHANGELOG.md +++ b/swift/ql/lib/CHANGELOG.md @@ -1,3 +1,7 @@ +## 2.0.4 + +No user-facing changes. + ## 2.0.3 No user-facing changes. diff --git a/swift/ql/lib/change-notes/released/2.0.4.md b/swift/ql/lib/change-notes/released/2.0.4.md new file mode 100644 index 00000000000..8e002b6db64 --- /dev/null +++ b/swift/ql/lib/change-notes/released/2.0.4.md @@ -0,0 +1,3 @@ +## 2.0.4 + +No user-facing changes. diff --git a/swift/ql/lib/codeql-pack.release.yml b/swift/ql/lib/codeql-pack.release.yml index fabf1e86596..0f306f8bd3b 100644 --- a/swift/ql/lib/codeql-pack.release.yml +++ b/swift/ql/lib/codeql-pack.release.yml @@ -1,2 +1,2 @@ --- -lastReleaseVersion: 2.0.3 +lastReleaseVersion: 2.0.4 diff --git a/swift/ql/lib/qlpack.yml b/swift/ql/lib/qlpack.yml index bc08ee6ac2e..1197bd99667 100644 --- a/swift/ql/lib/qlpack.yml +++ b/swift/ql/lib/qlpack.yml @@ -1,5 +1,5 @@ name: codeql/swift-all -version: 2.0.4-dev +version: 2.0.4 groups: swift extractor: swift dbscheme: swift.dbscheme diff --git a/swift/ql/src/CHANGELOG.md b/swift/ql/src/CHANGELOG.md index 8890e7e83a4..76de7db1348 100644 --- a/swift/ql/src/CHANGELOG.md +++ b/swift/ql/src/CHANGELOG.md @@ -1,3 +1,7 @@ +## 1.0.12 + +No user-facing changes. + ## 1.0.11 No user-facing changes. diff --git a/swift/ql/src/change-notes/released/1.0.12.md b/swift/ql/src/change-notes/released/1.0.12.md new file mode 100644 index 00000000000..12b3cf3e18f --- /dev/null +++ b/swift/ql/src/change-notes/released/1.0.12.md @@ -0,0 +1,3 @@ +## 1.0.12 + +No user-facing changes. diff --git a/swift/ql/src/codeql-pack.release.yml b/swift/ql/src/codeql-pack.release.yml index 56a2fb38872..2036690b201 100644 --- a/swift/ql/src/codeql-pack.release.yml +++ b/swift/ql/src/codeql-pack.release.yml @@ -1,2 +1,2 @@ --- -lastReleaseVersion: 1.0.11 +lastReleaseVersion: 1.0.12 diff --git a/swift/ql/src/qlpack.yml b/swift/ql/src/qlpack.yml index dcc0f94dcf4..128ca2b26ea 100644 --- a/swift/ql/src/qlpack.yml +++ b/swift/ql/src/qlpack.yml @@ -1,5 +1,5 @@ name: codeql/swift-queries -version: 1.0.12-dev +version: 1.0.12 groups: - swift - queries From 602f52f09bd05db2fbbb1130b4b3e44e6f9f4d46 Mon Sep 17 00:00:00 2001 From: Alex Eyers-Taylor Date: Tue, 19 Nov 2024 16:34:30 +0000 Subject: [PATCH 19/46] Fix broken changelog. --- javascript/ql/lib/change-notes/released/2.1.1.md | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/javascript/ql/lib/change-notes/released/2.1.1.md b/javascript/ql/lib/change-notes/released/2.1.1.md index 18d206b1918..fd6616a6c03 100644 --- a/javascript/ql/lib/change-notes/released/2.1.1.md +++ b/javascript/ql/lib/change-notes/released/2.1.1.md @@ -2,9 +2,9 @@ ### Minor Analysis Improvements -Added taint-steps for `Array.prototype.with`. -Added taint-steps for `Array.prototype.toSpliced` +* Added taint-steps for `Array.prototype.with`. +* Added taint-steps for `Array.prototype.toSpliced` * Added taint-steps for `Array.prototype.toReversed`. * Added taint-steps for `Array.prototype.toSorted`. -Added support for `String.prototype.matchAll`. +* Added support for `String.prototype.matchAll`. * Added taint-steps for `Array.prototype.reverse` From 44126913cd8af92e731247f3d534b388aa0d3179 Mon Sep 17 00:00:00 2001 From: "REDMOND\\brodes" Date: Thu, 21 Nov 2024 12:08:04 -0500 Subject: [PATCH 20/46] Delaying deprecation of ThrowingFunction. --- .../ir/implementation/raw/internal/TranslatedCall.qll | 4 ++-- .../semmle/code/cpp/models/interfaces/Throwing.qll | 11 ++--------- 2 files changed, 4 insertions(+), 11 deletions(-) diff --git a/cpp/ql/lib/semmle/code/cpp/ir/implementation/raw/internal/TranslatedCall.qll b/cpp/ql/lib/semmle/code/cpp/ir/implementation/raw/internal/TranslatedCall.qll index df92e73ed37..daa6bdaafcf 100644 --- a/cpp/ql/lib/semmle/code/cpp/ir/implementation/raw/internal/TranslatedCall.qll +++ b/cpp/ql/lib/semmle/code/cpp/ir/implementation/raw/internal/TranslatedCall.qll @@ -363,11 +363,11 @@ class TranslatedFunctionCall extends TranslatedCallExpr, TranslatedDirectCall { } final override predicate mayThrowException() { - expr.getTarget() instanceof AlwaysSehThrowingFunction + expr.getTarget().(ThrowingFunction).mayThrowException(_) } final override predicate mustThrowException() { - expr.getTarget() instanceof AlwaysSehThrowingFunction + expr.getTarget().(ThrowingFunction).mayThrowException(true) } } diff --git a/cpp/ql/lib/semmle/code/cpp/models/interfaces/Throwing.qll b/cpp/ql/lib/semmle/code/cpp/models/interfaces/Throwing.qll index f75d0a78592..044b30f7b70 100644 --- a/cpp/ql/lib/semmle/code/cpp/models/interfaces/Throwing.qll +++ b/cpp/ql/lib/semmle/code/cpp/models/interfaces/Throwing.qll @@ -12,22 +12,15 @@ import semmle.code.cpp.models.interfaces.FunctionInputsAndOutputs /** * A function that is known to raise an exception. - * - * DEPRECATED: use `AlwaysSehThrowingFunction` instead if a function unconditionally throws. - * These are assumed the only case where functions throw/raise exceptions unconditionally. - * For functions that may throw, this will be the default behavior in the IR. */ -abstract deprecated class ThrowingFunction extends Function { +abstract class ThrowingFunction extends Function { ThrowingFunction() { any() } /** * Holds if this function may throw an exception during evaluation. * If `unconditional` is `true` the function always throws an exception. - * - * DPERECATED: for always throwing functions use `AlwaysSehThrowingFunction` instead. - * For functions that may throw, this will be the default behavior in the IR. */ - abstract deprecated predicate mayThrowException(boolean unconditional); + abstract predicate mayThrowException(boolean unconditional); } /** From 7059fc3e31bc5b66b1ed971091960080ad422533 Mon Sep 17 00:00:00 2001 From: "REDMOND\\brodes" Date: Thu, 21 Nov 2024 12:10:42 -0500 Subject: [PATCH 21/46] Adding intermediate solution towards deprecating ThrowingFunction --- .../cpp/ir/implementation/raw/internal/TranslatedCall.qll | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/cpp/ql/lib/semmle/code/cpp/ir/implementation/raw/internal/TranslatedCall.qll b/cpp/ql/lib/semmle/code/cpp/ir/implementation/raw/internal/TranslatedCall.qll index daa6bdaafcf..2ddc55f91f5 100644 --- a/cpp/ql/lib/semmle/code/cpp/ir/implementation/raw/internal/TranslatedCall.qll +++ b/cpp/ql/lib/semmle/code/cpp/ir/implementation/raw/internal/TranslatedCall.qll @@ -364,10 +364,14 @@ class TranslatedFunctionCall extends TranslatedCallExpr, TranslatedDirectCall { final override predicate mayThrowException() { expr.getTarget().(ThrowingFunction).mayThrowException(_) + or + expr.getTarget() instanceof AlwaysSehThrowingFunction } final override predicate mustThrowException() { expr.getTarget().(ThrowingFunction).mayThrowException(true) + or + expr.getTarget() instanceof AlwaysSehThrowingFunction } } From 248f1c4ebea29dd967898b3077ac3dccea105919 Mon Sep 17 00:00:00 2001 From: "REDMOND\\brodes" Date: Thu, 21 Nov 2024 12:15:14 -0500 Subject: [PATCH 22/46] Updating change log --- cpp/ql/lib/change-notes/2024-11-18-throwing-functions.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/cpp/ql/lib/change-notes/2024-11-18-throwing-functions.md b/cpp/ql/lib/change-notes/2024-11-18-throwing-functions.md index 114822e6c8f..73b358a0e1f 100644 --- a/cpp/ql/lib/change-notes/2024-11-18-throwing-functions.md +++ b/cpp/ql/lib/change-notes/2024-11-18-throwing-functions.md @@ -1,4 +1,4 @@ --- category: deprecated --- -* The `NonThrowing` class (`semmle.code.cpp.models.interfaces.NonThrowing`) has been deprecated. Please use the `NonThrowing` class from `semmle.code.cpp.models.interfaces.Throwing` instead. \ No newline at end of file +* The `NonThrowing` class (`semmle.code.cpp.models.interfaces.NonThrowing`) has been deprecated. Please use the `NonCppThrowingFunction` class instead. \ No newline at end of file From 583651ba40ff84c834905ded056fb65adfe7d835 Mon Sep 17 00:00:00 2001 From: "REDMOND\\brodes" Date: Thu, 21 Nov 2024 12:41:26 -0500 Subject: [PATCH 23/46] Missing NonCppThrowingFunction changes in Printf.qll --- .../lib/semmle/code/cpp/models/implementations/Printf.qll | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/cpp/ql/lib/semmle/code/cpp/models/implementations/Printf.qll b/cpp/ql/lib/semmle/code/cpp/models/implementations/Printf.qll index f28359c7f64..585091eff70 100644 --- a/cpp/ql/lib/semmle/code/cpp/models/implementations/Printf.qll +++ b/cpp/ql/lib/semmle/code/cpp/models/implementations/Printf.qll @@ -37,7 +37,7 @@ private class Printf extends FormattingFunction, AliasFunction, NonCppThrowingFu /** * The standard functions `fprintf`, `fwprintf` and their glib variants. */ -private class Fprintf extends FormattingFunction, NonThrowingFunction { +private class Fprintf extends FormattingFunction, NonCppThrowingFunction { Fprintf() { this instanceof TopLevelFunction and ( @@ -55,7 +55,7 @@ private class Fprintf extends FormattingFunction, NonThrowingFunction { /** * The standard function `sprintf` and its Microsoft and glib variants. */ -private class Sprintf extends FormattingFunction, NonThrowingFunction { +private class Sprintf extends FormattingFunction, NonCppThrowingFunction { Sprintf() { this instanceof TopLevelFunction and ( @@ -98,7 +98,7 @@ private class Sprintf extends FormattingFunction, NonThrowingFunction { /** * Implements `Snprintf`. */ -private class SnprintfImpl extends Snprintf, AliasFunction, SideEffectFunction, NonThrowingFunction { +private class SnprintfImpl extends Snprintf, AliasFunction, SideEffectFunction, NonCppThrowingFunction { SnprintfImpl() { this instanceof TopLevelFunction and ( @@ -205,7 +205,7 @@ private class StringCchPrintf extends FormattingFunction { /** * The standard function `syslog`. */ -private class Syslog extends FormattingFunction, NonThrowingFunction { +private class Syslog extends FormattingFunction, NonCppThrowingFunction { Syslog() { this instanceof TopLevelFunction and this.hasGlobalName("syslog") and From 66cf736b4c8f56e2b5787a3906513fd5801c0a0d Mon Sep 17 00:00:00 2001 From: "REDMOND\\brodes" Date: Thu, 21 Nov 2024 12:44:28 -0500 Subject: [PATCH 24/46] printf formatting. --- cpp/ql/lib/semmle/code/cpp/models/implementations/Printf.qll | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/cpp/ql/lib/semmle/code/cpp/models/implementations/Printf.qll b/cpp/ql/lib/semmle/code/cpp/models/implementations/Printf.qll index 585091eff70..d4b054ea0b5 100644 --- a/cpp/ql/lib/semmle/code/cpp/models/implementations/Printf.qll +++ b/cpp/ql/lib/semmle/code/cpp/models/implementations/Printf.qll @@ -98,7 +98,9 @@ private class Sprintf extends FormattingFunction, NonCppThrowingFunction { /** * Implements `Snprintf`. */ -private class SnprintfImpl extends Snprintf, AliasFunction, SideEffectFunction, NonCppThrowingFunction { +private class SnprintfImpl extends Snprintf, AliasFunction, SideEffectFunction, + NonCppThrowingFunction +{ SnprintfImpl() { this instanceof TopLevelFunction and ( From 37365c746ccf15848cc9abc77f96678d11b01ec4 Mon Sep 17 00:00:00 2001 From: "REDMOND\\brodes" Date: Thu, 21 Nov 2024 12:59:56 -0500 Subject: [PATCH 25/46] Updating to NonCppThrowingFunction use in IncorrectALlocationErrorHandling.ql --- .../Security/CWE/CWE-570/IncorrectAllocationErrorHandling.ql | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/cpp/ql/src/Security/CWE/CWE-570/IncorrectAllocationErrorHandling.ql b/cpp/ql/src/Security/CWE/CWE-570/IncorrectAllocationErrorHandling.ql index 92daf31b057..d4d908f8474 100644 --- a/cpp/ql/src/Security/CWE/CWE-570/IncorrectAllocationErrorHandling.ql +++ b/cpp/ql/src/Security/CWE/CWE-570/IncorrectAllocationErrorHandling.ql @@ -45,7 +45,7 @@ predicate deleteMayThrow(DeleteOrDeleteArrayExpr deleteExpr) { * like it might throw an exception, and the function does not have a `noexcept` or `throw()` specifier. */ predicate functionMayThrow(Function f) { - not f instanceof NonThrowingFunction and + not f instanceof NonCppThrowingFunction and (not exists(f.getBlock()) or stmtMayThrow(f.getBlock())) } From 258f72db46da2f21a3fc45f258cfbc71f3fd16d0 Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" Date: Thu, 21 Nov 2024 18:01:56 +0000 Subject: [PATCH 26/46] Post-release preparation for codeql-cli-2.19.4 --- cpp/ql/lib/qlpack.yml | 2 +- cpp/ql/src/qlpack.yml | 2 +- csharp/ql/campaigns/Solorigate/lib/qlpack.yml | 2 +- csharp/ql/campaigns/Solorigate/src/qlpack.yml | 2 +- csharp/ql/lib/qlpack.yml | 2 +- csharp/ql/src/qlpack.yml | 2 +- go/ql/consistency-queries/qlpack.yml | 2 +- go/ql/lib/qlpack.yml | 2 +- go/ql/src/qlpack.yml | 2 +- java/ql/automodel/src/qlpack.yml | 2 +- java/ql/lib/qlpack.yml | 2 +- java/ql/src/qlpack.yml | 2 +- javascript/ql/lib/qlpack.yml | 2 +- javascript/ql/src/qlpack.yml | 2 +- misc/suite-helpers/qlpack.yml | 2 +- python/ql/lib/qlpack.yml | 2 +- python/ql/src/qlpack.yml | 2 +- ruby/ql/lib/qlpack.yml | 2 +- ruby/ql/src/qlpack.yml | 2 +- shared/controlflow/qlpack.yml | 2 +- shared/dataflow/qlpack.yml | 2 +- shared/mad/qlpack.yml | 2 +- shared/rangeanalysis/qlpack.yml | 2 +- shared/regex/qlpack.yml | 2 +- shared/ssa/qlpack.yml | 2 +- shared/threat-models/qlpack.yml | 2 +- shared/tutorial/qlpack.yml | 2 +- shared/typeflow/qlpack.yml | 2 +- shared/typetracking/qlpack.yml | 2 +- shared/typos/qlpack.yml | 2 +- shared/util/qlpack.yml | 2 +- shared/xml/qlpack.yml | 2 +- shared/yaml/qlpack.yml | 2 +- swift/ql/lib/qlpack.yml | 2 +- swift/ql/src/qlpack.yml | 2 +- 35 files changed, 35 insertions(+), 35 deletions(-) diff --git a/cpp/ql/lib/qlpack.yml b/cpp/ql/lib/qlpack.yml index 74b97808dc2..001028daae1 100644 --- a/cpp/ql/lib/qlpack.yml +++ b/cpp/ql/lib/qlpack.yml @@ -1,5 +1,5 @@ name: codeql/cpp-all -version: 2.1.1 +version: 2.1.2-dev groups: cpp dbscheme: semmlecode.cpp.dbscheme extractor: cpp diff --git a/cpp/ql/src/qlpack.yml b/cpp/ql/src/qlpack.yml index 06b63fc6d45..2fcf45807da 100644 --- a/cpp/ql/src/qlpack.yml +++ b/cpp/ql/src/qlpack.yml @@ -1,5 +1,5 @@ name: codeql/cpp-queries -version: 1.2.7 +version: 1.2.8-dev groups: - cpp - queries diff --git a/csharp/ql/campaigns/Solorigate/lib/qlpack.yml b/csharp/ql/campaigns/Solorigate/lib/qlpack.yml index 59289e3ddb1..0c8db9920eb 100644 --- a/csharp/ql/campaigns/Solorigate/lib/qlpack.yml +++ b/csharp/ql/campaigns/Solorigate/lib/qlpack.yml @@ -1,5 +1,5 @@ name: codeql/csharp-solorigate-all -version: 1.7.29 +version: 1.7.30-dev groups: - csharp - solorigate diff --git a/csharp/ql/campaigns/Solorigate/src/qlpack.yml b/csharp/ql/campaigns/Solorigate/src/qlpack.yml index 19e34e504e4..3a4343780e4 100644 --- a/csharp/ql/campaigns/Solorigate/src/qlpack.yml +++ b/csharp/ql/campaigns/Solorigate/src/qlpack.yml @@ -1,5 +1,5 @@ name: codeql/csharp-solorigate-queries -version: 1.7.29 +version: 1.7.30-dev groups: - csharp - solorigate diff --git a/csharp/ql/lib/qlpack.yml b/csharp/ql/lib/qlpack.yml index a3f9aedf516..efc82eedc90 100644 --- a/csharp/ql/lib/qlpack.yml +++ b/csharp/ql/lib/qlpack.yml @@ -1,5 +1,5 @@ name: codeql/csharp-all -version: 3.1.1 +version: 3.1.2-dev groups: csharp dbscheme: semmlecode.csharp.dbscheme extractor: csharp diff --git a/csharp/ql/src/qlpack.yml b/csharp/ql/src/qlpack.yml index dc99bd4768a..569b69021d1 100644 --- a/csharp/ql/src/qlpack.yml +++ b/csharp/ql/src/qlpack.yml @@ -1,5 +1,5 @@ name: codeql/csharp-queries -version: 1.0.12 +version: 1.0.13-dev groups: - csharp - queries diff --git a/go/ql/consistency-queries/qlpack.yml b/go/ql/consistency-queries/qlpack.yml index b9e67ea6137..60d11115c14 100644 --- a/go/ql/consistency-queries/qlpack.yml +++ b/go/ql/consistency-queries/qlpack.yml @@ -1,5 +1,5 @@ name: codeql-go-consistency-queries -version: 1.0.12 +version: 1.0.13-dev groups: - go - queries diff --git a/go/ql/lib/qlpack.yml b/go/ql/lib/qlpack.yml index 0e6da37dea1..98e81430897 100644 --- a/go/ql/lib/qlpack.yml +++ b/go/ql/lib/qlpack.yml @@ -1,5 +1,5 @@ name: codeql/go-all -version: 2.1.3 +version: 2.1.4-dev groups: go dbscheme: go.dbscheme extractor: go diff --git a/go/ql/src/qlpack.yml b/go/ql/src/qlpack.yml index af130fa6acf..866a0935713 100644 --- a/go/ql/src/qlpack.yml +++ b/go/ql/src/qlpack.yml @@ -1,5 +1,5 @@ name: codeql/go-queries -version: 1.1.3 +version: 1.1.4-dev groups: - go - queries diff --git a/java/ql/automodel/src/qlpack.yml b/java/ql/automodel/src/qlpack.yml index fc5ad003511..da81981956b 100644 --- a/java/ql/automodel/src/qlpack.yml +++ b/java/ql/automodel/src/qlpack.yml @@ -1,5 +1,5 @@ name: codeql/java-automodel-queries -version: 1.0.12 +version: 1.0.13-dev groups: - java - automodel diff --git a/java/ql/lib/qlpack.yml b/java/ql/lib/qlpack.yml index 0e8d80fe435..a8c1ee2de2b 100644 --- a/java/ql/lib/qlpack.yml +++ b/java/ql/lib/qlpack.yml @@ -1,5 +1,5 @@ name: codeql/java-all -version: 4.2.1 +version: 4.2.2-dev groups: java dbscheme: config/semmlecode.dbscheme extractor: java diff --git a/java/ql/src/qlpack.yml b/java/ql/src/qlpack.yml index 73e951db034..44740683f14 100644 --- a/java/ql/src/qlpack.yml +++ b/java/ql/src/qlpack.yml @@ -1,5 +1,5 @@ name: codeql/java-queries -version: 1.1.9 +version: 1.1.10-dev groups: - java - queries diff --git a/javascript/ql/lib/qlpack.yml b/javascript/ql/lib/qlpack.yml index fc7dd9be7b7..9726d407e1a 100644 --- a/javascript/ql/lib/qlpack.yml +++ b/javascript/ql/lib/qlpack.yml @@ -1,5 +1,5 @@ name: codeql/javascript-all -version: 2.1.1 +version: 2.1.2-dev groups: javascript dbscheme: semmlecode.javascript.dbscheme extractor: javascript diff --git a/javascript/ql/src/qlpack.yml b/javascript/ql/src/qlpack.yml index de3be7c9a90..a1efe30e69d 100644 --- a/javascript/ql/src/qlpack.yml +++ b/javascript/ql/src/qlpack.yml @@ -1,5 +1,5 @@ name: codeql/javascript-queries -version: 1.2.4 +version: 1.2.5-dev groups: - javascript - queries diff --git a/misc/suite-helpers/qlpack.yml b/misc/suite-helpers/qlpack.yml index 9cb14562b39..e2cbd7f3f9d 100644 --- a/misc/suite-helpers/qlpack.yml +++ b/misc/suite-helpers/qlpack.yml @@ -1,4 +1,4 @@ name: codeql/suite-helpers -version: 1.0.12 +version: 1.0.13-dev groups: shared warnOnImplicitThis: true diff --git a/python/ql/lib/qlpack.yml b/python/ql/lib/qlpack.yml index 6c2dd3c9d71..290189efa13 100644 --- a/python/ql/lib/qlpack.yml +++ b/python/ql/lib/qlpack.yml @@ -1,5 +1,5 @@ name: codeql/python-all -version: 2.2.0 +version: 2.2.1-dev groups: python dbscheme: semmlecode.python.dbscheme extractor: python diff --git a/python/ql/src/qlpack.yml b/python/ql/src/qlpack.yml index 76133c2a243..d84402123dc 100644 --- a/python/ql/src/qlpack.yml +++ b/python/ql/src/qlpack.yml @@ -1,5 +1,5 @@ name: codeql/python-queries -version: 1.3.3 +version: 1.3.4-dev groups: - python - queries diff --git a/ruby/ql/lib/qlpack.yml b/ruby/ql/lib/qlpack.yml index 60aa6608a46..97259f5dd36 100644 --- a/ruby/ql/lib/qlpack.yml +++ b/ruby/ql/lib/qlpack.yml @@ -1,5 +1,5 @@ name: codeql/ruby-all -version: 2.0.4 +version: 2.0.5-dev groups: ruby extractor: ruby dbscheme: ruby.dbscheme diff --git a/ruby/ql/src/qlpack.yml b/ruby/ql/src/qlpack.yml index d34551aeb15..26ac8866ae0 100644 --- a/ruby/ql/src/qlpack.yml +++ b/ruby/ql/src/qlpack.yml @@ -1,5 +1,5 @@ name: codeql/ruby-queries -version: 1.1.7 +version: 1.1.8-dev groups: - ruby - queries diff --git a/shared/controlflow/qlpack.yml b/shared/controlflow/qlpack.yml index c7554d77bb4..da4368217d3 100644 --- a/shared/controlflow/qlpack.yml +++ b/shared/controlflow/qlpack.yml @@ -1,5 +1,5 @@ name: codeql/controlflow -version: 1.0.12 +version: 1.0.13-dev groups: shared library: true dependencies: diff --git a/shared/dataflow/qlpack.yml b/shared/dataflow/qlpack.yml index 3e488555c7d..15f77aa0a3a 100644 --- a/shared/dataflow/qlpack.yml +++ b/shared/dataflow/qlpack.yml @@ -1,5 +1,5 @@ name: codeql/dataflow -version: 1.1.6 +version: 1.1.7-dev groups: shared library: true dependencies: diff --git a/shared/mad/qlpack.yml b/shared/mad/qlpack.yml index 7c6a961cb99..8ce60ad0cc9 100644 --- a/shared/mad/qlpack.yml +++ b/shared/mad/qlpack.yml @@ -1,5 +1,5 @@ name: codeql/mad -version: 1.0.12 +version: 1.0.13-dev groups: shared library: true dependencies: diff --git a/shared/rangeanalysis/qlpack.yml b/shared/rangeanalysis/qlpack.yml index 6a61414dd46..ee5954cae0b 100644 --- a/shared/rangeanalysis/qlpack.yml +++ b/shared/rangeanalysis/qlpack.yml @@ -1,5 +1,5 @@ name: codeql/rangeanalysis -version: 1.0.12 +version: 1.0.13-dev groups: shared library: true dependencies: diff --git a/shared/regex/qlpack.yml b/shared/regex/qlpack.yml index 3ab27085789..34aa1065398 100644 --- a/shared/regex/qlpack.yml +++ b/shared/regex/qlpack.yml @@ -1,5 +1,5 @@ name: codeql/regex -version: 1.0.12 +version: 1.0.13-dev groups: shared library: true dependencies: diff --git a/shared/ssa/qlpack.yml b/shared/ssa/qlpack.yml index 1957224936f..145cd9e2192 100644 --- a/shared/ssa/qlpack.yml +++ b/shared/ssa/qlpack.yml @@ -1,5 +1,5 @@ name: codeql/ssa -version: 1.0.12 +version: 1.0.13-dev groups: shared library: true dependencies: diff --git a/shared/threat-models/qlpack.yml b/shared/threat-models/qlpack.yml index 637773d6bfb..16ca1fe3a88 100644 --- a/shared/threat-models/qlpack.yml +++ b/shared/threat-models/qlpack.yml @@ -1,5 +1,5 @@ name: codeql/threat-models -version: 1.0.12 +version: 1.0.13-dev library: true groups: shared dataExtensions: diff --git a/shared/tutorial/qlpack.yml b/shared/tutorial/qlpack.yml index f4c164e1052..14cbbbdc067 100644 --- a/shared/tutorial/qlpack.yml +++ b/shared/tutorial/qlpack.yml @@ -1,7 +1,7 @@ name: codeql/tutorial description: Library for the CodeQL detective tutorials, helping new users learn to write CodeQL queries. -version: 1.0.12 +version: 1.0.13-dev groups: shared library: true warnOnImplicitThis: true diff --git a/shared/typeflow/qlpack.yml b/shared/typeflow/qlpack.yml index 514743bcb4d..5a659a4559d 100644 --- a/shared/typeflow/qlpack.yml +++ b/shared/typeflow/qlpack.yml @@ -1,5 +1,5 @@ name: codeql/typeflow -version: 1.0.12 +version: 1.0.13-dev groups: shared library: true dependencies: diff --git a/shared/typetracking/qlpack.yml b/shared/typetracking/qlpack.yml index b7c3832bef1..216cc8696d9 100644 --- a/shared/typetracking/qlpack.yml +++ b/shared/typetracking/qlpack.yml @@ -1,5 +1,5 @@ name: codeql/typetracking -version: 1.0.12 +version: 1.0.13-dev groups: shared library: true dependencies: diff --git a/shared/typos/qlpack.yml b/shared/typos/qlpack.yml index cbb4019306e..8c1a93efe5e 100644 --- a/shared/typos/qlpack.yml +++ b/shared/typos/qlpack.yml @@ -1,5 +1,5 @@ name: codeql/typos -version: 1.0.12 +version: 1.0.13-dev groups: shared library: true warnOnImplicitThis: true diff --git a/shared/util/qlpack.yml b/shared/util/qlpack.yml index ebc22562a77..83284f19cc3 100644 --- a/shared/util/qlpack.yml +++ b/shared/util/qlpack.yml @@ -1,5 +1,5 @@ name: codeql/util -version: 1.0.12 +version: 1.0.13-dev groups: shared library: true dependencies: null diff --git a/shared/xml/qlpack.yml b/shared/xml/qlpack.yml index 902f7735b18..f48f41ef3ff 100644 --- a/shared/xml/qlpack.yml +++ b/shared/xml/qlpack.yml @@ -1,5 +1,5 @@ name: codeql/xml -version: 1.0.12 +version: 1.0.13-dev groups: shared library: true dependencies: diff --git a/shared/yaml/qlpack.yml b/shared/yaml/qlpack.yml index 4d5cd01611f..54880a8cf2f 100644 --- a/shared/yaml/qlpack.yml +++ b/shared/yaml/qlpack.yml @@ -1,5 +1,5 @@ name: codeql/yaml -version: 1.0.12 +version: 1.0.13-dev groups: shared library: true warnOnImplicitThis: true diff --git a/swift/ql/lib/qlpack.yml b/swift/ql/lib/qlpack.yml index 1197bd99667..2e855546d50 100644 --- a/swift/ql/lib/qlpack.yml +++ b/swift/ql/lib/qlpack.yml @@ -1,5 +1,5 @@ name: codeql/swift-all -version: 2.0.4 +version: 2.0.5-dev groups: swift extractor: swift dbscheme: swift.dbscheme diff --git a/swift/ql/src/qlpack.yml b/swift/ql/src/qlpack.yml index 128ca2b26ea..1d9f7154cda 100644 --- a/swift/ql/src/qlpack.yml +++ b/swift/ql/src/qlpack.yml @@ -1,5 +1,5 @@ name: codeql/swift-queries -version: 1.0.12 +version: 1.0.13-dev groups: - swift - queries From 24eb65692f616cb1b3f1f8f0b5bad6bd10071ceb Mon Sep 17 00:00:00 2001 From: Paolo Tranquilli Date: Tue, 26 Nov 2024 15:57:18 +0100 Subject: [PATCH 27/46] Rust: add some performance diagnostics This outputs some duration counts for various parts of the extraction process in the database in the form of telemetry diagnostics. The diagnostics format was preferred to putting things in the relational database as that will scale better to code scanning and is more flexible as for the data we can put into it without passing through the dbscheme. Also, although it's not the case yet, it will be possible to output diagnostics even if creation of the database fails. --- Cargo.lock | 6 +- MODULE.bazel | 2 +- .../tree_sitter_extractors_deps/BUILD.bazel | 2 +- .../BUILD.cargo_metadata-0.18.1.bazel | 2 +- .../BUILD.ra_ap_proc_macro_api-0.0.232.bazel | 2 +- .../BUILD.ra_ap_project_model-0.0.232.bazel | 2 +- ...2.bazel => BUILD.serde_json-1.0.133.bazel} | 6 +- .../tree_sitter_extractors_deps/defs.bzl | 16 +- rust/extractor/Cargo.toml | 2 + rust/extractor/src/config.rs | 1 + rust/extractor/src/diagnostics.rs | 258 ++++++++++++++++++ rust/extractor/src/main.rs | 90 ++++-- rust/ql/integration-tests/conftest.py | 9 + .../hello-project/diagnostics.expected | 101 +++++++ .../hello-project/test_project.py | 4 +- .../diagnostics.cargo.expected | 97 +++++++ .../diagnostics.rust-project.expected | 93 +++++++ .../hello-workspace/test_workspace.py | 6 +- 18 files changed, 656 insertions(+), 43 deletions(-) rename misc/bazel/3rdparty/tree_sitter_extractors_deps/{BUILD.serde_json-1.0.132.bazel => BUILD.serde_json-1.0.133.bazel} (97%) create mode 100644 rust/extractor/src/diagnostics.rs create mode 100644 rust/ql/integration-tests/hello-project/diagnostics.expected create mode 100644 rust/ql/integration-tests/hello-workspace/diagnostics.cargo.expected create mode 100644 rust/ql/integration-tests/hello-workspace/diagnostics.rust-project.expected diff --git a/Cargo.lock b/Cargo.lock index 1d5b8824c84..b0af4387f2c 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -381,6 +381,7 @@ version = "0.1.0" dependencies = [ "anyhow", "argfile", + "chrono", "clap", "codeql-extractor", "figment", @@ -404,6 +405,7 @@ dependencies = [ "ra_ap_vfs", "rust-extractor-macros", "serde", + "serde_json", "serde_with", "stderrlog", "triomphe", @@ -2034,9 +2036,9 @@ dependencies = [ [[package]] name = "serde_json" -version = "1.0.132" +version = "1.0.133" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d726bfaff4b320266d395898905d0eba0345aae23b54aee3a737e260fd46db03" +checksum = "c7fceb2473b9166b2294ef05efcb65a3db80803f0b03ef86a5fc88a2b85ee377" dependencies = [ "itoa", "memchr", diff --git a/MODULE.bazel b/MODULE.bazel index 13c801520b0..311d0908832 100644 --- a/MODULE.bazel +++ b/MODULE.bazel @@ -68,7 +68,7 @@ use_repo(py_deps, "vendor__anyhow-1.0.44", "vendor__cc-1.0.70", "vendor__clap-2. # deps for ruby+rust # keep in sync by running `misc/bazel/3rdparty/update_cargo_deps.sh` tree_sitter_extractors_deps = use_extension("//misc/bazel/3rdparty:tree_sitter_extractors_extension.bzl", "r") -use_repo(tree_sitter_extractors_deps, "vendor__anyhow-1.0.93", "vendor__argfile-0.2.1", "vendor__chrono-0.4.38", "vendor__clap-4.5.20", "vendor__encoding-0.2.33", "vendor__figment-0.10.19", "vendor__flate2-1.0.34", "vendor__glob-0.3.1", "vendor__globset-0.4.15", "vendor__itertools-0.10.5", "vendor__itertools-0.13.0", "vendor__lazy_static-1.5.0", "vendor__log-0.4.22", "vendor__num-traits-0.2.19", "vendor__num_cpus-1.16.0", "vendor__proc-macro2-1.0.89", "vendor__quote-1.0.37", "vendor__ra_ap_base_db-0.0.232", "vendor__ra_ap_cfg-0.0.232", "vendor__ra_ap_hir-0.0.232", "vendor__ra_ap_hir_def-0.0.232", "vendor__ra_ap_hir_expand-0.0.232", "vendor__ra_ap_ide_db-0.0.232", "vendor__ra_ap_intern-0.0.232", "vendor__ra_ap_load-cargo-0.0.232", "vendor__ra_ap_parser-0.0.232", "vendor__ra_ap_paths-0.0.232", "vendor__ra_ap_project_model-0.0.232", "vendor__ra_ap_span-0.0.232", "vendor__ra_ap_syntax-0.0.232", "vendor__ra_ap_vfs-0.0.232", "vendor__rand-0.8.5", "vendor__rayon-1.10.0", "vendor__regex-1.11.1", "vendor__serde-1.0.214", "vendor__serde_json-1.0.132", "vendor__serde_with-3.11.0", "vendor__stderrlog-0.6.0", "vendor__syn-2.0.87", "vendor__tracing-0.1.40", "vendor__tracing-subscriber-0.3.18", "vendor__tree-sitter-0.24.4", "vendor__tree-sitter-embedded-template-0.23.2", "vendor__tree-sitter-json-0.24.8", "vendor__tree-sitter-ql-0.23.1", "vendor__tree-sitter-ruby-0.23.1", "vendor__triomphe-0.1.14", "vendor__ungrammar-1.16.1") +use_repo(tree_sitter_extractors_deps, "vendor__anyhow-1.0.93", "vendor__argfile-0.2.1", "vendor__chrono-0.4.38", "vendor__clap-4.5.20", "vendor__encoding-0.2.33", "vendor__figment-0.10.19", "vendor__flate2-1.0.34", "vendor__glob-0.3.1", "vendor__globset-0.4.15", "vendor__itertools-0.10.5", "vendor__itertools-0.13.0", "vendor__lazy_static-1.5.0", "vendor__log-0.4.22", "vendor__num-traits-0.2.19", "vendor__num_cpus-1.16.0", "vendor__proc-macro2-1.0.89", "vendor__quote-1.0.37", "vendor__ra_ap_base_db-0.0.232", "vendor__ra_ap_cfg-0.0.232", "vendor__ra_ap_hir-0.0.232", "vendor__ra_ap_hir_def-0.0.232", "vendor__ra_ap_hir_expand-0.0.232", "vendor__ra_ap_ide_db-0.0.232", "vendor__ra_ap_intern-0.0.232", "vendor__ra_ap_load-cargo-0.0.232", "vendor__ra_ap_parser-0.0.232", "vendor__ra_ap_paths-0.0.232", "vendor__ra_ap_project_model-0.0.232", "vendor__ra_ap_span-0.0.232", "vendor__ra_ap_syntax-0.0.232", "vendor__ra_ap_vfs-0.0.232", "vendor__rand-0.8.5", "vendor__rayon-1.10.0", "vendor__regex-1.11.1", "vendor__serde-1.0.214", "vendor__serde_json-1.0.133", "vendor__serde_with-3.11.0", "vendor__stderrlog-0.6.0", "vendor__syn-2.0.87", "vendor__tracing-0.1.40", "vendor__tracing-subscriber-0.3.18", "vendor__tree-sitter-0.24.4", "vendor__tree-sitter-embedded-template-0.23.2", "vendor__tree-sitter-json-0.24.8", "vendor__tree-sitter-ql-0.23.1", "vendor__tree-sitter-ruby-0.23.1", "vendor__triomphe-0.1.14", "vendor__ungrammar-1.16.1") dotnet = use_extension("@rules_dotnet//dotnet:extensions.bzl", "dotnet") dotnet.toolchain(dotnet_version = "9.0.100") diff --git a/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.bazel b/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.bazel index 844d385f8a4..6208d66c5d9 100644 --- a/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.bazel +++ b/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.bazel @@ -243,7 +243,7 @@ alias( alias( name = "serde_json", - actual = "@vendor__serde_json-1.0.132//:serde_json", + actual = "@vendor__serde_json-1.0.133//:serde_json", tags = ["manual"], ) diff --git a/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.cargo_metadata-0.18.1.bazel b/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.cargo_metadata-0.18.1.bazel index e31c61cfac7..9ad331aa5f7 100644 --- a/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.cargo_metadata-0.18.1.bazel +++ b/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.cargo_metadata-0.18.1.bazel @@ -86,7 +86,7 @@ rust_library( "@vendor__cargo-platform-0.1.8//:cargo_platform", "@vendor__semver-1.0.23//:semver", "@vendor__serde-1.0.214//:serde", - "@vendor__serde_json-1.0.132//:serde_json", + "@vendor__serde_json-1.0.133//:serde_json", "@vendor__thiserror-1.0.69//:thiserror", ], ) diff --git a/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.ra_ap_proc_macro_api-0.0.232.bazel b/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.ra_ap_proc_macro_api-0.0.232.bazel index d1f5d480d71..fa3b71f570c 100644 --- a/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.ra_ap_proc_macro_api-0.0.232.bazel +++ b/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.ra_ap_proc_macro_api-0.0.232.bazel @@ -96,7 +96,7 @@ rust_library( "@vendor__ra_ap_tt-0.0.232//:ra_ap_tt", "@vendor__rustc-hash-1.1.0//:rustc_hash", "@vendor__serde-1.0.214//:serde", - "@vendor__serde_json-1.0.132//:serde_json", + "@vendor__serde_json-1.0.133//:serde_json", "@vendor__tracing-0.1.40//:tracing", ], ) diff --git a/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.ra_ap_project_model-0.0.232.bazel b/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.ra_ap_project_model-0.0.232.bazel index 6f6f3bb303a..5608e6dd6b0 100644 --- a/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.ra_ap_project_model-0.0.232.bazel +++ b/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.ra_ap_project_model-0.0.232.bazel @@ -102,7 +102,7 @@ rust_library( "@vendor__rustc-hash-1.1.0//:rustc_hash", "@vendor__semver-1.0.23//:semver", "@vendor__serde-1.0.214//:serde", - "@vendor__serde_json-1.0.132//:serde_json", + "@vendor__serde_json-1.0.133//:serde_json", "@vendor__tracing-0.1.40//:tracing", "@vendor__triomphe-0.1.14//:triomphe", ], diff --git a/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.serde_json-1.0.132.bazel b/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.serde_json-1.0.133.bazel similarity index 97% rename from misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.serde_json-1.0.132.bazel rename to misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.serde_json-1.0.133.bazel index ecbae32eeaf..710772e4f37 100644 --- a/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.serde_json-1.0.132.bazel +++ b/misc/bazel/3rdparty/tree_sitter_extractors_deps/BUILD.serde_json-1.0.133.bazel @@ -83,13 +83,13 @@ rust_library( "@rules_rust//rust/platform:x86_64-unknown-none": [], "//conditions:default": ["@platforms//:incompatible"], }), - version = "1.0.132", + version = "1.0.133", deps = [ "@vendor__itoa-1.0.11//:itoa", "@vendor__memchr-2.7.4//:memchr", "@vendor__ryu-1.0.18//:ryu", "@vendor__serde-1.0.214//:serde", - "@vendor__serde_json-1.0.132//:build_script_build", + "@vendor__serde_json-1.0.133//:build_script_build", ], ) @@ -143,7 +143,7 @@ cargo_build_script( "noclippy", "norustfmt", ], - version = "1.0.132", + version = "1.0.133", visibility = ["//visibility:private"], ) diff --git a/misc/bazel/3rdparty/tree_sitter_extractors_deps/defs.bzl b/misc/bazel/3rdparty/tree_sitter_extractors_deps/defs.bzl index 1d0b825c235..927736b56b2 100644 --- a/misc/bazel/3rdparty/tree_sitter_extractors_deps/defs.bzl +++ b/misc/bazel/3rdparty/tree_sitter_extractors_deps/defs.bzl @@ -320,6 +320,7 @@ _NORMAL_DEPENDENCIES = { _COMMON_CONDITION: { "anyhow": Label("@vendor__anyhow-1.0.93//:anyhow"), "argfile": Label("@vendor__argfile-0.2.1//:argfile"), + "chrono": Label("@vendor__chrono-0.4.38//:chrono"), "clap": Label("@vendor__clap-4.5.20//:clap"), "figment": Label("@vendor__figment-0.10.19//:figment"), "glob": Label("@vendor__glob-0.3.1//:glob"), @@ -341,6 +342,7 @@ _NORMAL_DEPENDENCIES = { "ra_ap_syntax": Label("@vendor__ra_ap_syntax-0.0.232//:ra_ap_syntax"), "ra_ap_vfs": Label("@vendor__ra_ap_vfs-0.0.232//:ra_ap_vfs"), "serde": Label("@vendor__serde-1.0.214//:serde"), + "serde_json": Label("@vendor__serde_json-1.0.133//:serde_json"), "serde_with": Label("@vendor__serde_with-3.11.0//:serde_with"), "stderrlog": Label("@vendor__stderrlog-0.6.0//:stderrlog"), "triomphe": Label("@vendor__triomphe-0.1.14//:triomphe"), @@ -363,7 +365,7 @@ _NORMAL_DEPENDENCIES = { "rayon": Label("@vendor__rayon-1.10.0//:rayon"), "regex": Label("@vendor__regex-1.11.1//:regex"), "serde": Label("@vendor__serde-1.0.214//:serde"), - "serde_json": Label("@vendor__serde_json-1.0.132//:serde_json"), + "serde_json": Label("@vendor__serde_json-1.0.133//:serde_json"), "tracing": Label("@vendor__tracing-0.1.40//:tracing"), "tracing-subscriber": Label("@vendor__tracing-subscriber-0.3.18//:tracing_subscriber"), "tree-sitter": Label("@vendor__tree-sitter-0.24.4//:tree_sitter"), @@ -2508,12 +2510,12 @@ def crate_repositories(): maybe( http_archive, - name = "vendor__serde_json-1.0.132", - sha256 = "d726bfaff4b320266d395898905d0eba0345aae23b54aee3a737e260fd46db03", + name = "vendor__serde_json-1.0.133", + sha256 = "c7fceb2473b9166b2294ef05efcb65a3db80803f0b03ef86a5fc88a2b85ee377", type = "tar.gz", - urls = ["https://static.crates.io/crates/serde_json/1.0.132/download"], - strip_prefix = "serde_json-1.0.132", - build_file = Label("//misc/bazel/3rdparty/tree_sitter_extractors_deps:BUILD.serde_json-1.0.132.bazel"), + urls = ["https://static.crates.io/crates/serde_json/1.0.133/download"], + strip_prefix = "serde_json-1.0.133", + build_file = Label("//misc/bazel/3rdparty/tree_sitter_extractors_deps:BUILD.serde_json-1.0.133.bazel"), ) maybe( @@ -3341,7 +3343,7 @@ def crate_repositories(): struct(repo = "vendor__rayon-1.10.0", is_dev_dep = False), struct(repo = "vendor__regex-1.11.1", is_dev_dep = False), struct(repo = "vendor__serde-1.0.214", is_dev_dep = False), - struct(repo = "vendor__serde_json-1.0.132", is_dev_dep = False), + struct(repo = "vendor__serde_json-1.0.133", is_dev_dep = False), struct(repo = "vendor__serde_with-3.11.0", is_dev_dep = False), struct(repo = "vendor__stderrlog-0.6.0", is_dev_dep = False), struct(repo = "vendor__syn-2.0.87", is_dev_dep = False), diff --git a/rust/extractor/Cargo.toml b/rust/extractor/Cargo.toml index 8b58898d3cf..591df3480cd 100644 --- a/rust/extractor/Cargo.toml +++ b/rust/extractor/Cargo.toml @@ -33,3 +33,5 @@ codeql-extractor = { path = "../../shared/tree-sitter-extractor" } rust-extractor-macros = { path = "macros" } itertools = "0.13.0" glob = "0.3.1" +chrono = { version = "0.4.38", features = ["serde"] } +serde_json = "1.0.133" diff --git a/rust/extractor/src/config.rs b/rust/extractor/src/config.rs index 70c390b9949..0e92e82a58c 100644 --- a/rust/extractor/src/config.rs +++ b/rust/extractor/src/config.rs @@ -45,6 +45,7 @@ pub struct Config { pub scratch_dir: PathBuf, pub trap_dir: PathBuf, pub source_archive_dir: PathBuf, + pub diagnostic_dir: PathBuf, pub cargo_target_dir: Option, pub cargo_target: Option, pub cargo_features: Vec, diff --git a/rust/extractor/src/diagnostics.rs b/rust/extractor/src/diagnostics.rs new file mode 100644 index 00000000000..21b3619a207 --- /dev/null +++ b/rust/extractor/src/diagnostics.rs @@ -0,0 +1,258 @@ +use crate::config::Config; +use anyhow::Context; +use chrono::{DateTime, Utc}; +use log::{debug, info}; +use ra_ap_project_model::ProjectManifest; +use serde::Serialize; +use std::fmt::Display; +use std::fs::File; +use std::path::{Path, PathBuf}; +use std::time::Instant; + +#[derive(Default, Debug, Clone, Copy, Serialize)] +#[serde(rename_all = "camelCase")] +#[allow(dead_code)] +enum Severity { + #[default] + Note, + Warning, + Error, +} + +#[derive(Default, Debug, Clone, Copy, Serialize)] +#[serde(rename_all = "camelCase")] +struct Visibility { + status_page: bool, + cli_summary_table: bool, + telemetry: bool, +} + +#[derive(Debug, Clone, Serialize)] +#[serde(rename_all = "camelCase")] +#[allow(dead_code)] +enum Message { + TextMessage(String), + MarkdownMessage(String), +} + +impl Default for Message { + fn default() -> Self { + Message::TextMessage("".to_string()) + } +} + +#[derive(Default, Debug, Clone, Serialize)] +#[serde(rename_all = "camelCase")] +struct Source { + id: String, + name: String, + extractor_name: String, +} + +#[derive(Default, Debug, Clone, Serialize)] +#[serde(rename_all = "camelCase")] +struct Location { + file: PathBuf, + start_line: u32, + start_column: u32, + end_line: u32, + end_column: u32, +} + +#[derive(Default, Debug, Clone, Serialize)] +pub struct Diagnostics { + source: Source, + visibility: Visibility, + severity: Severity, + #[serde(flatten)] + message: Message, + timestamp: DateTime, + #[serde(skip_serializing_if = "Option::is_none")] + location: Option, + attributes: T, +} + +#[derive(Debug, Clone, Serialize)] +#[serde(rename_all = "camelCase")] +enum ExtractionStepTarget { + LoadManifest(PathBuf), + FetchFile(PathBuf), + Parse(PathBuf), + Extract(PathBuf), +} + +#[derive(Debug, Clone, Serialize)] +#[serde(rename_all = "camelCase")] +pub struct ExtractionStep { + #[serde(flatten)] + target: ExtractionStepTarget, + ms: u128, +} + +impl ExtractionStep { + fn new(start: Instant, target: ExtractionStepTarget) -> Self { + let ret = ExtractionStep { + target, + ms: start.elapsed().as_millis(), + }; + debug!("{ret:?}"); + ret + } + + pub fn load_manifest(start: Instant, target: &ProjectManifest) -> Self { + Self::new( + start, + ExtractionStepTarget::LoadManifest(PathBuf::from(target.manifest_path())), + ) + } + + pub fn parse(start: Instant, target: &Path) -> Self { + Self::new(start, ExtractionStepTarget::Parse(PathBuf::from(target))) + } + + pub fn extract(start: Instant, target: &Path) -> Self { + Self::new(start, ExtractionStepTarget::Extract(PathBuf::from(target))) + } + + pub fn fetch_file(start: Instant, target: &Path) -> Self { + Self::new( + start, + ExtractionStepTarget::FetchFile(PathBuf::from(target)), + ) + } +} + +#[derive(Debug, Default, Clone, Serialize)] +#[serde(rename_all = "camelCase")] +struct HumanReadableDuration { + ms: u128, + pretty: String, +} + +impl HumanReadableDuration { + pub fn new(ms: u128) -> Self { + let seconds = ms / 1000; + let minutes = seconds / 60; + let hours = minutes / 60; + let pretty = format!( + "{hours}:{minutes:02}:{seconds:02}.{milliseconds:03}", + minutes = minutes % 60, + seconds = seconds % 60, + milliseconds = ms % 1000, + ); + Self { ms, pretty } + } +} + +impl From for HumanReadableDuration { + fn from(val: u128) -> Self { + HumanReadableDuration::new(val) + } +} + +impl Display for HumanReadableDuration { + fn fmt(&self, f: &mut std::fmt::Formatter) -> std::fmt::Result { + write!(f, "{}ms ({})", self.ms, self.pretty) + } +} + +#[derive(Debug, Default, Clone, Serialize)] +#[serde(rename_all = "camelCase")] +struct ExtractionSummary { + number_of_manifests: usize, + number_of_files: usize, + total_load_duration: HumanReadableDuration, + total_fetch_file_duration: HumanReadableDuration, + total_parse_duration: HumanReadableDuration, + total_extract_duration: HumanReadableDuration, + total_duration: HumanReadableDuration, +} + +#[derive(Debug, Default, Clone, Serialize)] +#[serde(rename_all = "camelCase")] +struct ExtractionAttributes { + steps: Vec, + summary: ExtractionSummary, +} + +type ExtractionDiagnostics = Diagnostics; + +fn summary(start: Instant, steps: &[ExtractionStep]) -> ExtractionSummary { + let mut number_of_manifests = 0; + let mut number_of_files = 0; + let mut total_load_duration = 0; + let mut total_parse_duration = 0; + let mut total_extract_duration = 0; + let mut total_fetch_file_duration: u128 = 0; + for step in steps { + match &step.target { + ExtractionStepTarget::LoadManifest(_) => { + number_of_manifests += 1; + total_load_duration += step.ms; + } + ExtractionStepTarget::FetchFile(_) => { + number_of_files += 1; + total_fetch_file_duration += step.ms; + } + ExtractionStepTarget::Parse(_) => { + total_parse_duration += step.ms; + } + ExtractionStepTarget::Extract(_) => { + total_extract_duration += step.ms; + } + } + } + let ret = ExtractionSummary { + number_of_manifests, + number_of_files, + total_load_duration: total_load_duration.into(), + total_fetch_file_duration: total_fetch_file_duration.into(), + total_parse_duration: total_parse_duration.into(), + total_extract_duration: total_extract_duration.into(), + total_duration: start.elapsed().as_millis().into(), + }; + info!("total loadimg duration: {}", ret.total_load_duration); + info!( + "total file fetching duration: {}", + ret.total_fetch_file_duration + ); + info!("total parsing duration: {}", ret.total_parse_duration); + info!("total extracting duration: {}", ret.total_extract_duration); + info!("total duration: {}", ret.total_duration); + ret +} + +pub fn emit_extraction_diagnostics( + start: Instant, + config: &Config, + steps: Vec, +) -> anyhow::Result<()> { + let summary = summary(start, &steps); + let diagnostics = ExtractionDiagnostics { + source: Source { + id: "rust/extractor/telemetry".to_owned(), + name: "telemetry".to_string(), + extractor_name: "rust".to_string(), + }, + visibility: Visibility { + telemetry: true, + ..Default::default() + }, + timestamp: Utc::now(), + attributes: ExtractionAttributes { steps, summary }, + ..Default::default() + }; + + std::fs::create_dir_all(&config.diagnostic_dir).with_context(|| { + format!( + "creating diagnostics directory {}", + config.diagnostic_dir.display() + ) + })?; + let target = config.diagnostic_dir.join("extraction.jsonc"); + let mut output = File::create(&target) + .with_context(|| format!("creating diagnostics file {}", target.display()))?; + serde_json::to_writer_pretty(&mut output, &diagnostics) + .with_context(|| format!("writing to diagnostics file {}", target.display()))?; + Ok(()) +} diff --git a/rust/extractor/src/main.rs b/rust/extractor/src/main.rs index ecbdc965f8e..f00e94e9ba4 100644 --- a/rust/extractor/src/main.rs +++ b/rust/extractor/src/main.rs @@ -1,3 +1,4 @@ +use crate::diagnostics::{emit_extraction_diagnostics, ExtractionStep}; use crate::rust_analyzer::path_to_file_id; use anyhow::Context; use archive::Archiver; @@ -5,9 +6,10 @@ use log::info; use ra_ap_hir::Semantics; use ra_ap_ide_db::line_index::{LineCol, LineIndex}; use ra_ap_ide_db::RootDatabase; -use ra_ap_project_model::ProjectManifest; +use ra_ap_project_model::{CargoConfig, ProjectManifest}; use ra_ap_vfs::Vfs; use rust_analyzer::{ParseResult, RustAnalyzer}; +use std::time::Instant; use std::{ collections::HashMap, path::{Path, PathBuf}, @@ -15,6 +17,7 @@ use std::{ mod archive; mod config; +mod diagnostics; pub mod generated; mod qltest; mod rust_analyzer; @@ -24,18 +27,31 @@ pub mod trap; struct Extractor<'a> { archiver: &'a Archiver, traps: &'a trap::TrapFileProvider, + steps: Vec, } -impl Extractor<'_> { - fn extract(&self, rust_analyzer: &rust_analyzer::RustAnalyzer, file: &std::path::Path) { +impl<'a> Extractor<'a> { + pub fn new(archiver: &'a Archiver, traps: &'a trap::TrapFileProvider) -> Self { + Self { + archiver, + traps, + steps: Vec::new(), + } + } + + fn extract(&mut self, rust_analyzer: &rust_analyzer::RustAnalyzer, file: &std::path::Path) { self.archiver.archive(file); + let before_parse = Instant::now(); let ParseResult { ast, text, errors, semantics_info, } = rust_analyzer.parse(file); + self.steps.push(ExtractionStep::parse(before_parse, file)); + + let before_extract = Instant::now(); let line_index = LineIndex::new(text.as_ref()); let display_path = file.to_string_lossy(); let mut trap = self.traps.create("source", file); @@ -73,22 +89,63 @@ impl Extractor<'_> { err.to_string() ) }); + self.steps + .push(ExtractionStep::extract(before_extract, file)); } pub fn extract_with_semantics( - &self, + &mut self, file: &Path, semantics: &Semantics<'_, RootDatabase>, vfs: &Vfs, ) { self.extract(&RustAnalyzer::new(vfs, semantics), file); } - pub fn extract_without_semantics(&self, file: &Path, reason: &str) { + + pub fn extract_without_semantics(&mut self, file: &Path, reason: &str) { self.extract(&RustAnalyzer::WithoutSemantics { reason }, file); } + + pub fn load_manifest( + &mut self, + project: &ProjectManifest, + config: &CargoConfig, + ) -> Option<(RootDatabase, Vfs)> { + let before = Instant::now(); + let ret = RustAnalyzer::load_workspace(project, config); + self.steps + .push(ExtractionStep::load_manifest(before, project)); + ret + } + + pub fn fetch_file( + &mut self, + file: &Path, + semantics: &Semantics<'_, RootDatabase>, + vfs: &Vfs, + ) -> Result<(), String> { + let before = Instant::now(); + let Some(id) = path_to_file_id(file, vfs) else { + return Err("not included in files loaded from manifest".to_string()); + }; + if semantics.file_to_module_def(id).is_none() { + return Err("not included as a module".to_string()); + } + self.steps.push(ExtractionStep::fetch_file(before, file)); + Ok(()) + } + + pub fn emit_extraction_diagnostics( + self, + start: Instant, + cfg: &config::Config, + ) -> anyhow::Result<()> { + emit_extraction_diagnostics(start, cfg, self.steps) + } } fn main() -> anyhow::Result<()> { + let start = Instant::now(); let mut cfg = config::Config::extract().context("failed to load configuration")?; stderrlog::new() .module(module_path!()) @@ -103,10 +160,7 @@ fn main() -> anyhow::Result<()> { let archiver = archive::Archiver { root: cfg.source_archive_dir.clone(), }; - let extractor = Extractor { - archiver: &archiver, - traps: &traps, - }; + let mut extractor = Extractor::new(&archiver, &traps); let files: Vec = cfg .inputs .iter() @@ -132,21 +186,13 @@ fn main() -> anyhow::Result<()> { } let cargo_config = cfg.to_cargo_config(); for (manifest, files) in map.values().filter(|(_, files)| !files.is_empty()) { - if let Some((ref db, ref vfs)) = RustAnalyzer::load_workspace(manifest, &cargo_config) { + if let Some((ref db, ref vfs)) = extractor.load_manifest(manifest, &cargo_config) { let semantics = Semantics::new(db); for file in files { - let Some(id) = path_to_file_id(file, vfs) else { - extractor.extract_without_semantics( - file, - "not included in files loaded from manifest", - ); - continue; + match extractor.fetch_file(file, &semantics, vfs) { + Ok(()) => extractor.extract_with_semantics(file, &semantics, vfs), + Err(reason) => extractor.extract_without_semantics(file, &reason), }; - if semantics.file_to_module_def(id).is_none() { - extractor.extract_without_semantics(file, "not included as a module"); - continue; - } - extractor.extract_with_semantics(file, &semantics, vfs); } } else { for file in files { @@ -155,5 +201,5 @@ fn main() -> anyhow::Result<()> { } } - Ok(()) + extractor.emit_extraction_diagnostics(start, &cfg) } diff --git a/rust/ql/integration-tests/conftest.py b/rust/ql/integration-tests/conftest.py index 08b17f106f8..9967339f2d2 100644 --- a/rust/ql/integration-tests/conftest.py +++ b/rust/ql/integration-tests/conftest.py @@ -13,3 +13,12 @@ class _Manifests: @pytest.fixture def manifests(cwd): return _Manifests(cwd) + +@pytest.fixture +def rust_check_diagnostics(check_diagnostics): + check_diagnostics.replacements += [ + (r'"ms"\s*:\s*[0-9]+', '"ms": "REDACTED"'), + (r'"pretty"\s*:\s*"[0-9]+:[0-9]{2}:[0-9]{2}.[0-9]{3}"', '"pretty": "REDACTED"'), + (r'Cargo.toml|rust-project.json', ""), + ] + return check_diagnostics diff --git a/rust/ql/integration-tests/hello-project/diagnostics.expected b/rust/ql/integration-tests/hello-project/diagnostics.expected new file mode 100644 index 00000000000..165fd263990 --- /dev/null +++ b/rust/ql/integration-tests/hello-project/diagnostics.expected @@ -0,0 +1,101 @@ +{ + "attributes": { + "steps": [ + { + "loadManifest": "/", + "ms": "REDACTED" + }, + { + "fetchFile": "/src/directory_module/mod.rs", + "ms": "REDACTED" + }, + { + "ms": "REDACTED", + "parse": "/src/directory_module/mod.rs" + }, + { + "extract": "/src/directory_module/mod.rs", + "ms": "REDACTED" + }, + { + "fetchFile": "/src/directory_module/nested_module.rs", + "ms": "REDACTED" + }, + { + "ms": "REDACTED", + "parse": "/src/directory_module/nested_module.rs" + }, + { + "extract": "/src/directory_module/nested_module.rs", + "ms": "REDACTED" + }, + { + "ms": "REDACTED", + "parse": "/src/directory_module/not_loaded.rs" + }, + { + "extract": "/src/directory_module/not_loaded.rs", + "ms": "REDACTED" + }, + { + "fetchFile": "/src/file_module.rs", + "ms": "REDACTED" + }, + { + "ms": "REDACTED", + "parse": "/src/file_module.rs" + }, + { + "extract": "/src/file_module.rs", + "ms": "REDACTED" + }, + { + "fetchFile": "/src/main.rs", + "ms": "REDACTED" + }, + { + "ms": "REDACTED", + "parse": "/src/main.rs" + }, + { + "extract": "/src/main.rs", + "ms": "REDACTED" + } + ], + "summary": { + "numberOfFiles": 4, + "numberOfManifests": 1, + "totalDuration": { + "ms": "REDACTED", + "pretty": "REDACTED" + }, + "totalExtractDuration": { + "ms": "REDACTED", + "pretty": "REDACTED" + }, + "totalFetchFileDuration": { + "ms": "REDACTED", + "pretty": "REDACTED" + }, + "totalLoadDuration": { + "ms": "REDACTED", + "pretty": "REDACTED" + }, + "totalParseDuration": { + "ms": "REDACTED", + "pretty": "REDACTED" + } + } + }, + "severity": "note", + "source": { + "extractorName": "rust", + "id": "rust/extractor/telemetry", + "name": "telemetry" + }, + "visibility": { + "cliSummaryTable": false, + "statusPage": false, + "telemetry": true + } +} diff --git a/rust/ql/integration-tests/hello-project/test_project.py b/rust/ql/integration-tests/hello-project/test_project.py index d03c4f67e26..2cbac0ffdb8 100644 --- a/rust/ql/integration-tests/hello-project/test_project.py +++ b/rust/ql/integration-tests/hello-project/test_project.py @@ -1,7 +1,7 @@ -def test_cargo(codeql, rust, manifests, check_source_archive): +def test_cargo(codeql, rust, manifests, check_source_archive, rust_check_diagnostics): manifests.select("Cargo.toml") codeql.database.create() -def test_rust_project(codeql, rust, manifests, check_source_archive): +def test_rust_project(codeql, rust, manifests, check_source_archive, rust_check_diagnostics): manifests.select("rust-project.json") codeql.database.create() diff --git a/rust/ql/integration-tests/hello-workspace/diagnostics.cargo.expected b/rust/ql/integration-tests/hello-workspace/diagnostics.cargo.expected new file mode 100644 index 00000000000..42e7859a4e8 --- /dev/null +++ b/rust/ql/integration-tests/hello-workspace/diagnostics.cargo.expected @@ -0,0 +1,97 @@ +{ + "attributes": { + "steps": [ + { + "loadManifest": "/lib/", + "ms": "REDACTED" + }, + { + "fetchFile": "/lib/src/a_module/mod.rs", + "ms": "REDACTED" + }, + { + "ms": "REDACTED", + "parse": "/lib/src/a_module/mod.rs" + }, + { + "extract": "/lib/src/a_module/mod.rs", + "ms": "REDACTED" + }, + { + "fetchFile": "/lib/src/lib.rs", + "ms": "REDACTED" + }, + { + "ms": "REDACTED", + "parse": "/lib/src/lib.rs" + }, + { + "extract": "/lib/src/lib.rs", + "ms": "REDACTED" + }, + { + "loadManifest": "/exe/", + "ms": "REDACTED" + }, + { + "fetchFile": "/exe/src/a_module.rs", + "ms": "REDACTED" + }, + { + "ms": "REDACTED", + "parse": "/exe/src/a_module.rs" + }, + { + "extract": "/exe/src/a_module.rs", + "ms": "REDACTED" + }, + { + "fetchFile": "/exe/src/main.rs", + "ms": "REDACTED" + }, + { + "ms": "REDACTED", + "parse": "/exe/src/main.rs" + }, + { + "extract": "/exe/src/main.rs", + "ms": "REDACTED" + } + ], + "summary": { + "numberOfFiles": 4, + "numberOfManifests": 2, + "totalDuration": { + "ms": "REDACTED", + "pretty": "REDACTED" + }, + "totalExtractDuration": { + "ms": "REDACTED", + "pretty": "REDACTED" + }, + "totalFetchFileDuration": { + "ms": "REDACTED", + "pretty": "REDACTED" + }, + "totalLoadDuration": { + "ms": "REDACTED", + "pretty": "REDACTED" + }, + "totalParseDuration": { + "ms": "REDACTED", + "pretty": "REDACTED" + } + } + }, + "severity": "note", + "source": { + "extractorName": "rust", + "id": "rust/extractor/telemetry", + "name": "telemetry" + }, + "visibility": { + "cliSummaryTable": false, + "statusPage": false, + "telemetry": true + } +} diff --git a/rust/ql/integration-tests/hello-workspace/diagnostics.rust-project.expected b/rust/ql/integration-tests/hello-workspace/diagnostics.rust-project.expected new file mode 100644 index 00000000000..7df7b52cdee --- /dev/null +++ b/rust/ql/integration-tests/hello-workspace/diagnostics.rust-project.expected @@ -0,0 +1,93 @@ +{ + "attributes": { + "steps": [ + { + "loadManifest": "/", + "ms": "REDACTED" + }, + { + "fetchFile": "/exe/src/a_module.rs", + "ms": "REDACTED" + }, + { + "ms": "REDACTED", + "parse": "/exe/src/a_module.rs" + }, + { + "extract": "/exe/src/a_module.rs", + "ms": "REDACTED" + }, + { + "fetchFile": "/exe/src/main.rs", + "ms": "REDACTED" + }, + { + "ms": "REDACTED", + "parse": "/exe/src/main.rs" + }, + { + "extract": "/exe/src/main.rs", + "ms": "REDACTED" + }, + { + "fetchFile": "/lib/src/a_module/mod.rs", + "ms": "REDACTED" + }, + { + "ms": "REDACTED", + "parse": "/lib/src/a_module/mod.rs" + }, + { + "extract": "/lib/src/a_module/mod.rs", + "ms": "REDACTED" + }, + { + "fetchFile": "/lib/src/lib.rs", + "ms": "REDACTED" + }, + { + "ms": "REDACTED", + "parse": "/lib/src/lib.rs" + }, + { + "extract": "/lib/src/lib.rs", + "ms": "REDACTED" + } + ], + "summary": { + "numberOfFiles": 4, + "numberOfManifests": 1, + "totalDuration": { + "ms": "REDACTED", + "pretty": "REDACTED" + }, + "totalExtractDuration": { + "ms": "REDACTED", + "pretty": "REDACTED" + }, + "totalFetchFileDuration": { + "ms": "REDACTED", + "pretty": "REDACTED" + }, + "totalLoadDuration": { + "ms": "REDACTED", + "pretty": "REDACTED" + }, + "totalParseDuration": { + "ms": "REDACTED", + "pretty": "REDACTED" + } + } + }, + "severity": "note", + "source": { + "extractorName": "rust", + "id": "rust/extractor/telemetry", + "name": "telemetry" + }, + "visibility": { + "cliSummaryTable": false, + "statusPage": false, + "telemetry": true + } +} diff --git a/rust/ql/integration-tests/hello-workspace/test_workspace.py b/rust/ql/integration-tests/hello-workspace/test_workspace.py index f3503e7cefa..5c95031466f 100644 --- a/rust/ql/integration-tests/hello-workspace/test_workspace.py +++ b/rust/ql/integration-tests/hello-workspace/test_workspace.py @@ -3,10 +3,12 @@ import pytest # currently the DB-check fails on actions because of loading files multiple times and assiging multiple locations # see https://github.com/github/codeql-team/issues/3365 @pytest.mark.ql_test("DB-CHECK", xfail="maybe") -def test_cargo(codeql, rust, manifests, check_source_archive): +def test_cargo(codeql, rust, manifests, check_source_archive, rust_check_diagnostics): + rust_check_diagnostics.expected_suffix = ".cargo.expected" manifests.select("Cargo.toml") codeql.database.create() -def test_rust_project(codeql, rust, manifests, check_source_archive): +def test_rust_project(codeql, rust, manifests, check_source_archive, rust_check_diagnostics): + rust_check_diagnostics.expected_suffix = ".rust-project.expected" manifests.select("rust-project.json") codeql.database.create() From 8abd3c4707b527cf70e05f29eea88cb4ca608a2b Mon Sep 17 00:00:00 2001 From: Paolo Tranquilli Date: Tue, 26 Nov 2024 16:48:49 +0100 Subject: [PATCH 28/46] Rust: Remove windows difference from diagnostics --- rust/ql/integration-tests/conftest.py | 1 + 1 file changed, 1 insertion(+) diff --git a/rust/ql/integration-tests/conftest.py b/rust/ql/integration-tests/conftest.py index 9967339f2d2..13cecd478d7 100644 --- a/rust/ql/integration-tests/conftest.py +++ b/rust/ql/integration-tests/conftest.py @@ -20,5 +20,6 @@ def rust_check_diagnostics(check_diagnostics): (r'"ms"\s*:\s*[0-9]+', '"ms": "REDACTED"'), (r'"pretty"\s*:\s*"[0-9]+:[0-9]{2}:[0-9]{2}.[0-9]{3}"', '"pretty": "REDACTED"'), (r'Cargo.toml|rust-project.json', ""), + (r'"//\?/', '"'), # remove windows `//?/` long path syntax ] return check_diagnostics From 556774edc7d68546ee41f7738f80f50db4502ce9 Mon Sep 17 00:00:00 2001 From: Paolo Tranquilli Date: Tue, 26 Nov 2024 18:00:15 +0100 Subject: [PATCH 29/46] Rust: do not put extraction steps in the expected diagnostics --- rust/ql/integration-tests/conftest.py | 5 +- .../hello-project/diagnostics.expected | 62 ------------------- .../diagnostics.cargo.expected | 58 ----------------- .../diagnostics.rust-project.expected | 54 ---------------- 4 files changed, 3 insertions(+), 176 deletions(-) diff --git a/rust/ql/integration-tests/conftest.py b/rust/ql/integration-tests/conftest.py index 13cecd478d7..f05b1f5c98a 100644 --- a/rust/ql/integration-tests/conftest.py +++ b/rust/ql/integration-tests/conftest.py @@ -19,7 +19,8 @@ def rust_check_diagnostics(check_diagnostics): check_diagnostics.replacements += [ (r'"ms"\s*:\s*[0-9]+', '"ms": "REDACTED"'), (r'"pretty"\s*:\s*"[0-9]+:[0-9]{2}:[0-9]{2}.[0-9]{3}"', '"pretty": "REDACTED"'), - (r'Cargo.toml|rust-project.json', ""), - (r'"//\?/', '"'), # remove windows `//?/` long path syntax + ] + check_diagnostics.skip += [ + "attributes.steps", # the order of the steps is not stable ] return check_diagnostics diff --git a/rust/ql/integration-tests/hello-project/diagnostics.expected b/rust/ql/integration-tests/hello-project/diagnostics.expected index 165fd263990..1c46a0a9f99 100644 --- a/rust/ql/integration-tests/hello-project/diagnostics.expected +++ b/rust/ql/integration-tests/hello-project/diagnostics.expected @@ -1,67 +1,5 @@ { "attributes": { - "steps": [ - { - "loadManifest": "/", - "ms": "REDACTED" - }, - { - "fetchFile": "/src/directory_module/mod.rs", - "ms": "REDACTED" - }, - { - "ms": "REDACTED", - "parse": "/src/directory_module/mod.rs" - }, - { - "extract": "/src/directory_module/mod.rs", - "ms": "REDACTED" - }, - { - "fetchFile": "/src/directory_module/nested_module.rs", - "ms": "REDACTED" - }, - { - "ms": "REDACTED", - "parse": "/src/directory_module/nested_module.rs" - }, - { - "extract": "/src/directory_module/nested_module.rs", - "ms": "REDACTED" - }, - { - "ms": "REDACTED", - "parse": "/src/directory_module/not_loaded.rs" - }, - { - "extract": "/src/directory_module/not_loaded.rs", - "ms": "REDACTED" - }, - { - "fetchFile": "/src/file_module.rs", - "ms": "REDACTED" - }, - { - "ms": "REDACTED", - "parse": "/src/file_module.rs" - }, - { - "extract": "/src/file_module.rs", - "ms": "REDACTED" - }, - { - "fetchFile": "/src/main.rs", - "ms": "REDACTED" - }, - { - "ms": "REDACTED", - "parse": "/src/main.rs" - }, - { - "extract": "/src/main.rs", - "ms": "REDACTED" - } - ], "summary": { "numberOfFiles": 4, "numberOfManifests": 1, diff --git a/rust/ql/integration-tests/hello-workspace/diagnostics.cargo.expected b/rust/ql/integration-tests/hello-workspace/diagnostics.cargo.expected index 42e7859a4e8..48ae4a51e04 100644 --- a/rust/ql/integration-tests/hello-workspace/diagnostics.cargo.expected +++ b/rust/ql/integration-tests/hello-workspace/diagnostics.cargo.expected @@ -1,63 +1,5 @@ { "attributes": { - "steps": [ - { - "loadManifest": "/lib/", - "ms": "REDACTED" - }, - { - "fetchFile": "/lib/src/a_module/mod.rs", - "ms": "REDACTED" - }, - { - "ms": "REDACTED", - "parse": "/lib/src/a_module/mod.rs" - }, - { - "extract": "/lib/src/a_module/mod.rs", - "ms": "REDACTED" - }, - { - "fetchFile": "/lib/src/lib.rs", - "ms": "REDACTED" - }, - { - "ms": "REDACTED", - "parse": "/lib/src/lib.rs" - }, - { - "extract": "/lib/src/lib.rs", - "ms": "REDACTED" - }, - { - "loadManifest": "/exe/", - "ms": "REDACTED" - }, - { - "fetchFile": "/exe/src/a_module.rs", - "ms": "REDACTED" - }, - { - "ms": "REDACTED", - "parse": "/exe/src/a_module.rs" - }, - { - "extract": "/exe/src/a_module.rs", - "ms": "REDACTED" - }, - { - "fetchFile": "/exe/src/main.rs", - "ms": "REDACTED" - }, - { - "ms": "REDACTED", - "parse": "/exe/src/main.rs" - }, - { - "extract": "/exe/src/main.rs", - "ms": "REDACTED" - } - ], "summary": { "numberOfFiles": 4, "numberOfManifests": 2, diff --git a/rust/ql/integration-tests/hello-workspace/diagnostics.rust-project.expected b/rust/ql/integration-tests/hello-workspace/diagnostics.rust-project.expected index 7df7b52cdee..1c46a0a9f99 100644 --- a/rust/ql/integration-tests/hello-workspace/diagnostics.rust-project.expected +++ b/rust/ql/integration-tests/hello-workspace/diagnostics.rust-project.expected @@ -1,59 +1,5 @@ { "attributes": { - "steps": [ - { - "loadManifest": "/", - "ms": "REDACTED" - }, - { - "fetchFile": "/exe/src/a_module.rs", - "ms": "REDACTED" - }, - { - "ms": "REDACTED", - "parse": "/exe/src/a_module.rs" - }, - { - "extract": "/exe/src/a_module.rs", - "ms": "REDACTED" - }, - { - "fetchFile": "/exe/src/main.rs", - "ms": "REDACTED" - }, - { - "ms": "REDACTED", - "parse": "/exe/src/main.rs" - }, - { - "extract": "/exe/src/main.rs", - "ms": "REDACTED" - }, - { - "fetchFile": "/lib/src/a_module/mod.rs", - "ms": "REDACTED" - }, - { - "ms": "REDACTED", - "parse": "/lib/src/a_module/mod.rs" - }, - { - "extract": "/lib/src/a_module/mod.rs", - "ms": "REDACTED" - }, - { - "fetchFile": "/lib/src/lib.rs", - "ms": "REDACTED" - }, - { - "ms": "REDACTED", - "parse": "/lib/src/lib.rs" - }, - { - "extract": "/lib/src/lib.rs", - "ms": "REDACTED" - } - ], "summary": { "numberOfFiles": 4, "numberOfManifests": 1, From 27738eaaccc54b1ef19e62a3cc6de23eb166cb03 Mon Sep 17 00:00:00 2001 From: Paolo Tranquilli Date: Wed, 27 Nov 2024 12:03:32 +0100 Subject: [PATCH 30/46] Rust: reorganize perf diagnostics --- rust/extractor/src/diagnostics.rs | 146 +++++++++--------- rust/extractor/src/main.rs | 6 +- rust/ql/integration-tests/conftest.py | 4 +- .../hello-project/diagnostics.expected | 20 +-- .../diagnostics.cargo.expected | 44 +++--- .../diagnostics.rust-project.expected | 44 +++--- 6 files changed, 136 insertions(+), 128 deletions(-) diff --git a/rust/extractor/src/diagnostics.rs b/rust/extractor/src/diagnostics.rs index 21b3619a207..d4b60211bbf 100644 --- a/rust/extractor/src/diagnostics.rs +++ b/rust/extractor/src/diagnostics.rs @@ -3,7 +3,9 @@ use anyhow::Context; use chrono::{DateTime, Utc}; use log::{debug, info}; use ra_ap_project_model::ProjectManifest; +use serde::ser::SerializeMap; use serde::Serialize; +use std::collections::HashMap; use std::fmt::Display; use std::fs::File; use std::path::{Path, PathBuf}; @@ -72,27 +74,29 @@ pub struct Diagnostics { attributes: T, } -#[derive(Debug, Clone, Serialize)] +#[derive(Default, Debug, Clone, Copy, Serialize, PartialEq, Eq, Hash)] #[serde(rename_all = "camelCase")] -enum ExtractionStepTarget { - LoadManifest(PathBuf), - FetchFile(PathBuf), - Parse(PathBuf), - Extract(PathBuf), +enum ExtractionStepKind { + #[default] + LoadManifest, + LoadSource, + Parse, + Extract, } #[derive(Debug, Clone, Serialize)] #[serde(rename_all = "camelCase")] pub struct ExtractionStep { - #[serde(flatten)] - target: ExtractionStepTarget, + action: ExtractionStepKind, + file: PathBuf, ms: u128, } impl ExtractionStep { - fn new(start: Instant, target: ExtractionStepTarget) -> Self { + fn new(start: Instant, action: ExtractionStepKind, file: PathBuf) -> Self { let ret = ExtractionStep { - target, + action, + file, ms: start.elapsed().as_millis(), }; debug!("{ret:?}"); @@ -102,70 +106,84 @@ impl ExtractionStep { pub fn load_manifest(start: Instant, target: &ProjectManifest) -> Self { Self::new( start, - ExtractionStepTarget::LoadManifest(PathBuf::from(target.manifest_path())), + ExtractionStepKind::LoadManifest, + PathBuf::from(target.manifest_path()), ) } pub fn parse(start: Instant, target: &Path) -> Self { - Self::new(start, ExtractionStepTarget::Parse(PathBuf::from(target))) + Self::new(start, ExtractionStepKind::Parse, PathBuf::from(target)) } pub fn extract(start: Instant, target: &Path) -> Self { - Self::new(start, ExtractionStepTarget::Extract(PathBuf::from(target))) + Self::new(start, ExtractionStepKind::Extract, PathBuf::from(target)) } - pub fn fetch_file(start: Instant, target: &Path) -> Self { - Self::new( - start, - ExtractionStepTarget::FetchFile(PathBuf::from(target)), - ) + pub fn load_source(start: Instant, target: &Path) -> Self { + Self::new(start, ExtractionStepKind::LoadSource, PathBuf::from(target)) } } -#[derive(Debug, Default, Clone, Serialize)] -#[serde(rename_all = "camelCase")] -struct HumanReadableDuration { - ms: u128, - pretty: String, +#[derive(Debug, Default, Clone)] +struct HumanReadableDuration(u128); + +impl Serialize for HumanReadableDuration { + fn serialize(&self, serializer: S) -> Result { + let mut map = serializer.serialize_map(Some(2))?; + map.serialize_entry("ms", &self.0)?; + map.serialize_entry("pretty", &self.pretty())?; + map.end() + } } impl HumanReadableDuration { - pub fn new(ms: u128) -> Self { - let seconds = ms / 1000; - let minutes = seconds / 60; + pub fn add(&mut self, other: u128) { + self.0 += other; + } + + pub fn pretty(&self) -> String { + let milliseconds = self.0 % 1000; + let mut seconds = self.0 / 1000; + if seconds < 60 { + return format!("{seconds}.{milliseconds:03}s"); + } + let mut minutes = seconds / 60; + seconds %= 60; + if minutes < 60 { + return format!("{minutes}min{seconds:02}.{milliseconds:03}s"); + } let hours = minutes / 60; - let pretty = format!( - "{hours}:{minutes:02}:{seconds:02}.{milliseconds:03}", - minutes = minutes % 60, - seconds = seconds % 60, - milliseconds = ms % 1000, - ); - Self { ms, pretty } + minutes %= 60; + format!("{hours}h{minutes:02}min{seconds:02}.{milliseconds:03}s") } } impl From for HumanReadableDuration { fn from(val: u128) -> Self { - HumanReadableDuration::new(val) + HumanReadableDuration(val) } } impl Display for HumanReadableDuration { fn fmt(&self, f: &mut std::fmt::Formatter) -> std::fmt::Result { - write!(f, "{}ms ({})", self.ms, self.pretty) + f.write_str(&self.pretty()) } } +#[derive(Debug, Default, Clone, Serialize)] +#[serde(rename_all = "camelCase")] +struct DurationsSummary { + #[serde(flatten)] + durations: HashMap, + total: HumanReadableDuration, +} + #[derive(Debug, Default, Clone, Serialize)] #[serde(rename_all = "camelCase")] struct ExtractionSummary { number_of_manifests: usize, number_of_files: usize, - total_load_duration: HumanReadableDuration, - total_fetch_file_duration: HumanReadableDuration, - total_parse_duration: HumanReadableDuration, - total_extract_duration: HumanReadableDuration, - total_duration: HumanReadableDuration, + durations: DurationsSummary, } #[derive(Debug, Default, Clone, Serialize)] @@ -180,46 +198,32 @@ type ExtractionDiagnostics = Diagnostics; fn summary(start: Instant, steps: &[ExtractionStep]) -> ExtractionSummary { let mut number_of_manifests = 0; let mut number_of_files = 0; - let mut total_load_duration = 0; - let mut total_parse_duration = 0; - let mut total_extract_duration = 0; - let mut total_fetch_file_duration: u128 = 0; + let mut durations = HashMap::new(); for step in steps { - match &step.target { - ExtractionStepTarget::LoadManifest(_) => { + match &step.action { + ExtractionStepKind::LoadManifest => { number_of_manifests += 1; - total_load_duration += step.ms; } - ExtractionStepTarget::FetchFile(_) => { + ExtractionStepKind::Parse => { number_of_files += 1; - total_fetch_file_duration += step.ms; - } - ExtractionStepTarget::Parse(_) => { - total_parse_duration += step.ms; - } - ExtractionStepTarget::Extract(_) => { - total_extract_duration += step.ms; } + _ => {} } + durations + .entry(step.action) + .or_insert(HumanReadableDuration(0)) + .add(step.ms); } - let ret = ExtractionSummary { + let total = start.elapsed().as_millis().into(); + for (key, value) in &durations { + info!("total duration ({key:?}): {value}"); + } + info!("total duration: {total}"); + ExtractionSummary { number_of_manifests, number_of_files, - total_load_duration: total_load_duration.into(), - total_fetch_file_duration: total_fetch_file_duration.into(), - total_parse_duration: total_parse_duration.into(), - total_extract_duration: total_extract_duration.into(), - total_duration: start.elapsed().as_millis().into(), - }; - info!("total loadimg duration: {}", ret.total_load_duration); - info!( - "total file fetching duration: {}", - ret.total_fetch_file_duration - ); - info!("total parsing duration: {}", ret.total_parse_duration); - info!("total extracting duration: {}", ret.total_extract_duration); - info!("total duration: {}", ret.total_duration); - ret + durations: DurationsSummary { durations, total }, + } } pub fn emit_extraction_diagnostics( diff --git a/rust/extractor/src/main.rs b/rust/extractor/src/main.rs index f00e94e9ba4..19239cf9dd4 100644 --- a/rust/extractor/src/main.rs +++ b/rust/extractor/src/main.rs @@ -118,7 +118,7 @@ impl<'a> Extractor<'a> { ret } - pub fn fetch_file( + pub fn load_source( &mut self, file: &Path, semantics: &Semantics<'_, RootDatabase>, @@ -131,7 +131,7 @@ impl<'a> Extractor<'a> { if semantics.file_to_module_def(id).is_none() { return Err("not included as a module".to_string()); } - self.steps.push(ExtractionStep::fetch_file(before, file)); + self.steps.push(ExtractionStep::load_source(before, file)); Ok(()) } @@ -189,7 +189,7 @@ fn main() -> anyhow::Result<()> { if let Some((ref db, ref vfs)) = extractor.load_manifest(manifest, &cargo_config) { let semantics = Semantics::new(db); for file in files { - match extractor.fetch_file(file, &semantics, vfs) { + match extractor.load_source(file, &semantics, vfs) { Ok(()) => extractor.extract_with_semantics(file, &semantics, vfs), Err(reason) => extractor.extract_without_semantics(file, &reason), }; diff --git a/rust/ql/integration-tests/conftest.py b/rust/ql/integration-tests/conftest.py index f05b1f5c98a..895650183c8 100644 --- a/rust/ql/integration-tests/conftest.py +++ b/rust/ql/integration-tests/conftest.py @@ -17,8 +17,8 @@ def manifests(cwd): @pytest.fixture def rust_check_diagnostics(check_diagnostics): check_diagnostics.replacements += [ - (r'"ms"\s*:\s*[0-9]+', '"ms": "REDACTED"'), - (r'"pretty"\s*:\s*"[0-9]+:[0-9]{2}:[0-9]{2}.[0-9]{3}"', '"pretty": "REDACTED"'), + (r'"ms"\s*:\s*[0-9]+', '"ms": "__REDACTED__"'), + (r'"pretty"\s*:\s*"[^"]*"', '"pretty": "__REDACTED__"'), ] check_diagnostics.skip += [ "attributes.steps", # the order of the steps is not stable diff --git a/rust/ql/integration-tests/hello-project/diagnostics.expected b/rust/ql/integration-tests/hello-project/diagnostics.expected index 1c46a0a9f99..c19e46a88cd 100644 --- a/rust/ql/integration-tests/hello-project/diagnostics.expected +++ b/rust/ql/integration-tests/hello-project/diagnostics.expected @@ -4,24 +4,24 @@ "numberOfFiles": 4, "numberOfManifests": 1, "totalDuration": { - "ms": "REDACTED", - "pretty": "REDACTED" + "ms": "__REDACTED__", + "pretty": "__REDACTED__" }, "totalExtractDuration": { - "ms": "REDACTED", - "pretty": "REDACTED" + "ms": "__REDACTED__", + "pretty": "__REDACTED__" }, "totalFetchFileDuration": { - "ms": "REDACTED", - "pretty": "REDACTED" + "ms": "__REDACTED__", + "pretty": "__REDACTED__" }, "totalLoadDuration": { - "ms": "REDACTED", - "pretty": "REDACTED" + "ms": "__REDACTED__", + "pretty": "__REDACTED__" }, "totalParseDuration": { - "ms": "REDACTED", - "pretty": "REDACTED" + "ms": "__REDACTED__", + "pretty": "__REDACTED__" } } }, diff --git a/rust/ql/integration-tests/hello-workspace/diagnostics.cargo.expected b/rust/ql/integration-tests/hello-workspace/diagnostics.cargo.expected index 48ae4a51e04..052fe3e7839 100644 --- a/rust/ql/integration-tests/hello-workspace/diagnostics.cargo.expected +++ b/rust/ql/integration-tests/hello-workspace/diagnostics.cargo.expected @@ -1,28 +1,30 @@ { "attributes": { "summary": { + "durations": { + "extract": { + "ms": "__REDACTED__", + "pretty": "__REDACTED__" + }, + "loadManifest": { + "ms": "__REDACTED__", + "pretty": "__REDACTED__" + }, + "loadSource": { + "ms": "__REDACTED__", + "pretty": "__REDACTED__" + }, + "parse": { + "ms": "__REDACTED__", + "pretty": "__REDACTED__" + }, + "total": { + "ms": "__REDACTED__", + "pretty": "__REDACTED__" + } + }, "numberOfFiles": 4, - "numberOfManifests": 2, - "totalDuration": { - "ms": "REDACTED", - "pretty": "REDACTED" - }, - "totalExtractDuration": { - "ms": "REDACTED", - "pretty": "REDACTED" - }, - "totalFetchFileDuration": { - "ms": "REDACTED", - "pretty": "REDACTED" - }, - "totalLoadDuration": { - "ms": "REDACTED", - "pretty": "REDACTED" - }, - "totalParseDuration": { - "ms": "REDACTED", - "pretty": "REDACTED" - } + "numberOfManifests": 2 } }, "severity": "note", diff --git a/rust/ql/integration-tests/hello-workspace/diagnostics.rust-project.expected b/rust/ql/integration-tests/hello-workspace/diagnostics.rust-project.expected index 1c46a0a9f99..3c4fc9bf431 100644 --- a/rust/ql/integration-tests/hello-workspace/diagnostics.rust-project.expected +++ b/rust/ql/integration-tests/hello-workspace/diagnostics.rust-project.expected @@ -1,28 +1,30 @@ { "attributes": { "summary": { + "durations": { + "extract": { + "ms": "__REDACTED__", + "pretty": "__REDACTED__" + }, + "loadManifest": { + "ms": "__REDACTED__", + "pretty": "__REDACTED__" + }, + "loadSource": { + "ms": "__REDACTED__", + "pretty": "__REDACTED__" + }, + "parse": { + "ms": "__REDACTED__", + "pretty": "__REDACTED__" + }, + "total": { + "ms": "__REDACTED__", + "pretty": "__REDACTED__" + } + }, "numberOfFiles": 4, - "numberOfManifests": 1, - "totalDuration": { - "ms": "REDACTED", - "pretty": "REDACTED" - }, - "totalExtractDuration": { - "ms": "REDACTED", - "pretty": "REDACTED" - }, - "totalFetchFileDuration": { - "ms": "REDACTED", - "pretty": "REDACTED" - }, - "totalLoadDuration": { - "ms": "REDACTED", - "pretty": "REDACTED" - }, - "totalParseDuration": { - "ms": "REDACTED", - "pretty": "REDACTED" - } + "numberOfManifests": 1 } }, "severity": "note", From 5251dc2058cb684b617cb0ba72f6531b133f3976 Mon Sep 17 00:00:00 2001 From: Paolo Tranquilli Date: Wed, 27 Nov 2024 10:20:31 +0100 Subject: [PATCH 31/46] Rust: use `check_diagnostics` improvements --- rust/ql/integration-tests/conftest.py | 10 +- .../hello-project/diagnostics.expected | 115 +++++++++++++++--- .../diagnostics.cargo.expected | 72 +++++++++++ .../diagnostics.rust-project.expected | 67 ++++++++++ 4 files changed, 242 insertions(+), 22 deletions(-) diff --git a/rust/ql/integration-tests/conftest.py b/rust/ql/integration-tests/conftest.py index 895650183c8..cbace615805 100644 --- a/rust/ql/integration-tests/conftest.py +++ b/rust/ql/integration-tests/conftest.py @@ -17,10 +17,12 @@ def manifests(cwd): @pytest.fixture def rust_check_diagnostics(check_diagnostics): check_diagnostics.replacements += [ - (r'"ms"\s*:\s*[0-9]+', '"ms": "__REDACTED__"'), - (r'"pretty"\s*:\s*"[^"]*"', '"pretty": "__REDACTED__"'), + ("Cargo.toml|rust-project.json", ""), ] - check_diagnostics.skip += [ - "attributes.steps", # the order of the steps is not stable + check_diagnostics.redact += [ + "attributes.summary.durations.*.ms", + "attributes.summary.durations.*.pretty", + "attributes.steps.ms", ] + check_diagnostics.sort = True # the order of the steps is not stable return check_diagnostics diff --git a/rust/ql/integration-tests/hello-project/diagnostics.expected b/rust/ql/integration-tests/hello-project/diagnostics.expected index c19e46a88cd..5f6821ffb10 100644 --- a/rust/ql/integration-tests/hello-project/diagnostics.expected +++ b/rust/ql/integration-tests/hello-project/diagnostics.expected @@ -1,28 +1,107 @@ { "attributes": { - "summary": { - "numberOfFiles": 4, - "numberOfManifests": 1, - "totalDuration": { - "ms": "__REDACTED__", - "pretty": "__REDACTED__" + "steps": [ + { + "action": "extract", + "file": "/src/directory_module/mod.rs", + "ms": "__REDACTED__" }, - "totalExtractDuration": { - "ms": "__REDACTED__", - "pretty": "__REDACTED__" + { + "action": "extract", + "file": "/src/directory_module/nested_module.rs", + "ms": "__REDACTED__" }, - "totalFetchFileDuration": { - "ms": "__REDACTED__", - "pretty": "__REDACTED__" + { + "action": "extract", + "file": "/src/directory_module/not_loaded.rs", + "ms": "__REDACTED__" }, - "totalLoadDuration": { - "ms": "__REDACTED__", - "pretty": "__REDACTED__" + { + "action": "extract", + "file": "/src/file_module.rs", + "ms": "__REDACTED__" }, - "totalParseDuration": { - "ms": "__REDACTED__", - "pretty": "__REDACTED__" + { + "action": "extract", + "file": "/src/main.rs", + "ms": "__REDACTED__" + }, + { + "action": "loadManifest", + "file": "/", + "ms": "__REDACTED__" + }, + { + "action": "loadSource", + "file": "/src/directory_module/mod.rs", + "ms": "__REDACTED__" + }, + { + "action": "loadSource", + "file": "/src/directory_module/nested_module.rs", + "ms": "__REDACTED__" + }, + { + "action": "loadSource", + "file": "/src/file_module.rs", + "ms": "__REDACTED__" + }, + { + "action": "loadSource", + "file": "/src/main.rs", + "ms": "__REDACTED__" + }, + { + "action": "parse", + "file": "/src/directory_module/mod.rs", + "ms": "__REDACTED__" + }, + { + "action": "parse", + "file": "/src/directory_module/nested_module.rs", + "ms": "__REDACTED__" + }, + { + "action": "parse", + "file": "/src/directory_module/not_loaded.rs", + "ms": "__REDACTED__" + }, + { + "action": "parse", + "file": "/src/file_module.rs", + "ms": "__REDACTED__" + }, + { + "action": "parse", + "file": "/src/main.rs", + "ms": "__REDACTED__" } + ], + "summary": { + "durations": { + "extract": { + "ms": "__REDACTED__", + "pretty": "__REDACTED__" + }, + "loadManifest": { + "ms": "__REDACTED__", + "pretty": "__REDACTED__" + }, + "loadSource": { + "ms": "__REDACTED__", + "pretty": "__REDACTED__" + }, + "parse": { + "ms": "__REDACTED__", + "pretty": "__REDACTED__" + }, + "total": { + "ms": "__REDACTED__", + "pretty": "__REDACTED__" + } + }, + "numberOfFiles": 5, + "numberOfManifests": 1 } }, "severity": "note", diff --git a/rust/ql/integration-tests/hello-workspace/diagnostics.cargo.expected b/rust/ql/integration-tests/hello-workspace/diagnostics.cargo.expected index 052fe3e7839..7d484623087 100644 --- a/rust/ql/integration-tests/hello-workspace/diagnostics.cargo.expected +++ b/rust/ql/integration-tests/hello-workspace/diagnostics.cargo.expected @@ -1,5 +1,77 @@ { "attributes": { + "steps": [ + { + "action": "extract", + "file": "/exe/src/a_module.rs", + "ms": "__REDACTED__" + }, + { + "action": "extract", + "file": "/exe/src/main.rs", + "ms": "__REDACTED__" + }, + { + "action": "extract", + "file": "/lib/src/a_module/mod.rs", + "ms": "__REDACTED__" + }, + { + "action": "extract", + "file": "/lib/src/lib.rs", + "ms": "__REDACTED__" + }, + { + "action": "loadManifest", + "file": "/exe/", + "ms": "__REDACTED__" + }, + { + "action": "loadManifest", + "file": "/lib/", + "ms": "__REDACTED__" + }, + { + "action": "loadSource", + "file": "/exe/src/a_module.rs", + "ms": "__REDACTED__" + }, + { + "action": "loadSource", + "file": "/exe/src/main.rs", + "ms": "__REDACTED__" + }, + { + "action": "loadSource", + "file": "/lib/src/a_module/mod.rs", + "ms": "__REDACTED__" + }, + { + "action": "loadSource", + "file": "/lib/src/lib.rs", + "ms": "__REDACTED__" + }, + { + "action": "parse", + "file": "/exe/src/a_module.rs", + "ms": "__REDACTED__" + }, + { + "action": "parse", + "file": "/exe/src/main.rs", + "ms": "__REDACTED__" + }, + { + "action": "parse", + "file": "/lib/src/a_module/mod.rs", + "ms": "__REDACTED__" + }, + { + "action": "parse", + "file": "/lib/src/lib.rs", + "ms": "__REDACTED__" + } + ], "summary": { "durations": { "extract": { diff --git a/rust/ql/integration-tests/hello-workspace/diagnostics.rust-project.expected b/rust/ql/integration-tests/hello-workspace/diagnostics.rust-project.expected index 3c4fc9bf431..8ab17e9fe73 100644 --- a/rust/ql/integration-tests/hello-workspace/diagnostics.rust-project.expected +++ b/rust/ql/integration-tests/hello-workspace/diagnostics.rust-project.expected @@ -1,5 +1,72 @@ { "attributes": { + "steps": [ + { + "action": "extract", + "file": "/exe/src/a_module.rs", + "ms": "__REDACTED__" + }, + { + "action": "extract", + "file": "/exe/src/main.rs", + "ms": "__REDACTED__" + }, + { + "action": "extract", + "file": "/lib/src/a_module/mod.rs", + "ms": "__REDACTED__" + }, + { + "action": "extract", + "file": "/lib/src/lib.rs", + "ms": "__REDACTED__" + }, + { + "action": "loadManifest", + "file": "/", + "ms": "__REDACTED__" + }, + { + "action": "loadSource", + "file": "/exe/src/a_module.rs", + "ms": "__REDACTED__" + }, + { + "action": "loadSource", + "file": "/exe/src/main.rs", + "ms": "__REDACTED__" + }, + { + "action": "loadSource", + "file": "/lib/src/a_module/mod.rs", + "ms": "__REDACTED__" + }, + { + "action": "loadSource", + "file": "/lib/src/lib.rs", + "ms": "__REDACTED__" + }, + { + "action": "parse", + "file": "/exe/src/a_module.rs", + "ms": "__REDACTED__" + }, + { + "action": "parse", + "file": "/exe/src/main.rs", + "ms": "__REDACTED__" + }, + { + "action": "parse", + "file": "/lib/src/a_module/mod.rs", + "ms": "__REDACTED__" + }, + { + "action": "parse", + "file": "/lib/src/lib.rs", + "ms": "__REDACTED__" + } + ], "summary": { "durations": { "extract": { From 4e7115538bf8f63788c19694c1ea0b430b4fbe17 Mon Sep 17 00:00:00 2001 From: Paolo Tranquilli Date: Wed, 27 Nov 2024 14:55:46 +0100 Subject: [PATCH 32/46] Rust: move steps breakdown from JSON diagnostics to the DB --- rust/extractor/src/diagnostics.rs | 23 ++-- rust/extractor/src/main.rs | 24 +++- rust/extractor/src/trap.rs | 4 +- rust/prefix.dbscheme | 7 ++ rust/ql/integration-tests/conftest.py | 9 +- .../hello-project/diagnostics.expected | 117 +++--------------- .../hello-project/steps.cargo.expected | 15 +++ .../integration-tests/hello-project/steps.ql | 4 + .../hello-project/steps.rust-project.expected | 15 +++ .../hello-project/test_project.py | 5 + .../diagnostics.cargo.expected | 112 +++-------------- .../diagnostics.rust-project.expected | 107 +++------------- .../hello-workspace/steps.cargo.expected | 14 +++ .../hello-workspace/steps.ql | 4 + .../steps.rust-project.expected | 13 ++ .../hello-workspace/test_workspace.py | 6 +- .../codeql/rust/internal/ExtractorStep.qll | 46 +++++++ rust/ql/lib/rust.dbscheme | 7 ++ 18 files changed, 224 insertions(+), 308 deletions(-) create mode 100644 rust/ql/integration-tests/hello-project/steps.cargo.expected create mode 100644 rust/ql/integration-tests/hello-project/steps.ql create mode 100644 rust/ql/integration-tests/hello-project/steps.rust-project.expected create mode 100644 rust/ql/integration-tests/hello-workspace/steps.cargo.expected create mode 100644 rust/ql/integration-tests/hello-workspace/steps.ql create mode 100644 rust/ql/integration-tests/hello-workspace/steps.rust-project.expected create mode 100644 rust/ql/lib/codeql/rust/internal/ExtractorStep.qll diff --git a/rust/extractor/src/diagnostics.rs b/rust/extractor/src/diagnostics.rs index d4b60211bbf..92743a923d4 100644 --- a/rust/extractor/src/diagnostics.rs +++ b/rust/extractor/src/diagnostics.rs @@ -76,7 +76,7 @@ pub struct Diagnostics { #[derive(Default, Debug, Clone, Copy, Serialize, PartialEq, Eq, Hash)] #[serde(rename_all = "camelCase")] -enum ExtractionStepKind { +pub enum ExtractionStepKind { #[default] LoadManifest, LoadSource, @@ -87,9 +87,9 @@ enum ExtractionStepKind { #[derive(Debug, Clone, Serialize)] #[serde(rename_all = "camelCase")] pub struct ExtractionStep { - action: ExtractionStepKind, - file: PathBuf, - ms: u128, + pub action: ExtractionStepKind, + pub file: PathBuf, + pub ms: u128, } impl ExtractionStep { @@ -186,14 +186,7 @@ struct ExtractionSummary { durations: DurationsSummary, } -#[derive(Debug, Default, Clone, Serialize)] -#[serde(rename_all = "camelCase")] -struct ExtractionAttributes { - steps: Vec, - summary: ExtractionSummary, -} - -type ExtractionDiagnostics = Diagnostics; +type ExtractionDiagnostics = Diagnostics; fn summary(start: Instant, steps: &[ExtractionStep]) -> ExtractionSummary { let mut number_of_manifests = 0; @@ -229,9 +222,9 @@ fn summary(start: Instant, steps: &[ExtractionStep]) -> ExtractionSummary { pub fn emit_extraction_diagnostics( start: Instant, config: &Config, - steps: Vec, + steps: &[ExtractionStep], ) -> anyhow::Result<()> { - let summary = summary(start, &steps); + let summary = summary(start, steps); let diagnostics = ExtractionDiagnostics { source: Source { id: "rust/extractor/telemetry".to_owned(), @@ -243,7 +236,7 @@ pub fn emit_extraction_diagnostics( ..Default::default() }, timestamp: Utc::now(), - attributes: ExtractionAttributes { steps, summary }, + attributes: summary, ..Default::default() }; diff --git a/rust/extractor/src/main.rs b/rust/extractor/src/main.rs index 19239cf9dd4..a3258f16d09 100644 --- a/rust/extractor/src/main.rs +++ b/rust/extractor/src/main.rs @@ -2,7 +2,7 @@ use crate::diagnostics::{emit_extraction_diagnostics, ExtractionStep}; use crate::rust_analyzer::path_to_file_id; use anyhow::Context; use archive::Archiver; -use log::info; +use log::{info, warn}; use ra_ap_hir::Semantics; use ra_ap_ide_db::line_index::{LineCol, LineIndex}; use ra_ap_ide_db::RootDatabase; @@ -140,7 +140,27 @@ impl<'a> Extractor<'a> { start: Instant, cfg: &config::Config, ) -> anyhow::Result<()> { - emit_extraction_diagnostics(start, cfg, self.steps) + emit_extraction_diagnostics(start, cfg, &self.steps)?; + let mut trap = self.traps.create("diagnostics", "extraction"); + for step in self.steps { + let file_label = trap.emit_file(&step.file); + let step_label = trap.writer.fresh_id(); + let ms = usize::try_from(step.ms).unwrap_or_else(|_e| { + warn!("extraction step duration overflowed ({step:?})"); + i32::MAX as usize + }); + trap.writer.add_tuple( + "extractor_steps", + vec![ + step_label.into(), + format!("{:?}", step.action).into(), + file_label.into(), + ms.into(), + ], + ); + } + trap.commit()?; + Ok(()) } } diff --git a/rust/extractor/src/trap.rs b/rust/extractor/src/trap.rs index 58f56fb2b1e..c993fa046a7 100644 --- a/rust/extractor/src/trap.rs +++ b/rust/extractor/src/trap.rs @@ -243,8 +243,8 @@ impl TrapFileProvider { }) } - pub fn create(&self, category: &str, key: &Path) -> TrapFile { - let path = file_paths::path_for(&self.trap_dir.join(category), key, "trap"); + pub fn create(&self, category: &str, key: impl AsRef) -> TrapFile { + let path = file_paths::path_for(&self.trap_dir.join(category), key.as_ref(), "trap"); debug!("creating trap file {}", path.display()); let mut writer = trap::Writer::new(); extractor::populate_empty_location(&mut writer); diff --git a/rust/prefix.dbscheme b/rust/prefix.dbscheme index 4810e11069d..5ccbd3438d1 100644 --- a/rust/prefix.dbscheme +++ b/rust/prefix.dbscheme @@ -3,3 +3,10 @@ locatable_locations( int id: @locatable ref, int location: @location_default ref ); + +extractor_steps( + unique int id: @extractor_step, + string action: string ref, + int file: @file ref, + int duration_ms: int ref +) diff --git a/rust/ql/integration-tests/conftest.py b/rust/ql/integration-tests/conftest.py index cbace615805..79c899c97fc 100644 --- a/rust/ql/integration-tests/conftest.py +++ b/rust/ql/integration-tests/conftest.py @@ -16,13 +16,8 @@ def manifests(cwd): @pytest.fixture def rust_check_diagnostics(check_diagnostics): - check_diagnostics.replacements += [ - ("Cargo.toml|rust-project.json", ""), - ] check_diagnostics.redact += [ - "attributes.summary.durations.*.ms", - "attributes.summary.durations.*.pretty", - "attributes.steps.ms", + "attributes.durations.*.ms", + "attributes.durations.*.pretty", ] - check_diagnostics.sort = True # the order of the steps is not stable return check_diagnostics diff --git a/rust/ql/integration-tests/hello-project/diagnostics.expected b/rust/ql/integration-tests/hello-project/diagnostics.expected index 5f6821ffb10..f938b5b8ab5 100644 --- a/rust/ql/integration-tests/hello-project/diagnostics.expected +++ b/rust/ql/integration-tests/hello-project/diagnostics.expected @@ -1,108 +1,29 @@ { "attributes": { - "steps": [ - { - "action": "extract", - "file": "/src/directory_module/mod.rs", - "ms": "__REDACTED__" + "durations": { + "extract": { + "ms": "__REDACTED__", + "pretty": "__REDACTED__" }, - { - "action": "extract", - "file": "/src/directory_module/nested_module.rs", - "ms": "__REDACTED__" + "loadManifest": { + "ms": "__REDACTED__", + "pretty": "__REDACTED__" }, - { - "action": "extract", - "file": "/src/directory_module/not_loaded.rs", - "ms": "__REDACTED__" + "loadSource": { + "ms": "__REDACTED__", + "pretty": "__REDACTED__" }, - { - "action": "extract", - "file": "/src/file_module.rs", - "ms": "__REDACTED__" + "parse": { + "ms": "__REDACTED__", + "pretty": "__REDACTED__" }, - { - "action": "extract", - "file": "/src/main.rs", - "ms": "__REDACTED__" - }, - { - "action": "loadManifest", - "file": "/", - "ms": "__REDACTED__" - }, - { - "action": "loadSource", - "file": "/src/directory_module/mod.rs", - "ms": "__REDACTED__" - }, - { - "action": "loadSource", - "file": "/src/directory_module/nested_module.rs", - "ms": "__REDACTED__" - }, - { - "action": "loadSource", - "file": "/src/file_module.rs", - "ms": "__REDACTED__" - }, - { - "action": "loadSource", - "file": "/src/main.rs", - "ms": "__REDACTED__" - }, - { - "action": "parse", - "file": "/src/directory_module/mod.rs", - "ms": "__REDACTED__" - }, - { - "action": "parse", - "file": "/src/directory_module/nested_module.rs", - "ms": "__REDACTED__" - }, - { - "action": "parse", - "file": "/src/directory_module/not_loaded.rs", - "ms": "__REDACTED__" - }, - { - "action": "parse", - "file": "/src/file_module.rs", - "ms": "__REDACTED__" - }, - { - "action": "parse", - "file": "/src/main.rs", - "ms": "__REDACTED__" + "total": { + "ms": "__REDACTED__", + "pretty": "__REDACTED__" } - ], - "summary": { - "durations": { - "extract": { - "ms": "__REDACTED__", - "pretty": "__REDACTED__" - }, - "loadManifest": { - "ms": "__REDACTED__", - "pretty": "__REDACTED__" - }, - "loadSource": { - "ms": "__REDACTED__", - "pretty": "__REDACTED__" - }, - "parse": { - "ms": "__REDACTED__", - "pretty": "__REDACTED__" - }, - "total": { - "ms": "__REDACTED__", - "pretty": "__REDACTED__" - } - }, - "numberOfFiles": 5, - "numberOfManifests": 1 - } + }, + "numberOfFiles": 5, + "numberOfManifests": 1 }, "severity": "note", "source": { diff --git a/rust/ql/integration-tests/hello-project/steps.cargo.expected b/rust/ql/integration-tests/hello-project/steps.cargo.expected new file mode 100644 index 00000000000..61987aa564b --- /dev/null +++ b/rust/ql/integration-tests/hello-project/steps.cargo.expected @@ -0,0 +1,15 @@ +| Cargo.toml:0:0:0:0 | LoadManifest(Cargo.toml) | +| src/directory_module/mod.rs:0:0:0:0 | Extract(src/directory_module/mod.rs) | +| src/directory_module/mod.rs:0:0:0:0 | LoadSource(src/directory_module/mod.rs) | +| src/directory_module/mod.rs:0:0:0:0 | Parse(src/directory_module/mod.rs) | +| src/directory_module/nested_module.rs:0:0:0:0 | Extract(src/directory_module/nested_module.rs) | +| src/directory_module/nested_module.rs:0:0:0:0 | LoadSource(src/directory_module/nested_module.rs) | +| src/directory_module/nested_module.rs:0:0:0:0 | Parse(src/directory_module/nested_module.rs) | +| src/directory_module/not_loaded.rs:0:0:0:0 | Extract(src/directory_module/not_loaded.rs) | +| src/directory_module/not_loaded.rs:0:0:0:0 | Parse(src/directory_module/not_loaded.rs) | +| src/file_module.rs:0:0:0:0 | Extract(src/file_module.rs) | +| src/file_module.rs:0:0:0:0 | LoadSource(src/file_module.rs) | +| src/file_module.rs:0:0:0:0 | Parse(src/file_module.rs) | +| src/main.rs:0:0:0:0 | Extract(src/main.rs) | +| src/main.rs:0:0:0:0 | LoadSource(src/main.rs) | +| src/main.rs:0:0:0:0 | Parse(src/main.rs) | diff --git a/rust/ql/integration-tests/hello-project/steps.ql b/rust/ql/integration-tests/hello-project/steps.ql new file mode 100644 index 00000000000..eb8f9a05adb --- /dev/null +++ b/rust/ql/integration-tests/hello-project/steps.ql @@ -0,0 +1,4 @@ +import codeql.rust.internal.ExtractorStep + +from ExtractorStep step +select step diff --git a/rust/ql/integration-tests/hello-project/steps.rust-project.expected b/rust/ql/integration-tests/hello-project/steps.rust-project.expected new file mode 100644 index 00000000000..d1d2e9ddee3 --- /dev/null +++ b/rust/ql/integration-tests/hello-project/steps.rust-project.expected @@ -0,0 +1,15 @@ +| rust-project.json:0:0:0:0 | LoadManifest(rust-project.json) | +| src/directory_module/mod.rs:0:0:0:0 | Extract(src/directory_module/mod.rs) | +| src/directory_module/mod.rs:0:0:0:0 | LoadSource(src/directory_module/mod.rs) | +| src/directory_module/mod.rs:0:0:0:0 | Parse(src/directory_module/mod.rs) | +| src/directory_module/nested_module.rs:0:0:0:0 | Extract(src/directory_module/nested_module.rs) | +| src/directory_module/nested_module.rs:0:0:0:0 | LoadSource(src/directory_module/nested_module.rs) | +| src/directory_module/nested_module.rs:0:0:0:0 | Parse(src/directory_module/nested_module.rs) | +| src/directory_module/not_loaded.rs:0:0:0:0 | Extract(src/directory_module/not_loaded.rs) | +| src/directory_module/not_loaded.rs:0:0:0:0 | Parse(src/directory_module/not_loaded.rs) | +| src/file_module.rs:0:0:0:0 | Extract(src/file_module.rs) | +| src/file_module.rs:0:0:0:0 | LoadSource(src/file_module.rs) | +| src/file_module.rs:0:0:0:0 | Parse(src/file_module.rs) | +| src/main.rs:0:0:0:0 | Extract(src/main.rs) | +| src/main.rs:0:0:0:0 | LoadSource(src/main.rs) | +| src/main.rs:0:0:0:0 | Parse(src/main.rs) | diff --git a/rust/ql/integration-tests/hello-project/test_project.py b/rust/ql/integration-tests/hello-project/test_project.py index 2cbac0ffdb8..64988bef7a9 100644 --- a/rust/ql/integration-tests/hello-project/test_project.py +++ b/rust/ql/integration-tests/hello-project/test_project.py @@ -1,7 +1,12 @@ +import pytest + + +@pytest.mark.ql_test("steps.ql", expected=".cargo.expected") def test_cargo(codeql, rust, manifests, check_source_archive, rust_check_diagnostics): manifests.select("Cargo.toml") codeql.database.create() +@pytest.mark.ql_test("steps.ql", expected=".rust-project.expected") def test_rust_project(codeql, rust, manifests, check_source_archive, rust_check_diagnostics): manifests.select("rust-project.json") codeql.database.create() diff --git a/rust/ql/integration-tests/hello-workspace/diagnostics.cargo.expected b/rust/ql/integration-tests/hello-workspace/diagnostics.cargo.expected index 7d484623087..7d44256db5a 100644 --- a/rust/ql/integration-tests/hello-workspace/diagnostics.cargo.expected +++ b/rust/ql/integration-tests/hello-workspace/diagnostics.cargo.expected @@ -1,103 +1,29 @@ { "attributes": { - "steps": [ - { - "action": "extract", - "file": "/exe/src/a_module.rs", - "ms": "__REDACTED__" + "durations": { + "extract": { + "ms": "__REDACTED__", + "pretty": "__REDACTED__" }, - { - "action": "extract", - "file": "/exe/src/main.rs", - "ms": "__REDACTED__" + "loadManifest": { + "ms": "__REDACTED__", + "pretty": "__REDACTED__" }, - { - "action": "extract", - "file": "/lib/src/a_module/mod.rs", - "ms": "__REDACTED__" + "loadSource": { + "ms": "__REDACTED__", + "pretty": "__REDACTED__" }, - { - "action": "extract", - "file": "/lib/src/lib.rs", - "ms": "__REDACTED__" + "parse": { + "ms": "__REDACTED__", + "pretty": "__REDACTED__" }, - { - "action": "loadManifest", - "file": "/exe/", - "ms": "__REDACTED__" - }, - { - "action": "loadManifest", - "file": "/lib/", - "ms": "__REDACTED__" - }, - { - "action": "loadSource", - "file": "/exe/src/a_module.rs", - "ms": "__REDACTED__" - }, - { - "action": "loadSource", - "file": "/exe/src/main.rs", - "ms": "__REDACTED__" - }, - { - "action": "loadSource", - "file": "/lib/src/a_module/mod.rs", - "ms": "__REDACTED__" - }, - { - "action": "loadSource", - "file": "/lib/src/lib.rs", - "ms": "__REDACTED__" - }, - { - "action": "parse", - "file": "/exe/src/a_module.rs", - "ms": "__REDACTED__" - }, - { - "action": "parse", - "file": "/exe/src/main.rs", - "ms": "__REDACTED__" - }, - { - "action": "parse", - "file": "/lib/src/a_module/mod.rs", - "ms": "__REDACTED__" - }, - { - "action": "parse", - "file": "/lib/src/lib.rs", - "ms": "__REDACTED__" + "total": { + "ms": "__REDACTED__", + "pretty": "__REDACTED__" } - ], - "summary": { - "durations": { - "extract": { - "ms": "__REDACTED__", - "pretty": "__REDACTED__" - }, - "loadManifest": { - "ms": "__REDACTED__", - "pretty": "__REDACTED__" - }, - "loadSource": { - "ms": "__REDACTED__", - "pretty": "__REDACTED__" - }, - "parse": { - "ms": "__REDACTED__", - "pretty": "__REDACTED__" - }, - "total": { - "ms": "__REDACTED__", - "pretty": "__REDACTED__" - } - }, - "numberOfFiles": 4, - "numberOfManifests": 2 - } + }, + "numberOfFiles": 4, + "numberOfManifests": 2 }, "severity": "note", "source": { diff --git a/rust/ql/integration-tests/hello-workspace/diagnostics.rust-project.expected b/rust/ql/integration-tests/hello-workspace/diagnostics.rust-project.expected index 8ab17e9fe73..4c5dbc75d84 100644 --- a/rust/ql/integration-tests/hello-workspace/diagnostics.rust-project.expected +++ b/rust/ql/integration-tests/hello-workspace/diagnostics.rust-project.expected @@ -1,98 +1,29 @@ { "attributes": { - "steps": [ - { - "action": "extract", - "file": "/exe/src/a_module.rs", - "ms": "__REDACTED__" + "durations": { + "extract": { + "ms": "__REDACTED__", + "pretty": "__REDACTED__" }, - { - "action": "extract", - "file": "/exe/src/main.rs", - "ms": "__REDACTED__" + "loadManifest": { + "ms": "__REDACTED__", + "pretty": "__REDACTED__" }, - { - "action": "extract", - "file": "/lib/src/a_module/mod.rs", - "ms": "__REDACTED__" + "loadSource": { + "ms": "__REDACTED__", + "pretty": "__REDACTED__" }, - { - "action": "extract", - "file": "/lib/src/lib.rs", - "ms": "__REDACTED__" + "parse": { + "ms": "__REDACTED__", + "pretty": "__REDACTED__" }, - { - "action": "loadManifest", - "file": "/", - "ms": "__REDACTED__" - }, - { - "action": "loadSource", - "file": "/exe/src/a_module.rs", - "ms": "__REDACTED__" - }, - { - "action": "loadSource", - "file": "/exe/src/main.rs", - "ms": "__REDACTED__" - }, - { - "action": "loadSource", - "file": "/lib/src/a_module/mod.rs", - "ms": "__REDACTED__" - }, - { - "action": "loadSource", - "file": "/lib/src/lib.rs", - "ms": "__REDACTED__" - }, - { - "action": "parse", - "file": "/exe/src/a_module.rs", - "ms": "__REDACTED__" - }, - { - "action": "parse", - "file": "/exe/src/main.rs", - "ms": "__REDACTED__" - }, - { - "action": "parse", - "file": "/lib/src/a_module/mod.rs", - "ms": "__REDACTED__" - }, - { - "action": "parse", - "file": "/lib/src/lib.rs", - "ms": "__REDACTED__" + "total": { + "ms": "__REDACTED__", + "pretty": "__REDACTED__" } - ], - "summary": { - "durations": { - "extract": { - "ms": "__REDACTED__", - "pretty": "__REDACTED__" - }, - "loadManifest": { - "ms": "__REDACTED__", - "pretty": "__REDACTED__" - }, - "loadSource": { - "ms": "__REDACTED__", - "pretty": "__REDACTED__" - }, - "parse": { - "ms": "__REDACTED__", - "pretty": "__REDACTED__" - }, - "total": { - "ms": "__REDACTED__", - "pretty": "__REDACTED__" - } - }, - "numberOfFiles": 4, - "numberOfManifests": 1 - } + }, + "numberOfFiles": 4, + "numberOfManifests": 1 }, "severity": "note", "source": { diff --git a/rust/ql/integration-tests/hello-workspace/steps.cargo.expected b/rust/ql/integration-tests/hello-workspace/steps.cargo.expected new file mode 100644 index 00000000000..138bd77b690 --- /dev/null +++ b/rust/ql/integration-tests/hello-workspace/steps.cargo.expected @@ -0,0 +1,14 @@ +| exe/Cargo.toml:0:0:0:0 | LoadManifest(exe/Cargo.toml) | +| exe/src/a_module.rs:0:0:0:0 | Extract(exe/src/a_module.rs) | +| exe/src/a_module.rs:0:0:0:0 | LoadSource(exe/src/a_module.rs) | +| exe/src/a_module.rs:0:0:0:0 | Parse(exe/src/a_module.rs) | +| exe/src/main.rs:0:0:0:0 | Extract(exe/src/main.rs) | +| exe/src/main.rs:0:0:0:0 | LoadSource(exe/src/main.rs) | +| exe/src/main.rs:0:0:0:0 | Parse(exe/src/main.rs) | +| lib/Cargo.toml:0:0:0:0 | LoadManifest(lib/Cargo.toml) | +| lib/src/a_module/mod.rs:0:0:0:0 | Extract(lib/src/a_module/mod.rs) | +| lib/src/a_module/mod.rs:0:0:0:0 | LoadSource(lib/src/a_module/mod.rs) | +| lib/src/a_module/mod.rs:0:0:0:0 | Parse(lib/src/a_module/mod.rs) | +| lib/src/lib.rs:0:0:0:0 | Extract(lib/src/lib.rs) | +| lib/src/lib.rs:0:0:0:0 | LoadSource(lib/src/lib.rs) | +| lib/src/lib.rs:0:0:0:0 | Parse(lib/src/lib.rs) | diff --git a/rust/ql/integration-tests/hello-workspace/steps.ql b/rust/ql/integration-tests/hello-workspace/steps.ql new file mode 100644 index 00000000000..eb8f9a05adb --- /dev/null +++ b/rust/ql/integration-tests/hello-workspace/steps.ql @@ -0,0 +1,4 @@ +import codeql.rust.internal.ExtractorStep + +from ExtractorStep step +select step diff --git a/rust/ql/integration-tests/hello-workspace/steps.rust-project.expected b/rust/ql/integration-tests/hello-workspace/steps.rust-project.expected new file mode 100644 index 00000000000..09620925ce9 --- /dev/null +++ b/rust/ql/integration-tests/hello-workspace/steps.rust-project.expected @@ -0,0 +1,13 @@ +| exe/src/a_module.rs:0:0:0:0 | Extract(exe/src/a_module.rs) | +| exe/src/a_module.rs:0:0:0:0 | LoadSource(exe/src/a_module.rs) | +| exe/src/a_module.rs:0:0:0:0 | Parse(exe/src/a_module.rs) | +| exe/src/main.rs:0:0:0:0 | Extract(exe/src/main.rs) | +| exe/src/main.rs:0:0:0:0 | LoadSource(exe/src/main.rs) | +| exe/src/main.rs:0:0:0:0 | Parse(exe/src/main.rs) | +| lib/src/a_module/mod.rs:0:0:0:0 | Extract(lib/src/a_module/mod.rs) | +| lib/src/a_module/mod.rs:0:0:0:0 | LoadSource(lib/src/a_module/mod.rs) | +| lib/src/a_module/mod.rs:0:0:0:0 | Parse(lib/src/a_module/mod.rs) | +| lib/src/lib.rs:0:0:0:0 | Extract(lib/src/lib.rs) | +| lib/src/lib.rs:0:0:0:0 | LoadSource(lib/src/lib.rs) | +| lib/src/lib.rs:0:0:0:0 | Parse(lib/src/lib.rs) | +| rust-project.json:0:0:0:0 | LoadManifest(rust-project.json) | diff --git a/rust/ql/integration-tests/hello-workspace/test_workspace.py b/rust/ql/integration-tests/hello-workspace/test_workspace.py index 5c95031466f..3dd49991aaa 100644 --- a/rust/ql/integration-tests/hello-workspace/test_workspace.py +++ b/rust/ql/integration-tests/hello-workspace/test_workspace.py @@ -1,13 +1,13 @@ import pytest -# currently the DB-check fails on actions because of loading files multiple times and assiging multiple locations -# see https://github.com/github/codeql-team/issues/3365 -@pytest.mark.ql_test("DB-CHECK", xfail="maybe") + +@pytest.mark.ql_test("steps.ql", expected=".cargo.expected") def test_cargo(codeql, rust, manifests, check_source_archive, rust_check_diagnostics): rust_check_diagnostics.expected_suffix = ".cargo.expected" manifests.select("Cargo.toml") codeql.database.create() +@pytest.mark.ql_test("steps.ql", expected=".rust-project.expected") def test_rust_project(codeql, rust, manifests, check_source_archive, rust_check_diagnostics): rust_check_diagnostics.expected_suffix = ".rust-project.expected" manifests.select("rust-project.json") diff --git a/rust/ql/lib/codeql/rust/internal/ExtractorStep.qll b/rust/ql/lib/codeql/rust/internal/ExtractorStep.qll new file mode 100644 index 00000000000..55505be1d59 --- /dev/null +++ b/rust/ql/lib/codeql/rust/internal/ExtractorStep.qll @@ -0,0 +1,46 @@ +import codeql.files.FileSystem + +/** + * An extractor step, usable for debugging and diagnostics reasons. + * + * INTERNAL: Do not use. + */ +class ExtractorStep extends @extractor_step { + /** + * The string representation of this extractor step. + */ + string toString() { + exists(File file, string action | + extractor_steps(this, action, file, _) and + result = action + "(" + file.getAbsolutePath() + ")" + ) + } + + /** + * The action this extractor step carried out. + */ + string getAction() { extractor_steps(this, result, _, _) } + + /** + * The file the extractor step was carried out on. + */ + File getFile() { extractor_steps(this, _, result, _) } + + /** + * The duration of the extractor step in milliseconds. + */ + int getDurationMs() { extractor_steps(this, _, _, result) } + + /** + * Provides location information for this step. + */ + predicate hasLocationInfo( + string filepath, int startline, int startcolumn, int endline, int endcolumn + ) { + this.getFile().getAbsolutePath() = filepath and + startline = 0 and + startcolumn = 0 and + endline = 0 and + endcolumn = 0 + } +} diff --git a/rust/ql/lib/rust.dbscheme b/rust/ql/lib/rust.dbscheme index 46085a55abf..26a22063d6d 100644 --- a/rust/ql/lib/rust.dbscheme +++ b/rust/ql/lib/rust.dbscheme @@ -116,6 +116,13 @@ locatable_locations( int location: @location_default ref ); +extractor_steps( + unique int id: @extractor_step, + string action: string ref, + int file: @file ref, + int duration_ms: int ref +) + // from schema From 50c917d2eb9fe8f53464b7aea841db3bbc2e55a1 Mon Sep 17 00:00:00 2001 From: Paolo Tranquilli Date: Thu, 28 Nov 2024 12:02:57 +0100 Subject: [PATCH 33/46] Rust: restrict extracted files queries --- rust/ql/lib/codeql/files/FileSystem.qll | 16 ++++++++++++++-- .../lib/codeql/rust/internal/ExtractorStep.qll | 8 ++++---- .../ql/src/queries/diagnostics/ExtractedFiles.ql | 2 +- .../src/queries/diagnostics/ExtractionErrors.ql | 2 +- rust/ql/src/queries/summary/SummaryStats.ql | 7 +++++-- rust/ql/test/extractor-tests/File/File.expected | 7 ++++--- rust/ql/test/extractor-tests/File/File.ql | 8 +++++--- .../diagnostics/ExtractedFiles.expected | 1 - .../diagnostics/LinesOfUserCodeInFiles.expected | 1 + .../diagnostics/SummaryStats.expected | 4 ++-- 10 files changed, 37 insertions(+), 19 deletions(-) diff --git a/rust/ql/lib/codeql/files/FileSystem.qll b/rust/ql/lib/codeql/files/FileSystem.qll index 7136dcc3b5a..c83680f7ec6 100644 --- a/rust/ql/lib/codeql/files/FileSystem.qll +++ b/rust/ql/lib/codeql/files/FileSystem.qll @@ -6,6 +6,7 @@ private import codeql.rust.elements.SourceFile private import codeql.rust.elements.AstNode private import codeql.rust.elements.Comment private import codeql.rust.Diagnostics +private import codeql.rust.internal.ExtractorStep private module Input implements InputSig { abstract class ContainerBase extends @container { @@ -36,7 +37,9 @@ class Folder = Impl::Folder; /** A file. */ class File extends Container, Impl::File { /** Holds if this file was extracted from ordinary source code. */ - predicate fromSource() { any() } + predicate fromSource() { + exists(ExtractorStep s | s.getAction() = "Extract" and s.getFile() = this) + } /** * Gets the number of lines containing code in this file. This value @@ -58,11 +61,20 @@ class File extends Container, Impl::File { } } +/** + * A source file that was extracted. + * + * TODO: rename `SourceFile` from the generated AST to give that name to this class. + */ +class ExtractedFile extends File { + ExtractedFile() { this.fromSource() } +} + /** * A successfully extracted file, that is, a file that was extracted and * contains no extraction errors or warnings. */ -class SuccessfullyExtractedFile extends File { +class SuccessfullyExtractedFile extends ExtractedFile { SuccessfullyExtractedFile() { not exists(Diagnostic d | d.getLocation().getFile() = this and diff --git a/rust/ql/lib/codeql/rust/internal/ExtractorStep.qll b/rust/ql/lib/codeql/rust/internal/ExtractorStep.qll index 55505be1d59..50e6ebafebf 100644 --- a/rust/ql/lib/codeql/rust/internal/ExtractorStep.qll +++ b/rust/ql/lib/codeql/rust/internal/ExtractorStep.qll @@ -7,7 +7,7 @@ import codeql.files.FileSystem */ class ExtractorStep extends @extractor_step { /** - * The string representation of this extractor step. + * Gets the string representation of this extractor step. */ string toString() { exists(File file, string action | @@ -17,17 +17,17 @@ class ExtractorStep extends @extractor_step { } /** - * The action this extractor step carried out. + * Gets the action this extractor step carried out. */ string getAction() { extractor_steps(this, result, _, _) } /** - * The file the extractor step was carried out on. + * Gets the file the extractor step was carried out on. */ File getFile() { extractor_steps(this, _, result, _) } /** - * The duration of the extractor step in milliseconds. + * Gets the duration of the extractor step in milliseconds. */ int getDurationMs() { extractor_steps(this, _, _, result) } diff --git a/rust/ql/src/queries/diagnostics/ExtractedFiles.ql b/rust/ql/src/queries/diagnostics/ExtractedFiles.ql index ce5aa699e67..112fb2949dc 100644 --- a/rust/ql/src/queries/diagnostics/ExtractedFiles.ql +++ b/rust/ql/src/queries/diagnostics/ExtractedFiles.ql @@ -8,6 +8,6 @@ import rust -from File f +from ExtractedFile f where exists(f.getRelativePath()) select f, "File successfully extracted." diff --git a/rust/ql/src/queries/diagnostics/ExtractionErrors.ql b/rust/ql/src/queries/diagnostics/ExtractionErrors.ql index 68be66f8ca9..bd5ec3426fb 100644 --- a/rust/ql/src/queries/diagnostics/ExtractionErrors.ql +++ b/rust/ql/src/queries/diagnostics/ExtractionErrors.ql @@ -11,7 +11,7 @@ import codeql.files.FileSystem /** Gets the SARIF severity to associate with an error. */ int getSeverity() { result = 2 } -from ExtractionError error, File f +from ExtractionError error, ExtractedFile f where f = error.getLocation().getFile() and exists(f.getRelativePath()) diff --git a/rust/ql/src/queries/summary/SummaryStats.ql b/rust/ql/src/queries/summary/SummaryStats.ql index 09ee83fc5e6..ffe7cbf1a8f 100644 --- a/rust/ql/src/queries/summary/SummaryStats.ql +++ b/rust/ql/src/queries/summary/SummaryStats.ql @@ -21,10 +21,13 @@ where or key = "Extraction warnings" and value = count(ExtractionWarning w) or - key = "Files extracted - total" and value = count(File f | exists(f.getRelativePath())) + key = "Files extracted - total" and value = count(ExtractedFile f | exists(f.getRelativePath())) or key = "Files extracted - with errors" and - value = count(File f | exists(f.getRelativePath()) and not f instanceof SuccessfullyExtractedFile) + value = + count(ExtractedFile f | + exists(f.getRelativePath()) and not f instanceof SuccessfullyExtractedFile + ) or key = "Files extracted - without errors" and value = count(SuccessfullyExtractedFile f | exists(f.getRelativePath())) diff --git a/rust/ql/test/extractor-tests/File/File.expected b/rust/ql/test/extractor-tests/File/File.expected index 924ed370b35..77fee3c3c42 100644 --- a/rust/ql/test/extractor-tests/File/File.expected +++ b/rust/ql/test/extractor-tests/File/File.expected @@ -1,3 +1,4 @@ -| a_file.rs:0:0:0:0 | a_file.rs | -| another_file.rs:0:0:0:0 | another_file.rs | -| lib.rs:0:0:0:0 | lib.rs | +| Cargo.toml:0:0:0:0 | Cargo.toml | fromSource: no | +| a_file.rs:0:0:0:0 | a_file.rs | fromSource: yes | +| another_file.rs:0:0:0:0 | another_file.rs | fromSource: yes | +| lib.rs:0:0:0:0 | lib.rs | fromSource: yes | diff --git a/rust/ql/test/extractor-tests/File/File.ql b/rust/ql/test/extractor-tests/File/File.ql index fcb2b274e78..316099193d1 100644 --- a/rust/ql/test/extractor-tests/File/File.ql +++ b/rust/ql/test/extractor-tests/File/File.ql @@ -1,5 +1,7 @@ import rust -from File f -where exists(f.getRelativePath()) -select f +from File f, string fromSource +where + exists(f.getRelativePath()) and + if f.fromSource() then fromSource = "fromSource: yes" else fromSource = "fromSource: no" +select f, fromSource diff --git a/rust/ql/test/query-tests/diagnostics/ExtractedFiles.expected b/rust/ql/test/query-tests/diagnostics/ExtractedFiles.expected index bc8dc8cccf1..c5ebb707230 100644 --- a/rust/ql/test/query-tests/diagnostics/ExtractedFiles.expected +++ b/rust/ql/test/query-tests/diagnostics/ExtractedFiles.expected @@ -5,4 +5,3 @@ | main.rs:0:0:0:0 | main.rs | File successfully extracted. | | my_macro.rs:0:0:0:0 | my_macro.rs | File successfully extracted. | | my_struct.rs:0:0:0:0 | my_struct.rs | File successfully extracted. | -| options.yml:0:0:0:0 | options.yml | File successfully extracted. | diff --git a/rust/ql/test/query-tests/diagnostics/LinesOfUserCodeInFiles.expected b/rust/ql/test/query-tests/diagnostics/LinesOfUserCodeInFiles.expected index 0a58a05feed..f53c931e56e 100644 --- a/rust/ql/test/query-tests/diagnostics/LinesOfUserCodeInFiles.expected +++ b/rust/ql/test/query-tests/diagnostics/LinesOfUserCodeInFiles.expected @@ -5,4 +5,5 @@ | lib.rs:0:0:0:0 | lib.rs | 5 | | does_not_compile.rs:0:0:0:0 | does_not_compile.rs | 3 | | error.rs:0:0:0:0 | error.rs | 3 | +| Cargo.toml:0:0:0:0 | Cargo.toml | 0 | | options.yml:0:0:0:0 | options.yml | 0 | diff --git a/rust/ql/test/query-tests/diagnostics/SummaryStats.expected b/rust/ql/test/query-tests/diagnostics/SummaryStats.expected index 74e1e461c6f..16e895cdeef 100644 --- a/rust/ql/test/query-tests/diagnostics/SummaryStats.expected +++ b/rust/ql/test/query-tests/diagnostics/SummaryStats.expected @@ -2,9 +2,9 @@ | Elements unextracted | 0 | | Extraction errors | 0 | | Extraction warnings | 7 | -| Files extracted - total | 8 | +| Files extracted - total | 7 | | Files extracted - with errors | 3 | -| Files extracted - without errors | 5 | +| Files extracted - without errors | 4 | | Inconsistencies - AST | 0 | | Inconsistencies - CFG | 0 | | Inconsistencies - data flow | 0 | From a9817a028127c649a88ad3b30a1b76e77edf8117 Mon Sep 17 00:00:00 2001 From: Taus Date: Thu, 28 Nov 2024 12:32:00 +0000 Subject: [PATCH 34/46] Python: Add guide describing how to extend the parser --- python/extractor/extending-the-parser.md | 94 ++++++++++++++++++++++++ 1 file changed, 94 insertions(+) create mode 100644 python/extractor/extending-the-parser.md diff --git a/python/extractor/extending-the-parser.md b/python/extractor/extending-the-parser.md new file mode 100644 index 00000000000..55bdd6c2a0d --- /dev/null +++ b/python/extractor/extending-the-parser.md @@ -0,0 +1,94 @@ +# How to update the Python parser + +## Step 1: Add an extractor test + +Extractor parser tests live in the `tests/parser` directory. There are two different kinds of tests + +- Tests that compare the behavior of the old (Python-based) and new (`tree-sitter`-based) parsers, and verify that they yield the same output on the given source files, and +- Tests that compare the output of the parser (old or new) against a fixed `.expected` file. + +What kind of test is run is determined based on the file name. +If it ends in either `_new.py` or `_old.py`, then the test is run against an `.expected` file. If not, it is used to compare old against new. + +In most cases when adding new features, you'll only be interested in modifying the new parser (the old one is mostly there for legacy reasons). +Thus, you will almost certainly want to create a test that ends in `_new.py`. + +It's a good habit to start by adding the parser test, as this makes it more easy to test when various bits of the parser have been added/modified successfully. + +The rest of this document will only concern itself with the process of extending the _new_ parser. + +To actually _run_ the tests, the easiest way is to use `pytest`. +In the main `extractor` directory (i.e. where this file is located) run + +```sh +pytest tests/test_parser.py +``` + +and wait for the tests to complete. It is normal and expected that the test seemingly freezes on the first run. +This is simply because the `tsg-python` Rust binary is being built in the background. + +Once you have added a new test (or modified an old one) and start making modifications to the parser itself, it quickly becomes tedious to run _all_ the parser tests. +To run just a single test using `pytest`, use the `::` syntax to specify specific tests. +For instance, if you want to just run the tests associated with the file `types_new.py`, you would write + +```sh +pytest tests/test_parser.py::ParserTest::test_types_new +``` + +## Step 2: Extend the `tree-sitter-python` grammar + +The new parser is based on `tree-sitter`, so the first task is to extend the existing `tree-sitter-python` grammar. +This grammar can be found in the `grammar.js` file in the `tsg-python/tsp` subdirectory of the extractor directory. + +Note that whenever changes are made to `grammar.js`, you must regenerate the parser files by running + +```sh +tree-sitter generate +``` + +inside the `tsp` directory. +You'll need to install the `tree-sitter` CLI in order to run this command. +One way to install it is to use `cargo`: + +```sh +cargo install tree-sitter-cli +``` + +(This presupposes you have `cargo` available, but you'll need this anyway when compiling `tsg-python`.) + +Once the parser files have been regenerated, they'll get picked up automatically when `tsg-python` is rebuilt. + +> Pro-tip: When you're done with your parser changes, and go to commit these to a branch, put the autogenerated files in their own commit. +> This makes it easier to review the changes, and if you need to go back and regenerate the files again, it's easy to modify just that commit. + +Once you have extended `grammar.js` and regenerated the parser files, you should be able to check that the grammar changes are sufficient by rerunning the parser test using `pytest`. If it fails while producing an AST that doesn't make sense, then you're probably on the right track. If it fails _without_ producing an AST, then something went wrong with the actual `tree-sitter` parse. To check if this is the case, you can run + +```sh +tree-sitter parse path/to/test.py +``` + +and see what kind of errors are emitted (possibly as `ERROR` or `MISSING` nodes in the AST that is output). + +## Step 3: Extend `python.tsg` + +Once the grammar has been extended, we need to also tell `tsg-python` how to turn the `tree-sitter-python` AST into something that better matches the AST structure that we use in the Python extractor. + +For an introduction to the language of `tree-sitter-graph` (and in particular how we use it in the Python extractor), see the `README.md` file in the `tsg-python` directory. + +## Step 4: Extend the set of known AST nodes + +If you added new node types, or added fields to known node types, then you'll need to update a few files in the Python extractor before it is able to reconstruct the output from `tsg-python`. + +New AST nodes should be added in two places: `master.py` and `semmle/python/ast.py`. The former of these is used to automatically generate the Python dbscheme and `AstGenerated.qll`. The latter is what the parser actually uses as its internal representation of the AST. + +## Step 5: Rebuild the autogenerated AST and database scheme + +If you made changes to `master.py`, you'll need to regenerate a couple of files. This can be done from within the `extractor` directory using the `make dbscheme` and `make ast` commands. Note that for the latter, you need a copy of the CodeQL CLI present, as it is used to autoformat the `AstGenerated.qll` file. + +## Step 6: Add dbscheme upgrade and downgrade scripts + +If you ended up making changes to the database scheme inw step 5, then you'll need to add an appropriate pair of up- and downgrade scripts to handle any changes between the different versions of the dbscheme. + +This can be a bit fiddly, but luckily there are [tools](https://github.com/github/codeql/blob/main/misc/scripts/prepare-db-upgrade.sh) that can help set up some of the necessary files for you. + +See also the [guide](https://github.com/github/codeql/blob/main/docs/prepare-db-upgrade.md) for preparing database upgrades. From 6f18d699255518dc116abc60e53df54c49dfe658 Mon Sep 17 00:00:00 2001 From: Alexander Eyers-Taylor Date: Thu, 28 Nov 2024 19:19:56 +0000 Subject: [PATCH 35/46] Revert "Release preparation for version 2.19.4" --- cpp/ql/lib/CHANGELOG.md | 4 ---- cpp/ql/lib/change-notes/released/2.1.1.md | 3 --- cpp/ql/lib/codeql-pack.release.yml | 2 +- cpp/ql/lib/qlpack.yml | 2 +- cpp/ql/src/CHANGELOG.md | 4 ---- cpp/ql/src/change-notes/released/1.2.7.md | 3 --- cpp/ql/src/codeql-pack.release.yml | 2 +- cpp/ql/src/qlpack.yml | 2 +- csharp/ql/campaigns/Solorigate/lib/CHANGELOG.md | 4 ---- .../Solorigate/lib/change-notes/released/1.7.29.md | 3 --- .../campaigns/Solorigate/lib/codeql-pack.release.yml | 2 +- csharp/ql/campaigns/Solorigate/lib/qlpack.yml | 2 +- csharp/ql/campaigns/Solorigate/src/CHANGELOG.md | 4 ---- .../Solorigate/src/change-notes/released/1.7.29.md | 3 --- .../campaigns/Solorigate/src/codeql-pack.release.yml | 2 +- csharp/ql/campaigns/Solorigate/src/qlpack.yml | 2 +- csharp/ql/lib/CHANGELOG.md | 7 ------- .../3.1.1.md => 2024-11-07-net8-runtime-models.md} | 8 +++----- .../lib/change-notes/2024-11-19-extractor-dotnet.md | 4 ++++ csharp/ql/lib/codeql-pack.release.yml | 2 +- csharp/ql/lib/qlpack.yml | 2 +- csharp/ql/src/CHANGELOG.md | 4 ---- csharp/ql/src/change-notes/released/1.0.12.md | 3 --- csharp/ql/src/codeql-pack.release.yml | 2 +- csharp/ql/src/qlpack.yml | 2 +- go/ql/consistency-queries/CHANGELOG.md | 4 ---- .../change-notes/released/1.0.12.md | 3 --- go/ql/consistency-queries/codeql-pack.release.yml | 2 +- go/ql/consistency-queries/qlpack.yml | 2 +- go/ql/lib/CHANGELOG.md | 11 ----------- ...4-11-07-fix-missing-qualified-names-for-methods.md | 4 ++++ .../2024-11-11-models-as-data-subtypes-column.md | 4 ++++ .../2024-11-12-models-as-data-subtypes-true.md | 4 ++++ go/ql/lib/change-notes/released/2.1.3.md | 10 ---------- go/ql/lib/codeql-pack.release.yml | 2 +- go/ql/lib/qlpack.yml | 2 +- go/ql/src/CHANGELOG.md | 4 ---- go/ql/src/change-notes/released/1.1.3.md | 3 --- go/ql/src/codeql-pack.release.yml | 2 +- go/ql/src/qlpack.yml | 2 +- java/ql/automodel/src/CHANGELOG.md | 4 ---- java/ql/automodel/src/change-notes/released/1.0.12.md | 3 --- java/ql/automodel/src/codeql-pack.release.yml | 2 +- java/ql/automodel/src/qlpack.yml | 2 +- java/ql/lib/CHANGELOG.md | 6 ------ ...hable-basic-block-in-constant-switch-statement.md} | 7 +++---- java/ql/lib/codeql-pack.release.yml | 2 +- java/ql/lib/qlpack.yml | 2 +- java/ql/src/CHANGELOG.md | 4 ---- java/ql/src/change-notes/released/1.1.9.md | 3 --- java/ql/src/codeql-pack.release.yml | 2 +- java/ql/src/qlpack.yml | 2 +- javascript/ql/lib/CHANGELOG.md | 11 ----------- .../lib/change-notes/2024-11-11-matchAll-support.md | 4 ++++ .../ql/lib/change-notes/2024-11-11-reserve-support.md | 4 ++++ .../2024-11-12-immutable-array-operations.md | 5 +++++ .../lib/change-notes/2024-11-15-toSpliced-support.md | 4 ++++ .../2024-11-18-ES2023-array-protype-with.md | 4 ++++ javascript/ql/lib/change-notes/released/2.1.1.md | 10 ---------- javascript/ql/lib/codeql-pack.release.yml | 2 +- javascript/ql/lib/qlpack.yml | 2 +- javascript/ql/src/CHANGELOG.md | 4 ---- javascript/ql/src/change-notes/released/1.2.4.md | 3 --- javascript/ql/src/codeql-pack.release.yml | 2 +- javascript/ql/src/qlpack.yml | 2 +- misc/suite-helpers/CHANGELOG.md | 4 ---- misc/suite-helpers/change-notes/released/1.0.12.md | 3 --- misc/suite-helpers/codeql-pack.release.yml | 2 +- misc/suite-helpers/qlpack.yml | 2 +- python/ql/lib/CHANGELOG.md | 6 ------ python/ql/lib/change-notes/2024-08-30-bottle.md | 4 ++++ python/ql/lib/change-notes/released/2.2.0.md | 5 ----- python/ql/lib/codeql-pack.release.yml | 2 +- python/ql/lib/qlpack.yml | 2 +- python/ql/src/CHANGELOG.md | 4 ---- python/ql/src/change-notes/released/1.3.3.md | 3 --- python/ql/src/codeql-pack.release.yml | 2 +- python/ql/src/qlpack.yml | 2 +- ruby/ql/lib/CHANGELOG.md | 4 ---- ruby/ql/lib/change-notes/released/2.0.4.md | 3 --- ruby/ql/lib/codeql-pack.release.yml | 2 +- ruby/ql/lib/qlpack.yml | 2 +- ruby/ql/src/CHANGELOG.md | 4 ---- ruby/ql/src/change-notes/released/1.1.7.md | 3 --- ruby/ql/src/codeql-pack.release.yml | 2 +- ruby/ql/src/qlpack.yml | 2 +- shared/controlflow/CHANGELOG.md | 4 ---- shared/controlflow/change-notes/released/1.0.12.md | 3 --- shared/controlflow/codeql-pack.release.yml | 2 +- shared/controlflow/qlpack.yml | 2 +- shared/dataflow/CHANGELOG.md | 4 ---- shared/dataflow/change-notes/released/1.1.6.md | 3 --- shared/dataflow/codeql-pack.release.yml | 2 +- shared/dataflow/qlpack.yml | 2 +- shared/mad/CHANGELOG.md | 4 ---- shared/mad/change-notes/released/1.0.12.md | 3 --- shared/mad/codeql-pack.release.yml | 2 +- shared/mad/qlpack.yml | 2 +- shared/rangeanalysis/CHANGELOG.md | 4 ---- shared/rangeanalysis/change-notes/released/1.0.12.md | 3 --- shared/rangeanalysis/codeql-pack.release.yml | 2 +- shared/rangeanalysis/qlpack.yml | 2 +- shared/regex/CHANGELOG.md | 4 ---- shared/regex/change-notes/released/1.0.12.md | 3 --- shared/regex/codeql-pack.release.yml | 2 +- shared/regex/qlpack.yml | 2 +- shared/ssa/CHANGELOG.md | 4 ---- shared/ssa/change-notes/released/1.0.12.md | 3 --- shared/ssa/codeql-pack.release.yml | 2 +- shared/ssa/qlpack.yml | 2 +- shared/threat-models/CHANGELOG.md | 4 ---- shared/threat-models/change-notes/released/1.0.12.md | 3 --- shared/threat-models/codeql-pack.release.yml | 2 +- shared/threat-models/qlpack.yml | 2 +- shared/tutorial/CHANGELOG.md | 4 ---- shared/tutorial/change-notes/released/1.0.12.md | 3 --- shared/tutorial/codeql-pack.release.yml | 2 +- shared/tutorial/qlpack.yml | 2 +- shared/typeflow/CHANGELOG.md | 4 ---- shared/typeflow/change-notes/released/1.0.12.md | 3 --- shared/typeflow/codeql-pack.release.yml | 2 +- shared/typeflow/qlpack.yml | 2 +- shared/typetracking/CHANGELOG.md | 4 ---- shared/typetracking/change-notes/released/1.0.12.md | 3 --- shared/typetracking/codeql-pack.release.yml | 2 +- shared/typetracking/qlpack.yml | 2 +- shared/typos/CHANGELOG.md | 4 ---- shared/typos/change-notes/released/1.0.12.md | 3 --- shared/typos/codeql-pack.release.yml | 2 +- shared/typos/qlpack.yml | 2 +- shared/util/CHANGELOG.md | 4 ---- shared/util/change-notes/released/1.0.12.md | 3 --- shared/util/codeql-pack.release.yml | 2 +- shared/util/qlpack.yml | 2 +- shared/xml/CHANGELOG.md | 4 ---- shared/xml/change-notes/released/1.0.12.md | 3 --- shared/xml/codeql-pack.release.yml | 2 +- shared/xml/qlpack.yml | 2 +- shared/yaml/CHANGELOG.md | 4 ---- shared/yaml/change-notes/released/1.0.12.md | 3 --- shared/yaml/codeql-pack.release.yml | 2 +- shared/yaml/qlpack.yml | 2 +- swift/ql/lib/CHANGELOG.md | 4 ---- swift/ql/lib/change-notes/released/2.0.4.md | 3 --- swift/ql/lib/codeql-pack.release.yml | 2 +- swift/ql/lib/qlpack.yml | 2 +- swift/ql/src/CHANGELOG.md | 4 ---- swift/ql/src/change-notes/released/1.0.12.md | 3 --- swift/ql/src/codeql-pack.release.yml | 2 +- swift/ql/src/qlpack.yml | 2 +- 150 files changed, 117 insertions(+), 355 deletions(-) delete mode 100644 cpp/ql/lib/change-notes/released/2.1.1.md delete mode 100644 cpp/ql/src/change-notes/released/1.2.7.md delete mode 100644 csharp/ql/campaigns/Solorigate/lib/change-notes/released/1.7.29.md delete mode 100644 csharp/ql/campaigns/Solorigate/src/change-notes/released/1.7.29.md rename csharp/ql/lib/change-notes/{released/3.1.1.md => 2024-11-07-net8-runtime-models.md} (51%) create mode 100644 csharp/ql/lib/change-notes/2024-11-19-extractor-dotnet.md delete mode 100644 csharp/ql/src/change-notes/released/1.0.12.md delete mode 100644 go/ql/consistency-queries/change-notes/released/1.0.12.md create mode 100644 go/ql/lib/change-notes/2024-11-07-fix-missing-qualified-names-for-methods.md create mode 100644 go/ql/lib/change-notes/2024-11-11-models-as-data-subtypes-column.md create mode 100644 go/ql/lib/change-notes/2024-11-12-models-as-data-subtypes-true.md delete mode 100644 go/ql/lib/change-notes/released/2.1.3.md delete mode 100644 go/ql/src/change-notes/released/1.1.3.md delete mode 100644 java/ql/automodel/src/change-notes/released/1.0.12.md rename java/ql/lib/change-notes/{released/4.2.1.md => 2024-11-14-unreachable-basic-block-in-constant-switch-statement.md} (83%) delete mode 100644 java/ql/src/change-notes/released/1.1.9.md create mode 100644 javascript/ql/lib/change-notes/2024-11-11-matchAll-support.md create mode 100644 javascript/ql/lib/change-notes/2024-11-11-reserve-support.md create mode 100644 javascript/ql/lib/change-notes/2024-11-12-immutable-array-operations.md create mode 100644 javascript/ql/lib/change-notes/2024-11-15-toSpliced-support.md create mode 100644 javascript/ql/lib/change-notes/2024-11-18-ES2023-array-protype-with.md delete mode 100644 javascript/ql/lib/change-notes/released/2.1.1.md delete mode 100644 javascript/ql/src/change-notes/released/1.2.4.md delete mode 100644 misc/suite-helpers/change-notes/released/1.0.12.md create mode 100644 python/ql/lib/change-notes/2024-08-30-bottle.md delete mode 100644 python/ql/lib/change-notes/released/2.2.0.md delete mode 100644 python/ql/src/change-notes/released/1.3.3.md delete mode 100644 ruby/ql/lib/change-notes/released/2.0.4.md delete mode 100644 ruby/ql/src/change-notes/released/1.1.7.md delete mode 100644 shared/controlflow/change-notes/released/1.0.12.md delete mode 100644 shared/dataflow/change-notes/released/1.1.6.md delete mode 100644 shared/mad/change-notes/released/1.0.12.md delete mode 100644 shared/rangeanalysis/change-notes/released/1.0.12.md delete mode 100644 shared/regex/change-notes/released/1.0.12.md delete mode 100644 shared/ssa/change-notes/released/1.0.12.md delete mode 100644 shared/threat-models/change-notes/released/1.0.12.md delete mode 100644 shared/tutorial/change-notes/released/1.0.12.md delete mode 100644 shared/typeflow/change-notes/released/1.0.12.md delete mode 100644 shared/typetracking/change-notes/released/1.0.12.md delete mode 100644 shared/typos/change-notes/released/1.0.12.md delete mode 100644 shared/util/change-notes/released/1.0.12.md delete mode 100644 shared/xml/change-notes/released/1.0.12.md delete mode 100644 shared/yaml/change-notes/released/1.0.12.md delete mode 100644 swift/ql/lib/change-notes/released/2.0.4.md delete mode 100644 swift/ql/src/change-notes/released/1.0.12.md diff --git a/cpp/ql/lib/CHANGELOG.md b/cpp/ql/lib/CHANGELOG.md index d84fe585fca..0536c1c361b 100644 --- a/cpp/ql/lib/CHANGELOG.md +++ b/cpp/ql/lib/CHANGELOG.md @@ -1,7 +1,3 @@ -## 2.1.1 - -No user-facing changes. - ## 2.1.0 ### New Features diff --git a/cpp/ql/lib/change-notes/released/2.1.1.md b/cpp/ql/lib/change-notes/released/2.1.1.md deleted file mode 100644 index f023e9166c2..00000000000 --- a/cpp/ql/lib/change-notes/released/2.1.1.md +++ /dev/null @@ -1,3 +0,0 @@ -## 2.1.1 - -No user-facing changes. diff --git a/cpp/ql/lib/codeql-pack.release.yml b/cpp/ql/lib/codeql-pack.release.yml index 576c2ea18d6..487a1a58b2b 100644 --- a/cpp/ql/lib/codeql-pack.release.yml +++ b/cpp/ql/lib/codeql-pack.release.yml @@ -1,2 +1,2 @@ --- -lastReleaseVersion: 2.1.1 +lastReleaseVersion: 2.1.0 diff --git a/cpp/ql/lib/qlpack.yml b/cpp/ql/lib/qlpack.yml index 74b97808dc2..397a56ac535 100644 --- a/cpp/ql/lib/qlpack.yml +++ b/cpp/ql/lib/qlpack.yml @@ -1,5 +1,5 @@ name: codeql/cpp-all -version: 2.1.1 +version: 2.1.1-dev groups: cpp dbscheme: semmlecode.cpp.dbscheme extractor: cpp diff --git a/cpp/ql/src/CHANGELOG.md b/cpp/ql/src/CHANGELOG.md index 5bb266bdd64..4098bcf4d20 100644 --- a/cpp/ql/src/CHANGELOG.md +++ b/cpp/ql/src/CHANGELOG.md @@ -1,7 +1,3 @@ -## 1.2.7 - -No user-facing changes. - ## 1.2.6 ### Minor Analysis Improvements diff --git a/cpp/ql/src/change-notes/released/1.2.7.md b/cpp/ql/src/change-notes/released/1.2.7.md deleted file mode 100644 index 99f957692ac..00000000000 --- a/cpp/ql/src/change-notes/released/1.2.7.md +++ /dev/null @@ -1,3 +0,0 @@ -## 1.2.7 - -No user-facing changes. diff --git a/cpp/ql/src/codeql-pack.release.yml b/cpp/ql/src/codeql-pack.release.yml index 950e0645d4a..24962f7ba24 100644 --- a/cpp/ql/src/codeql-pack.release.yml +++ b/cpp/ql/src/codeql-pack.release.yml @@ -1,2 +1,2 @@ --- -lastReleaseVersion: 1.2.7 +lastReleaseVersion: 1.2.6 diff --git a/cpp/ql/src/qlpack.yml b/cpp/ql/src/qlpack.yml index 06b63fc6d45..7059965615a 100644 --- a/cpp/ql/src/qlpack.yml +++ b/cpp/ql/src/qlpack.yml @@ -1,5 +1,5 @@ name: codeql/cpp-queries -version: 1.2.7 +version: 1.2.7-dev groups: - cpp - queries diff --git a/csharp/ql/campaigns/Solorigate/lib/CHANGELOG.md b/csharp/ql/campaigns/Solorigate/lib/CHANGELOG.md index 93e737ae669..7b5cb257096 100644 --- a/csharp/ql/campaigns/Solorigate/lib/CHANGELOG.md +++ b/csharp/ql/campaigns/Solorigate/lib/CHANGELOG.md @@ -1,7 +1,3 @@ -## 1.7.29 - -No user-facing changes. - ## 1.7.28 No user-facing changes. diff --git a/csharp/ql/campaigns/Solorigate/lib/change-notes/released/1.7.29.md b/csharp/ql/campaigns/Solorigate/lib/change-notes/released/1.7.29.md deleted file mode 100644 index 6ff68866478..00000000000 --- a/csharp/ql/campaigns/Solorigate/lib/change-notes/released/1.7.29.md +++ /dev/null @@ -1,3 +0,0 @@ -## 1.7.29 - -No user-facing changes. diff --git a/csharp/ql/campaigns/Solorigate/lib/codeql-pack.release.yml b/csharp/ql/campaigns/Solorigate/lib/codeql-pack.release.yml index 34100d3ad64..ff17fbaf982 100644 --- a/csharp/ql/campaigns/Solorigate/lib/codeql-pack.release.yml +++ b/csharp/ql/campaigns/Solorigate/lib/codeql-pack.release.yml @@ -1,2 +1,2 @@ --- -lastReleaseVersion: 1.7.29 +lastReleaseVersion: 1.7.28 diff --git a/csharp/ql/campaigns/Solorigate/lib/qlpack.yml b/csharp/ql/campaigns/Solorigate/lib/qlpack.yml index 59289e3ddb1..cccebfc4f3f 100644 --- a/csharp/ql/campaigns/Solorigate/lib/qlpack.yml +++ b/csharp/ql/campaigns/Solorigate/lib/qlpack.yml @@ -1,5 +1,5 @@ name: codeql/csharp-solorigate-all -version: 1.7.29 +version: 1.7.29-dev groups: - csharp - solorigate diff --git a/csharp/ql/campaigns/Solorigate/src/CHANGELOG.md b/csharp/ql/campaigns/Solorigate/src/CHANGELOG.md index 93e737ae669..7b5cb257096 100644 --- a/csharp/ql/campaigns/Solorigate/src/CHANGELOG.md +++ b/csharp/ql/campaigns/Solorigate/src/CHANGELOG.md @@ -1,7 +1,3 @@ -## 1.7.29 - -No user-facing changes. - ## 1.7.28 No user-facing changes. diff --git a/csharp/ql/campaigns/Solorigate/src/change-notes/released/1.7.29.md b/csharp/ql/campaigns/Solorigate/src/change-notes/released/1.7.29.md deleted file mode 100644 index 6ff68866478..00000000000 --- a/csharp/ql/campaigns/Solorigate/src/change-notes/released/1.7.29.md +++ /dev/null @@ -1,3 +0,0 @@ -## 1.7.29 - -No user-facing changes. diff --git a/csharp/ql/campaigns/Solorigate/src/codeql-pack.release.yml b/csharp/ql/campaigns/Solorigate/src/codeql-pack.release.yml index 34100d3ad64..ff17fbaf982 100644 --- a/csharp/ql/campaigns/Solorigate/src/codeql-pack.release.yml +++ b/csharp/ql/campaigns/Solorigate/src/codeql-pack.release.yml @@ -1,2 +1,2 @@ --- -lastReleaseVersion: 1.7.29 +lastReleaseVersion: 1.7.28 diff --git a/csharp/ql/campaigns/Solorigate/src/qlpack.yml b/csharp/ql/campaigns/Solorigate/src/qlpack.yml index 19e34e504e4..4e5b51ed11a 100644 --- a/csharp/ql/campaigns/Solorigate/src/qlpack.yml +++ b/csharp/ql/campaigns/Solorigate/src/qlpack.yml @@ -1,5 +1,5 @@ name: codeql/csharp-solorigate-queries -version: 1.7.29 +version: 1.7.29-dev groups: - csharp - solorigate diff --git a/csharp/ql/lib/CHANGELOG.md b/csharp/ql/lib/CHANGELOG.md index c76569e4ab3..39a75db1b5f 100644 --- a/csharp/ql/lib/CHANGELOG.md +++ b/csharp/ql/lib/CHANGELOG.md @@ -1,10 +1,3 @@ -## 3.1.1 - -### Minor Analysis Improvements - -* .NET 9 is now required to build the C# extractor. -* The Models as Data models for .NET 8 Runtime now include generated models for higher order methods. - ## 3.1.0 ### Major Analysis Improvements diff --git a/csharp/ql/lib/change-notes/released/3.1.1.md b/csharp/ql/lib/change-notes/2024-11-07-net8-runtime-models.md similarity index 51% rename from csharp/ql/lib/change-notes/released/3.1.1.md rename to csharp/ql/lib/change-notes/2024-11-07-net8-runtime-models.md index a2a912341fe..89574208e40 100644 --- a/csharp/ql/lib/change-notes/released/3.1.1.md +++ b/csharp/ql/lib/change-notes/2024-11-07-net8-runtime-models.md @@ -1,6 +1,4 @@ -## 3.1.1 - -### Minor Analysis Improvements - -* .NET 9 is now required to build the C# extractor. +--- +category: minorAnalysis +--- * The Models as Data models for .NET 8 Runtime now include generated models for higher order methods. diff --git a/csharp/ql/lib/change-notes/2024-11-19-extractor-dotnet.md b/csharp/ql/lib/change-notes/2024-11-19-extractor-dotnet.md new file mode 100644 index 00000000000..58185aa0b0e --- /dev/null +++ b/csharp/ql/lib/change-notes/2024-11-19-extractor-dotnet.md @@ -0,0 +1,4 @@ +--- +category: minorAnalysis +--- +* .NET 9 is now required to build the C# extractor. diff --git a/csharp/ql/lib/codeql-pack.release.yml b/csharp/ql/lib/codeql-pack.release.yml index c06beda86a3..82f62960aa3 100644 --- a/csharp/ql/lib/codeql-pack.release.yml +++ b/csharp/ql/lib/codeql-pack.release.yml @@ -1,2 +1,2 @@ --- -lastReleaseVersion: 3.1.1 +lastReleaseVersion: 3.1.0 diff --git a/csharp/ql/lib/qlpack.yml b/csharp/ql/lib/qlpack.yml index a3f9aedf516..f750b06e392 100644 --- a/csharp/ql/lib/qlpack.yml +++ b/csharp/ql/lib/qlpack.yml @@ -1,5 +1,5 @@ name: codeql/csharp-all -version: 3.1.1 +version: 3.1.1-dev groups: csharp dbscheme: semmlecode.csharp.dbscheme extractor: csharp diff --git a/csharp/ql/src/CHANGELOG.md b/csharp/ql/src/CHANGELOG.md index 99528b54e9e..fe0765a3b18 100644 --- a/csharp/ql/src/CHANGELOG.md +++ b/csharp/ql/src/CHANGELOG.md @@ -1,7 +1,3 @@ -## 1.0.12 - -No user-facing changes. - ## 1.0.11 ### Minor Analysis Improvements diff --git a/csharp/ql/src/change-notes/released/1.0.12.md b/csharp/ql/src/change-notes/released/1.0.12.md deleted file mode 100644 index 12b3cf3e18f..00000000000 --- a/csharp/ql/src/change-notes/released/1.0.12.md +++ /dev/null @@ -1,3 +0,0 @@ -## 1.0.12 - -No user-facing changes. diff --git a/csharp/ql/src/codeql-pack.release.yml b/csharp/ql/src/codeql-pack.release.yml index 2036690b201..56a2fb38872 100644 --- a/csharp/ql/src/codeql-pack.release.yml +++ b/csharp/ql/src/codeql-pack.release.yml @@ -1,2 +1,2 @@ --- -lastReleaseVersion: 1.0.12 +lastReleaseVersion: 1.0.11 diff --git a/csharp/ql/src/qlpack.yml b/csharp/ql/src/qlpack.yml index dc99bd4768a..b861524e144 100644 --- a/csharp/ql/src/qlpack.yml +++ b/csharp/ql/src/qlpack.yml @@ -1,5 +1,5 @@ name: codeql/csharp-queries -version: 1.0.12 +version: 1.0.12-dev groups: - csharp - queries diff --git a/go/ql/consistency-queries/CHANGELOG.md b/go/ql/consistency-queries/CHANGELOG.md index eeb6b0a262a..1c514d078a2 100644 --- a/go/ql/consistency-queries/CHANGELOG.md +++ b/go/ql/consistency-queries/CHANGELOG.md @@ -1,7 +1,3 @@ -## 1.0.12 - -No user-facing changes. - ## 1.0.11 No user-facing changes. diff --git a/go/ql/consistency-queries/change-notes/released/1.0.12.md b/go/ql/consistency-queries/change-notes/released/1.0.12.md deleted file mode 100644 index 12b3cf3e18f..00000000000 --- a/go/ql/consistency-queries/change-notes/released/1.0.12.md +++ /dev/null @@ -1,3 +0,0 @@ -## 1.0.12 - -No user-facing changes. diff --git a/go/ql/consistency-queries/codeql-pack.release.yml b/go/ql/consistency-queries/codeql-pack.release.yml index 2036690b201..56a2fb38872 100644 --- a/go/ql/consistency-queries/codeql-pack.release.yml +++ b/go/ql/consistency-queries/codeql-pack.release.yml @@ -1,2 +1,2 @@ --- -lastReleaseVersion: 1.0.12 +lastReleaseVersion: 1.0.11 diff --git a/go/ql/consistency-queries/qlpack.yml b/go/ql/consistency-queries/qlpack.yml index b9e67ea6137..b7c67080f46 100644 --- a/go/ql/consistency-queries/qlpack.yml +++ b/go/ql/consistency-queries/qlpack.yml @@ -1,5 +1,5 @@ name: codeql-go-consistency-queries -version: 1.0.12 +version: 1.0.12-dev groups: - go - queries diff --git a/go/ql/lib/CHANGELOG.md b/go/ql/lib/CHANGELOG.md index b2eb3cbb239..37f83fa8dda 100644 --- a/go/ql/lib/CHANGELOG.md +++ b/go/ql/lib/CHANGELOG.md @@ -1,14 +1,3 @@ -## 2.1.3 - -### Minor Analysis Improvements - -* The `subtypes` column has been set to true in all models-as-data models except some tests. This means that existing models will apply in some cases where they didn't before, which may lead to more alerts. - -### Bug Fixes - -* The behaviour of the `subtypes` column in models-as-data now matches other languages more closely. -* Fixed a bug which meant that some qualified names for promoted methods were not being recognised in some very specific circumstances. - ## 2.1.2 ### Minor Analysis Improvements diff --git a/go/ql/lib/change-notes/2024-11-07-fix-missing-qualified-names-for-methods.md b/go/ql/lib/change-notes/2024-11-07-fix-missing-qualified-names-for-methods.md new file mode 100644 index 00000000000..cd2dbb6c974 --- /dev/null +++ b/go/ql/lib/change-notes/2024-11-07-fix-missing-qualified-names-for-methods.md @@ -0,0 +1,4 @@ +--- +category: fix +--- +* Fixed a bug which meant that some qualified names for promoted methods were not being recognised in some very specific circumstances. diff --git a/go/ql/lib/change-notes/2024-11-11-models-as-data-subtypes-column.md b/go/ql/lib/change-notes/2024-11-11-models-as-data-subtypes-column.md new file mode 100644 index 00000000000..25115f74d71 --- /dev/null +++ b/go/ql/lib/change-notes/2024-11-11-models-as-data-subtypes-column.md @@ -0,0 +1,4 @@ +--- +category: fix +--- +* The behaviour of the `subtypes` column in models-as-data now matches other languages more closely. diff --git a/go/ql/lib/change-notes/2024-11-12-models-as-data-subtypes-true.md b/go/ql/lib/change-notes/2024-11-12-models-as-data-subtypes-true.md new file mode 100644 index 00000000000..b1c78815ea3 --- /dev/null +++ b/go/ql/lib/change-notes/2024-11-12-models-as-data-subtypes-true.md @@ -0,0 +1,4 @@ +--- +category: minorAnalysis +--- +* The `subtypes` column has been set to true in all models-as-data models except some tests. This means that existing models will apply in some cases where they didn't before, which may lead to more alerts. diff --git a/go/ql/lib/change-notes/released/2.1.3.md b/go/ql/lib/change-notes/released/2.1.3.md deleted file mode 100644 index 3ae1f19fb36..00000000000 --- a/go/ql/lib/change-notes/released/2.1.3.md +++ /dev/null @@ -1,10 +0,0 @@ -## 2.1.3 - -### Minor Analysis Improvements - -* The `subtypes` column has been set to true in all models-as-data models except some tests. This means that existing models will apply in some cases where they didn't before, which may lead to more alerts. - -### Bug Fixes - -* The behaviour of the `subtypes` column in models-as-data now matches other languages more closely. -* Fixed a bug which meant that some qualified names for promoted methods were not being recognised in some very specific circumstances. diff --git a/go/ql/lib/codeql-pack.release.yml b/go/ql/lib/codeql-pack.release.yml index 345fb0c73a4..1a4e53e8772 100644 --- a/go/ql/lib/codeql-pack.release.yml +++ b/go/ql/lib/codeql-pack.release.yml @@ -1,2 +1,2 @@ --- -lastReleaseVersion: 2.1.3 +lastReleaseVersion: 2.1.2 diff --git a/go/ql/lib/qlpack.yml b/go/ql/lib/qlpack.yml index 0e6da37dea1..f9660516373 100644 --- a/go/ql/lib/qlpack.yml +++ b/go/ql/lib/qlpack.yml @@ -1,5 +1,5 @@ name: codeql/go-all -version: 2.1.3 +version: 2.1.3-dev groups: go dbscheme: go.dbscheme extractor: go diff --git a/go/ql/src/CHANGELOG.md b/go/ql/src/CHANGELOG.md index c529cbffb32..0e276fda741 100644 --- a/go/ql/src/CHANGELOG.md +++ b/go/ql/src/CHANGELOG.md @@ -1,7 +1,3 @@ -## 1.1.3 - -No user-facing changes. - ## 1.1.2 No user-facing changes. diff --git a/go/ql/src/change-notes/released/1.1.3.md b/go/ql/src/change-notes/released/1.1.3.md deleted file mode 100644 index e8f1701bd62..00000000000 --- a/go/ql/src/change-notes/released/1.1.3.md +++ /dev/null @@ -1,3 +0,0 @@ -## 1.1.3 - -No user-facing changes. diff --git a/go/ql/src/codeql-pack.release.yml b/go/ql/src/codeql-pack.release.yml index 35e710ab1bf..53ab127707f 100644 --- a/go/ql/src/codeql-pack.release.yml +++ b/go/ql/src/codeql-pack.release.yml @@ -1,2 +1,2 @@ --- -lastReleaseVersion: 1.1.3 +lastReleaseVersion: 1.1.2 diff --git a/go/ql/src/qlpack.yml b/go/ql/src/qlpack.yml index af130fa6acf..68bac4cf1a9 100644 --- a/go/ql/src/qlpack.yml +++ b/go/ql/src/qlpack.yml @@ -1,5 +1,5 @@ name: codeql/go-queries -version: 1.1.3 +version: 1.1.3-dev groups: - go - queries diff --git a/java/ql/automodel/src/CHANGELOG.md b/java/ql/automodel/src/CHANGELOG.md index 1564285b44b..148791b5923 100644 --- a/java/ql/automodel/src/CHANGELOG.md +++ b/java/ql/automodel/src/CHANGELOG.md @@ -1,7 +1,3 @@ -## 1.0.12 - -No user-facing changes. - ## 1.0.11 No user-facing changes. diff --git a/java/ql/automodel/src/change-notes/released/1.0.12.md b/java/ql/automodel/src/change-notes/released/1.0.12.md deleted file mode 100644 index 12b3cf3e18f..00000000000 --- a/java/ql/automodel/src/change-notes/released/1.0.12.md +++ /dev/null @@ -1,3 +0,0 @@ -## 1.0.12 - -No user-facing changes. diff --git a/java/ql/automodel/src/codeql-pack.release.yml b/java/ql/automodel/src/codeql-pack.release.yml index 2036690b201..56a2fb38872 100644 --- a/java/ql/automodel/src/codeql-pack.release.yml +++ b/java/ql/automodel/src/codeql-pack.release.yml @@ -1,2 +1,2 @@ --- -lastReleaseVersion: 1.0.12 +lastReleaseVersion: 1.0.11 diff --git a/java/ql/automodel/src/qlpack.yml b/java/ql/automodel/src/qlpack.yml index fc5ad003511..4acf2219db3 100644 --- a/java/ql/automodel/src/qlpack.yml +++ b/java/ql/automodel/src/qlpack.yml @@ -1,5 +1,5 @@ name: codeql/java-automodel-queries -version: 1.0.12 +version: 1.0.12-dev groups: - java - automodel diff --git a/java/ql/lib/CHANGELOG.md b/java/ql/lib/CHANGELOG.md index 990fea9ddd7..cddb86232c4 100644 --- a/java/ql/lib/CHANGELOG.md +++ b/java/ql/lib/CHANGELOG.md @@ -1,9 +1,3 @@ -## 4.2.1 - -### Minor Analysis Improvements - -* In a switch statement with a constant switch expression, all non-matching cases were being marked as unreachable, including those that can be reached by falling through from the matching case. This has now been fixed. - ## 4.2.0 ### Major Analysis Improvements diff --git a/java/ql/lib/change-notes/released/4.2.1.md b/java/ql/lib/change-notes/2024-11-14-unreachable-basic-block-in-constant-switch-statement.md similarity index 83% rename from java/ql/lib/change-notes/released/4.2.1.md rename to java/ql/lib/change-notes/2024-11-14-unreachable-basic-block-in-constant-switch-statement.md index 6fb31df9177..50df55a4c1a 100644 --- a/java/ql/lib/change-notes/released/4.2.1.md +++ b/java/ql/lib/change-notes/2024-11-14-unreachable-basic-block-in-constant-switch-statement.md @@ -1,5 +1,4 @@ -## 4.2.1 - -### Minor Analysis Improvements - +--- +category: minorAnalysis +--- * In a switch statement with a constant switch expression, all non-matching cases were being marked as unreachable, including those that can be reached by falling through from the matching case. This has now been fixed. diff --git a/java/ql/lib/codeql-pack.release.yml b/java/ql/lib/codeql-pack.release.yml index 38ea9976fcc..9fc6933b429 100644 --- a/java/ql/lib/codeql-pack.release.yml +++ b/java/ql/lib/codeql-pack.release.yml @@ -1,2 +1,2 @@ --- -lastReleaseVersion: 4.2.1 +lastReleaseVersion: 4.2.0 diff --git a/java/ql/lib/qlpack.yml b/java/ql/lib/qlpack.yml index 0e8d80fe435..cc639056e4e 100644 --- a/java/ql/lib/qlpack.yml +++ b/java/ql/lib/qlpack.yml @@ -1,5 +1,5 @@ name: codeql/java-all -version: 4.2.1 +version: 4.2.1-dev groups: java dbscheme: config/semmlecode.dbscheme extractor: java diff --git a/java/ql/src/CHANGELOG.md b/java/ql/src/CHANGELOG.md index f212b4a8d3d..3a29e9e55e0 100644 --- a/java/ql/src/CHANGELOG.md +++ b/java/ql/src/CHANGELOG.md @@ -1,7 +1,3 @@ -## 1.1.9 - -No user-facing changes. - ## 1.1.8 No user-facing changes. diff --git a/java/ql/src/change-notes/released/1.1.9.md b/java/ql/src/change-notes/released/1.1.9.md deleted file mode 100644 index f9d367d4248..00000000000 --- a/java/ql/src/change-notes/released/1.1.9.md +++ /dev/null @@ -1,3 +0,0 @@ -## 1.1.9 - -No user-facing changes. diff --git a/java/ql/src/codeql-pack.release.yml b/java/ql/src/codeql-pack.release.yml index 6f4795f3ea0..64972659c42 100644 --- a/java/ql/src/codeql-pack.release.yml +++ b/java/ql/src/codeql-pack.release.yml @@ -1,2 +1,2 @@ --- -lastReleaseVersion: 1.1.9 +lastReleaseVersion: 1.1.8 diff --git a/java/ql/src/qlpack.yml b/java/ql/src/qlpack.yml index 73e951db034..40ca32d8070 100644 --- a/java/ql/src/qlpack.yml +++ b/java/ql/src/qlpack.yml @@ -1,5 +1,5 @@ name: codeql/java-queries -version: 1.1.9 +version: 1.1.9-dev groups: - java - queries diff --git a/javascript/ql/lib/CHANGELOG.md b/javascript/ql/lib/CHANGELOG.md index 7d8f8dcfc8b..50d1486c006 100644 --- a/javascript/ql/lib/CHANGELOG.md +++ b/javascript/ql/lib/CHANGELOG.md @@ -1,14 +1,3 @@ -## 2.1.1 - -### Minor Analysis Improvements - -Added taint-steps for `Array.prototype.with`. -Added taint-steps for `Array.prototype.toSpliced` -* Added taint-steps for `Array.prototype.toReversed`. -* Added taint-steps for `Array.prototype.toSorted`. -Added support for `String.prototype.matchAll`. -* Added taint-steps for `Array.prototype.reverse` - ## 2.1.0 ### New Features diff --git a/javascript/ql/lib/change-notes/2024-11-11-matchAll-support.md b/javascript/ql/lib/change-notes/2024-11-11-matchAll-support.md new file mode 100644 index 00000000000..74d7c3f34c2 --- /dev/null +++ b/javascript/ql/lib/change-notes/2024-11-11-matchAll-support.md @@ -0,0 +1,4 @@ +--- +category: minorAnalysis +--- +Added support for `String.prototype.matchAll`. diff --git a/javascript/ql/lib/change-notes/2024-11-11-reserve-support.md b/javascript/ql/lib/change-notes/2024-11-11-reserve-support.md new file mode 100644 index 00000000000..bd2e6808e0c --- /dev/null +++ b/javascript/ql/lib/change-notes/2024-11-11-reserve-support.md @@ -0,0 +1,4 @@ +--- +category: minorAnalysis +--- +* Added taint-steps for `Array.prototype.reverse` diff --git a/javascript/ql/lib/change-notes/2024-11-12-immutable-array-operations.md b/javascript/ql/lib/change-notes/2024-11-12-immutable-array-operations.md new file mode 100644 index 00000000000..20c16d88c6e --- /dev/null +++ b/javascript/ql/lib/change-notes/2024-11-12-immutable-array-operations.md @@ -0,0 +1,5 @@ +--- +category: minorAnalysis +--- +* Added taint-steps for `Array.prototype.toReversed`. +* Added taint-steps for `Array.prototype.toSorted`. diff --git a/javascript/ql/lib/change-notes/2024-11-15-toSpliced-support.md b/javascript/ql/lib/change-notes/2024-11-15-toSpliced-support.md new file mode 100644 index 00000000000..a73955e5d2a --- /dev/null +++ b/javascript/ql/lib/change-notes/2024-11-15-toSpliced-support.md @@ -0,0 +1,4 @@ +--- +category: minorAnalysis +--- +Added taint-steps for `Array.prototype.toSpliced` diff --git a/javascript/ql/lib/change-notes/2024-11-18-ES2023-array-protype-with.md b/javascript/ql/lib/change-notes/2024-11-18-ES2023-array-protype-with.md new file mode 100644 index 00000000000..92f160ec1de --- /dev/null +++ b/javascript/ql/lib/change-notes/2024-11-18-ES2023-array-protype-with.md @@ -0,0 +1,4 @@ +--- +category: minorAnalysis +--- +Added taint-steps for `Array.prototype.with`. diff --git a/javascript/ql/lib/change-notes/released/2.1.1.md b/javascript/ql/lib/change-notes/released/2.1.1.md deleted file mode 100644 index fd6616a6c03..00000000000 --- a/javascript/ql/lib/change-notes/released/2.1.1.md +++ /dev/null @@ -1,10 +0,0 @@ -## 2.1.1 - -### Minor Analysis Improvements - -* Added taint-steps for `Array.prototype.with`. -* Added taint-steps for `Array.prototype.toSpliced` -* Added taint-steps for `Array.prototype.toReversed`. -* Added taint-steps for `Array.prototype.toSorted`. -* Added support for `String.prototype.matchAll`. -* Added taint-steps for `Array.prototype.reverse` diff --git a/javascript/ql/lib/codeql-pack.release.yml b/javascript/ql/lib/codeql-pack.release.yml index 576c2ea18d6..487a1a58b2b 100644 --- a/javascript/ql/lib/codeql-pack.release.yml +++ b/javascript/ql/lib/codeql-pack.release.yml @@ -1,2 +1,2 @@ --- -lastReleaseVersion: 2.1.1 +lastReleaseVersion: 2.1.0 diff --git a/javascript/ql/lib/qlpack.yml b/javascript/ql/lib/qlpack.yml index fc7dd9be7b7..f732755a75b 100644 --- a/javascript/ql/lib/qlpack.yml +++ b/javascript/ql/lib/qlpack.yml @@ -1,5 +1,5 @@ name: codeql/javascript-all -version: 2.1.1 +version: 2.1.1-dev groups: javascript dbscheme: semmlecode.javascript.dbscheme extractor: javascript diff --git a/javascript/ql/src/CHANGELOG.md b/javascript/ql/src/CHANGELOG.md index 403de6b3323..9a9a4641c6e 100644 --- a/javascript/ql/src/CHANGELOG.md +++ b/javascript/ql/src/CHANGELOG.md @@ -1,7 +1,3 @@ -## 1.2.4 - -No user-facing changes. - ## 1.2.3 No user-facing changes. diff --git a/javascript/ql/src/change-notes/released/1.2.4.md b/javascript/ql/src/change-notes/released/1.2.4.md deleted file mode 100644 index 21fd88e8124..00000000000 --- a/javascript/ql/src/change-notes/released/1.2.4.md +++ /dev/null @@ -1,3 +0,0 @@ -## 1.2.4 - -No user-facing changes. diff --git a/javascript/ql/src/codeql-pack.release.yml b/javascript/ql/src/codeql-pack.release.yml index 172090f46b6..09a7400b594 100644 --- a/javascript/ql/src/codeql-pack.release.yml +++ b/javascript/ql/src/codeql-pack.release.yml @@ -1,2 +1,2 @@ --- -lastReleaseVersion: 1.2.4 +lastReleaseVersion: 1.2.3 diff --git a/javascript/ql/src/qlpack.yml b/javascript/ql/src/qlpack.yml index de3be7c9a90..98c38e64248 100644 --- a/javascript/ql/src/qlpack.yml +++ b/javascript/ql/src/qlpack.yml @@ -1,5 +1,5 @@ name: codeql/javascript-queries -version: 1.2.4 +version: 1.2.4-dev groups: - javascript - queries diff --git a/misc/suite-helpers/CHANGELOG.md b/misc/suite-helpers/CHANGELOG.md index 969419cb7b7..0992e6bd9c5 100644 --- a/misc/suite-helpers/CHANGELOG.md +++ b/misc/suite-helpers/CHANGELOG.md @@ -1,7 +1,3 @@ -## 1.0.12 - -No user-facing changes. - ## 1.0.11 No user-facing changes. diff --git a/misc/suite-helpers/change-notes/released/1.0.12.md b/misc/suite-helpers/change-notes/released/1.0.12.md deleted file mode 100644 index 12b3cf3e18f..00000000000 --- a/misc/suite-helpers/change-notes/released/1.0.12.md +++ /dev/null @@ -1,3 +0,0 @@ -## 1.0.12 - -No user-facing changes. diff --git a/misc/suite-helpers/codeql-pack.release.yml b/misc/suite-helpers/codeql-pack.release.yml index 2036690b201..56a2fb38872 100644 --- a/misc/suite-helpers/codeql-pack.release.yml +++ b/misc/suite-helpers/codeql-pack.release.yml @@ -1,2 +1,2 @@ --- -lastReleaseVersion: 1.0.12 +lastReleaseVersion: 1.0.11 diff --git a/misc/suite-helpers/qlpack.yml b/misc/suite-helpers/qlpack.yml index 9cb14562b39..f40fb8fcde4 100644 --- a/misc/suite-helpers/qlpack.yml +++ b/misc/suite-helpers/qlpack.yml @@ -1,4 +1,4 @@ name: codeql/suite-helpers -version: 1.0.12 +version: 1.0.12-dev groups: shared warnOnImplicitThis: true diff --git a/python/ql/lib/CHANGELOG.md b/python/ql/lib/CHANGELOG.md index 34dc5f1b060..1e05822734d 100644 --- a/python/ql/lib/CHANGELOG.md +++ b/python/ql/lib/CHANGELOG.md @@ -1,9 +1,3 @@ -## 2.2.0 - -### Major Analysis Improvements - -* Added modeling of the `bottle` framework, leading to new remote flow sources and header writes - ## 2.1.2 ### Minor Analysis Improvements diff --git a/python/ql/lib/change-notes/2024-08-30-bottle.md b/python/ql/lib/change-notes/2024-08-30-bottle.md new file mode 100644 index 00000000000..b3a07f41f59 --- /dev/null +++ b/python/ql/lib/change-notes/2024-08-30-bottle.md @@ -0,0 +1,4 @@ +--- +category: majorAnalysis +--- +* Added modeling of the `bottle` framework, leading to new remote flow sources and header writes \ No newline at end of file diff --git a/python/ql/lib/change-notes/released/2.2.0.md b/python/ql/lib/change-notes/released/2.2.0.md deleted file mode 100644 index 0807fe9c2ff..00000000000 --- a/python/ql/lib/change-notes/released/2.2.0.md +++ /dev/null @@ -1,5 +0,0 @@ -## 2.2.0 - -### Major Analysis Improvements - -* Added modeling of the `bottle` framework, leading to new remote flow sources and header writes diff --git a/python/ql/lib/codeql-pack.release.yml b/python/ql/lib/codeql-pack.release.yml index 2f308354195..1a4e53e8772 100644 --- a/python/ql/lib/codeql-pack.release.yml +++ b/python/ql/lib/codeql-pack.release.yml @@ -1,2 +1,2 @@ --- -lastReleaseVersion: 2.2.0 +lastReleaseVersion: 2.1.2 diff --git a/python/ql/lib/qlpack.yml b/python/ql/lib/qlpack.yml index 6c2dd3c9d71..5b9b9b8f67e 100644 --- a/python/ql/lib/qlpack.yml +++ b/python/ql/lib/qlpack.yml @@ -1,5 +1,5 @@ name: codeql/python-all -version: 2.2.0 +version: 2.1.3-dev groups: python dbscheme: semmlecode.python.dbscheme extractor: python diff --git a/python/ql/src/CHANGELOG.md b/python/ql/src/CHANGELOG.md index 5fea597a7a3..64a33ed30ca 100644 --- a/python/ql/src/CHANGELOG.md +++ b/python/ql/src/CHANGELOG.md @@ -1,7 +1,3 @@ -## 1.3.3 - -No user-facing changes. - ## 1.3.2 ### Minor Analysis Improvements diff --git a/python/ql/src/change-notes/released/1.3.3.md b/python/ql/src/change-notes/released/1.3.3.md deleted file mode 100644 index 27a88ea0061..00000000000 --- a/python/ql/src/change-notes/released/1.3.3.md +++ /dev/null @@ -1,3 +0,0 @@ -## 1.3.3 - -No user-facing changes. diff --git a/python/ql/src/codeql-pack.release.yml b/python/ql/src/codeql-pack.release.yml index eb1f7dabc84..86a9cb32d86 100644 --- a/python/ql/src/codeql-pack.release.yml +++ b/python/ql/src/codeql-pack.release.yml @@ -1,2 +1,2 @@ --- -lastReleaseVersion: 1.3.3 +lastReleaseVersion: 1.3.2 diff --git a/python/ql/src/qlpack.yml b/python/ql/src/qlpack.yml index 76133c2a243..d279b5225c8 100644 --- a/python/ql/src/qlpack.yml +++ b/python/ql/src/qlpack.yml @@ -1,5 +1,5 @@ name: codeql/python-queries -version: 1.3.3 +version: 1.3.3-dev groups: - python - queries diff --git a/ruby/ql/lib/CHANGELOG.md b/ruby/ql/lib/CHANGELOG.md index 37248cf4960..230f81c621b 100644 --- a/ruby/ql/lib/CHANGELOG.md +++ b/ruby/ql/lib/CHANGELOG.md @@ -1,7 +1,3 @@ -## 2.0.4 - -No user-facing changes. - ## 2.0.3 No user-facing changes. diff --git a/ruby/ql/lib/change-notes/released/2.0.4.md b/ruby/ql/lib/change-notes/released/2.0.4.md deleted file mode 100644 index 8e002b6db64..00000000000 --- a/ruby/ql/lib/change-notes/released/2.0.4.md +++ /dev/null @@ -1,3 +0,0 @@ -## 2.0.4 - -No user-facing changes. diff --git a/ruby/ql/lib/codeql-pack.release.yml b/ruby/ql/lib/codeql-pack.release.yml index 0f306f8bd3b..fabf1e86596 100644 --- a/ruby/ql/lib/codeql-pack.release.yml +++ b/ruby/ql/lib/codeql-pack.release.yml @@ -1,2 +1,2 @@ --- -lastReleaseVersion: 2.0.4 +lastReleaseVersion: 2.0.3 diff --git a/ruby/ql/lib/qlpack.yml b/ruby/ql/lib/qlpack.yml index 60aa6608a46..155d495d7d8 100644 --- a/ruby/ql/lib/qlpack.yml +++ b/ruby/ql/lib/qlpack.yml @@ -1,5 +1,5 @@ name: codeql/ruby-all -version: 2.0.4 +version: 2.0.4-dev groups: ruby extractor: ruby dbscheme: ruby.dbscheme diff --git a/ruby/ql/src/CHANGELOG.md b/ruby/ql/src/CHANGELOG.md index e159e9fda36..3dfaa623d60 100644 --- a/ruby/ql/src/CHANGELOG.md +++ b/ruby/ql/src/CHANGELOG.md @@ -1,7 +1,3 @@ -## 1.1.7 - -No user-facing changes. - ## 1.1.6 No user-facing changes. diff --git a/ruby/ql/src/change-notes/released/1.1.7.md b/ruby/ql/src/change-notes/released/1.1.7.md deleted file mode 100644 index 81505c0507a..00000000000 --- a/ruby/ql/src/change-notes/released/1.1.7.md +++ /dev/null @@ -1,3 +0,0 @@ -## 1.1.7 - -No user-facing changes. diff --git a/ruby/ql/src/codeql-pack.release.yml b/ruby/ql/src/codeql-pack.release.yml index 75910556516..9e712a00a21 100644 --- a/ruby/ql/src/codeql-pack.release.yml +++ b/ruby/ql/src/codeql-pack.release.yml @@ -1,2 +1,2 @@ --- -lastReleaseVersion: 1.1.7 +lastReleaseVersion: 1.1.6 diff --git a/ruby/ql/src/qlpack.yml b/ruby/ql/src/qlpack.yml index d34551aeb15..2f270249906 100644 --- a/ruby/ql/src/qlpack.yml +++ b/ruby/ql/src/qlpack.yml @@ -1,5 +1,5 @@ name: codeql/ruby-queries -version: 1.1.7 +version: 1.1.7-dev groups: - ruby - queries diff --git a/shared/controlflow/CHANGELOG.md b/shared/controlflow/CHANGELOG.md index b6de6379e77..2eddc42a47d 100644 --- a/shared/controlflow/CHANGELOG.md +++ b/shared/controlflow/CHANGELOG.md @@ -1,7 +1,3 @@ -## 1.0.12 - -No user-facing changes. - ## 1.0.11 No user-facing changes. diff --git a/shared/controlflow/change-notes/released/1.0.12.md b/shared/controlflow/change-notes/released/1.0.12.md deleted file mode 100644 index 12b3cf3e18f..00000000000 --- a/shared/controlflow/change-notes/released/1.0.12.md +++ /dev/null @@ -1,3 +0,0 @@ -## 1.0.12 - -No user-facing changes. diff --git a/shared/controlflow/codeql-pack.release.yml b/shared/controlflow/codeql-pack.release.yml index 2036690b201..56a2fb38872 100644 --- a/shared/controlflow/codeql-pack.release.yml +++ b/shared/controlflow/codeql-pack.release.yml @@ -1,2 +1,2 @@ --- -lastReleaseVersion: 1.0.12 +lastReleaseVersion: 1.0.11 diff --git a/shared/controlflow/qlpack.yml b/shared/controlflow/qlpack.yml index c7554d77bb4..10314626ec7 100644 --- a/shared/controlflow/qlpack.yml +++ b/shared/controlflow/qlpack.yml @@ -1,5 +1,5 @@ name: codeql/controlflow -version: 1.0.12 +version: 1.0.12-dev groups: shared library: true dependencies: diff --git a/shared/dataflow/CHANGELOG.md b/shared/dataflow/CHANGELOG.md index 7eec34670dc..72c27aa8762 100644 --- a/shared/dataflow/CHANGELOG.md +++ b/shared/dataflow/CHANGELOG.md @@ -1,7 +1,3 @@ -## 1.1.6 - -No user-facing changes. - ## 1.1.5 No user-facing changes. diff --git a/shared/dataflow/change-notes/released/1.1.6.md b/shared/dataflow/change-notes/released/1.1.6.md deleted file mode 100644 index 553350f40af..00000000000 --- a/shared/dataflow/change-notes/released/1.1.6.md +++ /dev/null @@ -1,3 +0,0 @@ -## 1.1.6 - -No user-facing changes. diff --git a/shared/dataflow/codeql-pack.release.yml b/shared/dataflow/codeql-pack.release.yml index 9e712a00a21..df39a9de059 100644 --- a/shared/dataflow/codeql-pack.release.yml +++ b/shared/dataflow/codeql-pack.release.yml @@ -1,2 +1,2 @@ --- -lastReleaseVersion: 1.1.6 +lastReleaseVersion: 1.1.5 diff --git a/shared/dataflow/qlpack.yml b/shared/dataflow/qlpack.yml index 3e488555c7d..3802aa99a1e 100644 --- a/shared/dataflow/qlpack.yml +++ b/shared/dataflow/qlpack.yml @@ -1,5 +1,5 @@ name: codeql/dataflow -version: 1.1.6 +version: 1.1.6-dev groups: shared library: true dependencies: diff --git a/shared/mad/CHANGELOG.md b/shared/mad/CHANGELOG.md index 8eb5e03400a..0d9dcaf2768 100644 --- a/shared/mad/CHANGELOG.md +++ b/shared/mad/CHANGELOG.md @@ -1,7 +1,3 @@ -## 1.0.12 - -No user-facing changes. - ## 1.0.11 No user-facing changes. diff --git a/shared/mad/change-notes/released/1.0.12.md b/shared/mad/change-notes/released/1.0.12.md deleted file mode 100644 index 12b3cf3e18f..00000000000 --- a/shared/mad/change-notes/released/1.0.12.md +++ /dev/null @@ -1,3 +0,0 @@ -## 1.0.12 - -No user-facing changes. diff --git a/shared/mad/codeql-pack.release.yml b/shared/mad/codeql-pack.release.yml index 2036690b201..56a2fb38872 100644 --- a/shared/mad/codeql-pack.release.yml +++ b/shared/mad/codeql-pack.release.yml @@ -1,2 +1,2 @@ --- -lastReleaseVersion: 1.0.12 +lastReleaseVersion: 1.0.11 diff --git a/shared/mad/qlpack.yml b/shared/mad/qlpack.yml index 7c6a961cb99..2205120fc09 100644 --- a/shared/mad/qlpack.yml +++ b/shared/mad/qlpack.yml @@ -1,5 +1,5 @@ name: codeql/mad -version: 1.0.12 +version: 1.0.12-dev groups: shared library: true dependencies: diff --git a/shared/rangeanalysis/CHANGELOG.md b/shared/rangeanalysis/CHANGELOG.md index cedd38e3e30..f3d5e9c3685 100644 --- a/shared/rangeanalysis/CHANGELOG.md +++ b/shared/rangeanalysis/CHANGELOG.md @@ -1,7 +1,3 @@ -## 1.0.12 - -No user-facing changes. - ## 1.0.11 No user-facing changes. diff --git a/shared/rangeanalysis/change-notes/released/1.0.12.md b/shared/rangeanalysis/change-notes/released/1.0.12.md deleted file mode 100644 index 12b3cf3e18f..00000000000 --- a/shared/rangeanalysis/change-notes/released/1.0.12.md +++ /dev/null @@ -1,3 +0,0 @@ -## 1.0.12 - -No user-facing changes. diff --git a/shared/rangeanalysis/codeql-pack.release.yml b/shared/rangeanalysis/codeql-pack.release.yml index 2036690b201..56a2fb38872 100644 --- a/shared/rangeanalysis/codeql-pack.release.yml +++ b/shared/rangeanalysis/codeql-pack.release.yml @@ -1,2 +1,2 @@ --- -lastReleaseVersion: 1.0.12 +lastReleaseVersion: 1.0.11 diff --git a/shared/rangeanalysis/qlpack.yml b/shared/rangeanalysis/qlpack.yml index 6a61414dd46..8bd5c263848 100644 --- a/shared/rangeanalysis/qlpack.yml +++ b/shared/rangeanalysis/qlpack.yml @@ -1,5 +1,5 @@ name: codeql/rangeanalysis -version: 1.0.12 +version: 1.0.12-dev groups: shared library: true dependencies: diff --git a/shared/regex/CHANGELOG.md b/shared/regex/CHANGELOG.md index 3e8a99103fe..e4aa1758db2 100644 --- a/shared/regex/CHANGELOG.md +++ b/shared/regex/CHANGELOG.md @@ -1,7 +1,3 @@ -## 1.0.12 - -No user-facing changes. - ## 1.0.11 No user-facing changes. diff --git a/shared/regex/change-notes/released/1.0.12.md b/shared/regex/change-notes/released/1.0.12.md deleted file mode 100644 index 12b3cf3e18f..00000000000 --- a/shared/regex/change-notes/released/1.0.12.md +++ /dev/null @@ -1,3 +0,0 @@ -## 1.0.12 - -No user-facing changes. diff --git a/shared/regex/codeql-pack.release.yml b/shared/regex/codeql-pack.release.yml index 2036690b201..56a2fb38872 100644 --- a/shared/regex/codeql-pack.release.yml +++ b/shared/regex/codeql-pack.release.yml @@ -1,2 +1,2 @@ --- -lastReleaseVersion: 1.0.12 +lastReleaseVersion: 1.0.11 diff --git a/shared/regex/qlpack.yml b/shared/regex/qlpack.yml index 3ab27085789..624c826410e 100644 --- a/shared/regex/qlpack.yml +++ b/shared/regex/qlpack.yml @@ -1,5 +1,5 @@ name: codeql/regex -version: 1.0.12 +version: 1.0.12-dev groups: shared library: true dependencies: diff --git a/shared/ssa/CHANGELOG.md b/shared/ssa/CHANGELOG.md index b98345f361c..6fc1f4442c7 100644 --- a/shared/ssa/CHANGELOG.md +++ b/shared/ssa/CHANGELOG.md @@ -1,7 +1,3 @@ -## 1.0.12 - -No user-facing changes. - ## 1.0.11 No user-facing changes. diff --git a/shared/ssa/change-notes/released/1.0.12.md b/shared/ssa/change-notes/released/1.0.12.md deleted file mode 100644 index 12b3cf3e18f..00000000000 --- a/shared/ssa/change-notes/released/1.0.12.md +++ /dev/null @@ -1,3 +0,0 @@ -## 1.0.12 - -No user-facing changes. diff --git a/shared/ssa/codeql-pack.release.yml b/shared/ssa/codeql-pack.release.yml index 2036690b201..56a2fb38872 100644 --- a/shared/ssa/codeql-pack.release.yml +++ b/shared/ssa/codeql-pack.release.yml @@ -1,2 +1,2 @@ --- -lastReleaseVersion: 1.0.12 +lastReleaseVersion: 1.0.11 diff --git a/shared/ssa/qlpack.yml b/shared/ssa/qlpack.yml index 1957224936f..d55025c28d1 100644 --- a/shared/ssa/qlpack.yml +++ b/shared/ssa/qlpack.yml @@ -1,5 +1,5 @@ name: codeql/ssa -version: 1.0.12 +version: 1.0.12-dev groups: shared library: true dependencies: diff --git a/shared/threat-models/CHANGELOG.md b/shared/threat-models/CHANGELOG.md index eeb6b0a262a..1c514d078a2 100644 --- a/shared/threat-models/CHANGELOG.md +++ b/shared/threat-models/CHANGELOG.md @@ -1,7 +1,3 @@ -## 1.0.12 - -No user-facing changes. - ## 1.0.11 No user-facing changes. diff --git a/shared/threat-models/change-notes/released/1.0.12.md b/shared/threat-models/change-notes/released/1.0.12.md deleted file mode 100644 index 12b3cf3e18f..00000000000 --- a/shared/threat-models/change-notes/released/1.0.12.md +++ /dev/null @@ -1,3 +0,0 @@ -## 1.0.12 - -No user-facing changes. diff --git a/shared/threat-models/codeql-pack.release.yml b/shared/threat-models/codeql-pack.release.yml index 2036690b201..56a2fb38872 100644 --- a/shared/threat-models/codeql-pack.release.yml +++ b/shared/threat-models/codeql-pack.release.yml @@ -1,2 +1,2 @@ --- -lastReleaseVersion: 1.0.12 +lastReleaseVersion: 1.0.11 diff --git a/shared/threat-models/qlpack.yml b/shared/threat-models/qlpack.yml index 637773d6bfb..42ac623c23b 100644 --- a/shared/threat-models/qlpack.yml +++ b/shared/threat-models/qlpack.yml @@ -1,5 +1,5 @@ name: codeql/threat-models -version: 1.0.12 +version: 1.0.12-dev library: true groups: shared dataExtensions: diff --git a/shared/tutorial/CHANGELOG.md b/shared/tutorial/CHANGELOG.md index da467b3de30..416a3ab33fc 100644 --- a/shared/tutorial/CHANGELOG.md +++ b/shared/tutorial/CHANGELOG.md @@ -1,7 +1,3 @@ -## 1.0.12 - -No user-facing changes. - ## 1.0.11 No user-facing changes. diff --git a/shared/tutorial/change-notes/released/1.0.12.md b/shared/tutorial/change-notes/released/1.0.12.md deleted file mode 100644 index 12b3cf3e18f..00000000000 --- a/shared/tutorial/change-notes/released/1.0.12.md +++ /dev/null @@ -1,3 +0,0 @@ -## 1.0.12 - -No user-facing changes. diff --git a/shared/tutorial/codeql-pack.release.yml b/shared/tutorial/codeql-pack.release.yml index 2036690b201..56a2fb38872 100644 --- a/shared/tutorial/codeql-pack.release.yml +++ b/shared/tutorial/codeql-pack.release.yml @@ -1,2 +1,2 @@ --- -lastReleaseVersion: 1.0.12 +lastReleaseVersion: 1.0.11 diff --git a/shared/tutorial/qlpack.yml b/shared/tutorial/qlpack.yml index f4c164e1052..bd281c1a818 100644 --- a/shared/tutorial/qlpack.yml +++ b/shared/tutorial/qlpack.yml @@ -1,7 +1,7 @@ name: codeql/tutorial description: Library for the CodeQL detective tutorials, helping new users learn to write CodeQL queries. -version: 1.0.12 +version: 1.0.12-dev groups: shared library: true warnOnImplicitThis: true diff --git a/shared/typeflow/CHANGELOG.md b/shared/typeflow/CHANGELOG.md index cae361ea7e7..1506cdea175 100644 --- a/shared/typeflow/CHANGELOG.md +++ b/shared/typeflow/CHANGELOG.md @@ -1,7 +1,3 @@ -## 1.0.12 - -No user-facing changes. - ## 1.0.11 No user-facing changes. diff --git a/shared/typeflow/change-notes/released/1.0.12.md b/shared/typeflow/change-notes/released/1.0.12.md deleted file mode 100644 index 12b3cf3e18f..00000000000 --- a/shared/typeflow/change-notes/released/1.0.12.md +++ /dev/null @@ -1,3 +0,0 @@ -## 1.0.12 - -No user-facing changes. diff --git a/shared/typeflow/codeql-pack.release.yml b/shared/typeflow/codeql-pack.release.yml index 2036690b201..56a2fb38872 100644 --- a/shared/typeflow/codeql-pack.release.yml +++ b/shared/typeflow/codeql-pack.release.yml @@ -1,2 +1,2 @@ --- -lastReleaseVersion: 1.0.12 +lastReleaseVersion: 1.0.11 diff --git a/shared/typeflow/qlpack.yml b/shared/typeflow/qlpack.yml index 514743bcb4d..6c7ecc03264 100644 --- a/shared/typeflow/qlpack.yml +++ b/shared/typeflow/qlpack.yml @@ -1,5 +1,5 @@ name: codeql/typeflow -version: 1.0.12 +version: 1.0.12-dev groups: shared library: true dependencies: diff --git a/shared/typetracking/CHANGELOG.md b/shared/typetracking/CHANGELOG.md index 96110cb10a2..d35be2a3771 100644 --- a/shared/typetracking/CHANGELOG.md +++ b/shared/typetracking/CHANGELOG.md @@ -1,7 +1,3 @@ -## 1.0.12 - -No user-facing changes. - ## 1.0.11 No user-facing changes. diff --git a/shared/typetracking/change-notes/released/1.0.12.md b/shared/typetracking/change-notes/released/1.0.12.md deleted file mode 100644 index 12b3cf3e18f..00000000000 --- a/shared/typetracking/change-notes/released/1.0.12.md +++ /dev/null @@ -1,3 +0,0 @@ -## 1.0.12 - -No user-facing changes. diff --git a/shared/typetracking/codeql-pack.release.yml b/shared/typetracking/codeql-pack.release.yml index 2036690b201..56a2fb38872 100644 --- a/shared/typetracking/codeql-pack.release.yml +++ b/shared/typetracking/codeql-pack.release.yml @@ -1,2 +1,2 @@ --- -lastReleaseVersion: 1.0.12 +lastReleaseVersion: 1.0.11 diff --git a/shared/typetracking/qlpack.yml b/shared/typetracking/qlpack.yml index b7c3832bef1..07eeb938af3 100644 --- a/shared/typetracking/qlpack.yml +++ b/shared/typetracking/qlpack.yml @@ -1,5 +1,5 @@ name: codeql/typetracking -version: 1.0.12 +version: 1.0.12-dev groups: shared library: true dependencies: diff --git a/shared/typos/CHANGELOG.md b/shared/typos/CHANGELOG.md index 83fb2dfb4cc..e5392886a3e 100644 --- a/shared/typos/CHANGELOG.md +++ b/shared/typos/CHANGELOG.md @@ -1,7 +1,3 @@ -## 1.0.12 - -No user-facing changes. - ## 1.0.11 No user-facing changes. diff --git a/shared/typos/change-notes/released/1.0.12.md b/shared/typos/change-notes/released/1.0.12.md deleted file mode 100644 index 12b3cf3e18f..00000000000 --- a/shared/typos/change-notes/released/1.0.12.md +++ /dev/null @@ -1,3 +0,0 @@ -## 1.0.12 - -No user-facing changes. diff --git a/shared/typos/codeql-pack.release.yml b/shared/typos/codeql-pack.release.yml index 2036690b201..56a2fb38872 100644 --- a/shared/typos/codeql-pack.release.yml +++ b/shared/typos/codeql-pack.release.yml @@ -1,2 +1,2 @@ --- -lastReleaseVersion: 1.0.12 +lastReleaseVersion: 1.0.11 diff --git a/shared/typos/qlpack.yml b/shared/typos/qlpack.yml index cbb4019306e..dcd9631b697 100644 --- a/shared/typos/qlpack.yml +++ b/shared/typos/qlpack.yml @@ -1,5 +1,5 @@ name: codeql/typos -version: 1.0.12 +version: 1.0.12-dev groups: shared library: true warnOnImplicitThis: true diff --git a/shared/util/CHANGELOG.md b/shared/util/CHANGELOG.md index 15c3b8c6225..9f1057cba24 100644 --- a/shared/util/CHANGELOG.md +++ b/shared/util/CHANGELOG.md @@ -1,7 +1,3 @@ -## 1.0.12 - -No user-facing changes. - ## 1.0.11 No user-facing changes. diff --git a/shared/util/change-notes/released/1.0.12.md b/shared/util/change-notes/released/1.0.12.md deleted file mode 100644 index 12b3cf3e18f..00000000000 --- a/shared/util/change-notes/released/1.0.12.md +++ /dev/null @@ -1,3 +0,0 @@ -## 1.0.12 - -No user-facing changes. diff --git a/shared/util/codeql-pack.release.yml b/shared/util/codeql-pack.release.yml index 2036690b201..56a2fb38872 100644 --- a/shared/util/codeql-pack.release.yml +++ b/shared/util/codeql-pack.release.yml @@ -1,2 +1,2 @@ --- -lastReleaseVersion: 1.0.12 +lastReleaseVersion: 1.0.11 diff --git a/shared/util/qlpack.yml b/shared/util/qlpack.yml index ebc22562a77..2a33b5aa84a 100644 --- a/shared/util/qlpack.yml +++ b/shared/util/qlpack.yml @@ -1,5 +1,5 @@ name: codeql/util -version: 1.0.12 +version: 1.0.12-dev groups: shared library: true dependencies: null diff --git a/shared/xml/CHANGELOG.md b/shared/xml/CHANGELOG.md index c8213742dc9..6ef34d6264c 100644 --- a/shared/xml/CHANGELOG.md +++ b/shared/xml/CHANGELOG.md @@ -1,7 +1,3 @@ -## 1.0.12 - -No user-facing changes. - ## 1.0.11 No user-facing changes. diff --git a/shared/xml/change-notes/released/1.0.12.md b/shared/xml/change-notes/released/1.0.12.md deleted file mode 100644 index 12b3cf3e18f..00000000000 --- a/shared/xml/change-notes/released/1.0.12.md +++ /dev/null @@ -1,3 +0,0 @@ -## 1.0.12 - -No user-facing changes. diff --git a/shared/xml/codeql-pack.release.yml b/shared/xml/codeql-pack.release.yml index 2036690b201..56a2fb38872 100644 --- a/shared/xml/codeql-pack.release.yml +++ b/shared/xml/codeql-pack.release.yml @@ -1,2 +1,2 @@ --- -lastReleaseVersion: 1.0.12 +lastReleaseVersion: 1.0.11 diff --git a/shared/xml/qlpack.yml b/shared/xml/qlpack.yml index 902f7735b18..94acb679e9c 100644 --- a/shared/xml/qlpack.yml +++ b/shared/xml/qlpack.yml @@ -1,5 +1,5 @@ name: codeql/xml -version: 1.0.12 +version: 1.0.12-dev groups: shared library: true dependencies: diff --git a/shared/yaml/CHANGELOG.md b/shared/yaml/CHANGELOG.md index 2cc2ec62057..79fc573c5ae 100644 --- a/shared/yaml/CHANGELOG.md +++ b/shared/yaml/CHANGELOG.md @@ -1,7 +1,3 @@ -## 1.0.12 - -No user-facing changes. - ## 1.0.11 No user-facing changes. diff --git a/shared/yaml/change-notes/released/1.0.12.md b/shared/yaml/change-notes/released/1.0.12.md deleted file mode 100644 index 12b3cf3e18f..00000000000 --- a/shared/yaml/change-notes/released/1.0.12.md +++ /dev/null @@ -1,3 +0,0 @@ -## 1.0.12 - -No user-facing changes. diff --git a/shared/yaml/codeql-pack.release.yml b/shared/yaml/codeql-pack.release.yml index 2036690b201..56a2fb38872 100644 --- a/shared/yaml/codeql-pack.release.yml +++ b/shared/yaml/codeql-pack.release.yml @@ -1,2 +1,2 @@ --- -lastReleaseVersion: 1.0.12 +lastReleaseVersion: 1.0.11 diff --git a/shared/yaml/qlpack.yml b/shared/yaml/qlpack.yml index 4d5cd01611f..62119951431 100644 --- a/shared/yaml/qlpack.yml +++ b/shared/yaml/qlpack.yml @@ -1,5 +1,5 @@ name: codeql/yaml -version: 1.0.12 +version: 1.0.12-dev groups: shared library: true warnOnImplicitThis: true diff --git a/swift/ql/lib/CHANGELOG.md b/swift/ql/lib/CHANGELOG.md index 898a3282bb5..d871246f42f 100644 --- a/swift/ql/lib/CHANGELOG.md +++ b/swift/ql/lib/CHANGELOG.md @@ -1,7 +1,3 @@ -## 2.0.4 - -No user-facing changes. - ## 2.0.3 No user-facing changes. diff --git a/swift/ql/lib/change-notes/released/2.0.4.md b/swift/ql/lib/change-notes/released/2.0.4.md deleted file mode 100644 index 8e002b6db64..00000000000 --- a/swift/ql/lib/change-notes/released/2.0.4.md +++ /dev/null @@ -1,3 +0,0 @@ -## 2.0.4 - -No user-facing changes. diff --git a/swift/ql/lib/codeql-pack.release.yml b/swift/ql/lib/codeql-pack.release.yml index 0f306f8bd3b..fabf1e86596 100644 --- a/swift/ql/lib/codeql-pack.release.yml +++ b/swift/ql/lib/codeql-pack.release.yml @@ -1,2 +1,2 @@ --- -lastReleaseVersion: 2.0.4 +lastReleaseVersion: 2.0.3 diff --git a/swift/ql/lib/qlpack.yml b/swift/ql/lib/qlpack.yml index 1197bd99667..bc08ee6ac2e 100644 --- a/swift/ql/lib/qlpack.yml +++ b/swift/ql/lib/qlpack.yml @@ -1,5 +1,5 @@ name: codeql/swift-all -version: 2.0.4 +version: 2.0.4-dev groups: swift extractor: swift dbscheme: swift.dbscheme diff --git a/swift/ql/src/CHANGELOG.md b/swift/ql/src/CHANGELOG.md index 76de7db1348..8890e7e83a4 100644 --- a/swift/ql/src/CHANGELOG.md +++ b/swift/ql/src/CHANGELOG.md @@ -1,7 +1,3 @@ -## 1.0.12 - -No user-facing changes. - ## 1.0.11 No user-facing changes. diff --git a/swift/ql/src/change-notes/released/1.0.12.md b/swift/ql/src/change-notes/released/1.0.12.md deleted file mode 100644 index 12b3cf3e18f..00000000000 --- a/swift/ql/src/change-notes/released/1.0.12.md +++ /dev/null @@ -1,3 +0,0 @@ -## 1.0.12 - -No user-facing changes. diff --git a/swift/ql/src/codeql-pack.release.yml b/swift/ql/src/codeql-pack.release.yml index 2036690b201..56a2fb38872 100644 --- a/swift/ql/src/codeql-pack.release.yml +++ b/swift/ql/src/codeql-pack.release.yml @@ -1,2 +1,2 @@ --- -lastReleaseVersion: 1.0.12 +lastReleaseVersion: 1.0.11 diff --git a/swift/ql/src/qlpack.yml b/swift/ql/src/qlpack.yml index 128ca2b26ea..dcc0f94dcf4 100644 --- a/swift/ql/src/qlpack.yml +++ b/swift/ql/src/qlpack.yml @@ -1,5 +1,5 @@ name: codeql/swift-queries -version: 1.0.12 +version: 1.0.12-dev groups: - swift - queries From b36f3f97ee405ec9bf848372e9152b4d43fd75a3 Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" Date: Thu, 28 Nov 2024 19:28:05 +0000 Subject: [PATCH 36/46] Release preparation for version 2.19.4 --- cpp/ql/lib/CHANGELOG.md | 4 ++++ cpp/ql/lib/change-notes/released/2.1.1.md | 3 +++ cpp/ql/lib/codeql-pack.release.yml | 2 +- cpp/ql/lib/qlpack.yml | 2 +- cpp/ql/src/CHANGELOG.md | 4 ++++ cpp/ql/src/change-notes/released/1.2.7.md | 3 +++ cpp/ql/src/codeql-pack.release.yml | 2 +- cpp/ql/src/qlpack.yml | 2 +- csharp/ql/campaigns/Solorigate/lib/CHANGELOG.md | 4 ++++ .../Solorigate/lib/change-notes/released/1.7.29.md | 3 +++ .../campaigns/Solorigate/lib/codeql-pack.release.yml | 2 +- csharp/ql/campaigns/Solorigate/lib/qlpack.yml | 2 +- csharp/ql/campaigns/Solorigate/src/CHANGELOG.md | 4 ++++ .../Solorigate/src/change-notes/released/1.7.29.md | 3 +++ .../campaigns/Solorigate/src/codeql-pack.release.yml | 2 +- csharp/ql/campaigns/Solorigate/src/qlpack.yml | 2 +- csharp/ql/lib/CHANGELOG.md | 7 +++++++ .../lib/change-notes/2024-11-19-extractor-dotnet.md | 4 ---- .../3.1.1.md} | 8 +++++--- csharp/ql/lib/codeql-pack.release.yml | 2 +- csharp/ql/lib/qlpack.yml | 2 +- csharp/ql/src/CHANGELOG.md | 4 ++++ csharp/ql/src/change-notes/released/1.0.12.md | 3 +++ csharp/ql/src/codeql-pack.release.yml | 2 +- csharp/ql/src/qlpack.yml | 2 +- go/ql/consistency-queries/CHANGELOG.md | 4 ++++ .../change-notes/released/1.0.12.md | 3 +++ go/ql/consistency-queries/codeql-pack.release.yml | 2 +- go/ql/consistency-queries/qlpack.yml | 2 +- go/ql/lib/CHANGELOG.md | 11 +++++++++++ ...4-11-07-fix-missing-qualified-names-for-methods.md | 4 ---- .../2024-11-11-models-as-data-subtypes-column.md | 4 ---- .../2024-11-12-models-as-data-subtypes-true.md | 4 ---- go/ql/lib/change-notes/released/2.1.3.md | 10 ++++++++++ go/ql/lib/codeql-pack.release.yml | 2 +- go/ql/lib/qlpack.yml | 2 +- go/ql/src/CHANGELOG.md | 4 ++++ go/ql/src/change-notes/released/1.1.3.md | 3 +++ go/ql/src/codeql-pack.release.yml | 2 +- go/ql/src/qlpack.yml | 2 +- java/ql/automodel/src/CHANGELOG.md | 4 ++++ java/ql/automodel/src/change-notes/released/1.0.12.md | 3 +++ java/ql/automodel/src/codeql-pack.release.yml | 2 +- java/ql/automodel/src/qlpack.yml | 2 +- java/ql/lib/CHANGELOG.md | 6 ++++++ .../4.2.1.md} | 7 ++++--- java/ql/lib/codeql-pack.release.yml | 2 +- java/ql/lib/qlpack.yml | 2 +- java/ql/src/CHANGELOG.md | 4 ++++ java/ql/src/change-notes/released/1.1.9.md | 3 +++ java/ql/src/codeql-pack.release.yml | 2 +- java/ql/src/qlpack.yml | 2 +- javascript/ql/lib/CHANGELOG.md | 11 +++++++++++ .../lib/change-notes/2024-11-11-matchAll-support.md | 4 ---- .../ql/lib/change-notes/2024-11-11-reserve-support.md | 4 ---- .../2024-11-12-immutable-array-operations.md | 5 ----- .../lib/change-notes/2024-11-15-toSpliced-support.md | 4 ---- .../2024-11-18-ES2023-array-protype-with.md | 4 ---- javascript/ql/lib/change-notes/released/2.1.1.md | 10 ++++++++++ javascript/ql/lib/codeql-pack.release.yml | 2 +- javascript/ql/lib/qlpack.yml | 2 +- javascript/ql/src/CHANGELOG.md | 4 ++++ javascript/ql/src/change-notes/released/1.2.4.md | 3 +++ javascript/ql/src/codeql-pack.release.yml | 2 +- javascript/ql/src/qlpack.yml | 2 +- misc/suite-helpers/CHANGELOG.md | 4 ++++ misc/suite-helpers/change-notes/released/1.0.12.md | 3 +++ misc/suite-helpers/codeql-pack.release.yml | 2 +- misc/suite-helpers/qlpack.yml | 2 +- python/ql/lib/CHANGELOG.md | 6 ++++++ python/ql/lib/change-notes/2024-08-30-bottle.md | 4 ---- python/ql/lib/change-notes/released/2.2.0.md | 5 +++++ python/ql/lib/codeql-pack.release.yml | 2 +- python/ql/lib/qlpack.yml | 2 +- python/ql/src/CHANGELOG.md | 4 ++++ python/ql/src/change-notes/released/1.3.3.md | 3 +++ python/ql/src/codeql-pack.release.yml | 2 +- python/ql/src/qlpack.yml | 2 +- ruby/ql/lib/CHANGELOG.md | 4 ++++ ruby/ql/lib/change-notes/released/2.0.4.md | 3 +++ ruby/ql/lib/codeql-pack.release.yml | 2 +- ruby/ql/lib/qlpack.yml | 2 +- ruby/ql/src/CHANGELOG.md | 4 ++++ ruby/ql/src/change-notes/released/1.1.7.md | 3 +++ ruby/ql/src/codeql-pack.release.yml | 2 +- ruby/ql/src/qlpack.yml | 2 +- shared/controlflow/CHANGELOG.md | 4 ++++ shared/controlflow/change-notes/released/1.0.12.md | 3 +++ shared/controlflow/codeql-pack.release.yml | 2 +- shared/controlflow/qlpack.yml | 2 +- shared/dataflow/CHANGELOG.md | 4 ++++ shared/dataflow/change-notes/released/1.1.6.md | 3 +++ shared/dataflow/codeql-pack.release.yml | 2 +- shared/dataflow/qlpack.yml | 2 +- shared/mad/CHANGELOG.md | 4 ++++ shared/mad/change-notes/released/1.0.12.md | 3 +++ shared/mad/codeql-pack.release.yml | 2 +- shared/mad/qlpack.yml | 2 +- shared/rangeanalysis/CHANGELOG.md | 4 ++++ shared/rangeanalysis/change-notes/released/1.0.12.md | 3 +++ shared/rangeanalysis/codeql-pack.release.yml | 2 +- shared/rangeanalysis/qlpack.yml | 2 +- shared/regex/CHANGELOG.md | 4 ++++ shared/regex/change-notes/released/1.0.12.md | 3 +++ shared/regex/codeql-pack.release.yml | 2 +- shared/regex/qlpack.yml | 2 +- shared/ssa/CHANGELOG.md | 4 ++++ shared/ssa/change-notes/released/1.0.12.md | 3 +++ shared/ssa/codeql-pack.release.yml | 2 +- shared/ssa/qlpack.yml | 2 +- shared/threat-models/CHANGELOG.md | 4 ++++ shared/threat-models/change-notes/released/1.0.12.md | 3 +++ shared/threat-models/codeql-pack.release.yml | 2 +- shared/threat-models/qlpack.yml | 2 +- shared/tutorial/CHANGELOG.md | 4 ++++ shared/tutorial/change-notes/released/1.0.12.md | 3 +++ shared/tutorial/codeql-pack.release.yml | 2 +- shared/tutorial/qlpack.yml | 2 +- shared/typeflow/CHANGELOG.md | 4 ++++ shared/typeflow/change-notes/released/1.0.12.md | 3 +++ shared/typeflow/codeql-pack.release.yml | 2 +- shared/typeflow/qlpack.yml | 2 +- shared/typetracking/CHANGELOG.md | 4 ++++ shared/typetracking/change-notes/released/1.0.12.md | 3 +++ shared/typetracking/codeql-pack.release.yml | 2 +- shared/typetracking/qlpack.yml | 2 +- shared/typos/CHANGELOG.md | 4 ++++ shared/typos/change-notes/released/1.0.12.md | 3 +++ shared/typos/codeql-pack.release.yml | 2 +- shared/typos/qlpack.yml | 2 +- shared/util/CHANGELOG.md | 4 ++++ shared/util/change-notes/released/1.0.12.md | 3 +++ shared/util/codeql-pack.release.yml | 2 +- shared/util/qlpack.yml | 2 +- shared/xml/CHANGELOG.md | 4 ++++ shared/xml/change-notes/released/1.0.12.md | 3 +++ shared/xml/codeql-pack.release.yml | 2 +- shared/xml/qlpack.yml | 2 +- shared/yaml/CHANGELOG.md | 4 ++++ shared/yaml/change-notes/released/1.0.12.md | 3 +++ shared/yaml/codeql-pack.release.yml | 2 +- shared/yaml/qlpack.yml | 2 +- swift/ql/lib/CHANGELOG.md | 4 ++++ swift/ql/lib/change-notes/released/2.0.4.md | 3 +++ swift/ql/lib/codeql-pack.release.yml | 2 +- swift/ql/lib/qlpack.yml | 2 +- swift/ql/src/CHANGELOG.md | 4 ++++ swift/ql/src/change-notes/released/1.0.12.md | 3 +++ swift/ql/src/codeql-pack.release.yml | 2 +- swift/ql/src/qlpack.yml | 2 +- 150 files changed, 355 insertions(+), 117 deletions(-) create mode 100644 cpp/ql/lib/change-notes/released/2.1.1.md create mode 100644 cpp/ql/src/change-notes/released/1.2.7.md create mode 100644 csharp/ql/campaigns/Solorigate/lib/change-notes/released/1.7.29.md create mode 100644 csharp/ql/campaigns/Solorigate/src/change-notes/released/1.7.29.md delete mode 100644 csharp/ql/lib/change-notes/2024-11-19-extractor-dotnet.md rename csharp/ql/lib/change-notes/{2024-11-07-net8-runtime-models.md => released/3.1.1.md} (51%) create mode 100644 csharp/ql/src/change-notes/released/1.0.12.md create mode 100644 go/ql/consistency-queries/change-notes/released/1.0.12.md delete mode 100644 go/ql/lib/change-notes/2024-11-07-fix-missing-qualified-names-for-methods.md delete mode 100644 go/ql/lib/change-notes/2024-11-11-models-as-data-subtypes-column.md delete mode 100644 go/ql/lib/change-notes/2024-11-12-models-as-data-subtypes-true.md create mode 100644 go/ql/lib/change-notes/released/2.1.3.md create mode 100644 go/ql/src/change-notes/released/1.1.3.md create mode 100644 java/ql/automodel/src/change-notes/released/1.0.12.md rename java/ql/lib/change-notes/{2024-11-14-unreachable-basic-block-in-constant-switch-statement.md => released/4.2.1.md} (83%) create mode 100644 java/ql/src/change-notes/released/1.1.9.md delete mode 100644 javascript/ql/lib/change-notes/2024-11-11-matchAll-support.md delete mode 100644 javascript/ql/lib/change-notes/2024-11-11-reserve-support.md delete mode 100644 javascript/ql/lib/change-notes/2024-11-12-immutable-array-operations.md delete mode 100644 javascript/ql/lib/change-notes/2024-11-15-toSpliced-support.md delete mode 100644 javascript/ql/lib/change-notes/2024-11-18-ES2023-array-protype-with.md create mode 100644 javascript/ql/lib/change-notes/released/2.1.1.md create mode 100644 javascript/ql/src/change-notes/released/1.2.4.md create mode 100644 misc/suite-helpers/change-notes/released/1.0.12.md delete mode 100644 python/ql/lib/change-notes/2024-08-30-bottle.md create mode 100644 python/ql/lib/change-notes/released/2.2.0.md create mode 100644 python/ql/src/change-notes/released/1.3.3.md create mode 100644 ruby/ql/lib/change-notes/released/2.0.4.md create mode 100644 ruby/ql/src/change-notes/released/1.1.7.md create mode 100644 shared/controlflow/change-notes/released/1.0.12.md create mode 100644 shared/dataflow/change-notes/released/1.1.6.md create mode 100644 shared/mad/change-notes/released/1.0.12.md create mode 100644 shared/rangeanalysis/change-notes/released/1.0.12.md create mode 100644 shared/regex/change-notes/released/1.0.12.md create mode 100644 shared/ssa/change-notes/released/1.0.12.md create mode 100644 shared/threat-models/change-notes/released/1.0.12.md create mode 100644 shared/tutorial/change-notes/released/1.0.12.md create mode 100644 shared/typeflow/change-notes/released/1.0.12.md create mode 100644 shared/typetracking/change-notes/released/1.0.12.md create mode 100644 shared/typos/change-notes/released/1.0.12.md create mode 100644 shared/util/change-notes/released/1.0.12.md create mode 100644 shared/xml/change-notes/released/1.0.12.md create mode 100644 shared/yaml/change-notes/released/1.0.12.md create mode 100644 swift/ql/lib/change-notes/released/2.0.4.md create mode 100644 swift/ql/src/change-notes/released/1.0.12.md diff --git a/cpp/ql/lib/CHANGELOG.md b/cpp/ql/lib/CHANGELOG.md index 0536c1c361b..d84fe585fca 100644 --- a/cpp/ql/lib/CHANGELOG.md +++ b/cpp/ql/lib/CHANGELOG.md @@ -1,3 +1,7 @@ +## 2.1.1 + +No user-facing changes. + ## 2.1.0 ### New Features diff --git a/cpp/ql/lib/change-notes/released/2.1.1.md b/cpp/ql/lib/change-notes/released/2.1.1.md new file mode 100644 index 00000000000..f023e9166c2 --- /dev/null +++ b/cpp/ql/lib/change-notes/released/2.1.1.md @@ -0,0 +1,3 @@ +## 2.1.1 + +No user-facing changes. diff --git a/cpp/ql/lib/codeql-pack.release.yml b/cpp/ql/lib/codeql-pack.release.yml index 487a1a58b2b..576c2ea18d6 100644 --- a/cpp/ql/lib/codeql-pack.release.yml +++ b/cpp/ql/lib/codeql-pack.release.yml @@ -1,2 +1,2 @@ --- -lastReleaseVersion: 2.1.0 +lastReleaseVersion: 2.1.1 diff --git a/cpp/ql/lib/qlpack.yml b/cpp/ql/lib/qlpack.yml index 397a56ac535..74b97808dc2 100644 --- a/cpp/ql/lib/qlpack.yml +++ b/cpp/ql/lib/qlpack.yml @@ -1,5 +1,5 @@ name: codeql/cpp-all -version: 2.1.1-dev +version: 2.1.1 groups: cpp dbscheme: semmlecode.cpp.dbscheme extractor: cpp diff --git a/cpp/ql/src/CHANGELOG.md b/cpp/ql/src/CHANGELOG.md index 4098bcf4d20..5bb266bdd64 100644 --- a/cpp/ql/src/CHANGELOG.md +++ b/cpp/ql/src/CHANGELOG.md @@ -1,3 +1,7 @@ +## 1.2.7 + +No user-facing changes. + ## 1.2.6 ### Minor Analysis Improvements diff --git a/cpp/ql/src/change-notes/released/1.2.7.md b/cpp/ql/src/change-notes/released/1.2.7.md new file mode 100644 index 00000000000..99f957692ac --- /dev/null +++ b/cpp/ql/src/change-notes/released/1.2.7.md @@ -0,0 +1,3 @@ +## 1.2.7 + +No user-facing changes. diff --git a/cpp/ql/src/codeql-pack.release.yml b/cpp/ql/src/codeql-pack.release.yml index 24962f7ba24..950e0645d4a 100644 --- a/cpp/ql/src/codeql-pack.release.yml +++ b/cpp/ql/src/codeql-pack.release.yml @@ -1,2 +1,2 @@ --- -lastReleaseVersion: 1.2.6 +lastReleaseVersion: 1.2.7 diff --git a/cpp/ql/src/qlpack.yml b/cpp/ql/src/qlpack.yml index 7059965615a..06b63fc6d45 100644 --- a/cpp/ql/src/qlpack.yml +++ b/cpp/ql/src/qlpack.yml @@ -1,5 +1,5 @@ name: codeql/cpp-queries -version: 1.2.7-dev +version: 1.2.7 groups: - cpp - queries diff --git a/csharp/ql/campaigns/Solorigate/lib/CHANGELOG.md b/csharp/ql/campaigns/Solorigate/lib/CHANGELOG.md index 7b5cb257096..93e737ae669 100644 --- a/csharp/ql/campaigns/Solorigate/lib/CHANGELOG.md +++ b/csharp/ql/campaigns/Solorigate/lib/CHANGELOG.md @@ -1,3 +1,7 @@ +## 1.7.29 + +No user-facing changes. + ## 1.7.28 No user-facing changes. diff --git a/csharp/ql/campaigns/Solorigate/lib/change-notes/released/1.7.29.md b/csharp/ql/campaigns/Solorigate/lib/change-notes/released/1.7.29.md new file mode 100644 index 00000000000..6ff68866478 --- /dev/null +++ b/csharp/ql/campaigns/Solorigate/lib/change-notes/released/1.7.29.md @@ -0,0 +1,3 @@ +## 1.7.29 + +No user-facing changes. diff --git a/csharp/ql/campaigns/Solorigate/lib/codeql-pack.release.yml b/csharp/ql/campaigns/Solorigate/lib/codeql-pack.release.yml index ff17fbaf982..34100d3ad64 100644 --- a/csharp/ql/campaigns/Solorigate/lib/codeql-pack.release.yml +++ b/csharp/ql/campaigns/Solorigate/lib/codeql-pack.release.yml @@ -1,2 +1,2 @@ --- -lastReleaseVersion: 1.7.28 +lastReleaseVersion: 1.7.29 diff --git a/csharp/ql/campaigns/Solorigate/lib/qlpack.yml b/csharp/ql/campaigns/Solorigate/lib/qlpack.yml index cccebfc4f3f..59289e3ddb1 100644 --- a/csharp/ql/campaigns/Solorigate/lib/qlpack.yml +++ b/csharp/ql/campaigns/Solorigate/lib/qlpack.yml @@ -1,5 +1,5 @@ name: codeql/csharp-solorigate-all -version: 1.7.29-dev +version: 1.7.29 groups: - csharp - solorigate diff --git a/csharp/ql/campaigns/Solorigate/src/CHANGELOG.md b/csharp/ql/campaigns/Solorigate/src/CHANGELOG.md index 7b5cb257096..93e737ae669 100644 --- a/csharp/ql/campaigns/Solorigate/src/CHANGELOG.md +++ b/csharp/ql/campaigns/Solorigate/src/CHANGELOG.md @@ -1,3 +1,7 @@ +## 1.7.29 + +No user-facing changes. + ## 1.7.28 No user-facing changes. diff --git a/csharp/ql/campaigns/Solorigate/src/change-notes/released/1.7.29.md b/csharp/ql/campaigns/Solorigate/src/change-notes/released/1.7.29.md new file mode 100644 index 00000000000..6ff68866478 --- /dev/null +++ b/csharp/ql/campaigns/Solorigate/src/change-notes/released/1.7.29.md @@ -0,0 +1,3 @@ +## 1.7.29 + +No user-facing changes. diff --git a/csharp/ql/campaigns/Solorigate/src/codeql-pack.release.yml b/csharp/ql/campaigns/Solorigate/src/codeql-pack.release.yml index ff17fbaf982..34100d3ad64 100644 --- a/csharp/ql/campaigns/Solorigate/src/codeql-pack.release.yml +++ b/csharp/ql/campaigns/Solorigate/src/codeql-pack.release.yml @@ -1,2 +1,2 @@ --- -lastReleaseVersion: 1.7.28 +lastReleaseVersion: 1.7.29 diff --git a/csharp/ql/campaigns/Solorigate/src/qlpack.yml b/csharp/ql/campaigns/Solorigate/src/qlpack.yml index 4e5b51ed11a..19e34e504e4 100644 --- a/csharp/ql/campaigns/Solorigate/src/qlpack.yml +++ b/csharp/ql/campaigns/Solorigate/src/qlpack.yml @@ -1,5 +1,5 @@ name: codeql/csharp-solorigate-queries -version: 1.7.29-dev +version: 1.7.29 groups: - csharp - solorigate diff --git a/csharp/ql/lib/CHANGELOG.md b/csharp/ql/lib/CHANGELOG.md index 39a75db1b5f..c76569e4ab3 100644 --- a/csharp/ql/lib/CHANGELOG.md +++ b/csharp/ql/lib/CHANGELOG.md @@ -1,3 +1,10 @@ +## 3.1.1 + +### Minor Analysis Improvements + +* .NET 9 is now required to build the C# extractor. +* The Models as Data models for .NET 8 Runtime now include generated models for higher order methods. + ## 3.1.0 ### Major Analysis Improvements diff --git a/csharp/ql/lib/change-notes/2024-11-19-extractor-dotnet.md b/csharp/ql/lib/change-notes/2024-11-19-extractor-dotnet.md deleted file mode 100644 index 58185aa0b0e..00000000000 --- a/csharp/ql/lib/change-notes/2024-11-19-extractor-dotnet.md +++ /dev/null @@ -1,4 +0,0 @@ ---- -category: minorAnalysis ---- -* .NET 9 is now required to build the C# extractor. diff --git a/csharp/ql/lib/change-notes/2024-11-07-net8-runtime-models.md b/csharp/ql/lib/change-notes/released/3.1.1.md similarity index 51% rename from csharp/ql/lib/change-notes/2024-11-07-net8-runtime-models.md rename to csharp/ql/lib/change-notes/released/3.1.1.md index 89574208e40..a2a912341fe 100644 --- a/csharp/ql/lib/change-notes/2024-11-07-net8-runtime-models.md +++ b/csharp/ql/lib/change-notes/released/3.1.1.md @@ -1,4 +1,6 @@ ---- -category: minorAnalysis ---- +## 3.1.1 + +### Minor Analysis Improvements + +* .NET 9 is now required to build the C# extractor. * The Models as Data models for .NET 8 Runtime now include generated models for higher order methods. diff --git a/csharp/ql/lib/codeql-pack.release.yml b/csharp/ql/lib/codeql-pack.release.yml index 82f62960aa3..c06beda86a3 100644 --- a/csharp/ql/lib/codeql-pack.release.yml +++ b/csharp/ql/lib/codeql-pack.release.yml @@ -1,2 +1,2 @@ --- -lastReleaseVersion: 3.1.0 +lastReleaseVersion: 3.1.1 diff --git a/csharp/ql/lib/qlpack.yml b/csharp/ql/lib/qlpack.yml index f750b06e392..a3f9aedf516 100644 --- a/csharp/ql/lib/qlpack.yml +++ b/csharp/ql/lib/qlpack.yml @@ -1,5 +1,5 @@ name: codeql/csharp-all -version: 3.1.1-dev +version: 3.1.1 groups: csharp dbscheme: semmlecode.csharp.dbscheme extractor: csharp diff --git a/csharp/ql/src/CHANGELOG.md b/csharp/ql/src/CHANGELOG.md index fe0765a3b18..99528b54e9e 100644 --- a/csharp/ql/src/CHANGELOG.md +++ b/csharp/ql/src/CHANGELOG.md @@ -1,3 +1,7 @@ +## 1.0.12 + +No user-facing changes. + ## 1.0.11 ### Minor Analysis Improvements diff --git a/csharp/ql/src/change-notes/released/1.0.12.md b/csharp/ql/src/change-notes/released/1.0.12.md new file mode 100644 index 00000000000..12b3cf3e18f --- /dev/null +++ b/csharp/ql/src/change-notes/released/1.0.12.md @@ -0,0 +1,3 @@ +## 1.0.12 + +No user-facing changes. diff --git a/csharp/ql/src/codeql-pack.release.yml b/csharp/ql/src/codeql-pack.release.yml index 56a2fb38872..2036690b201 100644 --- a/csharp/ql/src/codeql-pack.release.yml +++ b/csharp/ql/src/codeql-pack.release.yml @@ -1,2 +1,2 @@ --- -lastReleaseVersion: 1.0.11 +lastReleaseVersion: 1.0.12 diff --git a/csharp/ql/src/qlpack.yml b/csharp/ql/src/qlpack.yml index b861524e144..dc99bd4768a 100644 --- a/csharp/ql/src/qlpack.yml +++ b/csharp/ql/src/qlpack.yml @@ -1,5 +1,5 @@ name: codeql/csharp-queries -version: 1.0.12-dev +version: 1.0.12 groups: - csharp - queries diff --git a/go/ql/consistency-queries/CHANGELOG.md b/go/ql/consistency-queries/CHANGELOG.md index 1c514d078a2..eeb6b0a262a 100644 --- a/go/ql/consistency-queries/CHANGELOG.md +++ b/go/ql/consistency-queries/CHANGELOG.md @@ -1,3 +1,7 @@ +## 1.0.12 + +No user-facing changes. + ## 1.0.11 No user-facing changes. diff --git a/go/ql/consistency-queries/change-notes/released/1.0.12.md b/go/ql/consistency-queries/change-notes/released/1.0.12.md new file mode 100644 index 00000000000..12b3cf3e18f --- /dev/null +++ b/go/ql/consistency-queries/change-notes/released/1.0.12.md @@ -0,0 +1,3 @@ +## 1.0.12 + +No user-facing changes. diff --git a/go/ql/consistency-queries/codeql-pack.release.yml b/go/ql/consistency-queries/codeql-pack.release.yml index 56a2fb38872..2036690b201 100644 --- a/go/ql/consistency-queries/codeql-pack.release.yml +++ b/go/ql/consistency-queries/codeql-pack.release.yml @@ -1,2 +1,2 @@ --- -lastReleaseVersion: 1.0.11 +lastReleaseVersion: 1.0.12 diff --git a/go/ql/consistency-queries/qlpack.yml b/go/ql/consistency-queries/qlpack.yml index b7c67080f46..b9e67ea6137 100644 --- a/go/ql/consistency-queries/qlpack.yml +++ b/go/ql/consistency-queries/qlpack.yml @@ -1,5 +1,5 @@ name: codeql-go-consistency-queries -version: 1.0.12-dev +version: 1.0.12 groups: - go - queries diff --git a/go/ql/lib/CHANGELOG.md b/go/ql/lib/CHANGELOG.md index 37f83fa8dda..b2eb3cbb239 100644 --- a/go/ql/lib/CHANGELOG.md +++ b/go/ql/lib/CHANGELOG.md @@ -1,3 +1,14 @@ +## 2.1.3 + +### Minor Analysis Improvements + +* The `subtypes` column has been set to true in all models-as-data models except some tests. This means that existing models will apply in some cases where they didn't before, which may lead to more alerts. + +### Bug Fixes + +* The behaviour of the `subtypes` column in models-as-data now matches other languages more closely. +* Fixed a bug which meant that some qualified names for promoted methods were not being recognised in some very specific circumstances. + ## 2.1.2 ### Minor Analysis Improvements diff --git a/go/ql/lib/change-notes/2024-11-07-fix-missing-qualified-names-for-methods.md b/go/ql/lib/change-notes/2024-11-07-fix-missing-qualified-names-for-methods.md deleted file mode 100644 index cd2dbb6c974..00000000000 --- a/go/ql/lib/change-notes/2024-11-07-fix-missing-qualified-names-for-methods.md +++ /dev/null @@ -1,4 +0,0 @@ ---- -category: fix ---- -* Fixed a bug which meant that some qualified names for promoted methods were not being recognised in some very specific circumstances. diff --git a/go/ql/lib/change-notes/2024-11-11-models-as-data-subtypes-column.md b/go/ql/lib/change-notes/2024-11-11-models-as-data-subtypes-column.md deleted file mode 100644 index 25115f74d71..00000000000 --- a/go/ql/lib/change-notes/2024-11-11-models-as-data-subtypes-column.md +++ /dev/null @@ -1,4 +0,0 @@ ---- -category: fix ---- -* The behaviour of the `subtypes` column in models-as-data now matches other languages more closely. diff --git a/go/ql/lib/change-notes/2024-11-12-models-as-data-subtypes-true.md b/go/ql/lib/change-notes/2024-11-12-models-as-data-subtypes-true.md deleted file mode 100644 index b1c78815ea3..00000000000 --- a/go/ql/lib/change-notes/2024-11-12-models-as-data-subtypes-true.md +++ /dev/null @@ -1,4 +0,0 @@ ---- -category: minorAnalysis ---- -* The `subtypes` column has been set to true in all models-as-data models except some tests. This means that existing models will apply in some cases where they didn't before, which may lead to more alerts. diff --git a/go/ql/lib/change-notes/released/2.1.3.md b/go/ql/lib/change-notes/released/2.1.3.md new file mode 100644 index 00000000000..3ae1f19fb36 --- /dev/null +++ b/go/ql/lib/change-notes/released/2.1.3.md @@ -0,0 +1,10 @@ +## 2.1.3 + +### Minor Analysis Improvements + +* The `subtypes` column has been set to true in all models-as-data models except some tests. This means that existing models will apply in some cases where they didn't before, which may lead to more alerts. + +### Bug Fixes + +* The behaviour of the `subtypes` column in models-as-data now matches other languages more closely. +* Fixed a bug which meant that some qualified names for promoted methods were not being recognised in some very specific circumstances. diff --git a/go/ql/lib/codeql-pack.release.yml b/go/ql/lib/codeql-pack.release.yml index 1a4e53e8772..345fb0c73a4 100644 --- a/go/ql/lib/codeql-pack.release.yml +++ b/go/ql/lib/codeql-pack.release.yml @@ -1,2 +1,2 @@ --- -lastReleaseVersion: 2.1.2 +lastReleaseVersion: 2.1.3 diff --git a/go/ql/lib/qlpack.yml b/go/ql/lib/qlpack.yml index f9660516373..0e6da37dea1 100644 --- a/go/ql/lib/qlpack.yml +++ b/go/ql/lib/qlpack.yml @@ -1,5 +1,5 @@ name: codeql/go-all -version: 2.1.3-dev +version: 2.1.3 groups: go dbscheme: go.dbscheme extractor: go diff --git a/go/ql/src/CHANGELOG.md b/go/ql/src/CHANGELOG.md index 0e276fda741..c529cbffb32 100644 --- a/go/ql/src/CHANGELOG.md +++ b/go/ql/src/CHANGELOG.md @@ -1,3 +1,7 @@ +## 1.1.3 + +No user-facing changes. + ## 1.1.2 No user-facing changes. diff --git a/go/ql/src/change-notes/released/1.1.3.md b/go/ql/src/change-notes/released/1.1.3.md new file mode 100644 index 00000000000..e8f1701bd62 --- /dev/null +++ b/go/ql/src/change-notes/released/1.1.3.md @@ -0,0 +1,3 @@ +## 1.1.3 + +No user-facing changes. diff --git a/go/ql/src/codeql-pack.release.yml b/go/ql/src/codeql-pack.release.yml index 53ab127707f..35e710ab1bf 100644 --- a/go/ql/src/codeql-pack.release.yml +++ b/go/ql/src/codeql-pack.release.yml @@ -1,2 +1,2 @@ --- -lastReleaseVersion: 1.1.2 +lastReleaseVersion: 1.1.3 diff --git a/go/ql/src/qlpack.yml b/go/ql/src/qlpack.yml index 68bac4cf1a9..af130fa6acf 100644 --- a/go/ql/src/qlpack.yml +++ b/go/ql/src/qlpack.yml @@ -1,5 +1,5 @@ name: codeql/go-queries -version: 1.1.3-dev +version: 1.1.3 groups: - go - queries diff --git a/java/ql/automodel/src/CHANGELOG.md b/java/ql/automodel/src/CHANGELOG.md index 148791b5923..1564285b44b 100644 --- a/java/ql/automodel/src/CHANGELOG.md +++ b/java/ql/automodel/src/CHANGELOG.md @@ -1,3 +1,7 @@ +## 1.0.12 + +No user-facing changes. + ## 1.0.11 No user-facing changes. diff --git a/java/ql/automodel/src/change-notes/released/1.0.12.md b/java/ql/automodel/src/change-notes/released/1.0.12.md new file mode 100644 index 00000000000..12b3cf3e18f --- /dev/null +++ b/java/ql/automodel/src/change-notes/released/1.0.12.md @@ -0,0 +1,3 @@ +## 1.0.12 + +No user-facing changes. diff --git a/java/ql/automodel/src/codeql-pack.release.yml b/java/ql/automodel/src/codeql-pack.release.yml index 56a2fb38872..2036690b201 100644 --- a/java/ql/automodel/src/codeql-pack.release.yml +++ b/java/ql/automodel/src/codeql-pack.release.yml @@ -1,2 +1,2 @@ --- -lastReleaseVersion: 1.0.11 +lastReleaseVersion: 1.0.12 diff --git a/java/ql/automodel/src/qlpack.yml b/java/ql/automodel/src/qlpack.yml index 4acf2219db3..fc5ad003511 100644 --- a/java/ql/automodel/src/qlpack.yml +++ b/java/ql/automodel/src/qlpack.yml @@ -1,5 +1,5 @@ name: codeql/java-automodel-queries -version: 1.0.12-dev +version: 1.0.12 groups: - java - automodel diff --git a/java/ql/lib/CHANGELOG.md b/java/ql/lib/CHANGELOG.md index cddb86232c4..990fea9ddd7 100644 --- a/java/ql/lib/CHANGELOG.md +++ b/java/ql/lib/CHANGELOG.md @@ -1,3 +1,9 @@ +## 4.2.1 + +### Minor Analysis Improvements + +* In a switch statement with a constant switch expression, all non-matching cases were being marked as unreachable, including those that can be reached by falling through from the matching case. This has now been fixed. + ## 4.2.0 ### Major Analysis Improvements diff --git a/java/ql/lib/change-notes/2024-11-14-unreachable-basic-block-in-constant-switch-statement.md b/java/ql/lib/change-notes/released/4.2.1.md similarity index 83% rename from java/ql/lib/change-notes/2024-11-14-unreachable-basic-block-in-constant-switch-statement.md rename to java/ql/lib/change-notes/released/4.2.1.md index 50df55a4c1a..6fb31df9177 100644 --- a/java/ql/lib/change-notes/2024-11-14-unreachable-basic-block-in-constant-switch-statement.md +++ b/java/ql/lib/change-notes/released/4.2.1.md @@ -1,4 +1,5 @@ ---- -category: minorAnalysis ---- +## 4.2.1 + +### Minor Analysis Improvements + * In a switch statement with a constant switch expression, all non-matching cases were being marked as unreachable, including those that can be reached by falling through from the matching case. This has now been fixed. diff --git a/java/ql/lib/codeql-pack.release.yml b/java/ql/lib/codeql-pack.release.yml index 9fc6933b429..38ea9976fcc 100644 --- a/java/ql/lib/codeql-pack.release.yml +++ b/java/ql/lib/codeql-pack.release.yml @@ -1,2 +1,2 @@ --- -lastReleaseVersion: 4.2.0 +lastReleaseVersion: 4.2.1 diff --git a/java/ql/lib/qlpack.yml b/java/ql/lib/qlpack.yml index cc639056e4e..0e8d80fe435 100644 --- a/java/ql/lib/qlpack.yml +++ b/java/ql/lib/qlpack.yml @@ -1,5 +1,5 @@ name: codeql/java-all -version: 4.2.1-dev +version: 4.2.1 groups: java dbscheme: config/semmlecode.dbscheme extractor: java diff --git a/java/ql/src/CHANGELOG.md b/java/ql/src/CHANGELOG.md index 3a29e9e55e0..f212b4a8d3d 100644 --- a/java/ql/src/CHANGELOG.md +++ b/java/ql/src/CHANGELOG.md @@ -1,3 +1,7 @@ +## 1.1.9 + +No user-facing changes. + ## 1.1.8 No user-facing changes. diff --git a/java/ql/src/change-notes/released/1.1.9.md b/java/ql/src/change-notes/released/1.1.9.md new file mode 100644 index 00000000000..f9d367d4248 --- /dev/null +++ b/java/ql/src/change-notes/released/1.1.9.md @@ -0,0 +1,3 @@ +## 1.1.9 + +No user-facing changes. diff --git a/java/ql/src/codeql-pack.release.yml b/java/ql/src/codeql-pack.release.yml index 64972659c42..6f4795f3ea0 100644 --- a/java/ql/src/codeql-pack.release.yml +++ b/java/ql/src/codeql-pack.release.yml @@ -1,2 +1,2 @@ --- -lastReleaseVersion: 1.1.8 +lastReleaseVersion: 1.1.9 diff --git a/java/ql/src/qlpack.yml b/java/ql/src/qlpack.yml index 40ca32d8070..73e951db034 100644 --- a/java/ql/src/qlpack.yml +++ b/java/ql/src/qlpack.yml @@ -1,5 +1,5 @@ name: codeql/java-queries -version: 1.1.9-dev +version: 1.1.9 groups: - java - queries diff --git a/javascript/ql/lib/CHANGELOG.md b/javascript/ql/lib/CHANGELOG.md index 50d1486c006..7d8f8dcfc8b 100644 --- a/javascript/ql/lib/CHANGELOG.md +++ b/javascript/ql/lib/CHANGELOG.md @@ -1,3 +1,14 @@ +## 2.1.1 + +### Minor Analysis Improvements + +Added taint-steps for `Array.prototype.with`. +Added taint-steps for `Array.prototype.toSpliced` +* Added taint-steps for `Array.prototype.toReversed`. +* Added taint-steps for `Array.prototype.toSorted`. +Added support for `String.prototype.matchAll`. +* Added taint-steps for `Array.prototype.reverse` + ## 2.1.0 ### New Features diff --git a/javascript/ql/lib/change-notes/2024-11-11-matchAll-support.md b/javascript/ql/lib/change-notes/2024-11-11-matchAll-support.md deleted file mode 100644 index 74d7c3f34c2..00000000000 --- a/javascript/ql/lib/change-notes/2024-11-11-matchAll-support.md +++ /dev/null @@ -1,4 +0,0 @@ ---- -category: minorAnalysis ---- -Added support for `String.prototype.matchAll`. diff --git a/javascript/ql/lib/change-notes/2024-11-11-reserve-support.md b/javascript/ql/lib/change-notes/2024-11-11-reserve-support.md deleted file mode 100644 index bd2e6808e0c..00000000000 --- a/javascript/ql/lib/change-notes/2024-11-11-reserve-support.md +++ /dev/null @@ -1,4 +0,0 @@ ---- -category: minorAnalysis ---- -* Added taint-steps for `Array.prototype.reverse` diff --git a/javascript/ql/lib/change-notes/2024-11-12-immutable-array-operations.md b/javascript/ql/lib/change-notes/2024-11-12-immutable-array-operations.md deleted file mode 100644 index 20c16d88c6e..00000000000 --- a/javascript/ql/lib/change-notes/2024-11-12-immutable-array-operations.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -category: minorAnalysis ---- -* Added taint-steps for `Array.prototype.toReversed`. -* Added taint-steps for `Array.prototype.toSorted`. diff --git a/javascript/ql/lib/change-notes/2024-11-15-toSpliced-support.md b/javascript/ql/lib/change-notes/2024-11-15-toSpliced-support.md deleted file mode 100644 index a73955e5d2a..00000000000 --- a/javascript/ql/lib/change-notes/2024-11-15-toSpliced-support.md +++ /dev/null @@ -1,4 +0,0 @@ ---- -category: minorAnalysis ---- -Added taint-steps for `Array.prototype.toSpliced` diff --git a/javascript/ql/lib/change-notes/2024-11-18-ES2023-array-protype-with.md b/javascript/ql/lib/change-notes/2024-11-18-ES2023-array-protype-with.md deleted file mode 100644 index 92f160ec1de..00000000000 --- a/javascript/ql/lib/change-notes/2024-11-18-ES2023-array-protype-with.md +++ /dev/null @@ -1,4 +0,0 @@ ---- -category: minorAnalysis ---- -Added taint-steps for `Array.prototype.with`. diff --git a/javascript/ql/lib/change-notes/released/2.1.1.md b/javascript/ql/lib/change-notes/released/2.1.1.md new file mode 100644 index 00000000000..18d206b1918 --- /dev/null +++ b/javascript/ql/lib/change-notes/released/2.1.1.md @@ -0,0 +1,10 @@ +## 2.1.1 + +### Minor Analysis Improvements + +Added taint-steps for `Array.prototype.with`. +Added taint-steps for `Array.prototype.toSpliced` +* Added taint-steps for `Array.prototype.toReversed`. +* Added taint-steps for `Array.prototype.toSorted`. +Added support for `String.prototype.matchAll`. +* Added taint-steps for `Array.prototype.reverse` diff --git a/javascript/ql/lib/codeql-pack.release.yml b/javascript/ql/lib/codeql-pack.release.yml index 487a1a58b2b..576c2ea18d6 100644 --- a/javascript/ql/lib/codeql-pack.release.yml +++ b/javascript/ql/lib/codeql-pack.release.yml @@ -1,2 +1,2 @@ --- -lastReleaseVersion: 2.1.0 +lastReleaseVersion: 2.1.1 diff --git a/javascript/ql/lib/qlpack.yml b/javascript/ql/lib/qlpack.yml index f732755a75b..fc7dd9be7b7 100644 --- a/javascript/ql/lib/qlpack.yml +++ b/javascript/ql/lib/qlpack.yml @@ -1,5 +1,5 @@ name: codeql/javascript-all -version: 2.1.1-dev +version: 2.1.1 groups: javascript dbscheme: semmlecode.javascript.dbscheme extractor: javascript diff --git a/javascript/ql/src/CHANGELOG.md b/javascript/ql/src/CHANGELOG.md index 9a9a4641c6e..403de6b3323 100644 --- a/javascript/ql/src/CHANGELOG.md +++ b/javascript/ql/src/CHANGELOG.md @@ -1,3 +1,7 @@ +## 1.2.4 + +No user-facing changes. + ## 1.2.3 No user-facing changes. diff --git a/javascript/ql/src/change-notes/released/1.2.4.md b/javascript/ql/src/change-notes/released/1.2.4.md new file mode 100644 index 00000000000..21fd88e8124 --- /dev/null +++ b/javascript/ql/src/change-notes/released/1.2.4.md @@ -0,0 +1,3 @@ +## 1.2.4 + +No user-facing changes. diff --git a/javascript/ql/src/codeql-pack.release.yml b/javascript/ql/src/codeql-pack.release.yml index 09a7400b594..172090f46b6 100644 --- a/javascript/ql/src/codeql-pack.release.yml +++ b/javascript/ql/src/codeql-pack.release.yml @@ -1,2 +1,2 @@ --- -lastReleaseVersion: 1.2.3 +lastReleaseVersion: 1.2.4 diff --git a/javascript/ql/src/qlpack.yml b/javascript/ql/src/qlpack.yml index 98c38e64248..de3be7c9a90 100644 --- a/javascript/ql/src/qlpack.yml +++ b/javascript/ql/src/qlpack.yml @@ -1,5 +1,5 @@ name: codeql/javascript-queries -version: 1.2.4-dev +version: 1.2.4 groups: - javascript - queries diff --git a/misc/suite-helpers/CHANGELOG.md b/misc/suite-helpers/CHANGELOG.md index 0992e6bd9c5..969419cb7b7 100644 --- a/misc/suite-helpers/CHANGELOG.md +++ b/misc/suite-helpers/CHANGELOG.md @@ -1,3 +1,7 @@ +## 1.0.12 + +No user-facing changes. + ## 1.0.11 No user-facing changes. diff --git a/misc/suite-helpers/change-notes/released/1.0.12.md b/misc/suite-helpers/change-notes/released/1.0.12.md new file mode 100644 index 00000000000..12b3cf3e18f --- /dev/null +++ b/misc/suite-helpers/change-notes/released/1.0.12.md @@ -0,0 +1,3 @@ +## 1.0.12 + +No user-facing changes. diff --git a/misc/suite-helpers/codeql-pack.release.yml b/misc/suite-helpers/codeql-pack.release.yml index 56a2fb38872..2036690b201 100644 --- a/misc/suite-helpers/codeql-pack.release.yml +++ b/misc/suite-helpers/codeql-pack.release.yml @@ -1,2 +1,2 @@ --- -lastReleaseVersion: 1.0.11 +lastReleaseVersion: 1.0.12 diff --git a/misc/suite-helpers/qlpack.yml b/misc/suite-helpers/qlpack.yml index f40fb8fcde4..9cb14562b39 100644 --- a/misc/suite-helpers/qlpack.yml +++ b/misc/suite-helpers/qlpack.yml @@ -1,4 +1,4 @@ name: codeql/suite-helpers -version: 1.0.12-dev +version: 1.0.12 groups: shared warnOnImplicitThis: true diff --git a/python/ql/lib/CHANGELOG.md b/python/ql/lib/CHANGELOG.md index 1e05822734d..34dc5f1b060 100644 --- a/python/ql/lib/CHANGELOG.md +++ b/python/ql/lib/CHANGELOG.md @@ -1,3 +1,9 @@ +## 2.2.0 + +### Major Analysis Improvements + +* Added modeling of the `bottle` framework, leading to new remote flow sources and header writes + ## 2.1.2 ### Minor Analysis Improvements diff --git a/python/ql/lib/change-notes/2024-08-30-bottle.md b/python/ql/lib/change-notes/2024-08-30-bottle.md deleted file mode 100644 index b3a07f41f59..00000000000 --- a/python/ql/lib/change-notes/2024-08-30-bottle.md +++ /dev/null @@ -1,4 +0,0 @@ ---- -category: majorAnalysis ---- -* Added modeling of the `bottle` framework, leading to new remote flow sources and header writes \ No newline at end of file diff --git a/python/ql/lib/change-notes/released/2.2.0.md b/python/ql/lib/change-notes/released/2.2.0.md new file mode 100644 index 00000000000..0807fe9c2ff --- /dev/null +++ b/python/ql/lib/change-notes/released/2.2.0.md @@ -0,0 +1,5 @@ +## 2.2.0 + +### Major Analysis Improvements + +* Added modeling of the `bottle` framework, leading to new remote flow sources and header writes diff --git a/python/ql/lib/codeql-pack.release.yml b/python/ql/lib/codeql-pack.release.yml index 1a4e53e8772..2f308354195 100644 --- a/python/ql/lib/codeql-pack.release.yml +++ b/python/ql/lib/codeql-pack.release.yml @@ -1,2 +1,2 @@ --- -lastReleaseVersion: 2.1.2 +lastReleaseVersion: 2.2.0 diff --git a/python/ql/lib/qlpack.yml b/python/ql/lib/qlpack.yml index 5b9b9b8f67e..6c2dd3c9d71 100644 --- a/python/ql/lib/qlpack.yml +++ b/python/ql/lib/qlpack.yml @@ -1,5 +1,5 @@ name: codeql/python-all -version: 2.1.3-dev +version: 2.2.0 groups: python dbscheme: semmlecode.python.dbscheme extractor: python diff --git a/python/ql/src/CHANGELOG.md b/python/ql/src/CHANGELOG.md index 64a33ed30ca..5fea597a7a3 100644 --- a/python/ql/src/CHANGELOG.md +++ b/python/ql/src/CHANGELOG.md @@ -1,3 +1,7 @@ +## 1.3.3 + +No user-facing changes. + ## 1.3.2 ### Minor Analysis Improvements diff --git a/python/ql/src/change-notes/released/1.3.3.md b/python/ql/src/change-notes/released/1.3.3.md new file mode 100644 index 00000000000..27a88ea0061 --- /dev/null +++ b/python/ql/src/change-notes/released/1.3.3.md @@ -0,0 +1,3 @@ +## 1.3.3 + +No user-facing changes. diff --git a/python/ql/src/codeql-pack.release.yml b/python/ql/src/codeql-pack.release.yml index 86a9cb32d86..eb1f7dabc84 100644 --- a/python/ql/src/codeql-pack.release.yml +++ b/python/ql/src/codeql-pack.release.yml @@ -1,2 +1,2 @@ --- -lastReleaseVersion: 1.3.2 +lastReleaseVersion: 1.3.3 diff --git a/python/ql/src/qlpack.yml b/python/ql/src/qlpack.yml index d279b5225c8..76133c2a243 100644 --- a/python/ql/src/qlpack.yml +++ b/python/ql/src/qlpack.yml @@ -1,5 +1,5 @@ name: codeql/python-queries -version: 1.3.3-dev +version: 1.3.3 groups: - python - queries diff --git a/ruby/ql/lib/CHANGELOG.md b/ruby/ql/lib/CHANGELOG.md index 230f81c621b..37248cf4960 100644 --- a/ruby/ql/lib/CHANGELOG.md +++ b/ruby/ql/lib/CHANGELOG.md @@ -1,3 +1,7 @@ +## 2.0.4 + +No user-facing changes. + ## 2.0.3 No user-facing changes. diff --git a/ruby/ql/lib/change-notes/released/2.0.4.md b/ruby/ql/lib/change-notes/released/2.0.4.md new file mode 100644 index 00000000000..8e002b6db64 --- /dev/null +++ b/ruby/ql/lib/change-notes/released/2.0.4.md @@ -0,0 +1,3 @@ +## 2.0.4 + +No user-facing changes. diff --git a/ruby/ql/lib/codeql-pack.release.yml b/ruby/ql/lib/codeql-pack.release.yml index fabf1e86596..0f306f8bd3b 100644 --- a/ruby/ql/lib/codeql-pack.release.yml +++ b/ruby/ql/lib/codeql-pack.release.yml @@ -1,2 +1,2 @@ --- -lastReleaseVersion: 2.0.3 +lastReleaseVersion: 2.0.4 diff --git a/ruby/ql/lib/qlpack.yml b/ruby/ql/lib/qlpack.yml index 155d495d7d8..60aa6608a46 100644 --- a/ruby/ql/lib/qlpack.yml +++ b/ruby/ql/lib/qlpack.yml @@ -1,5 +1,5 @@ name: codeql/ruby-all -version: 2.0.4-dev +version: 2.0.4 groups: ruby extractor: ruby dbscheme: ruby.dbscheme diff --git a/ruby/ql/src/CHANGELOG.md b/ruby/ql/src/CHANGELOG.md index 3dfaa623d60..e159e9fda36 100644 --- a/ruby/ql/src/CHANGELOG.md +++ b/ruby/ql/src/CHANGELOG.md @@ -1,3 +1,7 @@ +## 1.1.7 + +No user-facing changes. + ## 1.1.6 No user-facing changes. diff --git a/ruby/ql/src/change-notes/released/1.1.7.md b/ruby/ql/src/change-notes/released/1.1.7.md new file mode 100644 index 00000000000..81505c0507a --- /dev/null +++ b/ruby/ql/src/change-notes/released/1.1.7.md @@ -0,0 +1,3 @@ +## 1.1.7 + +No user-facing changes. diff --git a/ruby/ql/src/codeql-pack.release.yml b/ruby/ql/src/codeql-pack.release.yml index 9e712a00a21..75910556516 100644 --- a/ruby/ql/src/codeql-pack.release.yml +++ b/ruby/ql/src/codeql-pack.release.yml @@ -1,2 +1,2 @@ --- -lastReleaseVersion: 1.1.6 +lastReleaseVersion: 1.1.7 diff --git a/ruby/ql/src/qlpack.yml b/ruby/ql/src/qlpack.yml index 2f270249906..d34551aeb15 100644 --- a/ruby/ql/src/qlpack.yml +++ b/ruby/ql/src/qlpack.yml @@ -1,5 +1,5 @@ name: codeql/ruby-queries -version: 1.1.7-dev +version: 1.1.7 groups: - ruby - queries diff --git a/shared/controlflow/CHANGELOG.md b/shared/controlflow/CHANGELOG.md index 2eddc42a47d..b6de6379e77 100644 --- a/shared/controlflow/CHANGELOG.md +++ b/shared/controlflow/CHANGELOG.md @@ -1,3 +1,7 @@ +## 1.0.12 + +No user-facing changes. + ## 1.0.11 No user-facing changes. diff --git a/shared/controlflow/change-notes/released/1.0.12.md b/shared/controlflow/change-notes/released/1.0.12.md new file mode 100644 index 00000000000..12b3cf3e18f --- /dev/null +++ b/shared/controlflow/change-notes/released/1.0.12.md @@ -0,0 +1,3 @@ +## 1.0.12 + +No user-facing changes. diff --git a/shared/controlflow/codeql-pack.release.yml b/shared/controlflow/codeql-pack.release.yml index 56a2fb38872..2036690b201 100644 --- a/shared/controlflow/codeql-pack.release.yml +++ b/shared/controlflow/codeql-pack.release.yml @@ -1,2 +1,2 @@ --- -lastReleaseVersion: 1.0.11 +lastReleaseVersion: 1.0.12 diff --git a/shared/controlflow/qlpack.yml b/shared/controlflow/qlpack.yml index 10314626ec7..c7554d77bb4 100644 --- a/shared/controlflow/qlpack.yml +++ b/shared/controlflow/qlpack.yml @@ -1,5 +1,5 @@ name: codeql/controlflow -version: 1.0.12-dev +version: 1.0.12 groups: shared library: true dependencies: diff --git a/shared/dataflow/CHANGELOG.md b/shared/dataflow/CHANGELOG.md index 72c27aa8762..7eec34670dc 100644 --- a/shared/dataflow/CHANGELOG.md +++ b/shared/dataflow/CHANGELOG.md @@ -1,3 +1,7 @@ +## 1.1.6 + +No user-facing changes. + ## 1.1.5 No user-facing changes. diff --git a/shared/dataflow/change-notes/released/1.1.6.md b/shared/dataflow/change-notes/released/1.1.6.md new file mode 100644 index 00000000000..553350f40af --- /dev/null +++ b/shared/dataflow/change-notes/released/1.1.6.md @@ -0,0 +1,3 @@ +## 1.1.6 + +No user-facing changes. diff --git a/shared/dataflow/codeql-pack.release.yml b/shared/dataflow/codeql-pack.release.yml index df39a9de059..9e712a00a21 100644 --- a/shared/dataflow/codeql-pack.release.yml +++ b/shared/dataflow/codeql-pack.release.yml @@ -1,2 +1,2 @@ --- -lastReleaseVersion: 1.1.5 +lastReleaseVersion: 1.1.6 diff --git a/shared/dataflow/qlpack.yml b/shared/dataflow/qlpack.yml index 3802aa99a1e..3e488555c7d 100644 --- a/shared/dataflow/qlpack.yml +++ b/shared/dataflow/qlpack.yml @@ -1,5 +1,5 @@ name: codeql/dataflow -version: 1.1.6-dev +version: 1.1.6 groups: shared library: true dependencies: diff --git a/shared/mad/CHANGELOG.md b/shared/mad/CHANGELOG.md index 0d9dcaf2768..8eb5e03400a 100644 --- a/shared/mad/CHANGELOG.md +++ b/shared/mad/CHANGELOG.md @@ -1,3 +1,7 @@ +## 1.0.12 + +No user-facing changes. + ## 1.0.11 No user-facing changes. diff --git a/shared/mad/change-notes/released/1.0.12.md b/shared/mad/change-notes/released/1.0.12.md new file mode 100644 index 00000000000..12b3cf3e18f --- /dev/null +++ b/shared/mad/change-notes/released/1.0.12.md @@ -0,0 +1,3 @@ +## 1.0.12 + +No user-facing changes. diff --git a/shared/mad/codeql-pack.release.yml b/shared/mad/codeql-pack.release.yml index 56a2fb38872..2036690b201 100644 --- a/shared/mad/codeql-pack.release.yml +++ b/shared/mad/codeql-pack.release.yml @@ -1,2 +1,2 @@ --- -lastReleaseVersion: 1.0.11 +lastReleaseVersion: 1.0.12 diff --git a/shared/mad/qlpack.yml b/shared/mad/qlpack.yml index 2205120fc09..7c6a961cb99 100644 --- a/shared/mad/qlpack.yml +++ b/shared/mad/qlpack.yml @@ -1,5 +1,5 @@ name: codeql/mad -version: 1.0.12-dev +version: 1.0.12 groups: shared library: true dependencies: diff --git a/shared/rangeanalysis/CHANGELOG.md b/shared/rangeanalysis/CHANGELOG.md index f3d5e9c3685..cedd38e3e30 100644 --- a/shared/rangeanalysis/CHANGELOG.md +++ b/shared/rangeanalysis/CHANGELOG.md @@ -1,3 +1,7 @@ +## 1.0.12 + +No user-facing changes. + ## 1.0.11 No user-facing changes. diff --git a/shared/rangeanalysis/change-notes/released/1.0.12.md b/shared/rangeanalysis/change-notes/released/1.0.12.md new file mode 100644 index 00000000000..12b3cf3e18f --- /dev/null +++ b/shared/rangeanalysis/change-notes/released/1.0.12.md @@ -0,0 +1,3 @@ +## 1.0.12 + +No user-facing changes. diff --git a/shared/rangeanalysis/codeql-pack.release.yml b/shared/rangeanalysis/codeql-pack.release.yml index 56a2fb38872..2036690b201 100644 --- a/shared/rangeanalysis/codeql-pack.release.yml +++ b/shared/rangeanalysis/codeql-pack.release.yml @@ -1,2 +1,2 @@ --- -lastReleaseVersion: 1.0.11 +lastReleaseVersion: 1.0.12 diff --git a/shared/rangeanalysis/qlpack.yml b/shared/rangeanalysis/qlpack.yml index 8bd5c263848..6a61414dd46 100644 --- a/shared/rangeanalysis/qlpack.yml +++ b/shared/rangeanalysis/qlpack.yml @@ -1,5 +1,5 @@ name: codeql/rangeanalysis -version: 1.0.12-dev +version: 1.0.12 groups: shared library: true dependencies: diff --git a/shared/regex/CHANGELOG.md b/shared/regex/CHANGELOG.md index e4aa1758db2..3e8a99103fe 100644 --- a/shared/regex/CHANGELOG.md +++ b/shared/regex/CHANGELOG.md @@ -1,3 +1,7 @@ +## 1.0.12 + +No user-facing changes. + ## 1.0.11 No user-facing changes. diff --git a/shared/regex/change-notes/released/1.0.12.md b/shared/regex/change-notes/released/1.0.12.md new file mode 100644 index 00000000000..12b3cf3e18f --- /dev/null +++ b/shared/regex/change-notes/released/1.0.12.md @@ -0,0 +1,3 @@ +## 1.0.12 + +No user-facing changes. diff --git a/shared/regex/codeql-pack.release.yml b/shared/regex/codeql-pack.release.yml index 56a2fb38872..2036690b201 100644 --- a/shared/regex/codeql-pack.release.yml +++ b/shared/regex/codeql-pack.release.yml @@ -1,2 +1,2 @@ --- -lastReleaseVersion: 1.0.11 +lastReleaseVersion: 1.0.12 diff --git a/shared/regex/qlpack.yml b/shared/regex/qlpack.yml index 624c826410e..3ab27085789 100644 --- a/shared/regex/qlpack.yml +++ b/shared/regex/qlpack.yml @@ -1,5 +1,5 @@ name: codeql/regex -version: 1.0.12-dev +version: 1.0.12 groups: shared library: true dependencies: diff --git a/shared/ssa/CHANGELOG.md b/shared/ssa/CHANGELOG.md index 6fc1f4442c7..b98345f361c 100644 --- a/shared/ssa/CHANGELOG.md +++ b/shared/ssa/CHANGELOG.md @@ -1,3 +1,7 @@ +## 1.0.12 + +No user-facing changes. + ## 1.0.11 No user-facing changes. diff --git a/shared/ssa/change-notes/released/1.0.12.md b/shared/ssa/change-notes/released/1.0.12.md new file mode 100644 index 00000000000..12b3cf3e18f --- /dev/null +++ b/shared/ssa/change-notes/released/1.0.12.md @@ -0,0 +1,3 @@ +## 1.0.12 + +No user-facing changes. diff --git a/shared/ssa/codeql-pack.release.yml b/shared/ssa/codeql-pack.release.yml index 56a2fb38872..2036690b201 100644 --- a/shared/ssa/codeql-pack.release.yml +++ b/shared/ssa/codeql-pack.release.yml @@ -1,2 +1,2 @@ --- -lastReleaseVersion: 1.0.11 +lastReleaseVersion: 1.0.12 diff --git a/shared/ssa/qlpack.yml b/shared/ssa/qlpack.yml index d55025c28d1..1957224936f 100644 --- a/shared/ssa/qlpack.yml +++ b/shared/ssa/qlpack.yml @@ -1,5 +1,5 @@ name: codeql/ssa -version: 1.0.12-dev +version: 1.0.12 groups: shared library: true dependencies: diff --git a/shared/threat-models/CHANGELOG.md b/shared/threat-models/CHANGELOG.md index 1c514d078a2..eeb6b0a262a 100644 --- a/shared/threat-models/CHANGELOG.md +++ b/shared/threat-models/CHANGELOG.md @@ -1,3 +1,7 @@ +## 1.0.12 + +No user-facing changes. + ## 1.0.11 No user-facing changes. diff --git a/shared/threat-models/change-notes/released/1.0.12.md b/shared/threat-models/change-notes/released/1.0.12.md new file mode 100644 index 00000000000..12b3cf3e18f --- /dev/null +++ b/shared/threat-models/change-notes/released/1.0.12.md @@ -0,0 +1,3 @@ +## 1.0.12 + +No user-facing changes. diff --git a/shared/threat-models/codeql-pack.release.yml b/shared/threat-models/codeql-pack.release.yml index 56a2fb38872..2036690b201 100644 --- a/shared/threat-models/codeql-pack.release.yml +++ b/shared/threat-models/codeql-pack.release.yml @@ -1,2 +1,2 @@ --- -lastReleaseVersion: 1.0.11 +lastReleaseVersion: 1.0.12 diff --git a/shared/threat-models/qlpack.yml b/shared/threat-models/qlpack.yml index 42ac623c23b..637773d6bfb 100644 --- a/shared/threat-models/qlpack.yml +++ b/shared/threat-models/qlpack.yml @@ -1,5 +1,5 @@ name: codeql/threat-models -version: 1.0.12-dev +version: 1.0.12 library: true groups: shared dataExtensions: diff --git a/shared/tutorial/CHANGELOG.md b/shared/tutorial/CHANGELOG.md index 416a3ab33fc..da467b3de30 100644 --- a/shared/tutorial/CHANGELOG.md +++ b/shared/tutorial/CHANGELOG.md @@ -1,3 +1,7 @@ +## 1.0.12 + +No user-facing changes. + ## 1.0.11 No user-facing changes. diff --git a/shared/tutorial/change-notes/released/1.0.12.md b/shared/tutorial/change-notes/released/1.0.12.md new file mode 100644 index 00000000000..12b3cf3e18f --- /dev/null +++ b/shared/tutorial/change-notes/released/1.0.12.md @@ -0,0 +1,3 @@ +## 1.0.12 + +No user-facing changes. diff --git a/shared/tutorial/codeql-pack.release.yml b/shared/tutorial/codeql-pack.release.yml index 56a2fb38872..2036690b201 100644 --- a/shared/tutorial/codeql-pack.release.yml +++ b/shared/tutorial/codeql-pack.release.yml @@ -1,2 +1,2 @@ --- -lastReleaseVersion: 1.0.11 +lastReleaseVersion: 1.0.12 diff --git a/shared/tutorial/qlpack.yml b/shared/tutorial/qlpack.yml index bd281c1a818..f4c164e1052 100644 --- a/shared/tutorial/qlpack.yml +++ b/shared/tutorial/qlpack.yml @@ -1,7 +1,7 @@ name: codeql/tutorial description: Library for the CodeQL detective tutorials, helping new users learn to write CodeQL queries. -version: 1.0.12-dev +version: 1.0.12 groups: shared library: true warnOnImplicitThis: true diff --git a/shared/typeflow/CHANGELOG.md b/shared/typeflow/CHANGELOG.md index 1506cdea175..cae361ea7e7 100644 --- a/shared/typeflow/CHANGELOG.md +++ b/shared/typeflow/CHANGELOG.md @@ -1,3 +1,7 @@ +## 1.0.12 + +No user-facing changes. + ## 1.0.11 No user-facing changes. diff --git a/shared/typeflow/change-notes/released/1.0.12.md b/shared/typeflow/change-notes/released/1.0.12.md new file mode 100644 index 00000000000..12b3cf3e18f --- /dev/null +++ b/shared/typeflow/change-notes/released/1.0.12.md @@ -0,0 +1,3 @@ +## 1.0.12 + +No user-facing changes. diff --git a/shared/typeflow/codeql-pack.release.yml b/shared/typeflow/codeql-pack.release.yml index 56a2fb38872..2036690b201 100644 --- a/shared/typeflow/codeql-pack.release.yml +++ b/shared/typeflow/codeql-pack.release.yml @@ -1,2 +1,2 @@ --- -lastReleaseVersion: 1.0.11 +lastReleaseVersion: 1.0.12 diff --git a/shared/typeflow/qlpack.yml b/shared/typeflow/qlpack.yml index 6c7ecc03264..514743bcb4d 100644 --- a/shared/typeflow/qlpack.yml +++ b/shared/typeflow/qlpack.yml @@ -1,5 +1,5 @@ name: codeql/typeflow -version: 1.0.12-dev +version: 1.0.12 groups: shared library: true dependencies: diff --git a/shared/typetracking/CHANGELOG.md b/shared/typetracking/CHANGELOG.md index d35be2a3771..96110cb10a2 100644 --- a/shared/typetracking/CHANGELOG.md +++ b/shared/typetracking/CHANGELOG.md @@ -1,3 +1,7 @@ +## 1.0.12 + +No user-facing changes. + ## 1.0.11 No user-facing changes. diff --git a/shared/typetracking/change-notes/released/1.0.12.md b/shared/typetracking/change-notes/released/1.0.12.md new file mode 100644 index 00000000000..12b3cf3e18f --- /dev/null +++ b/shared/typetracking/change-notes/released/1.0.12.md @@ -0,0 +1,3 @@ +## 1.0.12 + +No user-facing changes. diff --git a/shared/typetracking/codeql-pack.release.yml b/shared/typetracking/codeql-pack.release.yml index 56a2fb38872..2036690b201 100644 --- a/shared/typetracking/codeql-pack.release.yml +++ b/shared/typetracking/codeql-pack.release.yml @@ -1,2 +1,2 @@ --- -lastReleaseVersion: 1.0.11 +lastReleaseVersion: 1.0.12 diff --git a/shared/typetracking/qlpack.yml b/shared/typetracking/qlpack.yml index 07eeb938af3..b7c3832bef1 100644 --- a/shared/typetracking/qlpack.yml +++ b/shared/typetracking/qlpack.yml @@ -1,5 +1,5 @@ name: codeql/typetracking -version: 1.0.12-dev +version: 1.0.12 groups: shared library: true dependencies: diff --git a/shared/typos/CHANGELOG.md b/shared/typos/CHANGELOG.md index e5392886a3e..83fb2dfb4cc 100644 --- a/shared/typos/CHANGELOG.md +++ b/shared/typos/CHANGELOG.md @@ -1,3 +1,7 @@ +## 1.0.12 + +No user-facing changes. + ## 1.0.11 No user-facing changes. diff --git a/shared/typos/change-notes/released/1.0.12.md b/shared/typos/change-notes/released/1.0.12.md new file mode 100644 index 00000000000..12b3cf3e18f --- /dev/null +++ b/shared/typos/change-notes/released/1.0.12.md @@ -0,0 +1,3 @@ +## 1.0.12 + +No user-facing changes. diff --git a/shared/typos/codeql-pack.release.yml b/shared/typos/codeql-pack.release.yml index 56a2fb38872..2036690b201 100644 --- a/shared/typos/codeql-pack.release.yml +++ b/shared/typos/codeql-pack.release.yml @@ -1,2 +1,2 @@ --- -lastReleaseVersion: 1.0.11 +lastReleaseVersion: 1.0.12 diff --git a/shared/typos/qlpack.yml b/shared/typos/qlpack.yml index dcd9631b697..cbb4019306e 100644 --- a/shared/typos/qlpack.yml +++ b/shared/typos/qlpack.yml @@ -1,5 +1,5 @@ name: codeql/typos -version: 1.0.12-dev +version: 1.0.12 groups: shared library: true warnOnImplicitThis: true diff --git a/shared/util/CHANGELOG.md b/shared/util/CHANGELOG.md index 9f1057cba24..15c3b8c6225 100644 --- a/shared/util/CHANGELOG.md +++ b/shared/util/CHANGELOG.md @@ -1,3 +1,7 @@ +## 1.0.12 + +No user-facing changes. + ## 1.0.11 No user-facing changes. diff --git a/shared/util/change-notes/released/1.0.12.md b/shared/util/change-notes/released/1.0.12.md new file mode 100644 index 00000000000..12b3cf3e18f --- /dev/null +++ b/shared/util/change-notes/released/1.0.12.md @@ -0,0 +1,3 @@ +## 1.0.12 + +No user-facing changes. diff --git a/shared/util/codeql-pack.release.yml b/shared/util/codeql-pack.release.yml index 56a2fb38872..2036690b201 100644 --- a/shared/util/codeql-pack.release.yml +++ b/shared/util/codeql-pack.release.yml @@ -1,2 +1,2 @@ --- -lastReleaseVersion: 1.0.11 +lastReleaseVersion: 1.0.12 diff --git a/shared/util/qlpack.yml b/shared/util/qlpack.yml index 2a33b5aa84a..ebc22562a77 100644 --- a/shared/util/qlpack.yml +++ b/shared/util/qlpack.yml @@ -1,5 +1,5 @@ name: codeql/util -version: 1.0.12-dev +version: 1.0.12 groups: shared library: true dependencies: null diff --git a/shared/xml/CHANGELOG.md b/shared/xml/CHANGELOG.md index 6ef34d6264c..c8213742dc9 100644 --- a/shared/xml/CHANGELOG.md +++ b/shared/xml/CHANGELOG.md @@ -1,3 +1,7 @@ +## 1.0.12 + +No user-facing changes. + ## 1.0.11 No user-facing changes. diff --git a/shared/xml/change-notes/released/1.0.12.md b/shared/xml/change-notes/released/1.0.12.md new file mode 100644 index 00000000000..12b3cf3e18f --- /dev/null +++ b/shared/xml/change-notes/released/1.0.12.md @@ -0,0 +1,3 @@ +## 1.0.12 + +No user-facing changes. diff --git a/shared/xml/codeql-pack.release.yml b/shared/xml/codeql-pack.release.yml index 56a2fb38872..2036690b201 100644 --- a/shared/xml/codeql-pack.release.yml +++ b/shared/xml/codeql-pack.release.yml @@ -1,2 +1,2 @@ --- -lastReleaseVersion: 1.0.11 +lastReleaseVersion: 1.0.12 diff --git a/shared/xml/qlpack.yml b/shared/xml/qlpack.yml index 94acb679e9c..902f7735b18 100644 --- a/shared/xml/qlpack.yml +++ b/shared/xml/qlpack.yml @@ -1,5 +1,5 @@ name: codeql/xml -version: 1.0.12-dev +version: 1.0.12 groups: shared library: true dependencies: diff --git a/shared/yaml/CHANGELOG.md b/shared/yaml/CHANGELOG.md index 79fc573c5ae..2cc2ec62057 100644 --- a/shared/yaml/CHANGELOG.md +++ b/shared/yaml/CHANGELOG.md @@ -1,3 +1,7 @@ +## 1.0.12 + +No user-facing changes. + ## 1.0.11 No user-facing changes. diff --git a/shared/yaml/change-notes/released/1.0.12.md b/shared/yaml/change-notes/released/1.0.12.md new file mode 100644 index 00000000000..12b3cf3e18f --- /dev/null +++ b/shared/yaml/change-notes/released/1.0.12.md @@ -0,0 +1,3 @@ +## 1.0.12 + +No user-facing changes. diff --git a/shared/yaml/codeql-pack.release.yml b/shared/yaml/codeql-pack.release.yml index 56a2fb38872..2036690b201 100644 --- a/shared/yaml/codeql-pack.release.yml +++ b/shared/yaml/codeql-pack.release.yml @@ -1,2 +1,2 @@ --- -lastReleaseVersion: 1.0.11 +lastReleaseVersion: 1.0.12 diff --git a/shared/yaml/qlpack.yml b/shared/yaml/qlpack.yml index 62119951431..4d5cd01611f 100644 --- a/shared/yaml/qlpack.yml +++ b/shared/yaml/qlpack.yml @@ -1,5 +1,5 @@ name: codeql/yaml -version: 1.0.12-dev +version: 1.0.12 groups: shared library: true warnOnImplicitThis: true diff --git a/swift/ql/lib/CHANGELOG.md b/swift/ql/lib/CHANGELOG.md index d871246f42f..898a3282bb5 100644 --- a/swift/ql/lib/CHANGELOG.md +++ b/swift/ql/lib/CHANGELOG.md @@ -1,3 +1,7 @@ +## 2.0.4 + +No user-facing changes. + ## 2.0.3 No user-facing changes. diff --git a/swift/ql/lib/change-notes/released/2.0.4.md b/swift/ql/lib/change-notes/released/2.0.4.md new file mode 100644 index 00000000000..8e002b6db64 --- /dev/null +++ b/swift/ql/lib/change-notes/released/2.0.4.md @@ -0,0 +1,3 @@ +## 2.0.4 + +No user-facing changes. diff --git a/swift/ql/lib/codeql-pack.release.yml b/swift/ql/lib/codeql-pack.release.yml index fabf1e86596..0f306f8bd3b 100644 --- a/swift/ql/lib/codeql-pack.release.yml +++ b/swift/ql/lib/codeql-pack.release.yml @@ -1,2 +1,2 @@ --- -lastReleaseVersion: 2.0.3 +lastReleaseVersion: 2.0.4 diff --git a/swift/ql/lib/qlpack.yml b/swift/ql/lib/qlpack.yml index bc08ee6ac2e..1197bd99667 100644 --- a/swift/ql/lib/qlpack.yml +++ b/swift/ql/lib/qlpack.yml @@ -1,5 +1,5 @@ name: codeql/swift-all -version: 2.0.4-dev +version: 2.0.4 groups: swift extractor: swift dbscheme: swift.dbscheme diff --git a/swift/ql/src/CHANGELOG.md b/swift/ql/src/CHANGELOG.md index 8890e7e83a4..76de7db1348 100644 --- a/swift/ql/src/CHANGELOG.md +++ b/swift/ql/src/CHANGELOG.md @@ -1,3 +1,7 @@ +## 1.0.12 + +No user-facing changes. + ## 1.0.11 No user-facing changes. diff --git a/swift/ql/src/change-notes/released/1.0.12.md b/swift/ql/src/change-notes/released/1.0.12.md new file mode 100644 index 00000000000..12b3cf3e18f --- /dev/null +++ b/swift/ql/src/change-notes/released/1.0.12.md @@ -0,0 +1,3 @@ +## 1.0.12 + +No user-facing changes. diff --git a/swift/ql/src/codeql-pack.release.yml b/swift/ql/src/codeql-pack.release.yml index 56a2fb38872..2036690b201 100644 --- a/swift/ql/src/codeql-pack.release.yml +++ b/swift/ql/src/codeql-pack.release.yml @@ -1,2 +1,2 @@ --- -lastReleaseVersion: 1.0.11 +lastReleaseVersion: 1.0.12 diff --git a/swift/ql/src/qlpack.yml b/swift/ql/src/qlpack.yml index dcc0f94dcf4..128ca2b26ea 100644 --- a/swift/ql/src/qlpack.yml +++ b/swift/ql/src/qlpack.yml @@ -1,5 +1,5 @@ name: codeql/swift-queries -version: 1.0.12-dev +version: 1.0.12 groups: - swift - queries From dbe9f22034445cd4426c97584f0c32db463eff2a Mon Sep 17 00:00:00 2001 From: Alex Eyers-Taylor Date: Tue, 19 Nov 2024 16:34:30 +0000 Subject: [PATCH 37/46] Fix broken changelog. --- javascript/ql/lib/change-notes/released/2.1.1.md | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/javascript/ql/lib/change-notes/released/2.1.1.md b/javascript/ql/lib/change-notes/released/2.1.1.md index 18d206b1918..fd6616a6c03 100644 --- a/javascript/ql/lib/change-notes/released/2.1.1.md +++ b/javascript/ql/lib/change-notes/released/2.1.1.md @@ -2,9 +2,9 @@ ### Minor Analysis Improvements -Added taint-steps for `Array.prototype.with`. -Added taint-steps for `Array.prototype.toSpliced` +* Added taint-steps for `Array.prototype.with`. +* Added taint-steps for `Array.prototype.toSpliced` * Added taint-steps for `Array.prototype.toReversed`. * Added taint-steps for `Array.prototype.toSorted`. -Added support for `String.prototype.matchAll`. +* Added support for `String.prototype.matchAll`. * Added taint-steps for `Array.prototype.reverse` From 32bfaa8569fae5c6d5e79f0bdddd6ddbcd687edc Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" Date: Thu, 28 Nov 2024 19:40:05 +0000 Subject: [PATCH 38/46] Post-release preparation for codeql-cli-2.19.4 --- cpp/ql/lib/qlpack.yml | 2 +- cpp/ql/src/qlpack.yml | 2 +- csharp/ql/campaigns/Solorigate/lib/qlpack.yml | 2 +- csharp/ql/campaigns/Solorigate/src/qlpack.yml | 2 +- csharp/ql/lib/qlpack.yml | 2 +- csharp/ql/src/qlpack.yml | 2 +- go/ql/consistency-queries/qlpack.yml | 2 +- go/ql/lib/qlpack.yml | 2 +- go/ql/src/qlpack.yml | 2 +- java/ql/automodel/src/qlpack.yml | 2 +- java/ql/lib/qlpack.yml | 2 +- java/ql/src/qlpack.yml | 2 +- javascript/ql/lib/qlpack.yml | 2 +- javascript/ql/src/qlpack.yml | 2 +- misc/suite-helpers/qlpack.yml | 2 +- python/ql/lib/qlpack.yml | 2 +- python/ql/src/qlpack.yml | 2 +- ruby/ql/lib/qlpack.yml | 2 +- ruby/ql/src/qlpack.yml | 2 +- shared/controlflow/qlpack.yml | 2 +- shared/dataflow/qlpack.yml | 2 +- shared/mad/qlpack.yml | 2 +- shared/rangeanalysis/qlpack.yml | 2 +- shared/regex/qlpack.yml | 2 +- shared/ssa/qlpack.yml | 2 +- shared/threat-models/qlpack.yml | 2 +- shared/tutorial/qlpack.yml | 2 +- shared/typeflow/qlpack.yml | 2 +- shared/typetracking/qlpack.yml | 2 +- shared/typos/qlpack.yml | 2 +- shared/util/qlpack.yml | 2 +- shared/xml/qlpack.yml | 2 +- shared/yaml/qlpack.yml | 2 +- swift/ql/lib/qlpack.yml | 2 +- swift/ql/src/qlpack.yml | 2 +- 35 files changed, 35 insertions(+), 35 deletions(-) diff --git a/cpp/ql/lib/qlpack.yml b/cpp/ql/lib/qlpack.yml index 74b97808dc2..001028daae1 100644 --- a/cpp/ql/lib/qlpack.yml +++ b/cpp/ql/lib/qlpack.yml @@ -1,5 +1,5 @@ name: codeql/cpp-all -version: 2.1.1 +version: 2.1.2-dev groups: cpp dbscheme: semmlecode.cpp.dbscheme extractor: cpp diff --git a/cpp/ql/src/qlpack.yml b/cpp/ql/src/qlpack.yml index 06b63fc6d45..2fcf45807da 100644 --- a/cpp/ql/src/qlpack.yml +++ b/cpp/ql/src/qlpack.yml @@ -1,5 +1,5 @@ name: codeql/cpp-queries -version: 1.2.7 +version: 1.2.8-dev groups: - cpp - queries diff --git a/csharp/ql/campaigns/Solorigate/lib/qlpack.yml b/csharp/ql/campaigns/Solorigate/lib/qlpack.yml index 59289e3ddb1..0c8db9920eb 100644 --- a/csharp/ql/campaigns/Solorigate/lib/qlpack.yml +++ b/csharp/ql/campaigns/Solorigate/lib/qlpack.yml @@ -1,5 +1,5 @@ name: codeql/csharp-solorigate-all -version: 1.7.29 +version: 1.7.30-dev groups: - csharp - solorigate diff --git a/csharp/ql/campaigns/Solorigate/src/qlpack.yml b/csharp/ql/campaigns/Solorigate/src/qlpack.yml index 19e34e504e4..3a4343780e4 100644 --- a/csharp/ql/campaigns/Solorigate/src/qlpack.yml +++ b/csharp/ql/campaigns/Solorigate/src/qlpack.yml @@ -1,5 +1,5 @@ name: codeql/csharp-solorigate-queries -version: 1.7.29 +version: 1.7.30-dev groups: - csharp - solorigate diff --git a/csharp/ql/lib/qlpack.yml b/csharp/ql/lib/qlpack.yml index a3f9aedf516..efc82eedc90 100644 --- a/csharp/ql/lib/qlpack.yml +++ b/csharp/ql/lib/qlpack.yml @@ -1,5 +1,5 @@ name: codeql/csharp-all -version: 3.1.1 +version: 3.1.2-dev groups: csharp dbscheme: semmlecode.csharp.dbscheme extractor: csharp diff --git a/csharp/ql/src/qlpack.yml b/csharp/ql/src/qlpack.yml index dc99bd4768a..569b69021d1 100644 --- a/csharp/ql/src/qlpack.yml +++ b/csharp/ql/src/qlpack.yml @@ -1,5 +1,5 @@ name: codeql/csharp-queries -version: 1.0.12 +version: 1.0.13-dev groups: - csharp - queries diff --git a/go/ql/consistency-queries/qlpack.yml b/go/ql/consistency-queries/qlpack.yml index b9e67ea6137..60d11115c14 100644 --- a/go/ql/consistency-queries/qlpack.yml +++ b/go/ql/consistency-queries/qlpack.yml @@ -1,5 +1,5 @@ name: codeql-go-consistency-queries -version: 1.0.12 +version: 1.0.13-dev groups: - go - queries diff --git a/go/ql/lib/qlpack.yml b/go/ql/lib/qlpack.yml index 0e6da37dea1..98e81430897 100644 --- a/go/ql/lib/qlpack.yml +++ b/go/ql/lib/qlpack.yml @@ -1,5 +1,5 @@ name: codeql/go-all -version: 2.1.3 +version: 2.1.4-dev groups: go dbscheme: go.dbscheme extractor: go diff --git a/go/ql/src/qlpack.yml b/go/ql/src/qlpack.yml index af130fa6acf..866a0935713 100644 --- a/go/ql/src/qlpack.yml +++ b/go/ql/src/qlpack.yml @@ -1,5 +1,5 @@ name: codeql/go-queries -version: 1.1.3 +version: 1.1.4-dev groups: - go - queries diff --git a/java/ql/automodel/src/qlpack.yml b/java/ql/automodel/src/qlpack.yml index fc5ad003511..da81981956b 100644 --- a/java/ql/automodel/src/qlpack.yml +++ b/java/ql/automodel/src/qlpack.yml @@ -1,5 +1,5 @@ name: codeql/java-automodel-queries -version: 1.0.12 +version: 1.0.13-dev groups: - java - automodel diff --git a/java/ql/lib/qlpack.yml b/java/ql/lib/qlpack.yml index 0e8d80fe435..a8c1ee2de2b 100644 --- a/java/ql/lib/qlpack.yml +++ b/java/ql/lib/qlpack.yml @@ -1,5 +1,5 @@ name: codeql/java-all -version: 4.2.1 +version: 4.2.2-dev groups: java dbscheme: config/semmlecode.dbscheme extractor: java diff --git a/java/ql/src/qlpack.yml b/java/ql/src/qlpack.yml index 73e951db034..44740683f14 100644 --- a/java/ql/src/qlpack.yml +++ b/java/ql/src/qlpack.yml @@ -1,5 +1,5 @@ name: codeql/java-queries -version: 1.1.9 +version: 1.1.10-dev groups: - java - queries diff --git a/javascript/ql/lib/qlpack.yml b/javascript/ql/lib/qlpack.yml index fc7dd9be7b7..9726d407e1a 100644 --- a/javascript/ql/lib/qlpack.yml +++ b/javascript/ql/lib/qlpack.yml @@ -1,5 +1,5 @@ name: codeql/javascript-all -version: 2.1.1 +version: 2.1.2-dev groups: javascript dbscheme: semmlecode.javascript.dbscheme extractor: javascript diff --git a/javascript/ql/src/qlpack.yml b/javascript/ql/src/qlpack.yml index de3be7c9a90..a1efe30e69d 100644 --- a/javascript/ql/src/qlpack.yml +++ b/javascript/ql/src/qlpack.yml @@ -1,5 +1,5 @@ name: codeql/javascript-queries -version: 1.2.4 +version: 1.2.5-dev groups: - javascript - queries diff --git a/misc/suite-helpers/qlpack.yml b/misc/suite-helpers/qlpack.yml index 9cb14562b39..e2cbd7f3f9d 100644 --- a/misc/suite-helpers/qlpack.yml +++ b/misc/suite-helpers/qlpack.yml @@ -1,4 +1,4 @@ name: codeql/suite-helpers -version: 1.0.12 +version: 1.0.13-dev groups: shared warnOnImplicitThis: true diff --git a/python/ql/lib/qlpack.yml b/python/ql/lib/qlpack.yml index 6c2dd3c9d71..290189efa13 100644 --- a/python/ql/lib/qlpack.yml +++ b/python/ql/lib/qlpack.yml @@ -1,5 +1,5 @@ name: codeql/python-all -version: 2.2.0 +version: 2.2.1-dev groups: python dbscheme: semmlecode.python.dbscheme extractor: python diff --git a/python/ql/src/qlpack.yml b/python/ql/src/qlpack.yml index 76133c2a243..d84402123dc 100644 --- a/python/ql/src/qlpack.yml +++ b/python/ql/src/qlpack.yml @@ -1,5 +1,5 @@ name: codeql/python-queries -version: 1.3.3 +version: 1.3.4-dev groups: - python - queries diff --git a/ruby/ql/lib/qlpack.yml b/ruby/ql/lib/qlpack.yml index 60aa6608a46..97259f5dd36 100644 --- a/ruby/ql/lib/qlpack.yml +++ b/ruby/ql/lib/qlpack.yml @@ -1,5 +1,5 @@ name: codeql/ruby-all -version: 2.0.4 +version: 2.0.5-dev groups: ruby extractor: ruby dbscheme: ruby.dbscheme diff --git a/ruby/ql/src/qlpack.yml b/ruby/ql/src/qlpack.yml index d34551aeb15..26ac8866ae0 100644 --- a/ruby/ql/src/qlpack.yml +++ b/ruby/ql/src/qlpack.yml @@ -1,5 +1,5 @@ name: codeql/ruby-queries -version: 1.1.7 +version: 1.1.8-dev groups: - ruby - queries diff --git a/shared/controlflow/qlpack.yml b/shared/controlflow/qlpack.yml index c7554d77bb4..da4368217d3 100644 --- a/shared/controlflow/qlpack.yml +++ b/shared/controlflow/qlpack.yml @@ -1,5 +1,5 @@ name: codeql/controlflow -version: 1.0.12 +version: 1.0.13-dev groups: shared library: true dependencies: diff --git a/shared/dataflow/qlpack.yml b/shared/dataflow/qlpack.yml index 3e488555c7d..15f77aa0a3a 100644 --- a/shared/dataflow/qlpack.yml +++ b/shared/dataflow/qlpack.yml @@ -1,5 +1,5 @@ name: codeql/dataflow -version: 1.1.6 +version: 1.1.7-dev groups: shared library: true dependencies: diff --git a/shared/mad/qlpack.yml b/shared/mad/qlpack.yml index 7c6a961cb99..8ce60ad0cc9 100644 --- a/shared/mad/qlpack.yml +++ b/shared/mad/qlpack.yml @@ -1,5 +1,5 @@ name: codeql/mad -version: 1.0.12 +version: 1.0.13-dev groups: shared library: true dependencies: diff --git a/shared/rangeanalysis/qlpack.yml b/shared/rangeanalysis/qlpack.yml index 6a61414dd46..ee5954cae0b 100644 --- a/shared/rangeanalysis/qlpack.yml +++ b/shared/rangeanalysis/qlpack.yml @@ -1,5 +1,5 @@ name: codeql/rangeanalysis -version: 1.0.12 +version: 1.0.13-dev groups: shared library: true dependencies: diff --git a/shared/regex/qlpack.yml b/shared/regex/qlpack.yml index 3ab27085789..34aa1065398 100644 --- a/shared/regex/qlpack.yml +++ b/shared/regex/qlpack.yml @@ -1,5 +1,5 @@ name: codeql/regex -version: 1.0.12 +version: 1.0.13-dev groups: shared library: true dependencies: diff --git a/shared/ssa/qlpack.yml b/shared/ssa/qlpack.yml index 1957224936f..145cd9e2192 100644 --- a/shared/ssa/qlpack.yml +++ b/shared/ssa/qlpack.yml @@ -1,5 +1,5 @@ name: codeql/ssa -version: 1.0.12 +version: 1.0.13-dev groups: shared library: true dependencies: diff --git a/shared/threat-models/qlpack.yml b/shared/threat-models/qlpack.yml index 637773d6bfb..16ca1fe3a88 100644 --- a/shared/threat-models/qlpack.yml +++ b/shared/threat-models/qlpack.yml @@ -1,5 +1,5 @@ name: codeql/threat-models -version: 1.0.12 +version: 1.0.13-dev library: true groups: shared dataExtensions: diff --git a/shared/tutorial/qlpack.yml b/shared/tutorial/qlpack.yml index f4c164e1052..14cbbbdc067 100644 --- a/shared/tutorial/qlpack.yml +++ b/shared/tutorial/qlpack.yml @@ -1,7 +1,7 @@ name: codeql/tutorial description: Library for the CodeQL detective tutorials, helping new users learn to write CodeQL queries. -version: 1.0.12 +version: 1.0.13-dev groups: shared library: true warnOnImplicitThis: true diff --git a/shared/typeflow/qlpack.yml b/shared/typeflow/qlpack.yml index 514743bcb4d..5a659a4559d 100644 --- a/shared/typeflow/qlpack.yml +++ b/shared/typeflow/qlpack.yml @@ -1,5 +1,5 @@ name: codeql/typeflow -version: 1.0.12 +version: 1.0.13-dev groups: shared library: true dependencies: diff --git a/shared/typetracking/qlpack.yml b/shared/typetracking/qlpack.yml index b7c3832bef1..216cc8696d9 100644 --- a/shared/typetracking/qlpack.yml +++ b/shared/typetracking/qlpack.yml @@ -1,5 +1,5 @@ name: codeql/typetracking -version: 1.0.12 +version: 1.0.13-dev groups: shared library: true dependencies: diff --git a/shared/typos/qlpack.yml b/shared/typos/qlpack.yml index cbb4019306e..8c1a93efe5e 100644 --- a/shared/typos/qlpack.yml +++ b/shared/typos/qlpack.yml @@ -1,5 +1,5 @@ name: codeql/typos -version: 1.0.12 +version: 1.0.13-dev groups: shared library: true warnOnImplicitThis: true diff --git a/shared/util/qlpack.yml b/shared/util/qlpack.yml index ebc22562a77..83284f19cc3 100644 --- a/shared/util/qlpack.yml +++ b/shared/util/qlpack.yml @@ -1,5 +1,5 @@ name: codeql/util -version: 1.0.12 +version: 1.0.13-dev groups: shared library: true dependencies: null diff --git a/shared/xml/qlpack.yml b/shared/xml/qlpack.yml index 902f7735b18..f48f41ef3ff 100644 --- a/shared/xml/qlpack.yml +++ b/shared/xml/qlpack.yml @@ -1,5 +1,5 @@ name: codeql/xml -version: 1.0.12 +version: 1.0.13-dev groups: shared library: true dependencies: diff --git a/shared/yaml/qlpack.yml b/shared/yaml/qlpack.yml index 4d5cd01611f..54880a8cf2f 100644 --- a/shared/yaml/qlpack.yml +++ b/shared/yaml/qlpack.yml @@ -1,5 +1,5 @@ name: codeql/yaml -version: 1.0.12 +version: 1.0.13-dev groups: shared library: true warnOnImplicitThis: true diff --git a/swift/ql/lib/qlpack.yml b/swift/ql/lib/qlpack.yml index 1197bd99667..2e855546d50 100644 --- a/swift/ql/lib/qlpack.yml +++ b/swift/ql/lib/qlpack.yml @@ -1,5 +1,5 @@ name: codeql/swift-all -version: 2.0.4 +version: 2.0.5-dev groups: swift extractor: swift dbscheme: swift.dbscheme diff --git a/swift/ql/src/qlpack.yml b/swift/ql/src/qlpack.yml index 128ca2b26ea..1d9f7154cda 100644 --- a/swift/ql/src/qlpack.yml +++ b/swift/ql/src/qlpack.yml @@ -1,5 +1,5 @@ name: codeql/swift-queries -version: 1.0.12 +version: 1.0.13-dev groups: - swift - queries From 7e0e5a3f4efd2468be1108e63c6ef4a5662ef249 Mon Sep 17 00:00:00 2001 From: Paolo Tranquilli Date: Fri, 29 Nov 2024 12:01:50 +0100 Subject: [PATCH 39/46] Rust: move `rust_sysroot_src` to its own session fixture --- rust/ql/integration-tests/conftest.py | 12 +++++++++--- 1 file changed, 9 insertions(+), 3 deletions(-) diff --git a/rust/ql/integration-tests/conftest.py b/rust/ql/integration-tests/conftest.py index 11eefe7e265..a1fbcf4e18d 100644 --- a/rust/ql/integration-tests/conftest.py +++ b/rust/ql/integration-tests/conftest.py @@ -4,18 +4,24 @@ import commands import pathlib +@pytest.fixture def cargo(cwd): assert (cwd / "Cargo.toml").exists() (cwd / "rust-project.json").unlink(missing_ok=True) +@pytest.fixture(scope="session") +def rust_sysroot_src() -> str: + rust_sysroot = pathlib.Path(commands.run("rustc --print sysroot", _capture=True)) + ret = rust_sysroot.joinpath("lib", "rustlib", "src", "rust", "library") + assert ret.exists() + return str(ret) @pytest.fixture -def rust_project(cwd): +def rust_project(cwd, rust_sysroot_src): project_file = cwd / "rust-project.json" assert project_file.exists() - rust_sysroot = pathlib.Path(commands.run("rustc --print sysroot", _capture=True)) project = json.loads(project_file.read_text()) - project["sysroot_src"] = str(rust_sysroot.joinpath("lib", "rustlib", "src", "rust", "library")) + project["sysroot_src"] = rust_sysroot_src project_file.write_text(json.dumps(project, indent=4)) (cwd / "Cargo.toml").unlink(missing_ok=True) From b57a37479b25648a0cdd3925e10a9ed85f779fc7 Mon Sep 17 00:00:00 2001 From: Paolo Tranquilli Date: Mon, 2 Dec 2024 15:15:46 +0100 Subject: [PATCH 40/46] Rust: make `File` usable in `codegen` --- misc/codegen/generators/dbschemegen.py | 3 +- misc/codegen/generators/qlgen.py | 35 ++++++++++---- misc/codegen/generators/rustgen.py | 16 ++++--- misc/codegen/generators/rusttestgen.py | 2 + misc/codegen/lib/ql.py | 6 +-- misc/codegen/lib/schema.py | 28 ++++++++--- misc/codegen/lib/schemadefs.py | 7 +-- misc/codegen/loaders/schemaloader.py | 6 ++- misc/codegen/templates/ql_class.mustache | 2 +- misc/codegen/templates/ql_db.mustache | 4 ++ misc/codegen/test/test_ql.py | 15 ------ misc/codegen/test/test_qlgen.py | 4 +- rust/extractor/src/generated/.generated.list | 2 +- rust/extractor/src/generated/top.rs | 40 ++++++++++++++++ rust/extractor/src/main.rs | 21 ++++----- rust/extractor/src/translate/base.rs | 5 +- rust/extractor/src/trap.rs | 14 +++--- rust/prefix.dbscheme | 7 --- rust/ql/.generated.list | 13 ++++-- rust/ql/.gitattributes | 3 ++ .../integration-tests/hello-project/steps.ql | 2 +- .../hello-project/summary.expected | 2 +- .../hello-workspace/steps.ql | 2 +- ...ummary.expected => summary.cargo.expected} | 2 +- .../summary.rust-project.expected | 17 +++++++ .../hello-workspace/test_workspace.py | 2 + rust/ql/lib/codeql/files/FileSystem.qll | 2 +- rust/ql/lib/codeql/rust/elements.qll | 1 + .../rust/elements/internal/ExtractorStep.qll | 13 ++++++ .../internal/ExtractorStepConstructor.qll | 14 ++++++ .../elements/internal/ExtractorStepImpl.qll | 32 +++++++++++++ .../internal/generated/ExtractorStep.qll | 45 ++++++++++++++++++ .../internal/generated/ParentChild.qll | 18 ++++++++ .../rust/elements/internal/generated/Raw.qll | 24 ++++++++++ .../elements/internal/generated/Synth.qll | 20 ++++++++ .../internal/generated/SynthConstructors.qll | 1 + .../codeql/rust/internal/ExtractorStep.qll | 46 ------------------- rust/ql/lib/rust.dbscheme | 19 ++++---- rust/schema/prelude.py | 9 ++++ swift/ql/.generated.list | 2 +- 40 files changed, 364 insertions(+), 142 deletions(-) rename rust/ql/integration-tests/hello-workspace/{summary.expected => summary.cargo.expected} (94%) create mode 100644 rust/ql/integration-tests/hello-workspace/summary.rust-project.expected create mode 100644 rust/ql/lib/codeql/rust/elements/internal/ExtractorStep.qll create mode 100644 rust/ql/lib/codeql/rust/elements/internal/ExtractorStepConstructor.qll create mode 100644 rust/ql/lib/codeql/rust/elements/internal/ExtractorStepImpl.qll create mode 100644 rust/ql/lib/codeql/rust/elements/internal/generated/ExtractorStep.qll delete mode 100644 rust/ql/lib/codeql/rust/internal/ExtractorStep.qll diff --git a/misc/codegen/generators/dbschemegen.py b/misc/codegen/generators/dbschemegen.py index 2c3cd5598d5..e2cc4220dc7 100755 --- a/misc/codegen/generators/dbschemegen.py +++ b/misc/codegen/generators/dbschemegen.py @@ -110,7 +110,8 @@ def cls_to_dbscheme(cls: schema.Class, lookup: typing.Dict[str, schema.Class], a def get_declarations(data: schema.Schema): add_or_none_except = data.root_class.name if data.null else None - declarations = [d for cls in data.classes.values() for d in cls_to_dbscheme(cls, data.classes, add_or_none_except)] + declarations = [d for cls in data.classes.values() if not cls.imported for d in cls_to_dbscheme(cls, + data.classes, add_or_none_except)] if data.null: property_classes = { prop.type for cls in data.classes.values() for prop in cls.properties diff --git a/misc/codegen/generators/qlgen.py b/misc/codegen/generators/qlgen.py index e42c9d01552..feb2250bf3b 100755 --- a/misc/codegen/generators/qlgen.py +++ b/misc/codegen/generators/qlgen.py @@ -104,8 +104,17 @@ def _get_doc(cls: schema.Class, prop: schema.Property, plural=None): return f"{prop_name} of this {class_name}" -def get_ql_property(cls: schema.Class, prop: schema.Property, lookup: typing.Dict[str, schema.Class], +def _type_is_hideable(t: str, lookup: typing.Dict[str, schema.ClassBase]) -> bool: + if t in lookup: + match lookup[t]: + case schema.Class() as cls: + return "ql_hideable" in cls.pragmas + return False + + +def get_ql_property(cls: schema.Class, prop: schema.Property, lookup: typing.Dict[str, schema.ClassBase], prev_child: str = "") -> ql.Property: + args = dict( type=prop.type if not prop.is_predicate else "predicate", qltest_skip="qltest_skip" in prop.pragmas, @@ -115,7 +124,8 @@ def get_ql_property(cls: schema.Class, prop: schema.Property, lookup: typing.Dic is_unordered=prop.is_unordered, description=prop.description, synth=bool(cls.synth) or prop.synth, - type_is_hideable="ql_hideable" in lookup[prop.type].pragmas if prop.type in lookup else False, + type_is_hideable=_type_is_hideable(prop.type, lookup), + type_is_codegen_class=prop.type in lookup and not lookup[prop.type].imported, internal="ql_internal" in prop.pragmas, ) ql_name = prop.pragmas.get("ql_name", prop.name) @@ -154,7 +164,7 @@ def get_ql_property(cls: schema.Class, prop: schema.Property, lookup: typing.Dic return ql.Property(**args) -def get_ql_class(cls: schema.Class, lookup: typing.Dict[str, schema.Class]) -> ql.Class: +def get_ql_class(cls: schema.Class, lookup: typing.Dict[str, schema.ClassBase]) -> ql.Class: if "ql_name" in cls.pragmas: raise Error("ql_name is not supported yet for classes, only for properties") prev_child = "" @@ -391,14 +401,15 @@ def generate(opts, renderer): data = schemaloader.load_file(input) - classes = {name: get_ql_class(cls, data.classes) for name, cls in data.classes.items()} + classes = {name: get_ql_class(cls, data.classes) for name, cls in data.classes.items() if not cls.imported} if not classes: raise NoClasses root = next(iter(classes.values())) if root.has_children: raise RootElementHasChildren(root) - imports = {} + pre_imports = {n: cls.module for n, cls in data.classes.items() if cls.imported} + imports = dict(pre_imports) imports_impl = {} classes_used_by = {} cfg_classes = [] @@ -410,7 +421,7 @@ def generate(opts, renderer): force=opts.force) as renderer: db_classes = [cls for name, cls in classes.items() if not data.classes[name].synth] - renderer.render(ql.DbClasses(db_classes), out / "Raw.qll") + renderer.render(ql.DbClasses(classes=db_classes, imports=sorted(set(pre_imports.values()))), out / "Raw.qll") classes_by_dir_and_name = sorted(classes.values(), key=lambda cls: (cls.dir, cls.name)) for c in classes_by_dir_and_name: @@ -439,6 +450,8 @@ def generate(opts, renderer): renderer.render(cfg_classes_val, cfg_qll) for c in data.classes.values(): + if c.imported: + continue path = _get_path(c) path_impl = _get_path_impl(c) stub_file = stub_out / path_impl @@ -457,7 +470,7 @@ def generate(opts, renderer): renderer.render(class_public, class_public_file) # for example path/to/elements -> path/to/elements.qll - renderer.render(ql.ImportList([i for name, i in imports.items() if not classes[name].internal]), + renderer.render(ql.ImportList([i for name, i in imports.items() if name not in classes or not classes[name].internal]), include_file) elements_module = get_import(include_file, opts.root_dir) @@ -465,12 +478,15 @@ def generate(opts, renderer): renderer.render( ql.GetParentImplementation( classes=list(classes.values()), - imports=[elements_module] + [i for name, i in imports.items() if classes[name].internal], + imports=[elements_module] + [i for name, + i in imports.items() if name in classes and classes[name].internal], ), out / 'ParentChild.qll') if test_out: for c in data.classes.values(): + if c.imported: + continue if should_skip_qltest(c, data.classes): continue test_with_name = c.pragmas.get("qltest_test_with") @@ -500,7 +516,8 @@ def generate(opts, renderer): constructor_imports = [] synth_constructor_imports = [] stubs = {} - for cls in sorted(data.classes.values(), key=lambda cls: (cls.group, cls.name)): + for cls in sorted((cls for cls in data.classes.values() if not cls.imported), + key=lambda cls: (cls.group, cls.name)): synth_type = get_ql_synth_class(cls) if synth_type.is_final: final_synth_types.append(synth_type) diff --git a/misc/codegen/generators/rustgen.py b/misc/codegen/generators/rustgen.py index f4c977c0fdb..b47e5cc4bd9 100644 --- a/misc/codegen/generators/rustgen.py +++ b/misc/codegen/generators/rustgen.py @@ -49,7 +49,7 @@ def _get_field(cls: schema.Class, p: schema.Property) -> rust.Field: def _get_properties( - cls: schema.Class, lookup: dict[str, schema.Class], + cls: schema.Class, lookup: dict[str, schema.ClassBase], ) -> typing.Iterable[tuple[schema.Class, schema.Property]]: for b in cls.bases: yield from _get_properties(lookup[b], lookup) @@ -58,12 +58,14 @@ def _get_properties( def _get_ancestors( - cls: schema.Class, lookup: dict[str, schema.Class] + cls: schema.Class, lookup: dict[str, schema.ClassBase] ) -> typing.Iterable[schema.Class]: for b in cls.bases: base = lookup[b] - yield base - yield from _get_ancestors(base, lookup) + if not base.imported: + base = typing.cast(schema.Class, base) + yield base + yield from _get_ancestors(base, lookup) class Processor: @@ -71,7 +73,7 @@ class Processor: self._classmap = data.classes def _get_class(self, name: str) -> rust.Class: - cls = self._classmap[name] + cls = typing.cast(schema.Class, self._classmap[name]) properties = [ (c, p) for c, p in _get_properties(cls, self._classmap) @@ -101,8 +103,10 @@ class Processor: def get_classes(self): ret = {"": []} for k, cls in self._classmap.items(): - if not cls.synth: + if not cls.imported and not cls.synth: ret.setdefault(cls.group, []).append(self._get_class(cls.name)) + elif cls.imported: + ret[""].append(rust.Class(name=cls.name)) return ret diff --git a/misc/codegen/generators/rusttestgen.py b/misc/codegen/generators/rusttestgen.py index d360db27a65..e7a23fedacd 100644 --- a/misc/codegen/generators/rusttestgen.py +++ b/misc/codegen/generators/rusttestgen.py @@ -56,6 +56,8 @@ def generate(opts, renderer): registry=opts.ql_test_output / ".generated_tests.list", force=opts.force) as renderer: for cls in schema.classes.values(): + if cls.imported: + continue if (qlgen.should_skip_qltest(cls, schema.classes) or "rust_skip_doc_test" in cls.pragmas): continue diff --git a/misc/codegen/lib/ql.py b/misc/codegen/lib/ql.py index 1182c7f5dc1..b9362a556ef 100644 --- a/misc/codegen/lib/ql.py +++ b/misc/codegen/lib/ql.py @@ -44,6 +44,7 @@ class Property: doc_plural: Optional[str] = None synth: bool = False type_is_hideable: bool = False + type_is_codegen_class: bool = False internal: bool = False cfg: bool = False @@ -66,10 +67,6 @@ class Property: article = "An" if self.singular[0] in "AEIO" else "A" return f"get{article}{self.singular}" - @property - def type_is_class(self): - return bool(self.type) and self.type[0].isupper() - @property def is_repeated(self): return bool(self.plural) @@ -191,6 +188,7 @@ class DbClasses: template: ClassVar = 'ql_db' classes: List[Class] = field(default_factory=list) + imports: List[str] = field(default_factory=list) @dataclass diff --git a/misc/codegen/lib/schema.py b/misc/codegen/lib/schema.py index 23f1aea2ba4..5178e61d384 100644 --- a/misc/codegen/lib/schema.py +++ b/misc/codegen/lib/schema.py @@ -3,7 +3,7 @@ import abc import typing from collections.abc import Iterable from dataclasses import dataclass, field -from typing import List, Set, Union, Dict, Optional +from typing import List, Set, Union, Dict, Optional, FrozenSet from enum import Enum, auto import functools @@ -87,8 +87,22 @@ class SynthInfo: @dataclass -class Class: +class ClassBase: + imported: typing.ClassVar[bool] name: str + + +@dataclass +class ImportedClass(ClassBase): + imported: typing.ClassVar[bool] = True + + module: str + + +@dataclass +class Class(ClassBase): + imported: typing.ClassVar[bool] = False + bases: List[str] = field(default_factory=list) derived: Set[str] = field(default_factory=set) properties: List[Property] = field(default_factory=list) @@ -133,7 +147,7 @@ class Class: @dataclass class Schema: - classes: Dict[str, Class] = field(default_factory=dict) + classes: Dict[str, ClassBase] = field(default_factory=dict) includes: List[str] = field(default_factory=list) null: Optional[str] = None @@ -155,7 +169,7 @@ class Schema: predicate_marker = object() -TypeRef = Union[type, str] +TypeRef = type | str | ImportedClass def get_type_name(arg: TypeRef) -> str: @@ -164,6 +178,8 @@ def get_type_name(arg: TypeRef) -> str: return arg.__name__ case str(): return arg + case ImportedClass(): + return arg.name case _: raise Error(f"Not a schema type or string ({arg})") @@ -172,9 +188,9 @@ def _make_property(arg: object) -> Property: match arg: case _ if arg is predicate_marker: return PredicateProperty() - case str() | type(): + case (str() | type() | ImportedClass()) as arg: return SingleProperty(type=get_type_name(arg)) - case Property(): + case Property() as arg: return arg case _: raise Error(f"Illegal property specifier {arg}") diff --git a/misc/codegen/lib/schemadefs.py b/misc/codegen/lib/schemadefs.py index 8651240c1a3..c81b2f2e215 100644 --- a/misc/codegen/lib/schemadefs.py +++ b/misc/codegen/lib/schemadefs.py @@ -8,8 +8,6 @@ from misc.codegen.lib import schema as _schema import inspect as _inspect from dataclasses import dataclass as _dataclass -from misc.codegen.lib.schema import Property - _set = set @@ -69,6 +67,9 @@ def include(source: str): _inspect.currentframe().f_back.f_locals.setdefault("includes", []).append(source) +imported = _schema.ImportedClass + + @_dataclass class _Namespace: """ simple namespacing mechanism """ @@ -264,7 +265,7 @@ class _PropertyModifierList(_schema.PropertyModifier): def __or__(self, other: _schema.PropertyModifier): return _PropertyModifierList(self._mods + (other,)) - def modify(self, prop: Property): + def modify(self, prop: _schema.Property): for m in self._mods: m.modify(prop) diff --git a/misc/codegen/loaders/schemaloader.py b/misc/codegen/loaders/schemaloader.py index dd1edee1de0..3b5f20cbbed 100644 --- a/misc/codegen/loaders/schemaloader.py +++ b/misc/codegen/loaders/schemaloader.py @@ -132,6 +132,7 @@ def _check_test_with(classes: typing.Dict[str, schema.Class]): def load(m: types.ModuleType) -> schema.Schema: includes = set() classes = {} + imported_classes = {} known = {"int", "string", "boolean"} known.update(n for n in m.__dict__ if not n.startswith("__")) import misc.codegen.lib.schemadefs as defs @@ -146,6 +147,9 @@ def load(m: types.ModuleType) -> schema.Schema: continue if isinstance(data, types.ModuleType): continue + if isinstance(data, schema.ImportedClass): + imported_classes[name] = data + continue cls = _get_class(data) if classes and not cls.bases: raise schema.Error( @@ -162,7 +166,7 @@ def load(m: types.ModuleType) -> schema.Schema: _fill_hideable_information(classes) _check_test_with(classes) - return schema.Schema(includes=includes, classes=_toposort_classes_by_group(classes), null=null) + return schema.Schema(includes=includes, classes=imported_classes | _toposort_classes_by_group(classes), null=null) def load_file(path: pathlib.Path) -> schema.Schema: diff --git a/misc/codegen/templates/ql_class.mustache b/misc/codegen/templates/ql_class.mustache index da6524d6d37..d39238ff9ba 100644 --- a/misc/codegen/templates/ql_class.mustache +++ b/misc/codegen/templates/ql_class.mustache @@ -113,7 +113,7 @@ module Generated { */ {{type}} {{getter}}({{#is_indexed}}int index{{/is_indexed}}) { {{^synth}} - {{^is_predicate}}result = {{/is_predicate}}{{#type_is_class}}Synth::convert{{type}}FromRaw({{/type_is_class}}Synth::convert{{name}}ToRaw(this){{^root}}.(Raw::{{name}}){{/root}}.{{getter}}({{#is_indexed}}index{{/is_indexed}}){{#type_is_class}}){{/type_is_class}} + {{^is_predicate}}result = {{/is_predicate}}{{#type_is_codegen_class}}Synth::convert{{type}}FromRaw({{/type_is_codegen_class}}Synth::convert{{name}}ToRaw(this){{^root}}.(Raw::{{name}}){{/root}}.{{getter}}({{#is_indexed}}index{{/is_indexed}}){{#type_is_codegen_class}}){{/type_is_codegen_class}} {{/synth}} {{#synth}} none() diff --git a/misc/codegen/templates/ql_db.mustache b/misc/codegen/templates/ql_db.mustache index 8326bb3adb7..e63e0aae903 100644 --- a/misc/codegen/templates/ql_db.mustache +++ b/misc/codegen/templates/ql_db.mustache @@ -3,6 +3,10 @@ * This module holds thin fully generated class definitions around DB entities. */ module Raw { + {{#imports}} + private import {{.}} + {{/imports}} + {{#classes}} /** * INTERNAL: Do not use. diff --git a/misc/codegen/test/test_ql.py b/misc/codegen/test/test_ql.py index eef840ddad6..e326e65a9e4 100644 --- a/misc/codegen/test/test_ql.py +++ b/misc/codegen/test/test_ql.py @@ -12,21 +12,6 @@ def test_property_has_first_table_param_marked(): assert [p.param for p in prop.tableparams] == tableparams -@pytest.mark.parametrize("type,expected", [ - ("Foo", True), - ("Bar", True), - ("foo", False), - ("bar", False), - (None, False), -]) -def test_property_is_a_class(type, expected): - tableparams = ["a", "result", "b"] - expected_tableparams = ["a", "result" if expected else "result", "b"] - prop = ql.Property("Prop", type, tableparams=tableparams) - assert prop.type_is_class is expected - assert [p.param for p in prop.tableparams] == expected_tableparams - - indefinite_getters = [ ("Argument", "getAnArgument"), ("Element", "getAnElement"), diff --git a/misc/codegen/test/test_qlgen.py b/misc/codegen/test/test_qlgen.py index 684d3d6a1a1..431f25d5aae 100644 --- a/misc/codegen/test/test_qlgen.py +++ b/misc/codegen/test/test_qlgen.py @@ -448,7 +448,8 @@ def test_single_class_property(generate_classes, is_child, prev_child): ql.Property(singular="Foo", type="Bar", tablename="my_objects", tableparams=[ "this", "result"], - prev_child=prev_child, doc="foo of this my object"), + prev_child=prev_child, doc="foo of this my object", + type_is_codegen_class=True), ], )), "Bar.qll": (a_ql_class_public(name="Bar"), a_ql_stub(name="Bar"), a_ql_class(name="Bar", final=True, imports=[stub_import_prefix + "Bar"])), @@ -1006,6 +1007,7 @@ def test_hideable_property(generate_classes): final=True, properties=[ ql.Property(singular="X", type="MyObject", tablename="others", type_is_hideable=True, + type_is_codegen_class=True, tableparams=["this", "result"], doc="x of this other"), ])), } diff --git a/rust/extractor/src/generated/.generated.list b/rust/extractor/src/generated/.generated.list index ec1f2815442..149169eecf0 100644 --- a/rust/extractor/src/generated/.generated.list +++ b/rust/extractor/src/generated/.generated.list @@ -1,2 +1,2 @@ mod.rs 4bcb9def847469aae9d8649461546b7c21ec97cf6e63d3cf394e339915ce65d7 4bcb9def847469aae9d8649461546b7c21ec97cf6e63d3cf394e339915ce65d7 -top.rs 272ecf2f56f35211d2449dbf55b1907d8414a8e4cceded03fd12f6f599852c73 272ecf2f56f35211d2449dbf55b1907d8414a8e4cceded03fd12f6f599852c73 +top.rs 0213b8cffeaf38c561be6362078994a150e532f580f0b7a9373252155f595005 0213b8cffeaf38c561be6362078994a150e532f580f0b7a9373252155f595005 diff --git a/rust/extractor/src/generated/top.rs b/rust/extractor/src/generated/top.rs index 73048514fda..fd6dbadc289 100644 --- a/rust/extractor/src/generated/top.rs +++ b/rust/extractor/src/generated/top.rs @@ -4,6 +4,15 @@ use crate::trap; +#[derive(Debug)] +pub struct File { + _unused: () +} + +impl trap::TrapClass for File { + fn class_name() -> &'static str { "File" } +} + #[derive(Debug)] pub struct Element { _unused: () @@ -13,6 +22,37 @@ impl trap::TrapClass for Element { fn class_name() -> &'static str { "Element" } } +#[derive(Debug)] +pub struct ExtractorStep { + pub id: trap::TrapId, + pub action: String, + pub file: trap::Label, + pub duration_ms: usize, +} + +impl trap::TrapEntry for ExtractorStep { + fn extract_id(&mut self) -> trap::TrapId { + std::mem::replace(&mut self.id, trap::TrapId::Star) + } + + fn emit(self, id: trap::Label, out: &mut trap::Writer) { + out.add_tuple("extractor_steps", vec![id.into(), self.action.into(), self.file.into(), self.duration_ms.into()]); + } +} + +impl trap::TrapClass for ExtractorStep { + fn class_name() -> &'static str { "ExtractorStep" } +} + +impl From> for trap::Label { + fn from(value: trap::Label) -> Self { + // SAFETY: this is safe because in the dbscheme ExtractorStep is a subclass of Element + unsafe { + Self::from_untyped(value.as_untyped()) + } + } +} + #[derive(Debug)] pub struct Locatable { _unused: () diff --git a/rust/extractor/src/main.rs b/rust/extractor/src/main.rs index a3258f16d09..86aeb09f6a4 100644 --- a/rust/extractor/src/main.rs +++ b/rust/extractor/src/main.rs @@ -1,5 +1,6 @@ use crate::diagnostics::{emit_extraction_diagnostics, ExtractionStep}; use crate::rust_analyzer::path_to_file_id; +use crate::trap::TrapId; use anyhow::Context; use archive::Archiver; use log::{info, warn}; @@ -143,21 +144,17 @@ impl<'a> Extractor<'a> { emit_extraction_diagnostics(start, cfg, &self.steps)?; let mut trap = self.traps.create("diagnostics", "extraction"); for step in self.steps { - let file_label = trap.emit_file(&step.file); - let step_label = trap.writer.fresh_id(); - let ms = usize::try_from(step.ms).unwrap_or_else(|_e| { + let file = trap.emit_file(&step.file); + let duration_ms = usize::try_from(step.ms).unwrap_or_else(|_e| { warn!("extraction step duration overflowed ({step:?})"); i32::MAX as usize }); - trap.writer.add_tuple( - "extractor_steps", - vec![ - step_label.into(), - format!("{:?}", step.action).into(), - file_label.into(), - ms.into(), - ], - ); + trap.emit(generated::ExtractorStep { + id: TrapId::Star, + action: format!("{:?}", step.action), + file, + duration_ms, + }); } trap.commit()?; Ok(()) diff --git a/rust/extractor/src/translate/base.rs b/rust/extractor/src/translate/base.rs index 003c86919b6..396816c6a0c 100644 --- a/rust/extractor/src/translate/base.rs +++ b/rust/extractor/src/translate/base.rs @@ -4,7 +4,6 @@ use crate::generated::{self}; use crate::rust_analyzer::FileSemanticInformation; use crate::trap::{DiagnosticSeverity, TrapFile, TrapId}; use crate::trap::{Label, TrapClass}; -use codeql_extractor::trap::{self}; use itertools::Either; use log::Level; use ra_ap_base_db::salsa::InternKey; @@ -65,7 +64,7 @@ macro_rules! emit_detached { pub struct Translator<'a> { pub trap: TrapFile, path: &'a str, - label: trap::Label, + label: Label, line_index: LineIndex, file_id: Option, pub semantics: Option<&'a Semantics<'a, RootDatabase>>, @@ -75,7 +74,7 @@ impl<'a> Translator<'a> { pub fn new( trap: TrapFile, path: &'a str, - label: trap::Label, + label: Label, line_index: LineIndex, semantic_info: Option<&FileSemanticInformation<'a>>, ) -> Translator<'a> { diff --git a/rust/extractor/src/trap.rs b/rust/extractor/src/trap.rs index c993fa046a7..6c8e9b2c3c8 100644 --- a/rust/extractor/src/trap.rs +++ b/rust/extractor/src/trap.rs @@ -1,5 +1,5 @@ -use crate::config; use crate::config::Compression; +use crate::{config, generated}; use codeql_extractor::{extractor, file_paths, trap}; use log::debug; use ra_ap_ide_db::line_index::LineCol; @@ -138,7 +138,7 @@ pub enum DiagnosticSeverity { impl TrapFile { pub fn emit_location_label( &mut self, - file_label: UntypedLabel, + file_label: Label, start: LineCol, end: LineCol, ) -> UntypedLabel { @@ -149,7 +149,7 @@ impl TrapFile { extractor::location_label( &mut self.writer, trap::Location { - file_label, + file_label: file_label.as_untyped(), start_line, start_column, end_line, @@ -159,7 +159,7 @@ impl TrapFile { } pub fn emit_location( &mut self, - file_label: UntypedLabel, + file_label: Label, entity_label: Label, start: LineCol, end: LineCol, @@ -192,8 +192,10 @@ impl TrapFile { ], ); } - pub fn emit_file(&mut self, absolute_path: &Path) -> trap::Label { - extractor::populate_file(&mut self.writer, absolute_path) + pub fn emit_file(&mut self, absolute_path: &Path) -> Label { + let untyped = extractor::populate_file(&mut self.writer, absolute_path); + // SAFETY: populate_file emits `@file` typed labels + unsafe { Label::from_untyped(untyped) } } pub fn label(&mut self, id: TrapId) -> Label { diff --git a/rust/prefix.dbscheme b/rust/prefix.dbscheme index 5ccbd3438d1..4810e11069d 100644 --- a/rust/prefix.dbscheme +++ b/rust/prefix.dbscheme @@ -3,10 +3,3 @@ locatable_locations( int id: @locatable ref, int location: @location_default ref ); - -extractor_steps( - unique int id: @extractor_step, - string action: string ref, - int file: @file ref, - int duration_ms: int ref -) diff --git a/rust/ql/.generated.list b/rust/ql/.generated.list index b0c71e3ef01..95e3cd9d349 100644 --- a/rust/ql/.generated.list +++ b/rust/ql/.generated.list @@ -222,6 +222,8 @@ lib/codeql/rust/elements/internal/ExternCrateImpl.qll ade4df9d3f87daf6534b8e79ff lib/codeql/rust/elements/internal/ExternItemImpl.qll 577c8ac387c47746e3b45f943374c7ab641e8ad119e8591c31f219a5f08d3a29 bba88b974d1c03c78e0caf3d8f4118426d2aa8bd6ffd6f59a3da8ff1524a173f lib/codeql/rust/elements/internal/ExternItemListConstructor.qll 9e4f6a036707c848c0553119272fd2b11c1740dd9910a626a9a0cf68a55b249b efde86b18bd419154fb5b6d28790a14ea989b317d84b5c1ddbdfb29c6924fd86 lib/codeql/rust/elements/internal/ExternItemListImpl.qll e89d0cf938f6e137ba1ce7907a923b1ab2be7be2fdd642c3b7a722f11b9199f8 85906d3ce89e5abc301cc96ea5104d53e90af3f5f22f8d54ec437687096e39d8 +lib/codeql/rust/elements/internal/ExtractorStep.qll 1c65668007ea71d05333e44132eccc01dc2a2b4908fb37d0a73995119d3ed5f0 8cbe1eeb35bc2bc95c1b7765070d1ff58aae03fd28dc94896b091858eea40efe +lib/codeql/rust/elements/internal/ExtractorStepConstructor.qll 00c527a3139ad399ea1efd0ebe4656372d70f6c4e79136bc497a6cb84becae8e 93817f3dddeaf2c0964ab31c2df451dcee0aeba7cb6520803d8ce42cefcb3703 lib/codeql/rust/elements/internal/FieldExprConstructor.qll b3be2c4ccaf2c8a1283f3d5349d7f4f49f87b35e310ef33491023c5ab6f3abc5 645d0d4073b032f6b7284fc36a10a6ec85596fb95c68f30c09504f2c5a6f789f lib/codeql/rust/elements/internal/FieldListImpl.qll 02a09d1d146030c68cead4614f4eef75854f19e55ed1eda60b34c4858a8d4a88 9b9f5e77546434c771d2f785119577ec46569a18473daa4169fb84a097369493 lib/codeql/rust/elements/internal/FnPtrTypeConstructor.qll 494c53ee599039c02145f91394d8dfe7635b32d03f9fcde5efcc99ced437fec8 992462b1b6b9e64b6201f3c6c232ca524f126efcb562c9f0c176677bb559f33c @@ -449,6 +451,7 @@ lib/codeql/rust/elements/internal/generated/ExternBlock.qll c292d804a1f8d2cf6a44 lib/codeql/rust/elements/internal/generated/ExternCrate.qll 35fea4e810a896c1656adb4682c4c3bc20283768073e26ae064189ce310433c8 fc504dff79ba758d89b10cd5049539fbc766ee9862ff495066cea26abf0b5e0b lib/codeql/rust/elements/internal/generated/ExternItem.qll 749b064ad60f32197d5b85e25929afe18e56e12f567b73e21e43e2fdf4c447e3 e2c2d423876675cf2dae399ca442aef7b2860319da9bfadeff29f2c6946f8de7 lib/codeql/rust/elements/internal/generated/ExternItemList.qll 6bc97fdae6c411cab5c501129c1d6c2321c1011cccb119515d75d07dc55c253b 6b5aa808025c0a4270cac540c07ba6faede1b3c70b8db5fd89ec5d46df9041b2 +lib/codeql/rust/elements/internal/generated/ExtractorStep.qll b83ce7f18009bdd36374260652c2a8a5cd5a9b5404a1c147bbec49ad251e43f3 e6e55595300126f9c5a6fd7bde5321b2a0026b491326114d16fcc2395a1fc483 lib/codeql/rust/elements/internal/generated/FieldExpr.qll 3e506b5cb93793ec30f56bb637a600db869fcba6181b068516a671d55c362739 7bbf953696d763ad6b210f378f487ba85b875fa115b22c0c0508599a63633502 lib/codeql/rust/elements/internal/generated/FieldList.qll 43c13c6e3c9ba75a7a4cb870fc4f18752001584d48b9df0734055a6ebb789331 7c51b0b13eb02f1286d3365e53a976ba2655c4dbd8e735bc11c8b205c829e1ee lib/codeql/rust/elements/internal/generated/FnPtrType.qll 748d766dbefd19a7d644734c57885eeede66897029bbfe1b87919517f43bfde2 5a7d80acc00e56594ed85026a8ea4923104d2e98c2e42db8c5bcd32ddd164e48 @@ -512,7 +515,7 @@ lib/codeql/rust/elements/internal/generated/ParamList.qll c808c9d84dd7800573832b lib/codeql/rust/elements/internal/generated/ParenExpr.qll bc0731505bfe88516205ec360582a4222d2681d11342c93e15258590ddee82f2 d4bd6e0c80cf1d63746c88d4bcb3a01d4c75732e5da09e3ebd9437ced227fb60 lib/codeql/rust/elements/internal/generated/ParenPat.qll ce24b8f8ecbf0f204af200317405724063887257460c80cf250c39b2fdf37185 e7c87d37e1a0ca7ea03840017e1aa9ddb7f927f1f3b6396c0305b46aeee33db6 lib/codeql/rust/elements/internal/generated/ParenType.qll 9cc954d73f8330dcac7b475f97748b63af5c8766dee9d2f2872c0a7e4c903537 c07534c8a9c683c4a9b11d490095647e420de0a0bfc23273eaf6f31b00244273 -lib/codeql/rust/elements/internal/generated/ParentChild.qll db7a782f11a14305acc666c865118475e2d324d2bf5d4110b157e1d488b62b75 3b5d31528d0baa0ceee139097e93461d18503797a1507288dc43428f378500e2 +lib/codeql/rust/elements/internal/generated/ParentChild.qll 92402f931bffc872446b7e6d0cc8fd41ff4dc72d0708f9db9b50ac48322d4bc9 2ecc512859db4cf98c680cf948f6dcb89334f999ec58b8d34a0ffd5c385dcef4 lib/codeql/rust/elements/internal/generated/Pat.qll 3605ac062be2f294ee73336e9669027b8b655f4ad55660e1eab35266275154ee 7f9400db2884d336dd1d21df2a8093759c2a110be9bf6482ce8e80ae0fd74ed4 lib/codeql/rust/elements/internal/generated/Path.qll 4c1c8e840ed57880e574142b081b11d7a7428a009f10e3aa8f4645e211f6b2e0 989668cf0f1bdee7557e2f97c01e41d2a56848227fed41477833f5fc1e1d35f6 lib/codeql/rust/elements/internal/generated/PathExpr.qll 2096e3c1db22ee488a761690adabfc9cfdea501c99f7c5d96c0019cb113fc506 54245ce0449c4e263173213df01e079d5168a758503a5dbd61b25ad35a311140 @@ -525,7 +528,7 @@ lib/codeql/rust/elements/internal/generated/PtrType.qll 40099c5a4041314b66932dfd lib/codeql/rust/elements/internal/generated/PureSynthConstructors.qll ea294a3ba33fd1bc632046c4fedbcb84dcb961a8e4599969d65893b19d90e590 ea294a3ba33fd1bc632046c4fedbcb84dcb961a8e4599969d65893b19d90e590 lib/codeql/rust/elements/internal/generated/RangeExpr.qll 23cca03bf43535f33b22a38894f70d669787be4e4f5b8fe5c8f7b964d30e9027 18624cef6c6b679eeace2a98737e472432e0ead354cca02192b4d45330f047c9 lib/codeql/rust/elements/internal/generated/RangePat.qll efd93730de217cf50dcba5875595263a5eadf9f7e4e1272401342a094d158614 229b251b3d118932e31e78ac4dfb75f48b766f240f20d436062785606d44467b -lib/codeql/rust/elements/internal/generated/Raw.qll 7de290d66bd594f4c5b5a296502792e803e9f1084bb2616d9774196e33b16c87 28150fdd3cff3bb49b407f0c2119602be13e78cbb1f8fd749edd31f5d9772f7a +lib/codeql/rust/elements/internal/generated/Raw.qll c302331305186bdf4cfe2aa08395778be84d4959bb535353e1bc9979094e3de2 f40d71d96218cd6dc9b544dfe4aa2d6d035d21ca414ba1cf456741c90076e3db lib/codeql/rust/elements/internal/generated/RecordExpr.qll eb6cb662e463f9260efae1a6ce874fa781172063b916ef1963f861e9942d308d 1a21cbccc8f3799ff13281e822818ebfb21d81591720a427cac3625512cb9d40 lib/codeql/rust/elements/internal/generated/RecordExprField.qll 7e9f8663d3b74ebbc9603b10c9912f082febba6bd73d344b100bbd3edf837802 fbe6b578e7fd5d5a6f21bbb8c388957ab7210a6a249ec71510a50fb35b319ea1 lib/codeql/rust/elements/internal/generated/RecordExprFieldList.qll 179a97211fe7aa6265085d4d54115cdbc0e1cd7c9b2135591e8f36d6432f13d3 dd44bbbc1e83a1ed3a587afb729d7debf7aeb7b63245de181726af13090e50c0 @@ -551,8 +554,8 @@ lib/codeql/rust/elements/internal/generated/Static.qll 5fbd6879858cf356d4bdaa6da lib/codeql/rust/elements/internal/generated/Stmt.qll 8473ff532dd5cc9d7decaddcd174b94d610f6ca0aec8e473cc051dad9f3db917 6ef7d2b5237c2dbdcacbf7d8b39109d4dc100229f2b28b5c9e3e4fbf673ba72b lib/codeql/rust/elements/internal/generated/StmtList.qll a667193e32341e17400867c6e359878c4e645ef9f5f4d97676afc0283a33a026 a320ed678ee359302e2fc1b70a9476705cd616fcfa44a499d32f0c7715627f73 lib/codeql/rust/elements/internal/generated/Struct.qll 4d57f0db12dc7ad3e31e750a24172ef1505406b4dab16386af0674bd18bf8f4b 1a73c83df926b996f629316f74c61ea775be04532ab61b56af904223354f033e -lib/codeql/rust/elements/internal/generated/Synth.qll 65873a7fa44e223edc5e76cc768591a036eb2550960a6b6882476f43a01aefba 3e08e2bdfba53ae26d8f48f2d240b92b44c603f03105518c37a963e0cbe63e3f -lib/codeql/rust/elements/internal/generated/SynthConstructors.qll e929c49ea60810a2bbc19ad38110b8bbaf21db54dae90393b21a3459a54abf6f e929c49ea60810a2bbc19ad38110b8bbaf21db54dae90393b21a3459a54abf6f +lib/codeql/rust/elements/internal/generated/Synth.qll 678edaf70ea0fc2680e53c8cdde0114228be6d8935845f86ccec48274e32d82d 963abedc8cfa60b63db61f250e7da26fc886148408d5340ed500bad3e6dfd7b0 +lib/codeql/rust/elements/internal/generated/SynthConstructors.qll f33931fbdee7e1ca8b5e52af771ea725fef72a2e37fffb628f5270e79d3571a1 f33931fbdee7e1ca8b5e52af771ea725fef72a2e37fffb628f5270e79d3571a1 lib/codeql/rust/elements/internal/generated/Token.qll 77a91a25ca5669703cf3a4353b591cef4d72caa6b0b9db07bb9e005d69c848d1 2fdffc4882ed3a6ca9ac6d1fb5f1ac5a471ca703e2ffdc642885fa558d6e373b lib/codeql/rust/elements/internal/generated/TokenTree.qll 8577c2b097c1be2f0f7daa5acfcf146f78674a424d99563e08a84dd3e6d91b46 d2f30764e84dbfc0a6a5d3d8a5f935cd432413688cb32da9c94e420fbc10665c lib/codeql/rust/elements/internal/generated/Trait.qll 8fa41b50fa0f68333534f2b66bb4ec8e103ff09ac8fa5c2cc64bc04beafec205 ce1c9aa6d0e2f05d28aab8e1165c3b9fb8e24681ade0cf6a9df2e8617abeae7e @@ -586,7 +589,7 @@ lib/codeql/rust/elements/internal/generated/WhileExpr.qll 7edf1f23fbf953a2baabcd lib/codeql/rust/elements/internal/generated/WildcardPat.qll d74b70b57a0a66bfae017a329352a5b27a6b9e73dd5521d627f680e810c6c59e 4b913b548ba27ff3c82fcd32cf996ff329cb57d176d3bebd0fcef394486ea499 lib/codeql/rust/elements/internal/generated/YeetExpr.qll cac328200872a35337b4bcb15c851afb4743f82c080f9738d295571eb01d7392 94af734eea08129b587fed849b643e7572800e8330c0b57d727d41abda47930b lib/codeql/rust/elements/internal/generated/YieldExpr.qll 37e5f0c1e373a22bbc53d8b7f2c0e1f476e5be5080b8437c5e964f4e83fad79a 4a9a68643401637bf48e5c2b2f74a6bf0ddcb4ff76f6bffb61d436b685621e85 -lib/codeql/rust/elements.qll ced76fbeebc6e2e972ecaed65ef97851f90a215cf330f28a0f31a253f1c03442 ced76fbeebc6e2e972ecaed65ef97851f90a215cf330f28a0f31a253f1c03442 +lib/codeql/rust/elements.qll 34cd7db7d8c3cfeac77f23d07418df951158feea426df6ad7d80ebebbcb4e3f2 34cd7db7d8c3cfeac77f23d07418df951158feea426df6ad7d80ebebbcb4e3f2 test/extractor-tests/generated/Abi/Abi.ql 7f6e7dc4af86eca3ebdc79b10373988cd0871bd78b51997d3cffd969105e5fdd 2f936b6ca005c6157c755121584410c03e4a3949c23bee302fbe05ee10ce118f test/extractor-tests/generated/Abi/Abi_getAbiString.ql a496762fcec5a0887b87023bbf93e9b650f02e20113e25c44d6e4281ae8f5335 14109c7ce11ba25e3cd6e7f1b3fcb4cb00622f2a4eac91bfe43145c5f366bc52 test/extractor-tests/generated/ArgList/ArgList.ql e412927756e72165d0e7c5c9bd3fca89d08197bbf760db8fb7683c64bb2229bc 043dba8506946fbb87753e22c387987d7eded6ddb963aa067f9e60ef9024d684 diff --git a/rust/ql/.gitattributes b/rust/ql/.gitattributes index c75ea349c0d..cca884a1426 100644 --- a/rust/ql/.gitattributes +++ b/rust/ql/.gitattributes @@ -224,6 +224,8 @@ /lib/codeql/rust/elements/internal/ExternItemImpl.qll linguist-generated /lib/codeql/rust/elements/internal/ExternItemListConstructor.qll linguist-generated /lib/codeql/rust/elements/internal/ExternItemListImpl.qll linguist-generated +/lib/codeql/rust/elements/internal/ExtractorStep.qll linguist-generated +/lib/codeql/rust/elements/internal/ExtractorStepConstructor.qll linguist-generated /lib/codeql/rust/elements/internal/FieldExprConstructor.qll linguist-generated /lib/codeql/rust/elements/internal/FieldListImpl.qll linguist-generated /lib/codeql/rust/elements/internal/FnPtrTypeConstructor.qll linguist-generated @@ -451,6 +453,7 @@ /lib/codeql/rust/elements/internal/generated/ExternCrate.qll linguist-generated /lib/codeql/rust/elements/internal/generated/ExternItem.qll linguist-generated /lib/codeql/rust/elements/internal/generated/ExternItemList.qll linguist-generated +/lib/codeql/rust/elements/internal/generated/ExtractorStep.qll linguist-generated /lib/codeql/rust/elements/internal/generated/FieldExpr.qll linguist-generated /lib/codeql/rust/elements/internal/generated/FieldList.qll linguist-generated /lib/codeql/rust/elements/internal/generated/FnPtrType.qll linguist-generated diff --git a/rust/ql/integration-tests/hello-project/steps.ql b/rust/ql/integration-tests/hello-project/steps.ql index eb8f9a05adb..17358a1c100 100644 --- a/rust/ql/integration-tests/hello-project/steps.ql +++ b/rust/ql/integration-tests/hello-project/steps.ql @@ -1,4 +1,4 @@ -import codeql.rust.internal.ExtractorStep +import codeql.rust.elements.internal.ExtractorStep from ExtractorStep step select step diff --git a/rust/ql/integration-tests/hello-project/summary.expected b/rust/ql/integration-tests/hello-project/summary.expected index 09e03490eb1..44c14e790fe 100644 --- a/rust/ql/integration-tests/hello-project/summary.expected +++ b/rust/ql/integration-tests/hello-project/summary.expected @@ -1,4 +1,4 @@ -| Elements extracted | 50 | +| Elements extracted | 65 | | Elements unextracted | 0 | | Extraction errors | 0 | | Extraction warnings | 1 | diff --git a/rust/ql/integration-tests/hello-workspace/steps.ql b/rust/ql/integration-tests/hello-workspace/steps.ql index eb8f9a05adb..17358a1c100 100644 --- a/rust/ql/integration-tests/hello-workspace/steps.ql +++ b/rust/ql/integration-tests/hello-workspace/steps.ql @@ -1,4 +1,4 @@ -import codeql.rust.internal.ExtractorStep +import codeql.rust.elements.internal.ExtractorStep from ExtractorStep step select step diff --git a/rust/ql/integration-tests/hello-workspace/summary.expected b/rust/ql/integration-tests/hello-workspace/summary.cargo.expected similarity index 94% rename from rust/ql/integration-tests/hello-workspace/summary.expected rename to rust/ql/integration-tests/hello-workspace/summary.cargo.expected index 4e800e60bd0..ec1abea6252 100644 --- a/rust/ql/integration-tests/hello-workspace/summary.expected +++ b/rust/ql/integration-tests/hello-workspace/summary.cargo.expected @@ -1,4 +1,4 @@ -| Elements extracted | 72 | +| Elements extracted | 86 | | Elements unextracted | 0 | | Extraction errors | 0 | | Extraction warnings | 0 | diff --git a/rust/ql/integration-tests/hello-workspace/summary.rust-project.expected b/rust/ql/integration-tests/hello-workspace/summary.rust-project.expected new file mode 100644 index 00000000000..5ca38e5a90c --- /dev/null +++ b/rust/ql/integration-tests/hello-workspace/summary.rust-project.expected @@ -0,0 +1,17 @@ +| Elements extracted | 85 | +| Elements unextracted | 0 | +| Extraction errors | 0 | +| Extraction warnings | 0 | +| Files extracted - total | 4 | +| Files extracted - with errors | 0 | +| Files extracted - without errors | 4 | +| Inconsistencies - AST | 0 | +| Inconsistencies - CFG | 0 | +| Inconsistencies - data flow | 0 | +| Lines of code extracted | 9 | +| Lines of user code extracted | 9 | +| Macro calls - resolved | 2 | +| Macro calls - total | 2 | +| Macro calls - unresolved | 0 | +| Taint sources - active | 0 | +| Taint sources - total | 0 | diff --git a/rust/ql/integration-tests/hello-workspace/test_workspace.py b/rust/ql/integration-tests/hello-workspace/test_workspace.py index 7f9e3700c3a..fe8dbc69141 100644 --- a/rust/ql/integration-tests/hello-workspace/test_workspace.py +++ b/rust/ql/integration-tests/hello-workspace/test_workspace.py @@ -2,11 +2,13 @@ import pytest @pytest.mark.ql_test("steps.ql", expected=".cargo.expected") +@pytest.mark.ql_test("summary.qlref", expected=".cargo.expected") def test_cargo(codeql, rust, cargo, check_source_archive, rust_check_diagnostics): rust_check_diagnostics.expected_suffix = ".cargo.expected" codeql.database.create() @pytest.mark.ql_test("steps.ql", expected=".rust-project.expected") +@pytest.mark.ql_test("summary.qlref", expected=".rust-project.expected") def test_rust_project(codeql, rust, rust_project, check_source_archive, rust_check_diagnostics): rust_check_diagnostics.expected_suffix = ".rust-project.expected" codeql.database.create() diff --git a/rust/ql/lib/codeql/files/FileSystem.qll b/rust/ql/lib/codeql/files/FileSystem.qll index c83680f7ec6..b13793b3600 100644 --- a/rust/ql/lib/codeql/files/FileSystem.qll +++ b/rust/ql/lib/codeql/files/FileSystem.qll @@ -6,7 +6,7 @@ private import codeql.rust.elements.SourceFile private import codeql.rust.elements.AstNode private import codeql.rust.elements.Comment private import codeql.rust.Diagnostics -private import codeql.rust.internal.ExtractorStep +private import codeql.rust.elements.internal.ExtractorStep private module Input implements InputSig { abstract class ContainerBase extends @container { diff --git a/rust/ql/lib/codeql/rust/elements.qll b/rust/ql/lib/codeql/rust/elements.qll index e37dde90d61..7954e0e2b14 100644 --- a/rust/ql/lib/codeql/rust/elements.qll +++ b/rust/ql/lib/codeql/rust/elements.qll @@ -3,6 +3,7 @@ * This module exports all modules providing `Element` subclasses. */ +import codeql.files.FileSystem import codeql.rust.elements.Abi import codeql.rust.elements.Addressable import codeql.rust.elements.ArgList diff --git a/rust/ql/lib/codeql/rust/elements/internal/ExtractorStep.qll b/rust/ql/lib/codeql/rust/elements/internal/ExtractorStep.qll new file mode 100644 index 00000000000..64a4931ef43 --- /dev/null +++ b/rust/ql/lib/codeql/rust/elements/internal/ExtractorStep.qll @@ -0,0 +1,13 @@ +// generated by codegen, do not edit +/** + * This module provides the class `ExtractorStep`. + */ + +private import ExtractorStepImpl +import codeql.rust.elements.Element +import codeql.files.FileSystem + +/** + * INTERNAL: Do not use. + */ +final class ExtractorStep = Impl::ExtractorStep; diff --git a/rust/ql/lib/codeql/rust/elements/internal/ExtractorStepConstructor.qll b/rust/ql/lib/codeql/rust/elements/internal/ExtractorStepConstructor.qll new file mode 100644 index 00000000000..76050bf99f8 --- /dev/null +++ b/rust/ql/lib/codeql/rust/elements/internal/ExtractorStepConstructor.qll @@ -0,0 +1,14 @@ +// generated by codegen, remove this comment if you wish to edit this file +/** + * This module defines the hook used internally to tweak the characteristic predicate of + * `ExtractorStep` synthesized instances. + * INTERNAL: Do not use. + */ + +private import codeql.rust.elements.internal.generated.Raw + +/** + * The characteristic predicate of `ExtractorStep` synthesized instances. + * INTERNAL: Do not use. + */ +predicate constructExtractorStep(Raw::ExtractorStep id) { any() } diff --git a/rust/ql/lib/codeql/rust/elements/internal/ExtractorStepImpl.qll b/rust/ql/lib/codeql/rust/elements/internal/ExtractorStepImpl.qll new file mode 100644 index 00000000000..95c677e845e --- /dev/null +++ b/rust/ql/lib/codeql/rust/elements/internal/ExtractorStepImpl.qll @@ -0,0 +1,32 @@ +/** + * This module provides a hand-modifiable wrapper around the generated class `ExtractorStep`. + * + * INTERNAL: Do not use. + */ + +private import codeql.rust.elements.internal.generated.ExtractorStep + +/** + * INTERNAL: This module contains the customizable definition of `ExtractorStep` and should not + * be referenced directly. + */ +module Impl { + class ExtractorStep extends Generated::ExtractorStep { + override string toString() { + result = this.getAction() + "(" + this.getFile().getAbsolutePath() + ")" + } + + /** + * Provides location information for this step. + */ + predicate hasLocationInfo( + string filepath, int startline, int startcolumn, int endline, int endcolumn + ) { + this.getFile().getAbsolutePath() = filepath and + startline = 0 and + startcolumn = 0 and + endline = 0 and + endcolumn = 0 + } + } +} diff --git a/rust/ql/lib/codeql/rust/elements/internal/generated/ExtractorStep.qll b/rust/ql/lib/codeql/rust/elements/internal/generated/ExtractorStep.qll new file mode 100644 index 00000000000..c2d7838865b --- /dev/null +++ b/rust/ql/lib/codeql/rust/elements/internal/generated/ExtractorStep.qll @@ -0,0 +1,45 @@ +// generated by codegen, do not edit +/** + * This module provides the generated definition of `ExtractorStep`. + * INTERNAL: Do not import directly. + */ + +private import codeql.rust.elements.internal.generated.Synth +private import codeql.rust.elements.internal.generated.Raw +import codeql.rust.elements.internal.ElementImpl::Impl as ElementImpl +import codeql.files.FileSystem + +/** + * INTERNAL: This module contains the fully generated definition of `ExtractorStep` and should not + * be referenced directly. + */ +module Generated { + /** + * INTERNAL: Do not reference the `Generated::ExtractorStep` class directly. + * Use the subclass `ExtractorStep`, where the following predicates are available. + */ + class ExtractorStep extends Synth::TExtractorStep, ElementImpl::Element { + override string getAPrimaryQlClass() { result = "ExtractorStep" } + + /** + * Gets the action of this extractor step. + */ + string getAction() { + result = Synth::convertExtractorStepToRaw(this).(Raw::ExtractorStep).getAction() + } + + /** + * Gets the file of this extractor step. + */ + File getFile() { + result = Synth::convertExtractorStepToRaw(this).(Raw::ExtractorStep).getFile() + } + + /** + * Gets the duration ms of this extractor step. + */ + int getDurationMs() { + result = Synth::convertExtractorStepToRaw(this).(Raw::ExtractorStep).getDurationMs() + } + } +} diff --git a/rust/ql/lib/codeql/rust/elements/internal/generated/ParentChild.qll b/rust/ql/lib/codeql/rust/elements/internal/generated/ParentChild.qll index 6709629e8b4..0ba866f8ee2 100644 --- a/rust/ql/lib/codeql/rust/elements/internal/generated/ParentChild.qll +++ b/rust/ql/lib/codeql/rust/elements/internal/generated/ParentChild.qll @@ -4,12 +4,28 @@ */ import codeql.rust.elements +import codeql.rust.elements.internal.ExtractorStep private module Impl { private Element getImmediateChildOfElement(Element e, int index, string partialPredicateCall) { none() } + private Element getImmediateChildOfExtractorStep( + ExtractorStep e, int index, string partialPredicateCall + ) { + exists(int b, int bElement, int n | + b = 0 and + bElement = b + 1 + max(int i | i = -1 or exists(getImmediateChildOfElement(e, i, _)) | i) and + n = bElement and + ( + none() + or + result = getImmediateChildOfElement(e, index - b, partialPredicateCall) + ) + ) + } + private Element getImmediateChildOfLocatable(Locatable e, int index, string partialPredicateCall) { exists(int b, int bElement, int n | b = 0 and @@ -3600,6 +3616,8 @@ private module Impl { // * none() simplifies generation, as we can append `or ...` without a special case for the first item none() or + result = getImmediateChildOfExtractorStep(e, index, partialAccessor) + or result = getImmediateChildOfFormat(e, index, partialAccessor) or result = getImmediateChildOfFormatArgument(e, index, partialAccessor) diff --git a/rust/ql/lib/codeql/rust/elements/internal/generated/Raw.qll b/rust/ql/lib/codeql/rust/elements/internal/generated/Raw.qll index 1c85daa22cf..96db2c99cf6 100644 --- a/rust/ql/lib/codeql/rust/elements/internal/generated/Raw.qll +++ b/rust/ql/lib/codeql/rust/elements/internal/generated/Raw.qll @@ -3,6 +3,8 @@ * This module holds thin fully generated class definitions around DB entities. */ module Raw { + private import codeql.files.FileSystem + /** * INTERNAL: Do not use. */ @@ -10,6 +12,28 @@ module Raw { string toString() { none() } } + /** + * INTERNAL: Do not use. + */ + class ExtractorStep extends @extractor_step, Element { + override string toString() { result = "ExtractorStep" } + + /** + * Gets the action of this extractor step. + */ + string getAction() { extractor_steps(this, result, _, _) } + + /** + * Gets the file of this extractor step. + */ + File getFile() { extractor_steps(this, _, result, _) } + + /** + * Gets the duration ms of this extractor step. + */ + int getDurationMs() { extractor_steps(this, _, _, result) } + } + /** * INTERNAL: Do not use. */ diff --git a/rust/ql/lib/codeql/rust/elements/internal/generated/Synth.qll b/rust/ql/lib/codeql/rust/elements/internal/generated/Synth.qll index 0b4fa39cd84..5284c0b8fde 100644 --- a/rust/ql/lib/codeql/rust/elements/internal/generated/Synth.qll +++ b/rust/ql/lib/codeql/rust/elements/internal/generated/Synth.qll @@ -134,6 +134,10 @@ module Synth { * INTERNAL: Do not use. */ TExternItemList(Raw::ExternItemList id) { constructExternItemList(id) } or + /** + * INTERNAL: Do not use. + */ + TExtractorStep(Raw::ExtractorStep id) { constructExtractorStep(id) } or /** * INTERNAL: Do not use. */ @@ -926,6 +930,12 @@ module Synth { */ TExternItemList convertExternItemListFromRaw(Raw::Element e) { result = TExternItemList(e) } + /** + * INTERNAL: Do not use. + * Converts a raw element to a synthesized `TExtractorStep`, if possible. + */ + TExtractorStep convertExtractorStepFromRaw(Raw::Element e) { result = TExtractorStep(e) } + /** * INTERNAL: Do not use. * Converts a raw element to a synthesized `TFieldExpr`, if possible. @@ -1803,6 +1813,8 @@ module Synth { * Converts a raw DB element to a synthesized `TElement`, if possible. */ TElement convertElementFromRaw(Raw::Element e) { + result = convertExtractorStepFromRaw(e) + or result = convertLocatableFromRaw(e) or result = convertUnextractedFromRaw(e) @@ -2312,6 +2324,12 @@ module Synth { */ Raw::Element convertExternItemListToRaw(TExternItemList e) { e = TExternItemList(result) } + /** + * INTERNAL: Do not use. + * Converts a synthesized `TExtractorStep` to a raw DB element, if possible. + */ + Raw::Element convertExtractorStepToRaw(TExtractorStep e) { e = TExtractorStep(result) } + /** * INTERNAL: Do not use. * Converts a synthesized `TFieldExpr` to a raw DB element, if possible. @@ -3187,6 +3205,8 @@ module Synth { * Converts a synthesized `TElement` to a raw DB element, if possible. */ Raw::Element convertElementToRaw(TElement e) { + result = convertExtractorStepToRaw(e) + or result = convertLocatableToRaw(e) or result = convertUnextractedToRaw(e) diff --git a/rust/ql/lib/codeql/rust/elements/internal/generated/SynthConstructors.qll b/rust/ql/lib/codeql/rust/elements/internal/generated/SynthConstructors.qll index 9b68c858c6a..8f7c2c61570 100644 --- a/rust/ql/lib/codeql/rust/elements/internal/generated/SynthConstructors.qll +++ b/rust/ql/lib/codeql/rust/elements/internal/generated/SynthConstructors.qll @@ -33,6 +33,7 @@ import codeql.rust.elements.internal.ExprStmtConstructor import codeql.rust.elements.internal.ExternBlockConstructor import codeql.rust.elements.internal.ExternCrateConstructor import codeql.rust.elements.internal.ExternItemListConstructor +import codeql.rust.elements.internal.ExtractorStepConstructor import codeql.rust.elements.internal.FieldExprConstructor import codeql.rust.elements.internal.FnPtrTypeConstructor import codeql.rust.elements.internal.ForExprConstructor diff --git a/rust/ql/lib/codeql/rust/internal/ExtractorStep.qll b/rust/ql/lib/codeql/rust/internal/ExtractorStep.qll deleted file mode 100644 index 50e6ebafebf..00000000000 --- a/rust/ql/lib/codeql/rust/internal/ExtractorStep.qll +++ /dev/null @@ -1,46 +0,0 @@ -import codeql.files.FileSystem - -/** - * An extractor step, usable for debugging and diagnostics reasons. - * - * INTERNAL: Do not use. - */ -class ExtractorStep extends @extractor_step { - /** - * Gets the string representation of this extractor step. - */ - string toString() { - exists(File file, string action | - extractor_steps(this, action, file, _) and - result = action + "(" + file.getAbsolutePath() + ")" - ) - } - - /** - * Gets the action this extractor step carried out. - */ - string getAction() { extractor_steps(this, result, _, _) } - - /** - * Gets the file the extractor step was carried out on. - */ - File getFile() { extractor_steps(this, _, result, _) } - - /** - * Gets the duration of the extractor step in milliseconds. - */ - int getDurationMs() { extractor_steps(this, _, _, result) } - - /** - * Provides location information for this step. - */ - predicate hasLocationInfo( - string filepath, int startline, int startcolumn, int endline, int endcolumn - ) { - this.getFile().getAbsolutePath() = filepath and - startline = 0 and - startcolumn = 0 and - endline = 0 and - endcolumn = 0 - } -} diff --git a/rust/ql/lib/rust.dbscheme b/rust/ql/lib/rust.dbscheme index f0f2a65aea5..9709ae9bf54 100644 --- a/rust/ql/lib/rust.dbscheme +++ b/rust/ql/lib/rust.dbscheme @@ -116,20 +116,21 @@ locatable_locations( int location: @location_default ref ); + +// from schema + +@element = + @extractor_step +| @locatable +| @unextracted +; + extractor_steps( unique int id: @extractor_step, string action: string ref, int file: @file ref, int duration_ms: int ref -) - - -// from schema - -@element = - @locatable -| @unextracted -; +); @locatable = @ast_node diff --git a/rust/schema/prelude.py b/rust/schema/prelude.py index ffd65959b5a..5b050872609 100644 --- a/rust/schema/prelude.py +++ b/rust/schema/prelude.py @@ -3,6 +3,7 @@ from misc.codegen.lib.schemadefs import * include("../shared/tree-sitter-extractor/src/generator/prefix.dbscheme") include("prefix.dbscheme") +File = imported("File", "codeql.files.FileSystem") @qltest.skip class Element: @@ -93,3 +94,11 @@ class Resolvable(AstNode): """ resolved_path: optional[string] | rust.detach | ql.internal resolved_crate_origin: optional[string] | rust.detach | ql.internal + + +@qltest.skip +@ql.internal +class ExtractorStep(Element): + action: string + file: File + duration_ms: int diff --git a/swift/ql/.generated.list b/swift/ql/.generated.list index da39f2f2fe7..60120579321 100644 --- a/swift/ql/.generated.list +++ b/swift/ql/.generated.list @@ -712,7 +712,7 @@ lib/codeql/swift/generated/OtherAvailabilitySpec.qll d9feaa2a71acff3184ca389045b lib/codeql/swift/generated/ParentChild.qll d1814f2bad4c2ba9242ce49fe6fb8564ac99fc1fd3a7d12aa55e5c6dd7bb529b 1a2075b731d07a5e3c6a69d001796c8de925069d839671a294c9cba6c3db724a lib/codeql/swift/generated/PlatformVersionAvailabilitySpec.qll dc17b49a90a18a8f7607adf2433bc8f0c194fa3e803aa3822f809d4d4fbd6793 be48ea9f8ae17354c8508aaed24337a9e57ce01f288fece3dcecd99776cabcec lib/codeql/swift/generated/PureSynthConstructors.qll bc31a6c4d142fa3fbdcae69d5ba6f1cec00eb9ad92b46c8d7b91ebfa7ef6c1f4 bc31a6c4d142fa3fbdcae69d5ba6f1cec00eb9ad92b46c8d7b91ebfa7ef6c1f4 -lib/codeql/swift/generated/Raw.qll 118b43fedd4265b5aa15c33ef01a2f5a5db6e5597f95bef1078a01c3ff8da983 075aec2c8b232f0361ebf63f07ae9b66163f3975e6023583fb0fa2e40b979a33 +lib/codeql/swift/generated/Raw.qll a47950495630c10c00afee734d779e5e3e7f8e3e65ae3f04b9a1254e3e73921e 075aec2c8b232f0361ebf63f07ae9b66163f3975e6023583fb0fa2e40b979a33 lib/codeql/swift/generated/Synth.qll 31e318c6e156848c85a2a2664695b48b5e93c57c9bb22fa29d027069907b3ab0 8655ffcf772f55284b93f1d7f8e1b3d497a9744d5f2e0c17bc322c1fdf8bdba8 lib/codeql/swift/generated/SynthConstructors.qll 3e53c7853096020219c01dae85681fe80b34938d198a0ff359a209dda41c5ed7 3e53c7853096020219c01dae85681fe80b34938d198a0ff359a209dda41c5ed7 lib/codeql/swift/generated/UnknownFile.qll 247ddf2ebb49ce5ed4bf7bf91a969ddff37de6c78d43d8affccaf7eb586e06f2 452b29f0465ef45e978ef8b647b75e5a2a1e53f2a568fc003bc8f52f73b3fa4d From 4bd5cc458bbf3961449a876bb5eea358005e2ad7 Mon Sep 17 00:00:00 2001 From: Paolo Tranquilli Date: Mon, 2 Dec 2024 16:07:00 +0100 Subject: [PATCH 41/46] Rust: accept test changes --- rust/ql/test/query-tests/diagnostics/SummaryStats.expected | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/rust/ql/test/query-tests/diagnostics/SummaryStats.expected b/rust/ql/test/query-tests/diagnostics/SummaryStats.expected index 16e895cdeef..9372843039c 100644 --- a/rust/ql/test/query-tests/diagnostics/SummaryStats.expected +++ b/rust/ql/test/query-tests/diagnostics/SummaryStats.expected @@ -1,4 +1,4 @@ -| Elements extracted | 382 | +| Elements extracted | 404 | | Elements unextracted | 0 | | Extraction errors | 0 | | Extraction warnings | 7 | From e6641e7630b6c07138befb20b84107424c5a94fd Mon Sep 17 00:00:00 2001 From: "REDMOND\\brodes" Date: Tue, 3 Dec 2024 11:06:08 -0500 Subject: [PATCH 42/46] Code and comment simplifications --- .../lib/semmle/code/cpp/models/interfaces/NonThrowing.qll | 3 ++- cpp/ql/lib/semmle/code/cpp/models/interfaces/Throwing.qll | 6 +----- 2 files changed, 3 insertions(+), 6 deletions(-) diff --git a/cpp/ql/lib/semmle/code/cpp/models/interfaces/NonThrowing.qll b/cpp/ql/lib/semmle/code/cpp/models/interfaces/NonThrowing.qll index 5ddf754f745..85b9b66cd66 100644 --- a/cpp/ql/lib/semmle/code/cpp/models/interfaces/NonThrowing.qll +++ b/cpp/ql/lib/semmle/code/cpp/models/interfaces/NonThrowing.qll @@ -7,7 +7,8 @@ import semmle.code.cpp.models.Models /** * A function that is guaranteed to never throw a C++ exception - * (distinct from a structured exception handling, SEH, exception). + * + * The function may still raise a structured exception handling (SEH) exception. */ abstract class NonCppThrowingFunction extends Function { } diff --git a/cpp/ql/lib/semmle/code/cpp/models/interfaces/Throwing.qll b/cpp/ql/lib/semmle/code/cpp/models/interfaces/Throwing.qll index 044b30f7b70..cc294806709 100644 --- a/cpp/ql/lib/semmle/code/cpp/models/interfaces/Throwing.qll +++ b/cpp/ql/lib/semmle/code/cpp/models/interfaces/Throwing.qll @@ -14,8 +14,6 @@ import semmle.code.cpp.models.interfaces.FunctionInputsAndOutputs * A function that is known to raise an exception. */ abstract class ThrowingFunction extends Function { - ThrowingFunction() { any() } - /** * Holds if this function may throw an exception during evaluation. * If `unconditional` is `true` the function always throws an exception. @@ -24,8 +22,6 @@ abstract class ThrowingFunction extends Function { } /** - * A function that is known to raise an exception unconditionally. - * The only cases known where this happens is for SEH - * (structured exception handling) exceptions. + * A function that unconditionally raises a structured exception handling (SEH) exception. */ abstract class AlwaysSehThrowingFunction extends Function { } From 1aa6056bd82090f254aae2dd9f7fcada9a8be946 Mon Sep 17 00:00:00 2001 From: Michael Nebel Date: Mon, 25 Nov 2024 13:25:16 +0100 Subject: [PATCH 43/46] C#: Bazel build should target .NET9 framework. --- misc/bazel/csharp.bzl | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/misc/bazel/csharp.bzl b/misc/bazel/csharp.bzl index be891b142f9..2ba8c59f076 100644 --- a/misc/bazel/csharp.bzl +++ b/misc/bazel/csharp.bzl @@ -2,7 +2,7 @@ load("@rules_dotnet//dotnet:defs.bzl", "csharp_binary", "csharp_library", "cshar load("@rules_pkg//pkg:mappings.bzl", "strip_prefix") load("//misc/bazel:pkg.bzl", "codeql_pkg_files") -TARGET_FRAMEWORK = "net8.0" +TARGET_FRAMEWORK = "net9.0" def _gen_assembly_info(name): assembly_info_gen = name + "-assembly-info" From a1e2e920f4c824039370af9fe7c81e9320d93ec8 Mon Sep 17 00:00:00 2001 From: Michael Nebel Date: Mon, 25 Nov 2024 13:56:03 +0100 Subject: [PATCH 44/46] C#: Run unit tests on bazel changes. --- .github/workflows/csharp-qltest.yml | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/.github/workflows/csharp-qltest.yml b/.github/workflows/csharp-qltest.yml index cb301d65f9a..c24b8d3bc00 100644 --- a/.github/workflows/csharp-qltest.yml +++ b/.github/workflows/csharp-qltest.yml @@ -5,8 +5,10 @@ on: paths: - "csharp/**" - "shared/**" + - "misc/bazel/**" - .github/actions/fetch-codeql/action.yml - codeql-workspace.yml + - "MODULE.bazel" branches: - main - "rc/*" @@ -14,9 +16,11 @@ on: paths: - "csharp/**" - "shared/**" + - "misc/bazel/**" - .github/workflows/csharp-qltest.yml - .github/actions/fetch-codeql/action.yml - codeql-workspace.yml + - "MODULE.bazel" branches: - main - "rc/*" From c6e936f2c3d19771a6983020ca3ed1108ad67a3c Mon Sep 17 00:00:00 2001 From: Michael Nebel Date: Tue, 26 Nov 2024 09:28:54 +0100 Subject: [PATCH 45/46] C#: Update generics test and expected output from other tests. --- .../assemblies/compilation.expected | 8 +++---- .../format/StringFormatItemParameter.expected | 8 +++++++ .../test/library-tests/generics/Generics.ql | 1 + .../ApplicationModeEndpoints.expected | 24 +++++++++---------- 4 files changed, 25 insertions(+), 16 deletions(-) diff --git a/csharp/ql/test/library-tests/assemblies/compilation.expected b/csharp/ql/test/library-tests/assemblies/compilation.expected index 0119bd5edee..ee9126f59ce 100644 --- a/csharp/ql/test/library-tests/assemblies/compilation.expected +++ b/csharp/ql/test/library-tests/assemblies/compilation.expected @@ -1,9 +1,9 @@ | Assembly1, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null | no compilation | | Locations, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null | has compilation | | System, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 | no compilation | -| System.Console, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | no compilation | +| System.Console, Version=9.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | no compilation | | System.Core, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 | no compilation | -| System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e | no compilation | -| System.Runtime, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | no compilation | -| System.Runtime.Extensions, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | no compilation | +| System.Private.CoreLib, Version=9.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e | no compilation | +| System.Runtime, Version=9.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | no compilation | +| System.Runtime.Extensions, Version=9.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a | no compilation | | mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 | no compilation | diff --git a/csharp/ql/test/library-tests/frameworks/format/StringFormatItemParameter.expected b/csharp/ql/test/library-tests/frameworks/format/StringFormatItemParameter.expected index 85e2d82f3ab..978e1340492 100644 --- a/csharp/ql/test/library-tests/frameworks/format/StringFormatItemParameter.expected +++ b/csharp/ql/test/library-tests/frameworks/format/StringFormatItemParameter.expected @@ -1,3 +1,4 @@ +| Console | Write(string, ReadOnlySpan) | arg | | Console | Write(string, object) | arg0 | | Console | Write(string, object, object) | arg0 | | Console | Write(string, object, object) | arg1 | @@ -5,6 +6,7 @@ | Console | Write(string, object, object, object) | arg1 | | Console | Write(string, object, object, object) | arg2 | | Console | Write(string, params Object[]) | arg | +| Console | WriteLine(string, ReadOnlySpan) | arg | | Console | WriteLine(string, object) | arg0 | | Console | WriteLine(string, object, object) | arg0 | | Console | WriteLine(string, object, object) | arg1 | @@ -15,6 +17,7 @@ | Debug | Assert(bool, string, string, params Object[]) | args | | Debug | Print(string, params Object[]) | args | | Debug | WriteLine(string, params Object[]) | args | +| StringBuilder | AppendFormat(IFormatProvider, string, ReadOnlySpan) | args | | StringBuilder | AppendFormat(IFormatProvider, string, object) | arg0 | | StringBuilder | AppendFormat(IFormatProvider, string, object, object) | arg0 | | StringBuilder | AppendFormat(IFormatProvider, string, object, object) | arg1 | @@ -22,6 +25,7 @@ | StringBuilder | AppendFormat(IFormatProvider, string, object, object, object) | arg1 | | StringBuilder | AppendFormat(IFormatProvider, string, object, object, object) | arg2 | | StringBuilder | AppendFormat(IFormatProvider, string, params Object[]) | args | +| StringBuilder | AppendFormat(string, ReadOnlySpan) | args | | StringBuilder | AppendFormat(string, object) | arg0 | | StringBuilder | AppendFormat(string, object, object) | arg0 | | StringBuilder | AppendFormat(string, object, object) | arg1 | @@ -30,6 +34,7 @@ | StringBuilder | AppendFormat(string, object, object, object) | arg2 | | StringBuilder | AppendFormat(string, params Object[]) | args | | Strings | MyStringFormat(string, params Object[]) | args | +| TextWriter | Write(string, ReadOnlySpan) | arg | | TextWriter | Write(string, object) | arg0 | | TextWriter | Write(string, object, object) | arg0 | | TextWriter | Write(string, object, object) | arg1 | @@ -37,6 +42,7 @@ | TextWriter | Write(string, object, object, object) | arg1 | | TextWriter | Write(string, object, object, object) | arg2 | | TextWriter | Write(string, params Object[]) | arg | +| TextWriter | WriteLine(string, ReadOnlySpan) | arg | | TextWriter | WriteLine(string, object) | arg0 | | TextWriter | WriteLine(string, object, object) | arg0 | | TextWriter | WriteLine(string, object, object) | arg1 | @@ -44,6 +50,7 @@ | TextWriter | WriteLine(string, object, object, object) | arg1 | | TextWriter | WriteLine(string, object, object, object) | arg2 | | TextWriter | WriteLine(string, params Object[]) | arg | +| string | Format(IFormatProvider, string, ReadOnlySpan) | args | | string | Format(IFormatProvider, string, object) | arg0 | | string | Format(IFormatProvider, string, object, object) | arg0 | | string | Format(IFormatProvider, string, object, object) | arg1 | @@ -51,6 +58,7 @@ | string | Format(IFormatProvider, string, object, object, object) | arg1 | | string | Format(IFormatProvider, string, object, object, object) | arg2 | | string | Format(IFormatProvider, string, params Object[]) | args | +| string | Format(string, ReadOnlySpan) | args | | string | Format(string, object) | arg0 | | string | Format(string, object, object) | arg0 | | string | Format(string, object, object) | arg1 | diff --git a/csharp/ql/test/library-tests/generics/Generics.ql b/csharp/ql/test/library-tests/generics/Generics.ql index e75f1fdc908..ab1f0af982a 100644 --- a/csharp/ql/test/library-tests/generics/Generics.ql +++ b/csharp/ql/test/library-tests/generics/Generics.ql @@ -223,6 +223,7 @@ query predicate test26(ConstructedGeneric cg, string s) { } query predicate test27(ConstructedType ct, UnboundGenericType ugt, UnboundGenericType sourceDecl) { + ct.fromSource() and ct instanceof NestedType and ugt = ct.getUnboundGeneric() and sourceDecl = ct.getUnboundDeclaration() and diff --git a/csharp/ql/test/utils/modeleditor/ApplicationModeEndpoints.expected b/csharp/ql/test/utils/modeleditor/ApplicationModeEndpoints.expected index 6e0758ca809..7dcf3b4f877 100644 --- a/csharp/ql/test/utils/modeleditor/ApplicationModeEndpoints.expected +++ b/csharp/ql/test/utils/modeleditor/ApplicationModeEndpoints.expected @@ -1,12 +1,12 @@ -| NonPublicClass.cs:9:9:9:31 | call to method WriteLine | System | Console | WriteLine | (System.String) | true | System.Console | 8.0.0.0 | neutral | source | -| PublicClass.cs:9:9:9:30 | call to method WriteLine | System | Console | WriteLine | (System.String) | true | System.Console | 8.0.0.0 | neutral | source | -| PublicClass.cs:14:9:14:30 | call to method WriteLine | System | Console | WriteLine | (System.String) | true | System.Console | 8.0.0.0 | neutral | source | -| PublicClass.cs:19:9:19:51 | call to method WriteLine | System | Console | WriteLine | (System.String) | true | System.Console | 8.0.0.0 | neutral | source | -| PublicClass.cs:19:33:19:50 | call to method ReadLine | System | Console | ReadLine | () | true | System.Console | 8.0.0.0 | neutral | source | -| PublicClass.cs:19:33:19:50 | call to method ReadLine | System | Console | ReadLine | () | true | System.Console | 8.0.0.0 | source | source | -| PublicClass.cs:24:9:24:46 | call to method Write | System | Console | Write | (System.Object) | true | System.Console | 8.0.0.0 | neutral | source | -| PublicClass.cs:30:9:30:30 | call to method WriteLine | System | Console | WriteLine | (System.String) | true | System.Console | 8.0.0.0 | neutral | source | -| PublicGenericClass.cs:9:9:9:30 | call to method WriteLine | System | Console | WriteLine | (System.Object) | true | System.Console | 8.0.0.0 | neutral | source | -| PublicGenericClass.cs:14:9:14:30 | call to method WriteLine | System | Console | WriteLine | (System.Object) | true | System.Console | 8.0.0.0 | neutral | source | -| PublicGenericInterface.cs:13:9:13:30 | call to method WriteLine | System | Console | WriteLine | (System.String) | true | System.Console | 8.0.0.0 | neutral | source | -| PublicInterface.cs:13:9:13:30 | call to method WriteLine | System | Console | WriteLine | (System.String) | true | System.Console | 8.0.0.0 | neutral | source | +| NonPublicClass.cs:9:9:9:31 | call to method WriteLine | System | Console | WriteLine | (System.String) | true | System.Console | 9.0.0.0 | neutral | source | +| PublicClass.cs:9:9:9:30 | call to method WriteLine | System | Console | WriteLine | (System.String) | true | System.Console | 9.0.0.0 | neutral | source | +| PublicClass.cs:14:9:14:30 | call to method WriteLine | System | Console | WriteLine | (System.String) | true | System.Console | 9.0.0.0 | neutral | source | +| PublicClass.cs:19:9:19:51 | call to method WriteLine | System | Console | WriteLine | (System.String) | true | System.Console | 9.0.0.0 | neutral | source | +| PublicClass.cs:19:33:19:50 | call to method ReadLine | System | Console | ReadLine | () | true | System.Console | 9.0.0.0 | neutral | source | +| PublicClass.cs:19:33:19:50 | call to method ReadLine | System | Console | ReadLine | () | true | System.Console | 9.0.0.0 | source | source | +| PublicClass.cs:24:9:24:46 | call to method Write | System | Console | Write | (System.Object) | true | System.Console | 9.0.0.0 | neutral | source | +| PublicClass.cs:30:9:30:30 | call to method WriteLine | System | Console | WriteLine | (System.String) | true | System.Console | 9.0.0.0 | neutral | source | +| PublicGenericClass.cs:9:9:9:30 | call to method WriteLine | System | Console | WriteLine | (System.Object) | true | System.Console | 9.0.0.0 | neutral | source | +| PublicGenericClass.cs:14:9:14:30 | call to method WriteLine | System | Console | WriteLine | (System.Object) | true | System.Console | 9.0.0.0 | neutral | source | +| PublicGenericInterface.cs:13:9:13:30 | call to method WriteLine | System | Console | WriteLine | (System.String) | true | System.Console | 9.0.0.0 | neutral | source | +| PublicInterface.cs:13:9:13:30 | call to method WriteLine | System | Console | WriteLine | (System.String) | true | System.Console | 9.0.0.0 | neutral | source | From ec0c0f1b35204185f8ad37da30ae18c861448851 Mon Sep 17 00:00:00 2001 From: Owen Mansel-Chan Date: Wed, 4 Dec 2024 11:57:32 +0000 Subject: [PATCH 46/46] Fix some spurious results in ExternalFlowInheritance tests Several struct types were being considered as the same. The fix is to give them unique fields. --- .../ExternalFlowInheritance/test_fields.go | 22 ++++---- .../github.com/nonexistent/test/stub.go | 50 ++++++++++++------- 2 files changed, 44 insertions(+), 28 deletions(-) diff --git a/go/ql/test/library-tests/semmle/go/dataflow/ExternalFlowInheritance/test_fields.go b/go/ql/test/library-tests/semmle/go/dataflow/ExternalFlowInheritance/test_fields.go index 86d5828ce12..e58d937fae3 100644 --- a/go/ql/test/library-tests/semmle/go/dataflow/ExternalFlowInheritance/test_fields.go +++ b/go/ql/test/library-tests/semmle/go/dataflow/ExternalFlowInheritance/test_fields.go @@ -6,12 +6,12 @@ import ( func TestFieldsP1(t test.P1) { a := t.SourceField - t.SinkField = a // $ P1[f] P1[t] ql_P1 SPURIOUS: ql_S1 + t.SinkField = a // $ P1[f] P1[t] ql_P1 } func TestFieldsS1(t test.S1) { a := t.SourceField - t.SinkField = a // $ S1[f] S1[t] ql_S1 SPURIOUS: ql_P1 + t.SinkField = a // $ S1[f] S1[t] ql_S1 } func TestFieldsSEmbedI1(t test.SEmbedI1) { @@ -31,22 +31,22 @@ func TestFieldsPImplEmbedI1(t test.PImplEmbedI1) { func TestFieldsSEmbedP1(t test.SEmbedP1) { a := t.SourceField - t.SinkField = a // $ P1[t] SEmbedP1[t] ql_P1 SPURIOUS: ql_S1 + t.SinkField = a // $ P1[t] SEmbedP1[t] ql_P1 } func TestFieldsSEmbedS1(t test.SEmbedS1) { a := t.SourceField - t.SinkField = a // $ S1[t] SEmbedS1[t] ql_S1 SPURIOUS: ql_P1 + t.SinkField = a // $ S1[t] SEmbedS1[t] ql_S1 } func TestFieldsSEmbedPtrP1(t test.SEmbedPtrP1) { a := t.SourceField - t.SinkField = a // $ P1[t] SEmbedPtrP1[t] ql_P1 SPURIOUS: ql_S1 + t.SinkField = a // $ P1[t] SEmbedPtrP1[t] ql_P1 } func TestFieldsSEmbedPtrS1(t test.SEmbedPtrS1) { a := t.SourceField - t.SinkField = a // $ S1[t] SEmbedPtrS1[t] ql_S1 SPURIOUS: ql_P1 + t.SinkField = a // $ S1[t] SEmbedPtrS1[t] ql_S1 } func TestFieldsSImplEmbedS1(t test.SImplEmbedS1) { @@ -61,25 +61,25 @@ func TestFieldsSEmbedSEmbedI1(t test.SEmbedSEmbedI1) { func TestFieldsSEmbedSEmbedS1(t test.SEmbedSEmbedS1) { a := t.SourceField - t.SinkField = a // $ S1[t] SEmbedS1[t] ql_S1 SPURIOUS: ql_P1 + t.SinkField = a // $ S1[t] SEmbedS1[t] ql_S1 } func TestFieldsSEmbedSEmbedPtrS1(t test.SEmbedSEmbedPtrS1) { a := t.SourceField - t.SinkField = a // $ S1[t] SEmbedPtrS1[t] ql_S1 SPURIOUS: ql_P1 + t.SinkField = a // $ S1[t] SEmbedPtrS1[t] ql_S1 } func TestFieldsSEmbedPtrSEmbedS1(t test.SEmbedPtrSEmbedS1) { a := t.SourceField - t.SinkField = a // $ S1[t] SEmbedS1[t] ql_S1 SPURIOUS: ql_P1 + t.SinkField = a // $ S1[t] SEmbedS1[t] ql_S1 } func TestFieldsSEmbedPtrSEmbedPtrS1(t test.SEmbedPtrSEmbedPtrS1) { a := t.SourceField - t.SinkField = a // $ S1[t] SEmbedPtrS1[t] ql_S1 SPURIOUS: ql_P1 + t.SinkField = a // $ S1[t] SEmbedPtrS1[t] ql_S1 } func TestFieldsSEmbedS1AndSEmbedS1(t test.SEmbedS1AndSEmbedS1) { a := t.SourceField - t.SinkField = a // $ S1[t] ql_S1 SPURIOUS: ql_P1 + t.SinkField = a // $ S1[t] ql_S1 } diff --git a/go/ql/test/library-tests/semmle/go/dataflow/ExternalFlowInheritance/vendor/github.com/nonexistent/test/stub.go b/go/ql/test/library-tests/semmle/go/dataflow/ExternalFlowInheritance/vendor/github.com/nonexistent/test/stub.go index 093c24eab9d..663bb5fedde 100644 --- a/go/ql/test/library-tests/semmle/go/dataflow/ExternalFlowInheritance/vendor/github.com/nonexistent/test/stub.go +++ b/go/ql/test/library-tests/semmle/go/dataflow/ExternalFlowInheritance/vendor/github.com/nonexistent/test/stub.go @@ -17,8 +17,9 @@ type I2 interface { // A struct type implementing I1 type S1 struct { - SourceField string - SinkField string + SourceField string + SinkField string + UniqueFieldS1 int // this only exists to make this struct type different from other struct types } func (t S1) Source() interface{} { @@ -33,8 +34,9 @@ func (t S1) Step(val interface{}) interface{} { // A struct type whose pointer type implements I1 type P1 struct { - SourceField string - SinkField string + SourceField string + SinkField string + UniqueFieldP1 int // this only exists to make this struct type different from other struct types } func (t *P1) Source() interface{} { @@ -48,7 +50,9 @@ func (t *P1) Step(val interface{}) interface{} { } // A struct type implementing I2 -type S2 struct{} +type S2 struct { + UniqueFieldS2 int // this only exists to make this struct type different from other struct types +} func (t S2) Source() interface{} { return nil @@ -80,8 +84,9 @@ func (t *P2) ExtraMethodI2() {} // A struct type embedding I1 type SEmbedI1 struct { I1 - SourceField string - SinkField string + SourceField string + SinkField string + UniqueFieldSEmbedI1 int // this only exists to make this struct type different from other struct types } // A struct type embedding I2 @@ -103,8 +108,9 @@ type IEmbedI2 interface { // methods of the embedded field are not promoted. type SImplEmbedI1 struct { I1 - SourceField string - SinkField string + SourceField string + SinkField string + UniqueFieldSImplEmbedI1 int // this only exists to make this struct type different from other struct types } func (t SImplEmbedI1) Source() interface{} { @@ -119,7 +125,10 @@ func (t SImplEmbedI1) Step(val interface{}) interface{} { // A struct type embedding I2 and separately implementing its methods, so the // methods of the embedded field are not promoted. -type SImplEmbedI2 struct{ I2 } +type SImplEmbedI2 struct { + I2 + UniqueFieldSImplEmbedI2 int // this only exists to make this struct type different from other struct types +} func (t SImplEmbedI2) Source() interface{} { return nil @@ -137,8 +146,9 @@ func (t SImplEmbedI2) ExtraMethodI2() {} // pointer type, so the methods of the embedded field are not promoted. type PImplEmbedI1 struct { I1 - SourceField string - SinkField string + SourceField string + SinkField string + UniqueFieldPImplEmbedI1 int // this only exists to make this struct type different from other struct types } func (t *PImplEmbedI1) Source() interface{} { @@ -195,8 +205,9 @@ type SEmbedPtrP2 struct{ *P2 } // fields, so the methods and fields of the embedded field are not promoted. type SImplEmbedS1 struct { S1 - SourceField string - SinkField string + SourceField string + SinkField string + UniqueFieldSImplEmbedS1 int // this only exists to make this struct type different from other struct types } func (t *SImplEmbedS1) Source() interface{} { @@ -211,7 +222,10 @@ func (t *SImplEmbedS1) Step(val interface{}) interface{} { // A struct type embedding S2 and separately implementing I2's methods, so the // methods of the embedded field are not promoted. -type SImplEmbedS2 struct{ S2 } +type SImplEmbedS2 struct { + S2 + UniqueFieldSImplEmbedS2 int // this only exists to make this struct type different from other struct types +} func (t *SImplEmbedS2) Source() interface{} { return nil @@ -228,8 +242,9 @@ func (t *SImplEmbedS2) ExtraMethodI2() {} // A struct type embedding SEmbedI1 type SEmbedSEmbedI1 struct { SEmbedI1 - SourceField string - SinkField string + SourceField string + SinkField string + UniqueFieldSEmbedSEmbedI1 int // this only exists to make this struct type different from other struct types } // A struct type embedding SEmbedS1 @@ -248,4 +263,5 @@ type SEmbedPtrSEmbedPtrS1 struct{ *SEmbedPtrS1 } type SEmbedS1AndSEmbedS1 struct { S1 SEmbedS1 + UniqueFieldSEmbedS1AndSEmbedS1 int // this only exists to make this struct type different from other struct types }