Releases: KeyboardKit/KeyboardKit
Release list
10.8.1
This version fixes some locale and casing bugs.
The input controller will now make set up App Group syncing before accessing any settings. This fixes a bug where locales set in the main app didn't sync properly to the keyboard.
The input controller will also clean up its keyboard case logic, which caused some initial flickering and sometimes some flaky behavior. This also makes the keyboard honor the preferred autocapitalization of a text field, which wasn't always the case before.
🐛 Bug Fixes
KeyboardInputViewControllermoves SDK initialization earlier to avoid stale locale settings.KeyboardInputViewControllercleans up its initial case logic to make it correct and avoid flickering.
10.8.0
This version converts the various settings types to observable object classes, that are added to KeyboardState and injected into the various context and into the SwiftUI view environment.
This means that you can now get a settings instance from the environment instead of having to go through the context. This makes view binding more correct, and decouples the two types more.
This version extends AutocompleteSettings to handle user-based autocompletions, autocorrections, and ignored words, and adds new autocomplete settings screens for managing these settings.
This version also updates the dictation keyboard overlay to allow more customizations and styling options.
🌱 Essentials
Keyboardhas a newLocaleSectionsstruct.Keyboardhas a newLearnedWordsDictionarystruct.Keyboardhas new styling types for uniform styling.KeyboardStatehas new properties for settings types.Keyboard.LocaleDictionaryadds more conditional conformances.Keyboard.LocaleWordDictionaryis a new localized word dictionary.Keyboard.TextReplacementDictionaryhas new and renamed functions.Keyboard.TextReplacementDictionarynow conforms toKeyboardModel.String.autocompleteWordDelimitersnow contains additional characters.
📱 App
KeyboardAppViewno longer observes the keyboard state.
💡 Autocomplete
AutocompleteSettingshas a newautocorrectDictionary.AutocompleteSettingshas a newautocompleteDictionary.AutocompleteSettingshas a newignoredWordsDictionary.AutocompleteSettingsScreenlinks to new settings screens.AutocompleteIgnoredWordsScreenis a brand new setting screen.AutocompleteTextReplacementsScreenis a brand new setting screen.StandardAutocompleteServiceresolves itsemojiColonSearchlazily.StandardAutocompleteServicenow regards text replacements and ignored words.
🎤 Dictation
DictationContextno longer auto-resets itself.DictationContext.resetno longer uses async resets.DictationContext.setIsDictatingno longer animates.DictationIndicatorBadgeis now rendered as a circle.DictationIndicatorBadgeStylehas new styling options.DictationKeyboardOverlayStylehas new styling options.
😀 Emojis
EmojiandEmojiVersionhave been optimized for performance.
👁️ Previews
- There are new context and settings preview builders.
⚙️ Settings
- All settings types are converted to
ObservableObjectclasses. KeyboardSettingsScreennow links to the new text replacements.
🍭 Themes
KeyboardThemeSettingshas new functions for handling the theme.
🐛 Bug Fixes
String.autocompleteWordDelimitersupdates fixes URL autocomplete bugs.
🗑️ Deprecations
- The various context initializers now require a settings instance.
KeyboardThemeContexttheme logic has been moved to the settings.Locale.Dictionaryhas been renamed toKeyboard.LocaleDictionary.
10.7.3
This version tweaks the standard emoji action button style.
10.7.2
This patch adds some action picker values.
⚙️ Settings
KeyboardAction.PickerValuehas a newopenMainAppcase.KeyboardAction.PickerValuehas a newundocase.
10.7.1
This version adds some missing parts to the various pickers.
⚙️ Settings
Keyboard.InputToolbarTypePickerhas a newvaluesproperty.KeyboardActionPickerhas a newisTextFieldFocusedbinding.KeyboardActionPickerhas a newvaluesproperty.KeyboardSettingsDisclosurePickeris a new picker view.
10.7.0
This version adds undo functionality to the keyboard engine, which makes it possible to undo text insertions, deletions, and autocompletions in chunks. This is currently opt-in. Enable the undoManager experiment to try it out.
This version also adds many more pickers and settings for various keyboard models, including a brand new KeyboardActionPicker. This will let us harmonize the settings tools, and avoid having to write separate code for each model.
This version also flattens the remaining namespaces, to complete the extensive namespace transition earlier than initially planned, to give us all time to migrate before KeyboardKit 11.
🌱 Essentials
Keyboard.DockEdgehas a new.nonecase.Keyboard.DockEdgenow implementsKeyboardSettingsPickerValue.Keyboard.InputToolbarTypenow implementsKeyboardSettingsPickerValue.Keyboard.InputTypenow implementsKeyboardSettingsPickerValue.Keyboard.KeyboardCasenow implementsKeyboardSettingsPickerValue.Keyboard.KeyboardTypenow implementsKeyboardSettingsPickerValue.Keyboard.LayoutTypenow implementsKeyboardSettingsPickerValue.Keyboard.ReturnKeyTypenow implementsKeyboardSettingsPickerValue.Keyboard.SpacebarLongPressBehaviornow implementsKeyboardSettingsPickerValue.Keyboard.SpacebarMenuTypehas a new.nonecase.Keyboard.SpacebarMenuTypenow implementsKeyboardSettingsPickerValue.KeyboardControllerhas a newundoLastRecordedDocumentChangefunction.KeyboardControllerhas a newopenMainAppandopenMainAppDeepLinkfunctions.
⚡️ Actions
KeyboardAction.openMainAppand.undoare new actions.KeyboardAction.PickerValueis a newKeyboardSettingsPickerValue.StandardKeyboardActionHandlerhas a newundoLastRecordedDocumentChangefunction.
🧪 Experiments
Experiment.undoManageris a new experiment that lets you enable the new undo feature.
📜 Licenses
LicenseErrorAlerthas been redesigned to be more informative.
📄 Proxy
TextDocumentUndoChangeis a new type to describe a text document change.TextDocumentUndoManageris a new class for undoing text document changes.
⚙️ Settings
Keyboard.DockEdgePickeris a new picker component.Keyboard.InputToolbarTypePickeris a new picker component.Keyboard.InputTypePickeris a new picker component.Keyboard.KeyboardCasePickeris a new picker component.Keyboard.KeyboardTypePickeris a new picker component.Keyboard.LayoutTypePickeris a new picker component.Keyboard.ReturnKeyTypePickeris a new picker component.Keyboard.SpacebarLongPressBehaviorPickeris a new picker component.Keyboard.SpacebarMenuTypePickeris a new picker component.KeyboardActionPickeris a new picker component.
🎨 Styling
Image.keyboardArrowBackwardis a new image.Image.keyboardArrowForwardis a new image.Image.keyboardCaseis a new image builder.Image.keyboardEscapeis a new image.Image.keyboardFunctionis a new image.Image.keyboardInputTypeis a new image builder.Image.keyboardSpaceis a new image.Image.keyboardSystemSettingsis a new image.Image.keyboardTypeis a new image builder.Image.keyboardUrlDomainis a new image.
🐛 Bug fixes
KeyboardLocaleSettingsScreennow applies the correct layout type.
📦 Namespace Changes
Autocomplete.AutocorrectionDisabledToContextModiferhas been renamed toKeyboardKit.AutocorrectionDisabledModifer.Autocomplete.DisabledAutocompleteServicehas been renamed toKeyboardKit.DisabledAutocompleteService.Autocomplete.NextWordPredictionMethodhas been renamed toAutocompleteMethod.Autocomplete.NextWordPredictionRequestTypehas been renamed toAutocompleteMethod.Autocomplete.NextWordPredictionTypePickerhas been renamed toAutocompleteMethodPicker.Autocomplete.Resulthas been renamed toAutocompleteResult.Autocomplete.RemotePredictionRequesthas been renamed toRemoteAutocompleteRequest.Autocomplete.SettingsScreenhas been renamed toAutocompleteSettingsScreen.Autocomplete.SettingsScreenLocalizationhas been renamed toAutocompleteSettingsScreenLocalization.Autocomplete.SettingsScreenSectionshas been renamed toAutocompleteSettingsScreenSections.Autocomplete.SettingsScreenVisibilityhas been renamed toAutocompleteSettingsScreenVisibility.Autocomplete.StandardAutocompleteServicehas been renamed toKeyboardKit.StandardAutocompleteService.Autocomplete.Suggestionhas been renamed toAutocompleteSuggestion.Autocomplete.SuggestionTypehas been renamed toAutocompleteSuggestionType.Autocomplete.TextReplacementDictionaryhas been renamed toAutocompleteReplacementDictionary.Autocomplete.Toolbarhas been renamed toAutocompleteToolbar.Autocomplete.ToolbarScrollModehas been renamed toAutocompleteToolbarScrollMode.Autocomplete.ToolbarStylehas been renamed toAutocompleteToolbarStyle.Autocomplete.ToolbarItemhas been renamed toAutocompleteToolbarItem.Autocomplete.ToolbarItemStylehas been renamed toAutocompleteToolbarItemStyle.Autocomplete.ToolbarSeparatorhas been renamed toAutocompleteToolbarSeparator.Autocomplete.ToolbarSeparatorStylehas been renamed toAutocompleteToolbarSeparatorStyle.Callouts.Actionshas been renamed toKeyboardCalloutActionsCallouts.ActionsBuilderhas been renamed toKeyboardCalloutActions.BuilderCallouts.ActionsBuilderParamshas been renamed toKeyboardCalloutActions.BuilderParamsCallouts.ActionCallouthas been renamed toKeyboardActionCalloutCallouts.CalloutStylehas been renamed toKeyboardCalloutStyleCallouts.InputCallouthas been renamed toKeyboardInputCalloutDictation.AuthorizationStatushas been renamed toDictationAuthorizationStatusDictation.BarVisualizerhas been renamed toDictationBarVisualizerDictation.BarVisualizerStylehas been renamed toDictationBarVisualizerStyleDictation.DictationMethodhas been renamed toDictationMethodDictation.DictationStatehas been renamed toDictationStateDictation.DisabledDictationEnginehas been renamed toDisabledDictationEngineDictation.DisabledDictationServicehas been renamed toDisabledDictationServiceDictation.DisabledSpeechRecognizerhas been renamed toDisabledDictationSpeechRecognizerDictation.Indicatorhas been renamed toDictationIndicatorBadgeDictation.IndicatorStylehas been renamed toDictationIndicatorBadgeStyleDictation.ProgressViewhas been renamed toDictationKeyboardOverlayDictation.ProgressViewLocalizationhas been renamed toDictationKeyboardOverlayLocalizationDictation.ProgressViewStylehas been renamed toDictationKeyboardOverlayStyleDictation.ServiceErrorhas been renamed toDictationServiceErrorDictation.SettingsScreenhas been renamed toDictationSettingsScreenDictation.SettingsScreenLocalizationhas been renamed toDictationSettingsScreenLocalizationDictation.SettingsScreenSectionshas been renamed toDictationSettingsScreenSectionsDictation.SpeechRecognizerResulthas been renamed toDictationSpeechResultDictation.StandardDictationEnginehas been renamed toStandardDictationEngineDictation.StandardDictationServicehas been renamed toStandardDictationServiceDictation.StandardVolumeRecorderhas been renamed toStandardDictationVolumeRecorderDictation.VolumeRecorderhas been renamed toDictationVolumeRecorderDictation.VolumeResulthas been renamed toDictationVolumeResultDictation.VolumeVisualizerhas been renamed toDictationVolumeVisualizerDictation.VolumeVisualizerStylehas been renamed toDictationVolumeVisualizerStyleEmoji.ColonSearchhas been renamed toEmojiColonSearch.Emoji.KeyboardSearchFieldhas been renamed toEmojiSearchFieldEmojiKeyboard.Configurationhas been renamed toEmojiKeyboardConfigurationEmojiKeyboard.Sizeshas been renamed toEmojiKeyboardSizesEmojiKeyboard.Statehas been renamed toEmojiKeyboardStateEmojiKeyboard.Stylehas been renamed toEmojiKeyboardStyleExperimenthas been renamed toKeyboardExperiment.Experiment.SettingsScreenhas been renamed toKeyboardExperimentSettingsScreen.Experiment.SettingsScreenLocalizationhas been renamed toKeyboardExperimentSettingsScreenLocalization.Experimentshas been renamed toKeyboardExperimentSettings.ExperimentContexthas been renamed toKeyboardExperimentContext.Feedback.Audiohas been renamed toKeyboardAudioFeedback.Feedback.AudioConfigurationhas been renamed toKeyboardAudioFeedbackConfiguration.Feedback.AudioEnginehas been renamed toKeyboardAudioFeedbackEngine.Feedback.DisabledFeedbackServicehas been renamed toDisabledKeyboardFeedbackService.Feedback.Haptichas been renamed toKeyboardHapticFeedback.Feedback.HapticConfigurationhas been renamed toKeyboardHapticFeedbackConfiguration.Feedback.HapticEnginehas been renamed toKeyboardHapticFeedbackEngine.Feedback.StandardFeedbackServicehas been renamed toStandardKeyboardFeedbackService.Feedback.Togglehas been renamed toKeyboardFeedbackToggle.FeedbackContexthas been renamed toKeyboardFeedbackContext.FeedbackServicehas been renamed toKeyboardFeedbackService.FeedbackSettingshas been renamed toKeyboardFeedbackSettings.FontContexthas been renamed toKeyboardFontContext.FontSettingshas been renamed toKeyboardFontSettings.Fonts.UnicodeFonthas been renamed toKeyboardUnicodeFont.Fonts.UnicodeFontOptionhas been renamed toKeyboardUnicodeFontOption.- `Ke...
10.6.1
This version reverts the hard disabling of the hostApplicationBundleId property, and restores it with a soft deprecated version that explains that the function will be removed in KeyboardKit 11.
Note that the ID will still be nil on all iOS versions before 26.4, so please see the Host feature article in the online docs for a discussion on how to best handle integrating with the host app.
💡 Changes
UIInputViewController.hostApplicationBundleIdnow resolves the bundle ID on iOS versions before 26.4.
10.7.0-beta.1
This version adds undo functionality to the keyboard engine, which makes it possible to undo text insertions, deletions, and autocompletions in chunks. This is currently opt-in. Enable the undoManager experiment to try it out.
This version also adds many more pickers and settings for various keyboard models, including a brand new KeyboardActionPicker. This will let us harmonize the settings tools, and avoid having to write separate code for each model.
This version also flattens the remaining namespaces, to complete the extensive namespace transition earlier than initially planned, to give us all time to migrate before KeyboardKit 11.
🌱 Essentials
Keyboard.DockEdgehas a new.nonecase.Keyboard.DockEdgenow implementsKeyboardSettingsPickerValue.Keyboard.InputToolbarTypenow implementsKeyboardSettingsPickerValue.Keyboard.InputTypenow implementsKeyboardSettingsPickerValue.Keyboard.KeyboardCasenow implementsKeyboardSettingsPickerValue.Keyboard.KeyboardTypenow implementsKeyboardSettingsPickerValue.Keyboard.LayoutTypenow implementsKeyboardSettingsPickerValue.Keyboard.ReturnKeyTypenow implementsKeyboardSettingsPickerValue.Keyboard.SpacebarLongPressBehaviornow implementsKeyboardSettingsPickerValue.Keyboard.SpacebarMenuTypehas a new.nonecase.Keyboard.SpacebarMenuTypenow implementsKeyboardSettingsPickerValue.KeyboardControllerhas a newundoLastRecordedDocumentChangefunction.KeyboardControllerhas a newopenMainAppandopenMainAppDeepLinkfunctions.
⚡️ Actions
KeyboardAction.openMainAppand.undoare new actions.KeyboardAction.PickerValueis a newKeyboardSettingsPickerValue.StandardKeyboardActionHandlerhas a newundoLastRecordedDocumentChangefunction.
🧪 Experiments
Experiment.undoManageris a new experiment that lets you enable the new undo feature.
📜 Licenses
LicenseErrorAlerthas been redesigned to be more informative.
📄 Proxy
TextDocumentUndoChangeis a new type to describe a text document change.TextDocumentUndoManageris a new class for undoing text document changes.
⚙️ Settings
Keyboard.DockEdgePickeris a new picker component.Keyboard.InputToolbarTypePickeris a new picker component.Keyboard.InputTypePickeris a new picker component.Keyboard.KeyboardCasePickeris a new picker component.Keyboard.KeyboardTypePickeris a new picker component.Keyboard.LayoutTypePickeris a new picker component.Keyboard.ReturnKeyTypePickeris a new picker component.Keyboard.SpacebarLongPressBehaviorPickeris a new picker component.Keyboard.SpacebarMenuTypePickeris a new picker component.KeyboardActionPickeris a new picker component.
🎨 Styling
Image.keyboardArrowBackwardis a new image.Image.keyboardArrowForwardis a new image.Image.keyboardCaseis a new image builder.Image.keyboardEscapeis a new image.Image.keyboardFunctionis a new image.Image.keyboardInputTypeis a new image builder.Image.keyboardSpaceis a new image.Image.keyboardSystemSettingsis a new image.Image.keyboardTypeis a new image builder.Image.keyboardUrlDomainis a new image.
🐛 Bug fixes
KeyboardLocaleSettingsScreennow applies the correct layout type.
📦 Namespace Changes
Autocomplete.AutocorrectionDisabledToContextModiferhas been renamed toKeyboardKit.AutocorrectionDisabledModifer.Autocomplete.DisabledAutocompleteServicehas been renamed toKeyboardKit.DisabledAutocompleteService.Autocomplete.NextWordPredictionMethodhas been renamed toAutocompleteMethod.Autocomplete.NextWordPredictionRequestTypehas been renamed toAutocompleteMethod.Autocomplete.NextWordPredictionTypePickerhas been renamed toAutocompleteMethodPicker.Autocomplete.Resulthas been renamed toAutocompleteResult.Autocomplete.RemotePredictionRequesthas been renamed toRemoteAutocompleteRequest.Autocomplete.SettingsScreenhas been renamed toAutocompleteSettingsScreen.Autocomplete.SettingsScreenLocalizationhas been renamed toAutocompleteSettingsScreenLocalization.Autocomplete.SettingsScreenSectionshas been renamed toAutocompleteSettingsScreenSections.Autocomplete.SettingsScreenVisibilityhas been renamed toAutocompleteSettingsScreenVisibility.Autocomplete.StandardAutocompleteServicehas been renamed toKeyboardKit.StandardAutocompleteService.Autocomplete.Suggestionhas been renamed toAutocompleteSuggestion.Autocomplete.SuggestionTypehas been renamed toAutocompleteSuggestionType.Autocomplete.TextReplacementDictionaryhas been renamed toAutocompleteReplacementDictionary.Autocomplete.Toolbarhas been renamed toAutocompleteToolbar.Autocomplete.ToolbarScrollModehas been renamed toAutocompleteToolbarScrollMode.Autocomplete.ToolbarStylehas been renamed toAutocompleteToolbarStyle.Autocomplete.ToolbarItemhas been renamed toAutocompleteToolbarItem.Autocomplete.ToolbarItemStylehas been renamed toAutocompleteToolbarItemStyle.Autocomplete.ToolbarSeparatorhas been renamed toAutocompleteToolbarSeparator.Autocomplete.ToolbarSeparatorStylehas been renamed toAutocompleteToolbarSeparatorStyle.Callouts.Actionshas been renamed toKeyboardCalloutActionsCallouts.ActionsBuilderhas been renamed toKeyboardCalloutActions.BuilderCallouts.ActionsBuilderParamshas been renamed toKeyboardCalloutActions.BuilderParamsCallouts.ActionCallouthas been renamed toKeyboardActionCalloutCallouts.CalloutStylehas been renamed toKeyboardCalloutStyleCallouts.InputCallouthas been renamed toKeyboardInputCalloutDictation.AuthorizationStatushas been renamed toDictationAuthorizationStatusDictation.BarVisualizerhas been renamed toDictationBarVisualizerDictation.BarVisualizerStylehas been renamed toDictationBarVisualizerStyleDictation.DictationMethodhas been renamed toDictationMethodDictation.DictationStatehas been renamed toDictationStateDictation.DisabledDictationEnginehas been renamed toDisabledDictationEngineDictation.DisabledDictationServicehas been renamed toDisabledDictationServiceDictation.DisabledSpeechRecognizerhas been renamed toDisabledDictationSpeechRecognizerDictation.Indicatorhas been renamed toDictationIndicatorBadgeDictation.IndicatorStylehas been renamed toDictationIndicatorBadgeStyleDictation.ProgressViewhas been renamed toDictationKeyboardOverlayDictation.ProgressViewLocalizationhas been renamed toDictationKeyboardOverlayLocalizationDictation.ProgressViewStylehas been renamed toDictationKeyboardOverlayStyleDictation.ServiceErrorhas been renamed toDictationServiceErrorDictation.SettingsScreenhas been renamed toDictationSettingsScreenDictation.SettingsScreenLocalizationhas been renamed toDictationSettingsScreenLocalizationDictation.SettingsScreenSectionshas been renamed toDictationSettingsScreenSectionsDictation.SpeechRecognizerResulthas been renamed toDictationSpeechResultDictation.StandardDictationEnginehas been renamed toStandardDictationEngineDictation.StandardDictationServicehas been renamed toStandardDictationServiceDictation.StandardVolumeRecorderhas been renamed toStandardDictationVolumeRecorderDictation.VolumeRecorderhas been renamed toDictationVolumeRecorderDictation.VolumeResulthas been renamed toDictationVolumeResultDictation.VolumeVisualizerhas been renamed toDictationVolumeVisualizerDictation.VolumeVisualizerStylehas been renamed toDictationVolumeVisualizerStyleEmoji.ColonSearchhas been renamed toEmojiColonSearch.Emoji.KeyboardSearchFieldhas been renamed toEmojiSearchFieldEmojiKeyboard.Configurationhas been renamed toEmojiKeyboardConfigurationEmojiKeyboard.Sizeshas been renamed toEmojiKeyboardSizesEmojiKeyboard.Statehas been renamed toEmojiKeyboardStateEmojiKeyboard.Stylehas been renamed toEmojiKeyboardStyleExperimenthas been renamed toKeyboardExperiment.Experiment.SettingsScreenhas been renamed toKeyboardExperimentSettingsScreen.Experiment.SettingsScreenLocalizationhas been renamed toKeyboardExperimentSettingsScreenLocalization.Experimentshas been renamed toKeyboardExperimentSettings.ExperimentContexthas been renamed toKeyboardExperimentContext.Feedback.Audiohas been renamed toKeyboardAudioFeedback.Feedback.AudioConfigurationhas been renamed toKeyboardAudioFeedbackConfiguration.Feedback.AudioEnginehas been renamed toKeyboardAudioFeedbackEngine.Feedback.DisabledFeedbackServicehas been renamed toDisabledKeyboardFeedbackService.Feedback.Haptichas been renamed toKeyboardHapticFeedback.Feedback.HapticConfigurationhas been renamed toKeyboardHapticFeedbackConfiguration.Feedback.HapticEnginehas been renamed toKeyboardHapticFeedbackEngine.Feedback.StandardFeedbackServicehas been renamed toStandardKeyboardFeedbackService.Feedback.Togglehas been renamed toKeyboardFeedbackToggle.FeedbackContexthas been renamed toKeyboardFeedbackContext.FeedbackServicehas been renamed toKeyboardFeedbackService.FeedbackSettingshas been renamed toKeyboardFeedbackSettings.FontContexthas been renamed toKeyboardFontContext.FontSettingshas been renamed toKeyboardFontSettings.Fonts.UnicodeFonthas been renamed toKeyboardUnicodeFont.Fonts.UnicodeFontOptionhas been renamed toKeyboardUnicodeFontOption.- `Ke...
10.6.0
This version minimizes the number of on-launch redraws to minimize launch flickering, and makes it possible to swipe up and down on the spacebar to move the cursor in greater steps.
This also version starts reducing namespace nesting, as described in issue 1045. Expect less nesting and more surface-level types, with renaming guides to help you migrate.
Finally, since the host application bundle ID keeps returning nil in iOS 27, we have deprecated the KeyboardInputViewController hostApplicationBundleId property, and updated the documentation with alternate ways to handle this.
🌱 Essentials
Keyboard.SpacebarDragGestureHandlercan now handle vertical movement.Keyboard.SpacebarDragGestureOffsetis a new enum for spacebar dragging.Keyboard.SpacebarDragSensitivitynow defines a horizontal and a vertical step value.KeyboardInputViewControllerminimizes the number of on-launch redraws to minimize flickering.
🏠 Host
KeyboardHostApplicationPickernow specializesKeyboardSettingsPicker.
🔣 Layout
KeyboardLayoutconvertbaseLayoutbuilder to an initializer.KeyboardLayoutconvertiPhoneLayoutandiPadLayoutbuilders to instance members.KeyboardLayoutupdates the keyboard switcher placement on iPads running iOS 18 and earlier.KeyboardLayout.DeviceConfigurationapplies updated edge insets on iPads running iOS 18 and earlier.
📦 Namespace Changes
KeyboardLayout.DeviceConfigurationhas been renamed toKeyboardLayoutConfiguration.KeyboardLayout.Itemhas been renamed toKeyboardLayoutItem.KeyboardLocale.ContextMenuhas been renamed toKeyboardLocaleContextMenuModifier.KeyboardLocale.ListItemhas been renamed toKeyboardLocaleListItem.KeyboardLocale.SettingsScreenhas been renamed toKeyboardLocaleSettingsSettingsScreen.KeyboardLocale.SettingsScreenLocalizationhas been renamed toKeyboardLocaleSettingsScreenLocalization.KeyboardLocale.SettingsScreenPickershas been renamed toKeyboardLocaleSettingsScreenPickers.KeyboardLocale.SettingsScreenVisibilityhas been renamed toKeyboardLocaleSettingsScreenVisibility.KeyboardSettings.SettingsScreenhas been renamed toKeyboardSettingsScreen.KeyboardSettings.SettingsScreenLocalizationhas been renamed toKeyboardSettingsScreenLocalization.KeyboardSettings.SettingsScreenPickershas been renamed toKeyboardSettingsScreenPickers.KeyboardSettings.SettingsScreenSectionshas been renamed toKeyboardSettingsScreenSections.KeyboardSettings.SettingsScreenVisibilityhas been renamed toKeyboardSettingsScreenVisibility.KeyboardSettings.Pickerhas been renamed toKeyboardSettingsPicker.KeyboardSettings.PickerValuehas been renamed toKeyboardSettingsPickerValue.KeyboardStatus.Labelhas been renamed toKeyboardStatusLabel.KeyboardStatus.LabelStylehas been renamed toKeyboardStatusLabelStyle.KeyboardStatus.Sectionhas been renamed toKeyboardStatusSection.KeyboardStatus.SectionLocalizationhas been renamed toKeyboardStatusSectionLocalization.KeyboardStatus.SectionStylehas been renamed toKeyboardStatusSectionStyle.KeyboardTheme.Collectionhas been renamed toKeyboardThemeCollection.KeyboardTheme.SettingsScreenhas been renamed toKeyboardThemeSettingsScreen.KeyboardTheme.SettingsScreenLocalizationhas been renamed toKeyboardThemeSettingsScreenLocalization.KeyboardTheme.SettingsScreenStylehas been renamed toKeyboardThemeSettingsScreenStyle.KeyboardTheme.SettingsScreenThemeshas been renamed toKeyboardThemeSettingsScreenThemes.Proxy.FullDocumentReaderConfigurationhas been renamed toDocumentReaderConfiguration.Proxy.FullDocumentReaderErrorhas been renamed toDocumentReaderError.Proxy.FullDocumentReaderResulthas been renamed toDocumentReaderResult.Proxy.SelectionEdgehas been renamed toKeyboard.TextSelectionEdge.
👁️ Previews
KeyboardPreviews.ActionHandleris renamed toPreviewKeyboardActionHandler.KeyboardPreviews.AutocompleteServiceis renamed toPreviewAutocompleteService.KeyboardPreviews.InputViewControlleris renamed toPreviewKeyboardInputViewController.KeyboardPreviews.TextDocumentProxyis renamed toPreviewTextDocumentProxy.
📄 Proxy
DocumentReaderis a new protocol, informally implemented byUITextDocumentProxy.UITextDocumentProxyhas new sentenceoffsetvariables.
⚙️ Settings
KeyboardSettingsPickernow supports an optional selection binding..keyboardSettingsPickerTitle(for:_:)is a newKeyboardSettingsPickerview modifier..keyboardSettingsPickerValueTitle(for:_:)is a newKeyboardSettingsPickerview modifier.
🩺 Status
KeyboardStatusInspectoris a new tool for inspecting the keyboard system status.
🗑️ Deprecations
- The
KeyboardInputViewControllerhostApplicationBundleIdhas been deprecated. - The
KeyboardInputnamespace is deprecated and will be removed in KeyboardKit 11. - The
KeyboardLocalenamespace is deprecated and will be removed in KeyboardKit 11. - The
KeyboardPreviewsnamespace is deprecated and will be removed in KeyboardKit 11. - The
KeyboardStatusnamespace is deprecated and will be removed in KeyboardKit 11. - The
KeyboardStylenamespace is deprecated and will be removed in KeyboardKit 11. - The
Proxynamespace is deprecated and will be removed in KeyboardKit 11.
10.5.1
This version updates some license information.