Skip to content
This repository has been archived by the owner on Oct 11, 2024. It is now read-only.

Version 8.1.0

Compare
Choose a tag to compare
@albrow albrow released this 16 Jan 18:45
· 349 commits to master since this release
73e3fef

Support for 0x v3

This is the first release that uses 0x protocol v3 without the -0xv3 suffix in the version name. 0x v3 is now the default protocol version for Mesh. Support for 0x v2 is deprecated.

Users who are upgrading from 0x v2 to 0x v3 will need to wipe their database, as the old v2 orders are not compatible with this version of Mesh. This can typically be done by running rm -rf $DATA_DIR/db.

If you are upgrading from an older version of Mesh with the 0xv3 suffix, make sure to check the changelog
here: https://github.com/0xProject/0x-mesh/blob/0xV3/CHANGELOG.md#breaking-changes- to see if there are any breaking changes. Version 8.1.0 can be thought of as immediately following version v8.0.0-beta-0xv3.

Beta status

This release is the first without a -beta suffix. We removed the suffix because we have reached a point where Mesh is being used by some teams in production. We feel that for many use cases, Mesh is stable enough for production use. However, we caution that there are some issues and shortcomings in the current version, which generally fall into two categories:

  1. Order sharing: We know that orders are not propagating through the network as quickly as we would like. We have a lot of ideas for how to optimize order propagation speed in the future and there should be major improvements coming soon. See #594, #551, and #638.
  2. Browser usage: Mesh can run directly in the browser via the @0x/mesh-browser package. We have supported this for a while and have examples and integration tests in this repository. While the basic functionality is working, there are still some important missing features and issues to address before @0x/mesh-browser is feasible for most production use cases.

Summary

Features ✅

  • Reduced startup time for Mesh node by only waiting for a block to be processed if Mesh isn't already sync'ed up to the latest block. (#622)
  • Increased the maximum size for encoded orders from ~8kB to 16kB (#631).

Bug fixes 🐞

  • Fixed a typo ("rendervouz" --> "rendezvous") in GetStatsResponse. (#611).
  • Fixed a bug where we attempted to update the same order multiple times in a single DB txn, causing the later update to noop. (#623).
  • Fixed a bug which could cause Mesh to exit if a re-org condition occurs causing a block to be added and removed within the same block sync operation. (#614).