From c9fcdf3e8037f70cd46a7466266074b4b557c459 Mon Sep 17 00:00:00 2001 From: Henry Mercer Date: Tue, 24 Mar 2026 18:47:52 +0000 Subject: [PATCH 01/15] JS: Add regression test for YAML extraction SnakeYAML 2.3 has [a bug](https://bitbucket.org/snakeyaml/snakeyaml/issues/1098) where it crashes with an `IndexOutOfBoundsException` when a Unicode surrogate pair (e.g. an emoji) straddles the 1024 character internal buffer boundary. This happens because the high surrogate can end up as the last character in the data window, and the reader tries to read the low surrogate past the end of the buffer. This caused languages that extract YAML, most notably JavaScript and Actions, to fail when the codebase contained a YAML file with an emoji at an unlucky position in the file. --- .../yaml/input/emoji_buffer_boundary.yml | 2 ++ .../trap/emoji_buffer_boundary.yml.trap | 27 +++++++++++++++++++ 2 files changed, 29 insertions(+) create mode 100644 javascript/extractor/tests/yaml/input/emoji_buffer_boundary.yml create mode 100644 javascript/extractor/tests/yaml/output/trap/emoji_buffer_boundary.yml.trap diff --git a/javascript/extractor/tests/yaml/input/emoji_buffer_boundary.yml b/javascript/extractor/tests/yaml/input/emoji_buffer_boundary.yml new file mode 100644 index 00000000000..a254c885d38 --- /dev/null +++ b/javascript/extractor/tests/yaml/input/emoji_buffer_boundary.yml @@ -0,0 +1,2 @@ +# xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx +key: 🚀 diff --git a/javascript/extractor/tests/yaml/output/trap/emoji_buffer_boundary.yml.trap b/javascript/extractor/tests/yaml/output/trap/emoji_buffer_boundary.yml.trap new file mode 100644 index 00000000000..936088d8c09 --- /dev/null +++ b/javascript/extractor/tests/yaml/output/trap/emoji_buffer_boundary.yml.trap @@ -0,0 +1,27 @@ +#10000=@"/emoji_buffer_boundary.yml;sourcefile" +files(#10000,"/emoji_buffer_boundary.yml") +#10001=@"/;folder" +folders(#10001,"/") +containerparent(#10001,#10000) +#10002=@"loc,{#10000},0,0,0,0" +locations_default(#10002,#10000,0,0,0,0) +hasLocation(#10000,#10002) +#20000=* +#20001=* +yaml_scalars(#20001,0,"key") +yaml(#20001,0,#20000,1,"tag:yaml.org,2002:str","key") +#20002=@"loc,{#10000},2,1,2,3" +locations_default(#20002,#10000,2,1,2,3) +yaml_locations(#20001,#20002) +#20003=* +yaml_scalars(#20003,0,"🚀") +yaml(#20003,0,#20000,-1,"tag:yaml.org,2002:str","\u1f680\ude80") +#20004=@"loc,{#10000},2,6,2,6" +locations_default(#20004,#10000,2,6,2,6) +yaml_locations(#20003,#20004) +yaml(#20000,1,#10000,0,"tag:yaml.org,2002:map","key: \u1f680\ude80") +#20005=@"loc,{#10000},2,1,2,8" +locations_default(#20005,#10000,2,1,2,8) +yaml_locations(#20000,#20005) +numlines(#10000,2,0,0) +filetype(#10000,"yaml") From f50bbdb9af685a3263302f18083a32b8d9ead20d Mon Sep 17 00:00:00 2001 From: Jeroen Ketema Date: Thu, 8 Jan 2026 18:01:06 +0100 Subject: [PATCH 02/15] C++: Update expected test results after extractor changes --- .../builtins/complex/builtin.expected | 4 +- .../controlflow/guards/GuardsCompare.expected | 12 +- .../controlflow/guards/GuardsEnsure.expected | 12 +- .../library-tests/ir/ir/PrintAST.expected | 4 +- .../library-tests/ir/ir/aliased_ir.expected | 32 ++-- .../test/library-tests/ir/ir/raw_ir.expected | 28 ++-- .../SimpleRangeAnalysis/nrOfBounds.expected | 142 +++++++++--------- .../MistypedFunctionArguments.expected | 8 +- 8 files changed, 121 insertions(+), 121 deletions(-) diff --git a/cpp/ql/test/library-tests/builtins/complex/builtin.expected b/cpp/ql/test/library-tests/builtins/complex/builtin.expected index c1b9b18a412..2537ff065ac 100644 --- a/cpp/ql/test/library-tests/builtins/complex/builtin.expected +++ b/cpp/ql/test/library-tests/builtins/complex/builtin.expected @@ -1,4 +1,4 @@ | complex.c:3:23:3:51 | __builtin_complex | file://:0:0:0:0 | _Complex double | complex.c:3:41:3:44 | real | file://:0:0:0:0 | double | complex.c:3:47:3:50 | imag | file://:0:0:0:0 | double | -| complex.c:4:23:4:57 | __builtin_complex | file://:0:0:0:0 | _Complex double | complex.c:4:41:4:47 | 2.71828000000000003 | file://:0:0:0:0 | double | complex.c:4:50:4:56 | 3.141589999999999883 | file://:0:0:0:0 | double | +| complex.c:4:23:4:57 | __builtin_complex | file://:0:0:0:0 | _Complex double | complex.c:4:41:4:47 | 2.71828 | file://:0:0:0:0 | double | complex.c:4:50:4:56 | 3.14159 | file://:0:0:0:0 | double | | complex.c:8:22:8:52 | __builtin_complex | file://:0:0:0:0 | _Complex float | complex.c:8:40:8:44 | realf | file://:0:0:0:0 | float | complex.c:8:47:8:51 | imagf | file://:0:0:0:0 | float | -| complex.c:9:22:9:52 | __builtin_complex | file://:0:0:0:0 | _Complex float | complex.c:9:40:9:44 | 1.230000019 | file://:0:0:0:0 | float | complex.c:9:47:9:51 | 4.559999943 | file://:0:0:0:0 | float | +| complex.c:9:22:9:52 | __builtin_complex | file://:0:0:0:0 | _Complex float | complex.c:9:40:9:44 | 1.23 | file://:0:0:0:0 | float | complex.c:9:47:9:51 | 4.56 | file://:0:0:0:0 | float | diff --git a/cpp/ql/test/library-tests/controlflow/guards/GuardsCompare.expected b/cpp/ql/test/library-tests/controlflow/guards/GuardsCompare.expected index 4d78c4016da..f6833ab4ff1 100644 --- a/cpp/ql/test/library-tests/controlflow/guards/GuardsCompare.expected +++ b/cpp/ql/test/library-tests/controlflow/guards/GuardsCompare.expected @@ -298,16 +298,16 @@ | test.c:182:8:182:34 | ! ... | ! ... == 1 when ! ... is true | | test.c:182:8:182:34 | ! ... | ... && ... != 0 when ! ... is false | | test.c:182:8:182:34 | ! ... | ... && ... == 0 when ! ... is true | -| test.c:182:10:182:20 | ... >= ... | 9.999999999999999547e-07 < foo+1 when ... >= ... is true | -| test.c:182:10:182:20 | ... >= ... | 9.999999999999999547e-07 >= foo+1 when ... >= ... is false | +| test.c:182:10:182:20 | ... >= ... | 1.0E-6 < foo+1 when ... >= ... is true | +| test.c:182:10:182:20 | ... >= ... | 1.0E-6 >= foo+1 when ... >= ... is false | | test.c:182:10:182:20 | ... >= ... | ... >= ... != 0 when ... >= ... is true | | test.c:182:10:182:20 | ... >= ... | ... >= ... != 1 when ... >= ... is false | | test.c:182:10:182:20 | ... >= ... | ... >= ... == 0 when ... >= ... is false | | test.c:182:10:182:20 | ... >= ... | ... >= ... == 1 when ... >= ... is true | -| test.c:182:10:182:20 | ... >= ... | foo < 9.999999999999999547e-07+0 when ... >= ... is false | -| test.c:182:10:182:20 | ... >= ... | foo >= 9.999999999999999547e-07+0 when ... >= ... is true | +| test.c:182:10:182:20 | ... >= ... | foo < 1.0E-6+0 when ... >= ... is false | +| test.c:182:10:182:20 | ... >= ... | foo >= 1.0E-6+0 when ... >= ... is true | | test.c:182:10:182:33 | ... && ... | 1.0 >= foo+1 when ... && ... is true | -| test.c:182:10:182:33 | ... && ... | 9.999999999999999547e-07 < foo+1 when ... && ... is true | +| test.c:182:10:182:33 | ... && ... | 1.0E-6 < foo+1 when ... && ... is true | | test.c:182:10:182:33 | ... && ... | ! ... != 0 when ... && ... is false | | test.c:182:10:182:33 | ... && ... | ! ... != 1 when ... && ... is true | | test.c:182:10:182:33 | ... && ... | ! ... == 0 when ... && ... is true | @@ -319,7 +319,7 @@ | test.c:182:10:182:33 | ... && ... | ... >= ... != 0 when ... && ... is true | | test.c:182:10:182:33 | ... && ... | ... >= ... == 1 when ... && ... is true | | test.c:182:10:182:33 | ... && ... | foo < 1.0+0 when ... && ... is true | -| test.c:182:10:182:33 | ... && ... | foo >= 9.999999999999999547e-07+0 when ... && ... is true | +| test.c:182:10:182:33 | ... && ... | foo >= 1.0E-6+0 when ... && ... is true | | test.c:182:25:182:33 | ... < ... | 1.0 < foo+1 when ... < ... is false | | test.c:182:25:182:33 | ... < ... | 1.0 >= foo+1 when ... < ... is true | | test.c:182:25:182:33 | ... < ... | ... < ... != 0 when ... < ... is true | diff --git a/cpp/ql/test/library-tests/controlflow/guards/GuardsEnsure.expected b/cpp/ql/test/library-tests/controlflow/guards/GuardsEnsure.expected index 5a364e3deaa..cf99d2c20b8 100644 --- a/cpp/ql/test/library-tests/controlflow/guards/GuardsEnsure.expected +++ b/cpp/ql/test/library-tests/controlflow/guards/GuardsEnsure.expected @@ -169,12 +169,12 @@ binary | test.c:176:8:176:15 | ! ... | test.c:176:14:176:14 | b | < | test.c:176:10:176:10 | a | 1 | test.c:176:18:178:5 | { ... } | | test.c:176:10:176:14 | ... < ... | test.c:176:10:176:10 | a | >= | test.c:176:14:176:14 | b | 0 | test.c:176:18:178:5 | { ... } | | test.c:176:10:176:14 | ... < ... | test.c:176:14:176:14 | b | < | test.c:176:10:176:10 | a | 1 | test.c:176:18:178:5 | { ... } | -| test.c:182:10:182:20 | ... >= ... | test.c:182:10:182:12 | foo | >= | test.c:182:17:182:20 | 9.999999999999999547e-07 | 0 | test.c:181:25:182:20 | { ... } | -| test.c:182:10:182:20 | ... >= ... | test.c:182:10:182:12 | foo | >= | test.c:182:17:182:20 | 9.999999999999999547e-07 | 0 | test.c:182:25:182:33 | foo | -| test.c:182:10:182:20 | ... >= ... | test.c:182:17:182:20 | 9.999999999999999547e-07 | < | test.c:182:10:182:12 | foo | 1 | test.c:181:25:182:20 | { ... } | -| test.c:182:10:182:20 | ... >= ... | test.c:182:17:182:20 | 9.999999999999999547e-07 | < | test.c:182:10:182:12 | foo | 1 | test.c:182:25:182:33 | foo | -| test.c:182:10:182:33 | ... && ... | test.c:182:10:182:12 | foo | >= | test.c:182:17:182:20 | 9.999999999999999547e-07 | 0 | test.c:181:25:182:20 | { ... } | -| test.c:182:10:182:33 | ... && ... | test.c:182:17:182:20 | 9.999999999999999547e-07 | < | test.c:182:10:182:12 | foo | 1 | test.c:181:25:182:20 | { ... } | +| test.c:182:10:182:20 | ... >= ... | test.c:182:10:182:12 | foo | >= | test.c:182:17:182:20 | 1.0E-6 | 0 | test.c:181:25:182:20 | { ... } | +| test.c:182:10:182:20 | ... >= ... | test.c:182:10:182:12 | foo | >= | test.c:182:17:182:20 | 1.0E-6 | 0 | test.c:182:25:182:33 | foo | +| test.c:182:10:182:20 | ... >= ... | test.c:182:17:182:20 | 1.0E-6 | < | test.c:182:10:182:12 | foo | 1 | test.c:181:25:182:20 | { ... } | +| test.c:182:10:182:20 | ... >= ... | test.c:182:17:182:20 | 1.0E-6 | < | test.c:182:10:182:12 | foo | 1 | test.c:182:25:182:33 | foo | +| test.c:182:10:182:33 | ... && ... | test.c:182:10:182:12 | foo | >= | test.c:182:17:182:20 | 1.0E-6 | 0 | test.c:181:25:182:20 | { ... } | +| test.c:182:10:182:33 | ... && ... | test.c:182:17:182:20 | 1.0E-6 | < | test.c:182:10:182:12 | foo | 1 | test.c:181:25:182:20 | { ... } | | test.c:182:10:182:33 | ... && ... | test.c:182:25:182:27 | foo | < | test.c:182:31:182:33 | 1.0 | 0 | test.c:181:25:182:20 | { ... } | | test.c:182:10:182:33 | ... && ... | test.c:182:31:182:33 | 1.0 | >= | test.c:182:25:182:27 | foo | 1 | test.c:181:25:182:20 | { ... } | | test.c:182:25:182:33 | ... < ... | test.c:182:25:182:27 | foo | < | test.c:182:31:182:33 | 1.0 | 0 | test.c:181:25:182:20 | { ... } | diff --git a/cpp/ql/test/library-tests/ir/ir/PrintAST.expected b/cpp/ql/test/library-tests/ir/ir/PrintAST.expected index c3e46114edf..59b5f6214f3 100644 --- a/cpp/ql/test/library-tests/ir/ir/PrintAST.expected +++ b/cpp/ql/test/library-tests/ir/ir/PrintAST.expected @@ -25796,9 +25796,9 @@ ir.cpp: # 2919| getExpr(): [FunctionCall] call to VariableTemplateFunc # 2919| Type = [DoubleType] double # 2919| ValueCategory = prvalue -# 2919| getArgument(0): [Literal] 2.299999999999999822 +# 2919| getArgument(0): [Literal] 2.3 # 2919| Type = [DoubleType] double -# 2919| Value = [Literal] 2.299999999999999822 +# 2919| Value = [Literal] 2.3 # 2919| ValueCategory = prvalue # 2919| getExpr().getFullyConverted(): [CStyleCast] (int)... # 2919| Conversion = [FloatingPointToIntegralConversion] floating point to integral conversion diff --git a/cpp/ql/test/library-tests/ir/ir/aliased_ir.expected b/cpp/ql/test/library-tests/ir/ir/aliased_ir.expected index 66810913e5d..96035c16533 100644 --- a/cpp/ql/test/library-tests/ir/ir/aliased_ir.expected +++ b/cpp/ql/test/library-tests/ir/ir/aliased_ir.expected @@ -12954,21 +12954,21 @@ ir.cpp: # 1592| double StructuredBindingTupleRefGet::d # 1592| Block 0 -# 1592| v1592_1(void) = EnterFunction : -# 1592| m1592_2(unknown) = AliasedDefinition : -# 1592| m1592_3(unknown) = InitializeNonLocal : -# 1592| m1592_4(unknown) = Chi : total:m1592_2, partial:m1592_3 -# 1592| r1592_5(glval) = VariableAddress[#this] : -# 1592| m1592_6(glval) = InitializeParameter[#this] : &:r1592_5 -# 1592| r1592_7(glval) = Load[#this] : &:r1592_5, m1592_6 -# 1592| m1592_8(StructuredBindingTupleRefGet) = InitializeIndirection[#this] : &:r1592_7 -# 1592| r1592_9(glval) = FieldAddress[d] : r1592_7 -# 1592| r1592_10(double) = Constant[2.200000000000000178] : -# 1592| m1592_11(double) = Store[?] : &:r1592_9, r1592_10 -# 1592| m1592_12(unknown) = Chi : total:m1592_8, partial:m1592_11 -# 1592| v1592_13(void) = ReturnVoid : -# 1592| v1592_14(void) = AliasedUse : m1592_3 -# 1592| v1592_15(void) = ExitFunction : +# 1592| v1592_1(void) = EnterFunction : +# 1592| m1592_2(unknown) = AliasedDefinition : +# 1592| m1592_3(unknown) = InitializeNonLocal : +# 1592| m1592_4(unknown) = Chi : total:m1592_2, partial:m1592_3 +# 1592| r1592_5(glval) = VariableAddress[#this] : +# 1592| m1592_6(glval) = InitializeParameter[#this] : &:r1592_5 +# 1592| r1592_7(glval) = Load[#this] : &:r1592_5, m1592_6 +# 1592| m1592_8(StructuredBindingTupleRefGet) = InitializeIndirection[#this] : &:r1592_7 +# 1592| r1592_9(glval) = FieldAddress[d] : r1592_7 +# 1592| r1592_10(double) = Constant[2.2] : +# 1592| m1592_11(double) = Store[?] : &:r1592_9, r1592_10 +# 1592| m1592_12(unknown) = Chi : total:m1592_8, partial:m1592_11 +# 1592| v1592_13(void) = ReturnVoid : +# 1592| v1592_14(void) = AliasedUse : m1592_3 +# 1592| v1592_15(void) = ExitFunction : # 1593| int& StructuredBindingTupleRefGet::r # 1593| Block 0 @@ -21761,7 +21761,7 @@ ir.cpp: # 2919| m2919_2(unknown) = AliasedDefinition : # 2919| r2919_3(glval) = VariableAddress[VariableTemplateFuncUse] : # 2919| r2919_4(glval) = FunctionAddress[VariableTemplateFunc] : -# 2919| r2919_5(double) = Constant[2.299999999999999822] : +# 2919| r2919_5(double) = Constant[2.3] : # 2919| r2919_6(double) = Call[VariableTemplateFunc] : func:r2919_4, 0:r2919_5 # 2919| m2919_7(unknown) = ^CallSideEffect : ~m2919_2 # 2919| m2919_8(unknown) = Chi : total:m2919_2, partial:m2919_7 diff --git a/cpp/ql/test/library-tests/ir/ir/raw_ir.expected b/cpp/ql/test/library-tests/ir/ir/raw_ir.expected index 4e73b7d1aa6..05ab6c50d70 100644 --- a/cpp/ql/test/library-tests/ir/ir/raw_ir.expected +++ b/cpp/ql/test/library-tests/ir/ir/raw_ir.expected @@ -11861,19 +11861,19 @@ ir.cpp: # 1592| double StructuredBindingTupleRefGet::d # 1592| Block 0 -# 1592| v1592_1(void) = EnterFunction : -# 1592| mu1592_2(unknown) = AliasedDefinition : -# 1592| mu1592_3(unknown) = InitializeNonLocal : -# 1592| r1592_4(glval) = VariableAddress[#this] : -# 1592| mu1592_5(glval) = InitializeParameter[#this] : &:r1592_4 -# 1592| r1592_6(glval) = Load[#this] : &:r1592_4, ~m? -# 1592| mu1592_7(StructuredBindingTupleRefGet) = InitializeIndirection[#this] : &:r1592_6 -# 1592| r1592_8(glval) = FieldAddress[d] : r1592_6 -# 1592| r1592_9(double) = Constant[2.200000000000000178] : -# 1592| mu1592_10(double) = Store[?] : &:r1592_8, r1592_9 -# 1592| v1592_11(void) = ReturnVoid : -# 1592| v1592_12(void) = AliasedUse : ~m? -# 1592| v1592_13(void) = ExitFunction : +# 1592| v1592_1(void) = EnterFunction : +# 1592| mu1592_2(unknown) = AliasedDefinition : +# 1592| mu1592_3(unknown) = InitializeNonLocal : +# 1592| r1592_4(glval) = VariableAddress[#this] : +# 1592| mu1592_5(glval) = InitializeParameter[#this] : &:r1592_4 +# 1592| r1592_6(glval) = Load[#this] : &:r1592_4, ~m? +# 1592| mu1592_7(StructuredBindingTupleRefGet) = InitializeIndirection[#this] : &:r1592_6 +# 1592| r1592_8(glval) = FieldAddress[d] : r1592_6 +# 1592| r1592_9(double) = Constant[2.2] : +# 1592| mu1592_10(double) = Store[?] : &:r1592_8, r1592_9 +# 1592| v1592_11(void) = ReturnVoid : +# 1592| v1592_12(void) = AliasedUse : ~m? +# 1592| v1592_13(void) = ExitFunction : # 1593| int& StructuredBindingTupleRefGet::r # 1593| Block 0 @@ -19768,7 +19768,7 @@ ir.cpp: # 2919| mu2919_2(unknown) = AliasedDefinition : # 2919| r2919_3(glval) = VariableAddress[VariableTemplateFuncUse] : # 2919| r2919_4(glval) = FunctionAddress[VariableTemplateFunc] : -# 2919| r2919_5(double) = Constant[2.299999999999999822] : +# 2919| r2919_5(double) = Constant[2.3] : # 2919| r2919_6(double) = Call[VariableTemplateFunc] : func:r2919_4, 0:r2919_5 # 2919| mu2919_7(unknown) = ^CallSideEffect : ~m? # 2919| r2919_8(int) = Convert : r2919_6 diff --git a/cpp/ql/test/library-tests/rangeanalysis/SimpleRangeAnalysis/nrOfBounds.expected b/cpp/ql/test/library-tests/rangeanalysis/SimpleRangeAnalysis/nrOfBounds.expected index b8424b8f01a..7d441d6293a 100644 --- a/cpp/ql/test/library-tests/rangeanalysis/SimpleRangeAnalysis/nrOfBounds.expected +++ b/cpp/ql/test/library-tests/rangeanalysis/SimpleRangeAnalysis/nrOfBounds.expected @@ -1293,12 +1293,12 @@ estimateNrOfBounds | test.c:415:26:415:69 | ... ? ... : ... | 1.0 | 1.0 | 1.0 | | test.c:415:30:415:30 | q | 1.0 | 1.0 | 1.0 | | test.c:415:30:415:56 | ... ? ... : ... | 1.0 | 1.0 | 1.0 | -| test.c:415:34:415:43 | 0.4743882700000000008 | 1.0 | -1.0 | -1.0 | -| test.c:415:47:415:56 | 0.1433388700000000071 | 1.0 | -1.0 | -1.0 | -| test.c:415:60:415:69 | 0.3527920299999999787 | 1.0 | -1.0 | -1.0 | -| test.c:415:73:415:82 | 0.3920645799999999959 | 1.0 | -1.0 | -1.0 | -| test.c:415:86:415:95 | 0.2154022499999999896 | 1.0 | -1.0 | -1.0 | -| test.c:415:99:415:108 | 0.4049680500000000238 | 1.0 | -1.0 | -1.0 | +| test.c:415:34:415:43 | 0.47438827 | 1.0 | -1.0 | -1.0 | +| test.c:415:47:415:56 | 0.14333887 | 1.0 | -1.0 | -1.0 | +| test.c:415:60:415:69 | 0.35279203 | 1.0 | -1.0 | -1.0 | +| test.c:415:73:415:82 | 0.39206458 | 1.0 | -1.0 | -1.0 | +| test.c:415:86:415:95 | 0.21540225 | 1.0 | -1.0 | -1.0 | +| test.c:415:99:415:108 | 0.40496805 | 1.0 | -1.0 | -1.0 | | test.c:416:14:416:14 | m | 2.0 | 1.0 | 1.0 | | test.c:416:14:416:108 | ... ? ... : ... | 1.0 | 1.0 | 1.0 | | test.c:416:18:416:18 | n | 3.0 | 1.0 | 1.0 | @@ -1309,12 +1309,12 @@ estimateNrOfBounds | test.c:416:26:416:69 | ... ? ... : ... | 1.0 | 1.0 | 1.0 | | test.c:416:30:416:30 | q | 3.0 | 1.0 | 1.0 | | test.c:416:30:416:56 | ... ? ... : ... | 1.0 | 1.0 | 1.0 | -| test.c:416:34:416:43 | 0.3418334800000000229 | 1.0 | -1.0 | -1.0 | -| test.c:416:47:416:56 | 0.3533464000000000049 | 1.0 | -1.0 | -1.0 | -| test.c:416:60:416:69 | 0.2224785300000000077 | 1.0 | -1.0 | -1.0 | -| test.c:416:73:416:82 | 0.326618929999999974 | 1.0 | -1.0 | -1.0 | -| test.c:416:86:416:95 | 0.5927046500000000551 | 1.0 | -1.0 | -1.0 | -| test.c:416:99:416:108 | 0.5297741000000000255 | 1.0 | -1.0 | -1.0 | +| test.c:416:34:416:43 | 0.34183348 | 1.0 | -1.0 | -1.0 | +| test.c:416:47:416:56 | 0.3533464 | 1.0 | -1.0 | -1.0 | +| test.c:416:60:416:69 | 0.22247853 | 1.0 | -1.0 | -1.0 | +| test.c:416:73:416:82 | 0.32661893 | 1.0 | -1.0 | -1.0 | +| test.c:416:86:416:95 | 0.59270465 | 1.0 | -1.0 | -1.0 | +| test.c:416:99:416:108 | 0.5297741 | 1.0 | -1.0 | -1.0 | | test.c:417:14:417:14 | m | 3.5 | 1.0 | 1.0 | | test.c:417:14:417:108 | ... ? ... : ... | 1.0 | 1.0 | 1.0 | | test.c:417:18:417:18 | n | 8.0 | 1.0 | 1.0 | @@ -1325,12 +1325,12 @@ estimateNrOfBounds | test.c:417:26:417:69 | ... ? ... : ... | 1.0 | 1.0 | 1.0 | | test.c:417:30:417:30 | q | 8.0 | 1.0 | 1.0 | | test.c:417:30:417:56 | ... ? ... : ... | 1.0 | 1.0 | 1.0 | -| test.c:417:34:417:43 | 0.774296030000000024 | 1.0 | -1.0 | -1.0 | -| test.c:417:47:417:56 | 0.3147808400000000062 | 1.0 | -1.0 | -1.0 | -| test.c:417:60:417:69 | 0.3123551399999999756 | 1.0 | -1.0 | -1.0 | -| test.c:417:73:417:82 | 0.05121255999999999725 | 1.0 | -1.0 | -1.0 | -| test.c:417:86:417:95 | 0.7931074500000000471 | 1.0 | -1.0 | -1.0 | -| test.c:417:99:417:108 | 0.6798145100000000385 | 1.0 | -1.0 | -1.0 | +| test.c:417:34:417:43 | 0.77429603 | 1.0 | -1.0 | -1.0 | +| test.c:417:47:417:56 | 0.31478084 | 1.0 | -1.0 | -1.0 | +| test.c:417:60:417:69 | 0.31235514 | 1.0 | -1.0 | -1.0 | +| test.c:417:73:417:82 | 0.05121256 | 1.0 | -1.0 | -1.0 | +| test.c:417:86:417:95 | 0.79310745 | 1.0 | -1.0 | -1.0 | +| test.c:417:99:417:108 | 0.67981451 | 1.0 | -1.0 | -1.0 | | test.c:418:14:418:14 | m | 5.75 | 1.0 | 1.0 | | test.c:418:14:418:108 | ... ? ... : ... | 1.0 | 1.0 | 1.0 | | test.c:418:18:418:18 | n | 20.5 | 1.0 | 1.0 | @@ -1341,12 +1341,12 @@ estimateNrOfBounds | test.c:418:26:418:69 | ... ? ... : ... | 1.0 | 1.0 | 1.0 | | test.c:418:30:418:30 | q | 20.5 | 1.0 | 1.0 | | test.c:418:30:418:56 | ... ? ... : ... | 1.0 | 1.0 | 1.0 | -| test.c:418:34:418:43 | 0.4472955599999999809 | 1.0 | -1.0 | -1.0 | -| test.c:418:47:418:56 | 0.8059920200000000312 | 1.0 | -1.0 | -1.0 | -| test.c:418:60:418:69 | 0.9899726199999999698 | 1.0 | -1.0 | -1.0 | -| test.c:418:73:418:82 | 0.5995273199999999747 | 1.0 | -1.0 | -1.0 | -| test.c:418:86:418:95 | 0.3697694799999999837 | 1.0 | -1.0 | -1.0 | -| test.c:418:99:418:108 | 0.8386683499999999514 | 1.0 | -1.0 | -1.0 | +| test.c:418:34:418:43 | 0.44729556 | 1.0 | -1.0 | -1.0 | +| test.c:418:47:418:56 | 0.80599202 | 1.0 | -1.0 | -1.0 | +| test.c:418:60:418:69 | 0.98997262 | 1.0 | -1.0 | -1.0 | +| test.c:418:73:418:82 | 0.59952732 | 1.0 | -1.0 | -1.0 | +| test.c:418:86:418:95 | 0.36976948 | 1.0 | -1.0 | -1.0 | +| test.c:418:99:418:108 | 0.83866835 | 1.0 | -1.0 | -1.0 | | test.c:419:14:419:14 | m | 9.125 | 1.0 | 1.0 | | test.c:419:14:419:108 | ... ? ... : ... | 1.0 | 1.0 | 1.0 | | test.c:419:18:419:18 | n | 51.75 | 1.0 | 1.0 | @@ -1357,12 +1357,12 @@ estimateNrOfBounds | test.c:419:26:419:69 | ... ? ... : ... | 1.0 | 1.0 | 1.0 | | test.c:419:30:419:30 | q | 51.75 | 1.0 | 1.0 | | test.c:419:30:419:56 | ... ? ... : ... | 1.0 | 1.0 | 1.0 | -| test.c:419:34:419:43 | 0.4931182800000000199 | 1.0 | -1.0 | -1.0 | -| test.c:419:47:419:56 | 0.9038991100000000056 | 1.0 | -1.0 | -1.0 | -| test.c:419:60:419:69 | 0.1059771199999999941 | 1.0 | -1.0 | -1.0 | -| test.c:419:73:419:82 | 0.2177842600000000073 | 1.0 | -1.0 | -1.0 | -| test.c:419:86:419:95 | 0.7248596600000000167 | 1.0 | -1.0 | -1.0 | -| test.c:419:99:419:108 | 0.6873487400000000136 | 1.0 | -1.0 | -1.0 | +| test.c:419:34:419:43 | 0.49311828 | 1.0 | -1.0 | -1.0 | +| test.c:419:47:419:56 | 0.90389911 | 1.0 | -1.0 | -1.0 | +| test.c:419:60:419:69 | 0.10597712 | 1.0 | -1.0 | -1.0 | +| test.c:419:73:419:82 | 0.21778426 | 1.0 | -1.0 | -1.0 | +| test.c:419:86:419:95 | 0.72485966 | 1.0 | -1.0 | -1.0 | +| test.c:419:99:419:108 | 0.68734874 | 1.0 | -1.0 | -1.0 | | test.c:420:14:420:14 | m | 14.1875 | 1.0 | 1.0 | | test.c:420:14:420:108 | ... ? ... : ... | 1.0 | 1.0 | 1.0 | | test.c:420:18:420:18 | n | 129.875 | 1.0 | 1.0 | @@ -1373,12 +1373,12 @@ estimateNrOfBounds | test.c:420:26:420:69 | ... ? ... : ... | 1.0 | 1.0 | 1.0 | | test.c:420:30:420:30 | q | 129.875 | 1.0 | 1.0 | | test.c:420:30:420:56 | ... ? ... : ... | 1.0 | 1.0 | 1.0 | -| test.c:420:34:420:43 | 0.4745284799999999747 | 1.0 | -1.0 | -1.0 | -| test.c:420:47:420:56 | 0.107866500000000004 | 1.0 | -1.0 | -1.0 | -| test.c:420:60:420:69 | 0.1188457599999999947 | 1.0 | -1.0 | -1.0 | -| test.c:420:73:420:82 | 0.7616405200000000431 | 1.0 | -1.0 | -1.0 | -| test.c:420:86:420:95 | 0.3480889200000000239 | 1.0 | -1.0 | -1.0 | -| test.c:420:99:420:108 | 0.584408649999999974 | 1.0 | -1.0 | -1.0 | +| test.c:420:34:420:43 | 0.47452848 | 1.0 | -1.0 | -1.0 | +| test.c:420:47:420:56 | 0.1078665 | 1.0 | -1.0 | -1.0 | +| test.c:420:60:420:69 | 0.11884576 | 1.0 | -1.0 | -1.0 | +| test.c:420:73:420:82 | 0.76164052 | 1.0 | -1.0 | -1.0 | +| test.c:420:86:420:95 | 0.34808892 | 1.0 | -1.0 | -1.0 | +| test.c:420:99:420:108 | 0.58440865 | 1.0 | -1.0 | -1.0 | | test.c:421:14:421:14 | m | 21.78125 | 1.0 | 1.0 | | test.c:421:14:421:108 | ... ? ... : ... | 1.0 | 1.0 | 1.0 | | test.c:421:18:421:18 | n | 325.1875 | 1.0 | 1.0 | @@ -1390,11 +1390,11 @@ estimateNrOfBounds | test.c:421:30:421:30 | q | 325.1875 | 1.0 | 1.0 | | test.c:421:30:421:56 | ... ? ... : ... | 1.0 | 1.0 | 1.0 | | test.c:421:34:421:43 | 0.02524326 | 1.0 | -1.0 | -1.0 | -| test.c:421:47:421:56 | 0.8290504600000000446 | 1.0 | -1.0 | -1.0 | -| test.c:421:60:421:69 | 0.95823075000000002 | 1.0 | -1.0 | -1.0 | -| test.c:421:73:421:82 | 0.1251655799999999985 | 1.0 | -1.0 | -1.0 | -| test.c:421:86:421:95 | 0.8523517900000000536 | 1.0 | -1.0 | -1.0 | -| test.c:421:99:421:108 | 0.3623238400000000081 | 1.0 | -1.0 | -1.0 | +| test.c:421:47:421:56 | 0.82905046 | 1.0 | -1.0 | -1.0 | +| test.c:421:60:421:69 | 0.95823075 | 1.0 | -1.0 | -1.0 | +| test.c:421:73:421:82 | 0.12516558 | 1.0 | -1.0 | -1.0 | +| test.c:421:86:421:95 | 0.85235179 | 1.0 | -1.0 | -1.0 | +| test.c:421:99:421:108 | 0.36232384 | 1.0 | -1.0 | -1.0 | | test.c:422:14:422:14 | m | 33.171875 | 1.0 | 1.0 | | test.c:422:14:422:108 | ... ? ... : ... | 1.0 | 1.0 | 1.0 | | test.c:422:18:422:18 | n | 813.46875 | 1.0 | 1.0 | @@ -1405,12 +1405,12 @@ estimateNrOfBounds | test.c:422:26:422:69 | ... ? ... : ... | 1.0 | 1.0 | 1.0 | | test.c:422:30:422:30 | q | 813.46875 | 1.0 | 1.0 | | test.c:422:30:422:56 | ... ? ... : ... | 1.0 | 1.0 | 1.0 | -| test.c:422:34:422:43 | 0.3870862600000000153 | 1.0 | -1.0 | -1.0 | -| test.c:422:47:422:56 | 0.3287604399999999871 | 1.0 | -1.0 | -1.0 | -| test.c:422:60:422:69 | 0.1496348500000000137 | 1.0 | -1.0 | -1.0 | -| test.c:422:73:422:82 | 0.4504110800000000192 | 1.0 | -1.0 | -1.0 | -| test.c:422:86:422:95 | 0.4864090899999999884 | 1.0 | -1.0 | -1.0 | -| test.c:422:99:422:108 | 0.8433127200000000157 | 1.0 | -1.0 | -1.0 | +| test.c:422:34:422:43 | 0.38708626 | 1.0 | -1.0 | -1.0 | +| test.c:422:47:422:56 | 0.32876044 | 1.0 | -1.0 | -1.0 | +| test.c:422:60:422:69 | 0.14963485 | 1.0 | -1.0 | -1.0 | +| test.c:422:73:422:82 | 0.45041108 | 1.0 | -1.0 | -1.0 | +| test.c:422:86:422:95 | 0.48640909 | 1.0 | -1.0 | -1.0 | +| test.c:422:99:422:108 | 0.84331272 | 1.0 | -1.0 | -1.0 | | test.c:423:14:423:14 | m | 50.2578125 | 1.0 | 1.0 | | test.c:423:14:423:108 | ... ? ... : ... | 1.0 | 1.0 | 1.0 | | test.c:423:18:423:18 | n | 2034.171875 | 1.0 | 1.0 | @@ -1421,12 +1421,12 @@ estimateNrOfBounds | test.c:423:26:423:69 | ... ? ... : ... | 1.0 | 1.0 | 1.0 | | test.c:423:30:423:30 | q | 2034.171875 | 1.0 | 1.0 | | test.c:423:30:423:56 | ... ? ... : ... | 1.0 | 1.0 | 1.0 | -| test.c:423:34:423:43 | 0.1575506299999999971 | 1.0 | -1.0 | -1.0 | -| test.c:423:47:423:56 | 0.7708683299999999905 | 1.0 | -1.0 | -1.0 | -| test.c:423:60:423:69 | 0.2642848099999999811 | 1.0 | -1.0 | -1.0 | -| test.c:423:73:423:82 | 0.1480050800000000111 | 1.0 | -1.0 | -1.0 | -| test.c:423:86:423:95 | 0.374281430000000026 | 1.0 | -1.0 | -1.0 | -| test.c:423:99:423:108 | 0.05328182000000000057 | 1.0 | -1.0 | -1.0 | +| test.c:423:34:423:43 | 0.15755063 | 1.0 | -1.0 | -1.0 | +| test.c:423:47:423:56 | 0.77086833 | 1.0 | -1.0 | -1.0 | +| test.c:423:60:423:69 | 0.26428481 | 1.0 | -1.0 | -1.0 | +| test.c:423:73:423:82 | 0.14800508 | 1.0 | -1.0 | -1.0 | +| test.c:423:86:423:95 | 0.37428143 | 1.0 | -1.0 | -1.0 | +| test.c:423:99:423:108 | 0.05328182 | 1.0 | -1.0 | -1.0 | | test.c:424:14:424:14 | m | 75.88671875 | 1.0 | 1.0 | | test.c:424:14:424:108 | ... ? ... : ... | 1.0 | 1.0 | 1.0 | | test.c:424:18:424:18 | n | 5085.9296875 | 1.0 | 1.0 | @@ -1437,12 +1437,12 @@ estimateNrOfBounds | test.c:424:26:424:69 | ... ? ... : ... | 1.0 | 1.0 | 1.0 | | test.c:424:30:424:30 | q | 5085.9296875 | 1.0 | 1.0 | | test.c:424:30:424:56 | ... ? ... : ... | 1.0 | 1.0 | 1.0 | -| test.c:424:34:424:43 | 0.4173653600000000186 | 1.0 | -1.0 | -1.0 | -| test.c:424:47:424:56 | 0.7682662799999999681 | 1.0 | -1.0 | -1.0 | -| test.c:424:60:424:69 | 0.2764323799999999776 | 1.0 | -1.0 | -1.0 | -| test.c:424:73:424:82 | 0.5567927400000000082 | 1.0 | -1.0 | -1.0 | -| test.c:424:86:424:95 | 0.3946885700000000163 | 1.0 | -1.0 | -1.0 | -| test.c:424:99:424:108 | 0.6907214400000000198 | 1.0 | -1.0 | -1.0 | +| test.c:424:34:424:43 | 0.41736536 | 1.0 | -1.0 | -1.0 | +| test.c:424:47:424:56 | 0.76826628 | 1.0 | -1.0 | -1.0 | +| test.c:424:60:424:69 | 0.27643238 | 1.0 | -1.0 | -1.0 | +| test.c:424:73:424:82 | 0.55679274 | 1.0 | -1.0 | -1.0 | +| test.c:424:86:424:95 | 0.39468857 | 1.0 | -1.0 | -1.0 | +| test.c:424:99:424:108 | 0.69072144 | 1.0 | -1.0 | -1.0 | | test.c:425:14:425:14 | m | 114.330078125 | 1.0 | 1.0 | | test.c:425:14:425:108 | ... ? ... : ... | 1.0 | 1.0 | 1.0 | | test.c:425:18:425:18 | n | 12715.32421875 | 1.0 | 1.0 | @@ -1453,12 +1453,12 @@ estimateNrOfBounds | test.c:425:26:425:69 | ... ? ... : ... | 1.0 | 1.0 | 1.0 | | test.c:425:30:425:30 | q | 12715.32421875 | 1.0 | 1.0 | | test.c:425:30:425:56 | ... ? ... : ... | 1.0 | 1.0 | 1.0 | -| test.c:425:34:425:43 | 0.8895534499999999678 | 1.0 | -1.0 | -1.0 | -| test.c:425:47:425:56 | 0.2990482400000000207 | 1.0 | -1.0 | -1.0 | -| test.c:425:60:425:69 | 0.7624258299999999711 | 1.0 | -1.0 | -1.0 | -| test.c:425:73:425:82 | 0.2051910999999999874 | 1.0 | -1.0 | -1.0 | -| test.c:425:86:425:95 | 0.8874555899999999609 | 1.0 | -1.0 | -1.0 | -| test.c:425:99:425:108 | 0.8137279800000000174 | 1.0 | -1.0 | -1.0 | +| test.c:425:34:425:43 | 0.88955345 | 1.0 | -1.0 | -1.0 | +| test.c:425:47:425:56 | 0.29904824 | 1.0 | -1.0 | -1.0 | +| test.c:425:60:425:69 | 0.76242583 | 1.0 | -1.0 | -1.0 | +| test.c:425:73:425:82 | 0.2051911 | 1.0 | -1.0 | -1.0 | +| test.c:425:86:425:95 | 0.88745559 | 1.0 | -1.0 | -1.0 | +| test.c:425:99:425:108 | 0.81372798 | 1.0 | -1.0 | -1.0 | | test.c:426:14:426:14 | m | 171.9951171875 | 1.0 | 1.0 | | test.c:426:14:426:108 | ... ? ... : ... | 1.0 | 1.0 | 1.0 | | test.c:426:18:426:18 | n | 31788.810546875 | 1.0 | 1.0 | @@ -1469,12 +1469,12 @@ estimateNrOfBounds | test.c:426:26:426:69 | ... ? ... : ... | 1.0 | 1.0 | 1.0 | | test.c:426:30:426:30 | q | 31788.810546875 | 1.0 | 1.0 | | test.c:426:30:426:56 | ... ? ... : ... | 1.0 | 1.0 | 1.0 | -| test.c:426:34:426:43 | 0.4218627600000000033 | 1.0 | -1.0 | -1.0 | -| test.c:426:47:426:56 | 0.5384335799999999672 | 1.0 | -1.0 | -1.0 | -| test.c:426:60:426:69 | 0.4499667900000000054 | 1.0 | -1.0 | -1.0 | -| test.c:426:73:426:82 | 0.1320411400000000013 | 1.0 | -1.0 | -1.0 | -| test.c:426:86:426:95 | 0.5203124099999999475 | 1.0 | -1.0 | -1.0 | -| test.c:426:99:426:108 | 0.4276264699999999808 | 1.0 | -1.0 | -1.0 | +| test.c:426:34:426:43 | 0.42186276 | 1.0 | -1.0 | -1.0 | +| test.c:426:47:426:56 | 0.53843358 | 1.0 | -1.0 | -1.0 | +| test.c:426:60:426:69 | 0.44996679 | 1.0 | -1.0 | -1.0 | +| test.c:426:73:426:82 | 0.13204114 | 1.0 | -1.0 | -1.0 | +| test.c:426:86:426:95 | 0.52031241 | 1.0 | -1.0 | -1.0 | +| test.c:426:99:426:108 | 0.42762647 | 1.0 | -1.0 | -1.0 | | test.c:432:19:432:19 | a | 1.0 | 1.0 | 1.0 | | test.c:432:19:432:23 | ... + ... | 1.0 | 1.0 | 1.0 | | test.c:432:19:432:27 | ... + ... | 1.0 | 1.0 | 1.0 | diff --git a/cpp/ql/test/query-tests/Likely Bugs/Underspecified Functions/MistypedFunctionArguments.expected b/cpp/ql/test/query-tests/Likely Bugs/Underspecified Functions/MistypedFunctionArguments.expected index d067430aba9..162161e369b 100644 --- a/cpp/ql/test/query-tests/Likely Bugs/Underspecified Functions/MistypedFunctionArguments.expected +++ b/cpp/ql/test/query-tests/Likely Bugs/Underspecified Functions/MistypedFunctionArguments.expected @@ -2,10 +2,10 @@ | test.c:33:3:33:19 | call to not_yet_declared2 | Calling $@: argument $@ of type $@ is incompatible with parameter $@. | test.c:77:6:77:22 | not_yet_declared2 | not_yet_declared2 | test.c:33:21:33:22 | ca | ca | file://:0:0:0:0 | int[4] | int[4] | test.c:77:24:77:26 | (unnamed parameter 0) | int (unnamed parameter 0) | | test.c:41:3:41:29 | call to declared_empty_defined_with | Calling $@: argument $@ of type $@ is incompatible with parameter $@. | test.c:78:6:78:32 | declared_empty_defined_with | declared_empty_defined_with | test.c:41:31:41:32 | & ... | & ... | file://:0:0:0:0 | int * | int * | test.c:78:38:78:38 | x | int x | | test.c:45:3:45:27 | call to not_declared_defined_with | Calling $@: argument $@ of type $@ is incompatible with parameter $@. | test.c:81:6:81:30 | not_declared_defined_with | not_declared_defined_with | test.c:45:29:45:31 | 4 | 4 | file://:0:0:0:0 | long long | long long | test.c:81:36:81:36 | x | int x | -| test.c:45:3:45:27 | call to not_declared_defined_with | Calling $@: argument $@ of type $@ is incompatible with parameter $@. | test.c:81:6:81:30 | not_declared_defined_with | not_declared_defined_with | test.c:45:37:45:42 | 2500000000.0 | 2500000000.0 | file://:0:0:0:0 | float | float | test.c:81:50:81:50 | z | int z | -| test.c:48:3:48:24 | call to declared_with_pointers | Calling $@: argument $@ of type $@ is incompatible with parameter $@. | test.c:5:6:5:27 | declared_with_pointers | declared_with_pointers | test.c:48:26:48:31 | 3500000000000000.0 | 3500000000000000.0 | file://:0:0:0:0 | double | double | test.c:93:34:93:34 | x | int * x | +| test.c:45:3:45:27 | call to not_declared_defined_with | Calling $@: argument $@ of type $@ is incompatible with parameter $@. | test.c:81:6:81:30 | not_declared_defined_with | not_declared_defined_with | test.c:45:37:45:42 | 2.5E9 | 2.5E9 | file://:0:0:0:0 | float | float | test.c:81:50:81:50 | z | int z | +| test.c:48:3:48:24 | call to declared_with_pointers | Calling $@: argument $@ of type $@ is incompatible with parameter $@. | test.c:5:6:5:27 | declared_with_pointers | declared_with_pointers | test.c:48:26:48:31 | 3.5E15 | 3.5E15 | file://:0:0:0:0 | double | double | test.c:93:34:93:34 | x | int * x | | test.c:48:3:48:24 | call to declared_with_pointers | Calling $@: argument $@ of type $@ is incompatible with parameter $@. | test.c:5:6:5:27 | declared_with_pointers | declared_with_pointers | test.c:48:34:48:34 | 0 | 0 | file://:0:0:0:0 | int | int | test.c:93:43:93:43 | y | void * y | -| test.c:48:3:48:24 | call to declared_with_pointers | Calling $@: argument $@ of type $@ is incompatible with parameter $@. | test.c:93:6:93:27 | declared_with_pointers | declared_with_pointers | test.c:48:26:48:31 | 3500000000000000.0 | 3500000000000000.0 | file://:0:0:0:0 | double | double | test.c:93:34:93:34 | x | int * x | +| test.c:48:3:48:24 | call to declared_with_pointers | Calling $@: argument $@ of type $@ is incompatible with parameter $@. | test.c:93:6:93:27 | declared_with_pointers | declared_with_pointers | test.c:48:26:48:31 | 3.5E15 | 3.5E15 | file://:0:0:0:0 | double | double | test.c:93:34:93:34 | x | int * x | | test.c:48:3:48:24 | call to declared_with_pointers | Calling $@: argument $@ of type $@ is incompatible with parameter $@. | test.c:93:6:93:27 | declared_with_pointers | declared_with_pointers | test.c:48:34:48:34 | 0 | 0 | file://:0:0:0:0 | int | int | test.c:93:43:93:43 | y | void * y | | test.c:50:3:50:21 | call to declared_with_array | Calling $@: argument $@ of type $@ is incompatible with parameter $@. | test.c:6:6:6:24 | declared_with_array | declared_with_array | test.c:50:23:50:24 | & ... | & ... | file://:0:0:0:0 | int * | int * | test.c:94:31:94:31 | a | char[6] a | | test.c:50:3:50:21 | call to declared_with_array | Calling $@: argument $@ of type $@ is incompatible with parameter $@. | test.c:94:6:94:24 | declared_with_array | declared_with_array | test.c:50:23:50:24 | & ... | & ... | file://:0:0:0:0 | int * | int * | test.c:94:31:94:31 | a | char[6] a | @@ -15,4 +15,4 @@ | test.c:58:3:58:24 | call to defined_with_long_long | Calling $@: argument $@ of type $@ is incompatible with parameter $@. | test.c:104:11:104:32 | defined_with_long_long | defined_with_long_long | test.c:58:26:58:28 | 99 | 99 | file://:0:0:0:0 | int | int | test.c:104:44:104:45 | ll | long long ll | | test.c:59:3:59:24 | call to defined_with_long_long | Calling $@: argument $@ of type $@ is incompatible with parameter $@. | test.c:104:11:104:32 | defined_with_long_long | defined_with_long_long | test.c:59:26:59:26 | 3 | 3 | file://:0:0:0:0 | int | int | test.c:104:44:104:45 | ll | long long ll | | test.c:61:3:61:21 | call to defined_with_double | Calling $@: argument $@ of type $@ is incompatible with parameter $@. | test.c:100:8:100:26 | defined_with_double | defined_with_double | test.c:61:23:61:25 | 2 | 2 | file://:0:0:0:0 | long long | long long | test.c:100:35:100:35 | d | double d | -| test.c:62:3:62:24 | call to defined_with_long_long | Calling $@: argument $@ of type $@ is incompatible with parameter $@. | test.c:104:11:104:32 | defined_with_long_long | defined_with_long_long | test.c:62:26:62:31 | 3500000000000000.0 | 3500000000000000.0 | file://:0:0:0:0 | double | double | test.c:104:44:104:45 | ll | long long ll | +| test.c:62:3:62:24 | call to defined_with_long_long | Calling $@: argument $@ of type $@ is incompatible with parameter $@. | test.c:104:11:104:32 | defined_with_long_long | defined_with_long_long | test.c:62:26:62:31 | 3.5E15 | 3.5E15 | file://:0:0:0:0 | double | double | test.c:104:44:104:45 | ll | long long ll | From 8e26fa1c81d35b11330635147f49aa6eead70744 Mon Sep 17 00:00:00 2001 From: Tom Hvitved Date: Fri, 24 Apr 2026 13:01:08 +0200 Subject: [PATCH 03/15] Go: Avoid combinatorial explosion in `mostRecentSideEffect` when there are multiple entry points --- .../go/dataflow/GlobalValueNumbering.qll | 75 ++++++++++--------- 1 file changed, 41 insertions(+), 34 deletions(-) diff --git a/go/ql/lib/semmle/go/dataflow/GlobalValueNumbering.qll b/go/ql/lib/semmle/go/dataflow/GlobalValueNumbering.qll index 88a659f6f82..3e161a4d601 100644 --- a/go/ql/lib/semmle/go/dataflow/GlobalValueNumbering.qll +++ b/go/ql/lib/semmle/go/dataflow/GlobalValueNumbering.qll @@ -127,10 +127,11 @@ private predicate sideEffectCfg(ControlFlow::Node src, ControlFlow::Node dst) { /** * Holds if `dominator` is the immediate dominator of `node` in - * the side-effect CFG. + * the side-effect CFG belonging to `entry`. */ -private predicate iDomEffect(ControlFlow::Node dominator, ControlFlow::Node node) = - idominance(entryNode/1, sideEffectCfg/2)(_, dominator, node) +private predicate iDomEffect( + ControlFlow::Node entry, ControlFlow::Node dominator, ControlFlow::Node node +) = idominance(entryNode/1, sideEffectCfg/2)(entry, dominator, node) /** * Gets the most recent side effect. To be more precise, `result` is a @@ -181,15 +182,21 @@ private predicate iDomEffect(ControlFlow::Node dominator, ControlFlow::Node node * The immediate dominator path to line 015 is 000 - 009 - 012 - 015. * Therefore, the most recent side effect for line 015 is line 009. */ -cached -private ControlFlow::Node mostRecentSideEffect(ControlFlow::Node node) { - exists(ControlFlow::Node entry | - entryNode(entry) and - iDomEffect(entry, result) and - iDomEffect*(result, node) +private ControlFlow::Node mostRecentSideEffect(ControlFlow::Node entry, ControlFlow::Node node) { + iDomEffect(entry, entry, result) and + result = node + or + exists(ControlFlow::Node mid | + result = mostRecentSideEffect(entry, mid) and + iDomEffect(entry, mid, node) ) } +cached +private ControlFlow::Node mostRecentSideEffectUnique(ControlFlow::Node node) { + result = unique( | | mostRecentSideEffect(_, node)) +} + /** Used to represent the "global value number" of an expression. */ cached private newtype GvnBase = @@ -369,10 +376,12 @@ private predicate mkMethodAccess(DataFlow::Node access, GVN qualifier, Method m) ) } -private predicate analyzableFieldRead(Read fread, DataFlow::Node base, Field f) { +private predicate analyzableFieldRead( + Read fread, DataFlow::Node base, Field f, ControlFlow::Node dominator +) { exists(IR::ReadInstruction r | r = fread.asInstruction() | r.readsField(base.asInstruction(), f) and - strictcount(mostRecentSideEffect(r)) = 1 and + dominator = mostRecentSideEffectUnique(r) and not r.isConst() ) } @@ -381,9 +390,8 @@ private predicate mkFieldRead( DataFlow::Node fread, GVN qualifier, Field v, ControlFlow::Node dominator ) { exists(DataFlow::Node base | - analyzableFieldRead(fread, base, v) and - qualifier = globalValueNumber(base) and - dominator = mostRecentSideEffect(fread.asInstruction()) + analyzableFieldRead(fread, base, v, dominator) and + qualifier = globalValueNumber(base) ) } @@ -421,18 +429,17 @@ private predicate incompleteSsa(ValueEntity v) { /** * Holds if `access` is an access to a variable `target` for which SSA information is incomplete. */ -private predicate analyzableOtherVariable(DataFlow::Node access, ValueEntity target) { +private predicate analyzableOtherVariable( + DataFlow::Node access, ValueEntity target, ControlFlow::Node dominator +) { access.asInstruction().reads(target) and incompleteSsa(target) and - strictcount(mostRecentSideEffect(access.asInstruction())) = 1 and + dominator = mostRecentSideEffectUnique(access.asInstruction()) and not access.isConst() and not target instanceof Function } -private predicate mkOtherVariable(DataFlow::Node access, ValueEntity x, ControlFlow::Node dominator) { - analyzableOtherVariable(access, x) and - dominator = mostRecentSideEffect(access.asInstruction()) -} +private predicate mkOtherVariable = analyzableOtherVariable/3; private predicate analyzableBinaryOp( DataFlow::BinaryOperationNode op, string opname, DataFlow::Node lhs, DataFlow::Node rhs @@ -463,29 +470,29 @@ private predicate mkUnaryOp(DataFlow::UnaryOperationNode op, GVN child, string o opname = op.getOperator() } -private predicate analyzableIndexExpr(DataFlow::ElementReadNode ae) { - strictcount(mostRecentSideEffect(ae.asInstruction())) = 1 and +private predicate analyzableIndexExpr(DataFlow::ElementReadNode ae, ControlFlow::Node dominator) { + dominator = mostRecentSideEffectUnique(ae.asInstruction()) and not ae.isConst() } private predicate mkIndex( DataFlow::ElementReadNode ae, GVN base, GVN offset, ControlFlow::Node dominator ) { - analyzableIndexExpr(ae) and + analyzableIndexExpr(ae, dominator) and base = globalValueNumber(ae.getBase()) and - offset = globalValueNumber(ae.getIndex()) and - dominator = mostRecentSideEffect(ae.asInstruction()) + offset = globalValueNumber(ae.getIndex()) } -private predicate analyzablePointerDereferenceExpr(DataFlow::PointerDereferenceNode deref) { - strictcount(mostRecentSideEffect(deref.asInstruction())) = 1 and +private predicate analyzablePointerDereferenceExpr( + DataFlow::PointerDereferenceNode deref, ControlFlow::Node dominator +) { + dominator = mostRecentSideEffectUnique(deref.asInstruction()) and not deref.isConst() } private predicate mkDeref(DataFlow::PointerDereferenceNode deref, GVN p, ControlFlow::Node dominator) { - analyzablePointerDereferenceExpr(deref) and - p = globalValueNumber(deref.getOperand()) and - dominator = mostRecentSideEffect(deref.asInstruction()) + analyzablePointerDereferenceExpr(deref, dominator) and + p = globalValueNumber(deref.getOperand()) } private predicate ssaInit(SsaExplicitDefinition ssa, DataFlow::Node rhs) { @@ -587,12 +594,12 @@ private predicate analyzableExpr(DataFlow::Node e) { analyzableConst(e) or any(DataFlow::SsaNode ssa).getAUse() = e or e instanceof DataFlow::SsaNode or - analyzableOtherVariable(e, _) or + analyzableOtherVariable(e, _, _) or analyzableMethodAccess(e, _, _) or - analyzableFieldRead(e, _, _) or + analyzableFieldRead(e, _, _, _) or analyzableCall(e, _) or analyzableBinaryOp(e, _, _, _) or analyzableUnaryOp(e) or - analyzableIndexExpr(e) or - analyzablePointerDereferenceExpr(e) + analyzableIndexExpr(e, _) or + analyzablePointerDereferenceExpr(e, _) } From 710c1ba05023ae70de9d28c3e79ebf2239b96b77 Mon Sep 17 00:00:00 2001 From: Owen Mansel-Chan Date: Tue, 21 Apr 2026 11:22:46 +0100 Subject: [PATCH 04/15] Make `getACallee` overlay[global] Co-authored-by: Copilot --- go/ql/lib/semmle/go/Decls.qll | 3 ++- go/ql/lib/semmle/go/Scopes.qll | 3 ++- go/ql/lib/semmle/go/dataflow/internal/DataFlowNodes.qll | 4 +++- 3 files changed, 7 insertions(+), 3 deletions(-) diff --git a/go/ql/lib/semmle/go/Decls.qll b/go/ql/lib/semmle/go/Decls.qll index 7588ab913be..f42058cd3e8 100644 --- a/go/ql/lib/semmle/go/Decls.qll +++ b/go/ql/lib/semmle/go/Decls.qll @@ -1,7 +1,7 @@ /** * Provides classes for working with declarations. */ -overlay[local] +overlay[local?] module; import go @@ -137,6 +137,7 @@ class FuncDef extends @funcdef, StmtParent, ExprParent { /** * Gets a call to this function. */ + overlay[global] DataFlow::CallNode getACall() { result.getACallee() = this } /** Holds if this function is variadic. */ diff --git a/go/ql/lib/semmle/go/Scopes.qll b/go/ql/lib/semmle/go/Scopes.qll index 4e9a13c8ea1..9f18290fb01 100644 --- a/go/ql/lib/semmle/go/Scopes.qll +++ b/go/ql/lib/semmle/go/Scopes.qll @@ -1,7 +1,7 @@ /** * Provides classes for working with scopes and declared objects. */ -overlay[local] +overlay[local?] module; import go @@ -418,6 +418,7 @@ class Function extends ValueEntity, @functionobject { * This includes calls that target this function indirectly, by calling an * interface method that this function implements. */ + overlay[global] pragma[nomagic] DataFlow::CallNode getACall() { this = result.getACalleeIncludingExternals().asFunction() } diff --git a/go/ql/lib/semmle/go/dataflow/internal/DataFlowNodes.qll b/go/ql/lib/semmle/go/dataflow/internal/DataFlowNodes.qll index 8fca4bec8c6..603da6364df 100644 --- a/go/ql/lib/semmle/go/dataflow/internal/DataFlowNodes.qll +++ b/go/ql/lib/semmle/go/dataflow/internal/DataFlowNodes.qll @@ -1,4 +1,4 @@ -overlay[local] +overlay[local?] module; private import go @@ -488,6 +488,7 @@ module Public { * For virtual calls, we look up possible targets in all types that implement the receiver * interface type. */ + overlay[global] Callable getACalleeIncludingExternals() { result = this.getACalleeWithoutVirtualDispatch() or @@ -504,6 +505,7 @@ module Public { * As `getACalleeIncludingExternals`, except excluding external functions (those for which * we lack a definition, such as standard library functions). */ + overlay[global] pragma[nomagic] FuncDef getACallee() { result = this.getACalleeIncludingExternals().getFuncDef() } From 9f70f718e3e314204126c8a9acb42e339db367f0 Mon Sep 17 00:00:00 2001 From: "Michael B. Gale" Date: Mon, 27 Apr 2026 09:36:56 +0100 Subject: [PATCH 05/15] Revert "Release preparation for version 2.25.3" --- actions/ql/lib/CHANGELOG.md | 6 ------ ...md => 2026-03-26-remove-false-positive-sinks.md} | 7 +++---- actions/ql/lib/codeql-pack.release.yml | 2 +- actions/ql/lib/qlpack.yml | 2 +- actions/ql/src/CHANGELOG.md | 12 +----------- .../change-notes/2026-04-02-alert-msg-poisoning.md | 4 ++++ .../ql/src/change-notes/2026-04-02-permissions.md | 4 ++++ actions/ql/src/change-notes/released/0.6.26.md | 9 --------- actions/ql/src/codeql-pack.release.yml | 2 +- actions/ql/src/qlpack.yml | 2 +- cpp/ql/lib/CHANGELOG.md | 11 ----------- cpp/ql/lib/change-notes/2026-04-07-autoconf.md | 4 ++++ cpp/ql/lib/change-notes/2026-04-14-throwing.md | 5 +++++ cpp/ql/lib/change-notes/released/10.0.0.md | 10 ---------- cpp/ql/lib/codeql-pack.release.yml | 2 +- cpp/ql/lib/qlpack.yml | 2 +- cpp/ql/src/CHANGELOG.md | 13 +------------ .../2026-03-23-implicit-function-declaration.md | 4 ++++ .../2026-04-02-comparison-with-wider-type.md | 4 ++++ .../2026-04-02-implicit-function-declaration.md | 4 ++++ ...026-04-02-integer-multiplication-cast-to-long.md | 4 ++++ .../2026-04-02-suspicious-add-sizeof.md | 4 ++++ .../2026-04-02-wrong-type-format-argument.md | 4 ++++ .../2026-04-16-add-model-for-aligned-alloc.md | 4 ++++ cpp/ql/src/change-notes/released/1.6.1.md | 10 ---------- 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.65.md | 3 --- .../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.65.md | 3 --- .../Solorigate/src/codeql-pack.release.yml | 2 +- csharp/ql/campaigns/Solorigate/src/qlpack.yml | 2 +- csharp/ql/lib/CHANGELOG.md | 6 ------ .../{released/5.5.0.md => 2026-04-01-getlrvalue.md} | 7 +++---- csharp/ql/lib/codeql-pack.release.yml | 2 +- csharp/ql/lib/qlpack.yml | 2 +- csharp/ql/src/CHANGELOG.md | 9 --------- .../1.7.1.md => 2026-04-17-useless-to-string.md} | 7 +++---- 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.48.md | 3 --- go/ql/consistency-queries/codeql-pack.release.yml | 2 +- go/ql/consistency-queries/qlpack.yml | 2 +- go/ql/lib/CHANGELOG.md | 4 ---- go/ql/lib/change-notes/released/7.0.6.md | 3 --- 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.6.1.md | 3 --- go/ql/src/codeql-pack.release.yml | 2 +- go/ql/src/qlpack.yml | 2 +- java/ql/lib/CHANGELOG.md | 6 ------ .../9.0.4.md => 2026-04-16-woodstox-xxe.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.11.1.md | 3 --- java/ql/src/codeql-pack.release.yml | 2 +- java/ql/src/qlpack.yml | 2 +- javascript/ql/lib/CHANGELOG.md | 4 ---- javascript/ql/lib/change-notes/released/2.6.28.md | 3 --- javascript/ql/lib/codeql-pack.release.yml | 2 +- javascript/ql/lib/qlpack.yml | 2 +- javascript/ql/src/CHANGELOG.md | 7 ------- ...d => 2026-04-13-fastify-per-route-rate-limit.md} | 7 +++---- 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.48.md | 3 --- misc/suite-helpers/codeql-pack.release.yml | 2 +- misc/suite-helpers/qlpack.yml | 2 +- python/ql/lib/CHANGELOG.md | 6 ------ .../7.0.5.md => 2026-04-10-support-lazy-keyword.md} | 6 +++--- python/ql/lib/codeql-pack.release.yml | 2 +- python/ql/lib/qlpack.yml | 2 +- python/ql/src/CHANGELOG.md | 6 ------ ...2026-03-26-improve-bind-all-interfaces-query.md} | 6 +++--- 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/5.1.16.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.6.1.md | 3 --- ruby/ql/src/codeql-pack.release.yml | 2 +- ruby/ql/src/qlpack.yml | 2 +- rust/ql/lib/CHANGELOG.md | 4 ---- rust/ql/lib/change-notes/released/0.2.12.md | 3 --- rust/ql/lib/codeql-pack.release.yml | 2 +- rust/ql/lib/qlpack.yml | 2 +- rust/ql/src/CHANGELOG.md | 4 ---- rust/ql/src/change-notes/released/0.1.33.md | 3 --- rust/ql/src/codeql-pack.release.yml | 2 +- rust/ql/src/qlpack.yml | 2 +- shared/concepts/CHANGELOG.md | 4 ---- shared/concepts/change-notes/released/0.0.22.md | 3 --- shared/concepts/codeql-pack.release.yml | 2 +- shared/concepts/qlpack.yml | 2 +- shared/controlflow/CHANGELOG.md | 4 ---- shared/controlflow/change-notes/released/2.0.32.md | 3 --- shared/controlflow/codeql-pack.release.yml | 2 +- shared/controlflow/qlpack.yml | 2 +- shared/dataflow/CHANGELOG.md | 4 ---- shared/dataflow/change-notes/released/2.1.4.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.48.md | 3 --- shared/mad/codeql-pack.release.yml | 2 +- shared/mad/qlpack.yml | 2 +- shared/quantum/CHANGELOG.md | 4 ---- shared/quantum/change-notes/released/0.0.26.md | 3 --- shared/quantum/codeql-pack.release.yml | 2 +- shared/quantum/qlpack.yml | 2 +- shared/rangeanalysis/CHANGELOG.md | 4 ---- .../rangeanalysis/change-notes/released/1.0.48.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.48.md | 3 --- shared/regex/codeql-pack.release.yml | 2 +- shared/regex/qlpack.yml | 2 +- shared/ssa/CHANGELOG.md | 4 ---- shared/ssa/change-notes/released/2.0.24.md | 3 --- shared/ssa/codeql-pack.release.yml | 2 +- shared/ssa/qlpack.yml | 2 +- shared/threat-models/CHANGELOG.md | 4 ---- .../threat-models/change-notes/released/1.0.48.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.48.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.48.md | 3 --- shared/typeflow/codeql-pack.release.yml | 2 +- shared/typeflow/qlpack.yml | 2 +- shared/typeinference/CHANGELOG.md | 4 ---- .../typeinference/change-notes/released/0.0.29.md | 3 --- shared/typeinference/codeql-pack.release.yml | 2 +- shared/typeinference/qlpack.yml | 2 +- shared/typetracking/CHANGELOG.md | 4 ---- shared/typetracking/change-notes/released/2.0.32.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.48.md | 3 --- shared/typos/codeql-pack.release.yml | 2 +- shared/typos/qlpack.yml | 2 +- shared/util/CHANGELOG.md | 4 ---- shared/util/change-notes/released/2.0.35.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.48.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.48.md | 3 --- shared/yaml/codeql-pack.release.yml | 2 +- shared/yaml/qlpack.yml | 2 +- swift/ql/lib/CHANGELOG.md | 6 ------ .../{released/6.4.0.md => 2026-04-06-swift-6.3.md} | 7 +++---- 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.3.1.md | 3 --- swift/ql/src/codeql-pack.release.yml | 2 +- swift/ql/src/qlpack.yml | 2 +- 175 files changed, 153 insertions(+), 437 deletions(-) rename actions/ql/lib/change-notes/{released/0.4.34.md => 2026-03-26-remove-false-positive-sinks.md} (79%) create mode 100644 actions/ql/src/change-notes/2026-04-02-alert-msg-poisoning.md create mode 100644 actions/ql/src/change-notes/2026-04-02-permissions.md delete mode 100644 actions/ql/src/change-notes/released/0.6.26.md create mode 100644 cpp/ql/lib/change-notes/2026-04-07-autoconf.md create mode 100644 cpp/ql/lib/change-notes/2026-04-14-throwing.md delete mode 100644 cpp/ql/lib/change-notes/released/10.0.0.md create mode 100644 cpp/ql/src/change-notes/2026-03-23-implicit-function-declaration.md create mode 100644 cpp/ql/src/change-notes/2026-04-02-comparison-with-wider-type.md create mode 100644 cpp/ql/src/change-notes/2026-04-02-implicit-function-declaration.md create mode 100644 cpp/ql/src/change-notes/2026-04-02-integer-multiplication-cast-to-long.md create mode 100644 cpp/ql/src/change-notes/2026-04-02-suspicious-add-sizeof.md create mode 100644 cpp/ql/src/change-notes/2026-04-02-wrong-type-format-argument.md create mode 100644 cpp/ql/src/change-notes/2026-04-16-add-model-for-aligned-alloc.md delete mode 100644 cpp/ql/src/change-notes/released/1.6.1.md delete mode 100644 csharp/ql/campaigns/Solorigate/lib/change-notes/released/1.7.65.md delete mode 100644 csharp/ql/campaigns/Solorigate/src/change-notes/released/1.7.65.md rename csharp/ql/lib/change-notes/{released/5.5.0.md => 2026-04-01-getlrvalue.md} (79%) rename csharp/ql/src/change-notes/{released/1.7.1.md => 2026-04-17-useless-to-string.md} (84%) delete mode 100644 go/ql/consistency-queries/change-notes/released/1.0.48.md delete mode 100644 go/ql/lib/change-notes/released/7.0.6.md delete mode 100644 go/ql/src/change-notes/released/1.6.1.md rename java/ql/lib/change-notes/{released/9.0.4.md => 2026-04-16-woodstox-xxe.md} (88%) delete mode 100644 java/ql/src/change-notes/released/1.11.1.md delete mode 100644 javascript/ql/lib/change-notes/released/2.6.28.md rename javascript/ql/src/change-notes/{released/2.3.8.md => 2026-04-13-fastify-per-route-rate-limit.md} (69%) delete mode 100644 misc/suite-helpers/change-notes/released/1.0.48.md rename python/ql/lib/change-notes/{released/7.0.5.md => 2026-04-10-support-lazy-keyword.md} (81%) rename python/ql/src/change-notes/{released/1.8.1.md => 2026-03-26-improve-bind-all-interfaces-query.md} (86%) delete mode 100644 ruby/ql/lib/change-notes/released/5.1.16.md delete mode 100644 ruby/ql/src/change-notes/released/1.6.1.md delete mode 100644 rust/ql/lib/change-notes/released/0.2.12.md delete mode 100644 rust/ql/src/change-notes/released/0.1.33.md delete mode 100644 shared/concepts/change-notes/released/0.0.22.md delete mode 100644 shared/controlflow/change-notes/released/2.0.32.md delete mode 100644 shared/dataflow/change-notes/released/2.1.4.md delete mode 100644 shared/mad/change-notes/released/1.0.48.md delete mode 100644 shared/quantum/change-notes/released/0.0.26.md delete mode 100644 shared/rangeanalysis/change-notes/released/1.0.48.md delete mode 100644 shared/regex/change-notes/released/1.0.48.md delete mode 100644 shared/ssa/change-notes/released/2.0.24.md delete mode 100644 shared/threat-models/change-notes/released/1.0.48.md delete mode 100644 shared/tutorial/change-notes/released/1.0.48.md delete mode 100644 shared/typeflow/change-notes/released/1.0.48.md delete mode 100644 shared/typeinference/change-notes/released/0.0.29.md delete mode 100644 shared/typetracking/change-notes/released/2.0.32.md delete mode 100644 shared/typos/change-notes/released/1.0.48.md delete mode 100644 shared/util/change-notes/released/2.0.35.md delete mode 100644 shared/xml/change-notes/released/1.0.48.md delete mode 100644 shared/yaml/change-notes/released/1.0.48.md rename swift/ql/lib/change-notes/{released/6.4.0.md => 2026-04-06-swift-6.3.md} (50%) delete mode 100644 swift/ql/src/change-notes/released/1.3.1.md diff --git a/actions/ql/lib/CHANGELOG.md b/actions/ql/lib/CHANGELOG.md index e84ba38d180..d625bc6f619 100644 --- a/actions/ql/lib/CHANGELOG.md +++ b/actions/ql/lib/CHANGELOG.md @@ -1,9 +1,3 @@ -## 0.4.34 - -### Minor Analysis Improvements - -* Removed false positive injection sink models for the `context` input of `docker/build-push-action` and the `allowed-endpoints` input of `step-security/harden-runner`. - ## 0.4.33 No user-facing changes. diff --git a/actions/ql/lib/change-notes/released/0.4.34.md b/actions/ql/lib/change-notes/2026-03-26-remove-false-positive-sinks.md similarity index 79% rename from actions/ql/lib/change-notes/released/0.4.34.md rename to actions/ql/lib/change-notes/2026-03-26-remove-false-positive-sinks.md index 23b06db4967..20ccc6d6c02 100644 --- a/actions/ql/lib/change-notes/released/0.4.34.md +++ b/actions/ql/lib/change-notes/2026-03-26-remove-false-positive-sinks.md @@ -1,5 +1,4 @@ -## 0.4.34 - -### Minor Analysis Improvements - +--- +category: minorAnalysis +--- * Removed false positive injection sink models for the `context` input of `docker/build-push-action` and the `allowed-endpoints` input of `step-security/harden-runner`. diff --git a/actions/ql/lib/codeql-pack.release.yml b/actions/ql/lib/codeql-pack.release.yml index 69fb16e4c39..7581fef2abf 100644 --- a/actions/ql/lib/codeql-pack.release.yml +++ b/actions/ql/lib/codeql-pack.release.yml @@ -1,2 +1,2 @@ --- -lastReleaseVersion: 0.4.34 +lastReleaseVersion: 0.4.33 diff --git a/actions/ql/lib/qlpack.yml b/actions/ql/lib/qlpack.yml index b7acc7a3957..fec27415800 100644 --- a/actions/ql/lib/qlpack.yml +++ b/actions/ql/lib/qlpack.yml @@ -1,5 +1,5 @@ name: codeql/actions-all -version: 0.4.34 +version: 0.4.34-dev library: true warnOnImplicitThis: true dependencies: diff --git a/actions/ql/src/CHANGELOG.md b/actions/ql/src/CHANGELOG.md index 96f8d266206..d991237aca9 100644 --- a/actions/ql/src/CHANGELOG.md +++ b/actions/ql/src/CHANGELOG.md @@ -1,13 +1,3 @@ -## 0.6.26 - -### Major Analysis Improvements - -* Fixed alert messages in `actions/artifact-poisoning/critical` and `actions/artifact-poisoning/medium` as they previously included a redundant placeholder in the alert message that would on occasion contain a long block of yml that makes the alert difficult to understand. Also improved the wording to make it clearer that it is not the artifact that is being poisoned, but instead a potentially untrusted artifact that is consumed. Finally, changed the alert location to be the source, to align more with other queries reporting an artifact (e.g. zipslip) which is more useful. - -### Minor Analysis Improvements - -* The query `actions/missing-workflow-permissions` no longer produces false positive results on reusable workflows where all callers set permissions. - ## 0.6.25 No user-facing changes. @@ -173,7 +163,7 @@ No user-facing changes. * `actions/if-expression-always-true/critical` * `actions/if-expression-always-true/high` * `actions/unnecessary-use-of-advanced-config` - + * The following query has been moved from the `code-scanning` suite to the `security-extended` suite. Any existing alerts for this query will be closed automatically unless the analysis is configured to use the `security-extended` suite. diff --git a/actions/ql/src/change-notes/2026-04-02-alert-msg-poisoning.md b/actions/ql/src/change-notes/2026-04-02-alert-msg-poisoning.md new file mode 100644 index 00000000000..e2340f446a7 --- /dev/null +++ b/actions/ql/src/change-notes/2026-04-02-alert-msg-poisoning.md @@ -0,0 +1,4 @@ +--- +category: majorAnalysis +--- +* Fixed alert messages in `actions/artifact-poisoning/critical` and `actions/artifact-poisoning/medium` as they previously included a redundant placeholder in the alert message that would on occasion contain a long block of yml that makes the alert difficult to understand. Also clarify the wording to make it clear that it is not the artifact that is being poisoned, but instead a potentially untrusted artifact that is consumed. Also change the alert location to be the source, to align more with other queries reporting an artifact (e.g. zipslip) which is more useful. \ No newline at end of file diff --git a/actions/ql/src/change-notes/2026-04-02-permissions.md b/actions/ql/src/change-notes/2026-04-02-permissions.md new file mode 100644 index 00000000000..2672a30ef87 --- /dev/null +++ b/actions/ql/src/change-notes/2026-04-02-permissions.md @@ -0,0 +1,4 @@ +--- +category: minorAnalysis +--- +* The query `actions/missing-workflow-permissions` no longer produces false positive results on reusable workflows where all callers set permissions. \ No newline at end of file diff --git a/actions/ql/src/change-notes/released/0.6.26.md b/actions/ql/src/change-notes/released/0.6.26.md deleted file mode 100644 index 8bf43e63907..00000000000 --- a/actions/ql/src/change-notes/released/0.6.26.md +++ /dev/null @@ -1,9 +0,0 @@ -## 0.6.26 - -### Major Analysis Improvements - -* Fixed alert messages in `actions/artifact-poisoning/critical` and `actions/artifact-poisoning/medium` as they previously included a redundant placeholder in the alert message that would on occasion contain a long block of yml that makes the alert difficult to understand. Also improved the wording to make it clearer that it is not the artifact that is being poisoned, but instead a potentially untrusted artifact that is consumed. Finally, changed the alert location to be the source, to align more with other queries reporting an artifact (e.g. zipslip) which is more useful. - -### Minor Analysis Improvements - -* The query `actions/missing-workflow-permissions` no longer produces false positive results on reusable workflows where all callers set permissions. diff --git a/actions/ql/src/codeql-pack.release.yml b/actions/ql/src/codeql-pack.release.yml index e83bac0046e..b8288b39222 100644 --- a/actions/ql/src/codeql-pack.release.yml +++ b/actions/ql/src/codeql-pack.release.yml @@ -1,2 +1,2 @@ --- -lastReleaseVersion: 0.6.26 +lastReleaseVersion: 0.6.25 diff --git a/actions/ql/src/qlpack.yml b/actions/ql/src/qlpack.yml index fc18f8052b2..3216a36f3d0 100644 --- a/actions/ql/src/qlpack.yml +++ b/actions/ql/src/qlpack.yml @@ -1,5 +1,5 @@ name: codeql/actions-queries -version: 0.6.26 +version: 0.6.26-dev library: false warnOnImplicitThis: true groups: [actions, queries] diff --git a/cpp/ql/lib/CHANGELOG.md b/cpp/ql/lib/CHANGELOG.md index 2cd1bcede35..5b5bc748c5d 100644 --- a/cpp/ql/lib/CHANGELOG.md +++ b/cpp/ql/lib/CHANGELOG.md @@ -1,14 +1,3 @@ -## 10.0.0 - -### Breaking Changes - -* The deprecated `NonThrowingFunction` class has been removed, use `NonCppThrowingFunction` instead. -* The deprecated `ThrowingFunction` class has been removed, use `AlwaysSehThrowingFunction` instead. - -### New Features - -* Added a subclass `AutoconfConfigureTestFile` of `ConfigurationTestFile` that represents files created by GNU autoconf configure scripts to test the build configuration. - ## 9.0.0 ### Breaking Changes diff --git a/cpp/ql/lib/change-notes/2026-04-07-autoconf.md b/cpp/ql/lib/change-notes/2026-04-07-autoconf.md new file mode 100644 index 00000000000..9f04417b8e2 --- /dev/null +++ b/cpp/ql/lib/change-notes/2026-04-07-autoconf.md @@ -0,0 +1,4 @@ +--- +category: feature +--- +* Added a subclass `AutoconfConfigureTestFile` of `ConfigurationTestFile` that represents files created by GNU autoconf configure scripts to test the build configuration. diff --git a/cpp/ql/lib/change-notes/2026-04-14-throwing.md b/cpp/ql/lib/change-notes/2026-04-14-throwing.md new file mode 100644 index 00000000000..6a15437e126 --- /dev/null +++ b/cpp/ql/lib/change-notes/2026-04-14-throwing.md @@ -0,0 +1,5 @@ +--- +category: breaking +--- +* The deprecated `NonThrowingFunction` class has been removed, use `NonCppThrowingFunction` instead. +* The deprecated `ThrowingFunction` class has been removed, use `AlwaysSehThrowingFunction` instead. diff --git a/cpp/ql/lib/change-notes/released/10.0.0.md b/cpp/ql/lib/change-notes/released/10.0.0.md deleted file mode 100644 index af591bd1a0a..00000000000 --- a/cpp/ql/lib/change-notes/released/10.0.0.md +++ /dev/null @@ -1,10 +0,0 @@ -## 10.0.0 - -### Breaking Changes - -* The deprecated `NonThrowingFunction` class has been removed, use `NonCppThrowingFunction` instead. -* The deprecated `ThrowingFunction` class has been removed, use `AlwaysSehThrowingFunction` instead. - -### New Features - -* Added a subclass `AutoconfConfigureTestFile` of `ConfigurationTestFile` that represents files created by GNU autoconf configure scripts to test the build configuration. diff --git a/cpp/ql/lib/codeql-pack.release.yml b/cpp/ql/lib/codeql-pack.release.yml index 28758256b94..fd5f4a48b3c 100644 --- a/cpp/ql/lib/codeql-pack.release.yml +++ b/cpp/ql/lib/codeql-pack.release.yml @@ -1,2 +1,2 @@ --- -lastReleaseVersion: 10.0.0 +lastReleaseVersion: 9.0.0 diff --git a/cpp/ql/lib/qlpack.yml b/cpp/ql/lib/qlpack.yml index 4bcb59885fa..dbf57d2b869 100644 --- a/cpp/ql/lib/qlpack.yml +++ b/cpp/ql/lib/qlpack.yml @@ -1,5 +1,5 @@ name: codeql/cpp-all -version: 10.0.0 +version: 9.0.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 80b9ad0e475..a3f9d1836ad 100644 --- a/cpp/ql/src/CHANGELOG.md +++ b/cpp/ql/src/CHANGELOG.md @@ -1,14 +1,3 @@ -## 1.6.1 - -### Minor Analysis Improvements - -* Added `AllocationFunction` models for `aligned_alloc`, `std::aligned_alloc`, and `bsl::aligned_alloc`. -* The "Comparison of narrow type with wide type in loop condition" (`cpp/comparison-with-wider-type`) query has been upgraded to `high` precision. This query will now run in the default code scanning suite. -* The "Multiplication result converted to larger type" (`cpp/integer-multiplication-cast-to-long`) query has been upgraded to `high` precision. This query will now run in the default code scanning suite. -* The "Suspicious add with sizeof" (`cpp/suspicious-add-sizeof`) query has been upgraded to `high` precision. This query will now run in the default code scanning suite. -* The "Wrong type of arguments to formatting function" (`cpp/wrong-type-format-argument`) query has been upgraded to `high` precision. This query will now run in the default code scanning suite. -* The "Implicit function declaration" (`cpp/implicit-function-declaration`) query has been upgraded to `high` precision. However, for `build mode: none` databases, it no longer produces any results. The results in this mode were found to be very noisy and fundamentally imprecise. - ## 1.6.0 ### Query Metadata Changes @@ -366,7 +355,7 @@ No user-facing changes. ### Minor Analysis Improvements * The "non-constant format string" query (`cpp/non-constant-format`) has been updated to produce fewer false positives. -* Added dataflow models for the `gettext` function variants. +* Added dataflow models for the `gettext` function variants. ## 0.9.4 diff --git a/cpp/ql/src/change-notes/2026-03-23-implicit-function-declaration.md b/cpp/ql/src/change-notes/2026-03-23-implicit-function-declaration.md new file mode 100644 index 00000000000..8c2c431ec24 --- /dev/null +++ b/cpp/ql/src/change-notes/2026-03-23-implicit-function-declaration.md @@ -0,0 +1,4 @@ +--- +category: minorAnalysis +--- +* The "Implicit function declaration" (`cpp/implicit-function-declaration`) query no longer produces results on `build mode: none` databases. These results were found to be very noisy and fundamentally imprecise in this mode. diff --git a/cpp/ql/src/change-notes/2026-04-02-comparison-with-wider-type.md b/cpp/ql/src/change-notes/2026-04-02-comparison-with-wider-type.md new file mode 100644 index 00000000000..c84e1dba404 --- /dev/null +++ b/cpp/ql/src/change-notes/2026-04-02-comparison-with-wider-type.md @@ -0,0 +1,4 @@ +--- +category: minorAnalysis +--- +* The "Comparison of narrow type with wide type in loop condition" (`cpp/comparison-with-wider-type`) query has been upgraded to `high` precision. This query will now run in the default code scanning suite. diff --git a/cpp/ql/src/change-notes/2026-04-02-implicit-function-declaration.md b/cpp/ql/src/change-notes/2026-04-02-implicit-function-declaration.md new file mode 100644 index 00000000000..dd0dbd4bc7d --- /dev/null +++ b/cpp/ql/src/change-notes/2026-04-02-implicit-function-declaration.md @@ -0,0 +1,4 @@ +--- +category: minorAnalysis +--- +* The "Implicit function declaration" (`cpp/implicit-function-declaration`) query has been upgraded to `high` precision. diff --git a/cpp/ql/src/change-notes/2026-04-02-integer-multiplication-cast-to-long.md b/cpp/ql/src/change-notes/2026-04-02-integer-multiplication-cast-to-long.md new file mode 100644 index 00000000000..cd6796b408f --- /dev/null +++ b/cpp/ql/src/change-notes/2026-04-02-integer-multiplication-cast-to-long.md @@ -0,0 +1,4 @@ +--- +category: minorAnalysis +--- +* The "Multiplication result converted to larger type" (`cpp/integer-multiplication-cast-to-long`) query has been upgraded to `high` precision. This query will now run in the default code scanning suite. diff --git a/cpp/ql/src/change-notes/2026-04-02-suspicious-add-sizeof.md b/cpp/ql/src/change-notes/2026-04-02-suspicious-add-sizeof.md new file mode 100644 index 00000000000..040e89c1347 --- /dev/null +++ b/cpp/ql/src/change-notes/2026-04-02-suspicious-add-sizeof.md @@ -0,0 +1,4 @@ +--- +category: minorAnalysis +--- +* The "Suspicious add with sizeof" (`cpp/suspicious-add-sizeof`) query has been upgraded to `high` precision. This query will now run in the default code scanning suite. diff --git a/cpp/ql/src/change-notes/2026-04-02-wrong-type-format-argument.md b/cpp/ql/src/change-notes/2026-04-02-wrong-type-format-argument.md new file mode 100644 index 00000000000..f8b9085dacc --- /dev/null +++ b/cpp/ql/src/change-notes/2026-04-02-wrong-type-format-argument.md @@ -0,0 +1,4 @@ +--- +category: minorAnalysis +--- +* The "Wrong type of arguments to formatting function" (`cpp/wrong-type-format-argument`) query has been upgraded to `high` precision. This query will now run in the default code scanning suite. diff --git a/cpp/ql/src/change-notes/2026-04-16-add-model-for-aligned-alloc.md b/cpp/ql/src/change-notes/2026-04-16-add-model-for-aligned-alloc.md new file mode 100644 index 00000000000..af97cee7f9e --- /dev/null +++ b/cpp/ql/src/change-notes/2026-04-16-add-model-for-aligned-alloc.md @@ -0,0 +1,4 @@ +--- +category: minorAnalysis +--- +* Added `AllocationFunction` models for `aligned_alloc`, `std::aligned_alloc`, and `bsl::aligned_alloc`. diff --git a/cpp/ql/src/change-notes/released/1.6.1.md b/cpp/ql/src/change-notes/released/1.6.1.md deleted file mode 100644 index 83781b87c58..00000000000 --- a/cpp/ql/src/change-notes/released/1.6.1.md +++ /dev/null @@ -1,10 +0,0 @@ -## 1.6.1 - -### Minor Analysis Improvements - -* Added `AllocationFunction` models for `aligned_alloc`, `std::aligned_alloc`, and `bsl::aligned_alloc`. -* The "Comparison of narrow type with wide type in loop condition" (`cpp/comparison-with-wider-type`) query has been upgraded to `high` precision. This query will now run in the default code scanning suite. -* The "Multiplication result converted to larger type" (`cpp/integer-multiplication-cast-to-long`) query has been upgraded to `high` precision. This query will now run in the default code scanning suite. -* The "Suspicious add with sizeof" (`cpp/suspicious-add-sizeof`) query has been upgraded to `high` precision. This query will now run in the default code scanning suite. -* The "Wrong type of arguments to formatting function" (`cpp/wrong-type-format-argument`) query has been upgraded to `high` precision. This query will now run in the default code scanning suite. -* The "Implicit function declaration" (`cpp/implicit-function-declaration`) query has been upgraded to `high` precision. However, for `build mode: none` databases, it no longer produces any results. The results in this mode were found to be very noisy and fundamentally imprecise. diff --git a/cpp/ql/src/codeql-pack.release.yml b/cpp/ql/src/codeql-pack.release.yml index ef7a789e0cf..c4f0b07d533 100644 --- a/cpp/ql/src/codeql-pack.release.yml +++ b/cpp/ql/src/codeql-pack.release.yml @@ -1,2 +1,2 @@ --- -lastReleaseVersion: 1.6.1 +lastReleaseVersion: 1.6.0 diff --git a/cpp/ql/src/qlpack.yml b/cpp/ql/src/qlpack.yml index 8ec81ab6135..4648951796c 100644 --- a/cpp/ql/src/qlpack.yml +++ b/cpp/ql/src/qlpack.yml @@ -1,5 +1,5 @@ name: codeql/cpp-queries -version: 1.6.1 +version: 1.6.1-dev groups: - cpp - queries diff --git a/csharp/ql/campaigns/Solorigate/lib/CHANGELOG.md b/csharp/ql/campaigns/Solorigate/lib/CHANGELOG.md index 166a94bd88d..f7107d18c01 100644 --- a/csharp/ql/campaigns/Solorigate/lib/CHANGELOG.md +++ b/csharp/ql/campaigns/Solorigate/lib/CHANGELOG.md @@ -1,7 +1,3 @@ -## 1.7.65 - -No user-facing changes. - ## 1.7.64 No user-facing changes. diff --git a/csharp/ql/campaigns/Solorigate/lib/change-notes/released/1.7.65.md b/csharp/ql/campaigns/Solorigate/lib/change-notes/released/1.7.65.md deleted file mode 100644 index 12bf5dad4b0..00000000000 --- a/csharp/ql/campaigns/Solorigate/lib/change-notes/released/1.7.65.md +++ /dev/null @@ -1,3 +0,0 @@ -## 1.7.65 - -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 bf581427d29..f41e954c9ae 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.65 +lastReleaseVersion: 1.7.64 diff --git a/csharp/ql/campaigns/Solorigate/lib/qlpack.yml b/csharp/ql/campaigns/Solorigate/lib/qlpack.yml index d50eb024972..006ef851567 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.65 +version: 1.7.65-dev groups: - csharp - solorigate diff --git a/csharp/ql/campaigns/Solorigate/src/CHANGELOG.md b/csharp/ql/campaigns/Solorigate/src/CHANGELOG.md index 166a94bd88d..f7107d18c01 100644 --- a/csharp/ql/campaigns/Solorigate/src/CHANGELOG.md +++ b/csharp/ql/campaigns/Solorigate/src/CHANGELOG.md @@ -1,7 +1,3 @@ -## 1.7.65 - -No user-facing changes. - ## 1.7.64 No user-facing changes. diff --git a/csharp/ql/campaigns/Solorigate/src/change-notes/released/1.7.65.md b/csharp/ql/campaigns/Solorigate/src/change-notes/released/1.7.65.md deleted file mode 100644 index 12bf5dad4b0..00000000000 --- a/csharp/ql/campaigns/Solorigate/src/change-notes/released/1.7.65.md +++ /dev/null @@ -1,3 +0,0 @@ -## 1.7.65 - -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 bf581427d29..f41e954c9ae 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.65 +lastReleaseVersion: 1.7.64 diff --git a/csharp/ql/campaigns/Solorigate/src/qlpack.yml b/csharp/ql/campaigns/Solorigate/src/qlpack.yml index bd70b1664ac..af5fd98f58a 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.65 +version: 1.7.65-dev groups: - csharp - solorigate diff --git a/csharp/ql/lib/CHANGELOG.md b/csharp/ql/lib/CHANGELOG.md index 32cd8f33c65..57d99a41480 100644 --- a/csharp/ql/lib/CHANGELOG.md +++ b/csharp/ql/lib/CHANGELOG.md @@ -1,9 +1,3 @@ -## 5.5.0 - -### Deprecated APIs - -* The predicates `get[L|R]Value` in the class `Assignment` have been deprecated. Use `get[Left|Right]Operand` instead. - ## 5.4.12 ### Minor Analysis Improvements diff --git a/csharp/ql/lib/change-notes/released/5.5.0.md b/csharp/ql/lib/change-notes/2026-04-01-getlrvalue.md similarity index 79% rename from csharp/ql/lib/change-notes/released/5.5.0.md rename to csharp/ql/lib/change-notes/2026-04-01-getlrvalue.md index b497d8ea51b..da1a3d62148 100644 --- a/csharp/ql/lib/change-notes/released/5.5.0.md +++ b/csharp/ql/lib/change-notes/2026-04-01-getlrvalue.md @@ -1,5 +1,4 @@ -## 5.5.0 - -### Deprecated APIs - +--- +category: deprecated +--- * The predicates `get[L|R]Value` in the class `Assignment` have been deprecated. Use `get[Left|Right]Operand` instead. diff --git a/csharp/ql/lib/codeql-pack.release.yml b/csharp/ql/lib/codeql-pack.release.yml index 4b8cf9533c1..43db6e52c98 100644 --- a/csharp/ql/lib/codeql-pack.release.yml +++ b/csharp/ql/lib/codeql-pack.release.yml @@ -1,2 +1,2 @@ --- -lastReleaseVersion: 5.5.0 +lastReleaseVersion: 5.4.12 diff --git a/csharp/ql/lib/qlpack.yml b/csharp/ql/lib/qlpack.yml index f90aa010b89..02c1ccd0d33 100644 --- a/csharp/ql/lib/qlpack.yml +++ b/csharp/ql/lib/qlpack.yml @@ -1,5 +1,5 @@ name: codeql/csharp-all -version: 5.5.0 +version: 5.4.13-dev groups: csharp dbscheme: semmlecode.csharp.dbscheme extractor: csharp diff --git a/csharp/ql/src/CHANGELOG.md b/csharp/ql/src/CHANGELOG.md index cdab7134185..fc0f8c58d79 100644 --- a/csharp/ql/src/CHANGELOG.md +++ b/csharp/ql/src/CHANGELOG.md @@ -1,12 +1,3 @@ -## 1.7.1 - -### Minor Analysis Improvements - -* The query `cs/useless-tostring-call` has been updated to avoid false - positive results in calls to `StringBuilder.AppendLine` and calls of - the form `base.ToString()`. Moreover, the alert message has been - made more precise. - ## 1.7.0 ### Query Metadata Changes diff --git a/csharp/ql/src/change-notes/released/1.7.1.md b/csharp/ql/src/change-notes/2026-04-17-useless-to-string.md similarity index 84% rename from csharp/ql/src/change-notes/released/1.7.1.md rename to csharp/ql/src/change-notes/2026-04-17-useless-to-string.md index 0b5df9629c6..9b4c81378c9 100644 --- a/csharp/ql/src/change-notes/released/1.7.1.md +++ b/csharp/ql/src/change-notes/2026-04-17-useless-to-string.md @@ -1,7 +1,6 @@ -## 1.7.1 - -### Minor Analysis Improvements - +--- +category: minorAnalysis +--- * The query `cs/useless-tostring-call` has been updated to avoid false positive results in calls to `StringBuilder.AppendLine` and calls of the form `base.ToString()`. Moreover, the alert message has been diff --git a/csharp/ql/src/codeql-pack.release.yml b/csharp/ql/src/codeql-pack.release.yml index 7bdec0d85c7..d1184cc6750 100644 --- a/csharp/ql/src/codeql-pack.release.yml +++ b/csharp/ql/src/codeql-pack.release.yml @@ -1,2 +1,2 @@ --- -lastReleaseVersion: 1.7.1 +lastReleaseVersion: 1.7.0 diff --git a/csharp/ql/src/qlpack.yml b/csharp/ql/src/qlpack.yml index c7d8eace296..9ea341d1b38 100644 --- a/csharp/ql/src/qlpack.yml +++ b/csharp/ql/src/qlpack.yml @@ -1,5 +1,5 @@ name: codeql/csharp-queries -version: 1.7.1 +version: 1.7.1-dev groups: - csharp - queries diff --git a/go/ql/consistency-queries/CHANGELOG.md b/go/ql/consistency-queries/CHANGELOG.md index a3aa00d4872..34ae2fd2277 100644 --- a/go/ql/consistency-queries/CHANGELOG.md +++ b/go/ql/consistency-queries/CHANGELOG.md @@ -1,7 +1,3 @@ -## 1.0.48 - -No user-facing changes. - ## 1.0.47 No user-facing changes. diff --git a/go/ql/consistency-queries/change-notes/released/1.0.48.md b/go/ql/consistency-queries/change-notes/released/1.0.48.md deleted file mode 100644 index c484c6e8d6e..00000000000 --- a/go/ql/consistency-queries/change-notes/released/1.0.48.md +++ /dev/null @@ -1,3 +0,0 @@ -## 1.0.48 - -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 6db79f2c397..dcec0f6405a 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.48 +lastReleaseVersion: 1.0.47 diff --git a/go/ql/consistency-queries/qlpack.yml b/go/ql/consistency-queries/qlpack.yml index 2a03af96152..c9dda4765dd 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.48 +version: 1.0.48-dev groups: - go - queries diff --git a/go/ql/lib/CHANGELOG.md b/go/ql/lib/CHANGELOG.md index 737d08654b8..441d15a0d0e 100644 --- a/go/ql/lib/CHANGELOG.md +++ b/go/ql/lib/CHANGELOG.md @@ -1,7 +1,3 @@ -## 7.0.6 - -No user-facing changes. - ## 7.0.5 No user-facing changes. diff --git a/go/ql/lib/change-notes/released/7.0.6.md b/go/ql/lib/change-notes/released/7.0.6.md deleted file mode 100644 index ca9a73aa64c..00000000000 --- a/go/ql/lib/change-notes/released/7.0.6.md +++ /dev/null @@ -1,3 +0,0 @@ -## 7.0.6 - -No user-facing changes. diff --git a/go/ql/lib/codeql-pack.release.yml b/go/ql/lib/codeql-pack.release.yml index c7cff8c5378..2cff21d59fe 100644 --- a/go/ql/lib/codeql-pack.release.yml +++ b/go/ql/lib/codeql-pack.release.yml @@ -1,2 +1,2 @@ --- -lastReleaseVersion: 7.0.6 +lastReleaseVersion: 7.0.5 diff --git a/go/ql/lib/qlpack.yml b/go/ql/lib/qlpack.yml index 71a8c1c50f0..2d7338a020d 100644 --- a/go/ql/lib/qlpack.yml +++ b/go/ql/lib/qlpack.yml @@ -1,5 +1,5 @@ name: codeql/go-all -version: 7.0.6 +version: 7.0.6-dev groups: go dbscheme: go.dbscheme extractor: go diff --git a/go/ql/src/CHANGELOG.md b/go/ql/src/CHANGELOG.md index 971d478d56e..2bc95cc1922 100644 --- a/go/ql/src/CHANGELOG.md +++ b/go/ql/src/CHANGELOG.md @@ -1,7 +1,3 @@ -## 1.6.1 - -No user-facing changes. - ## 1.6.0 ### Query Metadata Changes diff --git a/go/ql/src/change-notes/released/1.6.1.md b/go/ql/src/change-notes/released/1.6.1.md deleted file mode 100644 index 898f6201ed7..00000000000 --- a/go/ql/src/change-notes/released/1.6.1.md +++ /dev/null @@ -1,3 +0,0 @@ -## 1.6.1 - -No user-facing changes. diff --git a/go/ql/src/codeql-pack.release.yml b/go/ql/src/codeql-pack.release.yml index ef7a789e0cf..c4f0b07d533 100644 --- a/go/ql/src/codeql-pack.release.yml +++ b/go/ql/src/codeql-pack.release.yml @@ -1,2 +1,2 @@ --- -lastReleaseVersion: 1.6.1 +lastReleaseVersion: 1.6.0 diff --git a/go/ql/src/qlpack.yml b/go/ql/src/qlpack.yml index 3f3d4e7cc2a..de4e5e06d38 100644 --- a/go/ql/src/qlpack.yml +++ b/go/ql/src/qlpack.yml @@ -1,5 +1,5 @@ name: codeql/go-queries -version: 1.6.1 +version: 1.6.1-dev groups: - go - queries diff --git a/java/ql/lib/CHANGELOG.md b/java/ql/lib/CHANGELOG.md index 2d34c791c92..caa1eaecb94 100644 --- a/java/ql/lib/CHANGELOG.md +++ b/java/ql/lib/CHANGELOG.md @@ -1,9 +1,3 @@ -## 9.0.4 - -### Minor Analysis Improvements - -* The queries "Resolving XML external entity in user-controlled data" (`java/xxe`) and "Resolving XML external entity in user-controlled data from local source" (`java/xxe-local`) now recognize sinks in the Woodstox StAX library when `com.ctc.wstx.stax.WstxInputFactory` or `org.codehaus.stax2.XMLInputFactory2` are used directly. - ## 9.0.3 ### Minor Analysis Improvements diff --git a/java/ql/lib/change-notes/released/9.0.4.md b/java/ql/lib/change-notes/2026-04-16-woodstox-xxe.md similarity index 88% rename from java/ql/lib/change-notes/released/9.0.4.md rename to java/ql/lib/change-notes/2026-04-16-woodstox-xxe.md index a5499634951..891fc489e46 100644 --- a/java/ql/lib/change-notes/released/9.0.4.md +++ b/java/ql/lib/change-notes/2026-04-16-woodstox-xxe.md @@ -1,5 +1,4 @@ -## 9.0.4 - -### Minor Analysis Improvements - +--- +category: minorAnalysis +--- * The queries "Resolving XML external entity in user-controlled data" (`java/xxe`) and "Resolving XML external entity in user-controlled data from local source" (`java/xxe-local`) now recognize sinks in the Woodstox StAX library when `com.ctc.wstx.stax.WstxInputFactory` or `org.codehaus.stax2.XMLInputFactory2` are used directly. diff --git a/java/ql/lib/codeql-pack.release.yml b/java/ql/lib/codeql-pack.release.yml index 4bbe4f75b58..175658aaf53 100644 --- a/java/ql/lib/codeql-pack.release.yml +++ b/java/ql/lib/codeql-pack.release.yml @@ -1,2 +1,2 @@ --- -lastReleaseVersion: 9.0.4 +lastReleaseVersion: 9.0.3 diff --git a/java/ql/lib/qlpack.yml b/java/ql/lib/qlpack.yml index 0a842a96b34..7f058cfb8d6 100644 --- a/java/ql/lib/qlpack.yml +++ b/java/ql/lib/qlpack.yml @@ -1,5 +1,5 @@ name: codeql/java-all -version: 9.0.4 +version: 9.0.4-dev groups: java dbscheme: config/semmlecode.dbscheme extractor: java diff --git a/java/ql/src/CHANGELOG.md b/java/ql/src/CHANGELOG.md index 1b5d2bdad8a..2a2f8052092 100644 --- a/java/ql/src/CHANGELOG.md +++ b/java/ql/src/CHANGELOG.md @@ -1,7 +1,3 @@ -## 1.11.1 - -No user-facing changes. - ## 1.11.0 ### Query Metadata Changes diff --git a/java/ql/src/change-notes/released/1.11.1.md b/java/ql/src/change-notes/released/1.11.1.md deleted file mode 100644 index f5047685223..00000000000 --- a/java/ql/src/change-notes/released/1.11.1.md +++ /dev/null @@ -1,3 +0,0 @@ -## 1.11.1 - -No user-facing changes. diff --git a/java/ql/src/codeql-pack.release.yml b/java/ql/src/codeql-pack.release.yml index 4ae123153bf..276088d81dc 100644 --- a/java/ql/src/codeql-pack.release.yml +++ b/java/ql/src/codeql-pack.release.yml @@ -1,2 +1,2 @@ --- -lastReleaseVersion: 1.11.1 +lastReleaseVersion: 1.11.0 diff --git a/java/ql/src/qlpack.yml b/java/ql/src/qlpack.yml index 49c552ec02a..72b4a5f94e6 100644 --- a/java/ql/src/qlpack.yml +++ b/java/ql/src/qlpack.yml @@ -1,5 +1,5 @@ name: codeql/java-queries -version: 1.11.1 +version: 1.11.1-dev groups: - java - queries diff --git a/javascript/ql/lib/CHANGELOG.md b/javascript/ql/lib/CHANGELOG.md index 77837f46c5e..fedb0b9b587 100644 --- a/javascript/ql/lib/CHANGELOG.md +++ b/javascript/ql/lib/CHANGELOG.md @@ -1,7 +1,3 @@ -## 2.6.28 - -No user-facing changes. - ## 2.6.27 No user-facing changes. diff --git a/javascript/ql/lib/change-notes/released/2.6.28.md b/javascript/ql/lib/change-notes/released/2.6.28.md deleted file mode 100644 index 9c30dddcc0a..00000000000 --- a/javascript/ql/lib/change-notes/released/2.6.28.md +++ /dev/null @@ -1,3 +0,0 @@ -## 2.6.28 - -No user-facing changes. diff --git a/javascript/ql/lib/codeql-pack.release.yml b/javascript/ql/lib/codeql-pack.release.yml index 2456457874e..2ce86b10a85 100644 --- a/javascript/ql/lib/codeql-pack.release.yml +++ b/javascript/ql/lib/codeql-pack.release.yml @@ -1,2 +1,2 @@ --- -lastReleaseVersion: 2.6.28 +lastReleaseVersion: 2.6.27 diff --git a/javascript/ql/lib/qlpack.yml b/javascript/ql/lib/qlpack.yml index dabbc8bd755..e0834c056d1 100644 --- a/javascript/ql/lib/qlpack.yml +++ b/javascript/ql/lib/qlpack.yml @@ -1,5 +1,5 @@ name: codeql/javascript-all -version: 2.6.28 +version: 2.6.28-dev groups: javascript dbscheme: semmlecode.javascript.dbscheme extractor: javascript diff --git a/javascript/ql/src/CHANGELOG.md b/javascript/ql/src/CHANGELOG.md index 9b122364ffa..29e6c8e8da3 100644 --- a/javascript/ql/src/CHANGELOG.md +++ b/javascript/ql/src/CHANGELOG.md @@ -1,10 +1,3 @@ -## 2.3.8 - -### Minor Analysis Improvements - -* The query `js/missing-rate-limiting` now takes Fastify per-route - rate limiting into account. - ## 2.3.7 No user-facing changes. diff --git a/javascript/ql/src/change-notes/released/2.3.8.md b/javascript/ql/src/change-notes/2026-04-13-fastify-per-route-rate-limit.md similarity index 69% rename from javascript/ql/src/change-notes/released/2.3.8.md rename to javascript/ql/src/change-notes/2026-04-13-fastify-per-route-rate-limit.md index 5ce5cbe2f24..56d52388524 100644 --- a/javascript/ql/src/change-notes/released/2.3.8.md +++ b/javascript/ql/src/change-notes/2026-04-13-fastify-per-route-rate-limit.md @@ -1,6 +1,5 @@ -## 2.3.8 - -### Minor Analysis Improvements - +--- +category: minorAnalysis +--- * The query `js/missing-rate-limiting` now takes Fastify per-route rate limiting into account. diff --git a/javascript/ql/src/codeql-pack.release.yml b/javascript/ql/src/codeql-pack.release.yml index c68b70cb8be..914cded08b3 100644 --- a/javascript/ql/src/codeql-pack.release.yml +++ b/javascript/ql/src/codeql-pack.release.yml @@ -1,2 +1,2 @@ --- -lastReleaseVersion: 2.3.8 +lastReleaseVersion: 2.3.7 diff --git a/javascript/ql/src/qlpack.yml b/javascript/ql/src/qlpack.yml index dd4f7c255a8..117fae183e9 100644 --- a/javascript/ql/src/qlpack.yml +++ b/javascript/ql/src/qlpack.yml @@ -1,5 +1,5 @@ name: codeql/javascript-queries -version: 2.3.8 +version: 2.3.8-dev groups: - javascript - queries diff --git a/misc/suite-helpers/CHANGELOG.md b/misc/suite-helpers/CHANGELOG.md index 897533f6450..4b73639b1f7 100644 --- a/misc/suite-helpers/CHANGELOG.md +++ b/misc/suite-helpers/CHANGELOG.md @@ -1,7 +1,3 @@ -## 1.0.48 - -No user-facing changes. - ## 1.0.47 No user-facing changes. diff --git a/misc/suite-helpers/change-notes/released/1.0.48.md b/misc/suite-helpers/change-notes/released/1.0.48.md deleted file mode 100644 index c484c6e8d6e..00000000000 --- a/misc/suite-helpers/change-notes/released/1.0.48.md +++ /dev/null @@ -1,3 +0,0 @@ -## 1.0.48 - -No user-facing changes. diff --git a/misc/suite-helpers/codeql-pack.release.yml b/misc/suite-helpers/codeql-pack.release.yml index 6db79f2c397..dcec0f6405a 100644 --- a/misc/suite-helpers/codeql-pack.release.yml +++ b/misc/suite-helpers/codeql-pack.release.yml @@ -1,2 +1,2 @@ --- -lastReleaseVersion: 1.0.48 +lastReleaseVersion: 1.0.47 diff --git a/misc/suite-helpers/qlpack.yml b/misc/suite-helpers/qlpack.yml index c18ab2bb10e..1d853802342 100644 --- a/misc/suite-helpers/qlpack.yml +++ b/misc/suite-helpers/qlpack.yml @@ -1,4 +1,4 @@ name: codeql/suite-helpers -version: 1.0.48 +version: 1.0.48-dev groups: shared warnOnImplicitThis: true diff --git a/python/ql/lib/CHANGELOG.md b/python/ql/lib/CHANGELOG.md index 69fa60a6675..a6833ea8db3 100644 --- a/python/ql/lib/CHANGELOG.md +++ b/python/ql/lib/CHANGELOG.md @@ -1,9 +1,3 @@ -## 7.0.5 - -### Minor Analysis Improvements - -- The Python extractor now supports the new `lazy import ...` and `lazy from ... import ...` (as defined in [PEP-810](https://peps.python.org/pep-0810/)) that will be part of Python 3.15. - ## 7.0.4 ### Bug Fixes diff --git a/python/ql/lib/change-notes/released/7.0.5.md b/python/ql/lib/change-notes/2026-04-10-support-lazy-keyword.md similarity index 81% rename from python/ql/lib/change-notes/released/7.0.5.md rename to python/ql/lib/change-notes/2026-04-10-support-lazy-keyword.md index e205660dfde..67de168ff47 100644 --- a/python/ql/lib/change-notes/released/7.0.5.md +++ b/python/ql/lib/change-notes/2026-04-10-support-lazy-keyword.md @@ -1,5 +1,5 @@ -## 7.0.5 - -### Minor Analysis Improvements +--- +category: minorAnalysis +--- - The Python extractor now supports the new `lazy import ...` and `lazy from ... import ...` (as defined in [PEP-810](https://peps.python.org/pep-0810/)) that will be part of Python 3.15. diff --git a/python/ql/lib/codeql-pack.release.yml b/python/ql/lib/codeql-pack.release.yml index 2cff21d59fe..6630ee1984a 100644 --- a/python/ql/lib/codeql-pack.release.yml +++ b/python/ql/lib/codeql-pack.release.yml @@ -1,2 +1,2 @@ --- -lastReleaseVersion: 7.0.5 +lastReleaseVersion: 7.0.4 diff --git a/python/ql/lib/qlpack.yml b/python/ql/lib/qlpack.yml index 4dc63a6f9cb..fe87c5761cf 100644 --- a/python/ql/lib/qlpack.yml +++ b/python/ql/lib/qlpack.yml @@ -1,5 +1,5 @@ name: codeql/python-all -version: 7.0.5 +version: 7.0.5-dev groups: python dbscheme: semmlecode.python.dbscheme extractor: python diff --git a/python/ql/src/CHANGELOG.md b/python/ql/src/CHANGELOG.md index 38018f09856..d5f5269c61d 100644 --- a/python/ql/src/CHANGELOG.md +++ b/python/ql/src/CHANGELOG.md @@ -1,9 +1,3 @@ -## 1.8.1 - -### Minor Analysis Improvements - -- The `py/bind-socket-all-network-interfaces` query now uses the global data-flow library, leading to better precision and more results. Also, wrappers of `socket.socket` in the `eventlet` and `gevent` libraries are now also recognized as socket binding operations. - ## 1.8.0 ### Query Metadata Changes diff --git a/python/ql/src/change-notes/released/1.8.1.md b/python/ql/src/change-notes/2026-03-26-improve-bind-all-interfaces-query.md similarity index 86% rename from python/ql/src/change-notes/released/1.8.1.md rename to python/ql/src/change-notes/2026-03-26-improve-bind-all-interfaces-query.md index cafb58c11c9..bc78b2b6f77 100644 --- a/python/ql/src/change-notes/released/1.8.1.md +++ b/python/ql/src/change-notes/2026-03-26-improve-bind-all-interfaces-query.md @@ -1,5 +1,5 @@ -## 1.8.1 - -### Minor Analysis Improvements +--- +category: minorAnalysis +--- - The `py/bind-socket-all-network-interfaces` query now uses the global data-flow library, leading to better precision and more results. Also, wrappers of `socket.socket` in the `eventlet` and `gevent` libraries are now also recognized as socket binding operations. diff --git a/python/ql/src/codeql-pack.release.yml b/python/ql/src/codeql-pack.release.yml index 28a7c123ae8..dc8a37cc443 100644 --- a/python/ql/src/codeql-pack.release.yml +++ b/python/ql/src/codeql-pack.release.yml @@ -1,2 +1,2 @@ --- -lastReleaseVersion: 1.8.1 +lastReleaseVersion: 1.8.0 diff --git a/python/ql/src/qlpack.yml b/python/ql/src/qlpack.yml index b7d90a618e9..aa2a2364854 100644 --- a/python/ql/src/qlpack.yml +++ b/python/ql/src/qlpack.yml @@ -1,5 +1,5 @@ name: codeql/python-queries -version: 1.8.1 +version: 1.8.1-dev groups: - python - queries diff --git a/ruby/ql/lib/CHANGELOG.md b/ruby/ql/lib/CHANGELOG.md index 8315b641369..40cb88d396f 100644 --- a/ruby/ql/lib/CHANGELOG.md +++ b/ruby/ql/lib/CHANGELOG.md @@ -1,7 +1,3 @@ -## 5.1.16 - -No user-facing changes. - ## 5.1.15 No user-facing changes. diff --git a/ruby/ql/lib/change-notes/released/5.1.16.md b/ruby/ql/lib/change-notes/released/5.1.16.md deleted file mode 100644 index 42c9934011a..00000000000 --- a/ruby/ql/lib/change-notes/released/5.1.16.md +++ /dev/null @@ -1,3 +0,0 @@ -## 5.1.16 - -No user-facing changes. diff --git a/ruby/ql/lib/codeql-pack.release.yml b/ruby/ql/lib/codeql-pack.release.yml index 735f742e9af..840348ed924 100644 --- a/ruby/ql/lib/codeql-pack.release.yml +++ b/ruby/ql/lib/codeql-pack.release.yml @@ -1,2 +1,2 @@ --- -lastReleaseVersion: 5.1.16 +lastReleaseVersion: 5.1.15 diff --git a/ruby/ql/lib/qlpack.yml b/ruby/ql/lib/qlpack.yml index ef68525f982..bbf4de40909 100644 --- a/ruby/ql/lib/qlpack.yml +++ b/ruby/ql/lib/qlpack.yml @@ -1,5 +1,5 @@ name: codeql/ruby-all -version: 5.1.16 +version: 5.1.16-dev groups: ruby extractor: ruby dbscheme: ruby.dbscheme diff --git a/ruby/ql/src/CHANGELOG.md b/ruby/ql/src/CHANGELOG.md index 5266fc1d5d9..cb4c0ae7874 100644 --- a/ruby/ql/src/CHANGELOG.md +++ b/ruby/ql/src/CHANGELOG.md @@ -1,7 +1,3 @@ -## 1.6.1 - -No user-facing changes. - ## 1.6.0 ### Query Metadata Changes diff --git a/ruby/ql/src/change-notes/released/1.6.1.md b/ruby/ql/src/change-notes/released/1.6.1.md deleted file mode 100644 index 898f6201ed7..00000000000 --- a/ruby/ql/src/change-notes/released/1.6.1.md +++ /dev/null @@ -1,3 +0,0 @@ -## 1.6.1 - -No user-facing changes. diff --git a/ruby/ql/src/codeql-pack.release.yml b/ruby/ql/src/codeql-pack.release.yml index ef7a789e0cf..c4f0b07d533 100644 --- a/ruby/ql/src/codeql-pack.release.yml +++ b/ruby/ql/src/codeql-pack.release.yml @@ -1,2 +1,2 @@ --- -lastReleaseVersion: 1.6.1 +lastReleaseVersion: 1.6.0 diff --git a/ruby/ql/src/qlpack.yml b/ruby/ql/src/qlpack.yml index 8964f6e51ac..191689565de 100644 --- a/ruby/ql/src/qlpack.yml +++ b/ruby/ql/src/qlpack.yml @@ -1,5 +1,5 @@ name: codeql/ruby-queries -version: 1.6.1 +version: 1.6.1-dev groups: - ruby - queries diff --git a/rust/ql/lib/CHANGELOG.md b/rust/ql/lib/CHANGELOG.md index 8e515660f29..eea5bd6e89d 100644 --- a/rust/ql/lib/CHANGELOG.md +++ b/rust/ql/lib/CHANGELOG.md @@ -1,7 +1,3 @@ -## 0.2.12 - -No user-facing changes. - ## 0.2.11 No user-facing changes. diff --git a/rust/ql/lib/change-notes/released/0.2.12.md b/rust/ql/lib/change-notes/released/0.2.12.md deleted file mode 100644 index 590eb0cedd1..00000000000 --- a/rust/ql/lib/change-notes/released/0.2.12.md +++ /dev/null @@ -1,3 +0,0 @@ -## 0.2.12 - -No user-facing changes. diff --git a/rust/ql/lib/codeql-pack.release.yml b/rust/ql/lib/codeql-pack.release.yml index da1cea93393..2ee635b9937 100644 --- a/rust/ql/lib/codeql-pack.release.yml +++ b/rust/ql/lib/codeql-pack.release.yml @@ -1,2 +1,2 @@ --- -lastReleaseVersion: 0.2.12 +lastReleaseVersion: 0.2.11 diff --git a/rust/ql/lib/qlpack.yml b/rust/ql/lib/qlpack.yml index 569930438ab..f5031020037 100644 --- a/rust/ql/lib/qlpack.yml +++ b/rust/ql/lib/qlpack.yml @@ -1,5 +1,5 @@ name: codeql/rust-all -version: 0.2.12 +version: 0.2.12-dev groups: rust extractor: rust dbscheme: rust.dbscheme diff --git a/rust/ql/src/CHANGELOG.md b/rust/ql/src/CHANGELOG.md index 14034c9877d..eab921bcbd6 100644 --- a/rust/ql/src/CHANGELOG.md +++ b/rust/ql/src/CHANGELOG.md @@ -1,7 +1,3 @@ -## 0.1.33 - -No user-facing changes. - ## 0.1.32 ### Query Metadata Changes diff --git a/rust/ql/src/change-notes/released/0.1.33.md b/rust/ql/src/change-notes/released/0.1.33.md deleted file mode 100644 index 5bd982edadd..00000000000 --- a/rust/ql/src/change-notes/released/0.1.33.md +++ /dev/null @@ -1,3 +0,0 @@ -## 0.1.33 - -No user-facing changes. diff --git a/rust/ql/src/codeql-pack.release.yml b/rust/ql/src/codeql-pack.release.yml index d9c9e819daa..21bbd752f27 100644 --- a/rust/ql/src/codeql-pack.release.yml +++ b/rust/ql/src/codeql-pack.release.yml @@ -1,2 +1,2 @@ --- -lastReleaseVersion: 0.1.33 +lastReleaseVersion: 0.1.32 diff --git a/rust/ql/src/qlpack.yml b/rust/ql/src/qlpack.yml index 0eefe2f3932..f78504db76e 100644 --- a/rust/ql/src/qlpack.yml +++ b/rust/ql/src/qlpack.yml @@ -1,5 +1,5 @@ name: codeql/rust-queries -version: 0.1.33 +version: 0.1.33-dev groups: - rust - queries diff --git a/shared/concepts/CHANGELOG.md b/shared/concepts/CHANGELOG.md index e8b920847e9..704ea3e8e01 100644 --- a/shared/concepts/CHANGELOG.md +++ b/shared/concepts/CHANGELOG.md @@ -1,7 +1,3 @@ -## 0.0.22 - -No user-facing changes. - ## 0.0.21 No user-facing changes. diff --git a/shared/concepts/change-notes/released/0.0.22.md b/shared/concepts/change-notes/released/0.0.22.md deleted file mode 100644 index 00226747438..00000000000 --- a/shared/concepts/change-notes/released/0.0.22.md +++ /dev/null @@ -1,3 +0,0 @@ -## 0.0.22 - -No user-facing changes. diff --git a/shared/concepts/codeql-pack.release.yml b/shared/concepts/codeql-pack.release.yml index 11aaa2243f5..0c15c351db4 100644 --- a/shared/concepts/codeql-pack.release.yml +++ b/shared/concepts/codeql-pack.release.yml @@ -1,2 +1,2 @@ --- -lastReleaseVersion: 0.0.22 +lastReleaseVersion: 0.0.21 diff --git a/shared/concepts/qlpack.yml b/shared/concepts/qlpack.yml index 2ce2978829e..bf6e8b6018c 100644 --- a/shared/concepts/qlpack.yml +++ b/shared/concepts/qlpack.yml @@ -1,5 +1,5 @@ name: codeql/concepts -version: 0.0.22 +version: 0.0.22-dev groups: shared library: true dependencies: diff --git a/shared/controlflow/CHANGELOG.md b/shared/controlflow/CHANGELOG.md index df00c6146d8..baca729ddda 100644 --- a/shared/controlflow/CHANGELOG.md +++ b/shared/controlflow/CHANGELOG.md @@ -1,7 +1,3 @@ -## 2.0.32 - -No user-facing changes. - ## 2.0.31 No user-facing changes. diff --git a/shared/controlflow/change-notes/released/2.0.32.md b/shared/controlflow/change-notes/released/2.0.32.md deleted file mode 100644 index 0930bb07f8c..00000000000 --- a/shared/controlflow/change-notes/released/2.0.32.md +++ /dev/null @@ -1,3 +0,0 @@ -## 2.0.32 - -No user-facing changes. diff --git a/shared/controlflow/codeql-pack.release.yml b/shared/controlflow/codeql-pack.release.yml index 483a0d5db8e..783d47207cd 100644 --- a/shared/controlflow/codeql-pack.release.yml +++ b/shared/controlflow/codeql-pack.release.yml @@ -1,2 +1,2 @@ --- -lastReleaseVersion: 2.0.32 +lastReleaseVersion: 2.0.31 diff --git a/shared/controlflow/qlpack.yml b/shared/controlflow/qlpack.yml index b293853c73b..5573548794d 100644 --- a/shared/controlflow/qlpack.yml +++ b/shared/controlflow/qlpack.yml @@ -1,5 +1,5 @@ name: codeql/controlflow -version: 2.0.32 +version: 2.0.32-dev groups: shared library: true dependencies: diff --git a/shared/dataflow/CHANGELOG.md b/shared/dataflow/CHANGELOG.md index ed60239f3de..52c893f78e2 100644 --- a/shared/dataflow/CHANGELOG.md +++ b/shared/dataflow/CHANGELOG.md @@ -1,7 +1,3 @@ -## 2.1.4 - -No user-facing changes. - ## 2.1.3 No user-facing changes. diff --git a/shared/dataflow/change-notes/released/2.1.4.md b/shared/dataflow/change-notes/released/2.1.4.md deleted file mode 100644 index a1035c6b05b..00000000000 --- a/shared/dataflow/change-notes/released/2.1.4.md +++ /dev/null @@ -1,3 +0,0 @@ -## 2.1.4 - -No user-facing changes. diff --git a/shared/dataflow/codeql-pack.release.yml b/shared/dataflow/codeql-pack.release.yml index 896b46fda9b..345fb0c73a4 100644 --- a/shared/dataflow/codeql-pack.release.yml +++ b/shared/dataflow/codeql-pack.release.yml @@ -1,2 +1,2 @@ --- -lastReleaseVersion: 2.1.4 +lastReleaseVersion: 2.1.3 diff --git a/shared/dataflow/qlpack.yml b/shared/dataflow/qlpack.yml index e7778805c50..3b917def33d 100644 --- a/shared/dataflow/qlpack.yml +++ b/shared/dataflow/qlpack.yml @@ -1,5 +1,5 @@ name: codeql/dataflow -version: 2.1.4 +version: 2.1.4-dev groups: shared library: true dependencies: diff --git a/shared/mad/CHANGELOG.md b/shared/mad/CHANGELOG.md index ff868403d0c..1bffb976cf8 100644 --- a/shared/mad/CHANGELOG.md +++ b/shared/mad/CHANGELOG.md @@ -1,7 +1,3 @@ -## 1.0.48 - -No user-facing changes. - ## 1.0.47 No user-facing changes. diff --git a/shared/mad/change-notes/released/1.0.48.md b/shared/mad/change-notes/released/1.0.48.md deleted file mode 100644 index c484c6e8d6e..00000000000 --- a/shared/mad/change-notes/released/1.0.48.md +++ /dev/null @@ -1,3 +0,0 @@ -## 1.0.48 - -No user-facing changes. diff --git a/shared/mad/codeql-pack.release.yml b/shared/mad/codeql-pack.release.yml index 6db79f2c397..dcec0f6405a 100644 --- a/shared/mad/codeql-pack.release.yml +++ b/shared/mad/codeql-pack.release.yml @@ -1,2 +1,2 @@ --- -lastReleaseVersion: 1.0.48 +lastReleaseVersion: 1.0.47 diff --git a/shared/mad/qlpack.yml b/shared/mad/qlpack.yml index 920ffe10267..b5583f8c55a 100644 --- a/shared/mad/qlpack.yml +++ b/shared/mad/qlpack.yml @@ -1,5 +1,5 @@ name: codeql/mad -version: 1.0.48 +version: 1.0.48-dev groups: shared library: true dependencies: diff --git a/shared/quantum/CHANGELOG.md b/shared/quantum/CHANGELOG.md index eccc65c6041..8d524a11a09 100644 --- a/shared/quantum/CHANGELOG.md +++ b/shared/quantum/CHANGELOG.md @@ -1,7 +1,3 @@ -## 0.0.26 - -No user-facing changes. - ## 0.0.25 No user-facing changes. diff --git a/shared/quantum/change-notes/released/0.0.26.md b/shared/quantum/change-notes/released/0.0.26.md deleted file mode 100644 index e6dc680cc11..00000000000 --- a/shared/quantum/change-notes/released/0.0.26.md +++ /dev/null @@ -1,3 +0,0 @@ -## 0.0.26 - -No user-facing changes. diff --git a/shared/quantum/codeql-pack.release.yml b/shared/quantum/codeql-pack.release.yml index c576d2d7db2..6d0e80a50c3 100644 --- a/shared/quantum/codeql-pack.release.yml +++ b/shared/quantum/codeql-pack.release.yml @@ -1,2 +1,2 @@ --- -lastReleaseVersion: 0.0.26 +lastReleaseVersion: 0.0.25 diff --git a/shared/quantum/qlpack.yml b/shared/quantum/qlpack.yml index 52c78c5f963..a19e99ef7ea 100644 --- a/shared/quantum/qlpack.yml +++ b/shared/quantum/qlpack.yml @@ -1,5 +1,5 @@ name: codeql/quantum -version: 0.0.26 +version: 0.0.26-dev groups: shared library: true dependencies: diff --git a/shared/rangeanalysis/CHANGELOG.md b/shared/rangeanalysis/CHANGELOG.md index 9afb612f18a..0ab7487192c 100644 --- a/shared/rangeanalysis/CHANGELOG.md +++ b/shared/rangeanalysis/CHANGELOG.md @@ -1,7 +1,3 @@ -## 1.0.48 - -No user-facing changes. - ## 1.0.47 No user-facing changes. diff --git a/shared/rangeanalysis/change-notes/released/1.0.48.md b/shared/rangeanalysis/change-notes/released/1.0.48.md deleted file mode 100644 index c484c6e8d6e..00000000000 --- a/shared/rangeanalysis/change-notes/released/1.0.48.md +++ /dev/null @@ -1,3 +0,0 @@ -## 1.0.48 - -No user-facing changes. diff --git a/shared/rangeanalysis/codeql-pack.release.yml b/shared/rangeanalysis/codeql-pack.release.yml index 6db79f2c397..dcec0f6405a 100644 --- a/shared/rangeanalysis/codeql-pack.release.yml +++ b/shared/rangeanalysis/codeql-pack.release.yml @@ -1,2 +1,2 @@ --- -lastReleaseVersion: 1.0.48 +lastReleaseVersion: 1.0.47 diff --git a/shared/rangeanalysis/qlpack.yml b/shared/rangeanalysis/qlpack.yml index 274a6160372..d493350749e 100644 --- a/shared/rangeanalysis/qlpack.yml +++ b/shared/rangeanalysis/qlpack.yml @@ -1,5 +1,5 @@ name: codeql/rangeanalysis -version: 1.0.48 +version: 1.0.48-dev groups: shared library: true dependencies: diff --git a/shared/regex/CHANGELOG.md b/shared/regex/CHANGELOG.md index 2375b7b56ab..dd6f0c4cad6 100644 --- a/shared/regex/CHANGELOG.md +++ b/shared/regex/CHANGELOG.md @@ -1,7 +1,3 @@ -## 1.0.48 - -No user-facing changes. - ## 1.0.47 No user-facing changes. diff --git a/shared/regex/change-notes/released/1.0.48.md b/shared/regex/change-notes/released/1.0.48.md deleted file mode 100644 index c484c6e8d6e..00000000000 --- a/shared/regex/change-notes/released/1.0.48.md +++ /dev/null @@ -1,3 +0,0 @@ -## 1.0.48 - -No user-facing changes. diff --git a/shared/regex/codeql-pack.release.yml b/shared/regex/codeql-pack.release.yml index 6db79f2c397..dcec0f6405a 100644 --- a/shared/regex/codeql-pack.release.yml +++ b/shared/regex/codeql-pack.release.yml @@ -1,2 +1,2 @@ --- -lastReleaseVersion: 1.0.48 +lastReleaseVersion: 1.0.47 diff --git a/shared/regex/qlpack.yml b/shared/regex/qlpack.yml index abe561fb37c..7b953dcff1c 100644 --- a/shared/regex/qlpack.yml +++ b/shared/regex/qlpack.yml @@ -1,5 +1,5 @@ name: codeql/regex -version: 1.0.48 +version: 1.0.48-dev groups: shared library: true dependencies: diff --git a/shared/ssa/CHANGELOG.md b/shared/ssa/CHANGELOG.md index dd21ba6d38b..3573140fc41 100644 --- a/shared/ssa/CHANGELOG.md +++ b/shared/ssa/CHANGELOG.md @@ -1,7 +1,3 @@ -## 2.0.24 - -No user-facing changes. - ## 2.0.23 No user-facing changes. diff --git a/shared/ssa/change-notes/released/2.0.24.md b/shared/ssa/change-notes/released/2.0.24.md deleted file mode 100644 index 6547901c334..00000000000 --- a/shared/ssa/change-notes/released/2.0.24.md +++ /dev/null @@ -1,3 +0,0 @@ -## 2.0.24 - -No user-facing changes. diff --git a/shared/ssa/codeql-pack.release.yml b/shared/ssa/codeql-pack.release.yml index 1460df314d5..1bd7e296a34 100644 --- a/shared/ssa/codeql-pack.release.yml +++ b/shared/ssa/codeql-pack.release.yml @@ -1,2 +1,2 @@ --- -lastReleaseVersion: 2.0.24 +lastReleaseVersion: 2.0.23 diff --git a/shared/ssa/qlpack.yml b/shared/ssa/qlpack.yml index 16d312b77ae..a8fa9a11424 100644 --- a/shared/ssa/qlpack.yml +++ b/shared/ssa/qlpack.yml @@ -1,5 +1,5 @@ name: codeql/ssa -version: 2.0.24 +version: 2.0.24-dev groups: shared library: true dependencies: diff --git a/shared/threat-models/CHANGELOG.md b/shared/threat-models/CHANGELOG.md index a3aa00d4872..34ae2fd2277 100644 --- a/shared/threat-models/CHANGELOG.md +++ b/shared/threat-models/CHANGELOG.md @@ -1,7 +1,3 @@ -## 1.0.48 - -No user-facing changes. - ## 1.0.47 No user-facing changes. diff --git a/shared/threat-models/change-notes/released/1.0.48.md b/shared/threat-models/change-notes/released/1.0.48.md deleted file mode 100644 index c484c6e8d6e..00000000000 --- a/shared/threat-models/change-notes/released/1.0.48.md +++ /dev/null @@ -1,3 +0,0 @@ -## 1.0.48 - -No user-facing changes. diff --git a/shared/threat-models/codeql-pack.release.yml b/shared/threat-models/codeql-pack.release.yml index 6db79f2c397..dcec0f6405a 100644 --- a/shared/threat-models/codeql-pack.release.yml +++ b/shared/threat-models/codeql-pack.release.yml @@ -1,2 +1,2 @@ --- -lastReleaseVersion: 1.0.48 +lastReleaseVersion: 1.0.47 diff --git a/shared/threat-models/qlpack.yml b/shared/threat-models/qlpack.yml index 2cf364fa332..a4a367a990b 100644 --- a/shared/threat-models/qlpack.yml +++ b/shared/threat-models/qlpack.yml @@ -1,5 +1,5 @@ name: codeql/threat-models -version: 1.0.48 +version: 1.0.48-dev library: true groups: shared dataExtensions: diff --git a/shared/tutorial/CHANGELOG.md b/shared/tutorial/CHANGELOG.md index 9350e8a04eb..cf8f60d1d46 100644 --- a/shared/tutorial/CHANGELOG.md +++ b/shared/tutorial/CHANGELOG.md @@ -1,7 +1,3 @@ -## 1.0.48 - -No user-facing changes. - ## 1.0.47 No user-facing changes. diff --git a/shared/tutorial/change-notes/released/1.0.48.md b/shared/tutorial/change-notes/released/1.0.48.md deleted file mode 100644 index c484c6e8d6e..00000000000 --- a/shared/tutorial/change-notes/released/1.0.48.md +++ /dev/null @@ -1,3 +0,0 @@ -## 1.0.48 - -No user-facing changes. diff --git a/shared/tutorial/codeql-pack.release.yml b/shared/tutorial/codeql-pack.release.yml index 6db79f2c397..dcec0f6405a 100644 --- a/shared/tutorial/codeql-pack.release.yml +++ b/shared/tutorial/codeql-pack.release.yml @@ -1,2 +1,2 @@ --- -lastReleaseVersion: 1.0.48 +lastReleaseVersion: 1.0.47 diff --git a/shared/tutorial/qlpack.yml b/shared/tutorial/qlpack.yml index 5c9c6cdc47c..f961ccdc0eb 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.48 +version: 1.0.48-dev groups: shared library: true warnOnImplicitThis: true diff --git a/shared/typeflow/CHANGELOG.md b/shared/typeflow/CHANGELOG.md index 035c2aa456e..8c5ee5e9486 100644 --- a/shared/typeflow/CHANGELOG.md +++ b/shared/typeflow/CHANGELOG.md @@ -1,7 +1,3 @@ -## 1.0.48 - -No user-facing changes. - ## 1.0.47 No user-facing changes. diff --git a/shared/typeflow/change-notes/released/1.0.48.md b/shared/typeflow/change-notes/released/1.0.48.md deleted file mode 100644 index c484c6e8d6e..00000000000 --- a/shared/typeflow/change-notes/released/1.0.48.md +++ /dev/null @@ -1,3 +0,0 @@ -## 1.0.48 - -No user-facing changes. diff --git a/shared/typeflow/codeql-pack.release.yml b/shared/typeflow/codeql-pack.release.yml index 6db79f2c397..dcec0f6405a 100644 --- a/shared/typeflow/codeql-pack.release.yml +++ b/shared/typeflow/codeql-pack.release.yml @@ -1,2 +1,2 @@ --- -lastReleaseVersion: 1.0.48 +lastReleaseVersion: 1.0.47 diff --git a/shared/typeflow/qlpack.yml b/shared/typeflow/qlpack.yml index c9d4ec97a92..f7e111d28fd 100644 --- a/shared/typeflow/qlpack.yml +++ b/shared/typeflow/qlpack.yml @@ -1,5 +1,5 @@ name: codeql/typeflow -version: 1.0.48 +version: 1.0.48-dev groups: shared library: true dependencies: diff --git a/shared/typeinference/CHANGELOG.md b/shared/typeinference/CHANGELOG.md index c8b656e4f35..7153b9314b1 100644 --- a/shared/typeinference/CHANGELOG.md +++ b/shared/typeinference/CHANGELOG.md @@ -1,7 +1,3 @@ -## 0.0.29 - -No user-facing changes. - ## 0.0.28 No user-facing changes. diff --git a/shared/typeinference/change-notes/released/0.0.29.md b/shared/typeinference/change-notes/released/0.0.29.md deleted file mode 100644 index 4428927c79d..00000000000 --- a/shared/typeinference/change-notes/released/0.0.29.md +++ /dev/null @@ -1,3 +0,0 @@ -## 0.0.29 - -No user-facing changes. diff --git a/shared/typeinference/codeql-pack.release.yml b/shared/typeinference/codeql-pack.release.yml index c81f1813120..3462db7d348 100644 --- a/shared/typeinference/codeql-pack.release.yml +++ b/shared/typeinference/codeql-pack.release.yml @@ -1,2 +1,2 @@ --- -lastReleaseVersion: 0.0.29 +lastReleaseVersion: 0.0.28 diff --git a/shared/typeinference/qlpack.yml b/shared/typeinference/qlpack.yml index 57ed4da1080..97c8df36895 100644 --- a/shared/typeinference/qlpack.yml +++ b/shared/typeinference/qlpack.yml @@ -1,5 +1,5 @@ name: codeql/typeinference -version: 0.0.29 +version: 0.0.29-dev groups: shared library: true dependencies: diff --git a/shared/typetracking/CHANGELOG.md b/shared/typetracking/CHANGELOG.md index 75d8938e6a1..f779002267a 100644 --- a/shared/typetracking/CHANGELOG.md +++ b/shared/typetracking/CHANGELOG.md @@ -1,7 +1,3 @@ -## 2.0.32 - -No user-facing changes. - ## 2.0.31 No user-facing changes. diff --git a/shared/typetracking/change-notes/released/2.0.32.md b/shared/typetracking/change-notes/released/2.0.32.md deleted file mode 100644 index 0930bb07f8c..00000000000 --- a/shared/typetracking/change-notes/released/2.0.32.md +++ /dev/null @@ -1,3 +0,0 @@ -## 2.0.32 - -No user-facing changes. diff --git a/shared/typetracking/codeql-pack.release.yml b/shared/typetracking/codeql-pack.release.yml index 483a0d5db8e..783d47207cd 100644 --- a/shared/typetracking/codeql-pack.release.yml +++ b/shared/typetracking/codeql-pack.release.yml @@ -1,2 +1,2 @@ --- -lastReleaseVersion: 2.0.32 +lastReleaseVersion: 2.0.31 diff --git a/shared/typetracking/qlpack.yml b/shared/typetracking/qlpack.yml index 7d506ee6807..aa029687531 100644 --- a/shared/typetracking/qlpack.yml +++ b/shared/typetracking/qlpack.yml @@ -1,5 +1,5 @@ name: codeql/typetracking -version: 2.0.32 +version: 2.0.32-dev groups: shared library: true dependencies: diff --git a/shared/typos/CHANGELOG.md b/shared/typos/CHANGELOG.md index 35825098a63..b49f756fef0 100644 --- a/shared/typos/CHANGELOG.md +++ b/shared/typos/CHANGELOG.md @@ -1,7 +1,3 @@ -## 1.0.48 - -No user-facing changes. - ## 1.0.47 No user-facing changes. diff --git a/shared/typos/change-notes/released/1.0.48.md b/shared/typos/change-notes/released/1.0.48.md deleted file mode 100644 index c484c6e8d6e..00000000000 --- a/shared/typos/change-notes/released/1.0.48.md +++ /dev/null @@ -1,3 +0,0 @@ -## 1.0.48 - -No user-facing changes. diff --git a/shared/typos/codeql-pack.release.yml b/shared/typos/codeql-pack.release.yml index 6db79f2c397..dcec0f6405a 100644 --- a/shared/typos/codeql-pack.release.yml +++ b/shared/typos/codeql-pack.release.yml @@ -1,2 +1,2 @@ --- -lastReleaseVersion: 1.0.48 +lastReleaseVersion: 1.0.47 diff --git a/shared/typos/qlpack.yml b/shared/typos/qlpack.yml index 5ba6ce2b43d..37fc79bb1df 100644 --- a/shared/typos/qlpack.yml +++ b/shared/typos/qlpack.yml @@ -1,5 +1,5 @@ name: codeql/typos -version: 1.0.48 +version: 1.0.48-dev groups: shared library: true warnOnImplicitThis: true diff --git a/shared/util/CHANGELOG.md b/shared/util/CHANGELOG.md index d1becc8ba2c..cb3ac7bbe79 100644 --- a/shared/util/CHANGELOG.md +++ b/shared/util/CHANGELOG.md @@ -1,7 +1,3 @@ -## 2.0.35 - -No user-facing changes. - ## 2.0.34 No user-facing changes. diff --git a/shared/util/change-notes/released/2.0.35.md b/shared/util/change-notes/released/2.0.35.md deleted file mode 100644 index 526e1fc9f4c..00000000000 --- a/shared/util/change-notes/released/2.0.35.md +++ /dev/null @@ -1,3 +0,0 @@ -## 2.0.35 - -No user-facing changes. diff --git a/shared/util/codeql-pack.release.yml b/shared/util/codeql-pack.release.yml index 27eb8ef8ece..339a3ce7c57 100644 --- a/shared/util/codeql-pack.release.yml +++ b/shared/util/codeql-pack.release.yml @@ -1,2 +1,2 @@ --- -lastReleaseVersion: 2.0.35 +lastReleaseVersion: 2.0.34 diff --git a/shared/util/qlpack.yml b/shared/util/qlpack.yml index 1e765b5e42e..02e6241dccb 100644 --- a/shared/util/qlpack.yml +++ b/shared/util/qlpack.yml @@ -1,5 +1,5 @@ name: codeql/util -version: 2.0.35 +version: 2.0.35-dev groups: shared library: true dependencies: null diff --git a/shared/xml/CHANGELOG.md b/shared/xml/CHANGELOG.md index 131bf7afd2a..98702251320 100644 --- a/shared/xml/CHANGELOG.md +++ b/shared/xml/CHANGELOG.md @@ -1,7 +1,3 @@ -## 1.0.48 - -No user-facing changes. - ## 1.0.47 No user-facing changes. diff --git a/shared/xml/change-notes/released/1.0.48.md b/shared/xml/change-notes/released/1.0.48.md deleted file mode 100644 index c484c6e8d6e..00000000000 --- a/shared/xml/change-notes/released/1.0.48.md +++ /dev/null @@ -1,3 +0,0 @@ -## 1.0.48 - -No user-facing changes. diff --git a/shared/xml/codeql-pack.release.yml b/shared/xml/codeql-pack.release.yml index 6db79f2c397..dcec0f6405a 100644 --- a/shared/xml/codeql-pack.release.yml +++ b/shared/xml/codeql-pack.release.yml @@ -1,2 +1,2 @@ --- -lastReleaseVersion: 1.0.48 +lastReleaseVersion: 1.0.47 diff --git a/shared/xml/qlpack.yml b/shared/xml/qlpack.yml index 45ddcffaee7..0d75859bdb9 100644 --- a/shared/xml/qlpack.yml +++ b/shared/xml/qlpack.yml @@ -1,5 +1,5 @@ name: codeql/xml -version: 1.0.48 +version: 1.0.48-dev groups: shared library: true dependencies: diff --git a/shared/yaml/CHANGELOG.md b/shared/yaml/CHANGELOG.md index 1c420b31355..4a41f8ee9df 100644 --- a/shared/yaml/CHANGELOG.md +++ b/shared/yaml/CHANGELOG.md @@ -1,7 +1,3 @@ -## 1.0.48 - -No user-facing changes. - ## 1.0.47 No user-facing changes. diff --git a/shared/yaml/change-notes/released/1.0.48.md b/shared/yaml/change-notes/released/1.0.48.md deleted file mode 100644 index c484c6e8d6e..00000000000 --- a/shared/yaml/change-notes/released/1.0.48.md +++ /dev/null @@ -1,3 +0,0 @@ -## 1.0.48 - -No user-facing changes. diff --git a/shared/yaml/codeql-pack.release.yml b/shared/yaml/codeql-pack.release.yml index 6db79f2c397..dcec0f6405a 100644 --- a/shared/yaml/codeql-pack.release.yml +++ b/shared/yaml/codeql-pack.release.yml @@ -1,2 +1,2 @@ --- -lastReleaseVersion: 1.0.48 +lastReleaseVersion: 1.0.47 diff --git a/shared/yaml/qlpack.yml b/shared/yaml/qlpack.yml index 461f97ac4db..cfea54e0b5b 100644 --- a/shared/yaml/qlpack.yml +++ b/shared/yaml/qlpack.yml @@ -1,5 +1,5 @@ name: codeql/yaml -version: 1.0.48 +version: 1.0.48-dev groups: shared library: true warnOnImplicitThis: true diff --git a/swift/ql/lib/CHANGELOG.md b/swift/ql/lib/CHANGELOG.md index e2cb45f9769..3967689b933 100644 --- a/swift/ql/lib/CHANGELOG.md +++ b/swift/ql/lib/CHANGELOG.md @@ -1,9 +1,3 @@ -## 6.4.0 - -### Major Analysis Improvements - -* Upgraded to allow analysis of Swift 6.3. - ## 6.3.3 No user-facing changes. diff --git a/swift/ql/lib/change-notes/released/6.4.0.md b/swift/ql/lib/change-notes/2026-04-06-swift-6.3.md similarity index 50% rename from swift/ql/lib/change-notes/released/6.4.0.md rename to swift/ql/lib/change-notes/2026-04-06-swift-6.3.md index e4b68cd2c9b..512cb613984 100644 --- a/swift/ql/lib/change-notes/released/6.4.0.md +++ b/swift/ql/lib/change-notes/2026-04-06-swift-6.3.md @@ -1,5 +1,4 @@ -## 6.4.0 - -### Major Analysis Improvements - +--- +category: majorAnalysis +--- * Upgraded to allow analysis of Swift 6.3. diff --git a/swift/ql/lib/codeql-pack.release.yml b/swift/ql/lib/codeql-pack.release.yml index 3098c5db6c3..83b98dcdbc3 100644 --- a/swift/ql/lib/codeql-pack.release.yml +++ b/swift/ql/lib/codeql-pack.release.yml @@ -1,2 +1,2 @@ --- -lastReleaseVersion: 6.4.0 +lastReleaseVersion: 6.3.3 diff --git a/swift/ql/lib/qlpack.yml b/swift/ql/lib/qlpack.yml index c8cc7f97a2b..32c6458ddea 100644 --- a/swift/ql/lib/qlpack.yml +++ b/swift/ql/lib/qlpack.yml @@ -1,5 +1,5 @@ name: codeql/swift-all -version: 6.4.0 +version: 6.3.4-dev groups: swift extractor: swift dbscheme: swift.dbscheme diff --git a/swift/ql/src/CHANGELOG.md b/swift/ql/src/CHANGELOG.md index af70cebc1e4..f880dc3366f 100644 --- a/swift/ql/src/CHANGELOG.md +++ b/swift/ql/src/CHANGELOG.md @@ -1,7 +1,3 @@ -## 1.3.1 - -No user-facing changes. - ## 1.3.0 ### Query Metadata Changes diff --git a/swift/ql/src/change-notes/released/1.3.1.md b/swift/ql/src/change-notes/released/1.3.1.md deleted file mode 100644 index 8dd9964197c..00000000000 --- a/swift/ql/src/change-notes/released/1.3.1.md +++ /dev/null @@ -1,3 +0,0 @@ -## 1.3.1 - -No user-facing changes. diff --git a/swift/ql/src/codeql-pack.release.yml b/swift/ql/src/codeql-pack.release.yml index e71b6d081f1..ec16350ed6f 100644 --- a/swift/ql/src/codeql-pack.release.yml +++ b/swift/ql/src/codeql-pack.release.yml @@ -1,2 +1,2 @@ --- -lastReleaseVersion: 1.3.1 +lastReleaseVersion: 1.3.0 diff --git a/swift/ql/src/qlpack.yml b/swift/ql/src/qlpack.yml index 2bde0f317c7..5b6c7a6977a 100644 --- a/swift/ql/src/qlpack.yml +++ b/swift/ql/src/qlpack.yml @@ -1,5 +1,5 @@ name: codeql/swift-queries -version: 1.3.1 +version: 1.3.1-dev groups: - swift - queries From 019ec0caf735dc92ee66f46ffa861564a17f3c27 Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" Date: Mon, 27 Apr 2026 10:01:23 +0000 Subject: [PATCH 06/15] Release preparation for version 2.25.3 --- actions/ql/lib/CHANGELOG.md | 6 ++++++ .../0.4.34.md} | 7 ++++--- actions/ql/lib/codeql-pack.release.yml | 2 +- actions/ql/lib/qlpack.yml | 2 +- actions/ql/src/CHANGELOG.md | 10 ++++++++++ .../ql/src/change-notes/2026-04-02-permissions.md | 4 ---- .../0.6.26.md} | 13 +++++++++---- actions/ql/src/codeql-pack.release.yml | 2 +- actions/ql/src/qlpack.yml | 2 +- cpp/ql/lib/CHANGELOG.md | 11 +++++++++++ cpp/ql/lib/change-notes/2026-04-07-autoconf.md | 4 ---- cpp/ql/lib/change-notes/2026-04-14-throwing.md | 5 ----- cpp/ql/lib/change-notes/released/10.0.0.md | 10 ++++++++++ cpp/ql/lib/codeql-pack.release.yml | 2 +- cpp/ql/lib/qlpack.yml | 2 +- cpp/ql/src/CHANGELOG.md | 12 ++++++++++++ .../2026-03-23-implicit-function-declaration.md | 4 ---- .../2026-04-02-comparison-with-wider-type.md | 4 ---- .../2026-04-02-implicit-function-declaration.md | 4 ---- ...026-04-02-integer-multiplication-cast-to-long.md | 4 ---- .../2026-04-02-suspicious-add-sizeof.md | 4 ---- .../2026-04-02-wrong-type-format-argument.md | 4 ---- .../2026-04-16-add-model-for-aligned-alloc.md | 4 ---- cpp/ql/src/change-notes/released/1.6.1.md | 11 +++++++++++ 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.65.md | 3 +++ .../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.65.md | 3 +++ .../Solorigate/src/codeql-pack.release.yml | 2 +- csharp/ql/campaigns/Solorigate/src/qlpack.yml | 2 +- csharp/ql/lib/CHANGELOG.md | 6 ++++++ .../{2026-04-01-getlrvalue.md => released/5.5.0.md} | 7 ++++--- csharp/ql/lib/codeql-pack.release.yml | 2 +- csharp/ql/lib/qlpack.yml | 2 +- csharp/ql/src/CHANGELOG.md | 9 +++++++++ .../1.7.1.md} | 7 ++++--- 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.48.md | 3 +++ go/ql/consistency-queries/codeql-pack.release.yml | 2 +- go/ql/consistency-queries/qlpack.yml | 2 +- go/ql/lib/CHANGELOG.md | 4 ++++ go/ql/lib/change-notes/released/7.0.6.md | 3 +++ 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.6.1.md | 3 +++ go/ql/src/codeql-pack.release.yml | 2 +- go/ql/src/qlpack.yml | 2 +- java/ql/lib/CHANGELOG.md | 6 ++++++ .../9.0.4.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.11.1.md | 3 +++ java/ql/src/codeql-pack.release.yml | 2 +- java/ql/src/qlpack.yml | 2 +- javascript/ql/lib/CHANGELOG.md | 4 ++++ javascript/ql/lib/change-notes/released/2.6.28.md | 3 +++ javascript/ql/lib/codeql-pack.release.yml | 2 +- javascript/ql/lib/qlpack.yml | 2 +- javascript/ql/src/CHANGELOG.md | 7 +++++++ .../2.3.8.md} | 7 ++++--- 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.48.md | 3 +++ misc/suite-helpers/codeql-pack.release.yml | 2 +- misc/suite-helpers/qlpack.yml | 2 +- python/ql/lib/CHANGELOG.md | 6 ++++++ .../7.0.5.md} | 6 +++--- python/ql/lib/codeql-pack.release.yml | 2 +- python/ql/lib/qlpack.yml | 2 +- python/ql/src/CHANGELOG.md | 6 ++++++ .../1.8.1.md} | 6 +++--- 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/5.1.16.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.6.1.md | 3 +++ ruby/ql/src/codeql-pack.release.yml | 2 +- ruby/ql/src/qlpack.yml | 2 +- rust/ql/lib/CHANGELOG.md | 4 ++++ rust/ql/lib/change-notes/released/0.2.12.md | 3 +++ rust/ql/lib/codeql-pack.release.yml | 2 +- rust/ql/lib/qlpack.yml | 2 +- rust/ql/src/CHANGELOG.md | 4 ++++ rust/ql/src/change-notes/released/0.1.33.md | 3 +++ rust/ql/src/codeql-pack.release.yml | 2 +- rust/ql/src/qlpack.yml | 2 +- shared/concepts/CHANGELOG.md | 4 ++++ shared/concepts/change-notes/released/0.0.22.md | 3 +++ shared/concepts/codeql-pack.release.yml | 2 +- shared/concepts/qlpack.yml | 2 +- shared/controlflow/CHANGELOG.md | 4 ++++ shared/controlflow/change-notes/released/2.0.32.md | 3 +++ shared/controlflow/codeql-pack.release.yml | 2 +- shared/controlflow/qlpack.yml | 2 +- shared/dataflow/CHANGELOG.md | 4 ++++ shared/dataflow/change-notes/released/2.1.4.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.48.md | 3 +++ shared/mad/codeql-pack.release.yml | 2 +- shared/mad/qlpack.yml | 2 +- shared/quantum/CHANGELOG.md | 4 ++++ shared/quantum/change-notes/released/0.0.26.md | 3 +++ shared/quantum/codeql-pack.release.yml | 2 +- shared/quantum/qlpack.yml | 2 +- shared/rangeanalysis/CHANGELOG.md | 4 ++++ .../rangeanalysis/change-notes/released/1.0.48.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.48.md | 3 +++ shared/regex/codeql-pack.release.yml | 2 +- shared/regex/qlpack.yml | 2 +- shared/ssa/CHANGELOG.md | 4 ++++ shared/ssa/change-notes/released/2.0.24.md | 3 +++ shared/ssa/codeql-pack.release.yml | 2 +- shared/ssa/qlpack.yml | 2 +- shared/threat-models/CHANGELOG.md | 4 ++++ .../threat-models/change-notes/released/1.0.48.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.48.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.48.md | 3 +++ shared/typeflow/codeql-pack.release.yml | 2 +- shared/typeflow/qlpack.yml | 2 +- shared/typeinference/CHANGELOG.md | 4 ++++ .../typeinference/change-notes/released/0.0.29.md | 3 +++ shared/typeinference/codeql-pack.release.yml | 2 +- shared/typeinference/qlpack.yml | 2 +- shared/typetracking/CHANGELOG.md | 4 ++++ shared/typetracking/change-notes/released/2.0.32.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.48.md | 3 +++ shared/typos/codeql-pack.release.yml | 2 +- shared/typos/qlpack.yml | 2 +- shared/util/CHANGELOG.md | 4 ++++ shared/util/change-notes/released/2.0.35.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.48.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.48.md | 3 +++ shared/yaml/codeql-pack.release.yml | 2 +- shared/yaml/qlpack.yml | 2 +- swift/ql/lib/CHANGELOG.md | 6 ++++++ .../{2026-04-06-swift-6.3.md => released/6.4.0.md} | 7 ++++--- 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.3.1.md | 3 +++ swift/ql/src/codeql-pack.release.yml | 2 +- swift/ql/src/qlpack.yml | 2 +- 174 files changed, 437 insertions(+), 151 deletions(-) rename actions/ql/lib/change-notes/{2026-03-26-remove-false-positive-sinks.md => released/0.4.34.md} (79%) delete mode 100644 actions/ql/src/change-notes/2026-04-02-permissions.md rename actions/ql/src/change-notes/{2026-04-02-alert-msg-poisoning.md => released/0.6.26.md} (64%) delete mode 100644 cpp/ql/lib/change-notes/2026-04-07-autoconf.md delete mode 100644 cpp/ql/lib/change-notes/2026-04-14-throwing.md create mode 100644 cpp/ql/lib/change-notes/released/10.0.0.md delete mode 100644 cpp/ql/src/change-notes/2026-03-23-implicit-function-declaration.md delete mode 100644 cpp/ql/src/change-notes/2026-04-02-comparison-with-wider-type.md delete mode 100644 cpp/ql/src/change-notes/2026-04-02-implicit-function-declaration.md delete mode 100644 cpp/ql/src/change-notes/2026-04-02-integer-multiplication-cast-to-long.md delete mode 100644 cpp/ql/src/change-notes/2026-04-02-suspicious-add-sizeof.md delete mode 100644 cpp/ql/src/change-notes/2026-04-02-wrong-type-format-argument.md delete mode 100644 cpp/ql/src/change-notes/2026-04-16-add-model-for-aligned-alloc.md create mode 100644 cpp/ql/src/change-notes/released/1.6.1.md create mode 100644 csharp/ql/campaigns/Solorigate/lib/change-notes/released/1.7.65.md create mode 100644 csharp/ql/campaigns/Solorigate/src/change-notes/released/1.7.65.md rename csharp/ql/lib/change-notes/{2026-04-01-getlrvalue.md => released/5.5.0.md} (79%) rename csharp/ql/src/change-notes/{2026-04-17-useless-to-string.md => released/1.7.1.md} (84%) create mode 100644 go/ql/consistency-queries/change-notes/released/1.0.48.md create mode 100644 go/ql/lib/change-notes/released/7.0.6.md create mode 100644 go/ql/src/change-notes/released/1.6.1.md rename java/ql/lib/change-notes/{2026-04-16-woodstox-xxe.md => released/9.0.4.md} (88%) create mode 100644 java/ql/src/change-notes/released/1.11.1.md create mode 100644 javascript/ql/lib/change-notes/released/2.6.28.md rename javascript/ql/src/change-notes/{2026-04-13-fastify-per-route-rate-limit.md => released/2.3.8.md} (69%) create mode 100644 misc/suite-helpers/change-notes/released/1.0.48.md rename python/ql/lib/change-notes/{2026-04-10-support-lazy-keyword.md => released/7.0.5.md} (81%) rename python/ql/src/change-notes/{2026-03-26-improve-bind-all-interfaces-query.md => released/1.8.1.md} (86%) create mode 100644 ruby/ql/lib/change-notes/released/5.1.16.md create mode 100644 ruby/ql/src/change-notes/released/1.6.1.md create mode 100644 rust/ql/lib/change-notes/released/0.2.12.md create mode 100644 rust/ql/src/change-notes/released/0.1.33.md create mode 100644 shared/concepts/change-notes/released/0.0.22.md create mode 100644 shared/controlflow/change-notes/released/2.0.32.md create mode 100644 shared/dataflow/change-notes/released/2.1.4.md create mode 100644 shared/mad/change-notes/released/1.0.48.md create mode 100644 shared/quantum/change-notes/released/0.0.26.md create mode 100644 shared/rangeanalysis/change-notes/released/1.0.48.md create mode 100644 shared/regex/change-notes/released/1.0.48.md create mode 100644 shared/ssa/change-notes/released/2.0.24.md create mode 100644 shared/threat-models/change-notes/released/1.0.48.md create mode 100644 shared/tutorial/change-notes/released/1.0.48.md create mode 100644 shared/typeflow/change-notes/released/1.0.48.md create mode 100644 shared/typeinference/change-notes/released/0.0.29.md create mode 100644 shared/typetracking/change-notes/released/2.0.32.md create mode 100644 shared/typos/change-notes/released/1.0.48.md create mode 100644 shared/util/change-notes/released/2.0.35.md create mode 100644 shared/xml/change-notes/released/1.0.48.md create mode 100644 shared/yaml/change-notes/released/1.0.48.md rename swift/ql/lib/change-notes/{2026-04-06-swift-6.3.md => released/6.4.0.md} (50%) create mode 100644 swift/ql/src/change-notes/released/1.3.1.md diff --git a/actions/ql/lib/CHANGELOG.md b/actions/ql/lib/CHANGELOG.md index d625bc6f619..e84ba38d180 100644 --- a/actions/ql/lib/CHANGELOG.md +++ b/actions/ql/lib/CHANGELOG.md @@ -1,3 +1,9 @@ +## 0.4.34 + +### Minor Analysis Improvements + +* Removed false positive injection sink models for the `context` input of `docker/build-push-action` and the `allowed-endpoints` input of `step-security/harden-runner`. + ## 0.4.33 No user-facing changes. diff --git a/actions/ql/lib/change-notes/2026-03-26-remove-false-positive-sinks.md b/actions/ql/lib/change-notes/released/0.4.34.md similarity index 79% rename from actions/ql/lib/change-notes/2026-03-26-remove-false-positive-sinks.md rename to actions/ql/lib/change-notes/released/0.4.34.md index 20ccc6d6c02..23b06db4967 100644 --- a/actions/ql/lib/change-notes/2026-03-26-remove-false-positive-sinks.md +++ b/actions/ql/lib/change-notes/released/0.4.34.md @@ -1,4 +1,5 @@ ---- -category: minorAnalysis ---- +## 0.4.34 + +### Minor Analysis Improvements + * Removed false positive injection sink models for the `context` input of `docker/build-push-action` and the `allowed-endpoints` input of `step-security/harden-runner`. diff --git a/actions/ql/lib/codeql-pack.release.yml b/actions/ql/lib/codeql-pack.release.yml index 7581fef2abf..69fb16e4c39 100644 --- a/actions/ql/lib/codeql-pack.release.yml +++ b/actions/ql/lib/codeql-pack.release.yml @@ -1,2 +1,2 @@ --- -lastReleaseVersion: 0.4.33 +lastReleaseVersion: 0.4.34 diff --git a/actions/ql/lib/qlpack.yml b/actions/ql/lib/qlpack.yml index fec27415800..b7acc7a3957 100644 --- a/actions/ql/lib/qlpack.yml +++ b/actions/ql/lib/qlpack.yml @@ -1,5 +1,5 @@ name: codeql/actions-all -version: 0.4.34-dev +version: 0.4.34 library: true warnOnImplicitThis: true dependencies: diff --git a/actions/ql/src/CHANGELOG.md b/actions/ql/src/CHANGELOG.md index d991237aca9..9dd234fd483 100644 --- a/actions/ql/src/CHANGELOG.md +++ b/actions/ql/src/CHANGELOG.md @@ -1,3 +1,13 @@ +## 0.6.26 + +### Major Analysis Improvements + +* Fixed alert messages in `actions/artifact-poisoning/critical` and `actions/artifact-poisoning/medium` as they previously included a redundant placeholder in the alert message that would on occasion contain a long block of yml that makes the alert difficult to understand. Also clarify the wording to make it clear that it is not the artifact that is being poisoned, but instead a potentially untrusted artifact that is consumed. Also change the alert location to be the source, to align more with other queries reporting an artifact (e.g. zipslip) which is more useful. + +### Minor Analysis Improvements + +* The query `actions/missing-workflow-permissions` no longer produces false positive results on reusable workflows where all callers set permissions. + ## 0.6.25 No user-facing changes. diff --git a/actions/ql/src/change-notes/2026-04-02-permissions.md b/actions/ql/src/change-notes/2026-04-02-permissions.md deleted file mode 100644 index 2672a30ef87..00000000000 --- a/actions/ql/src/change-notes/2026-04-02-permissions.md +++ /dev/null @@ -1,4 +0,0 @@ ---- -category: minorAnalysis ---- -* The query `actions/missing-workflow-permissions` no longer produces false positive results on reusable workflows where all callers set permissions. \ No newline at end of file diff --git a/actions/ql/src/change-notes/2026-04-02-alert-msg-poisoning.md b/actions/ql/src/change-notes/released/0.6.26.md similarity index 64% rename from actions/ql/src/change-notes/2026-04-02-alert-msg-poisoning.md rename to actions/ql/src/change-notes/released/0.6.26.md index e2340f446a7..3147a666cdb 100644 --- a/actions/ql/src/change-notes/2026-04-02-alert-msg-poisoning.md +++ b/actions/ql/src/change-notes/released/0.6.26.md @@ -1,4 +1,9 @@ ---- -category: majorAnalysis ---- -* Fixed alert messages in `actions/artifact-poisoning/critical` and `actions/artifact-poisoning/medium` as they previously included a redundant placeholder in the alert message that would on occasion contain a long block of yml that makes the alert difficult to understand. Also clarify the wording to make it clear that it is not the artifact that is being poisoned, but instead a potentially untrusted artifact that is consumed. Also change the alert location to be the source, to align more with other queries reporting an artifact (e.g. zipslip) which is more useful. \ No newline at end of file +## 0.6.26 + +### Major Analysis Improvements + +* Fixed alert messages in `actions/artifact-poisoning/critical` and `actions/artifact-poisoning/medium` as they previously included a redundant placeholder in the alert message that would on occasion contain a long block of yml that makes the alert difficult to understand. Also clarify the wording to make it clear that it is not the artifact that is being poisoned, but instead a potentially untrusted artifact that is consumed. Also change the alert location to be the source, to align more with other queries reporting an artifact (e.g. zipslip) which is more useful. + +### Minor Analysis Improvements + +* The query `actions/missing-workflow-permissions` no longer produces false positive results on reusable workflows where all callers set permissions. diff --git a/actions/ql/src/codeql-pack.release.yml b/actions/ql/src/codeql-pack.release.yml index b8288b39222..e83bac0046e 100644 --- a/actions/ql/src/codeql-pack.release.yml +++ b/actions/ql/src/codeql-pack.release.yml @@ -1,2 +1,2 @@ --- -lastReleaseVersion: 0.6.25 +lastReleaseVersion: 0.6.26 diff --git a/actions/ql/src/qlpack.yml b/actions/ql/src/qlpack.yml index 3216a36f3d0..fc18f8052b2 100644 --- a/actions/ql/src/qlpack.yml +++ b/actions/ql/src/qlpack.yml @@ -1,5 +1,5 @@ name: codeql/actions-queries -version: 0.6.26-dev +version: 0.6.26 library: false warnOnImplicitThis: true groups: [actions, queries] diff --git a/cpp/ql/lib/CHANGELOG.md b/cpp/ql/lib/CHANGELOG.md index 5b5bc748c5d..2cd1bcede35 100644 --- a/cpp/ql/lib/CHANGELOG.md +++ b/cpp/ql/lib/CHANGELOG.md @@ -1,3 +1,14 @@ +## 10.0.0 + +### Breaking Changes + +* The deprecated `NonThrowingFunction` class has been removed, use `NonCppThrowingFunction` instead. +* The deprecated `ThrowingFunction` class has been removed, use `AlwaysSehThrowingFunction` instead. + +### New Features + +* Added a subclass `AutoconfConfigureTestFile` of `ConfigurationTestFile` that represents files created by GNU autoconf configure scripts to test the build configuration. + ## 9.0.0 ### Breaking Changes diff --git a/cpp/ql/lib/change-notes/2026-04-07-autoconf.md b/cpp/ql/lib/change-notes/2026-04-07-autoconf.md deleted file mode 100644 index 9f04417b8e2..00000000000 --- a/cpp/ql/lib/change-notes/2026-04-07-autoconf.md +++ /dev/null @@ -1,4 +0,0 @@ ---- -category: feature ---- -* Added a subclass `AutoconfConfigureTestFile` of `ConfigurationTestFile` that represents files created by GNU autoconf configure scripts to test the build configuration. diff --git a/cpp/ql/lib/change-notes/2026-04-14-throwing.md b/cpp/ql/lib/change-notes/2026-04-14-throwing.md deleted file mode 100644 index 6a15437e126..00000000000 --- a/cpp/ql/lib/change-notes/2026-04-14-throwing.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -category: breaking ---- -* The deprecated `NonThrowingFunction` class has been removed, use `NonCppThrowingFunction` instead. -* The deprecated `ThrowingFunction` class has been removed, use `AlwaysSehThrowingFunction` instead. diff --git a/cpp/ql/lib/change-notes/released/10.0.0.md b/cpp/ql/lib/change-notes/released/10.0.0.md new file mode 100644 index 00000000000..af591bd1a0a --- /dev/null +++ b/cpp/ql/lib/change-notes/released/10.0.0.md @@ -0,0 +1,10 @@ +## 10.0.0 + +### Breaking Changes + +* The deprecated `NonThrowingFunction` class has been removed, use `NonCppThrowingFunction` instead. +* The deprecated `ThrowingFunction` class has been removed, use `AlwaysSehThrowingFunction` instead. + +### New Features + +* Added a subclass `AutoconfConfigureTestFile` of `ConfigurationTestFile` that represents files created by GNU autoconf configure scripts to test the build configuration. diff --git a/cpp/ql/lib/codeql-pack.release.yml b/cpp/ql/lib/codeql-pack.release.yml index fd5f4a48b3c..28758256b94 100644 --- a/cpp/ql/lib/codeql-pack.release.yml +++ b/cpp/ql/lib/codeql-pack.release.yml @@ -1,2 +1,2 @@ --- -lastReleaseVersion: 9.0.0 +lastReleaseVersion: 10.0.0 diff --git a/cpp/ql/lib/qlpack.yml b/cpp/ql/lib/qlpack.yml index dbf57d2b869..4bcb59885fa 100644 --- a/cpp/ql/lib/qlpack.yml +++ b/cpp/ql/lib/qlpack.yml @@ -1,5 +1,5 @@ name: codeql/cpp-all -version: 9.0.1-dev +version: 10.0.0 groups: cpp dbscheme: semmlecode.cpp.dbscheme extractor: cpp diff --git a/cpp/ql/src/CHANGELOG.md b/cpp/ql/src/CHANGELOG.md index a3f9d1836ad..aca22062e9f 100644 --- a/cpp/ql/src/CHANGELOG.md +++ b/cpp/ql/src/CHANGELOG.md @@ -1,3 +1,15 @@ +## 1.6.1 + +### Minor Analysis Improvements + +* Added `AllocationFunction` models for `aligned_alloc`, `std::aligned_alloc`, and `bsl::aligned_alloc`. +* The "Comparison of narrow type with wide type in loop condition" (`cpp/comparison-with-wider-type`) query has been upgraded to `high` precision. This query will now run in the default code scanning suite. +* The "Implicit function declaration" (`cpp/implicit-function-declaration`) query has been upgraded to `high` precision. +* The "Multiplication result converted to larger type" (`cpp/integer-multiplication-cast-to-long`) query has been upgraded to `high` precision. This query will now run in the default code scanning suite. +* The "Suspicious add with sizeof" (`cpp/suspicious-add-sizeof`) query has been upgraded to `high` precision. This query will now run in the default code scanning suite. +* The "Wrong type of arguments to formatting function" (`cpp/wrong-type-format-argument`) query has been upgraded to `high` precision. This query will now run in the default code scanning suite. +* The "Implicit function declaration" (`cpp/implicit-function-declaration`) query no longer produces results on `build mode: none` databases. These results were found to be very noisy and fundamentally imprecise in this mode. + ## 1.6.0 ### Query Metadata Changes diff --git a/cpp/ql/src/change-notes/2026-03-23-implicit-function-declaration.md b/cpp/ql/src/change-notes/2026-03-23-implicit-function-declaration.md deleted file mode 100644 index 8c2c431ec24..00000000000 --- a/cpp/ql/src/change-notes/2026-03-23-implicit-function-declaration.md +++ /dev/null @@ -1,4 +0,0 @@ ---- -category: minorAnalysis ---- -* The "Implicit function declaration" (`cpp/implicit-function-declaration`) query no longer produces results on `build mode: none` databases. These results were found to be very noisy and fundamentally imprecise in this mode. diff --git a/cpp/ql/src/change-notes/2026-04-02-comparison-with-wider-type.md b/cpp/ql/src/change-notes/2026-04-02-comparison-with-wider-type.md deleted file mode 100644 index c84e1dba404..00000000000 --- a/cpp/ql/src/change-notes/2026-04-02-comparison-with-wider-type.md +++ /dev/null @@ -1,4 +0,0 @@ ---- -category: minorAnalysis ---- -* The "Comparison of narrow type with wide type in loop condition" (`cpp/comparison-with-wider-type`) query has been upgraded to `high` precision. This query will now run in the default code scanning suite. diff --git a/cpp/ql/src/change-notes/2026-04-02-implicit-function-declaration.md b/cpp/ql/src/change-notes/2026-04-02-implicit-function-declaration.md deleted file mode 100644 index dd0dbd4bc7d..00000000000 --- a/cpp/ql/src/change-notes/2026-04-02-implicit-function-declaration.md +++ /dev/null @@ -1,4 +0,0 @@ ---- -category: minorAnalysis ---- -* The "Implicit function declaration" (`cpp/implicit-function-declaration`) query has been upgraded to `high` precision. diff --git a/cpp/ql/src/change-notes/2026-04-02-integer-multiplication-cast-to-long.md b/cpp/ql/src/change-notes/2026-04-02-integer-multiplication-cast-to-long.md deleted file mode 100644 index cd6796b408f..00000000000 --- a/cpp/ql/src/change-notes/2026-04-02-integer-multiplication-cast-to-long.md +++ /dev/null @@ -1,4 +0,0 @@ ---- -category: minorAnalysis ---- -* The "Multiplication result converted to larger type" (`cpp/integer-multiplication-cast-to-long`) query has been upgraded to `high` precision. This query will now run in the default code scanning suite. diff --git a/cpp/ql/src/change-notes/2026-04-02-suspicious-add-sizeof.md b/cpp/ql/src/change-notes/2026-04-02-suspicious-add-sizeof.md deleted file mode 100644 index 040e89c1347..00000000000 --- a/cpp/ql/src/change-notes/2026-04-02-suspicious-add-sizeof.md +++ /dev/null @@ -1,4 +0,0 @@ ---- -category: minorAnalysis ---- -* The "Suspicious add with sizeof" (`cpp/suspicious-add-sizeof`) query has been upgraded to `high` precision. This query will now run in the default code scanning suite. diff --git a/cpp/ql/src/change-notes/2026-04-02-wrong-type-format-argument.md b/cpp/ql/src/change-notes/2026-04-02-wrong-type-format-argument.md deleted file mode 100644 index f8b9085dacc..00000000000 --- a/cpp/ql/src/change-notes/2026-04-02-wrong-type-format-argument.md +++ /dev/null @@ -1,4 +0,0 @@ ---- -category: minorAnalysis ---- -* The "Wrong type of arguments to formatting function" (`cpp/wrong-type-format-argument`) query has been upgraded to `high` precision. This query will now run in the default code scanning suite. diff --git a/cpp/ql/src/change-notes/2026-04-16-add-model-for-aligned-alloc.md b/cpp/ql/src/change-notes/2026-04-16-add-model-for-aligned-alloc.md deleted file mode 100644 index af97cee7f9e..00000000000 --- a/cpp/ql/src/change-notes/2026-04-16-add-model-for-aligned-alloc.md +++ /dev/null @@ -1,4 +0,0 @@ ---- -category: minorAnalysis ---- -* Added `AllocationFunction` models for `aligned_alloc`, `std::aligned_alloc`, and `bsl::aligned_alloc`. diff --git a/cpp/ql/src/change-notes/released/1.6.1.md b/cpp/ql/src/change-notes/released/1.6.1.md new file mode 100644 index 00000000000..4cba7e508bd --- /dev/null +++ b/cpp/ql/src/change-notes/released/1.6.1.md @@ -0,0 +1,11 @@ +## 1.6.1 + +### Minor Analysis Improvements + +* Added `AllocationFunction` models for `aligned_alloc`, `std::aligned_alloc`, and `bsl::aligned_alloc`. +* The "Comparison of narrow type with wide type in loop condition" (`cpp/comparison-with-wider-type`) query has been upgraded to `high` precision. This query will now run in the default code scanning suite. +* The "Implicit function declaration" (`cpp/implicit-function-declaration`) query has been upgraded to `high` precision. +* The "Multiplication result converted to larger type" (`cpp/integer-multiplication-cast-to-long`) query has been upgraded to `high` precision. This query will now run in the default code scanning suite. +* The "Suspicious add with sizeof" (`cpp/suspicious-add-sizeof`) query has been upgraded to `high` precision. This query will now run in the default code scanning suite. +* The "Wrong type of arguments to formatting function" (`cpp/wrong-type-format-argument`) query has been upgraded to `high` precision. This query will now run in the default code scanning suite. +* The "Implicit function declaration" (`cpp/implicit-function-declaration`) query no longer produces results on `build mode: none` databases. These results were found to be very noisy and fundamentally imprecise in this mode. diff --git a/cpp/ql/src/codeql-pack.release.yml b/cpp/ql/src/codeql-pack.release.yml index c4f0b07d533..ef7a789e0cf 100644 --- a/cpp/ql/src/codeql-pack.release.yml +++ b/cpp/ql/src/codeql-pack.release.yml @@ -1,2 +1,2 @@ --- -lastReleaseVersion: 1.6.0 +lastReleaseVersion: 1.6.1 diff --git a/cpp/ql/src/qlpack.yml b/cpp/ql/src/qlpack.yml index 4648951796c..8ec81ab6135 100644 --- a/cpp/ql/src/qlpack.yml +++ b/cpp/ql/src/qlpack.yml @@ -1,5 +1,5 @@ name: codeql/cpp-queries -version: 1.6.1-dev +version: 1.6.1 groups: - cpp - queries diff --git a/csharp/ql/campaigns/Solorigate/lib/CHANGELOG.md b/csharp/ql/campaigns/Solorigate/lib/CHANGELOG.md index f7107d18c01..166a94bd88d 100644 --- a/csharp/ql/campaigns/Solorigate/lib/CHANGELOG.md +++ b/csharp/ql/campaigns/Solorigate/lib/CHANGELOG.md @@ -1,3 +1,7 @@ +## 1.7.65 + +No user-facing changes. + ## 1.7.64 No user-facing changes. diff --git a/csharp/ql/campaigns/Solorigate/lib/change-notes/released/1.7.65.md b/csharp/ql/campaigns/Solorigate/lib/change-notes/released/1.7.65.md new file mode 100644 index 00000000000..12bf5dad4b0 --- /dev/null +++ b/csharp/ql/campaigns/Solorigate/lib/change-notes/released/1.7.65.md @@ -0,0 +1,3 @@ +## 1.7.65 + +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 f41e954c9ae..bf581427d29 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.64 +lastReleaseVersion: 1.7.65 diff --git a/csharp/ql/campaigns/Solorigate/lib/qlpack.yml b/csharp/ql/campaigns/Solorigate/lib/qlpack.yml index 006ef851567..d50eb024972 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.65-dev +version: 1.7.65 groups: - csharp - solorigate diff --git a/csharp/ql/campaigns/Solorigate/src/CHANGELOG.md b/csharp/ql/campaigns/Solorigate/src/CHANGELOG.md index f7107d18c01..166a94bd88d 100644 --- a/csharp/ql/campaigns/Solorigate/src/CHANGELOG.md +++ b/csharp/ql/campaigns/Solorigate/src/CHANGELOG.md @@ -1,3 +1,7 @@ +## 1.7.65 + +No user-facing changes. + ## 1.7.64 No user-facing changes. diff --git a/csharp/ql/campaigns/Solorigate/src/change-notes/released/1.7.65.md b/csharp/ql/campaigns/Solorigate/src/change-notes/released/1.7.65.md new file mode 100644 index 00000000000..12bf5dad4b0 --- /dev/null +++ b/csharp/ql/campaigns/Solorigate/src/change-notes/released/1.7.65.md @@ -0,0 +1,3 @@ +## 1.7.65 + +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 f41e954c9ae..bf581427d29 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.64 +lastReleaseVersion: 1.7.65 diff --git a/csharp/ql/campaigns/Solorigate/src/qlpack.yml b/csharp/ql/campaigns/Solorigate/src/qlpack.yml index af5fd98f58a..bd70b1664ac 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.65-dev +version: 1.7.65 groups: - csharp - solorigate diff --git a/csharp/ql/lib/CHANGELOG.md b/csharp/ql/lib/CHANGELOG.md index 57d99a41480..32cd8f33c65 100644 --- a/csharp/ql/lib/CHANGELOG.md +++ b/csharp/ql/lib/CHANGELOG.md @@ -1,3 +1,9 @@ +## 5.5.0 + +### Deprecated APIs + +* The predicates `get[L|R]Value` in the class `Assignment` have been deprecated. Use `get[Left|Right]Operand` instead. + ## 5.4.12 ### Minor Analysis Improvements diff --git a/csharp/ql/lib/change-notes/2026-04-01-getlrvalue.md b/csharp/ql/lib/change-notes/released/5.5.0.md similarity index 79% rename from csharp/ql/lib/change-notes/2026-04-01-getlrvalue.md rename to csharp/ql/lib/change-notes/released/5.5.0.md index da1a3d62148..b497d8ea51b 100644 --- a/csharp/ql/lib/change-notes/2026-04-01-getlrvalue.md +++ b/csharp/ql/lib/change-notes/released/5.5.0.md @@ -1,4 +1,5 @@ ---- -category: deprecated ---- +## 5.5.0 + +### Deprecated APIs + * The predicates `get[L|R]Value` in the class `Assignment` have been deprecated. Use `get[Left|Right]Operand` instead. diff --git a/csharp/ql/lib/codeql-pack.release.yml b/csharp/ql/lib/codeql-pack.release.yml index 43db6e52c98..4b8cf9533c1 100644 --- a/csharp/ql/lib/codeql-pack.release.yml +++ b/csharp/ql/lib/codeql-pack.release.yml @@ -1,2 +1,2 @@ --- -lastReleaseVersion: 5.4.12 +lastReleaseVersion: 5.5.0 diff --git a/csharp/ql/lib/qlpack.yml b/csharp/ql/lib/qlpack.yml index 02c1ccd0d33..f90aa010b89 100644 --- a/csharp/ql/lib/qlpack.yml +++ b/csharp/ql/lib/qlpack.yml @@ -1,5 +1,5 @@ name: codeql/csharp-all -version: 5.4.13-dev +version: 5.5.0 groups: csharp dbscheme: semmlecode.csharp.dbscheme extractor: csharp diff --git a/csharp/ql/src/CHANGELOG.md b/csharp/ql/src/CHANGELOG.md index fc0f8c58d79..cdab7134185 100644 --- a/csharp/ql/src/CHANGELOG.md +++ b/csharp/ql/src/CHANGELOG.md @@ -1,3 +1,12 @@ +## 1.7.1 + +### Minor Analysis Improvements + +* The query `cs/useless-tostring-call` has been updated to avoid false + positive results in calls to `StringBuilder.AppendLine` and calls of + the form `base.ToString()`. Moreover, the alert message has been + made more precise. + ## 1.7.0 ### Query Metadata Changes diff --git a/csharp/ql/src/change-notes/2026-04-17-useless-to-string.md b/csharp/ql/src/change-notes/released/1.7.1.md similarity index 84% rename from csharp/ql/src/change-notes/2026-04-17-useless-to-string.md rename to csharp/ql/src/change-notes/released/1.7.1.md index 9b4c81378c9..0b5df9629c6 100644 --- a/csharp/ql/src/change-notes/2026-04-17-useless-to-string.md +++ b/csharp/ql/src/change-notes/released/1.7.1.md @@ -1,6 +1,7 @@ ---- -category: minorAnalysis ---- +## 1.7.1 + +### Minor Analysis Improvements + * The query `cs/useless-tostring-call` has been updated to avoid false positive results in calls to `StringBuilder.AppendLine` and calls of the form `base.ToString()`. Moreover, the alert message has been diff --git a/csharp/ql/src/codeql-pack.release.yml b/csharp/ql/src/codeql-pack.release.yml index d1184cc6750..7bdec0d85c7 100644 --- a/csharp/ql/src/codeql-pack.release.yml +++ b/csharp/ql/src/codeql-pack.release.yml @@ -1,2 +1,2 @@ --- -lastReleaseVersion: 1.7.0 +lastReleaseVersion: 1.7.1 diff --git a/csharp/ql/src/qlpack.yml b/csharp/ql/src/qlpack.yml index 9ea341d1b38..c7d8eace296 100644 --- a/csharp/ql/src/qlpack.yml +++ b/csharp/ql/src/qlpack.yml @@ -1,5 +1,5 @@ name: codeql/csharp-queries -version: 1.7.1-dev +version: 1.7.1 groups: - csharp - queries diff --git a/go/ql/consistency-queries/CHANGELOG.md b/go/ql/consistency-queries/CHANGELOG.md index 34ae2fd2277..a3aa00d4872 100644 --- a/go/ql/consistency-queries/CHANGELOG.md +++ b/go/ql/consistency-queries/CHANGELOG.md @@ -1,3 +1,7 @@ +## 1.0.48 + +No user-facing changes. + ## 1.0.47 No user-facing changes. diff --git a/go/ql/consistency-queries/change-notes/released/1.0.48.md b/go/ql/consistency-queries/change-notes/released/1.0.48.md new file mode 100644 index 00000000000..c484c6e8d6e --- /dev/null +++ b/go/ql/consistency-queries/change-notes/released/1.0.48.md @@ -0,0 +1,3 @@ +## 1.0.48 + +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 dcec0f6405a..6db79f2c397 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.47 +lastReleaseVersion: 1.0.48 diff --git a/go/ql/consistency-queries/qlpack.yml b/go/ql/consistency-queries/qlpack.yml index c9dda4765dd..2a03af96152 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.48-dev +version: 1.0.48 groups: - go - queries diff --git a/go/ql/lib/CHANGELOG.md b/go/ql/lib/CHANGELOG.md index 441d15a0d0e..737d08654b8 100644 --- a/go/ql/lib/CHANGELOG.md +++ b/go/ql/lib/CHANGELOG.md @@ -1,3 +1,7 @@ +## 7.0.6 + +No user-facing changes. + ## 7.0.5 No user-facing changes. diff --git a/go/ql/lib/change-notes/released/7.0.6.md b/go/ql/lib/change-notes/released/7.0.6.md new file mode 100644 index 00000000000..ca9a73aa64c --- /dev/null +++ b/go/ql/lib/change-notes/released/7.0.6.md @@ -0,0 +1,3 @@ +## 7.0.6 + +No user-facing changes. diff --git a/go/ql/lib/codeql-pack.release.yml b/go/ql/lib/codeql-pack.release.yml index 2cff21d59fe..c7cff8c5378 100644 --- a/go/ql/lib/codeql-pack.release.yml +++ b/go/ql/lib/codeql-pack.release.yml @@ -1,2 +1,2 @@ --- -lastReleaseVersion: 7.0.5 +lastReleaseVersion: 7.0.6 diff --git a/go/ql/lib/qlpack.yml b/go/ql/lib/qlpack.yml index 2d7338a020d..71a8c1c50f0 100644 --- a/go/ql/lib/qlpack.yml +++ b/go/ql/lib/qlpack.yml @@ -1,5 +1,5 @@ name: codeql/go-all -version: 7.0.6-dev +version: 7.0.6 groups: go dbscheme: go.dbscheme extractor: go diff --git a/go/ql/src/CHANGELOG.md b/go/ql/src/CHANGELOG.md index 2bc95cc1922..971d478d56e 100644 --- a/go/ql/src/CHANGELOG.md +++ b/go/ql/src/CHANGELOG.md @@ -1,3 +1,7 @@ +## 1.6.1 + +No user-facing changes. + ## 1.6.0 ### Query Metadata Changes diff --git a/go/ql/src/change-notes/released/1.6.1.md b/go/ql/src/change-notes/released/1.6.1.md new file mode 100644 index 00000000000..898f6201ed7 --- /dev/null +++ b/go/ql/src/change-notes/released/1.6.1.md @@ -0,0 +1,3 @@ +## 1.6.1 + +No user-facing changes. diff --git a/go/ql/src/codeql-pack.release.yml b/go/ql/src/codeql-pack.release.yml index c4f0b07d533..ef7a789e0cf 100644 --- a/go/ql/src/codeql-pack.release.yml +++ b/go/ql/src/codeql-pack.release.yml @@ -1,2 +1,2 @@ --- -lastReleaseVersion: 1.6.0 +lastReleaseVersion: 1.6.1 diff --git a/go/ql/src/qlpack.yml b/go/ql/src/qlpack.yml index de4e5e06d38..3f3d4e7cc2a 100644 --- a/go/ql/src/qlpack.yml +++ b/go/ql/src/qlpack.yml @@ -1,5 +1,5 @@ name: codeql/go-queries -version: 1.6.1-dev +version: 1.6.1 groups: - go - queries diff --git a/java/ql/lib/CHANGELOG.md b/java/ql/lib/CHANGELOG.md index caa1eaecb94..2d34c791c92 100644 --- a/java/ql/lib/CHANGELOG.md +++ b/java/ql/lib/CHANGELOG.md @@ -1,3 +1,9 @@ +## 9.0.4 + +### Minor Analysis Improvements + +* The queries "Resolving XML external entity in user-controlled data" (`java/xxe`) and "Resolving XML external entity in user-controlled data from local source" (`java/xxe-local`) now recognize sinks in the Woodstox StAX library when `com.ctc.wstx.stax.WstxInputFactory` or `org.codehaus.stax2.XMLInputFactory2` are used directly. + ## 9.0.3 ### Minor Analysis Improvements diff --git a/java/ql/lib/change-notes/2026-04-16-woodstox-xxe.md b/java/ql/lib/change-notes/released/9.0.4.md similarity index 88% rename from java/ql/lib/change-notes/2026-04-16-woodstox-xxe.md rename to java/ql/lib/change-notes/released/9.0.4.md index 891fc489e46..a5499634951 100644 --- a/java/ql/lib/change-notes/2026-04-16-woodstox-xxe.md +++ b/java/ql/lib/change-notes/released/9.0.4.md @@ -1,4 +1,5 @@ ---- -category: minorAnalysis ---- +## 9.0.4 + +### Minor Analysis Improvements + * The queries "Resolving XML external entity in user-controlled data" (`java/xxe`) and "Resolving XML external entity in user-controlled data from local source" (`java/xxe-local`) now recognize sinks in the Woodstox StAX library when `com.ctc.wstx.stax.WstxInputFactory` or `org.codehaus.stax2.XMLInputFactory2` are used directly. diff --git a/java/ql/lib/codeql-pack.release.yml b/java/ql/lib/codeql-pack.release.yml index 175658aaf53..4bbe4f75b58 100644 --- a/java/ql/lib/codeql-pack.release.yml +++ b/java/ql/lib/codeql-pack.release.yml @@ -1,2 +1,2 @@ --- -lastReleaseVersion: 9.0.3 +lastReleaseVersion: 9.0.4 diff --git a/java/ql/lib/qlpack.yml b/java/ql/lib/qlpack.yml index 7f058cfb8d6..0a842a96b34 100644 --- a/java/ql/lib/qlpack.yml +++ b/java/ql/lib/qlpack.yml @@ -1,5 +1,5 @@ name: codeql/java-all -version: 9.0.4-dev +version: 9.0.4 groups: java dbscheme: config/semmlecode.dbscheme extractor: java diff --git a/java/ql/src/CHANGELOG.md b/java/ql/src/CHANGELOG.md index 2a2f8052092..1b5d2bdad8a 100644 --- a/java/ql/src/CHANGELOG.md +++ b/java/ql/src/CHANGELOG.md @@ -1,3 +1,7 @@ +## 1.11.1 + +No user-facing changes. + ## 1.11.0 ### Query Metadata Changes diff --git a/java/ql/src/change-notes/released/1.11.1.md b/java/ql/src/change-notes/released/1.11.1.md new file mode 100644 index 00000000000..f5047685223 --- /dev/null +++ b/java/ql/src/change-notes/released/1.11.1.md @@ -0,0 +1,3 @@ +## 1.11.1 + +No user-facing changes. diff --git a/java/ql/src/codeql-pack.release.yml b/java/ql/src/codeql-pack.release.yml index 276088d81dc..4ae123153bf 100644 --- a/java/ql/src/codeql-pack.release.yml +++ b/java/ql/src/codeql-pack.release.yml @@ -1,2 +1,2 @@ --- -lastReleaseVersion: 1.11.0 +lastReleaseVersion: 1.11.1 diff --git a/java/ql/src/qlpack.yml b/java/ql/src/qlpack.yml index 72b4a5f94e6..49c552ec02a 100644 --- a/java/ql/src/qlpack.yml +++ b/java/ql/src/qlpack.yml @@ -1,5 +1,5 @@ name: codeql/java-queries -version: 1.11.1-dev +version: 1.11.1 groups: - java - queries diff --git a/javascript/ql/lib/CHANGELOG.md b/javascript/ql/lib/CHANGELOG.md index fedb0b9b587..77837f46c5e 100644 --- a/javascript/ql/lib/CHANGELOG.md +++ b/javascript/ql/lib/CHANGELOG.md @@ -1,3 +1,7 @@ +## 2.6.28 + +No user-facing changes. + ## 2.6.27 No user-facing changes. diff --git a/javascript/ql/lib/change-notes/released/2.6.28.md b/javascript/ql/lib/change-notes/released/2.6.28.md new file mode 100644 index 00000000000..9c30dddcc0a --- /dev/null +++ b/javascript/ql/lib/change-notes/released/2.6.28.md @@ -0,0 +1,3 @@ +## 2.6.28 + +No user-facing changes. diff --git a/javascript/ql/lib/codeql-pack.release.yml b/javascript/ql/lib/codeql-pack.release.yml index 2ce86b10a85..2456457874e 100644 --- a/javascript/ql/lib/codeql-pack.release.yml +++ b/javascript/ql/lib/codeql-pack.release.yml @@ -1,2 +1,2 @@ --- -lastReleaseVersion: 2.6.27 +lastReleaseVersion: 2.6.28 diff --git a/javascript/ql/lib/qlpack.yml b/javascript/ql/lib/qlpack.yml index e0834c056d1..dabbc8bd755 100644 --- a/javascript/ql/lib/qlpack.yml +++ b/javascript/ql/lib/qlpack.yml @@ -1,5 +1,5 @@ name: codeql/javascript-all -version: 2.6.28-dev +version: 2.6.28 groups: javascript dbscheme: semmlecode.javascript.dbscheme extractor: javascript diff --git a/javascript/ql/src/CHANGELOG.md b/javascript/ql/src/CHANGELOG.md index 29e6c8e8da3..9b122364ffa 100644 --- a/javascript/ql/src/CHANGELOG.md +++ b/javascript/ql/src/CHANGELOG.md @@ -1,3 +1,10 @@ +## 2.3.8 + +### Minor Analysis Improvements + +* The query `js/missing-rate-limiting` now takes Fastify per-route + rate limiting into account. + ## 2.3.7 No user-facing changes. diff --git a/javascript/ql/src/change-notes/2026-04-13-fastify-per-route-rate-limit.md b/javascript/ql/src/change-notes/released/2.3.8.md similarity index 69% rename from javascript/ql/src/change-notes/2026-04-13-fastify-per-route-rate-limit.md rename to javascript/ql/src/change-notes/released/2.3.8.md index 56d52388524..5ce5cbe2f24 100644 --- a/javascript/ql/src/change-notes/2026-04-13-fastify-per-route-rate-limit.md +++ b/javascript/ql/src/change-notes/released/2.3.8.md @@ -1,5 +1,6 @@ ---- -category: minorAnalysis ---- +## 2.3.8 + +### Minor Analysis Improvements + * The query `js/missing-rate-limiting` now takes Fastify per-route rate limiting into account. diff --git a/javascript/ql/src/codeql-pack.release.yml b/javascript/ql/src/codeql-pack.release.yml index 914cded08b3..c68b70cb8be 100644 --- a/javascript/ql/src/codeql-pack.release.yml +++ b/javascript/ql/src/codeql-pack.release.yml @@ -1,2 +1,2 @@ --- -lastReleaseVersion: 2.3.7 +lastReleaseVersion: 2.3.8 diff --git a/javascript/ql/src/qlpack.yml b/javascript/ql/src/qlpack.yml index 117fae183e9..dd4f7c255a8 100644 --- a/javascript/ql/src/qlpack.yml +++ b/javascript/ql/src/qlpack.yml @@ -1,5 +1,5 @@ name: codeql/javascript-queries -version: 2.3.8-dev +version: 2.3.8 groups: - javascript - queries diff --git a/misc/suite-helpers/CHANGELOG.md b/misc/suite-helpers/CHANGELOG.md index 4b73639b1f7..897533f6450 100644 --- a/misc/suite-helpers/CHANGELOG.md +++ b/misc/suite-helpers/CHANGELOG.md @@ -1,3 +1,7 @@ +## 1.0.48 + +No user-facing changes. + ## 1.0.47 No user-facing changes. diff --git a/misc/suite-helpers/change-notes/released/1.0.48.md b/misc/suite-helpers/change-notes/released/1.0.48.md new file mode 100644 index 00000000000..c484c6e8d6e --- /dev/null +++ b/misc/suite-helpers/change-notes/released/1.0.48.md @@ -0,0 +1,3 @@ +## 1.0.48 + +No user-facing changes. diff --git a/misc/suite-helpers/codeql-pack.release.yml b/misc/suite-helpers/codeql-pack.release.yml index dcec0f6405a..6db79f2c397 100644 --- a/misc/suite-helpers/codeql-pack.release.yml +++ b/misc/suite-helpers/codeql-pack.release.yml @@ -1,2 +1,2 @@ --- -lastReleaseVersion: 1.0.47 +lastReleaseVersion: 1.0.48 diff --git a/misc/suite-helpers/qlpack.yml b/misc/suite-helpers/qlpack.yml index 1d853802342..c18ab2bb10e 100644 --- a/misc/suite-helpers/qlpack.yml +++ b/misc/suite-helpers/qlpack.yml @@ -1,4 +1,4 @@ name: codeql/suite-helpers -version: 1.0.48-dev +version: 1.0.48 groups: shared warnOnImplicitThis: true diff --git a/python/ql/lib/CHANGELOG.md b/python/ql/lib/CHANGELOG.md index a6833ea8db3..69fa60a6675 100644 --- a/python/ql/lib/CHANGELOG.md +++ b/python/ql/lib/CHANGELOG.md @@ -1,3 +1,9 @@ +## 7.0.5 + +### Minor Analysis Improvements + +- The Python extractor now supports the new `lazy import ...` and `lazy from ... import ...` (as defined in [PEP-810](https://peps.python.org/pep-0810/)) that will be part of Python 3.15. + ## 7.0.4 ### Bug Fixes diff --git a/python/ql/lib/change-notes/2026-04-10-support-lazy-keyword.md b/python/ql/lib/change-notes/released/7.0.5.md similarity index 81% rename from python/ql/lib/change-notes/2026-04-10-support-lazy-keyword.md rename to python/ql/lib/change-notes/released/7.0.5.md index 67de168ff47..e205660dfde 100644 --- a/python/ql/lib/change-notes/2026-04-10-support-lazy-keyword.md +++ b/python/ql/lib/change-notes/released/7.0.5.md @@ -1,5 +1,5 @@ ---- -category: minorAnalysis ---- +## 7.0.5 + +### Minor Analysis Improvements - The Python extractor now supports the new `lazy import ...` and `lazy from ... import ...` (as defined in [PEP-810](https://peps.python.org/pep-0810/)) that will be part of Python 3.15. diff --git a/python/ql/lib/codeql-pack.release.yml b/python/ql/lib/codeql-pack.release.yml index 6630ee1984a..2cff21d59fe 100644 --- a/python/ql/lib/codeql-pack.release.yml +++ b/python/ql/lib/codeql-pack.release.yml @@ -1,2 +1,2 @@ --- -lastReleaseVersion: 7.0.4 +lastReleaseVersion: 7.0.5 diff --git a/python/ql/lib/qlpack.yml b/python/ql/lib/qlpack.yml index fe87c5761cf..4dc63a6f9cb 100644 --- a/python/ql/lib/qlpack.yml +++ b/python/ql/lib/qlpack.yml @@ -1,5 +1,5 @@ name: codeql/python-all -version: 7.0.5-dev +version: 7.0.5 groups: python dbscheme: semmlecode.python.dbscheme extractor: python diff --git a/python/ql/src/CHANGELOG.md b/python/ql/src/CHANGELOG.md index d5f5269c61d..38018f09856 100644 --- a/python/ql/src/CHANGELOG.md +++ b/python/ql/src/CHANGELOG.md @@ -1,3 +1,9 @@ +## 1.8.1 + +### Minor Analysis Improvements + +- The `py/bind-socket-all-network-interfaces` query now uses the global data-flow library, leading to better precision and more results. Also, wrappers of `socket.socket` in the `eventlet` and `gevent` libraries are now also recognized as socket binding operations. + ## 1.8.0 ### Query Metadata Changes diff --git a/python/ql/src/change-notes/2026-03-26-improve-bind-all-interfaces-query.md b/python/ql/src/change-notes/released/1.8.1.md similarity index 86% rename from python/ql/src/change-notes/2026-03-26-improve-bind-all-interfaces-query.md rename to python/ql/src/change-notes/released/1.8.1.md index bc78b2b6f77..cafb58c11c9 100644 --- a/python/ql/src/change-notes/2026-03-26-improve-bind-all-interfaces-query.md +++ b/python/ql/src/change-notes/released/1.8.1.md @@ -1,5 +1,5 @@ ---- -category: minorAnalysis ---- +## 1.8.1 + +### Minor Analysis Improvements - The `py/bind-socket-all-network-interfaces` query now uses the global data-flow library, leading to better precision and more results. Also, wrappers of `socket.socket` in the `eventlet` and `gevent` libraries are now also recognized as socket binding operations. diff --git a/python/ql/src/codeql-pack.release.yml b/python/ql/src/codeql-pack.release.yml index dc8a37cc443..28a7c123ae8 100644 --- a/python/ql/src/codeql-pack.release.yml +++ b/python/ql/src/codeql-pack.release.yml @@ -1,2 +1,2 @@ --- -lastReleaseVersion: 1.8.0 +lastReleaseVersion: 1.8.1 diff --git a/python/ql/src/qlpack.yml b/python/ql/src/qlpack.yml index aa2a2364854..b7d90a618e9 100644 --- a/python/ql/src/qlpack.yml +++ b/python/ql/src/qlpack.yml @@ -1,5 +1,5 @@ name: codeql/python-queries -version: 1.8.1-dev +version: 1.8.1 groups: - python - queries diff --git a/ruby/ql/lib/CHANGELOG.md b/ruby/ql/lib/CHANGELOG.md index 40cb88d396f..8315b641369 100644 --- a/ruby/ql/lib/CHANGELOG.md +++ b/ruby/ql/lib/CHANGELOG.md @@ -1,3 +1,7 @@ +## 5.1.16 + +No user-facing changes. + ## 5.1.15 No user-facing changes. diff --git a/ruby/ql/lib/change-notes/released/5.1.16.md b/ruby/ql/lib/change-notes/released/5.1.16.md new file mode 100644 index 00000000000..42c9934011a --- /dev/null +++ b/ruby/ql/lib/change-notes/released/5.1.16.md @@ -0,0 +1,3 @@ +## 5.1.16 + +No user-facing changes. diff --git a/ruby/ql/lib/codeql-pack.release.yml b/ruby/ql/lib/codeql-pack.release.yml index 840348ed924..735f742e9af 100644 --- a/ruby/ql/lib/codeql-pack.release.yml +++ b/ruby/ql/lib/codeql-pack.release.yml @@ -1,2 +1,2 @@ --- -lastReleaseVersion: 5.1.15 +lastReleaseVersion: 5.1.16 diff --git a/ruby/ql/lib/qlpack.yml b/ruby/ql/lib/qlpack.yml index bbf4de40909..ef68525f982 100644 --- a/ruby/ql/lib/qlpack.yml +++ b/ruby/ql/lib/qlpack.yml @@ -1,5 +1,5 @@ name: codeql/ruby-all -version: 5.1.16-dev +version: 5.1.16 groups: ruby extractor: ruby dbscheme: ruby.dbscheme diff --git a/ruby/ql/src/CHANGELOG.md b/ruby/ql/src/CHANGELOG.md index cb4c0ae7874..5266fc1d5d9 100644 --- a/ruby/ql/src/CHANGELOG.md +++ b/ruby/ql/src/CHANGELOG.md @@ -1,3 +1,7 @@ +## 1.6.1 + +No user-facing changes. + ## 1.6.0 ### Query Metadata Changes diff --git a/ruby/ql/src/change-notes/released/1.6.1.md b/ruby/ql/src/change-notes/released/1.6.1.md new file mode 100644 index 00000000000..898f6201ed7 --- /dev/null +++ b/ruby/ql/src/change-notes/released/1.6.1.md @@ -0,0 +1,3 @@ +## 1.6.1 + +No user-facing changes. diff --git a/ruby/ql/src/codeql-pack.release.yml b/ruby/ql/src/codeql-pack.release.yml index c4f0b07d533..ef7a789e0cf 100644 --- a/ruby/ql/src/codeql-pack.release.yml +++ b/ruby/ql/src/codeql-pack.release.yml @@ -1,2 +1,2 @@ --- -lastReleaseVersion: 1.6.0 +lastReleaseVersion: 1.6.1 diff --git a/ruby/ql/src/qlpack.yml b/ruby/ql/src/qlpack.yml index 191689565de..8964f6e51ac 100644 --- a/ruby/ql/src/qlpack.yml +++ b/ruby/ql/src/qlpack.yml @@ -1,5 +1,5 @@ name: codeql/ruby-queries -version: 1.6.1-dev +version: 1.6.1 groups: - ruby - queries diff --git a/rust/ql/lib/CHANGELOG.md b/rust/ql/lib/CHANGELOG.md index eea5bd6e89d..8e515660f29 100644 --- a/rust/ql/lib/CHANGELOG.md +++ b/rust/ql/lib/CHANGELOG.md @@ -1,3 +1,7 @@ +## 0.2.12 + +No user-facing changes. + ## 0.2.11 No user-facing changes. diff --git a/rust/ql/lib/change-notes/released/0.2.12.md b/rust/ql/lib/change-notes/released/0.2.12.md new file mode 100644 index 00000000000..590eb0cedd1 --- /dev/null +++ b/rust/ql/lib/change-notes/released/0.2.12.md @@ -0,0 +1,3 @@ +## 0.2.12 + +No user-facing changes. diff --git a/rust/ql/lib/codeql-pack.release.yml b/rust/ql/lib/codeql-pack.release.yml index 2ee635b9937..da1cea93393 100644 --- a/rust/ql/lib/codeql-pack.release.yml +++ b/rust/ql/lib/codeql-pack.release.yml @@ -1,2 +1,2 @@ --- -lastReleaseVersion: 0.2.11 +lastReleaseVersion: 0.2.12 diff --git a/rust/ql/lib/qlpack.yml b/rust/ql/lib/qlpack.yml index f5031020037..569930438ab 100644 --- a/rust/ql/lib/qlpack.yml +++ b/rust/ql/lib/qlpack.yml @@ -1,5 +1,5 @@ name: codeql/rust-all -version: 0.2.12-dev +version: 0.2.12 groups: rust extractor: rust dbscheme: rust.dbscheme diff --git a/rust/ql/src/CHANGELOG.md b/rust/ql/src/CHANGELOG.md index eab921bcbd6..14034c9877d 100644 --- a/rust/ql/src/CHANGELOG.md +++ b/rust/ql/src/CHANGELOG.md @@ -1,3 +1,7 @@ +## 0.1.33 + +No user-facing changes. + ## 0.1.32 ### Query Metadata Changes diff --git a/rust/ql/src/change-notes/released/0.1.33.md b/rust/ql/src/change-notes/released/0.1.33.md new file mode 100644 index 00000000000..5bd982edadd --- /dev/null +++ b/rust/ql/src/change-notes/released/0.1.33.md @@ -0,0 +1,3 @@ +## 0.1.33 + +No user-facing changes. diff --git a/rust/ql/src/codeql-pack.release.yml b/rust/ql/src/codeql-pack.release.yml index 21bbd752f27..d9c9e819daa 100644 --- a/rust/ql/src/codeql-pack.release.yml +++ b/rust/ql/src/codeql-pack.release.yml @@ -1,2 +1,2 @@ --- -lastReleaseVersion: 0.1.32 +lastReleaseVersion: 0.1.33 diff --git a/rust/ql/src/qlpack.yml b/rust/ql/src/qlpack.yml index f78504db76e..0eefe2f3932 100644 --- a/rust/ql/src/qlpack.yml +++ b/rust/ql/src/qlpack.yml @@ -1,5 +1,5 @@ name: codeql/rust-queries -version: 0.1.33-dev +version: 0.1.33 groups: - rust - queries diff --git a/shared/concepts/CHANGELOG.md b/shared/concepts/CHANGELOG.md index 704ea3e8e01..e8b920847e9 100644 --- a/shared/concepts/CHANGELOG.md +++ b/shared/concepts/CHANGELOG.md @@ -1,3 +1,7 @@ +## 0.0.22 + +No user-facing changes. + ## 0.0.21 No user-facing changes. diff --git a/shared/concepts/change-notes/released/0.0.22.md b/shared/concepts/change-notes/released/0.0.22.md new file mode 100644 index 00000000000..00226747438 --- /dev/null +++ b/shared/concepts/change-notes/released/0.0.22.md @@ -0,0 +1,3 @@ +## 0.0.22 + +No user-facing changes. diff --git a/shared/concepts/codeql-pack.release.yml b/shared/concepts/codeql-pack.release.yml index 0c15c351db4..11aaa2243f5 100644 --- a/shared/concepts/codeql-pack.release.yml +++ b/shared/concepts/codeql-pack.release.yml @@ -1,2 +1,2 @@ --- -lastReleaseVersion: 0.0.21 +lastReleaseVersion: 0.0.22 diff --git a/shared/concepts/qlpack.yml b/shared/concepts/qlpack.yml index bf6e8b6018c..2ce2978829e 100644 --- a/shared/concepts/qlpack.yml +++ b/shared/concepts/qlpack.yml @@ -1,5 +1,5 @@ name: codeql/concepts -version: 0.0.22-dev +version: 0.0.22 groups: shared library: true dependencies: diff --git a/shared/controlflow/CHANGELOG.md b/shared/controlflow/CHANGELOG.md index baca729ddda..df00c6146d8 100644 --- a/shared/controlflow/CHANGELOG.md +++ b/shared/controlflow/CHANGELOG.md @@ -1,3 +1,7 @@ +## 2.0.32 + +No user-facing changes. + ## 2.0.31 No user-facing changes. diff --git a/shared/controlflow/change-notes/released/2.0.32.md b/shared/controlflow/change-notes/released/2.0.32.md new file mode 100644 index 00000000000..0930bb07f8c --- /dev/null +++ b/shared/controlflow/change-notes/released/2.0.32.md @@ -0,0 +1,3 @@ +## 2.0.32 + +No user-facing changes. diff --git a/shared/controlflow/codeql-pack.release.yml b/shared/controlflow/codeql-pack.release.yml index 783d47207cd..483a0d5db8e 100644 --- a/shared/controlflow/codeql-pack.release.yml +++ b/shared/controlflow/codeql-pack.release.yml @@ -1,2 +1,2 @@ --- -lastReleaseVersion: 2.0.31 +lastReleaseVersion: 2.0.32 diff --git a/shared/controlflow/qlpack.yml b/shared/controlflow/qlpack.yml index 5573548794d..b293853c73b 100644 --- a/shared/controlflow/qlpack.yml +++ b/shared/controlflow/qlpack.yml @@ -1,5 +1,5 @@ name: codeql/controlflow -version: 2.0.32-dev +version: 2.0.32 groups: shared library: true dependencies: diff --git a/shared/dataflow/CHANGELOG.md b/shared/dataflow/CHANGELOG.md index 52c893f78e2..ed60239f3de 100644 --- a/shared/dataflow/CHANGELOG.md +++ b/shared/dataflow/CHANGELOG.md @@ -1,3 +1,7 @@ +## 2.1.4 + +No user-facing changes. + ## 2.1.3 No user-facing changes. diff --git a/shared/dataflow/change-notes/released/2.1.4.md b/shared/dataflow/change-notes/released/2.1.4.md new file mode 100644 index 00000000000..a1035c6b05b --- /dev/null +++ b/shared/dataflow/change-notes/released/2.1.4.md @@ -0,0 +1,3 @@ +## 2.1.4 + +No user-facing changes. diff --git a/shared/dataflow/codeql-pack.release.yml b/shared/dataflow/codeql-pack.release.yml index 345fb0c73a4..896b46fda9b 100644 --- a/shared/dataflow/codeql-pack.release.yml +++ b/shared/dataflow/codeql-pack.release.yml @@ -1,2 +1,2 @@ --- -lastReleaseVersion: 2.1.3 +lastReleaseVersion: 2.1.4 diff --git a/shared/dataflow/qlpack.yml b/shared/dataflow/qlpack.yml index 3b917def33d..e7778805c50 100644 --- a/shared/dataflow/qlpack.yml +++ b/shared/dataflow/qlpack.yml @@ -1,5 +1,5 @@ name: codeql/dataflow -version: 2.1.4-dev +version: 2.1.4 groups: shared library: true dependencies: diff --git a/shared/mad/CHANGELOG.md b/shared/mad/CHANGELOG.md index 1bffb976cf8..ff868403d0c 100644 --- a/shared/mad/CHANGELOG.md +++ b/shared/mad/CHANGELOG.md @@ -1,3 +1,7 @@ +## 1.0.48 + +No user-facing changes. + ## 1.0.47 No user-facing changes. diff --git a/shared/mad/change-notes/released/1.0.48.md b/shared/mad/change-notes/released/1.0.48.md new file mode 100644 index 00000000000..c484c6e8d6e --- /dev/null +++ b/shared/mad/change-notes/released/1.0.48.md @@ -0,0 +1,3 @@ +## 1.0.48 + +No user-facing changes. diff --git a/shared/mad/codeql-pack.release.yml b/shared/mad/codeql-pack.release.yml index dcec0f6405a..6db79f2c397 100644 --- a/shared/mad/codeql-pack.release.yml +++ b/shared/mad/codeql-pack.release.yml @@ -1,2 +1,2 @@ --- -lastReleaseVersion: 1.0.47 +lastReleaseVersion: 1.0.48 diff --git a/shared/mad/qlpack.yml b/shared/mad/qlpack.yml index b5583f8c55a..920ffe10267 100644 --- a/shared/mad/qlpack.yml +++ b/shared/mad/qlpack.yml @@ -1,5 +1,5 @@ name: codeql/mad -version: 1.0.48-dev +version: 1.0.48 groups: shared library: true dependencies: diff --git a/shared/quantum/CHANGELOG.md b/shared/quantum/CHANGELOG.md index 8d524a11a09..eccc65c6041 100644 --- a/shared/quantum/CHANGELOG.md +++ b/shared/quantum/CHANGELOG.md @@ -1,3 +1,7 @@ +## 0.0.26 + +No user-facing changes. + ## 0.0.25 No user-facing changes. diff --git a/shared/quantum/change-notes/released/0.0.26.md b/shared/quantum/change-notes/released/0.0.26.md new file mode 100644 index 00000000000..e6dc680cc11 --- /dev/null +++ b/shared/quantum/change-notes/released/0.0.26.md @@ -0,0 +1,3 @@ +## 0.0.26 + +No user-facing changes. diff --git a/shared/quantum/codeql-pack.release.yml b/shared/quantum/codeql-pack.release.yml index 6d0e80a50c3..c576d2d7db2 100644 --- a/shared/quantum/codeql-pack.release.yml +++ b/shared/quantum/codeql-pack.release.yml @@ -1,2 +1,2 @@ --- -lastReleaseVersion: 0.0.25 +lastReleaseVersion: 0.0.26 diff --git a/shared/quantum/qlpack.yml b/shared/quantum/qlpack.yml index a19e99ef7ea..52c78c5f963 100644 --- a/shared/quantum/qlpack.yml +++ b/shared/quantum/qlpack.yml @@ -1,5 +1,5 @@ name: codeql/quantum -version: 0.0.26-dev +version: 0.0.26 groups: shared library: true dependencies: diff --git a/shared/rangeanalysis/CHANGELOG.md b/shared/rangeanalysis/CHANGELOG.md index 0ab7487192c..9afb612f18a 100644 --- a/shared/rangeanalysis/CHANGELOG.md +++ b/shared/rangeanalysis/CHANGELOG.md @@ -1,3 +1,7 @@ +## 1.0.48 + +No user-facing changes. + ## 1.0.47 No user-facing changes. diff --git a/shared/rangeanalysis/change-notes/released/1.0.48.md b/shared/rangeanalysis/change-notes/released/1.0.48.md new file mode 100644 index 00000000000..c484c6e8d6e --- /dev/null +++ b/shared/rangeanalysis/change-notes/released/1.0.48.md @@ -0,0 +1,3 @@ +## 1.0.48 + +No user-facing changes. diff --git a/shared/rangeanalysis/codeql-pack.release.yml b/shared/rangeanalysis/codeql-pack.release.yml index dcec0f6405a..6db79f2c397 100644 --- a/shared/rangeanalysis/codeql-pack.release.yml +++ b/shared/rangeanalysis/codeql-pack.release.yml @@ -1,2 +1,2 @@ --- -lastReleaseVersion: 1.0.47 +lastReleaseVersion: 1.0.48 diff --git a/shared/rangeanalysis/qlpack.yml b/shared/rangeanalysis/qlpack.yml index d493350749e..274a6160372 100644 --- a/shared/rangeanalysis/qlpack.yml +++ b/shared/rangeanalysis/qlpack.yml @@ -1,5 +1,5 @@ name: codeql/rangeanalysis -version: 1.0.48-dev +version: 1.0.48 groups: shared library: true dependencies: diff --git a/shared/regex/CHANGELOG.md b/shared/regex/CHANGELOG.md index dd6f0c4cad6..2375b7b56ab 100644 --- a/shared/regex/CHANGELOG.md +++ b/shared/regex/CHANGELOG.md @@ -1,3 +1,7 @@ +## 1.0.48 + +No user-facing changes. + ## 1.0.47 No user-facing changes. diff --git a/shared/regex/change-notes/released/1.0.48.md b/shared/regex/change-notes/released/1.0.48.md new file mode 100644 index 00000000000..c484c6e8d6e --- /dev/null +++ b/shared/regex/change-notes/released/1.0.48.md @@ -0,0 +1,3 @@ +## 1.0.48 + +No user-facing changes. diff --git a/shared/regex/codeql-pack.release.yml b/shared/regex/codeql-pack.release.yml index dcec0f6405a..6db79f2c397 100644 --- a/shared/regex/codeql-pack.release.yml +++ b/shared/regex/codeql-pack.release.yml @@ -1,2 +1,2 @@ --- -lastReleaseVersion: 1.0.47 +lastReleaseVersion: 1.0.48 diff --git a/shared/regex/qlpack.yml b/shared/regex/qlpack.yml index 7b953dcff1c..abe561fb37c 100644 --- a/shared/regex/qlpack.yml +++ b/shared/regex/qlpack.yml @@ -1,5 +1,5 @@ name: codeql/regex -version: 1.0.48-dev +version: 1.0.48 groups: shared library: true dependencies: diff --git a/shared/ssa/CHANGELOG.md b/shared/ssa/CHANGELOG.md index 3573140fc41..dd21ba6d38b 100644 --- a/shared/ssa/CHANGELOG.md +++ b/shared/ssa/CHANGELOG.md @@ -1,3 +1,7 @@ +## 2.0.24 + +No user-facing changes. + ## 2.0.23 No user-facing changes. diff --git a/shared/ssa/change-notes/released/2.0.24.md b/shared/ssa/change-notes/released/2.0.24.md new file mode 100644 index 00000000000..6547901c334 --- /dev/null +++ b/shared/ssa/change-notes/released/2.0.24.md @@ -0,0 +1,3 @@ +## 2.0.24 + +No user-facing changes. diff --git a/shared/ssa/codeql-pack.release.yml b/shared/ssa/codeql-pack.release.yml index 1bd7e296a34..1460df314d5 100644 --- a/shared/ssa/codeql-pack.release.yml +++ b/shared/ssa/codeql-pack.release.yml @@ -1,2 +1,2 @@ --- -lastReleaseVersion: 2.0.23 +lastReleaseVersion: 2.0.24 diff --git a/shared/ssa/qlpack.yml b/shared/ssa/qlpack.yml index a8fa9a11424..16d312b77ae 100644 --- a/shared/ssa/qlpack.yml +++ b/shared/ssa/qlpack.yml @@ -1,5 +1,5 @@ name: codeql/ssa -version: 2.0.24-dev +version: 2.0.24 groups: shared library: true dependencies: diff --git a/shared/threat-models/CHANGELOG.md b/shared/threat-models/CHANGELOG.md index 34ae2fd2277..a3aa00d4872 100644 --- a/shared/threat-models/CHANGELOG.md +++ b/shared/threat-models/CHANGELOG.md @@ -1,3 +1,7 @@ +## 1.0.48 + +No user-facing changes. + ## 1.0.47 No user-facing changes. diff --git a/shared/threat-models/change-notes/released/1.0.48.md b/shared/threat-models/change-notes/released/1.0.48.md new file mode 100644 index 00000000000..c484c6e8d6e --- /dev/null +++ b/shared/threat-models/change-notes/released/1.0.48.md @@ -0,0 +1,3 @@ +## 1.0.48 + +No user-facing changes. diff --git a/shared/threat-models/codeql-pack.release.yml b/shared/threat-models/codeql-pack.release.yml index dcec0f6405a..6db79f2c397 100644 --- a/shared/threat-models/codeql-pack.release.yml +++ b/shared/threat-models/codeql-pack.release.yml @@ -1,2 +1,2 @@ --- -lastReleaseVersion: 1.0.47 +lastReleaseVersion: 1.0.48 diff --git a/shared/threat-models/qlpack.yml b/shared/threat-models/qlpack.yml index a4a367a990b..2cf364fa332 100644 --- a/shared/threat-models/qlpack.yml +++ b/shared/threat-models/qlpack.yml @@ -1,5 +1,5 @@ name: codeql/threat-models -version: 1.0.48-dev +version: 1.0.48 library: true groups: shared dataExtensions: diff --git a/shared/tutorial/CHANGELOG.md b/shared/tutorial/CHANGELOG.md index cf8f60d1d46..9350e8a04eb 100644 --- a/shared/tutorial/CHANGELOG.md +++ b/shared/tutorial/CHANGELOG.md @@ -1,3 +1,7 @@ +## 1.0.48 + +No user-facing changes. + ## 1.0.47 No user-facing changes. diff --git a/shared/tutorial/change-notes/released/1.0.48.md b/shared/tutorial/change-notes/released/1.0.48.md new file mode 100644 index 00000000000..c484c6e8d6e --- /dev/null +++ b/shared/tutorial/change-notes/released/1.0.48.md @@ -0,0 +1,3 @@ +## 1.0.48 + +No user-facing changes. diff --git a/shared/tutorial/codeql-pack.release.yml b/shared/tutorial/codeql-pack.release.yml index dcec0f6405a..6db79f2c397 100644 --- a/shared/tutorial/codeql-pack.release.yml +++ b/shared/tutorial/codeql-pack.release.yml @@ -1,2 +1,2 @@ --- -lastReleaseVersion: 1.0.47 +lastReleaseVersion: 1.0.48 diff --git a/shared/tutorial/qlpack.yml b/shared/tutorial/qlpack.yml index f961ccdc0eb..5c9c6cdc47c 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.48-dev +version: 1.0.48 groups: shared library: true warnOnImplicitThis: true diff --git a/shared/typeflow/CHANGELOG.md b/shared/typeflow/CHANGELOG.md index 8c5ee5e9486..035c2aa456e 100644 --- a/shared/typeflow/CHANGELOG.md +++ b/shared/typeflow/CHANGELOG.md @@ -1,3 +1,7 @@ +## 1.0.48 + +No user-facing changes. + ## 1.0.47 No user-facing changes. diff --git a/shared/typeflow/change-notes/released/1.0.48.md b/shared/typeflow/change-notes/released/1.0.48.md new file mode 100644 index 00000000000..c484c6e8d6e --- /dev/null +++ b/shared/typeflow/change-notes/released/1.0.48.md @@ -0,0 +1,3 @@ +## 1.0.48 + +No user-facing changes. diff --git a/shared/typeflow/codeql-pack.release.yml b/shared/typeflow/codeql-pack.release.yml index dcec0f6405a..6db79f2c397 100644 --- a/shared/typeflow/codeql-pack.release.yml +++ b/shared/typeflow/codeql-pack.release.yml @@ -1,2 +1,2 @@ --- -lastReleaseVersion: 1.0.47 +lastReleaseVersion: 1.0.48 diff --git a/shared/typeflow/qlpack.yml b/shared/typeflow/qlpack.yml index f7e111d28fd..c9d4ec97a92 100644 --- a/shared/typeflow/qlpack.yml +++ b/shared/typeflow/qlpack.yml @@ -1,5 +1,5 @@ name: codeql/typeflow -version: 1.0.48-dev +version: 1.0.48 groups: shared library: true dependencies: diff --git a/shared/typeinference/CHANGELOG.md b/shared/typeinference/CHANGELOG.md index 7153b9314b1..c8b656e4f35 100644 --- a/shared/typeinference/CHANGELOG.md +++ b/shared/typeinference/CHANGELOG.md @@ -1,3 +1,7 @@ +## 0.0.29 + +No user-facing changes. + ## 0.0.28 No user-facing changes. diff --git a/shared/typeinference/change-notes/released/0.0.29.md b/shared/typeinference/change-notes/released/0.0.29.md new file mode 100644 index 00000000000..4428927c79d --- /dev/null +++ b/shared/typeinference/change-notes/released/0.0.29.md @@ -0,0 +1,3 @@ +## 0.0.29 + +No user-facing changes. diff --git a/shared/typeinference/codeql-pack.release.yml b/shared/typeinference/codeql-pack.release.yml index 3462db7d348..c81f1813120 100644 --- a/shared/typeinference/codeql-pack.release.yml +++ b/shared/typeinference/codeql-pack.release.yml @@ -1,2 +1,2 @@ --- -lastReleaseVersion: 0.0.28 +lastReleaseVersion: 0.0.29 diff --git a/shared/typeinference/qlpack.yml b/shared/typeinference/qlpack.yml index 97c8df36895..57ed4da1080 100644 --- a/shared/typeinference/qlpack.yml +++ b/shared/typeinference/qlpack.yml @@ -1,5 +1,5 @@ name: codeql/typeinference -version: 0.0.29-dev +version: 0.0.29 groups: shared library: true dependencies: diff --git a/shared/typetracking/CHANGELOG.md b/shared/typetracking/CHANGELOG.md index f779002267a..75d8938e6a1 100644 --- a/shared/typetracking/CHANGELOG.md +++ b/shared/typetracking/CHANGELOG.md @@ -1,3 +1,7 @@ +## 2.0.32 + +No user-facing changes. + ## 2.0.31 No user-facing changes. diff --git a/shared/typetracking/change-notes/released/2.0.32.md b/shared/typetracking/change-notes/released/2.0.32.md new file mode 100644 index 00000000000..0930bb07f8c --- /dev/null +++ b/shared/typetracking/change-notes/released/2.0.32.md @@ -0,0 +1,3 @@ +## 2.0.32 + +No user-facing changes. diff --git a/shared/typetracking/codeql-pack.release.yml b/shared/typetracking/codeql-pack.release.yml index 783d47207cd..483a0d5db8e 100644 --- a/shared/typetracking/codeql-pack.release.yml +++ b/shared/typetracking/codeql-pack.release.yml @@ -1,2 +1,2 @@ --- -lastReleaseVersion: 2.0.31 +lastReleaseVersion: 2.0.32 diff --git a/shared/typetracking/qlpack.yml b/shared/typetracking/qlpack.yml index aa029687531..7d506ee6807 100644 --- a/shared/typetracking/qlpack.yml +++ b/shared/typetracking/qlpack.yml @@ -1,5 +1,5 @@ name: codeql/typetracking -version: 2.0.32-dev +version: 2.0.32 groups: shared library: true dependencies: diff --git a/shared/typos/CHANGELOG.md b/shared/typos/CHANGELOG.md index b49f756fef0..35825098a63 100644 --- a/shared/typos/CHANGELOG.md +++ b/shared/typos/CHANGELOG.md @@ -1,3 +1,7 @@ +## 1.0.48 + +No user-facing changes. + ## 1.0.47 No user-facing changes. diff --git a/shared/typos/change-notes/released/1.0.48.md b/shared/typos/change-notes/released/1.0.48.md new file mode 100644 index 00000000000..c484c6e8d6e --- /dev/null +++ b/shared/typos/change-notes/released/1.0.48.md @@ -0,0 +1,3 @@ +## 1.0.48 + +No user-facing changes. diff --git a/shared/typos/codeql-pack.release.yml b/shared/typos/codeql-pack.release.yml index dcec0f6405a..6db79f2c397 100644 --- a/shared/typos/codeql-pack.release.yml +++ b/shared/typos/codeql-pack.release.yml @@ -1,2 +1,2 @@ --- -lastReleaseVersion: 1.0.47 +lastReleaseVersion: 1.0.48 diff --git a/shared/typos/qlpack.yml b/shared/typos/qlpack.yml index 37fc79bb1df..5ba6ce2b43d 100644 --- a/shared/typos/qlpack.yml +++ b/shared/typos/qlpack.yml @@ -1,5 +1,5 @@ name: codeql/typos -version: 1.0.48-dev +version: 1.0.48 groups: shared library: true warnOnImplicitThis: true diff --git a/shared/util/CHANGELOG.md b/shared/util/CHANGELOG.md index cb3ac7bbe79..d1becc8ba2c 100644 --- a/shared/util/CHANGELOG.md +++ b/shared/util/CHANGELOG.md @@ -1,3 +1,7 @@ +## 2.0.35 + +No user-facing changes. + ## 2.0.34 No user-facing changes. diff --git a/shared/util/change-notes/released/2.0.35.md b/shared/util/change-notes/released/2.0.35.md new file mode 100644 index 00000000000..526e1fc9f4c --- /dev/null +++ b/shared/util/change-notes/released/2.0.35.md @@ -0,0 +1,3 @@ +## 2.0.35 + +No user-facing changes. diff --git a/shared/util/codeql-pack.release.yml b/shared/util/codeql-pack.release.yml index 339a3ce7c57..27eb8ef8ece 100644 --- a/shared/util/codeql-pack.release.yml +++ b/shared/util/codeql-pack.release.yml @@ -1,2 +1,2 @@ --- -lastReleaseVersion: 2.0.34 +lastReleaseVersion: 2.0.35 diff --git a/shared/util/qlpack.yml b/shared/util/qlpack.yml index 02e6241dccb..1e765b5e42e 100644 --- a/shared/util/qlpack.yml +++ b/shared/util/qlpack.yml @@ -1,5 +1,5 @@ name: codeql/util -version: 2.0.35-dev +version: 2.0.35 groups: shared library: true dependencies: null diff --git a/shared/xml/CHANGELOG.md b/shared/xml/CHANGELOG.md index 98702251320..131bf7afd2a 100644 --- a/shared/xml/CHANGELOG.md +++ b/shared/xml/CHANGELOG.md @@ -1,3 +1,7 @@ +## 1.0.48 + +No user-facing changes. + ## 1.0.47 No user-facing changes. diff --git a/shared/xml/change-notes/released/1.0.48.md b/shared/xml/change-notes/released/1.0.48.md new file mode 100644 index 00000000000..c484c6e8d6e --- /dev/null +++ b/shared/xml/change-notes/released/1.0.48.md @@ -0,0 +1,3 @@ +## 1.0.48 + +No user-facing changes. diff --git a/shared/xml/codeql-pack.release.yml b/shared/xml/codeql-pack.release.yml index dcec0f6405a..6db79f2c397 100644 --- a/shared/xml/codeql-pack.release.yml +++ b/shared/xml/codeql-pack.release.yml @@ -1,2 +1,2 @@ --- -lastReleaseVersion: 1.0.47 +lastReleaseVersion: 1.0.48 diff --git a/shared/xml/qlpack.yml b/shared/xml/qlpack.yml index 0d75859bdb9..45ddcffaee7 100644 --- a/shared/xml/qlpack.yml +++ b/shared/xml/qlpack.yml @@ -1,5 +1,5 @@ name: codeql/xml -version: 1.0.48-dev +version: 1.0.48 groups: shared library: true dependencies: diff --git a/shared/yaml/CHANGELOG.md b/shared/yaml/CHANGELOG.md index 4a41f8ee9df..1c420b31355 100644 --- a/shared/yaml/CHANGELOG.md +++ b/shared/yaml/CHANGELOG.md @@ -1,3 +1,7 @@ +## 1.0.48 + +No user-facing changes. + ## 1.0.47 No user-facing changes. diff --git a/shared/yaml/change-notes/released/1.0.48.md b/shared/yaml/change-notes/released/1.0.48.md new file mode 100644 index 00000000000..c484c6e8d6e --- /dev/null +++ b/shared/yaml/change-notes/released/1.0.48.md @@ -0,0 +1,3 @@ +## 1.0.48 + +No user-facing changes. diff --git a/shared/yaml/codeql-pack.release.yml b/shared/yaml/codeql-pack.release.yml index dcec0f6405a..6db79f2c397 100644 --- a/shared/yaml/codeql-pack.release.yml +++ b/shared/yaml/codeql-pack.release.yml @@ -1,2 +1,2 @@ --- -lastReleaseVersion: 1.0.47 +lastReleaseVersion: 1.0.48 diff --git a/shared/yaml/qlpack.yml b/shared/yaml/qlpack.yml index cfea54e0b5b..461f97ac4db 100644 --- a/shared/yaml/qlpack.yml +++ b/shared/yaml/qlpack.yml @@ -1,5 +1,5 @@ name: codeql/yaml -version: 1.0.48-dev +version: 1.0.48 groups: shared library: true warnOnImplicitThis: true diff --git a/swift/ql/lib/CHANGELOG.md b/swift/ql/lib/CHANGELOG.md index 3967689b933..e2cb45f9769 100644 --- a/swift/ql/lib/CHANGELOG.md +++ b/swift/ql/lib/CHANGELOG.md @@ -1,3 +1,9 @@ +## 6.4.0 + +### Major Analysis Improvements + +* Upgraded to allow analysis of Swift 6.3. + ## 6.3.3 No user-facing changes. diff --git a/swift/ql/lib/change-notes/2026-04-06-swift-6.3.md b/swift/ql/lib/change-notes/released/6.4.0.md similarity index 50% rename from swift/ql/lib/change-notes/2026-04-06-swift-6.3.md rename to swift/ql/lib/change-notes/released/6.4.0.md index 512cb613984..e4b68cd2c9b 100644 --- a/swift/ql/lib/change-notes/2026-04-06-swift-6.3.md +++ b/swift/ql/lib/change-notes/released/6.4.0.md @@ -1,4 +1,5 @@ ---- -category: majorAnalysis ---- +## 6.4.0 + +### Major Analysis Improvements + * Upgraded to allow analysis of Swift 6.3. diff --git a/swift/ql/lib/codeql-pack.release.yml b/swift/ql/lib/codeql-pack.release.yml index 83b98dcdbc3..3098c5db6c3 100644 --- a/swift/ql/lib/codeql-pack.release.yml +++ b/swift/ql/lib/codeql-pack.release.yml @@ -1,2 +1,2 @@ --- -lastReleaseVersion: 6.3.3 +lastReleaseVersion: 6.4.0 diff --git a/swift/ql/lib/qlpack.yml b/swift/ql/lib/qlpack.yml index 32c6458ddea..c8cc7f97a2b 100644 --- a/swift/ql/lib/qlpack.yml +++ b/swift/ql/lib/qlpack.yml @@ -1,5 +1,5 @@ name: codeql/swift-all -version: 6.3.4-dev +version: 6.4.0 groups: swift extractor: swift dbscheme: swift.dbscheme diff --git a/swift/ql/src/CHANGELOG.md b/swift/ql/src/CHANGELOG.md index f880dc3366f..af70cebc1e4 100644 --- a/swift/ql/src/CHANGELOG.md +++ b/swift/ql/src/CHANGELOG.md @@ -1,3 +1,7 @@ +## 1.3.1 + +No user-facing changes. + ## 1.3.0 ### Query Metadata Changes diff --git a/swift/ql/src/change-notes/released/1.3.1.md b/swift/ql/src/change-notes/released/1.3.1.md new file mode 100644 index 00000000000..8dd9964197c --- /dev/null +++ b/swift/ql/src/change-notes/released/1.3.1.md @@ -0,0 +1,3 @@ +## 1.3.1 + +No user-facing changes. diff --git a/swift/ql/src/codeql-pack.release.yml b/swift/ql/src/codeql-pack.release.yml index ec16350ed6f..e71b6d081f1 100644 --- a/swift/ql/src/codeql-pack.release.yml +++ b/swift/ql/src/codeql-pack.release.yml @@ -1,2 +1,2 @@ --- -lastReleaseVersion: 1.3.0 +lastReleaseVersion: 1.3.1 diff --git a/swift/ql/src/qlpack.yml b/swift/ql/src/qlpack.yml index 5b6c7a6977a..2bde0f317c7 100644 --- a/swift/ql/src/qlpack.yml +++ b/swift/ql/src/qlpack.yml @@ -1,5 +1,5 @@ name: codeql/swift-queries -version: 1.3.1-dev +version: 1.3.1 groups: - swift - queries From 03c3b3f4c4aec8214ded9c5c0e6ca7a3c2b94bbe Mon Sep 17 00:00:00 2001 From: "Michael B. Gale" Date: Mon, 20 Apr 2026 11:40:32 +0200 Subject: [PATCH 07/15] Improve wording of `actions` note --- actions/ql/src/CHANGELOG.md | 4 ++-- actions/ql/src/change-notes/released/0.6.26.md | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/actions/ql/src/CHANGELOG.md b/actions/ql/src/CHANGELOG.md index 9dd234fd483..96f8d266206 100644 --- a/actions/ql/src/CHANGELOG.md +++ b/actions/ql/src/CHANGELOG.md @@ -2,7 +2,7 @@ ### Major Analysis Improvements -* Fixed alert messages in `actions/artifact-poisoning/critical` and `actions/artifact-poisoning/medium` as they previously included a redundant placeholder in the alert message that would on occasion contain a long block of yml that makes the alert difficult to understand. Also clarify the wording to make it clear that it is not the artifact that is being poisoned, but instead a potentially untrusted artifact that is consumed. Also change the alert location to be the source, to align more with other queries reporting an artifact (e.g. zipslip) which is more useful. +* Fixed alert messages in `actions/artifact-poisoning/critical` and `actions/artifact-poisoning/medium` as they previously included a redundant placeholder in the alert message that would on occasion contain a long block of yml that makes the alert difficult to understand. Also improved the wording to make it clearer that it is not the artifact that is being poisoned, but instead a potentially untrusted artifact that is consumed. Finally, changed the alert location to be the source, to align more with other queries reporting an artifact (e.g. zipslip) which is more useful. ### Minor Analysis Improvements @@ -173,7 +173,7 @@ No user-facing changes. * `actions/if-expression-always-true/critical` * `actions/if-expression-always-true/high` * `actions/unnecessary-use-of-advanced-config` - + * The following query has been moved from the `code-scanning` suite to the `security-extended` suite. Any existing alerts for this query will be closed automatically unless the analysis is configured to use the `security-extended` suite. diff --git a/actions/ql/src/change-notes/released/0.6.26.md b/actions/ql/src/change-notes/released/0.6.26.md index 3147a666cdb..8bf43e63907 100644 --- a/actions/ql/src/change-notes/released/0.6.26.md +++ b/actions/ql/src/change-notes/released/0.6.26.md @@ -2,7 +2,7 @@ ### Major Analysis Improvements -* Fixed alert messages in `actions/artifact-poisoning/critical` and `actions/artifact-poisoning/medium` as they previously included a redundant placeholder in the alert message that would on occasion contain a long block of yml that makes the alert difficult to understand. Also clarify the wording to make it clear that it is not the artifact that is being poisoned, but instead a potentially untrusted artifact that is consumed. Also change the alert location to be the source, to align more with other queries reporting an artifact (e.g. zipslip) which is more useful. +* Fixed alert messages in `actions/artifact-poisoning/critical` and `actions/artifact-poisoning/medium` as they previously included a redundant placeholder in the alert message that would on occasion contain a long block of yml that makes the alert difficult to understand. Also improved the wording to make it clearer that it is not the artifact that is being poisoned, but instead a potentially untrusted artifact that is consumed. Finally, changed the alert location to be the source, to align more with other queries reporting an artifact (e.g. zipslip) which is more useful. ### Minor Analysis Improvements From f817bd4924665099296dec89614c62ebe401f32b Mon Sep 17 00:00:00 2001 From: "Michael B. Gale" Date: Mon, 20 Apr 2026 12:24:05 +0200 Subject: [PATCH 08/15] Merge changelog entries for `cpp/implicit-function-declaration` --- cpp/ql/src/CHANGELOG.md | 5 ++--- cpp/ql/src/change-notes/released/1.6.1.md | 3 +-- 2 files changed, 3 insertions(+), 5 deletions(-) diff --git a/cpp/ql/src/CHANGELOG.md b/cpp/ql/src/CHANGELOG.md index aca22062e9f..80b9ad0e475 100644 --- a/cpp/ql/src/CHANGELOG.md +++ b/cpp/ql/src/CHANGELOG.md @@ -4,11 +4,10 @@ * Added `AllocationFunction` models for `aligned_alloc`, `std::aligned_alloc`, and `bsl::aligned_alloc`. * The "Comparison of narrow type with wide type in loop condition" (`cpp/comparison-with-wider-type`) query has been upgraded to `high` precision. This query will now run in the default code scanning suite. -* The "Implicit function declaration" (`cpp/implicit-function-declaration`) query has been upgraded to `high` precision. * The "Multiplication result converted to larger type" (`cpp/integer-multiplication-cast-to-long`) query has been upgraded to `high` precision. This query will now run in the default code scanning suite. * The "Suspicious add with sizeof" (`cpp/suspicious-add-sizeof`) query has been upgraded to `high` precision. This query will now run in the default code scanning suite. * The "Wrong type of arguments to formatting function" (`cpp/wrong-type-format-argument`) query has been upgraded to `high` precision. This query will now run in the default code scanning suite. -* The "Implicit function declaration" (`cpp/implicit-function-declaration`) query no longer produces results on `build mode: none` databases. These results were found to be very noisy and fundamentally imprecise in this mode. +* The "Implicit function declaration" (`cpp/implicit-function-declaration`) query has been upgraded to `high` precision. However, for `build mode: none` databases, it no longer produces any results. The results in this mode were found to be very noisy and fundamentally imprecise. ## 1.6.0 @@ -367,7 +366,7 @@ No user-facing changes. ### Minor Analysis Improvements * The "non-constant format string" query (`cpp/non-constant-format`) has been updated to produce fewer false positives. -* Added dataflow models for the `gettext` function variants. +* Added dataflow models for the `gettext` function variants. ## 0.9.4 diff --git a/cpp/ql/src/change-notes/released/1.6.1.md b/cpp/ql/src/change-notes/released/1.6.1.md index 4cba7e508bd..83781b87c58 100644 --- a/cpp/ql/src/change-notes/released/1.6.1.md +++ b/cpp/ql/src/change-notes/released/1.6.1.md @@ -4,8 +4,7 @@ * Added `AllocationFunction` models for `aligned_alloc`, `std::aligned_alloc`, and `bsl::aligned_alloc`. * The "Comparison of narrow type with wide type in loop condition" (`cpp/comparison-with-wider-type`) query has been upgraded to `high` precision. This query will now run in the default code scanning suite. -* The "Implicit function declaration" (`cpp/implicit-function-declaration`) query has been upgraded to `high` precision. * The "Multiplication result converted to larger type" (`cpp/integer-multiplication-cast-to-long`) query has been upgraded to `high` precision. This query will now run in the default code scanning suite. * The "Suspicious add with sizeof" (`cpp/suspicious-add-sizeof`) query has been upgraded to `high` precision. This query will now run in the default code scanning suite. * The "Wrong type of arguments to formatting function" (`cpp/wrong-type-format-argument`) query has been upgraded to `high` precision. This query will now run in the default code scanning suite. -* The "Implicit function declaration" (`cpp/implicit-function-declaration`) query no longer produces results on `build mode: none` databases. These results were found to be very noisy and fundamentally imprecise in this mode. +* The "Implicit function declaration" (`cpp/implicit-function-declaration`) query has been upgraded to `high` precision. However, for `build mode: none` databases, it no longer produces any results. The results in this mode were found to be very noisy and fundamentally imprecise. From 24edae5e7499ad1a99eb2e2045599f9c7713f196 Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" Date: Mon, 27 Apr 2026 10:27:45 +0000 Subject: [PATCH 09/15] Post-release preparation for codeql-cli-2.25.3 --- actions/ql/lib/qlpack.yml | 2 +- actions/ql/src/qlpack.yml | 2 +- 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/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 +- rust/ql/lib/qlpack.yml | 2 +- rust/ql/src/qlpack.yml | 2 +- shared/concepts/qlpack.yml | 2 +- shared/controlflow/qlpack.yml | 2 +- shared/dataflow/qlpack.yml | 2 +- shared/mad/qlpack.yml | 2 +- shared/quantum/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/typeinference/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 +- 41 files changed, 41 insertions(+), 41 deletions(-) diff --git a/actions/ql/lib/qlpack.yml b/actions/ql/lib/qlpack.yml index b7acc7a3957..6e78fc546b3 100644 --- a/actions/ql/lib/qlpack.yml +++ b/actions/ql/lib/qlpack.yml @@ -1,5 +1,5 @@ name: codeql/actions-all -version: 0.4.34 +version: 0.4.35-dev library: true warnOnImplicitThis: true dependencies: diff --git a/actions/ql/src/qlpack.yml b/actions/ql/src/qlpack.yml index fc18f8052b2..c815afc498c 100644 --- a/actions/ql/src/qlpack.yml +++ b/actions/ql/src/qlpack.yml @@ -1,5 +1,5 @@ name: codeql/actions-queries -version: 0.6.26 +version: 0.6.27-dev library: false warnOnImplicitThis: true groups: [actions, queries] diff --git a/cpp/ql/lib/qlpack.yml b/cpp/ql/lib/qlpack.yml index 4bcb59885fa..8a9d60a7fa9 100644 --- a/cpp/ql/lib/qlpack.yml +++ b/cpp/ql/lib/qlpack.yml @@ -1,5 +1,5 @@ name: codeql/cpp-all -version: 10.0.0 +version: 10.0.1-dev groups: cpp dbscheme: semmlecode.cpp.dbscheme extractor: cpp diff --git a/cpp/ql/src/qlpack.yml b/cpp/ql/src/qlpack.yml index 8ec81ab6135..714167434c8 100644 --- a/cpp/ql/src/qlpack.yml +++ b/cpp/ql/src/qlpack.yml @@ -1,5 +1,5 @@ name: codeql/cpp-queries -version: 1.6.1 +version: 1.6.2-dev groups: - cpp - queries diff --git a/csharp/ql/campaigns/Solorigate/lib/qlpack.yml b/csharp/ql/campaigns/Solorigate/lib/qlpack.yml index d50eb024972..9d0e0ffd4f9 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.65 +version: 1.7.66-dev groups: - csharp - solorigate diff --git a/csharp/ql/campaigns/Solorigate/src/qlpack.yml b/csharp/ql/campaigns/Solorigate/src/qlpack.yml index bd70b1664ac..f5203f4e443 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.65 +version: 1.7.66-dev groups: - csharp - solorigate diff --git a/csharp/ql/lib/qlpack.yml b/csharp/ql/lib/qlpack.yml index f90aa010b89..7c906e033ad 100644 --- a/csharp/ql/lib/qlpack.yml +++ b/csharp/ql/lib/qlpack.yml @@ -1,5 +1,5 @@ name: codeql/csharp-all -version: 5.5.0 +version: 5.5.1-dev groups: csharp dbscheme: semmlecode.csharp.dbscheme extractor: csharp diff --git a/csharp/ql/src/qlpack.yml b/csharp/ql/src/qlpack.yml index c7d8eace296..25b04cf2dc6 100644 --- a/csharp/ql/src/qlpack.yml +++ b/csharp/ql/src/qlpack.yml @@ -1,5 +1,5 @@ name: codeql/csharp-queries -version: 1.7.1 +version: 1.7.2-dev groups: - csharp - queries diff --git a/go/ql/consistency-queries/qlpack.yml b/go/ql/consistency-queries/qlpack.yml index 2a03af96152..a82ec95583b 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.48 +version: 1.0.49-dev groups: - go - queries diff --git a/go/ql/lib/qlpack.yml b/go/ql/lib/qlpack.yml index 71a8c1c50f0..e191e0da688 100644 --- a/go/ql/lib/qlpack.yml +++ b/go/ql/lib/qlpack.yml @@ -1,5 +1,5 @@ name: codeql/go-all -version: 7.0.6 +version: 7.0.7-dev groups: go dbscheme: go.dbscheme extractor: go diff --git a/go/ql/src/qlpack.yml b/go/ql/src/qlpack.yml index 3f3d4e7cc2a..fa7e934382a 100644 --- a/go/ql/src/qlpack.yml +++ b/go/ql/src/qlpack.yml @@ -1,5 +1,5 @@ name: codeql/go-queries -version: 1.6.1 +version: 1.6.2-dev groups: - go - queries diff --git a/java/ql/lib/qlpack.yml b/java/ql/lib/qlpack.yml index 0a842a96b34..efa1d011ea5 100644 --- a/java/ql/lib/qlpack.yml +++ b/java/ql/lib/qlpack.yml @@ -1,5 +1,5 @@ name: codeql/java-all -version: 9.0.4 +version: 9.0.5-dev groups: java dbscheme: config/semmlecode.dbscheme extractor: java diff --git a/java/ql/src/qlpack.yml b/java/ql/src/qlpack.yml index 49c552ec02a..2f2233460ba 100644 --- a/java/ql/src/qlpack.yml +++ b/java/ql/src/qlpack.yml @@ -1,5 +1,5 @@ name: codeql/java-queries -version: 1.11.1 +version: 1.11.2-dev groups: - java - queries diff --git a/javascript/ql/lib/qlpack.yml b/javascript/ql/lib/qlpack.yml index dabbc8bd755..b62abbbe101 100644 --- a/javascript/ql/lib/qlpack.yml +++ b/javascript/ql/lib/qlpack.yml @@ -1,5 +1,5 @@ name: codeql/javascript-all -version: 2.6.28 +version: 2.6.29-dev groups: javascript dbscheme: semmlecode.javascript.dbscheme extractor: javascript diff --git a/javascript/ql/src/qlpack.yml b/javascript/ql/src/qlpack.yml index dd4f7c255a8..9081791d0e0 100644 --- a/javascript/ql/src/qlpack.yml +++ b/javascript/ql/src/qlpack.yml @@ -1,5 +1,5 @@ name: codeql/javascript-queries -version: 2.3.8 +version: 2.3.9-dev groups: - javascript - queries diff --git a/misc/suite-helpers/qlpack.yml b/misc/suite-helpers/qlpack.yml index c18ab2bb10e..778284fbe9a 100644 --- a/misc/suite-helpers/qlpack.yml +++ b/misc/suite-helpers/qlpack.yml @@ -1,4 +1,4 @@ name: codeql/suite-helpers -version: 1.0.48 +version: 1.0.49-dev groups: shared warnOnImplicitThis: true diff --git a/python/ql/lib/qlpack.yml b/python/ql/lib/qlpack.yml index 4dc63a6f9cb..8564a098594 100644 --- a/python/ql/lib/qlpack.yml +++ b/python/ql/lib/qlpack.yml @@ -1,5 +1,5 @@ name: codeql/python-all -version: 7.0.5 +version: 7.0.6-dev groups: python dbscheme: semmlecode.python.dbscheme extractor: python diff --git a/python/ql/src/qlpack.yml b/python/ql/src/qlpack.yml index b7d90a618e9..2d99bcd0c7a 100644 --- a/python/ql/src/qlpack.yml +++ b/python/ql/src/qlpack.yml @@ -1,5 +1,5 @@ name: codeql/python-queries -version: 1.8.1 +version: 1.8.2-dev groups: - python - queries diff --git a/ruby/ql/lib/qlpack.yml b/ruby/ql/lib/qlpack.yml index ef68525f982..1ac5090098a 100644 --- a/ruby/ql/lib/qlpack.yml +++ b/ruby/ql/lib/qlpack.yml @@ -1,5 +1,5 @@ name: codeql/ruby-all -version: 5.1.16 +version: 5.1.17-dev groups: ruby extractor: ruby dbscheme: ruby.dbscheme diff --git a/ruby/ql/src/qlpack.yml b/ruby/ql/src/qlpack.yml index 8964f6e51ac..978102bb82a 100644 --- a/ruby/ql/src/qlpack.yml +++ b/ruby/ql/src/qlpack.yml @@ -1,5 +1,5 @@ name: codeql/ruby-queries -version: 1.6.1 +version: 1.6.2-dev groups: - ruby - queries diff --git a/rust/ql/lib/qlpack.yml b/rust/ql/lib/qlpack.yml index 569930438ab..7eb159e4b50 100644 --- a/rust/ql/lib/qlpack.yml +++ b/rust/ql/lib/qlpack.yml @@ -1,5 +1,5 @@ name: codeql/rust-all -version: 0.2.12 +version: 0.2.13-dev groups: rust extractor: rust dbscheme: rust.dbscheme diff --git a/rust/ql/src/qlpack.yml b/rust/ql/src/qlpack.yml index 0eefe2f3932..7b2bd73728a 100644 --- a/rust/ql/src/qlpack.yml +++ b/rust/ql/src/qlpack.yml @@ -1,5 +1,5 @@ name: codeql/rust-queries -version: 0.1.33 +version: 0.1.34-dev groups: - rust - queries diff --git a/shared/concepts/qlpack.yml b/shared/concepts/qlpack.yml index 2ce2978829e..947826f7dfd 100644 --- a/shared/concepts/qlpack.yml +++ b/shared/concepts/qlpack.yml @@ -1,5 +1,5 @@ name: codeql/concepts -version: 0.0.22 +version: 0.0.23-dev groups: shared library: true dependencies: diff --git a/shared/controlflow/qlpack.yml b/shared/controlflow/qlpack.yml index b293853c73b..adc4aedc5c3 100644 --- a/shared/controlflow/qlpack.yml +++ b/shared/controlflow/qlpack.yml @@ -1,5 +1,5 @@ name: codeql/controlflow -version: 2.0.32 +version: 2.0.33-dev groups: shared library: true dependencies: diff --git a/shared/dataflow/qlpack.yml b/shared/dataflow/qlpack.yml index e7778805c50..a18b746e4b4 100644 --- a/shared/dataflow/qlpack.yml +++ b/shared/dataflow/qlpack.yml @@ -1,5 +1,5 @@ name: codeql/dataflow -version: 2.1.4 +version: 2.1.5-dev groups: shared library: true dependencies: diff --git a/shared/mad/qlpack.yml b/shared/mad/qlpack.yml index 920ffe10267..dd5fcf54034 100644 --- a/shared/mad/qlpack.yml +++ b/shared/mad/qlpack.yml @@ -1,5 +1,5 @@ name: codeql/mad -version: 1.0.48 +version: 1.0.49-dev groups: shared library: true dependencies: diff --git a/shared/quantum/qlpack.yml b/shared/quantum/qlpack.yml index 52c78c5f963..c4e5d41dfaa 100644 --- a/shared/quantum/qlpack.yml +++ b/shared/quantum/qlpack.yml @@ -1,5 +1,5 @@ name: codeql/quantum -version: 0.0.26 +version: 0.0.27-dev groups: shared library: true dependencies: diff --git a/shared/rangeanalysis/qlpack.yml b/shared/rangeanalysis/qlpack.yml index 274a6160372..ed3b4a66239 100644 --- a/shared/rangeanalysis/qlpack.yml +++ b/shared/rangeanalysis/qlpack.yml @@ -1,5 +1,5 @@ name: codeql/rangeanalysis -version: 1.0.48 +version: 1.0.49-dev groups: shared library: true dependencies: diff --git a/shared/regex/qlpack.yml b/shared/regex/qlpack.yml index abe561fb37c..3d569c7d429 100644 --- a/shared/regex/qlpack.yml +++ b/shared/regex/qlpack.yml @@ -1,5 +1,5 @@ name: codeql/regex -version: 1.0.48 +version: 1.0.49-dev groups: shared library: true dependencies: diff --git a/shared/ssa/qlpack.yml b/shared/ssa/qlpack.yml index 16d312b77ae..c1fd261e070 100644 --- a/shared/ssa/qlpack.yml +++ b/shared/ssa/qlpack.yml @@ -1,5 +1,5 @@ name: codeql/ssa -version: 2.0.24 +version: 2.0.25-dev groups: shared library: true dependencies: diff --git a/shared/threat-models/qlpack.yml b/shared/threat-models/qlpack.yml index 2cf364fa332..59ce8c06727 100644 --- a/shared/threat-models/qlpack.yml +++ b/shared/threat-models/qlpack.yml @@ -1,5 +1,5 @@ name: codeql/threat-models -version: 1.0.48 +version: 1.0.49-dev library: true groups: shared dataExtensions: diff --git a/shared/tutorial/qlpack.yml b/shared/tutorial/qlpack.yml index 5c9c6cdc47c..36b8181e0bf 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.48 +version: 1.0.49-dev groups: shared library: true warnOnImplicitThis: true diff --git a/shared/typeflow/qlpack.yml b/shared/typeflow/qlpack.yml index c9d4ec97a92..0734b2b722e 100644 --- a/shared/typeflow/qlpack.yml +++ b/shared/typeflow/qlpack.yml @@ -1,5 +1,5 @@ name: codeql/typeflow -version: 1.0.48 +version: 1.0.49-dev groups: shared library: true dependencies: diff --git a/shared/typeinference/qlpack.yml b/shared/typeinference/qlpack.yml index 57ed4da1080..2bf5c49d97e 100644 --- a/shared/typeinference/qlpack.yml +++ b/shared/typeinference/qlpack.yml @@ -1,5 +1,5 @@ name: codeql/typeinference -version: 0.0.29 +version: 0.0.30-dev groups: shared library: true dependencies: diff --git a/shared/typetracking/qlpack.yml b/shared/typetracking/qlpack.yml index 7d506ee6807..fe35cf5955b 100644 --- a/shared/typetracking/qlpack.yml +++ b/shared/typetracking/qlpack.yml @@ -1,5 +1,5 @@ name: codeql/typetracking -version: 2.0.32 +version: 2.0.33-dev groups: shared library: true dependencies: diff --git a/shared/typos/qlpack.yml b/shared/typos/qlpack.yml index 5ba6ce2b43d..a8c85168f20 100644 --- a/shared/typos/qlpack.yml +++ b/shared/typos/qlpack.yml @@ -1,5 +1,5 @@ name: codeql/typos -version: 1.0.48 +version: 1.0.49-dev groups: shared library: true warnOnImplicitThis: true diff --git a/shared/util/qlpack.yml b/shared/util/qlpack.yml index 1e765b5e42e..99f8c5374dc 100644 --- a/shared/util/qlpack.yml +++ b/shared/util/qlpack.yml @@ -1,5 +1,5 @@ name: codeql/util -version: 2.0.35 +version: 2.0.36-dev groups: shared library: true dependencies: null diff --git a/shared/xml/qlpack.yml b/shared/xml/qlpack.yml index 45ddcffaee7..2c44df63e7e 100644 --- a/shared/xml/qlpack.yml +++ b/shared/xml/qlpack.yml @@ -1,5 +1,5 @@ name: codeql/xml -version: 1.0.48 +version: 1.0.49-dev groups: shared library: true dependencies: diff --git a/shared/yaml/qlpack.yml b/shared/yaml/qlpack.yml index 461f97ac4db..6778ee5a156 100644 --- a/shared/yaml/qlpack.yml +++ b/shared/yaml/qlpack.yml @@ -1,5 +1,5 @@ name: codeql/yaml -version: 1.0.48 +version: 1.0.49-dev groups: shared library: true warnOnImplicitThis: true diff --git a/swift/ql/lib/qlpack.yml b/swift/ql/lib/qlpack.yml index c8cc7f97a2b..595a2804df5 100644 --- a/swift/ql/lib/qlpack.yml +++ b/swift/ql/lib/qlpack.yml @@ -1,5 +1,5 @@ name: codeql/swift-all -version: 6.4.0 +version: 6.4.1-dev groups: swift extractor: swift dbscheme: swift.dbscheme diff --git a/swift/ql/src/qlpack.yml b/swift/ql/src/qlpack.yml index 2bde0f317c7..6b4dc1f65e5 100644 --- a/swift/ql/src/qlpack.yml +++ b/swift/ql/src/qlpack.yml @@ -1,5 +1,5 @@ name: codeql/swift-queries -version: 1.3.1 +version: 1.3.2-dev groups: - swift - queries From 2e94b09e6f9442a87b7c510dab22eda3832d7284 Mon Sep 17 00:00:00 2001 From: Tom Hvitved Date: Mon, 27 Apr 2026 14:18:41 +0200 Subject: [PATCH 10/15] Address review comments --- go/ql/lib/semmle/go/dataflow/GlobalValueNumbering.qll | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/go/ql/lib/semmle/go/dataflow/GlobalValueNumbering.qll b/go/ql/lib/semmle/go/dataflow/GlobalValueNumbering.qll index 3e161a4d601..3547e70b858 100644 --- a/go/ql/lib/semmle/go/dataflow/GlobalValueNumbering.qll +++ b/go/ql/lib/semmle/go/dataflow/GlobalValueNumbering.qll @@ -138,6 +138,8 @@ private predicate iDomEffect( * dominator of `node` and no side-effects can occur between `result` and * `node`. * + * `entry` is the entry node for the function containing `node` and `result`. + * * `sideEffectCFG` has an edge from the function entry to every node with a * side-effect. This means that every node with a side-effect has the * function entry as its immediate dominator. So if node `x` dominates node @@ -181,6 +183,10 @@ private predicate iDomEffect( * * The immediate dominator path to line 015 is 000 - 009 - 012 - 015. * Therefore, the most recent side effect for line 015 is line 009. + * (Note that line 009 is not a side-effect itself. Instead, it is the + * point where the control flow paths from the side-effects at 004 and 007 + * merge. Because its immediate dominator is the entry node 000, it serves + * as the safe root for expressions evaluated after those side-effects.) */ private ControlFlow::Node mostRecentSideEffect(ControlFlow::Node entry, ControlFlow::Node node) { iDomEffect(entry, entry, result) and From e29efc7d2cfe13d69e1d78695b1f1eb75b5396da Mon Sep 17 00:00:00 2001 From: Mathias Vorreiter Pedersen Date: Tue, 28 Apr 2026 10:50:39 +0100 Subject: [PATCH 11/15] C++: Add tests with missing flow. --- .../source-sink-tests/sources-and-sinks.cpp | 16 ++ .../dataflow/taint-tests/localTaint.expected | 168 ++++++++++++++++++ .../dataflow/taint-tests/taint.cpp | 133 ++++++++++++++ .../taint-tests/test_mad-signatures.expected | 112 ++++++++++++ 4 files changed, 429 insertions(+) diff --git a/cpp/ql/test/library-tests/dataflow/source-sink-tests/sources-and-sinks.cpp b/cpp/ql/test/library-tests/dataflow/source-sink-tests/sources-and-sinks.cpp index c515a199f07..1df2923d306 100644 --- a/cpp/ql/test/library-tests/dataflow/source-sink-tests/sources-and-sinks.cpp +++ b/cpp/ql/test/library-tests/dataflow/source-sink-tests/sources-and-sinks.cpp @@ -115,3 +115,19 @@ void test_zmc(void *socket) { // ... } } + +long StringCchGetsA(char *, size_t); +long StringCchGetsExA(char *, size_t, char **, size_t *, unsigned long); + +void test_strsafe_gets() { + { + char dest[256] = {0}; + StringCchGetsA(dest, sizeof(dest)); // $ MISSING: local_source + } + { + char dest[256] = {0}; + char *end; + size_t remaining; + StringCchGetsExA(dest, sizeof(dest), &end, &remaining, 0); // $ MISSING: local_source + } +} diff --git a/cpp/ql/test/library-tests/dataflow/taint-tests/localTaint.expected b/cpp/ql/test/library-tests/dataflow/taint-tests/localTaint.expected index 0f4d67f2695..9224cd62e82 100644 --- a/cpp/ql/test/library-tests/dataflow/taint-tests/localTaint.expected +++ b/cpp/ql/test/library-tests/dataflow/taint-tests/localTaint.expected @@ -8008,6 +8008,174 @@ WARNING: module 'TaintTracking' has been deprecated and may be removed in future | taint.cpp:866:26:866:34 | ref arg & ... | taint.cpp:866:27:866:34 | size_out [inner post update] | | | taint.cpp:866:27:866:34 | size_out | taint.cpp:866:26:866:34 | & ... | | | taint.cpp:867:8:867:8 | p | taint.cpp:867:7:867:8 | * ... | TAINT | +| taint.cpp:892:17:892:31 | call to indirect_source | taint.cpp:897:38:897:43 | source | | +| taint.cpp:892:17:892:31 | call to indirect_source | taint.cpp:907:37:907:42 | source | | +| taint.cpp:892:17:892:31 | call to indirect_source | taint.cpp:914:40:914:45 | source | | +| taint.cpp:892:17:892:31 | call to indirect_source | taint.cpp:919:39:919:44 | source | | +| taint.cpp:892:17:892:31 | call to indirect_source | taint.cpp:926:41:926:46 | source | | +| taint.cpp:892:17:892:31 | call to indirect_source | taint.cpp:931:37:931:42 | source | | +| taint.cpp:892:17:892:31 | call to indirect_source | taint.cpp:941:36:941:41 | source | | +| taint.cpp:892:17:892:31 | call to indirect_source | taint.cpp:948:39:948:44 | source | | +| taint.cpp:892:17:892:31 | call to indirect_source | taint.cpp:953:38:953:43 | source | | +| taint.cpp:892:17:892:31 | call to indirect_source | taint.cpp:960:40:960:45 | source | | +| taint.cpp:892:17:892:31 | call to indirect_source | taint.cpp:965:46:965:51 | source | | +| taint.cpp:892:17:892:31 | call to indirect_source | taint.cpp:975:45:975:50 | source | | +| taint.cpp:892:17:892:31 | call to indirect_source | taint.cpp:982:69:982:74 | source | | +| taint.cpp:893:32:893:46 | call to indirect_source | taint.cpp:902:38:902:44 | wsource | | +| taint.cpp:893:32:893:46 | call to indirect_source | taint.cpp:936:37:936:43 | wsource | | +| taint.cpp:893:32:893:46 | call to indirect_source | taint.cpp:970:47:970:53 | wsource | | +| taint.cpp:896:19:896:22 | {...} | taint.cpp:897:18:897:21 | dest | | +| taint.cpp:896:19:896:22 | {...} | taint.cpp:897:31:897:34 | dest | | +| taint.cpp:896:19:896:22 | {...} | taint.cpp:898:9:898:12 | dest | | +| taint.cpp:896:21:896:21 | 0 | taint.cpp:896:19:896:22 | {...} | TAINT | +| taint.cpp:897:18:897:21 | ref arg dest | taint.cpp:898:9:898:12 | dest | | +| taint.cpp:898:9:898:12 | dest | taint.cpp:898:8:898:12 | * ... | | +| taint.cpp:901:22:901:25 | {...} | taint.cpp:902:18:902:21 | dest | | +| taint.cpp:901:22:901:25 | {...} | taint.cpp:902:31:902:34 | dest | | +| taint.cpp:901:22:901:25 | {...} | taint.cpp:903:9:903:12 | dest | | +| taint.cpp:901:24:901:24 | 0 | taint.cpp:901:22:901:25 | {...} | TAINT | +| taint.cpp:902:18:902:21 | ref arg dest | taint.cpp:903:9:903:12 | dest | | +| taint.cpp:903:9:903:12 | dest | taint.cpp:903:8:903:12 | * ... | | +| taint.cpp:906:19:906:22 | {...} | taint.cpp:907:17:907:20 | dest | | +| taint.cpp:906:19:906:22 | {...} | taint.cpp:907:30:907:33 | dest | | +| taint.cpp:906:19:906:22 | {...} | taint.cpp:908:9:908:12 | dest | | +| taint.cpp:906:21:906:21 | 0 | taint.cpp:906:19:906:22 | {...} | TAINT | +| taint.cpp:907:17:907:20 | ref arg dest | taint.cpp:908:9:908:12 | dest | | +| taint.cpp:908:9:908:12 | dest | taint.cpp:908:8:908:12 | * ... | | +| taint.cpp:911:19:911:22 | {...} | taint.cpp:914:20:914:23 | dest | | +| taint.cpp:911:19:911:22 | {...} | taint.cpp:914:33:914:36 | dest | | +| taint.cpp:911:19:911:22 | {...} | taint.cpp:915:9:915:12 | dest | | +| taint.cpp:911:21:911:21 | 0 | taint.cpp:911:19:911:22 | {...} | TAINT | +| taint.cpp:912:9:912:11 | end | taint.cpp:914:49:914:51 | end | | +| taint.cpp:913:10:913:18 | remaining | taint.cpp:914:55:914:63 | remaining | | +| taint.cpp:914:20:914:23 | ref arg dest | taint.cpp:915:9:915:12 | dest | | +| taint.cpp:914:48:914:51 | ref arg & ... | taint.cpp:914:49:914:51 | end [inner post update] | | +| taint.cpp:914:49:914:51 | end | taint.cpp:914:48:914:51 | & ... | | +| taint.cpp:914:54:914:63 | ref arg & ... | taint.cpp:914:55:914:63 | remaining [inner post update] | | +| taint.cpp:914:55:914:63 | remaining | taint.cpp:914:54:914:63 | & ... | | +| taint.cpp:915:9:915:12 | dest | taint.cpp:915:8:915:12 | * ... | | +| taint.cpp:918:19:918:22 | {...} | taint.cpp:919:19:919:22 | dest | | +| taint.cpp:918:19:918:22 | {...} | taint.cpp:919:32:919:35 | dest | | +| taint.cpp:918:19:918:22 | {...} | taint.cpp:920:9:920:12 | dest | | +| taint.cpp:918:21:918:21 | 0 | taint.cpp:918:19:918:22 | {...} | TAINT | +| taint.cpp:919:19:919:22 | ref arg dest | taint.cpp:920:9:920:12 | dest | | +| taint.cpp:920:9:920:12 | dest | taint.cpp:920:8:920:12 | * ... | | +| taint.cpp:923:19:923:22 | {...} | taint.cpp:926:21:926:24 | dest | | +| taint.cpp:923:19:923:22 | {...} | taint.cpp:926:34:926:37 | dest | | +| taint.cpp:923:19:923:22 | {...} | taint.cpp:927:8:927:11 | dest | | +| taint.cpp:923:21:923:21 | 0 | taint.cpp:923:19:923:22 | {...} | TAINT | +| taint.cpp:924:9:924:11 | end | taint.cpp:926:55:926:57 | end | | +| taint.cpp:925:10:925:18 | remaining | taint.cpp:926:61:926:69 | remaining | | +| taint.cpp:926:21:926:24 | ref arg dest | taint.cpp:927:8:927:11 | dest | | +| taint.cpp:926:54:926:57 | ref arg & ... | taint.cpp:926:55:926:57 | end [inner post update] | | +| taint.cpp:926:55:926:57 | end | taint.cpp:926:54:926:57 | & ... | | +| taint.cpp:926:60:926:69 | ref arg & ... | taint.cpp:926:61:926:69 | remaining [inner post update] | | +| taint.cpp:926:61:926:69 | remaining | taint.cpp:926:60:926:69 | & ... | | +| taint.cpp:930:20:930:27 | prefix | taint.cpp:931:17:931:20 | dest | | +| taint.cpp:930:20:930:27 | prefix | taint.cpp:931:30:931:33 | dest | | +| taint.cpp:930:20:930:27 | prefix | taint.cpp:932:9:932:12 | dest | | +| taint.cpp:931:17:931:20 | ref arg dest | taint.cpp:932:9:932:12 | dest | | +| taint.cpp:932:9:932:12 | dest | taint.cpp:932:8:932:12 | * ... | | +| taint.cpp:935:23:935:31 | prefix | taint.cpp:936:17:936:20 | dest | | +| taint.cpp:935:23:935:31 | prefix | taint.cpp:936:30:936:33 | dest | | +| taint.cpp:935:23:935:31 | prefix | taint.cpp:937:9:937:12 | dest | | +| taint.cpp:936:17:936:20 | ref arg dest | taint.cpp:937:9:937:12 | dest | | +| taint.cpp:937:9:937:12 | dest | taint.cpp:937:8:937:12 | * ... | | +| taint.cpp:940:20:940:27 | prefix | taint.cpp:941:16:941:19 | dest | | +| taint.cpp:940:20:940:27 | prefix | taint.cpp:941:29:941:32 | dest | | +| taint.cpp:940:20:940:27 | prefix | taint.cpp:942:9:942:12 | dest | | +| taint.cpp:941:16:941:19 | ref arg dest | taint.cpp:942:9:942:12 | dest | | +| taint.cpp:942:9:942:12 | dest | taint.cpp:942:8:942:12 | * ... | | +| taint.cpp:945:20:945:27 | prefix | taint.cpp:948:19:948:22 | dest | | +| taint.cpp:945:20:945:27 | prefix | taint.cpp:948:32:948:35 | dest | | +| taint.cpp:945:20:945:27 | prefix | taint.cpp:949:9:949:12 | dest | | +| taint.cpp:946:9:946:11 | end | taint.cpp:948:48:948:50 | end | | +| taint.cpp:947:10:947:18 | remaining | taint.cpp:948:54:948:62 | remaining | | +| taint.cpp:948:19:948:22 | ref arg dest | taint.cpp:949:9:949:12 | dest | | +| taint.cpp:948:47:948:50 | ref arg & ... | taint.cpp:948:48:948:50 | end [inner post update] | | +| taint.cpp:948:48:948:50 | end | taint.cpp:948:47:948:50 | & ... | | +| taint.cpp:948:53:948:62 | ref arg & ... | taint.cpp:948:54:948:62 | remaining [inner post update] | | +| taint.cpp:948:54:948:62 | remaining | taint.cpp:948:53:948:62 | & ... | | +| taint.cpp:949:9:949:12 | dest | taint.cpp:949:8:949:12 | * ... | | +| taint.cpp:952:20:952:27 | prefix | taint.cpp:953:18:953:21 | dest | | +| taint.cpp:952:20:952:27 | prefix | taint.cpp:953:31:953:34 | dest | | +| taint.cpp:952:20:952:27 | prefix | taint.cpp:954:9:954:12 | dest | | +| taint.cpp:953:18:953:21 | ref arg dest | taint.cpp:954:9:954:12 | dest | | +| taint.cpp:954:9:954:12 | dest | taint.cpp:954:8:954:12 | * ... | | +| taint.cpp:957:20:957:27 | prefix | taint.cpp:960:20:960:23 | dest | | +| taint.cpp:957:20:957:27 | prefix | taint.cpp:960:33:960:36 | dest | | +| taint.cpp:957:20:957:27 | prefix | taint.cpp:961:9:961:12 | dest | | +| taint.cpp:958:9:958:11 | end | taint.cpp:960:54:960:56 | end | | +| taint.cpp:959:10:959:18 | remaining | taint.cpp:960:60:960:68 | remaining | | +| taint.cpp:960:20:960:23 | ref arg dest | taint.cpp:961:9:961:12 | dest | | +| taint.cpp:960:53:960:56 | ref arg & ... | taint.cpp:960:54:960:56 | end [inner post update] | | +| taint.cpp:960:54:960:56 | end | taint.cpp:960:53:960:56 | & ... | | +| taint.cpp:960:59:960:68 | ref arg & ... | taint.cpp:960:60:960:68 | remaining [inner post update] | | +| taint.cpp:960:60:960:68 | remaining | taint.cpp:960:59:960:68 | & ... | | +| taint.cpp:961:9:961:12 | dest | taint.cpp:961:8:961:12 | * ... | | +| taint.cpp:964:19:964:22 | {...} | taint.cpp:965:20:965:23 | dest | | +| taint.cpp:964:19:964:22 | {...} | taint.cpp:965:33:965:36 | dest | | +| taint.cpp:964:19:964:22 | {...} | taint.cpp:966:9:966:12 | dest | | +| taint.cpp:964:21:964:21 | 0 | taint.cpp:964:19:964:22 | {...} | TAINT | +| taint.cpp:965:20:965:23 | ref arg dest | taint.cpp:966:9:966:12 | dest | | +| taint.cpp:965:40:965:43 | %s | taint.cpp:965:20:965:23 | ref arg dest | TAINT | +| taint.cpp:965:46:965:51 | ref arg source | taint.cpp:975:45:975:50 | source | | +| taint.cpp:965:46:965:51 | ref arg source | taint.cpp:982:69:982:74 | source | | +| taint.cpp:965:46:965:51 | source | taint.cpp:965:20:965:23 | ref arg dest | TAINT | +| taint.cpp:966:9:966:12 | dest | taint.cpp:966:8:966:12 | * ... | | +| taint.cpp:969:22:969:25 | {...} | taint.cpp:970:20:970:23 | dest | | +| taint.cpp:969:22:969:25 | {...} | taint.cpp:970:33:970:36 | dest | | +| taint.cpp:969:22:969:25 | {...} | taint.cpp:971:9:971:12 | dest | | +| taint.cpp:969:24:969:24 | 0 | taint.cpp:969:22:969:25 | {...} | TAINT | +| taint.cpp:970:20:970:23 | ref arg dest | taint.cpp:971:9:971:12 | dest | | +| taint.cpp:970:40:970:44 | %s | taint.cpp:970:20:970:23 | ref arg dest | TAINT | +| taint.cpp:970:47:970:53 | wsource | taint.cpp:970:20:970:23 | ref arg dest | TAINT | +| taint.cpp:971:9:971:12 | dest | taint.cpp:971:8:971:12 | * ... | | +| taint.cpp:974:19:974:22 | {...} | taint.cpp:975:19:975:22 | dest | | +| taint.cpp:974:19:974:22 | {...} | taint.cpp:975:32:975:35 | dest | | +| taint.cpp:974:19:974:22 | {...} | taint.cpp:976:9:976:12 | dest | | +| taint.cpp:974:21:974:21 | 0 | taint.cpp:974:19:974:22 | {...} | TAINT | +| taint.cpp:975:19:975:22 | ref arg dest | taint.cpp:976:9:976:12 | dest | | +| taint.cpp:975:39:975:42 | %s | taint.cpp:975:19:975:22 | ref arg dest | TAINT | +| taint.cpp:975:45:975:50 | ref arg source | taint.cpp:982:69:982:74 | source | | +| taint.cpp:975:45:975:50 | source | taint.cpp:975:19:975:22 | ref arg dest | TAINT | +| taint.cpp:976:9:976:12 | dest | taint.cpp:976:8:976:12 | * ... | | +| taint.cpp:979:19:979:22 | {...} | taint.cpp:982:22:982:25 | dest | | +| taint.cpp:979:19:979:22 | {...} | taint.cpp:982:35:982:38 | dest | | +| taint.cpp:979:19:979:22 | {...} | taint.cpp:983:9:983:12 | dest | | +| taint.cpp:979:21:979:21 | 0 | taint.cpp:979:19:979:22 | {...} | TAINT | +| taint.cpp:980:9:980:11 | end | taint.cpp:982:43:982:45 | end | | +| taint.cpp:981:10:981:18 | remaining | taint.cpp:982:49:982:57 | remaining | | +| taint.cpp:982:22:982:25 | ref arg dest | taint.cpp:983:9:983:12 | dest | | +| taint.cpp:982:42:982:45 | ref arg & ... | taint.cpp:982:43:982:45 | end [inner post update] | | +| taint.cpp:982:43:982:45 | end | taint.cpp:982:42:982:45 | & ... | | +| taint.cpp:982:48:982:57 | ref arg & ... | taint.cpp:982:49:982:57 | remaining [inner post update] | | +| taint.cpp:982:49:982:57 | remaining | taint.cpp:982:48:982:57 | & ... | | +| taint.cpp:982:63:982:66 | %s | taint.cpp:982:22:982:25 | ref arg dest | TAINT | +| taint.cpp:982:69:982:74 | source | taint.cpp:982:22:982:25 | ref arg dest | TAINT | +| taint.cpp:983:9:983:12 | dest | taint.cpp:983:8:983:12 | * ... | | +| taint.cpp:986:19:986:22 | {...} | taint.cpp:988:20:988:23 | dest | | +| taint.cpp:986:19:986:22 | {...} | taint.cpp:988:33:988:36 | dest | | +| taint.cpp:986:19:986:22 | {...} | taint.cpp:989:9:989:12 | dest | | +| taint.cpp:986:21:986:21 | 0 | taint.cpp:986:19:986:22 | {...} | TAINT | +| taint.cpp:987:15:987:29 | call to indirect_source | taint.cpp:988:40:988:42 | fmt | | +| taint.cpp:988:20:988:23 | ref arg dest | taint.cpp:989:9:989:12 | dest | | +| taint.cpp:988:40:988:42 | fmt | taint.cpp:988:20:988:23 | ref arg dest | TAINT | +| taint.cpp:989:9:989:12 | dest | taint.cpp:989:8:989:12 | * ... | | +| taint.cpp:992:19:992:22 | {...} | taint.cpp:993:20:993:23 | dest | | +| taint.cpp:992:19:992:22 | {...} | taint.cpp:993:33:993:36 | dest | | +| taint.cpp:992:19:992:22 | {...} | taint.cpp:994:9:994:12 | dest | | +| taint.cpp:992:21:992:21 | 0 | taint.cpp:992:19:992:22 | {...} | TAINT | +| taint.cpp:993:20:993:23 | ref arg dest | taint.cpp:994:9:994:12 | dest | | +| taint.cpp:993:40:993:43 | %d | taint.cpp:993:20:993:23 | ref arg dest | TAINT | +| taint.cpp:993:46:993:47 | 42 | taint.cpp:993:20:993:23 | ref arg dest | TAINT | +| taint.cpp:994:9:994:12 | dest | taint.cpp:994:8:994:12 | * ... | | +| taint.cpp:997:19:997:22 | {...} | taint.cpp:998:18:998:21 | dest | | +| taint.cpp:997:19:997:22 | {...} | taint.cpp:998:31:998:34 | dest | | +| taint.cpp:997:19:997:22 | {...} | taint.cpp:999:9:999:12 | dest | | +| taint.cpp:997:21:997:21 | 0 | taint.cpp:997:19:997:22 | {...} | TAINT | +| taint.cpp:998:18:998:21 | ref arg dest | taint.cpp:999:9:999:12 | dest | | +| taint.cpp:999:9:999:12 | dest | taint.cpp:999:8:999:12 | * ... | | | thread.cpp:10:27:10:27 | s | thread.cpp:10:27:10:27 | s | | | thread.cpp:10:27:10:27 | s | thread.cpp:11:8:11:8 | s | | | thread.cpp:14:26:14:26 | s | thread.cpp:15:8:15:8 | s | | diff --git a/cpp/ql/test/library-tests/dataflow/taint-tests/taint.cpp b/cpp/ql/test/library-tests/dataflow/taint-tests/taint.cpp index fa32e192239..d1745fcd5e4 100644 --- a/cpp/ql/test/library-tests/dataflow/taint-tests/taint.cpp +++ b/cpp/ql/test/library-tests/dataflow/taint-tests/taint.cpp @@ -866,3 +866,136 @@ void test_iconv(size_t size) { iconv(0, &s, &size, &p, &size_out); sink(*p); // $ ast,ir } + +using va_list = void*; + +long StringCchCopyA(char *, size_t, const char *); +long StringCchCopyW(wchar_t *, size_t, const wchar_t *); +long StringCbCopyA(char *, size_t, const char *); +long StringCchCopyExA(char *, size_t, const char *, char **, size_t *, unsigned long); +long StringCchCopyNA(char *, size_t, const char *, size_t); +long StringCchCopyNExA(char *, size_t, const char *, size_t, char **, size_t *, unsigned long); +long StringCchCatA(char *, size_t, const char *); +long StringCchCatW(wchar_t *, size_t, const wchar_t *); +long StringCbCatA(char *, size_t, const char *); +long StringCchCatExA(char *, size_t, const char *, char **, size_t *, unsigned long); +long StringCchCatNA(char *, size_t, const char *, size_t); +long StringCchCatNExA(char *, size_t, const char *, size_t, char **, size_t *, unsigned long); +long StringCchPrintfA(char *, size_t, const char *, ...); +long StringCchPrintfW(wchar_t *, size_t, const wchar_t *, ...); +long StringCbPrintfA(char *, size_t, const char *, ...); +long StringCchPrintfExA(char *, size_t, char **, size_t *, unsigned long, const char *, ...); +long StringCchVPrintfA(char *, size_t, const char *, va_list); +long StringCchVPrintfExA(char *, size_t, char **, size_t *, unsigned long, const char *, va_list); + +void test_strsafe() { + char *source = indirect_source(); + wchar_t *wsource = (wchar_t *)indirect_source(); + + { + char dest[256] = {0}; + StringCchCopyA(dest, sizeof(dest), source); + sink(*dest); // $ MISSING: ir,ast + } + { + wchar_t dest[256] = {0}; + StringCchCopyW(dest, sizeof(dest), wsource); + sink(*dest); // $ MISSING: ir,ast + } + { + char dest[256] = {0}; + StringCbCopyA(dest, sizeof(dest), source); + sink(*dest); // $ MISSING: ir,ast + } + { + char dest[256] = {0}; + char *end; + size_t remaining; + StringCchCopyExA(dest, sizeof(dest), source, &end, &remaining, 0); + sink(*dest); // $ MISSING: ir,ast + } + { + char dest[256] = {0}; + StringCchCopyNA(dest, sizeof(dest), source, 128); + sink(*dest); // $ MISSING: ir,ast + } + { + char dest[256] = {0}; + char *end; + size_t remaining; + StringCchCopyNExA(dest, sizeof(dest), source, 128, &end, &remaining, 0); + sink(dest); // $ MISSING: ir,ast + } + { + char dest[256] = "prefix"; + StringCchCatA(dest, sizeof(dest), source); + sink(*dest); // $ MISSING: ir,ast + } + { + wchar_t dest[256] = L"prefix"; + StringCchCatW(dest, sizeof(dest), wsource); + sink(*dest); // $ MISSING: ir,ast + } + { + char dest[256] = "prefix"; + StringCbCatA(dest, sizeof(dest), source); + sink(*dest); // $ MISSING: ir,ast + } + { + char dest[256] = "prefix"; + char *end; + size_t remaining; + StringCchCatExA(dest, sizeof(dest), source, &end, &remaining, 0); + sink(*dest); // $ MISSING: ir,ast + } + { + char dest[256] = "prefix"; + StringCchCatNA(dest, sizeof(dest), source, 128); + sink(*dest); // $ MISSING: ir,ast + } + { + char dest[256] = "prefix"; + char *end; + size_t remaining; + StringCchCatNExA(dest, sizeof(dest), source, 128, &end, &remaining, 0); + sink(*dest); // $ MISSING: ir,ast + } + { + char dest[256] = {0}; + StringCchPrintfA(dest, sizeof(dest), "%s", source); + sink(*dest); // $ MISSING: ir,ast + } + { + wchar_t dest[256] = {0}; + StringCchPrintfW(dest, sizeof(dest), L"%s", wsource); + sink(*dest); // $ MISSING: ir,ast + } + { + char dest[256] = {0}; + StringCbPrintfA(dest, sizeof(dest), "%s", source); + sink(*dest); // $ MISSING: ir,ast + } + { + char dest[256] = {0}; + char *end; + size_t remaining; + StringCchPrintfExA(dest, sizeof(dest), &end, &remaining, 0, "%s", source); + sink(*dest); // $ MISSING: ir,ast + } + { + char dest[256] = {0}; + char *fmt = indirect_source(); + StringCchPrintfA(dest, sizeof(dest), fmt); + sink(*dest); // $ MISSING: ir,ast + } + { + char dest[256] = {0}; + StringCchPrintfA(dest, sizeof(dest), "%d", 42); + sink(*dest); // clean + } + { + char dest[256] = {0}; + StringCchCopyA(dest, sizeof(dest), "hello"); + sink(*dest); // clean + } +} diff --git a/cpp/ql/test/library-tests/dataflow/taint-tests/test_mad-signatures.expected b/cpp/ql/test/library-tests/dataflow/taint-tests/test_mad-signatures.expected index e0002aa9c03..5ad32759da5 100644 --- a/cpp/ql/test/library-tests/dataflow/taint-tests/test_mad-signatures.expected +++ b/cpp/ql/test/library-tests/dataflow/taint-tests/test_mad-signatures.expected @@ -28044,6 +28044,118 @@ getParameterTypeName | taint.cpp:859:8:859:12 | iconv | 4 | unsigned long * | | taint.cpp:861:6:861:15 | test_iconv | 0 | size_t | | taint.cpp:861:6:861:15 | test_iconv | 0 | unsigned long | +| taint.cpp:872:6:872:19 | StringCchCopyA | 0 | char * | +| taint.cpp:872:6:872:19 | StringCchCopyA | 1 | size_t | +| taint.cpp:872:6:872:19 | StringCchCopyA | 1 | unsigned long | +| taint.cpp:872:6:872:19 | StringCchCopyA | 2 | const char * | +| taint.cpp:873:6:873:19 | StringCchCopyW | 0 | wchar_t * | +| taint.cpp:873:6:873:19 | StringCchCopyW | 1 | size_t | +| taint.cpp:873:6:873:19 | StringCchCopyW | 1 | unsigned long | +| taint.cpp:873:6:873:19 | StringCchCopyW | 2 | const wchar_t * | +| taint.cpp:874:6:874:18 | StringCbCopyA | 0 | char * | +| taint.cpp:874:6:874:18 | StringCbCopyA | 1 | size_t | +| taint.cpp:874:6:874:18 | StringCbCopyA | 1 | unsigned long | +| taint.cpp:874:6:874:18 | StringCbCopyA | 2 | const char * | +| taint.cpp:875:6:875:21 | StringCchCopyExA | 0 | char * | +| taint.cpp:875:6:875:21 | StringCchCopyExA | 1 | size_t | +| taint.cpp:875:6:875:21 | StringCchCopyExA | 1 | unsigned long | +| taint.cpp:875:6:875:21 | StringCchCopyExA | 2 | const char * | +| taint.cpp:875:6:875:21 | StringCchCopyExA | 3 | char ** | +| taint.cpp:875:6:875:21 | StringCchCopyExA | 4 | size_t * | +| taint.cpp:875:6:875:21 | StringCchCopyExA | 4 | unsigned long * | +| taint.cpp:875:6:875:21 | StringCchCopyExA | 5 | unsigned long | +| taint.cpp:876:6:876:20 | StringCchCopyNA | 0 | char * | +| taint.cpp:876:6:876:20 | StringCchCopyNA | 1 | size_t | +| taint.cpp:876:6:876:20 | StringCchCopyNA | 1 | unsigned long | +| taint.cpp:876:6:876:20 | StringCchCopyNA | 2 | const char * | +| taint.cpp:876:6:876:20 | StringCchCopyNA | 3 | size_t | +| taint.cpp:876:6:876:20 | StringCchCopyNA | 3 | unsigned long | +| taint.cpp:877:6:877:22 | StringCchCopyNExA | 0 | char * | +| taint.cpp:877:6:877:22 | StringCchCopyNExA | 1 | size_t | +| taint.cpp:877:6:877:22 | StringCchCopyNExA | 1 | unsigned long | +| taint.cpp:877:6:877:22 | StringCchCopyNExA | 2 | const char * | +| taint.cpp:877:6:877:22 | StringCchCopyNExA | 3 | size_t | +| taint.cpp:877:6:877:22 | StringCchCopyNExA | 3 | unsigned long | +| taint.cpp:877:6:877:22 | StringCchCopyNExA | 4 | char ** | +| taint.cpp:877:6:877:22 | StringCchCopyNExA | 5 | size_t * | +| taint.cpp:877:6:877:22 | StringCchCopyNExA | 5 | unsigned long * | +| taint.cpp:877:6:877:22 | StringCchCopyNExA | 6 | unsigned long | +| taint.cpp:878:6:878:18 | StringCchCatA | 0 | char * | +| taint.cpp:878:6:878:18 | StringCchCatA | 1 | size_t | +| taint.cpp:878:6:878:18 | StringCchCatA | 1 | unsigned long | +| taint.cpp:878:6:878:18 | StringCchCatA | 2 | const char * | +| taint.cpp:879:6:879:18 | StringCchCatW | 0 | wchar_t * | +| taint.cpp:879:6:879:18 | StringCchCatW | 1 | size_t | +| taint.cpp:879:6:879:18 | StringCchCatW | 1 | unsigned long | +| taint.cpp:879:6:879:18 | StringCchCatW | 2 | const wchar_t * | +| taint.cpp:880:6:880:17 | StringCbCatA | 0 | char * | +| taint.cpp:880:6:880:17 | StringCbCatA | 1 | size_t | +| taint.cpp:880:6:880:17 | StringCbCatA | 1 | unsigned long | +| taint.cpp:880:6:880:17 | StringCbCatA | 2 | const char * | +| taint.cpp:881:6:881:20 | StringCchCatExA | 0 | char * | +| taint.cpp:881:6:881:20 | StringCchCatExA | 1 | size_t | +| taint.cpp:881:6:881:20 | StringCchCatExA | 1 | unsigned long | +| taint.cpp:881:6:881:20 | StringCchCatExA | 2 | const char * | +| taint.cpp:881:6:881:20 | StringCchCatExA | 3 | char ** | +| taint.cpp:881:6:881:20 | StringCchCatExA | 4 | size_t * | +| taint.cpp:881:6:881:20 | StringCchCatExA | 4 | unsigned long * | +| taint.cpp:881:6:881:20 | StringCchCatExA | 5 | unsigned long | +| taint.cpp:882:6:882:19 | StringCchCatNA | 0 | char * | +| taint.cpp:882:6:882:19 | StringCchCatNA | 1 | size_t | +| taint.cpp:882:6:882:19 | StringCchCatNA | 1 | unsigned long | +| taint.cpp:882:6:882:19 | StringCchCatNA | 2 | const char * | +| taint.cpp:882:6:882:19 | StringCchCatNA | 3 | size_t | +| taint.cpp:882:6:882:19 | StringCchCatNA | 3 | unsigned long | +| taint.cpp:883:6:883:21 | StringCchCatNExA | 0 | char * | +| taint.cpp:883:6:883:21 | StringCchCatNExA | 1 | size_t | +| taint.cpp:883:6:883:21 | StringCchCatNExA | 1 | unsigned long | +| taint.cpp:883:6:883:21 | StringCchCatNExA | 2 | const char * | +| taint.cpp:883:6:883:21 | StringCchCatNExA | 3 | size_t | +| taint.cpp:883:6:883:21 | StringCchCatNExA | 3 | unsigned long | +| taint.cpp:883:6:883:21 | StringCchCatNExA | 4 | char ** | +| taint.cpp:883:6:883:21 | StringCchCatNExA | 5 | size_t * | +| taint.cpp:883:6:883:21 | StringCchCatNExA | 5 | unsigned long * | +| taint.cpp:883:6:883:21 | StringCchCatNExA | 6 | unsigned long | +| taint.cpp:884:6:884:21 | StringCchPrintfA | 0 | char * | +| taint.cpp:884:6:884:21 | StringCchPrintfA | 1 | size_t | +| taint.cpp:884:6:884:21 | StringCchPrintfA | 1 | unsigned long | +| taint.cpp:884:6:884:21 | StringCchPrintfA | 2 | const char * | +| taint.cpp:884:6:884:21 | StringCchPrintfA | 3 | ... | +| taint.cpp:885:6:885:21 | StringCchPrintfW | 0 | wchar_t * | +| taint.cpp:885:6:885:21 | StringCchPrintfW | 1 | size_t | +| taint.cpp:885:6:885:21 | StringCchPrintfW | 1 | unsigned long | +| taint.cpp:885:6:885:21 | StringCchPrintfW | 2 | const wchar_t * | +| taint.cpp:885:6:885:21 | StringCchPrintfW | 3 | ... | +| taint.cpp:886:6:886:20 | StringCbPrintfA | 0 | char * | +| taint.cpp:886:6:886:20 | StringCbPrintfA | 1 | size_t | +| taint.cpp:886:6:886:20 | StringCbPrintfA | 1 | unsigned long | +| taint.cpp:886:6:886:20 | StringCbPrintfA | 2 | const char * | +| taint.cpp:886:6:886:20 | StringCbPrintfA | 3 | ... | +| taint.cpp:887:6:887:23 | StringCchPrintfExA | 0 | char * | +| taint.cpp:887:6:887:23 | StringCchPrintfExA | 1 | size_t | +| taint.cpp:887:6:887:23 | StringCchPrintfExA | 1 | unsigned long | +| taint.cpp:887:6:887:23 | StringCchPrintfExA | 2 | char ** | +| taint.cpp:887:6:887:23 | StringCchPrintfExA | 3 | size_t * | +| taint.cpp:887:6:887:23 | StringCchPrintfExA | 3 | unsigned long * | +| taint.cpp:887:6:887:23 | StringCchPrintfExA | 4 | unsigned long | +| taint.cpp:887:6:887:23 | StringCchPrintfExA | 5 | const char * | +| taint.cpp:887:6:887:23 | StringCchPrintfExA | 6 | ... | +| taint.cpp:888:6:888:22 | StringCchVPrintfA | 0 | char * | +| taint.cpp:888:6:888:22 | StringCchVPrintfA | 1 | size_t | +| taint.cpp:888:6:888:22 | StringCchVPrintfA | 1 | unsigned long | +| taint.cpp:888:6:888:22 | StringCchVPrintfA | 2 | const char * | +| taint.cpp:888:6:888:22 | StringCchVPrintfA | 3 | va_list | +| taint.cpp:888:6:888:22 | StringCchVPrintfA | 3 | void * | +| taint.cpp:889:6:889:24 | StringCchVPrintfExA | 0 | char * | +| taint.cpp:889:6:889:24 | StringCchVPrintfExA | 1 | size_t | +| taint.cpp:889:6:889:24 | StringCchVPrintfExA | 1 | unsigned long | +| taint.cpp:889:6:889:24 | StringCchVPrintfExA | 2 | char ** | +| taint.cpp:889:6:889:24 | StringCchVPrintfExA | 3 | size_t * | +| taint.cpp:889:6:889:24 | StringCchVPrintfExA | 3 | unsigned long * | +| taint.cpp:889:6:889:24 | StringCchVPrintfExA | 4 | unsigned long | +| taint.cpp:889:6:889:24 | StringCchVPrintfExA | 5 | const char * | +| taint.cpp:889:6:889:24 | StringCchVPrintfExA | 6 | va_list | +| taint.cpp:889:6:889:24 | StringCchVPrintfExA | 6 | void * | | thread.cpp:4:6:4:9 | sink | 0 | int | | thread.cpp:6:8:6:8 | operator= | 0 | S && | | thread.cpp:6:8:6:8 | operator= | 0 | const S & | From 2805f788ee30285fba24f04a0a7d4119fa489064 Mon Sep 17 00:00:00 2001 From: Mathias Vorreiter Pedersen Date: Tue, 28 Apr 2026 10:28:05 +0100 Subject: [PATCH 12/15] C++: Add strsafe.h model. --- cpp/ql/lib/ext/Strsafe.model.yml | 94 ++++++++++++++++++++++++++++++++ 1 file changed, 94 insertions(+) create mode 100644 cpp/ql/lib/ext/Strsafe.model.yml diff --git a/cpp/ql/lib/ext/Strsafe.model.yml b/cpp/ql/lib/ext/Strsafe.model.yml new file mode 100644 index 00000000000..44013854a06 --- /dev/null +++ b/cpp/ql/lib/ext/Strsafe.model.yml @@ -0,0 +1,94 @@ +# Models for strsafe.h safe string functions +extensions: + - addsTo: + pack: codeql/cpp-all + extensible: sourceModel + data: # namespace, type, subtypes, name, signature, ext, output, kind, provenance + # StringCchGets: (pszDest, cchDest) + - ["", "", False, "StringCchGetsA", "", "", "Argument[*0]", "local", "manual"] + - ["", "", False, "StringCchGetsW", "", "", "Argument[*0]", "local", "manual"] + # StringCbGets: (pszDest, cbDest) + - ["", "", False, "StringCbGetsA", "", "", "Argument[*0]", "local", "manual"] + - ["", "", False, "StringCbGetsW", "", "", "Argument[*0]", "local", "manual"] + # StringCchGetsEx: (pszDest, cchDest, ppszDestEnd, pcchRemaining, dwFlags) + - ["", "", False, "StringCchGetsExA", "", "", "Argument[*0]", "local", "manual"] + - ["", "", False, "StringCchGetsExW", "", "", "Argument[*0]", "local", "manual"] + # StringCbGetsEx: (pszDest, cbDest, ppszDestEnd, pcbRemaining, dwFlags) + - ["", "", False, "StringCbGetsExA", "", "", "Argument[*0]", "local", "manual"] + - ["", "", False, "StringCbGetsExW", "", "", "Argument[*0]", "local", "manual"] + - addsTo: + pack: codeql/cpp-all + extensible: summaryModel + data: # namespace, type, subtypes, name, signature, ext, input, output, kind, provenance + # StringCchCopy: (pszDest, cchDest, pszSrc) + - ["", "", False, "StringCchCopyA", "", "", "Argument[*2]", "Argument[*0]", "taint", "manual"] + - ["", "", False, "StringCchCopyW", "", "", "Argument[*2]", "Argument[*0]", "taint", "manual"] + # StringCbCopy: (pszDest, cbDest, pszSrc) + - ["", "", False, "StringCbCopyA", "", "", "Argument[*2]", "Argument[*0]", "taint", "manual"] + - ["", "", False, "StringCbCopyW", "", "", "Argument[*2]", "Argument[*0]", "taint", "manual"] + # StringCchCopyEx: (pszDest, cchDest, pszSrc, ppszDestEnd, pcchRemaining, dwFlags) + - ["", "", False, "StringCchCopyExA", "", "", "Argument[*2]", "Argument[*0]", "taint", "manual"] + - ["", "", False, "StringCchCopyExW", "", "", "Argument[*2]", "Argument[*0]", "taint", "manual"] + # StringCbCopyEx: (pszDest, cbDest, pszSrc, ppszDestEnd, pcbRemaining, dwFlags) + - ["", "", False, "StringCbCopyExA", "", "", "Argument[*2]", "Argument[*0]", "taint", "manual"] + - ["", "", False, "StringCbCopyExW", "", "", "Argument[*2]", "Argument[*0]", "taint", "manual"] + # StringCchCopyN: (pszDest, cchDest, pszSrc, cchToCopy) + - ["", "", False, "StringCchCopyNA", "", "", "Argument[*2]", "Argument[*0]", "taint", "manual"] + - ["", "", False, "StringCchCopyNW", "", "", "Argument[*2]", "Argument[*0]", "taint", "manual"] + # StringCbCopyN: (pszDest, cbDest, pszSrc, cbToCopy) + - ["", "", False, "StringCbCopyNA", "", "", "Argument[*2]", "Argument[*0]", "taint", "manual"] + - ["", "", False, "StringCbCopyNW", "", "", "Argument[*2]", "Argument[*0]", "taint", "manual"] + # StringCchCopyNEx: (pszDest, cchDest, pszSrc, cchToCopy, ppszDestEnd, pcchRemaining, dwFlags) + - ["", "", False, "StringCchCopyNExA", "", "", "Argument[*2]", "Argument[*0]", "taint", "manual"] + - ["", "", False, "StringCchCopyNExW", "", "", "Argument[*2]", "Argument[*0]", "taint", "manual"] + # StringCbCopyNEx: (pszDest, cbDest, pszSrc, cbToCopy, ppszDestEnd, pcbRemaining, dwFlags) + - ["", "", False, "StringCbCopyNExA", "", "", "Argument[*2]", "Argument[*0]", "taint", "manual"] + - ["", "", False, "StringCbCopyNExW", "", "", "Argument[*2]", "Argument[*0]", "taint", "manual"] + # StringCchCat: (pszDest, cchDest, pszSrc) + - ["", "", False, "StringCchCatA", "", "", "Argument[*2]", "Argument[*0]", "taint", "manual"] + - ["", "", False, "StringCchCatW", "", "", "Argument[*2]", "Argument[*0]", "taint", "manual"] + # StringCbCat: (pszDest, cbDest, pszSrc) + - ["", "", False, "StringCbCatA", "", "", "Argument[*2]", "Argument[*0]", "taint", "manual"] + - ["", "", False, "StringCbCatW", "", "", "Argument[*2]", "Argument[*0]", "taint", "manual"] + # StringCchCatEx: (pszDest, cchDest, pszSrc, ppszDestEnd, pcchRemaining, dwFlags) + - ["", "", False, "StringCchCatExA", "", "", "Argument[*2]", "Argument[*0]", "taint", "manual"] + - ["", "", False, "StringCchCatExW", "", "", "Argument[*2]", "Argument[*0]", "taint", "manual"] + # StringCbCatEx: (pszDest, cbDest, pszSrc, ppszDestEnd, pcbRemaining, dwFlags) + - ["", "", False, "StringCbCatExA", "", "", "Argument[*2]", "Argument[*0]", "taint", "manual"] + - ["", "", False, "StringCbCatExW", "", "", "Argument[*2]", "Argument[*0]", "taint", "manual"] + # StringCchCatN: (pszDest, cchDest, pszSrc, cchToAppend) + - ["", "", False, "StringCchCatNA", "", "", "Argument[*2]", "Argument[*0]", "taint", "manual"] + - ["", "", False, "StringCchCatNW", "", "", "Argument[*2]", "Argument[*0]", "taint", "manual"] + # StringCbCatN: (pszDest, cbDest, pszSrc, cbToAppend) + - ["", "", False, "StringCbCatNA", "", "", "Argument[*2]", "Argument[*0]", "taint", "manual"] + - ["", "", False, "StringCbCatNW", "", "", "Argument[*2]", "Argument[*0]", "taint", "manual"] + # StringCchCatNEx: (pszDest, cchDest, pszSrc, cchToAppend, ppszDestEnd, pcchRemaining, dwFlags) + - ["", "", False, "StringCchCatNExA", "", "", "Argument[*2]", "Argument[*0]", "taint", "manual"] + - ["", "", False, "StringCchCatNExW", "", "", "Argument[*2]", "Argument[*0]", "taint", "manual"] + # StringCbCatNEx: (pszDest, cbDest, pszSrc, cbToAppend, ppszDestEnd, pcbRemaining, dwFlags) + - ["", "", False, "StringCbCatNExA", "", "", "Argument[*2]", "Argument[*0]", "taint", "manual"] + - ["", "", False, "StringCbCatNExW", "", "", "Argument[*2]", "Argument[*0]", "taint", "manual"] + # StringCchPrintf: (pszDest, cchDest, pszFormat, ...) + - ["", "", False, "StringCchPrintfA", "", "", "Argument[*2..8]", "Argument[*0]", "taint", "manual"] + - ["", "", False, "StringCchPrintfW", "", "", "Argument[*2..8]", "Argument[*0]", "taint", "manual"] + # StringCbPrintf: (pszDest, cbDest, pszFormat, ...) + - ["", "", False, "StringCbPrintfA", "", "", "Argument[*2..8]", "Argument[*0]", "taint", "manual"] + - ["", "", False, "StringCbPrintfW", "", "", "Argument[*2..8]", "Argument[*0]", "taint", "manual"] + # StringCchPrintfEx: (pszDest, cchDest, ppszDestEnd, pcchRemaining, dwFlags, pszFormat, ...) + - ["", "", False, "StringCchPrintfExA", "", "", "Argument[*5..11]", "Argument[*0]", "taint", "manual"] + - ["", "", False, "StringCchPrintfExW", "", "", "Argument[*5..11]", "Argument[*0]", "taint", "manual"] + # StringCbPrintfEx: (pszDest, cbDest, ppszDestEnd, pcbRemaining, dwFlags, pszFormat, ...) + - ["", "", False, "StringCbPrintfExA", "", "", "Argument[*5..11]", "Argument[*0]", "taint", "manual"] + - ["", "", False, "StringCbPrintfExW", "", "", "Argument[*5..11]", "Argument[*0]", "taint", "manual"] + # StringCchVPrintf: (pszDest, cchDest, pszFormat, argList) + - ["", "", False, "StringCchVPrintfA", "", "", "Argument[*2]", "Argument[*0]", "taint", "manual"] + - ["", "", False, "StringCchVPrintfW", "", "", "Argument[*2]", "Argument[*0]", "taint", "manual"] + # StringCbVPrintf: (pszDest, cbDest, pszFormat, argList) + - ["", "", False, "StringCbVPrintfA", "", "", "Argument[*2]", "Argument[*0]", "taint", "manual"] + - ["", "", False, "StringCbVPrintfW", "", "", "Argument[*2]", "Argument[*0]", "taint", "manual"] + # StringCchVPrintfEx: (pszDest, cchDest, ppszDestEnd, pcchRemaining, dwFlags, pszFormat, argList) + - ["", "", False, "StringCchVPrintfExA", "", "", "Argument[*5]", "Argument[*0]", "taint", "manual"] + - ["", "", False, "StringCchVPrintfExW", "", "", "Argument[*5]", "Argument[*0]", "taint", "manual"] + # StringCbVPrintfEx: (pszDest, cbDest, ppszDestEnd, pcbRemaining, dwFlags, pszFormat, argList) + - ["", "", False, "StringCbVPrintfExA", "", "", "Argument[*5]", "Argument[*0]", "taint", "manual"] + - ["", "", False, "StringCbVPrintfExW", "", "", "Argument[*5]", "Argument[*0]", "taint", "manual"] From 86d8e362a11b33f9096bc0781b8ae4a00f1f542c Mon Sep 17 00:00:00 2001 From: Mathias Vorreiter Pedersen Date: Tue, 28 Apr 2026 10:28:13 +0100 Subject: [PATCH 13/15] C++: Accept test changes. --- .../source-sink-tests/sources-and-sinks.cpp | 4 +-- .../dataflow/taint-tests/taint.cpp | 34 +++++++++---------- 2 files changed, 19 insertions(+), 19 deletions(-) diff --git a/cpp/ql/test/library-tests/dataflow/source-sink-tests/sources-and-sinks.cpp b/cpp/ql/test/library-tests/dataflow/source-sink-tests/sources-and-sinks.cpp index 1df2923d306..e4947a112f8 100644 --- a/cpp/ql/test/library-tests/dataflow/source-sink-tests/sources-and-sinks.cpp +++ b/cpp/ql/test/library-tests/dataflow/source-sink-tests/sources-and-sinks.cpp @@ -122,12 +122,12 @@ long StringCchGetsExA(char *, size_t, char **, size_t *, unsigned long); void test_strsafe_gets() { { char dest[256] = {0}; - StringCchGetsA(dest, sizeof(dest)); // $ MISSING: local_source + StringCchGetsA(dest, sizeof(dest)); // $ local_source } { char dest[256] = {0}; char *end; size_t remaining; - StringCchGetsExA(dest, sizeof(dest), &end, &remaining, 0); // $ MISSING: local_source + StringCchGetsExA(dest, sizeof(dest), &end, &remaining, 0); // $ local_source } } diff --git a/cpp/ql/test/library-tests/dataflow/taint-tests/taint.cpp b/cpp/ql/test/library-tests/dataflow/taint-tests/taint.cpp index d1745fcd5e4..3168fb3a96f 100644 --- a/cpp/ql/test/library-tests/dataflow/taint-tests/taint.cpp +++ b/cpp/ql/test/library-tests/dataflow/taint-tests/taint.cpp @@ -895,98 +895,98 @@ void test_strsafe() { { char dest[256] = {0}; StringCchCopyA(dest, sizeof(dest), source); - sink(*dest); // $ MISSING: ir,ast + sink(*dest); // $ ir MISSING: ast } { wchar_t dest[256] = {0}; StringCchCopyW(dest, sizeof(dest), wsource); - sink(*dest); // $ MISSING: ir,ast + sink(*dest); // $ ir MISSING: ast } { char dest[256] = {0}; StringCbCopyA(dest, sizeof(dest), source); - sink(*dest); // $ MISSING: ir,ast + sink(*dest); // $ ir MISSING: ast } { char dest[256] = {0}; char *end; size_t remaining; StringCchCopyExA(dest, sizeof(dest), source, &end, &remaining, 0); - sink(*dest); // $ MISSING: ir,ast + sink(*dest); // $ ir MISSING: ast } { char dest[256] = {0}; StringCchCopyNA(dest, sizeof(dest), source, 128); - sink(*dest); // $ MISSING: ir,ast + sink(*dest); // $ ir MISSING: ast } { char dest[256] = {0}; char *end; size_t remaining; StringCchCopyNExA(dest, sizeof(dest), source, 128, &end, &remaining, 0); - sink(dest); // $ MISSING: ir,ast + sink(dest); // $ ir MISSING: ast } { char dest[256] = "prefix"; StringCchCatA(dest, sizeof(dest), source); - sink(*dest); // $ MISSING: ir,ast + sink(*dest); // $ ir MISSING: ast } { wchar_t dest[256] = L"prefix"; StringCchCatW(dest, sizeof(dest), wsource); - sink(*dest); // $ MISSING: ir,ast + sink(*dest); // $ ir MISSING: ast } { char dest[256] = "prefix"; StringCbCatA(dest, sizeof(dest), source); - sink(*dest); // $ MISSING: ir,ast + sink(*dest); // $ ir MISSING: ast } { char dest[256] = "prefix"; char *end; size_t remaining; StringCchCatExA(dest, sizeof(dest), source, &end, &remaining, 0); - sink(*dest); // $ MISSING: ir,ast + sink(*dest); // $ ir MISSING: ast } { char dest[256] = "prefix"; StringCchCatNA(dest, sizeof(dest), source, 128); - sink(*dest); // $ MISSING: ir,ast + sink(*dest); // $ ir MISSING: ast } { char dest[256] = "prefix"; char *end; size_t remaining; StringCchCatNExA(dest, sizeof(dest), source, 128, &end, &remaining, 0); - sink(*dest); // $ MISSING: ir,ast + sink(*dest); // $ ir MISSING: ast } { char dest[256] = {0}; StringCchPrintfA(dest, sizeof(dest), "%s", source); - sink(*dest); // $ MISSING: ir,ast + sink(*dest); // $ ir MISSING: ast } { wchar_t dest[256] = {0}; StringCchPrintfW(dest, sizeof(dest), L"%s", wsource); - sink(*dest); // $ MISSING: ir,ast + sink(*dest); // $ ir MISSING: ast } { char dest[256] = {0}; StringCbPrintfA(dest, sizeof(dest), "%s", source); - sink(*dest); // $ MISSING: ir,ast + sink(*dest); // $ ir MISSING: ast } { char dest[256] = {0}; char *end; size_t remaining; StringCchPrintfExA(dest, sizeof(dest), &end, &remaining, 0, "%s", source); - sink(*dest); // $ MISSING: ir,ast + sink(*dest); // $ ir MISSING: ast } { char dest[256] = {0}; char *fmt = indirect_source(); StringCchPrintfA(dest, sizeof(dest), fmt); - sink(*dest); // $ MISSING: ir,ast + sink(*dest); // $ ir MISSING: ast } { char dest[256] = {0}; From f28d5d2f593dfbbb9db9528a89cbde21f0a09724 Mon Sep 17 00:00:00 2001 From: Mathias Vorreiter Pedersen Date: Tue, 28 Apr 2026 10:57:04 +0100 Subject: [PATCH 14/15] C++: Add change note. --- cpp/ql/lib/change-notes/2026-04-28-strsafe.md | 4 ++++ 1 file changed, 4 insertions(+) create mode 100644 cpp/ql/lib/change-notes/2026-04-28-strsafe.md diff --git a/cpp/ql/lib/change-notes/2026-04-28-strsafe.md b/cpp/ql/lib/change-notes/2026-04-28-strsafe.md new file mode 100644 index 00000000000..9ef3fab0853 --- /dev/null +++ b/cpp/ql/lib/change-notes/2026-04-28-strsafe.md @@ -0,0 +1,4 @@ +--- +category: minorAnalysis +--- +* Added taint flow models for the `Strsafe.h` header from the Windows SDK. \ No newline at end of file From c59d6cb2a7b0020fc3fb91605a7381911365f05c Mon Sep 17 00:00:00 2001 From: Mathias Vorreiter Pedersen Date: Tue, 28 Apr 2026 11:35:08 +0100 Subject: [PATCH 15/15] C++: Accept query test change. --- .../NonConstantFormat/NonConstantFormat.expected | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/cpp/ql/test/query-tests/Likely Bugs/Format/NonConstantFormat/NonConstantFormat.expected b/cpp/ql/test/query-tests/Likely Bugs/Format/NonConstantFormat/NonConstantFormat.expected index 9424c731765..63851030bba 100644 --- a/cpp/ql/test/query-tests/Likely Bugs/Format/NonConstantFormat/NonConstantFormat.expected +++ b/cpp/ql/test/query-tests/Likely Bugs/Format/NonConstantFormat/NonConstantFormat.expected @@ -11,8 +11,13 @@ edges | nested.cpp:86:19:86:46 | *call to __builtin_alloca | nested.cpp:87:18:87:20 | *fmt | provenance | | | test.cpp:46:27:46:30 | **argv | test.cpp:130:20:130:26 | *access to array | provenance | | | test.cpp:167:31:167:34 | *data | test.cpp:170:12:170:14 | *res | provenance | DataFlowFunction | +| test.cpp:179:6:179:21 | [summary param] *2 in StringCchPrintfW | test.cpp:179:6:179:21 | [summary param] *0 in StringCchPrintfW [Return] | provenance | MaD:403 | +| test.cpp:193:32:193:34 | *str | test.cpp:195:31:195:33 | *str | provenance | | | test.cpp:193:32:193:34 | *str | test.cpp:195:31:195:33 | *str | provenance | | | test.cpp:193:32:193:34 | *str | test.cpp:197:11:197:14 | *wstr | provenance | TaintFunction | +| test.cpp:195:20:195:23 | StringCchPrintfW output argument | test.cpp:197:11:197:14 | *wstr | provenance | | +| test.cpp:195:31:195:33 | *str | test.cpp:179:6:179:21 | [summary param] *2 in StringCchPrintfW | provenance | | +| test.cpp:195:31:195:33 | *str | test.cpp:195:20:195:23 | StringCchPrintfW output argument | provenance | MaD:403 | | test.cpp:204:25:204:36 | *call to get_string | test.cpp:204:25:204:36 | *call to get_string | provenance | | | test.cpp:204:25:204:36 | *call to get_string | test.cpp:205:12:205:20 | *... + ... | provenance | | | test.cpp:204:25:204:36 | *call to get_string | test.cpp:206:12:206:16 | *hello | provenance | | @@ -55,7 +60,11 @@ nodes | test.cpp:130:20:130:26 | *access to array | semmle.label | *access to array | | test.cpp:167:31:167:34 | *data | semmle.label | *data | | test.cpp:170:12:170:14 | *res | semmle.label | *res | +| test.cpp:179:6:179:21 | [summary param] *0 in StringCchPrintfW [Return] | semmle.label | [summary param] *0 in StringCchPrintfW [Return] | +| test.cpp:179:6:179:21 | [summary param] *2 in StringCchPrintfW | semmle.label | [summary param] *2 in StringCchPrintfW | | test.cpp:193:32:193:34 | *str | semmle.label | *str | +| test.cpp:195:20:195:23 | StringCchPrintfW output argument | semmle.label | StringCchPrintfW output argument | +| test.cpp:195:31:195:33 | *str | semmle.label | *str | | test.cpp:195:31:195:33 | *str | semmle.label | *str | | test.cpp:197:11:197:14 | *wstr | semmle.label | *wstr | | test.cpp:204:25:204:36 | *call to get_string | semmle.label | *call to get_string | @@ -88,6 +97,7 @@ nodes | test.cpp:245:25:245:36 | *call to get_string | semmle.label | *call to get_string | | test.cpp:247:12:247:16 | *hello | semmle.label | *hello | subpaths +| test.cpp:195:31:195:33 | *str | test.cpp:179:6:179:21 | [summary param] *2 in StringCchPrintfW | test.cpp:179:6:179:21 | [summary param] *0 in StringCchPrintfW [Return] | test.cpp:195:20:195:23 | StringCchPrintfW output argument | #select | NonConstantFormat.c:30:10:30:16 | *access to array | NonConstantFormat.c:28:27:28:30 | **argv | NonConstantFormat.c:30:10:30:16 | *access to array | The format string argument to $@ has a source which cannot be verified to originate from a string literal. | NonConstantFormat.c:30:3:30:8 | call to printf | printf | | NonConstantFormat.c:41:9:41:45 | *call to any_random_function | NonConstantFormat.c:41:9:41:45 | *call to any_random_function | NonConstantFormat.c:41:9:41:45 | *call to any_random_function | The format string argument to $@ has a source which cannot be verified to originate from a string literal. | NonConstantFormat.c:41:2:41:7 | call to printf | printf |