Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Migration guide for SDK v6.0.0 #659

Merged
merged 5 commits into from
Oct 12, 2021
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
303 changes: 303 additions & 0 deletions MIGRATING.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,309 @@

This SDK uses semantic versioning and follows Okta's [library version policy](https://developer.okta.com/code/library-versions/). In short, we do not make breaking changes unless the major version changes!

## Migrating from 5.x.x to 6.0.0

Version 6.0.0 of this SDK introduces a number of breaking changes from previous versions.
In addition to many new classes/interfaces, some existing classes/interfaces are no longer backward compatible due to method renaming and signature changes.

### Package `com.okta.sdk.client.Client`

Below methods have been added.
- `Authenticator getAuthenticator(String authenticatorId)`
- `GroupSchema getGroupSchema()`
- `OrgOktaCommunicationSetting getOktaCommunicationSettings()`
- `OrgContactTypeObjList getOrgContactTypes()`
- `OrgContactUser getOrgContactUser(String contactType)`
- `OrgOktaSupportSettingsObj getOrgOktaSupportSettings()`
- `OrgPreferences getOrgPreferences()`
- `OrgSetting getOrgSettings()`
- `AuthenticatorList listAuthenticators()`
- `GroupSchema updateGroupSchema()`
- `GroupSchema updateGroupSchema(GroupSchema body)`

Below method has undergone a signature change.
- `DomainList listDomains()` signature changed to `DomainListResponse listDomains()`

### Package `com.okta.sdk.resource.application.ApplicationVisibility`

Below methods have been added.
- `Boolean getAutoLaunch()`
- `ApplicationVisibility setAutoLaunch(Boolean autoLaunch)`

### Package `com.okta.sdk.resource.authenticator.AllowedForEnum`

This is a newly created enum with fields listed below.
- `ANY("ANY")`
- `NONE("NONE")`
- `RECOVERY("RECOVERY")`
- `SSO("SSO")`

### Package `com.okta.sdk.resource.authenticator.Authenticator`

This is a newly created interface with methods listed below.

- `Authenticator activate()`
- `Authenticator deactivate()`
- `Date getCreated()`
- `String getId()`
- `String getKey()`
- `Date getLastUpdated()`
- `Map<String, Object> getLinks()`
- `String getName()`
- `AuthenticatorSettings getSettings()`
- `AuthenticatorStatus getStatus()`
- `AuthenticatorType getType()`
- `Authenticator setKey(String key)`
- `Authenticator setName(String name)`
- `Authenticator setSettings(AuthenticatorSettings settings)`
- `Authenticator setStatus(AuthenticatorStatus status)`
- `Authenticator setType(AuthenticatorType type)`

### Package `com.okta.sdk.resource.authenticator.AuthenticatorSettings`

This is a newly created interface with methods listed below.

- `AllowedForEnum getAllowedFor()`
- `Integer getTokenLifetimeInMinutes()`
- `AuthenticatorSettings setAllowedFor(AllowedForEnum allowedFor)`
- `AuthenticatorSettings setTokenLifetimeInMinutes(Integer tokenLifetimeInMinutes)`

### Package `com.okta.sdk.resource.authenticator.AuthenticatorStatus`

This is a newly created enum with fields listed below.
- `ACTIVE("ACTIVE")`
- `INACTIVE("INACTIVE")`

### Package `com.okta.sdk.resource.authenticator.AuthenticatorType`

This is a newly created enum with fields listed below.
- `APP("APP")`
- `EMAIL("EMAIL")`
- `PASSWORD("PASSWORD")`
- `PHONE("PHONE")`
- `SECURITY_KEY("SECURITY_KEY")`
- `SECURITY_QUESTION("SECURITY_QUESTION")`

### Package `com.okta.sdk.resource.domain.DomainListResponse`

This is a newly created interface with methods listed below.

- `DomainList getDomains()`
- `DomainListResponse setDomains(DomainList domains)`

### Package `com.okta.sdk.resource.group.schema.GroupSchema`

This is a newly created interface with methods listed below.

- `String getCreated()`
- `GroupSchemaDefinitions getDefinitions()`
- `String getDescription()`
- `String getId()`
- `String getLastUpdated()`
- `Map<String, Object> getLinks()`
- `String getName()`
- `UserSchemaProperties getProperties()`
- `String getSchema()`
- `String getTitle()`
- `String getType()`
- `GroupSchema setDefinitions(GroupSchemaDefinitions definitions)`
- `GroupSchema setDescription(String description)`
- `GroupSchema setTitle(String title)`

