Skip to content

17.0.0

Compare
Choose a tag to compare
@jenschude jenschude released this 13 Oct 09:27
· 869 commits to main since this release

What's Changed

  • Update generated SDKs by @github-actions in #505
  • remove deprecations by @jenschude in #506
  • refactor the tokenSupplier to be async by @jenschude in #456
  • module commercetools-http-client is now an alias to commercetools-async-http-client.

Api changes

Added Enum(s)
  • added enum customer-email-token to type ReferenceTypeId
  • added enum customer-password-token to type ReferenceTypeId
  • added enum customer-email-token to type MessageSubscriptionResourceTypeId
  • added enum customer-group to type MessageSubscriptionResourceTypeId
  • added enum customer-password-token to type MessageSubscriptionResourceTypeId
Added Type(s)
  • added type CustomerEmailTokenReference
  • added type CustomerPasswordTokenReference

Behavioral changes

commercetools-http-client

The module commercetools-http-client is now an alias to commercetools-async-http-client.

This change should only affect you if you use this module and custom builder options or create an explicit instance.

For having previous behavior you can either pin the dependency to the version 16.5.0 or by replacing the dependency with commercetools-okhttp-client4.

AuthToken supplier

The Auth token supplier and middlewares have been refactored to be asynchronous. It's not blocking anymore requests to wait till a token has been retrieved. This should prevent increased latency under high load scenarios and invalidated token.

This change should only affect you if you implemented a custom OAuthHandler and/or OAuthMiddleware.

ApiMethod

We introduced a new subtype for ApiMethods which have a TypeReference to their result type. This simplifies the deserialization code in the client and allows future options like a reactive client implementation. As all request classes implement the ClientRequestCommand as well as the HttpRequestCommand this led to ambiguous methods in the client, so we decided to remove execute(final ClientRequestCommand<O> method) and replace it with execute(final HttpRequestCommand<O> method).

This change should only affect you in case custom implementations are used. You may have to implement now the HttpRequestCommand interface or use the TypeApiMethod/TypeBodyApiMethod classes.

BREAKING CHANGES

Removed deprecations:

  • "rmf:okhttp-client: module
    • use commercetools-okhttp-client4 module instead
  • deprecated methods in CtAsyncHttpClient
  • deprecated methods in RetryMiddleware
  • ApiFactory
  • ImportApiFactory
  • MLApiRootFactory
  • HistoryApiFactory
  • ClientFactory
  • MiddlewareFactory
  • ExceptionFactory
  • VrapJsonUtils
    • use JsonUtils instead

Full Changelog: 16.5.0...17.0.0