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)