From 3510985cf472690e12e07e350f1a27bfb263b3bc Mon Sep 17 00:00:00 2001 From: Brandon Millman Date: Wed, 14 Feb 2018 10:15:53 -0800 Subject: Add stagedocs script to connect package --- packages/connect/scripts/stagedocs.js | 26 ++++++++++++++++++++++++++ 1 file changed, 26 insertions(+) create mode 100644 packages/connect/scripts/stagedocs.js (limited to 'packages/connect') diff --git a/packages/connect/scripts/stagedocs.js b/packages/connect/scripts/stagedocs.js new file mode 100644 index 000000000..c7582cffa --- /dev/null +++ b/packages/connect/scripts/stagedocs.js @@ -0,0 +1,26 @@ +const execAsync = require('async-child-process').execAsync; +const postpublish_utils = require('../../../scripts/postpublish_utils'); +const packageJSON = require('../package.json'); + +const cwd = __dirname + '/..'; +const subPackageName = packageJSON.name; +const S3BucketPath = 's3://staging-connect-docs-jsons/'; +const jsonFilePath = __dirname + '/../' + postpublish_utils.generatedDocsDirectoryName + '/index.json'; +const version = process.env.DOCS_VERSION; + +execAsync('JSON_FILE_PATH=' + jsonFilePath + ' PROJECT_DIR=' + __dirname + '/.. yarn docs:json', { + cwd, +}) +.then(function(result) { + if (result.stderr !== '') { + throw new Error(result.stderr); + } + const fileName = 'v' + version + '.json'; + const s3Url = S3BucketPath + fileName; + return execAsync('S3_URL=' + s3Url + ' yarn upload_docs_json', { + cwd, + }); +}) +.catch(function(err) { + console.log(err); +}); -- cgit v1.2.3 From 8201d5d1f8dbba530b71b7db8967e51406b8fe64 Mon Sep 17 00:00:00 2001 From: Brandon Millman Date: Wed, 14 Feb 2018 14:34:30 -0800 Subject: Add docs staging to 0x.js package --- packages/connect/scripts/stagedocs.js | 2 -- 1 file changed, 2 deletions(-) (limited to 'packages/connect') diff --git a/packages/connect/scripts/stagedocs.js b/packages/connect/scripts/stagedocs.js index c7582cffa..868112a37 100644 --- a/packages/connect/scripts/stagedocs.js +++ b/packages/connect/scripts/stagedocs.js @@ -1,9 +1,7 @@ const execAsync = require('async-child-process').execAsync; const postpublish_utils = require('../../../scripts/postpublish_utils'); -const packageJSON = require('../package.json'); const cwd = __dirname + '/..'; -const subPackageName = packageJSON.name; const S3BucketPath = 's3://staging-connect-docs-jsons/'; const jsonFilePath = __dirname + '/../' + postpublish_utils.generatedDocsDirectoryName + '/index.json'; const version = process.env.DOCS_VERSION; -- cgit v1.2.3 From 95a9d7730182d4f8ed7b4dd953b4bb78f22d59d6 Mon Sep 17 00:00:00 2001 From: Brandon Millman Date: Wed, 14 Feb 2018 14:43:43 -0800 Subject: Change default page params in connect to page 1 and perPage 100 --- packages/connect/src/http_client.ts | 8 ++++---- packages/connect/test/http_client_test.ts | 6 +++--- 2 files changed, 7 insertions(+), 7 deletions(-) (limited to 'packages/connect') diff --git a/packages/connect/src/http_client.ts b/packages/connect/src/http_client.ts index 815d42e67..9e5f0f448 100644 --- a/packages/connect/src/http_client.ts +++ b/packages/connect/src/http_client.ts @@ -23,7 +23,7 @@ import { relayerResponseJsonParsers } from './utils/relayer_response_json_parser const TRAILING_SLASHES_REGEX = /\/+$/; const DEFAULT_PAGED_REQUEST_OPTS: PagedRequestOpts = { - page: 0, + page: 1, perPage: 100, }; /** @@ -66,7 +66,7 @@ export class HttpClient implements Client { } /** * Retrieve token pair info from the API - * @param requestOpts Options specifying token information to retrieve and page information, defaults to { page: 0, perPage: 100 } + * @param requestOpts Options specifying token information to retrieve and page information, defaults to { page: 1, perPage: 100 } * @return The resulting TokenPairsItems that match the request */ public async getTokenPairsAsync(requestOpts?: TokenPairsRequestOpts & PagedRequestOpts): Promise { @@ -83,7 +83,7 @@ export class HttpClient implements Client { } /** * Retrieve orders from the API - * @param requestOpts Options specifying orders to retrieve and page information, defaults to { page: 0, perPage: 100 } + * @param requestOpts Options specifying orders to retrieve and page information, defaults to { page: 1, perPage: 100 } * @return The resulting SignedOrders that match the request */ public async getOrdersAsync(requestOpts?: OrdersRequestOpts & PagedRequestOpts): Promise { @@ -112,7 +112,7 @@ export class HttpClient implements Client { /** * Retrieve an orderbook from the API * @param request An OrderbookRequest instance describing the specific orderbook to retrieve - * @param requestOpts Options specifying page information, defaults to { page: 0, perPage: 100 } + * @param requestOpts Options specifying page information, defaults to { page: 1, perPage: 100 } * @return The resulting OrderbookResponse that matches the request */ public async getOrderbookAsync( diff --git a/packages/connect/test/http_client_test.ts b/packages/connect/test/http_client_test.ts index 93b252ace..311dc96e6 100644 --- a/packages/connect/test/http_client_test.ts +++ b/packages/connect/test/http_client_test.ts @@ -41,7 +41,7 @@ describe('HttpClient', () => { describe('#getTokenPairsAsync', () => { const url = `${relayUrl}/token_pairs`; it('gets token pairs with default options when none are provided', async () => { - const urlWithQuery = `${url}?page=0&per_page=100`; + const urlWithQuery = `${url}?page=1&per_page=100`; fetchMock.get(urlWithQuery, tokenPairsResponseJSON); const tokenPairs = await relayerClient.getTokenPairsAsync(); expect(tokenPairs).to.be.deep.equal(tokenPairsResponse); @@ -66,7 +66,7 @@ describe('HttpClient', () => { describe('#getOrdersAsync', () => { const url = `${relayUrl}/orders`; it('gets orders with default options when none are provided', async () => { - const urlWithQuery = `${url}?page=0&per_page=100`; + const urlWithQuery = `${url}?page=1&per_page=100`; fetchMock.get(urlWithQuery, ordersResponseJSON); const orders = await relayerClient.getOrdersAsync(); expect(orders).to.be.deep.equal(ordersResponse); @@ -110,7 +110,7 @@ describe('HttpClient', () => { it('gets orderbook with default page options when none are provided', async () => { const urlWithQuery = `${url}?baseTokenAddress=${ request.baseTokenAddress - }&page=0&per_page=100"eTokenAddress=${request.quoteTokenAddress}`; + }&page=1&per_page=100"eTokenAddress=${request.quoteTokenAddress}`; fetchMock.get(urlWithQuery, orderbookJSON); const orderbook = await relayerClient.getOrderbookAsync(request); expect(orderbook).to.be.deep.equal(orderbookResponse); -- cgit v1.2.3 From c4bcf24640a6fafa214e37543df90f3df36a301f Mon Sep 17 00:00:00 2001 From: Brandon Millman Date: Thu, 15 Feb 2018 14:22:00 -0800 Subject: Add configurable heartbeat to WebSocketOrderbookChannel --- packages/connect/CHANGELOG.md | 1 + packages/connect/src/index.ts | 1 + packages/connect/src/schemas/schemas.ts | 2 ++ .../websocket_orderbook_channel_config_schema.ts | 7 ++++++ packages/connect/src/types.ts | 7 ++++++ packages/connect/src/ws_orderbook_channel.ts | 26 ++++++++++++++++++++-- 6 files changed, 42 insertions(+), 2 deletions(-) create mode 100644 packages/connect/src/schemas/websocket_orderbook_channel_config_schema.ts (limited to 'packages/connect') diff --git a/packages/connect/CHANGELOG.md b/packages/connect/CHANGELOG.md index 18c808e5e..b187267e5 100644 --- a/packages/connect/CHANGELOG.md +++ b/packages/connect/CHANGELOG.md @@ -3,6 +3,7 @@ ## v0.6.0 - _TBD, 2018_ * Add pagination options to HttpClient methods (#393) + * Add heartbeat configuration to WebSocketOrderbookChannel constructor (#393) ## v0.5.7 - _February 9, 2018_ diff --git a/packages/connect/src/index.ts b/packages/connect/src/index.ts index 344a32e28..bb42384f9 100644 --- a/packages/connect/src/index.ts +++ b/packages/connect/src/index.ts @@ -17,4 +17,5 @@ export { TokenPairsItem, TokenPairsRequestOpts, TokenTradeInfo, + WebSocketOrderbookChannelConfig, } from './types'; diff --git a/packages/connect/src/schemas/schemas.ts b/packages/connect/src/schemas/schemas.ts index 0b8b798a9..b9a8472fb 100644 --- a/packages/connect/src/schemas/schemas.ts +++ b/packages/connect/src/schemas/schemas.ts @@ -3,6 +3,7 @@ import { orderBookRequestSchema } from './orderbook_request_schema'; import { ordersRequestOptsSchema } from './orders_request_opts_schema'; import { pagedRequestOptsSchema } from './paged_request_opts_schema'; import { tokenPairsRequestOptsSchema } from './token_pairs_request_opts_schema'; +import { webSocketOrderbookChannelConfigSchema } from './websocket_orderbook_channel_config_schema'; export const schemas = { feesRequestSchema, @@ -10,4 +11,5 @@ export const schemas = { ordersRequestOptsSchema, pagedRequestOptsSchema, tokenPairsRequestOptsSchema, + webSocketOrderbookChannelConfigSchema, }; diff --git a/packages/connect/src/schemas/websocket_orderbook_channel_config_schema.ts b/packages/connect/src/schemas/websocket_orderbook_channel_config_schema.ts new file mode 100644 index 000000000..2e9987e63 --- /dev/null +++ b/packages/connect/src/schemas/websocket_orderbook_channel_config_schema.ts @@ -0,0 +1,7 @@ +export const webSocketOrderbookChannelConfigSchema = { + id: '/WebSocketOrderbookChannelConfig', + type: 'object', + properties: { + heartbeatIntervalMs: { type: 'number' }, + }, +}; diff --git a/packages/connect/src/types.ts b/packages/connect/src/types.ts index 970eff498..5f837b0b3 100644 --- a/packages/connect/src/types.ts +++ b/packages/connect/src/types.ts @@ -43,6 +43,13 @@ export interface OrderbookChannel { close: () => void; } +/* + * heartbeatInterval: Interval in milliseconds that the orderbook channel should ping the underlying websocket. Default: 15000 + */ +export interface WebSocketOrderbookChannelConfig { + heartbeatIntervalMs?: number; +} + /* * baseTokenAddress: The address of token designated as the baseToken in the currency pair calculation of price * quoteTokenAddress: The address of token designated as the quoteToken in the currency pair calculation of price diff --git a/packages/connect/src/ws_orderbook_channel.ts b/packages/connect/src/ws_orderbook_channel.ts index 822a022f4..564e8686b 100644 --- a/packages/connect/src/ws_orderbook_channel.ts +++ b/packages/connect/src/ws_orderbook_channel.ts @@ -3,6 +3,7 @@ import { schemas } from '@0xproject/json-schemas'; import * as _ from 'lodash'; import * as WebSocket from 'websocket'; +import { schemas as clientSchemas } from './schemas/schemas'; import { OrderbookChannel, OrderbookChannelHandler, @@ -10,9 +11,12 @@ import { OrderbookChannelSubscriptionOpts, WebsocketClientEventType, WebsocketConnectionEventType, + WebSocketOrderbookChannelConfig, } from './types'; import { orderbookChannelMessageParser } from './utils/orderbook_channel_message_parser'; +const DEFAULT_HEARTBEAT_INTERVAL_MS = 15000; + /** * This class includes all the functionality related to interacting with a websocket endpoint * that implements the standard relayer API v0 @@ -21,15 +25,25 @@ export class WebSocketOrderbookChannel implements OrderbookChannel { private _apiEndpointUrl: string; private _client: WebSocket.client; private _connectionIfExists?: WebSocket.connection; + private _heartbeatTimerIfExists?: NodeJS.Timer; private _subscriptionCounter = 0; + private _heartbeatIntervalMs: number; /** * Instantiates a new WebSocketOrderbookChannel instance * @param url The relayer API base WS url you would like to interact with + * @param url The configuration object. Look up the type for the description. * @return An instance of WebSocketOrderbookChannel */ - constructor(url: string) { + constructor(url: string, config?: WebSocketOrderbookChannelConfig) { assert.isUri('url', url); + if (!_.isUndefined(config)) { + assert.doesConformToSchema('config', config, clientSchemas.webSocketOrderbookChannelConfigSchema); + } this._apiEndpointUrl = url; + this._heartbeatIntervalMs = + _.isUndefined(config) || _.isUndefined(config.heartbeatIntervalMs) + ? DEFAULT_HEARTBEAT_INTERVAL_MS + : config.heartbeatIntervalMs; this._client = new WebSocket.client(); } /** @@ -63,7 +77,7 @@ export class WebSocketOrderbookChannel implements OrderbookChannel { connection.on(WebsocketConnectionEventType.Error, wsError => { handler.onError(this, subscriptionOpts, wsError); }); - connection.on(WebsocketConnectionEventType.Close, () => { + connection.on(WebsocketConnectionEventType.Close, (code: number, desc: string) => { handler.onClose(this, subscriptionOpts); }); connection.on(WebsocketConnectionEventType.Message, message => { @@ -80,6 +94,9 @@ export class WebSocketOrderbookChannel implements OrderbookChannel { if (!_.isUndefined(this._connectionIfExists)) { this._connectionIfExists.close(); } + if (!_.isUndefined(this._heartbeatTimerIfExists)) { + clearInterval(this._heartbeatTimerIfExists); + } } private _getConnection(callback: (error?: Error, connection?: WebSocket.connection) => void) { if (!_.isUndefined(this._connectionIfExists) && this._connectionIfExists.connected) { @@ -87,6 +104,11 @@ export class WebSocketOrderbookChannel implements OrderbookChannel { } else { this._client.on(WebsocketClientEventType.Connect, connection => { this._connectionIfExists = connection; + if (this._heartbeatIntervalMs !== 0) { + this._heartbeatTimerIfExists = setInterval(() => { + connection.ping(''); + }, this._heartbeatIntervalMs); + } callback(undefined, this._connectionIfExists); }); this._client.on(WebsocketClientEventType.ConnectFailed, error => { -- cgit v1.2.3 From 6d818c25c7d88a297a11bb983b52bd08ac7b856d Mon Sep 17 00:00:00 2001 From: Brandon Millman Date: Fri, 16 Feb 2018 08:48:15 -0700 Subject: Add an enforced minimum for the heartbeat interval --- .../src/schemas/websocket_orderbook_channel_config_schema.ts | 5 ++++- packages/connect/src/ws_orderbook_channel.ts | 12 +++++++++++- 2 files changed, 15 insertions(+), 2 deletions(-) (limited to 'packages/connect') diff --git a/packages/connect/src/schemas/websocket_orderbook_channel_config_schema.ts b/packages/connect/src/schemas/websocket_orderbook_channel_config_schema.ts index 2e9987e63..81c0cac9c 100644 --- a/packages/connect/src/schemas/websocket_orderbook_channel_config_schema.ts +++ b/packages/connect/src/schemas/websocket_orderbook_channel_config_schema.ts @@ -2,6 +2,9 @@ export const webSocketOrderbookChannelConfigSchema = { id: '/WebSocketOrderbookChannelConfig', type: 'object', properties: { - heartbeatIntervalMs: { type: 'number' }, + heartbeatIntervalMs: { + type: 'number', + minimum: 10, + }, }, }; diff --git a/packages/connect/src/ws_orderbook_channel.ts b/packages/connect/src/ws_orderbook_channel.ts index 564e8686b..607749e86 100644 --- a/packages/connect/src/ws_orderbook_channel.ts +++ b/packages/connect/src/ws_orderbook_channel.ts @@ -16,6 +16,7 @@ import { import { orderbookChannelMessageParser } from './utils/orderbook_channel_message_parser'; const DEFAULT_HEARTBEAT_INTERVAL_MS = 15000; +const MINIMUM_HEARTBEAT_INTERVAL_MS = 10; /** * This class includes all the functionality related to interacting with a websocket endpoint @@ -104,10 +105,19 @@ export class WebSocketOrderbookChannel implements OrderbookChannel { } else { this._client.on(WebsocketClientEventType.Connect, connection => { this._connectionIfExists = connection; - if (this._heartbeatIntervalMs !== 0) { + if (this._heartbeatIntervalMs >= MINIMUM_HEARTBEAT_INTERVAL_MS) { this._heartbeatTimerIfExists = setInterval(() => { connection.ping(''); }, this._heartbeatIntervalMs); + } else { + callback( + new Error( + `Heartbeat interval is ${ + this._heartbeatIntervalMs + }ms which is less than the required minimum of ${MINIMUM_HEARTBEAT_INTERVAL_MS}ms`, + ), + undefined, + ); } callback(undefined, this._connectionIfExists); }); -- cgit v1.2.3 From d12352972e986635e188759abc45f28f31ec54c2 Mon Sep 17 00:00:00 2001 From: Brandon Millman Date: Fri, 16 Feb 2018 09:49:02 -0700 Subject: Updated CHANGELOGs --- packages/connect/CHANGELOG.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'packages/connect') diff --git a/packages/connect/CHANGELOG.md b/packages/connect/CHANGELOG.md index b187267e5..35e78c18c 100644 --- a/packages/connect/CHANGELOG.md +++ b/packages/connect/CHANGELOG.md @@ -1,9 +1,9 @@ # CHANGELOG -## v0.6.0 - _TBD, 2018_ +## v0.6.0 - _February 16, 2018_ * Add pagination options to HttpClient methods (#393) - * Add heartbeat configuration to WebSocketOrderbookChannel constructor (#393) + * Add heartbeat configuration to WebSocketOrderbookChannel constructor (#406) ## v0.5.7 - _February 9, 2018_ -- cgit v1.2.3 From f62d72e54893a07ae549b6579896be9f0ab21259 Mon Sep 17 00:00:00 2001 From: Brandon Millman Date: Fri, 16 Feb 2018 09:53:35 -0700 Subject: Publish - 0x.js@0.32.4 - @0xproject/abi-gen@0.2.3 - @0xproject/assert@0.0.20 - @0xproject/connect@0.6.0 - contracts@2.1.13 - @0xproject/deployer@0.1.0 - @0xproject/dev-utils@0.1.0 - @0xproject/json-schemas@0.7.12 - @0xproject/subproviders@0.5.0 - @0xproject/testnet-faucets@1.0.14 - @0xproject/types@0.2.3 - @0xproject/utils@0.3.4 - web3-typescript-typings@0.9.11 - @0xproject/web3-wrapper@0.1.14 - @0xproject/website@0.0.16 --- packages/connect/package.json | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) (limited to 'packages/connect') diff --git a/packages/connect/package.json b/packages/connect/package.json index d1e18adf5..324065968 100644 --- a/packages/connect/package.json +++ b/packages/connect/package.json @@ -1,6 +1,6 @@ { "name": "@0xproject/connect", - "version": "0.5.8", + "version": "0.6.0", "description": "A javascript library for interacting with the standard relayer api", "keywords": [ "connect", @@ -37,9 +37,9 @@ }, "homepage": "https://github.com/0xProject/0x.js/packages/connect/README.md", "dependencies": { - "@0xproject/assert": "^0.0.19", - "@0xproject/json-schemas": "^0.7.11", - "@0xproject/utils": "^0.3.3", + "@0xproject/assert": "^0.0.20", + "@0xproject/json-schemas": "^0.7.12", + "@0xproject/utils": "^0.3.4", "isomorphic-fetch": "^2.2.1", "lodash": "^4.17.4", "query-string": "^5.0.1", @@ -65,6 +65,6 @@ "tslint": "5.8.0", "typedoc": "~0.8.0", "typescript": "2.7.1", - "web3-typescript-typings": "^0.9.10" + "web3-typescript-typings": "^0.9.11" } } -- cgit v1.2.3 From 7dbc14dc4316b36cf7cb67f7c16ade921de5fa11 Mon Sep 17 00:00:00 2001 From: Brandon Millman Date: Fri, 16 Feb 2018 10:06:47 -0700 Subject: Fix broken postpublish script in connect --- packages/connect/scripts/postpublish.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'packages/connect') diff --git a/packages/connect/scripts/postpublish.js b/packages/connect/scripts/postpublish.js index 24384b228..869bad099 100644 --- a/packages/connect/scripts/postpublish.js +++ b/packages/connect/scripts/postpublish.js @@ -14,7 +14,7 @@ postpublish_utils tag = result.tag; version = result.version; const releaseName = postpublish_utils.getReleaseName(subPackageName, version); - return postpublish_utils.publishReleaseNotes(tag, releaseName); + return postpublish_utils.publishReleaseNotesAsync(tag, releaseName); }) .then(function(release) { console.log('POSTPUBLISH: Release successful, generating docs...'); -- cgit v1.2.3 From 80eca307251a18ec466c9fd77c055277ca1236db Mon Sep 17 00:00:00 2001 From: Brandon Millman Date: Fri, 16 Feb 2018 10:11:40 -0700 Subject: Fix incorrect comment on WebSocketOrderbookChannel constructor --- packages/connect/src/ws_orderbook_channel.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'packages/connect') diff --git a/packages/connect/src/ws_orderbook_channel.ts b/packages/connect/src/ws_orderbook_channel.ts index 607749e86..5aa730d8f 100644 --- a/packages/connect/src/ws_orderbook_channel.ts +++ b/packages/connect/src/ws_orderbook_channel.ts @@ -32,7 +32,7 @@ export class WebSocketOrderbookChannel implements OrderbookChannel { /** * Instantiates a new WebSocketOrderbookChannel instance * @param url The relayer API base WS url you would like to interact with - * @param url The configuration object. Look up the type for the description. + * @param config The configuration object. Look up the type for the description. * @return An instance of WebSocketOrderbookChannel */ constructor(url: string, config?: WebSocketOrderbookChannelConfig) { -- cgit v1.2.3 From b703ccde9bc494b8715d11bb774136996e320228 Mon Sep 17 00:00:00 2001 From: Brandon Millman Date: Fri, 16 Feb 2018 22:39:10 -0700 Subject: Do not JSON parse empty reponse --- packages/connect/CHANGELOG.md | 4 ++++ packages/connect/src/http_client.ts | 9 ++++----- 2 files changed, 8 insertions(+), 5 deletions(-) (limited to 'packages/connect') diff --git a/packages/connect/CHANGELOG.md b/packages/connect/CHANGELOG.md index 35e78c18c..8b88c3d20 100644 --- a/packages/connect/CHANGELOG.md +++ b/packages/connect/CHANGELOG.md @@ -1,5 +1,9 @@ # CHANGELOG +## v0.6.1 - _TBD, 2018_ + + * Fix JSON parse empty response (#407) + ## v0.6.0 - _February 16, 2018_ * Add pagination options to HttpClient methods (#393) diff --git a/packages/connect/src/http_client.ts b/packages/connect/src/http_client.ts index 9e5f0f448..cf0aaef0d 100644 --- a/packages/connect/src/http_client.ts +++ b/packages/connect/src/http_client.ts @@ -172,13 +172,12 @@ export class HttpClient implements Client { body: JSON.stringify(payload), headers, }); - const json = await response.json(); + const text = await response.text(); if (!response.ok) { - const errorString = `${response.status} - ${response.statusText}\n${requestType} ${url}\n${JSON.stringify( - json, - )}`; + const errorString = `${response.status} - ${response.statusText}\n${requestType} ${url}\n${text}`; throw Error(errorString); } - return json; + const result = !_.isEmpty(text) ? JSON.parse(text) : undefined; + return result; } } -- cgit v1.2.3 From b482473e23f4628e6f98f058007efbe96898b934 Mon Sep 17 00:00:00 2001 From: Brandon Millman Date: Fri, 16 Feb 2018 22:51:29 -0700 Subject: Updated CHANGELOGs --- packages/connect/CHANGELOG.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'packages/connect') diff --git a/packages/connect/CHANGELOG.md b/packages/connect/CHANGELOG.md index 8b88c3d20..75ffb5274 100644 --- a/packages/connect/CHANGELOG.md +++ b/packages/connect/CHANGELOG.md @@ -1,6 +1,6 @@ # CHANGELOG -## v0.6.1 - _TBD, 2018_ +## v0.6.1 - _February 16, 2018_ * Fix JSON parse empty response (#407) -- cgit v1.2.3 From 3a36e0621f0ad0c77c14a04bdaa85131b57ef0ea Mon Sep 17 00:00:00 2001 From: Brandon Millman Date: Fri, 16 Feb 2018 22:54:28 -0700 Subject: Publish - @0xproject/connect@0.6.1 --- packages/connect/package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'packages/connect') diff --git a/packages/connect/package.json b/packages/connect/package.json index 324065968..c5c8f4ea0 100644 --- a/packages/connect/package.json +++ b/packages/connect/package.json @@ -1,6 +1,6 @@ { "name": "@0xproject/connect", - "version": "0.6.0", + "version": "0.6.1", "description": "A javascript library for interacting with the standard relayer api", "keywords": [ "connect", -- cgit v1.2.3