[
    {
        "version": "3.1.0-beta.3",
        "changes": [
            {
                "note": "Dependencies updated"
            }
        ],
        "timestamp": 1574238768
    },
    {
        "version": "3.1.0-beta.2",
        "changes": [
            {
                "note": "Drastically reduced bundle size by adding .npmignore, only exporting specific artifacts/wrappers/utils",
                "pr": 2330
            },
            {
                "note": "Introduced new export LibMathRevertErrors",
                "pr": 2321
            }
        ],
        "timestamp": 1574030254
    },
    {
        "version": "3.1.0-beta.1",
        "changes": [
            {
                "note": "Dependencies updated"
            }
        ],
        "timestamp": 1573159180
    },
    {
        "version": "3.1.0-beta.0",
        "changes": [
            {
                "note": "Break up `LibEIP712` into reusable components",
                "pr": 1742
            },
            {
                "note": "Add `chainId` to EIP712 domain schema",
                "pr": 1742
            },
            {
                "note": "Rename `verifyingContract` to `verifyingContractAddress` in domain schema",
                "pr": 1742
            },
            {
                "note": "Add LibZeroExTransaction contract",
                "pr": 1753
            },
            {
                "note": "Add verifyingContractIfExists arg to LibEIP712ExchangeDomain constructor",
                "pr": 1753
            },
            {
                "note": "Remove LibEIP712ExchangeDomainConstants and LibEIP712 contracts",
                "pr": 1753
            },
            {
                "note": "Add `LibExchangeRichErrorDecoder` contract.",
                "pr": 1790
            },
            {
                "note": "Break out types/interaces from `MExchangeRichErrors` into `MExchangeRichErrorTypes`.",
                "pr": 1790
            },
            {
                "note": "Reorder some revert error parameters for consistency",
                "pr": 1790
            },
            {
                "note": "Add new `Order` fields for arbitrary fee tokens (ZEIP-28).",
                "pr": 1819
            },
            {
                "note": "Remove `LibAbiEncoder` and `LibConstants`.",
                "pr": 1819
            },
            {
                "note": "Add `generate-exchange-selectors` package script.",
                "pr": 1819
            },
            {
                "note": "Add `expirationTimeSeconds` to `ZeroExTransaction` struct",
                "pr": 1823
            },
            {
                "note": "Add reference functions for `LibMath` and `LibFillResults`",
                "pr": 2031
            },
            {
                "note": "Move in revamped `LibMath` tests from the `contracts-exchange` package.",
                "pr": 2031
            },
            {
                "note": "Move in revamped `LibFillResults` tests from the `contracts-exchange` package.",
                "pr": 2031
            },
            {
                "note": "Remove unecessary zero-denominator checks in `LibMath`.",
                "pr": 2031
            },
            {
                "note": "Fix coverage hooks.",
                "pr": 2031
            },
            {
                "note": "Regenerate selectors.",
                "pr": 2042
            },
            {
                "note": "Convert `LibFillResults`, `LibOrder`, `LibZeroExTransaction`, and `LibMath` to libraries",
                "pr": 2055
            },
            {
                "note": "Remove `LibExchangeSelectors`",
                "pr": 2055
            },
            {
                "note": "Add `LibExchangeRichErrors`",
                "pr": 2055
            },
            {
                "note": "Add `calculateFillResults` and `calculateMatchedFillResults` to `LibFillResults`",
                "pr": 2055
            },
            {
                "note": "Remove `_hashEIP712ExchangeMessage` from `LibEIP712ExchangeDomain`",
                "pr": 2055
            },
            {
                "note": "Compile and export all contracts, artifacts, and wrappers by default",
                "pr": 2055
            },
            {
                "note": "Update `IncompleteFillError` to take an `errorCode`, `expectedAssetFillAmount`, and `actualAssetFillAmount` fields.",
                "pr": 2075
            },
            {
                "note": "Move `IWallet.sol` from `asset-proxy` and `exchange` packages to here.",
                "pr": 2233
            }
        ],
        "timestamp": 1570135330
    },
    {
        "timestamp": 1568744790,
        "version": "3.0.8",
        "changes": [
            {
                "note": "Dependencies updated"
            }
        ]
    },
    {
        "timestamp": 1567521715,
        "version": "3.0.7",
        "changes": [
            {
                "note": "Dependencies updated"
            }
        ]
    },
    {
        "timestamp": 1566446343,
        "version": "3.0.6",
        "changes": [
            {
                "note": "Dependencies updated"
            }
        ]
    },
    {
        "timestamp": 1565296576,
        "version": "3.0.5",
        "changes": [
            {
                "note": "Dependencies updated"
            }
        ]
    },
    {
        "version": "3.0.4",
        "changes": [
            {
                "note": "Updated calls to <contract wrapper>.deployFrom0xArtifactAsync to include artifact dependencies.",
                "pr": 1995
            }
        ],
        "timestamp": 1564604963
    },
    {
        "timestamp": 1563957393,
        "version": "3.0.3",
        "changes": [
            {
                "note": "Dependencies updated"
            }
        ]
    },
    {
        "timestamp": 1563193019,
        "version": "3.0.2",
        "changes": [
            {
                "note": "Dependencies updated"
            }
        ]
    },
    {
        "timestamp": 1563047529,
        "version": "3.0.1",
        "changes": [
            {
                "note": "Dependencies updated"
            }
        ]
    },
    {
        "version": "3.0.0",
        "changes": [
            {
                "note": "Move `LibTransactionDecoder` to contracts/dev-utils package",
                "pr": 1848
            }
        ],
        "timestamp": 1563006338
    },
    {
        "timestamp": 1558712885,
        "version": "2.1.6",
        "changes": [
            {
                "note": "Dependencies updated"
            }
        ]
    },
    {
        "timestamp": 1557961111,
        "version": "2.1.5",
        "changes": [
            {
                "note": "Dependencies updated"
            }
        ]
    },
    {
        "version": "2.1.4",
        "changes": [
            {
                "note": "Dependencies updated"
            }
        ],
        "timestamp": 1557799313
    },
    {
        "timestamp": 1557507213,
        "version": "2.1.2",
        "changes": [
            {
                "note": "Dependencies updated"
            }
        ]
    },
    {
        "version": "2.1.1",
        "changes": [
            {
                "note": "Dependencies updated"
            }
        ],
        "timestamp": 1554997931
    },
    {
        "version": "2.1.0",
        "changes": [
            {
                "note": "Run Web3ProviderEngine without excess block polling",
                "pr": 1695
            }
        ],
        "timestamp": 1553183790
    },
    {
        "version": "2.0.0",
        "changes": [
            {
                "note": "Upgrade contracts to Solidity 0.5.5",
                "pr": 1682
            }
        ],
        "timestamp": 1553091633
    },
    {
        "timestamp": 1551479279,
        "version": "1.1.3",
        "changes": [
            {
                "note": "Dependencies updated"
            }
        ]
    },
    {
        "timestamp": 1551299797,
        "version": "1.1.2",
        "changes": [
            {
                "note": "Dependencies updated"
            }
        ]
    },
    {
        "timestamp": 1551220833,
        "version": "1.1.1",
        "changes": [
            {
                "note": "Dependencies updated"
            }
        ]
    },
    {
        "version": "1.1.0",
        "changes": [
            {
                "note": "Upgrade contracts to Solidity 0.5.3",
                "pr": 1604
            },
            {
                "note": "Make constants internal",
                "pr": 1604
            }
        ],
        "timestamp": 1551130135
    },
    {
        "timestamp": 1549733923,
        "version": "1.0.5",
        "changes": [
            {
                "note": "Dependencies updated"
            }
        ]
    },
    {
        "version": "1.0.4",
        "changes": [
            {
                "note": "Dependencies updated"
            }
        ],
        "timestamp": 1549547375
    },
    {
        "version": "1.0.3",
        "changes": [
            {
                "note": "Fake publish to enable pinning"
            }
        ],
        "timestamp": 1549504360
    },
    {
        "timestamp": 1549452781,
        "version": "1.0.2",
        "changes": [
            {
                "note": "Dependencies updated"
            }
        ]
    },
    {
        "timestamp": 1549373905,
        "version": "1.0.1",
        "changes": [
            {
                "note": "Dependencies updated"
            }
        ]
    },
    {
        "version": "1.0.0",
        "changes": [
            {
                "note": "Rename contracts-libs to contracts-exchange-libs",
                "pr": 1539
            },
            {
                "note": "Move LibAddressArray contract to contracts-utils",
                "pr": 1539
            }
        ]
    }
]
