Skip to content

Flint 1.0 is released!

Choose a tag to compare
@marcpalmer marcpalmer released this 21 May 10:41
· 16 commits to master since this release

We are overjoyed to announce that Flint framework has reached its public 1.0 release — meaning that the API is now stable and the baseline features are all implemented.

New since the last ea-1.0.7 build are a small number of breaking source changes to converge on naming consistency, along with some new features and improvements:

  • New system permissions support for Bluetooth, SiriKit and Media Library
  • New system permissions support for camera and microphone on macOS
  • New support for incoming NSUserActivity with webpageURL set for deep linking
  • New support for resigning the current automatic NSUserActivity
  • New support for custom activityType in prepareActivity
  • New support for disabling Action Stack functionality if not required
  • New support for disabling Analytics functionality if not required
  • Action Stacks now use a limited-size LIFO array to control memory footprint
  • Updated for Swift 4.2+ hashing changes
  • Zero compiler warnings (typealias woes be gone!)
  • Support for Action inputs that are not immutable, so the input is captured early for logging for correctness and thread safety
  • The perform() functions on action bindings now have argument names withInput: and withPresenter: as necessary, replacing the previous input: and presenter: for more Swiftiness
  • The NoInput enum case .none has changed to .noInput (returning optional enums that also have a case .none is a delicious source of obscure bugs)
  • The LoggerLevel enum case .none has changed to .off
  • The addVoiceShortcut(input: ..) function now has the argument withInput: and throws
  • The perform(intent:,completion:) function on IntentAction has argument withIntent: and now throws
  • The shortcut(input:) function on action bindings now has the argument withInput: and throws, as does the donateToSiri(withInput:) function
  • The prepareActivity function on actions now throws
  • The associatedIntents(input:) function now has withInput: argument and throws