Skip to content

Release v3.0.0

Latest

Choose a tag to compare

@github-actions github-actions released this 14 Oct 19:10

Changes

a825632 docs: bump install version to 3.0.0 (README + DocC + docs)
aaeb726 Optics docs match 3.0 (#122)
6a1e286 perf(optics): ix(id:) searches the buffer; eachValueIndexed holds values once
4197b51 perf(optics): eachIndexed, ix, IdentifiedArray.traversed through the buffer
3dac0cd Traversal fold primitive and allocation-free each (#120)
426916b Optic namespaces build only the optic you read (#119)
61a3c0e perf(macros): @lenses let-property lenses mutate in place (#118)
52ad39a perf(optics): zero-copy prism/iso mutation and consuming pure writes (#116)
a4f1663 perf(identified-array): O(1) remove-last and insert-at-end (#117)
948dabc docs: restructure README as a progressive journey for readers new to FP (#115)
48e9ad2 Merge pull request #114 from luizmb/feature/docs-audit
71686ec ci: check doc snippets after the build on macOS
9944559 fix(operators): order library precedence groups against the stdlib per Haskell fixities
ec78ace tooling: doc snippet checker accepts shared-scope files, reports to stdout, exits non-zero on failure
a5dc417 docs: operator precedence is a total order
600d714 docs: drop the migration article and audit notes
418366c fix(operators): chain the library's precedence groups into one total order
566ad93 docs: rework claude-skills as proper skills
835f7f2 docs: Monad Transformers article
fbd8bdd docs: DocC articles for 3.0
45135c4 docs: README and CLAUDE.md for 3.0, snippet convention
1b1fc75 docs: remove REVIEW_PLAN.md, the review is complete
c0640ab chore(docs): add Opus review findings to audit
b6e9272 chore(docs): audit tooling and findings
b3ca7b4 feat(transformers)!: step 6 — newtype transformer stacks (#113)
049f297 refactor!: step 4 — API consistency, fewer operators (#112)
442edea fix(streams)!: Haskell stream semantics for Publisher and AsyncStream (#111)
a56cc13 fix(transformers)!: step 3c — full-stack bind for the lawful misshapen stacks (#110)
a5863d0 refactor(transformers)!: remove monad surface of stacks with no lawful monad (#109)
461cdf7 fix(transformers)!: step 3a — applicatives derived from bind (<> == ap) (#108)
09c54ca refactor!: explicit RNG injection for Gen; Sendable elements for NonEmpty/IdentifiedArray (#107)
3028f68 Merge pull request #106 from luizmb/feature/loading-validation-haskell
c0b2a29 fix(Loading, Validation)!: Haskell-lawful applicative, non-Error failures, accumulating alt
d1304f3 Merge pull request #105 from luizmb/feature/zipper-o1-moves
c3cdf3e docs: changelog and plan for the zipper change
acab2ce perf(zipper)!: O(1) non-mutating moves over one shared array
f96162f Merge pull request #104 from luizmb/feature/review-step2-performance
2dd149b docs: changelog and plan for review step 2
4cb3942 test: pin early exit, fold order and in-place mutation of the perf rewrites
40968f8 perf: linear-time folds and traversals, in-place optics
313cd75 Merge pull request #103 from luizmb/bugfix/review-findings
d2c7603 refactor(numeric)!: remove infix ^ instead of deprecating it
db9d9f2 docs(changelog): step 1 library fixes
12c478c docs(plan): mark step 1 done
3436daf style: satisfy SwiftLint/SwiftFormat in step 1 changes
0c5a99d docs(macros): document the macro fixes and the Sendable conformance
6754f47 fix(macros): @witness and @mock requirement handling
447313e fix(macros): stored properties, Sendable hosts and generic nesting in optics/product macros
1a0b8d2 chore(macros): remove ExpandOptic and FPMacrosExpander
5a6b5c2 fix: castOptionally can fail, mutate result is not discardable, ReaderTWriter liftA2 runs readers once
a4a77a9 fix(monad): Kleisli and bind return @sendable functions
0751ceb test(optics): affine setThenPreview checks the standard law
b4cd82d fix(applicative): <
runs left effects first; lazy Publisher <|>
30bd030 fix(concurrency): cancel bridge tasks when the consumer stops
e521fe4 fix(monoid): floating-point Min/Max identities are ±infinity
aaafeac fix(numeric): power handles negative exponents; deprecate infix ^
b13c696 fix(IdentifiedArray): keep ids unique when optics change them
9173ceb fix(optics): affine set is a no-op when the focus is absent
07de188 docs(plan): record step 1 decisions (batch 2)
95388a0 docs(plan): record step 1 decisions (batch 1)
48baffd docs: add project review plan
f230218 fix: restore escape sequences corrupted into NUL bytes
29502a0 Merge pull request #102 from luizmb/bugfix/prisms-function-payload
67efc47 style(macros): satisfy SwiftFormat wrapSwitchCases and SwiftLint line_length
c6b8d96 fix(macros): parenthesise function/existential types before (#101)

Installation

Welcome to Swift!

Subcommands:

swift build Build Swift packages
swift package Create and work on packages
swift run Run a program from a package
swift test Run package tests
swift repl Experiment with Swift code interactively

Use swift --version for Swift version information.

Use swift --help for descriptions of available options and flags.

Use swift help <subcommand> for more information about a subcommand.