diff --git a/.travis.yml b/.travis.yml index c213072..bdcf606 100644 --- a/.travis.yml +++ b/.travis.yml @@ -18,7 +18,7 @@ before_install: -e BIGCHAINDB_KEYPAIR_PRIVATE=5C5Cknco7YxBRP9AgB1cbUVTL4FAcooxErLygw1DeG2D -e BIGCHAINDB_DATABASE_BACKEND=mongodb -e BIGCHAINDB_DATABASE_HOST=172.17.0.1 - bigchaindb/bigchaindb:master + bigchaindb/bigchaindb:1.0.0rc1 start - gem install cowsay - npm install -g codecov diff --git a/README.md b/README.md index 87e944b..757320a 100644 --- a/README.md +++ b/README.md @@ -12,7 +12,8 @@ | BigchainDB Server | BigchainDB JavaScript Driver | | ----------------- |------------------------------| -| `0.10` | `0.1.0` | +| `0.10` | `0.1.x` | +| `1.0` | `0.2.x` | ## Contents diff --git a/docs/upgrade-guides/0.2.0.md b/docs/upgrade-guides/0.2.0.md new file mode 100644 index 0000000..19ec049 --- /dev/null +++ b/docs/upgrade-guides/0.2.0.md @@ -0,0 +1,108 @@ +# Updating js-bigchaindb-driver from v0.1.x to v0.2.0 + +The latest version of js-bigchaindb-driver contains breaking changes to its +external API. In this document, we enumerate all changes to allow you to make +upgrades efficiently. + +Note that upgrading the js-bigchaindb-driver to v0.2.0 was done to enable +functionality included in the latest (v1.0) BigchainDB release. A full list of +BigchainDB v1.0's breaking changes can be found +[here](https://github.com/bigchaindb/bigchaindb/blob/17913dca682ff105540c0ea73365f1763efc2083/docs/upgrade-guides/v0.10--%3Ev1.0.md). +Note that v1.0 [contains breaking changes to its core data +models](https://github.com/bigchaindb/bigchaindb/blob/17913dca682ff105540c0ea73365f1763efc2083/docs/upgrade-guides/v0.10--%3Ev1.0.md#breaking-changes-to-the-data-model). + +This document will just go into the very specific breaking changes affecting +the JavaScript driver. + + +### Breaking changes to js-bigchaindb-driver's APIs + +#### Output amount is now a string + +```js +// old +export default function makeOutput(condition, amount = 1) {} + +// new +export default function makeOutput(condition, amount = '1') {} +``` + + +#### Update to Crypto-Conditions version 2 + +All conditions or fulfillments passed manually to the driver now need to comply +with ILP's Crypto-Condition version 2 specification. For more information, +[see the updated +specification](https://tools.ietf.org/html/draft-thomas-crypto-conditions-02) +or checkout the [latest reference implementation of Crypto-Conditions in +JavaScript](https://github.com/interledgerjs/five-bells-condition). + + +#### Several `Connection` methods now require positional arguments + +##### `Connection.listBlocks` + +```js +// old +new Connection(PATH).listBlocks({ tx_id, status }) + +// new +new Connection(PATH).listBlocks(transactionId, status) +``` + + +##### `Connection.listOutputs` + +```js +// old +new Connection(PATH).listOutputs({ public_key, unspent }) + +// new +new Connection(PATH).listOutputs(publicKey, spent) +``` + +**NOTE:** The `unspent` flag has been inversed. This is inline [with breaking +changes to BigchainDB +v1.0](https://github.com/bigchaindb/bigchaindb/blob/17913dca682ff105540c0ea73365f1763efc2083/docs/upgrade-guides/v0.10--%3Ev1.0.md#get-apiv1outputs). + + +##### `Connection.listTransactions` + +```js +// old +new Connection(PATH).listTransactions({ asset_id, operation }) + +// new +new Connection(PATH).listTransactions(assetId, operation) +``` + + +### Newly added endpoints + +##### `Connection.searchAsset` + +```js +// new +new Connection(PATH).searchAsset(search) +``` + +A querying interface to text-search all assets in BigchainDB. For more +documentation, [see BigchainDB's HTTP +API](https://docs.bigchaindb.com/projects/server/en/latest/http-client-server-api.html#assets). + + +### Newly available bundles and CDN hosting + +The driver is now bundled automatically each time we publish it to npm.com. We +now ship packages for `commonjs`, `commonjs2`, `amd`, `umd`, `window` and +node.js. Thanks to unpkg.com, we're also able to provide all these packages on +a CDN. A link to all the bundles can be found +[here](https://unpkg.com/bigchaindb-driver@0.2.0/dist/browser/). + + +A few notes: + +- Adjust version number in link as appropriate +- only include `bigchaindb-driver.*.min.js`, but now everything `bundle.*`. + This is [a known + issue](https://github.com/bigchaindb/js-bigchaindb-driver/issues/66). diff --git a/package.json b/package.json index 8c43641..998136a 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "bigchaindb-driver", - "version": "0.1.0", + "version": "0.2.0", "description": "Node.js driver for BigchainDB", "homepage": "https://www.bigchaindb.com/", "bugs": "https://github.com/bigchaindb/js-bigchaindb-driver/issues",