Skip to content

Releases: modern-swift-dev/skein-swift

Release list

1.0.1

Choose a tag to compare

@choule99 choule99 released this 15 Aug 15:05
9f8df84

Skein 1.0.1 fixes Swift 6 compatibility issues affecting Linux builds and tests.

Fixes

  • Work around Swift 6 pack-argument isolation diagnostics in constructor registration.
  • Update async XCTest setup, teardown, and expectation handling for Linux compatibility.

Validated on Linux with Swift 6.0 and Swift 6.3, plus all supported Apple platform builds.

1.0.0

Choose a tag to compare

@choule99 choule99 released this 14 Aug 17:52
2a22090

Skein 1.0.0 is the first stable release of a small, type-safe dependency-injection container for Swift. The default API is MainActor-isolated, with explicit options for Sendable nonisolated code and custom global actors.

Supported features

  • Type-safe module definitions and constructor injection
  • Lazy singleton, factory, supplied-instance, and flat typed-scope lifetimes
  • Protocol bindings and qualifiers for multiple bindings of the same type
  • Typed assisted factories for runtime arguments
  • Independently owned SkeinApplication containers and a global convenience API
  • Binding-owned graph roots with structural and eager startup validation
  • MainActor-first resolution, Sendable nonisolated bindings, and custom-global-actor bindings
  • Concurrent singleton creation coalescing and cycle detection across actor boundaries
  • Async disposal callbacks with deterministic reverse-order cleanup
  • Typed lifecycle, configuration, and resolution errors with source-aware diagnostics
  • Test-friendly isolated containers, module overrides, and manual dependency doubles
  • Optional SkeinSwiftUI integration for environment-based application injection and observable-object resolution

Requirements

  • Swift 6.0+
  • iOS 17+, macOS 15+, tvOS 17+, watchOS 10+, or visionOS 1+