diff --git a/CHANGELOG.md b/CHANGELOG.md index eb1c3f169..7be7c6a17 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -2,6 +2,28 @@ All notable changes to this project will be documented in this file. See [standard-version](https://github.com/conventional-changelog/standard-version) for commit guidelines. +## [4.0.0](https://github.com/box/box-java-sdk/compare/v3.8.2...v4.0.0) (2023-01-17) + + +The most important change this release includes is the replacement of the HTTP library from a native one to +[OkHttp](https://square.github.io/okhttp/) which allows SDK to +- Support the HTTP2 version of the HTTP protocol. +- Support proxies that do not use only basic authentication method. For details on creating custom proxy authenticators and an example of + [NTLM proxy authentication](https://github.com/box/box-java-sdk/blob/kb/ok-http/doc/configuration.md#custom-proxy-authenticator). + +### Breaking Changes +* `BatchAPIRequest` – is no longer supported by the SDK +* `BoxAPIConnection#DEFAULT_MAX_ATTEMPTS` is replaced with `BoxAPIConnection#DEFAULT_MAX_RETRIES` +* `BoxRedirectResponse` – was removed and will not be replaced +* `BoxEvent.Type` is replaced with `EventType` +* Removing deprecated methods from `BoxFile`, `BoxFileVersionRetention`, `BoxFolder`, `BoxGroup`, `BoxGroupMembership`,`BoxItem`, `BoxRetentionPolicy`, `BoxTask`, `BoxUser`, `BoxWebLink`, `EventLog`, `Metadata` and `MetadataTemplate`. + +Migration details can be found [here](doc/upgrades/3.x.x%20to%204.x.x.md). + +### New Features and Enhancements: + +* Using `OkHttp` in Java SDK ([#1083](https://github.com/box/box-java-sdk/issues/1083)) ([2656698](https://github.com/box/box-java-sdk/commit/265669897100dd8f1757fc2c5f25665da42c2889)) + ### [3.8.2](https://github.com/box/box-java-sdk/compare/v3.8.1...v3.8.2) (2023-01-04) diff --git a/README.md b/README.md index 41825cde2..0ad4a81f2 100644 --- a/README.md +++ b/README.md @@ -9,10 +9,10 @@ The Box Java SDK for interacting with the [Box Content API](https://developers.box.com/docs/). ## Latest Release -Latest release can be found [here](https://github.com/box/box-java-sdk/tree/v3.8.2). +Latest release can be found [here](https://github.com/box/box-java-sdk/tree/v4.0.0). ## Upgrades -You can read about how to migrate to the new version [here](https://github.com/box/box-java-sdk/tree/v3.8.0/doc/upgrades). +You can read about how to migrate to the new version [here](https://github.com/box/box-java-sdk/tree/v4.0.0). ## Versions We use a modified version of [Semantic Versioning](https://semver.org/) for all changes. See [version strategy](VERSIONS.md) for details which is effective from 30 July 2022. @@ -27,7 +27,8 @@ A current release is on the leading edge of our SDK development, and is intended | Version | Supported Environments | State | First Release | EOL/Terminated | |---------|---------------------------------------------------------|-----------|---------------|----------------| -| 3 | Java 8 and up | Supported | 17 Jan 2022 | TBD | +| 4 | Java 8 and up | Supported | 17 Jan 2023 | TBD | +| 3 | Java 8 and up | EOL | 17 Jan 2022 | 17 Jan 2023 | | 2 | | EOL | 07 Jan 2016 | 17 Jan 2022 | | 1 | | EOL | 15 Apr 2015 | 07 Jan 2016 | @@ -220,31 +221,31 @@ You can find guides and tutorials in the `doc` directory. * [BUILD ON BOX PLATFORM](https://developer.box.com/guides/getting-started/) * [Javadocs](http://box.github.io/box-java-sdk/javadoc/com/box/sdk/package-summary.html) -* [Overview](https://github.com/box/box-java-sdk/blob/v3.8.2/doc/overview.md) -* [Configuration](https://github.com/box/box-java-sdk/blob/v3.8.2/doc/configuration.md) -* [Logging](https://github.com/box/box-java-sdk/blob/v3.8.2/doc/logging.md) -* [Authentication](https://github.com/box/box-java-sdk/blob/v3.8.2/doc/authentication.md) -* [Files](https://github.com/box/box-java-sdk/blob/v3.8.2/doc/files.md) -* [Folders](https://github.com/box/box-java-sdk/blob/v3.8.2/doc/folders.md) -* [Comments](https://github.com/box/box-java-sdk/blob/v3.8.2/doc/comments.md) -* [Collaborations](https://github.com/box/box-java-sdk/blob/v3.8.2/doc/collaborations.md) -* [Collaboration Allowlists](https://github.com/box/box-java-sdk/blob/v3.8.2/doc/collaboration_allowlists.md) -* [Events](https://github.com/box/box-java-sdk/blob/v3.8.2/doc/events.md) -* [Search](https://github.com/box/box-java-sdk/blob/v3.8.2/doc/search.md) -* [Users](https://github.com/box/box-java-sdk/blob/v3.8.2/doc/users.md) -* [Groups](https://github.com/box/box-java-sdk/blob/v3.8.2/doc/groups.md) -* [Tasks](https://github.com/box/box-java-sdk/blob/v3.8.2/doc/tasks.md) -* [Trash](https://github.com/box/box-java-sdk/blob/v3.8.2/doc/trash.md) -* [Collections](https://github.com/box/box-java-sdk/blob/v3.8.2/doc/collections.md) -* [Devices](https://github.com/box/box-java-sdk/blob/v3.8.2/doc/devices.md) -* [Retention Policies](https://github.com/box/box-java-sdk/blob/v3.8.2/doc/retention_policies.md) -* [Legal Holds Policy](https://github.com/box/box-java-sdk/blob/v3.8.2/doc/legal_holds.md) -* [Watermarking](https://github.com/box/box-java-sdk/blob/v3.8.2/doc/watermarking.md) -* [Webhooks](https://github.com/box/box-java-sdk/blob/v3.8.2/doc/webhooks.md) -* [Web Links](https://github.com/box/box-java-sdk/blob/v3.8.2/doc/weblinks.md) -* [Metadata Templates](https://github.com/box/box-java-sdk/blob/v3.8.2/doc/metadata_template.md) -* [Classifications](https://github.com/box/box-java-sdk/blob/v3.8.2/doc/classifications.md) -* [Recent Items](https://github.com/box/box-java-sdk/blob/v3.8.2/doc/recent_items.md) +* [Overview](https://github.com/box/box-java-sdk/blob/v4.0.0/doc/overview.md) +* [Configuration](https://github.com/box/box-java-sdk/blob/v4.0.0/doc/configuration.md) +* [Logging](https://github.com/box/box-java-sdk/blob/v4.0.0/doc/logging.md) +* [Authentication](https://github.com/box/box-java-sdk/blob/v4.0.0/doc/authentication.md) +* [Files](https://github.com/box/box-java-sdk/blob/v4.0.0/doc/files.md) +* [Folders](https://github.com/box/box-java-sdk/blob/v4.0.0/doc/folders.md) +* [Comments](https://github.com/box/box-java-sdk/blob/v4.0.0/doc/comments.md) +* [Collaborations](https://github.com/box/box-java-sdk/blob/v4.0.0/doc/collaborations.md) +* [Collaboration Allowlists](https://github.com/box/box-java-sdk/blob/v4.0.0/doc/collaboration_allowlists.md) +* [Events](https://github.com/box/box-java-sdk/blob/v4.0.0/doc/events.md) +* [Search](https://github.com/box/box-java-sdk/blob/v4.0.0/doc/search.md) +* [Users](https://github.com/box/box-java-sdk/blob/v4.0.0/doc/users.md) +* [Groups](https://github.com/box/box-java-sdk/blob/v4.0.0/doc/groups.md) +* [Tasks](https://github.com/box/box-java-sdk/blob/v4.0.0/doc/tasks.md) +* [Trash](https://github.com/box/box-java-sdk/blob/v4.0.0/doc/trash.md) +* [Collections](https://github.com/box/box-java-sdk/blob/v4.0.0/doc/collections.md) +* [Devices](https://github.com/box/box-java-sdk/blob/v4.0.0/doc/devices.md) +* [Retention Policies](https://github.com/box/box-java-sdk/blob/v4.0.0/doc/retention_policies.md) +* [Legal Holds Policy](https://github.com/box/box-java-sdk/blob/v4.0.0/doc/legal_holds.md) +* [Watermarking](https://github.com/box/box-java-sdk/blob/v4.0.0/doc/watermarking.md) +* [Webhooks](https://github.com/box/box-java-sdk/blob/v4.0.0/doc/webhooks.md) +* [Web Links](https://github.com/box/box-java-sdk/blob/v4.0.0/doc/weblinks.md) +* [Metadata Templates](https://github.com/box/box-java-sdk/blob/v4.0.0/doc/metadata_template.md) +* [Classifications](https://github.com/box/box-java-sdk/blob/v4.0.0/doc/classifications.md) +* [Recent Items](https://github.com/box/box-java-sdk/blob/v4.0.0/doc/recent_items.md) Javadocs are generated when `gradle javadoc` is run and can be found in diff --git a/build.gradle b/build.gradle index c22e307b5..0368aa719 100644 --- a/build.gradle +++ b/build.gradle @@ -13,7 +13,7 @@ sourceCompatibility = 1.8 group = "com.box" archivesBaseName = "box-java-sdk" -version = "3.8.2" +version = "4.0.0" java { withJavadocJar() diff --git a/src/main/java/com/box/sdk/BoxAPIConnection.java b/src/main/java/com/box/sdk/BoxAPIConnection.java index 43f40e5b0..ade6a8846 100644 --- a/src/main/java/com/box/sdk/BoxAPIConnection.java +++ b/src/main/java/com/box/sdk/BoxAPIConnection.java @@ -84,7 +84,7 @@ public class BoxAPIConnection { private static final String BOX_NOTIFICATIONS_HEADER = "Box-Notifications"; private static final String JAVA_VERSION = System.getProperty("java.version"); - private static final String SDK_VERSION = "3.8.2"; + private static final String SDK_VERSION = "4.0.0"; /** * The amount of buffer time, in milliseconds, to use when determining if an access token should be refreshed. For