Skip to content

Releases: mindbody/Conduit

1.5.0

Choose a tag to compare

@vishal-mb vishal-mb released this 10 Sep 07:28
f0513a2

Enhancements

  • Support public OAuth2 clients that hold no client secret (#178).
    • OAuth2ClientConfiguration gains init(publicClientIdentifier:environment:guestUsername:guestPassword:) and a read-only isPublicClient flag. A public client identifies itself with client_id in the token grant body and sends no Authorization: Basic header across every grant type. Confidential clients are unchanged.
    • Client-level authorization for a public client through OAuth2RequestPipelineMiddleware requires guest credentials. Client-level basic, and client-level bearer without guest credentials, fail with OAuth2Error.internalFailure instead of sending a request with no credential.
    • A public client using authorization_code must use PKCE and the authorization server must enforce it (RFC 8252 §6). Pass code_challenge via OAuth2AuthorizationRequest.additionalParameters and code_verifier via tokenGrantRequestAdditionalBodyParameters.

1.4.6

Choose a tag to compare

@vishal-mb vishal-mb released this 01 Sep 15:32
a2e9773

Bug Fixes

  • Make OAuth2RequestPipelineMiddleware.refreshClaimCoordinationEnabled thread-safe for runtime toggling (#176).
    • Backs the process-wide kill switch with a shared lock while preserving its public API and default-enabled behavior.
  • Normalize native URLError.timedOut errors to the blocking client's documented URLSessionClientError.requestTimeout result (#176).
    • Uses a stalled URLProtocol to keep the timeout test deterministic and independent of a live endpoint.

1.4.5

Choose a tag to compare

@vishal-mb vishal-mb released this 31 Aug 11:13
ebc7128

Bug Fixes

  • Serialize concurrent token refreshes to prevent one-time refresh token double-spend (#174)
    • Adds an in-process atomic refresh claim (OAuth2RefreshClaimRegistry) so only one refresh grant is issued per client at a time; concurrent callers wait and reuse the winner's persisted token.
    • The winner re-reads the stored token after claiming and skips the grant if it was already refreshed; new tokens are persisted before waiters are woken.
    • Kill switch: OAuth2RequestPipelineMiddleware.refreshClaimCoordinationEnabled (defaults to true); setting it to false restores the previous refresh behavior.

Other

  • Replace httpbin with httpbingo in tests (#175)

1.4.4

Choose a tag to compare

@amrutakamat-mindbody amrutakamat-mindbody released this 03 Mar 12:51
f43bf43

What's Changed

Full Changelog: 1.4.3...1.4.4

1.4.3

Choose a tag to compare

@AnshulMindbody AnshulMindbody released this 27 Nov 05:36
9182600

What's Changed

  • T 1377658: Updated Refresh Token API minimumExpirationTime to 6 minutes by @AnshulMindbody in #170

Full Changelog: 1.4.2...1.4.3

1.4.2

Choose a tag to compare

@amrutakamat-mindbody amrutakamat-mindbody released this 10 Jul 12:12
0e8ca31

What's Changed

New Contributors

Full Changelog: 1.4.1...1.4.2

Release 1.4.1

Choose a tag to compare

@brettwellmanmbo brettwellmanmbo released this 05 Feb 17:26
62ec0e6

Breaking

  • None

Enhancements

  • #168 (Task AB#1268089) | Defer token store unlock until token refresh response action occurs

Bug Fixes

  • None

Other

  • None

Release 1.4.0

Choose a tag to compare

@bconway99 bconway99 released this 25 Oct 14:05
5fa6640

Breaking

  • None

Enhancements

  • None

Bug Fixes

  • Add check for nil request URL #166

Other

  • None

Release 1.3.0

Choose a tag to compare

@bconway99 bconway99 released this 22 Mar 16:56
b28cd97

Breaking

  • None

Enhancements

  • None

Bug Fixes

  • Update multipart form request serializer #165

Other

  • None

Release 1.2.0

Choose a tag to compare

@anthony-lipscomb-dev anthony-lipscomb-dev released this 06 Aug 00:56
44611d6

Breaking

  • None

Enhancements

  • Create URLDataCache and DataDownloader #164

Bug Fixes

  • None

Other

  • None