> ## 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.

# 2020

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

<Update label="2020-12-14" tags={["Impactful changes", "API"]}>
  ## Blank OAuth 2 redirect URI change

  On September 28th, 2020 we announced upcoming changes to our
  [security requirements for OAuth 2 app redirect URIs](/changelog/2020).
  As of today, applications that use a blank redirect URI will no longer be
  permitted, and will begin to produce an error stating `redirect_uri missing`
  when attempting to redirect the user, stating that there is a mismatched URI.

  Impacted applications will have received multiple emails to the developer email
  address associated with the application and account, and are part of a small
  subset of applications that were grandfathered in to allow the functionality to
  persist.

  New applications, or any OAuth 2 applications that have a redirect URI
  specified are not impacted.

  ## How to update your OAuth 2 app redirect URI

  If your OAuth 2 application has started to produce an error during the redirect
  phase, you may be impacted by this change. To update your application(s),
  use the following steps:

  * Go to the
    [Box developer console](https://cloud.app.box.com/developers/console) as the
    user who owns the application(s).
  * From the top navigation, click on **Configuration**.
  * Scroll down to the **OAuth 2.0 Redirect URI** section. 
  * For any application where this URI is blank, add the URI that is being used
    in the application code when redirecting the user back to your application
    from the Box auth step,
    [as is described in this guide](/guides/authentication/oauth2/with-sdk/#2-redirect-user).
</Update>

<Update label="2020-12-03" tags={["API"]}>
  ## New type field in search API responses

  A new field, `type`, has been introduced in the
  [search result response object](https://developer.box.com/reference/resources/search-result-with-shared-link/) for returned shared
  link items.

  This response object format is only returned when making calls to the
  [content search](https://developer.box.com/reference/get-search/) endpoint with the
  `include_recent_shared_links` query parameter set to `true`.

  There is no impact to existing applications that are currently consuming this
  response object.

  ## Updates

  Prior to this release, the return object for shared link search results
  included two objects:

  * `accessible_via_shared_link`: The shared link which the item is accessible
    from.
  * `item`: The file, folder, or web link that matched the search query.

  ```js theme={null}
  {
    "accessible_via_shared_link": "https://www.box.com/s/vfejh7y01sb263wjtgfe",
    "item": {
      ...
    }
  }
  ```

  This update introduces the new `type` field, which is a string that will always
  be set to `search_result`.

  ```js theme={null}
  {
    "type": "search_result",
    "accessible_via_shared_link": "https://www.box.com/s/vfejh7y01sb263wjtgfe",
    "item": {
      ...
    }
  }
  ```

  For complete format information see the
  [shared link search result](https://developer.box.com/reference/resources/search-result-with-shared-link/) response object.
</Update>

<Update label="2020-12-03" tags={["New features", "CLI"]}>
  ## Box CLI v2.8.0 released

  ## Warning

  * Due to the changes in ([#217](https://github.com/box/boxcli/pull/217)), additional details about Box Items may now be returned for some commands.

  ### New Features and Enhancements

  * Output contents of array for bulk commands ([#217](https://github.com/box/boxcli/pull/217))

  ### Bug Fixes

  * Fix bug with setting proxy settings ([#218](https://github.com/box/boxcli/pull/218))
</Update>

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

  ### New Features and Enhancements

  * Add folder lock functionality ([#856](https://github.com/box/box-java-sdk/pull/856))
  * Add support for search parameter to get shared link
    items ([#855](https://github.com/box/box-java-sdk/pull/855))

  ### Bug Fixes

  * Fix bug with updating tracking codes ([#857](https://github.com/box/box-java-sdk/pull/857))
</Update>

<Update label="2020-11-17" tags={["New features", "API"]}>
  ## Announcing Client Credentials Grant authentication

  A new method for authenticating your JWT applications is now released.
  This new method, Client Credentials Grant, does not impact existing applications
  but offers an easier way to authenticate for new apps. Prior to today, we
  required a public/private key pair and assertion to verify an application’s
  identity and retrieve an Access Token. Now, you can request a token using only
  your client ID and client secret.

  ```cURL theme={null}
  curl --location --request POST ‘https://api.box.com/oauth2/token’ \
  --header ‘Content-Type: application/x-www-form-urlencoded’ \
  --data-urlencode ‘client_id=<client_id>’ \
  --data-urlencode ‘client_secret=<client_secret>’ \
  --data-urlencode ‘grant_type=client_credentials’ \
  --data-urlencode ‘box_subject_type=enterprise’ \
  --data-urlencode ‘box_subject_id=<enterprise_id>’
  ```

  For further information, please visit our [guide](/guides/authentication/jwt/without-sdk/#client-credentials-grant).

  ## Updates

  * Added client credentials grant as an auth option for new applications
  * Added 2FA requirement to copy/view client secret
  * Added selected authentication method in the Enterprise Authorization request
  * Removed the ability to change authentication type
</Update>

<Update label="2020-11-17" tags={["New features", "iOS", "SDKs"]}>
  ## Box iOS SDK v4.2.0 released

  ## Breaking Changes

  ### New Features and Enhancements

  * Add error information for disconnected OAuth web sessions

  ### Bug Fixes

  * Fix bug with creating collaboration
  * Fix bug with getting enterprise events
</Update>

<Update label="2020-11-13" tags={["Java", "SDKs"]}>
  ## Box Java SDK v2.51.1 released

  ### Bug Fixes

  * Fix for cross-enterprise collaborator calls to `updateMetadata`
    on files
</Update>

<Update label="2020-11-13" tags={["New features", "UI Elements"]}>
  ## Box Content Preview v2.57.0 released

  ### New Features and Enhancements

  * Add react versions of core control components ([#1282](https://github.com/box/box-content-preview/pull/1282))
  * Add react versions of existing control icons ([#1280](https://github.com/box/box-content-preview/pull/1280))
  * Add react versions of fullscreen and zoom controls ([#1283](https://github.com/box/box-content-preview/pull/1283))
  * Add react versions of text viewer controls ([#1284](https://github.com/box/box-content-preview/pull/1284))
  * Add instrumentation for annotation creation ([#1275](https://github.com/box/box-content-preview/pull/1275))
  * Upgrade `react` and `react-dom` to `^16.9.0` ([#1278](https://github.com/box/box-content-preview/pull/1278))

  ### Bug Fixes

  * Select newly created annotation ([#1276](https://github.com/box/box-content-preview/pull/1276))
  * Allow download of files via embedded links in Chrome ([#1277](https://github.com/box/box-content-preview/pull/1277))
  * Revert `pdf.js` to `v2.2.228` due to font rendering issue ([#1274](https://github.com/box/box-content-preview/pull/1274))
</Update>

<Update label="2020-11-09" tags={["API"]}>
  ## Simplified App Creation Flow

  A new, simplified app creation flow is now available in the Box
  [Developer Console](https://app.box.com/developers/console). The three
  types of applications are Custom Apps, Limited Access Apps, and Box Custom
  Skills.

  We added plain language to describe exactly when to select each
  app type and links to relevant documentation if you require additional
  information to help with your selection. The application type you select impacts
  which authentication methods are available.

  Most notably, is our new app type, Limited Access Apps. Select this app type if
  you'd like to leverage [Box View](/guides/embed/box-view/) or Box's preview services
  within another application. This app type only provides access to
  [app token authentication](/guides/authentication/app-token/), which has
  [restricted API capabilities](/guides/authentication/app-token/endpoints/).
  For full details, please visit our [guide](/guides/applications/platform-apps/index/) on
  selecting an app type.
</Update>

<Update label="2020-11-04" tags={["New features", "CLI"]}>
  ## Box CLI v2.7.0 released

  ### New Features and Enhancements

  * Make commands `collaborations:add`, `shared-links:update`, `shared-links:delete`, `users:search` that were previously hidden, now available ([#211](https://github.com/box/boxcli/issues/211))
  * Add `filter_term` parameter to `groups:list` ([#210](https://github.com/box/boxcli/issues/210))

  ### Bug Fixes

  * Fix bug with setting proxy settings ([#213](https://github.com/box/boxcli/issues/213))
</Update>

<Update label="2020-11-02" tags={["New features", "Node", "SDKs"]}>
  ## Box Node SDK v1.35.0 released

  ### New Features and Enhancements

  * Add support for search parameter to get shared link items ([#547](https://github.com/box/box-node-sdk/issues/547))
</Update>

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

  ### New Features and Enhancements

  * Add support for `copyInstanceOnItemCopy` field for metadata templates ([#850](https://github.com/box/box-java-sdk/pull/850))
  * Add support for more fields in `BoxCollaborator.Info` ([#843](https://github.com/box/box-java-sdk/pull/843))

  ### Bug Fixes

  * Update `getAllGroupsByName()` to use documented parameter ([#851](https://github.com/box/box-java-sdk/pull/851))
</Update>

<Update label="2020-10-26" tags={["New features", "API"]}>
  ## New Folder Lock APIs now available

  A new collections of APIs have been released to allow developers to lock move
  and delete operations on folders. New [API reference](/reference/post-folder-locks) and
  [guides](/guides/folders/single/create-lock) have been made available to help create and manage you folder
  locks.

  To create a lock on a folder to prevent it from being moved or deleted, supply
  the ID of a folder to the `folder_locks` endpoint.

  ```curl theme={null}
  curl -i -X POST "https://api.box.com/2.0/folder_locks" \
       -H "Authorization: Bearer <ACCESS_TOKEN>" \
       -H "Content-Type: application/json" \
       -d '{
         "folder": {
           "type": "folder",
           "id": "33552487093"
         }
       }'
  ```

  Additional API endpoints are available to allow a developer to list all locks
  on a given folder, or to delete an existing folder lock with a folder lock ID.

  * **Create a folder lock**: [Guide](/guides/folders/single/create-lock) | [API Reference](/reference/post-folder-locks)
  * **List all locks on a folder**: [Guide](/guides/folders/single/get-locks) | [API Reference](/reference/get-folder-locks)
  * **Delete a folder lock**: [Guide](/guides/folders/single/delete-lock) | [API Reference](/reference/delete-folder-locks-id)
</Update>

<Update label="2020-10-22" tags={["New features", "API"]}>
  ## New Folder Lock APIs now available

  A new collections of APIs have been released to permit the restriction of move
  and delete actions on folders. New [API reference](/reference/post-folder-locks) and [guides](/guides/folders/single/create-lock)
  have been made available to help create and manage you folder locks.

  To create a lock on a folder to prevent it from being moved or deleted, supply
  the ID of a folder to the `POST /folder_locks/` endpoint.

  ```curl theme={null}
  curl -i -X POST "https://api.box.com/2.0/folder_locks" \
       -H "Authorization: Bearer <ACCESS_TOKEN>" \
       -H "Content-Type: application/json" \
       -d '{
         "folder": {
           "type": "folder",
           "id": "33552487093"
         }
       }'
  ```

  Additional API endpoints are available to allow a developer to list all locks
  on a given folder, or to remove an existing folder lock from a folder.

  * **Create a folder lock**: [Guide](/guides/folders/single/create-lock) | [API Reference](/reference/post-folder-locks)
  * **List all locks on a folder**: [Guide](/guides/folders/single/get-locks) | [API Reference](/reference/get-folder-locks)
  * **Remove a folder lock**: [Guide](/guides/folders/single/delete-lock) | [API Reference](/reference/delete-folder-locks-id)
</Update>

<Update label="2020-10-21" tags={["API"]}>
  ## Metadata Cascade Policies API leaves Beta

  The [Metadata Cascade Policies API](/reference/post-metadata-cascade-policies) is now generally available to all
  and no longer in Beta.

  Over the past years, we've made a lot of technical improvements to our metadata
  infrastructure and we're happy to announce that we've now gotten to the moment
  where the Metadata Cascade Policies API is leaving Beta. This release does not
  involve any breaking changes and any existing application should not see any
  impact from this release.

  Since we initially launched, Metadata Cascade Policies has become over 10 times
  faster when applying metadata to new instances. Additionally, we've also made
  significant strides in reliability and observability to ensure a top-notch API
  experience, in line with the rest of our API suite.

  For more details about metadata, and metadata cascade policies, please visit the
  [Metadata guides](/guides/metadata) and our dedicated [Metadata Cascade Policies](/reference/post-metadata-cascade-policies)
  reference documentation.
</Update>

<Update label="2020-10-19" description="Box Windows SDK v3.25.0 released" tags={["New features", "Windows", "SDKs"]}>
  ## Box Windows SDK v3.25.0 released

  ### New Features and Enhancements

  * Add support for filtering when getting Groups ([#703](https://github.com/box/box-windows-sdk-v2/issues/703))
  * Add zip functionality ([#700](https://github.com/box/box-windows-sdk-v2/issues/700))
  * Deprecate one of the overloaded `ExecuteMetadataQueryAsync()` methods ([#699](https://github.com/box/box-windows-sdk-v2/issues/699))
  * Add support for `copyInstanceOnItemCopy` field for metadata templates  ([#698](https://github.com/box/box-windows-sdk-v2/issues/698))

  ### Bug Fixes

  * Fix bug with JWT Authentication automatic retry ([#697](https://github.com/box/box-windows-sdk-v2/issues/697))

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

<Update label="2020-10-08" tags={["New features", "API"]}>
  ## Search API adds support for Shared Links

  The [Search API](/reference/get-search) now supports returning files,
  folders and web links that the user has recently accessed
  through a shared link.

  Shared items can be requested by calling the
  [`GET /search`](/reference/get-search) API with the new
  `include_recent_shared_links` query parameter set to `true`.

  ```sh theme={null}
  curl -i -X GET https://api.box.com/2.0/search?query=Contract&include_recent_shared_link=true
  ```

  By default, the API won't return any shared items if this
  query parameter is not provided or not set to true.

  ## Change in response format

  When `include_recent_shared_links` is set to `true`, the
  response has slightly changed to allow for the additional
  information to be returned. Rather than returning a direct list
  of files, folders, and web links the API now returns a list of
  objects containing an `item` and an `accessible_via_shared_link`
  property.

  <Tabs>
    <Tab title="With shared link results">
      ```json theme={null}
      {
        "entries": [
          {
            "item": {
              "id": 12345,
              "etag": 1,
              "type": "file",
              "sequence_id": 3,
              "name": "Contract.pdf",
              ...
            },
            "accessible_via_shared_link": "https://www.box.com/s/vspke7y05sb214wjokpk"
          }
          ...
        ],
        "limit": 1000,
        "offset": 2000,
        "total_count": 5000
      }
      ```
    </Tab>

    <Tab title="Without">
      ```json theme={null}
      {
        "entries": [
          {
            "id": 12345,
            "etag": 1,
            "type": "file",
            "sequence_id": 3,
            "name": "Contract.pdf",
            ...
          },
          ...
        ],
        "limit": 1000,
        "offset": 2000,
        "total_count": 5000
      }
      ```
    </Tab>
  </Tabs>

  This change in response format should not impact any existing applications
  as it only applies to any API call made with the new query parameter.
</Update>

<Update label="2020-10-05" tags={["Node", "SDKs"]}>
  ## Box Node SDK v1.34.3 released

  ### Bug Fixes

  * Upgrade `ajv` dependency ([#545](https://github.com/box/box-node-sdk/issues/545))
</Update>

<Update label="2020-10-02" tags={["New features", "API"]}>
  ## New File Request APIs available

  A new collection of APIs are now available that allows
  developers to create and update File Requests. We've
  updated the [reference documentation](/reference/post-file-requests-id-copy) and added
  [new guides](/guides/file-requests) to help you manage your file requests.

  To create a copy of an existing file request, all you need is
  the unique ID of an existing file request, and the ID of the
  folder to apply the new request to.

  ```curl theme={null}
  curl -i -X POST "https://api.box.com/2.0/file_requests/42037322/copy" \
       -H "Authorization: Bearer <ACCESS_TOKEN>" \
       -d '{
         "folder": {
           "id": "2233212"
         }
       }'
  ```

  Additional APIs are available that allow a developer to get more details
  about a file request, update a file request, and delete a file request.
  For more details, please check out the developer documentation.

  * **Create a template file request**: [Guide](/guides/file-requests/template)
  * **Create a copy of a file request**: [Guide](/guides/file-requests/copy) | [API Reference](/reference/post-file-requests-id-copy)
  * **Get information about a file request**: [Guide](/guides/file-requests/get) | [API Reference](/reference/get-file-requests-id)
  * **Update a file request's configuration**: [Guide](/guides/file-requests/update) | [API Reference](/reference/put-file-requests-id)
  * **Delete a file request**: [Guide](/guides/file-requests/delete) | [API Reference](/reference/delete-file-requests-id)
</Update>

<Update label="2020-10-02" tags={["Python", "SDKs"]}>
  ## Box Python SDK v2.10.0 released

  ### New Features and Enhancements

  * Add support for `copyInstanceOnItemCopy` field for metadata templates ([#546](https://github.com/box/box-ios-sdk/pull/546))
  * Allow creating tasks with the `action` and `completion_rule` parameters ([#544](https://github.com/box/box-ios-sdk/pull/544))
  * Add Zip functionality ([#539](https://github.com/box/box-ios-sdk/pull/539))

  ### Bug Fixes

  * Fix bug with updating a collaboration role to owner ([#536](https://github.com/box/box-ios-sdk/pull/536))
  * Allow `ints` to be passed in as item IDs ([#530](https://github.com/box/box-ios-sdk/pull/530))
</Update>

<Update label="2020-10-29" tags={["Impactful changes", "API"]}>
  ## Change to OAuth 2 app redirect URI requirements

  On October 29th, 2020, Box will begin employing stricter requirements for
  redirect URIs used within new and existing
  [OAuth 2](/guides/authentication/oauth2/)-based Box integrations that may affect
  your application.

  Existing application owners that currently use a blank redirect URI in their
  application configuration, as
  [described here](/guides/authentication/oauth2/oauth2-setup/#redirect-uri), will
  need to update the redirect URI to match the redirect used within the code
  redirect step,
  [described here](/guides/authentication/oauth2/with-sdk/#2-redirect-user).

  On October 29th, 2020, applications that are still configured with a blank URI
  will begin returning an error when the user is redirected back to your
  application if URI adjustments aren't made.

  All impacted application owners and collaborators have been notified via
  the email address associated with their developer account.

  ## How to validate and make the change

  To validate your redirect URI and update your application(s) if they are
  affected, take the following steps:

  * Go to the
    [Box developer console](https://cloud.app.box.com/developers/console) as the
    user who owns the application(s).
  * For each **Custom App** using **OAuth 2** (client-side authentication) click
    on the application to open it.
  * From the left navigation, click on **Configuration**.
  * Scroll down to the **OAuth 2.0 Redirect URI** section. 
  * For any application where this URI is blank, add the URI that is being used
    in the application code when redirecting the user back to your application
    from the Box auth step,
    [as is described in this guide](/guides/authentication/oauth2/with-sdk/#2-redirect-user).
</Update>

<Update label="2020-09-25" tags={["New features", "API"]}>
  ## Search API adds support for Shared Links

  The [Search API](/reference/get-search) now supports returning files,
  folders and web links that the user has recently accessed
  through a shared link.

  Shared items can be requested by calling the
  [`GET /search`](/reference/get-search) API with the new
  `include_recent_shared_links` query parameter set to `true`.

  ```sh theme={null}
  curl -i -X GET https://api.box.com/2.0/search?query=Contract&include_recent_shared_link=true
  ```

  By default, the API won't return any shared items if this
  query parameter is not provided or not set to true.

  ## Change in response format

  When `include_recent_shared_links` is set to `true`, the
  response has slightly changed to allow for the additional
  information to be returned. Rather than returning a direct list
  of files, folders, and web links the API now returns a list of
  objects containing an `item` and an `accessible_via_shared_link`
  property.

  <Tabs>
    <Tab title="With shared link results">
      ```json theme={null}
      {
        "entries": [
          {
            "item": {
              "id": 12345,
              "etag": 1,
              "type": "file",
              "sequence_id": 3,
              "name": "Contract.pdf",
              ...
            },
            "accessible_via_shared_link": "https://www.box.com/s/vspke7y05sb214wjokpk"
          }
          ...
        ],
        "limit": 1000,
        "offset": 2000,
        "total_count": 5000
      }
      ```
    </Tab>

    <Tab title="Without">
      ```json theme={null}
      {
        "entries": [
          {
            "id": 12345,
            "etag": 1,
            "type": "file",
            "sequence_id": 3,
            "name": "Contract.pdf",
            ...
          },
          ...
        ],
        "limit": 1000,
        "offset": 2000,
        "total_count": 5000
      }
      ```
    </Tab>
  </Tabs>

  This change in response format should not impact any existing applications
  as it only applies to any API call made with the new query parameter.
</Update>

<Update label="2020-09-10" tags={["New features", "API"]}>
  ## Group API adds new filter and permissions

  The [`GET /groups`](/reference/get-groups) API now supports
  filtering groups by name using a new `filter_term` field.

  ```curl theme={null}
  curl -i -X GET "https://api.box.com/2.0/groups?filter_term=Engineering" \
       -H "Authorization: Bearer <ACCESS_TOKEN>"
  ```

  Additionally, all the Group endpoints now allow a developer to request
  a new
  [`permissions`](/reference/groups-resources#group-full)
  field, which currently has one attribute defining
  if the authenticated user can invite the group to any item.

  ```curl theme={null}
  curl -i -X GET "https://api.box.com/2.0/groups?field=permissions" \
       -H "Authorization: Bearer <ACCESS_TOKEN>"
  ```

  ```json theme={null}
  {
      "total_count": 1,
      "entries": [
          {
              "type": "group",
              "id": "223353242",
              "permissions": {
                  "can_invite_as_collaborator": true
              }
          }
      ],
      "limit": 100,
      "offset": 0
  }
  ```

  For more details about how to work with groups, please visit the
  [`Group API documentation`](/reference/get-groups).
</Update>

<Update label="2020-08-25" tags={["New features", "API"]}>
  ## New multiSelect metadata support in search API

  Starting today, the [Search API](/reference/get-search) adds support for matching items
  by multiple values of a [`multiSelect` metadata field](/guides/metadata/fields/multi-select). Before this
  change, it was not possible to find items by the value of a `multiSelect` field.

  To perform a search for items where a metadata field matches
  multiple values, the `mdfilters` parameter now supports a list of values.

  ```curl theme={null}
  curl -G 'https://api.box.com/2.0/search' \
       -H 'Authorization: Bearer <ACCESS_TOKEN>' \
       -d 'mdfilters=[{"scope":"enterprise_12345","templateKey":"contractInfo","filters":{"products":["shield","platform")]}}]'
  ```

  In this example, the `mdfilters` query parameter contains one filter with a
  `scope`, a `templateKey`, and a set of `filters`. Here is the same filter
  in a more readable format.

  ```json theme={null}
  [
    {
      "scope": "enterprise_12345",
      "templateKey": "contractInfo",
      "filters": {
        "products": [
          "shield",
          "platform"
        ]
      }
    }
  ]
  ```

  What is new here is that the `products` filter now performs a match on multiple
  values, only returning files and folders for which the template has a `products`
  value of either `shield` or `platform`. The value of the field can contain
  multiple values and only match on one of the values specified in the filter.
  For example `["shield", "governance"]` will be a match for the filter
  `["shield", "platform"]` as `shield` is included in the filter.
</Update>

<Update label="2020-08-21" tags={["New features", "CLI"]}>
  ## Box CLI v2.6.0 released

  [CHANGELOG](https://github.com/box/boxcli/blob/master/CHANGELOG.md#260-2020-08-20)

  * Add zip functionality ([#203](https://github.com/box/boxcli/issues/203)) [`1953639`](https://github.com/box/boxcli/commit/1953639fe78def22e9c9d392e784577fc089f842)
  * Add proxy support for `http`, `https`, `socks` and `pac` protocols. Proxy settings can be found under `box configure:settings` ([#202](https://github.com/box/boxcli/issues/202)) [`21671c8`](https://github.com/box/boxcli/commit/21671c854a3fe835eb46df6e640fa2237d23a313)
  * Fix filename issue when saving reports on Windows ([#195](https://github.com/box/boxcli/issues/195)) [`31853d3`](https://github.com/box/boxcli/commit/31853d30e9e20a1dc6967a8277fa38165ca671f4)

  [https://github.com/box/boxcli/compare/v2.5.1...v2.6.0](https://github.com/box/boxcli/compare/v2.5.1...v2.6.0)
</Update>

<Update label="2020-08-20" tags={["Node", "SDKs"]}>
  ## Box Node SDK v1.34.2 released

  * Make iterator bug fix for uploading files non breaking ([#534](https://github.com/box/box-node-sdk/issues/534)) [`b0baa18`](https://github.com/box/box-node-sdk/commit/b0baa18ef6d9dab99fd1db5b898d2cce46e5521d)

  [https://github.com/box/box-node-sdk/compare/v1.34.1...v1.34.2](https://github.com/box/box-node-sdk/compare/v1.34.1...v1.34.2)
</Update>

<Update label="2020-08-20" tags={["Java", "SDKs"]}>
  ## Box Java SDK v2.50.1 released

  Fix bug that occurred when downscoping a token for a Box folder ([#832](https://github.com/box/box-java-sdk/issues/832))
</Update>

<Update label="2020-08-17" tags={["Node", "SDKs"]}>
  ## Box Node SDK v1.34.1 released

  * Fix iterator bug for uploading new file versions ([#531](https://github.com/box/box-node-sdk/issues/531)) [`69b1387`](https://github.com/box/box-node-sdk/commit/69b138746c64ac8ee68b421853ca9ff4cc28531e)

  [https://github.com/box/box-node-sdk/compare/v1.34.0...v1.34.1](https://github.com/box/box-node-sdk/compare/v1.34.0...v1.34.1)
</Update>

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

  * Add zip functionality ([#525](https://github.com/box/box-node-sdk/issues/525)) [`2f89357`](https://github.com/box/box-node-sdk/commit/2f893577fd06dcac449ac9bfeb72cd76e1e839ae)
  * Add proxy support for HTTP, HTTPS, SOCKS and PAC protocols ([#529](https://github.com/box/box-node-sdk/issues/529)) [`b08cc24`](https://github.com/box/box-node-sdk/commit/b08cc24f240075fb24d9e5827f50ec9e26eeebc8)

  [https://github.com/box/box-node-sdk/compare/v1.33.0...v1.34.0](https://github.com/box/box-node-sdk/compare/v1.33.0...v1.34.0)
</Update>

<Update label="2020-07-30" tags={["New features", "API"]}>
  ## Updates to Search Relevance & Performance

  In January, updates were released to Box's search [tokenizer](https://en.wikipedia.org/wiki/Lexical_analysis#Tokenization),
  improving the relevancy of search results and performance. This change does not
  effect how metadata is tokenized.

  Notable changes to the API-initiated searches include:

  * The ability to use "[stop words](https://en.wikipedia.org/wiki/Stop_words)", for example ("the"), ("is"),
    ("at"), ("which"), and ("on").
  * Improved Japanese text tokenization and improved search results.

  See the [full-text search](/guides/search) documentation for more
  information on how to search using Box's API.
</Update>

<Update label="2020-07-22" tags={["New features", "API"]}>
  ## New Zip Download APIs available

  A new collection of APIs are now available that allows developers to create a
  Zip file containing a specified list of files and folders. We've updated the
  reference documentation for this [Zip Download API](/reference/post-zip-downloads). SDK
  support for these new endpoints is currently in development and scheduled
  to be released in the next 3 months.
</Update>

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

  1. Add retries on request creation errors ([#828](https://github.com/box/box-java-sdk/issues/828))
</Update>

<Update label="2020-07-21" tags={["New features", "Windows", "SDKs"]}>
  ## Box Windows SDK v3.24.0 released

  See [Changelog](https://github.com/box/box-windows-sdk-v2/blob/master/CHANGELOG.md#3240-2020-07-21) for details.

  Commits: [https://github.com/box/box-windows-sdk-v2/compare/v3.23.0...v3.24.0](https://github.com/box/box-windows-sdk-v2/compare/v3.23.0...v3.24.0)

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

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

  1. Add `fields` parameter for metadata query ([#826](https://github.com/box/box-java-sdk/issues/826))
  2. Add zip functionality ([#825](https://github.com/box/box-java-sdk/issues/825))
  3. Fix bug with setting the unshared at date for a shared link ([#819](https://github.com/box/box-java-sdk/issues/819))
</Update>

<Update label="2020-07-16" tags={["New features", "API"]}>
  ## Change to enterprise events for content access

  Starting today, the [enterprise event stream](/guides/events/enterprise-events/for-enterprise/) will
  begin producing new content access events.

  A new `CONTENT_ACCESS` event is triggered when a file was accessed by an
  authorized user or programmatically by a Box application.

  See the [enterprise events](/guides/events/enterprise-events/for-enterprise/) documentation
  for more information on other event types.
</Update>

<Update label="2020-07-15" tags={["New features", "Impactful changes", "API"]}>
  ## Changes to Metadata Query API syntax

  The [Metadata Query API](/guides/metadata/queries) has been updated to **require explicitly
  defined response fields**.

  ```curl theme={null}
  curl -X POST https://api.box.com/2.0/metadata_queries/execute_read \
        -H 'Authorization: Bearer <ACCESS_TOKEN>" '
        -H 'Content-Type: application/json'
        -d '{
          "from": "enterprise_123456.customerInfo",
          "query": "tav >= :value",
          "query_params": {
            "value": 200000
          },
          "fields": [
            "name",
            "metadata.enterprise_123456.customerInfo.tav"
         ],
          "ancestor_folder_id": "0"
        }'
  ```

  Additionally, **the response format now returns a list of items** rather
  than a list of query results. Any metadata is now nested within the item,
  rather than listed side-by-side with the item. Only fields specified in the
  `field` array - as well as any base fields - are returned in the response.

  ```json theme={null}
  {
    "entries": [{
      "id": "394384323",
      "type": "file",
      "etag": 1,
      "name": "Contract.pdf",
      "metadata": {
        "enterprise_123456": {
          "customerInfo": {
            "$parent": "folder_12345,",
            "$scope": "enterprise_123456",
            "$template": "customerInfo",
            "$version": 1,
            "tav": 1000000
          }
        }
      }
    }]
  }
  ```

  ## Legacy syntax

  For reference, the API would previously return all standard fields for an item
  as well as the matched metadata.

  ```curl theme={null}
  curl -X POST https://api.box.com/2.0/metadata_queries/execute_read \
        -H 'Authorization: Bearer <ACCESS_TOKEN>" '
        -H 'Content-Type: application/json'
        -d '{
          "from": "enterprise_123456.customerInfo",
          "query": "tav >= :value",
          "query_params": {
            "value": 200000
          },
          "ancestor_folder_id": "0"
        }'
  ```

  The response body previously returned the items as a list of entries, each
  containing an `item` and a `metadata` instance.

  ```json theme={null}
  {
    "entries":[
      {
        "item":{
          "type":"file",
          "id":"394384323",
          "name": "Contract.pdf",
          "file_version":{
            "type":"file_version",
            "id":"33482348",
            "sha1":"69888bb1bff455d1b2f8afea75ed1ff0b4879bf6"
          },
          ...
        },
        "metadata":{
          "enterprise_123456":{
            "customerInfo":{
              "tav": 1000000,
              "$id": "01234500-12f1-1234-aa12-b1d234cb567e",
              "$parent": "folder_12345,",
              "$scope": "enterprise_123456",
              "$template": "customerInfo",
              "$type": "customerInfo-6bcba49f-ca6d-4d2a-a758-57fe6edf44d0",
              "$typeVersion": 2,
              "$version": 1,
              "$canEdit": true
            }
          }
        }
      },
      ...
    ],
    "limit": 20,
    "next_marker":"AAAAAmVYB1FWec8GH6yWu2nwmanfMh07IyYInaa7DZDYjgO1H4KoLW29vPlLY173OKsci6h6xGh61gG73gnaxoS+o0BbI1/h6le6cikjlupVhASwJ2Cj0tOD9wlnrUMHHw3/ISf+uuACzrOMhN6d5fYrbidPzS6MdhJOejuYlvsg4tcBYzjauP3+VU51p77HFAIuObnJT0ff"
  }
  ```

  This legacy syntax **will still be available for any existing Metadata Query API
  users only**. The legacy syntax will be turned off When all existing customers
  have been migrated over to the new syntax.
</Update>

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

  * Add path parameter sanitization ([#505](https://github.com/box/box-node-sdk/issues/505)) [`46b780a`](https://github.com/box/box-node-sdk/commit/46b780a577999262f09f167c577471275c066609)
  * Add support for all streams for uploading files ([#519](https://github.com/box/box-node-sdk/issues/519)) [`93a27ec`](https://github.com/box/box-node-sdk/commit/93a27ec8a5cdf4cb23d16d322e1e884913472239)

  [https://github.com/box/box-node-sdk/compare/v1.32.0...v1.33.0](https://github.com/box/box-node-sdk/compare/v1.32.0...v1.33.0)
</Update>

<Update label="2020-06-24" tags={["New features", "Java", "SDKs"]}>
  ## Box Java SDK v2.48.0 released

  `v2.48.0`

  1. Add ability to get groups by name with fields option ([#789](https://github.com/box/box-java-sdk/issues/789))
  2. Add shared link downscoping ([#785](https://github.com/box/box-java-sdk/issues/785))
  3. Deprecate the use of float for Metadata values, in preference of the underlying value (double) ([#811](https://github.com/box/box-java-sdk/issues/811))
  4. Add iterator support for group collaborations ([#813](https://github.com/box/box-java-sdk/issues/813))
  5. Add ability to set the filename when uploading a new version of a file ([#810](https://github.com/box/box-java-sdk/issues/810))
  6. Add support for the classification field for Files and Folders ([#809](https://github.com/box/box-java-sdk/issues/809))
  7. Add support for setting Tracking Codes ([#766](https://github.com/box/box-java-sdk/issues/766))
  8. Fix issue for `getIsExternallyOwned()` for Files and Folders ([#808](https://github.com/box/box-java-sdk/issues/808))
</Update>

<Update label="2020-06-23" tags={["New features", "Python", "SDKs"]}>
  ## Box Python SDK v2.9.0 released

  * Fix exception handling for OAuth
  * Fix path parameter sanitization
</Update>

<Update label="2020-06-11" tags={["New features", "Impactful changes", "API"]}>
  ## Change to enterprise events for tasks

  Starting today, the [enterprise event stream](/guides/events/enterprise-events/for-enterprise/) will
  begin producing new task and task assignment events, and some existing task
  events will return additional fields.

  ## New events

  * A new `TASK_UPDATE` event is triggered when a task is updated
  * A new `TASK_ASSIGNMENT_DELETE` event is triggered when a task is unassigned
    from a user

  ## Updated events

  ### Changes to `TASK_CREATE`

  When a task is created, the event now includes the task's ID (`task.id`), the ID
  of the user who created the task (`task.created_by.id`), the task's description
  (`task.message`), and the optional due date of the task  (`task.due_date`)
  within the `additional_details` object.

  ```json theme={null}
  "additional_details": {
    "task": {
      "id": "1234567",
      "due_at": "2020-07-06T10:49:44-07:00",
      "message": "task description",
      "created_by": {
        "id": 123456,
        "login": "email@example.com"
      },
      ...
    }
  }
  ```

  ### Changes to `TASK_ASSIGNMENT_CREATE` and `TASK_ASSIGNMENT_UPDATE`

  When a task assignment is created or updated, the event now includes the task's
  ID (`task.id`), the ID of the assigned user (`task_assignment.assigned_to.id`)
  and their login (`task_assignment.assigned_to.login`), the task's description
  (`task.message`), and the optional due date of the task (`task.due_date`) within
  the `additional_details` object.

  ```json theme={null}
  "additional_details": {
    "task": {
      "id": "1234567",
      "created_by": {
        "id": 12345,
        "login": "email@example.com"
      }
    },
    "task_assignment": {
      "assigned_to": {
        "id": 12346,
        "login": "email+2@example.com"
      },
      "status": "NOT_STARTED",
      "message": "assignee message"
    },
    ...
  }
  ```

  See the [enterprise events](/guides/events/enterprise-events/for-enterprise/) documentation
  for more information on other event types.
</Update>

<Update label="2020-05-15" tags={["New features", "iOS", "SDKs"]}>
  ## Box iOS SDK v4.1.0 released

  **Breaking Changes:**

  **New Features and Enhancements:**

  * Add ability to cancel uploads and downloads
  * Add support for the uploader display name field for Files and File Versions
  * Add support for the classification field for Files and Folders
  * Add path parameter sanitization

  **Bug Fixes:**

  * Fix logging of API responses
</Update>

<Update label="2020-05-12" tags={["New features", "Windows", "SDKs"]}>
  ## Windows .NET SDK v3.23.0 released

  See [Changelog](https://github.com/box/box-windows-sdk-v2/blob/master/CHANGELOG.md#3230-2020-05-12) for details
  Commits: [`v3.22.0...v3.23.0`](https://github.com/box/box-windows-sdk-v2/compare/`v3.22.0...v3.23.0`)

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

<Update label="2020-05-12" tags={["New features", "API"]}>
  ## New shield alert events

  As of today, [Box Shield](https://www.box.com/shield) will begin producing new security events
  within the [enterprise event stream](/guides/events/enterprise-events/for-enterprise/) for Shield
  customers who are configured to listen for the new events.

  The possible incident events produced by Shield are:

  * Suspicious locations
  * Suspicious sessions
  * Anomalous download
  * Malicious content

  See the [shield alert events](/guides/events/event-triggers/shield-alert-events/) documentation
  for more information on the payloads produced within these events.
</Update>

<Update label="2020-04-24" tags={["New features", "Python", "SDKs"]}>
  ## Python SDK v2.8.0 released

  * Added support for token exchange using shared links
  * Added the ability to pass in a SHA1 value for file uploads
</Update>

<Update label="2020-04-23" tags={["New features", "API"]}>
  ## New classification field for Files

  A new optional field has been made available within the `Field` object,
  `classification`. This field represents the classification that is currently
  applied to a file.

  The classification can be requested via any endpoint that returns a file, like
  the [Get file information](/reference/get-files-id) and supports [requesting
  additional `fields`](/guides/api-calls/request-extra-fields).

  ```js theme={null}
  {
    "id": "123456789",
    "type": "file",
    "etag": "1",
    "classification": {     
      "name": "Top Secret",     
      "definition": "Content that should not be shared outside the company.",
      "color": "#FF0000"
    },
    ...
  }
  ```

  The classification can be set through the API, Box Shield, or by a user using
  the web application.
</Update>

<Update label="2020-04-23" tags={["New features", "Java", "SDKs"]}>
  ## Java SDK v2.47.0 released

  1. Fix path parameter sanitization ([#797](https://github.com/box/box-java-sdk/pull/797))
  2. Add support for the uploader display name field for Files and File version ([#791](https://github.com/box/box-java-sdk/pull/791))
</Update>

<Update label="2020-04-23" tags={["New features", "API"]}>
  ## Add new uploader\_display\_name field to file and file versions

  A new field, `uploader_display_name` has been added to both file and file
  version resources. This field provides the name of the user at the time of
  upload.

  ```json theme={null}
  {
    ...
    "uploader_display_name": "Ellis Wiggins"
  }
  ```

  This field can be requested on any of the file and file
  version endpoints by providing the `fields` query parameter, for example:

  ```bash theme={null}
  curl -X GET https://api.box.com/2.0/files/12345?fields=uploader_display_name \
       -H 'Authorization: Bearer <ACCESS_TOKEN>'
  ```

  When the file is uploaded by a logged out anonymous, the email of the
  user is returned instead. If no email is available then the field will default
  to the text `Someone`.
</Update>

<Update label="2020-04-21" tags={["New features", "API"]}>
  ## New Metadata Query APIs available

  A new API is now available that allows developers to query files and folders
  by the metadata attached to them. We've updated the reference documentation for
  this [Metadata Query API](/reference/post-metadata-queries-execute-read), as well as released some brand new
  [guides](/guides/metadata/queries) and an update to the [metadata quick start guide](/guides/metadata/quick-start).
</Update>

<Update label="2020-04-21" tags={["New features", "CLI"]}>
  ## Box CLI v2.5.1 released

  [CHANGELOG](https://github.com/box/boxcli/blob/master/CHANGELOG.md#251-2020-04-14)

  * Added `--quiet` flag to suppress any non-error output to `stderr` ([#167](https://github.com/box/boxcli/pull/167)) [`27045c6`](https://github.com/box/boxcli/commit/27045c6)
  * Fixed a bug for the `--restrict-collaboration` flag for `box folders:update` where previously the flag would not restrict the collaborations when passed as true and would restrict collaborations when passed as false ([#175](https://github.com/box/boxcli/pull/175)) [`e6e1120`](https://github.com/box/boxcli/commit/e6e1120)
  * Added `box trash:restore` to restore a trashed item and `box trash:get` to get information on a trashed item ([#179](https://github.com/box/boxcli/pull/179)) [`74db947`](https://github.com/box/boxcli/commit/74db947)
  * Fixed a bug where flags that can be specified multiple times in a single command could not be passed through the command line for bulk commands ([#183](https://github.com/box/boxcli/pull/183)) [`63db0ac`](https://github.com/box/boxcli/commit/63db0ac)
  * **Note**: Skipped version 2.5.0 due to development of new release process

  [`v2.4.0...v2.5.1`](https://github.com/box/boxcli/compare/`v2.4.0...v2.5.1`)
</Update>

<Update label="2020-04-09" tags={["New features", "Java", "SDKs"]}>
  ## Java SDK v2.46.0 released

  1. Fix retry logic ([#787](https://github.com/box/box-java-sdk/pull/787))
  2. Add path parameter sanitization ([#790](https://github.com/box/box-java-sdk/pull/790))
  3. Add ability to set expiration date for a collaboration ([#788](https://github.com/box/box-java-sdk/pull/788))
</Update>

<Update label="2020-04-02" tags={["New features", "Java", "SDKs"]}>
  ## Java SDK v2.45.0 released

  1. Add preflight check before chunked uploads ([#782](https://github.com/box/box-java-sdk/pull/782))
  2. Check that part was successfully uploaded for large file uploads… ([#781](https://github.com/box/box-java-sdk/pull/781))
  3. Fix bug with unexpected disconnect in File Rename ([#779](https://github.com/box/box-java-sdk/pull/779))
  4. Return metadata for each item returned by a metadata query ([#778](https://github.com/box/box-java-sdk/pull/778))
</Update>

<Update label="2020-04-01" tags={["New features", "Node", "SDKs"]}>
  ## Node SDK v1.32.0 released

  * Temporarily removed Node 4 and Node 5 builds from Travis, due to tests not passing.  Will investigate, going forward ([#495](https://github.com/box/box-node-sdk/pull/495)). [`dc558e9`](https://github.com/box/box-node-sdk/commit/dc558e9)
  * Fixed an issue where an error is thrown during a retry when a response is not returned by the previous call  ([#477](https://github.com/box/box-node-sdk/pull/477)). [`f1b3449`](https://github.com/box/box-node-sdk/commit/f1b3449)
  * Added the ability to [query](https://github.com/box/box-node-sdk/blob/v1.32.0/docs/metadata.md#query) Box items based on their metadata ([#487](https://github.com/box/box-node-sdk/pull/487)). [`6f08931`](https://github.com/box/box-node-sdk/commit/6f08931)

  [`v1.31.0...v1.32.0`](https://github.com/box/box-node-sdk/compare/`v1.31.0...v1.32.0`)
</Update>

<Update label="2020-03-30" tags={["Impactful changes", "API"]}>
  ## Potential impactful changes to format of Metadata date fields

  As part of ongoing improvements to our Metadata infrastructure we will be
  rolling out three potential impactful changes to the format of `date` fields in
  metadata templates. These changes make the format our API returns more
  consistent between API calls.

  The first change affects the usage of time zone offsets in dates. Previously,
  the API would inconsistently return dates with and without timezone offsets if a
  date was set to include one. From now on all dates are converted to UTC /
  Zulu-time, removing the timezone offset.

  For example:

  * Assume a date was set to `2020-02-20T12:00:00.000-01:00`
  * Previously the API would return `2020-02-20T12:00:00.000-01:00` (the original
    value) or `2020-02-20T13:00:00.000Z` (the UTC adjusted value)
  * From now on it will always return `2020-02-20T13:00:00.000Z` (the UTC adjusted
    value)

  The second change affects the sub-second precision of dates returned by the
  metadata API. Previously, the API would return values with 0 to 3 digits of
  sub-second precision. From now on Box will always return metadata date-time
  values with millisecond precision.

  For example:

  * Previously the API might return `2020-02-20T12:00:00Z`,
    `2020-02-20T12:00:00.0Z`, `2020-02-20T12:00:00.00Z`or
    `2020-02-20T12:00:00.000Z`
  * From now on it will always return `2020-02-20T12:00:00.000Z`

  The final change affects the usage of the
  [`test`](/guides/metadata/instances/update#test-a-value) operation when updating a
  metadata instance. Previously the test would compare the date-time values using
  the literal string value. After this update they are compared using their UNIX
  timestamp in milliseconds.

  For example:

  * Previously `2020-01-21T19:20:00.123-08:00` would not be equivalent to
    `2020-01-22T03:20:00.123Z`
  * From now on `2020-01-21T19:20:00.123-08:00` is equivalent to
    `2020-01-22T03:20:00.123Z`

  ## How this can affect an application

  Any application that implements `RFC3339`-compliant date-time parsing will not
  need to perform any action as these are all valid `RFC3339` values representing
  the same dates. Any application that does not implement `RFC3339` compliant
  date-time parsing should be updated to do so.

  All official Box SDKs support `RFC3339`-compliant date-time parsing, so any
  application using an up-to-date version of an official Box SDK would not require
  any update.

  ## What do if this affected your application

  Roll-out of this change will be performed gradually over the next few weeks.
  Although the metadata team will be monitoring potential impact, please reach out
  to your customer success manager or our support channels if you find yourself
  impacted.
</Update>

<Update label="2020-03-30" tags={["Impactful changes", "API"]}>
  ## Change to metadata instance version

  As part of ongoing improvements to our Metadata infrastructure we will be
  rolling out a small change to the [`version`](r:/metadata/#param-\$version) value
  of a metadata Instance.

  Previously, the version number associated with a metadata instance would be
  incremented if a field on the associated metadata template was deleted, or if an
  `enum` field's option was deleted on the associated metadata template.

  Going forward, these changes will not increment the version number of a metadata
  instance.

  This behavior has always been implicit and we recognize that very little value
  can be derived form to the metadata instance version. Therefore we do not expect
  this change to have any impact on any of our customers. Regardless, please reach
  out to your customer success manager or our support channels if you find
  yourself impacted.
</Update>

<Update label="2020-02-25" tags={["New features", "Windows", "SDKs"]}>
  ## Windows .NET SDK v3.22.0 Released

  See [Changelog](https://github.com/box/box-windows-sdk-v2/blob/master/CHANGELOG.md#3220-2020-02-25) for details
  Commits: [`v3.21.0...v3.22.0`](https://github.com/box/box-windows-sdk-v2/compare/`v3.21.0...v3.22.0`)

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

<Update label="2020-02-14" tags={["New features", "Node", "SDKs"]}>
  ## Node SDK v1.31.0 released

  * Fix Authentication Request Retries ([#454](https://github.com/box/box-node-sdk/pull/454)) [`dd3253e`](https://github.com/box/box-node-sdk/commit/dd3253e)
  * Added marker-based paging for users endpoints ([#461](https://github.com/box/box-node-sdk/pull/461)) [`055cb5b`](https://github.com/box/box-node-sdk/commit/055cb5b)
  * Added `getNextMarker()` to `PagingIterator` to get the next marker ([#461](https://github.com/box/box-node-sdk/pull/461)) [`055cb5b`](https://github.com/box/box-node-sdk/commit/055cb5b)

  [`v1.30.0...v1.31.0`](https://github.com/box/box-node-sdk/compare/`v1.30.0...v1.31.0`)
</Update>

<Update label="2020-02-13" tags={["Java", "SDKs"]}>
  ## Java SDK v2.44.1 Released

  1. Fix formatting bug for Java Logger ([#775](https://github.com/box/box-java-sdk/pull/775))
  2. Improve date / time parsing for responses ([#772](https://github.com/box/box-java-sdk/pull/772))
</Update>

<Update label="2020-02-13" tags={["New features", "Impactful changes", "iOS", "SDKs"]}>
  ## Box iOS SDK v4.0.0 released

  **Breaking Changes:**

  * Change `status` field for task assignments from a String to an Enum
  * Remove `macOS`, `tvOS`, and `watchOS` support

  **New Features and Enhancements:**

  * Make authentication session classes `OAuth2Session`, `SingleTokenSession`, and `DelegatedAuthSession` public
</Update>

<Update label="2020-02-03" tags={["SDKs", "Content preview"]}>
  ## Preview SDK v2.34.0 released

  Version `2.34.0` of the Preview SDK has been released. New JavaScript and CSS
  Preview files have been made available. To adopt new changes, please see the
  [UI Elements manual installation](/guides/embed/ui-elements/installation/#manual-installation) links for Content
  Preview.

  Please see the `v2.34.0` [release notes](https://github.com/box/box-content-preview/releases/tag/v2.34.0) for a list
  of all feature changes.
</Update>

<Update label="2020-01-22" tags={["Python", "SDKs"]}>
  ## Python SDK v2.7.1 released

  * Fixed bug in `_get_retry_request_callable` introduced in release 2.7.0 which caused chunked uploads to fail
</Update>

<Update label="2020-01-22" tags={["SDKs", "Content preview"]}>
  ## Preview SDK v2.33.1 released

  Version `2.33.1` of the Preview SDK has been released. New JavaScript and CSS
  Preview files have been made available. To adopt new changes, please see the
  [UI Elements manual installation](/guides/embed/ui-elements/installation/#manual-installation) links for Content
  Preview.

  Please see the `v2.33.1` [release notes](https://github.com/box/box-content-preview/releases/tag/v2.33.1) for a list
  of all feature changes.
</Update>

<Update label="2020-01-21" tags={["New features", "Java", "SDKs"]}>
  ## Java SDK v2.44.0 released

  1. Fix Authentication Request Retries ([#764](https://github.com/box/box-java-sdk/pull/764))
</Update>

<Update label="2020-01-20" tags={["Postman"]}>
  ## Refreshed Postman Collection & Quick Start

  The Box Postman collection has been updated with new features and an integrated
  quick-start guide. Key features include:

  * An end-to-end [Postman quick-start guide](/guides/tooling/postman) that
    helps users to install Postman, set up a Box App, and load their API
    credentials into Postman.
  * A [restructured Postman collection](/guides/tooling/postman) for the Box APIs that
    automatically detects when API credentials have expired and offers integrated
    solutions for refreshing these credentials when needed.

  The [legacy Postman collection](/guides/tooling/postman) will stay available
  for the foreseeable future.
</Update>

<Update label="2020-01-16" tags={["New features", "Python", "SDKs"]}>
  ## Python SDK v2.7.0 released

  * Fixed bug in `get_admin_events` function which caused errors when the optional `event_types` parameter was omitted.
  * Add marker based pagination for listing users.
  * Added support for more attribute parameters when uploading new files and new versions of existing files.
  * Combined preflight check and lookup of accelerator URL into a single request for uploads.
  * Fixed JWT retry logic so a new JTI claim is generated on each retry.
  * Fixed bug where JWT authentication requests returned incorrect error codes.
  * Fixed retry logic so when a Retry-After header is passed back from the API, the SDK waits for the amount of time specified in the header before retrying.
</Update>
