diff --git a/.github/actions/build-binary-packages/action.yml b/.github/actions/build-binary-packages/action.yml index 79863764270..27f02461214 100644 --- a/.github/actions/build-binary-packages/action.yml +++ b/.github/actions/build-binary-packages/action.yml @@ -31,7 +31,7 @@ runs: path: artifacts/keyman-srcpkg - name: Build - uses: sillsdev/gha-ubuntu-packaging@1f4b7e7eacb8c82a4d874ee2c371b9bfef7e16ea # v1.0 + uses: sillsdev/gha-ubuntu-packaging@7b56f50d5d5537e9e9cafd3f6139ec6da69cfcda # v1.1 with: dist: "${{ inputs.dist }}" platform: "${{ inputs.arch }}" diff --git a/.github/workflows/deb-packaging.yml b/.github/workflows/deb-packaging.yml index 1ee9b180345..a3e7ee2a498 100644 --- a/.github/workflows/deb-packaging.yml +++ b/.github/workflows/deb-packaging.yml @@ -1,5 +1,5 @@ name: "Ubuntu packaging" -run-name: "Ubuntu packaging - ${{ github.event.client_payload.branch }} (branch ${{ github.event.client_payload.baseBranch }}), by @${{ github.event.client_payload.user }}" +run-name: "Ubuntu packaging - ${{ github.event.client_payload.branch }} (branch ${{ github.event.client_payload.baseBranch }}), by @${{ github.event.client_payload.user }}, testbuild: ${{ github.event.client_payload.isTestBuild }}" on: repository_dispatch: types: ['deb-release-packaging:*', 'deb-pr-packaging:*'] @@ -30,7 +30,7 @@ jobs: PRERELEASE_TAG: ${{ steps.prerelease_tag.outputs.PRERELEASE_TAG }} steps: - name: Checkout - uses: actions/checkout@ac593985615ec2ede58e132d2e21d2b1cbd6127c #v3.3.0 + uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 #v4.1.1 with: ref: '${{ github.event.client_payload.buildSha }}' @@ -112,13 +112,19 @@ jobs: binary_packages_released: name: Build binary packages for released versions needs: sourcepackage + runs-on: ubuntu-latest strategy: fail-fast: true matrix: dist: [focal, jammy, mantic] - runs-on: ubuntu-latest steps: + - name: Checkout + uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 #v4.1.1 + with: + ref: '${{ github.event.client_payload.buildSha }}' + sparse-checkout: '.github/actions/' + - name: Build uses: ./.github/actions/build-binary-packages with: @@ -128,6 +134,23 @@ jobs: deb_fullname: ${{env.DEBFULLNAME}} deb_email: ${{env.DEBEMAIL}} + binary_packages_unreleased: + name: Build binary packages for next Ubuntu version + needs: sourcepackage + continue-on-error: true + runs-on: ubuntu-latest + strategy: + fail-fast: true + matrix: + dist: [noble] + + steps: + - name: Checkout + uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 #v4.1.1 + with: + ref: '${{ github.event.client_payload.buildSha }}' + sparse-checkout: '.github/actions/' + binary_packages_unreleased: name: Build binary packages for next Ubuntu version needs: sourcepackage @@ -139,7 +162,6 @@ jobs: runs-on: ubuntu-latest steps: - name: Build - continue-on-error: true uses: ./.github/actions/build-binary-packages with: dist: ${{ matrix.dist }} @@ -182,7 +204,7 @@ jobs: needs: [sourcepackage, binary_packages_released, binary_packages_unreleased] runs-on: ubuntu-latest environment: "deploy (linux)" - if: github.event.client_payload.isTestBuild == 'false' + if: ${{always() && needs.sourcepackage.result == 'success' && needs.binary_packages_released.result == 'success' && github.event.client_payload.isTestBuild == 'false'}} steps: - name: Sign packages @@ -305,7 +327,9 @@ jobs: - name: Verify API run: | cd linux - PKG_NAME=libkeymancore + # Extract line containing "Package: libkeymancore1" and then strip "Package: " + PKG_NAME=$(grep -E 'Package: libkeymancore([0-9]+|$)' debian/control) + PKG_NAME="${PKG_NAME#Package: }" ./scripts/deb-packaging.sh \ --gha \ --bin-pkg "${GITHUB_WORKSPACE}/artifacts/${PKG_NAME}_${{ needs.sourcepackage.outputs.VERSION }}-1${{ needs.sourcepackage.outputs.PRERELEASE_TAG }}+jammy1_amd64.deb" \ diff --git a/HISTORY.md b/HISTORY.md index bde9737812d..98957c2ae6c 100644 --- a/HISTORY.md +++ b/HISTORY.md @@ -1,5 +1,80 @@ # Keyman Version History +## 18.0.17 alpha 2024-04-05 + +* chore(linux): Show failed job for next Ubuntu version as failed (#11168) + +## 18.0.16 alpha 2024-04-04 + +* chore(linux): Revert "Ignore failed package builds differently" (#11157) +* chore(linux): Sign packages even if build for next Ubuntu fails (#11163) + +## 18.0.15 alpha 2024-04-03 + +* chore(linux): Build packages for next Ubuntu version separately (#11145) +* chore(linux): Fix typo in path of `build-binary-packages` action (#11154) +* chore(linux): More fixes for workaround for failing linux builds (#11156) + +## 18.0.14 alpha 2024-04-02 + +* chore(linux): Update debian changelog (#11097) + +## 18.0.13 alpha 2024-03-29 + +* chore(deps): bump express from 4.17.3 to 4.19.2 (#11103) + +## 18.0.12 alpha 2024-03-28 + +* chore(common): Merge beta to master for Sprint B17S4 (#11105) + +## 18.0.11 alpha 2024-03-20 + +* chore(deps-dev): bump follow-redirects from 1.15.4 to 1.15.6 (#11010) + +## 18.0.10 alpha 2024-03-16 + +* chore: Merge beta to master for Sprint B17S3 (#11008) + +## 18.0.9 alpha 2024-03-05 + +* chore: B17S2 merge beta to master (#10909) + +## 18.0.8 alpha 2024-03-04 + +* chore(linux): Update debian changelog (#10898) + +## 18.0.7 alpha 2024-02-29 + +* chore: Merge 17.0.270 beta back to master (#10886) + +## 18.0.6 alpha 2024-02-27 + +* chore(linux): Temporarily disable autopkgtests gha (#10853) +* chore(linux): Update debian changelog (#10827) + +## 18.0.5 alpha 2024-02-26 + +* fix(linux): Dynamically get package name (#10826) +* chore(linux): Add running autopkgtests on GHA (#10823) +* fix(linux): Fix autopkgtest gha (#10849) + +## 18.0.4 alpha 2024-02-23 + +* chore(linux): Update debian changelog (#10786) + +## 18.0.3 alpha 2024-02-21 + +* chore(deps): bump ip from 2.0.0 to 2.0.1 (#10792) + +## 18.0.2 alpha 2024-02-20 + +* chore(linux): Add testbuild info to workflow title (#10771) + +## 18.0.1 alpha 2024-02-15 + +* chore(common): move to 18.0 alpha (#10713) +* chore: move to 18.0 alpha + ## 17.0.306 beta 2024-04-11 * docs(ios): updates iOS app help for 17.0 banner changes (#11200) @@ -8,9 +83,9 @@ ## 17.0.305 beta 2024-04-10 * (#11169) -* change(web): merges split async method in gesture engine 🪠 (#11142) +* change(web): merges split async method in gesture engine (#11142) * fix(web): blocks nextLayer for keys quickly typed when multitapping to new layer when final tap is held (#11189) -* refactor(web): OSK spacebar-label updates now managed by layer object 🪠 (#11175) +* refactor(web): OSK spacebar-label updates now managed by layer object (#11175) ## 17.0.304 beta 2024-04-09 @@ -37,7 +112,7 @@ * change(web): input-event sequentialization 🪠 (#10843) * fix(web): proper linkage of sources to events 🪠 (#10960) * fix(developer): handle buffer boundaries in four cases (#11137) -* chore(linux): Build packages for next Ubuntu version separately :cherries: (#11153) +* chore(linux): Build packages for next Ubuntu version separately (#11153) * fix(common): upgrade sentry-cli to 2.31.0 (#11151) * fix(android/app): Track previous device orientation for SystemKeyboard (#11134) * (#11129) @@ -74,6 +149,7 @@ * feat(developer/compilers): better unit test for suggestion accessibility (#11085) * fix(core): fix pointer math in actions_normalize() (#11101) + ## 17.0.296 beta 2024-03-27 * fix(developer): in model compiler, give correct key to shorter prefix words when a longer, higher-frequency word is also present (#11074) diff --git a/TIER.md b/TIER.md index 65b2df87f7d..4a58007052a 100644 --- a/TIER.md +++ b/TIER.md @@ -1 +1 @@ -beta +alpha diff --git a/VERSION.md b/VERSION.md index a87bdfadd9e..32a2cdd9c7d 100644 --- a/VERSION.md +++ b/VERSION.md @@ -1 +1 @@ -17.0.307 \ No newline at end of file +18.0.18 \ No newline at end of file diff --git a/android/help/about/whatsnew.md b/android/help/about/whatsnew.md index 37624e3f562..96bd458a0c0 100644 --- a/android/help/about/whatsnew.md +++ b/android/help/about/whatsnew.md @@ -1,15 +1,5 @@ --- title: What's New --- -Here are some of the new features we have added to Keyman 17.0 for Android: -* New gesture support (#5029) -* Better use of space for predictions, better handling for long predictions (#7934) -* When suggestions aren't enabled, display a themed banner (#9696) -* Smoother keyboard initialization (#10022) - -Additional changes: - -* Remove built-in browser (#8428) -* Use web-based popup key longpresses (#9591) -* Performance improvements +Here are some of the new features we have added to Keyman 18.0 for Android: diff --git a/android/help/index.md b/android/help/index.md index a51dcf7422c..62df93195b4 100644 --- a/android/help/index.md +++ b/android/help/index.md @@ -1,5 +1,5 @@ --- -title: Keyman for Android 17.0 Help +title: Keyman for Android 18.0 Help --- ## [About Keyman](about/) diff --git a/developer/src/server/package.json b/developer/src/server/package.json index f59cc5bbbca..77acddefd6b 100644 --- a/developer/src/server/package.json +++ b/developer/src/server/package.json @@ -12,7 +12,7 @@ "@keymanapp/developer-utils": "*", "@sentry/node": "^7.57.0", "chalk": "^4.1.2", - "express": "^4.17.2", + "express": "^4.19.2", "multer": "^1.4.5-lts.1", "ngrok": "^5.0.0-beta.2", "open": "^8.4.0", diff --git a/ios/help/about/whatsnew.md b/ios/help/about/whatsnew.md index b4747aa9acc..b744839398b 100644 --- a/ios/help/about/whatsnew.md +++ b/ios/help/about/whatsnew.md @@ -1,12 +1,7 @@ --- title: What's New --- -Here are some of the new features we have added to Keyman 17.0 for iPhone and iPad: - -* New gesture support (#5029) -* Better use of space for predictions, better handling for long predictions (#7934) -* When suggestions aren't enabled, display a themed banner (#9696) -* Smoother keyboard initialization (#10022) +Here are some of the new features we have added to Keyman for iPhone and iPad 18.0: Additional changes: diff --git a/ios/help/index.md b/ios/help/index.md index 1bee2a62c96..c71c703e728 100644 --- a/ios/help/index.md +++ b/ios/help/index.md @@ -1,5 +1,5 @@ --- -title: Keyman for iPhone and iPad 17.0 Help +title: Keyman for iPhone and iPad 18.0 Help --- ## [About Keyman](about/) diff --git a/linux/debian/changelog b/linux/debian/changelog index d8fa1d681f1..e5e2a939b6c 100644 --- a/linux/debian/changelog +++ b/linux/debian/changelog @@ -15,6 +15,12 @@ keyman (17.0.279-1) unstable; urgency=medium -- Eberhard Beilharz Thu, 29 Feb 2024 19:17:08 +0100 +keyman (17.0.274-2) UNRELEASED; urgency=medium + + * Add libicu-dev dependency to libkeymancore-dev (closes: #1064915) + + -- Eberhard Beilharz Wed, 28 Feb 2024 17:54:58 +0100 + keyman (17.0.274-1) unstable; urgency=medium * Fix autopkg tests diff --git a/linux/help/about/whatsnew.md b/linux/help/about/whatsnew.md index 5d786c5fe99..564defe18f8 100644 --- a/linux/help/about/whatsnew.md +++ b/linux/help/about/whatsnew.md @@ -2,7 +2,7 @@ title: What's New --- -Here are some of the new features we have added to Keyman for Linux 17.0: +Here are some of the new features we have added to Keyman for Linux 18.0: - Keyman for Linux now fully works with the Wayland compositor ([#4273](https://github.com/keymanapp/keyman/issues/4273)). diff --git a/linux/help/index.md b/linux/help/index.md index ca3b7b50e13..58d245063a2 100644 --- a/linux/help/index.md +++ b/linux/help/index.md @@ -1,5 +1,5 @@ --- -title: Keyman for Linux 17.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. diff --git a/mac/help/about/whatsnew.md b/mac/help/about/whatsnew.md index 9ba50a66119..fa2fab5bfef 100644 --- a/mac/help/about/whatsnew.md +++ b/mac/help/about/whatsnew.md @@ -2,7 +2,7 @@ title: What's New --- -Here are some of the new features we have added to Keyman 17.0 for macOS: +Here are some of the new features we have added to Keyman 18.0 for macOS: * Keyman Engine for macOS now uses Keyman Core for processing keystrokes, improving reliability and consistency with the Linux and Windows versions of Keyman (#10066) * List of Keyman keyboards has been moved out of a submenu of the main Input Menu into the Keyman section of the menu (#9777) \ No newline at end of file diff --git a/mac/help/index.md b/mac/help/index.md index 569db954aea..aa507a531eb 100644 --- a/mac/help/index.md +++ b/mac/help/index.md @@ -1,5 +1,5 @@ --- -title: Keyman 17.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, diff --git a/package-lock.json b/package-lock.json index 67ce85d1db4..234746d352d 100644 --- a/package-lock.json +++ b/package-lock.json @@ -2768,7 +2768,7 @@ "@keymanapp/developer-utils": "*", "@sentry/node": "^7.57.0", "chalk": "^4.1.2", - "express": "^4.17.2", + "express": "^4.19.2", "multer": "^1.4.5-lts.1", "ngrok": "^5.0.0-beta.2", "open": "^8.4.0", @@ -5070,22 +5070,26 @@ } }, "node_modules/body-parser": { - "version": "1.19.2", - "license": "MIT", + "version": "1.20.2", + "resolved": "https://registry.npmjs.org/body-parser/-/body-parser-1.20.2.tgz", + "integrity": "sha512-ml9pReCu3M61kGlqoTm2umSXTlRTuGTx0bfYj+uIUKKYycG5NtSbeetV3faSU6R7ajOPw0g/J1PvK4qNy7s5bA==", "dependencies": { "bytes": "3.1.2", - "content-type": "~1.0.4", + "content-type": "~1.0.5", "debug": "2.6.9", - "depd": "~1.1.2", - "http-errors": "1.8.1", + "depd": "2.0.0", + "destroy": "1.2.0", + "http-errors": "2.0.0", "iconv-lite": "0.4.24", - "on-finished": "~2.3.0", - "qs": "6.9.7", - "raw-body": "2.4.3", - "type-is": "~1.6.18" + "on-finished": "2.4.1", + "qs": "6.11.0", + "raw-body": "2.5.2", + "type-is": "~1.6.18", + "unpipe": "1.0.0" }, "engines": { - "node": ">= 0.8" + "node": ">= 0.8", + "npm": "1.2.8000 || >= 1.4.16" } }, "node_modules/body-parser/node_modules/debug": { @@ -5095,10 +5099,29 @@ "ms": "2.0.0" } }, + "node_modules/body-parser/node_modules/depd": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/depd/-/depd-2.0.0.tgz", + "integrity": "sha512-g7nH6P6dyDioJogAAGprGpCtVImJhpPk/roCzdb3fIh61/s/nPsfR6onyMwkCAR/OlC3yBC0lESvUoQEAssIrw==", + "engines": { + "node": ">= 0.8" + } + }, "node_modules/body-parser/node_modules/ms": { "version": "2.0.0", "license": "MIT" }, + "node_modules/body-parser/node_modules/on-finished": { + "version": "2.4.1", + "resolved": "https://registry.npmjs.org/on-finished/-/on-finished-2.4.1.tgz", + "integrity": "sha512-oVlzkg3ENAhCk2zdv7IJwd/QUD4z2RxRwpkcGY8psCVcCYZNq4wYnVWALHM+brtuJjePWiYF/ClmuDr8Ch5+kg==", + "dependencies": { + "ee-first": "1.1.1" + }, + "engines": { + "node": ">= 0.8" + } + }, "node_modules/brace-expansion": { "version": "1.1.11", "devOptional": true, @@ -5220,7 +5243,8 @@ }, "node_modules/bytes": { "version": "3.1.2", - "license": "MIT", + "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.1.2.tgz", + "integrity": "sha512-/Nf7TyzTx6S3yRJObOAV7956r8cr2+Oj8AC5dt8wSP3BQAoeX58NoHyCU8P8zGkNXStjTSi6fzO6F0pBdcYbEg==", "engines": { "node": ">= 0.8" } @@ -5375,7 +5399,6 @@ "version": "1.0.2", "resolved": "https://registry.npmjs.org/call-bind/-/call-bind-1.0.2.tgz", "integrity": "sha512-7O+FbCihrB5WGbFYesctwmTKae6rOiIzmz1icreWJ+0aA7LJfuqhEso2T9ncpcFtzMQtzXf2QGGueWJGTYsqrA==", - "dev": true, "dependencies": { "function-bind": "^1.1.1", "get-intrinsic": "^1.0.2" @@ -5688,8 +5711,9 @@ } }, "node_modules/content-type": { - "version": "1.0.4", - "license": "MIT", + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/content-type/-/content-type-1.0.5.tgz", + "integrity": "sha512-nTjqfcBFEipKdXCv4YDQWCfmcLZKm81ldF0pAopTvyrFGVbcR6P/VAAd5G7N+0tTr8QqiU0tFadD6FK4NtJwOA==", "engines": { "node": ">= 0.6" } @@ -5701,6 +5725,7 @@ }, "node_modules/cookie": { "version": "0.4.2", + "dev": true, "license": "MIT", "engines": { "node": ">= 0.6" @@ -5971,6 +5996,7 @@ "node_modules/depd": { "version": "1.1.2", "license": "MIT", + "optional": true, "engines": { "node": ">= 0.6" } @@ -5980,8 +6006,13 @@ "license": "ISC" }, "node_modules/destroy": { - "version": "1.0.4", - "license": "MIT" + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/destroy/-/destroy-1.2.0.tgz", + "integrity": "sha512-2sJGJTaXIIaR1w4iJSNoN0hnMY7Gpc/n8D4qSCJw8QqFWXf7cuAgnEHxBpweaVcPevC2l3KpjYCx3NypQQgaJg==", + "engines": { + "node": ">= 0.8", + "npm": "1.2.8000 || >= 1.4.16" + } }, "node_modules/di": { "version": "0.0.1", @@ -7178,7 +7209,8 @@ }, "node_modules/etag": { "version": "1.8.1", - "license": "MIT", + "resolved": "https://registry.npmjs.org/etag/-/etag-1.8.1.tgz", + "integrity": "sha512-aIL5Fx7mawVa300al2BnEE4iNvo1qETxLrPI/o05L7z6go7fCw1J6EQmbK4FmJ2AS7kgVF/KEZWufBfdClMcPg==", "engines": { "node": ">= 0.6" } @@ -7283,36 +7315,38 @@ } }, "node_modules/express": { - "version": "4.17.3", - "license": "MIT", + "version": "4.19.2", + "resolved": "https://registry.npmjs.org/express/-/express-4.19.2.tgz", + "integrity": "sha512-5T6nhjsT+EOMzuck8JjBHARTHfMht0POzlA60WV2pMD3gyXw2LZnZ+ueGdNxG+0calOJcWKbpFcuzLZ91YWq9Q==", "dependencies": { "accepts": "~1.3.8", "array-flatten": "1.1.1", - "body-parser": "1.19.2", + "body-parser": "1.20.2", "content-disposition": "0.5.4", "content-type": "~1.0.4", - "cookie": "0.4.2", + "cookie": "0.6.0", "cookie-signature": "1.0.6", "debug": "2.6.9", - "depd": "~1.1.2", + "depd": "2.0.0", "encodeurl": "~1.0.2", "escape-html": "~1.0.3", "etag": "~1.8.1", - "finalhandler": "~1.1.2", + "finalhandler": "1.2.0", "fresh": "0.5.2", + "http-errors": "2.0.0", "merge-descriptors": "1.0.1", "methods": "~1.1.2", - "on-finished": "~2.3.0", + "on-finished": "2.4.1", "parseurl": "~1.3.3", "path-to-regexp": "0.1.7", "proxy-addr": "~2.0.7", - "qs": "6.9.7", + "qs": "6.11.0", "range-parser": "~1.2.1", "safe-buffer": "5.2.1", - "send": "0.17.2", - "serve-static": "1.14.2", + "send": "0.18.0", + "serve-static": "1.15.0", "setprototypeof": "1.2.0", - "statuses": "~1.5.0", + "statuses": "2.0.1", "type-is": "~1.6.18", "utils-merge": "1.0.1", "vary": "~1.1.2" @@ -7321,6 +7355,14 @@ "node": ">= 0.10.0" } }, + "node_modules/express/node_modules/cookie": { + "version": "0.6.0", + "resolved": "https://registry.npmjs.org/cookie/-/cookie-0.6.0.tgz", + "integrity": "sha512-U71cyTamuh1CRNCfpGY6to28lxvNwPG4Guz/EVjgf3Jmzv0vlDp1atT9eS5dDjMYHucpHbWns6Lwf3BKz6svdw==", + "engines": { + "node": ">= 0.6" + } + }, "node_modules/express/node_modules/debug": { "version": "2.6.9", "license": "MIT", @@ -7328,10 +7370,54 @@ "ms": "2.0.0" } }, + "node_modules/express/node_modules/depd": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/depd/-/depd-2.0.0.tgz", + "integrity": "sha512-g7nH6P6dyDioJogAAGprGpCtVImJhpPk/roCzdb3fIh61/s/nPsfR6onyMwkCAR/OlC3yBC0lESvUoQEAssIrw==", + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/express/node_modules/finalhandler": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/finalhandler/-/finalhandler-1.2.0.tgz", + "integrity": "sha512-5uXcUVftlQMFnWC9qu/svkWv3GTd2PfUhK/3PLkYNAe7FbqJMt3515HaxE6eRL74GdsriiwujiawdaB1BpEISg==", + "dependencies": { + "debug": "2.6.9", + "encodeurl": "~1.0.2", + "escape-html": "~1.0.3", + "on-finished": "2.4.1", + "parseurl": "~1.3.3", + "statuses": "2.0.1", + "unpipe": "~1.0.0" + }, + "engines": { + "node": ">= 0.8" + } + }, "node_modules/express/node_modules/ms": { "version": "2.0.0", "license": "MIT" }, + "node_modules/express/node_modules/on-finished": { + "version": "2.4.1", + "resolved": "https://registry.npmjs.org/on-finished/-/on-finished-2.4.1.tgz", + "integrity": "sha512-oVlzkg3ENAhCk2zdv7IJwd/QUD4z2RxRwpkcGY8psCVcCYZNq4wYnVWALHM+brtuJjePWiYF/ClmuDr8Ch5+kg==", + "dependencies": { + "ee-first": "1.1.1" + }, + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/express/node_modules/statuses": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/statuses/-/statuses-2.0.1.tgz", + "integrity": "sha512-RwNA9Z/7PrK06rYLIzFMlaF+l73iwpzsqRIFgbMLbTcLD6cOao82TaWefPXQvB2fOC4AjuYSEndS7N/mTCbkdQ==", + "engines": { + "node": ">= 0.8" + } + }, "node_modules/extend": { "version": "3.0.2", "dev": true, @@ -7458,6 +7544,7 @@ }, "node_modules/finalhandler": { "version": "1.1.2", + "dev": true, "license": "MIT", "dependencies": { "debug": "2.6.9", @@ -7474,6 +7561,7 @@ }, "node_modules/finalhandler/node_modules/debug": { "version": "2.6.9", + "dev": true, "license": "MIT", "dependencies": { "ms": "2.0.0" @@ -7481,6 +7569,7 @@ }, "node_modules/finalhandler/node_modules/ms": { "version": "2.0.0", + "dev": true, "license": "MIT" }, "node_modules/find-up": { @@ -7525,9 +7614,9 @@ "license": "ISC" }, "node_modules/follow-redirects": { - "version": "1.15.4", - "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.15.4.tgz", - "integrity": "sha512-Cr4D/5wlrb0z9dgERpUL3LrmPKVDsETIJhaCMeDfuFYcqa5bldGV6wBsAN6X/vxlXQtFBMrXdXxdL8CbDTGniw==", + "version": "1.15.6", + "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.15.6.tgz", + "integrity": "sha512-wWN62YITEaOpSK584EZXJafH1AGpO8RVgElfkuXbTOrPX4fIfOyEpW/CsiNd8JdYrAoOvafRTOEnvsO++qCqFA==", "dev": true, "funding": [ { @@ -7588,7 +7677,8 @@ }, "node_modules/fresh": { "version": "0.5.2", - "license": "MIT", + "resolved": "https://registry.npmjs.org/fresh/-/fresh-0.5.2.tgz", + "integrity": "sha512-zJ2mQYM18rEFOudeV4GShTGIQ7RbzA7ozbU9I/XBpm7kqgMywgmylMwXHxZJmkVoYkna9d2pVXVXPdYTP9ej8Q==", "engines": { "node": ">= 0.6" } @@ -7653,7 +7743,6 @@ }, "node_modules/function-bind": { "version": "1.1.1", - "dev": true, "license": "MIT" }, "node_modules/function.prototype.name": { @@ -7768,7 +7857,6 @@ "version": "1.2.0", "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.2.0.tgz", "integrity": "sha512-L049y6nFOuom5wGyRc3/gdTLO94dySVKRACj1RmJZBQXlbTMhtNIgkWkUHq+jYmZvKf14EW1EoJnnjbmoHij0Q==", - "dev": true, "dependencies": { "function-bind": "^1.1.1", "has": "^1.0.3", @@ -8022,7 +8110,6 @@ }, "node_modules/has": { "version": "1.0.3", - "dev": true, "license": "MIT", "dependencies": { "function-bind": "^1.1.1" @@ -8075,7 +8162,6 @@ "version": "1.0.3", "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.3.tgz", "integrity": "sha512-l3LCuF6MgDNwTDKkdYGEihYjt5pRPbEg46rtlmnSPlUbgmB8LOIrKJbYYFBSbnPaJexMKtiPO8hmeRjRz2Td+A==", - "dev": true, "engines": { "node": ">= 0.4" }, @@ -8160,17 +8246,34 @@ "license": "BSD-2-Clause" }, "node_modules/http-errors": { - "version": "1.8.1", - "license": "MIT", + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-2.0.0.tgz", + "integrity": "sha512-FtwrG/euBzaEjYeRqOgly7G0qviiXoJWnvEH2Z1plBdXgbyjv34pHTSb9zoeHMyDy33+DWy5Wt9Wo+TURtOYSQ==", "dependencies": { - "depd": "~1.1.2", + "depd": "2.0.0", "inherits": "2.0.4", "setprototypeof": "1.2.0", - "statuses": ">= 1.5.0 < 2", + "statuses": "2.0.1", "toidentifier": "1.0.1" }, "engines": { - "node": ">= 0.6" + "node": ">= 0.8" + } + }, + "node_modules/http-errors/node_modules/depd": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/depd/-/depd-2.0.0.tgz", + "integrity": "sha512-g7nH6P6dyDioJogAAGprGpCtVImJhpPk/roCzdb3fIh61/s/nPsfR6onyMwkCAR/OlC3yBC0lESvUoQEAssIrw==", + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/http-errors/node_modules/statuses": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/statuses/-/statuses-2.0.1.tgz", + "integrity": "sha512-RwNA9Z/7PrK06rYLIzFMlaF+l73iwpzsqRIFgbMLbTcLD6cOao82TaWefPXQvB2fOC4AjuYSEndS7N/mTCbkdQ==", + "engines": { + "node": ">= 0.8" } }, "node_modules/http-proxy": { @@ -8235,7 +8338,8 @@ }, "node_modules/iconv-lite": { "version": "0.4.24", - "license": "MIT", + "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.24.tgz", + "integrity": "sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==", "dependencies": { "safer-buffer": ">= 2.1.2 < 3" }, @@ -8359,9 +8463,9 @@ } }, "node_modules/ip": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ip/-/ip-2.0.0.tgz", - "integrity": "sha512-WKa+XuLG1A1R0UWhl2+1XQSi+fZWMsYKffMZTTYsiZaUD8k2yDAj5atimTUD2TZkyCkNEeYE5NhFZmupOGtjYQ==", + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/ip/-/ip-2.0.1.tgz", + "integrity": "sha512-lJUL9imLTNi1ZfXT+DU6rBBdbiKGBuay9B6xGSPVjUeQwaH1RIGqef8RZkUtHioLmSNpPR5M4HVKJGm1j8FWVQ==", "optional": true }, "node_modules/ipaddr.js": { @@ -10401,7 +10505,6 @@ "version": "1.12.3", "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.12.3.tgz", "integrity": "sha512-geUvdk7c+eizMNUDkRpW1wJwgfOiOeHbxBR/hLXK1aT6zmVSO0jsQcs7fj6MGw89jC/cjGfLcNOrtMYtGqm81g==", - "dev": true, "funding": { "url": "https://github.com/sponsors/ljharb" } @@ -10456,6 +10559,7 @@ }, "node_modules/on-finished": { "version": "2.3.0", + "dev": true, "license": "MIT", "dependencies": { "ee-first": "1.1.1" @@ -10820,8 +10924,12 @@ } }, "node_modules/qs": { - "version": "6.9.7", - "license": "BSD-3-Clause", + "version": "6.11.0", + "resolved": "https://registry.npmjs.org/qs/-/qs-6.11.0.tgz", + "integrity": "sha512-MvjoMCJwEarSbUYk5O+nmoSzSutSsTwF85zcHPQ9OrlFoZOYIjaqBAJIqIXjptyD5vThxGq52Xu/MaJzRkIk4Q==", + "dependencies": { + "side-channel": "^1.0.4" + }, "engines": { "node": ">=0.6" }, @@ -10881,11 +10989,12 @@ } }, "node_modules/raw-body": { - "version": "2.4.3", - "license": "MIT", + "version": "2.5.2", + "resolved": "https://registry.npmjs.org/raw-body/-/raw-body-2.5.2.tgz", + "integrity": "sha512-8zGqypfENjCIqGhgXToC8aB2r7YrBX+AQAfIPs/Mlk+BtPTztOvTS01NRW/3Eh60J+a48lt8qsCzirQ6loCVfA==", "dependencies": { "bytes": "3.1.2", - "http-errors": "1.8.1", + "http-errors": "2.0.0", "iconv-lite": "0.4.24", "unpipe": "1.0.0" }, @@ -11168,22 +11277,23 @@ } }, "node_modules/send": { - "version": "0.17.2", - "license": "MIT", + "version": "0.18.0", + "resolved": "https://registry.npmjs.org/send/-/send-0.18.0.tgz", + "integrity": "sha512-qqWzuOjSFOuqPjFe4NOsMLafToQQwBSOEpS+FwEt3A2V3vKubTquT3vmLTQpFgMXp8AlFWFuP1qKaJZOtPpVXg==", "dependencies": { "debug": "2.6.9", - "depd": "~1.1.2", - "destroy": "~1.0.4", + "depd": "2.0.0", + "destroy": "1.2.0", "encodeurl": "~1.0.2", "escape-html": "~1.0.3", "etag": "~1.8.1", "fresh": "0.5.2", - "http-errors": "1.8.1", + "http-errors": "2.0.0", "mime": "1.6.0", "ms": "2.1.3", - "on-finished": "~2.3.0", + "on-finished": "2.4.1", "range-parser": "~1.2.1", - "statuses": "~1.5.0" + "statuses": "2.0.1" }, "engines": { "node": ">= 0.8.0" @@ -11191,18 +11301,29 @@ }, "node_modules/send/node_modules/debug": { "version": "2.6.9", - "license": "MIT", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", "dependencies": { "ms": "2.0.0" } }, "node_modules/send/node_modules/debug/node_modules/ms": { "version": "2.0.0", - "license": "MIT" + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==" + }, + "node_modules/send/node_modules/depd": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/depd/-/depd-2.0.0.tgz", + "integrity": "sha512-g7nH6P6dyDioJogAAGprGpCtVImJhpPk/roCzdb3fIh61/s/nPsfR6onyMwkCAR/OlC3yBC0lESvUoQEAssIrw==", + "engines": { + "node": ">= 0.8" + } }, "node_modules/send/node_modules/mime": { "version": "1.6.0", - "license": "MIT", + "resolved": "https://registry.npmjs.org/mime/-/mime-1.6.0.tgz", + "integrity": "sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg==", "bin": { "mime": "cli.js" }, @@ -11212,7 +11333,27 @@ }, "node_modules/send/node_modules/ms": { "version": "2.1.3", - "license": "MIT" + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz", + "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==" + }, + "node_modules/send/node_modules/on-finished": { + "version": "2.4.1", + "resolved": "https://registry.npmjs.org/on-finished/-/on-finished-2.4.1.tgz", + "integrity": "sha512-oVlzkg3ENAhCk2zdv7IJwd/QUD4z2RxRwpkcGY8psCVcCYZNq4wYnVWALHM+brtuJjePWiYF/ClmuDr8Ch5+kg==", + "dependencies": { + "ee-first": "1.1.1" + }, + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/send/node_modules/statuses": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/statuses/-/statuses-2.0.1.tgz", + "integrity": "sha512-RwNA9Z/7PrK06rYLIzFMlaF+l73iwpzsqRIFgbMLbTcLD6cOao82TaWefPXQvB2fOC4AjuYSEndS7N/mTCbkdQ==", + "engines": { + "node": ">= 0.8" + } }, "node_modules/serialize-javascript": { "version": "5.0.1", @@ -11223,13 +11364,14 @@ } }, "node_modules/serve-static": { - "version": "1.14.2", - "license": "MIT", + "version": "1.15.0", + "resolved": "https://registry.npmjs.org/serve-static/-/serve-static-1.15.0.tgz", + "integrity": "sha512-XGuRDNjXUijsUL0vl6nSD7cwURuzEgglbOaFuZM9g3kwDXOWVTck0jLzjPzGD+TazWbboZYu52/9/XPdUgne9g==", "dependencies": { "encodeurl": "~1.0.2", "escape-html": "~1.0.3", "parseurl": "~1.3.3", - "send": "0.17.2" + "send": "0.18.0" }, "engines": { "node": ">= 0.8.0" @@ -11298,7 +11440,6 @@ "version": "1.0.4", "resolved": "https://registry.npmjs.org/side-channel/-/side-channel-1.0.4.tgz", "integrity": "sha512-q5XPytqFEIKHkGdiMIrY10mvLRvnQh42/+GoBlFW3b2LXLE2xxJpZFdm94we0BaoV3RwJyGqg5wS7epxTv0Zvw==", - "dev": true, "dependencies": { "call-bind": "^1.0.0", "get-intrinsic": "^1.0.2", @@ -11508,6 +11649,7 @@ }, "node_modules/statuses": { "version": "1.5.0", + "dev": true, "license": "MIT", "engines": { "node": ">= 0.6" @@ -11816,7 +11958,8 @@ }, "node_modules/toidentifier": { "version": "1.0.1", - "license": "MIT", + "resolved": "https://registry.npmjs.org/toidentifier/-/toidentifier-1.0.1.tgz", + "integrity": "sha512-o5sSPKEkg/DIQNmH43V0/uerLrpzVedkUh8tGNvaeXpfpuwjKenlSox/2O/BTlZUtEe+JG7s5YhEz608PlAHRA==", "engines": { "node": ">=0.6" } diff --git a/windows/src/desktop/help/about/whatsnew.md b/windows/src/desktop/help/about/whatsnew.md index bb8b6708f2f..5cab7c03efa 100644 --- a/windows/src/desktop/help/about/whatsnew.md +++ b/windows/src/desktop/help/about/whatsnew.md @@ -2,7 +2,7 @@ title: What's New --- -Here are some of the new features we have added to Keyman 17.0 for Windows: +Here are some of the new features we have added to Keyman 18.0 for Windows: - Support for the new LDML Keyboard Standard. - Updates to the Keyman for Windows engine to align with enhancements made to Keyman Core, improving the efficiency of processing the input text with each keystroke. diff --git a/windows/src/desktop/help/index.md b/windows/src/desktop/help/index.md index f5d5ddf3780..7f5ddfd4636 100644 --- a/windows/src/desktop/help/index.md +++ b/windows/src/desktop/help/index.md @@ -1,5 +1,5 @@ --- -title: Keyman 17.0 Help +title: Keyman 18.0 Help --- Need help using Keyman for Windows? You'll find everything you need here, including product documentation,