0.1.0
The first public release of Stoic: robustness primitives for Swift apps. Pre-1.0 — the API will change. Requires Swift 6.4 and the 27 releases of Apple's platforms.
Core (Stoic) — deadlines and timeouts that cancel with a cause, abandoningAfter for calls that ignore cancellation; schedules and budgeted retry; TaskSlot, race, mapConcurrent, semaphores, SingleFlight, Channel; scopes, resources and sagas with bounded, shielded cleanup and quarantined releases; StateMachine and StateGraph; ServiceGraph; Erlang-style Supervisor; circuit breaker, rate limiter, bulkhead, hedging and pipelines; Report and Defect; an event catalog; system conditions; diagnostics and a task ledger.
Validation (StoicJSON, StoicSchema, StoicMacros) — a strict JSON parser with positions; one schema per type for decode, encode, every issue with its line, JSON Schema export, unions, migrations, generators and a self-testing suite; @Schema behind the Macros trait.
Persistence (StoicStore, StoicSettings) — atomic files done right, a crash-consistent journal, an outbox, a launch guard, a flight recorder the next launch can read, and settings that a crash, a bad value, an old format or a newer app version cannot ruin — all checked at every crash point of a simulated disk.
Network (StoicHTTP) — per-host policies, only idempotent requests repeated, Retry-After within the deadline, bounded responses, schema decoding, coalesced GETs, and a scripted transport for tests.
Testing (StoicTesting) — virtual clocks, seeds, fault injection, golden traces, and deterministic simulation: a seed picks every interleaving, fault timing and schedule, and a failing seed replays exactly.
Enforcement and integration — the StoicLint build plugin (Lint trait); swift-log and swift-metrics adapters; AppKit and UIKit lifecycle bridges.