diff --git a/cpp/ql/lib/CHANGELOG.md b/cpp/ql/lib/CHANGELOG.md index d4603cef8b4..f99ae98ab84 100644 --- a/cpp/ql/lib/CHANGELOG.md +++ b/cpp/ql/lib/CHANGELOG.md @@ -1,3 +1,24 @@ +## 0.0.12 + +### Breaking Changes + +* The flow state variants of `isBarrier` and `isAdditionalFlowStep` are no longer exposed in the taint tracking library. The `isSanitizer` and `isAdditionalTaintStep` predicates should be used instead. + +### Deprecated APIs + +* Many classes/predicates/modules that had upper-case acronyms have been renamed to follow our style-guide. + The old name still exists as a deprecated alias. + +### New Features + +* The data flow and taint tracking libraries have been extended with versions of `isBarrierIn`, `isBarrierOut`, and `isBarrierGuard`, respectively `isSanitizerIn`, `isSanitizerOut`, and `isSanitizerGuard`, that support flow states. + +### Minor Analysis Improvements + +* `DefaultOptions::exits` now holds for C11 functions with the `_Noreturn` or `noreturn` specifier. +* `hasImplicitCopyConstructor` and `hasImplicitCopyAssignmentOperator` now correctly handle implicitly-deleted operators in templates. +* All deprecated predicates/classes/modules that have been deprecated for over a year have been deleted. + ## 0.0.11 ### Minor Analysis Improvements diff --git a/cpp/ql/lib/change-notes/2022-02-07-deleted-deprecations.md b/cpp/ql/lib/change-notes/2022-02-07-deleted-deprecations.md deleted file mode 100644 index e8da1e8e158..00000000000 --- a/cpp/ql/lib/change-notes/2022-02-07-deleted-deprecations.md +++ /dev/null @@ -1,4 +0,0 @@ ---- -category: minorAnalysis ---- -* All deprecated predicates/classes/modules that have been deprecated for over a year have been deleted. \ No newline at end of file diff --git a/cpp/ql/lib/change-notes/2022-02-07-deprecated-acronyms.md b/cpp/ql/lib/change-notes/2022-02-07-deprecated-acronyms.md deleted file mode 100644 index a79f286aacd..00000000000 --- a/cpp/ql/lib/change-notes/2022-02-07-deprecated-acronyms.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -category: deprecated ---- -* Many classes/predicates/modules that had upper-case acronyms have been renamed to follow our style-guide. - The old name still exists as a deprecated alias. \ No newline at end of file diff --git a/cpp/ql/lib/change-notes/2022-03-10-template-implicit-copy.md b/cpp/ql/lib/change-notes/2022-03-10-template-implicit-copy.md deleted file mode 100644 index fe2afba6568..00000000000 --- a/cpp/ql/lib/change-notes/2022-03-10-template-implicit-copy.md +++ /dev/null @@ -1,4 +0,0 @@ ---- -category: minorAnalysis ---- -* `hasImplicitCopyConstructor` and `hasImplicitCopyAssignmentOperator` now correctly handle implicitly-deleted operators in templates. \ No newline at end of file diff --git a/cpp/ql/lib/change-notes/2022-03-14-c11-noreturn.md b/cpp/ql/lib/change-notes/2022-03-14-c11-noreturn.md deleted file mode 100644 index c74e1ab9820..00000000000 --- a/cpp/ql/lib/change-notes/2022-03-14-c11-noreturn.md +++ /dev/null @@ -1,4 +0,0 @@ ---- -category: minorAnalysis ---- -* `DefaultOptions::exits` now holds for C11 functions with the `_Noreturn` or `noreturn` specifier. diff --git a/cpp/ql/lib/change-notes/2022-03-14-flow-state-barriers.md b/cpp/ql/lib/change-notes/2022-03-14-flow-state-barriers.md deleted file mode 100644 index af6247a66fa..00000000000 --- a/cpp/ql/lib/change-notes/2022-03-14-flow-state-barriers.md +++ /dev/null @@ -1,4 +0,0 @@ ---- -category: feature ---- -* The data flow and taint tracking libraries have been extended with versions of `isBarrierIn`, `isBarrierOut`, and `isBarrierGuard`, respectively `isSanitizerIn`, `isSanitizerOut`, and `isSanitizerGuard`, that support flow states. diff --git a/cpp/ql/lib/change-notes/2022-03-14-taint-interface-cleanup.md b/cpp/ql/lib/change-notes/2022-03-14-taint-interface-cleanup.md deleted file mode 100644 index 3481d507db3..00000000000 --- a/cpp/ql/lib/change-notes/2022-03-14-taint-interface-cleanup.md +++ /dev/null @@ -1,4 +0,0 @@ ---- -category: breaking ---- -* The flow state variants of `isBarrier` and `isAdditionalFlowStep` are no longer exposed in the taint tracking library. The `isSanitizer` and `isAdditionalTaintStep` predicates should be used instead. diff --git a/cpp/ql/lib/change-notes/released/0.0.12.md b/cpp/ql/lib/change-notes/released/0.0.12.md new file mode 100644 index 00000000000..099524281ee --- /dev/null +++ b/cpp/ql/lib/change-notes/released/0.0.12.md @@ -0,0 +1,20 @@ +## 0.0.12 + +### Breaking Changes + +* The flow state variants of `isBarrier` and `isAdditionalFlowStep` are no longer exposed in the taint tracking library. The `isSanitizer` and `isAdditionalTaintStep` predicates should be used instead. + +### Deprecated APIs + +* Many classes/predicates/modules that had upper-case acronyms have been renamed to follow our style-guide. + The old name still exists as a deprecated alias. + +### New Features + +* The data flow and taint tracking libraries have been extended with versions of `isBarrierIn`, `isBarrierOut`, and `isBarrierGuard`, respectively `isSanitizerIn`, `isSanitizerOut`, and `isSanitizerGuard`, that support flow states. + +### Minor Analysis Improvements + +* `DefaultOptions::exits` now holds for C11 functions with the `_Noreturn` or `noreturn` specifier. +* `hasImplicitCopyConstructor` and `hasImplicitCopyAssignmentOperator` now correctly handle implicitly-deleted operators in templates. +* All deprecated predicates/classes/modules that have been deprecated for over a year have been deleted. diff --git a/cpp/ql/lib/codeql-pack.release.yml b/cpp/ql/lib/codeql-pack.release.yml index e679dc42092..997fb8da83c 100644 --- a/cpp/ql/lib/codeql-pack.release.yml +++ b/cpp/ql/lib/codeql-pack.release.yml @@ -1,2 +1,2 @@ --- -lastReleaseVersion: 0.0.11 +lastReleaseVersion: 0.0.12 diff --git a/cpp/ql/lib/qlpack.yml b/cpp/ql/lib/qlpack.yml index f76e7c23f6f..d0ecc0b1b8b 100644 --- a/cpp/ql/lib/qlpack.yml +++ b/cpp/ql/lib/qlpack.yml @@ -1,5 +1,5 @@ name: codeql/cpp-all -version: 0.0.12-dev +version: 0.0.12 groups: cpp dbscheme: semmlecode.cpp.dbscheme extractor: cpp diff --git a/cpp/ql/src/CHANGELOG.md b/cpp/ql/src/CHANGELOG.md index 2125fbac519..c842e92bf4e 100644 --- a/cpp/ql/src/CHANGELOG.md +++ b/cpp/ql/src/CHANGELOG.md @@ -1,3 +1,10 @@ +## 0.0.12 + +### Minor Analysis Improvements + +* The `cpp/overflow-destination`, `cpp/unclear-array-index-validation`, and `cpp/uncontrolled-allocation-size` queries have been modernized and converted to `path-problem` queries and provide more true positive results. +* The `cpp/system-data-exposure` query has been increased from `medium` to `high` precision, following a number of improvements to the query logic. + ## 0.0.11 ### Breaking Changes diff --git a/cpp/ql/src/change-notes/2022-03-07-system-data-exposure.md b/cpp/ql/src/change-notes/2022-03-07-system-data-exposure.md deleted file mode 100644 index 372a3a8391b..00000000000 --- a/cpp/ql/src/change-notes/2022-03-07-system-data-exposure.md +++ /dev/null @@ -1,4 +0,0 @@ ---- -category: minorAnalysis ---- -* The `cpp/system-data-exposure` query has been increased from `medium` to `high` precision, following a number of improvements to the query logic. diff --git a/cpp/ql/src/change-notes/2022-03-10-port-three-queries-to-taint-tracking.md b/cpp/ql/src/change-notes/released/0.0.12.md similarity index 53% rename from cpp/ql/src/change-notes/2022-03-10-port-three-queries-to-taint-tracking.md rename to cpp/ql/src/change-notes/released/0.0.12.md index 249249152f7..1d690444435 100644 --- a/cpp/ql/src/change-notes/2022-03-10-port-three-queries-to-taint-tracking.md +++ b/cpp/ql/src/change-notes/released/0.0.12.md @@ -1,4 +1,6 @@ ---- -category: minorAnalysis ---- +## 0.0.12 + +### Minor Analysis Improvements + * The `cpp/overflow-destination`, `cpp/unclear-array-index-validation`, and `cpp/uncontrolled-allocation-size` queries have been modernized and converted to `path-problem` queries and provide more true positive results. +* The `cpp/system-data-exposure` query has been increased from `medium` to `high` precision, following a number of improvements to the query logic. diff --git a/cpp/ql/src/codeql-pack.release.yml b/cpp/ql/src/codeql-pack.release.yml index e679dc42092..997fb8da83c 100644 --- a/cpp/ql/src/codeql-pack.release.yml +++ b/cpp/ql/src/codeql-pack.release.yml @@ -1,2 +1,2 @@ --- -lastReleaseVersion: 0.0.11 +lastReleaseVersion: 0.0.12 diff --git a/cpp/ql/src/qlpack.yml b/cpp/ql/src/qlpack.yml index a9d08527b8c..044e9091ec4 100644 --- a/cpp/ql/src/qlpack.yml +++ b/cpp/ql/src/qlpack.yml @@ -1,5 +1,5 @@ name: codeql/cpp-queries -version: 0.0.12-dev +version: 0.0.12 groups: - cpp - queries diff --git a/csharp/ql/campaigns/Solorigate/lib/CHANGELOG.md b/csharp/ql/campaigns/Solorigate/lib/CHANGELOG.md index 1fa8e6a97a1..d3be3601118 100644 --- a/csharp/ql/campaigns/Solorigate/lib/CHANGELOG.md +++ b/csharp/ql/campaigns/Solorigate/lib/CHANGELOG.md @@ -1,3 +1,5 @@ +## 1.0.6 + ## 1.0.5 ## 1.0.4 diff --git a/csharp/ql/campaigns/Solorigate/lib/change-notes/released/1.0.6.md b/csharp/ql/campaigns/Solorigate/lib/change-notes/released/1.0.6.md new file mode 100644 index 00000000000..60834c3f336 --- /dev/null +++ b/csharp/ql/campaigns/Solorigate/lib/change-notes/released/1.0.6.md @@ -0,0 +1 @@ +## 1.0.6 diff --git a/csharp/ql/campaigns/Solorigate/lib/codeql-pack.release.yml b/csharp/ql/campaigns/Solorigate/lib/codeql-pack.release.yml index 42da17b3841..8033d980afa 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.0.5 +lastReleaseVersion: 1.0.6 diff --git a/csharp/ql/campaigns/Solorigate/lib/qlpack.yml b/csharp/ql/campaigns/Solorigate/lib/qlpack.yml index 2306b6e3f7a..77254ca177e 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.0.6-dev +version: 1.0.6 groups: - csharp - solorigate diff --git a/csharp/ql/campaigns/Solorigate/src/CHANGELOG.md b/csharp/ql/campaigns/Solorigate/src/CHANGELOG.md index 1fa8e6a97a1..d3be3601118 100644 --- a/csharp/ql/campaigns/Solorigate/src/CHANGELOG.md +++ b/csharp/ql/campaigns/Solorigate/src/CHANGELOG.md @@ -1,3 +1,5 @@ +## 1.0.6 + ## 1.0.5 ## 1.0.4 diff --git a/csharp/ql/campaigns/Solorigate/src/change-notes/released/1.0.6.md b/csharp/ql/campaigns/Solorigate/src/change-notes/released/1.0.6.md new file mode 100644 index 00000000000..60834c3f336 --- /dev/null +++ b/csharp/ql/campaigns/Solorigate/src/change-notes/released/1.0.6.md @@ -0,0 +1 @@ +## 1.0.6 diff --git a/csharp/ql/campaigns/Solorigate/src/codeql-pack.release.yml b/csharp/ql/campaigns/Solorigate/src/codeql-pack.release.yml index 42da17b3841..8033d980afa 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.0.5 +lastReleaseVersion: 1.0.6 diff --git a/csharp/ql/campaigns/Solorigate/src/qlpack.yml b/csharp/ql/campaigns/Solorigate/src/qlpack.yml index e066d816c4b..5fc6c7bb80b 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.0.6-dev +version: 1.0.6 groups: - csharp - solorigate diff --git a/csharp/ql/lib/CHANGELOG.md b/csharp/ql/lib/CHANGELOG.md index 68e312fb659..a5cca8d313a 100644 --- a/csharp/ql/lib/CHANGELOG.md +++ b/csharp/ql/lib/CHANGELOG.md @@ -1,3 +1,22 @@ +## 0.0.12 + +### Breaking Changes + +* The flow state variants of `isBarrier` and `isAdditionalFlowStep` are no longer exposed in the taint tracking library. The `isSanitizer` and `isAdditionalTaintStep` predicates should be used instead. + +### Deprecated APIs + +* Many classes/predicates/modules that had upper-case acronyms have been renamed to follow our style-guide. + The old name still exists as a deprecated alias. + +### New Features + +* The data flow and taint tracking libraries have been extended with versions of `isBarrierIn`, `isBarrierOut`, and `isBarrierGuard`, respectively `isSanitizerIn`, `isSanitizerOut`, and `isSanitizerGuard`, that support flow states. + +### Minor Analysis Improvements + +* All deprecated predicates/classes/modules that have been deprecated for over a year have been deleted. + ## 0.0.11 ### Breaking Changes diff --git a/csharp/ql/lib/change-notes/2022-02-07-deleted-deprecations.md b/csharp/ql/lib/change-notes/2022-02-07-deleted-deprecations.md deleted file mode 100644 index e8da1e8e158..00000000000 --- a/csharp/ql/lib/change-notes/2022-02-07-deleted-deprecations.md +++ /dev/null @@ -1,4 +0,0 @@ ---- -category: minorAnalysis ---- -* All deprecated predicates/classes/modules that have been deprecated for over a year have been deleted. \ No newline at end of file diff --git a/csharp/ql/lib/change-notes/2022-02-07-deprecated-acronyms.md b/csharp/ql/lib/change-notes/2022-02-07-deprecated-acronyms.md deleted file mode 100644 index a79f286aacd..00000000000 --- a/csharp/ql/lib/change-notes/2022-02-07-deprecated-acronyms.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -category: deprecated ---- -* Many classes/predicates/modules that had upper-case acronyms have been renamed to follow our style-guide. - The old name still exists as a deprecated alias. \ No newline at end of file diff --git a/csharp/ql/lib/change-notes/2022-03-14-flow-state-barriers.md b/csharp/ql/lib/change-notes/2022-03-14-flow-state-barriers.md deleted file mode 100644 index af6247a66fa..00000000000 --- a/csharp/ql/lib/change-notes/2022-03-14-flow-state-barriers.md +++ /dev/null @@ -1,4 +0,0 @@ ---- -category: feature ---- -* The data flow and taint tracking libraries have been extended with versions of `isBarrierIn`, `isBarrierOut`, and `isBarrierGuard`, respectively `isSanitizerIn`, `isSanitizerOut`, and `isSanitizerGuard`, that support flow states. diff --git a/csharp/ql/lib/change-notes/2022-03-14-taint-interface-cleanup.md b/csharp/ql/lib/change-notes/2022-03-14-taint-interface-cleanup.md deleted file mode 100644 index 3481d507db3..00000000000 --- a/csharp/ql/lib/change-notes/2022-03-14-taint-interface-cleanup.md +++ /dev/null @@ -1,4 +0,0 @@ ---- -category: breaking ---- -* The flow state variants of `isBarrier` and `isAdditionalFlowStep` are no longer exposed in the taint tracking library. The `isSanitizer` and `isAdditionalTaintStep` predicates should be used instead. diff --git a/csharp/ql/lib/change-notes/released/0.0.12.md b/csharp/ql/lib/change-notes/released/0.0.12.md new file mode 100644 index 00000000000..2be5a554dbb --- /dev/null +++ b/csharp/ql/lib/change-notes/released/0.0.12.md @@ -0,0 +1,18 @@ +## 0.0.12 + +### Breaking Changes + +* The flow state variants of `isBarrier` and `isAdditionalFlowStep` are no longer exposed in the taint tracking library. The `isSanitizer` and `isAdditionalTaintStep` predicates should be used instead. + +### Deprecated APIs + +* Many classes/predicates/modules that had upper-case acronyms have been renamed to follow our style-guide. + The old name still exists as a deprecated alias. + +### New Features + +* The data flow and taint tracking libraries have been extended with versions of `isBarrierIn`, `isBarrierOut`, and `isBarrierGuard`, respectively `isSanitizerIn`, `isSanitizerOut`, and `isSanitizerGuard`, that support flow states. + +### Minor Analysis Improvements + +* All deprecated predicates/classes/modules that have been deprecated for over a year have been deleted. diff --git a/csharp/ql/lib/codeql-pack.release.yml b/csharp/ql/lib/codeql-pack.release.yml index e679dc42092..997fb8da83c 100644 --- a/csharp/ql/lib/codeql-pack.release.yml +++ b/csharp/ql/lib/codeql-pack.release.yml @@ -1,2 +1,2 @@ --- -lastReleaseVersion: 0.0.11 +lastReleaseVersion: 0.0.12 diff --git a/csharp/ql/lib/qlpack.yml b/csharp/ql/lib/qlpack.yml index d17d3a6388c..6ac26d4e497 100644 --- a/csharp/ql/lib/qlpack.yml +++ b/csharp/ql/lib/qlpack.yml @@ -1,5 +1,5 @@ name: codeql/csharp-all -version: 0.0.12-dev +version: 0.0.12 groups: csharp dbscheme: semmlecode.csharp.dbscheme extractor: csharp diff --git a/csharp/ql/src/CHANGELOG.md b/csharp/ql/src/CHANGELOG.md index dc356239a96..9f72f6de844 100644 --- a/csharp/ql/src/CHANGELOG.md +++ b/csharp/ql/src/CHANGELOG.md @@ -1,3 +1,5 @@ +## 0.0.12 + ## 0.0.11 ### Minor Analysis Improvements diff --git a/csharp/ql/src/change-notes/released/0.0.12.md b/csharp/ql/src/change-notes/released/0.0.12.md new file mode 100644 index 00000000000..a8e2f0b468e --- /dev/null +++ b/csharp/ql/src/change-notes/released/0.0.12.md @@ -0,0 +1 @@ +## 0.0.12 diff --git a/csharp/ql/src/codeql-pack.release.yml b/csharp/ql/src/codeql-pack.release.yml index e679dc42092..997fb8da83c 100644 --- a/csharp/ql/src/codeql-pack.release.yml +++ b/csharp/ql/src/codeql-pack.release.yml @@ -1,2 +1,2 @@ --- -lastReleaseVersion: 0.0.11 +lastReleaseVersion: 0.0.12 diff --git a/csharp/ql/src/qlpack.yml b/csharp/ql/src/qlpack.yml index a15e7a8f71d..653981d6453 100644 --- a/csharp/ql/src/qlpack.yml +++ b/csharp/ql/src/qlpack.yml @@ -1,5 +1,5 @@ name: codeql/csharp-queries -version: 0.0.12-dev +version: 0.0.12 groups: - csharp - queries diff --git a/java/ql/lib/CHANGELOG.md b/java/ql/lib/CHANGELOG.md index db971f8c7dd..4191186f25f 100644 --- a/java/ql/lib/CHANGELOG.md +++ b/java/ql/lib/CHANGELOG.md @@ -1,3 +1,24 @@ +## 0.0.12 + +### Breaking Changes + +* The flow state variants of `isBarrier` and `isAdditionalFlowStep` are no longer exposed in the taint tracking library. The `isSanitizer` and `isAdditionalTaintStep` predicates should be used instead. + +### Deprecated APIs + +* Many classes/predicates/modules that had upper-case acronyms have been renamed to follow our style-guide. + The old name still exists as a deprecated alias. + +### New Features + +* The data flow and taint tracking libraries have been extended with versions of `isBarrierIn`, `isBarrierOut`, and `isBarrierGuard`, respectively `isSanitizerIn`, `isSanitizerOut`, and `isSanitizerGuard`, that support flow states. + +### Minor Analysis Improvements + + * Added support for detection of SSRF via JDBC database URLs, including connections made using the standard library (`java.sql`), Hikari Connection Pool, JDBI and Spring JDBC. + * Re-removed support for `CharacterLiteral` from `CompileTimeConstantExpr.getStringValue()` to restore the convention that that predicate only applies to `String`-typed constants. +* All deprecated predicates/classes/modules that have been deprecated for over a year have been deleted. + ## 0.0.11 ### New Features diff --git a/java/ql/lib/change-notes/2022-02-07-deleted-deprecations.md b/java/ql/lib/change-notes/2022-02-07-deleted-deprecations.md deleted file mode 100644 index e8da1e8e158..00000000000 --- a/java/ql/lib/change-notes/2022-02-07-deleted-deprecations.md +++ /dev/null @@ -1,4 +0,0 @@ ---- -category: minorAnalysis ---- -* All deprecated predicates/classes/modules that have been deprecated for over a year have been deleted. \ No newline at end of file diff --git a/java/ql/lib/change-notes/2022-02-07-deprecated-acronyms.md b/java/ql/lib/change-notes/2022-02-07-deprecated-acronyms.md deleted file mode 100644 index a79f286aacd..00000000000 --- a/java/ql/lib/change-notes/2022-02-07-deprecated-acronyms.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -category: deprecated ---- -* Many classes/predicates/modules that had upper-case acronyms have been renamed to follow our style-guide. - The old name still exists as a deprecated alias. \ No newline at end of file diff --git a/java/ql/lib/change-notes/2022-03-11-revert-8325.md b/java/ql/lib/change-notes/2022-03-11-revert-8325.md deleted file mode 100644 index d38d6327819..00000000000 --- a/java/ql/lib/change-notes/2022-03-11-revert-8325.md +++ /dev/null @@ -1,4 +0,0 @@ ---- -category: minorAnalysis ---- - * Re-removed support for `CharacterLiteral` from `CompileTimeConstantExpr.getStringValue()` to restore the convention that that predicate only applies to `String`-typed constants. diff --git a/java/ql/lib/change-notes/2022-03-14-flow-state-barriers.md b/java/ql/lib/change-notes/2022-03-14-flow-state-barriers.md deleted file mode 100644 index af6247a66fa..00000000000 --- a/java/ql/lib/change-notes/2022-03-14-flow-state-barriers.md +++ /dev/null @@ -1,4 +0,0 @@ ---- -category: feature ---- -* The data flow and taint tracking libraries have been extended with versions of `isBarrierIn`, `isBarrierOut`, and `isBarrierGuard`, respectively `isSanitizerIn`, `isSanitizerOut`, and `isSanitizerGuard`, that support flow states. diff --git a/java/ql/lib/change-notes/2022-03-14-new-jdbc-ssrf-sinks.md b/java/ql/lib/change-notes/2022-03-14-new-jdbc-ssrf-sinks.md deleted file mode 100644 index c154b12cfad..00000000000 --- a/java/ql/lib/change-notes/2022-03-14-new-jdbc-ssrf-sinks.md +++ /dev/null @@ -1,4 +0,0 @@ ---- -category: minorAnalysis ---- - * Added support for detection of SSRF via JDBC database URLs, including connections made using the standard library (`java.sql`), Hikari Connection Pool, JDBI and Spring JDBC. diff --git a/java/ql/lib/change-notes/2022-03-14-taint-interface-cleanup.md b/java/ql/lib/change-notes/2022-03-14-taint-interface-cleanup.md deleted file mode 100644 index 3481d507db3..00000000000 --- a/java/ql/lib/change-notes/2022-03-14-taint-interface-cleanup.md +++ /dev/null @@ -1,4 +0,0 @@ ---- -category: breaking ---- -* The flow state variants of `isBarrier` and `isAdditionalFlowStep` are no longer exposed in the taint tracking library. The `isSanitizer` and `isAdditionalTaintStep` predicates should be used instead. diff --git a/java/ql/lib/change-notes/released/0.0.12.md b/java/ql/lib/change-notes/released/0.0.12.md new file mode 100644 index 00000000000..115b3338e40 --- /dev/null +++ b/java/ql/lib/change-notes/released/0.0.12.md @@ -0,0 +1,20 @@ +## 0.0.12 + +### Breaking Changes + +* The flow state variants of `isBarrier` and `isAdditionalFlowStep` are no longer exposed in the taint tracking library. The `isSanitizer` and `isAdditionalTaintStep` predicates should be used instead. + +### Deprecated APIs + +* Many classes/predicates/modules that had upper-case acronyms have been renamed to follow our style-guide. + The old name still exists as a deprecated alias. + +### New Features + +* The data flow and taint tracking libraries have been extended with versions of `isBarrierIn`, `isBarrierOut`, and `isBarrierGuard`, respectively `isSanitizerIn`, `isSanitizerOut`, and `isSanitizerGuard`, that support flow states. + +### Minor Analysis Improvements + + * Added support for detection of SSRF via JDBC database URLs, including connections made using the standard library (`java.sql`), Hikari Connection Pool, JDBI and Spring JDBC. + * Re-removed support for `CharacterLiteral` from `CompileTimeConstantExpr.getStringValue()` to restore the convention that that predicate only applies to `String`-typed constants. +* All deprecated predicates/classes/modules that have been deprecated for over a year have been deleted. diff --git a/java/ql/lib/codeql-pack.release.yml b/java/ql/lib/codeql-pack.release.yml index e679dc42092..997fb8da83c 100644 --- a/java/ql/lib/codeql-pack.release.yml +++ b/java/ql/lib/codeql-pack.release.yml @@ -1,2 +1,2 @@ --- -lastReleaseVersion: 0.0.11 +lastReleaseVersion: 0.0.12 diff --git a/java/ql/lib/qlpack.yml b/java/ql/lib/qlpack.yml index 41d541a67fb..f081649b41a 100644 --- a/java/ql/lib/qlpack.yml +++ b/java/ql/lib/qlpack.yml @@ -1,5 +1,5 @@ name: codeql/java-all -version: 0.0.12-dev +version: 0.0.12 groups: java dbscheme: config/semmlecode.dbscheme extractor: java diff --git a/java/ql/src/CHANGELOG.md b/java/ql/src/CHANGELOG.md index b2887d972db..43c746ab95c 100644 --- a/java/ql/src/CHANGELOG.md +++ b/java/ql/src/CHANGELOG.md @@ -1,3 +1,15 @@ +## 0.0.12 + +### New Queries + +* The query "Insertion of sensitive information into log files" (`java/sensitive-logging`) has been promoted from experimental to the main query pack. This query was originally [submitted as an experimental query by @luchua-bc](https://github.com/github/codeql/pull/3090). + +### Minor Analysis Improvements + + * Added new guards `IsWindowsGuard`, `IsSpecificWindowsVariant`, `IsUnixGuard`, and `IsSpecificUnixVariant` to detect OS specific guards. + * Added a new predicate `getSystemProperty` that gets all expressions that retrieve system properties from a variety of sources (eg. alternative JDK API's, Google Guava, Apache Commons, Apache IO, etc..). + * Updated "Local information disclosure in a temporary directory" (`java/local-temp-file-or-directory-information-disclosure`) to remove false-positives when OS is properly used as logical guard. + ## 0.0.11 ## 0.0.10 diff --git a/java/ql/src/change-notes/2022-03-11-sensitive-logging.md b/java/ql/src/change-notes/2022-03-11-sensitive-logging.md deleted file mode 100644 index cfc4693b1cb..00000000000 --- a/java/ql/src/change-notes/2022-03-11-sensitive-logging.md +++ /dev/null @@ -1,4 +0,0 @@ ---- -category: newQuery ---- -* The query "Insertion of sensitive information into log files" (`java/sensitive-logging`) has been promoted from experimental to the main query pack. This query was originally [submitted as an experimental query by @luchua-bc](https://github.com/github/codeql/pull/3090). \ No newline at end of file diff --git a/java/ql/src/change-notes/2022-02-14-os-guards.md b/java/ql/src/change-notes/released/0.0.12.md similarity index 61% rename from java/ql/src/change-notes/2022-02-14-os-guards.md rename to java/ql/src/change-notes/released/0.0.12.md index a3a24edb916..d8c97cdfe2c 100644 --- a/java/ql/src/change-notes/2022-02-14-os-guards.md +++ b/java/ql/src/change-notes/released/0.0.12.md @@ -1,7 +1,11 @@ ---- -category: minorAnalysis ---- +## 0.0.12 + +### New Queries + +* The query "Insertion of sensitive information into log files" (`java/sensitive-logging`) has been promoted from experimental to the main query pack. This query was originally [submitted as an experimental query by @luchua-bc](https://github.com/github/codeql/pull/3090). + +### Minor Analysis Improvements + * Added new guards `IsWindowsGuard`, `IsSpecificWindowsVariant`, `IsUnixGuard`, and `IsSpecificUnixVariant` to detect OS specific guards. * Added a new predicate `getSystemProperty` that gets all expressions that retrieve system properties from a variety of sources (eg. alternative JDK API's, Google Guava, Apache Commons, Apache IO, etc..). * Updated "Local information disclosure in a temporary directory" (`java/local-temp-file-or-directory-information-disclosure`) to remove false-positives when OS is properly used as logical guard. - diff --git a/java/ql/src/codeql-pack.release.yml b/java/ql/src/codeql-pack.release.yml index e679dc42092..997fb8da83c 100644 --- a/java/ql/src/codeql-pack.release.yml +++ b/java/ql/src/codeql-pack.release.yml @@ -1,2 +1,2 @@ --- -lastReleaseVersion: 0.0.11 +lastReleaseVersion: 0.0.12 diff --git a/java/ql/src/qlpack.yml b/java/ql/src/qlpack.yml index b27efa16aca..e59cb789dd7 100644 --- a/java/ql/src/qlpack.yml +++ b/java/ql/src/qlpack.yml @@ -1,5 +1,5 @@ name: codeql/java-queries -version: 0.0.12-dev +version: 0.0.12 groups: - java - queries diff --git a/javascript/ql/lib/CHANGELOG.md b/javascript/ql/lib/CHANGELOG.md index d916a226c7f..173806a12bf 100644 --- a/javascript/ql/lib/CHANGELOG.md +++ b/javascript/ql/lib/CHANGELOG.md @@ -1,3 +1,18 @@ +## 0.0.13 + +### Deprecated APIs + +* Some predicates from `DefUse.qll`, `DataFlow.qll`, `TaintTracking.qll`, `DOM.qll`, `Definitions.qll` that weren't used by any query have been deprecated. + The documentation for each predicate points to an alternative. +* Many classes/predicates/modules that had upper-case acronyms have been renamed to follow our style-guide. + The old name still exists as a deprecated alias. +* Some modules that started with a lowercase letter have been renamed to follow our style-guide. + The old name still exists as a deprecated alias. + +### Minor Analysis Improvements + +* All deprecated predicates/classes/modules that have been deprecated for over a year have been deleted. + ## 0.0.12 ### Major Analysis Improvements diff --git a/javascript/ql/lib/change-notes/2022-02-07-deleted-deprecations.md b/javascript/ql/lib/change-notes/2022-02-07-deleted-deprecations.md deleted file mode 100644 index e8da1e8e158..00000000000 --- a/javascript/ql/lib/change-notes/2022-02-07-deleted-deprecations.md +++ /dev/null @@ -1,4 +0,0 @@ ---- -category: minorAnalysis ---- -* All deprecated predicates/classes/modules that have been deprecated for over a year have been deleted. \ No newline at end of file diff --git a/javascript/ql/lib/change-notes/2022-02-07-deprecated-acronyms.md b/javascript/ql/lib/change-notes/2022-02-07-deprecated-acronyms.md deleted file mode 100644 index a79f286aacd..00000000000 --- a/javascript/ql/lib/change-notes/2022-02-07-deprecated-acronyms.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -category: deprecated ---- -* Many classes/predicates/modules that had upper-case acronyms have been renamed to follow our style-guide. - The old name still exists as a deprecated alias. \ No newline at end of file diff --git a/javascript/ql/lib/change-notes/2022-02-07-deprecated-modules.md b/javascript/ql/lib/change-notes/2022-02-07-deprecated-modules.md deleted file mode 100644 index 561f68a150c..00000000000 --- a/javascript/ql/lib/change-notes/2022-02-07-deprecated-modules.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -category: deprecated ---- -* Some modules that started with a lowercase letter have been renamed to follow our style-guide. - The old name still exists as a deprecated alias. \ No newline at end of file diff --git a/javascript/ql/lib/change-notes/2022-02-14-deprecated-predicates.md b/javascript/ql/lib/change-notes/2022-02-14-deprecated-predicates.md deleted file mode 100644 index 1b8bc1d53e8..00000000000 --- a/javascript/ql/lib/change-notes/2022-02-14-deprecated-predicates.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -category: deprecated ---- -* Some predicates from `DefUse.qll`, `DataFlow.qll`, `TaintTracking.qll`, `DOM.qll`, `Definitions.qll` that weren't used by any query have been deprecated. - The documentation for each predicate points to an alternative. diff --git a/javascript/ql/lib/change-notes/released/0.0.13.md b/javascript/ql/lib/change-notes/released/0.0.13.md new file mode 100644 index 00000000000..4e235b48c02 --- /dev/null +++ b/javascript/ql/lib/change-notes/released/0.0.13.md @@ -0,0 +1,14 @@ +## 0.0.13 + +### Deprecated APIs + +* Some predicates from `DefUse.qll`, `DataFlow.qll`, `TaintTracking.qll`, `DOM.qll`, `Definitions.qll` that weren't used by any query have been deprecated. + The documentation for each predicate points to an alternative. +* Many classes/predicates/modules that had upper-case acronyms have been renamed to follow our style-guide. + The old name still exists as a deprecated alias. +* Some modules that started with a lowercase letter have been renamed to follow our style-guide. + The old name still exists as a deprecated alias. + +### Minor Analysis Improvements + +* All deprecated predicates/classes/modules that have been deprecated for over a year have been deleted. diff --git a/javascript/ql/lib/codeql-pack.release.yml b/javascript/ql/lib/codeql-pack.release.yml index 997fb8da83c..044e54e4f7e 100644 --- a/javascript/ql/lib/codeql-pack.release.yml +++ b/javascript/ql/lib/codeql-pack.release.yml @@ -1,2 +1,2 @@ --- -lastReleaseVersion: 0.0.12 +lastReleaseVersion: 0.0.13 diff --git a/javascript/ql/lib/qlpack.yml b/javascript/ql/lib/qlpack.yml index 306591ab074..ce84bfd1705 100644 --- a/javascript/ql/lib/qlpack.yml +++ b/javascript/ql/lib/qlpack.yml @@ -1,5 +1,5 @@ name: codeql/javascript-all -version: 0.0.13-dev +version: 0.0.13 groups: javascript dbscheme: semmlecode.javascript.dbscheme extractor: javascript diff --git a/javascript/ql/src/CHANGELOG.md b/javascript/ql/src/CHANGELOG.md index ff7152ddc0a..82678b1d8c7 100644 --- a/javascript/ql/src/CHANGELOG.md +++ b/javascript/ql/src/CHANGELOG.md @@ -1,3 +1,11 @@ +## 0.0.13 + +### Minor Analysis Improvements + +* Fixed an issue that would sometimes prevent the data-flow analysis from finding flow + paths through a function that stores its result on an object. + This may lead to more results for the security queries. + ## 0.0.12 ## 0.0.11 diff --git a/javascript/ql/src/change-notes/2022-03-18-store-load-flow-context-sensitivity-bug.md b/javascript/ql/src/change-notes/released/0.0.13.md similarity index 82% rename from javascript/ql/src/change-notes/2022-03-18-store-load-flow-context-sensitivity-bug.md rename to javascript/ql/src/change-notes/released/0.0.13.md index c9275680e00..8b07d94c17e 100644 --- a/javascript/ql/src/change-notes/2022-03-18-store-load-flow-context-sensitivity-bug.md +++ b/javascript/ql/src/change-notes/released/0.0.13.md @@ -1,6 +1,7 @@ ---- -category: minorAnalysis ---- +## 0.0.13 + +### Minor Analysis Improvements + * Fixed an issue that would sometimes prevent the data-flow analysis from finding flow paths through a function that stores its result on an object. This may lead to more results for the security queries. diff --git a/javascript/ql/src/codeql-pack.release.yml b/javascript/ql/src/codeql-pack.release.yml index 997fb8da83c..044e54e4f7e 100644 --- a/javascript/ql/src/codeql-pack.release.yml +++ b/javascript/ql/src/codeql-pack.release.yml @@ -1,2 +1,2 @@ --- -lastReleaseVersion: 0.0.12 +lastReleaseVersion: 0.0.13 diff --git a/javascript/ql/src/qlpack.yml b/javascript/ql/src/qlpack.yml index b72f7230ac9..82d8904fb20 100644 --- a/javascript/ql/src/qlpack.yml +++ b/javascript/ql/src/qlpack.yml @@ -1,5 +1,5 @@ name: codeql/javascript-queries -version: 0.0.13-dev +version: 0.0.13 groups: - javascript - queries diff --git a/python/ql/lib/CHANGELOG.md b/python/ql/lib/CHANGELOG.md index a27de64e175..2d698a4068e 100644 --- a/python/ql/lib/CHANGELOG.md +++ b/python/ql/lib/CHANGELOG.md @@ -1,3 +1,24 @@ +## 0.0.12 + +### Breaking Changes + +* The flow state variants of `isBarrier` and `isAdditionalFlowStep` are no longer exposed in the taint tracking library. The `isSanitizer` and `isAdditionalTaintStep` predicates should be used instead. + +### Deprecated APIs + +* Many classes/predicates/modules that had upper-case acronyms have been renamed to follow our style-guide. + The old name still exists as a deprecated alias. +* Some modules that started with a lowercase letter have been renamed to follow our style-guide. + The old name still exists as a deprecated alias. + +### New Features + +* The data flow and taint tracking libraries have been extended with versions of `isBarrierIn`, `isBarrierOut`, and `isBarrierGuard`, respectively `isSanitizerIn`, `isSanitizerOut`, and `isSanitizerGuard`, that support flow states. + +### Minor Analysis Improvements + +* All deprecated predicates/classes/modules that have been deprecated for over a year have been deleted. + ## 0.0.11 ### Minor Analysis Improvements diff --git a/python/ql/lib/change-notes/2022-02-07-deleted-deprecations.md b/python/ql/lib/change-notes/2022-02-07-deleted-deprecations.md deleted file mode 100644 index e8da1e8e158..00000000000 --- a/python/ql/lib/change-notes/2022-02-07-deleted-deprecations.md +++ /dev/null @@ -1,4 +0,0 @@ ---- -category: minorAnalysis ---- -* All deprecated predicates/classes/modules that have been deprecated for over a year have been deleted. \ No newline at end of file diff --git a/python/ql/lib/change-notes/2022-02-07-deprecated-acronyms.md b/python/ql/lib/change-notes/2022-02-07-deprecated-acronyms.md deleted file mode 100644 index a79f286aacd..00000000000 --- a/python/ql/lib/change-notes/2022-02-07-deprecated-acronyms.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -category: deprecated ---- -* Many classes/predicates/modules that had upper-case acronyms have been renamed to follow our style-guide. - The old name still exists as a deprecated alias. \ No newline at end of file diff --git a/python/ql/lib/change-notes/2022-02-07-deprecated-modules.md b/python/ql/lib/change-notes/2022-02-07-deprecated-modules.md deleted file mode 100644 index 561f68a150c..00000000000 --- a/python/ql/lib/change-notes/2022-02-07-deprecated-modules.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -category: deprecated ---- -* Some modules that started with a lowercase letter have been renamed to follow our style-guide. - The old name still exists as a deprecated alias. \ No newline at end of file diff --git a/python/ql/lib/change-notes/2022-03-14-flow-state-barriers.md b/python/ql/lib/change-notes/2022-03-14-flow-state-barriers.md deleted file mode 100644 index af6247a66fa..00000000000 --- a/python/ql/lib/change-notes/2022-03-14-flow-state-barriers.md +++ /dev/null @@ -1,4 +0,0 @@ ---- -category: feature ---- -* The data flow and taint tracking libraries have been extended with versions of `isBarrierIn`, `isBarrierOut`, and `isBarrierGuard`, respectively `isSanitizerIn`, `isSanitizerOut`, and `isSanitizerGuard`, that support flow states. diff --git a/python/ql/lib/change-notes/2022-03-14-taint-interface-cleanup.md b/python/ql/lib/change-notes/2022-03-14-taint-interface-cleanup.md deleted file mode 100644 index 3481d507db3..00000000000 --- a/python/ql/lib/change-notes/2022-03-14-taint-interface-cleanup.md +++ /dev/null @@ -1,4 +0,0 @@ ---- -category: breaking ---- -* The flow state variants of `isBarrier` and `isAdditionalFlowStep` are no longer exposed in the taint tracking library. The `isSanitizer` and `isAdditionalTaintStep` predicates should be used instead. diff --git a/python/ql/lib/change-notes/released/0.0.12.md b/python/ql/lib/change-notes/released/0.0.12.md new file mode 100644 index 00000000000..da94470d88d --- /dev/null +++ b/python/ql/lib/change-notes/released/0.0.12.md @@ -0,0 +1,20 @@ +## 0.0.12 + +### Breaking Changes + +* The flow state variants of `isBarrier` and `isAdditionalFlowStep` are no longer exposed in the taint tracking library. The `isSanitizer` and `isAdditionalTaintStep` predicates should be used instead. + +### Deprecated APIs + +* Many classes/predicates/modules that had upper-case acronyms have been renamed to follow our style-guide. + The old name still exists as a deprecated alias. +* Some modules that started with a lowercase letter have been renamed to follow our style-guide. + The old name still exists as a deprecated alias. + +### New Features + +* The data flow and taint tracking libraries have been extended with versions of `isBarrierIn`, `isBarrierOut`, and `isBarrierGuard`, respectively `isSanitizerIn`, `isSanitizerOut`, and `isSanitizerGuard`, that support flow states. + +### Minor Analysis Improvements + +* All deprecated predicates/classes/modules that have been deprecated for over a year have been deleted. diff --git a/python/ql/lib/codeql-pack.release.yml b/python/ql/lib/codeql-pack.release.yml index e679dc42092..997fb8da83c 100644 --- a/python/ql/lib/codeql-pack.release.yml +++ b/python/ql/lib/codeql-pack.release.yml @@ -1,2 +1,2 @@ --- -lastReleaseVersion: 0.0.11 +lastReleaseVersion: 0.0.12 diff --git a/python/ql/lib/qlpack.yml b/python/ql/lib/qlpack.yml index bb519f0f44b..354bb761b20 100644 --- a/python/ql/lib/qlpack.yml +++ b/python/ql/lib/qlpack.yml @@ -1,5 +1,5 @@ name: codeql/python-all -version: 0.0.12-dev +version: 0.0.12 groups: python dbscheme: semmlecode.python.dbscheme extractor: python diff --git a/python/ql/src/CHANGELOG.md b/python/ql/src/CHANGELOG.md index 7a987e04da3..a0cd639c095 100644 --- a/python/ql/src/CHANGELOG.md +++ b/python/ql/src/CHANGELOG.md @@ -1,3 +1,5 @@ +## 0.0.12 + ## 0.0.11 ### New Queries diff --git a/python/ql/src/change-notes/released/0.0.12.md b/python/ql/src/change-notes/released/0.0.12.md new file mode 100644 index 00000000000..a8e2f0b468e --- /dev/null +++ b/python/ql/src/change-notes/released/0.0.12.md @@ -0,0 +1 @@ +## 0.0.12 diff --git a/python/ql/src/codeql-pack.release.yml b/python/ql/src/codeql-pack.release.yml index e679dc42092..997fb8da83c 100644 --- a/python/ql/src/codeql-pack.release.yml +++ b/python/ql/src/codeql-pack.release.yml @@ -1,2 +1,2 @@ --- -lastReleaseVersion: 0.0.11 +lastReleaseVersion: 0.0.12 diff --git a/python/ql/src/qlpack.yml b/python/ql/src/qlpack.yml index 9e4b8141aee..45e8d63602c 100644 --- a/python/ql/src/qlpack.yml +++ b/python/ql/src/qlpack.yml @@ -1,5 +1,5 @@ name: codeql/python-queries -version: 0.0.12-dev +version: 0.0.12 groups: - python - queries diff --git a/ruby/ql/lib/CHANGELOG.md b/ruby/ql/lib/CHANGELOG.md index 1c0bd7abbbc..66736220ccb 100644 --- a/ruby/ql/lib/CHANGELOG.md +++ b/ruby/ql/lib/CHANGELOG.md @@ -1,3 +1,24 @@ +## 0.0.12 + +### Breaking Changes + +* The flow state variants of `isBarrier` and `isAdditionalFlowStep` are no longer exposed in the taint tracking library. The `isSanitizer` and `isAdditionalTaintStep` predicates should be used instead. + +### Deprecated APIs + +* Many classes/predicates/modules that had upper-case acronyms have been renamed to follow our style-guide. + The old name still exists as a deprecated alias. + +### New Features + +* The data flow and taint tracking libraries have been extended with versions of `isBarrierIn`, `isBarrierOut`, and `isBarrierGuard`, respectively `isSanitizerIn`, `isSanitizerOut`, and `isSanitizerGuard`, that support flow states. + +### Minor Analysis Improvements + +* `getConstantValue()` now returns the contents of strings and symbols after escape sequences have been interpreted. For example, for the Ruby string literal `"\n"`, `getConstantValue().getString()` previously returned a QL string with two characters, a backslash followed by `n`; now it returns the single-character string "\n" (U+000A, known as newline). +* `getConstantValue().getInt()` previously returned incorrect values for integers larger than 231-1 (the largest value that can be represented by the QL `int` type). It now returns no result in those cases. +* Added `OrmWriteAccess` concept to model data written to a database using an object-relational mapping (ORM) library. + ## 0.0.11 ### Minor Analysis Improvements diff --git a/ruby/ql/lib/change-notes/2022-02-07-deprecated-acronyms.md b/ruby/ql/lib/change-notes/2022-02-07-deprecated-acronyms.md deleted file mode 100644 index a79f286aacd..00000000000 --- a/ruby/ql/lib/change-notes/2022-02-07-deprecated-acronyms.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -category: deprecated ---- -* Many classes/predicates/modules that had upper-case acronyms have been renamed to follow our style-guide. - The old name still exists as a deprecated alias. \ No newline at end of file diff --git a/ruby/ql/lib/change-notes/2022-02-28-orm-write-access.md b/ruby/ql/lib/change-notes/2022-02-28-orm-write-access.md deleted file mode 100644 index f1320322287..00000000000 --- a/ruby/ql/lib/change-notes/2022-02-28-orm-write-access.md +++ /dev/null @@ -1,4 +0,0 @@ ---- -category: minorAnalysis ---- -* Added `OrmWriteAccess` concept to model data written to a database using an object-relational mapping (ORM) library. diff --git a/ruby/ql/lib/change-notes/2022-03-14-flow-state-barriers.md b/ruby/ql/lib/change-notes/2022-03-14-flow-state-barriers.md deleted file mode 100644 index af6247a66fa..00000000000 --- a/ruby/ql/lib/change-notes/2022-03-14-flow-state-barriers.md +++ /dev/null @@ -1,4 +0,0 @@ ---- -category: feature ---- -* The data flow and taint tracking libraries have been extended with versions of `isBarrierIn`, `isBarrierOut`, and `isBarrierGuard`, respectively `isSanitizerIn`, `isSanitizerOut`, and `isSanitizerGuard`, that support flow states. diff --git a/ruby/ql/lib/change-notes/2022-03-14-taint-interface-cleanup.md b/ruby/ql/lib/change-notes/2022-03-14-taint-interface-cleanup.md deleted file mode 100644 index 3481d507db3..00000000000 --- a/ruby/ql/lib/change-notes/2022-03-14-taint-interface-cleanup.md +++ /dev/null @@ -1,4 +0,0 @@ ---- -category: breaking ---- -* The flow state variants of `isBarrier` and `isAdditionalFlowStep` are no longer exposed in the taint tracking library. The `isSanitizer` and `isAdditionalTaintStep` predicates should be used instead. diff --git a/ruby/ql/lib/change-notes/2022-03-16-string-escape-sequences.md b/ruby/ql/lib/change-notes/2022-03-16-string-escape-sequences.md deleted file mode 100644 index 97b716e2bde..00000000000 --- a/ruby/ql/lib/change-notes/2022-03-16-string-escape-sequences.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -category: minorAnalysis ---- -* `getConstantValue()` now returns the contents of strings and symbols after escape sequences have been interpreted. For example, for the Ruby string literal `"\n"`, `getConstantValue().getString()` previously returned a QL string with two characters, a backslash followed by `n`; now it returns the single-character string "\n" (U+000A, known as newline). -* `getConstantValue().getInt()` previously returned incorrect values for integers larger than 231-1 (the largest value that can be represented by the QL `int` type). It now returns no result in those cases. diff --git a/ruby/ql/lib/change-notes/released/0.0.12.md b/ruby/ql/lib/change-notes/released/0.0.12.md new file mode 100644 index 00000000000..21ffbedb6bc --- /dev/null +++ b/ruby/ql/lib/change-notes/released/0.0.12.md @@ -0,0 +1,20 @@ +## 0.0.12 + +### Breaking Changes + +* The flow state variants of `isBarrier` and `isAdditionalFlowStep` are no longer exposed in the taint tracking library. The `isSanitizer` and `isAdditionalTaintStep` predicates should be used instead. + +### Deprecated APIs + +* Many classes/predicates/modules that had upper-case acronyms have been renamed to follow our style-guide. + The old name still exists as a deprecated alias. + +### New Features + +* The data flow and taint tracking libraries have been extended with versions of `isBarrierIn`, `isBarrierOut`, and `isBarrierGuard`, respectively `isSanitizerIn`, `isSanitizerOut`, and `isSanitizerGuard`, that support flow states. + +### Minor Analysis Improvements + +* `getConstantValue()` now returns the contents of strings and symbols after escape sequences have been interpreted. For example, for the Ruby string literal `"\n"`, `getConstantValue().getString()` previously returned a QL string with two characters, a backslash followed by `n`; now it returns the single-character string "\n" (U+000A, known as newline). +* `getConstantValue().getInt()` previously returned incorrect values for integers larger than 231-1 (the largest value that can be represented by the QL `int` type). It now returns no result in those cases. +* Added `OrmWriteAccess` concept to model data written to a database using an object-relational mapping (ORM) library. diff --git a/ruby/ql/lib/codeql-pack.release.yml b/ruby/ql/lib/codeql-pack.release.yml index e679dc42092..997fb8da83c 100644 --- a/ruby/ql/lib/codeql-pack.release.yml +++ b/ruby/ql/lib/codeql-pack.release.yml @@ -1,2 +1,2 @@ --- -lastReleaseVersion: 0.0.11 +lastReleaseVersion: 0.0.12 diff --git a/ruby/ql/lib/qlpack.yml b/ruby/ql/lib/qlpack.yml index c02fb9c18cb..5c42a6b9827 100644 --- a/ruby/ql/lib/qlpack.yml +++ b/ruby/ql/lib/qlpack.yml @@ -1,5 +1,5 @@ name: codeql/ruby-all -version: 0.0.12-dev +version: 0.0.12 groups: ruby extractor: ruby dbscheme: ruby.dbscheme diff --git a/ruby/ql/src/CHANGELOG.md b/ruby/ql/src/CHANGELOG.md index 8fc4095d3bb..f044deb9db0 100644 --- a/ruby/ql/src/CHANGELOG.md +++ b/ruby/ql/src/CHANGELOG.md @@ -1,3 +1,10 @@ +## 0.0.12 + +### New Queries + +* Added a new query, `rb/clear-text-storage-sensitive-data`. The query finds cases where sensitive information, such as user credentials, are stored as cleartext. +* Added a new query, `rb/incomplete-hostname-regexp`. The query finds instances where a hostname is incompletely sanitized due to an unescaped character in a regular expression. + ## 0.0.11 ## 0.0.10 diff --git a/ruby/ql/src/change-notes/2022-02-10-incomplete-hostname-regexp.md b/ruby/ql/src/change-notes/2022-02-10-incomplete-hostname-regexp.md deleted file mode 100644 index f87676dc188..00000000000 --- a/ruby/ql/src/change-notes/2022-02-10-incomplete-hostname-regexp.md +++ /dev/null @@ -1,4 +0,0 @@ ---- -category: newQuery ---- -* Added a new query, `rb/incomplete-hostname-regexp`. The query finds instances where a hostname is incompletely sanitized due to an unescaped character in a regular expression. diff --git a/ruby/ql/src/change-notes/2022-03-05-rb-clear-text-storage-sensitive-data.md b/ruby/ql/src/change-notes/2022-03-05-rb-clear-text-storage-sensitive-data.md deleted file mode 100644 index c0586e52701..00000000000 --- a/ruby/ql/src/change-notes/2022-03-05-rb-clear-text-storage-sensitive-data.md +++ /dev/null @@ -1,4 +0,0 @@ ---- -category: newQuery ---- -* Added a new query, `rb/clear-text-storage-sensitive-data`. The query finds cases where sensitive information, such as user credentials, are stored as cleartext. diff --git a/ruby/ql/src/change-notes/released/0.0.12.md b/ruby/ql/src/change-notes/released/0.0.12.md new file mode 100644 index 00000000000..346b09b1820 --- /dev/null +++ b/ruby/ql/src/change-notes/released/0.0.12.md @@ -0,0 +1,6 @@ +## 0.0.12 + +### New Queries + +* Added a new query, `rb/clear-text-storage-sensitive-data`. The query finds cases where sensitive information, such as user credentials, are stored as cleartext. +* Added a new query, `rb/incomplete-hostname-regexp`. The query finds instances where a hostname is incompletely sanitized due to an unescaped character in a regular expression. diff --git a/ruby/ql/src/codeql-pack.release.yml b/ruby/ql/src/codeql-pack.release.yml index e679dc42092..997fb8da83c 100644 --- a/ruby/ql/src/codeql-pack.release.yml +++ b/ruby/ql/src/codeql-pack.release.yml @@ -1,2 +1,2 @@ --- -lastReleaseVersion: 0.0.11 +lastReleaseVersion: 0.0.12 diff --git a/ruby/ql/src/qlpack.yml b/ruby/ql/src/qlpack.yml index f987a9ffd16..8a9b4c56be3 100644 --- a/ruby/ql/src/qlpack.yml +++ b/ruby/ql/src/qlpack.yml @@ -1,5 +1,5 @@ name: codeql/ruby-queries -version: 0.0.12-dev +version: 0.0.12 groups: - ruby - queries