particle-api-js
Version:
Particle API Client
389 lines (238 loc) • 12.8 kB
Markdown
# changelog
## 11.1.3 - 22 July 2025
* Bump form-data to resolve security warning
## 11.1.2 - 11 December 2024
* Add context docs for x-particle-tool and x-particle-project headers
## 11.1.1 - 5 November 2024
* Workaround for Firefox failing to open multiple event streams
## 11.1.0 - 3 October 2024
* Re-add `deleteAccessToken` method, but with basic auth removed
## 11.0.0 - 1 October 2024
* Remove `listAccessTokens` and `deleteAccessToken` methods that relied on HTTP basic auth
* Update EventStream to send access_token in the Authorization header instead. No functional change
## 10.6.0 - 21 August 2024
* Add DeviceOS versions endpoints
## 10.5.1 - 21 June 2024
* Don't add an empty query string to the URL
## 10.5.0 - 14 June 2024
* Add `unprotectDevice`
* Remove `changeProduct`
## 10.4.3 - 25 March 2024
* Add `utm` paramater to `createUser`
## 10.4.2 - 3 January 2024
* Add `setMode` arg to `setLedgerInstance`
* Fix a few incorrect logic function JSDocs
## 10.4.1 - 2 January 2024
* Fix `setLedgerInstance` taking wrong argument and passing a bad request body to the API
## 10.4.0 - 19 December 2023
* Add `listLedgerInstanceVersions` function
* Add `getLedgerInstanceVersion` function
## 10.3.1 - 6 December 2023
* Add `todayStats` query option to listLogicFunctions
* Add `scope`, `archived`, `page`, and `perPage` query options to listLedgers
* Add `page` and `perPage` query options to listLedgerInstances
* Add JSDocs for constructor
* Fix JSDocs across most functions in the library to be more accurate
## 10.3.0 - 7 November 2023
* Add support for sandbox accounts on all logic/ledger APIs by allowing the omission of the `org` property
* Add `executeLogic` function for testing logic functions before deploying them
## 10.2.0 - 6 October 2023
* Migrate LogicBlocks methods to LogicFunctions, LogicTriggers, and LogicRuns
## 10.1.0 - 8 Sept 2023
* Use wepback to bundle for browser use
* Remove babel, browserify and their related dependencies
* Adds support for checkJS loose type/docs validations
## 10.0.0 - 8 Sept 2023
* Change library to handle requests from `superagent` to `fetch`/`node-fetch`
## 9.4.1 - 17 June 2022
* Fixes incompatible versions of `eslint`, `chai`, `sinon-chai` and `chai-as-promised`.
## 9.4.0 - 14 June 2022
* Adds `.setDefaultAuth(auth)` so token authenticated methods don't need to pass their own auth token.
* Adds support for `auth` option in Particle constructor, calls `.setDefaultAuth()` if provided
* Fixes bug where `.setBaseUrl(baseUrl)` was not honored for `.getEventStream()` method (sc-105035)
## 9.3.0 - 8 June 2022
* Adds `.setBaseUrl(baseUrl)` to override backend api endpoint
## 9.2.0 - 30 May 2022
* Move to `node@16` and `npm@8` for local development
## 9.1.2 - 9 December 2021
* Fix library download
## 9.1.1 - 7 December 2021
* Use unforked copy of `stream-http` dependency
## 9.1.0 - 8 December 2020
* `.listAccessTokens()` accepts `otp` option to support users with MFA enabled
## 9.0.2 - 28 July 2020
* Add `.deleteActiveAccessTokens()` method
* Add `invalidateTokens` arguments to `.confirmMfa()` and `.changeUsername()` methods
## 9.0.1 - 1 June 2020
* Add `.getProductDeviceConfiguration()` and `.getProductDeviceConfigurationSchema()` methods
## 9.0.0 - 20 May 2020
* Add support for configuration and location services
* All top-level api methods optionally accept a `headers` option object
* Breaking: Base http methods (`.get()`, `.put()`, etc) on agent and particle classes accept options object vs. positional arguments ([see here](https://github.com/particle-iot/particle-api-js/pull/115/commits/c209a43ebcda53b9dc6857e1b54228906f506feb))
* Breaking: `.downloadFile()` method uses `uri` option (vs. `url`) ([docs](https://github.com/particle-iot/particle-api-js/blob/master/docs/api.md#downloadfile))
* Breaking: Refactored options object for the `.createWebhook()` method - hook-related options are now passed in via `options.hook` ([docs](https://github.com/particle-iot/particle-api-js/blob/master/docs/api.md#createwebhook))
## 8.4.0 - 28 April 2020
* Allow invalidating access tokens when changing password
## 8.3.0 - 11 February 2020
* Add delete user
## 8.2.1 - 4 February 2020
* fix file download methods `.downloadFile()`, `.downloadFirmwareBinary()`, and `.downloadProductFirmware()` [PR #112](https://github.com/particle-iot/particle-api-js/pull/112)
## 8.2.0 - 28 January 2020
* `.addDeviceToProduct()` accepts `file` option to facillitate bulk importing of devices [PR #109](https://github.com/particle-iot/particle-api-js/pull/109)
## 8.1.0 - 24 January 2020
* Add support for `groups` query parameter when listing product devices via `.listDevices()` [PR #108](https://github.com/particle-iot/particle-api-js/pull/108)
* Update `eslint` and related configuration [PR #107](https://github.com/particle-iot/particle-api-js/pull/107)
## 8.0.1 - 2 December 2019
* Update to latest superagent to fix deprecation warnings in Node v12
## 8.0.0 - 30 July 2019
* EventStream returned by getEventStream handles errors better [PR #99](https://github.com/particle-iot/particle-api-js/pull/99).
**Breaking changes for EventStream:**
- Only emits a single event named 'event' for each Particle event received instead of 2 events, one named 'event' and another named after the Particle event name. This behavior caused EventStream to disconnects if a Particle event named 'error' was published.
- Does not emit the 'error' event when a network error happens. Instead it emits 'disconnect' and automatically reconnects.
## 7.4.1 - 6 May 2019
* Do not require network ID to remove a device from its network [PR #103](https://github.com/particle-iot/particle-api-js/pull/103)
## 7.4.0 - 27 Feb 2019
* Add support for mesh network management [PR #98](https://github.com/particle-iot/particle-api-js/pull/98)
## 7.3.0 - 10 Jan 2019
* Support flashing product devices [PR #97](https://github.com/particle-iot/particle-api-js/pull/97)
## 7.2.3 - 4 Aug 2018
* Add sendOtp method to allow users enrolled in MFA/Two-Step Auth to login [PR #92](https://github.com/particle-iot/particle-api-js/pull/92)
## 7.2.2 - 23 Jul 2018
* Fix npm api key for publishing to registry
## 7.2.1 - 23 Jul 2018
* Support enrolling user in MFA/Two-step authentication
## 7.2.0 - 22 Mar 2018
* Support changing user's username(i.e., email) and password [PR #84](https://github.com/particle-iot/particle-api-js/pull/84)
## 7.1.1 - 13 Feb 2018
* Fix country parameter for activate sim [PR #81](https://github.com/particle-iot/particle-api-js/pull/81)
## 7.1.0 - 17 Jan 2018
* Update jsDelivr link [PR #66](https://github.com/particle-iot/particle-api-js/pull/66). Thanks @LukasDrgon!
* Stop auto reconnecting when event stream is intentionally disconnected [PR #69](https://github.com/particle-iot/particle-api-js/pull/69). Thanks @spacetc62!
* Add createCustomer [PR #78](https://github.com/particle-iot/particle-api-js/pull/78). Thanks @monkeytronics!
* Fix event stream exception when it is an HTML response [PR #64](https://github.com/particle-iot/particle-api-js/pull/64). Thanks @spacetc62!
* Update links after GitHub organization rename to `particle-iot` [PR #79](https://github.com/particle-iot/particle-api-js/pull/79)
## 7.0.1 - 16 Nov 2017
* Add loginAsClientOwner method
## 7.0.0 - 7 Nov 2017
* Update to latest superagent with support for nested directory. **Drops support for Node versions earlier than 4.**
* Add serial number endpoint
## 6.6.2 - 15 Sep 2017
* Fix nested directories bug
## 6.6.1 - 14 Sep 2017
* Update form-data to v1.0.0-relativepath.2
## 6.6.0 - 12 Sep 2017
* Add support for deleting current token
## 6.5.0 - 02 May 2017
* Add support for all product API endpoints.
* Add support for sending additional context with each call.
## 6.4.3 - 15 Feb 2017
* Create a wrapper for `listBuildTargets` in `Client.js`.
* Marked `compileCode`, `signalDevice`, `listDevices` and `listBuildTargets` as deprecated. Those methods will be removed in 6.5
## 6.4.2 - 05 Jan 2017
* Create a wrapper for `listDevices` in `Client.js`.
## 6.4.1 - 15 Dec 2016
* Add scopes to library listing
## 6.4.0 - 09 Nov 2016
* Create a wrapper for `signalDevice` in `Client.js`.
## 6.3.0 - 31 Oct 2016
* Add support for account verification endpoint via verifyUser function
* Change account_info input parameter in createUser and setUserInfo to be camel case - accountInfo
## 6.2.0 - 19 Oct 2016
* Add support for account information fields in createUser and setUserInfo
* Add "shortErrorDescription" in response body to contain English description only
## 6.1.0 - 19 Oct 2016
* Add library publish
## 6.0.8 - 17 Oct 2016
* Rename library publish to library contribute
## 6.0.7 - 29 Sept 2016
* Add library versions endpoint
## 6.0.6 - 19 Sept 2016
* Add library delete
## 6.0.5 - 8 Sept 2016
* Add library publish
## 6.0.4 - 30 Aug 2016
* Use only HTTP dependencies to be able to install on computers without git
## 6.0.3 - 25 Aug 2016
* Support nested directories when compiling sources
## 6.0.2 - 23 Aug 2016
* Add compile code to client
## 6.0.1 - 22 Aug 2016
* Fix the login method content type
## 6.0.0 - 17 Aug 2016
* Add libraries endpoints
* Add stateful client
* Add object interface for libraries
## 5.3.1 - 2 Aug 2016
* Handle empty event names in the event stream.
## 5.3.0 - 8 June 2016
* Add details to README
* Adding responseTemplate and responseTopic to webhook creation. Thanks @acasas! [#20](https://github.com/particle-iot/particle-api-js/pull/20)
* Add password reset route [#27](https://github.com/particle-iot/particle-api-js/pull/27)
* Make event stream compatible with new product routes [#28](https://github.com/particle-iot/particle-api-js/pull/28)
## 5.2.7 - 2 May 2016
* Fix files parameter default name to be `file` and not `file1`.
## 5.2.6 - 25 Mar 2016
* Don't double publish event stream events if the event is named `event`.
## 5.2.5 - 21 Mar 2016
* Handle `JSON.parse` exceptions when parsing event stream
## 5.2.4 - 21 Mar 2016
* `flashDevice` `latest` also needs to be a string, not a boolean. [#12](https://github.com/particle-iot/particle-api-js/issues/12)
## 5.2.3 - 11 Mar 2016
* Remove setting of `User-Agent` header because that is not allowed in browsers. [#10](https://github.com/particle-iot/particle-api-js/issues/10)
## 5.2.2 - 3 Mar 2016
* Fix named event streams by encoding event name.
* Move access token to query string to eliminate preflight CORS request.
* Use fork of `stream-http` that prevents usage of `fetch` because it does not abort.
* Use correct streaming mode of `stream-http`.
## 5.2.1 - 3 Mar 2016
* Improve cleanup on `abort`.
## 5.2.0 - 3 Mar 2016
* Add support for organization and product slugs to `getEventStream`.
## 5.1.1 - 26 Feb 2016
* `JSON.parse` HTTP response body for `getEventStream` error case.
## 5.1.0 - 26 Feb 2016
* Fix event stream. [#8](https://github.com/particle-iot/particle-api-js/issues/8)
* Add `downloadFirmwareBinary`
* Add ability to intercept requests for debugging
* Use library version for User-Agent
* Allow request transfer for `claimDevice`
* `signalDevice` needs to use strings, not numbers.
* `compileCode` `latest` should be a string, not a boolean.
## 5.0.2 - 24 Feb 2016
* Remove trailing slash from `baseUrl`. [#7](https://github.com/particle-iot/particle-api-js/issues/7)
## 5.0.1 - 18 Feb 2016
* Remove need for `require('particle-api-js').default` in CommonJS usage. It is now just `require('particle-api-js')`.
## 5.0.0 - 18 Feb 2016
* Removed need for `babel-runtime`.
* Add `flashDevice`, `compileCode`, and `listAccessTokens`.
* Add missing options to `createWebhook`.
* Remove `downloadFirmwareBinary`.
## 4.2.1 - 8 Feb 2016
* Update contributors.
## 4.2.0 - 8 Feb 2016
* Add `downloadFirmwareBinary`.
## 4.1.0 - 14 Jan 2016
* Add `validatePromoCode`.
* `activateSIM` now requires `promo_code` and `action`.
## 4.0.2 - 16 Nov 2015
* Fix old `code` reference.
## 4.0.1 - 16 Nov 2015
* Change `code` to `statusCode` in rejection.
## 4.0.0 - 16 Nov 2015
* Add `statusCode` to Promise fulfillment.
## 3.0.3 - 6 Nov 2015
* Add `listBuildTargets`.
## 3.0.2 - 5 Nov 2015
* Add `countryCode` to `activateSIM`.
## 3.0.1 - 26 Oct 2015
* Fix `activateSIM`.
## 3.0.0 - 26 Oct 2015
* Replace `request` with `superagent`.
* Add `iccid` to `getClaimCode`.
* Only use form encoding on `login` and `signup`.
## 2.0.1 - 23 Oct 2015
* Removed browser entry in package.json. This makes it possible to bundle the module with other apps that use browserify without causing relative pathing issues.
## 2.0.0 - 20 Oct 2015
* Improved error handling and reporting. Network errors and HTTP errors now both return `code` property that can be more easily used to programmatically detect error types.
## 1.0.1 - 24 Sep 2015
## 1.0.0 - 24 Sep 2015