[
    {
        "version": "16.23.0",
        "changes": [
            {
                "note": "ACryptoS",
                "pr": 284
            }
        ]
    },
    {
        "version": "16.22.0",
        "changes": [
            {
                "note": "IronSwap",
                "pr": 281
            }
        ],
        "timestamp": 1626214787
    },
    {
        "version": "16.21.0",
        "changes": [
            {
                "note": "JetSwap",
                "pr": 280
            }
        ],
        "timestamp": 1625904026
    },
    {
        "version": "16.20.0",
        "changes": [
            {
                "note": "ShibaSwap",
                "pr": 276
            }
        ],
        "timestamp": 1625607277
    },
    {
        "version": "16.19.1",
        "changes": [
            {
                "note": "Fix LiquidityProvider fallback",
                "pr": 272
            }
        ],
        "timestamp": 1625544188
    },
    {
        "version": "16.19.0",
        "changes": [
            {
                "note": "Add LiquidityProvider to Polygon sources",
                "pr": 270
            }
        ],
        "timestamp": 1625190486
    },
    {
        "version": "6.18.3",
        "changes": [
            {
                "note": "Polygon Balance V2"
            }
        ],
        "timestamp": 1624987208
    },
    {
        "timestamp": 1624562704,
        "version": "6.18.2",
        "changes": [
            {
                "note": "Dependencies updated"
            }
        ]
    },
    {
        "version": "6.18.1",
        "changes": [
            {
                "note": "FirebirdOneSwap, ApeSwap. New hop tokens: DFYN, BANANA, WEXPOLY",
                "pr": 265
            }
        ],
        "timestamp": 1624405040
    },
    {
        "version": "6.18.0",
        "changes": [
            {
                "note": "Add Lido stETH deposit integration",
                "pr": 260
            }
        ],
        "timestamp": 1624356181
    },
    {
        "version": "6.17.3",
        "changes": [
            {
                "note": "QUICK, TITAN, IRON as intermediate tokens, integrating WaultSwap and Polydex for Polygon, Curve renBTC pool"
            }
        ],
        "timestamp": 1623807529
    },
    {
        "timestamp": 1623382456,
        "version": "6.17.2",
        "changes": [
            {
                "note": "Dependencies updated"
            }
        ]
    },
    {
        "timestamp": 1622609597,
        "version": "6.17.1",
        "changes": [
            {
                "note": "Dependencies updated"
            }
        ]
    },
    {
        "version": "6.17.0",
        "changes": [
            {
                "note": "Re-enable liquidity provider and update KNC address",
                "pr": 253
            }
        ],
        "timestamp": 1622154125
    },
    {
        "version": "6.16.0",
        "changes": [
            {
                "note": "Add support for the Polygon chain",
                "pr": 240
            }
        ],
        "timestamp": 1621944788
    },
    {
        "version": "6.15.0",
        "changes": [
            {
                "note": "Fix KyberDmm",
                "pr": 236
            },
            {
                "note": "Re-enable KyberDmm",
                "pr": 247
            },
            {
                "note": "Add Huobi Token to liquidity provider tokens",
                "pr": 246
            },
            {
                "note": "Temporarily disable specific LiquidityProvider"
            }
        ],
        "timestamp": 1621600614
    },
    {
        "version": "6.14.0",
        "changes": [
            {
                "note": "Add support for additional sources and intermediate tokens on Ropsten",
                "pr": 231
            },
            {
                "note": "Add UniswapV3 VIP support",
                "pr": 237
            }
        ],
        "timestamp": 1620810800
    },
    {
        "version": "6.13.0",
        "changes": [
            {
                "note": "Add LiquidityProvider to BSC sources",
                "pr": 234
            }
        ],
        "timestamp": 1620703098
    },
    {
        "version": "6.12.0",
        "changes": [
            {
                "note": "`TwoHopSampler` to use `call` over `staticcall` in order to support sources like `Uniswap_V3` and `Balancer_V2`",
                "pr": 233
            }
        ],
        "timestamp": 1620610602
    },
    {
        "version": "6.11.0",
        "changes": [
            {
                "note": "Add price comparisons data separate from the quote report",
                "pr": 219
            },
            {
                "note": "Add caching for top Balancer V2 pools on startup and during regular intervals",
                "pr": 228
            },
            {
                "note": "Tweak compiler settings for smaller sampler bytecode",
                "pr": 229
            },
            {
                "note": "Fix Multiplex multihop encoding for ETH buys/sells",
                "pr": 230
            },
            {
                "note": "Fix Sampler address override for Ganache",
                "pr": 232
            }
        ],
        "timestamp": 1620362129
    },
    {
        "version": "6.10.0",
        "changes": [
            {
                "note": "Reactivate PancakeSwapV2 and BakerySwap VIP on BSC",
                "pr": 222
            },
            {
                "note": "Add LUSD Curve pool",
                "pr": 218
            },
            {
                "note": "Fix exchangeProxyGasOverhead for fallback path",
                "pr": 215
            },
            {
                "note": "Enable ETH based Curve pools",
                "pr": 220
            },
            {
                "note": "Reactivate PancakeSwapV2 and BakerySwap VIP on BSC",
                "pr": 222
            },
            {
                "note": "Disable WETH based SnowSwap pools",
                "pr": 220
            },
            {
                "note": "PLP now includes a fallback due to observed collisions",
                "pr": 223
            },
            {
                "note": "Add Balancer V2 integration",
                "pr": 206
            },
            {
                "note": "Re-work the PoolCache for Balancer et al",
                "pr": 226
            }
        ],
        "timestamp": 1620214333
    },
    {
        "version": "6.9.1",
        "changes": [
            {
                "note": "Temporarily remove PancakeV2 and BakerySwap from VIP"
            }
        ],
        "timestamp": 1619830995
    },
    {
        "version": "6.9.0",
        "changes": [
            {
                "note": "Remove conflicting Kyber reserve",
                "pr": 216
            }
        ],
        "timestamp": 1619825976
    },
    {
        "version": "6.8.0",
        "changes": [
            {
                "note": "Prune paths which cannot improve the best path",
                "pr": 183
            },
            {
                "note": "Use FastABI for Sampler ABI encoding and decoding",
                "pr": 183
            }
        ],
        "timestamp": 1619596077
    },
    {
        "version": "6.7.0",
        "changes": [
            {
                "note": "Support PancakeSwap V2",
                "pr": 211
            }
        ],
        "timestamp": 1619481586
    },
    {
        "version": "6.6.1",
        "changes": [
            {
                "note": "Fixing Positive Slippage logic to not force the EP route",
                "pr": 209
            }
        ]
    },
    {
        "version": "6.6.0",
        "changes": [
            {
                "note": "Support `Ropsten` network",
                "pr": 203
            },
            {
                "note": "BSC Uniswap clones (ApeSwap, CafeSwap, CheeseSwap, JulSwap), Saddle BTC pool, Curve gas schedule",
                "pr": 208
            }
        ],
        "timestamp": 1618592834
    },
    {
        "version": "6.5.3",
        "changes": [
            {
                "note": "Apply slippage to bridge orders in consumer",
                "pr": 198
            }
        ],
        "timestamp": 1618433771
    },
    {
        "timestamp": 1618314654,
        "version": "6.5.2",
        "changes": [
            {
                "note": "Dependencies updated"
            }
        ]
    },
    {
        "timestamp": 1618259868,
        "version": "6.5.1",
        "changes": [
            {
                "note": "Dependencies updated"
            }
        ]
    },
    {
        "version": "6.5.0",
        "changes": [
            {
                "note": "Add Kyber DMM to Ethereum mainnet",
                "pr": 194
            },
            {
                "note": "Add default LiquidityProvider registry and allow LiquidityProvider gasCost to be a function of tokens",
                "pr": 196
            }
        ],
        "timestamp": 1617913615
    },
    {
        "version": "6.4.0",
        "changes": [
            {
                "note": "Added Component, Smoothy, Saddle, Curve open pools, tweeks gas schedule, adding SushiSwap as a fee quote source",
                "pr": 182
            },
            {
                "note": "Use SOURCE_FLAGS.rfqOrder in comparisonPrice",
                "pr": 177
            },
            {
                "note": "Add a cancel token to ensure timeouts are respected",
                "pr": 176
            },
            {
                "note": "Rename {Rfqt=>Rfq} for many types in Asset Swapper",
                "pr": 179
            },
            {
                "note": "improve logging for alt RFQ requests",
                "pr": 158
            },
            {
                "note": "Use new bridge source ID encoding.",
                "pr": 162
            },
            {
                "note": "Refactor to provide chain id specific addresses",
                "pr": 163
            },
            {
                "note": "Added PancakeSwap and BakerySwap on Chain 56",
                "pr": 163
            },
            {
                "note": "Added Nerve and Dodo (v1) to BSC",
                "pr": 181
            }
        ],
        "timestamp": 1617311315
    },
    {
        "version": "6.3.0",
        "changes": [
            {
                "note": "Add MooniswapLiquidityProvider \"direct\" route to EP consumer.",
                "pr": 143
            },
            {
                "note": "Enable the ability to send RFQT requests thru a proxy",
                "pr": 159
            },
            {
                "note": "Add support for MultiplexFeature",
                "pr": 168
            }
        ],
        "timestamp": 1616005394
    },
    {
        "version": "6.2.0",
        "changes": [
            {
                "note": "drop curve Y and BUSD pools",
                "pr": 161
            }
        ],
        "timestamp": 1614645844
    },
    {
        "version": "6.1.0",
        "changes": [
            {
                "note": "Filter MultiHop where second source is not present",
                "pr": 138
            },
            {
                "note": "Add CurveLiquidityProvider \"direct\" route to EP consumer.",
                "pr": 127
            },
            {
                "note": "Fix compiler error on `ILiquidityProvider` call",
                "pr": 127
            },
            {
                "note": "Add deployed `CurveLiquidityProvider` addresses",
                "pr": 144
            },
            {
                "note": "Support `Mirror Protocol` with hops to `UST`",
                "pr": 142
            },
            {
                "note": "Fix protocol fee in fee schedule for `RfqOrder`",
                "pr": 146
            },
            {
                "note": "Special case BNB in uni v1 sampler",
                "pr": 147
            },
            {
                "note": "Create `FakeTaker` contract to get result data and gas used",
                "pr": 151
            },
            {
                "note": "Added support for `Dodo` v2",
                "pr": 152
            },
            {
                "note": "Added support for `Linkswap`",
                "pr": 153
            },
            {
                "note": "Re-add WBTC in default intermediate hops",
                "pr": 154
            },
            {
                "note": "Add an alternative RFQ market making implementation",
                "pr": 139
            },
            {
                "note": "Added an opt-in `PositiveSlippageAffiliateFee`",
                "pr": 101
            }
        ],
        "timestamp": 1614141718
    },
    {
        "version": "6.0.0",
        "changes": [
            {
                "note": "Pull top 250 Balancer pairs on initialization",
                "pr": 113
            },
            {
                "note": "Support v4 `RFQ` and `Limit` orders",
                "pr": 113
            },
            {
                "note": "Refactor to consume latest `FillQuoteTransformer`",
                "pr": 113
            },
            {
                "note": "Enable `fillData` for all sources, no longer optional",
                "pr": 113
            },
            {
                "note": "Support `tx.origin` in RFQT quote requestor",
                "pr": 113
            }
        ],
        "timestamp": 1612950500
    },
    {
        "version": "5.8.2",
        "changes": [
            {
                "note": "Fix error when Multihop data is not present",
                "pr": 80
            }
        ],
        "timestamp": 1611869778
    },
    {
        "timestamp": 1611648096,
        "version": "5.8.1",
        "changes": [
            {
                "note": "Dependencies updated"
            }
        ]
    },
    {
        "version": "5.8.0",
        "changes": [
            {
                "note": "Automatically Discover Kyber reserves for tokens using `getTradingReserves`",
                "pr": 111
            },
            {
                "note": "Return `CallResults` from the Sampler",
                "pr": 111
            }
        ],
        "timestamp": 1610510890
    },
    {
        "version": "5.7.0",
        "changes": [
            {
                "note": "Add SPDX license identifiers to solidity files",
                "pr": 105
            }
        ]
    },
    {
        "timestamp": 1609802516,
        "version": "5.6.2",
        "changes": [
            {
                "note": "Dependencies updated"
            }
        ]
    },
    {
        "version": "5.6.1",
        "changes": [
            {
                "note": "Fix fillAmount `ExchangeProxySwapQuoteConsumer` encoding when quote is a BuyQuote"
            }
        ],
        "timestamp": 1609387311
    },
    {
        "version": "5.6.0",
        "changes": [
            {
                "note": "Added Mooniswap V2 factory address",
                "pr": 100
            }
        ],
        "timestamp": 1609113560
    },
    {
        "timestamp": 1608692071,
        "version": "5.5.3",
        "changes": [
            {
                "note": "Dependencies updated"
            }
        ]
    },
    {
        "timestamp": 1608245516,
        "version": "5.5.2",
        "changes": [
            {
                "note": "Dependencies updated"
            }
        ]
    },
    {
        "timestamp": 1608149382,
        "version": "5.5.1",
        "changes": [
            {
                "note": "Dependencies updated"
            }
        ]
    },
    {
        "version": "5.5.0",
        "changes": [
            {
                "note": "Bancor now supported in all pairs",
                "pr": 88
            }
        ],
        "timestamp": 1608105788
    },
    {
        "timestamp": 1607485227,
        "version": "5.4.2",
        "changes": [
            {
                "note": "Dependencies updated"
            }
        ]
    },
    {
        "timestamp": 1607381756,
        "version": "5.4.1",
        "changes": [
            {
                "note": "Dependencies updated"
            }
        ]
    },
    {
        "version": "5.4.0",
        "changes": [
            {
                "note": "Add `takerAssetToEthRate` and `makerAssetToEthRate` to swap quote response",
                "pr": 49
            }
        ],
        "timestamp": 1607373752
    },
    {
        "timestamp": 1607036724,
        "version": "5.3.1",
        "changes": [
            {
                "note": "Dependencies updated"
            }
        ]
    },
    {
        "version": "5.3.0",
        "changes": [
            {
                "note": "Added Crypto.com",
                "pr": 43
            },
            {
                "note": "Add `getQuoteInfoMinBuyAmount` to quote consumer utils",
                "pr": 62
            },
            {
                "note": "Add `unoptimizedQuoteInfo` and `unoptimizedOrders` to SwapQuoteBase",
                "pr": 62
            },
            {
                "note": "Add `unoptimizedPath` to OptimizerResult",
                "pr": 62
            },
            {
                "note": "Enable PLP VIP feature and add gasCost field to LiquidityProviderRegistry",
                "pr": 65
            }
        ],
        "timestamp": 1606961263
    },
    {
        "version": "5.2.0",
        "changes": [
            {
                "note": "Update Gas schedules",
                "pr": 34
            },
            {
                "note": "Return the maker/taker token decimals from the sampler as part of the `SwapQuote`",
                "pr": 34
            },
            {
                "note": "Disable off-chain sampling for Balancer and CREAM",
                "pr": 41
            }
        ],
        "timestamp": 1605763885
    },
    {
        "version": "5.1.1",
        "changes": [
            {
                "note": "Disable PLP VIP feature in EP swap quote consumer",
                "pr": 36
            }
        ],
        "timestamp": 1605320370
    },
    {
        "version": "5.1.0",
        "changes": [
            {
                "note": "Add support for LiquidityProvider feature in the swap quote consumer",
                "pr": 16
            },
            {
                "note": "Remove support for MultiBridge 😞",
                "pr": 16
            }
        ],
        "timestamp": 1605302002
    },
    {
        "timestamp": 1604620645,
        "version": "5.0.3",
        "changes": [
            {
                "note": "Dependencies updated"
            }
        ]
    },
    {
        "timestamp": 1604385937,
        "version": "5.0.2",
        "changes": [
            {
                "note": "Dependencies updated"
            },
            {
                "note": "adding Curve pools: PAX, hBTC, metapools: gUSD, hUSD, USDn, mUSD, tBTC",
                "pr": 26
            }
        ]
    },
    {
        "timestamp": 1604376968,
        "version": "5.0.1",
        "changes": [
            {
                "note": "Dependencies updated"
            }
        ]
    },
    {
        "version": "5.0.0",
        "changes": [
            {
                "note": "Support multiple `Shells` by supplying the `pool` address",
                "pr": 17
            },
            {
                "note": "Make use of Token Adjacency in more places. Moved as a parameter for the quote",
                "pr": 24
            }
        ],
        "timestamp": 1604355662
    },
    {
        "version": "4.8.1",
        "changes": [
            {
                "note": "Fix Gas schedule with `SnowSwap` and `Bancor`",
                "pr": 15
            }
        ],
        "timestamp": 1603851023
    },
    {
        "version": "4.8.0",
        "changes": [
            {
                "note": "Moved Bridge addresses into Asset-swapper",
                "pr": 4
            },
            {
                "note": "Updated Sampler to Solidity 0.6",
                "pr": 4
            }
        ],
        "timestamp": 1603833198
    },
    {
        "timestamp": 1603487270,
        "version": "4.7.1",
        "changes": [
            {
                "note": "Dependencies updated"
            }
        ]
    },
    {
        "version": "4.7.0",
        "changes": [
            {
                "note": "Return quoteReport from SwapQuoter functions",
                "pr": 2627
            },
            {
                "note": "Allow an empty override for sampler overrides",
                "pr": 2637
            },
            {
                "note": "Potentially heavy CPU functions inside the optimizer now yield to the event loop. As such they are now async.",
                "pr": 2637
            },
            {
                "note": "Support more varied curves",
                "pr": 2633
            },
            {
                "note": "Make path optimization go faster",
                "pr": 2640
            },
            {
                "note": "Adds `getBidAskLiquidityForMakerTakerAssetPairAsync` to return more detailed sample information",
                "pr": 2641
            },
            {
                "note": "Fix regression where a split on the same source was collapsed into a single fill",
                "pr": 2654
            },
            {
                "note": "Add support for buy token affiliate fees",
                "pr": 2658
            },
            {
                "note": "Fix optimization of buy paths",
                "pr": 2655
            },
            {
                "note": "Fix depth buy scale",
                "pr": 2659
            },
            {
                "note": "Adjust fill by ethToInputRate when ethToOutputRate is 0",
                "pr": 2660
            },
            {
                "note": "Add Bancor as liquidity source",
                "pr": 2650
            },
            {
                "note": "Added `mStable`",
                "pr": 2662
            },
            {
                "note": "Merge `erc20-bridge-sampler` into this package",
                "pr": 2664
            },
            {
                "note": "Added `Mooniswap`",
                "pr": 2675
            },
            {
                "note": "Stop requiring takerAddress for RFQ-T indicative quotes",
                "pr": 2684
            },
            {
                "note": "Added two-hop support",
                "pr": 2647
            },
            {
                "note": "Move ERC20BridgeSampler interfaces into `interfaces` directory",
                "pr": 2647
            },
            {
                "note": "Use on-chain sampling (sometimes) for Balancer",
                "pr": 2647
            },
            {
                "note": "Re-worked `Kyber` quotes supporting multiple reserves",
                "pr": 2683
            },
            {
                "note": "Enable Quote Report to be generated with an option `shouldGenerateQuoteReport`. Default is `false`",
                "pr": 2687
            },
            {
                "note": "Add `refundReceiver` to `ExchangeProxySwapQuoteConsumer` options.",
                "pr": 2657
            },
            {
                "note": "Use `IZeroExContract` in EP swap quote consumer.",
                "pr": 2657
            },
            {
                "note": "Set `rfqtTakerAddress` to null in EP consumer",
                "pr": 2692
            },
            {
                "note": "Return Mooniswap pool in sampler and encode it in bridge data",
                "pr": 2692
            },
            {
                "note": "Added `Swerve`",
                "pr": 2698
            },
            {
                "note": "Added `SushiSwap`",
                "pr": 2698
            },
            {
                "note": "Add uniswap VIP support",
                "pr": 2703
            },
            {
                "note": "Add `includedSources` support",
                "pr": 2703
            },
            {
                "note": "Added `Curve` Tripool",
                "pr": 2708
            },
            {
                "note": "Pass back fillData from quote reporter",
                "pr": 2702
            },
            {
                "note": "Fix Balancer sampling",
                "pr": 2711
            },
            {
                "note": "Respect max slippage in EP consumer",
                "pr": 2712
            },
            {
                "note": "Introduced Path class, exchangeProxyOverhead parameter",
                "pr": 2691
            },
            {
                "note": "Added `Shell`",
                "pr": 2722
            },
            {
                "note": "Fix exchange proxy overhead gas being scaled by gas price",
                "pr": 2723
            },
            {
                "note": "Remove 0x-API swap/v0-specifc code from asset-swapper",
                "pr": 2725
            },
            {
                "note": "Added `DODO`",
                "pr": 2701
            },
            {
                "note": "Fix for some edge cases with `includedSources` and `MultiHop`",
                "pr": 2730
            },
            {
                "note": "Introduced `excludedFeeSources` to disable sources when determining the price of an asset in ETH",
                "pr": 2731
            },
            {
                "note": "Support `DODO` Trade Allowed parameter to automatically disable the pool",
                "pr": 2732
            },
            {
                "note": "Added `SwerveBridge` and `SnowSwapBridge` deployed addresses",
                "pr": 7
            }
        ],
        "timestamp": 1603265572
    },
    {
        "version": "4.6.0",
        "changes": [
            {
                "note": "Use internal Eth Gas Station proxy",
                "pr": 2614
            },
            {
                "note": "Renamed RFQT request parameters",
                "pr": 2582
            },
            {
                "note": "Fix worst case asset amount calculations.",
                "pr": 2615
            },
            {
                "note": "Specify EthGasStation url as an optional parameter",
                "pr": 2617
            },
            {
                "note": "Singleton Gas Price Oracle",
                "pr": 2619
            },
            {
                "note": "\"Fix\" forwarder buys of low decimal tokens.",
                "pr": 2618
            },
            {
                "note": "Add Balancer support",
                "pr": 2613
            },
            {
                "note": "Consolidate UniswapV2 sources, Curve sources in `ERC20BridgeSource` enum",
                "pr": 2613
            },
            {
                "note": "Change gas/fee schedule values from constants to functions returning numbers",
                "pr": 2613
            },
            {
                "note": "Specify overrides to the ERC20Sampler contract, by default the latest bytecode is the override",
                "pr": 2629
            }
        ],
        "timestamp": 1594788383
    },
    {
        "version": "4.5.0",
        "changes": [
            {
                "note": "Add support for private liquidity providers",
                "pr": 2505
            },
            {
                "note": "Big refactor of market operation utils",
                "pr": 2513
            },
            {
                "note": "Remove `dustFractionThreshold`, `noConflicts` options.",
                "pr": 2513
            },
            {
                "note": "Revamp fill optimization algorithm",
                "pr": 2513
            },
            {
                "note": "Add fallback orders to quotes via `allowFallback` option.",
                "pr": 2513
            },
            {
                "note": "Add `maxFallbackSlippage` option.",
                "pr": 2513
            },
            {
                "note": "Fix fee schedule not being scaled by gas price.",
                "pr": 2522
            },
            {
                "note": "Fix quote optimizer bug not properly accounting for fees.",
                "pr": 2526
            },
            {
                "note": "Fix `getBatchMarketBuyOrdersAsync` throwing NO_OPTIMAL_PATH",
                "pr": 2533
            },
            {
                "note": "Add DFB support + refactor swap quote calculator utils",
                "pr": 2536
            },
            {
                "note": "Add support for RFQ-T, querying maker-hosted endpoints for quotes to be submitted by the taker",
                "pr": 2541
            },
            {
                "note": "Add support for indicative (non-committal) quotes via RFQ-T",
                "pr": 2555
            },
            {
                "note": "Collapse `LiquidityProvider` into `DexForwarderBridge`",
                "pr": 2560
            },
            {
                "note": "Added Curve `sUSD`",
                "pr": 2563
            },
            {
                "note": "Fix sporadically failing quote simulation tests",
                "pr": 2564
            },
            {
                "note": "Apply Native order penalty inline with the target amount",
                "pr": 2565
            },
            {
                "note": "Remove Kyber exclusion when Uniswap/Eth2Dai is present",
                "pr": 2575
            },
            {
                "note": "Expose fills object in asset-swapper quote orders",
                "pr": 2583
            },
            {
                "note": "Increase timeout for tests",
                "pr": 2587
            },
            {
                "note": "Add support for Uniswap V2",
                "pr": 2599
            },
            {
                "note": "Add support for MultiBridge",
                "pr": 2593
            },
            {
                "note": "Fix Uniswap V2 path ordering",
                "pr": 2601
            },
            {
                "note": "Add exchange proxy support",
                "pr": 2591
            }
        ],
        "timestamp": 1592969527
    },
    {
        "version": "4.4.0",
        "changes": [
            {
                "note": "Add support for ERC721 assets",
                "pr": 2491
            },
            {
                "note": "Add destroy for gas heartbeat",
                "pr": 2492
            },
            {
                "note": "Added `BUSD` Curve",
                "pr": 2506
            },
            {
                "note": "Updated `Compound` Curve address",
                "pr": 2506
            }
        ],
        "timestamp": 1583220306
    },
    {
        "version": "4.3.2",
        "changes": [
            {
                "note": "Fix order native pruning by fill amount",
                "pr": 2500
            }
        ],
        "timestamp": 1582837861
    },
    {
        "timestamp": 1582677073,
        "version": "4.3.1",
        "changes": [
            {
                "note": "Dependencies updated"
            }
        ]
    },
    {
        "version": "4.3.0",
        "changes": [
            {
                "note": "Add `fees` to `GetMarketOrdersOpts`",
                "pr": 2481
            },
            {
                "note": "Incorporate fees into fill optimization",
                "pr": 2481
            }
        ],
        "timestamp": 1582623685
    },
    {
        "version": "4.2.0",
        "changes": [
            {
                "note": "Use `batchCall()` version of the `ERC20BridgeSampler` contract",
                "pr": 2477
            },
            {
                "note": "Support for sampling Curve contracts",
                "pr": 2483
            }
        ],
        "timestamp": 1581748629
    },
    {
        "timestamp": 1581204851,
        "version": "4.1.2",
        "changes": [
            {
                "note": "Dependencies updated"
            }
        ]
    },
    {
        "version": "4.1.1",
        "changes": [
            {
                "note": "Fix bug with liquidity source breakdown",
                "pr": 2472
            },
            {
                "note": "Prune orders before creating a dummy order for the Sampler",
                "pr": 2470
            },
            {
                "note": "Bump sampler gas limit to 60e6",
                "pr": 2471
            }
        ],
        "timestamp": 1580988106
    },
    {
        "version": "4.1.0",
        "changes": [
            {
                "note": "Allow contract addresses to be passed as optional constructor ags instead of hardcoding",
                "pr": 2461
            },
            {
                "note": "Add swap quote liquidity source breakdown",
                "pr": 2465
            }
        ],
        "timestamp": 1580811564
    },
    {
        "version": "4.0.1",
        "changes": [
            {
                "note": "Fix underestimated protocol fee in worst case quote.",
                "pr": 2452
            }
        ],
        "timestamp": 1579744659
    },
    {
        "version": "4.0.0",
        "changes": [
            {
                "note": "Upgrade to new `Forwarder` contract with flat affiliate fees.",
                "pr": 2432
            },
            {
                "note": "Remove `getSmartContractParamsOrThrow()` from `SwapQuoteConsumer`s.",
                "pr": 2432
            },
            {
                "note": "Added `getBatchMarketBuySwapQuoteForAssetDataAsync` on `SwapQuoter`",
                "pr": 2427
            },
            {
                "note": "Add exponential sampling distribution and `sampleDistributionBase` option to `SwapQuoter`",
                "pr": 2427
            },
            {
                "note": "Compute more accurate best quote price",
                "pr": 2427
            },
            {
                "note": "Change Exchange sell function from `marketSellOrdersNoThrow` to `marketSellOrdersFillOrKill`",
                "pr": 2450
            }
        ],
        "timestamp": 1579682890
    },
    {
        "version": "3.0.3",
        "changes": [
            {
                "note": "Ignore zero sample results from the sampler contract.",
                "pr": 2406
            },
            {
                "note": "Increase default `runLimit` from `1024` to `4096`.",
                "pr": 2406
            },
            {
                "note": "Increase default `numSamples` from `8` to `10`",
                "pr": 2406
            },
            {
                "note": "Fix ordering of optimized orders.",
                "pr": 2406
            },
            {
                "note": "Fix best and worst quotes being reversed sometimes.",
                "pr": 2406
            },
            {
                "note": "Fix rounding of quoted asset amounts.",
                "pr": 2406
            },
            {
                "note": "Undo bridge slippage in best case quote calculation.",
                "pr": 2406
            },
            {
                "note": "Compare equivalent asset data when validating quotes and checking fee asset data.",
                "pr": 2421
            }
        ],
        "timestamp": 1578272714
    },
    {
        "version": "3.0.2",
        "changes": [
            {
                "note": "Fix gasPrice from `ethgasstation` to be in WEI instead of GWEI",
                "pr": 2393
            },
            {
                "note": "Add aggregator utils",
                "pr": 2353
            }
        ],
        "timestamp": 1576540892
    },
    {
        "timestamp": 1575931811,
        "version": "3.0.1",
        "changes": [
            {
                "note": "Dependencies updated"
            }
        ]
    },
    {
        "version": "3.0.0",
        "changes": [
            {
                "note": "Refactor of logic for marketBuy/marketSell order pruning and selecting, introduced protocol fees, and refactored types used by the package",
                "pr": 2272
            },
            {
                "note": "Incorporate paying protocol fees.",
                "pr": 2350
            },
            {
                "note": "Update BigNumber version to ~9.0.0",
                "pr": 2342
            },
            {
                "note": "All references to network ID have been removed, and references to chain ID have been introduced instead",
                "pr": 2313
            }
        ],
        "timestamp": 1575296764
    },
    {
        "version": "2.1.0-beta.4",
        "changes": [
            {
                "note": "Dependencies updated"
            }
        ],
        "timestamp": 1575290197
    },
    {
        "version": "2.1.0-beta.3",
        "changes": [
            {
                "note": "Refactor of logic for marketBuy/marketSell order pruning and selecting, introduced protocol fees, and refactored types used by the package",
                "pr": 2272
            },
            {
                "note": "Incorporate paying protocol fees.",
                "pr": 2350
            }
        ],
        "timestamp": 1574238768
    },
    {
        "version": "2.1.0-beta.2",
        "changes": [
            {
                "note": "Update BigNumber version to ~9.0.0",
                "pr": 2342
            }
        ],
        "timestamp": 1573159180
    },
    {
        "version": "2.1.0-beta.1",
        "changes": [
            {
                "note": "All references to network ID have been removed, and references to chain ID have been introduced instead",
                "pr": 2313
            }
        ],
        "timestamp": 1573159180
    },
    {
        "version": "2.1.0-beta.0",
        "changes": [
            {
                "note": "Dependencies updated"
            }
        ],
        "timestamp": 1570135330
    },
    {
        "version": "2.0.0",
        "changes": [
            {
                "note": "AssetSwapper to use `@0x/orderbook` to fetch and subscribe to order updates",
                "pr": 2056
            }
        ],
        "timestamp": 1568744790
    },
    {
        "timestamp": 1567521715,
        "version": "1.0.3",
        "changes": [
            {
                "note": "Dependencies updated"
            }
        ]
    },
    {
        "timestamp": 1566446343,
        "version": "1.0.2",
        "changes": [
            {
                "note": "Dependencies updated"
            }
        ]
    },
    {
        "timestamp": 1565296576,
        "version": "1.0.1",
        "changes": [
            {
                "note": "Dependencies updated"
            }
        ]
    },
    {
        "version": "1.0.0",
        "changes": [
            {
                "note": "Added optimization utils to consumer output",
                "pr": 1988
            },
            {
                "note": "Expanded test coverage",
                "pr": 1980
            }
        ],
        "timestamp": 1564604963
    },
    {
        "timestamp": 1563957393,
        "version": "0.0.5",
        "changes": [
            {
                "note": "Dependencies updated"
            }
        ]
    },
    {
        "timestamp": 1563193019,
        "version": "0.0.4",
        "changes": [
            {
                "note": "Switched MarketOperation type to enum and expanded default constants configuration",
                "pr": 1959
            },
            {
                "note": "Added additional options to control asset-swapper behavior and optimized consumer output",
                "pr": 1966
            }
        ]
    },
    {
        "timestamp": 1563047529,
        "version": "0.0.3",
        "changes": [
            {
                "note": "Dependencies updated"
            }
        ]
    },
    {
        "timestamp": 1563006338,
        "version": "0.0.2",
        "changes": [
            {
                "note": "Dependencies updated"
            }
        ]
    },
    {
        "version": "0.0.1",
        "changes": [
            {
                "note": "Refactored asset-buyer into asset-swapper to support ERC<>ERC marketSell and marketBuy operations",
                "pr": 1845
            }
        ]
    }
]
