Skip to content

Releases: ricky-stone/SwiftRest

v5.1.0

23 Mar 23:46

Choose a tag to compare

5.1.0 - 2026-03-23

Removed

  • Legacy V3 convenience wrappers from SwiftRestClient, including:
    • getRaw/get/getResponse
    • deleteRaw/delete/deleteResponse
    • postRaw/post/postResponse
    • putRaw/put/putResponse
    • patchRaw/patch/patchResponse
    • getResult/deleteResult/postResult/putResult/patchResult
  • The makeRequest(...) helper overloads that only existed to support those legacy wrappers.

Changed

  • Public API surface is now slimmer and the client autocomplete is focused on the chain-based V4/V5 path.
  • README version snippets updated to 5.1.0.
  • Tests were updated to use the chain API exclusively.
  • Version marker updated to 5.1.0.

v5.0.1

23 Mar 23:42

Choose a tag to compare

SwiftRest v5.0.1

Fixes:

  • Replaced the SwiftKey package dependency with a built-in Keychain session store so the package builds on the GitHub Actions Swift 6.0 runner.
  • Tightened the auth-session tests so they use unique path prefixes and do not collide under parallel execution.
  • Updated the README, changelog, and version marker to match the self-contained Keychain implementation.

See CHANGELOG.md and README.md for the full docs.

v5.0.0

23 Mar 22:28

Choose a tag to compare

SwiftRest v5.0.0

Highlights:

  • Beginner-first plain client setup from URL without try
  • Separate auth/session wrapper for token storage, automatic auth, and refresh
  • Keychain storage backed by SwiftKey, plus UserDefaults, memory, no persistence, and custom stores
  • Token mapping from JSON body fields or response headers
  • Automatic save + retry flow after 401 when refresh is configured
  • Rewritten README with beginner-friendly Swift and SwiftUI examples

See CHANGELOG.md and README.md for the full guide.

v4.8.0

19 Feb 15:22

Choose a tag to compare

Added

  • Typed path segment support for V4 request chains via SwiftRestPathSegmentConvertible.
  • Built-in segment support for String, Substring, all integer types, Double, Float, Decimal, Bool, and UUID.
  • New path(url:) helper that appends URL path components only.
  • Test coverage for primitive/type-erased segments and URL path appending.

Changed

  • README updated with beginner-friendly examples for primitive and URL path chaining.
  • Version marker bumped to 4.8.0.

v4.7.0

19 Feb 15:13

Choose a tag to compare

Added

  • Chainable path segment helpers on the V4 request chain: path(_:) and paths(_:).
  • Automatic path normalization when appending segments (leading/trailing and duplicate slashes handled).
  • Test coverage for segment chaining and slash normalization.

Changed

  • README now includes beginner-friendly chainable path examples and notes that manual '/' separators are not required.

v4.6.0

19 Feb 03:21

Choose a tag to compare

SwiftRest 4.6.0

Added

  • New V4 terminal request method:
    • SwiftRestPreparedRequest.send()
    • For success/failure-only calls where no response model is needed.
  • New tests for send() success and failure behavior.

Changed

  • README now documents send() in the core request flow.
  • README includes beginner-friendly no-response examples, including logout.

v4.5.0

19 Feb 02:37

Choose a tag to compare

SwiftRest 4.5.0

Changed

  • Deprecated legacy V3-style convenience APIs on SwiftRestClient with migration warnings pointing to the V4 chain API.
  • Added/expanded inline API documentation comments for better Xcode option-click help across:
    • SwiftRestBuilder
    • SwiftRestPathBuilder
    • SwiftRestPreparedRequest
    • SwiftRestAuthRefresh
    • SwiftRestJSONDates / SwiftRestJSONKeys
  • README migration section now explicitly notes legacy API deprecations.

v4.4.0

18 Feb 23:58

Choose a tag to compare

SwiftRest 4.4.0

Added

  • Configurable auth-refresh trigger status codes.
    • Default remains [401].
    • Supports API-specific auth flows like [401, 403].
  • New endpoint builder parameter:
    • triggerStatusCodes in .autoRefresh(endpoint:...).
  • New SwiftRestAuthRefresh customization:
    • .triggerStatusCodes(...).
  • New tests for custom trigger code behavior and defaults.

Changed

  • Auth refresh execution now checks configured trigger status codes instead of hard-coded 401.
  • README refresh docs now explain trigger status code customization with beginner examples.

v4.3.0

18 Feb 23:53

Choose a tag to compare

SwiftRest 4.3.0

Added

  • V4 request chain now includes:
    • .head()
    • .options()
  • SwiftRestRequest static helpers now include:
    • .head(...)
    • .options(...)
  • New JSON coding presets:
    • SwiftRestJSONCoding.webAPIFractionalSeconds
    • SwiftRestJSONCoding.webAPIUnixSeconds
    • SwiftRestJSONCoding.webAPIUnixMilliseconds
  • New key strategy modes:
    • SwiftRestJSONKeys.snakeCaseDecodingOnly
    • SwiftRestJSONKeys.snakeCaseEncodingOnly

Changed

  • README expanded with:
    • all HTTP methods examples (GET/POST/PUT/PATCH/DELETE/HEAD/OPTIONS)
    • additional common JSON presets
    • additional key strategy examples

v4.2.1

18 Feb 23:39

Choose a tag to compare

SwiftRest 4.2.1

Changed

  • README expanded with additional beginner-focused examples:
    • query params without a model (.parameters / .parameter)
    • success-only request handling with raw.isSuccess
    • multipart upload with manual raw request body
    • pagination using response headers
    • auth-refresh failure handling (clear session + route to login)
  • README token store example now includes setAccessToken and clear helpers for consistency.