From f5cf8cffa3fc1ddfa10ed5de84400768f741409d Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" Date: Thu, 22 Sep 2022 20:14:12 +0000 Subject: [PATCH 1/8] Release preparation for version 2.11.0 --- cpp/ql/lib/CHANGELOG.md | 15 ++++ .../2022-09-08-implicit-read-flowstates.md | 4 -- .../lib/change-notes/2022-09-12-uppercase.md | 5 -- .../0.4.0.md} | 16 ++++- cpp/ql/lib/codeql-pack.release.yml | 2 +- cpp/ql/lib/qlpack.yml | 2 +- cpp/ql/src/CHANGELOG.md | 11 +++ .../change-notes/2022-08-23-alert-messages.md | 4 -- .../2022-08-24-missing-check-scanf.md | 4 -- .../0.4.0.md} | 12 +++- cpp/ql/src/codeql-pack.release.yml | 2 +- cpp/ql/src/qlpack.yml | 2 +- .../ql/campaigns/Solorigate/lib/CHANGELOG.md | 4 ++ .../lib/change-notes/released/1.3.0.md | 3 + .../Solorigate/lib/codeql-pack.release.yml | 2 +- csharp/ql/campaigns/Solorigate/lib/qlpack.yml | 2 +- .../ql/campaigns/Solorigate/src/CHANGELOG.md | 4 ++ .../src/change-notes/released/1.3.0.md | 3 + .../Solorigate/src/codeql-pack.release.yml | 2 +- csharp/ql/campaigns/Solorigate/src/qlpack.yml | 2 +- csharp/ql/lib/CHANGELOG.md | 11 +++ .../2022-09-08-implicit-read-flowstates.md | 4 -- csharp/ql/lib/change-notes/released/0.4.0.md | 10 +++ csharp/ql/lib/codeql-pack.release.yml | 2 +- csharp/ql/lib/qlpack.yml | 2 +- csharp/ql/src/CHANGELOG.md | 7 ++ .../change-notes/2022-08-23-alert-messages.md | 4 -- .../0.4.0.md} | 10 +-- csharp/ql/src/codeql-pack.release.yml | 2 +- csharp/ql/src/qlpack.yml | 2 +- go/ql/lib/CHANGELOG.md | 7 ++ .../lib/change-notes/2022-09-12-uppercase.md | 5 -- .../ql/lib/change-notes/released/0.3.0.md | 9 +-- go/ql/lib/codeql-pack.release.yml | 2 +- go/ql/lib/qlpack.yml | 2 +- go/ql/src/CHANGELOG.md | 10 +++ .../change-notes/2022-08-23-alert-messages.md | 4 -- .../2022-08-29-add-security-severity.md | 4 -- go/ql/src/change-notes/released/0.3.0.md | 9 +++ go/ql/src/codeql-pack.release.yml | 2 +- go/ql/src/qlpack.yml | 2 +- java/ql/lib/CHANGELOG.md | 49 ++++++++++++- .../2022-04-01-annotation-deprecations.md | 7 -- .../2022-04-01-annotation-features.md | 9 --- ...08-18-android-manifest-backup-predicate.md | 4 -- .../2022-08-19-string-taint-models.md | 5 -- .../2022-08-23-contentresolver-summaries.md | 10 --- ...08-25-taint-model-spring-crudrepository.md | 4 -- .../change-notes/2022-08-31-kotlin-stdlib.md | 4 -- ...2022-09-06-notificationcompat-summaries.md | 5 -- ...07-implicit-pendingintents-compat-sinks.md | 5 -- .../2022-09-08-implicit-read-flowstates.md | 4 -- .../2022-09-13-Member-getQualifiedName.md | 4 -- .../2022-09-16-dispatch-confidence.md | 4 -- java/ql/lib/change-notes/released/0.4.0.md | 46 ++++++++++++ java/ql/lib/codeql-pack.release.yml | 2 +- java/ql/lib/qlpack.yml | 2 +- java/ql/src/CHANGELOG.md | 18 +++++ .../2022-08-18-android-allowbackup-query.md | 4 -- .../change-notes/2022-08-23-alert-messages.md | 4 -- .../2022-08-29-remove-security-tag.md | 4 -- ...09-01-implicit-pendingintents-new-sinks.md | 4 -- ...08-server-side-template-injection-query.md | 4 -- ...2-09-13-flow-model-for-uri-constructors.md | 4 -- .../0.4.0.md} | 19 ++++- java/ql/src/codeql-pack.release.yml | 2 +- java/ql/src/qlpack.yml | 2 +- javascript/ql/lib/CHANGELOG.md | 72 +++++++++++++++++++ .../change-notes/2022-05-24-typescript-4-8.md | 4 -- .../ql/lib/change-notes/2022-08-09-mermaid.md | 4 -- .../lib/change-notes/2022-09-12-uppercase.md | 5 -- .../0.3.0.md} | 22 ++++-- javascript/ql/lib/codeql-pack.release.yml | 2 +- javascript/ql/lib/qlpack.yml | 2 +- javascript/ql/src/CHANGELOG.md | 14 ++++ .../change-notes/2022-08-23-alert-messages.md | 4 -- .../2022-09-07-type-confusion-bugfix.md | 6 -- .../2022-09-13-regexp-always-matches-fp.md | 6 -- .../change-notes/2022-09-22-plain-parsing.md | 4 -- .../ql/src/change-notes/released/0.4.0.md | 13 ++++ javascript/ql/src/codeql-pack.release.yml | 2 +- javascript/ql/src/qlpack.yml | 2 +- misc/suite-helpers/CHANGELOG.md | 3 + .../change-notes/released/0.3.0.md | 3 + misc/suite-helpers/codeql-pack.release.yml | 2 + python/ql/lib/CHANGELOG.md | 18 +++++ .../change-notes/2022-08-25-variable-fix.md | 4 -- .../2022-09-08-implicit-read-flowstates.md | 4 -- .../2022-09-12-CallNode-getArgByName.md | 4 -- .../2022-09-12-deprecate-pointsto.md | 4 -- .../2022-09-12-getStarArg-first.md | 4 -- .../lib/change-notes/2022-09-12-uppercase.md | 5 -- python/ql/lib/change-notes/released/0.6.0.md | 17 +++++ python/ql/lib/codeql-pack.release.yml | 2 +- python/ql/lib/qlpack.yml | 2 +- python/ql/src/CHANGELOG.md | 10 +++ .../change-notes/2022-08-23-alert-messages.md | 4 -- .../2022-08-29-missing-security-severity.md | 4 -- python/ql/src/change-notes/released/0.5.0.md | 9 +++ python/ql/src/codeql-pack.release.yml | 2 +- python/ql/src/qlpack.yml | 2 +- ruby/ql/lib/CHANGELOG.md | 21 ++++++ .../2022-08-16-active-resource.md | 4 -- .../2022-08-18-change-http-client-request.md | 4 -- .../2022-09-08-implicit-read-flowstates.md | 4 -- .../lib/change-notes/2022-09-12-uppercase.md | 5 -- .../2022-09-13-filesystemresolver.md | 4 -- .../lib/change-notes/2022-09-14-ruby-qll.md | 4 -- ruby/ql/lib/change-notes/released/0.4.0.md | 20 ++++++ ruby/ql/lib/codeql-pack.release.yml | 2 +- ruby/ql/lib/qlpack.yml | 2 +- ruby/ql/src/CHANGELOG.md | 11 +++ .../change-notes/2022-07-26-hardcoded-data.md | 4 -- .../change-notes/2022-08-23-alert-messages.md | 4 -- .../2022-09-21-hash-from-trusted-xml.md | 4 -- ruby/ql/src/change-notes/released/0.4.0.md | 10 +++ ruby/ql/src/codeql-pack.release.yml | 2 +- ruby/ql/src/qlpack.yml | 2 +- shared/ssa/CHANGELOG.md | 3 + shared/ssa/change-notes/released/0.0.1.md | 3 + shared/ssa/codeql-pack.release.yml | 2 + shared/ssa/qlpack.yml | 2 +- shared/typos/CHANGELOG.md | 3 + shared/typos/change-notes/released/0.0.1.md | 3 + shared/typos/codeql-pack.release.yml | 2 + shared/typos/qlpack.yml | 2 +- 126 files changed, 546 insertions(+), 286 deletions(-) delete mode 100644 cpp/ql/lib/change-notes/2022-09-08-implicit-read-flowstates.md delete mode 100644 cpp/ql/lib/change-notes/2022-09-12-uppercase.md rename cpp/ql/lib/change-notes/{2022-09-06-additional-builtin-support.md => released/0.4.0.md} (60%) delete mode 100644 cpp/ql/src/change-notes/2022-08-23-alert-messages.md delete mode 100644 cpp/ql/src/change-notes/2022-08-24-missing-check-scanf.md rename cpp/ql/src/change-notes/{2022-09-05-cleartext-queries.md => released/0.4.0.md} (50%) create mode 100644 csharp/ql/campaigns/Solorigate/lib/change-notes/released/1.3.0.md create mode 100644 csharp/ql/campaigns/Solorigate/src/change-notes/released/1.3.0.md delete mode 100644 csharp/ql/lib/change-notes/2022-09-08-implicit-read-flowstates.md create mode 100644 csharp/ql/lib/change-notes/released/0.4.0.md delete mode 100644 csharp/ql/src/change-notes/2022-08-23-alert-messages.md rename csharp/ql/src/change-notes/{2022-08-24-remove-cil-flag.md => released/0.4.0.md} (55%) delete mode 100644 go/ql/lib/change-notes/2022-09-12-uppercase.md rename csharp/ql/lib/change-notes/2022-09-12-uppercase.md => go/ql/lib/change-notes/released/0.3.0.md (56%) delete mode 100644 go/ql/src/change-notes/2022-08-23-alert-messages.md delete mode 100644 go/ql/src/change-notes/2022-08-29-add-security-severity.md create mode 100644 go/ql/src/change-notes/released/0.3.0.md delete mode 100644 java/ql/lib/change-notes/2022-04-01-annotation-deprecations.md delete mode 100644 java/ql/lib/change-notes/2022-04-01-annotation-features.md delete mode 100644 java/ql/lib/change-notes/2022-08-18-android-manifest-backup-predicate.md delete mode 100644 java/ql/lib/change-notes/2022-08-19-string-taint-models.md delete mode 100644 java/ql/lib/change-notes/2022-08-23-contentresolver-summaries.md delete mode 100644 java/ql/lib/change-notes/2022-08-25-taint-model-spring-crudrepository.md delete mode 100644 java/ql/lib/change-notes/2022-08-31-kotlin-stdlib.md delete mode 100644 java/ql/lib/change-notes/2022-09-06-notificationcompat-summaries.md delete mode 100644 java/ql/lib/change-notes/2022-09-07-implicit-pendingintents-compat-sinks.md delete mode 100644 java/ql/lib/change-notes/2022-09-08-implicit-read-flowstates.md delete mode 100644 java/ql/lib/change-notes/2022-09-13-Member-getQualifiedName.md delete mode 100644 java/ql/lib/change-notes/2022-09-16-dispatch-confidence.md create mode 100644 java/ql/lib/change-notes/released/0.4.0.md delete mode 100644 java/ql/src/change-notes/2022-08-18-android-allowbackup-query.md delete mode 100644 java/ql/src/change-notes/2022-08-23-alert-messages.md delete mode 100644 java/ql/src/change-notes/2022-08-29-remove-security-tag.md delete mode 100644 java/ql/src/change-notes/2022-09-01-implicit-pendingintents-new-sinks.md delete mode 100644 java/ql/src/change-notes/2022-09-08-server-side-template-injection-query.md delete mode 100644 java/ql/src/change-notes/2022-09-13-flow-model-for-uri-constructors.md rename java/ql/src/change-notes/{2022-09-15-implicit-this-generic-method.md => released/0.4.0.md} (56%) delete mode 100644 javascript/ql/lib/change-notes/2022-05-24-typescript-4-8.md delete mode 100644 javascript/ql/lib/change-notes/2022-08-09-mermaid.md delete mode 100644 javascript/ql/lib/change-notes/2022-09-12-uppercase.md rename javascript/ql/lib/change-notes/{2022-04-04-dataflow-models.md => released/0.3.0.md} (82%) delete mode 100644 javascript/ql/src/change-notes/2022-08-23-alert-messages.md delete mode 100644 javascript/ql/src/change-notes/2022-09-07-type-confusion-bugfix.md delete mode 100644 javascript/ql/src/change-notes/2022-09-13-regexp-always-matches-fp.md delete mode 100644 javascript/ql/src/change-notes/2022-09-22-plain-parsing.md create mode 100644 javascript/ql/src/change-notes/released/0.4.0.md create mode 100644 misc/suite-helpers/CHANGELOG.md create mode 100644 misc/suite-helpers/change-notes/released/0.3.0.md create mode 100644 misc/suite-helpers/codeql-pack.release.yml delete mode 100644 python/ql/lib/change-notes/2022-08-25-variable-fix.md delete mode 100644 python/ql/lib/change-notes/2022-09-08-implicit-read-flowstates.md delete mode 100644 python/ql/lib/change-notes/2022-09-12-CallNode-getArgByName.md delete mode 100644 python/ql/lib/change-notes/2022-09-12-deprecate-pointsto.md delete mode 100644 python/ql/lib/change-notes/2022-09-12-getStarArg-first.md delete mode 100644 python/ql/lib/change-notes/2022-09-12-uppercase.md create mode 100644 python/ql/lib/change-notes/released/0.6.0.md delete mode 100644 python/ql/src/change-notes/2022-08-23-alert-messages.md delete mode 100644 python/ql/src/change-notes/2022-08-29-missing-security-severity.md create mode 100644 python/ql/src/change-notes/released/0.5.0.md delete mode 100644 ruby/ql/lib/change-notes/2022-08-16-active-resource.md delete mode 100644 ruby/ql/lib/change-notes/2022-08-18-change-http-client-request.md delete mode 100644 ruby/ql/lib/change-notes/2022-09-08-implicit-read-flowstates.md delete mode 100644 ruby/ql/lib/change-notes/2022-09-12-uppercase.md delete mode 100644 ruby/ql/lib/change-notes/2022-09-13-filesystemresolver.md delete mode 100644 ruby/ql/lib/change-notes/2022-09-14-ruby-qll.md create mode 100644 ruby/ql/lib/change-notes/released/0.4.0.md delete mode 100644 ruby/ql/src/change-notes/2022-07-26-hardcoded-data.md delete mode 100644 ruby/ql/src/change-notes/2022-08-23-alert-messages.md delete mode 100644 ruby/ql/src/change-notes/2022-09-21-hash-from-trusted-xml.md create mode 100644 ruby/ql/src/change-notes/released/0.4.0.md create mode 100644 shared/ssa/CHANGELOG.md create mode 100644 shared/ssa/change-notes/released/0.0.1.md create mode 100644 shared/ssa/codeql-pack.release.yml create mode 100644 shared/typos/CHANGELOG.md create mode 100644 shared/typos/change-notes/released/0.0.1.md create mode 100644 shared/typos/codeql-pack.release.yml diff --git a/cpp/ql/lib/CHANGELOG.md b/cpp/ql/lib/CHANGELOG.md index 6d2dc736630..f1dfa53f9ba 100644 --- a/cpp/ql/lib/CHANGELOG.md +++ b/cpp/ql/lib/CHANGELOG.md @@ -1,3 +1,18 @@ +## 0.4.0 + +### Deprecated APIs + +* Some classes/modules with upper-case acronyms in their name have been renamed to follow our style-guide. + The old name still exists as a deprecated alias. + +### New Features + +* Added subclasses of `BuiltInOperations` for `__is_same`, `__is_function`, `__is_layout_compatible`, `__is_pointer_interconvertible_base_of`, `__is_array`, `__array_rank`, `__array_extent`, `__is_arithmetic`, `__is_complete_type`, `__is_compound`, `__is_const`, `__is_floating_point`, `__is_fundamental`, `__is_integral`, `__is_lvalue_reference`, `__is_member_function_pointer`, `__is_member_object_pointer`, `__is_member_pointer`, `__is_object`, `__is_pointer`, `__is_reference`, `__is_rvalue_reference`, `__is_scalar`, `__is_signed`, `__is_unsigned`, `__is_void`, and `__is_volatile`. + +### Bug Fixes + +* Fixed an issue in the taint tracking analysis where implicit reads were not allowed by default in sinks or additional taint steps that used flow states. + ## 0.3.5 ## 0.3.4 diff --git a/cpp/ql/lib/change-notes/2022-09-08-implicit-read-flowstates.md b/cpp/ql/lib/change-notes/2022-09-08-implicit-read-flowstates.md deleted file mode 100644 index efdaf85f2ed..00000000000 --- a/cpp/ql/lib/change-notes/2022-09-08-implicit-read-flowstates.md +++ /dev/null @@ -1,4 +0,0 @@ ---- -category: fix ---- -* Fixed an issue in the taint tracking analysis where implicit reads were not allowed by default in sinks or additional taint steps that used flow states. \ No newline at end of file diff --git a/cpp/ql/lib/change-notes/2022-09-12-uppercase.md b/cpp/ql/lib/change-notes/2022-09-12-uppercase.md deleted file mode 100644 index 996861f1c2c..00000000000 --- a/cpp/ql/lib/change-notes/2022-09-12-uppercase.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -category: deprecated ---- -* Some classes/modules with upper-case acronyms in their name 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-09-06-additional-builtin-support.md b/cpp/ql/lib/change-notes/released/0.4.0.md similarity index 60% rename from cpp/ql/lib/change-notes/2022-09-06-additional-builtin-support.md rename to cpp/ql/lib/change-notes/released/0.4.0.md index 625f5001b6e..63a774400b0 100644 --- a/cpp/ql/lib/change-notes/2022-09-06-additional-builtin-support.md +++ b/cpp/ql/lib/change-notes/released/0.4.0.md @@ -1,4 +1,14 @@ ---- -category: feature ---- +## 0.4.0 + +### Deprecated APIs + +* Some classes/modules with upper-case acronyms in their name have been renamed to follow our style-guide. + The old name still exists as a deprecated alias. + +### New Features + * Added subclasses of `BuiltInOperations` for `__is_same`, `__is_function`, `__is_layout_compatible`, `__is_pointer_interconvertible_base_of`, `__is_array`, `__array_rank`, `__array_extent`, `__is_arithmetic`, `__is_complete_type`, `__is_compound`, `__is_const`, `__is_floating_point`, `__is_fundamental`, `__is_integral`, `__is_lvalue_reference`, `__is_member_function_pointer`, `__is_member_object_pointer`, `__is_member_pointer`, `__is_object`, `__is_pointer`, `__is_reference`, `__is_rvalue_reference`, `__is_scalar`, `__is_signed`, `__is_unsigned`, `__is_void`, and `__is_volatile`. + +### Bug Fixes + +* Fixed an issue in the taint tracking analysis where implicit reads were not allowed by default in sinks or additional taint steps that used flow states. diff --git a/cpp/ql/lib/codeql-pack.release.yml b/cpp/ql/lib/codeql-pack.release.yml index 468917f2543..458bfbeccff 100644 --- a/cpp/ql/lib/codeql-pack.release.yml +++ b/cpp/ql/lib/codeql-pack.release.yml @@ -1,2 +1,2 @@ --- -lastReleaseVersion: 0.3.5 +lastReleaseVersion: 0.4.0 diff --git a/cpp/ql/lib/qlpack.yml b/cpp/ql/lib/qlpack.yml index be704414854..44169b39f77 100644 --- a/cpp/ql/lib/qlpack.yml +++ b/cpp/ql/lib/qlpack.yml @@ -1,5 +1,5 @@ name: codeql/cpp-all -version: 0.4.0-dev +version: 0.4.0 groups: cpp dbscheme: semmlecode.cpp.dbscheme extractor: cpp diff --git a/cpp/ql/src/CHANGELOG.md b/cpp/ql/src/CHANGELOG.md index 5546465c50e..54dec3b197f 100644 --- a/cpp/ql/src/CHANGELOG.md +++ b/cpp/ql/src/CHANGELOG.md @@ -1,3 +1,14 @@ +## 0.4.0 + +### New Queries + +* Added a new medium-precision query, `cpp/missing-check-scanf`, which detects `scanf` output variables that are used without a proper return-value check to see that they were actually written. A variation of this query was originally contributed as an [experimental query by @ihsinme](https://github.com/github/codeql/pull/8246). + +### Minor Analysis Improvements + +* Modernizations from "Cleartext storage of sensitive information in buffer" (`cpp/cleartext-storage-buffer`) have been ported to the "Cleartext storage of sensitive information in file" (`cpp/cleartext-storage-file`), "Cleartext transmission of sensitive information" (`cpp/cleartext-transmission`) and "Cleartext storage of sensitive information in an SQLite database" (`cpp/cleartext-storage-database`) queries. These changes may result in more correct results and fewer false positive results from these queries. +* The alert message of many queries have been changed to make the message consistent with other languages. + ## 0.3.4 ## 0.3.3 diff --git a/cpp/ql/src/change-notes/2022-08-23-alert-messages.md b/cpp/ql/src/change-notes/2022-08-23-alert-messages.md deleted file mode 100644 index 22f4c5c6682..00000000000 --- a/cpp/ql/src/change-notes/2022-08-23-alert-messages.md +++ /dev/null @@ -1,4 +0,0 @@ ---- -category: minorAnalysis ---- -* The alert message of many queries have been changed to make the message consistent with other languages. \ No newline at end of file diff --git a/cpp/ql/src/change-notes/2022-08-24-missing-check-scanf.md b/cpp/ql/src/change-notes/2022-08-24-missing-check-scanf.md deleted file mode 100644 index d8e5384422e..00000000000 --- a/cpp/ql/src/change-notes/2022-08-24-missing-check-scanf.md +++ /dev/null @@ -1,4 +0,0 @@ ---- -category: newQuery ---- -* Added a new medium-precision query, `cpp/missing-check-scanf`, which detects `scanf` output variables that are used without a proper return-value check to see that they were actually written. A variation of this query was originally contributed as an [experimental query by @ihsinme](https://github.com/github/codeql/pull/8246). diff --git a/cpp/ql/src/change-notes/2022-09-05-cleartext-queries.md b/cpp/ql/src/change-notes/released/0.4.0.md similarity index 50% rename from cpp/ql/src/change-notes/2022-09-05-cleartext-queries.md rename to cpp/ql/src/change-notes/released/0.4.0.md index b0422164365..72564ca71e0 100644 --- a/cpp/ql/src/change-notes/2022-09-05-cleartext-queries.md +++ b/cpp/ql/src/change-notes/released/0.4.0.md @@ -1,4 +1,10 @@ ---- -category: minorAnalysis ---- +## 0.4.0 + +### New Queries + +* Added a new medium-precision query, `cpp/missing-check-scanf`, which detects `scanf` output variables that are used without a proper return-value check to see that they were actually written. A variation of this query was originally contributed as an [experimental query by @ihsinme](https://github.com/github/codeql/pull/8246). + +### Minor Analysis Improvements + * Modernizations from "Cleartext storage of sensitive information in buffer" (`cpp/cleartext-storage-buffer`) have been ported to the "Cleartext storage of sensitive information in file" (`cpp/cleartext-storage-file`), "Cleartext transmission of sensitive information" (`cpp/cleartext-transmission`) and "Cleartext storage of sensitive information in an SQLite database" (`cpp/cleartext-storage-database`) queries. These changes may result in more correct results and fewer false positive results from these queries. +* The alert message of many queries have been changed to make the message consistent with other languages. diff --git a/cpp/ql/src/codeql-pack.release.yml b/cpp/ql/src/codeql-pack.release.yml index 5ed15c24b9c..458bfbeccff 100644 --- a/cpp/ql/src/codeql-pack.release.yml +++ b/cpp/ql/src/codeql-pack.release.yml @@ -1,2 +1,2 @@ --- -lastReleaseVersion: 0.3.4 +lastReleaseVersion: 0.4.0 diff --git a/cpp/ql/src/qlpack.yml b/cpp/ql/src/qlpack.yml index 37a53ec44b7..3c013885c11 100644 --- a/cpp/ql/src/qlpack.yml +++ b/cpp/ql/src/qlpack.yml @@ -1,5 +1,5 @@ name: codeql/cpp-queries -version: 0.4.0-dev +version: 0.4.0 groups: - cpp - queries diff --git a/csharp/ql/campaigns/Solorigate/lib/CHANGELOG.md b/csharp/ql/campaigns/Solorigate/lib/CHANGELOG.md index d993fc0868f..49d355ec453 100644 --- a/csharp/ql/campaigns/Solorigate/lib/CHANGELOG.md +++ b/csharp/ql/campaigns/Solorigate/lib/CHANGELOG.md @@ -1,3 +1,7 @@ +## 1.3.0 + +No user-facing changes. + ## 1.2.5 ## 1.2.4 diff --git a/csharp/ql/campaigns/Solorigate/lib/change-notes/released/1.3.0.md b/csharp/ql/campaigns/Solorigate/lib/change-notes/released/1.3.0.md new file mode 100644 index 00000000000..06ccf1654cb --- /dev/null +++ b/csharp/ql/campaigns/Solorigate/lib/change-notes/released/1.3.0.md @@ -0,0 +1,3 @@ +## 1.3.0 + +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 40355f0807f..ec16350ed6f 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.2.5 +lastReleaseVersion: 1.3.0 diff --git a/csharp/ql/campaigns/Solorigate/lib/qlpack.yml b/csharp/ql/campaigns/Solorigate/lib/qlpack.yml index 38e4ce3ef44..c7e2349452b 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.3.0-dev +version: 1.3.0 groups: - csharp - solorigate diff --git a/csharp/ql/campaigns/Solorigate/src/CHANGELOG.md b/csharp/ql/campaigns/Solorigate/src/CHANGELOG.md index d993fc0868f..49d355ec453 100644 --- a/csharp/ql/campaigns/Solorigate/src/CHANGELOG.md +++ b/csharp/ql/campaigns/Solorigate/src/CHANGELOG.md @@ -1,3 +1,7 @@ +## 1.3.0 + +No user-facing changes. + ## 1.2.5 ## 1.2.4 diff --git a/csharp/ql/campaigns/Solorigate/src/change-notes/released/1.3.0.md b/csharp/ql/campaigns/Solorigate/src/change-notes/released/1.3.0.md new file mode 100644 index 00000000000..06ccf1654cb --- /dev/null +++ b/csharp/ql/campaigns/Solorigate/src/change-notes/released/1.3.0.md @@ -0,0 +1,3 @@ +## 1.3.0 + +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 40355f0807f..ec16350ed6f 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.2.5 +lastReleaseVersion: 1.3.0 diff --git a/csharp/ql/campaigns/Solorigate/src/qlpack.yml b/csharp/ql/campaigns/Solorigate/src/qlpack.yml index c7bab0d0c6b..b17008a3a4d 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.3.0-dev +version: 1.3.0 groups: - csharp - solorigate diff --git a/csharp/ql/lib/CHANGELOG.md b/csharp/ql/lib/CHANGELOG.md index 4b79fb8ee02..83b9e7b837c 100644 --- a/csharp/ql/lib/CHANGELOG.md +++ b/csharp/ql/lib/CHANGELOG.md @@ -1,3 +1,14 @@ +## 0.4.0 + +### Deprecated APIs + +* Some classes/modules with upper-case acronyms in their name have been renamed to follow our style-guide. + The old name still exists as a deprecated alias. + +### Bug Fixes + +* Fixed an issue in the taint tracking analysis where implicit reads were not allowed by default in sinks or additional taint steps that used flow states. + ## 0.3.5 ## 0.3.4 diff --git a/csharp/ql/lib/change-notes/2022-09-08-implicit-read-flowstates.md b/csharp/ql/lib/change-notes/2022-09-08-implicit-read-flowstates.md deleted file mode 100644 index efdaf85f2ed..00000000000 --- a/csharp/ql/lib/change-notes/2022-09-08-implicit-read-flowstates.md +++ /dev/null @@ -1,4 +0,0 @@ ---- -category: fix ---- -* Fixed an issue in the taint tracking analysis where implicit reads were not allowed by default in sinks or additional taint steps that used flow states. \ No newline at end of file diff --git a/csharp/ql/lib/change-notes/released/0.4.0.md b/csharp/ql/lib/change-notes/released/0.4.0.md new file mode 100644 index 00000000000..49cc1b8a1e9 --- /dev/null +++ b/csharp/ql/lib/change-notes/released/0.4.0.md @@ -0,0 +1,10 @@ +## 0.4.0 + +### Deprecated APIs + +* Some classes/modules with upper-case acronyms in their name have been renamed to follow our style-guide. + The old name still exists as a deprecated alias. + +### Bug Fixes + +* Fixed an issue in the taint tracking analysis where implicit reads were not allowed by default in sinks or additional taint steps that used flow states. diff --git a/csharp/ql/lib/codeql-pack.release.yml b/csharp/ql/lib/codeql-pack.release.yml index 468917f2543..458bfbeccff 100644 --- a/csharp/ql/lib/codeql-pack.release.yml +++ b/csharp/ql/lib/codeql-pack.release.yml @@ -1,2 +1,2 @@ --- -lastReleaseVersion: 0.3.5 +lastReleaseVersion: 0.4.0 diff --git a/csharp/ql/lib/qlpack.yml b/csharp/ql/lib/qlpack.yml index 0994a110237..1cec438b0da 100644 --- a/csharp/ql/lib/qlpack.yml +++ b/csharp/ql/lib/qlpack.yml @@ -1,5 +1,5 @@ name: codeql/csharp-all -version: 0.4.0-dev +version: 0.4.0 groups: csharp dbscheme: semmlecode.csharp.dbscheme extractor: csharp diff --git a/csharp/ql/src/CHANGELOG.md b/csharp/ql/src/CHANGELOG.md index 121f81270df..bf47d9f7f70 100644 --- a/csharp/ql/src/CHANGELOG.md +++ b/csharp/ql/src/CHANGELOG.md @@ -1,3 +1,10 @@ +## 0.4.0 + +### Minor Analysis Improvements + +* A new extractor option has been introduced for disabling CIL extraction. Either pass `-Ocil=false` to the `codeql` CLI or set the environment variable `CODEQL_EXTRACTOR_CSHARP_OPTION_CIL=false`. +* The alert message of many queries have been changed to make the message consistent with other languages. + ## 0.3.4 ## 0.3.3 diff --git a/csharp/ql/src/change-notes/2022-08-23-alert-messages.md b/csharp/ql/src/change-notes/2022-08-23-alert-messages.md deleted file mode 100644 index 22f4c5c6682..00000000000 --- a/csharp/ql/src/change-notes/2022-08-23-alert-messages.md +++ /dev/null @@ -1,4 +0,0 @@ ---- -category: minorAnalysis ---- -* The alert message of many queries have been changed to make the message consistent with other languages. \ No newline at end of file diff --git a/csharp/ql/src/change-notes/2022-08-24-remove-cil-flag.md b/csharp/ql/src/change-notes/released/0.4.0.md similarity index 55% rename from csharp/ql/src/change-notes/2022-08-24-remove-cil-flag.md rename to csharp/ql/src/change-notes/released/0.4.0.md index 09350501495..edc20433c5c 100644 --- a/csharp/ql/src/change-notes/2022-08-24-remove-cil-flag.md +++ b/csharp/ql/src/change-notes/released/0.4.0.md @@ -1,4 +1,6 @@ ---- -category: minorAnalysis ---- -* A new extractor option has been introduced for disabling CIL extraction. Either pass `-Ocil=false` to the `codeql` CLI or set the environment variable `CODEQL_EXTRACTOR_CSHARP_OPTION_CIL=false`. \ No newline at end of file +## 0.4.0 + +### Minor Analysis Improvements + +* A new extractor option has been introduced for disabling CIL extraction. Either pass `-Ocil=false` to the `codeql` CLI or set the environment variable `CODEQL_EXTRACTOR_CSHARP_OPTION_CIL=false`. +* The alert message of many queries have been changed to make the message consistent with other languages. diff --git a/csharp/ql/src/codeql-pack.release.yml b/csharp/ql/src/codeql-pack.release.yml index 5ed15c24b9c..458bfbeccff 100644 --- a/csharp/ql/src/codeql-pack.release.yml +++ b/csharp/ql/src/codeql-pack.release.yml @@ -1,2 +1,2 @@ --- -lastReleaseVersion: 0.3.4 +lastReleaseVersion: 0.4.0 diff --git a/csharp/ql/src/qlpack.yml b/csharp/ql/src/qlpack.yml index c5d81845df9..53e86f4f4cb 100644 --- a/csharp/ql/src/qlpack.yml +++ b/csharp/ql/src/qlpack.yml @@ -1,5 +1,5 @@ name: codeql/csharp-queries -version: 0.4.0-dev +version: 0.4.0 groups: - csharp - queries diff --git a/go/ql/lib/CHANGELOG.md b/go/ql/lib/CHANGELOG.md index 2a6ee5dbcb2..1f851cdf663 100644 --- a/go/ql/lib/CHANGELOG.md +++ b/go/ql/lib/CHANGELOG.md @@ -1,3 +1,10 @@ +## 0.3.0 + +### Deprecated APIs + +* Some classes/modules with upper-case acronyms in their name have been renamed to follow our style-guide. + The old name still exists as a deprecated alias. + ## 0.2.5 ## 0.2.4 diff --git a/go/ql/lib/change-notes/2022-09-12-uppercase.md b/go/ql/lib/change-notes/2022-09-12-uppercase.md deleted file mode 100644 index 996861f1c2c..00000000000 --- a/go/ql/lib/change-notes/2022-09-12-uppercase.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -category: deprecated ---- -* Some classes/modules with upper-case acronyms in their name 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-09-12-uppercase.md b/go/ql/lib/change-notes/released/0.3.0.md similarity index 56% rename from csharp/ql/lib/change-notes/2022-09-12-uppercase.md rename to go/ql/lib/change-notes/released/0.3.0.md index 996861f1c2c..45ba1c4c87d 100644 --- a/csharp/ql/lib/change-notes/2022-09-12-uppercase.md +++ b/go/ql/lib/change-notes/released/0.3.0.md @@ -1,5 +1,6 @@ ---- -category: deprecated ---- +## 0.3.0 + +### Deprecated APIs + * Some classes/modules with upper-case acronyms in their name have been renamed to follow our style-guide. - The old name still exists as a deprecated alias. \ No newline at end of file + The old name still exists as a deprecated alias. diff --git a/go/ql/lib/codeql-pack.release.yml b/go/ql/lib/codeql-pack.release.yml index 211454ed306..95f6e3a0ba6 100644 --- a/go/ql/lib/codeql-pack.release.yml +++ b/go/ql/lib/codeql-pack.release.yml @@ -1,2 +1,2 @@ --- -lastReleaseVersion: 0.2.5 +lastReleaseVersion: 0.3.0 diff --git a/go/ql/lib/qlpack.yml b/go/ql/lib/qlpack.yml index 87b62b1861b..eb2f8e2ccb1 100644 --- a/go/ql/lib/qlpack.yml +++ b/go/ql/lib/qlpack.yml @@ -1,5 +1,5 @@ name: codeql/go-all -version: 0.3.0-dev +version: 0.3.0 groups: go dbscheme: go.dbscheme extractor: go diff --git a/go/ql/src/CHANGELOG.md b/go/ql/src/CHANGELOG.md index 7f394f66ff0..47dabdb2d2e 100644 --- a/go/ql/src/CHANGELOG.md +++ b/go/ql/src/CHANGELOG.md @@ -1,3 +1,13 @@ +## 0.3.0 + +### Query Metadata Changes + +* Added the `security-severity` tag and CWE tag to the `go/insecure-hostkeycallback` query. + +### Minor Analysis Improvements + +* The alert message of many queries have been changed to make the message consistent with other languages. + ## 0.2.5 ## 0.2.4 diff --git a/go/ql/src/change-notes/2022-08-23-alert-messages.md b/go/ql/src/change-notes/2022-08-23-alert-messages.md deleted file mode 100644 index 22f4c5c6682..00000000000 --- a/go/ql/src/change-notes/2022-08-23-alert-messages.md +++ /dev/null @@ -1,4 +0,0 @@ ---- -category: minorAnalysis ---- -* The alert message of many queries have been changed to make the message consistent with other languages. \ No newline at end of file diff --git a/go/ql/src/change-notes/2022-08-29-add-security-severity.md b/go/ql/src/change-notes/2022-08-29-add-security-severity.md deleted file mode 100644 index 9451c11f6a1..00000000000 --- a/go/ql/src/change-notes/2022-08-29-add-security-severity.md +++ /dev/null @@ -1,4 +0,0 @@ ---- -category: queryMetadata ---- -* Added the `security-severity` tag and CWE tag to the `go/insecure-hostkeycallback` query. diff --git a/go/ql/src/change-notes/released/0.3.0.md b/go/ql/src/change-notes/released/0.3.0.md new file mode 100644 index 00000000000..434f7dba4e4 --- /dev/null +++ b/go/ql/src/change-notes/released/0.3.0.md @@ -0,0 +1,9 @@ +## 0.3.0 + +### Query Metadata Changes + +* Added the `security-severity` tag and CWE tag to the `go/insecure-hostkeycallback` query. + +### Minor Analysis Improvements + +* The alert message of many queries have been changed to make the message consistent with other languages. diff --git a/go/ql/src/codeql-pack.release.yml b/go/ql/src/codeql-pack.release.yml index 211454ed306..95f6e3a0ba6 100644 --- a/go/ql/src/codeql-pack.release.yml +++ b/go/ql/src/codeql-pack.release.yml @@ -1,2 +1,2 @@ --- -lastReleaseVersion: 0.2.5 +lastReleaseVersion: 0.3.0 diff --git a/go/ql/src/qlpack.yml b/go/ql/src/qlpack.yml index e9e5bb07310..28c42261e29 100644 --- a/go/ql/src/qlpack.yml +++ b/go/ql/src/qlpack.yml @@ -1,5 +1,5 @@ name: codeql/go-queries -version: 0.3.0-dev +version: 0.3.0 groups: - go - queries diff --git a/java/ql/lib/CHANGELOG.md b/java/ql/lib/CHANGELOG.md index 08015c8974b..0f9512eabda 100644 --- a/java/ql/lib/CHANGELOG.md +++ b/java/ql/lib/CHANGELOG.md @@ -1,3 +1,50 @@ +## 0.4.0 + +### Breaking Changes + +* The `Member.getQualifiedName()` predicate result now includes the qualified name of the declaring type. + +### Deprecated APIs + +* The predicate `Annotation.getAValue()` has been deprecated because it might lead to obtaining the value of the wrong annotation element by accident. `getValue(string)` (or one of the value type specific predicates) should be used to explicitly specify the name of the annotation element. +* The predicate `Annotation.getAValue(string)` has been renamed to `getAnArrayValue(string)`. +* The predicate `SuppressWarningsAnnotation.getASuppressedWarningLiteral()` has been deprecated because it unnecessarily restricts the result type; `getASuppressedWarning()` should be used instead. +* The predicates `TargetAnnotation.getATargetExpression()` and `RetentionAnnotation.getRetentionPolicyExpression()` have been deprecated because getting the enum constant read expression is rarely useful, instead the corresponding predicates for getting the name of the referenced enum constants should be used. + +### New Features + +* Added a new predicate, `allowsBackup`, in the `AndroidApplicationXmlElement` class. This predicate detects if the application element does not disable the `android:allowBackup` attribute. +* The predicates of the CodeQL class `Annotation` have been improved: + * Convenience value type specific predicates have been added, such as `getEnumConstantValue(string)` or `getStringValue(string)`. + * Convenience predicates for elements with array values have been added, such as `getAnEnumConstantArrayValue(string)`. While the behavior of the existing predicates has not changed, usage of them should be reviewed (or replaced with the newly added predicate) to make sure they work correctly for elements with array values. + * Some internal CodeQL usage of the `Annotation` predicates has been adjusted and corrected; this might affect the results of some queries. +* New predicates have been added to the CodeQL class `Annotatable` to support getting declared and associated annotations. As part of that, `hasAnnotation()` has been changed to also consider inherited annotations, to be consistent with `hasAnnotation(string, string)` and `getAnAnnotation()`. The newly added predicate `hasDeclaredAnnotation()` can be used as replacement for the old functionality. +* New predicates have been added to the CodeQL class `AnnotationType` to simplify getting information about usage of JDK meta-annotations, such as `@Retention`. + +### Major Analysis Improvements + +* The virtual dispatch relation used in data flow now favors summary models over source code for dispatch to interface methods from `java.util` unless there is evidence that a specific source implementation is reachable. This should provide increased precision for any projects that include, for example, custom `List` or `Map` implementations. + +### Minor Analysis Improvements + +* Added new sinks to the query `java/android/implict-pendingintents` to take into account the classes `androidx.core.app.NotificationManagerCompat` and `androidx.core.app.AlarmManagerCompat`. +* Added new flow steps for `androidx.core.app.NotificationCompat` and its inner classes. +* Added flow sinks, sources and summaries for the Kotlin standard library. +* Added flow summary for `org.springframework.data.repository.CrudRepository.save()`. +* Added new flow steps for the following Android classes: + * `android.content.ContentResolver` + * `android.content.ContentProviderClient` + * `android.content.ContentProviderOperation` + * `android.content.ContentProviderOperation$Builder` + * `android.content.ContentProviderResult` + * `android.database.Cursor` +* Added taint flow models for the `java.lang.String.(charAt|getBytes)` methods. +* Improved taint flow models for the `java.lang.String.(replace|replaceFirst|replaceAll)` methods. Additional results may be found where users do not properly sanitize their inputs. + +### Bug Fixes + +* Fixed an issue in the taint tracking analysis where implicit reads were not allowed by default in sinks or additional taint steps that used flow states. + ## 0.3.5 ## 0.3.4 @@ -21,7 +68,7 @@ ### Minor Analysis Improvements -* Added new flow steps for the classes `java.io.Path` and `java.nio.Paths`. +* Added new flow steps for the classes `java.nio.file.Path` and `java.nio.file.Paths`. * The class `AndroidFragment` now also models the Android Jetpack version of the `Fragment` class (`androidx.fragment.app.Fragment`). * Java 19 builds can now be extracted. There are no non-preview new language features in this release, so the only user-visible change is that the CodeQL extractor will now correctly trace compilations using the JDK 19 release of `javac`. * Classes and methods that are seen with several different paths during the extraction process (for example, packaged into different JAR files) now report an arbitrarily selected location via their `getLocation` and `hasLocationInfo` predicates, rather than reporting all of them. This may lead to reduced alert duplication. diff --git a/java/ql/lib/change-notes/2022-04-01-annotation-deprecations.md b/java/ql/lib/change-notes/2022-04-01-annotation-deprecations.md deleted file mode 100644 index 8c8046670a1..00000000000 --- a/java/ql/lib/change-notes/2022-04-01-annotation-deprecations.md +++ /dev/null @@ -1,7 +0,0 @@ ---- -category: deprecated ---- -* The predicate `Annotation.getAValue()` has been deprecated because it might lead to obtaining the value of the wrong annotation element by accident. `getValue(string)` (or one of the value type specific predicates) should be used to explicitly specify the name of the annotation element. -* The predicate `Annotation.getAValue(string)` has been renamed to `getAnArrayValue(string)`. -* The predicate `SuppressWarningsAnnotation.getASuppressedWarningLiteral()` has been deprecated because it unnecessarily restricts the result type; `getASuppressedWarning()` should be used instead. -* The predicates `TargetAnnotation.getATargetExpression()` and `RetentionAnnotation.getRetentionPolicyExpression()` have been deprecated because getting the enum constant read expression is rarely useful, instead the corresponding predicates for getting the name of the referenced enum constants should be used. diff --git a/java/ql/lib/change-notes/2022-04-01-annotation-features.md b/java/ql/lib/change-notes/2022-04-01-annotation-features.md deleted file mode 100644 index 3a2d6e2561c..00000000000 --- a/java/ql/lib/change-notes/2022-04-01-annotation-features.md +++ /dev/null @@ -1,9 +0,0 @@ ---- -category: feature ---- -* The predicates of the CodeQL class `Annotation` have been improved: - * Convenience value type specific predicates have been added, such as `getEnumConstantValue(string)` or `getStringValue(string)`. - * Convenience predicates for elements with array values have been added, such as `getAnEnumConstantArrayValue(string)`. While the behavior of the existing predicates has not changed, usage of them should be reviewed (or replaced with the newly added predicate) to make sure they work correctly for elements with array values. - * Some internal CodeQL usage of the `Annotation` predicates has been adjusted and corrected; this might affect the results of some queries. -* New predicates have been added to the CodeQL class `Annotatable` to support getting declared and associated annotations. As part of that, `hasAnnotation()` has been changed to also consider inherited annotations, to be consistent with `hasAnnotation(string, string)` and `getAnAnnotation()`. The newly added predicate `hasDeclaredAnnotation()` can be used as replacement for the old functionality. -* New predicates have been added to the CodeQL class `AnnotationType` to simplify getting information about usage of JDK meta-annotations, such as `@Retention`. diff --git a/java/ql/lib/change-notes/2022-08-18-android-manifest-backup-predicate.md b/java/ql/lib/change-notes/2022-08-18-android-manifest-backup-predicate.md deleted file mode 100644 index 0af4f964170..00000000000 --- a/java/ql/lib/change-notes/2022-08-18-android-manifest-backup-predicate.md +++ /dev/null @@ -1,4 +0,0 @@ ---- -category: feature ---- -* Added a new predicate, `allowsBackup`, in the `AndroidApplicationXmlElement` class. This predicate detects if the application element does not disable the `android:allowBackup` attribute. diff --git a/java/ql/lib/change-notes/2022-08-19-string-taint-models.md b/java/ql/lib/change-notes/2022-08-19-string-taint-models.md deleted file mode 100644 index 7d7404755ea..00000000000 --- a/java/ql/lib/change-notes/2022-08-19-string-taint-models.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -category: minorAnalysis ---- -* Added taint flow models for the `java.lang.String.(charAt|getBytes)` methods. -* Improved taint flow models for the `java.lang.String.(replace|replaceFirst|replaceAll)` methods. Additional results may be found where users do not properly sanitize their inputs. diff --git a/java/ql/lib/change-notes/2022-08-23-contentresolver-summaries.md b/java/ql/lib/change-notes/2022-08-23-contentresolver-summaries.md deleted file mode 100644 index 03790ce61c6..00000000000 --- a/java/ql/lib/change-notes/2022-08-23-contentresolver-summaries.md +++ /dev/null @@ -1,10 +0,0 @@ ---- -category: minorAnalysis ---- -* Added new flow steps for the following Android classes: - * `android.content.ContentResolver` - * `android.content.ContentProviderClient` - * `android.content.ContentProviderOperation` - * `android.content.ContentProviderOperation$Builder` - * `android.content.ContentProviderResult` - * `android.database.Cursor` diff --git a/java/ql/lib/change-notes/2022-08-25-taint-model-spring-crudrepository.md b/java/ql/lib/change-notes/2022-08-25-taint-model-spring-crudrepository.md deleted file mode 100644 index 2d5fce9346f..00000000000 --- a/java/ql/lib/change-notes/2022-08-25-taint-model-spring-crudrepository.md +++ /dev/null @@ -1,4 +0,0 @@ ---- -category: minorAnalysis ---- -* Added flow summary for `org.springframework.data.repository.CrudRepository.save()`. diff --git a/java/ql/lib/change-notes/2022-08-31-kotlin-stdlib.md b/java/ql/lib/change-notes/2022-08-31-kotlin-stdlib.md deleted file mode 100644 index c1288fd6568..00000000000 --- a/java/ql/lib/change-notes/2022-08-31-kotlin-stdlib.md +++ /dev/null @@ -1,4 +0,0 @@ ---- -category: minorAnalysis ---- -* Added flow sinks, sources and summaries for the Kotlin standard library. \ No newline at end of file diff --git a/java/ql/lib/change-notes/2022-09-06-notificationcompat-summaries.md b/java/ql/lib/change-notes/2022-09-06-notificationcompat-summaries.md deleted file mode 100644 index e95ad457844..00000000000 --- a/java/ql/lib/change-notes/2022-09-06-notificationcompat-summaries.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -category: minorAnalysis ---- -* Added new flow steps for `androidx.core.app.NotificationCompat` and its inner classes. - \ No newline at end of file diff --git a/java/ql/lib/change-notes/2022-09-07-implicit-pendingintents-compat-sinks.md b/java/ql/lib/change-notes/2022-09-07-implicit-pendingintents-compat-sinks.md deleted file mode 100644 index a1ae10ac7d5..00000000000 --- a/java/ql/lib/change-notes/2022-09-07-implicit-pendingintents-compat-sinks.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -category: minorAnalysis ---- -* Added new sinks to the query `java/android/implict-pendingintents` to take into account the classes `androidx.core.app.NotificationManagerCompat` and `androidx.core.app.AlarmManagerCompat`. - \ No newline at end of file diff --git a/java/ql/lib/change-notes/2022-09-08-implicit-read-flowstates.md b/java/ql/lib/change-notes/2022-09-08-implicit-read-flowstates.md deleted file mode 100644 index efdaf85f2ed..00000000000 --- a/java/ql/lib/change-notes/2022-09-08-implicit-read-flowstates.md +++ /dev/null @@ -1,4 +0,0 @@ ---- -category: fix ---- -* Fixed an issue in the taint tracking analysis where implicit reads were not allowed by default in sinks or additional taint steps that used flow states. \ No newline at end of file diff --git a/java/ql/lib/change-notes/2022-09-13-Member-getQualifiedName.md b/java/ql/lib/change-notes/2022-09-13-Member-getQualifiedName.md deleted file mode 100644 index 70b897911a8..00000000000 --- a/java/ql/lib/change-notes/2022-09-13-Member-getQualifiedName.md +++ /dev/null @@ -1,4 +0,0 @@ ---- -category: breaking ---- -* The `Member.getQualifiedName()` predicate result now includes the qualified name of the declaring type. diff --git a/java/ql/lib/change-notes/2022-09-16-dispatch-confidence.md b/java/ql/lib/change-notes/2022-09-16-dispatch-confidence.md deleted file mode 100644 index 9287e9abae3..00000000000 --- a/java/ql/lib/change-notes/2022-09-16-dispatch-confidence.md +++ /dev/null @@ -1,4 +0,0 @@ ---- -category: majorAnalysis ---- -* The virtual dispatch relation used in data flow now favors summary models over source code for dispatch to interface methods from `java.util` unless there is evidence that a specific source implementation is reachable. This should provide increased precision for any projects that include, for example, custom `List` or `Map` implementations. diff --git a/java/ql/lib/change-notes/released/0.4.0.md b/java/ql/lib/change-notes/released/0.4.0.md new file mode 100644 index 00000000000..addcd45e0d2 --- /dev/null +++ b/java/ql/lib/change-notes/released/0.4.0.md @@ -0,0 +1,46 @@ +## 0.4.0 + +### Breaking Changes + +* The `Member.getQualifiedName()` predicate result now includes the qualified name of the declaring type. + +### Deprecated APIs + +* The predicate `Annotation.getAValue()` has been deprecated because it might lead to obtaining the value of the wrong annotation element by accident. `getValue(string)` (or one of the value type specific predicates) should be used to explicitly specify the name of the annotation element. +* The predicate `Annotation.getAValue(string)` has been renamed to `getAnArrayValue(string)`. +* The predicate `SuppressWarningsAnnotation.getASuppressedWarningLiteral()` has been deprecated because it unnecessarily restricts the result type; `getASuppressedWarning()` should be used instead. +* The predicates `TargetAnnotation.getATargetExpression()` and `RetentionAnnotation.getRetentionPolicyExpression()` have been deprecated because getting the enum constant read expression is rarely useful, instead the corresponding predicates for getting the name of the referenced enum constants should be used. + +### New Features + +* Added a new predicate, `allowsBackup`, in the `AndroidApplicationXmlElement` class. This predicate detects if the application element does not disable the `android:allowBackup` attribute. +* The predicates of the CodeQL class `Annotation` have been improved: + * Convenience value type specific predicates have been added, such as `getEnumConstantValue(string)` or `getStringValue(string)`. + * Convenience predicates for elements with array values have been added, such as `getAnEnumConstantArrayValue(string)`. While the behavior of the existing predicates has not changed, usage of them should be reviewed (or replaced with the newly added predicate) to make sure they work correctly for elements with array values. + * Some internal CodeQL usage of the `Annotation` predicates has been adjusted and corrected; this might affect the results of some queries. +* New predicates have been added to the CodeQL class `Annotatable` to support getting declared and associated annotations. As part of that, `hasAnnotation()` has been changed to also consider inherited annotations, to be consistent with `hasAnnotation(string, string)` and `getAnAnnotation()`. The newly added predicate `hasDeclaredAnnotation()` can be used as replacement for the old functionality. +* New predicates have been added to the CodeQL class `AnnotationType` to simplify getting information about usage of JDK meta-annotations, such as `@Retention`. + +### Major Analysis Improvements + +* The virtual dispatch relation used in data flow now favors summary models over source code for dispatch to interface methods from `java.util` unless there is evidence that a specific source implementation is reachable. This should provide increased precision for any projects that include, for example, custom `List` or `Map` implementations. + +### Minor Analysis Improvements + +* Added new sinks to the query `java/android/implict-pendingintents` to take into account the classes `androidx.core.app.NotificationManagerCompat` and `androidx.core.app.AlarmManagerCompat`. +* Added new flow steps for `androidx.core.app.NotificationCompat` and its inner classes. +* Added flow sinks, sources and summaries for the Kotlin standard library. +* Added flow summary for `org.springframework.data.repository.CrudRepository.save()`. +* Added new flow steps for the following Android classes: + * `android.content.ContentResolver` + * `android.content.ContentProviderClient` + * `android.content.ContentProviderOperation` + * `android.content.ContentProviderOperation$Builder` + * `android.content.ContentProviderResult` + * `android.database.Cursor` +* Added taint flow models for the `java.lang.String.(charAt|getBytes)` methods. +* Improved taint flow models for the `java.lang.String.(replace|replaceFirst|replaceAll)` methods. Additional results may be found where users do not properly sanitize their inputs. + +### Bug Fixes + +* Fixed an issue in the taint tracking analysis where implicit reads were not allowed by default in sinks or additional taint steps that used flow states. diff --git a/java/ql/lib/codeql-pack.release.yml b/java/ql/lib/codeql-pack.release.yml index 468917f2543..458bfbeccff 100644 --- a/java/ql/lib/codeql-pack.release.yml +++ b/java/ql/lib/codeql-pack.release.yml @@ -1,2 +1,2 @@ --- -lastReleaseVersion: 0.3.5 +lastReleaseVersion: 0.4.0 diff --git a/java/ql/lib/qlpack.yml b/java/ql/lib/qlpack.yml index e7e982f69e2..cb0e67ef352 100644 --- a/java/ql/lib/qlpack.yml +++ b/java/ql/lib/qlpack.yml @@ -1,5 +1,5 @@ name: codeql/java-all -version: 0.4.0-dev +version: 0.4.0 groups: java dbscheme: config/semmlecode.dbscheme extractor: java diff --git a/java/ql/src/CHANGELOG.md b/java/ql/src/CHANGELOG.md index add95173a56..4f6633176f4 100644 --- a/java/ql/src/CHANGELOG.md +++ b/java/ql/src/CHANGELOG.md @@ -1,3 +1,21 @@ +## 0.4.0 + +### New Queries + +* The query "Server-side template injection" (`java/server-side-template-injection`) has been promoted from experimental to the main query pack. This query was originally [submitted as an experimental query by @porcupineyhairs](https://github.com/github/codeql/pull/5935). +* Added a new query, `java/android/backup-enabled`, to detect if Android applications allow backups. + +### Query Metadata Changes + +* Removed the `@security-severity` tag from several queries not in the `Security/` folder that also had missing `security` tags. + +### Minor Analysis Improvements + +* The Java extractor now populates the `Method` relating to a `MethodAccess` consistently for calls using an explicit and implicit `this` qualifier. Previously if the method `foo` was inherited from a specialised generic type `ParentType`, then an explicit call `this.foo()` would yield a `MethodAccess` whose `getMethod()` accessor returned the bound method `ParentType.foo`, whereas an implicitly-qualified `foo()` `MethodAccess`'s `getMethod()` would return the unbound method `ParentType.foo`. Now both scenarios produce a bound method. This means that all data-flow queries may return more results where a relevant path transits a call to such an implicitly-qualified call to a member method with a bound generic type, while queries that inspect the result of `MethodAccess.getMethod()` may need to tolerate bound generic methods in more circumstances. The queries `java/iterator-remove-failure`, `java/non-static-nested-class`, `java/internal-representation-exposure`, `java/subtle-inherited-call` and `java/deprecated-call` have been amended to properly handle calls to bound generic methods, and in some instances may now produce more results in the explicit-`this` case as well. +* Added taint model for arguments of `java.net.URI` constructors to the queries `java/path-injection` and `java/path-injection-local`. +* Added new sinks related to Android's `AlarmManager` to the query `java/android/implicit-pendingintents`. +* The alert message of many queries have been changed to make the message consistent with other languages. + ## 0.3.4 ## 0.3.3 diff --git a/java/ql/src/change-notes/2022-08-18-android-allowbackup-query.md b/java/ql/src/change-notes/2022-08-18-android-allowbackup-query.md deleted file mode 100644 index e37abd0d755..00000000000 --- a/java/ql/src/change-notes/2022-08-18-android-allowbackup-query.md +++ /dev/null @@ -1,4 +0,0 @@ ---- -category: newQuery ---- -* Added a new query, `java/android/backup-enabled`, to detect if Android applications allow backups. diff --git a/java/ql/src/change-notes/2022-08-23-alert-messages.md b/java/ql/src/change-notes/2022-08-23-alert-messages.md deleted file mode 100644 index 22f4c5c6682..00000000000 --- a/java/ql/src/change-notes/2022-08-23-alert-messages.md +++ /dev/null @@ -1,4 +0,0 @@ ---- -category: minorAnalysis ---- -* The alert message of many queries have been changed to make the message consistent with other languages. \ No newline at end of file diff --git a/java/ql/src/change-notes/2022-08-29-remove-security-tag.md b/java/ql/src/change-notes/2022-08-29-remove-security-tag.md deleted file mode 100644 index 8770494e631..00000000000 --- a/java/ql/src/change-notes/2022-08-29-remove-security-tag.md +++ /dev/null @@ -1,4 +0,0 @@ ---- -category: queryMetadata ---- -* Removed the `@security-severity` tag from several queries not in the `Security/` folder that also had missing `security` tags. diff --git a/java/ql/src/change-notes/2022-09-01-implicit-pendingintents-new-sinks.md b/java/ql/src/change-notes/2022-09-01-implicit-pendingintents-new-sinks.md deleted file mode 100644 index 7ac374be58f..00000000000 --- a/java/ql/src/change-notes/2022-09-01-implicit-pendingintents-new-sinks.md +++ /dev/null @@ -1,4 +0,0 @@ ---- -category: minorAnalysis ---- -* Added new sinks related to Android's `AlarmManager` to the query `java/android/implicit-pendingintents`. \ No newline at end of file diff --git a/java/ql/src/change-notes/2022-09-08-server-side-template-injection-query.md b/java/ql/src/change-notes/2022-09-08-server-side-template-injection-query.md deleted file mode 100644 index a62dc864f44..00000000000 --- a/java/ql/src/change-notes/2022-09-08-server-side-template-injection-query.md +++ /dev/null @@ -1,4 +0,0 @@ ---- -category: newQuery ---- -* The query "Server-side template injection" (`java/server-side-template-injection`) has been promoted from experimental to the main query pack. This query was originally [submitted as an experimental query by @porcupineyhairs](https://github.com/github/codeql/pull/5935). \ No newline at end of file diff --git a/java/ql/src/change-notes/2022-09-13-flow-model-for-uri-constructors.md b/java/ql/src/change-notes/2022-09-13-flow-model-for-uri-constructors.md deleted file mode 100644 index 254fc55d42a..00000000000 --- a/java/ql/src/change-notes/2022-09-13-flow-model-for-uri-constructors.md +++ /dev/null @@ -1,4 +0,0 @@ ---- -category: minorAnalysis ---- -* Added taint model for arguments of `java.net.URI` constructors to the queries `java/path-injection` and `java/path-injection-local`. diff --git a/java/ql/src/change-notes/2022-09-15-implicit-this-generic-method.md b/java/ql/src/change-notes/released/0.4.0.md similarity index 56% rename from java/ql/src/change-notes/2022-09-15-implicit-this-generic-method.md rename to java/ql/src/change-notes/released/0.4.0.md index be30188b05d..c045f765acb 100644 --- a/java/ql/src/change-notes/2022-09-15-implicit-this-generic-method.md +++ b/java/ql/src/change-notes/released/0.4.0.md @@ -1,4 +1,17 @@ ---- -category: minorAnalysis ---- +## 0.4.0 + +### New Queries + +* The query "Server-side template injection" (`java/server-side-template-injection`) has been promoted from experimental to the main query pack. This query was originally [submitted as an experimental query by @porcupineyhairs](https://github.com/github/codeql/pull/5935). +* Added a new query, `java/android/backup-enabled`, to detect if Android applications allow backups. + +### Query Metadata Changes + +* Removed the `@security-severity` tag from several queries not in the `Security/` folder that also had missing `security` tags. + +### Minor Analysis Improvements + * The Java extractor now populates the `Method` relating to a `MethodAccess` consistently for calls using an explicit and implicit `this` qualifier. Previously if the method `foo` was inherited from a specialised generic type `ParentType`, then an explicit call `this.foo()` would yield a `MethodAccess` whose `getMethod()` accessor returned the bound method `ParentType.foo`, whereas an implicitly-qualified `foo()` `MethodAccess`'s `getMethod()` would return the unbound method `ParentType.foo`. Now both scenarios produce a bound method. This means that all data-flow queries may return more results where a relevant path transits a call to such an implicitly-qualified call to a member method with a bound generic type, while queries that inspect the result of `MethodAccess.getMethod()` may need to tolerate bound generic methods in more circumstances. The queries `java/iterator-remove-failure`, `java/non-static-nested-class`, `java/internal-representation-exposure`, `java/subtle-inherited-call` and `java/deprecated-call` have been amended to properly handle calls to bound generic methods, and in some instances may now produce more results in the explicit-`this` case as well. +* Added taint model for arguments of `java.net.URI` constructors to the queries `java/path-injection` and `java/path-injection-local`. +* Added new sinks related to Android's `AlarmManager` to the query `java/android/implicit-pendingintents`. +* The alert message of many queries have been changed to make the message consistent with other languages. diff --git a/java/ql/src/codeql-pack.release.yml b/java/ql/src/codeql-pack.release.yml index 5ed15c24b9c..458bfbeccff 100644 --- a/java/ql/src/codeql-pack.release.yml +++ b/java/ql/src/codeql-pack.release.yml @@ -1,2 +1,2 @@ --- -lastReleaseVersion: 0.3.4 +lastReleaseVersion: 0.4.0 diff --git a/java/ql/src/qlpack.yml b/java/ql/src/qlpack.yml index fc8fb87d561..646ad8ef94e 100644 --- a/java/ql/src/qlpack.yml +++ b/java/ql/src/qlpack.yml @@ -1,5 +1,5 @@ name: codeql/java-queries -version: 0.4.0-dev +version: 0.4.0 groups: - java - queries diff --git a/javascript/ql/lib/CHANGELOG.md b/javascript/ql/lib/CHANGELOG.md index b75b634cb41..d85a14dca02 100644 --- a/javascript/ql/lib/CHANGELOG.md +++ b/javascript/ql/lib/CHANGELOG.md @@ -1,3 +1,75 @@ +## 0.3.0 + +### Breaking Changes + +* Many library models have been rewritten to use dataflow nodes instead of the AST. + The types of some classes have been changed, and these changes may break existing code. + Other classes and predicates have been renamed, in these cases the old name is still available as a deprecated feature. + +* The basetype of the following list of classes has changed from an expression to a dataflow node, and thus code using these classes might break. + The fix to these breakages is usually to use `asExpr()` to get an expression from a dataflow node, or to use `.flow()` to get a dataflow node from an expression. + - DOM.qll#WebStorageWrite + - CryptoLibraries.qll#CryptographicOperation + - Express.qll#Express::RequestBodyAccess + - HTTP.qll#HTTP::ResponseBody + - HTTP.qll#HTTP::CookieDefinition + - HTTP.qll#HTTP::ServerDefinition + - HTTP.qll#HTTP::RouteSetup + - NoSQL.qll#NoSql::Query + - SQL.qll#SQL::SqlString + - SQL.qll#SQL::SqlSanitizer + - HTTP.qll#ResponseBody + - HTTP.qll#CookieDefinition + - HTTP.qll#ServerDefinition + - HTTP.qll#RouteSetup + - HTTP.qll#HTTP::RedirectInvocation + - HTTP.qll#RedirectInvocation + - Express.qll#Express::RouterDefinition + - AngularJSCore.qll#LinkFunction + - Connect.qll#Connect::StandardRouteHandler + - CryptoLibraries.qll#CryptographicKeyCredentialsExpr + - AWS.qll#AWS::Credentials + - Azure.qll#Azure::Credentials + - Connect.qll#Connect::Credentials + - DigitalOcean.qll#DigitalOcean::Credentials + - Express.qll#Express::Credentials + - NodeJSLib.qll#NodeJSLib::Credentials + - PkgCloud.qll#PkgCloud::Credentials + - Request.qll#Request::Credentials + - ServiceDefinitions.qll#InjectableFunctionServiceRequest + - SensitiveActions.qll#SensitiveVariableAccess + - SensitiveActions.qll#CleartextPasswordExpr + - Connect.qll#Connect::ServerDefinition + - Restify.qll#Restify::ServerDefinition + - Connect.qll#Connect::RouteSetup + - Express.qll#Express::RouteSetup + - Fastify.qll#Fastify::RouteSetup + - Hapi.qll#Hapi::RouteSetup + - Koa.qll#Koa::RouteSetup + - Restify.qll#Restify::RouteSetup + - NodeJSLib.qll#NodeJSLib::RouteSetup + - Express.qll#Express::StandardRouteHandler + - Express.qll#Express::SetCookie + - Hapi.qll#Hapi::RouteHandler + - HTTP.qll#HTTP::Servers::StandardHeaderDefinition + - HTTP.qll#Servers::StandardHeaderDefinition + - Hapi.qll#Hapi::ServerDefinition + - Koa.qll#Koa::AppDefinition + - SensitiveActions.qll#SensitiveCall + +### Deprecated APIs + +* Some classes/modules with upper-case acronyms in their name have been renamed to follow our style-guide. + The old name still exists as a deprecated alias. + +### Major Analysis Improvements + +* Added support for TypeScript 4.8. + +### Minor Analysis Improvements + +* A model for the `mermaid` library has been added. XSS queries can now detect flow through the `render` method of the `mermaid` library. + ## 0.2.5 ## 0.2.4 diff --git a/javascript/ql/lib/change-notes/2022-05-24-typescript-4-8.md b/javascript/ql/lib/change-notes/2022-05-24-typescript-4-8.md deleted file mode 100644 index 28b73b84d1b..00000000000 --- a/javascript/ql/lib/change-notes/2022-05-24-typescript-4-8.md +++ /dev/null @@ -1,4 +0,0 @@ ---- -category: majorAnalysis ---- -* Added support for TypeScript 4.8. \ No newline at end of file diff --git a/javascript/ql/lib/change-notes/2022-08-09-mermaid.md b/javascript/ql/lib/change-notes/2022-08-09-mermaid.md deleted file mode 100644 index 4e8d9f6677b..00000000000 --- a/javascript/ql/lib/change-notes/2022-08-09-mermaid.md +++ /dev/null @@ -1,4 +0,0 @@ ---- -category: minorAnalysis ---- -* A model for the `mermaid` library has been added. XSS queries can now detect flow through the `render` method of the `mermaid` library. \ No newline at end of file diff --git a/javascript/ql/lib/change-notes/2022-09-12-uppercase.md b/javascript/ql/lib/change-notes/2022-09-12-uppercase.md deleted file mode 100644 index 996861f1c2c..00000000000 --- a/javascript/ql/lib/change-notes/2022-09-12-uppercase.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -category: deprecated ---- -* Some classes/modules with upper-case acronyms in their name 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-04-04-dataflow-models.md b/javascript/ql/lib/change-notes/released/0.3.0.md similarity index 82% rename from javascript/ql/lib/change-notes/2022-04-04-dataflow-models.md rename to javascript/ql/lib/change-notes/released/0.3.0.md index 4a454f51b20..00ff8feb930 100644 --- a/javascript/ql/lib/change-notes/2022-04-04-dataflow-models.md +++ b/javascript/ql/lib/change-notes/released/0.3.0.md @@ -1,6 +1,7 @@ ---- -category: breaking ---- +## 0.3.0 + +### Breaking Changes + * Many library models have been rewritten to use dataflow nodes instead of the AST. The types of some classes have been changed, and these changes may break existing code. Other classes and predicates have been renamed, in these cases the old name is still available as a deprecated feature. @@ -54,4 +55,17 @@ category: breaking - HTTP.qll#Servers::StandardHeaderDefinition - Hapi.qll#Hapi::ServerDefinition - Koa.qll#Koa::AppDefinition - - SensitiveActions.qll#SensitiveCall \ No newline at end of file + - SensitiveActions.qll#SensitiveCall + +### Deprecated APIs + +* Some classes/modules with upper-case acronyms in their name have been renamed to follow our style-guide. + The old name still exists as a deprecated alias. + +### Major Analysis Improvements + +* Added support for TypeScript 4.8. + +### Minor Analysis Improvements + +* A model for the `mermaid` library has been added. XSS queries can now detect flow through the `render` method of the `mermaid` library. diff --git a/javascript/ql/lib/codeql-pack.release.yml b/javascript/ql/lib/codeql-pack.release.yml index 211454ed306..95f6e3a0ba6 100644 --- a/javascript/ql/lib/codeql-pack.release.yml +++ b/javascript/ql/lib/codeql-pack.release.yml @@ -1,2 +1,2 @@ --- -lastReleaseVersion: 0.2.5 +lastReleaseVersion: 0.3.0 diff --git a/javascript/ql/lib/qlpack.yml b/javascript/ql/lib/qlpack.yml index ac95f2b73c4..c6f7d610046 100644 --- a/javascript/ql/lib/qlpack.yml +++ b/javascript/ql/lib/qlpack.yml @@ -1,5 +1,5 @@ name: codeql/javascript-all -version: 0.3.0-dev +version: 0.3.0 groups: javascript dbscheme: semmlecode.javascript.dbscheme extractor: javascript diff --git a/javascript/ql/src/CHANGELOG.md b/javascript/ql/src/CHANGELOG.md index b276538589f..a5e41a1e50a 100644 --- a/javascript/ql/src/CHANGELOG.md +++ b/javascript/ql/src/CHANGELOG.md @@ -1,3 +1,17 @@ +## 0.4.0 + +### Minor Analysis Improvements + +* Improved how the JavaScript parser handles ambiguities between plain JavaScript and dialects such as Flow and E4X that use the same file extension. The parser now prefers plain JavaScript if possible, falling back to dialects only if the source code can not be parsed as plain JavaScript. Previously, there were rare cases where parsing would fail because the parser would erroneously attempt to parse dialect-specific syntax in a regular JavaScript file. +- The `js/regexp/always-matches` query will no longer report an empty regular expression as always + matching, as this is often the intended behavior. +* The alert message of many queries have been changed to make the message consistent with other languages. + +### Bug Fixes + +- Fixed a bug in the `js/type-confusion-through-parameter-tampering` query that would cause it to ignore + sanitizers in branching conditions. The query should now report fewer false positives. + ## 0.3.4 ## 0.3.3 diff --git a/javascript/ql/src/change-notes/2022-08-23-alert-messages.md b/javascript/ql/src/change-notes/2022-08-23-alert-messages.md deleted file mode 100644 index 22f4c5c6682..00000000000 --- a/javascript/ql/src/change-notes/2022-08-23-alert-messages.md +++ /dev/null @@ -1,4 +0,0 @@ ---- -category: minorAnalysis ---- -* The alert message of many queries have been changed to make the message consistent with other languages. \ No newline at end of file diff --git a/javascript/ql/src/change-notes/2022-09-07-type-confusion-bugfix.md b/javascript/ql/src/change-notes/2022-09-07-type-confusion-bugfix.md deleted file mode 100644 index af351eae597..00000000000 --- a/javascript/ql/src/change-notes/2022-09-07-type-confusion-bugfix.md +++ /dev/null @@ -1,6 +0,0 @@ ---- -category: fix ---- - -- Fixed a bug in the `js/type-confusion-through-parameter-tampering` query that would cause it to ignore - sanitizers in branching conditions. The query should now report fewer false positives. diff --git a/javascript/ql/src/change-notes/2022-09-13-regexp-always-matches-fp.md b/javascript/ql/src/change-notes/2022-09-13-regexp-always-matches-fp.md deleted file mode 100644 index 9e3dc2e980d..00000000000 --- a/javascript/ql/src/change-notes/2022-09-13-regexp-always-matches-fp.md +++ /dev/null @@ -1,6 +0,0 @@ ---- -category: minorAnalysis ---- - -- The `js/regexp/always-matches` query will no longer report an empty regular expression as always - matching, as this is often the intended behavior. diff --git a/javascript/ql/src/change-notes/2022-09-22-plain-parsing.md b/javascript/ql/src/change-notes/2022-09-22-plain-parsing.md deleted file mode 100644 index 5a7f0504f33..00000000000 --- a/javascript/ql/src/change-notes/2022-09-22-plain-parsing.md +++ /dev/null @@ -1,4 +0,0 @@ ---- -category: minorAnalysis ---- -* Improved how the JavaScript parser handles ambiguities between plain JavaScript and dialects such as Flow and E4X that use the same file extension. The parser now prefers plain JavaScript if possible, falling back to dialects only if the source code can not be parsed as plain JavaScript. Previously, there were rare cases where parsing would fail because the parser would erroneously attempt to parse dialect-specific syntax in a regular JavaScript file. \ No newline at end of file diff --git a/javascript/ql/src/change-notes/released/0.4.0.md b/javascript/ql/src/change-notes/released/0.4.0.md new file mode 100644 index 00000000000..75b69c4dd6e --- /dev/null +++ b/javascript/ql/src/change-notes/released/0.4.0.md @@ -0,0 +1,13 @@ +## 0.4.0 + +### Minor Analysis Improvements + +* Improved how the JavaScript parser handles ambiguities between plain JavaScript and dialects such as Flow and E4X that use the same file extension. The parser now prefers plain JavaScript if possible, falling back to dialects only if the source code can not be parsed as plain JavaScript. Previously, there were rare cases where parsing would fail because the parser would erroneously attempt to parse dialect-specific syntax in a regular JavaScript file. +- The `js/regexp/always-matches` query will no longer report an empty regular expression as always + matching, as this is often the intended behavior. +* The alert message of many queries have been changed to make the message consistent with other languages. + +### Bug Fixes + +- Fixed a bug in the `js/type-confusion-through-parameter-tampering` query that would cause it to ignore + sanitizers in branching conditions. The query should now report fewer false positives. diff --git a/javascript/ql/src/codeql-pack.release.yml b/javascript/ql/src/codeql-pack.release.yml index 5ed15c24b9c..458bfbeccff 100644 --- a/javascript/ql/src/codeql-pack.release.yml +++ b/javascript/ql/src/codeql-pack.release.yml @@ -1,2 +1,2 @@ --- -lastReleaseVersion: 0.3.4 +lastReleaseVersion: 0.4.0 diff --git a/javascript/ql/src/qlpack.yml b/javascript/ql/src/qlpack.yml index 658dda139db..f2385b9fce0 100644 --- a/javascript/ql/src/qlpack.yml +++ b/javascript/ql/src/qlpack.yml @@ -1,5 +1,5 @@ name: codeql/javascript-queries -version: 0.4.0-dev +version: 0.4.0 groups: - javascript - queries diff --git a/misc/suite-helpers/CHANGELOG.md b/misc/suite-helpers/CHANGELOG.md new file mode 100644 index 00000000000..6bd73620860 --- /dev/null +++ b/misc/suite-helpers/CHANGELOG.md @@ -0,0 +1,3 @@ +## 0.3.0 + +No user-facing changes. diff --git a/misc/suite-helpers/change-notes/released/0.3.0.md b/misc/suite-helpers/change-notes/released/0.3.0.md new file mode 100644 index 00000000000..6bd73620860 --- /dev/null +++ b/misc/suite-helpers/change-notes/released/0.3.0.md @@ -0,0 +1,3 @@ +## 0.3.0 + +No user-facing changes. diff --git a/misc/suite-helpers/codeql-pack.release.yml b/misc/suite-helpers/codeql-pack.release.yml new file mode 100644 index 00000000000..95f6e3a0ba6 --- /dev/null +++ b/misc/suite-helpers/codeql-pack.release.yml @@ -0,0 +1,2 @@ +--- +lastReleaseVersion: 0.3.0 diff --git a/python/ql/lib/CHANGELOG.md b/python/ql/lib/CHANGELOG.md index f2a727eaac5..962c7b5d023 100644 --- a/python/ql/lib/CHANGELOG.md +++ b/python/ql/lib/CHANGELOG.md @@ -1,3 +1,21 @@ +## 0.6.0 + +### Deprecated APIs + +* Some unused predicates in `SsaDefinitions.qll`, `TObject.qll`, `protocols.qll`, and the `pointsto/` folder have been deprecated. +* Some classes/modules with upper-case acronyms in their name have been renamed to follow our style-guide. + The old name still exists as a deprecated alias. + +### Minor Analysis Improvements + +* Changed `CallNode.getArgByName` such that it has results for keyword arguments given after a dictionary unpacking argument, as the `bar=2` argument in `func(foo=1, **kwargs, bar=2)`. +* `getStarArg` member-predicate on `Call` and `CallNode` has been changed for calls that have multiple `*args` arguments (for example `func(42, *my_args, *other_args)`): Instead of producing no results, it will always have a result for the _first_ such `*args` argument. +* Reads of global/non-local variables (without annotations) inside functions defined on classes now works properly in the case where the class had an attribute defined with the same name as the non-local variable. + +### Bug Fixes + +* Fixed an issue in the taint tracking analysis where implicit reads were not allowed by default in sinks or additional taint steps that used flow states. + ## 0.5.5 ## 0.5.4 diff --git a/python/ql/lib/change-notes/2022-08-25-variable-fix.md b/python/ql/lib/change-notes/2022-08-25-variable-fix.md deleted file mode 100644 index 13ed77cb314..00000000000 --- a/python/ql/lib/change-notes/2022-08-25-variable-fix.md +++ /dev/null @@ -1,4 +0,0 @@ ---- -category: minorAnalysis ---- -* Reads of global/non-local variables (without annotations) inside functions defined on classes now works properly in the case where the class had an attribute defined with the same name as the non-local variable. diff --git a/python/ql/lib/change-notes/2022-09-08-implicit-read-flowstates.md b/python/ql/lib/change-notes/2022-09-08-implicit-read-flowstates.md deleted file mode 100644 index efdaf85f2ed..00000000000 --- a/python/ql/lib/change-notes/2022-09-08-implicit-read-flowstates.md +++ /dev/null @@ -1,4 +0,0 @@ ---- -category: fix ---- -* Fixed an issue in the taint tracking analysis where implicit reads were not allowed by default in sinks or additional taint steps that used flow states. \ No newline at end of file diff --git a/python/ql/lib/change-notes/2022-09-12-CallNode-getArgByName.md b/python/ql/lib/change-notes/2022-09-12-CallNode-getArgByName.md deleted file mode 100644 index 4bcde8386a8..00000000000 --- a/python/ql/lib/change-notes/2022-09-12-CallNode-getArgByName.md +++ /dev/null @@ -1,4 +0,0 @@ ---- -category: minorAnalysis ---- -* Changed `CallNode.getArgByName` such that it has results for keyword arguments given after a dictionary unpacking argument, as the `bar=2` argument in `func(foo=1, **kwargs, bar=2)`. diff --git a/python/ql/lib/change-notes/2022-09-12-deprecate-pointsto.md b/python/ql/lib/change-notes/2022-09-12-deprecate-pointsto.md deleted file mode 100644 index e3b67321a40..00000000000 --- a/python/ql/lib/change-notes/2022-09-12-deprecate-pointsto.md +++ /dev/null @@ -1,4 +0,0 @@ ---- -category: deprecated ---- -* Some unused predicates in `SsaDefinitions.qll`, `TObject.qll`, `protocols.qll`, and the `pointsto/` folder have been deprecated. \ No newline at end of file diff --git a/python/ql/lib/change-notes/2022-09-12-getStarArg-first.md b/python/ql/lib/change-notes/2022-09-12-getStarArg-first.md deleted file mode 100644 index cc3b01b24e9..00000000000 --- a/python/ql/lib/change-notes/2022-09-12-getStarArg-first.md +++ /dev/null @@ -1,4 +0,0 @@ ---- -category: minorAnalysis ---- -* `getStarArg` member-predicate on `Call` and `CallNode` has been changed for calls that have multiple `*args` arguments (for example `func(42, *my_args, *other_args)`): Instead of producing no results, it will always have a result for the _first_ such `*args` argument. diff --git a/python/ql/lib/change-notes/2022-09-12-uppercase.md b/python/ql/lib/change-notes/2022-09-12-uppercase.md deleted file mode 100644 index 996861f1c2c..00000000000 --- a/python/ql/lib/change-notes/2022-09-12-uppercase.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -category: deprecated ---- -* Some classes/modules with upper-case acronyms in their name 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/released/0.6.0.md b/python/ql/lib/change-notes/released/0.6.0.md new file mode 100644 index 00000000000..d8df505d133 --- /dev/null +++ b/python/ql/lib/change-notes/released/0.6.0.md @@ -0,0 +1,17 @@ +## 0.6.0 + +### Deprecated APIs + +* Some unused predicates in `SsaDefinitions.qll`, `TObject.qll`, `protocols.qll`, and the `pointsto/` folder have been deprecated. +* Some classes/modules with upper-case acronyms in their name have been renamed to follow our style-guide. + The old name still exists as a deprecated alias. + +### Minor Analysis Improvements + +* Changed `CallNode.getArgByName` such that it has results for keyword arguments given after a dictionary unpacking argument, as the `bar=2` argument in `func(foo=1, **kwargs, bar=2)`. +* `getStarArg` member-predicate on `Call` and `CallNode` has been changed for calls that have multiple `*args` arguments (for example `func(42, *my_args, *other_args)`): Instead of producing no results, it will always have a result for the _first_ such `*args` argument. +* Reads of global/non-local variables (without annotations) inside functions defined on classes now works properly in the case where the class had an attribute defined with the same name as the non-local variable. + +### Bug Fixes + +* Fixed an issue in the taint tracking analysis where implicit reads were not allowed by default in sinks or additional taint steps that used flow states. diff --git a/python/ql/lib/codeql-pack.release.yml b/python/ql/lib/codeql-pack.release.yml index 03e491f0899..a3f820f884d 100644 --- a/python/ql/lib/codeql-pack.release.yml +++ b/python/ql/lib/codeql-pack.release.yml @@ -1,2 +1,2 @@ --- -lastReleaseVersion: 0.5.5 +lastReleaseVersion: 0.6.0 diff --git a/python/ql/lib/qlpack.yml b/python/ql/lib/qlpack.yml index f1134aabc03..7162de1f600 100644 --- a/python/ql/lib/qlpack.yml +++ b/python/ql/lib/qlpack.yml @@ -1,5 +1,5 @@ name: codeql/python-all -version: 0.6.0-dev +version: 0.6.0 groups: python dbscheme: semmlecode.python.dbscheme extractor: python diff --git a/python/ql/src/CHANGELOG.md b/python/ql/src/CHANGELOG.md index 3dcb357340c..b26aede7b0b 100644 --- a/python/ql/src/CHANGELOG.md +++ b/python/ql/src/CHANGELOG.md @@ -1,3 +1,13 @@ +## 0.5.0 + +### Query Metadata Changes + +* Added the `security-severity` tag the `py/redos`, `py/polynomial-redos`, and `py/regex-injection` queries. + +### Minor Analysis Improvements + +* The alert message of many queries have been changed to make the message consistent with other languages. + ## 0.4.3 ## 0.4.2 diff --git a/python/ql/src/change-notes/2022-08-23-alert-messages.md b/python/ql/src/change-notes/2022-08-23-alert-messages.md deleted file mode 100644 index 22f4c5c6682..00000000000 --- a/python/ql/src/change-notes/2022-08-23-alert-messages.md +++ /dev/null @@ -1,4 +0,0 @@ ---- -category: minorAnalysis ---- -* The alert message of many queries have been changed to make the message consistent with other languages. \ No newline at end of file diff --git a/python/ql/src/change-notes/2022-08-29-missing-security-severity.md b/python/ql/src/change-notes/2022-08-29-missing-security-severity.md deleted file mode 100644 index 9c95f67e66b..00000000000 --- a/python/ql/src/change-notes/2022-08-29-missing-security-severity.md +++ /dev/null @@ -1,4 +0,0 @@ ---- -category: queryMetadata ---- -* Added the `security-severity` tag the `py/redos`, `py/polynomial-redos`, and `py/regex-injection` queries. \ No newline at end of file diff --git a/python/ql/src/change-notes/released/0.5.0.md b/python/ql/src/change-notes/released/0.5.0.md new file mode 100644 index 00000000000..a75533973df --- /dev/null +++ b/python/ql/src/change-notes/released/0.5.0.md @@ -0,0 +1,9 @@ +## 0.5.0 + +### Query Metadata Changes + +* Added the `security-severity` tag the `py/redos`, `py/polynomial-redos`, and `py/regex-injection` queries. + +### Minor Analysis Improvements + +* The alert message of many queries have been changed to make the message consistent with other languages. diff --git a/python/ql/src/codeql-pack.release.yml b/python/ql/src/codeql-pack.release.yml index 1ec9c4ea5d9..30e271c5361 100644 --- a/python/ql/src/codeql-pack.release.yml +++ b/python/ql/src/codeql-pack.release.yml @@ -1,2 +1,2 @@ --- -lastReleaseVersion: 0.4.3 +lastReleaseVersion: 0.5.0 diff --git a/python/ql/src/qlpack.yml b/python/ql/src/qlpack.yml index da6a15007c4..a9e565e4de2 100644 --- a/python/ql/src/qlpack.yml +++ b/python/ql/src/qlpack.yml @@ -1,5 +1,5 @@ name: codeql/python-queries -version: 0.5.0-dev +version: 0.5.0 groups: - python - queries diff --git a/ruby/ql/lib/CHANGELOG.md b/ruby/ql/lib/CHANGELOG.md index fe86f4ecc2c..1a96d857e7f 100644 --- a/ruby/ql/lib/CHANGELOG.md +++ b/ruby/ql/lib/CHANGELOG.md @@ -1,3 +1,24 @@ +## 0.4.0 + +### Breaking Changes + +* `import ruby` no longer brings the standard Ruby AST library into scope; it instead brings a module `Ast` into scope, which must be imported. Alternatively, it is also possible to import `codeql.ruby.AST`. +* Changed the `HTTP::Client::Request` concept from using `MethodCall` as base class, to using `DataFlow::Node` as base class. Any class that extends `HTTP::Client::Request::Range` must be changed, but if you only use the member predicates of `HTTP::Client::Request`, no changes are required. + +### Deprecated APIs + +* Some classes/modules with upper-case acronyms in their name have been renamed to follow our style-guide. + The old name still exists as a deprecated alias. + +### Minor Analysis Improvements + +* Uses of `ActionView::FileSystemResolver` are now recognized as filesystem accesses. +* Accesses of ActiveResource models are now recognized as HTTP requests. + +### Bug Fixes + +* Fixed an issue in the taint tracking analysis where implicit reads were not allowed by default in sinks or additional taint steps that used flow states. + ## 0.3.5 ## 0.3.4 diff --git a/ruby/ql/lib/change-notes/2022-08-16-active-resource.md b/ruby/ql/lib/change-notes/2022-08-16-active-resource.md deleted file mode 100644 index dbe29d679de..00000000000 --- a/ruby/ql/lib/change-notes/2022-08-16-active-resource.md +++ /dev/null @@ -1,4 +0,0 @@ ---- -category: minorAnalysis ---- -* Accesses of ActiveResource models are now recognized as HTTP requests. diff --git a/ruby/ql/lib/change-notes/2022-08-18-change-http-client-request.md b/ruby/ql/lib/change-notes/2022-08-18-change-http-client-request.md deleted file mode 100644 index 7766f83af15..00000000000 --- a/ruby/ql/lib/change-notes/2022-08-18-change-http-client-request.md +++ /dev/null @@ -1,4 +0,0 @@ ---- -category: breaking ---- -* Changed the `HTTP::Client::Request` concept from using `MethodCall` as base class, to using `DataFlow::Node` as base class. Any class that extends `HTTP::Client::Request::Range` must be changed, but if you only use the member predicates of `HTTP::Client::Request`, no changes are required. diff --git a/ruby/ql/lib/change-notes/2022-09-08-implicit-read-flowstates.md b/ruby/ql/lib/change-notes/2022-09-08-implicit-read-flowstates.md deleted file mode 100644 index efdaf85f2ed..00000000000 --- a/ruby/ql/lib/change-notes/2022-09-08-implicit-read-flowstates.md +++ /dev/null @@ -1,4 +0,0 @@ ---- -category: fix ---- -* Fixed an issue in the taint tracking analysis where implicit reads were not allowed by default in sinks or additional taint steps that used flow states. \ No newline at end of file diff --git a/ruby/ql/lib/change-notes/2022-09-12-uppercase.md b/ruby/ql/lib/change-notes/2022-09-12-uppercase.md deleted file mode 100644 index 996861f1c2c..00000000000 --- a/ruby/ql/lib/change-notes/2022-09-12-uppercase.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -category: deprecated ---- -* Some classes/modules with upper-case acronyms in their name 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-09-13-filesystemresolver.md b/ruby/ql/lib/change-notes/2022-09-13-filesystemresolver.md deleted file mode 100644 index 36101e5f1e9..00000000000 --- a/ruby/ql/lib/change-notes/2022-09-13-filesystemresolver.md +++ /dev/null @@ -1,4 +0,0 @@ ---- -category: minorAnalysis ---- -* Uses of `ActionView::FileSystemResolver` are now recognized as filesystem accesses. diff --git a/ruby/ql/lib/change-notes/2022-09-14-ruby-qll.md b/ruby/ql/lib/change-notes/2022-09-14-ruby-qll.md deleted file mode 100644 index 1c58f66618b..00000000000 --- a/ruby/ql/lib/change-notes/2022-09-14-ruby-qll.md +++ /dev/null @@ -1,4 +0,0 @@ ---- -category: breaking ---- -* `import ruby` no longer brings the standard Ruby AST library into scope; it instead brings a module `Ast` into scope, which must be imported. Alternatively, it is also possible to import `codeql.ruby.AST`. \ No newline at end of file diff --git a/ruby/ql/lib/change-notes/released/0.4.0.md b/ruby/ql/lib/change-notes/released/0.4.0.md new file mode 100644 index 00000000000..2443d9f4701 --- /dev/null +++ b/ruby/ql/lib/change-notes/released/0.4.0.md @@ -0,0 +1,20 @@ +## 0.4.0 + +### Breaking Changes + +* `import ruby` no longer brings the standard Ruby AST library into scope; it instead brings a module `Ast` into scope, which must be imported. Alternatively, it is also possible to import `codeql.ruby.AST`. +* Changed the `HTTP::Client::Request` concept from using `MethodCall` as base class, to using `DataFlow::Node` as base class. Any class that extends `HTTP::Client::Request::Range` must be changed, but if you only use the member predicates of `HTTP::Client::Request`, no changes are required. + +### Deprecated APIs + +* Some classes/modules with upper-case acronyms in their name have been renamed to follow our style-guide. + The old name still exists as a deprecated alias. + +### Minor Analysis Improvements + +* Uses of `ActionView::FileSystemResolver` are now recognized as filesystem accesses. +* Accesses of ActiveResource models are now recognized as HTTP requests. + +### Bug Fixes + +* Fixed an issue in the taint tracking analysis where implicit reads were not allowed by default in sinks or additional taint steps that used flow states. diff --git a/ruby/ql/lib/codeql-pack.release.yml b/ruby/ql/lib/codeql-pack.release.yml index 468917f2543..458bfbeccff 100644 --- a/ruby/ql/lib/codeql-pack.release.yml +++ b/ruby/ql/lib/codeql-pack.release.yml @@ -1,2 +1,2 @@ --- -lastReleaseVersion: 0.3.5 +lastReleaseVersion: 0.4.0 diff --git a/ruby/ql/lib/qlpack.yml b/ruby/ql/lib/qlpack.yml index 0c178b36dc3..235082f345b 100644 --- a/ruby/ql/lib/qlpack.yml +++ b/ruby/ql/lib/qlpack.yml @@ -1,5 +1,5 @@ name: codeql/ruby-all -version: 0.4.0-dev +version: 0.4.0 groups: ruby extractor: ruby dbscheme: ruby.dbscheme diff --git a/ruby/ql/src/CHANGELOG.md b/ruby/ql/src/CHANGELOG.md index b2e4430ba2d..e45d4e8c250 100644 --- a/ruby/ql/src/CHANGELOG.md +++ b/ruby/ql/src/CHANGELOG.md @@ -1,3 +1,14 @@ +## 0.4.0 + +### New Queries + +* Added a new query, `rb/hardcoded-data-interpreted-as-code`, to detect cases where hardcoded data is executed as code, a technique associated with backdoors. + +### Minor Analysis Improvements + +* The `rb/unsafe-deserialization` query now includes alerts for user-controlled data passed to `Hash.from_trusted_xml`, since that method can deserialize YAML embedded in the XML, which in turn can result in deserialization of arbitrary objects. +* The alert message of many queries have been changed to make the message consistent with other languages. + ## 0.3.4 ## 0.3.3 diff --git a/ruby/ql/src/change-notes/2022-07-26-hardcoded-data.md b/ruby/ql/src/change-notes/2022-07-26-hardcoded-data.md deleted file mode 100644 index 4878b51992f..00000000000 --- a/ruby/ql/src/change-notes/2022-07-26-hardcoded-data.md +++ /dev/null @@ -1,4 +0,0 @@ ---- -category: newQuery ---- -* Added a new query, `rb/hardcoded-data-interpreted-as-code`, to detect cases where hardcoded data is executed as code, a technique associated with backdoors. diff --git a/ruby/ql/src/change-notes/2022-08-23-alert-messages.md b/ruby/ql/src/change-notes/2022-08-23-alert-messages.md deleted file mode 100644 index 22f4c5c6682..00000000000 --- a/ruby/ql/src/change-notes/2022-08-23-alert-messages.md +++ /dev/null @@ -1,4 +0,0 @@ ---- -category: minorAnalysis ---- -* The alert message of many queries have been changed to make the message consistent with other languages. \ No newline at end of file diff --git a/ruby/ql/src/change-notes/2022-09-21-hash-from-trusted-xml.md b/ruby/ql/src/change-notes/2022-09-21-hash-from-trusted-xml.md deleted file mode 100644 index 25ac0e88d1c..00000000000 --- a/ruby/ql/src/change-notes/2022-09-21-hash-from-trusted-xml.md +++ /dev/null @@ -1,4 +0,0 @@ ---- -category: minorAnalysis ---- -* The `rb/unsafe-deserialization` query now includes alerts for user-controlled data passed to `Hash.from_trusted_xml`, since that method can deserialize YAML embedded in the XML, which in turn can result in deserialization of arbitrary objects. \ No newline at end of file diff --git a/ruby/ql/src/change-notes/released/0.4.0.md b/ruby/ql/src/change-notes/released/0.4.0.md new file mode 100644 index 00000000000..9d1e12a7977 --- /dev/null +++ b/ruby/ql/src/change-notes/released/0.4.0.md @@ -0,0 +1,10 @@ +## 0.4.0 + +### New Queries + +* Added a new query, `rb/hardcoded-data-interpreted-as-code`, to detect cases where hardcoded data is executed as code, a technique associated with backdoors. + +### Minor Analysis Improvements + +* The `rb/unsafe-deserialization` query now includes alerts for user-controlled data passed to `Hash.from_trusted_xml`, since that method can deserialize YAML embedded in the XML, which in turn can result in deserialization of arbitrary objects. +* The alert message of many queries have been changed to make the message consistent with other languages. diff --git a/ruby/ql/src/codeql-pack.release.yml b/ruby/ql/src/codeql-pack.release.yml index 5ed15c24b9c..458bfbeccff 100644 --- a/ruby/ql/src/codeql-pack.release.yml +++ b/ruby/ql/src/codeql-pack.release.yml @@ -1,2 +1,2 @@ --- -lastReleaseVersion: 0.3.4 +lastReleaseVersion: 0.4.0 diff --git a/ruby/ql/src/qlpack.yml b/ruby/ql/src/qlpack.yml index 0e92391aa02..e6e1dc52af2 100644 --- a/ruby/ql/src/qlpack.yml +++ b/ruby/ql/src/qlpack.yml @@ -1,5 +1,5 @@ name: codeql/ruby-queries -version: 0.4.0-dev +version: 0.4.0 groups: - ruby - queries diff --git a/shared/ssa/CHANGELOG.md b/shared/ssa/CHANGELOG.md new file mode 100644 index 00000000000..59b60bad0f3 --- /dev/null +++ b/shared/ssa/CHANGELOG.md @@ -0,0 +1,3 @@ +## 0.0.1 + +No user-facing changes. diff --git a/shared/ssa/change-notes/released/0.0.1.md b/shared/ssa/change-notes/released/0.0.1.md new file mode 100644 index 00000000000..59b60bad0f3 --- /dev/null +++ b/shared/ssa/change-notes/released/0.0.1.md @@ -0,0 +1,3 @@ +## 0.0.1 + +No user-facing changes. diff --git a/shared/ssa/codeql-pack.release.yml b/shared/ssa/codeql-pack.release.yml new file mode 100644 index 00000000000..c6933410b71 --- /dev/null +++ b/shared/ssa/codeql-pack.release.yml @@ -0,0 +1,2 @@ +--- +lastReleaseVersion: 0.0.1 diff --git a/shared/ssa/qlpack.yml b/shared/ssa/qlpack.yml index d62242816da..404d529b6d7 100644 --- a/shared/ssa/qlpack.yml +++ b/shared/ssa/qlpack.yml @@ -1,4 +1,4 @@ name: codeql/ssa -version: 0.0.1-dev +version: 0.0.1 groups: shared library: true diff --git a/shared/typos/CHANGELOG.md b/shared/typos/CHANGELOG.md new file mode 100644 index 00000000000..59b60bad0f3 --- /dev/null +++ b/shared/typos/CHANGELOG.md @@ -0,0 +1,3 @@ +## 0.0.1 + +No user-facing changes. diff --git a/shared/typos/change-notes/released/0.0.1.md b/shared/typos/change-notes/released/0.0.1.md new file mode 100644 index 00000000000..59b60bad0f3 --- /dev/null +++ b/shared/typos/change-notes/released/0.0.1.md @@ -0,0 +1,3 @@ +## 0.0.1 + +No user-facing changes. diff --git a/shared/typos/codeql-pack.release.yml b/shared/typos/codeql-pack.release.yml new file mode 100644 index 00000000000..c6933410b71 --- /dev/null +++ b/shared/typos/codeql-pack.release.yml @@ -0,0 +1,2 @@ +--- +lastReleaseVersion: 0.0.1 diff --git a/shared/typos/qlpack.yml b/shared/typos/qlpack.yml index f915e6407f8..4b95c461c4c 100644 --- a/shared/typos/qlpack.yml +++ b/shared/typos/qlpack.yml @@ -1,4 +1,4 @@ name: codeql/typos -version: 0.0.1-dev +version: 0.0.1 groups: shared library: true From a792a7005baa67730a02490e8c407be0f41a68e0 Mon Sep 17 00:00:00 2001 From: Dave Bartolomeo Date: Fri, 23 Sep 2022 09:27:19 -0400 Subject: [PATCH 2/8] More relevant change note --- shared/ssa/change-notes/released/0.0.1.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/shared/ssa/change-notes/released/0.0.1.md b/shared/ssa/change-notes/released/0.0.1.md index 59b60bad0f3..2c547c365ec 100644 --- a/shared/ssa/change-notes/released/0.0.1.md +++ b/shared/ssa/change-notes/released/0.0.1.md @@ -1,3 +1,3 @@ ## 0.0.1 -No user-facing changes. +* Initial release. Extracted common SSA code into a library pack to share code between languages. From 85bfc1d79e8955c32c1d0d3c6fce55727f86cd84 Mon Sep 17 00:00:00 2001 From: Dave Bartolomeo Date: Fri, 23 Sep 2022 09:27:47 -0400 Subject: [PATCH 3/8] More relevant change note --- shared/ssa/CHANGELOG.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/shared/ssa/CHANGELOG.md b/shared/ssa/CHANGELOG.md index 59b60bad0f3..2c547c365ec 100644 --- a/shared/ssa/CHANGELOG.md +++ b/shared/ssa/CHANGELOG.md @@ -1,3 +1,3 @@ ## 0.0.1 -No user-facing changes. +* Initial release. Extracted common SSA code into a library pack to share code between languages. From e6956308221d0f711490cb6aea362e83c6f5243b Mon Sep 17 00:00:00 2001 From: Dave Bartolomeo Date: Fri, 23 Sep 2022 09:28:50 -0400 Subject: [PATCH 4/8] More relevant change note --- shared/typos/change-notes/released/0.0.1.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/shared/typos/change-notes/released/0.0.1.md b/shared/typos/change-notes/released/0.0.1.md index 59b60bad0f3..95a5c570ac0 100644 --- a/shared/typos/change-notes/released/0.0.1.md +++ b/shared/typos/change-notes/released/0.0.1.md @@ -1,3 +1,3 @@ ## 0.0.1 -No user-facing changes. +* Initial release. Share the database of common typographical errors between languages. From 55b1d89fd332223381bccdea84f4543566e6188a Mon Sep 17 00:00:00 2001 From: Dave Bartolomeo Date: Fri, 23 Sep 2022 09:29:09 -0400 Subject: [PATCH 5/8] More relevant change note --- shared/typos/CHANGELOG.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/shared/typos/CHANGELOG.md b/shared/typos/CHANGELOG.md index 59b60bad0f3..95a5c570ac0 100644 --- a/shared/typos/CHANGELOG.md +++ b/shared/typos/CHANGELOG.md @@ -1,3 +1,3 @@ ## 0.0.1 -No user-facing changes. +* Initial release. Share the database of common typographical errors between languages. From a7f23b9cc7d29c165bc7f2fab4d55af6e5d78ad1 Mon Sep 17 00:00:00 2001 From: Felicity Chapman Date: Fri, 23 Sep 2022 11:40:22 +0100 Subject: [PATCH 6/8] Minor updates to reflect recommendations for Python support --- docs/codeql/codeql-cli/creating-codeql-databases.rst | 3 ++- docs/codeql/support/reusables/versions-compilers.rst | 11 ++++++----- 2 files changed, 8 insertions(+), 6 deletions(-) diff --git a/docs/codeql/codeql-cli/creating-codeql-databases.rst b/docs/codeql/codeql-cli/creating-codeql-databases.rst index 484163d94e7..b305c6e1cb6 100644 --- a/docs/codeql/codeql-cli/creating-codeql-databases.rst +++ b/docs/codeql/codeql-cli/creating-codeql-databases.rst @@ -132,7 +132,8 @@ Python When creating databases for Python you must ensure: -- You have the all of the required versions of Python installed. +- You have Python 3 installed and available to the CodeQL extractor. +- You have the version of Python used by your code installed. - You have access to the `pip `__ packaging management system and can install any packages that the codebase depends on. diff --git a/docs/codeql/support/reusables/versions-compilers.rst b/docs/codeql/support/reusables/versions-compilers.rst index 21a0526af5f..10473c9e658 100644 --- a/docs/codeql/support/reusables/versions-compilers.rst +++ b/docs/codeql/support/reusables/versions-compilers.rst @@ -21,9 +21,9 @@ Eclipse compiler for Java (ECJ) [5]_",``.java`` JavaScript,ECMAScript 2022 or lower,Not applicable,"``.js``, ``.jsx``, ``.mjs``, ``.es``, ``.es6``, ``.htm``, ``.html``, ``.xhtm``, ``.xhtml``, ``.vue``, ``.hbs``, ``.ejs``, ``.njk``, ``.json``, ``.yaml``, ``.yml``, ``.raml``, ``.xml`` [6]_" - Python,"2.7, 3.5, 3.6, 3.7, 3.8, 3.9, 3.10",Not applicable,``.py`` - Ruby [7]_,"up to 3.0.2",Not applicable,"``.rb``, ``.erb``, ``.gemspec``, ``Gemfile``" - TypeScript [8]_,"2.6-4.8",Standard TypeScript compiler,"``.ts``, ``.tsx``, ``.mts``, ``.cts``" + Python [7],"2.7, 3.5, 3.6, 3.7, 3.8, 3.9, 3.10",Not applicable,``.py`` + Ruby [8]_,"up to 3.0.2",Not applicable,"``.rb``, ``.erb``, ``.gemspec``, ``Gemfile``" + TypeScript [9]_,"2.6-4.8",Standard TypeScript compiler,"``.ts``, ``.tsx``, ``.mts``, ``.cts``" .. container:: footnote-group @@ -33,5 +33,6 @@ .. [4] Builds that execute on Java 7 to 19 can be analyzed. The analysis understands Java 19 standard language features. .. [5] ECJ is supported when the build invokes it via the Maven Compiler plugin or the Takari Lifecycle plugin. .. [6] JSX and Flow code, YAML, JSON, HTML, and XML files may also be analyzed with JavaScript files. - .. [7] Requires glibc 2.17. - .. [8] TypeScript analysis is performed by running the JavaScript extractor with TypeScript enabled. This is the default for LGTM. + .. [7] The extractor requires Python 3 to run. To analyze Python 2.7 you should install both versions of Python. + .. [8] Requires glibc 2.17. + .. [9] TypeScript analysis is performed by running the JavaScript extractor with TypeScript enabled. This is the default for LGTM. From 8920d73f384de8ce30b3b0a4d3325251e9dc31c8 Mon Sep 17 00:00:00 2001 From: Felicity Chapman Date: Fri, 23 Sep 2022 13:07:10 +0100 Subject: [PATCH 7/8] Fix typo in footnote reference --- docs/codeql/support/reusables/versions-compilers.rst | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/codeql/support/reusables/versions-compilers.rst b/docs/codeql/support/reusables/versions-compilers.rst index 10473c9e658..fbf6b67ffb6 100644 --- a/docs/codeql/support/reusables/versions-compilers.rst +++ b/docs/codeql/support/reusables/versions-compilers.rst @@ -21,7 +21,7 @@ Eclipse compiler for Java (ECJ) [5]_",``.java`` JavaScript,ECMAScript 2022 or lower,Not applicable,"``.js``, ``.jsx``, ``.mjs``, ``.es``, ``.es6``, ``.htm``, ``.html``, ``.xhtm``, ``.xhtml``, ``.vue``, ``.hbs``, ``.ejs``, ``.njk``, ``.json``, ``.yaml``, ``.yml``, ``.raml``, ``.xml`` [6]_" - Python [7],"2.7, 3.5, 3.6, 3.7, 3.8, 3.9, 3.10",Not applicable,``.py`` + Python [7]_,"2.7, 3.5, 3.6, 3.7, 3.8, 3.9, 3.10",Not applicable,``.py`` Ruby [8]_,"up to 3.0.2",Not applicable,"``.rb``, ``.erb``, ``.gemspec``, ``Gemfile``" TypeScript [9]_,"2.6-4.8",Standard TypeScript compiler,"``.ts``, ``.tsx``, ``.mts``, ``.cts``" From 6cef0af5df7363e5da08f2150f78322ed85d16b6 Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" Date: Fri, 23 Sep 2022 21:01:40 +0000 Subject: [PATCH 8/8] Post-release preparation for codeql-cli-2.11.0 --- 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/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 +- shared/ssa/qlpack.yml | 2 +- shared/typos/qlpack.yml | 2 +- 19 files changed, 19 insertions(+), 19 deletions(-) diff --git a/cpp/ql/lib/qlpack.yml b/cpp/ql/lib/qlpack.yml index 44169b39f77..cb70ba272d3 100644 --- a/cpp/ql/lib/qlpack.yml +++ b/cpp/ql/lib/qlpack.yml @@ -1,5 +1,5 @@ name: codeql/cpp-all -version: 0.4.0 +version: 0.4.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 3c013885c11..12c12ffe83e 100644 --- a/cpp/ql/src/qlpack.yml +++ b/cpp/ql/src/qlpack.yml @@ -1,5 +1,5 @@ name: codeql/cpp-queries -version: 0.4.0 +version: 0.4.1-dev groups: - cpp - queries diff --git a/csharp/ql/campaigns/Solorigate/lib/qlpack.yml b/csharp/ql/campaigns/Solorigate/lib/qlpack.yml index c7e2349452b..648df77d7ff 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.3.0 +version: 1.3.1-dev groups: - csharp - solorigate diff --git a/csharp/ql/campaigns/Solorigate/src/qlpack.yml b/csharp/ql/campaigns/Solorigate/src/qlpack.yml index b17008a3a4d..940cdf055f8 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.3.0 +version: 1.3.1-dev groups: - csharp - solorigate diff --git a/csharp/ql/lib/qlpack.yml b/csharp/ql/lib/qlpack.yml index 1cec438b0da..270ae8a65aa 100644 --- a/csharp/ql/lib/qlpack.yml +++ b/csharp/ql/lib/qlpack.yml @@ -1,5 +1,5 @@ name: codeql/csharp-all -version: 0.4.0 +version: 0.4.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 53e86f4f4cb..e2721c02552 100644 --- a/csharp/ql/src/qlpack.yml +++ b/csharp/ql/src/qlpack.yml @@ -1,5 +1,5 @@ name: codeql/csharp-queries -version: 0.4.0 +version: 0.4.1-dev groups: - csharp - queries diff --git a/go/ql/lib/qlpack.yml b/go/ql/lib/qlpack.yml index eb2f8e2ccb1..8025056129c 100644 --- a/go/ql/lib/qlpack.yml +++ b/go/ql/lib/qlpack.yml @@ -1,5 +1,5 @@ name: codeql/go-all -version: 0.3.0 +version: 0.3.1-dev groups: go dbscheme: go.dbscheme extractor: go diff --git a/go/ql/src/qlpack.yml b/go/ql/src/qlpack.yml index 28c42261e29..f454b5ce9d9 100644 --- a/go/ql/src/qlpack.yml +++ b/go/ql/src/qlpack.yml @@ -1,5 +1,5 @@ name: codeql/go-queries -version: 0.3.0 +version: 0.3.1-dev groups: - go - queries diff --git a/java/ql/lib/qlpack.yml b/java/ql/lib/qlpack.yml index cb0e67ef352..df1ad196123 100644 --- a/java/ql/lib/qlpack.yml +++ b/java/ql/lib/qlpack.yml @@ -1,5 +1,5 @@ name: codeql/java-all -version: 0.4.0 +version: 0.4.1-dev groups: java dbscheme: config/semmlecode.dbscheme extractor: java diff --git a/java/ql/src/qlpack.yml b/java/ql/src/qlpack.yml index 646ad8ef94e..5f93a953ea6 100644 --- a/java/ql/src/qlpack.yml +++ b/java/ql/src/qlpack.yml @@ -1,5 +1,5 @@ name: codeql/java-queries -version: 0.4.0 +version: 0.4.1-dev groups: - java - queries diff --git a/javascript/ql/lib/qlpack.yml b/javascript/ql/lib/qlpack.yml index c6f7d610046..0cf4b33407a 100644 --- a/javascript/ql/lib/qlpack.yml +++ b/javascript/ql/lib/qlpack.yml @@ -1,5 +1,5 @@ name: codeql/javascript-all -version: 0.3.0 +version: 0.3.1-dev groups: javascript dbscheme: semmlecode.javascript.dbscheme extractor: javascript diff --git a/javascript/ql/src/qlpack.yml b/javascript/ql/src/qlpack.yml index f2385b9fce0..44ac00e5caf 100644 --- a/javascript/ql/src/qlpack.yml +++ b/javascript/ql/src/qlpack.yml @@ -1,5 +1,5 @@ name: codeql/javascript-queries -version: 0.4.0 +version: 0.4.1-dev groups: - javascript - queries diff --git a/misc/suite-helpers/qlpack.yml b/misc/suite-helpers/qlpack.yml index c4bb37f7753..aa0a2693b1d 100644 --- a/misc/suite-helpers/qlpack.yml +++ b/misc/suite-helpers/qlpack.yml @@ -1,3 +1,3 @@ name: codeql/suite-helpers -version: 0.3.0 +version: 0.3.1-dev groups: shared diff --git a/python/ql/lib/qlpack.yml b/python/ql/lib/qlpack.yml index 7162de1f600..6121fdace8c 100644 --- a/python/ql/lib/qlpack.yml +++ b/python/ql/lib/qlpack.yml @@ -1,5 +1,5 @@ name: codeql/python-all -version: 0.6.0 +version: 0.6.1-dev groups: python dbscheme: semmlecode.python.dbscheme extractor: python diff --git a/python/ql/src/qlpack.yml b/python/ql/src/qlpack.yml index a9e565e4de2..6e3e2010677 100644 --- a/python/ql/src/qlpack.yml +++ b/python/ql/src/qlpack.yml @@ -1,5 +1,5 @@ name: codeql/python-queries -version: 0.5.0 +version: 0.5.1-dev groups: - python - queries diff --git a/ruby/ql/lib/qlpack.yml b/ruby/ql/lib/qlpack.yml index 235082f345b..97c480b8f6e 100644 --- a/ruby/ql/lib/qlpack.yml +++ b/ruby/ql/lib/qlpack.yml @@ -1,5 +1,5 @@ name: codeql/ruby-all -version: 0.4.0 +version: 0.4.1-dev groups: ruby extractor: ruby dbscheme: ruby.dbscheme diff --git a/ruby/ql/src/qlpack.yml b/ruby/ql/src/qlpack.yml index e6e1dc52af2..66f006ac2d5 100644 --- a/ruby/ql/src/qlpack.yml +++ b/ruby/ql/src/qlpack.yml @@ -1,5 +1,5 @@ name: codeql/ruby-queries -version: 0.4.0 +version: 0.4.1-dev groups: - ruby - queries diff --git a/shared/ssa/qlpack.yml b/shared/ssa/qlpack.yml index 404d529b6d7..ef21714c8b8 100644 --- a/shared/ssa/qlpack.yml +++ b/shared/ssa/qlpack.yml @@ -1,4 +1,4 @@ name: codeql/ssa -version: 0.0.1 +version: 0.0.2-dev groups: shared library: true diff --git a/shared/typos/qlpack.yml b/shared/typos/qlpack.yml index 4b95c461c4c..587537220ec 100644 --- a/shared/typos/qlpack.yml +++ b/shared/typos/qlpack.yml @@ -1,4 +1,4 @@ name: codeql/typos -version: 0.0.1 +version: 0.0.2-dev groups: shared library: true