[
    {
        "version": "8.5.0-beta.3",
        "changes": [
            {
                "note": "Dependencies updated"
            }
        ],
        "timestamp": 1574238768
    },
    {
        "version": "8.5.0-beta.2",
        "changes": [
            {
                "note": "[Breaking] Removed `OrderStateUtils`, `OrderValidationUtils`, `ExchangeTransferSimulator` and all abstract and store classes. For order validation, please use the `DevUtils` contract wrapper method `getOrderRelevantState`|`getOrderRelevantStates`",
                "pr": 2324
            },
            {
                "note": "Removed exports CoordinatorRevertErrors, ExchangeRevertErrors, ForwarderRevertErrors, LibMathRevertErrors, orderHashUtils, orderParsingUtils, StakingRevertErrors and transactionHashUtils",
                "pr": 2321
            },
            {
                "note": "Removed many functions from export signatureUtils",
                "pr": 2321
            },
            {
                "note": "Removed function isValidOrderHash from export orderHashUtils",
                "pr": 2321
            }
        ],
        "timestamp": 1574030254
    },
    {
        "version": "8.5.0-beta.1",
        "changes": [
            {
                "note": "Remove `TransferFailedError` from `ForwarderRevertErrors`.",
                "pr": 2309
            },
            {
                "note": "All references to network ID have been removed, and references to chain ID have been introduced instead",
                "pr": 2313
            }
        ],
        "timestamp": 1573159180
    },
    {
        "version": "8.5.0-beta.0",
        "changes": [
            {
                "note": "Add `chainId` `OrderValidationUtils`, `OrderFactory`",
                "pr": 1742
            },
            {
                "note": "Update tools to use new `Order` and `ZeroExTransaction` structure",
                "pr": 1742
            },
            {
                "note": "Update domain schema for Exchange and Coordinator",
                "pr": 1742
            },
            {
                "note": "Add Exchange `RevertError` types to `ExchangeRevertErrors`",
                "pr": 1761
            },
            {
                "note": "Add `SignatureOrderValidatorError` type to `ExchangeRevertErrors`",
                "pr": 1774
            },
            {
                "note": "Add `SignatureWalletOrderValidatorError` type to `ExchangeRevertErrors`",
                "pr": 1774
            },
            {
                "note": "Reorder parameters of some `RevertError` types to match smart contracts.",
                "pr": 1790
            },
            {
                "note": "Use arbitrary fee tokens instead of ZRX (ZEIP-28) for tools needed by contracts packages.",
                "pr": 1819
            },
            {
                "note": "Update `RevertError` types for new base constructor",
                "pr": 1819
            },
            {
                "note": "Add `Expired` TransactionErrorCode",
                "pr": 1832
            },
            {
                "note": "Add `expirationTimeSeconds` to `ZeroExTransaction` parameters used for hashing",
                "pr": 1832
            },
            {
                "note": "Add `validator` field to `SignatureValidatorError` `RevertError` types.",
                "pr": 1885
            },
            {
                "note": "Remove unused `RevertError` types.",
                "pr": 1885
            },
            {
                "note": "Add `ExchangeRevertErrors.SignatureErrorCode.InvalidSigner`.",
                "pr": 2042
            },
            {
                "note": "Add `takerAssetFillAmount` field to `IncompleteFillError` type",
                "pr": 2075
            },
            {
                "note": "Update `IncompleteFillError` to take an `errorCode`, `expectedAssetFillAmount`, and `actualAssetFillAmount` fields.",
                "pr": 2075
            },
            {
                "note": "Add EIP712 types for Staking",
                "pr": 1910
            },
            {
                "note": "Add `InvalidCobbDouglasAlphaError` `RevertError` type to `StakingRevertErrors`",
                "pr": 2109
            },
            {
                "note": "Rename `OperatorShareMustBeBetween0And100Error` `RevertError` type to `InvalidPoolOperatorShareError`.",
                "pr": 2109
            },
            {
                "note": "Add `TransactionGasPriceError` and `TransactionInvalidContextError` to error registry.",
                "pr": 2109
            },
            {
                "note": "Add `EthVaultNotSetError, `RewardVaultNotSetError`, and `InvalidStakeStatusError` to error registry.",
                "pr": 2118
            },
            {
                "note": "Add `InvalidStakeStatusError` to error registry.",
                "pr": 2126
            },
            {
                "note": "Add `InitializationError`, `InvalidParamValue` to `StakingRevertErrors`.",
                "pr": 2131
            },
            {
                "note": "Add `CumulativeRewardIntervalError`.",
                "pr": 2154
            },
            {
                "note": "Remove `validateOrderFillableOrThrowAsync`, `simpleValidateOrderFillableOrThrowAsync`, `validateMakerTransferThrowIfInvalidAsync`",
                "pr": 2181
            },
            {
                "note": "Add `PreviousEpochNotFinalizedError` to `StakingRevertErrors`.",
                "pr": 2155
            },
            {
                "note": "Add `InvalidMinimumPoolStake` to `StakingRevertErrors.InvalidParamValueErrorCode`.",
                "pr": 2155
            },
            {
                "note": "Renamed `OnlyCallableByPoolOperatorOrMakerError` to `OnlyCallableByPoolOperatorError`.",
                "pr": 2250
            },
            {
                "note": "Removed protocol fee != 0 error.",
                "pr": 2278
            }
        ],
        "timestamp": 1570135330
    },
    {
        "version": "8.4.0",
        "changes": [
            {
                "note": "Implement `simpleValidateOrderFillableOrThrowAsync`",
                "pr": 2096
            }
        ],
        "timestamp": 1568744790
    },
    {
        "timestamp": 1567521715,
        "version": "8.3.1",
        "changes": [
            {
                "note": "Dependencies updated"
            }
        ]
    },
    {
        "version": "8.3.0",
        "changes": [
            {
                "note": "Fix isValidValidatorSignatureAsync, allow to pass exchangeAddress to isValidSignatureAsync.",
                "pr": 2017
            },
            {
                "note": "Fix `Wallet` and `Validator` signature validation",
                "pr": 2078
            }
        ],
        "timestamp": 1566446343
    },
    {
        "timestamp": 1565296576,
        "version": "8.2.5",
        "changes": [
            {
                "note": "Dependencies updated"
            }
        ]
    },
    {
        "version": "8.2.4",
        "changes": [
            {
                "note": "Updated calls to <contract wrapper>.deploy0xArtifactAsync to include log decode dependencies.",
                "pr": 1995
            }
        ],
        "timestamp": 1564604963
    },
    {
        "version": "8.2.3",
        "changes": [
            {
                "note": "Ensure `assetData` is word aligned",
                "pr": 1964
            }
        ],
        "timestamp": 1563957393
    },
    {
        "timestamp": 1563193019,
        "version": "8.2.2",
        "changes": [
            {
                "note": "Dependencies updated"
            }
        ]
    },
    {
        "timestamp": 1563047529,
        "version": "8.2.1",
        "changes": [
            {
                "note": "Dependencies updated"
            }
        ]
    },
    {
        "version": "8.2.0",
        "changes": [
            {
                "note": "Add support for encoding/decoding StaticCallProxy assetData",
                "pr": 1863
            },
            {
                "note": "Add support for marketSell utils",
                "pr": 1914
            },
            {
                "note": "Add support for encoding/decoding DutchAuction assetData",
                "pr": 1943
            },
            {
                "note": "Added `validateMakerTransferThrowIfInvalidAsync` to OrderValidationUtils",
                "pr": 1937
            }
        ],
        "timestamp": 1563006338
    },
    {
        "timestamp": 1558712885,
        "version": "8.1.1",
        "changes": [
            {
                "note": "Dependencies updated"
            }
        ]
    },
    {
        "version": "8.1.0",
        "changes": [
            {
                "note": "Add `ecSignTransactionAsync`",
                "pr": 1817
            }
        ],
        "timestamp": 1557961111
    },
    {
        "version": "8.0.2",
        "changes": [
            {
                "note": "Dependencies updated"
            }
        ],
        "timestamp": 1557799313
    },
    {
        "version": "8.0.0",
        "changes": [
            {
                "note": "Renamed `OrderError` to `TypedDataError`",
                "pr": 1792
            }
        ],
        "timestamp": 1557507213
    },
    {
        "version": "7.2.0",
        "changes": [
            {
                "note": "Added `orderCalculationUtils`",
                "pr": 1714
            }
        ],
        "timestamp": 1554997931
    },
    {
        "timestamp": 1553183790,
        "version": "7.1.1",
        "changes": [
            {
                "note": "Dependencies updated"
            }
        ]
    },
    {
        "version": "7.1.0",
        "changes": [
            {
                "note": "Add Coordinator EIP712 constants",
                "pr": 1705
            },
            {
                "note": "Added encoding/decoding for ERC1155 asset data",
                "pr": 1661
            }
        ],
        "timestamp": 1553091633
    },
    {
        "timestamp": 1551479279,
        "version": "7.0.2",
        "changes": [
            {
                "note": "Dependencies updated"
            }
        ]
    },
    {
        "timestamp": 1551220833,
        "version": "7.0.1",
        "changes": [
            {
                "note": "Dependencies updated"
            }
        ]
    },
    {
        "version": "7.0.0",
        "changes": [
            {
                "note": "Add support for EIP1193 providers & Web3.js providers >= 1.0-beta.38",
                "pr": 1627
            },
            {
                "note": "Update provider params to type SupportedProvider which outlines all supported providers",
                "pr": 1627
            }
        ],
        "timestamp": 1551130135
    },
    {
        "version": "6.1.0",
        "changes": [
            {
                "note": "Updated implementation of `generatePseudoRandomSalt` to use generator from @0x/utils",
                "pr": 1569
            }
        ],
        "timestamp": 1549733923
    },
    {
        "version": "6.0.1",
        "changes": [
            {
                "note": "Dependencies updated"
            }
        ],
        "timestamp": 1549547375
    },
    {
        "version": "6.0.0",
        "changes": {
            "note": "Stop exporting the EIP712 schemas"
        },
        "timestamp": 1549504360
    },
    {
        "version": "5.0.0",
        "changes": [
            {
                "note": "Add `transactionHashUtils`",
                "pr": 1576
            },
            {
                "note": "Refactor `eip712Utils` to allow custom domain params",
                "pr": 1576
            },
            {
                "note": "Export constant EIP712 params",
                "pr": 1576
            }
        ],
        "timestamp": 1549452781
    },
    {
        "version": "4.0.0",
        "changes": [
            {
                "note": "Upgrade the bignumber.js to v8.0.2",
                "pr": 1517
            },
            {
                "note": "Fix preSigned `isSignatureValidAsync` check",
                "pr": 1580
            }
        ],
        "timestamp": 1549373905
    },
    {
        "timestamp": 1547561734,
        "version": "3.1.2",
        "changes": [
            {
                "note": "Dependencies updated"
            }
        ]
    },
    {
        "timestamp": 1547225310,
        "version": "3.1.1",
        "changes": [
            {
                "note": "Dependencies updated"
            }
        ]
    },
    {
        "version": "3.1.0",
        "changes": [
            {
                "note": "Use new ABI encoder, add encoding/decoding logic for MultiAsset assetData, and add information to return values in orderStateUtils",
                "pr": 1363
            }
        ],
        "timestamp": 1547040760
    },
    {
        "version": "3.0.7",
        "changes": [
            {
                "note": "Dependencies updated"
            }
        ],
        "timestamp": 1544739608
    },
    {
        "version": "3.0.6",
        "changes": [
            {
                "note": "Fix bug in wallet signature type verification",
                "pr": 1414
            }
        ],
        "timestamp": 1544570656
    },
    {
        "timestamp": 1544482891,
        "version": "3.0.5",
        "changes": [
            {
                "note": "Dependencies updated"
            }
        ]
    },
    {
        "timestamp": 1543401373,
        "version": "3.0.4",
        "changes": [
            {
                "note": "Dependencies updated"
            }
        ]
    },
    {
        "timestamp": 1542821676,
        "version": "3.0.3",
        "changes": [
            {
                "note": "Dependencies updated"
            }
        ]
    },
    {
        "timestamp": 1542208198,
        "version": "3.0.2",
        "changes": [
            {
                "note": "Dependencies updated"
            }
        ]
    },
    {
        "timestamp": 1542134075,
        "version": "3.0.1",
        "changes": [
            {
                "note": "Dependencies updated"
            }
        ]
    },
    {
        "version": "3.0.0",
        "changes": [
            {
                "note": "Add signature validation, regular cancellation and `cancelledUpTo` checks to `validateOrderFillableOrThrowAsync`",
                "pr": 1235
            },
            {
                "note": "Improved the errors thrown by `validateOrderFillableOrThrowAsync` by making them more descriptive",
                "pr": 1235
            },
            {
                "note": "Throw previously swallowed network errors when calling `validateOrderFillableOrThrowAsync` (see issue: #1218)",
                "pr": 1235
            },
            {
                "note": "Modified the `AbstractOrderFilledCancelledFetcher` interface slightly such that `isOrderCancelledAsync` accepts a `signedOrder` instead of an `orderHash` param",
                "pr": 1235
            }
        ],
        "timestamp": 1542028948
    },
    {
        "version": "2.0.1",
        "changes": [
            {
                "note": "Dependencies updated"
            }
        ],
        "timestamp": 1541740904
    },
    {
        "version": "2.0.0",
        "changes": [
            {
                "note": "Added `ecSignOrderAsync` to first sign an order using `eth_signTypedData` and fallback to `eth_sign`.",
                "pr": 1102
            },
            {
                "note": "Added `ecSignTypedDataOrderAsync` to sign an order exclusively using `eth_signTypedData`.",
                "pr": 1102
            },
            {
                "note": "Rename `ecSignOrderHashAsync` to `ecSignHashAsync` removing `SignerType` parameter.",
                "pr": 1102
            },
            {
                "note": "Use `AssetData` union type for function return values.",
                "pr": 1131
            }
        ],
        "timestamp": 1539871071
    },
    {
        "version": "1.0.7",
        "changes": [
            {
                "note": "Dependencies updated"
            }
        ],
        "timestamp": 1538693146
    },
    {
        "version": "1.0.6",
        "changes": [
            {
                "note": "Add signerAddress normalization to `isValidECSignature` to avoid `invalid address recovery` error if caller supplies a checksummed address",
                "pr": 1096
            }
        ],
        "timestamp": 1538157789
    },
    {
        "timestamp": 1537907159,
        "version": "1.0.5",
        "changes": [
            {
                "note": "Dependencies updated"
            }
        ]
    },
    {
        "timestamp": 1537875740,
        "version": "1.0.4",
        "changes": [
            {
                "note": "Dependencies updated"
            }
        ]
    },
    {
        "timestamp": 1537541580,
        "version": "1.0.3",
        "changes": [
            {
                "note": "Dependencies updated"
            }
        ]
    },
    {
        "version": "1.0.2",
        "changes": [
            {
                "note": "Drastically reduce the bundle size by removing unused parts of included contract artifacts."
            }
        ],
        "timestamp": 1537369748
    },
    {
        "version": "1.0.1",
        "changes": [
            {
                "note": "Export `orderParsingUtils`",
                "pr": 1044
            }
        ],
        "timestamp": 1536142250
    },
    {
        "version": "1.0.1-rc.6",
        "changes": [
            {
                "note": "Fix missing `BlockParamLiteral` type import issue"
            }
        ],
        "timestamp": 1535377027
    },
    {
        "version": "1.0.1-rc.5",
        "changes": [
            {
                "note": "Remove Caller and Trezor SignatureTypes",
                "pr": 1015
            }
        ]
    },
    {
        "version": "1.0.1-rc.4",
        "changes": [
            {
                "note": "Remove rounding error being thrown when maker amount is very small",
                "pr": 959
            },
            {
                "note": "Added rateUtils and sortingUtils",
                "pr": 953
            },
            {
                "note": "Update marketUtils api such that all optional parameters are bundled into one optional param and more defaults are provided",
                "pr": 954
            },
            {
                "note": "Instead of exporting signature util methods individually, they are now exported as `signatureUtils`",
                "pr": 924
            },
            {
                "note": "Export types: `SignedOrder`, `Order`, `OrderRelevantState`, `OrderState`, `ECSignature`, `ERC20AssetData`, `ERC721AssetData`, `AssetProxyId`, `SignerType`, `SignatureType`, `OrderStateValid`, `OrderStateInvalid`, `ExchangeContractErrs`, `TradeSide`, `TransferType`, `FindFeeOrdersThatCoverFeesForTargetOrdersOpts`, `FindOrdersThatCoverMakerAssetFillAmountOpts`, `FeeOrdersAndRemainingFeeAmount`, `OrdersAndRemainingFillAmount`, `Provider`, `JSONRPCRequestPayload`, `JSONRPCErrorCallback` and `JSONRPCResponsePayload`",
                "pr": 924
            },
            {
                "note": "Rename `resultOrders` to `resultFeeOrders` for object returned by `findFeeOrdersThatCoverFeesForTargetOrders` in `marketUtils` api",
                "pr": 997
            },
            {
                "note": "Make `sortFeeOrdersByFeeAdjustedRate` in `sortingUtils` generic",
                "pr": 997
            },
            {
                "note": "Update `findFeeOrdersThatCoverFeesForTargetOrders` to round the the nearest integer when calculating required fees",
                "pr": 997
            }
        ],
        "timestamp": 1535133899
    },
    {
        "version": "1.0.1-rc.3",
        "changes": [
            {
                "pr": 914,
                "note": "Update ecSignOrderHashAsync to return signature string with signature type byte. Removes messagePrefixOpts."
            },
            {
                "note": "Added a synchronous `createOrder` method in `orderFactory`, updated public interfaces to support some optional parameters",
                "pr": 936
            },
            {
                "note": "Added marketUtils",
                "pr": 937
            },
            {
                "note": "Dependencies updated"
            }
        ],
        "timestamp": 1534210131
    },
    {
        "version": "1.0.1-rc.2",
        "changes": [
            {
                "note": "Dependencies updated"
            }
        ],
        "timestamp": 1532619515
    },
    {
        "version": "1.0.1-rc.1",
        "changes": [
            {
                "note": "Dependencies updated"
            }
        ],
        "timestamp": 1532605697
    },
    {
        "version": "1.0.0",
        "changes": [
            {
                "note": "Dependencies updated"
            }
        ],
        "timestamp": 1532357734
    },
    {
        "version": "1.0.0-rc.2",
        "changes": [
            {
                "note": "Upgrade ethereumjs-abi dep including a fix so that addresses starting with 0 are properly decoded by `decodeERC20AssetData`"
            }
        ],
        "timestamp": 1532357734
    },
    {
        "timestamp": 1532043000,
        "version": "1.0.0-rc.1",
        "changes": [
            {
                "note": "Refactor to work with V2 of 0x protocol",
                "pr": 636
            },
            {
                "note": "Export parseECSignature method",
                "pr": 684
            },
            {
                "note": "Handle Typed Arrays when hashing data",
                "pr": 894
            }
        ]
    },
    {
        "timestamp": 1531919263,
        "version": "0.0.9",
        "changes": [
            {
                "note": "Dependencies updated"
            }
        ]
    },
    {
        "timestamp": 1531149657,
        "version": "0.0.8",
        "changes": [
            {
                "note": "Dependencies updated"
            }
        ]
    },
    {
        "timestamp": 1529397769,
        "version": "0.0.7",
        "changes": [
            {
                "note": "Dependencies updated"
            }
        ]
    },
    {
        "timestamp": 1527616612,
        "version": "0.0.6",
        "changes": [
            {
                "note": "Dependencies updated"
            }
        ]
    },
    {
        "version": "0.0.5",
        "changes": [
            {
                "note": "Add orderStateUtils, a module for computing order state needed to decide if an order is still valid"
            }
        ],
        "timestamp": 1527008794
    },
    {
        "timestamp": 1525477860,
        "version": "0.0.4",
        "changes": [
            {
                "note": "Dependencies updated"
            }
        ]
    },
    {
        "timestamp": 1525453812,
        "version": "0.0.3",
        "changes": [
            {
                "note": "Dependencies updated"
            }
        ]
    },
    {
        "timestamp": 1525428773,
        "version": "0.0.2",
        "changes": [
            {
                "note": "Dependencies updated"
            }
        ]
    }
]