### Package `com.okta.sdk.resource.group.schema.GroupSchemaAttribute`

This is a newly created interface with methods listed below.

- `String getDescription()`
- `List<String> getEnum()`
- `String getExternalName()`
- `String getExternalNamespace()`
- `UserSchemaAttributeItems getItems()`
- `UserSchemaAttributeMaster getMaster()`
- `Integer getMaxLength()`
- `Integer getMinLength()`
- `String getMutability()`
- `List<UserSchemaAttributeEnum> getOneOf()`
- `List<UserSchemaAttributePermission> getPermissions()`
- `Boolean getRequired()`
- `UserSchemaAttributeScope getScope()`
- `String getTitle()`
- `UserSchemaAttributeType getType()`
- `UserSchemaAttributeUnion getUnion()`
- `String getUnique()`
- `GroupSchemaAttribute setDescription(String description)`
- `GroupSchemaAttribute setEnum(List<String> _enum)`
- `GroupSchemaAttribute setExternalName(String externalName)`
- `GroupSchemaAttribute setExternalNamespace(String externalNamespace)`
- `GroupSchemaAttribute setItems(UserSchemaAttributeItems items)`
- `GroupSchemaAttribute setMaster(UserSchemaAttributeMaster master)`
- `GroupSchemaAttribute setMaxLength(Integer maxLength)`
- `GroupSchemaAttribute setMinLength(Integer minLength)`
- `GroupSchemaAttribute setMutability(String mutability)`
- `GroupSchemaAttribute setOneOf(List<UserSchemaAttributeEnum> oneOf)`
- `GroupSchemaAttribute setPermissions(List<UserSchemaAttributePermission> permissions)`
- `GroupSchemaAttribute setRequired(Boolean required)`
- `GroupSchemaAttribute setScope(UserSchemaAttributeScope scope)`
- `GroupSchemaAttribute setTitle(String title)`
- `GroupSchemaAttribute setType(UserSchemaAttributeType type)`
- `GroupSchemaAttribute setUnion(UserSchemaAttributeUnion union)`
- `GroupSchemaAttribute setUnique(String unique)`

### Package `com.okta.sdk.resource.group.schema.GroupSchemaBase`

This is a newly created interface with methods listed below.

- `String getId()`
- `GroupSchemaBaseProperties getProperties()`
- `List<String> getRequired()`
- `String getType()`
- `GroupSchemaBase setProperties(GroupSchemaBaseProperties properties)`
- `GroupSchemaBase setRequired(List<String> required)`
- `GroupSchemaBase setType(String type)`

### Package `com.okta.sdk.resource.group.schema.GroupSchemaBaseProperties`

This is a newly created interface with methods listed below.

- `GroupSchemaAttribute getDescription()`
- `GroupSchemaAttribute getName()`
- `GroupSchemaBaseProperties setDescription(GroupSchemaAttribute description)`
- `GroupSchemaBaseProperties setName(GroupSchemaAttribute name)`

### Package `com.okta.sdk.resource.group.schema.GroupSchemaCustom`

This is a newly created interface with methods listed below.

- `String getId()`
- `Map<String, GroupSchemaAttribute> getProperties()`
- `List<String> getRequired()`
- `String getType()`
- `GroupSchemaCustom setProperties(Map<String, GroupSchemaAttribute> properties)`
- `GroupSchemaCustom setRequired(List<String> required)`
- `GroupSchemaCustom setType(String type)`

### Package `com.okta.sdk.resource.group.schema.GroupSchemaDefinitions`

This is a newly created interface with methods listed below.

- `GroupSchemaBase getBase()`
- `GroupSchemaCustom getCustom()`
- `GroupSchemaDefinitions setBase(GroupSchemaBase base)`
- `GroupSchemaDefinitions setCustom(GroupSchemaCustom custom)`

### Package `com.okta.sdk.resource.identity.provider.IdentityProvider$IssuerModeEnum`

Below enum value has been changed.
- `CUSTOM_URL_DOMAIN("CUSTOM_URL_DOMAIN")` changed to `CUSTOM_URL("CUSTOM_URL")`

### Package `com.okta.sdk.resource.identity.provider.SocialAuthToken`

Below methods have undergone a signature change.
- `TokenTypeEnum getTokenType()` signature changed to `String getTokenType()`
- `SocialAuthToken setTokenType(TokenTypeEnum tokenType)` signature changed to `SocialAuthToken setTokenType(String tokenType)`

### Package `com.okta.sdk.resource.identity.provider.SocialAuthToken`

