diff --git a/doc/releasenotes/14_0_4_changelog.md b/doc/releasenotes/14_0_4_changelog.md
new file mode 100644
index 00000000000..bad71636814
--- /dev/null
+++ b/doc/releasenotes/14_0_4_changelog.md
@@ -0,0 +1,43 @@
+# Changelog of Vitess v14.0.4
+
+### Bug fixes
+#### Backup and Restore
+ * Detect redo log location dynamically based on presence [#11555](https://github.com/vitessio/vitess/pull/11555)
+#### Build/CI
+ * Fix the script `check_make_sizegen` [#11465](https://github.com/vitessio/vitess/pull/11465)
+ * Skip `TestComparisonSemantics` test [#11474](https://github.com/vitessio/vitess/pull/11474)
+ * Addition of a CI tool to detect dead links in test/config.json [#11668](https://github.com/vitessio/vitess/pull/11668)
+ * Fix files changes filtering in CI [#11714](https://github.com/vitessio/vitess/pull/11714)
+#### Query Serving
+ * fix: do not rewrite single columns in derived tables [#11419](https://github.com/vitessio/vitess/pull/11419)
+ * Push down derived tables under route when possible [#11422](https://github.com/vitessio/vitess/pull/11422)
+ * collations: fix coercion semantics according to 8.0.31 changes [#11487](https://github.com/vitessio/vitess/pull/11487)
+ * [14.0] Fix JSON functions parsing [#11624](https://github.com/vitessio/vitess/pull/11624)
+ * [bugfix] Allow VTExplain to handle shards that are not active during resharding [#11640](https://github.com/vitessio/vitess/pull/11640)
+ * [release-14.0] Do not multiply `AggregateRandom` in JOINs [#11671](https://github.com/vitessio/vitess/pull/11671)
+ * [14.0] Send errors in stream instead of a grpc error from streaming rpcs when transaction or reserved connection is acquired [#11688](https://github.com/vitessio/vitess/pull/11688)
+ * Push down derived tables under route when possible [#11786](https://github.com/vitessio/vitess/pull/11786)
+### CI/Build
+#### Build/CI
+ * [release-14.0] Remove Launchable in the workflows [#11244](https://github.com/vitessio/vitess/pull/11244)
+ * [release-14.0] Add automation to change vitess version in the docker-release script (#11682) [#11814](https://github.com/vitessio/vitess/pull/11814)
+ * Remove Tests from Self-hosted runners [#11838](https://github.com/vitessio/vitess/pull/11838)
+#### Governance
+ * codeowners: have at least two for almost every package [#11639](https://github.com/vitessio/vitess/pull/11639)
+#### VReplication
+ * update jsonparser dependency [#11694](https://github.com/vitessio/vitess/pull/11694)
+### Enhancement
+#### General
+ * [release-14.0] Upgrade to `go1.18.7` [#11510](https://github.com/vitessio/vitess/pull/11510)
+#### Query Serving
+ * Improve route merging for queries that have conditions on different vindexes, but can be merged via join predicates. [#10942](https://github.com/vitessio/vitess/pull/10942)
+### Release
+#### Documentation
+ * Prepare the release notes summary for `v14.0.4` [#11803](https://github.com/vitessio/vitess/pull/11803)
+#### General
+ * Release of v14.0.3 [#11404](https://github.com/vitessio/vitess/pull/11404)
+ * Back to dev mode after v14.0.3 [#11405](https://github.com/vitessio/vitess/pull/11405)
+### Testing
+#### Query Serving
+ * [V14] Better plan-tests [#11435](https://github.com/vitessio/vitess/pull/11435)
+
diff --git a/doc/releasenotes/14_0_4_release_notes.md b/doc/releasenotes/14_0_4_release_notes.md
new file mode 100644
index 00000000000..334efefd05f
--- /dev/null
+++ b/doc/releasenotes/14_0_4_release_notes.md
@@ -0,0 +1,22 @@
+# Release of Vitess v14.0.4
+## Major Changes
+
+### Upgrade to `go1.18.7`
+
+Vitess `v14.0.4` now runs on `go1.18.7`.
+The patch release of Go, `go1.18.7`, was one of the main reasons for this release as it includes important security fixes to packages used by Vitess.
+Below is a summary of this patch release. You can learn more [here](https://go.dev/doc/devel/release#go1.18).
+
+> go1.18.7 (released 2022-10-04) includes security fixes to the archive/tar, net/http/httputil, and regexp packages, as well as bug fixes to the compiler, the linker, and the go/types package.
+
+### Corrupted results for non-full-group-by queries with JOINs
+
+An issue in versions `<= v14.0.3` and `<= v15.0.0` that generated corrupted results for non-full-group-by queries with a JOIN
+is now fixed. The full issue can be found [here](https://github.com/vitessio/vitess/issues/11625), and its fix [here](https://github.com/vitessio/vitess/pull/11633).
+------------
+The entire changelog for this release can be found [here](https://github.com/vitessio/vitess/blob/main/doc/releasenotes/14_0_4_changelog.md).
+
+The release includes 24 commits (excluding merges)
+
+Thanks to all our contributors: @GuptaManan100, @dbussink, @frouioui, @harshit-gangal, @systay, @vitess-bot[bot]
+
diff --git a/docker/release.sh b/docker/release.sh
index 37e9de2d10f..0138a35e2ad 100755
--- a/docker/release.sh
+++ b/docker/release.sh
@@ -1,7 +1,7 @@
#!/bin/bash
set -ex
-vt_base_version='v13.0.0'
+vt_base_version='14.0.4'
debian_versions='buster bullseye'
default_debian_version='bullseye'
diff --git a/examples/compose/docker-compose.beginners.yml b/examples/compose/docker-compose.beginners.yml
index 5aadf0a5acc..e4b12193266 100644
--- a/examples/compose/docker-compose.beginners.yml
+++ b/examples/compose/docker-compose.beginners.yml
@@ -58,7 +58,7 @@ services:
- "3306"
vtctld:
- image: vitess/lite:v14.0.3
+ image: vitess/lite:v14.0.4
ports:
- "15000:$WEB_PORT"
- "$GRPC_PORT"
@@ -83,7 +83,7 @@ services:
condition: service_healthy
vtgate:
- image: vitess/lite:v14.0.3
+ image: vitess/lite:v14.0.4
ports:
- "15099:$WEB_PORT"
- "$GRPC_PORT"
@@ -113,7 +113,7 @@ services:
condition: service_healthy
schemaload:
- image: vitess/lite:v14.0.3
+ image: vitess/lite:v14.0.4
command:
- sh
- -c
@@ -146,12 +146,12 @@ services:
environment:
- KEYSPACES=$KEYSPACE
- GRPC_PORT=15999
- image: vitess/lite:v14.0.3
+ image: vitess/lite:v14.0.4
volumes:
- .:/script
vttablet100:
- image: vitess/lite:v14.0.3
+ image: vitess/lite:v14.0.4
ports:
- "15100:$WEB_PORT"
- "$GRPC_PORT"
@@ -183,7 +183,7 @@ services:
retries: 15
vttablet101:
- image: vitess/lite:v14.0.3
+ image: vitess/lite:v14.0.4
ports:
- "15101:$WEB_PORT"
- "$GRPC_PORT"
@@ -215,7 +215,7 @@ services:
retries: 15
vttablet102:
- image: vitess/lite:v14.0.3
+ image: vitess/lite:v14.0.4
ports:
- "15102:$WEB_PORT"
- "$GRPC_PORT"
@@ -247,7 +247,7 @@ services:
retries: 15
vttablet103:
- image: vitess/lite:v14.0.3
+ image: vitess/lite:v14.0.4
ports:
- "15103:$WEB_PORT"
- "$GRPC_PORT"
@@ -279,7 +279,7 @@ services:
retries: 15
vtorc:
- image: vitess/lite:v14.0.3
+ image: vitess/lite:v14.0.4
command: ["sh", "-c", "/script/vtorc-up.sh"]
depends_on:
- vtctld
@@ -308,7 +308,7 @@ services:
retries: 15
vreplication:
- image: vitess/lite:v14.0.3
+ image: vitess/lite:v14.0.4
volumes:
- ".:/script"
environment:
diff --git a/examples/compose/docker-compose.yml b/examples/compose/docker-compose.yml
index ceca0e96b01..c2b55c91da4 100644
--- a/examples/compose/docker-compose.yml
+++ b/examples/compose/docker-compose.yml
@@ -75,7 +75,7 @@ services:
- SCHEMA_FILES=lookup_keyspace_schema_file.sql
- POST_LOAD_FILE=
- EXTERNAL_DB=0
- image: vitess/lite:v14.0.3
+ image: vitess/lite:v14.0.4
volumes:
- .:/script
schemaload_test_keyspace:
@@ -101,7 +101,7 @@ services:
- SCHEMA_FILES=test_keyspace_schema_file.sql
- POST_LOAD_FILE=
- EXTERNAL_DB=0
- image: vitess/lite:v14.0.3
+ image: vitess/lite:v14.0.4
volumes:
- .:/script
set_keyspace_durability_policy:
@@ -115,7 +115,7 @@ services:
environment:
- KEYSPACES=test_keyspace lookup_keyspace
- GRPC_PORT=15999
- image: vitess/lite:v14.0.3
+ image: vitess/lite:v14.0.4
volumes:
- .:/script
vreplication:
@@ -129,7 +129,7 @@ services:
- TOPOLOGY_FLAGS=-topo_implementation consul -topo_global_server_address consul1:8500
-topo_global_root vitess/global
- EXTERNAL_DB=0
- image: vitess/lite:v14.0.3
+ image: vitess/lite:v14.0.4
volumes:
- .:/script
vtctld:
@@ -143,7 +143,7 @@ services:
depends_on:
external_db_host:
condition: service_healthy
- image: vitess/lite:v14.0.3
+ image: vitess/lite:v14.0.4
ports:
- 15000:8080
- "15999"
@@ -160,7 +160,7 @@ services:
-normalize_queries=true '
depends_on:
- vtctld
- image: vitess/lite:v14.0.3
+ image: vitess/lite:v14.0.4
ports:
- 15099:8080
- "15999"
@@ -181,7 +181,7 @@ services:
- EXTERNAL_DB=0
- DB_USER=
- DB_PASS=
- image: vitess/lite:v14.0.3
+ image: vitess/lite:v14.0.4
ports:
- 13000:3000
volumes:
@@ -216,7 +216,7 @@ services:
- CMD-SHELL
- curl -s --fail --show-error localhost:8080/debug/health
timeout: 10s
- image: vitess/lite:v14.0.3
+ image: vitess/lite:v14.0.4
ports:
- 15101:8080
- "15999"
@@ -253,7 +253,7 @@ services:
- CMD-SHELL
- curl -s --fail --show-error localhost:8080/debug/health
timeout: 10s
- image: vitess/lite:v14.0.3
+ image: vitess/lite:v14.0.4
ports:
- 15102:8080
- "15999"
@@ -290,7 +290,7 @@ services:
- CMD-SHELL
- curl -s --fail --show-error localhost:8080/debug/health
timeout: 10s
- image: vitess/lite:v14.0.3
+ image: vitess/lite:v14.0.4
ports:
- 15201:8080
- "15999"
@@ -327,7 +327,7 @@ services:
- CMD-SHELL
- curl -s --fail --show-error localhost:8080/debug/health
timeout: 10s
- image: vitess/lite:v14.0.3
+ image: vitess/lite:v14.0.4
ports:
- 15202:8080
- "15999"
@@ -364,7 +364,7 @@ services:
- CMD-SHELL
- curl -s --fail --show-error localhost:8080/debug/health
timeout: 10s
- image: vitess/lite:v14.0.3
+ image: vitess/lite:v14.0.4
ports:
- 15301:8080
- "15999"
@@ -401,7 +401,7 @@ services:
- CMD-SHELL
- curl -s --fail --show-error localhost:8080/debug/health
timeout: 10s
- image: vitess/lite:v14.0.3
+ image: vitess/lite:v14.0.4
ports:
- 15302:8080
- "15999"
@@ -417,7 +417,7 @@ services:
-port 8080 -grpc_port 15999 -use_v3_resharding_mode=true '
depends_on:
- vtctld
- image: vitess/lite:v14.0.3
+ image: vitess/lite:v14.0.4
ports:
- "8080"
- "15999"
diff --git a/examples/compose/vtcompose/vtcompose.go b/examples/compose/vtcompose/vtcompose.go
index 6791e6c8a38..96b398401fe 100644
--- a/examples/compose/vtcompose/vtcompose.go
+++ b/examples/compose/vtcompose/vtcompose.go
@@ -534,7 +534,7 @@ func generateDefaultShard(tabAlias int, shard string, keyspaceData keyspaceInfo,
- op: add
path: /services/init_shard_primary%[2]d
value:
- image: vitess/lite:v14.0.3
+ image: vitess/lite:v14.0.4
command: ["sh", "-c", "/vt/bin/vtctlclient %[5]s InitShardPrimary -force %[4]s/%[3]s %[6]s-%[2]d "]
%[1]s
`, dependsOn, aliases[0], shard, keyspaceData.keyspace, opts.topologyFlags, opts.cell)
@@ -566,7 +566,7 @@ func generateExternalPrimary(
- op: add
path: /services/vttablet%[1]d
value:
- image: vitess/lite:v14.0.3
+ image: vitess/lite:v14.0.4
ports:
- "15%[1]d:%[3]d"
- "%[4]d"
@@ -628,7 +628,7 @@ func generateDefaultTablet(tabAlias int, shard, role, keyspace string, dbInfo ex
- op: add
path: /services/vttablet%[1]d
value:
- image: vitess/lite:v14.0.3
+ image: vitess/lite:v14.0.4
ports:
- "15%[1]d:%[4]d"
- "%[5]d"
@@ -666,7 +666,7 @@ func generateVtctld(opts vtOptions) string {
- op: add
path: /services/vtctld
value:
- image: vitess/lite:v14.0.3
+ image: vitess/lite:v14.0.4
ports:
- "15000:%[1]d"
- "%[2]d"
@@ -699,7 +699,7 @@ func generateVtgate(opts vtOptions) string {
- op: add
path: /services/vtgate
value:
- image: vitess/lite:v14.0.3
+ image: vitess/lite:v14.0.4
ports:
- "15099:%[1]d"
- "%[2]d"
@@ -729,7 +729,7 @@ func generateVtwork(opts vtOptions) string {
- op: add
path: /services/vtwork
value:
- image: vitess/lite:v14.0.3
+ image: vitess/lite:v14.0.4
ports:
- "%[1]d"
- "%[2]d"
@@ -764,7 +764,7 @@ func generateVtorc(dbInfo externalDbInfo, keyspaceInfoMap map[string]keyspaceInf
- op: add
path: /services/vtorc
value:
- image: vitess/lite:v14.0.3
+ image: vitess/lite:v14.0.4
volumes:
- ".:/script"
environment:
@@ -788,7 +788,7 @@ func generateVreplication(dbInfo externalDbInfo, opts vtOptions) string {
- op: add
path: /services/vreplication
value:
- image: vitess/lite:v14.0.3
+ image: vitess/lite:v14.0.4
volumes:
- ".:/script"
environment:
@@ -816,7 +816,7 @@ func generateSetKeyspaceDurabilityPolicy(
- op: add
path: /services/set_keyspace_durability_policy_%[3]s
value:
- image: vitess/lite:v14.0.3
+ image: vitess/lite:v14.0.4
volumes:
- ".:/script"
environment:
@@ -853,7 +853,7 @@ func generateSchemaload(
- op: add
path: /services/schemaload_%[7]s
value:
- image: vitess/lite:v14.0.3
+ image: vitess/lite:v14.0.4
volumes:
- ".:/script"
environment:
diff --git a/examples/operator/101_initial_cluster.yaml b/examples/operator/101_initial_cluster.yaml
index e4d7e27de73..347027725a0 100644
--- a/examples/operator/101_initial_cluster.yaml
+++ b/examples/operator/101_initial_cluster.yaml
@@ -8,12 +8,12 @@ metadata:
name: example
spec:
images:
- vtctld: vitess/lite:v14.0.3
- vtgate: vitess/lite:v14.0.3
- vttablet: vitess/lite:v14.0.3
- vtbackup: vitess/lite:v14.0.3
+ vtctld: vitess/lite:v14.0.4
+ vtgate: vitess/lite:v14.0.4
+ vttablet: vitess/lite:v14.0.4
+ vtbackup: vitess/lite:v14.0.4
mysqld:
- mysql56Compatible: vitess/lite:v14.0.3
+ mysql56Compatible: vitess/lite:v14.0.4
mysqldExporter: prom/mysqld-exporter:v0.11.0
cells:
- name: zone1
diff --git a/examples/operator/201_customer_tablets.yaml b/examples/operator/201_customer_tablets.yaml
index 25fca7286da..5b07e578a4b 100644
--- a/examples/operator/201_customer_tablets.yaml
+++ b/examples/operator/201_customer_tablets.yaml
@@ -4,12 +4,12 @@ metadata:
name: example
spec:
images:
- vtctld: vitess/lite:v14.0.3
- vtgate: vitess/lite:v14.0.3
- vttablet: vitess/lite:v14.0.3
- vtbackup: vitess/lite:v14.0.3
+ vtctld: vitess/lite:v14.0.4
+ vtgate: vitess/lite:v14.0.4
+ vttablet: vitess/lite:v14.0.4
+ vtbackup: vitess/lite:v14.0.4
mysqld:
- mysql56Compatible: vitess/lite:v14.0.3
+ mysql56Compatible: vitess/lite:v14.0.4
mysqldExporter: prom/mysqld-exporter:v0.11.0
cells:
- name: zone1
diff --git a/examples/operator/302_new_shards.yaml b/examples/operator/302_new_shards.yaml
index 5a56a3cf194..c4fb5a4a1f6 100644
--- a/examples/operator/302_new_shards.yaml
+++ b/examples/operator/302_new_shards.yaml
@@ -4,12 +4,12 @@ metadata:
name: example
spec:
images:
- vtctld: vitess/lite:v14.0.3
- vtgate: vitess/lite:v14.0.3
- vttablet: vitess/lite:v14.0.3
- vtbackup: vitess/lite:v14.0.3
+ vtctld: vitess/lite:v14.0.4
+ vtgate: vitess/lite:v14.0.4
+ vttablet: vitess/lite:v14.0.4
+ vtbackup: vitess/lite:v14.0.4
mysqld:
- mysql56Compatible: vitess/lite:v14.0.3
+ mysql56Compatible: vitess/lite:v14.0.4
mysqldExporter: prom/mysqld-exporter:v0.11.0
cells:
- name: zone1
diff --git a/examples/operator/306_down_shard_0.yaml b/examples/operator/306_down_shard_0.yaml
index 7b5bcf653b1..4af0dd2ff30 100644
--- a/examples/operator/306_down_shard_0.yaml
+++ b/examples/operator/306_down_shard_0.yaml
@@ -4,12 +4,12 @@ metadata:
name: example
spec:
images:
- vtctld: vitess/lite:v14.0.3
- vtgate: vitess/lite:v14.0.3
- vttablet: vitess/lite:v14.0.3
- vtbackup: vitess/lite:v14.0.3
+ vtctld: vitess/lite:v14.0.4
+ vtgate: vitess/lite:v14.0.4
+ vttablet: vitess/lite:v14.0.4
+ vtbackup: vitess/lite:v14.0.4
mysqld:
- mysql56Compatible: vitess/lite:v14.0.3
+ mysql56Compatible: vitess/lite:v14.0.4
mysqldExporter: prom/mysqld-exporter:v0.11.0
cells:
- name: zone1
diff --git a/examples/operator/vtorc_example.yaml b/examples/operator/vtorc_example.yaml
index b0478a2cde0..76a0b389c08 100644
--- a/examples/operator/vtorc_example.yaml
+++ b/examples/operator/vtorc_example.yaml
@@ -8,13 +8,13 @@ metadata:
name: example
spec:
images:
- vtctld: vitess/lite:v14.0.3
- vtorc: vitess/lite:v14.0.3
- vtgate: vitess/lite:v14.0.3
- vttablet: vitess/lite:v14.0.3
- vtbackup: vitess/lite:v14.0.3
+ vtctld: vitess/lite:v14.0.4
+ vtorc: vitess/lite:v14.0.4
+ vtgate: vitess/lite:v14.0.4
+ vttablet: vitess/lite:v14.0.4
+ vtbackup: vitess/lite:v14.0.4
mysqld:
- mysql56Compatible: vitess/lite:v14.0.3
+ mysql56Compatible: vitess/lite:v14.0.4
mysqldExporter: prom/mysqld-exporter:v0.11.0
cells:
- name: zone1
diff --git a/go/vt/servenv/version.go b/go/vt/servenv/version.go
index 87f7834ca49..f09bd84270a 100644
--- a/go/vt/servenv/version.go
+++ b/go/vt/servenv/version.go
@@ -19,4 +19,4 @@ package servenv
// THIS FILE IS AUTO-GENERATED DURING NEW RELEASES BY ./tools/do_releases.sh
// DO NOT EDIT
-const versionName = "14.0.4-SNAPSHOT"
+const versionName = "14.0.4"
diff --git a/java/client/pom.xml b/java/client/pom.xml
index ec5d0ecb295..247c02b3ed5 100644
--- a/java/client/pom.xml
+++ b/java/client/pom.xml
@@ -5,7 +5,7 @@
io.vitess
vitess-parent
- 14.0.4-SNAPSHOT
+ 14.0.4
vitess-client
diff --git a/java/example/pom.xml b/java/example/pom.xml
index d60d887f83a..fd18f8c2546 100644
--- a/java/example/pom.xml
+++ b/java/example/pom.xml
@@ -5,7 +5,7 @@
io.vitess
vitess-parent
- 14.0.4-SNAPSHOT
+ 14.0.4
vitess-example
diff --git a/java/grpc-client/pom.xml b/java/grpc-client/pom.xml
index d9529864137..75052d361c0 100644
--- a/java/grpc-client/pom.xml
+++ b/java/grpc-client/pom.xml
@@ -5,7 +5,7 @@
io.vitess
vitess-parent
- 14.0.4-SNAPSHOT
+ 14.0.4
vitess-grpc-client
diff --git a/java/jdbc/pom.xml b/java/jdbc/pom.xml
index 793f4ef4882..3e6ab2d0209 100644
--- a/java/jdbc/pom.xml
+++ b/java/jdbc/pom.xml
@@ -5,7 +5,7 @@
io.vitess
vitess-parent
- 14.0.4-SNAPSHOT
+ 14.0.4
vitess-jdbc
diff --git a/java/pom.xml b/java/pom.xml
index d38304d000a..225701f6350 100644
--- a/java/pom.xml
+++ b/java/pom.xml
@@ -11,7 +11,7 @@
io.vitess
vitess-parent
- 14.0.4-SNAPSHOT
+ 14.0.4
pom
Vitess Java Client libraries [Parent]