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

# Box SDK versioning strategy

export const MultiRelatedLinks = ({sections = []}) => {
  if (!sections || sections.length === 0) {
    return null;
  }
  return <div className="space-y-8">
      {sections.map((section, index) => <RelatedLinks key={index} title={section.title} items={section.items} />)}
    </div>;
};

export const RelatedLinks = ({title, items = []}) => {
  const getBadgeClass = badge => {
    if (!badge) return "badge-default";
    const badgeType = badge.toLowerCase().replace(/\s+/g, "-");
    return `badge-${badge === "ガイド" ? "guide" : badgeType}`;
  };
  if (!items || items.length === 0) {
    return null;
  }
  return <div className="my-8">
      {}
      <h3 className="text-sm font-bold uppercase tracking-wider mb-4">{title}</h3>

      {}
      <div className="flex flex-col gap-3">
        {items.map((item, index) => <a key={index} href={item.href} className="py-2 px-3 rounded related_link hover:bg-[#f2f2f2] dark:hover:bg-[#111827] flex items-center gap-3 group no-underline hover:no-underline border-b-0">
            {}
            <span className={`px-2 py-1 rounded-full text-xs font-semibold uppercase tracking-wide flex-shrink-0 ${getBadgeClass(item.badge)}`}>
              {item.badge}
            </span>

            {}
            <span className="text-base">{item.label}</span>
          </a>)}
      </div>
    </div>;
};

The Box core SDKs and the Box Next Generation SDKs were initially created as separate libraries. However, in keeping with industry best practices, **we are consolidating the Box Next Generation SDKs and the Box core SDKs into a single package for each programming language**. This makes migration efforts much easier and allows seamless addition of new capabilities to existing applications still powered by older versions of the Box core SDKs, which were maintained manually.

To facilitate this migration process, there are two actively maintained major Box core SDK versions:

* **A major version that follows sequential versioning for each SDK artifact and includes:** the manually maintained package and the generated one. This SDK version enables leveraging coexisting packages at the same time, and serves as a transition phase. Support for the consolidated version of each Box core SDKs will continue in 2027.
* `v10` that includes **only the generated package**.

Here's what you can expect from generated packages of the Box SDK:

* **Full API support**: New Box SDKs empower developers with complete coverage of the Box API ecosystem. You can access all the latest features and functionalities offered by Box and build feature-rich applications.
* **Rapid API updates**: The new auto-generation development approach allows you to add Box APIs to SDKs at a much faster pace (in a matter of days). This means you can leverage the most up-to-date features in your applications without delay.
* **Embedded documentation**: All objects and parameters are documented directly in the source code of the SDK so all the necessary information is stored in one place.
* **Enhanced convenience methods**: The newly introduced convenience methods cover various aspects such as authentication, chunk uploads, exponential back-offs, automatic retries, type checkers that help to ensure that you’re using variables correctly, and much more.

## What it means for your project

<Columns cols={2}>
  <Card icon="cog" title="1. Existing App - the Box core SDK" href="/guides/tooling/sdks/sdk-versioning/#migration-from-manually-maintained-sdk-version-to-the-consolidated-sdk-version">
    If you have an existing application that relies on the Box core SDK and you wish to further develop your project:

    **Action** Use the major version that includes consolidated packages. Start using convenience methods and new features from the generated package, and gradually migrate your codebase. Ultimately, migrate to the Box core SDK package (≥`v10.0.0`).
  </Card>

  <Card icon="code" title="2. Existing App - the Box Next Generation SDK" href="/guides/tooling/sdks/sdk-versioning/#migration-from-the-box-next-generation-sdks-to-the-box-core-sdks">
    If you have an existing application that relies only on the Box Next Generation SDK and you wish to further develop your project:

    **Action** Replace the library name in your package manager with the Box core SDK package (≥`v10.0.0`). Check migration guides for detailed instructions.
  </Card>

  <Card icon="code-branch" title="3. Existing App - the Box core SDK and the Box Next Generation SDK" href="/guides/tooling/sdks/sdk-versioning/#migration-from-manually-maintained-sdk-version-to-the-consolidated-sdk-version">
    If you have an existing application that relies both on the Box core SDK and the Next Generation SDK:

    **Action** Use the major version that includes consolidated packages. Ultimately, migrate to the Box core SDK package (≥`v10.0.0`).
  </Card>

  <Card icon="square-terminal" title="4. A New Application" href="/guides/tooling/sdks/sdk-versioning/#box-core-sdk-versions-and-artifacts-overview">
    If you are creating a new application:

    **Action** Use ≥`v10.0.0` of the Box core SDK.
  </Card>

  <Card icon="circle-info" title="5. No Active Development" href="/guides/tooling/sdks/sdk-versioning/#migration-from-manually-maintained-sdk-version-to-the-consolidated-sdk-version">
    If you have an existing application that you don't plan to change:

    **Action** Ensure your package manager includes the specific version to prevent accidental updates. We strongly recommend upgrading to the major version, which includes consolidated packages, to receive ongoing security patches and improvements.
  </Card>