The Enum `com.okta.sdk.resource.identity.provider.SocialAuthToken$TokenTypeEnum` has been removed.

### Package `com.okta.sdk.resource.org.OrgContactType`

This is a newly created enum with fields listed below.
- `BILLING("BILLING")`
- `TECHNICAL("TECHNICAL")`

### Package `com.okta.sdk.resource.org.OrgContactTypeObj`

This is a newly created interface with methods listed below.

- `OrgContactType getContactType()`
- `OrgContactTypeObj setContactType(OrgContactType contactType)`

### Package `com.okta.sdk.resource.org.OrgOktaCommunicationSetting`

This is a newly created interface with methods listed below.

- `Boolean getOptOutEmailUsers()`
- `OrgOktaCommunicationSetting optInUsersToOktaCommunicationEmails()`
- `OrgOktaCommunicationSetting optOutUsersFromOktaCommunicationEmails()`

### Package `com.okta.sdk.resource.org.OrgOktaSupportSetting`

This is a newly created enum with fields listed below.
- `DISABLED("DISABLED")`
- `ENABLED("ENABLED")`

### Package `com.okta.sdk.resource.org.OrgOktaSupportSettingsObj`

This is a newly created interface with methods listed below.

- `OrgOktaSupportSettingsObj extendOktaSupport()`
- `Date getExpiration()`
- `OrgOktaSupportSetting getSupport()`
- `OrgOktaSupportSettingsObj grantOktaSupport()`
- `OrgOktaSupportSettingsObj revokeOktaSupport()`

### Package `com.okta.sdk.resource.org.OrgPreferences`

This is a newly created interface with methods listed below.

- `Boolean getShowEndUserFooter()`
- `OrgPreferences hideEndUserFooter()`
- `OrgPreferences showEndUserFooter()`

### Package `com.okta.sdk.resource.org.OrgSetting`

This is a newly created interface with methods listed below.

- `String getAddress1()`
- `String getAddress2()`
- `String getCity()`
- `String getCompanyName()`
- `String getCountry()`
- `Date getCreated()`
- `String getEndUserSupportHelpURL()`
- `Date getExpiresAt()`
- `String getId()`
- `Date getLastUpdated()`
- `String getPhoneNumber()`
- `String getPostalCode()`
- `String getState()`
- `String getStatus()`
- `String getSubdomain()`
- `String getSupportPhoneNumber()`
- `String getWebsite()`
- `OrgSetting partialUpdate()`
- `OrgSetting setAddress1(String address1)`
- `OrgSetting setAddress2(String address2)`
- `OrgSetting setCity(String city)`
- `OrgSetting setCompanyName(String companyName)`
- `OrgSetting setCountry(String country)`
- `OrgSetting setEndUserSupportHelpURL(String endUserSupportHelpURL)`
- `OrgSetting setPhoneNumber(String phoneNumber)`
- `OrgSetting setPostalCode(String postalCode)`
- `OrgSetting setState(String state)`
- `OrgSetting setSupportPhoneNumber(String supportPhoneNumber)`
- `OrgSetting setWebsite(String website)`
- `OrgSetting update()`

### Package `com.okta.sdk.resource.org.UserIdString`

This is a newly created interface with methods listed below.

- `String getUserId()`
- `UserIdString setUserId(String userId)`

### Package `com.okta.sdk.resource.role.RoleType`

Below enum value has been changed.
- `GROUP_MEMBERSHIP_ADMIN("GROUP_MEMBERSHIP_ADMIN")`

### Package `com.okta.sdk.resource.user.User`

This is a newly created interface with methods listed below.

- `Role getRole(String roleId)`

## Migrating from 4.x.x to 5.0.0

Version 5.0.0 of this SDK introduces a number of breaking changes from previous versions.
Expand Down
1 change: 1 addition & 0 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -51,6 +51,7 @@ This library uses semantic versioning and follows Okta's [library version policy
| 3.x.x | :clock9: Retiring effective November 10, 2021 |
| 4.x.x | :heavy_check_mark: Stable ([migration guide](https://github.com/okta/okta-sdk-java/blob/master/MIGRATING.md#migrating-from-3xx-to-400)) |
| 5.x.x | :heavy_check_mark: Stable ([migration guide](https://github.com/okta/okta-sdk-java/blob/master/MIGRATING.md#migrating-from-4xx-to-500)) |
| 6.x.x | :heavy_check_mark: Stable ([migration guide](https://github.com/okta/okta-sdk-java/blob/master/MIGRATING.md#migrating-from-5xx-to-600)) |

The latest release can always be found on the [releases page][github-releases].

Expand Down