Skip to content

Releases: danielsaidi/SwiftUIKit

5.0.3

13 Jan 09:12
Compare
Choose a tag to compare

This patch makes the ImageCache initializer public.

5.0.2

18 Dec 22:57
Compare
Choose a tag to compare

This patch updates LinkText to work with Swift 6, after a post 5.0 Swift concurrency change made it stop compiling.

However, since the complexity of the old LinkText implementation couldn't be ported to strict concurrency, the new implementation has breaking changes, and uses plain Markdown for its rendering, which reduces the capability of the component.

As a positive side-effect of this change, LinkText can now be used on all platforms.

✨ Features

  • LinkText can now be used on all platforms.
  • View+Conditionals has a new searchable(if:...) variant.

💡 Behavior changes

  • TextFieldClearButton now performs some actions as MainActor.

🚨 Breaking Changes

  • LinkText has been reimplemented in Markdown, and has fewer capabilities than before.

5.0.1

18 Dec 21:41
Compare
Choose a tag to compare

This patch updates LinkText to work with Swift 6, after a post 5.0 Swift concurrency change made it stop compiling.

However, since the complexity of the old LinkText implementation couldn't be ported to strict concurrency, the new implementation has breaking changes, and uses plain Markdown for its rendering, which reduces the capability of the component.

As a positive side-effect of this change, LinkText can now be used on all platforms.

✨ Features

  • LinkText can now be used on all platforms.
  • View+Conditionals has a new searchable(if:...) variant.

💡 Behavior changes

  • TextFieldClearButton now performs some actions as MainActor.

🚨 Breaking Changes

  • LinkText has been reimplemented in Markdown, and has fewer capabilities than before.

5.0.0

06 Oct 11:58
Compare
Choose a tag to compare

This verison makes SwiftUIKit use Swift 6.

Due to the strict concurrency enforcement, this involves some breaking changes.

If some of the changes made are too strict for you, feel free to open a GitHub issue to discuss it.

🚨 Breaking Changes

  • This version renames the master branch to main.
  • All previously deprecated code has been removed.
  • All static style and configurations are now computed properties.
  • Some classes apply @MainActor to properly handle mutable state.
  • ImageCache.shared has been removed.
  • ImageService.default has been removed.
  • KeychainWrapper.shared has been removed.
  • URLOpener has been removed, since there now are native alternatives.
  • View+Geometry has been removed.

4.4.0

02 Sep 15:17
Compare
Choose a tag to compare

This version adds a new storage value type and moves the gesture buttons to https://github.com/danielsaidi/GestureButton.

✨ Features

  • StorageValue is a new property wrapper for serializing data into AppStorage.

🗑️ Deprecations

  • GestureButton and ScrollGestureButton has been moved to https://github.com/danielsaidi/GestureButton.

4.3.0

30 Apr 13:10
Compare
Choose a tag to compare

This version adds localization support, and makes more types use LocalizedStringKey instead of String.

This version also adds standard button types, which makes it easier to create standard button types.

✨ New features

  • Button+Init adds a new button initializer.
  • Button+Standard adds new standard button types.

4.2.2

25 Apr 12:02
Compare
Choose a tag to compare

🐛 Bug fixes

  • View+Label now correctly applies the provided bundle.

4.2.1

22 Apr 09:05
Compare
Choose a tag to compare

💡 Behavior changes

  • View.alert now injects the context as environment object.
  • View.label now takes a localized string key instead of a key.
  • View.sheet now injects the context as environment object.
  • View.fullScreenCover now injects the context as environment object.

4.2.0

16 Mar 10:51
Compare
Choose a tag to compare

This version refactors many views to take their styles & configs as environment values, instead of injecting them in the initializer.

✨ New features

  • CircularProgressBar now supports customizing animation.
  • FilePicker now supports providing a custom picker config.
  • ImagePicker now supports providing a custom picker config.
  • LinkText has new link style options, to define font weight.
  • ListButtonGroup is a new group view for groping many buttons.
  • ListButtonStyle has a new optional pressedOpacity init param.
  • ListCard now supports specifying a custom pressed scale animation.
  • String+Replace has a new options-based replace extension shorthand.

💡 Behavior changes

  • Color.standardListBackground has been renamed to listBackground.
  • FormInlineActionButtonStyle has been replaced by ListButtonGroup.
  • FormText has been renamed to ListActionRow, and is now style-based.
  • ListActionRow now supports a ListAction instead of a trailing view.

🗑️ Deprecations

  • DismissableView has been deprecated due to native SwiftUI support.
  • FormRowTitle has been deprecated due to now being used internally.
  • PresentationDetents has been deprecated due to native SwiftUI support.

4.1.5

11 Feb 19:13
Compare
Choose a tag to compare

This version makes the list header not use a section, to avoid disclosure groups.