</Columns>

## Versioning overview

### Box core SDK versions and artifacts overview

| Repository name                      | Artifact name           | Includes both packages       | Includes generated package only |
| ------------------------------------ | ----------------------- | ---------------------------- | ------------------------------- |
| [`box-python-sdk`][python-repo]      | `boxsdk`                | [`v4.X.Y`][python-combined]  | [`≥v10.0.0`][python-v10]        |
| [`box-node-sdk`][node-repo]          | `box-node-sdk`          | [`v4.X.Y`][node-combined]    | [`≥v10.0.0`][node-v10]          |
| [`box-java-sdk`][java-repo]          | `box-java-sdk`          | [`v5.X.Y`][java-combined]    | [`≥v10.0.0`][java-v10]          |
| [`box-windows-sdk-v2`][windows-repo] | `Box.V2`, `Box.V2.Core` | [`v6.X.Y`][windows-combined] | [`≥v10.0.0`][windows-v10]       |
| [`box-ios-sdk`][ios-repo]            | `BoxSDK`                | [`v6.X.Y`][ios-combined]     | [`≥v10.0.0`][ios-v10]           |

## Box Next Gen SDKs deprecation

As of September 17, 2025 Box Next Generation SDKs are no longer supported as separate artifacts. Don’t worry, your existing code will continue to work without changes. You can still use your applications based on Box Next Generation SDKs with no impact, but you won't receive new features, updates, or bug fixes.

**All future development, including new features and updates, will be delivered through the Box core SDKs. The standalone generated artifact was introduced in the version `v10` of the Box core SDKs.**

| Repository name          | Artifact name            | Note                                                    |
| ------------------------ | ------------------------ | ------------------------------------------------------- |
| `box-python-sdk-gen`     | `box-sdk-gen`            | Deprecated, use `boxsdk` [`≥v10.0.0`][python-v10]       |
| `box-typescript-sdk-gen` | `box-typescript-sdk-gen` | Deprecated, use `box-node-sdk` [`≥v10.0.0`][node-v10]   |
| `box-java-sdk-gen`       | `box-java-sdk-gen`       | Deprecated, use `box-java-sdk` [`≥v10.0.0`][java-v10]   |
| `box-dotnet-sdk-gen`     | `Box.Sdk.Gen`            | Deprecated, use `Box.V2.Core` [`≥v10.0.0`][windows-v10] |
| `box-swift-sdk-gen`      | `BoxSdkGen`              | Deprecated, use `BoxSDK` [`≥v10.0.0`][ios-v10]          |

## Migration

### Migration from manually maintained SDK version to the consolidated SDK version

Follow detailed migration guides to migrate from the manually maintained SDK version to the consolidated SDK version:

* [Python `v3` to `v4`][python-migration-v4]
* [Node `v3` to `v4`][node-migration-v4]
* [Java `v4` to `v5`][java-migration-v5]
* [.NET `v5` to `v6`][windows-migration-v6]
* [Swift `v5` to `v6`][ios-migration-v6]

Once your project is upgraded, follow the migration guides and migrate to the generated package.

### Migration to the generated package

Follow detailed migration guides to migrate to the generated package within the Box core SDKs.

* [Python: migrate from `boxsdk` to `box_sdk_gen` package][python-migration-gen]
* [Node: migrate from `box-node-sdk` to `sdk-gen`][node-migration-gen]
* [Java: migrate migrate from `com.box.sdk` to com.`box.sdkgen` package][java-migration-gen]
* [.NET: migrate from `Box.V2` module to `Box.Sdk.Gen` module][windows-migration-gen]
* [Swift: migrate from `BoxSDK` module to `BoxSdkGe`n module][swift-migration-gen]

