Skip to content

Releases: junebash/swift-fun

v0.3.4

Choose a tag to compare

@junebash junebash released this 14 Apr 04:28

Bug Fixes

  • StdPlus: Fixed Duration.timeInterval precision — split computation via .components so integer-second inputs like .seconds(30) round-trip exactly through Double instead of losing precision through Int128Double conversion

v0.3.3

Choose a tag to compare

@junebash junebash released this 22 Mar 22:22

Bug Fixes

  • remove strictMemorySafety and defaultIsolation settings

v0.3.2

Choose a tag to compare

@junebash junebash released this 18 Jan 03:59

Tooling & Infrastructure

  • Added just command runner for ergonomic build and test workflows
  • Documented just commands in CLAUDE.md and README.md

v0.3.1

Choose a tag to compare

@junebash junebash released this 18 Jan 03:51

Bug Fixes

  • CI: Release workflow now updates existing releases instead of failing when a tag already exists

Maintenance

  • Removed unused Synchronization import

v0.3.0

Choose a tag to compare

@junebash junebash released this 12 Jan 05:40

Box Module

Renamed Types:

  • BoxShared

New Types:

  • OwnedPointer: Unique ownership semantics with proper documentation

Fixes:

  • Shared now correctly conforms to Sendable for ~Copyable types

AsyncPlus Additions

  • resume() convenience method for Void continuations on SaferContinuation

Tooling & Infrastructure

Release Automation:

  • New release script (./scripts/release.sh) with Claude Code integration for changelog enhancement
  • git-cliff configuration for conventional commit parsing

Documentation:

  • Commit convention guidelines in .github/COMMIT_CONVENTION.md
  • Git workflow and release instructions in CLAUDE.md
  • Full release documentation in RELEASING.md

v0.2.0 - more fun!

Choose a tag to compare

@junebash junebash released this 04 Jan 02:42

New Modules

  • Box: Reference wrappers for values, including thread-safe MutexBox using Swift 6's Synchronization.Mutex
  • AsyncPlus: Concurrency utilities including SaferContinuation for leak-safe continuations and ScaledClock for time-scaled testing

StdPlus Additions

New Functions:

  • Free functions: with(), configure(), catchAndReturn() (with async variants)

New Sequence Extensions:

  • only property for extracting a single element from a sequence

Optional Enhancements:

  • Made UnwrapError generic for better type precision
  • Added takeOrThrow() (mutating) to consume optional values
  • Added async map() and flatMap() for async transformations

Numeric Extensions:

  • clamped() to constrain values to a range
  • nonZero() to filter out zero values
  • positive() to filter for positive values only

StatefulAsyncSequence:

  • Added Sendable initializer variant for sendable state

Full Changelog: v0.1.0...v0.2.0

v0.1.0 - init

Choose a tag to compare

@junebash junebash released this 02 Jan 22:03