vitess.io/vitess@v0.16.2/changelog/14.0/14.0.0/changelog.md (about) 1 # Changelog of Vitess v14.0.0 2 3 ### Announcement 4 #### CLI 5 * deprecation of CreateKeyspace flags [#10488](https://github.com/vitessio/vitess/pull/10488) 6 #### General 7 * v14 release notes: Online DDL is production ready [#10310](https://github.com/vitessio/vitess/pull/10310) 8 ### Bug fixes 9 #### Backup and Restore 10 * Skip repl config in restore when active reparents disabled [#9675](https://github.com/vitessio/vitess/pull/9675) 11 #### Build/CI 12 * Permission fixes for Docker builds [#9619](https://github.com/vitessio/vitess/pull/9619) 13 * Fix output issue in the do_release script [#9621](https://github.com/vitessio/vitess/pull/9621) 14 * VReplication V2 test: bypass newly added lag test which is causing flakiness in CI [#9727](https://github.com/vitessio/vitess/pull/9727) 15 * Repair paths-filter workflows [#10087](https://github.com/vitessio/vitess/pull/10087) 16 * Make go version check reliable by using double brackets [#10125](https://github.com/vitessio/vitess/pull/10125) 17 #### Cluster management 18 * [grpcshim] Fix select race and move to internal package [#9116](https://github.com/vitessio/vitess/pull/9116) 19 * Use AllPrivs user for table GC transitions [#9690](https://github.com/vitessio/vitess/pull/9690) 20 * TabletManager: Check for context cancellation in loop within ChangeTabletType() [#9842](https://github.com/vitessio/vitess/pull/9842) 21 * [topo/helpers] Make CopyShardReplications idempotent [#9849](https://github.com/vitessio/vitess/pull/9849) 22 * Fix the race between PromoteReplica and replication manager tick [#9859](https://github.com/vitessio/vitess/pull/9859) 23 * Propagate error from 'updateLocked' to client [#10181](https://github.com/vitessio/vitess/pull/10181) 24 * Revert semi_sync change to reintroduce enable_semi_sync and remove durability_policy [#10201](https://github.com/vitessio/vitess/pull/10201) 25 * The flag --online_ddl_check_interval belongs in vtctld [#10320](https://github.com/vitessio/vitess/pull/10320) 26 * vt/wrangler: fix deleting primary tablet if `Shard` does not exist [#10373](https://github.com/vitessio/vitess/pull/10373) 27 * topo: cache CellInfo along with conn [#10408](https://github.com/vitessio/vitess/pull/10408) 28 #### Examples 29 * demo.go: fix call to ToBytes [#9615](https://github.com/vitessio/vitess/pull/9615) 30 * Use latest vitess-operator example CRDs [#9751](https://github.com/vitessio/vitess/pull/9751) 31 #### General 32 * Sanitize tx serializer log & error messages [#9802](https://github.com/vitessio/vitess/pull/9802) 33 * Changes for make tools [#10117](https://github.com/vitessio/vitess/pull/10117) 34 * Sanitize log messages [#10367](https://github.com/vitessio/vitess/pull/10367) 35 * Rename error sanitizer file to follow naming convention [#10406](https://github.com/vitessio/vitess/pull/10406) 36 #### Query Serving 37 * evalengine: numbers [#9623](https://github.com/vitessio/vitess/pull/9623) 38 * Extract collation data to enable distinct aggregation [#9639](https://github.com/vitessio/vitess/pull/9639) 39 * Add QueryRowsAffected and QueryRowsReturned to vttablet metrics and deprecate QueryRowCounts [#9656](https://github.com/vitessio/vitess/pull/9656) 40 * Use the gen4 planner for queries with outer joins [#9657](https://github.com/vitessio/vitess/pull/9657) 41 * Gen4: make sure to not merge unsharded tables from different keyspaces [#9665](https://github.com/vitessio/vitess/pull/9665) 42 * Parser fix for CREATE VIEW statement [#9693](https://github.com/vitessio/vitess/pull/9693) 43 * Add collation parsing to generated columns in Create Table [#9694](https://github.com/vitessio/vitess/pull/9694) 44 * Fixed missing order/group by, limit, having in derived [#9701](https://github.com/vitessio/vitess/pull/9701) 45 * Online DDL: resubmitting a migration with same UUID retries it in case it was cancelled or failed. [#9704](https://github.com/vitessio/vitess/pull/9704) 46 * Query plan/rules: apply for multi-table statement [#9747](https://github.com/vitessio/vitess/pull/9747) 47 * Add support for uint32 bind var + test [#9757](https://github.com/vitessio/vitess/pull/9757) 48 * Stop rewriting `JoinCondition` with `USING` [#9767](https://github.com/vitessio/vitess/pull/9767) 49 * Manage MySQL Replication Status States Properly [#9853](https://github.com/vitessio/vitess/pull/9853) 50 * Fix `__sq_has_values1` error with `PulloutSubquery` [#9855](https://github.com/vitessio/vitess/pull/9855) 51 * OnlineDDL executor: route all VReplicationExec through single function [#9861](https://github.com/vitessio/vitess/pull/9861) 52 * fix: planner panic on derived tables sorting in query builder [#9869](https://github.com/vitessio/vitess/pull/9869) 53 * feat: add weightstring for distinct [#9874](https://github.com/vitessio/vitess/pull/9874) 54 * ORDER BY scoping rules should not be used in group_concat [#9939](https://github.com/vitessio/vitess/pull/9939) 55 * Fix: Sequence query to ignore reserved and transaction [#9968](https://github.com/vitessio/vitess/pull/9968) 56 * fix: dual query with exists clause having system table query in it [#9969](https://github.com/vitessio/vitess/pull/9969) 57 * fix: make concatenate and limit concurrent safe [#9979](https://github.com/vitessio/vitess/pull/9979) 58 * ApplySchema: allow-zero-in-date embedded as query comment in call to ExecuteFetchAsDba [#9998](https://github.com/vitessio/vitess/pull/9998) 59 * Fix: reserved connection retry logic when vttablet or mysql is down [#10005](https://github.com/vitessio/vitess/pull/10005) 60 * gen4: Fix sub query planning when the outer query is a dual query [#10007](https://github.com/vitessio/vitess/pull/10007) 61 * Fix parsing of bind variables in a few places [#10015](https://github.com/vitessio/vitess/pull/10015) 62 * Route explain tab plan to the proper Keyspace [#10027](https://github.com/vitessio/vitess/pull/10027) 63 * Re-add sanitize_log_messages flag and add tests for flags [#10049](https://github.com/vitessio/vitess/pull/10049) 64 * OnlineDDL: double statement validation upon submission [#10065](https://github.com/vitessio/vitess/pull/10065) 65 * Fix Gen4 only_full_group_by regression [#10069](https://github.com/vitessio/vitess/pull/10069) 66 * Fix Gen4 group/order by with derived table [#10074](https://github.com/vitessio/vitess/pull/10074) 67 * Only start SQL thread temporarily to WaitForPosition if needed [#10104](https://github.com/vitessio/vitess/pull/10104) 68 * Vitess online ddl: modify a column from textual to non-textual, ignore charset [#10116](https://github.com/vitessio/vitess/pull/10116) 69 * Fix StreamExecute in Gen4CompareV3 [#10122](https://github.com/vitessio/vitess/pull/10122) 70 * Do not mutate replication state in WaitSourcePos and ignore tablets with SQL_Thread stopped in ERS [#10148](https://github.com/vitessio/vitess/pull/10148) 71 * sqlparser: fix canonical formatting for enums [#10149](https://github.com/vitessio/vitess/pull/10149) 72 * Fix for empty results when no shards can be found to route to [#10152](https://github.com/vitessio/vitess/pull/10152) 73 * fix: handle reserved connection reset when tx killer has locked the connection [#10153](https://github.com/vitessio/vitess/pull/10153) 74 * Do not send field query when using reserved connection [#10163](https://github.com/vitessio/vitess/pull/10163) 75 * Backwards compatible replication status to state transition [#10167](https://github.com/vitessio/vitess/pull/10167) 76 * sqlparser: Handle case sensitive AST option for table options [#10191](https://github.com/vitessio/vitess/pull/10191) 77 * Emit the ENGINE field for table options as case sensitive [#10197](https://github.com/vitessio/vitess/pull/10197) 78 * check for connectionID before adding to querylist [#10212](https://github.com/vitessio/vitess/pull/10212) 79 * Fix handling of unsigned and zerofill in parser and normalization [#10220](https://github.com/vitessio/vitess/pull/10220) 80 * Fix parsing of the foreign key constraint actions in different order [#10224](https://github.com/vitessio/vitess/pull/10224) 81 * Fix handling of VISIBLE or INVISIBLE keyword on indexes [#10243](https://github.com/vitessio/vitess/pull/10243) 82 * plancache: Lazy sysvar planner functions [#10248](https://github.com/vitessio/vitess/pull/10248) 83 * evalengine: proper float to integer conversions [#10252](https://github.com/vitessio/vitess/pull/10252) 84 * Fix formatting for function expressions and booleans [#10255](https://github.com/vitessio/vitess/pull/10255) 85 * fix: concatenate engine primitive [#10257](https://github.com/vitessio/vitess/pull/10257) 86 * fix: copy bindvariables in logstats [#10260](https://github.com/vitessio/vitess/pull/10260) 87 * Move all schemadiff comparisons to canonical form [#10261](https://github.com/vitessio/vitess/pull/10261) 88 * Do not cache plans that are invalid because of `--no_scatter` [#10279](https://github.com/vitessio/vitess/pull/10279) 89 * collations: map utf8 to utf8mb3 [#10287](https://github.com/vitessio/vitess/pull/10287) 90 * Fix parsing the special case convert charset logic [#10288](https://github.com/vitessio/vitess/pull/10288) 91 * Deprecate flag --online_ddl_check_interval [#10308](https://github.com/vitessio/vitess/pull/10308) 92 * Fix schema tracking issue when `PRIMARY` tablet changes [#10335](https://github.com/vitessio/vitess/pull/10335) 93 * Remove normalization of integral length types [#10336](https://github.com/vitessio/vitess/pull/10336) 94 * Fix failure when Unowned lookup IS NULL [#10346](https://github.com/vitessio/vitess/pull/10346) 95 * Fix for empty results when no shards can be found to route to [v3] [#10360](https://github.com/vitessio/vitess/pull/10360) 96 * Revert super_read_only config file changes [#10366](https://github.com/vitessio/vitess/pull/10366) 97 * OnlineDDL/vitess fix: convert data type to JSON [#10390](https://github.com/vitessio/vitess/pull/10390) 98 * OnlineDDL/vrepl: more error codes, spatial types [#10394](https://github.com/vitessio/vitess/pull/10394) 99 * Online DDL fix: instant is possible for VIRTUAL, not STORED [#10411](https://github.com/vitessio/vitess/pull/10411) 100 * schemadiff: column name check in CHECK constraint is case insensitive [#10413](https://github.com/vitessio/vitess/pull/10413) 101 * making log sanitization more precise [#10417](https://github.com/vitessio/vitess/pull/10417) 102 * v3: Fix issue when no routes are found from a lookup [#10422](https://github.com/vitessio/vitess/pull/10422) 103 * fix: use vcursor to execute the projection input [#10435](https://github.com/vitessio/vitess/pull/10435) 104 * Tablet throttler: dynamic ThrottleMetricThreshold [#10439](https://github.com/vitessio/vitess/pull/10439) 105 * Change use_super_read_only default back to false [#10448](https://github.com/vitessio/vitess/pull/10448) 106 * fix: scalar aggregation engine primitive [#10465](https://github.com/vitessio/vitess/pull/10465) 107 * fix: aggregation empty row on join with grouping and aggregations [#10480](https://github.com/vitessio/vitess/pull/10480) 108 * Backport to release-14: Fix parsing of CAST() statements #10512 and #10514 [#10517](https://github.com/vitessio/vitess/pull/10517) 109 * Fix casing of vitess migration syntax and comments printing [#10535](https://github.com/vitessio/vitess/pull/10535) 110 * VReplication: more unrecoverable error codes [#10559](https://github.com/vitessio/vitess/pull/10559) 111 * [14.0] fix: handle planner_version and planner-version correctly [#10604](https://github.com/vitessio/vitess/pull/10604) 112 #### VReplication 113 * Update error description for deprecated command [#9622](https://github.com/vitessio/vitess/pull/9622) 114 * Support VDiff across DB versions [#9679](https://github.com/vitessio/vitess/pull/9679) 115 * VReplication Workflows: Use WithDDL while updating time_heartbeat to be backwardly compatible with upgrades to existing cluster [#9700](https://github.com/vitessio/vitess/pull/9700) 116 * Externalize Lookup VIndexes properly when not stopping after copy [#9771](https://github.com/vitessio/vitess/pull/9771) 117 * Add TEXT field comparison support to evalengine (for VDiff) [#9790](https://github.com/vitessio/vitess/pull/9790) 118 * Add CHAR field comparison support to evalengine (for VDiff) [#9800](https://github.com/vitessio/vitess/pull/9800) 119 * Run WithDDL queries on tablet startup [#9817](https://github.com/vitessio/vitess/pull/9817) 120 * Check for nil vschema.Table in StreamMigrator [#9828](https://github.com/vitessio/vitess/pull/9828) 121 * Check if context is cancelled in applyEvents() loop to avoid deadlocks [#9833](https://github.com/vitessio/vitess/pull/9833) 122 * Change logic to reach desired _vt schema on vreplication startup [#9860](https://github.com/vitessio/vitess/pull/9860) 123 * VPlayer: use stored/binlogged ENUM index value in WHERE clauses [#9868](https://github.com/vitessio/vitess/pull/9868) 124 * vstreamer: flatten savepoint events [#9892](https://github.com/vitessio/vitess/pull/9892) 125 * vstreamer: do not forward savepoint events [#9907](https://github.com/vitessio/vitess/pull/9907) 126 * VReplication: use strict sql_mode for Online DDL [#9963](https://github.com/vitessio/vitess/pull/9963) 127 * VStreamer: recompute table plan if a new table is encountered for the same id [#9978](https://github.com/vitessio/vitess/pull/9978) 128 * Increase max vrepl workflow source definition size from 64KiB to 16MiB [#10018](https://github.com/vitessio/vitess/pull/10018) 129 * VReplication: maintain original column case for pkCols [#10033](https://github.com/vitessio/vitess/pull/10033) 130 * Avoid deadlocks related to 0 receiver behavior [#10132](https://github.com/vitessio/vitess/pull/10132) 131 * SwitchTraffic should switch everything when no tablet_types provided [#10434](https://github.com/vitessio/vitess/pull/10434) 132 * Cherry pick of VStream API: Fix vtgate memory leaks when context gets cancelled [#10576](https://github.com/vitessio/vitess/pull/10576) 133 #### VTAdmin 134 * [vtadmin] Update vtctld dialer to validate connectivity [#9915](https://github.com/vitessio/vitess/pull/9915) 135 * [vtadmin-web] Fix default redirect on Tablet view [#10010](https://github.com/vitessio/vitess/pull/10010) 136 * [VTAdmin] Update dynamic clusters to accept no clusters [#10016](https://github.com/vitessio/vitess/pull/10016) 137 * [vtadmin] threadsafe dynamic clusters [#10044](https://github.com/vitessio/vitess/pull/10044) 138 * [vtadmin-web] Add `PORT=14201` to 'npm run local' to avoid CORS errors in dev mode [#10176](https://github.com/vitessio/vitess/pull/10176) 139 #### VTorc 140 * BugFix: Resolve Recoveries at the end [#10286](https://github.com/vitessio/vitess/pull/10286) 141 * Fix panic in VTOrc [#10519](https://github.com/vitessio/vitess/pull/10519) 142 #### vtexplain 143 * Case-insensitive planner-version flag in VTExplain [#10086](https://github.com/vitessio/vitess/pull/10086) 144 * fix: check that all keyspaces loaded successfully before using them [#10396](https://github.com/vitessio/vitess/pull/10396) 145 ### CI/Build 146 #### Build/CI 147 * Remove deprecated upgrade-downgrade CI build [#9692](https://github.com/vitessio/vitess/pull/9692) 148 * Hack to allow `bootstrap.sh` to run cleanly on fresh M1 [#9723](https://github.com/vitessio/vitess/pull/9723) 149 * Fix `make embed_config` target [#9724](https://github.com/vitessio/vitess/pull/9724) 150 * Increase async IO threads count in CI [#9744](https://github.com/vitessio/vitess/pull/9744) 151 * Fix upgrade-downgrade CI workflows running even when Skip label specified [#9784](https://github.com/vitessio/vitess/pull/9784) 152 * Fix flakiness in TestShardedKeyspace [#9785](https://github.com/vitessio/vitess/pull/9785) 153 * [grpcvtctldclient] Fix vtctld server initialization in grpcvtctldclient/client_test.go [#9906](https://github.com/vitessio/vitess/pull/9906) 154 * Address flakiness of vreplication tests [#9935](https://github.com/vitessio/vitess/pull/9935) 155 * Properly generate vtgate_tablet_healthcheck_cache workflow [#9950](https://github.com/vitessio/vitess/pull/9950) 156 * Address flakiness of some cluster e2e tests [#9967](https://github.com/vitessio/vitess/pull/9967) 157 * Track full git sha1 string instead of the short version [#9970](https://github.com/vitessio/vitess/pull/9970) 158 * Set VTDATAROOT to /tmp/ folder in CI [#9980](https://github.com/vitessio/vitess/pull/9980) 159 * Flaky TestReparentDuringWorkerCopy fix [#9986](https://github.com/vitessio/vitess/pull/9986) 160 * Compatibility Fixes for 1.18 [#9992](https://github.com/vitessio/vitess/pull/9992) 161 * Move Shard 12 and 18 CI tests to self hosted runners [#10025](https://github.com/vitessio/vitess/pull/10025) 162 * Skip CI workflows based on the list of modified files [#10031](https://github.com/vitessio/vitess/pull/10031) 163 * Address flakiness of vreplication v2 workflow test [#10051](https://github.com/vitessio/vitess/pull/10051) 164 * makefile: bump vtprotobuf [#10078](https://github.com/vitessio/vitess/pull/10078) 165 * Use git command instead of GitHub API to list modified files [#10106](https://github.com/vitessio/vitess/pull/10106) 166 * Move tests from newfeaturetest to ers package after the release [#10121](https://github.com/vitessio/vitess/pull/10121) 167 * Remove vtadmin-down.sh from teardown.sh [#10136](https://github.com/vitessio/vitess/pull/10136) 168 * CODEOWNERS: specify messaging related folders [#10137](https://github.com/vitessio/vitess/pull/10137) 169 * bootstrap changelog [#10147](https://github.com/vitessio/vitess/pull/10147) 170 * Automatically comment Pull Request with the review checklist [#10155](https://github.com/vitessio/vitess/pull/10155) 171 * Applied some format check on the comment_pull_request workflow [#10179](https://github.com/vitessio/vitess/pull/10179) 172 * Address flakiness of vtgate_vindex.prefixfanout tests [#10216](https://github.com/vitessio/vitess/pull/10216) 173 * Flakes: Add retries to ZooKeeper unit test around startup [#10228](https://github.com/vitessio/vitess/pull/10228) 174 * CI: fix flaky test via extended timeout in vrepl_stress_suite [#10231](https://github.com/vitessio/vitess/pull/10231) 175 * Revert to using XtraBackup 2.4-latest now that 2.4.26 is out [#10241](https://github.com/vitessio/vitess/pull/10241) 176 * Check for vtadmin JS types drift in CI [#10256](https://github.com/vitessio/vitess/pull/10256) 177 * Fix `tabletmanager_throttler` flakyness: increase wait time [#10271](https://github.com/vitessio/vitess/pull/10271) 178 * CI: Add query retries to vttablet process [#10275](https://github.com/vitessio/vitess/pull/10275) 179 * remove references to MySQL and Percona 5.6 [#10295](https://github.com/vitessio/vitess/pull/10295) 180 * Aggregate static and other quick CI check actions to reduce #workflows [#10431](https://github.com/vitessio/vitess/pull/10431) 181 * fixing vrepl_stress_suite flakyness [#10441](https://github.com/vitessio/vitess/pull/10441) 182 * [14.0] Take into account `github.ref` when doing upgrade-downgrade tests [#10522](https://github.com/vitessio/vitess/pull/10522) 183 * add vtadmin web files to all lite images [#10581](https://github.com/vitessio/vitess/pull/10581) 184 #### Cluster management 185 * Add GuptaManan100 as a codeowner for VTOrc [#9846](https://github.com/vitessio/vitess/pull/9846) 186 * Flakiness fix for Upgrade Downgrade Backup Manual test [#9957](https://github.com/vitessio/vitess/pull/9957) 187 * fix endtoend onlineddl flakyness caused by --heartbeat_on_demand_duration [#10236](https://github.com/vitessio/vitess/pull/10236) 188 #### Documentation 189 * Add single self-hosted runner information [#9954](https://github.com/vitessio/vitess/pull/9954) 190 #### General 191 * docker: cleanup of release.sh [#9867](https://github.com/vitessio/vitess/pull/9867) 192 * ci: upgrade to Go 1.18 [#9893](https://github.com/vitessio/vitess/pull/9893) 193 * 1.18: rename interface{} to any [#9914](https://github.com/vitessio/vitess/pull/9914) 194 * Add Matt Lord to CODEOWNERS [#9920](https://github.com/vitessio/vitess/pull/9920) 195 * Upgrade main to `go1.18.1` [#10101](https://github.com/vitessio/vitess/pull/10101) 196 * Upgrade to `go1.18.3` [#10447](https://github.com/vitessio/vitess/pull/10447) 197 #### Governance 198 * Add @notfelineit to CODEOWNERS [#9613](https://github.com/vitessio/vitess/pull/9613) 199 * Update the comment for review checklist with an item for CI workflows [#10471](https://github.com/vitessio/vitess/pull/10471) 200 #### Query Serving 201 * More testing for vreplication unique key violation protection [#9988](https://github.com/vitessio/vitess/pull/9988) 202 * unit test: sort map before converting to string [#10119](https://github.com/vitessio/vitess/pull/10119) 203 * Fix to --heartbeat_on_demand_duration race condition [#10247](https://github.com/vitessio/vitess/pull/10247) 204 * OnlineDDL: adding an endtoend test to validate partial shard REVERT [#10338](https://github.com/vitessio/vitess/pull/10338) 205 #### TabletManager 206 * Alternate fix for flaky TestReparentDuringWorkerCopy [#10006](https://github.com/vitessio/vitess/pull/10006) 207 * Fix flakiness in TestHealthCheck [#10008](https://github.com/vitessio/vitess/pull/10008) 208 #### VTAdmin 209 * Add CI workflow for vtadmin-web unit tests [#9739](https://github.com/vitessio/vitess/pull/9739) 210 #### VTorc 211 * Also run VTOrc tests against MySQL 8.0 [#9974](https://github.com/vitessio/vitess/pull/9974) 212 ### Dependabot 213 #### Examples 214 * build(deps): bump gopkg.in/yaml.v2 from 2.2.5 to 2.2.8 in /examples/are-you-alive [#9429](https://github.com/vitessio/vitess/pull/9429) 215 #### web UI 216 * build(deps): bump is-my-json-valid from 2.12.4 to 2.20.6 in /web/vtctld2 [#9602](https://github.com/vitessio/vitess/pull/9602) 217 ### Documentation 218 #### Build/CI 219 * Tweak backport checklist item wording in pull_request_template.md [#10083](https://github.com/vitessio/vitess/pull/10083) 220 #### CLI 221 * [vtctldclient] Update CLI docs for usages, flags, and aliases [#10502](https://github.com/vitessio/vitess/pull/10502) 222 #### Documentation 223 * Update release notes with web/vtctld2 deprecation announcement and flag. [#9735](https://github.com/vitessio/vitess/pull/9735) 224 * Update v14 summary with the latest change to `JoinCondition` rewriting [#9786](https://github.com/vitessio/vitess/pull/9786) 225 * Add help text for LegacyVtctlCommand and VtctldCommand [#9837](https://github.com/vitessio/vitess/pull/9837) 226 * Add durability policy changes to the summary [#10392](https://github.com/vitessio/vitess/pull/10392) 227 #### Examples 228 * Fix commands in readme files to use double dashes for arguments [#10389](https://github.com/vitessio/vitess/pull/10389) 229 #### Governance 230 * update maintainers [#9825](https://github.com/vitessio/vitess/pull/9825) 231 * Add @ajm188 to codeowners for CLI-related packages [#9847](https://github.com/vitessio/vitess/pull/9847) 232 * Add systay as owner of vtexplain [#10403](https://github.com/vitessio/vitess/pull/10403) 233 * docs: added to the release notes [#10468](https://github.com/vitessio/vitess/pull/10468) 234 #### Query Serving 235 * Release notes on query serving [#10548](https://github.com/vitessio/vitess/pull/10548) 236 #### VTAdmin 237 * [vtadmin] Document known issue with node versions 17+ [#10483](https://github.com/vitessio/vitess/pull/10483) 238 #### VTorc 239 * Improve explanation of MySQLTopologyUser and MySQLReplicaUser so that their difference is clearer [#9743](https://github.com/vitessio/vitess/pull/9743) 240 ### Enhancement 241 #### Build/CI 242 * Check for proto drift in the CI [#9644](https://github.com/vitessio/vitess/pull/9644) 243 * make generate_ci_workflows: mysql80 workflows for selected tests [#9740](https://github.com/vitessio/vitess/pull/9740) 244 * Improve upgrade downgrade workflows' strategy [#9745](https://github.com/vitessio/vitess/pull/9745) 245 * Add vitess/lite ubi8 images for mysql80, including for arm64 [#9830](https://github.com/vitessio/vitess/pull/9830) 246 * Unit test to confirm that the mysqlctl rice box is current [#10182](https://github.com/vitessio/vitess/pull/10182) 247 * Hints to git cli and github diff to hide diffs in proto generated files by default [#10306](https://github.com/vitessio/vitess/pull/10306) 248 #### CLI 249 * [vtctldclient] Add entrypoint for GetVersion rpc [#9994](https://github.com/vitessio/vitess/pull/9994) 250 #### Cluster management 251 * Change semi-sync information to use the parameter passed and deprecate enable_semi_sync [#9725](https://github.com/vitessio/vitess/pull/9725) 252 * Filter candidates which cannot make forward progress after ERS [#9765](https://github.com/vitessio/vitess/pull/9765) 253 * [vtctldserver] Add locking checks to Delete{Keyspace,Shard} [#9777](https://github.com/vitessio/vitess/pull/9777) 254 * [topo] ShardReplicationFix typed responses [#9876](https://github.com/vitessio/vitess/pull/9876) 255 * Improve network partitions handling [#9905](https://github.com/vitessio/vitess/pull/9905) 256 * tablet lag throttler: small API improvements [#10045](https://github.com/vitessio/vitess/pull/10045) 257 * OnlineDDL: skip GetSchema where possible [#10107](https://github.com/vitessio/vitess/pull/10107) 258 * Refresh ephemeral information before cluster operations in VTOrc [#10115](https://github.com/vitessio/vitess/pull/10115) 259 * On demand heartbeats via `--heartbeat_on_demand_duration`, used by the tablet throttler [#10198](https://github.com/vitessio/vitess/pull/10198) 260 * Adds DurabilityPolicy to the KeyspaceInfo in the topo and the associated RPCs [#10221](https://github.com/vitessio/vitess/pull/10221) 261 * Refactor Durability Policy implementation and usage to read the durability policy from the keyspace [#10375](https://github.com/vitessio/vitess/pull/10375) 262 * Fail if durability policy provided for snapshot keyspaces [#10395](https://github.com/vitessio/vitess/pull/10395) 263 * Use Durability Policy in the topo server in VTOrc and deprecate Durability config [#10423](https://github.com/vitessio/vitess/pull/10423) 264 * Adds RPCs to vttablet that vtorc requires [#10464](https://github.com/vitessio/vitess/pull/10464) 265 #### Documentation 266 * Add Matt Lord to maintainers [#10072](https://github.com/vitessio/vitess/pull/10072) 267 #### Evalengine 268 * evalengine: Use field information when doing type calculation on columns [#9807](https://github.com/vitessio/vitess/pull/9807) 269 #### Examples 270 * Add consul-topo for local example [#9806](https://github.com/vitessio/vitess/pull/9806) 271 * Add vtadmin to local example by default [#10430](https://github.com/vitessio/vitess/pull/10430) 272 * Halve request and double limit for RAM in the example cluster [#10450](https://github.com/vitessio/vitess/pull/10450) 273 #### General 274 * Binlog event parsing: better analysis ; support for semi-sync [#9596](https://github.com/vitessio/vitess/pull/9596) 275 * Support views in Online DDL [#9606](https://github.com/vitessio/vitess/pull/9606) 276 * [VEP-4, phase 1] Flag Deprecation Warnings [#9733](https://github.com/vitessio/vitess/pull/9733) 277 * Table lifecycle: support fast DROP TABLE introduced in MySQL 8.0.23 [#9778](https://github.com/vitessio/vitess/pull/9778) 278 * Fix rendering type in issue templates [#9836](https://github.com/vitessio/vitess/pull/9836) 279 * Flavor capabilities: MySQL GR and more [#10451](https://github.com/vitessio/vitess/pull/10451) 280 #### Query Serving 281 * Harmonize error codes for pool timeouts expiring across all pools [#9483](https://github.com/vitessio/vitess/pull/9483) 282 * Store innodbRowsRead in a Counter instead of a Gauge [#9609](https://github.com/vitessio/vitess/pull/9609) 283 * Improve performance of information schema query. [#9632](https://github.com/vitessio/vitess/pull/9632) 284 * OnlineDDL: reject duplicate UUID with different migration_context [#9637](https://github.com/vitessio/vitess/pull/9637) 285 * Reduce the number of reserved connections when setting system variables [#9641](https://github.com/vitessio/vitess/pull/9641) 286 * OnlineDDL: 'vitess' strategy, synonym for 'online' [#9642](https://github.com/vitessio/vitess/pull/9642) 287 * Gen4: Rework how aggregation is planned [#9643](https://github.com/vitessio/vitess/pull/9643) 288 * evalengine: More functions! [#9673](https://github.com/vitessio/vitess/pull/9673) 289 * Support for ALTER TABLE ... PARTITION BY ... [#9683](https://github.com/vitessio/vitess/pull/9683) 290 * OnlineDDL: force (once) vreplication's WithDDL to run before running a vitess migration [#9702](https://github.com/vitessio/vitess/pull/9702) 291 * Push projection to union [#9703](https://github.com/vitessio/vitess/pull/9703) 292 * Make gen4 the default planner for release 14 [#9710](https://github.com/vitessio/vitess/pull/9710) 293 * Cleanup of parsing of Partitions and additional parsing support [#9712](https://github.com/vitessio/vitess/pull/9712) 294 * Introducing schemadiff, a declarative diff for table/view CREATE statements [#9719](https://github.com/vitessio/vitess/pull/9719) 295 * Online DDL vitess migration's cut-over: query buffering [#9755](https://github.com/vitessio/vitess/pull/9755) 296 * Online DDL declarative migrations now use schemadiff, removing tengo [#9772](https://github.com/vitessio/vitess/pull/9772) 297 * Online DDL: ready_to_complete hint column [#9813](https://github.com/vitessio/vitess/pull/9813) 298 * Add parsing support for prepare statements [#9818](https://github.com/vitessio/vitess/pull/9818) 299 * mysql: add a flag to handle EnableQueryInfo [#9820](https://github.com/vitessio/vitess/pull/9820) 300 * Online DDL: vitess migrations cut-over to have zero race conditions [#9832](https://github.com/vitessio/vitess/pull/9832) 301 * Add parsing support for Trim grammar function [#9834](https://github.com/vitessio/vitess/pull/9834) 302 * Add parsing support for LATERAL keyword [#9843](https://github.com/vitessio/vitess/pull/9843) 303 * Add parsing support for JSON Utility Functions [#9850](https://github.com/vitessio/vitess/pull/9850) 304 * Remove the `Gateway` interface [#9852](https://github.com/vitessio/vitess/pull/9852) 305 * feat: make the join columns output easier to read [#9863](https://github.com/vitessio/vitess/pull/9863) 306 * Gen4: Add UPDATE planning [#9871](https://github.com/vitessio/vitess/pull/9871) 307 * Add parsing support for JSON_TABLE() [#9879](https://github.com/vitessio/vitess/pull/9879) 308 * Add parsing support for JSON value creators functions [#9880](https://github.com/vitessio/vitess/pull/9880) 309 * fix: allow multiple distinct columns on single shards [#9940](https://github.com/vitessio/vitess/pull/9940) 310 * Add parsing support for Json schema validation functions [#9971](https://github.com/vitessio/vitess/pull/9971) 311 * Add parsing support for JSON Search Functions [#9990](https://github.com/vitessio/vitess/pull/9990) 312 * deps: upgrade grpc and protobuf [#10024](https://github.com/vitessio/vitess/pull/10024) 313 * feat: allow more complex expressions to be used in outer queries [#10034](https://github.com/vitessio/vitess/pull/10034) 314 * schemadiff: load, normalize, validate and compare schemas [#10048](https://github.com/vitessio/vitess/pull/10048) 315 * Add parsing support for JSON value modification and attribute functions [#10062](https://github.com/vitessio/vitess/pull/10062) 316 * Always reset reserved shard session on CODE_UNAVAILABLE [#10063](https://github.com/vitessio/vitess/pull/10063) 317 * Adds parsing for NOW in DEFAULT clause [#10085](https://github.com/vitessio/vitess/pull/10085) 318 * Gen4 feature: optimize OR queries to IN [#10090](https://github.com/vitessio/vitess/pull/10090) 319 * Relax singleton-context constraint for pending non-singleton-context reverts [#10114](https://github.com/vitessio/vitess/pull/10114) 320 * Add parsing support for Partition Definitions [#10127](https://github.com/vitessio/vitess/pull/10127) 321 * feat gen4: allow pushing aggregations inside derived tables [#10128](https://github.com/vitessio/vitess/pull/10128) 322 * schemadiff: support for RangeRotationStrategy diff hint [#10131](https://github.com/vitessio/vitess/pull/10131) 323 * Avoid enabling reserved connection on show query [#10138](https://github.com/vitessio/vitess/pull/10138) 324 * Add support for non aggregated columns in `OrderedAggregate` [#10139](https://github.com/vitessio/vitess/pull/10139) 325 * schemadiff: CanonicalStatementString(), utilize sqlparser.CanonicalString() [#10142](https://github.com/vitessio/vitess/pull/10142) 326 * feat: make gen4 plan subsharding queries better [#10151](https://github.com/vitessio/vitess/pull/10151) 327 * schemadiff: EntityDiff has a 'Entities() (from Entity, to Entity)' function [#10161](https://github.com/vitessio/vitess/pull/10161) 328 * Introducing a SQL syntax to control and view Online DDL throttling [#10162](https://github.com/vitessio/vitess/pull/10162) 329 * feat: optimize EXISTS queries through AST rewriting [#10174](https://github.com/vitessio/vitess/pull/10174) 330 * schemadiff: logically Apply() a diff to a CreateTable, CreateView or to a Schema [#10183](https://github.com/vitessio/vitess/pull/10183) 331 * Using LCS to achieve shortest column reordering list [#10184](https://github.com/vitessio/vitess/pull/10184) 332 * enhancement: handle advisory locks [#10186](https://github.com/vitessio/vitess/pull/10186) 333 * schemadiff: normalize() table. Set names to all keys [#10188](https://github.com/vitessio/vitess/pull/10188) 334 * schemadiff: validate() table structure at the end of apply() [#10189](https://github.com/vitessio/vitess/pull/10189) 335 * schemadiff: schema is immutable through Apply() [#10190](https://github.com/vitessio/vitess/pull/10190) 336 * VReplication: use PK equivalent (PKE) if no PK found [#10192](https://github.com/vitessio/vitess/pull/10192) 337 * Add parsing support for Window Functions [#10199](https://github.com/vitessio/vitess/pull/10199) 338 * schemadiff: normalize table options case [#10200](https://github.com/vitessio/vitess/pull/10200) 339 * Allow updating unowned lookup vindex columns. [#10207](https://github.com/vitessio/vitess/pull/10207) 340 * partial dml execution logic ehancement [#10223](https://github.com/vitessio/vitess/pull/10223) 341 * gen4: JOIN USING planning [#10226](https://github.com/vitessio/vitess/pull/10226) 342 * schemadiff: partitions validations [#10229](https://github.com/vitessio/vitess/pull/10229) 343 * Add parsing support for Subpartition Definitions [#10232](https://github.com/vitessio/vitess/pull/10232) 344 * schemadiff: analyze and apply ADD PARTITION and DROP PARTITION statements [#10234](https://github.com/vitessio/vitess/pull/10234) 345 * Add convenience functions for working with schemadiff objects [#10238](https://github.com/vitessio/vitess/pull/10238) 346 * Add parsing support for expressions in index definitions [#10240](https://github.com/vitessio/vitess/pull/10240) 347 * Update the parsing support for JSON_VALUE [#10242](https://github.com/vitessio/vitess/pull/10242) 348 * schemadiff: support functional indexes [#10244](https://github.com/vitessio/vitess/pull/10244) 349 * Fix formatting of character set annotation on string literals [#10245](https://github.com/vitessio/vitess/pull/10245) 350 * schemadiff: use ParseStrictDDL whenever expecting a DDL statement [#10246](https://github.com/vitessio/vitess/pull/10246) 351 * Fix parsing of encryption attribute for create database [#10249](https://github.com/vitessio/vitess/pull/10249) 352 * Add support for parsing MATCH in a foreign key definition [#10250](https://github.com/vitessio/vitess/pull/10250) 353 * Add parsing support for additional index and table options [#10251](https://github.com/vitessio/vitess/pull/10251) 354 * Handle additional DDL in column definitions [#10253](https://github.com/vitessio/vitess/pull/10253) 355 * evalengine: CASE expressions [#10262](https://github.com/vitessio/vitess/pull/10262) 356 * vt/sqlparser: support SRID [#10267](https://github.com/vitessio/vitess/pull/10267) 357 * Improve dealing with check constraints [#10268](https://github.com/vitessio/vitess/pull/10268) 358 * Add parsing and schemadiff support for ALTER TABLE ALTER CHECK [#10269](https://github.com/vitessio/vitess/pull/10269) 359 * Add unary utf8mb3 charset marker [#10274](https://github.com/vitessio/vitess/pull/10274) 360 * Allow updating the subsequent diff [#10289](https://github.com/vitessio/vitess/pull/10289) 361 * Improve the formatting for partitioning [#10291](https://github.com/vitessio/vitess/pull/10291) 362 * Add additional normalization rules for schemadiff [#10296](https://github.com/vitessio/vitess/pull/10296) 363 * schemadiff: RangeRotationDistinctStatements partitioning hint [#10309](https://github.com/vitessio/vitess/pull/10309) 364 * Remove internal savepoint post query execution [#10311](https://github.com/vitessio/vitess/pull/10311) 365 * feat: use column offsets when HAVING predicate has aggregation [#10312](https://github.com/vitessio/vitess/pull/10312) 366 * Improve parser and schemadiff support for ALTER TABLE [#10313](https://github.com/vitessio/vitess/pull/10313) 367 * Online DDL: fast (and correct) RANGE PARTITION operations, 1st iteration [#10315](https://github.com/vitessio/vitess/pull/10315) 368 * Add support for additional encoding configurations [#10321](https://github.com/vitessio/vitess/pull/10321) 369 * Add parsing support for Regular Expressions [#10322](https://github.com/vitessio/vitess/pull/10322) 370 * schemadiff: validate columns referenced by generated columns [#10328](https://github.com/vitessio/vitess/pull/10328) 371 * schemadiff: case insensitive col/index/partition name comparison [#10330](https://github.com/vitessio/vitess/pull/10330) 372 * [gen4] More aggregation support [#10332](https://github.com/vitessio/vitess/pull/10332) 373 * Add better int normalization [#10340](https://github.com/vitessio/vitess/pull/10340) 374 * Additional schemadiff improvements for indexes [#10345](https://github.com/vitessio/vitess/pull/10345) 375 * Structured schemadiff errors [#10356](https://github.com/vitessio/vitess/pull/10356) 376 * Add validation of check constraints [#10357](https://github.com/vitessio/vitess/pull/10357) 377 * schemadiff: validate columns referenced by FOREIGN KEY [#10359](https://github.com/vitessio/vitess/pull/10359) 378 * Aggregation on top of LIMIT [#10361](https://github.com/vitessio/vitess/pull/10361) 379 * Add support for parsing ARRAY in cast / convert operations [#10362](https://github.com/vitessio/vitess/pull/10362) 380 * Online DDL: support for CHECK CONSTRAINTS [#10369](https://github.com/vitessio/vitess/pull/10369) 381 * schemadiff: constraint name diff hints strategies [#10380](https://github.com/vitessio/vitess/pull/10380) 382 * Replace 'CREATE TABLE LIKE' with programmatic copy [#10381](https://github.com/vitessio/vitess/pull/10381) 383 * Streaming implementation of Projection engine primitive [#10384](https://github.com/vitessio/vitess/pull/10384) 384 * feat: do not use lookup vindexes for IS NULL predicates [#10388](https://github.com/vitessio/vitess/pull/10388) 385 * Online DDL: support INSTANT DDL special plan, flag protected (flag undocumented for now) [#10402](https://github.com/vitessio/vitess/pull/10402) 386 * feat: make v3 not plan IS NULL queries against a lookup vindex [#10412](https://github.com/vitessio/vitess/pull/10412) 387 * Online DDL: support Instant DDL for change of column's DEFAULT [#10414](https://github.com/vitessio/vitess/pull/10414) 388 * Parsing Support for XML functions [#10438](https://github.com/vitessio/vitess/pull/10438) 389 * Formalize MySQL capabilities by flavor/version [#10445](https://github.com/vitessio/vitess/pull/10445) 390 * fix: change planner_version to planner-version everywhere [#10453](https://github.com/vitessio/vitess/pull/10453) 391 * [14.0] Schema tracking acl error logging [#10591](https://github.com/vitessio/vitess/pull/10591) 392 * [Backport 14.0] enable schema tracking by default [#10595](https://github.com/vitessio/vitess/pull/10595) 393 #### TabletManager 394 * messaging: support vt_message_cols to limit cols [#9670](https://github.com/vitessio/vitess/pull/9670) 395 * Table lifecycle: support views [#9776](https://github.com/vitessio/vitess/pull/9776) 396 #### VReplication 397 * OnlineDDL: delete _vt.vreplication entry as part of CLEANUP operation [#9638](https://github.com/vitessio/vitess/pull/9638) 398 * Tablet server/VReplication: use information_schema.columns to get the list of columns instead of "select * from table" [#9794](https://github.com/vitessio/vitess/pull/9794) 399 * Add `--drop_constraints` to MoveTables [#9904](https://github.com/vitessio/vitess/pull/9904) 400 * Support throttling vstreamer copy table work on source tablets [#9923](https://github.com/vitessio/vitess/pull/9923) 401 * Improve escape handling for vindex materializer [#9929](https://github.com/vitessio/vitess/pull/9929) 402 * VReplication: fail on unrecoverable errors [#9973](https://github.com/vitessio/vitess/pull/9973) 403 * Prefer using REPLICA tablets when selecting vreplication sources [#10040](https://github.com/vitessio/vitess/pull/10040) 404 * Improve Tablet Refresh Behavior in VReplication Traffic Switch Handling [#10058](https://github.com/vitessio/vitess/pull/10058) 405 * VReplication: use db_filtered user for vstreams [#10080](https://github.com/vitessio/vitess/pull/10080) 406 * MoveTables: adjust datetimes when importing from non-UTC sources into UTC targets [#10102](https://github.com/vitessio/vitess/pull/10102) 407 * VStream API: allow cells to be specified for picking source tablets to stream from [#10294](https://github.com/vitessio/vitess/pull/10294) 408 * Vdiff2: initial release [#10382](https://github.com/vitessio/vitess/pull/10382) 409 * release-14.0 backport: Fail VReplication workflows on errors that persist and unrecoverable errors [#10573](https://github.com/vitessio/vitess/pull/10573) 410 * Backport: VDiff2: Support Resuming VDiffs [#10589](https://github.com/vitessio/vitess/pull/10589) 411 #### VTAdmin 412 * [vtadmin-web] Upgrade to tailwindcss v3 [#9648](https://github.com/vitessio/vitess/pull/9648) 413 * [vtadmin-web] Add REACT_APP_READONLY_MODE flag [#9731](https://github.com/vitessio/vitess/pull/9731) 414 * [VTAdmin] URL decode cookies [#9866](https://github.com/vitessio/vitess/pull/9866) 415 * [vtadmin] custom discovery resolver [#9977](https://github.com/vitessio/vitess/pull/9977) 416 * [vtadmin-web] Add /vschema route to Keyspace detail view + QueryErrorPlaceholder and QueryLoadingPlaceholder components [#10021](https://github.com/vitessio/vitess/pull/10021) 417 * [vtadmin] grpc healthserver + channelz [#10038](https://github.com/vitessio/vitess/pull/10038) 418 * [Dynamic Clusters] No Duplicates [#10043](https://github.com/vitessio/vitess/pull/10043) 419 * [vtadmin] full dynamic cluster config [#10071](https://github.com/vitessio/vitess/pull/10071) 420 * [VTAdmin] Replace changed clusters when using Dynamic Discovery [#10129](https://github.com/vitessio/vitess/pull/10129) 421 * [vtadmin] non-blocking resolver [#10205](https://github.com/vitessio/vitess/pull/10205) 422 * [vtadmin] Add "Replication Status" view to Tablet page [#10266](https://github.com/vitessio/vitess/pull/10266) 423 * [vtadmin] Add support for 'allow_primary' when deleting a tablet [#10304](https://github.com/vitessio/vitess/pull/10304) 424 * [vtadmin] Add CreateKeyspace bindings + form UI [#10316](https://github.com/vitessio/vitess/pull/10316) 425 * [vtadmin] tablet topopools + other cleanup [#10325](https://github.com/vitessio/vitess/pull/10325) 426 * [vtadmin] Add keyspace/advanced view + ReloadSchemaKeyspace control [#10329](https://github.com/vitessio/vitess/pull/10329) 427 * [vtadmin] Add loading placeholder for entity table views + update default redirect to /schemas [#10331](https://github.com/vitessio/vitess/pull/10331) 428 * [vtadmin] cluster Closer implementation + dynamic Cluster bugfix [#10355](https://github.com/vitessio/vitess/pull/10355) 429 #### VTCombo 430 * Add flag to vtcombo to load a json-encoded test topology file [#9633](https://github.com/vitessio/vitess/pull/9633) 431 #### VTorc 432 * Revocation phase using durability policies [#9659](https://github.com/vitessio/vitess/pull/9659) 433 * VTOrc: Refactor and reload of ephemeral information for remaining recovery functions [#10150](https://github.com/vitessio/vitess/pull/10150) 434 * vtorc: more auditing in GracefulPrimaryTakeover [#10285](https://github.com/vitessio/vitess/pull/10285) 435 #### vttestserver 436 * vtcombo: Add the ability to specify routing rules in test topology [#9695](https://github.com/vitessio/vitess/pull/9695) 437 * vttestserver: add enable_system_settings option [#9779](https://github.com/vitessio/vitess/pull/9779) 438 #### web UI 439 * [vtctld] Add 'enable_vtctld_ui' flag to vtctld to explicitly enable (or disable) the vtctld2 UI [#9614](https://github.com/vitessio/vitess/pull/9614) 440 ### Feature Request 441 #### Cluster management 442 * [vtctldserver] Migrate `Backup` RPC to vtctldserver/client [#9798](https://github.com/vitessio/vitess/pull/9798) 443 * [vtctldclient] Add entrypoint for `ApplySchema` [#9829](https://github.com/vitessio/vitess/pull/9829) 444 * [vtctldserver] Migrate `BackupShard` RPC [#9857](https://github.com/vitessio/vitess/pull/9857) 445 * [vtctldserver] Migrate `RemoveBackup` RPC [#9865](https://github.com/vitessio/vitess/pull/9865) 446 * [vtctldserver] Migrate `RestoreFromBackup` RPC [#9873](https://github.com/vitessio/vitess/pull/9873) 447 * [vtctldserver] Migrate `ShardReplicationFix` RPC [#9878](https://github.com/vitessio/vitess/pull/9878) 448 * [vtctldserver] Migrate `SourceShard{Add,Delete}` RPCs [#9886](https://github.com/vitessio/vitess/pull/9886) 449 * [vtctldserver] ExecuteFetchAs{App,DBA} [#9890](https://github.com/vitessio/vitess/pull/9890) 450 * [vtctldserver] Migrate `ShardReplication{Add,Remove}` RPCs [#9899](https://github.com/vitessio/vitess/pull/9899) 451 * [vtctldserver] Migrate GetPermissions PR#9903 [#10013](https://github.com/vitessio/vitess/pull/10013) 452 #### Observability 453 * [vtadmin] Add prom metrics endpoint support [#10334](https://github.com/vitessio/vitess/pull/10334) 454 #### Query Serving 455 * mysql: allow parsing the 'info' field of MySQL packets [#9651](https://github.com/vitessio/vitess/pull/9651) 456 * evalengine: Conversions [#9698](https://github.com/vitessio/vitess/pull/9698) 457 * Add support for insert using select [#9748](https://github.com/vitessio/vitess/pull/9748) 458 * Add parsing support for Multi INDEX HINTS [#9811](https://github.com/vitessio/vitess/pull/9811) 459 * sqlparser: introduce custom formatting options [#10068](https://github.com/vitessio/vitess/pull/10068) 460 #### VTAdmin 461 * [VTAdmin] Tablet Actions (vtctld2 Parity) [#9601](https://github.com/vitessio/vitess/pull/9601) 462 * [VTAdmin][vtctldserver] Keyspace Functions [#9667](https://github.com/vitessio/vitess/pull/9667) 463 * Allow --no-rbac flag that allows users to not pass rbac config [#9972](https://github.com/vitessio/vitess/pull/9972) 464 * [vtadmin] grpc dynamic clusters [#10050](https://github.com/vitessio/vitess/pull/10050) 465 * [vtadmin] schema cache [#10120](https://github.com/vitessio/vitess/pull/10120) 466 * [vtadmin] cell apis [#10227](https://github.com/vitessio/vitess/pull/10227) 467 * [vtadmin] reload schema [#10300](https://github.com/vitessio/vitess/pull/10300) 468 * [vtadmin] reparenting actions [#10351](https://github.com/vitessio/vitess/pull/10351) 469 * add vtadmin docker image [#10543](https://github.com/vitessio/vitess/pull/10543) 470 ### Internal Cleanup 471 #### Build/CI 472 * Update the issue templates [#9605](https://github.com/vitessio/vitess/pull/9605) 473 * Remove usage of additional uuid package [#10307](https://github.com/vitessio/vitess/pull/10307) 474 #### CLI 475 * [vtctl] Deprecate query commands [#9934](https://github.com/vitessio/vitess/pull/9934) 476 * [vtctl] Deprecate Throttler RPCs [#9962](https://github.com/vitessio/vitess/pull/9962) 477 * [vtadmin] Remove deprecated dynamic cluster flag [#10067](https://github.com/vitessio/vitess/pull/10067) 478 * Update vtctl help output to use double dashes for long flag names [#10405](https://github.com/vitessio/vitess/pull/10405) 479 #### Cluster management 480 * Remove the DurabilityParams argument to the durability interface [#9718](https://github.com/vitessio/vitess/pull/9718) 481 * Internal cleanup for choosing primary in ERS [#9775](https://github.com/vitessio/vitess/pull/9775) 482 * Move deprecation warning to just before we actually invoke the legacy command path [#9787](https://github.com/vitessio/vitess/pull/9787) 483 * Online DDL: cleanup old vtctld+topo flow [#9816](https://github.com/vitessio/vitess/pull/9816) 484 * Rename ApplySchemaRequest.request_context=>migration_context [#9824](https://github.com/vitessio/vitess/pull/9824) 485 * rename master_alias to primary_alias in reparent_journal table [#10098](https://github.com/vitessio/vitess/pull/10098) 486 * Use the `HealthCheckImpl` in `vtctld` instead of the `LegacyHealthCheck` [#10254](https://github.com/vitessio/vitess/pull/10254) 487 * Cleanup: removed legacy, unused code (online DDL paths in topo) [#10379](https://github.com/vitessio/vitess/pull/10379) 488 * Addition of more logging to ERS and tests to PRS [#10425](https://github.com/vitessio/vitess/pull/10425) 489 #### Documentation 490 * all: fix some typos [#9815](https://github.com/vitessio/vitess/pull/9815) 491 #### Evalengine 492 * evalengine: more comprehensive type coverage [#9804](https://github.com/vitessio/vitess/pull/9804) 493 #### Examples 494 * Examples: fix warnings [#9875](https://github.com/vitessio/vitess/pull/9875) 495 * Migrate remaining vtctldclient commands in local example [#9894](https://github.com/vitessio/vitess/pull/9894) 496 * [vtadmin] Improve vtadmin-{up,down}.sh scripts for the local example [#10081](https://github.com/vitessio/vitess/pull/10081) 497 #### General 498 * Support sanitizing potentially sensitive information in log messages [#9550](https://github.com/vitessio/vitess/pull/9550) 499 * Update maintainer email address for Andrew Mason [#9709](https://github.com/vitessio/vitess/pull/9709) 500 * Remove unmaintained vagrant files [#9768](https://github.com/vitessio/vitess/pull/9768) 501 * [VEP-4, phase 1] Flag cleanup in `go/cmd` [#9896](https://github.com/vitessio/vitess/pull/9896) 502 * Add VS Code's __debug_bin to .gitignore [#10305](https://github.com/vitessio/vitess/pull/10305) 503 * fix: lint error [#10440](https://github.com/vitessio/vitess/pull/10440) 504 #### Query Serving 505 * Delete discovery gateway [#9500](https://github.com/vitessio/vitess/pull/9500) 506 * Remove queryserver-config-terse-errors impact on log messages [#9634](https://github.com/vitessio/vitess/pull/9634) 507 * evalengine: use sqltypes [#9646](https://github.com/vitessio/vitess/pull/9646) 508 * Add a comment on how to use set for a counter [#9664](https://github.com/vitessio/vitess/pull/9664) 509 * evalengine: Value cleanups [#9773](https://github.com/vitessio/vitess/pull/9773) 510 * Split aggregation in scalar and ordered aggregation [#9810](https://github.com/vitessio/vitess/pull/9810) 511 * refactor: move all remaining queries to plan builder [#9982](https://github.com/vitessio/vitess/pull/9982) 512 * Minor fix requested by linter [#9989](https://github.com/vitessio/vitess/pull/9989) 513 * collations/hack: cleanup dependencies [#10039](https://github.com/vitessio/vitess/pull/10039) 514 * Reduce shift-reduce conflicts in the grammar by using Precedence [#10053](https://github.com/vitessio/vitess/pull/10053) 515 * remove set_var session field from proto [#10135](https://github.com/vitessio/vitess/pull/10135) 516 * refactor: removed last reserved field from vtgate session [#10140](https://github.com/vitessio/vitess/pull/10140) 517 * refactor: move the Subshard opcode [#10195](https://github.com/vitessio/vitess/pull/10195) 518 * fix: filter was not using the vcursor buffering execution [#10391](https://github.com/vitessio/vitess/pull/10391) 519 #### TabletManager 520 * Adds comments to UnserveCommon to find potential Deadlock [#9942](https://github.com/vitessio/vitess/pull/9942) 521 * Fix Flaky TestTopoCustomRule [#10002](https://github.com/vitessio/vitess/pull/10002) 522 * delete RPCs that were deprecated in 13.0 [#10099](https://github.com/vitessio/vitess/pull/10099) 523 #### VReplication 524 * Rename drop_constraints to drop_foreign_keys on MoveTables [#10017](https://github.com/vitessio/vitess/pull/10017) 525 * remove changeMasterToPrimary, we no longer need it [#10100](https://github.com/vitessio/vitess/pull/10100) 526 * Ensure all legacy sharding commands are clearly deprecated [#10281](https://github.com/vitessio/vitess/pull/10281) 527 #### VTAdmin 528 * [vtadmin-web] Update postcss to v8.4.6 [#9612](https://github.com/vitessio/vitess/pull/9612) 529 * [VTAdmin] Simplify JSON Discovery [#9618](https://github.com/vitessio/vitess/pull/9618) 530 * [vtadmin-web] Upgrade stylelint + related dependencies to latest [#9654](https://github.com/vitessio/vitess/pull/9654) 531 * [vtadmin-web] Update msw to latest (v0.36.8) [#9737](https://github.com/vitessio/vitess/pull/9737) 532 * chore(deps): Bump node-forge from 1.2.0 to 1.3.0 in /web/vtadmin [#9953](https://github.com/vitessio/vitess/pull/9953) 533 * [vtadmin] threadsafe vtsql [#10000](https://github.com/vitessio/vitess/pull/10000) 534 * [vtsql] Remove vtsql.PingContext check from dial calls [#10037](https://github.com/vitessio/vitess/pull/10037) 535 * [vtadmin-web] Update to react-scripts@5.0.1 [#10082](https://github.com/vitessio/vitess/pull/10082) 536 * [vtadmin] Refactor api.getSchemas => cluster.GetSchemas [#10108](https://github.com/vitessio/vitess/pull/10108) 537 * [vtadmin] Remove Tablets option for GetSchema(s) [#10111](https://github.com/vitessio/vitess/pull/10111) 538 * [vtadmin-web] Remove placeholder links from NavRail [#10180](https://github.com/vitessio/vitess/pull/10180) 539 * [vtadmin-web] Remove unused icon SVGs [#10206](https://github.com/vitessio/vitess/pull/10206) 540 * [vtadmin] Tidy up /settings (née /debug) page [#10218](https://github.com/vitessio/vitess/pull/10218) 541 * [vtadmin] Remove explicit Dial-ing for vtctldclient proxy [#10233](https://github.com/vitessio/vitess/pull/10233) 542 * [vtadmin] Removing explicit Dial-ing for vtsql proxy [#10237](https://github.com/vitessio/vitess/pull/10237) 543 * [vtadmin] `GetCell{Infos,Aliases}`: Add missing topoReadPool management [#10273](https://github.com/vitessio/vitess/pull/10273) 544 * [vtadmin] proper alias types for tablet RPCs [#10290](https://github.com/vitessio/vitess/pull/10290) 545 * [vtadmin] Rehome DangerAction component in a common folder [#10293](https://github.com/vitessio/vitess/pull/10293) 546 * [vtadmin] Fix warning 'div cannot appear as a descendant of p' [#10302](https://github.com/vitessio/vitess/pull/10302) 547 * Mark web/vtadmin/src/proto/** as generated files in .gitattributes [#10303](https://github.com/vitessio/vitess/pull/10303) 548 * [vtadmin] Further generalize DangerAction component [#10319](https://github.com/vitessio/vitess/pull/10319) 549 * [vtadmin] Further generalize DangerAction into ActionPanel [#10323](https://github.com/vitessio/vitess/pull/10323) 550 * [vtadmin] Remove source-map-explorer dependency [#10339](https://github.com/vitessio/vitess/pull/10339) 551 * [vtadmin] Refactor getTabletForAction [#10341](https://github.com/vitessio/vitess/pull/10341) 552 * [vtadmin] Update ejs, async, and webpack-dev-server dev dependencies [#10342](https://github.com/vitessio/vitess/pull/10342) 553 * [vtadmin] Remove mutex, now that vtexplain has no global state [#10387](https://github.com/vitessio/vitess/pull/10387) 554 * [vtadmin] Rename reparent-related RPCs, endpoints, methods, RBAC actions [#10404](https://github.com/vitessio/vitess/pull/10404) 555 * [vtadmin] Rename ERS/PRS pools+flags properly [#10460](https://github.com/vitessio/vitess/pull/10460) 556 #### VTorc 557 * Remove logging in GetDurabilityPolicy [#10516](https://github.com/vitessio/vitess/pull/10516) 558 #### vtctl 559 * Fixes #8277: vtctld logs leak pii http headers [#9669](https://github.com/vitessio/vitess/pull/9669) 560 #### vtexplain 561 * Vtexplain no globals [#10374](https://github.com/vitessio/vitess/pull/10374) 562 * replace planner-version with planner_version in vtexplain [#10420](https://github.com/vitessio/vitess/pull/10420) 563 #### web UI 564 * [VTAdmin Web] Make Protos [#10042](https://github.com/vitessio/vitess/pull/10042) 565 ### Performance 566 #### Build/CI 567 * Replace OpenSSL usage for test certificates with Go crypto [#9999](https://github.com/vitessio/vitess/pull/9999) 568 #### Examples 569 * region_example: sleep 5s before switching reads to allow copy to finish [#9937](https://github.com/vitessio/vitess/pull/9937) 570 #### General 571 * sqlescape: Improve performance of EscapeID [#9840](https://github.com/vitessio/vitess/pull/9840) 572 #### Query Serving 573 * Improve performance of hex type decoding [#9625](https://github.com/vitessio/vitess/pull/9625) 574 * Micro benchmarks for setting system variables [#9681](https://github.com/vitessio/vitess/pull/9681) 575 * evalengine: Optimize NullSafeComparison [#9728](https://github.com/vitessio/vitess/pull/9728) 576 * evalengine: Decimals v2 Electric Boogaloo [#9749](https://github.com/vitessio/vitess/pull/9749) 577 * sqlparser: cache comment parsing [#10014](https://github.com/vitessio/vitess/pull/10014) 578 #### Schema Tracker 579 * Improve performance of the `DetectSchemaChange` query [#10416](https://github.com/vitessio/vitess/pull/10416) 580 ### Release 581 #### Build/CI 582 * Updating 13.0.0 release notes on main [#9759](https://github.com/vitessio/vitess/pull/9759) 583 * Rework how the `release notes` labels are handled by the CI [#10508](https://github.com/vitessio/vitess/pull/10508) 584 * Rework the generation of the release notes [#10510](https://github.com/vitessio/vitess/pull/10510) 585 * Post release 14.0.0 updates [#10600](https://github.com/vitessio/vitess/pull/10600) 586 #### General 587 * Moving dev to 14.0.0-SNAPSHOT [#9611](https://github.com/vitessio/vitess/pull/9611) 588 * Addition of release notes for v13.0.1 [#10097](https://github.com/vitessio/vitess/pull/10097) 589 * add caller_id to 13.0.0 release notes [#10124](https://github.com/vitessio/vitess/pull/10124) 590 * Release notes documents for `v12.0.4` on `main` [#10350](https://github.com/vitessio/vitess/pull/10350) 591 * [14.0] Update and prepare the `v14.0.0` summary [#10569](https://github.com/vitessio/vitess/pull/10569) 592 * Revert snapshot incrementation in release-14.0 [#10605](https://github.com/vitessio/vitess/pull/10605) 593 ### Testing 594 #### Build/CI 595 * More aggressive tests for vitess migration cut-over [#9956](https://github.com/vitessio/vitess/pull/9956) 596 * Skip end-to-end test if binary is below a certain major version [#9975](https://github.com/vitessio/vitess/pull/9975) 597 * Deflake connkiller tests [#10001](https://github.com/vitessio/vitess/pull/10001) 598 * Temp: Pin XtraBackup version used at 2.4.24 for 5.7 tests [#10194](https://github.com/vitessio/vitess/pull/10194) 599 * fix tablegc flaky test [#10230](https://github.com/vitessio/vitess/pull/10230) 600 #### CLI 601 * [VEP-4, part 1] Flag cleanup in `go/mysql` and some endtoend tests [#9910](https://github.com/vitessio/vitess/pull/9910) 602 * [VEP4, phase 1] Update flags in `endtoend/recovery` [#9911](https://github.com/vitessio/vitess/pull/9911) 603 * [VEP4, phase 1] Update flags in `endtoend/schemadiff` [#9912](https://github.com/vitessio/vitess/pull/9912) 604 * [VEP4, phase 1] Update flags and imports for `endtoend/{sharded,sharding}` [#9913](https://github.com/vitessio/vitess/pull/9913) 605 * [VEP 4, phase 1] Cleanup flags in `endtoend/vault` (and some comments in `endtoend/tabletmanager`) [#9916](https://github.com/vitessio/vitess/pull/9916) 606 * [VEP4, phase 1] fix flags in tests `endtoend/versionupgrade` [#9917](https://github.com/vitessio/vitess/pull/9917) 607 * [VEP4, phase 1] [endtoend/vreplication] update flags in tests [#9918](https://github.com/vitessio/vitess/pull/9918) 608 * [VEP4, phase 1] [endtoend/vtcombo] fix flags in tests [#9919](https://github.com/vitessio/vitess/pull/9919) 609 * [VEP4, phase1] Cleanup flags in `endtoend/vtgate` and `endtoend/vtorc` [#9930](https://github.com/vitessio/vitess/pull/9930) 610 * [VEP4, phase1] fix flags in tests in `endtoend/worker` and strings in `go/trace` [#9931](https://github.com/vitessio/vitess/pull/9931) 611 #### Cluster management 612 * Replace InitShardPrimary usage in tests by PlannedReparentShard [#9680](https://github.com/vitessio/vitess/pull/9680) 613 #### General 614 * Add unit test for the demo app [#9766](https://github.com/vitessio/vitess/pull/9766) 615 * test: use `T.TempDir` to create temporary test directory [#10433](https://github.com/vitessio/vitess/pull/10433) 616 #### Query Serving 617 * Add e2e test for the TabletManager GetSchema RPC [#9658](https://github.com/vitessio/vitess/pull/9658) 618 * vtexplain: added multicol test to show subshard routing [#9697](https://github.com/vitessio/vitess/pull/9697) 619 * Compare Vitess against MySQL in E2E tests [#9965](https://github.com/vitessio/vitess/pull/9965) 620 * endtoend: improve assertionsin message_test [#10046](https://github.com/vitessio/vitess/pull/10046) 621 * Flaky test fix: TestFoundRows [#10235](https://github.com/vitessio/vitess/pull/10235) 622 * Make the tests explicit for the SET variables for MySQL 5.7 [#10263](https://github.com/vitessio/vitess/pull/10263) 623 * fix: vtexplain commit order flaky [#10264](https://github.com/vitessio/vitess/pull/10264) 624 * test refactor: extract const literal to file [#10358](https://github.com/vitessio/vitess/pull/10358) 625 * test: refactor and enabled vschema ddl test [#10437](https://github.com/vitessio/vitess/pull/10437) 626 * Divide query serving upgrade downgrade tests in two groups to limit disk usage per workflow [#10452](https://github.com/vitessio/vitess/pull/10452) 627 #### VReplication 628 * deflake TestCanSwitch by switching from exact string match to loose regex [#9926](https://github.com/vitessio/vitess/pull/9926) 629 #### VTAdmin 630 * [vtadmin] Ensure we close the proxy to prevent red-herring 'error' messages [#9964](https://github.com/vitessio/vitess/pull/9964) 631 * [vtadmin|tests] Add mutex to prevent data races in tests using cluster/resolver [#10041](https://github.com/vitessio/vitess/pull/10041) 632 * [vtadmin] tablet topotools tests [#10333](https://github.com/vitessio/vitess/pull/10333) 633 * [vtadmin] Fix data race in vtadmin [#10376](https://github.com/vitessio/vitess/pull/10376) 634 * [vtadmin] Add infrastructure for generating authz tests for vtadmin [#10397](https://github.com/vitessio/vitess/pull/10397) 635 * [vtadmin] authz tests part1 [#10415](https://github.com/vitessio/vitess/pull/10415) 636 * [vtadmin] Refactor authztestgen template to allow multiple test clusters [#10428](https://github.com/vitessio/vitess/pull/10428) 637 * [vtadmin] authz tests - getters part1 [#10432](https://github.com/vitessio/vitess/pull/10432) 638 * [vtadmin] authz tests - getters part2 [#10444](https://github.com/vitessio/vitess/pull/10444) 639 * [vtadmin] authz tests - getters part3 [#10449](https://github.com/vitessio/vitess/pull/10449) 640 * [vtadmin] authz tests - tablet actions [#10457](https://github.com/vitessio/vitess/pull/10457) 641 * [backport] [vtadmin] Add remaining authz tests [#10487](https://github.com/vitessio/vitess/pull/10487) 642 * [vtadmin/tests] Serialize Schema test cases to avoid cache backfill races [#10538](https://github.com/vitessio/vitess/pull/10538) 643 * [vtadmin] fix flaky GetSchemas test cases [#10555](https://github.com/vitessio/vitess/pull/10555) 644 #### VTorc 645 * Remove the use_super_read_only flag in VTOrc tests [#9672](https://github.com/vitessio/vitess/pull/9672)