vitess.io/vitess@v0.16.2/changelog/16.0/16.0.0/changelog.md (about) 1 # Changelog of Vitess v16.0.0 2 3 ### Announcement 4 #### Governance 5 * Move inactive maintainers to "Past" section, change Areas to include more active maintainers [#11744](https://github.com/vitessio/vitess/pull/11744) 6 * add frances to maintainers [#11865](https://github.com/vitessio/vitess/pull/11865) 7 * add Arthur to the maintainers file [#11937](https://github.com/vitessio/vitess/pull/11937) 8 #### Query Serving 9 * deprecate V3 planner [#11635](https://github.com/vitessio/vitess/pull/11635) 10 #### VTAdmin 11 * [vtadmin] deprecated vtexplain [#12163](https://github.com/vitessio/vitess/pull/12163) 12 ### Bug fixes 13 #### Backup and Restore 14 * Detect redo log location dynamically based on presence [#11555](https://github.com/vitessio/vitess/pull/11555) 15 * [main] mysqlctl: flags should be added to vtbackup (#12048) [#12060](https://github.com/vitessio/vitess/pull/12060) 16 #### Build/CI 17 * Fix the script `check_make_sizegen` [#11465](https://github.com/vitessio/vitess/pull/11465) 18 * Skip `TestComparisonSemantics` test [#11474](https://github.com/vitessio/vitess/pull/11474) 19 * Docker Image Context Fix [#11628](https://github.com/vitessio/vitess/pull/11628) 20 * Addition of a CI tool to detect dead links in test/config.json [#11668](https://github.com/vitessio/vitess/pull/11668) 21 * Fix files changes filtering in CI [#11714](https://github.com/vitessio/vitess/pull/11714) 22 * Fix `codeql` workflow timeout issue [#11760](https://github.com/vitessio/vitess/pull/11760) 23 * Trigger OnlineDDL workflow when test data changes [#11827](https://github.com/vitessio/vitess/pull/11827) 24 #### CLI 25 * [release-16.0] vtctldclient: Format GetKeyspace output using cli.MarshalJSON (#12495) [#12503](https://github.com/vitessio/vitess/pull/12503) 26 #### Cluster management 27 * BugFix: Errant GTID detection for a single replica [#12024](https://github.com/vitessio/vitess/pull/12024) 28 * BugFix: Fix race in `IsFlagProvided` [#12042](https://github.com/vitessio/vitess/pull/12042) 29 #### Examples 30 * Examples: Add lib functions to wait for shard states [#12239](https://github.com/vitessio/vitess/pull/12239) 31 * Examples: Correct VTAdmin Discovery File Path And Add Check [#12415](https://github.com/vitessio/vitess/pull/12415) 32 * examples: Fix Vtop example and release script [#12440](https://github.com/vitessio/vitess/pull/12440) 33 * Fix vtctldclient command in vtop test script and the fix operator example [#12458](https://github.com/vitessio/vitess/pull/12458) 34 * Open vtadmin-api port in docker-local example to enable vtadmin access [#12467](https://github.com/vitessio/vitess/pull/12467) 35 #### General 36 * [main] Stats Flags: include stats flags in the correct binaries (#11450) [#11453](https://github.com/vitessio/vitess/pull/11453) 37 * Test flags: Update logic for parsing test flags to run unit tests within GoLand and to parse test flags in vtgate to allow running unit tests [#11551](https://github.com/vitessio/vitess/pull/11551) 38 * Fix missing flag usage for vault credentials flags [#11582](https://github.com/vitessio/vitess/pull/11582) 39 * fix vdiff release notes [#11595](https://github.com/vitessio/vitess/pull/11595) 40 #### Observability 41 * stats/prometheus: normalize labels for single-label implementations [#12057](https://github.com/vitessio/vitess/pull/12057) 42 #### Online DDL 43 * Parse binlog variable length encoded columns [#11871](https://github.com/vitessio/vitess/pull/11871) 44 * Allow zero (in) date when setting up internal _vt schema [#12262](https://github.com/vitessio/vitess/pull/12262) 45 #### Operator 46 * [main] Increase the memory limit of the vitess-operator (#11548) [#11550](https://github.com/vitessio/vitess/pull/11550) 47 * Fix rbac config in the vtop example [#12034](https://github.com/vitessio/vitess/pull/12034) 48 #### Query Serving 49 * Fix query list override issue on mysql restart [#11309](https://github.com/vitessio/vitess/pull/11309) 50 * make MySQL56-flavor schema queries forward-compatible [#11323](https://github.com/vitessio/vitess/pull/11323) 51 * Plan order by `COUNT(X)` [#11420](https://github.com/vitessio/vitess/pull/11420) 52 * Fix #11455 - skip vindex operations for `DELETE` statements against unsharded tables [#11461](https://github.com/vitessio/vitess/pull/11461) 53 * Fix aggregation end-to-end test PRIMARY KEY [#11473](https://github.com/vitessio/vitess/pull/11473) 54 * collations: fix coercion semantics according to 8.0.31 changes [#11487](https://github.com/vitessio/vitess/pull/11487) 55 * fix: reserve connection to follow query timeout when outside of transaction [#11490](https://github.com/vitessio/vitess/pull/11490) 56 * [main] bug fix: using self-referencing columns in HAVING should not overflow (#11499) [#11504](https://github.com/vitessio/vitess/pull/11504) 57 * Fix `HAVING` rewriting made in #11306 [#11515](https://github.com/vitessio/vitess/pull/11515) 58 * fix: fail over reconnect in stream execution for connection with transaction [#11517](https://github.com/vitessio/vitess/pull/11517) 59 * [15.0] Fix: concatenate engine in transaction [#11534](https://github.com/vitessio/vitess/pull/11534) 60 * [main] Redact bind variables in mysql errors (#11540) [#11545](https://github.com/vitessio/vitess/pull/11545) 61 * Fix ordering when error happens during stream setup [#11592](https://github.com/vitessio/vitess/pull/11592) 62 * Do not multiply `AggregateRandom` in `JOIN`s [#11633](https://github.com/vitessio/vitess/pull/11633) 63 * [bugfix] Allow VTExplain to handle shards that are not active during resharding [#11640](https://github.com/vitessio/vitess/pull/11640) 64 * Fix generating invalid alter table for comments [#11645](https://github.com/vitessio/vitess/pull/11645) 65 * sqltypes: handle leading zeroes [#11650](https://github.com/vitessio/vitess/pull/11650) 66 * Send errors in stream instead of a grpc error from streaming rpcs when transaction or reserved connection is acquired [#11656](https://github.com/vitessio/vitess/pull/11656) 67 * schemadiff: normalize index option value (string) [#11675](https://github.com/vitessio/vitess/pull/11675) 68 * improve handling of ORDER BY/HAVING rewriting [#11691](https://github.com/vitessio/vitess/pull/11691) 69 * query timeout hints in unsharded cases [#11709](https://github.com/vitessio/vitess/pull/11709) 70 * Online DDL: adding error check; more verbose error messages [#11789](https://github.com/vitessio/vitess/pull/11789) 71 * Accept no more data in session state change as ok [#11796](https://github.com/vitessio/vitess/pull/11796) 72 * Fix: return allowed transaction isolation level value on select query [#11804](https://github.com/vitessio/vitess/pull/11804) 73 * semantics: Use a BitSet [#11819](https://github.com/vitessio/vitess/pull/11819) 74 * BugFix: Escaping Percentage and Underscore require special handling [#11823](https://github.com/vitessio/vitess/pull/11823) 75 * Simplify recursive data structure in CFC Vindex [#11843](https://github.com/vitessio/vitess/pull/11843) 76 * Fix MySQL56 GTID parsing when SID/UUID repeats [#11888](https://github.com/vitessio/vitess/pull/11888) 77 * Online DDL: fix 'vtctlclient OnlineDDL' template queries [#11889](https://github.com/vitessio/vitess/pull/11889) 78 * Fix CheckMySQL by setting the correct wanted state [#11895](https://github.com/vitessio/vitess/pull/11895) 79 * Onlineddl: formalize "immediate operations", respect `--postpone-completion` strategy flag [#11910](https://github.com/vitessio/vitess/pull/11910) 80 * bugfix: allow predicates without dependencies with derived tables to be handled correctly [#11911](https://github.com/vitessio/vitess/pull/11911) 81 * Online DDL: ensure message is valid `utf8` in `updateMigrationMessage()` [#11914](https://github.com/vitessio/vitess/pull/11914) 82 * Fix sending a ServerLost error when reading a packet fails [#11920](https://github.com/vitessio/vitess/pull/11920) 83 * only expand when we have full information [#11998](https://github.com/vitessio/vitess/pull/11998) 84 * Remove unnecessary logging [#12000](https://github.com/vitessio/vitess/pull/12000) 85 * Fix parsing and normalization of floating point types [#12009](https://github.com/vitessio/vitess/pull/12009) 86 * OnlineDDL: scheduleNextMigration() to only read reviewed migrations [#12014](https://github.com/vitessio/vitess/pull/12014) 87 * Keywords must be unique and can't be reused [#12044](https://github.com/vitessio/vitess/pull/12044) 88 * Fix: Date math with Interval keyword [#12082](https://github.com/vitessio/vitess/pull/12082) 89 * OnlineDDL: support integer-to-enum conversion in `vitess` migrations [#12098](https://github.com/vitessio/vitess/pull/12098) 90 * Keep the correct case for the charset for canonical string [#12105](https://github.com/vitessio/vitess/pull/12105) 91 * BugFix: Cast expression translation by evaluation engine [#12111](https://github.com/vitessio/vitess/pull/12111) 92 * [Gen4] Fix lookup vindexes with `autocommit` enabled [#12172](https://github.com/vitessio/vitess/pull/12172) 93 * handle system databases other that information_schema correctly [#12175](https://github.com/vitessio/vitess/pull/12175) 94 * VTGate: Ensure HealthCheck Cache Secondary Maps Stay in Sync With Authoritative Map on Tablet Delete [#12178](https://github.com/vitessio/vitess/pull/12178) 95 * schemadiff: fix scenario where no tables exist in schema and with just views reading from DUAL [#12189](https://github.com/vitessio/vitess/pull/12189) 96 * Fix parsing of bitnum values larger than 64 bit [#12191](https://github.com/vitessio/vitess/pull/12191) 97 * Online DDL: fix deadlock by releasing mutex before calling callback [#12211](https://github.com/vitessio/vitess/pull/12211) 98 * fix: transaction_isolation to be applied at session level [#12281](https://github.com/vitessio/vitess/pull/12281) 99 * Fix aggregation on outer joins [#12298](https://github.com/vitessio/vitess/pull/12298) 100 * [release-16.0] fix: added null safe operator precendence rule (#12297) [#12307](https://github.com/vitessio/vitess/pull/12307) 101 * Fix for USING when column names not lower cased [#12379](https://github.com/vitessio/vitess/pull/12379) 102 * [release-16.0] Fix bug in vtexplain around JOINs (#12376) [#12384](https://github.com/vitessio/vitess/pull/12384) 103 * Fix scalar aggregation engine primitive for column truncation [#12468](https://github.com/vitessio/vitess/pull/12468) 104 * [release-16.0] BugFix: Unsharded query using a derived table and a dual table [#12484](https://github.com/vitessio/vitess/pull/12484) 105 #### VReplication 106 * VReplication: escape identifiers when renaming source tables [#11670](https://github.com/vitessio/vitess/pull/11670) 107 * VReplication: Prevent Orphaned VDiff2 Jobs [#11768](https://github.com/vitessio/vitess/pull/11768) 108 * VDiff2: Properly Apply --only_pks Report Flag [#12025](https://github.com/vitessio/vitess/pull/12025) 109 * VReplication: Improve Error/Status Reporting [#12052](https://github.com/vitessio/vitess/pull/12052) 110 * VReplication: Propagate Binlog Stream Errors [#12095](https://github.com/vitessio/vitess/pull/12095) 111 * VReplication: ignore GC tables in schema analysis [#12320](https://github.com/vitessio/vitess/pull/12320) 112 * Sidecar schema init: use COPY algorithm while altering sidecardb tables [#12436](https://github.com/vitessio/vitess/pull/12436) 113 #### VTorc 114 * Fix VTOrc holding locks after shutdown [#11442](https://github.com/vitessio/vitess/pull/11442) 115 * [15.0] Fix VTOrc to handle multiple failures [#11489](https://github.com/vitessio/vitess/pull/11489) 116 * VTOrc running PRS when database_instance empty bug fix. [#12019](https://github.com/vitessio/vitess/pull/12019) 117 * Fix: VTOrc forgetting old instances [#12089](https://github.com/vitessio/vitess/pull/12089) 118 * Fix insert query of blocked_recovery table in VTOrc [#12091](https://github.com/vitessio/vitess/pull/12091) 119 #### vtctl 120 * Switch ApplySchema `--sql` argument to be `StringArray` instead of `StringSlice` [#11790](https://github.com/vitessio/vitess/pull/11790) 121 #### vtexplain 122 * Use Gen4 as the default planner version for VTExplain [#12021](https://github.com/vitessio/vitess/pull/12021) 123 #### vttestserver 124 * Fix vttestserver run script defaults [#12004](https://github.com/vitessio/vitess/pull/12004) 125 * Add missing backslash to run.sh script [#12033](https://github.com/vitessio/vitess/pull/12033) 126 ### CI/Build 127 #### Backup and Restore 128 * docker/lite: +zstd dep [#11997](https://github.com/vitessio/vitess/pull/11997) 129 #### Build/CI 130 * unit test: use require and assert [#11252](https://github.com/vitessio/vitess/pull/11252) 131 * Skip CI with the `Skip CI` label [#11514](https://github.com/vitessio/vitess/pull/11514) 132 * Update GitHub Actions workflows to latest versions [#11525](https://github.com/vitessio/vitess/pull/11525) 133 * Removing SharedPitr_tls and Backup_transfrom test from CI [#11611](https://github.com/vitessio/vitess/pull/11611) 134 * Add automation to change vitess version in the docker-release script [#11682](https://github.com/vitessio/vitess/pull/11682) 135 * Fix two additional flaky test sources in endtoend tests [#11743](https://github.com/vitessio/vitess/pull/11743) 136 * Update latest protobuf [#11782](https://github.com/vitessio/vitess/pull/11782) 137 * Update test runners to run all tests including outside package [#11787](https://github.com/vitessio/vitess/pull/11787) 138 * Update to latest etcd release [#11791](https://github.com/vitessio/vitess/pull/11791) 139 * Migrate to GitHub OIDC based auth for Launchable [#11808](https://github.com/vitessio/vitess/pull/11808) 140 * Fix the golangci-lint config [#11812](https://github.com/vitessio/vitess/pull/11812) 141 * Add instructions on how to fix a self-hosted runner running out of disk space [#11839](https://github.com/vitessio/vitess/pull/11839) 142 * Fix deprecated usage of set-output [#11844](https://github.com/vitessio/vitess/pull/11844) 143 * update golangci-lint to 1.50.1 [#11873](https://github.com/vitessio/vitess/pull/11873) 144 * CODEOWNERS: Add vrepl team members for vtgate vstream and tablet picker [#11950](https://github.com/vitessio/vitess/pull/11950) 145 * Upgrade all the CI runners to Ubuntu 22.04 [#11985](https://github.com/vitessio/vitess/pull/11985) 146 * Add lauchable to unit tests as well and remove OIDC [#12031](https://github.com/vitessio/vitess/pull/12031) 147 * consolidating OnlineDDL 'declarative' tests into 'scheduler' tests: part 1 [#12061](https://github.com/vitessio/vitess/pull/12061) 148 * OnlineDDL CI: remove 'revertible' tests (part 2) [#12192](https://github.com/vitessio/vitess/pull/12192) 149 * Update vtadmin dependencies [#12201](https://github.com/vitessio/vitess/pull/12201) 150 * Update Go dependencies [#12215](https://github.com/vitessio/vitess/pull/12215) 151 * Download mariadb from vitess-resources [#12271](https://github.com/vitessio/vitess/pull/12271) 152 #### Cluster management 153 * Endtoend cluster improvements [#11859](https://github.com/vitessio/vitess/pull/11859) 154 * CI, tabletmanager throttler topo tests: polling until status received [#12107](https://github.com/vitessio/vitess/pull/12107) 155 #### General 156 * [deps] go get golang.org/x/text && go mod tidy [#11466](https://github.com/vitessio/vitess/pull/11466) 157 * Upgrade to `go1.19.3` [#11655](https://github.com/vitessio/vitess/pull/11655) 158 * Code freeze of release-16.0 [#12232](https://github.com/vitessio/vitess/pull/12232) 159 #### Governance 160 * codeowners: have at least two for almost every package [#11639](https://github.com/vitessio/vitess/pull/11639) 161 * added code owners for go.mod and go.sum files [#11711](https://github.com/vitessio/vitess/pull/11711) 162 * Add more codeowners to the `/test` directory [#11762](https://github.com/vitessio/vitess/pull/11762) 163 #### Query Serving 164 * Consistent sorting in Online DDL Vrepl suite test [#11821](https://github.com/vitessio/vitess/pull/11821) 165 * Flakes: Properly Test HealthCheck Cache Response Handling [#12226](https://github.com/vitessio/vitess/pull/12226) 166 * Fix `SHOW VSCHEMA TABLES` tests using v17 vtgate that expected `dual` [#12381](https://github.com/vitessio/vitess/pull/12381) 167 #### TabletManager 168 * Update throttler-topo workflow file [#11784](https://github.com/vitessio/vitess/pull/11784) 169 * Fix closing the body for HTTP requests [#11842](https://github.com/vitessio/vitess/pull/11842) 170 #### VReplication 171 * update jsonparser dependency [#11694](https://github.com/vitessio/vitess/pull/11694) 172 #### VTorc 173 * Move vtorc runners back to normal github runners [#11482](https://github.com/vitessio/vitess/pull/11482) 174 ### Dependabot 175 #### Build/CI 176 * [release-16.0] Bump golang.org/x/net from 0.5.0 to 0.7.0 (#12390) [#12400](https://github.com/vitessio/vitess/pull/12400) 177 * [release-16.0] Update additional Go dependencies (#12401) [#12402](https://github.com/vitessio/vitess/pull/12402) 178 #### Java 179 * build(deps): Bump protobuf-java from 3.19.4 to 3.19.6 in /java [#11439](https://github.com/vitessio/vitess/pull/11439) 180 #### VTAdmin 181 * build(deps): Bump @xmldom/xmldom from 0.7.5 to 0.7.8 in /web/vtadmin [#11615](https://github.com/vitessio/vitess/pull/11615) 182 * build(deps): Bump loader-utils from 1.4.0 to 1.4.1 in /web/vtadmin [#11659](https://github.com/vitessio/vitess/pull/11659) 183 * build(deps): Bump loader-utils from 1.4.1 to 1.4.2 in /web/vtadmin [#11725](https://github.com/vitessio/vitess/pull/11725) 184 ### Documentation 185 #### Build/CI 186 * Update release notes summary for the new default MySQL version [#12222](https://github.com/vitessio/vitess/pull/12222) 187 #### CLI 188 * [vtadmin] Do not backtick binary name [#11464](https://github.com/vitessio/vitess/pull/11464) 189 * [vtctldclient|docs] apply doc feedback based on website PR feedback [#12030](https://github.com/vitessio/vitess/pull/12030) 190 #### Documentation 191 * Upgrades the release notes for v15.0.0 [#11567](https://github.com/vitessio/vitess/pull/11567) 192 * Copy design docs over from website [#12071](https://github.com/vitessio/vitess/pull/12071) 193 #### Query Serving 194 * Add release notes summary for views [#12422](https://github.com/vitessio/vitess/pull/12422) 195 #### VReplication 196 * Mark VDiff V2 as GA in v16 [#12084](https://github.com/vitessio/vitess/pull/12084) 197 ### Enhancement 198 #### Authn/z 199 * VTGate: Set immediate caller id from gRPC static auth username [#12050](https://github.com/vitessio/vitess/pull/12050) 200 #### Backup and Restore 201 * Incremental logical backup and point in time recovery [#11097](https://github.com/vitessio/vitess/pull/11097) 202 * vtbackup: disable redo log before starting replication [#11330](https://github.com/vitessio/vitess/pull/11330) 203 * remove excessive backup decompression logging [#11479](https://github.com/vitessio/vitess/pull/11479) 204 * vtbackup: add --disable-redo-log flag (default false) [#11594](https://github.com/vitessio/vitess/pull/11594) 205 * remove backup_hook from flag help [#12029](https://github.com/vitessio/vitess/pull/12029) 206 #### Build/CI 207 * Move CI workflow to use latest community version of mysql 8.0 [#11493](https://github.com/vitessio/vitess/pull/11493) 208 * Upgrade the `release_notes_label` workflow for `v16.0.0` [#11544](https://github.com/vitessio/vitess/pull/11544) 209 * CODEOWNERS: Add maintainers to `.github/workflows` and `.github` [#11781](https://github.com/vitessio/vitess/pull/11781) 210 * Allow override of build git env in docker/base builds [#11968](https://github.com/vitessio/vitess/pull/11968) 211 * Add vtorc port to vitess local docker run [#12001](https://github.com/vitessio/vitess/pull/12001) 212 * Update the MySQL version used by our Docker images [#12054](https://github.com/vitessio/vitess/pull/12054) 213 * Fail CI when a PR is labeled with `NeedsWebsiteDocsUpdate` or `NeedsDescriptionUpdate` [#12062](https://github.com/vitessio/vitess/pull/12062) 214 * Revert default MySQL 80 version to `8.0.30` [#12252](https://github.com/vitessio/vitess/pull/12252) 215 #### CLI 216 * Add GenerateShardRanges to vtctldclient [#11492](https://github.com/vitessio/vitess/pull/11492) 217 * Properly deprecate flags and fix default for `--cell` [#11501](https://github.com/vitessio/vitess/pull/11501) 218 * Allow version to be accessible via the -v shorthand [#11512](https://github.com/vitessio/vitess/pull/11512) 219 #### Cluster management 220 * Create new api for topo lock shard exists [#11269](https://github.com/vitessio/vitess/pull/11269) 221 * Deprecating VExec part1: removing client-side references [#11955](https://github.com/vitessio/vitess/pull/11955) 222 #### Driver 223 * Implement the RowsColumnTypeScanType interface in the go sql driver [#12007](https://github.com/vitessio/vitess/pull/12007) 224 #### Examples 225 * Give all permissions in rbac in examples [#11463](https://github.com/vitessio/vitess/pull/11463) 226 * Fix Vitess Operator example [#11546](https://github.com/vitessio/vitess/pull/11546) 227 #### General 228 * removing unncessary flags across binaries [#11495](https://github.com/vitessio/vitess/pull/11495) 229 * [release-15.0] Upgrade to `go1.18.7` [#11507](https://github.com/vitessio/vitess/pull/11507) 230 * vttablet sidecar schema:use schemadiff to reach desired schema on tablet init replacing the withDDL-based approach [#11520](https://github.com/vitessio/vitess/pull/11520) 231 * Removing redundant flags across binaries [#11522](https://github.com/vitessio/vitess/pull/11522) 232 * Remove `EnableTracingOpt` and `--grpc_enable_tracing` [#11543](https://github.com/vitessio/vitess/pull/11543) 233 * Add default lower stack limit [#11569](https://github.com/vitessio/vitess/pull/11569) 234 * Upgrade to `go1.19.4` [#11905](https://github.com/vitessio/vitess/pull/11905) 235 * Add structure logging to Vitess [#11960](https://github.com/vitessio/vitess/pull/11960) 236 * Revert changes made in #11960 [#12219](https://github.com/vitessio/vitess/pull/12219) 237 * Upgrade `release-16.0` to `go1.20.1` [#12398](https://github.com/vitessio/vitess/pull/12398) 238 #### Governance 239 * Add manan and florent to Docker files CODEOWNERS [#11981](https://github.com/vitessio/vitess/pull/11981) 240 #### Query Serving 241 * ComBinlogDumpGTID and downstream replication protocol [#10066](https://github.com/vitessio/vitess/pull/10066) 242 * Document error code in `vtgate/planbuilder` [#10738](https://github.com/vitessio/vitess/pull/10738) 243 * opt in/out of query consolidation [#11080](https://github.com/vitessio/vitess/pull/11080) 244 * Online DDL: more (async) log visibility into cut-over phase [#11253](https://github.com/vitessio/vitess/pull/11253) 245 * optionally disable verify-after-insert behavior of lookup vindexes [#11313](https://github.com/vitessio/vitess/pull/11313) 246 * resource pool: resource max lifetime timeout [#11337](https://github.com/vitessio/vitess/pull/11337) 247 * feat: added query timeout to vtgate default and per session [#11429](https://github.com/vitessio/vitess/pull/11429) 248 * [evalengine] add rewrites for nullif and ifnull [#11431](https://github.com/vitessio/vitess/pull/11431) 249 * Handle aliasing of collation names [#11433](https://github.com/vitessio/vitess/pull/11433) 250 * vitess Online DDL atomic cut-over [#11460](https://github.com/vitessio/vitess/pull/11460) 251 * Keep track of expanded columns in the semantic analysis [#11462](https://github.com/vitessio/vitess/pull/11462) 252 * feat: deconstruct tuple comparisons so we can use them for routing decisions [#11500](https://github.com/vitessio/vitess/pull/11500) 253 * Add Gauge For CheckMySQL Running [#11524](https://github.com/vitessio/vitess/pull/11524) 254 * Optimize List Support In Vindex Functions [#11531](https://github.com/vitessio/vitess/pull/11531) 255 * add option to disable lookup read lock [#11538](https://github.com/vitessio/vitess/pull/11538) 256 * [refactor] Predicate push down [#11552](https://github.com/vitessio/vitess/pull/11552) 257 * planner: better bindvar names for auto-parameterized queries [#11571](https://github.com/vitessio/vitess/pull/11571) 258 * planner enhancement: nice bindvar names for update [#11581](https://github.com/vitessio/vitess/pull/11581) 259 * Online DDL: more support for INSTANT DDL [#11591](https://github.com/vitessio/vitess/pull/11591) 260 * vtgate: route create table statements to vschema keyspace [#11602](https://github.com/vitessio/vitess/pull/11602) 261 * Dynamic tablet throttler config: enable/disable, set metrics query/threshold [#11604](https://github.com/vitessio/vitess/pull/11604) 262 * Cleanup copying of proto results to sqltypes.Result [#11607](https://github.com/vitessio/vitess/pull/11607) 263 * Move horizon planning to operators [#11622](https://github.com/vitessio/vitess/pull/11622) 264 * normalize more expressions [#11631](https://github.com/vitessio/vitess/pull/11631) 265 * Fix `OR 1=0` causing queries to scatter [#11653](https://github.com/vitessio/vitess/pull/11653) 266 * Online DDL: normalize/idempotentize CHECK CONSTRAINTs in ALTER TABLE statement [#11663](https://github.com/vitessio/vitess/pull/11663) 267 * add support for transaction isolation level and make it vitess aware setting [#11673](https://github.com/vitessio/vitess/pull/11673) 268 * don't reuse bindvars for LIMIT and OFFSET [#11689](https://github.com/vitessio/vitess/pull/11689) 269 * Online DDL: more scheduler triggering following successful operations [#11701](https://github.com/vitessio/vitess/pull/11701) 270 * Add support for transaction access mode [#11704](https://github.com/vitessio/vitess/pull/11704) 271 * rewrite predicates to expose routing opportunities [#11765](https://github.com/vitessio/vitess/pull/11765) 272 * find IN route possibility in ORs [#11775](https://github.com/vitessio/vitess/pull/11775) 273 * [planner] Better AST equality [#11867](https://github.com/vitessio/vitess/pull/11867) 274 * optimize joins, redirect dml for reference tables [#11875](https://github.com/vitessio/vitess/pull/11875) 275 * VExplain statement [#11892](https://github.com/vitessio/vitess/pull/11892) 276 * Simplify `getPlan` and `gen4CompareV3` [#11903](https://github.com/vitessio/vitess/pull/11903) 277 * Better clone of the VCursor [#11926](https://github.com/vitessio/vitess/pull/11926) 278 * Better clone of the VCursor [#11926](https://github.com/vitessio/vitess/pull/11926) 279 * [planner] Schema information on the information_schema views [#11941](https://github.com/vitessio/vitess/pull/11941) 280 * schemadiff: foreign key validation (tables and columns) [#11944](https://github.com/vitessio/vitess/pull/11944) 281 * OnlineDDL: support --unsafe-allow-foreign-keys strategy flag [#11976](https://github.com/vitessio/vitess/pull/11976) 282 * support transaction isolation modification through reserved connection system settings [#11987](https://github.com/vitessio/vitess/pull/11987) 283 * **unsafe**: Online DDL support for `--unsafe-allow-foreign-keys` strategy flag [#11988](https://github.com/vitessio/vitess/pull/11988) 284 * vtgate advertised mysql server version to 8.0.31 [#11989](https://github.com/vitessio/vitess/pull/11989) 285 * schemadiff: normalize `PRIMARY KEY` definition [#12016](https://github.com/vitessio/vitess/pull/12016) 286 * schemadiff: validate and apply foreign key indexes [#12026](https://github.com/vitessio/vitess/pull/12026) 287 * OnlineDDL: 'mysql' strategy, managed by the scheduler, but executed via normal MySQL statements [#12027](https://github.com/vitessio/vitess/pull/12027) 288 * Refactor sqlparser.Rewrite uses [#12059](https://github.com/vitessio/vitess/pull/12059) 289 * Online DDL: --in-order-completion ddl strategy and logic [#12113](https://github.com/vitessio/vitess/pull/12113) 290 * schemadiff: TableCharsetCollateStrategy hint [#12137](https://github.com/vitessio/vitess/pull/12137) 291 * Support BETWEEN in the evalengine [#12150](https://github.com/vitessio/vitess/pull/12150) 292 * Use schema for the information_schema views [#12171](https://github.com/vitessio/vitess/pull/12171) 293 * vtgateconn: add DeregisterDialer hook [#12213](https://github.com/vitessio/vitess/pull/12213) 294 * add database name to _vt.views table [#12368](https://github.com/vitessio/vitess/pull/12368) 295 * Schema RPC to fetch table/view definition [#12375](https://github.com/vitessio/vitess/pull/12375) 296 * Change `GetSchema` RPC to return `CreateView` instead of `SelectStmt` [#12421](https://github.com/vitessio/vitess/pull/12421) 297 * GetSchema rpc to streaming api [#12447](https://github.com/vitessio/vitess/pull/12447) 298 #### TabletManager 299 * SidecarDB Init: don't fail on schema init errors [#12328](https://github.com/vitessio/vitess/pull/12328) 300 #### VReplication 301 * VReplication Copy Phase: Parallelize Bulk Inserts [#10828](https://github.com/vitessio/vitess/pull/10828) 302 * VSCopy: Resume the copy phase consistently from given GTID and lastpk [#11103](https://github.com/vitessio/vitess/pull/11103) 303 * For partial MoveTables, setup reverse shard routing rules on workflow creation [#11415](https://github.com/vitessio/vitess/pull/11415) 304 * Use unique rows in copy_state to support parallel replication [#11451](https://github.com/vitessio/vitess/pull/11451) 305 * Log which tablet copy_state optimization failed on [#11521](https://github.com/vitessio/vitess/pull/11521) 306 * Allow users to control VReplication DDL handling [#11532](https://github.com/vitessio/vitess/pull/11532) 307 * VReplication: Defer Secondary Index Creation [#11700](https://github.com/vitessio/vitess/pull/11700) 308 * VSCopy: Send COPY_COMPLETED events when the copy operation is done [#11740](https://github.com/vitessio/vitess/pull/11740) 309 * Add `VStreamerCount` stat to `vttablet` [#11978](https://github.com/vitessio/vitess/pull/11978) 310 * VReplication: Use MariaDB Compat JSON Functions [#12420](https://github.com/vitessio/vitess/pull/12420) 311 #### VTAdmin 312 * [VTAdmin] `Validate`, `ValidateShard`, `ValidateVersionShard`, `GetFullStatus` [#11438](https://github.com/vitessio/vitess/pull/11438) 313 * Full Status tab improvements for VTAdmin [#11470](https://github.com/vitessio/vitess/pull/11470) 314 * [15.0] Add VTGate debug/status page link to VTAdmin [#11541](https://github.com/vitessio/vitess/pull/11541) 315 * VTAdmin: display workflow type in workflows list [#11685](https://github.com/vitessio/vitess/pull/11685) 316 #### VTorc 317 * Timeout Fixes and VTOrc Improvement [#11881](https://github.com/vitessio/vitess/pull/11881) 318 * Also log error on a failure in DiscoverInstance [#11936](https://github.com/vitessio/vitess/pull/11936) 319 * VTOrc Code Cleanup - generate_base, replace cluster_name with keyspace and shard. [#12012](https://github.com/vitessio/vitess/pull/12012) 320 * Move vtorc from go-sqlite3 to modernc.org/sqlite [#12214](https://github.com/vitessio/vitess/pull/12214) 321 ### Feature Request 322 #### Evalengine 323 * evalengine: Support built-in MySQL function for string functions and operations [#11185](https://github.com/vitessio/vitess/pull/11185) 324 #### Query Serving 325 * Add support for views in vtgate [#11195](https://github.com/vitessio/vitess/pull/11195) 326 * Add support for Views DDL [#11896](https://github.com/vitessio/vitess/pull/11896) 327 * notify view change to vtgate [#12115](https://github.com/vitessio/vitess/pull/12115) 328 * Views Support: Updating Views in VSchema for query serving [#12124](https://github.com/vitessio/vitess/pull/12124) 329 * Create Views allowed for same keyspace [#12409](https://github.com/vitessio/vitess/pull/12409) 330 #### web UI 331 * [VTAdmin] Topology Browser [#11496](https://github.com/vitessio/vitess/pull/11496) 332 ### Internal Cleanup 333 #### Backup and Restore 334 * backup: remove deprecated hook support [#12066](https://github.com/vitessio/vitess/pull/12066) 335 #### Build/CI 336 * Update all the Go dependencies [#11741](https://github.com/vitessio/vitess/pull/11741) 337 * Remove building Docker containers with MariaDB [#12040](https://github.com/vitessio/vitess/pull/12040) 338 * Add TOC to the summary docs [#12225](https://github.com/vitessio/vitess/pull/12225) 339 #### CLI 340 * moved missed flags to pflags in vtgate [#11966](https://github.com/vitessio/vitess/pull/11966) 341 * Migrate missed vtctld flags to pflag and immediately deprecate them [#11974](https://github.com/vitessio/vitess/pull/11974) 342 * Remove Dead Legacy Workflow Manager Code [#12085](https://github.com/vitessio/vitess/pull/12085) 343 #### Cluster management 344 * Adding deprecate message to backup hooks [#11491](https://github.com/vitessio/vitess/pull/11491) 345 * Orchestrator Integration Removal and `orc_client_user` removal [#11503](https://github.com/vitessio/vitess/pull/11503) 346 * [15.0] Deprecate InitShardPrimary command [#11557](https://github.com/vitessio/vitess/pull/11557) 347 * mysqlctl is a command-line client so remove server flags [#12022](https://github.com/vitessio/vitess/pull/12022) 348 * Remove replication manager and run VTOrc in all e2e tests [#12149](https://github.com/vitessio/vitess/pull/12149) 349 #### General 350 * Improve Codeowners File [#11428](https://github.com/vitessio/vitess/pull/11428) 351 * Remove example script that caused some confusion [#11529](https://github.com/vitessio/vitess/pull/11529) 352 * Remove unused ioutil2 code [#11661](https://github.com/vitessio/vitess/pull/11661) 353 * Fix some linter errors [#11773](https://github.com/vitessio/vitess/pull/11773) 354 * Remove Deprecated flags, code and stats. [#12083](https://github.com/vitessio/vitess/pull/12083) 355 * Fix release notes on release-16.0 [#12276](https://github.com/vitessio/vitess/pull/12276) 356 * Fix summary and release notes [#12283](https://github.com/vitessio/vitess/pull/12283) 357 * Reorder summary in order of importance [#12433](https://github.com/vitessio/vitess/pull/12433) 358 * release notes: mark dynamic throttler configuration as experimental [#12475](https://github.com/vitessio/vitess/pull/12475) 359 #### Governance 360 * Correct minor inaccuracies in governing docs [#11933](https://github.com/vitessio/vitess/pull/11933) 361 #### Online DDL 362 * [cleanup] Explicitly include DDLStrategySetting in the sizegen target [#11857](https://github.com/vitessio/vitess/pull/11857) 363 * OnlineDDL: avoid schema_migrations AUTO_INCREMENT gaps by pre-checking for existing migration [#12169](https://github.com/vitessio/vitess/pull/12169) 364 #### Query Serving 365 * [gen4 planner] Operator refactoring [#11498](https://github.com/vitessio/vitess/pull/11498) 366 * [gen4]: small refactoring around Compact [#11537](https://github.com/vitessio/vitess/pull/11537) 367 * change CreatePhysicalOperator to use the rewriteBottomUp() functionality [#11542](https://github.com/vitessio/vitess/pull/11542) 368 * [refactor planner] Columns and predicates on operators [#11606](https://github.com/vitessio/vitess/pull/11606) 369 * Move initialization of metrics to be static [#11608](https://github.com/vitessio/vitess/pull/11608) 370 * planner operators refactoring [#11680](https://github.com/vitessio/vitess/pull/11680) 371 * sqlparser: new Equality API [#11906](https://github.com/vitessio/vitess/pull/11906) 372 * sqlparser: `QueryMatchesTemplates` uses canonical string [#11990](https://github.com/vitessio/vitess/pull/11990) 373 * Move more rewriting to SafeRewrite [#12063](https://github.com/vitessio/vitess/pull/12063) 374 * store transaction isolation level in upper case [#12099](https://github.com/vitessio/vitess/pull/12099) 375 * Generating copy-on-rewrite logic [#12135](https://github.com/vitessio/vitess/pull/12135) 376 * Clean up ColumnType uses [#12139](https://github.com/vitessio/vitess/pull/12139) 377 #### TabletManager 378 * Table GC: rely on tm state to determine operation mode [#11972](https://github.com/vitessio/vitess/pull/11972) 379 * Mark VReplicationExec Client Command as Deprecated [#12070](https://github.com/vitessio/vitess/pull/12070) 380 #### VReplication 381 * Leverage pFlag's Changed function to detect user specified flag [#11677](https://github.com/vitessio/vitess/pull/11677) 382 * VReplication: Remove Deprecated V1 Client Commands [#11705](https://github.com/vitessio/vitess/pull/11705) 383 #### VTAdmin 384 * move react-scripts to dev dependencies [#11767](https://github.com/vitessio/vitess/pull/11767) 385 #### web UI 386 * [vtctld2] Remove vtctld2 UI and vtctld server components that serve the app UI [#11851](https://github.com/vitessio/vitess/pull/11851) 387 ### Performance 388 #### Cluster management 389 * Bug fix: Cache filtered out tablets in topology watcher to avoid unnecessary GetTablet calls to topo [#12194](https://github.com/vitessio/vitess/pull/12194) 390 #### Online DDL 391 * Speedup DDLs by not reloading table size stats [#11601](https://github.com/vitessio/vitess/pull/11601) 392 #### Query Serving 393 * DDL: do not Reload() for 'CREATE TEMPORARY' and 'DROP TEMPORARY' statements [#12144](https://github.com/vitessio/vitess/pull/12144) 394 #### VReplication 395 * mysql: Improve MySQL 5.6 GTID parsing performance [#11570](https://github.com/vitessio/vitess/pull/11570) 396 #### vttestserver 397 * vttestserver: make tablet_refresh_interval configurable and reduce default value [#11918](https://github.com/vitessio/vitess/pull/11918) 398 ### Release 399 #### Build/CI 400 * Improve the release process [#12056](https://github.com/vitessio/vitess/pull/12056) 401 * Use Ubuntu 20.04 for Release Builds [#12202](https://github.com/vitessio/vitess/pull/12202) 402 * Use Ubuntu 20.04 for Release Builds [#12202](https://github.com/vitessio/vitess/pull/12202) 403 #### Documentation 404 * Fix release notes summary links [#11508](https://github.com/vitessio/vitess/pull/11508) 405 * Release notes summary of `14.0.4` [#11849](https://github.com/vitessio/vitess/pull/11849) 406 * Release notes for `v15.0.2` [#11963](https://github.com/vitessio/vitess/pull/11963) 407 #### General 408 * Release notes for 15.0.0-rc1 and update SNAPSHOT version to 16.0.0 [#11445](https://github.com/vitessio/vitess/pull/11445) 409 * fix anchors for release notes and summary [#11578](https://github.com/vitessio/vitess/pull/11578) 410 * update release notes after 15.0 [#11584](https://github.com/vitessio/vitess/pull/11584) 411 * Mention the `--db-config-*-*` flag in the release notes [#11610](https://github.com/vitessio/vitess/pull/11610) 412 * Release notes for 15.0.1 [#11850](https://github.com/vitessio/vitess/pull/11850) 413 * updating summary and release notes for v15.0.1 [#11852](https://github.com/vitessio/vitess/pull/11852) 414 * [main] Update the release `15.0.2` summary doc (#11954) [#11956](https://github.com/vitessio/vitess/pull/11956) 415 * Release of v16.0.0-rc1 [#12235](https://github.com/vitessio/vitess/pull/12235) 416 * Back to dev mode after v16.0.0-rc1 [#12277](https://github.com/vitessio/vitess/pull/12277) 417 * [release-16.0] Fix release script for the version in the docker script (#12284) [#12289](https://github.com/vitessio/vitess/pull/12289) 418 * Code freeze of release-16.0 for v16.0.0 [#12469](https://github.com/vitessio/vitess/pull/12469) 419 ### Testing 420 #### Backup and Restore 421 * go/vt/mysqlctl: add compression benchmarks [#11994](https://github.com/vitessio/vitess/pull/11994) 422 #### Build/CI 423 * endtoend: fix race when closing vtgate [#11707](https://github.com/vitessio/vitess/pull/11707) 424 * [ci issue] Tests are running on older versions that do not support the query [#11923](https://github.com/vitessio/vitess/pull/11923) 425 * consolidating OnlineDDL 'singleton' tests into 'scheduler' tests: part 1 [#12055](https://github.com/vitessio/vitess/pull/12055) 426 * Internal: Fix Bad Merge [#12087](https://github.com/vitessio/vitess/pull/12087) 427 * add debug tooling [#12126](https://github.com/vitessio/vitess/pull/12126) 428 * Remove the semgrep action [#12148](https://github.com/vitessio/vitess/pull/12148) 429 * CI cleanup: remove onlineddl_declarative, onlineddl_singleton (cleanup part 2) [#12182](https://github.com/vitessio/vitess/pull/12182) 430 * Online DDL CI: consolidated revertible and revert CI tests (part 1) [#12183](https://github.com/vitessio/vitess/pull/12183) 431 * Allow manually kicking off CodeQL [#12200](https://github.com/vitessio/vitess/pull/12200) 432 * Don't keep data in upgrade-downgrade tests [#12462](https://github.com/vitessio/vitess/pull/12462) 433 #### General 434 * endtoend: fix dbconfig initialization for endtoend tests [#11609](https://github.com/vitessio/vitess/pull/11609) 435 #### Online DDL 436 * Backport to v16: onlineddl_vrepl flakiness and subsequent fixes [#12426](https://github.com/vitessio/vitess/pull/12426) 437 #### Query Serving 438 * Add additional unit test with state changes swapped [#11192](https://github.com/vitessio/vitess/pull/11192) 439 * Use JSON for plan tests [#11430](https://github.com/vitessio/vitess/pull/11430) 440 * Add a PRIMARY KEY to the aggregation E2E tests [#11459](https://github.com/vitessio/vitess/pull/11459) 441 * Change the indexes in `TestEmptyTableAggr` to be unique [#11485](https://github.com/vitessio/vitess/pull/11485) 442 * Readable plan tests [#11708](https://github.com/vitessio/vitess/pull/11708) 443 * test: deflake TestQueryTimeoutWithTables [#11772](https://github.com/vitessio/vitess/pull/11772) 444 * more unit tests for QueryMatchesTemplates() [#11894](https://github.com/vitessio/vitess/pull/11894) 445 * remove e2e test from partial_keyspace config [#12005](https://github.com/vitessio/vitess/pull/12005) 446 #### VReplication 447 * VDiff2: Migrate VDiff1 Unit Tests [#11916](https://github.com/vitessio/vitess/pull/11916) 448 * VReplication: Test Migrations From MariaDB to MySQL [#12036](https://github.com/vitessio/vitess/pull/12036) 449