Skip to content

Releases: vitessio/vitess

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.

Vitess v2.0.0-alpha2

28 Aug 20:07
Compare
Choose a tag to compare
Vitess v2.0.0-alpha2 Pre-release
Pre-release

Changes since v2.0.0-alpha1

  • Fix for breaking API change in grpc-go (#1052).

Vitess v2.0.0-alpha1

25 Aug 20:17
Compare
Choose a tag to compare
Vitess v2.0.0-alpha1 Pre-release
Pre-release

This is the first alpha cut for the 2.0.0 release.

Changes since 1.0

  • In addition to the manual deployment
    option, Vitess can now be scaled dynamically in any cloud platform supported
    by Kubernetes, including
    Google Container Engine and
    AWS.
  • Docker images available for both manual and cloud deployments:
  • Official client libraries for:
    • Java
    • Python
    • PHP
    • Go
    • NOTE: Error handling is still being refactored as of alpha1.
  • Using new gRPC framework built on HTTP/2.
    • For Vitess server-to-server communication.
    • For Java and Go client communication.
  • Underlying DB nodes can run either:
    • MariaDB 10.0, or
    • MySQL 5.6
  • Consistent datastore used for cluster management can be:
    • etcd 2.0
    • ZooKeeper
    • Pluggable interface available for adding more.
  • New responsive admin dashboard (on vtctld).
    • Client-side AngularJS app with Material Design.
  • Built-in Backup/Restore
    for disaster recovery and provisioning.
    • New replica instances automatically restore from latest backup, and then
      catch up to master.
    • Queries from the app are automatically routed only to healthy, caught-up
      replicas.
    • Restore mechanism is routinely exercised as part of normal provisioning,
      so you know it'll work when you really need it.
    • NOTE: Currently this requires a network mount. We plan to add plugins for
      direct access to blob stores like Google Cloud Storage and Amazon S3.
  • Streaming, filtered data copy for transparent dynamic resharding.
    • Resharding now requires no additional disk space on the source machine,
      so it works even when existing data fills up more than half of the largest
      available node size.
  • GTID-based MySQL failovers (also known as reparenting)
    allow old masters to be seamlessly reparented back into the replication stream
    as replicas.
    • This makes failover a routine, automated operation, allowing downtime-free
      workflows such as:
      • Reparent to another replica.
      • Upgrade the old master by restarting it.
      • Reparent to upgraded master.
      • Upgrade remaining replicas one at a time.