> ## Documentation Index
> Fetch the complete documentation index at: https://developer.box.com/llms.txt
> Use this file to discover all available pages before exploring further.

# 2021

> Box Platform changelog: API, SDK, and product updates from 2021.

<Update label="2021-12-17" tags={["New features", "Impactful changes", "Python", "Java"]}>
  ## End of Support for Obsolete Language Versions

  As Box to prepares to release the next major versions of the Python and
  Java SDKs, this is an alert that support is ending for obsolete language
  versions.

  On January 17, 2022, major releases of the [Python](https://github.com/box/box-python-sdk/releases) and [Java](https://github.com/box/box-java-sdk/releases) SDK
  libraries are planned, ending support for obsolete language versions. The Python
  SDK will abandon Python 2.7 and Python 3.5 starting from version `v3.0.0` of the
  Python SDK. The Java SDK will abandon Java 7 starting from version `v3.0.0` of
  the Java SDK. Applications using the Python or Java SDK can still use the
  respective older versions of those libraries located in the [GitHub](https://github.com/box/sdks)
  release section, but any future new features will not be available for use.

  ## Where to get support

  Should you have any issues or need further guidance, please post a request to
  our [developer forum](https://support.box.com/hc/en-us/community/topics/360001932973-Platform-and-Developer-Forum) for any help needed. You can also connect with the SDK
  team on the respective GitHub repository.
</Update>

<Update label="2021-12-14" tags={["New features", "Windows", "SDKs"]}>
  ## Box Windows SDK v4.1.0 released

  ### Bug Fixes

  * add missing `configureAwait`(false) when awaiting to prevent deadlocks ([#775](https://github.com/box/box-windows-sdk-v2/issues/775)) ([`b16267e`](https://github.com/box/box-windows-sdk-v2/commit/b16267e8f3dca5396e87be660e30a1e9405d8139))

  ### New Features and Enhancements

  * add configurable `Timeout` for `BoxClient` ([#779](https://github.com/box/box-windows-sdk-v2/issues/779)) ([`ac842ed`](https://github.com/box/box-windows-sdk-v2/commit/ac842ed4ba1a2dfe499706524441bc6ae3b3c192))
  * add file request API ([#777](https://github.com/box/box-windows-sdk-v2/issues/777)) ([`1098f75`](https://github.com/box/box-windows-sdk-v2/commit/1098f75983e2d784521f13b8d53df0e55d03203b))
  * add `vanity_name` to `SharedLink` ([#782](https://github.com/box/box-windows-sdk-v2/issues/782)) ([`00a1e26`](https://github.com/box/box-windows-sdk-v2/commit/00a1e265569d76c2c9593aa259202d7febef629c))

  - [https://www.nuget.org/packages/Box.V2/4.1.0](https://www.nuget.org/packages/Box.V2/4.1.0)
  - [https://www.nuget.org/packages/Box.V2.Core/4.1.0](https://www.nuget.org/packages/Box.V2.Core/4.1.0)
</Update>

<Update label="2021-12-08" tags={["New features", "Python", "SDKs"]}>
  ## Box Python SDK v2.14.0 released

  ### New Features and Enhancements

  * Add `admin_logs_streaming` support for events stream ([#623](https://github.com/box/box-python-sdk/pull/623))
  * Add `vanity_name` parameter for creating shared link to a file or folder ([#637](https://github.com/box/box-python-sdk/pull/637))
  * Add getting files and file versions under retention for a retention policy assignment ([#633](https://github.com/box/box-python-sdk/pull/633))
  * Support base item operations for WebLink class ([#639](https://github.com/box/box-python-sdk/pull/639))

  ### Bug Fixes

  * Limit cryptography to version \<3.5.0 ([#636](https://github.com/box/box-python-sdk/pull/636))
  * Avoid raising 404 when a thumbnail cannot be generated for a file ([#642](https://github.com/box/box-python-sdk/pull/642))
</Update>

<Update label="2021-11-29" tags={["New features", "Impactful changes", "API"]}>
  ## OAuth 2.0 Redirect URL Updates

  Today, we released a new feature to the Box Developer Console, allowing developers to add multiple redirect URIs for an OAuth 2.0 application.

  Starting November 29, 2021, new applications using OAuth 2.0 will require the
  URIs set in the configuration tab of the Developer Console to strictly match the
  one used during redirect. In addition, both new and existing applications, will
  gain the ability to add multiple redirect URIs.

  For existing applications, the deadline to make changes to this URL and avoid service
  disruption is May 13, 2022.

  ## Updates

  * The Box Developer Console OAuth 2.0 application configuration section has a new button to add multiple redirect URIs
  * Redirect URIs now force strict checking to match the URI passed in and URIs configured in the OAuth 2.0 application configuration
  * Updated the `redirect_uri` query parameter wording on the [`GET /authorize`](/reference/get-authorize/#param-redirect_uri) endpoint page
  * Updated the OAuth 2.0 [setup](/guides/authentication/oauth2/oauth2-setup/), [with SDK](/guides/authentication/oauth2/with-sdk/), and [without SDK](/guides/authentication/oauth2/without-sdk/) guide pages

  ## Where to get support

  Should you have any issues or need further guidance, please post a request to
  our [developer forum](https://support.box.com/hc/en-us/community/topics/360001932973-Platform-and-Developer-Forum) for any help needed.
</Update>

<Update label="2021-11-23" tags={["New features", "Java", "SDKs"]}>
  ## Box Java SDK v2.58.0 released

  ### New Features and Enhancements

  * SDK support for new GET /events `stream_type`: `admin_logs_streaming` ([#938](https://github.com/box/box-java-sdk/pull/938))
  * Adding `BoxDeveloperEditionAPIConnection#getUserConnection` to indicate that we can use this connection for managed users or app users ([#940](https://github.com/box/box-java-sdk/pull/940))

  ### Bug Fixes

  * Fix for deprecated enums still being used ([#931](https://github.com/box/box-java-sdk/issues/931))
</Update>

<Update label="2021-11-22" tags={["New features", "API"]}>
  ## New Shield Download Event

  Today, we released a new `event_type` to the [Enterprise Event](/guides/events/enterprise-events/for-enterprise) stream
  for downloads that are restricted based on a Shield access policy.

  If an admin creates a shield access policy that restricts downloads and an
  end user is blocked from downloading a file, an event is produced
  within the [enterprise event](/guides/events/enterprise-events/for-enterprise) stream. Events will also be generated
  when a user is viewing a folder with a file restricted from download, viewing a
  file in preview that is restricted from download, and when a user requests to
  download a file through the API that is restricted from download. These events
  follow the standard event object schema and the `event_type` value set
  to `SHIELD_DOWNLOAD_BLOCKED`.

  ## Updates

  * Added a [new section](/guides/events/event-triggers/shield-alert-events/#download-restriction) to the Smart Access event trigger documentation
  * Added `SHIELD_DOWNLOAD_BLOCKED` to the [enterprise event list](/guides/events/enterprise-events/for-enterprise/#event-types)

  ## Where to get support

  Should you have any issues or need further guidance, please post a request to
  our [developer forum](https://support.box.com/hc/en-us/community/topics/360001932973-Platform-and-Developer-Forum) for any help needed.
</Update>

<Update label="2021-11-17" tags={["New features", "Impactful changes", "API"]}>
  ## New Event Stream Live Monitoring stream\_type

  Today, we released a new `stream_type` for the [`GET /events`](/reference/get-events)
  API called `admin_logs_streaming`. This allows for near real time monitoring of
  events after they happen in Box.

  We recommend that applications subscribing to live events through `admin_logs`
  migrate to `admin_logs_streaming` for the lowest and most consistent latency.
  This `stream_type` requires the user to be an enterprise admin or co-admin with
  the permission to **Run new reports and access existing reports**.

  ## Updates

  We have made several documentation updates to help you learn about the new option

  * Completely reorganized the [events](/guides/events) guide section for
    easier understanding, including adding additional information to all pages
    in the various sections
  * Updated the OpenAPI specification for the [`GET /events`](/reference/get-events) endpoint
    to include the new `stream_type` option of `admin_logs_streaming`
  * Added a new how to migrate [`stream_type` page](/guides/events/enterprise-events/migrate-to-stream) with steps
    on switching

  ## Where to get support

  Should you have any issues or need further guidance, please post a request to
  our [developer forum](https://support.box.com/hc/en-us/community/topics/360001932973-Platform-and-Developer-Forum) for any help needed.
</Update>

<Update label="2021-11-16" tags={["API"]}>
  ## Added Retention Policy Marker Based Pagination

  Our OpenAPI specification has been updated for retention policy and retention
  policy assignment endpoints to show use of `marker` based pagination and
  `fields` query parameters.

  ## Updates

  The following updates were made:

  * Added `fields`, `limit`, and `marker` query parameters to the
    [`GET /retention-policies`](/reference/get-retention-policies) and
    [`GET /retention-policies-id-assignments`](/reference/get-retention-policies-id-assignments)
    endpoints.
  * Added `limit` and `next_marker ` to the response object for
    [retention policies](/reference/retention-policies-resources#retention-policies) and
    [retention policy assignments](/reference/retention-policy-assignments-resources#retention-policy-assignments)

  ## Where to get support

  Should you have any issues or need further guidance, please create a post on
  our [developer forum](https://support.box.com/hc/en-us/community/topics/360001932973-Platform-and-Developer-Forum) for any help needed.
</Update>

<Update label="2021-11-03" tags={["New features", "API"]}>
  ## Extend Retention Via Files API

  Now, you can extend the retention date for a file that is already under
  retention using the new `disposition_at` field. If the date is extended, it
  cannot be reverted or updated to a date prior to the new date.

  ## Updates

  * Added a `disposition_at` field to the [File(Full) resource](/reference/resources/file--full/#param-disposition_at)
  * Added a `disposition_at` parameter to the [PUT file endpoint](/reference/put-files-id/#param-disposition_at)
  * Added a note in the [retention policy guide section](/guides/retention-policies/#extend-retention-for-a-file)

  ## Where to get support

  Should you have any issues or need further guidance, please post a request to
  our [developer forum](https://support.box.com/hc/en-us/community/topics/360001932973-Platform-and-Developer-Forum) for any help needed.
</Update>

<Update label="2021-11-02" description="Box Windows SDK v4.0.0 released" tags={["New features", "Impactful changes", "Windows", "SDKs"]}>
  ## Box Windows SDK v4.0.0 released

  ### Breaking changes

  * Extract interfaces for BoxClient and Managers to improve testability ([#603](https://github.com/box/box-windows-sdk-v2/pull/603))
  * Add BoxConfigBuilder and make BoxConfig immutable ([#737](https://github.com/box/box-windows-sdk-v2/pull/737))
  * Expose tasks from async methods ([#742](https://github.com/box/box-windows-sdk-v2/pull/742))
  * Use DateTimeOffset instead of DateTime ([#749](https://github.com/box/box-windows-sdk-v2/pull/749))
  * Rework returned exceptions ([#753](https://github.com/box/box-windows-sdk-v2/pull/753))
  * Upgrade .NET Standard to 2.0 ([#755](https://github.com/box/box-windows-sdk-v2/pull/755))

  ### New Features and Enhancements

  * Add ability to get files under retention for assignment and file versions under retention for assignment ([#734](https://github.com/box/box-windows-sdk-v2/pull/734))
  * Add `is_collaboration_restricted_to_enterprise` flag support for `Folder` update ([#732](https://github.com/box/box-windows-sdk-v2/pull/732))
  * Replace insensitive language ([#738](https://github.com/box/box-windows-sdk-v2/pull/738))
  * Add new, easier to use method for create terms of service user status ([#740](https://github.com/box/box-windows-sdk-v2/pull/740))
  * Allow sort and direction parameter to be passed in when getting trashed items ([#754](https://github.com/box/box-windows-sdk-v2/pull/754))
  * Add support for Task completion\_rule field ([#758](https://github.com/box/box-windows-sdk-v2/pull/758))
  * Add BoxSign API support ([#765](https://github.com/box/box-windows-sdk-v2/pull/765))

  ### Bug Fixes

  * Fix `Cannot access a closed Stream.Request` exception during upload ([#739](https://github.com/box/box-windows-sdk-v2/pull/739)) ([#757](https://github.com/box/box-windows-sdk-v2/pull/757))

  - [https://www.nuget.org/packages/Box.V2/4.0.0](https://www.nuget.org/packages/Box.V2/4.0.0)
  - [https://www.nuget.org/packages/Box.V2.Core/4.0.0](https://www.nuget.org/packages/Box.V2.Core/4.0.0)
</Update>

<Update label="2021-10-28" tags={["New features", "Impactful changes", "iOS", "SDKs"]}>
  ## Box iOS SDK v5.0.0 released

  ### Breaking changes

  * Update PagingIterator to return pages and simplify logic ([#737](https://github.com/box/box-ios-sdk/pull/737))
  * Remove insensitive language field `collaborationWhiteList` in BoxClient. Use `collaborationAllowList` instead. ([#790](https://github.com/box/box-ios-sdk/pull/790))

  ### New Features and Enhancements

  * Replace insensitive event types ([#785](https://github.com/box/box-ios-sdk/pull/785))
  * Add SignAPI support ([#792](https://github.com/box/box-ios-sdk/pull/792))
</Update>

<Update label="2021-10-27" tags={["New features", "API"]}>
  ## Box Sign Enterprise Events

  [Box Sign](/guides/box-sign) events are now available via the enterprise events stream.
  For full details, please see our [Box Sign events guide](/guides/events/event-triggers/sign-events).

  ## Updates

  * Add sign request [document events](/guides/events/event-triggers/sign-events/#document-events): created, converted, completed,
    cancelled and expired

  * Add sign request [signer events](/guides/events/event-triggers/sign-events/#signer-events): assigned, viewed by signer, downloaded,
    forwarded, signed and declined

  * Add two new [statuses](/reference/resources/sign-requests/#param-status): `downloaded` and `downloaded and signed`
</Update>

<Update label="2021-10-20" tags={["New features", "Impactful changes", "UI Elements"]}>
  ## Box UI Elements v14.0.0 released

  ## [14.0.0](https://github.com/box/box-ui-elements/releases/tag/v14.0.0) (2021-10-20)

  ## Bug Fixes & Features

  This release fixes several bugs. For a full list, [please see the release notes](https://github.com/box/box-ui-elements/releases/tag/v14.0.0)
</Update>

<Update label="2021-10-20" tags={["API"]}>
  ## App Diagnostics Report Feedback

  We recently [started releasing](/changelog/2021) the new
  [App Diagnostics Report](https://developer.box.com/guides/troubleshooting/app-diagnostics-report/) to customers, and we would love to hear your
  thoughts! Visit the [forum post](https://support.box.com/hc/en-us/community/posts/4408877038483-App-Diagnostics-Report-Feedback) to provide any feedback.
</Update>

<Update label="2021-10-18" tags={["New features", "Java", "SDKs"]}>
  ## Box Java SDK v2.57.0 released

  ### New Features and Enhancements

  * Add support for marker-based paging in `BoxFolder.getChildren` ([#927](https://github.com/box/box-java-sdk/pull/927))
  * Upgraded `minimal-json` to version 0.9.5
  * Upgraded `jose4j` to version 0.7.9
  * Adding Gradle wrapper in version 4.0.1 ([#928](https://github.com/box/box-java-sdk/pull/928))

  ### Bug Fixes:\*\*

  * Fix for infinite recursion ([#924](https://github.com/box/box-java-sdk/pull/924))
  * Fix unable to set Vanity URL on `BoxSharedLink` for `BoxFile` and `BoxFolder`
    ([#925](https://github.com/box/box-java-sdk/issues/925))
</Update>

<Update label="2021-10-07" tags={["API"]}>
  ## Update to Webhooks Response

  The [webhook response](/reference/get-webhooks) has been updated to show the correct
  Webhook (Mini) object in the entries array.

  ## Bug Fixes

  * Added a `mini` resource for [Webhook](/reference/resources/webhook--mini)
  * Corrected the [get-webhooks](/reference/get-webhooks) response object
</Update>

<Update label="2021-10-07" tags={["New features"]}>
  ## New App Diagnostics Report

  A new report will be gradually deployed to customers starting Thursday, October
  7th, 2021. We plan to have the report released to all customers by October 25th.

  Developers can now review API activity for their applications by generating an
  App Diagnostics Report from the Developer Console. Checkout the
  [guide](/guides/troubleshooting/app-diagnostics-report) to see the steps required to run a report!

  As always, if you have issues you may file a
  [support ticket](https://developer.box.com/support) or post on our [developer forum](https://support.box.com/hc/en-us/community/topics/360001932973-Platform-and-Developer-Forum).
</Update>

<Update label="2021-10-06" tags={["API", "UI Elements"]}>
  ## Support for Adobe Creative Cloud Previews

  In conjunction with WebApp preview, Adobe Photoshop, Illustrator,
  and InDesign files are now supported via API.

  ## Updates

  Files with extensions `indt`, `idml`, `indd`, and `inx` are supported by:

  * [Thumbnails](/guides/representations/thumbnail)
  * [Image Viewer UI Element](/guides/embed/ui-elements/viewers-and-events/#image-viewer)
  * [Annotations](/guides/embed/ui-elements/annotations)
  * [Thumbnail Representation](/guides/representations/thumbnail-representation)
</Update>

<Update label="2021-09-30" tags={["New features", "Python", "SDKs"]}>
  ## Box Python SDK v2.13.0 released

  ### New Features and Enhancements

  * Sensitive language replacement ([#609](https://github.com/box/box-python-sdk/pull/609))
  * Add BoxSign support ([#617](https://github.com/box/box-python-sdk/pull/617))

  ### Bug Fixes

  * Upgrade cryptography to version 3 ([#620](https://github.com/box/box-python-sdk/pull/620))
</Update>

<Update label="2021-09-29" tags={["New features", "Impactful changes", "Node", "SDKs"]}>
  ## Box Node SDK v2.0.0 released

  ### Breaking changes

  * Drop support for Node 6,7 ([#670](https://github.com/box/box-node-sdk/pull/670))

  ### New Features and Enhancements

  * Add support for `is_external_collab_restricted` User property ([#668](https://github.com/box/box-node-sdk/pull/668))
  * Bump proxy-agent from 4.0.0 to 5.0.0 ([#664](https://github.com/box/box-node-sdk/pull/664))
</Update>

<Update label="2021-12-21" tags={["UI Elements"]}>
  ## EOS for Open With UI Element and EOL for Adobe Sign

  Today, the [Open With UI element](/guides/embed/ui-elements/open-with) can integrate with Box Tools, Google
  Workspace, and Adobe Sign. In an effort to continuously improve the Box
  experience, we are focusing our resources on new features and functionality that
  better align with our users' evolving needs.

  December 21, 2021 the following changes will occur:

  * We will discontinue support of the Box Open With UI Element for Box Tools and
    Google Workspace for any new customers. A new customer is any customer not using
    this element prior to December 21. Any customers leveraging the Open With UI
    Element with Box Tools and/or Google Workspace prior to December 21 are
    considered existing customers and will continue to receive support until further
    notice. The Box Tools and Google Workspace Web App functionality will not be
    impacted.

  * Adobe Sign will no longer be available for use by new or existing customers
    via the Open With UI element or Web Application.

  Should you have any further questions, please contact us by opening a
  [support](https://developer.box.com/support) ticket or posting on the [developer forum](https://support.box.com/hc/en-us/community/topics/360001932973-Platform-and-Developer-Forum).
</Update>

<Update label="2021-09-07" tags={["New features", "API"]}>
  ## New enhancements to retention APIs

  Two new API endpoints have been introduced to get files and file versions that
  are under retention for a given retention policy assignment. These APIs are
  part of the [retention policy](/guides/retention-policies) suite of APIs. They are
  intended to replace the separate [file](/reference/get-file-version-retentions-id) and [file version](/reference/get-file-version-retentions)
  retention endpoints, which will soon be deprecated from the Box API. The date
  of the deprecation will be announced at a later date.

  When a retention policy is applied via a retention policy assignment, folders
  are selected for which the retention policy should be applied. The files and
  file versions within those folders will be the content that is returned from
  calling these new endpoints.

  ## Features

  This release has introduced the following new content and features.

  * [Get files under retention](/reference/get-retention-policy-assignments-id-files-under-retention): Returns a list of files under
    retention that are associated with the specified retention policy assignment.
  * [Get file versions under retention](/reference/get-retention-policy-assignments-id-file-versions-under-retention): Returns a list
    of file versions under retention that are associated with the specified
    retention policy assignment.
  * Added an editable `description` field to the
    [retention policy](/reference/resources/retention-policy) resource.
  * Added a non-writable `start_field_date` to the
    [retention policy assignment](/reference/resources/retention-policy-assignment)
    resource. This field is the metadata field's key id. The value can also be
    `upload_date` if the `assigned_to` type is not `metadata_template` or a date
    field has not been selected.
</Update>

<Update label="2021-09-01" tags={["New features", "API"]}>
  ## Classification Name Field now in Events API

  If a classification exists on content, the [events](/reference/get-events/) API now
  returns the classification `name` field in the response object.

  * The updates to the event source response object can be
    seen [here](/reference/resources/event-source/).
  * A new [guide page](/guides/events/event-triggers/event-source) has been added to show examples for an
    event triggered by a user source and an event source.

  Below is an example of the response before and after the enhancement. Please
  note that if a classification doesn't exist, the before example will still
  be returned.

  Before:

  ```js theme={null}
  {
    "source": {
      "item_type": "file",
      "item_id": "8903212345",
      "item_name": "example.docx",
      "parent": {
        "type": "folder",
        "name": "All Files",
        "id": "0"
      },
      "owned_by": {
        "type": "user",
        "id": "11446498",
        "name": "Aaron Levie",
        "login": "notifications@example.com"
      }
    }
  }
  ```

  After:

  ```js theme={null}
  {
    "source": {
      "item_type": "file",
      "item_id": "8903212345",
      "item_name": "example.docx",
      "parent": {
        "type": "folder",
        "name": "All Files",
        "id": "0"
      },
      "owned_by": {
        "type": "user",
        "id": "11446498",
        "name": "Aaron Levie",
        "login": "notifications@example.com"
      },
      "classification": {
        "name": "Top Secret"
      }
    }
  }
  ```

  ## Where to get support

  Should you have any issues or need further guidance, please post a request to
  our [developer forum](https://support.box.com/hc/en-us/community/topics/360001932973-Platform-and-Developer-Forum) for any help needed.
</Update>

<Update label="2021-08-31" tags={["API"]}>
  ## Notice of behavior change for item preview events

  Starting today, we will begin rolling out changes to the behavior
  of item preview events when an application consumes those events from our
  [event API endpoints](https://developer.box.com/reference/get-events/).

  This change will only affect the
  `ITEM_PREVIEW` [user event](https://developer.box.com/guides/events/enterprise-events/for-user/#event-types) and will not affect existing
  [enterprise events](https://developer.box.com/guides/events/enterprise-events). The new behavior will not cause
  downtime within existing applications or require any application changes to
  prevent uptime disruptions.

  ## Change overview

  Within the previous behavior when events were consumed, previewed item
  events were surfaced through the `ITEM_PREVIEW` event type for the owner of
  the content as well as any contributors assigned to the content. This meant
  that if a file with 2000 collaborators on it was previewed, the file owner
  plus all 2000 collaborators would have an event created stating that the file
  was previewed.

  With the new behavior, notification of an item being previewed will only be
  created for the owner of the content and will not be produced for
  collaborators. This will help to reduce the noise of the event stream while
  preserving the ability to see when items are previewed as a content owner.

  ## Where to get support

  Should you have any issues or need further guidance, please post a request to
  our [developer forum](https://support.box.com/hc/en-us/community/topics/360001932973-Platform-and-Developer-Forum) for any help needed.
</Update>

<Update label="2021-08-31" tags={["New features", "Java", "SDKs"]}>
  ## Box Java SDK v2.56.0 released

  ### New Features and Enhancements

  * Replace `submaster` `GroupMembershipRole` with `coadmin`. Replace `MASTER_INVITE_ACCEPT` and `MASTER_INVITE_REJECT` with `ADMIN_INVITE_ACCEPT` and `ADMIN_INVITE_REJECT`. ([#907](https://github.com/box/box-java-sdk/pull/907))
  * Add `tracking_codes` to create User API call ([#910](https://github.com/box/box-java-sdk/pull/910))

  ### Bug Fixes

  * Fix `url` for `BoxFileRequest.Info` object ([#906](https://github.com/box/box-java-sdk/pull/906))
  * Attempt to fix thread locking issue on refresh of access token ([#912](https://github.com/box/box-java-sdk/pull/912))
</Update>

<Update label="2021-08-30" description="Box Node SDK v1.39.0 released" tags={["New features", "Node", "SDKs"]}>
  ## Box Node SDK v1.39.0 released

  ### New Features and Enhancements

  * Add support for Box Sign API ([#658](https://github.com/box/box-node-sdk/pull/658))
  * Enhance TS Imports ([#656](https://github.com/box/box-node-sdk/pull/656))
</Update>

<Update label="2021-08-06" tags={["New features", "Node", "SDKs"]}>
  ## Box Node SDK v1.38.0 released

  ### New Features and Enhancements

  * Add sensitive language event types for admin invites ([#648](https://github.com/box/box-node-sdk/pull/648))
  * Use `BetterDocs` to adapt `JSDocs` to `TypeScript` ([#646](https://github.com/box/box-node-sdk/pull/646))
  * Change `ProxyAgent` import to be dynamic ([#641](https://github.com/box/box-node-sdk/pull/641))
  * New API for get files and file versions under retention ([#585](https://github.com/box/box-node-sdk/pull/585))

  ### Bug Fixes

  * Deeply freeze Config except Buffers and Readable streams ([#651](https://github.com/box/box-node-sdk/pull/651))
  * Fix a typo in docs of `src/managers/search.ts` ([#649](https://github.com/box/box-node-sdk/pull/649))
  * Update broken documentation link ([#647](https://github.com/box/box-node-sdk/pull/647))
  * fix type annotations for `exchangeToken` functions ([#645](https://github.com/box/box-node-sdk/pull/645))
  * Deprecate files `getThumbnail` API in favor of
    `getRepresentationContent` ([#627](https://github.com/box/box-node-sdk/pull/627))
</Update>

<Update label="2021-06-04" tags={["Impactful changes", "API"]}>
  ## Upcoming change to JWT format

  On August 4th, 2021, as part of our continued infrastructure upgrades, we will
  begin deployment of a change that may affect custom applications leveraging
  Server Authentication with JSON Web Tokens (JWT).

  Potential impact will require additional verification from customers who do not
  use an official [Box SDK](https://developer.box.com/sdks-and-tools) and are storing tokens in a database.

  All customers and application owners who are potentially impacted have been
  notified directly via email.

  ## Change overview

  This change may only impact applications leveraging Server Authentication with
  JSON Web Tokens (JWT). Tokens will continue to return as a string as stated in
  our [documentation](https://developer.box.com/reference/post-oauth2-token/). However, the format will be longer and contain

  special characters.

  An example of a token returned today: `NXWd9KDPVofXQKZJlQjICCWFHEmuOihs`.

  After this change, tokens will return in the following format:

  `1!yxxhRreQCKcEbC_ZfYvPudyLe7Ed36gIQcqqZo2pfaVZyxNBkQjoHk0fgA1iTY3_uwXgif-hg-gne
    aUdLRmGCb2He6tyQ_rA8aV-CllTyBbd9Tx-wU6Fnt4Df9XjzBAk8Dj7RYc1Ew_fcY2vfycpCvjwHLgql
    jzjEpVIrOpOlK_2AyP5FExzn0x7DtbkaGc6avJU8UMQd_huXoJ7CnXIL_JBzVrW4D32pBLQ2AZIuecOZ
    NMIy9T8PdUiZIG6xKEPqYmm21mQHEM0d7dT5foSBtjm65-Ah2tb2MdSGFb1G1O24vz2GmYFgmIe5UOol
    qYIGg-0u2xQPC3F76WiNCiU_TP1JDQYi3HKaos807WkRtnBY5Vd-VAbY9DH-Qo3u1EiB0RFr4cht2N7V
    B99y-379IEYzCojL2V58dE_pBxpRMv4KcOLVsUfDkbx3uo34H4UzOycI_IWGWrhVJD4M7GeLeD_5Vkmj
    fbwYl2CmHdXAKbZKtXTHjzB0CZixZriT_wRUpsN8GTrrxGbx9ukgzJWRJwelGZ_1Yx7vP4Zkx3OfR5Be
    -Tso7xdHd9rW0FXsu024U7dMNuQ6kpP1_kJI2Y`.

  Please note that this is not a new format to Box, as this format is currently
  returned when [downscoping tokens](https://developer.box.com/guides/authentication/access-tokens/downscope).

  ## Verifying application impact

  1. Navigate to **Admin Console** > **Apps** Tab > **Custom Apps**.
  2. Click **View** for each app row listed
  3. Scroll to the bottom of the app details page and verify the selected
     authentication method. Affected apps will say
     **Server Authentication with JSON Web Tokens**.

  For each application identified above, you will need to determine:

  1. Is it using an official [Box SDK](https://developer.box.com/sdks-and-tools)? If so, no further action is
     required to prepare for this change. While it is always best practice to be
     on the latest version, no minimum versions are required for compatibility.

  2) If an official SDK is not used, are tokens stored in a database? If so, you
     will need to preform additional verification that the database can handle both
     the new length and special characters.

  ## Testing before release

  If you have identified an application that leverages Server Authentication with
  JWT and stores tokens in a database, you will want to preform the test below
  before August 4th.

  As mentioned above, the new format for tokens is currently used when
  [downscoping tokens](https://developer.box.com/guides/authentication/access-tokens/downscope). Therefore, preform the following steps to
  assess impact:

  1. Generate an Access Token for the application

  2) [Downscope](https://developer.box.com/guides/authentication/access-tokens/downscope) the token from step 1

  3. Attempt to store the downscoped token in your database

  If you are successfully able to store the token in the database no further
  action is necessary to prepare for this change.

  If you are unable to store the token, your database must be updated to support
  the additional length and special characters.

  ## Where to get support

  Should you have any questions or need further guidance, please email
  [jwt-set-rollout@box.com](mailto:jwt-set-rollout@box.com).
</Update>

<Update label="2021-07-26" tags={["API"]}>
  ## New Getting Started Guide

  Check out our [step by step guide](/guides/getting-started) to getting started with the Box API.
  Discover best use cases, user models, architecture patterns, and more.

  ## Features

  * Use case evaluation: [Guide](page/platform/use-cases/)
  * Common user models: [Guide](page/platform/user-types/)
  * Common architecture patterns: [Guide](page/platform/appendix/architecture-patterns/)
  * Locating common values: [Guide](page/platform/appendix/locating-values/)
  * Security overview: [Guide](/guides/security)
  * Authentication best practices: [Guide](/guides/authentication/best-practices)
  * Detailed authorization steps: [Guide](/guides/authorization)
</Update>

<Update label="2021-07-30" tags={["Java", "SDKs"]}>
  ## Box Java SDK v2.55.1 released

  ### Bug Fixes

  * Restore methods for Execute Metadata Query, which were removed in [#890](https://github.com/box/box-java-sdk/pull/890), and mark them as deprecated ([#905](https://github.com/box/box-java-sdk/pull/905))
</Update>

<Update label="2021-07-26" tags={["New features", "API", "Java"]}>
  ## Release of Box Sign API

  Today, July 26th, 2021, beings the roll out of Box Sign! Programmatically
  harness the full functionality of the [Box Sign web app experience](https://support.box.com/hc/en-us/articles/4404086827411-Introducing-Box-Sign) by
  leveraging our newest API endpoints to create, list, resend, and cancel Box Sign
  requests.

  While Box Sign does not need to be enabled by an Admin to use its API endpoints,
  it does need to be rolled out to your enterprise. We will notify Admins as it
  becomes available for their Box instance.

  At a minimum, creating a Box Sign request requires selecting a file for
  signature, a destination folder for the signed document/[signing log](https://support.box.com/hc/en-us/articles/4404095202579-Viewing-the-signing-log), and
  designating signers. At this time, only one file can be signed per request.

  ```curl theme={null}
  curl -i -X PUT "https://api.box.com/2.0/sign_requests" \
       -H "Authorization: Bearer <ACCESS_TOKEN>" \
       -d '{
         "signers": [
            {    
              "role": "signer",
              "email": "example_email@box.com"
            }
          ],
         "source_files": [
            {
              "type": "file",
              "id": "123456789"
            }
         ],
         "parent_folder": 
            {
              "type": "folder",
              "id": "0987654321"
            }
       }'
  ```

  ## Features

  * Add endpoint to **create** Box Sign requests: [Guide](/guides/box-sign/create-sign-request) |
    [API reference](/reference//post-sign-requests)
  * Add endpoint to **list** Box Sign requests: [Guide](/guides/box-sign/list-sign-requests/#all) |
    [API reference](/reference/get-sign-requests)
  * Add endpoint to **get** Box Sign requests by ID: [Guide](/guides/box-sign/list-sign-requests/#by-id) |
    [API reference](/reference/get-sign-requests-id)
  * Add endpoint to **resend** Box Sign requests: [Guide](/guides/box-sign/resend-sign-request) |
    [API reference](/reference/post-sign-requests-id-resend)
  * Add endpoint to **cancel** Box Sign requests: [Guide](/guides/box-sign/cancel-sign-request) |
    [API reference](/reference/post-sign-requests-id-cancel)
  * Java SDK support: [GitHub](https://github.com/box/box-java-sdk/tree/main/src/test/java/com/box/sdkgen/signrequests)
</Update>

<Update label="2021-07-26" tags={["New features", "Java", "SDKs"]}>
  ## Box Java SDK v2.55.0 released

  NOTE: Due to the benign nature of the "breaking change" below, we decided NOT to increment the major version for this release.  There should be no customer impact due to this change.

  ### Breaking Changes

  * Update execute metadata query to match API response ([#890](https://github.com/box/box-java-sdk/pull/890))
    * NOTE: This change removes a method without deprecating it.  It was not possible to use the method correctly at all, because the underlying service no longer supported it.

  ### New Features and Enhancements

  * Remove or deprecate insensitive language (\[[#889](https://github.com/box/box-java-sdk/issues/889)])([https://github.com/box/box-java-sdk/pull/889](https://github.com/box/box-java-sdk/pull/889))
  * Add support for `is_external_collab_restricted` parameter for User ([#896](https://github.com/box/box-java-sdk/pull/896))
  * Add configurable permissions support for `GroupMembership` ([#897](https://github.com/box/box-java-sdk/pull/897))
  * Add `SHIELD_JUSTIFICATION_APPROVAL` event type ([#898](https://github.com/box/box-java-sdk/pull/898))
  * Add ability to get files under retention for assignment and file versions under retention for assignment ([#899](https://github.com/box/box-java-sdk/pull/899))
  * Add `TASK_UPDATE`, `FILE_VERSION_RESTORE` and `ADVANCED_FOLDER_SETTINGS_UPDATE` event types ([#902](https://github.com/box/box-java-sdk/pull/902))
  * Add Box Sign API support ([#904](https://github.com/box/box-java-sdk/pull/904))

  ### Bug Fixes

  * Add setters for `BoxLegalHoldPolicy` ([#885](https://github.com/box/box-java-sdk/pull/885))
  * Add setters for `BoxTaskAssignment` ([#886](https://github.com/box/box-java-sdk/pull/886))
  * Add setters for Group Membership and Web Links ([#887](https://github.com/box/box-java-sdk/pull/887))
  * Add setters for Webhooks ([#888](https://github.com/box/box-java-sdk/pull/888))
  * Deprecate `BoxFile.getThumbnail` in favor of `BoxFile.getRepresentationContent` ([#891](https://github.com/box/box-java-sdk/pull/891))
</Update>

<Update label="2021-07-16" tags={["API"]}>
  ## Updated file size limits

  Today we released our newest business plan, Enterprise Plus, which supports
  uploads and downloads up to 150GB. In addition, we upgraded file size limits for
  some of our existing plans, as detailed below. For details on how to confirm
  the file size limit for your account, please visit our
  [upload guide](/guides/uploads/direct).

  ## Updates

  * Enterprise: 50 GB
  * Digital Workplace Suite: 50 GB
  * Digital Workplace Global Suite: 50 GB
  * Digital Business Suite: 50 GB
  * Digital Business Global Suite: 50 GB
  * Enterprise Plus: 150 GB
</Update>

<Update label="2021-07-16" tags={["New features", "API"]}>
  ## New Manual Start Workflow Endpoints

  Two new API endpoints have been introduced for
  [Box Relay](https://www.box.com/collaboration/relay-workflow)

  * Get workflows configured on a folder
  * Start a manual start flow within a workflow for file(s)

  The new endpoints do not allow you to update any information within the
  workflows. Also, the post endpoint can only start flows with a `trigger_type`
  of `WORKFLOW_MANUAL_START`. There is an optional `outcome_parametes` object
  within the post request body. If your flow is configured to accept selections
  at start time, you will need to send in these as a parameter. A guide with all
  the options you can send in will be made available soon.

  ## Features

  This release has introduced the following new content and features.

  * New [workflow](/reference/workflows-resources#workflow) resource
  * New [GET](/reference/get-workflows) workflows endpoint
  * New [POST](/reference/post-workflows-id-start) start manual workflow endpoint
</Update>

<Update label="2021-07-01" tags={["API"]}>
  ## Notice of behavior change for item open events

  Starting today, we will begin rolling out changes to the behavior
  of `ITEM_OPEN` events when an application consumes those events from our
  [event API endpoint](https://developer.box.com/reference/get-events).

  This change will only affect the `ITEM_OPEN` [enterprise event](/guides/events/enterprise-events/for-enterprise).
  The new behavior will not cause downtime within existing applications or
  require any application changes to prevent uptime disruptions.

  ## Change overview

  Within the previous behavior when events were consumed, opened item events were
  surfaced through the `ITEM_OPEN` event type for the owner of the content as
  well as any contributors assigned to the content. This meant that if a file with
  2000 collaborators on it was opened, say on Drive, the file owner plus all
  2000 collaborators would have an event created stating that the file was opened.

  With the new behavior, notification of an item being opened will only be created
  for the owner of the content and will not be produced for collaborators. This
  will help to reduce the noise of the event stream while preserving the ability
  to see when items are opened as a content owner.

  ## Where to get support

  Should you have any issues or need further guidance, please post a request to
  our [developer forum](https://support.box.com/hc/en-us/community/topics/360001932973-Platform-and-Developer-Forum) for any help needed.
</Update>

<Update label="2021-06-16" tags={["Python", "SDKs"]}>
  ## Box Python SDK v2.12.1 Released

  ### Bug Fixes

  * Fix bug when thumbnail representations are not found ([#597](https://github.com/box/box-python-sdk/pull/597))
</Update>

<Update label="2021-05-20" tags={["Node", "SDKs"]}>
  ## Box Node SDK v1.37.2 released

  ### Bug Fixes

  * Fix backwards compatibility issue by moving some TypeScript [`@types`](https://github.com/types) as direct dependencies ([#630](https://github.com/box/box-node-sdk/pull/630))
</Update>

<Update label="2021-05-19" tags={["Node", "SDKs"]}>
  ## Box Node SDK v1.37.1 released

  ### Bug Fixes

  * Insensitive language: replace `whitelist` with `allowlist` ([#625](https://github.com/box/box-node-sdk/pull/625))
</Update>

<Update label="2021-04-22" tags={["New features", "Impactful changes", "UI Elements"]}>
  ## Box UI Elements v13.0.0 released

  ## [13.0.0](https://github.com/box/box-ui-elements/releases/tag/v13.0.0) (2021-04-22)

  ## Bug Fixes & Features

  This release fixes several bugs. For a full list, [please see the release notes](https://github.com/box/box-ui-elements/releases/tag/v13.0.0)
</Update>

<Update label="2021-04-20" description="Box iOS SDK v4.4.0 released" tags={["New features", "iOS", "SDKs"]}>
  ## Box iOS SDK v4.4.0 released

  ## Breaking Changes

  ### New Features and Enhancements

  * Add support for search parameter to get shared link items ([#756](https://github.com/box/box-ios-sdk/pull/756))
  * Add support for folder lock functionality ([#759](https://github.com/box/box-ios-sdk/pull/759))
  * Add support for `copyInstanceOnItemCopy` field for metadata templates ([#763](https://github.com/box/box-ios-sdk/pull/763))
  * Add support for stream upload of new file versions and add support for 'If-Match' header when uploading new file versions ([#766](https://github.com/box/box-ios-sdk/pull/766))
  * Add additional details field for `Event` model ([#770](https://github.com/box/box-ios-sdk/pull/770))

  ### Bug Fixes:\*\*

  * Pass only a scheme to iOS Authentication APIs ([#755](https://github.com/box/box-ios-sdk/pull/755))
  * Update `listEnterpriseGroups()` to use documented parameter for filtering by name ([#757](https://github.com/box/box-ios-sdk/pull/757))
  * Fix bug for OAuth where the callback is not called if token has been revoked ([#762](https://github.com/box/box-ios-sdk/pull/762))
</Update>

<Update label="2021-04-16" tags={["New features", "Python", "SDKs"]}>
  ## Box Python SDK v2.12.0 released

  ### New Features and Enhancements

  * Add metadata query functionality ([#574](https://github.com/box/box-python-sdk/pull/574))
  * Add folder lock functionality ([#581](https://github.com/box/box-python-sdk/pull/581))
  * Add search query support for the `include_recent_shared_links` field  ([#582](https://github.com/box/box-python-sdk/pull/582))
  * Update `get_groups()` to use documented parameter to filter by name ([#586](https://github.com/box/box-python-sdk/pull/586))
</Update>

<Update label="2021-04-16" tags={["New features", "Node", "SDKs"]}>
  ## Box Node SDK v1.37.0 released

  ### New Features and Enhancements

  * Add support for `copyInstanceOnItemCopy` field for metadata templates ([#572](https://github.com/box/box-node-sdk/pull/572))

  ### Bug Fixes

  * Fix webhook signature validation ([#568](https://github.com/box/box-node-sdk/pull/568))
  * Update dependencies to patch security vulnerabilities ([#578](https://github.com/box/box-node-sdk/pull/578))
</Update>

<Update label="2021-04-15" tags={["API"]}>
  ## Notice of behavior change for item download events

  Starting today, we will begin rolling out changes to the behavior
  of item download events when an application consumes those events from our
  [event API endpoints](https://developer.box.com/reference/get-events/).

  This change will only affect the
  `ITEM_DOWNLOAD` [user event](https://developer.box.com/guides/events/user-events/for-user/#event-types) and will not affect existing
  [enterprise events](https://developer.box.com/guides/events/enterprise-events/for-enterprise/). The new behavior will not cause
  downtime within existing applications or require any application changes to
  prevent uptime disruptions.

  ## Change overview

  Within the previous behavior when events were consumed, downloaded item
  events were surfaced through the `ITEM_DOWNLOAD` event type for the owner of
  the content as well as any contributors assigned to the content. This meant
  that if a file with 2000 collaborators on it was downloaded, the file owner
  plus all 2000 collaborators would have an event created stating that the file
  was downloaded.

  With the new behavior, notification of an item being downloaded will only be
  created for the owner of the content and will not be produced for
  collaborators. This will help to reduce the noise of the event stream while
  preserving the ability to see when items are downloaded as a content owner.

  ## Where to get support

  Should you have any issues or need further guidance, please post a request to
  our [developer forum](https://support.box.com/hc/en-us/community/topics/360001932973-Platform-and-Developer-Forum) for any help needed.
</Update>

<Update label="2021-04-13" tags={["New features", "API"]}>
  ## New option for downscoping tokens using shared links

  When requesting an access token, you now have the ability to downscope that token to a file or folder using a shared link.

  This new parameter may be used instead of using the `resource` parameter, which allows you to supply a file or folder ID to perform the same action.

  ## Updates

  * Added new `box_shared_link` request parameter to [downscoping documentation](https://developer.box.com/guides/authentication/access-tokens/downscope/#downscoping-in-practice). A shared link may be supplied to downscope an access token in the below way.

  ```bash theme={null}
  {
    curl -i -X POST "https://api.box.com/oauth2/token" \
       -H "Content-Type: application/x-www-form-urlencoded" \
       -d "subject_token=[ACCESS_TOKEN]" \
       -d "subject_token_type=urn:ietf:params:oauth:token-type:access_token" \
       -d "scope=item_upload item_preview base_explorer" \
       -d "box_shared_link=https://cloud.box.com/s/123456" \
       -d "grant_type=urn:ietf:params:oauth:grant-type:token-exchange"
  }
  ```

  * Added `box_shared_link` request parameter to [request access token API reference](https://developer.box.com/reference/post-oauth2-token/#request).
</Update>

<Update label="2021-04-01" tags={["New features", "Java", "SDKs"]}>
  ## Box Java SDK v2.54.0 released

  ### New Features and Enhancements

  * Add file request support ([#869](https://github.com/box/box-java-sdk/pull/869))

  ### Bug Fixes

  * Fix `BoxWeblink` deserialization ([#881](https://github.com/box/box-java-sdk/pull/881))
</Update>

<Update label="2021-03-25" tags={["New features", "API"]}>
  ## Service Account email added to Developer Console

  Upon Admin authorization of an application leveraging server authentication,
  the auto-generated email address of the Service Account is now surfaced in the
  General tab of the Developer Console. This email address can then be used to
  collaborate the user on Box content. The format will always be
  `AutomationUser_AppServiceID_RandomString@boxdevedition.com`. For example,
  `AutomationUser_123456_6jCo6Pqwo@boxdevedition.com`.

  To learn more, see our guide on [User Types](https://developer.box.com/platform/user-types) and [Service Accounts](https://developer.box.com/platform/user-types#service-account).

  ## Features

  * Added auto-generated email address of Service Account user to Developer
    Console
</Update>

<Update label="2021-03-25" tags={["New features", "API"]}>
  ## New Metadata Query Indices Endpoint

  A new API endpoint has been introduced to get a list of metadata query indices
  for a given template and scope.

  Metadata queries provide a way to find files and folders by searching for the
  metadata attached to them.

  When performing metadata queries on 10,000 or more files or folders,
  non-performant queries may produce an `HTTP 403` error.
  Creating a search index delivers the ability to run
  these queries at scale to bypass this error state, and are automatically applied
  during the querying process.

  The new endpoint permits the lookup of these created search indices.

  ## Features

  This release has introduced the following new content and features.

  * New API endpoint to get a list of metadata query
    indices by scope and template.
  * New metadata query index [response object](https://developer.box.com/reference/resources/metadata-query-indices/).
  * New metadata query indices [response object](https://developer.box.com/reference/resources/metadata-query-index/).

  ## Updates

  This release includes the following updated content.

  * Updated metadata query indices guide to include details
    on how to get a list of metadata query indices.
</Update>

<Update label="2021-03-16" tags={["New features", "API"]}>
  ## New Collection Events

  External collection events are now available via the
  [enterprise events](/guides/events/enterprise-events/for-enterprise/) stream.

  [Collections](/guides/collections/) in Box are a way to group files, folders, and web
  links without putting them all into a folder together. These new events provide
  a method for monitoring when collection actions are taken within an enterprise.

  The events follow the standard event object schema, and include the
  following:

  * `COLLECTION_CREATE`: A collection was created
  * `COLLECTION_DELETE`: A collection was deleted
  * `COLLECTION_UPDATE`: A collection was updated
  * `COLLECTION_ITEM_CREATE`: An item was added to a collection
  * `COLLECTION_ITEM_DELETE`: An item was removed from a collection
  * `COLLECTION_ITEM_UPDATE`: An item in a collection was updated
</Update>

<Update label="2021-02-26" tags={["New features", "API"]}>
  ## Box Shield Smart Access events

  External collaboration restriction and justification approval events are now
  available via the [enterprise events](/guides/events/enterprise-events/for-enterprise/) stream.

  [Box Shield](https://www.box.com/shield) must be purchased and enabled on a Box enterprise in
  order to take advantage of these advanced security offerings.

  These events follow the standard [event object](/reference/resources/event/) schema, with the
  `event_type` value set of:
  `SHIELD_EXTERNAL_COLLAB_INVITE_BLOCKED_MISSING_JUSTIFICATION`,
  `SHIELD_EXTERNAL_COLLAB_INVITE_JUSTIFIED`,
  `SHIELD_EXTERNAL_COLLAB_INVITE_BLOCKED`
  `SHIELD_EXTERNAL_COLLAB_ACCESS_BLOCKED_MISSING_JUSTIFICATION`,
  `SHIELD_EXTERNAL_COLLAB_ACCESS_BLOCKED`, or
  `SHIELD_JUSTIFICATION_APPROVAL`.

  The `additional_details` payload of each event provides more information. Full
  details can be found in our \[Shield Events [guide](/guides/events/event-triggers/shield-alert-events/#smart-access).

  ## Features

  * Add support for Box Shield external collaboration and justification approval
    events to the enterprise events stream
</Update>

<Update label="2021-02-26" tags={["New features", "CLI"]}>
  ## Box CLI v2.9.0 released

  ## New Features and Enhancements

  * Add ability to add an option to a metadata template multi select field ([#230](https://github.com/box/boxcli/pull/230))
  * Add folder lock functionality ([#232](https://github.com/box/boxcli/pull/232))
  * Add support for search parameter to get shared link items ([#233](https://github.com/box/boxcli/pull/233))

  ## Bug Fixes

  * Fix events command bug when there is no stream position flag ([#234](https://github.com/box/boxcli/pull/234))
  * Fix bug with folders:upload command not uploading folder contents ([#231](https://github.com/box/boxcli/issues/231))
</Update>

<Update label="2021-05-10" tags={["Salesforce", "Impactful changes", "API"]}>
  ## Box API response header changes that may impact your applications

  On May 10th, 2021, as part of our continued infrastructure upgrade, Box's API
  response headers will standardize to always return in a case-insensitive
  manner, in line with industry best practices and our API documentation.

  This change has the following potential impact:

  * [Salesforce SDK `v1`](https://github.com/box/box-salesforce-sdk/releases/tag/1.0.0) users will be impacted and will need
    to upgrade to a recent SDK version. Not doing so will cause your Box
    Salesforce integration to cease functioning after May 10th, 2021.
  * Box API consumers who do not use one of the [Box SDKs](https://developer.box.com/sdks-and-tools/) may be
    impacted and will need to verify header usage through their code. Depending on
    your header usage, not making adjustments may cause disruptions in your
    Box API integration.

  All customers and application admins who are potentially impacted have been
  notified directly via email.

  ## Change overview

  Applications that are using the return headers described above, such as
  `location` and `retry-after`, will need to verify that their applications are
  checking for these headers in a case-insensitive fashion. Over the past 12
  months Box has been upgrading its networking and observability infrastructure.
  These upgrades aim to improve reliability and availability of Box's products
  for our customers. This specific change allows Box to deploy an updated service
  proxy, enabling Box to better monitor service traffic, quickly find
  problem areas, and tune application performance.

  ## API Consumers: Verifying application impact

  Verifying whether your application(s) will be impacted will require a review of
  your code. If you are solely using one of the official Box SDKs to connect to
  Box APIs, you will not be impacted as the SDKs handle response headers in a
  case-insensitive manner.

  You may verify whether you are impacted with the following steps:

  * Locate the code in your application which handles the responses from Box API
    requests. If you are not extracting the response headers from these responses,
    you are not impacted.
  * If you are extracting those response headers, you may be impacted if you are
    expecting those headers in a case-sensitive fashion.

  For instance, if you are expecting the `Location` header to be returned with a
  starting capital `L`, a direct string comparison with a specific case, then
  your code will need to be altered to prevent it from breaking after the change
  is made.

  ## API Consumers: How to make the change

  To update the impacted application(s), ensure that you are checking these
  response headers in a case-insensitive manner. Specifically, your code should
  be built in a defensive way to ensure that if a header, such as `Location`, is
  sent with an initial capital `L` or a lowercase `l`, it'll be handled in the
  same way. For example, forcing all headers to lowercase before checking, or
  using a case-insensitive regex string check, are two viable methods for
  handling this process.

  ## Salesforce SDK `v1` users: Verifying application impact

  If you are unsure whether you are using `v1.0` of the Box Salesforce SDK, go to
  the application code location where you have stored the Box Salesforce SDK and
  do the following:

  Load the following Salesforce SDK file: `src/classes/BoxApiRequest.cls`

  Look for the following lines ([should be lines 6-7](https://github.com/box/box-salesforce-sdk/compare/1.0.0...v1.1.0#diff-1855f83ffd4977e5b9e4bfc167154f2e11b0161fd6c380502c48082b6837b0af)):

  ```apex theme={null}
  public final static String HEADER_LOCATION_LOWER_CASE = 'location';
  public final static String HEADER_LOCATION_CAPITALIZED = 'Location';
  ```

  If those lines are present then you are using `v1.1.0` or later of the
  Salesforce SDK, which is not impacted and no changes are needed. If those lines
  are not present then you are using `v1.0` of the Salesforce SDK, which will be
  impacted and will need to be updated.

  ## Salesforce SDK `v1` users: How to make the change

  To update the impacted application(s), you will need to update the version of
  the Salesforce SDK that you are using. It is recommended that you upgrade to
  the [most recent version](https://github.com/box/box-salesforce-sdk) of the SDK, but anything from
  [`v1.1.0` or later](https://github.com/box/box-salesforce-sdk/releases) will be adequate to ensure that
  there is no impact to your application(s).

  ## Where to get support

  Should you have any issues or need further guidance, please
  [file a ticket](https://support.box.com/hc/en-us/requests/new) with our support team or post a request to our
  [developer forum](https://support.box.com/hc/en-us/community/topics/360001932973-Platform-and-Developer-Forum) for any help needed.
</Update>

<Update label="2021-02-01" tags={["New features", "iOS", "SDKs"]}>
  ## Box iOS SDK v4.3.0 released

  ## Breaking Changes

  ### New Features and Enhancements

  * Add support for OAuth 2 custom callback URL ([#746](https://github.com/box/box-ios-sdk/pull/746))
  * Add support for zip download ([#749](https://github.com/box/box-ios-sdk/pull/749))

  ### Bug Fixes

  * Update gems to patch `kramdown` vulnerability ([#742](https://github.com/box/box-ios-sdk/pull/742))
  * Update gems to patch `activesupport` vulnerability ([#745](https://github.com/box/box-ios-sdk/pull/745))
</Update>

<Update label="2021-01-28" tags={["New features", "Node", "SDKs"]}>
  ## Box Node SDK v1.36.0 released

  ### New Features and Enhancements

  * Add folder lock functionality ([#560](https://github.com/box/box-node-sdk/pull/560))
  * Add support for filtering groups by name ([#561](https://github.com/box/box-node-sdk/pull/561))

  ### Bug Fixes

  * Update proxy-agent to patch proxy support issue ([#563](https://github.com/box/box-node-sdk/pull/563))
  * Update dependencies to patch security vulnerabilities ([#566](https://github.com/box/box-node-sdk/pull/566))
</Update>

<Update label="2021-01-25" tags={["API"]}>
  ## Maximum upload file size limit increases

  The maximum file size that may be uploaded via the API has been increased for
  the following Box account plans.

  * Business Plus
  * Enterprise
  * Digital Workplace Suite
  * Digital Workplace Global Suite

  The prior maximum upload file size for these account types was **5 GB**. This
  update increases the maximum file size to **15 GB**, effective immediately.

  For more information on the maximum file sizes for all account plans, please
  refer to the [direct uploads](/guides/uploads/direct/) documentation.
</Update>

<Update label="2021-01-15" tags={["API"]}>
  ## Metadata Query index changes

  When making file / folder [metadata query](/guides/metadata/queries/) requests, a
  search index needs to be created for queries where more than
  10,000 files / folders are being searched.

  To improve the efficiency and simplicity of this process, we have changed the
  way in which indexes are used by removing the explicit requirement to supply an
  index through the `use_index` key in a metadata query API request.

  There is no impact to existing applications that are currently supplying an
  index through the `use_index` key. The supplied index will be ignored in
  the request and the most efficient index will be automatically applied.

  ## Previous Indexing Process

  The following was the previous process for creating and using an index for a
  metadata query request involving 10,000+ files / folders in the search. This is
  the process being replaced.

  * Contact the metadata query team to request an index.
  * The metadata query team would create the index and supply back the name of
    the newly created index.
  * When making metadata query requests this index name was
    supplied as the value for the `use_index` key in the API request.

  ## New Indexing Process

  The following is the new process for creating and using an index.

  * Contact the metadata query team to request an index.

  The `use_index` key within the metadata query API request has been removed.
  Instead, the most efficient query will be automatically applied during the
  search process.

  Indexes that are currently supplied in the `use_index` key will be ignored, and
  instead the most efficient index will be used.

  Application owners may safely remove the `use_index` key and value from their
  metadata query requests at their discretion.
</Update>

<Update label="2021-01-15" tags={["New features", "API"]}>
  ## Developer Console Updates

  A new **Authorization** tab is now available in the Developer Console. In
  addition, clarifying UI changes were made to the **Application Access** and
  **Scope** settings within the **Configuration** tab to ease these decisions.
  These changes do not impact the functionality of the settings.

  Now, developers will navigate to the  **Authorization** tab to submit the
  application directly to their Box Admin for authorization approval.

  As for the **Configuration** tab, helpful tips were added to the JWT
  **Application Access** settings to facilitate a clear decision
  between **App Only Access** or **App Access + Enterprise Access**.
  The **Scope** section is now grouped by action type: content, administrative,
  and developer.

  * **App Approval Process**: [Guide](/guides/authorization/platform-app-approval)
  * **Scopes**: [Guide](/guides/api-calls/permissions-and-errors/scopes)
  * **Application Access**:
    [Guide](/guides/authentication/jwt/jwt-setup/#application-access)

  ## Updates

  * Added Authorization tab to the Developer Console
  * Updated the UI for JWT Application Access settings under the Configuration tab
  * Updated the UI grouping of Scopes under the Configuration tab
</Update>

<Update label="2021-01-11" tags={["New features", "Python", "SDKs"]}>
  ## Box Python SDK v2.11.0 released

  ### New Features and Enhancements

  * Deprecate and add method for getting a thumbnail ([#572](https://github.com/box/box-python-sdk/pull/572))
</Update>

<Update label="2021-01-09" tags={["New features", "Java", "SDKs"]}>
  ## Box Java SDK v2.53.0 released

  ### New Features and Enhancements

  * Add offset and limit parameters to `BoxFolder.getChildren` ([#861](https://github.com/box/box-java-sdk/pull/861))
</Update>
