Skip to content

Releases: vitessio/vitess

Vitess v2.1.0-rc.1

12 Apr 20:42
Compare
Choose a tag to compare
Vitess v2.1.0-rc.1 Pre-release
Pre-release

This is the first release candidate of the 2.1 release.

We expect minimal changes between this and the final 2.1 release.

Download

  • Server binaries are available in the Docker image "vitess/lite:v2.1.0-rc.1".
  • Java client packages are published on Maven Central.
  • Source code is available via the tag "v2.1.0-rc.1".

Upgrading

All Vitess 2.1 changes are backward compatible with the 2.0 release. Please make sure that you follow our recommended upgrade order.

Changes since the 2.0 Release

  • Our website vitess.io has a new logo! :)
  • Kubernetes:
    • Added Helm chart and support for StatefulSet.
  • all:
    • Topology:
      • Rewrote plugins for etcd and Zookeeper (etcd2, zk2). Please see the doc how to migrate to the new storage format.
        Command line flags have changed as well (shipped examples are updated).
      • New plugin: Consul.
    • Internal: We have changed the internal error representation in the RPC messages in a backward compatible way.
  • clients:
    • Java:
      • TLS support in client and JDBC driver.
      • Unified package structure under new root io.vitess.
      • 2.1.0-rc.1 packages are published on Maven Central e.g. our JDBC driver as artifact vitess-jdbc.
    • Map Reduce:
      • Faster execution on tables with a non-uniform distribution by sampling rows and splitting the table into equal-sized row ranges.
  • vtctld:
    • New Angular 2 based UI.
    • Online Schema Swap: Apply complex schema changes without any downtime.
    • Resharding workflow. Automatically runs the resharding steps and shows them in the Workflow UI Tab. New tutorials added which use the workflow.
  • vtgate:
    • 2PC: Support for distributed transactions.
    • Native MySQL server protocol (alpha).
    • Direct access to shards via "keyspace:shard" database name.
    • Buffer master traffic during failovers and retry to avoid client errors (disabled by default).
    • Support for SHOW statements to expose Vitess metadata.
    • Increase large installation scalability with (optional) two-layer vtgate pools (l2vtgate, applicable to 100+ shard installations).
  • vttablet:
    • Native MySQL client protocol (instead of using libmysqlclient) (disabled by default).
    • Support for MySQL Row-based-Replication e.g. needed when resharding (alpha).
    • Update Stream: Applications can subscribe to a change stream (e.g. to invalidate an app level cache).
    • Messages: Native support for a queue processing framework (alpha).
    • Hot Row Protection: Serializes write transaction for the same row (range) to prevent that all transaction pool slots can be exhausted (disabled by default).
    • Transaction Throttler: Rejects new transactions with retryable error if replication lag on replicas is too high (disabled by default).

Other Noteworthy Changes

  • Minimum required Go version changed to 1.8 (from 1.5).
  • Updated to gRPC 1.0.4 (from 1.0.0).

Vitess v2.1.0-alpha.1

08 Nov 06:54
Compare
Choose a tag to compare
Vitess v2.1.0-alpha.1 Pre-release
Pre-release

This is the first alpha release of the upcoming 2.1 version.

2.1 will be a feature release which will bring the following new features:

  • Support for distributed transactions, using 2 phase commit.
  • Resharding workflow improvements, to increase manageability of the process.
  • Online schema swap, to apply complex schema changes without any downtime.
  • New dynamic UI (vtctld), rewritten from scratch in angular2.
  • Update Stream functionality, for applications to subscribe to a change stream (for cache invalidation, for instance).
  • Improved Map-Reduce support, for tables with non-uniform distributions.
  • Increase large installation scalability with two-layer vtgate pools (l2vtgate, applicable to 100+ shard installations).
  • Better Kubernetes support (Helm support, better scripts, ...).

Note that some of these features are still in development and not fully documented. This will change before we release the final 2.1 version.

Other noteworthy changes:

  • Minimum required Go version changed to 1.7 (from 1.5).
  • Updated to gRPC 1.0.0 (from 0.13.0).
  • Added Percona Docker Images (changes contributed by Stitch Labs).

Vitess v2.0.0

12 Jul 18:34
Compare
Choose a tag to compare

Release to Manufacturing

