diff --git a/HISTORY.md b/HISTORY.md index f5ebd89aa8..91fa2dbb12 100644 --- a/HISTORY.md +++ b/HISTORY.md @@ -1,5 +1,19 @@ # Keyman Version History +## 18.0.239 stable 2025-08-22 + +* docs(linux): clarify requirement of patched ibus for Keyman < 18 (#14113) +* chore(linux): Update debian changelog (#14118) +* fix(windows): add values wucUpdateAvailable and wucNotChecked to TRemoteUpdateCheckResult enum (#14208) +* fix(web): deploy `web/build/publish` folder (#14238) +* fix(ios): restore keyboard scale map for iPad Air 2 (#14306) +* chore(developer): upgrade multer to 2.0.2 (#14417) +* fix(android): cherry-pick getting default sizes before initializing keyboard (#14473) +* fix(android): polyfill globalThis for API 28 devices (#14553) +* fix(android): Update sentry-android dependency to 7.22.6 for 16 KB page alignment (#14560) +* fix(android): Show system OSK when physical keyboard connected (#14547) +* fix(android): Add preference to show on-screen keyboard to Keyman and FirstVoices apps (#14561) + ## 18.0.238 stable 2025-06-04 * fix(developer): ldml: make sure .run() calls compile() for validation (#14071) diff --git a/LICENSE.md b/LICENSE.md index 5b20376235..332e5a63ea 100644 --- a/LICENSE.md +++ b/LICENSE.md @@ -1,16 +1,14 @@ # License -Copyright (c) 2017-2024 SIL Global. All rights reserved. +Copyright (c) 2017-2025 SIL Global. All rights reserved. Licensed under the MIT License. -[Keyman for Linux](./linux) is licensed under the MIT License apart from [ibus-kmfl](./linux/ibus-kmfl) which is licensed under the GNU General Public License as published by the Free Software Foundation; either [version 2](./linux/ibus-kmfl/COPYING) of the License, or (at your option) any later version. - --- The MIT License -Copyright (c) 2017-2024 SIL Global +Copyright (c) 2017-2025 SIL Global Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal @@ -28,4 +26,4 @@ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. \ No newline at end of file +SOFTWARE. diff --git a/VERSION.md b/VERSION.md index 3320dbf6cd..ce4598ebe6 100644 --- a/VERSION.md +++ b/VERSION.md @@ -1 +1 @@ -18.0.239 \ No newline at end of file +18.0.240 \ No newline at end of file diff --git a/linux/debian/control b/linux/debian/control index 8ae947516d..859cc628b1 100644 --- a/linux/debian/control +++ b/linux/debian/control @@ -7,7 +7,7 @@ Uploaders: Eberhard Beilharz , Build-Depends: bash-completion, - debhelper-compat (= 12), + debhelper-compat (= 13), dh-python, gawk, gir1.2-webkit2-4.1 | gir1.2-webkit2-4.0, diff --git a/linux/debian/copyright b/linux/debian/copyright index 46f156e19b..5b322dbf81 100644 --- a/linux/debian/copyright +++ b/linux/debian/copyright @@ -2,10 +2,12 @@ Format: https://www.debian.org/doc/packaging-manuals/copyright-format/1.0/ Upstream-Name: keyman Upstream-Contact: Keyman team Source: https://github.com/keymanapp/keyman +Comment: Debian's licensecheck tool uses the term `Expat` for the `MIT` license. + `Unicode-3.0` is identified `Unicode-DFS-2016`. Files: * Copyright: 2018-2025 SIL Global -License: MIT +License: Expat Files: linux/ibus-keyman/* Copyright: 2004-2025 SIL Global @@ -16,7 +18,7 @@ Files: linux/ibus-keyman/src/keymanutil.c linux/ibus-keyman/src/kmpdetails.c linux/ibus-keyman/src/kmpdetails.h Copyright: 2009-2025 SIL Global -License: GPL-2+ or MIT +License: GPL-2+ or Expat Files: linux/ibus-keyman/src/keyman-service.c linux/ibus-keyman/src/keyman-service.h @@ -42,9 +44,21 @@ Files: debian/com.keyman.config.appdata.xml debian/com.keyman.ibus_keyman.metainfo.xml Copyright: 2019 Daniel Glassey 2022-2025 SIL Global -License: MIT +License: Expat -License: MIT +Files: resources/standards-data/ldml-keyboards/* +Copyright: Copyright © 1991-2024 Unicode, Inc. +License: Unicode-DFS-2016 + +Files: resources/standards-data/unicode-character-database/* +Copyright: Copyright © 1991-2023 Unicode, Inc. +License: Unicode-DFS-2016 + +Files: resources/standards-data/windows-lcid-to-bcp-47/* +Copyright: Copyright © 1991-2017 Unicode, Inc. +License: Unicode-DFS-2016 + +License: Expat Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including @@ -76,8 +90,7 @@ License: GPL-2+ GNU General Public License for more details. . You should have received a copy of the GNU General Public License - along with this package; if not, write to the Free Software - Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA + along with this package. If not, see https://www.gnu.org/licenses/. . On Debian systems, the full text of the GNU General Public License version 2 can be found in the file @@ -95,8 +108,7 @@ License: GPL-3+ GNU General Public License for more details. . You should have received a copy of the GNU General Public License - along with this package; if not, write to the Free Software - Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA + along with this package. If not, see https://www.gnu.org/licenses/. . On Debian systems, the full text of the GNU General Public License version 3 can be found in the file @@ -114,9 +126,37 @@ License: LGPL-2.1+ details. . You should have received a copy of the GNU Lesser General Public License - along with this library; if not, write to the Free Software Foundation, Inc., - 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA. + along with this library. If not, see https://www.gnu.org/licenses/. . On Debian systems, the full text of the GNU Lesser General Public License version 2.1 can be found in the file `/usr/share/common-licenses/LGPL-2.1'. + +License: Unicode-DFS-2016 + Permission is hereby granted, free of charge, to any person obtaining a + copy of data files and any associated documentation (the "Data Files") or + software and any associated documentation (the "Software") to deal in the + Data Files or Software without restriction, including without limitation + the rights to use, copy, modify, merge, publish, distribute, and/or sell + copies of the Data Files or Software, and to permit persons to whom the + Data Files or Software are furnished to do so, provided that either (a) + this copyright and permission notice appear with all copies of the Data + Files or Software, or (b) this copyright and permission notice appear in + associated Documentation. + . + THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY + KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF + MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF + THIRD PARTY RIGHTS. + . + IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE + BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, + OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, + WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, + ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA + FILES OR SOFTWARE. + . + Except as contained in this notice, the name of a copyright holder shall + not be used in advertising or otherwise to promote the sale, use or other + dealings in these Data Files or Software without prior written + authorization of the copyright holder. diff --git a/linux/debian/ibus-keyman.manpages b/linux/debian/ibus-keyman.manpages index 82aa3721aa..e563dc7929 100644 --- a/linux/debian/ibus-keyman.manpages +++ b/linux/debian/ibus-keyman.manpages @@ -1 +1 @@ -linux/ibus-keyman/man/ibus-engine-keyman.1 +linux/ibus-keyman/man/ibus-engine-keyman.8 diff --git a/linux/debian/keyman-system-service.manpages b/linux/debian/keyman-system-service.manpages index cb4d9f0500..e3136a225b 100644 --- a/linux/debian/keyman-system-service.manpages +++ b/linux/debian/keyman-system-service.manpages @@ -1 +1 @@ -linux/keyman-system-service/man/keyman-system-service.1 +linux/keyman-system-service/man/keyman-system-service.8 diff --git a/linux/debian/source/lintian-overrides b/linux/debian/source/lintian-overrides new file mode 100644 index 0000000000..54bef6adb5 --- /dev/null +++ b/linux/debian/source/lintian-overrides @@ -0,0 +1,8 @@ +# The folders XXX.dist-info/ and XXX.egg-info/ hold metadata for +# Python modules. Those files are not documentation even though +# some of their names carry the .txt file extension. +keyman source: package-contains-documentation-outside-usr-share-doc + +# keyman-system-service gets started by dbus, therefore it should not +# have an [INSTALL] section +keyman source: systemd-service-file-missing-install-key diff --git a/linux/ibus-keyman/COPYING b/linux/ibus-keyman/COPYING index d511905c16..80705bb2b7 100644 --- a/linux/ibus-keyman/COPYING +++ b/linux/ibus-keyman/COPYING @@ -304,8 +304,7 @@ the "copyright" line and a pointer to where the full notice is found. GNU General Public License for more details. You should have received a copy of the GNU General Public License along - with this program; if not, write to the Free Software Foundation, Inc., - 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. + with this program. If not, see https://www.gnu.org/licenses/. Also add information on how to contact you by electronic and paper mail. diff --git a/linux/ibus-keyman/man/ibus-engine-keyman.1 b/linux/ibus-keyman/man/ibus-engine-keyman.8 similarity index 89% rename from linux/ibus-keyman/man/ibus-engine-keyman.1 rename to linux/ibus-keyman/man/ibus-engine-keyman.8 index a9f0030bf6..38e2056065 100644 --- a/linux/ibus-keyman/man/ibus-engine-keyman.1 +++ b/linux/ibus-keyman/man/ibus-engine-keyman.8 @@ -1,4 +1,4 @@ -.TH IBUS-ENGINE-KEYMAN "1" "September 2023" "ibus-engine-keyman" "User Commands" +.TH IBUS-ENGINE-KEYMAN "8" "September 2023" "ibus-engine-keyman" "User Commands" .SH NAME ibus-engine-keyman \- multiple language input engine based on ibus .SH DESCRIPTION diff --git a/linux/keyman-config/COPYING b/linux/keyman-config/COPYING index 485c2c057c..282d590cb9 100644 --- a/linux/keyman-config/COPYING +++ b/linux/keyman-config/COPYING @@ -1,4 +1,4 @@ -Copyright (c) 2018 SIL Global +Copyright (c) 2018-2025 SIL Global Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal diff --git a/linux/keyman-system-service/.gitignore b/linux/keyman-system-service/.gitignore index f4e74111e4..29ddd846f2 100644 --- a/linux/keyman-system-service/.gitignore +++ b/linux/keyman-system-service/.gitignore @@ -1 +1,2 @@ resources/meson.build +resources/KEYMAN_VERSION_WITH_TAG.md diff --git a/linux/keyman-system-service/man/keyman-system-service.1 b/linux/keyman-system-service/man/keyman-system-service.8 similarity index 72% rename from linux/keyman-system-service/man/keyman-system-service.1 rename to linux/keyman-system-service/man/keyman-system-service.8 index b506bd1607..35e6c8d4a8 100644 --- a/linux/keyman-system-service/man/keyman-system-service.1 +++ b/linux/keyman-system-service/man/keyman-system-service.8 @@ -1,4 +1,4 @@ -.TH KEYMAN-SYSTEM-SERVICE "1" "May 2023" "keyman-system-service" "User Commands" +.TH KEYMAN-SYSTEM-SERVICE "8" "May 2023" "keyman-system-service" "User Commands" .SH NAME keyman-system-service \- System service for Keyman .SH DESCRIPTION @@ -7,4 +7,4 @@ keyman-system-service \- System service for Keyman This command should not be run directly. It will be started as a DBUS system service by systemd. .SH "SEE ALSO" -.BR ibus-engine-keyman(1) +.BR ibus-engine-keyman(8) diff --git a/linux/keyman-system-service/meson.build b/linux/keyman-system-service/meson.build index c8ff6994aa..9973d24a99 100644 --- a/linux/keyman-system-service/meson.build +++ b/linux/keyman-system-service/meson.build @@ -1,6 +1,6 @@ project('keyman-system-service', 'c', 'cpp', version: run_command('cat', '../../VERSION.md', check: true).stdout().strip(), - license: 'GPL-2+', + license: 'MIT', meson_version: '>=1.0') conf = configuration_data() diff --git a/linux/keyman-system-service/resources/systemd-keyman.service.in b/linux/keyman-system-service/resources/systemd-keyman.service.in index c3f9ca998c..aad8d66f6e 100644 --- a/linux/keyman-system-service/resources/systemd-keyman.service.in +++ b/linux/keyman-system-service/resources/systemd-keyman.service.in @@ -4,6 +4,7 @@ [Unit] Description=Keyman System Service +Documentation=https://github.com/keymanapp/keyman/tree/master/linux/keyman-system-service [Service] Type=dbus diff --git a/linux/scripts/dist.sh b/linux/scripts/dist.sh index 1b8f0dee87..26c5320381 100755 --- a/linux/scripts/dist.sh +++ b/linux/scripts/dist.sh @@ -42,6 +42,7 @@ dpkg-source \ --tar-ignore=experiments \ --tar-ignore=debian \ --tar-ignore=.github \ + --tar-ignore=.pc \ --tar-ignore=.vscode \ --tar-ignore=.devcontainer \ --tar-ignore=__pycache__ \ diff --git a/resources/build/increment-version.sh b/resources/build/increment-version.sh index 9e9ac699b8..88fff75328 100755 --- a/resources/build/increment-version.sh +++ b/resources/build/increment-version.sh @@ -184,15 +184,15 @@ if [ "$action" == "commit" ]; then # If HISTORY.md has been updated, then we want to create a branch and push # it for review if git status --porcelain=v1 | grep -q HISTORY.md; then - # TODO: once we are sure this is stable, rename this to - # "$branch-master-history" to get automatic merges with "auto/..." branch - # name - git switch -c "chore/version-$base-$NEWVERSION-master-history" master + git switch -c "auto/cherry-pick-$NEWVERSION-history-to-alpha" master git add HISTORY.md - git commit -m "$message (history cherry-pick to master)" - # TODO: once we are sure this is stable, add `-l auto` to get the "auto:" - # label - hub pull-request -fp --no-edit + git commit -m "auto: cherry-pick $NEWVERSION history to alpha + +Build-bot: skip +Test-bot: skip +" + + hub pull-request -fp --no-edit -l automerge fi # Return to our best working branch