From 99a4dbd2c19527d709302635d476faa271269464 Mon Sep 17 00:00:00 2001 From: Daniel Saidi Date: Fri, 15 Nov 2024 22:54:04 +0100 Subject: [PATCH] Update package --- Package.swift | 4 ++-- RELEASE_NOTES.md | 29 +++++++++++++++++++---------- 2 files changed, 21 insertions(+), 12 deletions(-) diff --git a/Package.swift b/Package.swift index fa71dc4fdc7..12686ac417d 100644 --- a/Package.swift +++ b/Package.swift @@ -20,8 +20,8 @@ let package = Package( targets: [ .binaryTarget( name: "KeyboardKitPro", - url: "https://github.com/KeyboardKit/KeyboardKit/releases/download/9.0.0-rc.2.1/KeyboardKitPro.zip", - checksum: "cab6b9522ca5dc94517fe54240dcc57b0713f9624b02d6666a47e105f3ac33f8" + url: "https://github.com/KeyboardKit/KeyboardKit/releases/download/9.0.0-rc.3/KeyboardKitPro.zip", + checksum: "08b35254feee9e7b2f6cf4b9f89227a8712210406fc7b9dc08225fd0f2f189d7" ) ] ) diff --git a/RELEASE_NOTES.md b/RELEASE_NOTES.md index 76653d82b73..e51b0979561 100644 --- a/RELEASE_NOTES.md +++ b/RELEASE_NOTES.md @@ -28,6 +28,8 @@ This version upgrades the deployment targets to `iOS 15`, `macOS 12`, `tvOS 15`, This version has migration deprecations to help you transition from KeyboardKit 8. Just follow the instructions to migrate your code if needed. They will be removed in 9.1. +This version also moves a lot of non-essential views and utilities from KeyboardKit to KeyboardKit Pro, to make the open-source framework a bit more basic and overviewable. + You may still run into a few breaking changes, where migrations were not possible due to architectural changes. For such breaking changes, see the changes & comments below. Migration-based changes that are not listed under "Breaking Changes" will become breaking if you don't address any such warnings before upgrading to KeyboardKit 9.1 and later. @@ -38,7 +40,7 @@ The next keyboard button experiments have been made permanent. ### ⌨️ Essentials -The `KeyboardContext` has a new `isKeyboardCollapsed` property that can be enabled to collapse the keyboard. +The `KeyboardContext` has a new `isKeyboardCollapsed` as well as a new `isAutoCollapsedEnabled` setting. The `KeyboardContext` has a new `keyboardCase` that lets us decouple the keyboard type from the keyboard case. @@ -114,11 +116,17 @@ This version adds support for 🇦🇺 English (Australia) and 🇨🇦 English ### 🔣 Layout -An `InputSet` can now be created with device variations, which allows for resolving device-specific items at runtime. +`InputSet` can now be created with device variations, which allows for resolving device-specific items at runtime. + +This makes it possible to render the same input for different devices, which makes the floating keyboard possible. + +`KeyboardLayout` is now a `struct` instead of a `class`, which better reflects the value type nature of its model. + +This requires you to change any layout variables to use `var` instead of `let` when you want to mutate the layout. -The `KeyboardLayout` type is now a `struct` instead of a `class`, to better represent the value type it's meant to be. +The `KeyboardLayoutIdentifiable` protocol has been removed to make layout item mutations easier to understand & use. -This change from a reference type to a value type may require you to change from `let` to `var` when you modify a layout. +KeyboardKit Pro adds layout item mutations to the `KeyboardLayout` itself, which will allow for future improvements. ### 🎛️ Settings @@ -144,11 +152,12 @@ Some things that are not covered by migration deprecations are: * All previously deprecated code has been removed. * All previously mutable styles and configs are now computed. -* The dictation changes can't be migrated since a new service replaces the old ones. -* The `Autocomplete.Suggestion` additional info are now limited to string-based data. -* The `Autocomplete.LocalService` now requires a keyboard context for contextual info. -* The `KeyboardLayout` is now a struct, and must now be a `var` for you to customize it. -* The `KeyboardStyleService` and callout style view modifiers now only use the base style. -* The `StandardSpeechRecognizer` has been refactored, and must be updated for you to use it. +* The dictation changes can't be migrated since the services are merged. +* `Autocomplete.Suggestion` implements protocols that required info constraints. +* `Autocomplete.LocalService` now requires a keyboard context for contextual info. +* `InputSet` no longer implements the removed `KeyboardLayoutIdentifiable` protocol. +* `KeyboardLayout` is now a struct, and must now be a `var` for you to customize it. +* `KeyboardStyleService` and callout style view modifiers now only use the base style. +* `StandardSpeechRecognizer` has been refactored, and must be updated for you to use it. A problem that you may run into, is that the `KeyboardInputViewController` `setupKeyboardView(_ view: @autoclosure @escaping () -> Content)` has been renamed to `setupKeyboardView(with:)` to remove DocC ambiguity with the controller-based function. If you use this variant, just add an `with:` parameter name.