Skip to content

Commit 940e492

Browse files
authored
Merge pull request github#12551 from github/release-prep/2.12.5
Release preparation for version 2.12.5
2 parents 8aa9207 + 66b03db commit 940e492

File tree

119 files changed

+491
-229
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

119 files changed

+491
-229
lines changed

cpp/ql/lib/CHANGELOG.md

Lines changed: 43 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,46 @@
1+
## 0.6.0
2+
3+
### Breaking Changes
4+
5+
* The `semmle.code.cpp.commons.Buffer` and `semmle.code.cpp.commons.NullTermination` libraries no longer expose `semmle.code.cpp.dataflow.DataFlow`. Please import `semmle.code.cpp.dataflow.DataFlow` directly.
6+
7+
### Deprecated APIs
8+
9+
* The `WriteConfig` taint tracking configuration has been deprecated. Please use `WriteFlow`.
10+
11+
### New Features
12+
13+
* Added support for merging two `PathGraph`s via disjoint union to allow results from multiple data flow computations in a single `path-problem` query.
14+
15+
### Major Analysis Improvements
16+
17+
* A new C/C++ dataflow library (`semmle.code.cpp.dataflow.new.DataFlow`) has been added.
18+
The new library behaves much more like the dataflow library of other CodeQL supported
19+
languages by following use-use dataflow paths instead of def-use dataflow paths.
20+
The new library also better supports dataflow through indirections, and new predicates
21+
such as `Node::asIndirectExpr` have been added to facilitate working with indirections.
22+
23+
The `semmle.code.cpp.ir.dataflow.DataFlow` library is now identical to the new
24+
`semmle.code.cpp.dataflow.new.DataFlow` library.
25+
* The main data flow and taint tracking APIs have been changed. The old APIs
26+
remain in place for now and translate to the new through a
27+
backwards-compatible wrapper. If multiple configurations are in scope
28+
simultaneously, then this may affect results slightly. The new API is quite
29+
similar to the old, but makes use of a configuration module instead of a
30+
configuration class.
31+
32+
### Minor Analysis Improvements
33+
34+
* Deleted the deprecated `hasGeneratedCopyConstructor` and `hasGeneratedCopyAssignmentOperator` predicates from the `Folder` class.
35+
* Deleted the deprecated `getPath` and `getFolder` predicates from the `XmlFile` class.
36+
* Deleted the deprecated `getMustlockFunction`, `getTrylockFunction`, `getLockFunction`, and `getUnlockFunction` predicates from the `MutexType` class.
37+
* Deleted the deprecated `getPosInBasicBlock` predicate from the `SubBasicBlock` class.
38+
* Deleted the deprecated `getExpr` predicate from the `PointerDereferenceExpr` class.
39+
* Deleted the deprecated `getUseInstruction` and `getDefinitionInstruction` predicates from the `Operand` class.
40+
* Deleted the deprecated `isInParameter`, `isInParameterPointer`, and `isInQualifier` predicates from the `FunctionInput` class.
41+
* Deleted the deprecated `isOutParameterPointer`, `isOutQualifier`, `isOutReturnValue`, and `isOutReturnPointer` predicate from the `FunctionOutput` class.
42+
* Deleted the deprecated 3-argument `isGuardPhi` predicate from the `RangeSsaDefinition` class.
43+
144
## 0.5.4
245

346
No user-facing changes.

cpp/ql/lib/change-notes/2023-02-10-buffer-and-nill-termination-dataflow.md

Lines changed: 0 additions & 4 deletions
This file was deleted.

cpp/ql/lib/change-notes/2023-03-02-dataflow-conf-module.md

Lines changed: 0 additions & 9 deletions
This file was deleted.

cpp/ql/lib/change-notes/2023-03-03-delete-deps.md

Lines changed: 0 additions & 12 deletions
This file was deleted.

cpp/ql/lib/change-notes/2023-03-08-deprecated-dataflow-configurations.md

Lines changed: 0 additions & 4 deletions
This file was deleted.

cpp/ql/lib/change-notes/2023-03-13-mergepathgraph.md

Lines changed: 0 additions & 4 deletions
This file was deleted.

cpp/ql/lib/change-notes/2023-03-16-use-use-flow.md

Lines changed: 0 additions & 11 deletions
This file was deleted.
Lines changed: 42 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,42 @@
1+
## 0.6.0
2+
3+
### Breaking Changes
4+
5+
* The `semmle.code.cpp.commons.Buffer` and `semmle.code.cpp.commons.NullTermination` libraries no longer expose `semmle.code.cpp.dataflow.DataFlow`. Please import `semmle.code.cpp.dataflow.DataFlow` directly.
6+
7+
### Deprecated APIs
8+
9+
* The `WriteConfig` taint tracking configuration has been deprecated. Please use `WriteFlow`.
10+
11+
### New Features
12+
13+
* Added support for merging two `PathGraph`s via disjoint union to allow results from multiple data flow computations in a single `path-problem` query.
14+
15+
### Major Analysis Improvements
16+
17+
* A new C/C++ dataflow library (`semmle.code.cpp.dataflow.new.DataFlow`) has been added.
18+
The new library behaves much more like the dataflow library of other CodeQL supported
19+
languages by following use-use dataflow paths instead of def-use dataflow paths.
20+
The new library also better supports dataflow through indirections, and new predicates
21+
such as `Node::asIndirectExpr` have been added to facilitate working with indirections.
22+
23+
The `semmle.code.cpp.ir.dataflow.DataFlow` library is now identical to the new
24+
`semmle.code.cpp.dataflow.new.DataFlow` library.
25+
* The main data flow and taint tracking APIs have been changed. The old APIs
26+
remain in place for now and translate to the new through a
27+
backwards-compatible wrapper. If multiple configurations are in scope
28+
simultaneously, then this may affect results slightly. The new API is quite
29+
similar to the old, but makes use of a configuration module instead of a
30+
configuration class.
31+
32+
### Minor Analysis Improvements
33+
34+
* Deleted the deprecated `hasGeneratedCopyConstructor` and `hasGeneratedCopyAssignmentOperator` predicates from the `Folder` class.
35+
* Deleted the deprecated `getPath` and `getFolder` predicates from the `XmlFile` class.
36+
* Deleted the deprecated `getMustlockFunction`, `getTrylockFunction`, `getLockFunction`, and `getUnlockFunction` predicates from the `MutexType` class.
37+
* Deleted the deprecated `getPosInBasicBlock` predicate from the `SubBasicBlock` class.
38+
* Deleted the deprecated `getExpr` predicate from the `PointerDereferenceExpr` class.
39+
* Deleted the deprecated `getUseInstruction` and `getDefinitionInstruction` predicates from the `Operand` class.
40+
* Deleted the deprecated `isInParameter`, `isInParameterPointer`, and `isInQualifier` predicates from the `FunctionInput` class.
41+
* Deleted the deprecated `isOutParameterPointer`, `isOutQualifier`, `isOutReturnValue`, and `isOutReturnPointer` predicate from the `FunctionOutput` class.
42+
* Deleted the deprecated 3-argument `isGuardPhi` predicate from the `RangeSsaDefinition` class.

cpp/ql/lib/codeql-pack.release.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,2 +1,2 @@
11
---
2-
lastReleaseVersion: 0.5.4
2+
lastReleaseVersion: 0.6.0

cpp/ql/lib/qlpack.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
name: codeql/cpp-all
2-
version: 0.5.5-dev
2+
version: 0.6.0
33
groups: cpp
44
dbscheme: semmlecode.cpp.dbscheme
55
extractor: cpp

0 commit comments

Comments
 (0)