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