This is the code cut for what will become the first GA release of Vitess 2.0.
We're now focused on updating documentation in preparation for General Availability.

Changes since v2.0.0-rc.2

Code Cleanup

Vitess v2.0.0-rc.2

23 Jun 02:12
Compare
Choose a tag to compare
Vitess v2.0.0-rc.2 Pre-release
Pre-release

Changes since v2.0.0-rc.1

Bug Fixes

Plugins

Vitess v2.0.0-rc.1

07 Jun 22:06
Compare
Choose a tag to compare
Vitess v2.0.0-rc.1 Pre-release
Pre-release

Changes since v2.0.0-beta.2

This is the first release candidate for v2.0.0. We are now freezing the release-2.0 branch for anything except bug fixes.

Client API

  • Allow specifying a connection-wide default keyspace for VTGateV3 queries.
    (#1725,
    #1727,
    #1738)
    • Similar to the concept of a default database for a MySQL client connection.

SQL Support

Management

  • Hide VtTablet* and VtGate* commands behind a flag in vtctl/vtctld
    (#1700).
    • These commands are mostly meant for development, and should usually not be
      allowed in production.
    • Launch vtctld with the -enable_queries flag to allow these commands.
  • Restart replication automatically
    if a tablet is restarted (e.g. as part of a Vitess upgrade).
  • Optionally allow the use of insecure caller ID.
  • It's no longer required to set a "sharding column name" when using VTGateV3.
    • i.e. no more vtctl SetKeyspaceShardingInfo when using VTGateV3.

Schema and VSchema

  • VSchema config format changed
    • Some fields have been renamed for consistency.
  • VSchema updates are now denormalized into per-cell records.
    (#1750)
    • No longer need to restart VTGate to pick up VSchema for new/removed
      keyspaces.
    • VSchema is still available if global topology goes down.
    • It's now possible to atomically move tables between keyspaces, for example
      when doing a vertical split.
    • NOTE: Even if you don't use VSchema, it's now required to run
      RebuildVSchemaGraph
      to initialize these records for a new keyspace.
  • Schema changes are tested as a group, rather than individually.
    (#1749)
    • This allows batches of schema changes that depend on one another (#1731).

Interoperability

  • Support MySQL 5.7
  • Orchestrator Integration
    • Along with some patches contributed to Orchestrator, these new Vitess
      features allow the two systems to work together automatically.
      We'll be updating the documentation soon to show how to use it.

Code Cleanup

Vitess v2.0.0-beta.2

15 Apr 21:18
Compare
Choose a tag to compare
Vitess v2.0.0-beta.2 Pre-release
Pre-release

Changes since v2.0.0-beta.1

Client Libraries

SQL Support

Resharding

Deployment and Management

Build Dependencies

Analysis

Vitess v2.0.0-beta.1

03 Mar 21:21
Compare
Choose a tag to compare
Vitess v2.0.0-beta.1 Pre-release
Pre-release

Changes since v2.0.0-alpha5

Client Libraries

Query Service

Build Dependencies

Deployment and Management

Vitess v2.0.0-alpha5

24 Oct 05:19
Compare
Choose a tag to compare
Vitess v2.0.0-alpha5 Pre-release
Pre-release

Changes since v2.0.0-alpha4

Vitess v2.0.0-alpha4

07 Oct 02:07
Compare
Choose a tag to compare
Vitess v2.0.0-alpha4 Pre-release
Pre-release

Changes since v2.0.0-alpha3

  • Fixes for "bad node version" error when using etcd. (#1176, #1184)
  • Java client is now feature-complete.
    • The last piece was our new canonical error code translation.

Vitess v2.0.0-alpha3

03 Oct 21:02
Compare
Choose a tag to compare
Vitess v2.0.0-alpha3 Pre-release
Pre-release

Changes since v2.0.0-alpha2

  • Better PEP 0249 compliance in Python client.
  • Type-checking result cursor for Java client.
  • VTGate automatically adds annotations for filtered replication.
  • All RPC protocols are now off by default, and must be explicitly enabled with the -service_map flag.
    • Previously the BSON protocols were enabled by default, and had to be explicitly disabled in -service_map if unwanted.
  • SQL is now consistently represented as a UTF-8 string.
    • Previously it was represented in some places as a byte array.
  • Update to gRPC beta.