- Fixed [
client.webhooks.validateMessage() and
sdk.validateWebhookMessage()](https://github.com/box/box-node-sdk/blob/master/docs/webhooks.md#validate-a-webhook-message) to accept the request body as an
Object` - Fixed
sdk.configure()
to correct reconfigure all options - Improved error messages for API errors and added the request object as
error.request
for easier debugging
- Fixed a bug when
files.getReadStream()
was called with null options
- Added support for getting a metadata template by ID
- Added a
byteRange
option to file download to support partial file download - Improved error messages when using promises and in authentication flows
- Added support for getting a stream of file representation contents
- Switched to using exponential backoff for request retries
- Fixed an issue where chunked uploader would not work with response streams from the request library (0e7014561f9cd0f7f38f98536b3f0c3946231d2e)
- Added support for metadata template deletion
- Added options to preserve file timestamps on file upload and to rename a file or preserve modification timestamp on new version upload
- Added Collaboration Whitelist functionality to allow enterprise admins to control which external users can collaborate on their content
- Added an option to Token Exchange to generate annotator tokens for use with Box View
- Updated to [email protected] to fix an issue where some users were getting an error when using App Auth
- Added support for Terms of Service endpoints
- Fixed a bug where receiving a collection without paging parameters from the API
would cause the SDK to throw an exception when using the
iterators
SDK option. Now, this will return an iterator over the items returned by the API. - Fixed a bug in Token Exchange where passing multiple scopes would result in an error
- Added support for getting Representations info on a file
- Fixed token methods to return bluebird Promises instead of native Promises
- Added support for the
notify
andcan_view_path
options on Collaborations
- Added support for Batch API
- Fixed a bug where the Event Stream would make more API calls than necessary, potentially hitting Box API rate limits
- Added Promise support to methods on the SDK object
- Added Node.js version to the User-Agent header that the SDK sends
- Fixed a bug where using multiple Persistent Clients instances could cause some clients to end up with expired tokens
- Add support for passing IP to all token methods, and fixed a bug where a client's IP was not being correctly reported on token refreshes
- Added Recent Items support
- Updated app auth expiration time default value and validation
- Revert deep-freezing Config properties, since it was causing errors
- Added support for Token Exchange, which allows a client to get downscoped tokens suitable for passing to a browser app or worker process.
- Ensured deeply-nested Config properties are immutable
- Fixed
BoxSDK.getPreconfiguredInstance()
to configure webhook keys
- Fixed
BoxSDK.getPreconfiguredInstance()
when app auth setttings are not populated
- Added support for file collaborations. Users can now invite others to collaborate on single files. See the blog post for more information.
- Fixed an issue where users were unable to use JWT Server Auth when their computers' clocks were not synchronized with the Box API servers.
- All asynchronous client methods now return Promises in addition to taking a (now-optional) callback parameter, so you can write more modern JS with the SDK.
- The SDK can now be preconfigured using a JSON blob that can be downloaded in the Box Dev Console for JWT Server Authentication apps, making it easier to get started developing!
- Added support for chunked upload, where a large file can be uploaded one piece at a time. This makes large file uploads much faster and more reliable, since parts can be uploaded in parallel and failed parts can be retried in isolation.
- Added an
is_confirmed
option to email alias creation for admins to auto-confirm the alias. - Added support for the Enterprise Events stream.
- Added an option to have collections methods (e.g.
folders.getItems()
,enterprise.getUsers()
, etc) return async iterators that will automatically page through the collection. This conforms to the proposed async iteration spec, which will eventually allow them to be used in ergonomic for-await-of loop syntax.
- Added
BoxSDK.validateWebhookMessage()
andclient.webhooks.validateMessage()
for validating webhook messages from Box
- Added methods for all API endpoints; we now have full API coverage 🎉
- Added support for renaming a file or folder on copy
- Added
client.asUser(userID)
andclient.asSelf()
to support making calls on behalf of managed users - Fixed event streams so they don't go into an infinite error loop when auth expires
- Fixed an error where App Auth clients would not be able to authorize due to clock skew
- Fixed the
mdfilters
parameter inclient.search.query()
to support metadata search - Cloned options objects to prevent modification of passed-in objects by the SDK
- Added better error messaging to the sample app
- Added endpoint to get a file's tasks
- Fixed issues with stream uploads
- Improved performance of file uploads
- Added endpoints to delete files and folders from trash
- Added endpoint to get a trashed folder
- Upgraded request dependency to fix ReDoS vulnerability
Initial release.