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