Releases: ricky-stone/SwiftRest
Releases · ricky-stone/SwiftRest
v5.1.0
5.1.0 - 2026-03-23
Removed
- Legacy V3 convenience wrappers from
SwiftRestClient, including:getRaw/get/getResponsedeleteRaw/delete/deleteResponsepostRaw/post/postResponseputRaw/put/putResponsepatchRaw/patch/patchResponsegetResult/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
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
SwiftRest v5.0.0
Highlights:
- Beginner-first plain client setup from
URLwithouttry - 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
401when 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
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, andUUID. - 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
Added
- Chainable path segment helpers on the V4 request chain:
path(_:)andpaths(_:). - 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
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
SwiftRest 4.5.0
Changed
- Deprecated legacy V3-style convenience APIs on
SwiftRestClientwith migration warnings pointing to the V4 chain API. - Added/expanded inline API documentation comments for better Xcode option-click help across:
SwiftRestBuilderSwiftRestPathBuilderSwiftRestPreparedRequestSwiftRestAuthRefreshSwiftRestJSONDates/SwiftRestJSONKeys
- README migration section now explicitly notes legacy API deprecations.
v4.4.0
SwiftRest 4.4.0
Added
- Configurable auth-refresh trigger status codes.
- Default remains
[401]. - Supports API-specific auth flows like
[401, 403].
- Default remains
- New endpoint builder parameter:
triggerStatusCodesin.autoRefresh(endpoint:...).
- New
SwiftRestAuthRefreshcustomization:.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
SwiftRest 4.3.0
Added
- V4 request chain now includes:
.head().options()
SwiftRestRequeststatic helpers now include:.head(...).options(...)
- New JSON coding presets:
SwiftRestJSONCoding.webAPIFractionalSecondsSwiftRestJSONCoding.webAPIUnixSecondsSwiftRestJSONCoding.webAPIUnixMilliseconds
- New key strategy modes:
SwiftRestJSONKeys.snakeCaseDecodingOnlySwiftRestJSONKeys.snakeCaseEncodingOnly
Changed
- README expanded with:
- all HTTP methods examples (
GET/POST/PUT/PATCH/DELETE/HEAD/OPTIONS) - additional common JSON presets
- additional key strategy examples
- all HTTP methods examples (
v4.2.1
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)
- query params without a model (
- README token store example now includes
setAccessTokenandclearhelpers for consistency.