[
{
"version": "0.34.0",
"changes": [
{
"note": "Fix the bug causing `zeroEx.exchange.fillOrdersUpToAsync` validation to fail if there were some extra orders passed",
"pr": "470"
}
]
},
{
"version": "0.33.2",
"changes": [
{
"note": "Consolidate all `console.log` calls into `logUtils` in the `@0xproject/utils` package",
"pr": "452"
},
{
"note": "Consolidate `Order`, `SignedOrder`, and `ECSignature` into the `@0xproject/types` package",
"pr": "456"
}
],
"timestamp": 1521327600,
"isPublished": true
},
{
"version": "0.33.1",
"changes": [
{
"note": "Add missing EthersJs typescript typings as dependency"
}
],
"timestamp": 1520463600,
"isPublished": true
},
{
"version": "0.33.0",
"changes": [
{
"note": "Validate and lowercase all addresses in public methods",
"pr": "373"
},
{
"note": "Improve validation to force passing contract addresses on private networks",
"pr": "385"
},
{
"note": "Change `LogErrorContractEventArgs.errorId` type from `BigNumber` to `number`",
"pr": "413"
},
{
"note": "Rename all public `_unsubscribeAll` methods to `unsubscribeAll`",
"pr": "415"
},
{
"note": "Move web3 typings from devDep to dep since cannot use this package without it",
"pr": "429"
}
],
"timestamp": 1520118000,
"isPublished": true
},
{
"version": "0.32.2",
"changes": [
{
"note": "Fix publishing issue where .npmignore was not properly excluding undesired content",
"pr": "389"
}
],
"timestamp": 1518130800,
"isPublished": true
},
{
"version": "0.32.1",
"changes": [
{
"note": "Reorganized `BlockParamLiteral` export into `@0xproject/types` package",
"pr": "355"
},
{
"note": "Now using `abi-gen` package to generate ContractEventArgs types",
"pr": "371"
}
],
"timestamp": 1517958000,
"isPublished": true
},
{
"version": "0.32.0",
"changes": [
{
"note": "Add `zeroEx.etherToken.getContractAddressIfExists`",
"pr": "350"
},
{
"note": "Fixed the bug causing order watcher to throw if there is an event with the same signature but different indexed fields",
"pr": "366"
}
],
"timestamp": 1517785200,
"isPublished": true
},
{
"version": "0.31.1",
"changes": [
{
"note": "Fix the bug causing order watcher to throw if makerToken === zrx",
"pr": "357"
}
],
"timestamp": 1517439600,
"isPublished": true
},
{
"version": "0.31.0",
"changes": [
{
"note": "Add the `shouldAddPersonalMessagePrefix` parameter to `signOrderHashAsync` so that the"
}
],
"timestamp": 1517266800,
"isPublished": true
},
{
"version": "0.30.2",
"changes": [
{
"note": "Add Rinkeby testnet addresses to artifacts ",
"pr": "337"
},
{
"note": "Move @0xproject/types to dependencies from devDependencies fixing missing type errors"
}
],
"timestamp": 1517180400,
"isPublished": true
},
{
"version": "0.30.1",
"changes": [
{
"note": "Fix a bug allowing negative fill values ",
"pr": "212"
},
{
"note": "Fix a bug that made it impossible to pass a custom ZRX address ",
"pr": "341"
}
],
"timestamp": 1516748400,
"isPublished": true
},
{
"version": "0.30.0",
"changes": [
{
"note": "Add an error parameter to the order watcher callback",
"pr": "312"
},
{
"note": "Fix a bug making it impossible to catch some errors from awaitTransactionMinedAsync",
"pr": "312"
},
{
"note": "Fix a bug in fillOrdersUpTo validation making it impossible to fill up to if user doesn't have enough balance to fully fill all the orders",
"pr": "321"
}
],
"timestamp": 1516143600,
"isPublished": true
},
{
"version": "0.29.1",
"changes": [
{
"note": "Fixed bignumber config issue #301",
"pr": "305"
}
],
"timestamp": 1515625200,
"isPublished": true
},
{
"version": "0.29.0",
"changes": [
{
"note": "Assert baseUnit amount supplied to `toUnitAmount` is integer amount.",
"pr": "287"
},
{
"note": "`toBaseUnitAmount` throws if amount supplied has too many decimals",
"pr": "287"
}
],
"timestamp": 1514415600,
"isPublished": true
},
{
"version": "0.28.0",
"changes": [
{
"note": "Add `etherTokenAddress` arg to `depositAsync` and `withdrawAsync` methods on `zeroEx.etherToken`",
"pr": "267"
},
{
"note": "Removed accidentally included `unsubscribeAll` method from `zeroEx.proxy`, `zeroEx.etherToken` and `zeroEx.tokenRegistry`",
"pr": "267"
},
{
"note": "Removed `etherTokenContractAddress` from `ZeroEx` constructor arg `ZeroExConfig`",
"pr": "267"
},
{
"note": "Rename `SubscriptionOpts` to `BlockRange`",
"pr": "272"
},
{
"note": "Add `zeroEx.etherToken.subscribe`, `zeroEx.etherToken.unsubscribe`, `zeroEx.etherToken.unsubscribeAll`",
"pr": "277"
},
{
"note": "Add `zeroEx.etherToken.getLogsAsync`",
"pr": "277"
},
{
"note": "Add new public types `BlockParamLiteral`, `EtherTokenEvents`, `EtherTokenContractEventArgs`, `DepositContractEventArgs`, `WithdrawalContractEventArgs`",
"pr": "277"
},
{
"note": "Support `Deposit` and `Withdraw` events on etherToken",
"pr": "277"
},
{
"note": "Improve the error message when taker is not a string",
"pr": "278"
}
],
"timestamp": 1513724400,
"isPublished": true
},
{
"version": "0.27.1",
"changes": [
{
"note": "Export `TransactionOpts` type"
}
],
"timestamp": 1511823600,
"isPublished": true
},
{
"version": "0.27.0",
"changes": [
{
"note": "Make `ZeroExConfig` required parameter of `ZeroEx` constructor",
"pr": "233"
},
{
"note": "Add a required property `networkId` to `ZeroExConfig`",
"pr": "233"
},
{
"note": "Make all `getContractAddress` functions, `zeroEx.exchange.subscribe`, `zeroEx.exchange.getZRXTokenAddress` sync",
"pr": "233"
},
{
"note": "Remove `ZeroExError.ContractNotFound` and replace it with contract-specific errors",
"pr": "233"
},
{
"note": "Make `DecodedLogEvent<A>` contain `LogWithDecodedArgs<A>` under log key instead of merging it in like web3 does",
"pr": "234"
},
{
"note": "Rename `removed` to `isRemoved` in `DecodedLogEvent<A>`",
"pr": "234"
},
{
"note": "Add config allowing to specify gasPrice and gasLimit for every transaction sending method",
"pr": "235"
},
{
"note": "All transaction sending methods now call `estimateGas` if no gas amount was supplied",
"pr": "235"
},
{
"note": "Modify order validation methods to validate against the `latest` block, not against the `pending` block",
"pr": "236"
}
],
"timestamp": 1511823600,
"isPublished": true
},
{
"version": "0.26.0",
"changes": [
{
"note": "Add post-formatter for logs converting `blockNumber`, `logIndex`, `transactionIndex` from hexes to numbers",
"pr": "231"
},
{
"note": "Remove support for Async callback types when used in Subscribe functions",
"pr": "222"
},
{
"note": "In OrderWatcher subscribe to ZRX Token Transfer and Approval events when maker token is different",
"pr": "225"
}
],
"timestamp": 1511218800,
"isPublished": true
},
{
"version": "0.25.1",
"changes": [
{
"note": "Standardise on Cancelled over Canceled",
"pr": "217"
},
{
"note": "Add missing `DecodedLogEvent` type to exported types",
"pr": "205"
},
{
"note": "Normalized the transactionReceipt status to be `null|0|1`, 1 meaning transaction execution successful, 0 unsuccessful and `null` if it is a pre-byzantinium transaction.",
"pr": "200"
}
],
"timestamp": 1510527600,
"isPublished": true
},
{
"version": "0.23.0",
"changes": [
{
"note": "Fixed unhandled promise rejection error in subscribe methods",
"pr": "209"
},
{
"note": "Subscribe callbacks now receive an error object as their first argument"
}
],
"timestamp": 1510441200,
"isPublished": true
},
{
"version": "0.22.6",
"changes": [
{
"note": "Add a timeout parameter to transaction awaiting",
"pr": "206"
}
],
"timestamp": 1510268400,
"isPublished": true
},
{
"version": "0.22.5",
"changes": [
{
"note": "Re-publish v0.22.4 to fix publishing issue"
}
],
"timestamp": 1510009200,
"isPublished": true
},
{
"version": "0.22.4",
"changes": [
{
"note": "Upgraded bignumber.js to a new version that ships with native typings"
}
],
"timestamp": 1508882400,
"isPublished": true
},
{
"version": "0.22.3",
"changes": [
{
"note": "Fixed an issue with new version of testrpc and unlimited proxy allowance",
"pr": "199"
}
],
"timestamp": 1508882400,
"isPublished": true
},
{
"version": "0.22.2",
"changes": [
{
"note": "Fixed rounding of maker fill amount and incorrect validation of partial fees",
"pr": "197"
}
],
"timestamp": 1508796000,
"isPublished": true
},
{
"version": "0.22.0",
"changes": [
{
"note": "Started using `OrderFillRequest` interface instead of `OrderFillOrKillRequest` interface for `zeroEx.exchange.batchFillOrKill`",
"pr": "187"
},
{
"note": "Removed `OrderFillOrKillRequest`",
"pr": "187"
}
],
"timestamp": 1508104800,
"isPublished": true
},
{
"version": "0.21.4",
"changes": [
{
"note": "Made 0x.js more type-safe by making `getLogsAsync` and `subscribe/subscribeAsync` generics parametrized with arg type",
"pr": "194"
}
],
"timestamp": 1507845600,
"isPublished": true
},
{
"version": "0.21.3",
"changes": [
{
"note": "Fixed a bug causing order fills to throw `INSUFFICIENT_TAKER_ALLOWANCE`",
"pr": "193"
}
],
"timestamp": 1507759200,
"isPublished": true
},
{
"version": "0.21.2",
"changes": [
{
"note": "Exported `ContractEventArg` as a public type",
"pr": "190"
}
],
"timestamp": 1507672800,
"isPublished": true
},
{
"version": "0.21.1",
"changes": [
{
"note": "Fixed a bug in subscriptions",
"pr": "189"
}
],
"timestamp": 1507672800,
"isPublished": true
},
{
"version": "0.21.0",
"changes": [
{
"note": "Complete rewrite of subscription logic",
"pr": "182"
},
{
"note": "Subscriptions no longer return historical logs. If you want them - use `getLogsAsync`"
},
{
"note": "Subscriptions now use [ethereumjs-blockstream](https://github.com/ethereumjs/ethereumjs-blockstream) under the hood"
},
{
"note": "Subscriptions correctly handle block re-orgs (forks)"
},
{
"note": "Subscriptions correctly backfill logs (connection problems)"
},
{
"note": "They no longer setup filters on the underlying nodes, so you can use them with infura without a filter Subprovider"
},
{
"note": "Removed `ContractEventEmitter` and added `LogEvent`"
},
{
"note": "Renamed `zeroEx.token.subscribeAsync` to `zeroEx.token.subscribe`"
},
{
"note": "Added `zeroEx.token.unsubscribe` and `zeroEx.exchange.unsubscribe`"
},
{
"note": "Renamed `zeroEx.exchange.stopWatchingAllEventsAsync` to `zeroEx.exhange.unsubscribeAll`"
},
{
"note": "Renamed `zeroEx.token.stopWatchingAllEventsAsync` to `zeroEx.token.unsubscribeAll`"
},
{
"note": "Fixed the batch fills validation by emulating all balance & proxy allowance changes",
"pr": "185"
}
],
"timestamp": 1507586400,
"isPublished": true
},
{
"version": "0.20.0",
"changes": [
{
"note": "Add `zeroEx.token.getLogsAsync`",
"pr": "178"
},
{
"note": "Add `zeroEx.exchange.getLogsAsync`",
"pr": "178"
},
{
"note": "Fixed fees validation when one of the tokens transferred is ZRX",
"pr": "181"
}
],
"timestamp": 1507154400,
"isPublished": true
},
{
"version": "0.19.0",
"changes": [
{
"note": "Made order validation optional ",
"pr": "172"
},
{
"note": "Added Ropsten testnet support",
"pr": "173"
},
{
"note": "Fixed a bug causing awaitTransactionMinedAsync to DDos backend nodes",
"pr": "175"
}
],
"timestamp": 1506636000,
"isPublished": true
},
{
"version": "0.18.0",
"changes": [
{
"note": "Added `zeroEx.exchange.validateOrderFillableOrThrowAsync` to simplify orderbook pruning",
"pr": "170"
}
],
"timestamp": 1506376800,
"isPublished": true
},
{
"version": "0.17.0",
"changes": [
{
"note": "Made `zeroEx.exchange.getZRXTokenAddressAsync` public",
"pr": "171"
}
],
"timestamp": 1506376800,
"isPublished": true
},
{
"version": "0.16.0",
"changes": [
{
"note": "Added the ability to specify custom contract addresses to be used with 0x.js",
"pr": "165"
},
{
"note": "ZeroExConfig.exchangeContractAddress"
},
{
"note": "ZeroExConfig.tokenRegistryContractAddress"
},
{
"note": "ZeroExConfig.etherTokenContractAddress"
},
{
"note": "Added `zeroEx.tokenRegistry.getContractAddressAsync`",
"pr": "165"
}
],
"timestamp": 1505858400,
"isPublished": true
},
{
"version": "0.15.0",
"changes": [
{
"note": "Added the ability to specify a historical `blockNumber` at which to query the blockchain's state when calling a token or exchange method",
"pr": "161"
}
],
"timestamp": 1504821600,
"isPublished": true
},
{
"version": "0.14.2",
"changes": [
{
"note": "Fixed an issue with bignumber.js types not found",
"pr": "160"
}
],
"timestamp": 1504735200,
"isPublished": true
},
{
"version": "0.14.1",
"changes": [
{
"note": "Fixed an issue with Artifact type not found",
"pr": "159"
}
],
"timestamp": 1504735200,
"isPublished": true
},
{
"version": "0.14.0",
"changes": [
{
"note": "Added `zeroEx.exchange.throwLogErrorsAsErrors` method to public interface",
"pr": "157"
},
{
"note": "Fixed an issue with overlapping async intervals in `zeroEx.awaitTransactionMinedAsync`",
"pr": "157"
},
{
"note": "Fixed an issue with log decoder returning `BigNumber`s as `strings`",
"pr": "157"
}
],
"timestamp": 1504648800,
"isPublished": true
},
{
"version": "0.13.0",
"changes": [
{
"note": "Made all the functions submitting transactions to the network to immediately return transaction hash",
"pr": "151"
},
{
"note": "Added `zeroEx.awaitTransactionMinedAsync`",
"pr": "151"
},
{
"note": "Added `TransactionReceiptWithDecodedLogs`, `LogWithDecodedArgs`, `DecodedLogArgs` to public types",
"pr": "151"
},
{
"note": "Added signature validation to `validateFillOrderThrowIfInvalidAsync`",
"pr": "152"
}
],
"timestamp": 1504648800,
"isPublished": true
},
{
"version": "0.12.1",
"changes": [
{
"note": "Added the support for web3@1.x.x provider",
"pr": "142"
},
{
"note": "Added the optional `zeroExConfig` parameter to the constructor of `ZeroEx`",
"pr": "139"
},
{
"note": "Added the ability to specify `gasPrice` when instantiating `ZeroEx`",
"pr": "139"
}
],
"timestamp": 1504303200,
"isPublished": true
},
{
"version": "0.11.0",
"changes": [
{
"note": "Added `zeroEx.token.setUnlimitedProxyAllowanceAsync`",
"pr": "137"
},
{
"note": "Added `zeroEx.token.setUnlimitedAllowanceAsync`",
"pr": "137"
},
{
"note": "Added `zeroEx.token.UNLIMITED_ALLOWANCE_IN_BASE_UNITS`",
"pr": "137"
}
],
"timestamp": 1503525600,
"isPublished": true
},
{
"version": "0.10.4",
"changes": [
{
"note": "Fixed a bug where checksummed addresses were being pulled from artifacts and not lower-cased.",
"pr": "135"
}
],
"timestamp": 1503525600,
"isPublished": true
},
{
"version": "0.10.1",
"changes": [
{
"note": "Added `zeroEx.exchange.validateFillOrderThrowIfInvalidAsync`",
"pr": "128"
},
{
"note": "Added `zeroEx.exchange.validateFillOrKillOrderThrowIfInvalidAsync`",
"pr": "128"
},
{
"note": "Added `zeroEx.exchange.validateCancelOrderThrowIfInvalidAsync`",
"pr": "128"
},
{
"note": "Added `zeroEx.exchange.isRoundingErrorAsync`",
"pr": "128"
},
{
"note": "Added `zeroEx.proxy.getContractAddressAsync`",
"pr": "130"
},
{
"note": "Added `zeroEx.tokenRegistry.getTokenAddressesAsync`",
"pr": "132"
},
{
"note": "Added `zeroEx.tokenRegistry.getTokenAddressBySymbolIfExistsAsync`",
"pr": "132"
},
{
"note": "Added `zeroEx.tokenRegistry.getTokenAddressByNameIfExistsAsync`",
"pr": "132"
},
{
"note": "Added `zeroEx.tokenRegistry.getTokenBySymbolIfExistsAsync`",
"pr": "132"
},
{
"note": "Added `zeroEx.tokenRegistry.getTokenByNameIfExistsAsync`",
"pr": "132"
},
{
"note": "Added clear error message when checksummed address is passed to a public method",
"pr": "124"
},
{
"note": "Fixes the description of `shouldThrowOnInsufficientBalanceOrAllowance` in docs",
"pr": "127"
}
],
"timestamp": 1503525600,
"isPublished": true
},
{
"version": "0.9.3",
"changes": [
{
"note": "Update contract artifacts to include latest Kovan and Mainnet deploys",
"pr": "118"
}
],
"timestamp": 1503352800,
"isPublished": true
},
{
"version": "0.9.2",
"changes": [
{
"note": "*This version was unpublished because of a publishing issue.*"
},
{
"note": "Update contract artifacts to include latest Kovan and Mainnet deploys",
"pr": "118"
}
],
"timestamp": 1503266400,
"isPublished": true
},
{
"version": "0.9.1",
"changes": [
{
"note": "Fixed the bug causing `zeroEx.token.getBalanceAsync()` to fail if no addresses available",
"pr": "120"
}
],
"timestamp": 1502834400,
"isPublished": true
},
{
"version": "0.9.0",
"changes": [
{
"note": "Migrated to the new version of smart contracts",
"pr": "101"
},
{
"note": "Removed the ability to call methods on multiple authorized Exchange smart contracts",
"pr": "106"
},
{
"note": "Made `zeroEx.getOrderHashHex` a static method",
"pr": "107"
},
{
"note": "Cached `net_version` requests and invalidate the cache on calls to `setProvider`",
"pr": "95"
},
{
"note": "Renamed `zeroEx.exchange.batchCancelOrderAsync` to `zeroEx.exchange.batchCancelOrdersAsync`"
},
{
"note": "Renamed `zeroEx.exchange.batchFillOrderAsync` to `zeroEx.exchange.batchFillOrdersAsync`"
},
{
"note": "Updated to typescript v2.4",
"pr": "104"
},
{
"note": "Fixed an issue with incorrect balance/allowance validation when ZRX is one of the tokens traded",
"pr": "109"
}
],
"timestamp": 1501020000,
"isPublished": true
},
{
"version": "0.8.0",
"changes": [
{
"note": "Added the ability to call methods on different authorized versions of the Exchange smart contract",
"pr": "82"
},
{
"note": "Updated contract artifacts to reflect latest changes to the smart contracts (0xproject/contracts#59)"
},
{
"note": "Added `zeroEx.proxy.isAuthorizedAsync` and `zeroEx.proxy.getAuthorizedAddressesAsync`",
"pr": "89"
},
{
"note": "Added `zeroEx.token.subscribeAsync`",
"pr": "90"
},
{
"note": "Made contract invalidation functions private",
"pr": "90"
},
{
"note": "`zeroEx.token.invalidateContractInstancesAsync`"
},
{
"note": "`zeroEx.exchange.invalidateContractInstancesAsync`"
},
{
"note": "`zeroEx.proxy.invalidateContractInstance`"
},
{
"note": "`zeroEx.tokenRegistry.invalidateContractInstance`"
},
{
"note": "Fixed the bug where `zeroEx.setProviderAsync` didn't invalidate etherToken contract's instance"
}
],
"timestamp": 1499119200,
"isPublished": true
},
{
"version": "0.7.1",
"changes": [
{
"note": "Added the ability to convert Ether to wrapped Ether tokens and back via `zeroEx.etherToken.depostAsync` and `zeroEx.etherToken.withdrawAsync`",
"pr": "81"
}
],
"timestamp": 1498428000,
"isPublished": true
},
{
"version": "0.7.0",
"changes": [
{
"note": "Added Kovan smart contract artifacts",
"pr": "78"
},
{
"note": "Started returning fillAmount from `fillOrderAsync` and `fillUpToAsync`",
"pr": "72"
},
{
"note": "Started returning cancelledAmount from `cancelOrderAsync`",
"pr": "72"
},
{
"note": "Renamed type `LogCancelArgs` to `LogCancelContractEventArgs` and `LogFillArgs` to `LogFillContractEventArgs`"
}
],
"timestamp": 1498082400,
"isPublished": true
},
{
"version": "0.6.2",
"changes": [
{
"note": "Reduced bundle size"
},
{
"note": "Improved documentation"
}
],
"timestamp": 1497996000,
"isPublished": true
},
{
"version": "0.6.1",
"changes": [
{
"note": "Improved documentation"
}
],
"timestamp": 1497823200,
"isPublished": true
},
{
"version": "0.6.0",
"changes": [
{
"note": "Made `ZeroEx` class accept `Web3Provider` instance instead of `Web3` instance"
},
{
"note": "Added types for contract event arguments"
}
],
"timestamp": 1497823200,
"isPublished": true
},
{
"version": "0.5.2",
"changes": [
{
"note": "Fixed the bug in `postpublish` script that caused that only unminified UMD bundle was uploaded to release page"
}
],
"timestamp": 1497477600,
"isPublished": true
},
{
"version": "0.5.1",
"changes": [
{
"note": "Added `postpublish` script to publish to Github Releases with assets."
}
],
"timestamp": 1497477600,
"isPublished": true
}
]