Skip to content

Commit

Permalink
Merge pull request #750 from 0xProject/release/9.1.0
Browse files Browse the repository at this point in the history
Release version 9.1.0
  • Loading branch information
albrow committed Mar 5, 2020
2 parents 1a4a775 + 11ed8ed commit 14c2521
Show file tree
Hide file tree
Showing 127 changed files with 28,755 additions and 13,848 deletions.
14 changes: 4 additions & 10 deletions .circleci/config.yml
Original file line number Diff line number Diff line change
Expand Up @@ -38,11 +38,11 @@ jobs:
name: Run linters
command: make lint
- run:
name: Build browser package
command: cd browser && yarn install && yarn build
name: Build the TypeScript monorepo
command: yarn build
- run:
name: Build examples/browser
command: cd examples/browser && yarn install --force && yarn build
name: Run TypeScript tests
command: yarn test
- run:
name: Run Go tests
command: make test-go
Expand All @@ -58,12 +58,6 @@ jobs:
- run:
name: Test installing Mesh without CGO
command: CGO_ENABLED=0 go install ./...
- run:
name: Build TS RPC client
command: cd rpc/clients/typescript && yarn build
- run:
name: Run TS RPC client tests
command: cd rpc/clients/typescript && yarn test
- run:
name: Run cut-release script to test it still works
command: VERSION=100.0.0 make cut-release
1 change: 0 additions & 1 deletion .drone.yml
Original file line number Diff line number Diff line change
Expand Up @@ -95,7 +95,6 @@ steps:
api_key:
from_secret: github_public_repo
files:
- *
note: RELEASE_CHANGELOG.md
when:
event: tag
Expand Down
19 changes: 9 additions & 10 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -5,17 +5,16 @@ TODO.md
0x_mesh/
examples/javascript_websocket_client/node_modules
examples/javascript_websocket_client/lib
rpc/clients/typescript/0x_mesh
rpc/clients/typescript/node_modules
rpc/clients/typescript/lib
rpc/clients/typescript/yarn-error.log
rpc/clients/typescript/ganache.log
*.wasm
browser/lib
browser/ts/generated
browser/dist/bundle.js
examples/browser/dist/bundle.js
integration-tests/browser/dist/bundle.js
*/**/tsconfig.tsbuildinfo
**/lib/**/*
yarn-error.log
*/**/yarn-error.log*
ganache.log
*/**/ganache.log*
packages/browser/src/generated
*/**/dist/**/*
!*/**/dist/index.html
!integration-tests/data/standalone-0/keys/privKey
integration-tests/data/standalone-*/
integration-tests/data/bootstrap-0/p2p/
12 changes: 12 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,18 @@

