[
    {
        "version": "7.0.0",
        "changes": [
            {
                "note": "Updated to Ganache 7.x modifying the support for Ganache revert errors",
                "pr": 65
            }
        ],
        "timestamp": 1660803501
    },
    {
        "timestamp": 1647415391,
        "version": "6.5.3",
        "changes": [
            {
                "note": "Dependencies updated"
            }
        ]
    },
    {
        "timestamp": 1647412162,
        "version": "6.5.2",
        "changes": [
            {
                "note": "Dependencies updated"
            }
        ]
    },
    {
        "timestamp": 1645908702,
        "version": "6.5.1",
        "changes": [
            {
                "note": "Dependencies updated"
            }
        ]
    },
    {
        "version": "6.5.0",
        "changes": [
            {
                "note": "Add support for nested user-defined types in AbiEncoder.create",
                "pr": 55
            },
            {
                "note": "Fix providerUtils.standardizeOrThrow for web3.js",
                "pr": 57
            }
        ],
        "timestamp": 1642570387
    },
    {
        "version": "6.4.4",
        "changes": [
            {
                "note": "Allow hexUtils.hash() to take Buffer type; isHex() accepts '0x' as valid hex",
                "pr": 42
            }
        ],
        "timestamp": 1629895966
    },
    {
        "timestamp": 1619585664,
        "version": "6.4.3",
        "changes": [
            {
                "note": "Dependencies updated"
            }
        ]
    },
    {
        "version": "6.4.2",
        "changes": [
            {
                "note": "Export `EncodingRules` and `DecodingRules` at the root level",
                "pr": 37
            }
        ],
        "timestamp": 1619481141
    },
    {
        "version": "6.4.1",
        "changes": [
            {
                "note": "Fix `addressUtils.generatePseudoRandomAddress()`",
                "pr": 35
            }
        ],
        "timestamp": 1619466964
    },
    {
        "version": "6.4.0",
        "changes": [
            {
                "note": "Upgrade ethereumjs-util dep",
                "pr": 33
            },
            {
                "note": "Speed up BigNumber -> Buffer conversion",
                "pr": 33
            }
        ],
        "timestamp": 1619408602
    },
    {
        "version": "6.3.0",
        "changes": [
            {
                "note": "Precompute max uint/int values in AbiEncoder",
                "pr": 30
            }
        ],
        "timestamp": 1617740166
    },
    {
        "timestamp": 1616613438,
        "version": "6.2.1",
        "changes": [
            {
                "note": "Dependencies updated"
            }
        ]
    },
    {
        "version": "6.2.0",
        "changes": [
            {
                "note": "Add `DowncastErrorCodes.ValueTooLargeToDowncastToUint128`",
                "pr": 16
            }
        ],
        "timestamp": 1609871818
    },
    {
        "timestamp": 1606873582,
        "version": "6.1.1",
        "changes": [
            {
                "note": "Dependencies updated"
            }
        ]
    },
    {
        "version": "6.1.0",
        "changes": [
            {
                "note": "Restore revert error definitions :-(",
                "pr": 4
            }
        ],
        "timestamp": 1603947853
    },
    {
        "version": "6.0.0",
        "changes": [
            {
                "note": "Dropped revert error definitions",
                "pr": 3
            }
        ],
        "timestamp": 1603936330
    },
    {
        "timestamp": 1603924140,
        "version": "5.6.4",
        "changes": [
            {
                "note": "Dependencies updated"
            }
        ]
    },
    {
        "timestamp": 1603261008,
        "version": "5.6.3",
        "changes": [
            {
                "note": "Dependencies updated"
            }
        ]
    },
    {
        "timestamp": 1603248537,
        "version": "5.6.2",
        "changes": [
            {
                "note": "Dependencies updated"
            }
        ]
    },
    {
        "timestamp": 1603233798,
        "version": "5.6.1",
        "changes": [
            {
                "note": "Dependencies updated"
            }
        ]
    },
    {
        "version": "5.6.0",
        "changes": [
            {
                "note": "Added support for nested rich revert decoding",
                "pr": 2668
            },
            {
                "note": "Add EP flavor of `IllegalReentrancyError`.",
                "pr": 2657
            },
            {
                "note": "Added LiquidityProviderFeature errors",
                "pr": 2691
            },
            {
                "note": "Added abi encoder support for uint80 lol",
                "pr": 2728
            }
        ],
        "timestamp": 1603231564
    },
    {
        "timestamp": 1594788383,
        "version": "5.5.1",
        "changes": [
            {
                "note": "Dependencies updated"
            }
        ]
    },
    {
        "version": "5.5.0",
        "changes": [
            {
                "note": "Add `ZeroExRevertErrors`",
                "pr": 2540
            },
            {
                "note": "Print full revert error in stack traces.",
                "pr": 2540
            },
            {
                "note": "`ZeroExRevertErrors.Migrate` -> `ZeroExRevertErrors.Ownable`",
                "pr": 2564
            },
            {
                "note": "`instanceof Array` => `Array.isArray`",
                "pr": 2567
            },
            {
                "note": "Add more `ZeroExRevertErrors`",
                "pr": 2545
            },
            {
                "note": "Add more `ZeroExRevertErrors`",
                "pr": 2576
            },
            {
                "note": "Update `ZeroExRevertErrors`",
                "pr": 2597
            },
            {
                "note": "Add more revert errors to `ZeroExRevertErrors`",
                "pr": 2610
            }
        ],
        "timestamp": 1592969527
    },
    {
        "version": "5.4.1",
        "changes": [
            {
                "note": "Fix extra space in `provider.send` signature",
                "pr": 2428
            }
        ],
        "timestamp": 1582623685
    },
    {
        "version": "5.4.0",
        "changes": [
            {
                "note": "Add `toTokenUnitAmount` and `fromTokenUnitAmount`",
                "pr": 2462
            },
            {
                "note": "Add `hexUtils.isHex`",
                "pr": 2462
            },
            {
                "note": "Accept `Buffer` type in `hexUtils.toHex()`",
                "pr": 2462
            }
        ],
        "timestamp": 1581204851
    },
    {
        "version": "5.3.0",
        "changes": [
            {
                "note": "Added Broker, MixinWethUtils revert errors",
                "pr": 2455
            },
            {
                "note": "Moved LibAssetDataTransfer revert errors into their own file",
                "pr": 2455
            }
        ],
        "timestamp": 1580988106
    },
    {
        "version": "5.2.0",
        "changes": [
            {
                "note": "Allow for strict decoding of return values.",
                "pr": 2433
            }
        ],
        "timestamp": 1579682890
    },
    {
        "timestamp": 1578272714,
        "version": "5.1.2",
        "changes": [
            {
                "note": "Dependencies updated"
            }
        ]
    },
    {
        "timestamp": 1576540892,
        "version": "5.1.1",
        "changes": [
            {
                "note": "Dependencies updated"
            }
        ]
    },
    {
        "version": "5.1.0",
        "changes": [
            {
                "note": "Added hex_utils",
                "pr": 2373
            }
        ],
        "timestamp": 1575931811
    },
    {
        "version": "5.0.0",
        "changes": [
            {
                "note": "Re-export all `RevertErrors`",
                "pr": 2362
            },
            {
                "note": "Removed exports AuthorizableRevertErrors, LibAddressArrayRevertErrors, LibBytesRevertErrors, OwnableRevertErrors, ReentrancyGuardRevertErrors and SafeMathRevertErrors",
                "pr": 2321
            },
            {
                "note": "Decode `Parity` revert errors",
                "pr": 2341
            },
            {
                "note": "Update BigNumber version to ~9.0.0",
                "pr": 2342
            },
            {
                "note": "Consolidated FixedMathRevertErrors",
                "pr": 2255
            },
            {
                "note": "Changed provider_utils.providerUtils.getChainIdAsync() to invoke RPC method eth_chainId rather than net_version",
                "pr": 2270
            },
            {
                "note": "Allow for array types in `RevertError`s.",
                "pr": 2075
            },
            {
                "note": "Have Ganache `Error` -> `RevertError` coercion fail if it can't look up the selector.",
                "pr": 2109
            },
            {
                "note": "Add `LibFixedMath` `RevertError` types.",
                "pr": 2109
            },
            {
                "note": "Add `RawRevertError` `RevertError` type.",
                "pr": 2109
            },
            {
                "note": "Make `RevertError.decode()` optionally return a `RawRevertError` if the selector is unknown.",
                "pr": 2109
            },
            {
                "note": "Rename `length` field of `AuthorizableRevertErrors.IndexOutOfBoundsError` type to `len`.",
                "pr": 2109
            }
        ],
        "timestamp": 1575296764
    },
    {
        "version": "4.6.0-beta.3",
        "changes": [
            {
                "note": "Re-export all `RevertErrors`",
                "pr": 2362
            }
        ],
        "timestamp": 1575290197
    },
    {
        "version": "4.6.0-beta.2",
        "changes": [
            {
                "note": "Removed exports AuthorizableRevertErrors, LibAddressArrayRevertErrors, LibBytesRevertErrors, OwnableRevertErrors, ReentrancyGuardRevertErrors and SafeMathRevertErrors",
                "pr": 2321
            },
            {
                "note": "Decode `Parity` revert errors",
                "pr": 2341
            },
            {
                "note": "Update BigNumber version to ~9.0.0",
                "pr": 2342
            }
        ],
        "timestamp": 1574030254
    },
    {
        "version": "4.6.0-beta.1",
        "changes": [
            {
                "note": "Consolidated FixedMathRevertErrors",
                "pr": 2255
            },
            {
                "note": "Changed provider_utils.providerUtils.getChainIdAsync() to invoke RPC method eth_chainId rather than net_version",
                "pr": 2270
            }
        ],
        "timestamp": 1573159180
    },
    {
        "version": "4.6.0-beta.0",
        "changes": [
            {
                "note": "Allow for array types in `RevertError`s.",
                "pr": 2075
            },
            {
                "note": "Have Ganache `Error` -> `RevertError` coercion fail if it can't look up the selector.",
                "pr": 2109
            },
            {
                "note": "Add `LibFixedMath` `RevertError` types.",
                "pr": 2109
            },
            {
                "note": "Add `RawRevertError` `RevertError` type.",
                "pr": 2109
            },
            {
                "note": "Make `RevertError.decode()` optionally return a `RawRevertError` if the selector is unknown.",
                "pr": 2109
            },
            {
                "note": "Rename `length` field of `AuthorizableRevertErrors.IndexOutOfBoundsError` type to `len`.",
                "pr": 2109
            }
        ],
        "timestamp": 1570135330
    },
    {
        "timestamp": 1568744790,
        "version": "4.5.2",
        "changes": [
            {
                "note": "Dependencies updated"
            }
        ]
    },
    {
        "timestamp": 1567521715,
        "version": "4.5.1",
        "changes": [
            {
                "note": "Dependencies updated"
            }
        ]
    },
    {
        "version": "4.5.0",
        "changes": [
            {
                "note": "Add `SafeMathRevertErrors.SafeMathErrorCodes.Uint256DivisionByZero`",
                "pr": 2031
            },
            {
                "note": "Updated to include `strictDecode` for decoding method arguments",
                "pr": 2018
            },
            {
                "note": "Throw exception when trying to decode beyond boundaries of calldata",
                "pr": 2018
            }
        ],
        "timestamp": 1565296576
    },
    {
        "timestamp": 1564604963,
        "version": "4.4.2",
        "changes": [
            {
                "note": "Dependencies updated"
            }
        ]
    },
    {
        "timestamp": 1563957393,
        "version": "4.4.1",
        "changes": [
            {
                "note": "Dependencies updated"
            }
        ]
    },
    {
        "version": "4.4.0",
        "changes": [
            {
                "note": "Add function deleteNestedProperty",
                "pr": 1842
            },
            {
                "note": "Add `getChainIdAsync()` to `providerUtils`",
                "pr": 1742
            },
            {
                "note": "More robust normalization of `uint256` types in `sign_typed_data_utils`",
                "pr": 1742
            },
            {
                "note": "Add `RevertError`, `StringRevertError`, `AnyRevertError` types and associated utilities",
                "pr": 1761
            },
            {
                "note": "Update `RevertError` construction to produce a readable `Error` message",
                "pr": 1819
            },
            {
                "note": "Add `Error` -> `RevertError` functions",
                "pr": 1819
            },
            {
                "note": "Add `toStringTag` symbol to `RevertError`",
                "pr": 1885
            }
        ],
        "timestamp": 1563006338
    },
    {
        "version": "4.3.3",
        "changes": [
            {
                "note": "Fixed spelling error in ABI Encoder error message",
                "pr": 1808
            }
        ],
        "timestamp": 1557507213
    },
    {
        "version": "4.3.2",
        "changes": [
            {
                "note": "Support for ABI encoding multibyte strings (fixes issue #1723)",
                "pr": 1806
            }
        ]
    },
    {
        "version": "4.3.1",
        "changes": [
            {
                "note": "Dependencies updated"
            }
        ],
        "timestamp": 1554997931
    },
    {
        "version": "4.3.0",
        "changes": [
            {
                "note": "Added `startProviderEngine` to `providerUtils`. Preventing excess block polling",
                "pr": 1695
            }
        ],
        "timestamp": 1553183790
    },
    {
        "timestamp": 1553091633,
        "version": "4.2.3",
        "changes": [
            {
                "note": "Dependencies updated"
            }
        ]
    },
    {
        "version": "4.2.2",
        "changes": [
            {
                "note": "Fix issue where process is not defined in browser context",
                "pr": 1660
            }
        ],
        "timestamp": 1551479279
    },
    {
        "timestamp": 1551220833,
        "version": "4.2.1",
        "changes": [
            {
                "note": "Dependencies updated"
            }
        ]
    },
    {
        "version": "4.2.0",
        "changes": [
            {
                "note": "Export providerUtils which helps standardize all supported provider interfaces into the ZeroExProvider interface",
                "pr": 1627
            },
            {
                "note": "Add `logUtils.table` and `logUtils.header`",
                "pr": 1638
            }
        ],
        "timestamp": 1551130135
    },
    {
        "version": "4.1.0",
        "changes": [
            {
                "note": "Added method decoding to AbiDecoder",
                "pr": 1569
            }
        ],
        "timestamp": 1549733923
    },
    {
        "version": "4.0.4",
        "changes": [
            {
                "note": "Cleaner signature parsing",
                "pr": 1592
            }
        ]
    },
    {
        "version": "4.0.3",
        "changes": [
            {
                "note": "Dependencies updated"
            }
        ],
        "timestamp": 1549547375
    },
    {
        "version": "4.0.2",
        "changes": [
            {
                "note": "ABI Decode NULL for all data types",
                "pr": 1587
            }
        ],
        "timestamp": 1549452781
    },
    {
        "version": "4.0.1",
        "changes": [
            {
                "note": "ABI Decode NULL as False",
                "pr": 1582
            }
        ],
        "timestamp": 1549373905
    },
    {
        "version": "4.0.0",
        "changes": [
            {
                "note": "Upgrade the bignumber.js to v8.0.2",
                "pr": 1517
            }
        ]
    },
    {
        "timestamp": 1547561734,
        "version": "3.0.1",
        "changes": [
            {
                "note": "Dependencies updated"
            }
        ]
    },
    {
        "version": "3.0.0",
        "changes": [
            {
                "note": "Make `promisify` resolve when the callback error is undefined.",
                "pr": 1501
            }
        ],
        "timestamp": 1547225310
    },
    {
        "version": "2.1.1",
        "changes": [
            {
                "note": "Add `should` prefix to names of properties in EncodingRules and DecodingRules",
                "pr": 1363
            }
        ],
        "timestamp": 1547040760
    },
    {
        "version": "2.1.0",
        "changes": [
            {
                "note": "Add `logWithTime` to `logUtils`",
                "pr": 1461
            }
        ]
    },
    {
        "version": "2.0.8",
        "changes": [
            {
                "note": "Dependencies updated"
            }
        ],
        "timestamp": 1544739608
    },
    {
        "version": "2.0.7",
        "changes": [
            {
                "note": "Optimized ABI Encoder/Decoder. Generates compressed calldata to save gas. Generates human-readable calldata to aid development."
            }
        ],
        "timestamp": 1544570656
    },
    {
        "timestamp": 1542821676,
        "version": "2.0.6",
        "changes": [
            {
                "note": "Dependencies updated"
            }
        ]
    },
    {
        "timestamp": 1542208198,
        "version": "2.0.5",
        "changes": [
            {
                "note": "Dependencies updated"
            }
        ]
    },
    {
        "version": "2.0.4",
        "changes": [
            {
                "note": "Dependencies updated"
            }
        ],
        "timestamp": 1541740904
    },
    {
        "timestamp": 1539871071,
        "version": "2.0.3",
        "changes": [
            {
                "note": "Dependencies updated"
            }
        ]
    },
    {
        "timestamp": 1538693146,
        "version": "2.0.2",
        "changes": [
            {
                "note": "Dependencies updated"
            }
        ]
    },
    {
        "timestamp": 1538475601,
        "version": "2.0.1",
        "changes": [
            {
                "note": "Dependencies updated"
            }
        ]
    },
    {
        "version": "2.0.0",
        "changes": [
            {
                "note": "Make abi_decoder compatible with ethers ^4.0.0",
                "pr": 1069
            }
        ],
        "timestamp": 1538157789
    },
    {
        "timestamp": 1537907159,
        "version": "1.0.11",
        "changes": [
            {
                "note": "Dependencies updated"
            }
        ]
    },
    {
        "timestamp": 1537875740,
        "version": "1.0.10",
        "changes": [
            {
                "note": "Dependencies updated"
            }
        ]
    },
    {
        "timestamp": 1537541580,
        "version": "1.0.9",
        "changes": [
            {
                "note": "Dependencies updated"
            }
        ]
    },
    {
        "timestamp": 1536142250,
        "version": "1.0.8",
        "changes": [
            {
                "note": "Dependencies updated"
            }
        ]
    },
    {
        "timestamp": 1535377027,
        "version": "1.0.7",
        "changes": [
            {
                "note": "Dependencies updated"
            }
        ]
    },
    {
        "timestamp": 1535133899,
        "version": "1.0.6",
        "changes": [
            {
                "note": "Dependencies updated"
            }
        ]
    },
    {
        "version": "1.0.5",
        "changes": [
            {
                "note": "Increased BigNumber decimal precision from 20 to 78",
                "pr": 807
            },
            {
                "note": "Store different ABIs for events with same function signature and different amount of indexed arguments",
                "pr": 933
            }
        ],
        "timestamp": 1534210131
    },
    {
        "timestamp": 1532619515,
        "version": "1.0.4",
        "changes": [
            {
                "note": "Dependencies updated"
            }
        ]
    },
    {
        "timestamp": 1532614997,
        "version": "1.0.3",
        "changes": [
            {
                "note": "Dependencies updated"
            }
        ]
    },
    {
        "timestamp": 1532605697,
        "version": "1.0.2",
        "changes": [
            {
                "note": "Dependencies updated"
            }
        ]
    },
    {
        "version": "1.0.1",
        "changes": [
            {
                "note": "Add `AbortController` polyfill to `fetchAsync`",
                "pr": 903
            }
        ],
        "timestamp": 1532357734
    },
    {
        "timestamp": 1532043000,
        "version": "1.0.0",
        "changes": [
            {
                "note": "Add `fetchAsync` which adds a default timeout to all requests",
                "pr": 874
            }
        ]
    },
    {
        "timestamp": 1531919263,
        "version": "0.7.3",
        "changes": [
            {
                "note": "Dependencies updated"
            }
        ]
    },
    {
        "version": "0.7.2",
        "changes": [
            {
                "note": "Added errorUtils.spawnSwitchErr"
            },
            {
                "note": "Add logUtils.warn",
                "pr": 589
            },
            {
                "note": "Fixes uncaught Error in abi_decoder",
                "pr": 763
            }
        ],
        "timestamp": 1531149657
    },
    {
        "timestamp": 1529397769,
        "version": "0.7.1",
        "changes": [
            {
                "note": "Dependencies updated"
            }
        ]
    },
    {
        "version": "0.7.0",
        "changes": [
            {
                "note": "Incorrect publish that was unpublished"
            }
        ],
        "timestamp": 1527810075
    },
    {
        "timestamp": 1527009133,
        "version": "0.6.2",
        "changes": [
            {
                "note": "Dependencies updated"
            }
        ]
    },
    {
        "timestamp": 1525477860,
        "version": "0.6.1",
        "changes": [
            {
                "note": "Dependencies updated"
            }
        ]
    },
    {
        "version": "0.6.0",
        "changes": [
            {
                "note": "Update ethers-contracts to ethers.js",
                "pr": 540
            }
        ],
        "timestamp": 1525428773
    },
    {
        "version": "0.5.2",
        "changes": [
            {
                "note": "Export NULL_BYTES constant",
                "pr": 500
            }
        ],
        "timestamp": 1524044013
    },
    {
        "timestamp": 1523462196,
        "version": "0.5.1",
        "changes": [
            {
                "note": "Dependencies updated"
            }
        ]
    },
    {
        "version": "0.5.0",
        "changes": [
            {
                "note": "Make `AbiDecoder.addABI` public",
                "pr": 485
            }
        ],
        "timestamp": 1522673609
    },
    {
        "timestamp": 1522658513,
        "version": "0.4.4",
        "changes": [
            {
                "note": "Dependencies updated"
            }
        ]
    },
    {
        "version": "0.4.3",
        "changes": [
            {
                "note": "Add `@types/node` to dependencies since `intervalUtils` has the `NodeJS` type as part of its public interface."
            }
        ],
        "timestamp": 1521298800
    },
    {
        "version": "0.4.2",
        "changes": [
            {
                "note": "Consolidate all `console.log` calls into `logUtils` in the `@0xproject/utils` package",
                "pr": 452
            }
        ],
        "timestamp": 1521298800
    },
    {
        "version": "0.4.0",
        "changes": [
            {
                "note": "Use `ethers-contracts` as a backend to decode event args",
                "pr": 413
            },
            {
                "note": "Move web3 types from devDep to dep since required when using this package",
                "pr": 429
            }
        ],
        "timestamp": 1520089200
    },
    {
        "version": "0.3.2",
        "changes": [
            {
                "note": "Fix publishing issue where .npmignore was not properly excluding undesired content",
                "pr": 389
            }
        ],
        "timestamp": 1518102000
    },
    {
        "version": "0.3.0",
        "changes": [
            {
                "note": "Fix a bug related to event signature collisions (argument indexes aren't included in event signatures) in the abi_decoder. The decoder used to throw on unknown events with identical signatures as a known event (except indexes).",
                "pr": 366
            }
        ],
        "timestamp": 1517756400
    },
    {
        "version": "0.2.0",
        "changes": [
            {
                "note": "Add `onError` parameter to `intervalUtils.setAsyncExcludingInterval`",
                "pr": 312
            },
            {
                "note": "Add `intervalUtils.setInterval`",
                "pr": 312
            }
        ],
        "timestamp": 1516114800
    }
]
