Skip to content

Commit

Permalink
Update 8.7 post
Browse files Browse the repository at this point in the history
  • Loading branch information
danielsaidi committed Jun 19, 2024
1 parent d13e41b commit cf1290a
Showing 1 changed file with 29 additions and 12 deletions.
Original file line number Diff line number Diff line change
@@ -1,15 +1,14 @@
---
title: KeyboardKit 8.7 RC3
date: 2024-06-18 08:00:00 +0100
title: KeyboardKit 8.7
date: 2024-06-19 08:00:00 +0100
tags: releases essentials autocomplete dictation feedback layout settings pro

image: /assets/headers/icon.png

release: https://github.com/KeyboardKit/KeyboardKit/releases/tag/8.7-rc3
release-pro: https://github.com/KeyboardKit/KeyboardKitPro/releases/tag/8.7-rc3
release: https://github.com/KeyboardKit/KeyboardKit/releases/tag/8.7.0
---

The KeyboardKit 8.7 Release Candidate 3 is out. This is a huge update that improves autocomplete, adds support for settings, improves layout handling, fixes some bugs, and much more.
KeyboardKit 8.7 is out. This is a **massive** update that improves autocomplete, adds next character prediction & persistent settings, improves the design and layout handling, and much, much more.

![KeyboardKit logo]({{page.image}})

Expand All @@ -18,17 +17,35 @@ The KeyboardKit 8.7 Release Candidate 3 is out. This is a huge update that impro

KeyboardKit 8.7 greatly improves the autocomplete behavior and makes it possible to register your own custom autocorrections for all keyboard locales.

The `Autocomplete.LocalProvider` now returns proper unknown statuses for its suggestion, which the action handler will use to ask the provider to learn all unknown suggestions that the user applies.
First of all, `AutocompleteProvider` is renamed to `AutocompleteService` to better reflect the increased set of responsibilities that this type will get.

You can toggle this behavior on and off, using the new `isAutoLearnEnabled` in `AutocompleteContext`.
The `Autocomplete.LocalService` now returns proper unknown statuses, which the action handler will then use to ask the service to learn all unknown suggestions that the user applies.

The `AutocompleteContext` also has a new `preferredSuggestionCount` property that can be used to tell the provider how many suggestions to return, as well as a new `autocorrectDictionary`.
You can toggle this on and off with the new `isAutoLearnEnabled` property in `AutocompleteContext`.

The `autocorrectDictionary` can be used to provide custom autocorrections for all supported locales to the provider. The local provider will prefer this dictionary before its own suggestions.
The `AutocompleteContext` also has a new `suggestionsDisplayCount` property that is used to cap the number of suggestions that are returned by the `suggestions` property.

The `AutocompleteContext` also has a new `autocorrectDictionary` property that can be used to define custom autocorrections for all supported locales, to work around any limitations you find.

These new way to learn unknown suggestions and customize autocorrect will hopefully solve many frustrations involved with autocomplete, where the provider will behave better over time.

Another change is that the `KeyboardInputViewController` will check more places before performing autocomplete. The `KeyboardContext` `prefersAutocomplete` will now be used to make this decision.

## Improved Autocomplete Disabling

The `KeyboardInputViewController` will now check more places before performing autocomplete. The `KeyboardContext` `prefersAutocomplete` will now be used as well, as will the native keyboard type.

This change means that autocomplete will for instance be properly disabled when you enter URLs and email addresses, which aligns well with the native keyboard behavior.


## Next Character Prediction

The `AutocompleteService` protocol has a brand new `nextCharacterPrediction` function, which is now implemented by the KeyboardKit Pro `LocalService`.

Next character prediction lets you get percentage-based probabilities for which characters keys that are most likely to be tapped next by the user.

Next character prediction can be used to implement dynamic tap areas, where the input key tap areas can vary based on the probability that a key may be tapped next.

Dynamic tap areas will be implemented in a future version of KeyboardKit.


## New Settings Types
Expand Down Expand Up @@ -66,6 +83,6 @@ This makes it even easier to interact with many well-known apps, like LinkedIn,

## Conclusion

KeyboardKit 8.7 is another huge release, that adds many new features and improves many things.
KeyboardKit 8.7 is another huge release, that adds many new features and improves many things. Please give it a try and let us know what you think.

Please give the new 8.7 Release Candidate a try and report if anything seems to be off. Also see the [release notes]({{page.release}}) for a KeyboardKit & [KeyboardKit Pro]({{page.release-pro}}) for more info.
For more details, see the [release notes]({{page.release}}).

0 comments on commit cf1290a

Please sign in to comment.