This changelog is a work in progress and may contain notes for versions which have not actually been released. Check the [Releases](https://github.com/0xProject/0x-mesh/releases) page to see full release notes and more information about the latest released versions.

## v9.1.0

### Features ✅

- Improved speed and efficiency of peer discovery, especially when using custom order filters [#729](https://github.com/0xProject/0x-mesh/pull/729).
- Added a lightweight package to use for loading Mesh's Wasm binary in a streaming manner [#707](https://github.com/0xProject/0x-mesh/pull/707).

### Bug fixes 🐞

- Fixed an issue where incoming orders could sometimes be dropped by peers [#732](https://github.com/0xProject/0x-mesh/pull/732).


## v9.0.1

### Bug fixes 🐞
Expand Down
20 changes: 12 additions & 8 deletions Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -5,8 +5,6 @@ deps: deps-ts wasmbrowsertest
.PHONY: deps-ts
deps-ts:
yarn install
cd rpc/clients/typescript && yarn install
cd browser/ && yarn install


# gobin allows us to install specific versions of binary tools written in Go.
Expand All @@ -29,12 +27,10 @@ deps-no-lockfile: deps-ts-no-lockfile wasmbrowsertest
.PHONY: deps-ts-no-lockfile
deps-ts-no-lockfile:
yarn install --frozen-lockfile
cd rpc/clients/typescript && yarn install --frozen-lockfile
cd browser/ && yarn install --frozen-lockfile


.PHONY: test-all
test-all: test-go test-wasm-node test-wasm-browser
test-all: test-go test-wasm-node test-wasm-browser test-ts


.PHONY: test-go
Expand All @@ -56,7 +52,7 @@ test-browser-integration:

.PHONY: test-browser-conversion
test-browser-conversion:
go test ./browser/go/conversion-test -timeout 185s --enable-browser-conversion-tests -run BrowserConversions
go test ./packages/browser/go/conversion-test -timeout 185s --enable-browser-conversion-tests -run BrowserConversions

.PHONY: test-wasm-node
test-wasm-node:
Expand All @@ -68,6 +64,11 @@ test-wasm-browser:
GOOS=js GOARCH=wasm go test -tags=browser -exec="$$GOPATH/bin/wasmbrowsertest" ./...


.PHONY: test-ts
test-ts:
yarn test


.PHONY: lint
lint: lint-go lint-ts

Expand All @@ -79,8 +80,7 @@ lint-go:

.PHONY: lint-ts
lint-ts:
cd rpc/clients/typescript && yarn lint
cd browser/ && yarn lint
yarn lint


.PHONY: mesh
Expand Down Expand Up @@ -128,3 +128,7 @@ docker-mesh-bootstrap:
.PHONY: docker-mesh-fluent-bit
docker-mesh-fluent-bit:
docker build ./dockerfiles/mesh-fluent-bit -t 0xorg/mesh-fluent-bit -f ./dockerfiles/mesh-fluent-bit/Dockerfile

.PHONY: docker-mesh-bridge
docker-mesh-bridge:
docker build . -t 0xorg/mesh-bridge -f ./dockerfiles/mesh-bridge/Dockerfile
6 changes: 3 additions & 3 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
[![Version](https://img.shields.io/badge/version-9.0.1-orange.svg)](https://github.com/0xProject/0x-mesh/releases)
[![Version](https://img.shields.io/badge/version-9.1.0-orange.svg)](https://github.com/0xProject/0x-mesh/releases)
[![Docs](https://img.shields.io/badge/docs-website-yellow.svg)](https://0x-org.gitbook.io/mesh)
[![Chat with us on Discord](https://img.shields.io/badge/chat-Discord-blueViolet.svg)](https://discord.gg/HF7fHwk)
[![Circle CI](https://img.shields.io/circleci/project/0xProject/0x-mesh/master.svg)](https://circleci.com/gh/0xProject/0x-mesh/tree/master)
Expand All @@ -12,8 +12,8 @@

We have reached the point where Mesh is being used by some teams in production. We feel that for many use cases, Mesh is stable enough for production. However, we caution that there are some issues and shortcomings in its current state, which generally fall into two categories:

- Order sharing: Mesh uses a significant amount of bandwidth for it's current order sharing algorithm and we intend on improving its efficiency by an order of magnitude. Until then, we advise you host your node on [Digital Ocean](https://www.digitalocean.com/) where it's hosting costs are cheaper (~$25 mo). We also 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](https://github.com/0xProject/0x-mesh/issues/594), [#551](https://github.com/0xProject/0x-mesh/issues/551), and [#638](https://github.com/0xProject/0x-mesh/issues/638).
- Browser usage: Mesh can run directly in the browser via the [@0x/mesh-browser](https://www.npmjs.com/package/@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](https://github.com/0xProject/0x-mesh/issues?q=is%3Aopen+is%3Aissue+label%3Abrowser) before `@0x/mesh-browser` is feasible for most production use cases.
- Order sharing: We have recently made significant improvements to our order sharing algorithm, including reducing bandwidth usage and CPU usage by at least an order of magnitude on average. See https://github.com/0xProject/0x-mesh/pull/692 and https://github.com/0xProject/0x-mesh/pull/732. However, we are still working on accurately testing and measuring the speed at which orders propagate through the network with different network sizes and topologies. In some circumstances, it may take longer than we would like for orders to reach the majority of nodes in the network. This is an area we will continue to focus on and improve.
- Browser usage: Mesh can run directly in the browser via the [@0x/mesh-browser](https://www.npmjs.com/package/@0x/mesh-browser) package. We have supported this for a while and have examples and integration tests in this repository. While we have made recent improvements to stability and performance (see https://github.com/0xProject/0x-mesh/pull/703, https://github.com/0xProject/0x-mesh/pull/697, and https://github.com/0xProject/0x-mesh/pull/694), there are still some [important missing features and issues to address](https://github.com/0xProject/0x-mesh/issues?q=is%3Aopen+is%3Aissue+label%3Abrowser) before `@0x/mesh-browser` is feasible for most production use cases.


## Overview
Expand Down
10 changes: 8 additions & 2 deletions RELEASE_CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,10 +1,16 @@
- [Docker image](https://hub.docker.com/r/0xorg/mesh/tags)
- [README](https://github.com/0xProject/0x-mesh/blob/v9.0.1/README.md)
- [README](https://github.com/0xProject/0x-mesh/blob/v9.1.0/README.md)

## Summary

### Features ✅

- Improved speed and efficiency of peer discovery, especially when using custom order filters [#729](https://github.com/0xProject/0x-mesh/pull/729).
- Added a lightweight package to use for loading Mesh's Wasm binary in a streaming manner [#707](https://github.com/0xProject/0x-mesh/pull/707).

### Bug fixes 🐞

- Fix bug where we weren't enforcing that we never store more than `miniHeaderRetentionLimit` block headers in the DB. This caused [issue #667](https://github.com/0xProject/0x-mesh/issues/667) and also caused the Mesh node's DB storage to continuously grow over time. ([#716](https://github.com/0xProject/0x-mesh/pull/716))
- Fixed an issue where incoming orders could sometimes be dropped by peers [#732](https://github.com/0xProject/0x-mesh/pull/732).



6 changes: 0 additions & 6 deletions browser/.npmignore

This file was deleted.

20 changes: 0 additions & 20 deletions browser/tsconfig.json

This file was deleted.

19 changes: 0 additions & 19 deletions browser/webpack.tsconfig.json

This file was deleted.

0 comments on commit 14c2521

Please sign in to comment.