Releases: Dean151/ButtonKit
Releases · Dean151/ButtonKit
Release list
0.8.0
What's Changed
- Styles now support SwiftUI dynamic properties —
AsyncButtonStyleandThrowableButtonStylerefineDynamicProperty, so custom styles can use@Environment,@State, and other property wrappers directly inside the style. - Namespaced triggers —
TriggerButtonregistrations are now scoped byNamespace.ID, so identically-named button triggers no longer collide across different parts of your view hierarchy. - Better cancellation support — async tasks propagate cancellation more reliably, and the
NSProgressbridge now forwards cancellation back to the underlying progress. - Reduce Motion support — shake and pulse effects now respect the accessibility Reduce Motion setting.
- Accessibility — buttons are marked as
updatesFrequentlywhile a task is in progress. - Environment key handling simplified using
@Entryproperties (#20). - Removed
MainActor.assumeIsolatedfor cleaner concurrency.
Breaking changes
- Dropped support for Swift 5.10 — ButtonKit now requires Swift 6.0.
- Style configuration
label/buttonare now opaque views — the publictypealias Label = AnyViewandtypealias Button = AnyViewon the style configurations have been replaced with nested wrapper views (mirroring SwiftUI'sButtonStyleConfiguration.Label). Code that relied on these beingAnyViewmust now treat them as opaque views.
New Contributors
Full Changelog: 0.7.1...0.8.0
0.7.1
- Fixed build with Xcode 26.4
- Fixed demo build on macOS
Full Changelog: 0.7.0...0.7.1
0.7.0
What's Changed
- New Symbol effect asyncStyle and throwableStyle, based on SFSymbol effects
- New onButtonStateChange and onButtonStateError modifiers, to access button state changes more explicitly than before
- added AsyncButtonCompletion to get details on why the task ended (completed, errored, cancelled)
- added AsyncButtonReader to access children button latest state change
- new onStateChange parameter in AsyncButton constructor
- small typo by @mattmassicotte in #15
Deprecations
- asyncButtonTaskStarted, asyncButtonTaskChanged, asyncButtonTaskEnded and onButtonError modifier were deprecated
- Renamed errorCount to numberOfFailures on ThrowableButtonStyleLabelConfiguration
Breaking changes
- Dropped support of Swift 5.9
New Contributors
- @mattmassicotte made their first contribution in #15
Full Changelog: 0.6.1...0.7.0
0.6.1
0.6.0
0.5.3
0.5.2
0.5.1
0.5.0
New Features
- Added new AppIntent based initializers
- Added image (String or ImageResource) based initializers
Deprecations
- Deprecated ThrowableButton. Use AsyncButton instead
Full Changelog: 0.4.1...0.5.0
0.4.1
- Fixes a few build issues
- Replaced deprecated signature for Swift 6 Package.swift
Full Changelog: 0.4.0...0.4.1