### Migration from the Box Next Generation SDKs to the Box core SDKs

Follow detailed migration guides to migrate from the Box Next Generation SDKs to the Box core SDK ≥`v10`:

* [Python][python-migration-next-gen]
* [TypeScript/Node][ts-migration-next-gen]
* [Java][java-migration-next-gen]
* [.NET][dotnet-migration-next-gen]
* [Swift][swift-migration-next-gen]

[node-repo]: https://github.com/box/box-node-sdk

[windows-repo]: https://github.com/box/box-windows-sdk-v2

[java-repo]: https://github.com/box/box-java-sdk

[python-repo]: https://github.com/box/box-python-sdk

[ios-repo]: https://github.com/box/box-ios-sdk

[java-v10]: https://github.com/box/box-java-sdk/tree/main

[ios-v10]: https://github.com/box/box-ios-sdk/tree/main

[node-v10]: https://github.com/box/box-node-sdk/tree/main

[python-v10]: https://github.com/box/box-python-sdk/tree/main

[windows-v10]: https://github.com/box/box-windows-sdk-v2/tree/main

[python-combined]: https://github.com/box/box-python-sdk/tree/combined-sdk

[java-combined]: https://github.com/box/box-java-sdk/tree/combined-sdk

[node-combined]: https://github.com/box/box-node-sdk/tree/combined-sdk

[ios-combined]: https://github.com/box/box-ios-sdk/tree/combined-sdk

[windows-combined]: https://github.com/box/box-windows-sdk-v2/tree/combined-sdk

[python-migration-v4]: https://github.com/box/box-python-sdk/blob/combined-sdk/migration-guides/from-v3-to-v4.md

[node-migration-v4]: https://github.com/box/box-node-sdk/blob/combined-sdk/migration-guides/from-v3-to-v4.md

[ios-migration-v6]: https://github.com/box/box-ios-sdk/blob/combined-sdk/migration-guides/from-v5-to-v6.md

[windows-migration-v6]: https://github.com/box/box-windows-sdk-v2/blob/combined-sdk/migration-guides/from-v5-to-v6.md

[java-migration-v5]: https://github.com/box/box-java-sdk/blob/combined-sdk/migration-guides/from-v4-to-v5.md

[java-migration-next-gen]: https://github.com/box/box-java-sdk/blob/combined-sdk/migration-guides/from-box-java-sdk-gen-v0-to-box-java-sdk.md

[python-migration-next-gen]: https://github.com/box/box-python-sdk/blob/combined-sdk/migration-guides/from-box-python-sdk-gen-v1-to-box-python-sdk.md

[swift-migration-next-gen]: https://github.com/box/box-ios-sdk/blob/combined-sdk/migration-guides/from-box-swift-sdk-gen-v0-to-box-ios-sdk.md

[ts-migration-next-gen]: https://github.com/box/box-node-sdk/blob/combined-sdk/migration-guides/from-box-typescript-sdk-gen-v1-to-box-node-sdk.md

[dotnet-migration-next-gen]: https://github.com/box/box-windows-sdk-v2/blob/combined-sdk/migration-guides/from-dotnet-sdk-gen-v1-to-box-windows-sdk.md

[python-migration-gen]: https://github.com/box/box-python-sdk/blob/combined-sdk/migration-guides/from-boxsdk-to-box_sdk_gen.md

[windows-migration-gen]: https://github.com/box/box-windows-sdk-v2/blob/combined-sdk/migration-guides/from-box-v2-to-box-sdk-gen-namespace.md

[swift-migration-gen]: https://github.com/box/box-ios-sdk/blob/combined-sdk/migration-guides/from-BoxSDK-to-BoxSdkGen.md

[java-migration-gen]: https://github.com/box/box-java-sdk/blob/combined-sdk/migration-guides/from-com-box-sdk-to-com-box-sdkgen.md

[node-migration-gen]: https://github.com/box/box-node-sdk/blob/combined-sdk/migration-guides/from-box-node-sdk-to-sdk-gen.md

<RelatedLinks
  title="RELATED GUIDES"
  items={[
{ label: translate("JWT Auth"), href: "/guides/authentication/jwt/index", badge: "GUIDE" },
{ label: translate("OAuth 2.0 Auth"), href: "/guides/authentication/oauth2/index", badge: "GUIDE" }
]}
/>
