|
| 1 | +# CHANGELOG |
| 2 | + |
| 3 | +## Upcoming release |
| 4 | + |
| 5 | +## v3.0.0-beta |
| 6 | + |
| 7 | +### Breaking changes 🛠 |
| 8 | + |
| 9 | +- Modified Mesh's validation logic to reject and consider invalid any _partially fillable_ orders. While this is |
| 10 | + technically a breaking change, partially fillable orders are rare in the wild and we don't expect this will |
| 11 | + affect many users. ([#333](https://github.com/0xProject/0x-mesh/pull/333)) |
| 12 | +- Lowercased `GetStatsAsync` method to `getStatsAsync` in TS client |
| 13 | + |
| 14 | +### Bug fixes 🐞 |
| 15 | + |
| 16 | +- De-dup order submitted via the JSON-RPC method `mesh_addOrders` before performing validation ([#331](https://github.com/0xProject/0x-mesh/pull/331)) |
| 17 | +- Added `"declaration": true,` to TS client's `tsconfig.json` so that downstream projects can use it's TS typings. ([#325](https://github.com/0xProject/0x-mesh/pull/325)) |
| 18 | + |
| 19 | + |
| 20 | +## v2.0.0-beta |
| 21 | + |
| 22 | +### Breaking changes 🛠 |
| 23 | + |
| 24 | +- Modified how `mesh_addOrders` treats orders that are already stored on the Mesh node. Previously, they would be rejected with code `OrderAlreadyStored`. Now, if the order is stored and fillable, it will be accepted. If it is stored but unfillable, it will be rejected with `OrderAlreadyStoredAndUnfillable`. We additionally added a `isNew` property to the accepted orderInfos returned, so that callers can discern which orders Mesh already knew about. ([#316](https://github.com/0xProject/0x-mesh/pull/316)) |
| 25 | + |
| 26 | +### Features ✅ |
| 27 | + |
| 28 | +- Added backup bootstrap nodes provided by the libp2p community |
| 29 | +- Improved log formatting and reduced verbosity in a few cases ([#314](https://github.com/0xProject/0x-mesh/pull/314), [#287](https://github.com/0xProject/0x-mesh/pull/287)) |
| 30 | +- Reduced AdvertiseBootDelay for bootstrap nodes |
| 31 | +- Implemented a check that will alerts you when switching to a different Ethereum network ID. ([#301](https://github.com/0xProject/0x-mesh/pull/301)) -- special thanks to @hrharder! |
| 32 | +- Made environment variable parsing more generous by automatically removing quotes if needed ([#306](https://github.com/0xProject/0x-mesh/pull/306)) |
| 33 | +- Improved tests by adding timeouts and closing resources where appropriate ([#310](https://github.com/0xProject/0x-mesh/pull/310), [#309](https://github.com/0xProject/0x-mesh/pull/309), [#308](https://github.com/0xProject/0x-mesh/pull/308)) |
| 34 | +- Increased robustness by removing panics and failing more gracefully ([#312](https://github.com/0xProject/0x-mesh/pull/312)) |
| 35 | +- RPC server is now started while block event backfilling is happening under the hood instead of waiting for it to complete ([#318](https://github.com/0xProject/0x-mesh/pull/318)) |
| 36 | +- Added a `mesh_getStats` endpoint which returns a host of useful information about the state of the Mesh node (e.g., number of fillable order stored, number of peers, peerID, etc...) ([#322](https://github.com/0xProject/0x-mesh/pull/322)) |
| 37 | + |
| 38 | +### Bug fixes 🐞 |
| 39 | + |
| 40 | +- Log messages are no longer incorrectly fired when receiving orders which have already been seen ([#286](https://github.com/0xProject/0x-mesh/pull/286)) |
| 41 | +- Fixed a bug where Mesh was still running after the database was closed ([#300](https://github.com/0xProject/0x-mesh/pull/300)) |
| 42 | +- Handled Parity "unknown block" error gracefully like we do Geth's ([#285](https://github.com/0xProject/0x-mesh/pull/285)) |
| 43 | + |
| 44 | +## v1.0.6-beta |
| 45 | + |
| 46 | +This release fixes several bugs: |
| 47 | + |
| 48 | +- Uninitialized TxHashes map & accidental inclusion of null address txHash in order events ([#280](https://github.com/0xProject/0x-mesh/pull/280)) |
| 49 | +- Concurrent read/write issue in OrderWatcher's EventDecoder ([#278](https://github.com/0xProject/0x-mesh/issues/278)) |
| 50 | +- Non-unique logging keys causing Elastic Search indexing issues ([#275](https://github.com/0xProject/0x-mesh/pull/275)) |
| 51 | + |
| 52 | +It also includes a reduction in the delay before which bootstrap nodes advertise themselves as relays from 15mins to 30sec. |
| 53 | + |
| 54 | +## v1.0.5-beta |
| 55 | + |
| 56 | +This version introduces a temporary hack in order to help some Mesh nodes find their public IP address under certain circumstances. |
| 57 | + |
| 58 | +## v1.0.4-beta |
| 59 | + |
| 60 | +This release fixes a bug in how AutoNAT and AutoRelay services were discovered. |
| 61 | + |
| 62 | +## v1.0.3-beta |
| 63 | + |
| 64 | +This release fixes some networking related issues with our bootstrap nodes. |
| 65 | + |
| 66 | +- Bootstrap nodes now advertise the correct public IP address. |
| 67 | +- Bootstrap nodes now also operate as a relay. |
| 68 | + |
| 69 | +These fixes will help smooth out any issues with peer discovery. |
| 70 | + |
| 71 | +## v1.0.2-beta |
| 72 | + |
| 73 | +This release fixes a few minor bugs and includes additional documentation. |
| 74 | + |
| 75 | +1. Set a custom protocol ID for our DHT in order to separate it from the default IPFS DHT. |
| 76 | +2. Fixed a bug in the getOrders JSON-RPC endpoint where fillableTakerAssetAmount was sometimes being encoded as numbers instead of strings. |
| 77 | +3. Converted addresses to all lowercase (non-checksummed) in the JSON-RPC API. |
| 78 | +4. Improved logging. |
| 79 | +5. Added a guide for running a Mesh node with telemetry-enabled. |
| 80 | + |
| 81 | + |
| 82 | +## v1.0.1-beta |
| 83 | + |
| 84 | +This release adds AutoNAT support for our bootstrap nodes. This enables peers who are behind NATs to find each and connect to each other (in most cases). |
| 85 | + |
| 86 | +In addition, this release includes some changes to default network timeouts and documentation improvements. |
| 87 | + |
| 88 | +## v1.0.0-beta |
| 89 | + |
| 90 | +This is the initial beta release for 0x Mesh! |
| 91 | + |
| 92 | +This release supports the following features: |
| 93 | + |
| 94 | +- Automatic peer discovery via a DHT. |
| 95 | +- A JSON-RPC endpoint for interacting with your Mesh node. It includes support for adding new orders and subscribing to order updates. |
| 96 | +- Efficient order validation and order watching under the hood. You will get notified quickly when orders are expired, canceled, or filled. |
| 97 | +- Basic limitations on the size and types of messages sent by peers. Peers that send malformed messages or messages that are too big will be dropped. |
| 98 | + |
| 99 | +In addition to improving stability and scalability we plan to release many more important features in the near future. Check out https://github.com/0xProject/0x-mesh/issues for more information about what we are working on. |
0 commit comments