chore: Revert "Merge branch 'master' into beta"

This reverts commit fae3932e15, reversing
changes made to 793daddb48.
This commit is contained in:
Marc Durdin 2025-02-14 07:45:28 +07:00
parent f25cabedbb
commit d6e7c0b9d1
39 changed files with 145 additions and 74 deletions

View file

@ -1,14 +1,5 @@
# Keyman Version History
## 19.0.2 alpha 2025-02-12
* chore(linux): remove support of Ubuntu 20.04 Focal (#13203)
## 19.0.1 alpha 2025-02-11
* refactor(windows): rename `TKeymanMutex.MutexOwned` to `TakeOwnership` and add `ReleaseOwnership` (#13168)
* chore: increment to alpha 19.0 (#13187)
## 18.0.191 beta 2025-02-12
* feat(windows): handle a hard windows reset occurring while downloading updated keyman files (#13128)

View file

@ -1 +1 @@
19.0.3
18.0.192

View file

@ -6,8 +6,8 @@ Keyman Engine for Android allows you to use any Keyman touch keyboard in your An
system keyboard app for purchase in the Play Store.<br/>
This guide will walk you through the steps for creating your first Android app with Keyman Engine for Android.
If you are not familiar with Android development, you will find the
[Android Developer online training](https://developer.android.com/training/index.html) an invaluable
If you are not familiar with Android development, you will find the
[Android Developer online training](https://developer.android.com/training/index.html) an invaluable
resource, and working through some of their tutorials first will help you with the rest of this guide.
### 1. Install Free Tools
@ -131,5 +131,5 @@ And there you have it: your first Keyman Engine for Android app!
## See Also
* [Guide: Build a system keyboard app](../system-keyboard/)
* [Keyman Developer Documentation](/developer/17.0/)
* [Keyman Engine for Android Documentation](/developer/engine/android/19.0/)
* [Keyman Engine for Android Documentation](/developer/engine/android/18.0/)
* [Android Developer Home](https://developer.android.com/index.html)

View file

@ -4,7 +4,7 @@ title: Keyman Engine for Android
## Overview
Keyman Engine for Android 19.0 is a Java library for Android 5.0 and later versions which enables a fully customisable keyboard layout, both within an app and system-wide.
Keyman Engine for Android 18.0 is a Java library for Android 5.0 and later versions which enables a fully customisable keyboard layout, both within an app and system-wide.
Keyboard layouts for Keyman Engine can be created with [Keyman Developer](/developer/17.0), and a [library of existing keyboard layouts](http://keyman.com/developer/keymanweb/keyboards)
is also available.</p>

View file

@ -1,6 +1,11 @@
---
title: What's New in Keyman Engine 19.0 for Android
title: What's New in Keyman Engine 18.0 for Android
---
## Keyman Engine for Android Breaking Changes: ##
* Change package name from `com.tavultesoft.kmea` to `com.keyman.engine` #7881
* Update to Java 11 #8543
## See Also
* [Keyman Engine for Android Documentation](index)

View file

@ -1,6 +1,9 @@
---
title: What's New in Keyman 19.0 for Android
title: What's New in Keyman 18.0 for Android
---
Here are some of the new features we have added to Keyman 19.0 for Android:
Here are some of the new features we have added to Keyman 18.0 for Android:
* New menu to adjust longpress delay time (#12170, #12185)
* Support localizations for right-to-left languages (#12215)
* Handle additional actions for ENTER key (#12125, #12315)

View file

@ -1,5 +1,5 @@
---
title: Keyman for Android 19.0 Help
title: Keyman for Android 18.0 Help
---
## [About Keyman](about/)

View file

@ -1,5 +1,5 @@
---
title: Keyman Developer 19.0 User Guide
title: Keyman Developer 18.0 User Guide
---
Need help using Keyman Developer to create your keyboard layouts? You'll
@ -8,7 +8,7 @@ and tutorials, and full reference information.
## Guides and Tutorials
- [What is Keyman Developer?](guides/intro)
- [What's new in 19.0](whats-new)
- [What's new in 18.0](whats-new)
- [Developing Keyman keyboard layouts](guides/develop)
- [Testing Keyman keyboards](guides/test)
- [Distributing Keyman keyboards](guides/distribute)

View file

@ -1,5 +1,21 @@
---
title: What's new in Keyman Developer 19.0
title: What's new in Keyman Developer 18.0
---
Keyman Developer 19 has the following significant changes:
Keyman Developer 18 has a number of significant changes:
* Updated to Unicode 16.0 (#12393)
* Improve automatic detection of minimum Keyman version for a keyboard during
compilation (#11981, #11982, #11965, #11957)
* Generate keyboards and lexical models from templates, with `kmc generate`
(#11014)
* Clone existing keyboard and lexical model projects, both from local file
system and also from any open source online Keyman keyboard in Keyman Cloud or
GitHub, with `kmc copy` and New Project dialogs (#12555, #12586, #13076)
* Support extending existing `&displaymap` data files when adding new characters
(#12622)
* Font settings for on screen keyboards are now kept consistent with package
metadata during compilation (#12949)
* New npm module @keymanapp/langtags makes langtags.json easily accessible
(#13046)
* Compiler messages now have links to additional documentation (#13156)

View file

@ -3,7 +3,7 @@
* kmlmp - Keyman Lexical Model Package Compiler
*/
// Note: this is a deprecated package and will be removed in Keyman 19.0
// Note: this is a deprecated package and will be removed in Keyman 18.0
import { Command } from 'commander';
import { KmpCompiler } from '@keymanapp/kmc-package';

View file

@ -113,7 +113,7 @@ All dependencies are already installed if you followed the instructions under
Keyman Core can be built with the `core/build.sh` script.
- [Building Keyman Core](../../core/docs/BUILDING.md)
- [Building Keyman Core](../../core/doc/BUILDING.md)
## Keyman for Linux

View file

@ -147,7 +147,7 @@ Run `ibus restart` after installing any of them.
Keyman tries to activate the keyboard automatically. If you want to activate
it for a different language, you can do so by following the steps below.
#### GNOME3 (Ubuntu default)
#### GNOME3 (focal and bionic default, also newer Ubuntu versions)
- Click the connection/sound/shutdown section in the top right. Then the tools
icon for Settings.

View file

@ -4,7 +4,7 @@ title: Keyman Minimum Versions
Changes in [minimum-versions.inc.sh](minimum-versions.inc.sh) should manually be propagated to the linked help files below:
## Keyman 19.0
## Keyman 18.0
Target Operating System and Platform Versions

View file

@ -4,7 +4,7 @@ title: Keyman Minimum Versions
Changes in [minimum-versions.inc.sh](minimum-versions.inc.sh) should manually be propagated to the linked help files below:
## Keyman 19.0
## Keyman 18.0
Target Operating System and Platform Versions

View file

@ -4,7 +4,7 @@ title: Keyman for iPhone and iPad Developer Support
## Overview
The Keyman Engine for iPhone and iPad 19.0 SDK is designed to provide
The Keyman Engine for iPhone and iPad 18.0 SDK is designed to provide
advanced international keyboard support to iOS apps.
As a developer, you simply need to use (or subclass) TextView or

View file

@ -1,5 +1,8 @@
---
title: What's New in Keyman 19.0 for iPhone and iPad
title: What's New in Keyman 18.0 for iPhone and iPad
---
Here are some significant changes to Keyman for iPhone and iPad 18.0:
Here are some of the new features we have added to Keyman for iPhone and iPad 19.0:
* Minimum supported version of iOS is 13.0.
* Predictive text and on screen keyboard startup performance improvements (#11784, #11264, #11265)
* Keyboard size can now be adjusted to your preference (#12571)

View file

@ -1,5 +1,5 @@
---
title: Keyman for iPhone and iPad 19.0 Help
title: Keyman for iPhone and iPad 18.0 Help
---
## [About Keyman](about/)

View file

@ -10,7 +10,7 @@ Build-Depends:
debhelper-compat (= 12),
dh-python,
gawk,
gir1.2-webkit2-4.1,
gir1.2-webkit2-4.1 | gir1.2-webkit2-4.0,
ibus,
libevdev-dev,
libgtk-3-dev,
@ -88,7 +88,7 @@ Architecture: all
Depends:
dbus-x11,
dconf-cli,
gir1.2-webkit2-4.1,
gir1.2-webkit2-4.1 | gir1.2-webkit2-4.0,
keyman-engine,
python3-bs4,
python3-fonttools,

View file

@ -66,7 +66,10 @@ override_dh_auto_install:
rm $(CURDIR)/debian/keyman/usr/share/locale/*.po*
# Don't call `build.sh install` - dh_auto_install does some extra smarts
dh_auto_install --sourcedir=linux/keyman-config --buildsystem=pybuild $@
dh $@ --with-python3 --with bash-completion
# Unfortunately bash-completion 2.10 (focal) doesn't yet provide dh-sequence-bash-completion,
# which we could add as build-dependency, so we'll have to explicitly call
# dh_bash_completion here instead of using `dh $@ --with-python3 --with bash-completion`
dh_bash-completion -O--buildsystem=pybuild
dh_python3 -O--buildsystem=pybuild
override_dh_missing:

View file

@ -1,5 +1,13 @@
---
title: What's New in Keyman 19.0 for Linux
title: What's New in Keyman 18.0 for Linux
---
Here are some of the new features we have added to Keyman for Linux 19.0:
Here are some significant changes to Keyman for Linux 18.0:
- Minimum supported Ubuntu version is now 22.04 Jammy LTS.
- Other supported versions are Ubuntu 24.04 Noble LTS and
Ubuntu 24.10 Oracular. Users that are running an older version of
Ubuntu will have to continue using an older Keyman version.
- Keyman no longer requires a patched version of ibus as Keyman now uses
a system service to manage keystroke order (#11535).
- Added support for simulation of AltGr (right Alt) with Ctrl+Alt (#11852)

View file

@ -1,5 +1,5 @@
---
title: Keyman for Linux 19.0 Help
title: Keyman for Linux 18.0 Help
---
Need help using Keyman for Linux? In time, this product documentation will grow and explain frequently asked questions.

View file

@ -649,8 +649,9 @@ _ptr_array_new_from_array(
}
// `g_ptr_array_new_from_null_terminated_array` is only available in GLib 2.76, but we're still
// stuck to 2.72 (Ubuntu 22.04 Jammy). Therefore we copy the implementation here (slightly
// simplified). Once we're past 2.76 we can use the GLib method directly.
// stuck to 2.64 (Ubuntu 20.04 Focal) and 2.72 (Ubuntu 22.04 Jammy). Therefore we
// copy the implementation here (slightly simplified). Once we're past 2.76 we can use the GLib method
// directly.
GPtrArray *
_g_ptr_array_new_from_null_terminated_array(
gpointer *data,

View file

@ -123,6 +123,22 @@ _free_tst_kb_data(add_keyboard_data* kb_data) {
G_DEFINE_AUTOPTR_CLEANUP_FUNC(add_keyboard_data, _free_tst_kb_data)
// Newer glib versions have g_assert_cmpstrv which would allow to do
// g_assert_cmpstrv(result, keyboards);
// but unfortunately Ubuntu 20.04 Focal doesn't have that, so we roll
// our own
void
_kmn_assert_cmpstrv(gchar** result, gchar** expected) {
g_assert_nonnull(result);
g_assert_nonnull(expected);
int i = 0;
for (; result[i] && expected[i]; i++) {
g_assert_cmpstr(result[i], ==, expected[i]);
}
g_assert_null(result[i]);
g_assert_null(expected[i]);
}
//----------------------------------------------------------------------------------------------
void
test_keyman_put_keyboard_options_todconf__invalid() {
@ -510,7 +526,7 @@ test_keyman_set_custom_keyboards__new_key() {
// Verify
g_auto(GStrv) result = _get_tst_kbds_key();
g_assert_nonnull(result);
g_assert_cmpstrv(result, keyboards);
_kmn_assert_cmpstrv(result, keyboards);
// Cleanup
_delete_tst_kbds_key();
@ -530,7 +546,7 @@ test_keyman_set_custom_keyboards__overwrite_key() {
// Verify
g_auto(GStrv) result = _get_tst_kbds_key();
g_assert_nonnull(result);
g_assert_cmpstrv(result, keyboards);
_kmn_assert_cmpstrv(result, keyboards);
// Cleanup
_delete_tst_kbds_key();
@ -549,7 +565,7 @@ test_keyman_set_custom_keyboards__delete_key_NULL() {
g_auto(GStrv) result = _get_tst_kbds_key();
gchar* expected[] = {NULL};
g_assert_nonnull(result);
g_assert_cmpstrv(result, expected);
_kmn_assert_cmpstrv(result, expected);
// Cleanup
_delete_tst_kbds_key();
@ -569,7 +585,7 @@ test_keyman_set_custom_keyboards__delete_key_empty_array() {
// Verify
g_auto(GStrv) result = _get_tst_kbds_key();
g_assert_nonnull(result);
g_assert_cmpstrv(result, keyboards);
_kmn_assert_cmpstrv(result, keyboards);
// Cleanup
_delete_tst_kbds_key();
@ -588,7 +604,7 @@ test_keyman_set_custom_keyboards__invalid_values() {
g_auto(GStrv) result = _get_tst_kbds_key();
g_assert_nonnull(result);
gchar* expected[] = {"fr:/tmp/test/test.kmx", NULL};
g_assert_cmpstrv(result, expected);
_kmn_assert_cmpstrv(result, expected);
// Cleanup
_delete_tst_kbds_key();
@ -606,7 +622,7 @@ test_keyman_get_custom_keyboards__value() {
// Verify
g_assert_nonnull(result);
g_assert_cmpstrv(result, keyboards);
_kmn_assert_cmpstrv(result, keyboards);
// Cleanup
_delete_tst_kbds_key();
@ -624,7 +640,7 @@ test_keyman_get_custom_keyboards__invalid_values() {
// Verify
gchar* expected[] = {"fr:/tmp/test/test.kmx", NULL};
g_assert_nonnull(result);
g_assert_cmpstrv(result, expected);
_kmn_assert_cmpstrv(result, expected);
// Cleanup
_delete_tst_kbds_key();

View file

@ -7,7 +7,12 @@ import urllib.parse
import gi
gi.require_version('Gtk', '3.0')
gi.require_version('WebKit2', '4.1')
try:
gi.require_version('WebKit2', '4.1')
except ValueError:
# TODO: Remove once we drop support for Ubuntu 20.04 Focal
gi.require_version('WebKit2', '4.0')
from gi.repository import Gtk, WebKit2
from keyman_config import KeymanComUrl, _, __releaseversion__, __tier__

View file

@ -15,7 +15,12 @@ import packaging.version
import gi
gi.require_version('Gtk', '3.0')
gi.require_version('WebKit2', '4.1')
try:
gi.require_version('WebKit2', '4.1')
except ValueError:
# TODO: Remove once we drop support for Ubuntu 20.04 Focal
gi.require_version('WebKit2', '4.0')
from gi.repository import Gtk, WebKit2
from keyman_config import _, secure_lookup

View file

@ -8,7 +8,12 @@ from urllib.parse import parse_qsl, urlencode
import gi
gi.require_version('Gtk', '3.0')
gi.require_version('WebKit2', '4.1')
try:
gi.require_version('WebKit2', '4.1')
except ValueError:
# TODO: Remove once we drop support for Ubuntu 20.04 Focal
gi.require_version('WebKit2', '4.0')
from gi.repository import Gtk, WebKit2
from keyman_config import _

View file

@ -7,7 +7,11 @@ import webbrowser
import gi
gi.require_version('Gtk', '3.0')
gi.require_version('WebKit2', '4.1')
try:
gi.require_version('WebKit2', '4.1')
except ValueError:
# TODO: Remove once we drop support for Ubuntu 20.04 Focal
gi.require_version('WebKit2', '4.0')
from gi.repository import Gtk, WebKit2
from keyman_config import _

View file

@ -1,5 +1,11 @@
---
title: What's New in Keyman 19.0 for macOS
title: What's New in Keyman 18.0 for macOS
---
Here are some of the new features we have added to Keyman 19.0 for macOS:
Here are some significant changes to Keyman 18.0 for macOS:
* Minimum supported version of macOS is 10.13 High Sierra.
* Improved handling of Option key and how it relates to Alt key in Keyman keyboards (#12458)
* Keyman keyboards are now stored in the preferred location, `/Library/Application Support`, instead of `/Documents` (#12106)
* Removed 'Use Verbose console Logging' option and use Apple unified logging system instead (#12431)
* Removed 'Always Show OSK' option and automatically remember OSK window state instead (#12355)

View file

@ -1,5 +1,5 @@
---
title: Keyman 19.0 for macOS Help
title: Keyman 18.0 for macOS Help
---
Need help using Keyman for macOS? You'll find everything you need here, including product documentation,

View file

@ -1,4 +1,4 @@
# Required minimum versions as of Keyman 19.0
# Required minimum versions as of Keyman 18.0
#
# This is a list of minimum, maximum, and specific versions of any external
# components or dependencies found in Keyman.

View file

@ -1,8 +1,8 @@
---
title: KeymanWeb - The Guide
title: KeymanWeb 18.0 - The Guide
---
Welcome to the guide for using KeymanWeb.
Welcome to the guide for using KeymanWeb 18.0.
- [Getting Started with Keyman Web](get-started)
- [User Interface Design](user-interface-design)
@ -10,4 +10,4 @@ Welcome to the guide for using KeymanWeb.
- [Installing Keyboards](adding-keyboards)
- [Additional Examples](examples/)
[Return to the main KeymanWeb page](../)
[Return to the main KeymanWeb 18.0 page](../)

View file

@ -1,27 +1,27 @@
---
title: Keyman Engine for Web 19.0 Developer Help
title: Keyman Engine for Web 18.0 Developer Help
---
Keyman Engine for Web 19.0 is the current version of KeymanWeb and
Keyman Engine for Web 18.0 is the current version of KeymanWeb and
supports touch devices with custom touch-layouts as well as desktop
computer browsers.
[Download](https://keyman.com/developer/keymanweb/)
: Downloading Keyman Engine for Web
: Downloading Keyman Engine for Web 18.0
<!-- -->
[Guide](guide/)
: Keyman Engine for Web Guide
: Keyman Engine for Web 18.0 Guide
<!-- -->
[Reference](reference)
: Keyman Engine for Web Developer Reference
: Keyman Engine for Web 18.0 Developer Reference
<!-- -->
[What's New](whats-new)
: What's new in Keyman Engine for Web 19.0
: What's new in Keyman Engine for Web 18.0
<!-- -->

View file

@ -22,7 +22,7 @@ Read only
### Return Value
`'19.0'` (for KeymanWeb 19.0)
`'18.0'` (for KeymanWeb 18.0)
## Description

View file

@ -1,5 +1,5 @@
---
title: KeymanWeb Reference
title: KeymanWeb 18.0 Reference
---
[KeymanWeb Overview](overview)

View file

@ -1,3 +1,3 @@
---
title: What's New in KeymanWeb 19.0
title: What's New in KeymanWeb 18.0
---

View file

@ -1,13 +1,13 @@
---
title: Keyman Engine for Windows API
title: Keyman Engine for Windows 18.0 API
---
## Introduction
The Keyman Engine for Windows API is implemented in COM. It can be
The Keyman Engine for Windows 18.0 API is implemented in COM. It can be
instantiated with `CreateObject("keymanapi.Keyman")`.
> [!Note]
> [!Note]
> This documentation applies to Keyman Engine for Windows versions 14.0 and up.
## Interface Hierarchy

View file

@ -1,8 +1,8 @@
---
title: Keyman Engine for Windows
title: Keyman Engine for Windows 18.0
---
Keyman Engine for Windows gives you the tools to build a customised
Keyman Engine for Windows 18.0 gives you the tools to build a customised
desktop keyboarding product for Windows.
**Note:** This documentation applies to Keyman Engine for Windows

View file

@ -1,8 +1,8 @@
---
title: What's New in Keyman 19.0 for Windows
title: What's New in Keyman 18.0 for Windows
---
Here are some of the new features we have added to Keyman 19.0 for Windows:
Here are some of the new features we have added to Keyman 18.0 for Windows:
- Minimum supported version of Windows is 10.0
- Updates to Keyman are now applied before Keyman starts for the first time in a session, so Windows no longer needs to be restarted (#10041)

View file

@ -1,5 +1,5 @@
---
title: Keyman for Windows 19.0 Help
title: Keyman for Windows 18.0 Help
---
Need help using Keyman for Windows? You'll find everything you need here, including product documentation,