Skip to content

4.0.0

Compare
Choose a tag to compare
@danielsaidi danielsaidi released this 22 Nov 21:04

This major version bumps the deployment targets to iOS 15, tvOS 15, watchOS 8, and macOS 12. This lets us remove a lot of code for older OS versions.

This version also adds everything from SwiftKit, which is discontinued. I don't want to manage or add two libraries, so merging them seems valid.

This version removes protocols where not needed. This means that it will no longer have a protocol and a standard implementation if not needed.

✨ New features

  • Bundle+Information is a new extension with bundle-specific information.
  • BundleFileFinder is a new file service that can search for files in a bundle.
  • Collections is a new namespace with collection-related utilities and extensions.
  • Commands is a new namespace with macOS commands.
  • CsvParser is a new class that can be used to parse CSV files and strings.
  • Date is a new namespace with date-related extensions and utilities.
  • DeviceIdentifier is a new class for generating unique device IDs.
  • iCloudDocumentSync is a new class that can sync iCloud document changes.
  • Keychain is a new namespace with keychain-related utilities and services.
  • ListAction is a new enum with quick list action types.
  • MimeType is a new type that defines various MIME types.
  • Pasteboard is a multi-platform pasteboard typealias.
  • String is a new namespace with string-related utilities and extensions.
  • URL+iCloud adds new iCloud-specific URLs.
  • ValidationRegex is a struct that defines various regex-based validation expressions.

🐛 Bug fixes

  • View disableDynamicType now applies the provided size category instead of always .medium.

💥 Breaking Changes

All previously deprecated code has been removed.

  • ActionToggle has been removed - just use onChange(of:) to observe the toggle state instead.
  • DismissableView now uses DismissAction instead of PresentationMode.
  • EdgeInsets factory functions have been replaced with proper initializers.
  • FilePicker now requires UTType instead of String.
  • FolderMonitor has been renamed to DirectoryMonitor.
  • FolderObservable has been renamed to DirectoryObservable.
  • FormActionButton has been replaced with a FormActionButtonStyle.
  • FormTextButton has been removed since ListAction is so easy to use.
  • FormTextEditor and FormTextField has been removed. Use .formRowTitle(...) instead.
  • ScanCodeGenerator has been replaced by Image and ImageRepresentable init extensions.