Releases: box/box-java-sdk
v2.8.0
v2.7.0
v2.6.0
v2.5.0
This release adds support for recent items API, new metadata template operations, storing external id for an app user and token exchange along with few minor changes
New Features:
-
Recents API: Recent Items returns information about files that have been accessed by a user not long ago. It keeps track of items that were accessed either in the last 90 days or the last 1000 items accessed (both conditions must be met).
-
New metadata template operations: We added support for 4 new metadata template change types: remove field, rekey field, remove enum option, and edit enum option
-
External App User ID: Apps can now store any unique external identifier for an app user which can be used to search for an app user
-
Token Exchange: Token Exchange is a mechanism to exchange a parent token (Managed/App User, Service Account or App Token) for a child token, which is scoped down to the the minimum set of required permissions so it can be securely sent down to the client without elevating client privileges.
v2.4.0
This release adds support for multiput upload and single file collaborations. It also contains a number of minor bug fixes.
New Features:
- Support for multiput upload. New methods in
BoxFolder
andBoxFile
support multiput upload for better performance and reliability for large files. - Single file collaborations. The BoxFile class now supports sharing individual files.
- Automatic configuration for JWT auth. The Box Developer console now lets you download a JSON file of your JWT app configuration settings. You can import this file into the Java SDK to easily configure your app.
v2.3.0
This release adds support for a number of new API endpoints.
New API Endpoints:
- Legal Holds
- Retention Policies
- Create Metadata Template
- Get All Metadata on File
- Get All Metadata on Folder
- Get Enterprise Metadata
- Update Group
- Watermarking
- Webhooks V2
- WebLinks
- Collections
- BoxGroupMembership with for Paging
- Enterprise Device Pins
New Features:
- Transactional Authentication. Support for Box's new Transactional Auth APIs.
- Upload file versions with SHA1. A file's SHA1 can be passed in to
BoxFile.uploadVersion(...)
when uploading new versions. - Get
effective_access
for shared links. Theeffective_access
field is accessible throughBoxSharedLink. getEffectiveAccess()
. - Added additional Event Types. The
TASK_ASSIGNMENT_COMPLETE
,TASK_ASSIGNMENT_UPDATE
,TASK_CREATE
,COMMENT_DELETE
types are now included in theBoxEvent
class.
Bug Fixes:
Known Issues:
JWT, which is needed for AppUsers, requires Java 1.7 or later. The rest of the SDK still supports Java 1.6 as expected.
v2.1.1
This release includes bug fixes for the file metadata functionality.
Bug Fixes:
- Attempting to update metadata or access custom metadata templates would fail. Previously, there was no support for specifying the scope parameter when making a metadata-related API call. Now, setting the scope to
global
orenterprise
is correctly handled automatically.
v2.1.0
This release includes improvements to token caching for App Users and support for additional API endpoints.
New Features:
- App Users token caching. A token cache can now be specified in BoxDeveloperEditionAPIConnection. This allows for improved performance when using App Users authentication.
- Support for retrieving download URLs. The
BoxFile.getDownloadURL()
method allows for retrieving a direct download URL to a file. - File thumbnails. The
BoxFile.getThumbnail()
method allows for downloading the thumbnail for a file.
Bug Fixes:
- Getting info for a file could crash when there's no preview. Previously, an exception would be thrown if
BoxFile.getInfo(BoxFile.ALL_FIELDS)
was called and the file didn't have a preview available.
v2.0.0
This major release contains critical bug fixes for the events API as well as new support for App User authentication.
Breaking Changes:
- EventLog stream position is now a string. The events API introduced a breaking change which modified the type of the
streamPosition
field from a number to a string. Any code that uses theEventLog
class will need to be updated.
New Features:
- Support for App Users. The new App Users authentication process is now supported by the SDK. Examples for how to use App Users can be found in the
src/example
directory and additional documentation can be found in the API docs. - Support for transferring folders between users. The
BoxUser.moveFolderToUser(String)
method lets a user's root folder me transferred to another user. - Support for tasks. The tasks API is now supported, allowing for tasks to be created, modified, and assigned.
- File preview links. The
BoxFile.getPreviewLink()
can be used to retrieve a temporary link which allows users to preview a file's contents.
Bug Fixes:
- EventLog properly maintains event ordering. Previously, the events in an
EventLog
were not guaranteed to be in the same order as returned by the API. - Fix exception when retrieving enterprise events. A
StringIndexOutOfBoundsException
would be thrown byEventLog.getEnterpriseEvents
when theposition
parameter was non-zero andtypes
parameter was an empty array.
Thanks to @mcmilwj, @jonjo-manywho, @danielandefors, and @itsmanishagarwal for their contributions to this release!
v1.1.0
This release introduces some new features around proxy configuration and improved event API support.
New Features:
- Set a non-global proxy. New methods added to
BoxAPIConnection
allow for a non-global proxy to be set when making requests to the Box API. Basic HTTP authorization is also now support for proxies. - Improved events API support. The "created_at", "created_by", and "session_id" fields have been added to
BoxEvent
. Support was also added for some undocumented enterprise event fields. - Preflight checks. The methods
canUpload()
andcanUploadVersion()
can be used to perform a preflight check. This check helps ensure that a file can be uploaded before attempting to transfer all of its contents.
Bug Fixes:
- gzip encoded error messages are correctly handled. Previously, the bodies of error responses weren't decoded properly when gzipped.
- Groups are properly parsed when creating and retrieving collaborations. The "accessible_by" field of some collaborations was incorrectly parsed as a
BoxUser
instead of aBoxGroup
. - Fix intermittent OAuth refresh failures. Sometimes OAuth refresh would fail when performing a large number of sequential requests. This was particularly noticeable when long-polling a large number of events from the events API.
There is a known issue where calling stop()
on the EventStream
class won't immediately cancel the current long-polling request until it times out (usually after 10 minutes). This can be problematic in situations where a refresh needs to occur, since the current access token will remain locked (and unable to refresh) until the request times out.