For AI agents: a documentation index is available at the root level at /llms.txt and /llms-full.txt. Append /llms.txt to any URL for a page-level index, or .md for the markdown version of any page.
Book a demoLog inStart for free
  • Overview
    • Introduction
    • How it works
    • Quickstart
    • Customer showcase
  • Working with SDKs
    • Project structure
    • Adding custom code
    • Migrating to Replay
    • Capabilities
  • Generators
      • Generating an SDK
      • Publishing as a Swift package
      • Configuration
      • Changelog
  • Reference
    • generators.yml
Checking status...
SOC2Soc 2 Type II
© 2026 Fern • Birch Solutions, Inc., a Postman company

Documentation

SDKsDocsAsk FernCLI Reference

API Definitions

OpenAPIAsyncAPIOpenRPCgRPC

Resources

BlogSupportPricing

Company

Brand KitPrivacy PolicyTerms of Service
LogoLogo
Book a demoLog inStart for free
On this page
  • May 22, 2026
  • 0.35.9
  • May 15, 2026
  • 0.35.8
  • May 14, 2026
  • 0.35.7
  • May 12, 2026
  • 0.35.6
  • May 11, 2026
  • 0.35.5
  • May 7, 2026
  • 0.35.4
  • May 6, 2026
  • 0.35.3
  • 0.35.2
  • May 5, 2026
  • 0.35.1
  • 0.35.0
  • May 3, 2026
  • 0.34.2
  • April 30, 2026
  • 0.34.1
GeneratorsSwift

Changelog

May 22, 2026
May 22, 2026

0.35.9

(chore): Bump Node.js base image from 24.15 to 24.16.


May 15, 2026
May 15, 2026

May 14, 2026
May 14, 2026

May 12, 2026
May 12, 2026

May 11, 2026
May 11, 2026

May 7, 2026
May 7, 2026

0.35.4

(chore): Bump generator container Node.js base image to node:22.22-alpine3.23 and apply latest Alpine package security updates at build time.


May 6, 2026
May 6, 2026

May 5, 2026
May 5, 2026

May 3, 2026
May 3, 2026

April 30, 2026
April 30, 2026

Older posts

Next

0.35.8

(fix): Dynamic snippets now render path-parameter arguments in IR (URL / SDK signature) order rather than in the order they happen to appear in the input request, so generated examples line up with the actual SDK method signature even when the spec lists path parameters in a different order.

0.35.7

(chore): Patch the bundled ip-address to v10.2.0 in the swift-sdk container to address CVE-2026-42338 / GHSA-v2v4-37r5-5v8g (XSS in Address6 HTML- emitting methods). npm 11.12.1 (shipped with node:24.15) bundles ip-address@10.1.0 via socks; this overlays the published 10.2.0 tarball in place at image build time.

0.35.6

(chore): Patch Swift SDK + Swift model generator container CVEs flagged in the AWS ECR / grype scan. Patch npm’s bundled picomatch@4.0.3 -> 4.0.4 and brace-expansion@5.0.4 -> 5.0.5 via tarball replacement so the published image no longer ships the vulnerable bundled JS dependencies that grype flags.

0.35.5

(chore): Bump the Swift SDK and Swift model generator containers’ Node base image from node:22.22-alpine3.23 to node:24.15-alpine3.23. Aligns the generators with the rest of the Fern generator containers on a single Node major version (Node 24) and picks up Node 24’s CVE patches.

0.35.3

(fix): Fix Swift wire-test runtime equality failures when a response body contains a map (Dictionary<String, T>) whose value is an explicit-null nullable, or an Optional<Nullable<T>> field whose example is explicit-null. Previously the generator embedded the IR’s jsonExample for the response body, which silently dropped keys whose value resolved to JS undefined (e.g. an unresolved nullable<T>), and the expected-struct generator filtered optional properties using the same jsonExample === undefined check, which matched both “truly absent” and “explicit-null nullable” examples. The wire- test JSON body is now built by walking the typed example shape directly, and the expected-struct generator skips a property only when the typed optional container is genuinely empty — so an explicit-null nullable inside an optional now renders as Optional(.null) in both the embedded JSON body and the expected struct.

0.35.2

(chore): Update the Swift SDK generator container base image from node:22.12-alpine3.20 to node:22.22-alpine3.22 to address 92 container vulnerabilities (3 Critical, 48 High, 30 Medium, 11 Low) reported by Grype. The bump pulls in newer Alpine packages (libcrypto3/libssl3, musl, busybox, zlib), Node.js 22.22.x, and the bundled npm transitive dependencies (cross-spawn, minimatch, glob, tar, brace-expansion, ip-address, diff).

0.35.1

(fix): Apply canonical “all user-specified examples, else first autogenerated” selection in the Swift SDK snippet output path. README examples now use the user-specified example value (when one exists) instead of the autogenerated placeholder, matching TS-v1 / Python-v1 behavior.

0.35.0

(feat): Generate CONTRIBUTING.md for Swift SDKs.

0.34.2

(fix): Emit wire-test response bodies as Swift raw multi-line string literals (#"""..."""#) so that JSON escape sequences such as \n survive verbatim into the runtime String and reach JSONDecoder as valid JSON. The previous regular triple-quoted literal caused Swift to unescape \n into real newline characters at runtime, which produced invalid JSON (RFC 8259 disallows raw control characters inside JSON string values) and made JSONDecoder reject the body with dataCorrupted("The given data was not valid JSON.").

0.34.1

(fix): Properly escape control characters, real newlines, real backslashes, and real double quotes when emitting Swift string literals that wrap raw user data (example values, dynamic snippet inputs, JSON wire test fixtures). Previously, an example value containing a real newline (e.g. a multi-line iCalendar string) caused the generated SDK to fail Swift compilation with error: unterminated string literal.