Keyboard Support

Contact and Search

Keyman.com Homepage

Header bottom

Keyman.com

On this page

Keyman Developer Version History

18.0.140 alpha

Published 2024-11-13.

  • fix(developer): reconnect --full-test in kmcmplib build and enable for CI (#12631)
  • docs(developer): kmc-generate (#12647)

18.0.138 alpha

Published 2024-11-08.

  • feat(developer): kmc generate (#11014)
  • feat(developer): kmc-copy (#12555)
  • feat(developer): add GitHub and Cloud support to kmc-copy (#12586)

18.0.137 alpha

Published 2024-11-07.

  • fix(developer): use 'N' for nomatch store debug strings (regression in #12107) (#12629)
  • chore(developer): skip masaram_gondi in kmcmplib full test (#12630)
  • feat(developer): analyze osk-char-use merge with existing mapping file (#12622)
  • feat(developer): Report key 'address' in validation failures in layout compiler (#12588)

18.0.136 alpha

Published 2024-11-06.

  • fix(developer): handle merge commits when checking git log date (#12627)

18.0.135 alpha

Published 2024-11-05.

  • fix(developer): handle paste of TSV into Wordlist grid (#12594)
  • fix(developer): handle missing files in kmc-kmn (#12595)
  • fix(developer): handle missing files in kmc-model (#12596)
  • fix(developer): create Server config directory before options save (#12608)

18.0.133 alpha

Published 2024-11-01.

  • test(developer): kmcmplib compiler unit tests 4 (#12489)

18.0.131 alpha

Published 2024-10-25.

  • refactor(developer): add kps-file-reader and kps-file-writer (#12545)

18.0.128 alpha

Published 2024-10-14.

  • docs(developer): add refs to Keyman MIME types (#12540)

18.0.127 alpha

Published 2024-10-12.

  • fix(developer): use TextDecoder to convert Uint8Array to string (#12537)

18.0.124 alpha

Published 2024-10-09.

  • fix(developer): use richedit in debug memo to support Egyptian cartouches (#12464)

18.0.123 alpha

Published 2024-10-08.

  • chore(developer,common): deps: replace xml2js with fast-xml-parser (#12502)

18.0.121 alpha

Published 2024-10-03.

  • docs(developer): Fix image links in help (#12488)

18.0.119 alpha

Published 2024-09-28.

  • refactor(developer): copy dev 17.0 help into repo (#12427)
  • fix(developer): warn before importing over touch layout (#12478)

18.0.118 alpha

Published 2024-09-26.

  • chore(developer): add context/options (#11566)
  • fix(developer): ignore excess whitespace in <row keys> attribute (#12468)
  • fix(developer): publish developer-utils package during build (#12471)

18.0.117 alpha

Published 2024-09-25.

  • fix(developer): prevent invalid string ids (#12465)

18.0.115 alpha

Published 2024-09-19.

  • chore(developer): remove .js output from LDML compiler (#12432)

18.0.114 alpha

Published 2024-09-17.

  • fix(developer): rewrite ldml visual keyboard compiler (#12402)
  • fix(developer): check vars string usage before definition (#12404)

18.0.113 alpha

Published 2024-09-16.

  • test(developer): kmcmplib compiler unit tests 3 (#11990)

18.0.110 alpha

Published 2024-09-12.

  • fix(developer): index() requires comma between parameters in kmcmplib compiler (#12328)

18.0.108 alpha

Published 2024-09-10.

  • fix(developer): fix building with Ubuntu 24.04 (#12379)

18.0.101 alpha

Published 2024-08-29.

  • fix(developer): make LDML import path consistent for all bundlings of kmc (#12280)

18.0.98 alpha

Published 2024-08-26.

  • chore(developer): extend timeouts for lm compiler tests to 5 secs (#12273)
  • fix(developer): find last matching key in LDML key bag when building KVK (#12278)
  • fix(developer): ensure call() detects invalid store in kmcmplib compiler (#12263)

18.0.97 alpha

Published 2024-08-24.

  • docs(developer): update build documentation to refer to build.sh (#12272)

18.0.92 alpha

Published 2024-08-19.

  • fix(developer): remove redundant check in LdmlKeyboardCompiler.validate() (#11858)

18.0.91 alpha

Published 2024-08-16.

  • fix(developer): enforce presence of kps Info.Description field in info compilers (#12204)
  • fix(developer): enforce presence of Version field when FollowKeyboardVersion is not set, in package compiler (#12205)

18.0.89 alpha

Published 2024-08-14.

  • refactor(developer): use npm or local source for server addons instead of github references (#12090)
  • fix(developer): fix crash with Windows Clipboard by ignoring zero scan code in debugger (#12166)
  • chore(developer): update SIL logo (#12168)

18.0.86 alpha

Published 2024-08-09.

  • chore(developer): start building Developer on linux,mac (#12117)

18.0.85 alpha

Published 2024-08-08.

  • fix(developer): update date for last git commit date fixture (#12122)

18.0.82 alpha

Published 2024-08-05.

  • chore(developer): add language/reference (#11799)

18.0.81 alpha

Published 2024-08-03.

  • chore(developer): Revert "chore(developer): remove redundant references from tsconfig.json" (#12076)
  • refactor(developer): move functions and variables into CompilerErrors.cpp (#12030)
  • refactor(developer): improve the callbacks for kmcmplib (#12031)
  • refactor(developer): align kmcmplib error codes and names with kmc-kmn (#12044)
  • refactor(developer): move error reporting to error site in kmcmplib (part 1) (#12045)
  • refactor(developer): move error reporting inside GetCompileTargetsFromTargetsStore and ProcessGroupFinish (#12048)
  • refactor(developer): move kmcmplib message construction to kmc-kmn (#12059)
  • refactor(developer): rename compiler error reporting functions in kmcmplib (#12060)
  • chore(developer): support filename field in kmcmplib compiler messages (#12061)
  • refactor(developer): replace VERIFY_KEYBOARD_VERSION() calls with VerifyKeyboardVersion() (#12063)

18.0.80 alpha

Published 2024-07-31.

  • chore(developer): remove redundant references from tsconfig.json (#12037)
  • test(developer): check correct use of u16chr when second parameter could be null (#11894)

18.0.77 alpha

Published 2024-07-27.

  • chore(developer): rename to analyzer-messages.ts (#12017)
  • fix(developer): remove paths from tsconfig.json (#12028)
  • chore(developer): api doc refresh (#12029)

18.0.76 alpha

Published 2024-07-26.

  • test(developer): kmcmplib compiler unit tests 2 (#11663)

18.0.75 alpha

Published 2024-07-25.

  • chore(developer): remove CompilerMessages stub and use KmnCompilerMessages (#11986)
  • chore(developer): rename kmc-ldml CompilerMessages, LdmlKeyboardCompilerMessages to LdmlCompilerMessages (#11988)
  • chore(developer): rename kmc-package CompilerMessages to PackageCompilerMessages (#11989)
  • fix(developer): handle errors parsing .kps file when loading project (#12008)
  • feat(developer): add hint when index() store is longer than any() store (#12000)

18.0.74 alpha

Published 2024-07-24.

  • fix(developer): correct handling of trailing spaces by GetDelimitedString() in kmcmplib compiler (#11938)

18.0.73 alpha

Published 2024-07-23.

  • fix(developer): prevent buffer overrun in u16tok (#11910)
  • fix(developer): prevent invalid values in targets store (#11918)
  • feat(developer): automatically detect version for U_xxxx_yyyy ids (#11957)
  • feat(developer): handle automatic versioning of chiral modifiers (#11965)
  • test(developer): Add tests for automatic versioning of notany() with context() (#11980)
  • feat(developer): handle automatic versioning of special key caps on normal keys (#11981)
  • feat(developer): automatically upgrade version when gestures are found in the touch layout (#11982)
  • refactor(developer): rename verifyMinimumKeymanVersion (#11983)
  • feat(developer): add searching for message identifiers to kmc message (#11984)
  • fix(developer): kmc-keyboard-info: use default version 1.0 if version information missing (#11985)

18.0.66 alpha

Published 2024-07-02.

  • fix(developer): handle second parameter of index correctly in kmcmplib compiler (#11815)

18.0.65 alpha

Published 2024-07-01.

  • fix(developer): prevent non-BMP characters in key part of rule (#11806)

18.0.60 alpha

Published 2024-06-21.

  • feat(developer): warn on empty keycaps (#11810)
  • fix(developer): layr: fix modifier err message on layer w/o id (#11843)

18.0.59 alpha

Published 2024-06-19.

  • chore(developer): clarify project upgrade messages about file locations (#11819)

18.0.58 alpha

Published 2024-06-18.

  • fix(developer): check HISTORY.md to get last modified date for keyboard_info and model_info (#11805)
  • docs(developer): extra context help for keyboard-editor (does not exist in Keyman Developer 17.0) (#11771)

18.0.57 alpha

Published 2024-06-17.

  • fix(developer): refactor kmcmplib compiler messages to use map (#11738)
  • fix(developer): make native compilation of kmcmplib under Linux possible (#11779)

18.0.56 alpha

Published 2024-06-14.

  • fix(developer): show message if no more platforms to add to touch layout editor (#11759)
  • docs(developer): context help in package-editor and put the existing context help in their own tab comments (#11760)
  • docs(developer): context help in keyboard-editor section (#11754)
  • docs(developer): context help in new-project section (#11767)
  • docs(developer): context help for new-project-parameters in keyman developer (#11769)
  • docs(developer): context help for Select BCP 47 tag in Keyman Developer (#11770)

18.0.55 alpha

Published 2024-06-13.

  • fix(developer): handle missing OSK when importing a Windows keyboard into a touch-only project (#11720)
  • fix(developer): verify email addresses in .kps and .keyboard_info (#11735)

18.0.53 alpha

Published 2024-06-10.

  • fix(developer): fix kmcmplib unit-test include paths (#11749)

18.0.52 alpha

Published 2024-06-08.

  • fix(developer): prevent two touch layout editors opening for the same file (#11717)
  • feat(developer): support language reference in context help (#11737)
  • test(developer): kmcmplib compiler unit tests (#11378)

18.0.51 alpha

Published 2024-06-07.

  • chore(developer): add context/character-map (#11656)
  • chore(developer): add context/wordlist-editor (#11658)
  • chore(developer): add context/new-model-project-parameters (#11677)
  • chore(developer): add extra logging for assertion failure when pressing backspace in debugger (#11707)
  • fix(developer): handle encoding errors when loading wordlists (#11711)

18.0.50 alpha

Published 2024-06-06.

  • fix(developer): handle editor initializing after debugger when setting execution point (#11587)
  • fix(developer): treat js files with unrecognized encodings as non-keyboard files (#11698)
  • fix(developer): disable example edit controls if no examples in Package Editor (#11701)

18.0.47 alpha

Published 2024-06-03.

  • fix(developer): save touch layout editor selection when loading state (#11575)

18.0.45 alpha

Published 2024-05-31.

  • fix(developer): test existence of ngrok.exe before atttempting to start (#11543)
  • fix(developer): handle unsupported return statement in match and nomatch in web compiler (#11546)
  • fix(developer): handle invalid project file when scanning for owner project (#11558)
  • fix(developer): ensure folder for MRU list is always created (#11552)
  • fix(developer): handle invalid default project path in options (#11555)
  • fix(developer): handle missing data in .kps <Keyboard> (#11563)
  • fix(developer): use correct variable when fixing up flick and multitap in Layer Properties dialog (#11577)
  • fix(developer): correct the inference of default hint from flicks (#11582)
  • fix(developer): make top row of Character Map 1 pixel to avoid DIV/0 in gestures (#11590)
  • chore(developer): add context/debug (#11629)

18.0.44 alpha

Published 2024-05-24.

  • chore(developer): add context/key-test (#11512)

18.0.42 alpha

Published 2024-05-23.

  • chore(developer): build.sh for developer (#11421)

18.0.41 alpha

Published 2024-05-22.

  • fix(developer): handle KM_CORE_IT_INVALIDATE_CONTEXT in debugger (#11488)

17.0.332 stable

Published 2024-11-06.

  • fix(developer): create Server config directory before options save (#12609)
  • fix(developer): handle merge commits when checking git log date (#12628)

17.0.331 stable

Published 2024-10-30.

  • fix(developer): prevent invalid string ids (#12524)
  • fix(developer): ignore excess whitespace in <row keys> attribute (#12523)

17.0.330 stable

Published 2024-09-16.

  • fix(developer): rewrite ldml visual keyboard compiler (#12406)
  • fix(developer): check vars string usage before definition (#12407)

17.0.329 stable

Published 2024-09-09.

  • fix(developer): ignore scan code if zero in debugger (#12182)
  • fix(developer): enforce presence of Version field when FollowKeyboardVersion is not set, in package compiler (#12206)
  • fix(developer): enforce presence of kps Info.Description field in info compilers (#12207)
  • fix(developer): find last matching key in LDML key bag when building KVK (#12284)

17.0.327 stable

Published 2024-07-25.

  • fix(developer): handle editor initializing after debugger when setting execution point (#11588)
  • fix(developer): treat js files with unrecognized encodings as non-keyboard files (#11699)
  • fix(developer): disable example edit controls if no examples in Package Editor (#11703)
  • chore(developer): add extra logging for assertion failure when pressing backspace in debugger (#11709)
  • fix(developer): handle encoding errors when loading wordlists (#11712)
  • fix(developer): handle missing OSK when importing a Windows keyboard into a touch-only project (#11721)
  • fix(developer): prevent two touch layout editors opening for the same file (#11727)
  • feat(developer): support language reference in context help (#11741)
  • fix(developer): show message if no more platforms to add to touch layout editor (#11766)
  • chore(developer): clarify project upgrade messages about file locations (#11820)
  • fix(developer): check HISTORY.md to get last modified date for keyboard_info and model_info (#11808)
  • fix(developer): prevent non-BMP characters in key part of rule (#11807)

17.0.326 stable

Published 2024-06-02.

  • fix(developer): handle KM_CORE_IT_INVALIDATE_CONTEXT in debugger (#11489)
  • fix(developer): test existence of ngrok.exe before atttempting to start (#11544)
  • fix(developer): handle unsupported return statement in match and nomatch in web compiler (#11547)
  • fix(developer): ensure folder for MRU list is always created (#11553)
  • fix(developer): handle invalid project file when scanning for owner project (#11559)
  • fix(developer): handle invalid default project path in options (#11556)
  • fix(developer): handle missing data in .kps <Keyboard> (#11564)
  • fix(developer): save touch layout editor selection when loading state (#11576)
  • fix(developer): use correct variable when fixing up flick and multitap in Layer Properties dialog (#11578)
  • fix(developer): correct the inference of default hint from flicks (#11583)
  • fix(developer): make top row of Character Map 1 pixel to avoid DIV/0 in gestures (#11591)
  • fix(developer): support Windows and Unicode names in .ttf (#11634)

17.0.324 stable

Published 2024-05-15.

  • chore(developer): 17.0 stable release

17.0.320 beta

Published 2024-05-07.

  • fix(developer): define lastSelLength variable (#11366)

17.0.319 beta

Published 2024-05-04.

  • fix(developer): handle missing Name element for File element in package compiler (#11352)
  • fix(developer): handle missing Description element for File element in package compiler (#11354)

17.0.315 beta

Published 2024-04-26.

  • fix(developer): support export of visual keyboard when Keyman for Windows not installed (#11244)

17.0.314 beta

Published 2024-04-25.

  • test(developer): keyboard info compiler messages unit tests 2 (#11253)

17.0.313 beta

Published 2024-04-23.

  • fix(developer): report missing help to sentry instead of local xml (#11271)
  • fix(developer): "use strict" for downlevel browsers in Server (#11276)

17.0.312 beta

Published 2024-04-22.

  • fix(developer): emit JSON strings as characters, not surrogate pairs (#11243)
  • fix(developer): prevent xmlns for LDML keyboard template child elements (#11251)
  • fix(developer): test that MRU project exists before attempting to reference on startup (#11252)
  • fix(developer): handle invalid Unicode values in touch layout builder (#11270)
  • fix(developer): handle multiple instances of Server starting (#11272)
  • fix(developer): lazy initialization of test window (#11275)
  • test(developer): keyboard info compiler unit tests 2 (#11130)
  • fix(developer): keep escaped plus-sign escaped (#11269)

17.0.308 beta

Published 2024-04-13.

  • chore(developer): use keyboard3 tag rather than DTD to identify LDML keyboard xml files (#11214)

17.0.301 beta

Published 2024-04-03.

  • fix(developer): handle buffer boundaries in four cases (#11137)

17.0.300 beta

Published 2024-04-02.

  • test(developer): keyboard info compiler unit tests (#11000)

17.0.299 beta

Published 2024-04-01.

  • feat(developer): disallow stray dollarsign in from pattern (#11117)

17.0.298 beta

Published 2024-03-29.

  • fix(developer): prevent error when scrolling touch layout editor with no selected key (#11109)

17.0.297 beta

Published 2024-03-28.

  • fix(core,developer): variable/marker substitution in sets and strings (#11059)
  • fix(developer): in ldml compiler, generate compiler error if from= regex matches empty string (#11070)
  • feat(developer): support comma in modifiers (#11075)
  • feat(developer/compilers): better unit test for suggestion accessibility (#11085)

17.0.296 beta

Published 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)

17.0.295 beta

Published 2024-03-26.

  • docs(developer): add help site links (#10939)

17.0.294 beta

Published 2024-03-25.

  • fix(developer): catch sharing violation when saving mru (#11047)
  • fix(developer): capture alt shortcuts in LDML keyboard debugger (#11049)
  • fix(developer): correct path for kmc sourcemaps in sentry upload (#11051)

17.0.293 beta

Published 2024-03-22.

  • fix(developer): suppress emission of new empty fields in package editor (#11009)
  • fix(developer): return after calling await exitProcess (#11016)

17.0.292 beta

Published 2024-03-21.

  • fix(developer): remove unused keyboard info compiler messages (#10991)
  • fix(developer): font file meta data is invalid error (#10995)

17.0.288 beta

Published 2024-03-13.

  • test(developer): kmc keyboard info compiler messages unit tests (#10848)
  • fix(developer): getFontFamily now returns null if ttfMeta.promise errors (#10983)
  • fix(developer): min Keyman version for LDML is 17.0 (#10977)

17.0.287 beta

Published 2024-03-12.

  • chore(developer): resolve excessive-fatal-exception issue (#10949)

17.0.284 beta

Published 2024-03-07.

  • fix(developer): kmc keyboard info compiler no kmp error (#10893)
  • fix(developer): Treat Right Shift as Shift in debugger (#10919)
  • docs(developer): kmc-model api documentation (#10921)
  • docs(developer): kmc-model-info api documentation (#10922)
  • docs(developer): kmc-keyboard-info api documentation (#10923)
  • docs(developer): kmc-package api documentation (#10924)
  • fix(developer): normalize all input paths in .kps compiler (#10950)

17.0.283 beta

Published 2024-03-06.

  • fix(developer): search-term quote replacement was not global (#10934)
  • fix(developer): fix for errant \uXXXX error (#10946)
  • fix(developer): suppport loose match for CompilerEvents (#10948)

17.0.282 beta

Published 2024-03-05.

  • fix(developer): move osk.ts from developer-utils to kmc-kmn (#10903)
  • fix(developer): hint text special characters (#10927)
  • docs(developer): kmc-ldml api documentation (#10917)
  • chore(developer): consolidate external links in Developer messages (#10918)
  • fix(developer): message export filename was title case (#10941)

17.0.281 beta

Published 2024-03-04.

  • chore(developer): deploy compiler messages to help site (#10906)

17.0.280 beta

Published 2024-03-01.

  • fix(developer): make sure scroll bar appears when needed in global welcome (#10818)
  • docs(developer): kmc-kmn api documentation and some message documentation (#10856)
  • refactor(developer): cleanup kmn compiler message namespaces (#10867)
  • refactor(developer): reorganize messages for adding details (#10878)
  • feat(developer): adds kmc message command (#10888)
  • test(developer): kmc unit test infrastructure messages (#10825)

17.0.277 beta

Published 2024-02-27.

  • fix(developer): exit kmc test data if any failure messages occurred (#10805)
  • feat(developer): add api-extractor and api-documenter, config, and build integration (#10839)
  • feat(developer): publish api documentation to help.keyman.com (#10841)
  • docs(developer): npm package readme files (#10842)
  • refactor(developer): move osk module from common-types to developer-utils (#10845)
  • fix(developer): repeated options in kmc must now be fully specified (#10821)
  • docs(developer): add documentation for kmc-analyze (#10854)

17.0.275 beta

Published 2024-02-23.

  • fix(developer): publish keymancore-1.dll symbols (#10797)
  • fix(developer): improve uploading of sourcemaps to sentry (#10798)

17.0.273 beta

Published 2024-02-21.

  • fix(developer): match kmc console formatting for messages in IDE (#10775)
  • fix(developer): ensure fatal errors report message or made non-fatal (#10777)
  • chore(developer): add LDML specific text to Project view (#10779)
  • fix(developer): reset debugger after ldml keyboard compile (#10780)
  • fix(developer): crash opening invalid project (#10781)

17.0.272 beta

Published 2024-02-20.

  • fix(developer): Rename missing variables in tests (#10773)
  • chore(developer): reduce WARN_TouchLayoutUsesUnsupportedGesturesDownlevel to HINT (#10766)
  • fix(developer): prevent renaming of new project types in New Project dialog (#10767)
  • fix(developer): return an error code if build-test-data fails (#10765)
  • fix(developer): allow more parameters in kmc.cmd (#10759)

17.0.271 beta

Published 2024-02-19.

  • chore(developer): add infrastructure messages tests (#10756)

17.0.267 alpha

Published 2024-02-14.

  • feat(developer): errs on unparseable regex (#10689)
  • feat(developer): errs on \uXXXX escapes (#10701)

17.0.265 alpha

Published 2024-02-12.

  • fix(developer): keyboard that targets only web can cause crashes and other problems (#10664)

17.0.262 alpha

Published 2024-02-07.

  • feat(core,developer): support normalization=disabled (#10586)
  • feat(developer): range warning for non-NFD chars (#10614)
  • fix(developer): ensure project populate files actually adds files (#10651)

17.0.259 alpha

Published 2024-02-02.

  • feat(developer): double markers once again (#10541)
  • feat(core,developer): simplify markers (#10565)

17.0.258 alpha

Published 2024-02-01.

  • chore(developer): add unicode-license.txt for ldml keyboards data (#10568)
  • chore(developer): kmc ldml build - call c8 directly for tests (#10522)

17.0.257 alpha

Published 2024-01-31.

  • fix(developer): kmc exit needs to wait for Sentry (#10558)
  • fix(developer): make sourcePath calculation for kmc-keyboard-info more lenient (#10559)
  • chore(developer): disable .js output for LDML keyboard compiler for 17.0 (#10560)

17.0.256 alpha

Published 2024-01-30.

  • feat(developer): turn on developer side normalization (#10528)

17.0.255 alpha

Published 2024-01-29.

  • feat(developer): ldml marker normalization fix (#10527)

17.0.252 alpha

Published 2024-01-25.

  • chore(developer): --enable-source-maps parameter for kmc wrapper (#10496)

17.0.251 alpha

Published 2024-01-24.

  • chore(developer): upgrade ngrok to v3 (#10359)

17.0.250 alpha

Published 2024-01-23.

  • feat(developer): marker normalization in .ts (#10443)

17.0.247 alpha

Published 2024-01-18.

  • chore(developer,core): change sample and test files to use \u{…} (#10391)

17.0.245 alpha

Published 2024-01-16.

  • feat(developer): add -m parameter to kmc to control message severity (#10258)

17.0.244 alpha

Published 2024-01-15.

  • feat(developer): warn on gesture support for downlevel (#10364)

17.0.243 alpha

Published 2024-01-12.

  • fix(developer): test-page model loading (#10328)

17.0.242 alpha

Published 2024-01-11.

  • fix(developer): remove unused tools/customise menu (#10321)
  • fix(developer): cleanly handle filling a new osk file from layout (#10322)
  • fix(developer): new file support for project 2.0 (#10323)

17.0.238 alpha

Published 2024-01-03.

  • fix(developer): quell internal error when a section fails (#10300)
  • feat(developer): escape bad markers (#10306)

17.0.237 alpha

Published 2024-01-02.

  • feat(developer): Consolidate public APIs for kmc modules (#10208)
  • chore(developer): honor prompt to upgrade in kmc (#10218)

17.0.235 alpha

Published 2023-12-21.

  • feat(developer): ldml: more improvement for key-not-found (#10236)

17.0.229 alpha

Published 2023-12-13.

  • fix(developer): various project fixes (#10151)
  • feat(developer): Add Window menu (#10154)
  • feat(developer): New Project opens in new process (#10155)
  • fix(developer): two errors in touch layout editor (#10211)
  • feat(developer): Move options to ~/.keymandeveloper/options.json (#10216)

17.0.228 alpha

Published 2023-12-11.

  • fix(developer): crash loading a project when referenced .xml is missing (#10209)
  • feat(developer): kmc emit hint if project file is old version (#10158)

17.0.225 alpha

Published 2023-12-06.

  • feat(developer): Multi-process model for projects (#10114)
  • fix(developer): prevent opening .kpj in multiple processes (#10137)

17.0.221 alpha

Published 2023-12-01.

  • chore(developer): require project file to exist (#10092)

17.0.219 alpha

Published 2023-11-29.

  • fix(developer): path separator for kmc-package (#10064)
  • fix(developer): projects 2.0 internal path enumeration (#10016)

17.0.218 alpha

Published 2023-11-27.

  • feat(developer): ldml: err/hint on illegal/pua chars (#10029)

17.0.217 alpha

Published 2023-11-24.

  • feat(developer): warn on usage of virtual keys in rule output (#10062)

17.0.216 alpha

Published 2023-11-23.

  • fix(developer): vis kbd callbacks instead of throw (#9979)

17.0.211 alpha

Published 2023-11-15.

  • feat(developer): Support v2.0 projects in TIKE (#9949)
  • feat(developer): New Project - Description field and tweaks (#9950)
  • chore(developer): hide 'Remove From Project' for v2.0 projects (#9956)
  • feat(developer): Support loading XML LDML keyboards in TIKE (#9963)
  • feat(developer): show .xml LDML keyboards in project (#9964)
  • fix(developer): kmc build ldml keyboard should create output folder (#9966)
  • fix(developer): Project upgrade messages now show in Messages panel (#9969)
  • feat(developer): Project Settings Form for 17.0+ projects (#9984)
  • chore(developer): only build source files (#9985)
  • chore(developer): manage SourcePath in project upgrade (#9986)
  • feat(developer): handle errors loading projects (#9989)
  • chore(developer): show only source path files in project views (#9995)
  • chore(developer): handle project version checks cleanly in kmc (#9996)
  • chore(web,developer): Move keymanweb-osk.ttf to common/resources (#9993)

17.0.207 alpha

Published 2023-11-07.

  • feat(developer): Add more non-printing characters (#9846)

17.0.206 alpha

Published 2023-11-06.

  • chore(developer): remove compile.pas and CompileErrorCodes.pas (#9924)
  • feat(developer): provide line number for some kmw compiler messages (#9938)
  • fix(developer): Sentry in Server should honour reporting settings (#9940)
  • fix(developer): resilience in loading Server config and cache files (#9941)

17.0.205 alpha

Published 2023-11-03.

  • fix(developer): use KeymanWeb.Codes for 17.0+ (#9913)
  • fix(developer): don't use osk-always-visible on touch devices (#9917)
  • fix(developer): kmc code generation for context(n) in context (#9932)
  • chore(developer): remove obsolete 'Allow Multiple Instances' and 'Use Legacy Compiler' options (#9934)
  • chore(developer): common/include dep for kmcmplib (#9935)

17.0.204 alpha

Published 2023-11-02.

  • fix(developer): compiler crash when no project loaded (#9898)
  • fix(developer): debug flag for compiling keyboards (#9901)
  • chore(developer): verify kmp.json output from kmc-package (#9844)
  • fix(developer): Project MRU now saves correctly (#9902)
  • chore(developer): change field label to 'Related Package ID' in Related Packages dialog (#9904)
  • fix(developer): open editor links in new window (#9905)
  • fix(developer): enable and update unit tests (#9907)
  • fix(developer): layout builder - maintain presentation during undo (#9914)
  • feat(developer): extract font family from .ttf in kmc-keyboard-info (#9859)
  • fix(developer): raise error if virtual key in context string (#9908)
  • feat(developer): Compile button in TIKE toolbar (#9910)
  • chore(developer): rename messages.ts for clarity (#9920)
  • fix(developer): warn if layer switch key is missing ID (#9921)
  • fix(developer): restore selection in layout builder even with duplicate ids (#9922)
  • fix(developer): enable line breaks in debugger (#9906)

17.0.201 alpha

Published 2023-10-28.

  • fix(developer): handle displayMap correctly with 'fill from layout' (#9861)

17.0.200 alpha

Published 2023-10-27.

  • chore(developer,common,core): update to latest CLDR v44 (#9842)

17.0.199 alpha

Published 2023-10-26.

  • fix(developer): handle xml errors in package compiler (#9821)
  • fix(developer): server download Keyman link (#9822)
  • fix(developer): reduce confusion in Unicode fields in touch layout editor (#9839)

17.0.194 alpha

Published 2023-10-18.

  • fix(developer): three kmc .keyboard_info generation bugs (#9784)
  • fix(developer): handle invalid project folders cleanly (#9785)

17.0.193 alpha

Published 2023-10-17.

  • fix(developer): kmc crash on start (#9771)

17.0.187 alpha

Published 2023-10-11.

  • chore(developer): convert Server to ES Modules (#9673)
  • feat(developer): ldml fix all remaining TODOs around markers and variables (#9688)
  • chore(developer): fixup signcode paths for server (#9730)

17.0.186 alpha

Published 2023-10-04.

  • feat(developer): show an INFO message when warnings have failed a build (#9652)
  • chore(developer): reduce duplicate words warning to hint (#9653)
  • feat(developer): issue hint if package includes keyboard source files (#9658)
  • chore(developer): switch on code coverage reporting for kmc (#9662)
  • feat(developer): warn if .kps includes a .js which is not touch-capable (#9667)

17.0.185 alpha

Published 2023-10-03.

  • feat(developer): support store(&version) '17.0' (#9656)
  • chore(developer): add test for checkFilenameConventions == false or unset (#9661)
  • feat(developer): ldml scan codes support (#9615)

17.0.182 alpha

Published 2023-09-28.

  • fix(developer): only include mobile touch platform in basic project (#9549)

17.0.158 alpha

Published 2023-08-09.

  • feat(developer): add 'default' property for longpress keys (#9432)
  • chore(developer): improve kmc sentry reporting on fatal build errors (#9441)

17.0.155 alpha

Published 2023-08-05.

  • chore(developer): update markers per review (#9374)

17.0.152 alpha

Published 2023-08-02.

  • fix(developer): more wasm uset fixes (#9382)

17.0.151 alpha

Published 2023-08-01.

  • fix(developer): fix breakage from emscripten 3.1.44 (#9375)

17.0.148 alpha

Published 2023-07-27.

  • chore(developer): make unknown vkey a hint, not error (#9344)

17.0.134 alpha

Published 2023-07-05.

  • feat(developer): uset in element string (#9144)
  • fix(developer): improve coverage, add todos (#9170)
  • chore(developer): refactor so KmnCompiler only created once within kmc (#9171)

17.0.131 alpha

Published 2023-06-27.

  • feat(developer,common,core): ldml UTF-32 literals in binary (#9084)

17.0.129 alpha

Published 2023-06-23.

  • feat(common,developer,core): add uset section (#9049)

17.0.123 alpha

Published 2023-06-13.

  • chore(developer): support cp1252 'ansi' keyboards (#8988)
  • fix(developer): keep kmc-kmn messages within namespace (#8999)

17.0.122 alpha

Published 2023-06-12.

  • refactor(developer): import kmcmplib errors into kmc-kmn (#8962)

17.0.121 alpha

Published 2023-06-09.

  • chore(developer): check for nodejs deps in kmc-kmn (#8961)
  • feat(developer): improve tran/bksp tests, other improvements (#8967)

17.0.119 alpha

Published 2023-06-06.

  • chore(developer): ensure kmcmplib messages are all UTF-8 (#8927)

17.0.117 alpha

Published 2023-06-04.

  • chore(developer): verify long lines compile correctly (#8915)

17.0.116 alpha

Published 2023-06-02.

  • chore(developer): verify kvks files and report errors (#8892)
  • refactor(developer): rearrange kmcmplib interface source (#8899)
  • refactor(developer): move filename consistency check to kmc (#8907)
  • chore(developer): loadFile callback error check and optimization (#8908)

17.0.115 alpha

Published 2023-06-01.

  • refactor(developer): complete fs move out of kmcmplib (#8882)

17.0.114 alpha

Published 2023-05-31.

  • chore(developer): replace cwrap wasm bindings (#8857)
  • chore(developer): refactor kmcmplib interfaces (#8870)
  • chore(developer): move keyboard repo fixtures (#8874)

17.0.113 alpha

Published 2023-05-26.

  • refactor(developer): compiler interface part 1 for wasm (#8850)
  • chore(developer): remove SetError macro (#8856)

17.0.112 alpha

Published 2023-05-25.

  • refactor(developer): move file write out of WriteCompiledKeyboard and CompileKeyboard merge (#8796)

17.0.111 alpha

Published 2023-05-24.

  • chore(developer): add test for missing .js file to kmc-package (#8846)

17.0.108 alpha

Published 2023-05-16.

  • feat(developer): verify keyboard versions in kmc-package (#8769)
  • feat(developer): verify bcp47 tags are valid and minimal in kmc-package (#8778)
  • feat(developer): verify at least one language in package (#8783)
  • chore(developer): verify file types of content files in package (#8792)
  • chore(developer): verify that package has at least a model or keyboard (#8793)

17.0.106 alpha

Published 2023-05-12.

  • chore(developer): move package formats to common/web/types (#8729)
  • feat(developer): add package validation (#8740)
  • feat(developer): add validation of package filenames (#8751)
  • feat(developer): validate content file names in packages (#8755)
  • feat(developer): validate package name in compiler (#8757)
  • chore(developer): rename Compiler and related classes (#8726)
  • feat(developer): uset api from wasm! (#8716)

17.0.104 alpha

Published 2023-05-10.

  • chore(developer): rename kmc-keyboard to kmc-ldml (#8725)

17.0.100 alpha

Published 2023-05-04.

  • fix(developer): warning fixes in kmcmplib (#8690)
  • feat(developer): add uset api in kmcmplib (#8691)

17.0.97 alpha

Published 2023-04-28.

  • feat(developer): groundwork for support new transform, developer side (#8686)

17.0.96 alpha

Published 2023-04-27.

  • chore(developer): test message correctness in compiler modules (#8664)
  • chore(developer): add eslint devDependency for kmc (#8665)
  • chore(developer): kmc-keyboard should not use any node-specific modules (#8666)
  • refactor(developer): use callbacks to avoid direct fs access in kmc-package (#8674)

17.0.95 alpha

Published 2023-04-26.

  • fix(developer): kmc: fix jis/abnt2 scan codes (#8670)

17.0.93 alpha

Published 2023-04-24.

  • feat(developer): support FollowKeyboardVersion in kmc-package (#8642)
  • feat(developer): use CompilerEvent for messages in all of kmc (#8651)
  • chore(developer): fixup deps for kmc modules (#8652)

17.0.92 alpha

Published 2023-04-21.

  • fix(developer): kmc-package path reference (#8634)
  • chore(developer): only run keyboards-repo tests for a full-test (#8635)
  • refactor(developer): move comperr.h to kmn_compiler_errors.h (#8636)
  • refactor(developer): kmc-model to use CompilerEvent (#8637)

17.0.91 alpha

Published 2023-04-20.

  • fix(developer): kmc-kmn would abort build on warnings (#8617)
  • fix(developer): kmc no longer emits double file extension for models (#8618)
  • refactor(developer): move build activities (#8622)
  • feat(developer): add warning options to kmc (#8623)
  • feat(developer): use new message infrastructure in kmc-kmn (#8625)
  • refactor(developer): move shared test helpers into common (#8626)
  • feat(developer): add CompilerMessages support to kmc-package (#8627)
  • feat(developer): warn if .kps file includes a non-binary .kvk file (#8628)

17.0.90 alpha

Published 2023-04-19.

  • fix(developer): package editor no longer loses RTL flag for LMs (#8606)

17.0.89 alpha

Published 2023-04-18.

  • chore(developer): tweak build of extension list in kmc (#8597)
  • fix(developer): add missing dependencies (#8605)

17.0.87 alpha

Published 2023-04-13.

  • refactor(developer): DRY kmc module references (#8577)
  • chore(developer): kmc-kmn should build all baseline fixtures (#8578)
  • fix(developer): kmc should not validate as well as compile keyboard (#8579)
  • fix(developer): improve 'does not exist' error message (#8580)

17.0.85 alpha

Published 2023-04-11.

  • chore(developer): AddWarning and SetError cleanup (#8571)
  • fix(developer): add DRY_RUN variable to build.sh (#8576)

17.0.82 alpha

Published 2023-03-31.

  • feat(developer): support jis and abnt2 (#8513)

17.0.69 alpha

Published 2023-03-16.

  • fix(developer): lm compiler handle missing line no in errors (#8444)

17.0.68 alpha

Published 2023-03-15.

  • fix(developer/compilers): locks esbuild target detection for kmc building (#8437)
  • chore(developer): ldml March 2023 update to tech-preview (#8412)

17.0.67 alpha

Published 2023-03-14.

  • chore(developer): Update copyright period in License.rtf (#8425)

17.0.52 alpha

Published 2023-02-20.

  • chore(developer): update bundled node to 18.14.1 LTS (#8268)
  • chore(developer): ignore Esc key when compiling (#8263)

17.0.48 alpha

Published 2023-02-14.

  • fix(developer): Select BCP47 Code dialog inconsistencies (#8179)

17.0.42 alpha

Published 2023-02-03.

  • feat(developer): check for duplicated language codes in package editor and compiler (#8151)

17.0.40 alpha

Published 2023-02-01.

  • chore(developer): kmcmpdll debug src path (#8127)

17.0.32 alpha

Published 2023-01-20.

  • docs(common/resources): Update configure step in Docker readme (#8034)

17.0.24 alpha

Published 2023-01-06.

  • chore(common/resources): Add Docker readme (#7980)

16.0.145 stable

Published 2024-02-01.

  • chore(developer): upgrade ngrok to v3 (#10360)

16.0.140 stable

Published 2023-07-21.

  • fix(developer): package editor no longer loses RTL flag for LMs (#8607)

16.0.139 stable

Published 2023-03-16.

  • fix(developer): lm compiler handle missing line no in errors (#8445)

16.0.128 beta

Published 2022-12-22.

  • fix(developer): force ES3 code generation for LMs (#7927)

16.0.122 beta

Published 2022-12-14.

  • fix(developer): invalid charmap cell selection when updating to empty search result (#7887)

16.0.117 beta

Published 2022-12-01.

  • fix(developer): OnlineUpdate crash on shutdown (#7830)
  • fix(developer): EncodeURL was not handling spaces (#7820)

16.0.113 beta

Published 2022-11-26.

  • fix(developer): remove missing files from MRU list (#7821)

16.0.108 beta

Published 2022-11-21.

  • fix(developer): cast to prevent ERangeError for failed http reqs in CEF (#7775)

16.0.101 beta

Published 2022-11-11.

  • fix(developer): URL parameters should be UTF-8 (#7631)

16.0.99 beta

Published 2022-11-09.

  • fix(developer): handle edge cases for app sources (#7654)
  • fix(developer): handle shutdown cleanup more cleanly (#7655)
  • fix(developer): handle crash reports without Keyman Engine installed (#7657)
  • fix(developer): handle unpaired surrogate (#7659)

16.0.98 beta

Published 2022-11-08.

  • fix(developer): set keyman.osk immediately after switching device type (#7624)
  • fix(developer): update monaco editor to 0.15.6 (#7626)
  • chore(developer): tidy up compile hints (#7633)
  • fix(developer): handle EEncodingError loading text file (#7635)
  • fix(developer): prevent exception in charmap when unable to focus (#7640)
  • fix(developer): disable Keyboard|Compile if no project loaded (#7642)
  • fix(developer): kmlmc has runtime dependency on keyman-version (#7651)
  • fix(developer): improve support for inferred key cap text (#7617)

16.0.97 beta

Published 2022-11-04.

  • fix(developer): tweak captions for consistency (#7607)

16.0.96 beta

Published 2022-11-03.

  • fix(developer): Make Details and Build tabs scrollable (#7593)
  • fix(developer): support gif preview images in Package Editor (#7594)
  • fix(developer): handle high-bit-set HKL correctly (#7601)

16.0.95 beta

Published 2022-11-02.

  • fix(developer): Use US base layout for debugger (#7531)
  • fix(developer): ensure kmlmp handles paths (#7580)
  • fix(developer): prevent repeated begin statements (#7583)
  • fix(developer): remove ancient samples (#7586)
  • fix(developer): generate a default icon for basic keyboard projects (#7584)
  • fix(developer): avoid reformatting unchanged system stores (#7585)
  • fix(developer): publish @keymanapp/keyman-version to npm (#7595)

16.0.91 alpha

Published 2022-10-28.

  • fix(developer): handle LControl being set by Windows when AltGr pressed (#7530)
  • fix(developer): exclude nocaps from layer id modifier components (#7553)

16.0.86 alpha

Published 2022-10-21.

  • fix(developer): Handle invalid graphics in icon editor (#7431)

16.0.84 alpha

Published 2022-10-19.

  • fix(developer): Handle hints and warnings cleanly (#7372)
  • fix(developer): Ctrl key to select key was conflicting with shortcuts (#7430)

16.0.81 alpha

Published 2022-10-16.

  • fix(developer): manual attachment for kmw in server (#7457)

16.0.73 alpha

Published 2022-10-03.

  • fix(developer): handle invalid kps xml when loading project view (#7371)

16.0.71 alpha

Published 2022-09-29.

  • fix(developer): generate valid js when using unquoted digits in stores (#7369)
  • fix(developer): ensure backslash in paths passed to kmcomp (#7370)
  • fix(common/web): mock deadkey handling after rules manipulating context (#7345)

16.0.69 alpha

Published 2022-09-21.

  • refactor(common/web): reworks low-level module build scripts ️ (#7319)

16.0.68 alpha

Published 2022-09-20.

  • chore(developer): update multer dependency for server (#7314)
  • chore(developer): update node-windows-trayicon to update node-gyp to 9.1.0 (#7321)

16.0.62 alpha

Published 2022-09-13.

  • fix(developer): hide key-sizes when in desktop layout in touch layout editor (#7225)
  • fix(developer): show more useful error if out of space during Setup (#7267)

16.0.61 alpha

Published 2022-09-12.

  • fix(developer): compiler mismatch on currentLine (#7190)
  • fix(developer): suppress repeated warnings about unreachable code (#7219)

16.0.54 alpha

Published 2022-08-30.

  • chore(developer): remove unused dependencies from KeymanWeb compiler (#7000)

16.0.47 alpha

Published 2022-08-15.

  • fix(developer): stack overflow when compiling non-web keyboard (#7031)
  • fix(developer): prevent crash attempting to compile ansi keyboard (#7033)
  • fix(developer): compiler emitting garbage for readonly groups (#7013)

16.0.42 alpha

Published 2022-08-01.

  • feat(developer): add languageUsesCasing to Model Editor (#7008)
  • fix(developer): increase maximum file size for server (#7003)
  • fix(developer): rebuilding a model would not refresh it in server (#7015)

16.0.38 alpha

Published 2022-07-26.

  • feat(developer): Rework Touch Layout Editor to support flick and multitap (#6884)
  • fix(developer): improve error message for multi-part key ids on <15.0 (#6989)

16.0.37 alpha

Published 2022-07-22.

  • fix(developer): reduce timeouts if server shut down (#6943)

16.0.34 alpha

Published 2022-07-15.

  • fix(developer): set contextDevice in web debugger ️ (#6906)
  • fix(developer): kmdecomp virtual character key output (#6940)
  • fix(developer): crash on exit when checking for updates (#6941)
  • fix(developer): crash when switching back a tab (#6942)

16.0.33 alpha

Published 2022-07-14.

  • feat(developer): Option to skip embed of compiler version (#6920)
  • feat(developer): compiler regression support (build kmcomp-$version.zip during release build) (#6918)

16.0.31 alpha

Published 2022-07-12.

  • fix(developer): QR Code for Package Editor had wrong path (#6926)

16.0.28 alpha

Published 2022-07-08.

  • fix(developer): add no-ops for symbol builds for components (#6908)

16.0.26 alpha

Published 2022-07-06.

  • fix(developer): Show full version number (#6866)
  • chore(developer): rename developer/js to developer/kmlmc (#6630)
  • feat(developer): .keyman-touch-layout schema for 15.0 (#6856)
  • feat(developer): add flick and multitap to touch layout schema and doc (#6877)

15.0.270 stable

Published 2022-09-12.

  • fix(developer): compiler mismatch on currentLine (#7191)
  • fix(developer): suppress repeated warnings about unreachable code (#7265)

15.0.269 stable

Published 2022-08-29.

  • fix(developer): compiler emitting garbage for readonly groups (#7014)

15.0.268 stable

Published 2022-08-04.

  • fix(developer): increase maximum file size for server (#7004)
  • fix(developer): rebuilding a model would not refresh it in server (#7016)
  • fix(developer): stack overflow when compiling non-web keyboard (#7034)
  • fix(developer): prevent crash attempting to compile ansi keyboard (#7035)

15.0.267 stable

Published 2022-07-26.

  • fix(developer): QR Code for Package Editor had wrong path (#6927)
  • fix(developer): kmdecomp virtual character key output (#6945)
  • fix(developer): crash on exit when checking for updates (#6946)
  • fix(developer): crash when switching back a tab (#6947)
  • fix(developer): reduce timeouts if server shut down (#6948)
  • fix(developer): improve error message for multi-part key ids on <15.0 (#6990)

15.0.264 stable

Published 2022-07-01.

  • fix(developer): readonly groups should never emit output (#6873)

15.0.257 beta

Published 2022-06-03.

  • fix(developer): kmcomp package compiler race condition (#6696)
  • fix(developer): install keyboard call should quote kmshell.exe path (#6691)

15.0.247 beta

Published 2022-05-16.

  • chore(common/resources): Update langtags.json (#6594)

15.0.241 beta

Published 2022-04-27.

  • fix(common/core/web): Fix forEach loop in SentryManager (#6569)

15.0.231 beta

Published 2022-04-09.

  • test(common/resources): Add Noto font to web_context_tests keyboard (#6488)

15.0.229 beta

Published 2022-04-07.

  • fix(developer): handle exception on unpaired surrogate (#6487)

15.0.227 beta

Published 2022-04-04.

  • fix(developer): improves More Help link for icon tool (#6464)
  • feat(developer): hint on unreachable code (#6440)
  • feat(developer): check filename case consistency when compiling keyboard (#6445)
  • feat(developer): add Clear All button to icon editor (#6465)
  • fix(developer): icon editor font color now follows fgcolor (#6466)
  • fix(developer): validate kmconvert parameters (#6451)
  • feat(developer): check for duplicate store/group names (#6463)

15.0.225 beta

Published 2022-04-01.

  • feat(developer): keep Virtual Key Identifier dialog open on Insert (#6449)

15.0.221 beta

Published 2022-03-24.

  • fix(developer): structure sizes for kmcomp x64 (#6408)

15.0.213 beta

Published 2022-03-15.

  • fix(developer): warn on ncaps usage inconsistency (#6347)

15.0.209 beta

Published 2022-03-08.

  • fix(developer): project should not steal focus on load (#6325)

15.0.205 alpha

Published 2022-03-02.

  • fix(developer): move ngrok to Server/bin/ (#6304)
  • fix(developer): rename Code to ID in Touch Layout Editor (#6309)
  • feat(developer): kmcomp -h and -help (#6312)
  • chore(developer): remove Package for Distribution action (#6313)
  • chore(developer): disable upload for server except localhost (#6300)
  • fix(developer): handle paste event in touch layout editor (#6295)
  • fix(developer): Improve active tab visibility (#6314)
  • fix(developer): font for Package and Model Editors (#6311)
  • feat(developer): support commas in frequency in wordlists (#6315)

15.0.204 alpha

Published 2022-03-01.

  • fix(developer): server font support (#6298)

15.0.201 alpha

Published 2022-02-21.

  • fix(developer): npm publish with correct tier (#6259)

15.0.198 alpha

Published 2022-02-13.

  • fix(developer): compile package fileVersion from keyboard FileVersion (#6145)

15.0.197 alpha

Published 2022-02-12.

  • fix(developer): support KM_KBP_IT_CAPSLOCK (#6230)

15.0.191 alpha

Published 2022-02-03.

  • fix(developer): remove keymanengine.msm (#6143)

15.0.188 alpha

Published 2022-01-28.

  • feat(developer): Keyman Developer Server (#6073)

15.0.187 alpha

Published 2022-01-27.

  • fix(developer): handle Core failure to load (#6141)

15.0.185 alpha

Published 2022-01-25.

  • fix(developer): prevent crash on build dblclicked file (#6151)

15.0.179 alpha

Published 2022-01-17.

  • feat(developer): support for Caps Lock layer (#5988)
  • fix(developer): repatch #6074 (#6111)

15.0.175 alpha

Published 2022-01-11.

  • fix(developer): bundle.sh must succeed (#6091)

15.0.172 alpha

Published 2021-12-23.

  • fix(developer): work around devDependencies bug in npm (#6074)

15.0.171 alpha

Published 2021-12-17.

  • feat(developer): remember test page preferences on reload (#6033)
  • feat(developer): tidy up package list in web test view (#6034)
  • feat(developer): live reload of web debugger (#6035)
  • feat(developer): cache web debug objects across sessions (#6036)
  • fix(developer): project_mru.xml path (#6061)
  • chore(developer): add browse4folder to components (#6062)

15.0.160 alpha

Published 2021-12-03.

  • fix(developer): building kmw keyboard had wrong message callback signature (#5972)

15.0.159 alpha

Published 2021-12-02.

  • fix(developer): debugger crash with empty group (#5995)

15.0.157 alpha

Published 2021-11-29.

  • fix(developer): render OSK nicely on touch devices (#5923)
  • chore(developer): move kcframe into its own folder (#5971)
  • chore(developer): tweak language metadata message (#5978)

15.0.151 alpha

Published 2021-11-18.

  • fix(developer): use correct tike icon (#5925)
  • fix(developer): move web osk beneath text area (#5937)

15.0.149 alpha

Published 2021-11-17.

  • chore(developer): Update jszip version (#5770)

15.0.146 alpha

Published 2021-11-14.

  • feat(developer): support for U_xxxx_yyyy (#5894)

15.0.145 alpha

Published 2021-11-13.

  • fix(developer): crash exporting OSK on European keyboard (#5893)
  • feat(developer): validate .kps files during compile (#5895)

15.0.143 alpha

Published 2021-11-11.

  • fix(developer): handle shortcut keys in debugger (#5776)

15.0.125 alpha

Published 2021-10-05.

  • feat(developer): touch layout testing (#5723)

15.0.122 alpha

Published 2021-09-30.

  • fix(developer): move ampersand to shift+7 on touch (#5746)

15.0.121 alpha

Published 2021-09-29.

  • fix(developer): remove empty touch rows on save (#5720)

15.0.117 alpha

Published 2021-09-22.

  • fix(developer): run kmlmc from Keyman source path (#5727)

15.0.115 alpha

Published 2021-09-20.

  • feat(developer): track changes to option values better in debugger (#5696)
  • fix(developer): support chiral modifiers in debugger (#5697)

15.0.114 alpha

Published 2021-09-17.

  • feat(developer): Debugger platform option (#5640)
  • feat(developer): Debugger keyboard options (#5647)
  • fix(developer): add version info to Core (#5711)
  • fix(common/core/web): layer reset on physical keystroke after OSK interaction (#5641)

15.0.113 alpha

Published 2021-09-16.

  • fix(common/core/web): Remove empty rows in OSK (#5699)

15.0.111 alpha

Published 2021-09-13.

  • fix(developer): include Keyman Core in Keyman Developer (#5649)
  • fix(developer): ensure file modified after import from layout (#5676)

15.0.102 alpha

Published 2021-08-24.

  • fix(developer): F6 in debugger and cef focus (#5597)

15.0.98 alpha

Published 2021-08-20.

  • fix(developer): debugger cleanup (#5588)
  • chore(developer): debug deadkey 1-based values (#5592)
  • chore(developer): refactor forcekeyboard in debug (#5593)
  • fix(developer): get Test Mode working again (#5594)
  • chore(developer): hide debug events panel (#5595)
  • fix(common/core/web): behavior with unmatched final group (#5553)

15.0.95 alpha

Published 2021-08-06.

  • feat(developer): debugger uses Keyman Core (#5513)

15.0.91 alpha

Published 2021-08-02.

  • fix(developer): compiler use and match behavior for Web should be same as Core (#5525)

15.0.89 alpha

Published 2021-07-27.

  • fix(common/core/web): error from early fat-finger termination due to OS interruptions (#5479)
  • fix(common/core/web): OSK state-key management (#5456)

15.0.85 alpha

Published 2021-07-19.

  • chore(developer): fixup devtime paths (#5449)

15.0.79 alpha

Published 2021-07-01.

  • fix(developer): builder and editor commands were ignored (#5391)
  • chore(developer): remove obsolete InitClasses (#5403)

15.0.74 alpha

Published 2021-06-24.

  • feat(common/core/web): engine correction-prep optimizations (#5319)

15.0.70 alpha

Published 2021-06-17.

  • fix(developer): kmconvert help match reality (#5298)

15.0.65 alpha

Published 2021-06-10.

  • fix(common/core/web): optimizes transform construction (#5248)

15.0.64 alpha

Published 2021-06-09.

  • refactor(common/core/web, web): target-agnostic key events (#5181)

15.0.62 alpha

Published 2021-06-04.

  • fix(developer): support spaces in regression tests (#5217)

15.0.51 alpha

Published 2021-05-21.

  • feat(developer): Add 'full copyright' field to templates (#5085)
  • fix(developer): TframeTextEditor.SetText was not synchronous (#5096)

15.0.47 alpha

Published 2021-05-14.

  • fix(developer): kmconvert commandline and deploy (#5082)

15.0.44 alpha

Published 2021-05-11.

  • fix(developer): two small issues in kmdecomp (#5031)

15.0.32 alpha

Published 2021-04-21.

  • fix(developer): avoid crash if .kpj.user file is malformed (#4918)
  • fix(developer): chiral mismatch warning is disruptive (#4934)

15.0.30 alpha

Published 2021-04-19.

  • fix(developer): Reduce non-canonical BCP 47 tag warning in PackageInfo to "Info" (#4863)

15.0.27 alpha

Published 2021-04-01.

  • fix(developer): buffer size for range expansions (#4831)

15.0.25 alpha

Published 2021-03-30.

  • fix(developer): requote font names (#4814)

15.0.24 alpha

Published 2021-03-29.

  • fix(developer): open containing folder was not opening correct folder (#4776)

14.0.286 stable

Published 2022-01-27.

  • fix(developer): work around devDependencies bug in npm (#6142)

14.0.281 stable

Published 2021-09-17.

  • fix(developer): ensure file modified after import from layout (#5677)
  • fix(common/core/web): Remove empty rows in OSK (#5703)

14.0.280 stable

Published 2021-08-02.

  • fix(common/core/web): error from early fat-finger termination due to OS interruptions (#5491)
  • fix(common/core/web): OSK state-key management (#5494)

14.0.278 stable

Published 2021-07-20.

  • change(common/core/web): fat-finger-performance unit-test threshold (#5417)

14.0.277 stable

Published 2021-06-29.

  • fix(developer): kmconvert help match reality (#5299)
  • feat(common/core/web): engine correction-prep optimizations (#5352)

14.0.276 stable

Published 2021-06-11.

  • fix(common/core/web): optimizes transform construction (#5255)

14.0.275 stable

Published 2021-06-04.

  • fix(developer): kmconvert commandline and deploy (#5083)
  • fix(developer): TframeTextEditor.SetText was not synchronous (#5097)
  • fix(developer): support spaces in regression tests (#5218)

14.0.272 stable

Published 2021-04-23.

  • fix(developer): Reduce non-canonical BCP 47 tag warning in PackageInfo to Info (#4892)
  • fix(developer): avoid crash if .kpj.user file is malformed (#4919)
  • fix(developer): chiral mismatch warning is disruptive (#4935)

14.0.271 stable

Published 2021-04-01.

  • fix(developer): open containing folder was not opening correct folder (#4777)
  • fix(developer): requote font names (#4815)
  • fix(developer): buffer size for range expansions (#4832)

14.0.266 beta

Published 2021-03-19.

  • fix(common/core/web): predictive banner activation logic (#4713)

14.0.265 beta

Published 2021-03-18.

  • fix(common/core/web): disambiguation of keys sharing same base key ID (#4703)
  • fix(developer): use var not let in definitions (#4718)

14.0.263 beta

Published 2021-03-16.

  • fix(developer): &CasedKeys and &MnemonicLayout are not compatible together (#4690)
  • fix(developer): validate keyboard_info should give info on non-canonical bcp47 (#4689)
  • chore(developer): upgrade bcp 47 canonicalisation to warning (#4699)
  • fix(developer): support named character codes at end of line (#4691)

14.0.259 beta

Published 2021-03-12.

  • chore(developer): add B11 ISO code for ABNT2 keyboard (#4654)

14.0.257 beta

Published 2021-03-10.

  • fix(common/core/web): Add keyboard check for scriptObject (#4640)

14.0.253 beta

Published 2021-03-05.

  • feat(developer): &CasedKeys system store (#4586)
  • fix(developer): tidy up expansions tests (#4592)
  • fix(developer): Expand filenames before load (#4606)

14.0.252 beta

Published 2021-03-04.

  • fix(developer): improve CEF location search stability (#4571)
  • fix(developer): Support all fonts in Keyboard Fonts dialog (#4574)
  • feat(developer): Add different Open Containing Folder buttons (#4576)
  • feat(developer): Range expansions (#4584)

14.0.251 beta

Published 2021-03-03.

  • fix(developer): Improve stability of named code constants (#4547)
  • fix(developer): schema conformance for model package compiler (#4548)
  • fix(developer): touch layout osk import handling of multiple modifiers (#4552)
  • fix(developer): require language tag when compiling keyboard package (#4563)
  • fix(developer): Avoid blank keys when importing KMX to KVKS (#4564)
  • feat(developer): isRTL support for lexical model editor (#4559)
  • fix(developer): track modified state in wordlist editor better (#4562)

14.0.250 beta

Published 2021-03-02.

  • fix(common/resources): Fix help.keyman.com path for CI (#4565)

14.0.248 beta

Published 2021-02-26.

  • fix(developer): run even if sentry unavailable (#4537)
  • fix(developer): UTF-8 messages in LM compiler (#4539)

14.0.245 beta

Published 2021-02-24.

  • fix(common/core/web): core key-processing now always returns RuleBehavior type. (#4508)
  • fix(common/resources): Set help-keyman.com.sh executable (#4510)
  • fix(developer/compilers): fixes error when "constructor" is in wordlist (#4504)

14.0.242 beta

Published 2021-02-11.

  • fix(common/resources): Fix help.keyman.com path for commit (#4469)

14.0.241 beta

Published 2021-02-10.

  • fix(common/resources): Just use master branch for help.keyman.com (#4459)

14.0.239 beta

Published 2021-02-08.

  • fix(developer): debug information with unicode identifiers (#4408)
  • fix(developer): Compiler check for if and nul at start of context (#4410)
  • feat(developer): improve BCP 47 canonicalization (#4425)

14.0.235 beta

Published 2021-02-03.

  • fix(developer): don't check both setup.exe and setup-redist.exe (#4398)
  • fix(developer): Generate platforms correctly from template (#4399)
  • fix(developer): Import Keyboard support for Targets (#4400)

14.0.228 beta

Published 2021-01-22.

  • fix(developer): Debug character grid performance (#4237)

14.0.226 beta

Published 2021-01-20.

  • fix(developer/compilers): fixes developer build breakage from #4291 (#4299)

14.0.225 beta

Published 2021-01-19.

  • fix(developer): disable TSentryClient on WINE (#4274)
  • fix(developer/compilers): fixes dependency versioning on alpha, beta tiers (#4291)

14.0.221 beta

Published 2021-01-13.

  • fix(developer): Allow unhandled keys to go through to debugger memo (#4209)

14.0.219 beta

Published 2021-01-12.

  • fix(common/core/web): mnemonic modifier key-up handling (#4231)

14.0.216 beta

Published 2020-12-23.

  • fix(developer): make touch layout editor source view fonts consistent (#4198)
  • fix(developer): Respect tab editor option (#4200)

14.0.215 beta

Published 2020-12-22.

  • fix(developer): debug.log created unexpectedly (#4189)
  • fix(developer): Map symbols for LTREnter and LTRBkSp (#4190)
  • fix(developer): Encoding for .model.ts files (#4199)

14.0.197 alpha

Published 2020-12-04.

  • fix(common/core/web): Sanitize embedded KMW Sentry events (#4071)
  • fix(common/core/web): predictive context reset (#4072)

14.0.195 alpha

Published 2020-12-02.

  • chore(common/resources): Fix dest paths for crowdin strings (#3995)

14.0.191 alpha

Published 2020-11-27.

  • chore(common/resources): Document keeping scopes in sync (#3974)

14.0.189 alpha

Published 2020-11-25.

  • feat(developer): add new touch layout special tags (#3878)
  • chore(common/resources): Part 3 of additional HISTORY.md cleanup (#3947)

14.0.188 alpha

Published 2020-11-24.

  • chore(common/resources): Clean up commit types in HISTORY.md (#3926)
  • chore(common/resources): additional cleanup to HISTORY.md (#3942)

14.0.186 alpha

Published 2020-11-20.

  • feat(common/core/web): integrated suggestion casing tests (#3887)

14.0.184 alpha

Published 2020-11-18.

  • feat(developer/compilers): compiler-side groundwork for applyCasing (#3770)
  • fix(common/core/web): Add environment to web Sentry reports (#3888)

14.0.183 alpha

Published 2020-11-17.

  • feat(developer): support major version upgrades (#3868)
  • fix(common/core/web): meta key handling (#3847)
  • feat(common/core/web): input processor unit tests (#3836)

14.0.182 alpha

Published 2020-11-16.

  • fix(common/core/web): Fixes engine-level context tests, adds notany cases (#3860)

14.0.181 alpha

Published 2020-11-13.

  • fix(common/core/web): fixes no-output logic check, arrow keys (#3848)
  • fix(common/core/web): adds missing null-check (#3859)

14.0.178 alpha

Published 2020-11-10.

  • fix(developer): Remove IE dependency from Developer Setup (#3839)

14.0.177 alpha

Published 2020-11-07.

  • fix(developer): support for notany() and context() (#3816)
  • fix(developer): debug window inherits editor font (#3829)

14.0.176 alpha

Published 2020-11-05.

  • fix(developer): remove obsolete NRSIAllTags (#3819)
  • fix(developer): Incorrect script:language map (#3818)

14.0.174 alpha

Published 2020-11-03.

  • chore(common/resources): improve build README.md (#3812)

14.0.169 alpha

Published 2020-10-26.

  • feat(common/core/web): simplify corrective distribution (#3726)

14.0.166 alpha

Published 2020-10-22.

  • feat(common/core/web): fat-finger ignores inputs that beep (#3701)

14.0.164 alpha

Published 2020-10-20.

  • fix(developer): crash creating basic project (#3716)

14.0.161 alpha

Published 2020-10-16.

  • fix(common/core/web): fixes revert event bug (#3709)

14.0.160 alpha

Published 2020-10-14.

  • feat(common/core/web): selective wordbreak swallowing after accepting suggestions (#3702)

14.0.156 alpha

Published 2020-10-08.

  • fix(developer): ci uses repo tier and version (#3670)

14.0.154 alpha

Published 2020-10-05.

  • fix(developer): coverity reports for compiler (#3640)

14.0.153 alpha

Published 2020-10-02.

  • chore(common/resources): bump @actions/core from 1.2.2 to 1.2.6 in /resources/build/version (#3646)

14.0.149 alpha

Published 2020-09-25.

  • fix(developer): hardcoded urls in debugger (#3613)
  • fix(developer): Project window and About window hardcoded urls (#3618)

14.0.144 alpha

Published 2020-09-18.

  • feat(developer): add viewport to html templates (#3531)
  • fix(developer): Touch font size should be string (#3585)

14.0.142 alpha

Published 2020-09-15.

  • chore(common/resources): bump node-fetch from 2.6.0 to 2.6.1 in /resources/build/version (#3578)

14.0.129 alpha

Published 2020-08-17.

  • chore(common/resources): Add sample vscode settings files (#3249)

14.0.115 alpha

Published 2020-07-23.

  • feat(developer/compilers): logging errors and warnings in the lexical model compiler (#3385)

14.0.113 alpha

Published 2020-07-21.

  • refactor(developer/compilers): reading from a wordlist (#3380)

14.0.112 alpha

Published 2020-07-20.

  • chore(developer): cleanup test constants (#3350)

14.0.110 alpha

Published 2020-07-15.

  • fix(developer/compilers): merge duplicate words during compile (#3338)
  • refactor(developer): hashmap-based wordlist compilation (#3340)

14.0.103 alpha

Published 2020-06-30.

  • fix(common/core/web): fixes transcription buffer cap (#3301)

14.0.96 alpha

Published 2020-06-19.

  • fix(common/resources): shebang for lerna-based Linux builds (#3260)

14.0.95 alpha

Published 2020-06-19.

  • refactor(common/resources): web-environment package (#3248)
  • fix(common/resources): web-environment package-lock.json (#3256)

14.0.93 alpha

Published 2020-06-15.

  • fix(developer/ide): double click to change layer update combo (#3240)
  • fix(developer/ide): fix copy and paste in touch editor (#3238)

14.0.87 alpha

Published 2020-06-05.

  • fix(developer/compilers): normalise touch layout on compile (#3203)

14.0.84 alpha

Published 2020-05-29.

  • change(developer): packs ModelCompiler via npm pack, 7-zip (#3166)
  • change(common/models,developer/compilers): move joiner from LMLayer to model compiler (#3071)

14.0.81 alpha

Published 2020-05-27.

  • chore(common/resources): add common/models to build trigger definitions (#3144)
  • fix(common/resources): adds package-lock.json for gosh package (#3171)

14.0.79 alpha

Published 2020-05-22.

  • fix(common/core/web): use build script to generate environment.inc.ts (#3146)
  • change(common/core/web,web): update dependencies to @keymanapp/models-types (#3147)

14.0.78 alpha

Published 2020-05-21.

  • fix(developer): crash when developer starts (#3138)
  • chore(common/resources): cleanup scopes (#3139)
  • change(common/core/web): add and distribute type declaration (#3145)

14.0.69 alpha

Published 2020-05-06.

  • fix(common/resources): npm install required for auto inc lerna versions (#3089)

14.0.61 alpha

Published 2020-04-30.

  • chore(common/resources): bump @actions/http-client from 1.0.3 to 1.0.8 in /resources/build/version (#3047)
  • feat(developer/compilers): compile joinWordsAt property (#3032)

14.0.60 alpha

Published 2020-04-29.

  • feat(common/resources): initial use of lerna (in-repo package links only) (#2997)

14.0.58 alpha

Published 2020-04-28.

  • change(developer/compilers): improvements to default searchTermToKey (#3024)

14.0.57 alpha

Published 2020-04-27.

  • change(common/resources): Update to Unicode 13.0 (#3029)

14.0.56 alpha

Published 2020-04-24.

  • feat(developer/compilers): allow for verbose word breaker specification (#3023)

14.0.55 alpha

Published 2020-04-23.

  • change(common/models,developer/compilers): always bundle searchTermToKey() with model (#2971)

14.0.54 alpha

Published 2020-04-22.

  • refactor(developer/compilers): word breaker compilation (#3016)

14.0.40 alpha

Published 2020-03-30.

  • fix(developer): use correct registry types for sentry options (#2912)
  • chore(common/resources): Cleanup unused folders and update README (#2916)

14.0.37 alpha

Published 2020-03-27.

  • feat(common/resources): Use Crowdin CLI (v3) for handling l10n files (#2895)

14.0.30 alpha

Published 2020-03-19.

  • docs(common/resources): minor updates to readme (#2856)

14.0.25 alpha

Published 2020-03-13.

  • feat(common/resources): sentry release control (#2794)
  • feat(common/resources): Add script to parse crowdin translation file (#2801)
  • feat(common/resources): add release finalization for Sentry (#2819)

14.0.22 alpha

Published 2020-03-09.

  • fix(common/resources): parameter order incorrect in git diff (#2787)

14.0.21 alpha

Published 2020-03-08.

  • fix(common/resources): builds were never triggered (#2790)

14.0.18 alpha

Published 2020-03-04.

  • feat(developer): allow use of ISO9995 in key ids (#2741)

14.0.17 alpha

Published 2020-02-26.

  • fix(developer): crash when switching layout templates (#2726)
  • feat(developer): always save options (#2731)
  • feat(common/resources): Support git worktree when configuring local hooks (#2722)
  • fix(developer): insert from charmap into touch editor (#2737)
  • fix(developer): debugger breaking smp with bksp (#2739)

14.0.16 alpha

Published 2020-02-25.

  • fix(developer): crash when switching layout templates (#2726)

14.0.15 alpha

Published 2020-02-24.

  • chore(common/resources): Improve output when triggering Jenkins jobs (#2706)
  • fix(common/resources): Fix increment-version.sh script (#2714)

14.0.14 alpha

Published 2020-02-21.

  • refactor(common/resources): Simplify and improve getting hook directory (#2701)

14.0.12 alpha

Published 2020-02-18.

  • fix(developer): crash in context help (#2661)
  • fix(developer): crash importing blank OSK (#2663)
  • fix(developer): upgrade removes preferences (#2672)
  • fix(developer): upgrade removes preferences (#2668)
  • chore(common/resources): Rename trigger-definitions.sh to *.config (#2665)

14.0.10 alpha

Published 2020-02-14.

  • fix(developer): touch layout editor character map integration (#2619)
  • fix(developer/compilers): package: version mismatch (#2620)
  • fix(developer/compilers): compiler sometimes merges touch platform support wrongly in .keyboard_info (#2621)
  • fix(developer/ide): model debugger mime type mismatch (#2633)
  • fix(developer/ide): Model editor various bugs (#2634)

14.0.9 alpha

Published 2020-02-10.

  • fix(common/resources): refactor trigger of test builds (#2611)
  • chore(common/resources): add build scripts for beta tests (#2612)
  • fix(common/resources): don't include build-utils.sh (#2615)
  • fix(common/resources): Fix setting context when >= 64 characters (#2607)

14.0.8 alpha

Published 2020-02-07.

  • chore(common/resources): Tweak history management (#2602)
  • chore(common/resources): Update README.md (#2598)
  • chore(common/resources): Add script that checks if build is required (#2603)

14.0.7 alpha

Published 2020-02-07.

  • chore(common/resources): Tweak history management (#2602)
  • chore(common/resources): Update README.md (#2598)

14.0.5 alpha

Published 2020-02-04.

  • chore(common/resources): support test builds on master/beta/stable-x.y (#2576)

14.0.4 alpha

Published 2020-02-03.

  • chore(common/resources): trigger builds after version increment (#2572)

14.0.3 alpha

Published 2020-02-03.

  • chore(common/resources): increment version final (#2568)
  • chore(common/resources): add version tags (#2570)

14.0.2 alpha

Published 2020-01-29.

  • chore(common/resources): version tags (#2562)

14.0.1 alpha

Published 2020-01-29.

  • chore(common/resources): Starting 14.0 release

13.0.110 stable

Published 2020-07-15.

  • Bug fix(Compiler): Lexical model compiler no longer attempts to form npm link when the package is installed (#3352)
  • Bug fix(Compiler): Lexical model compiler merges wordlist entries for duplicate words during compilation (#3351)

13.0.109 stable

Published 2020-06-03.

  • Bug Fix(Keyboard Editor): Touch Layout Compiler fixes invalidly formatted strings during compile (#3204)

13.0.101 stable

Published 2020-02-24.

  • Bug Fix(Keyboard Editor): Touch Layout Editor could crash switching templates (#2721)
  • Bug Fix(Keyboard Editor): Touch Layout Editor would not always accept character map insertions (#2736)

13.0.100 stable

Published 2020-02-19.

  • Chore: Keyman Developer 13.0.100 release

13.0.76 beta

Published 2020-02-18.

  • Bug Fix(Install): Upgrading would lose user settings (resolves after 2 upgrades) (#2668)

13.0.75 beta

Published 2020-02-17.

  • Bug Fix(IDE): In some situations, the context help window could cause Developer to crash (#2661)
  • Bug Fix(IDE): Attempting to import a blank OSK into the Touch Layout Editor would eventually crash (#2663)

13.0.73 beta

Published 2020-02-13.

  • Bug Fix(IDE/Model Editor): Would never be set into modified state for changes exclusively in a wordlist. (#2634)
  • Bug Fix(IDE/Model Editor): Add context help (#2634)
  • Bug Fix(IDE/Model Editor): Add Ctrl+PgUp/Ctrl+PgDn hotkeys for switching pages (#2634)
  • Bug Fix(IDE/Model Editor): Add Alt+Left/Alt+Right hotkeys for switching views (#2634)
  • Bug Fix(IDE/Model Editor): Saving file from source view now gets latest changes correctly (#2634)

13.0.72 beta

Published 2020-02-12.

  • Bug Fix(IDE/Debugger): MIME type mismatch on some systems could cause web test to fail (#2633)

13.0.66 beta

Published 2020-02-11.

  • Bug Fix(Compiler): Merge of .keyboard_info files would not always get platform support correct (#2621)
  • Bug Fix(Compiler): Missing keyboard file led to misleading error in package compiler (#2620)
  • Bug Fix(Compiler): Double-click to drop character onto touch layout was disabled (#2619)

13.0.65 beta

Published 2020-01-28.

  • Feature(Compiler): Hotkeys defined in .kmn no longer need to be quoted (#2432)
  • Feature(IDE): Enhanced Lexical Model Editor (#2396)
  • Feature(IDE): Show QRCode for web debugger URLs in Keyboard and Package editors (#2433)
  • Feature(IDE): F7 in Project window compiles the whole project (#2442)
  • Feature(IDE): Default Project Path is now Documents\Keyman Developer\Projects (#2449)
  • Feature(Tools): Add unsupported kmdecomp decompiler utility (#2419)
  • Feature(Tools): Add x64 version of kmcomp for macOS (#2352)
  • Bug Fix(Compiler): Missing author email was causing lexical model compiler to fail (#2388, 12.0:#2496)
  • Bug Fix(Compiler): Lexical model compiler was not handling SMP characters (#2438, 12.0:#2502)
  • Bug Fix(Compiler): Zero-length store names are no longer permitted (#2443)
  • Bug Fix(Compiler): Some keyboards were incorrectly marked as mobile-capable (#2334, 12.0:#2343)
  • Bug Fix(Compiler): nul in context caused incorrect context deletion for web keyboards 10.0 or newer (#2295)
  • Bug Fix(IDE): Remove version info from .kps when follow-keyboard-version is set (#2417)
  • Bug Fix(IDE): Make sure popup menus are never obscured in Project view (#2415)
  • Bug Fix(IDE): 'Show Help' was not working on Distribution tab in Project view (#2397)
  • Bug Fix(IDE): Character Map now drops characters instead of codes in visual editors (#2428)
  • Bug Fix(IDE): Text editor and other controls did not receive focus correctly (#2331, 12.0:#2340)
  • Bug Fix(IDE): Shortcuts in text editors were not working after #2331 (#2424, 12.0:#2425)
  • Bug Fix(IDE): Unicode characters could be silently lost when editing legacy Windows-1252 files (#2416)
  • Bug Fix(IDE): Deleting select platform in code view of touch layout editor could crash (#2294)
  • Bug Fix(Tools): Keyboard ID was not clean by default with Import Windows Keyboard (#2431)
  • Change(IDE): Rename UI references of 'TIKE' to 'Keyman Developer' (#2439)
  • Change(IDE): Application title no longer shows active project, only main window (#2441, #2291)

12.0.66 stable

Published 2020-01-20.

  • Bug Fix: Character Map was not reliably dropping into Text Editor (#2504)
  • Bug Fix: Lexical model compiler was not handling SMP characters (#2502)

12.0.65 stable

Published 2020-01-20.

  • Bug Fix: Missing author email was causing lexical model compiler to fail (#2496)

12.0.62 stable

Published 2019-12-06.

  • Bug Fix: Shortcuts in text editors were not working after #2331 (#2425)

12.0.55 stable

Published 2019-11-18.

  • Bug Fix: Some keyboards were incorrectly marked as mobile-capable (#2343)

12.0.54 stable

Published 2019-11-15.

  • Bug Fix: Text editor and other controls did not receive focus correctly (#2340)

12.0.50 stable

Published 2019-10-07.

  • Release 12.0

12.0.45 beta

Published 2019-10-05.

  • Touch Layout Editor: Make default padding in touch layout editor match default padding in KeymanWeb. (#2170)

12.0.44 beta

Published 2019-10-04.

  • Package Editor: Lexical models do not have embedded version numbers, so remove this from the user interface. (#2164)
  • Touch Layout Editor: Dropping character from Character Map onto Touch Layout Editor now saves the change. (#2163)

12.0.41 beta

Published 2019-09-30.

  • General: Keyman Desktop 11 would crash if installed together with Keyman Developer 12. (#2148)

12.0.40 beta

Published 2019-09-29.

  • General: Context help was not showing correctly on startup. (#2145)

12.0.39 beta

Published 2019-09-27.

  • General: Introduces a Welcome screen and improves workflow for starting use of Keyman Developer. (#2134)
  • General: Fix version numbers for kmlmc, kmlmp and kmlmi. (#2129)
  • General: .js files now open in Keyman Developer for editing. (#2140)

12.0.37 beta

Published 2019-09-25.

  • Compiler: Add -lexical-model command line option for building lexical model template projects to kmconvert. (#2120)
  • Debugger: Remove legacy 'Install keyboard' link in web test and cleanup look somewhat. (#2122)
  • Compiler: Support colour log messages and cleanup logging. (#2128)
  • Help: Fix some of the issues with Context Help, and address one specific topic - touch layout editor. (#2132)

12.0.36 beta

Published 2019-09-24.

  • General: File type icons were mismatched (#2112)
  • Project: Shift layer in basic touch layout template had incorrect modifier for period (.) on shift layer (#2113)
  • Touch layout editor: Adding or deleting a playform or layer and making no other changes would not stick (#2114)
  • General: On Windows 7 and 8, in some circumstances dialog boxes could appear behind the main form (#2115)

12.0.34 beta

Published 2019-09-20.

  • Add basic wordlist editor to Keyman Developer (#2086)

12.0.33 beta

Published 2019-09-19.

  • Disable canonicalization of BCP 47 codes when building keyboard and model projects from template because it's inadequate (#2084)
  • Prevent package metadata preprocessor from treating .model.js files as keyboard files when they don't exist (#2085)

12.0.30 beta

Published 2019-09-11.

  • Clarify the project filename that will be created and simplify how the Browse button works in Project Template dialogs (#2073)

12.0.28 beta

Published 2019-09-09.

  • Character preview was not updating in mobile web touch test (#2061)

12.0.27 beta

Published 2019-09-08.

  • Make sure New Project actually starts a new, blank project (#2059)
  • Don't overwrite a BCP 47 code that the user has chosen when writing project templates (#2060)

12.0.23 beta

Published 2019-09-02.

  • Add kmlmc, kmlmi and kmlmp command line tools for building lexical models (#2024)

12.0.15 beta

Published 2019-08-16.

  • Add support for lexical models in packages for development tools (#1977)

12.0.9 beta

Published 2019-07-29.

  • Initial beta release of Keyman Desktop 12

  • Pull Requests

  • New Features:

    • Lexical model compiler - currently only available from source (#1766)
    • Add keyboard source analysis and automated regression test tool "kmanalyze" (#1696)

2019-06-12 11.0.1360.0 stable

  • No changes

2019-06-05 11.0.1357.0 stable

  • No changes

2019-04-29 11.0.1355.0 stable

  • No changes

2019-04-24 11.0.1354.0 stable

  • Bug fix: Keyman Developer touch layout editor would not save key caps for subkeys (#1731)
  • Bug fix: Compiler could occasionally fail with undefined results when using Unicode store names (#1736)

2019-04-06 11.0.1353.0 stable

  • Bug fix: For large keyboards, Keyman Developer would generate a .js file that Chrome was unable to parse (#1717)

2019-02-27 11.0.1352.0 stable

  • No changes

2019-02-26 11.0.1351.0 stable

  • Not released

2019-02-25 11.0.1350.0 stable

  • 11.0 Stable release

2019-02-25 11.0.1313.0 beta

  • No changes to Keyman Developer

2019-02-21 11.0.1312.0 beta

  • Bug fix: Connect buttons to actions in Distribution tab in Project (#1606)
  • Bug fix: Fix crash saving new keyboard when missing files are referenced (#1605)
  • Bug fix: Fix resizing of text editor windows (#1607)

2019-02-20 11.0.1311.0 beta

  • No changes to Keyman Developer

2019-02-19 11.0.1310.0 beta

  • Bug fix: Developer does not focus the text editor automatically after load (#1582)

2019-02-15 11.0.1309.0 beta

  • Bug fix: Developer was not maintaining project state between page loads (#1580)
  • Bug fix: Developer now maintains the view state when switching between Design and Code views of touch layout editor (#1579)
  • Bug fix: New Project Wizard wasn't adding metadata files to project (#1578)
  • Bug Fix: Package RTL keyboard metadata was being overwritten if .kmx was after .js in package file list (#1576)

2019-02-14 11.0.1308.0 beta

  • Change: Adds option to check filename conventions (#1549)

2019-02-01 11.0.1307.0 beta

  • Change: Removed unused test window (#1560)

2019-01-18 11.0.1306.0 beta

  • Change: Update included KeymanWeb to 11.0.206 (#1537)

2019-01-17 11.0.1305.0 beta

  • Change: Allow the "display underlying" flag to be set for each platform (#1539)

2019-01-15 11.0.1304.0 beta

  • Change: Tidy up ambiguities in user interface in touch layout editor (#1534)

2019-01-15 11.0.1303.0 beta

  • No changes to Keyman Developer

2019-01-10 11.0.1302.0 beta

  • Change: Update included KeymanWeb to 11.0.205

2019-01-07 11.0.1301.0 beta

  • Bug fix: Developer does not open a new project after it is created (#1499)
  • Bug fix: Developer does not enable Install button in Package Editor after compile (#1498)
  • Bug fix: Developer would sometimes ask for ethnologue.txt on upgrade (#1481)
  • Change: Options dialog Editor tab layout polished (#1482)

2019-01-02 11.0.1300.0 beta

  • Initial beta release of Keyman Developer 11

  • Pull Requests

  • New Features:

    • New Project from template and Import Keyboard (#1210, #1216, #1240)
    • kmconvert command line utility (#1207)
    • New code editor using open source Monaco component (#1153, #1154, #1155, #1156, #1252, #1274)
    • Web views now use Chromium, not MSHTML (IE) (#1078, #1086, #1435, #1374, #1354, #1248)
    • Support Linux targets (#1239)
    • Added oskbulkrenderer tool for generating sample on screen keyboards (#1428)
  • Changes:

    • Tidy up of installer to make future upgrades easier (#1175)
    • Opening or creating a project now closes current editor files (#1242)
    • Projects can now include other related files such as history.md (#1243)
    • Keyman Developer now treats files as UTF-8 by default (#1244, #1355)
    • kmcomp now adds language subtag names to keyboard_info files (#1426)
    • kmcomp now supports -add-help-link parameter when bulding .keyboard_info files (#1346)
    • Refactored how keyboard_info metadata is generated (#1158)
    • Improved performance of web server (#1433)
    • Current project is now shown in title bar (#1369)
    • Tweaked setup user interface and structure (#1098, #1175, #1178, #1245, #1238)
  • Bug Fixes:

    • Support for display (avoiding crash) when loading large icons (#1416)
    • Importing .kvks into .keyman-touch-layout no longer uses incorrect layer names for some rare modifiers (#1415)
    • Various bug fixes for touch layout editor (#1414, #1405)
    • Various bug fixes and regressions for project view (#1368, #1247, #1241, #1228, #1157)
    • Fixed surrogate pair support in some debugger status views (#1246)

10.0.1206 stable

Published 2018-11-28.

  • Add parameter -add-help-link to kmcomp (#1346)

10.0.1205 stable

Published 2018-11-07.

  • Mitigation for issues with installation under certain languages in Windows 10 1803 or later (#1299)

10.0.1204 stable

Published 2018-09-28.

  • Fix crash in Keyman Developer package editor when a compiled .js keyboard is missing (#1224)

10.0.1202 stable

Published 2018-09-12.

  • Refactor how keyboard_info metadata is generated (#1174)

10.0.1201 stable

Published 2018-07-06.

  • No changes to Keyman Developer (update to KeymanWeb script)

10.0.1200 stable

Published 2018-06-28.

  • 10.0 stable release

2018-06-27 10.0.1113.0 beta

  • No changes to Keyman Developer (update to KeymanWeb)

2018-06-26 10.0.1112.0 beta

  • Keyman Developer no longer crashes if a .kpj.user file is deleted while in use (#1017)

2018-06-21 10.0.1111.0 beta

  • No changes to Keyman Developer (update to KeymanWeb)

2018-06-20 10.0.1110.0 beta

  • Script subtags are now appended for more scripts in the Keyboard languages dialog (#1006)
  • KeymanWeb 10.0 compiler now computes indexes correctly when deadkey and any used in a secondary group (#1008)

2018-06-19 10.0.1109.0 beta

  • No changes to Keyman Developer

2018-06-15 10.0.1108.0 beta

  • No changes to Keyman Developer

2018-06-13 10.0.1107.0 beta

  • Add Unicode 11.0 characters

2018-06-12 10.0.1106.0 beta

  • No changes to Keyman Developer

2018-06-11 10.0.1105.0 beta

  • No changes to Keyman Developer

2018-06-09 10.0.1104.0 beta

  • No changes to Keyman Developer

2018-06-07 10.0.1103.0 beta

  • No changes to Keyman Developer

2018-06-05 10.0.1102.0 beta

  • Improved crash reporting stability (#940)

2018-06-03 10.0.1101.0 beta

  • Open Packages Page now opens the browser in Package Editor (#926)
  • Source editor no longer left-trims comments (#925)

2018-06-01 10.0.1100.0 beta

  • No changes to Keyman Developer

2018-05-31 10.0.1099.0 beta

  • No changes to Keyman Developer

2018-05-30 10.0.1098.0 beta

  • Validate and lookup language names automatically in package editor (#911)
  • Feature: add .kmp download links from debug web server (#910)

2018-05-29 10.0.1097.0 beta

  • Prevent a crash when attempting to load an invalid project file (#909)
  • Hide debug status panel in Test Mode (#908)

2018-05-28 10.0.1096.0 beta

  • Fix for crash in regression testing restart (#907)

2018-05-28 10.0.1095.0 beta

  • Renames touch layout extension from -layout.js to .keyman-touch-layout (#897)

2018-05-26 10.0.1094.0 beta

  • Check that build succeeded before attempting to start debugger (#900)

2018-05-25 10.0.1093.0 beta

  • Make longpress slash darker in touch layout editor (#898)

2018-05-22 10.0.1092.0 beta

  • No changes to Keyman Developer

2018-05-17 10.0.1091.0 beta

  • No changes to Keyman Developer

2018-05-11 10.0.1090.0 beta

  • Fixed missing icons in project view (#864)

2018-05-11 10.0.1087.0 beta

  • Opening an editor by double-clicking a message in message window can crash Developer (#857)

2018-05-09 10.0.1086.0 beta

  • No changes to Keyman Developer (KeymanWeb updated)

2018-05-08 10.0.1085.0 beta

  • No changes to Keyman Developer

2018-05-08 10.0.1084.0 beta

  • No changes to Keyman Developer

2018-05-08 10.0.1083.0 beta

  • No changes to Keyman Developer

2018-05-08 10.0.1082.0 beta

  • Fixes support for 'beep' statements in keyboard stores when compiling for web or mobile targets (#733)

2018-05-07 10.0.1081.0 beta

  • No changes to Keyman Developer

2018-05-07 10.0.1080.0 beta

  • No changes to Keyman Developer

2018-05-07 10.0.1079.0 beta

  • No changes to Keyman Developer

2018-05-04 10.0.1078.0 beta

  • No changes to Keyman Developer

2018-05-04 10.0.1077.0 beta

  • Correctly show the messages window after a compile (#822)

2018-05-04 10.0.1076.0 beta

  • Don't create a blank project on 'opening' a project, either on startup or via menu (#815)
  • Scroll text editor cursor into view after undo (#821)

2018-05-04 10.0.1075.0 beta

  • Ensure that compiled visual keyboard associates with correct base keyboard (#817)

2018-05-03 10.0.1074.0 beta

  • Restrict modifier options to a small set by default in touch layout editor (#810)

2018-05-03 10.0.1073.0 beta

  • Checking for online update when it is already running in background can crash Developer (#813)
  • Avoid crash if online update already running (#814)

2018-05-03 10.0.1072.0 beta

  • Touch layout editor no longer leaves broken JSON when deleting or modifying some keys (#811)

2018-05-03 10.0.1071.0 beta

  • Special keys imported from a visual keyboard into a touch layout now display correctly (#812)

2018-04-30 10.0.1070.0 beta

  • BCP 47 picker in package editor now does name lookups and constrains codes as required by target operating systems (#746, #766)

2018-04-30 10.0.1066.0 beta

  • Fixed broken test for valid match/nomatch output (#793)

2018-04-27 10.0.1061.0 beta

  • Fixed broken context help (#779)

2018-04-25 10.0.1060.0 beta

  • No changes in Keyman Developer (updated KeymanWeb)

2018-04-25 10.0.1059.0 beta

  • No changes in Keyman Developer (updated KeymanWeb)

2018-04-25 10.0.1058.0 beta

  • No changes in Keyman Developer

2018-04-12 10.0.1057.0 beta

  • No changes in Keyman Developer

2018-03-31 10.0.1056.0 beta

  • Web compiler was not escaping quote character in v10.0 keyboards (#719)

2018-03-22 10.0.1055.0 beta

  • No changes in Keyman Developer

2018-03-22 10.0.1054.0 beta

  • Initial beta release of Keyman Developer 10

10.0 alpha

  • Keyman Developer moved to open source (#121)
  • Keyman Developer now supports BCP 47 tags throughout (#543)
  • KeymanWeb is now continuously integrated with Developer, ensuring that each update uses the most current version possible (#122)
    • Additional KeymanWeb compatibility fixes (#349)
  • Keyman Developer now connects only to api.keyman.com and keyman.com for online tools (#653)

Compilers

  • Keyman Developer compiler now generates keyboards that distinguish left and right ctrl/alt for web (#313)
  • Packages can now include .js files for deployment to iOS and Android (#461)
  • The keyboard compiler now generates .js files that do not include version numbers in the filename (#528)
  • The keyboard compiler now supports treating warnings as errors for packages and web keyboards (#620, #662, #665)
  • Web keyboard compiler now fully supports all deadkey scenarios (#627)
  • Keyboard compiler now compiles .kvks to .kvk (#536)

Editors and debuggers

  • Keyman Developer visual editors now support keyboards that distinguish left and right ctrl/alt for web/mobile targets (#342)
  • Web debugger now shows character codes above the text editor (#573)
  • Visual keyboard files are now saved by default in .kvks XML format to make version control simpler (#536)

Language

  • The &version store is now optional and the compiler will determine and report on the minimum version required if it is not present (#334)
  • T_ keys in mnemonic layouts are now better supported in touch keyboards (#660)

Tools

  • Added support for processing .keyboard_info files to command line compiler (#331)

9.0.523 stable

  • Fix: When a longpress popup is being edited, selecting another primary key can copy the details to that key's popup (additional scenario, I4926)
  • Update: Updated KeymanWeb to latest build 408

9.0.519 stable

  • Fix: When a longpress popup is being edited, selecting another primary key can copy the details to that key's popup (I4926)
  • Fix: If 'find char under cursor automatically' is on, OSK editor opens charmap if it is closed (I4927)
  • Fix: Keyman 9 product installers should test for XP or Vista (I4934)
  • Fix: Redraw not reliably working in text editor (I4962)
  • Fix: Importing a KMN into a KVK does not work if includecodes are in the keyboard (I4979)
  • Fix: Keyboard fonts dialog has incorrect tab order (I4980)
  • Fix: Character Map is being updated even when not visible (I4981)
  • Fix: Defined character constants cannot be referenced correctly in other stores (I4982)
  • Fix: Starting a subprocess can fail due to constant buffer for CreateProcessW (I4983)

9.0.518 stable

  • Fixed: Compiler does not warn on an index() statement that has an offset one past the key (I4914)
  • Improved: Text editor refresh is now faster after fix for I4870 (I4918)

9.0.517 stable

  • Fixed: Blank font filename entry in JSON metadata UI editor crashes on save [CrashID:tike.exe_9.0.516.0_009CD793_EAssertionFailed] (I4878)

9.0.516 stable

  • Fixed: Keyman Developer crashes when starting regression test [CrashID:tike.exe_9.0.511.0_0058BC63_EInvalidOperation] (I4839)
  • Fixed: Editor does not always refresh immediately with new theming (I4870)
  • Fixed: OSK font and Touch Layout font should be the same in Developer (I4872)
  • Fixed: Keyman Configuration test windows do not always display correctly (I4874)
  • Fixed: RTL flag is not mapped in the JSON editor (I4875)
  • Fixed: Default "eng" language should be added if missing during debug to JSON (I4876)
  • Fixed: JSON format is inconsistent with documentation (I4877)
  • Added: "Treat hints and warnings as errors" option to compiler (I4865)
  • Added: "Warn on deprecated features" option to compiler (I4866)
  • Added: "Test for code after use()" warning to compiler (I4867)
  • Added: Branding editor needs smoother interactions with test window (I4873)

9.0.515 stable

  • Added: Dynamically refresh Branding Pack UI Test window as edits happen (I4855)
  • Fixed: Support view of particular pages of Keyman Configuration and missing pages in KCT Test (I4856)
  • Fixed: Allow edit of dtd files in kct editor (I4857)
  • Fixed: Asset files not always upgrading in Keyman Developer (I4858)

9.0.514 stable

  • Added: New File dialog now creates folders automatically (I4852)
  • Fixed: Inconsistent display of panels through Developer (I4851)

9.0.513 stable

  • Fixed: Backspace doesn't always work in the keyboard debugger (I4838)

9.0.512 stable

  • Added: Update KeymanWeb to build 403 (I4837)
  • Added: Context-sensitive help missing V8 and V9 keywords (I4840)
  • Added: Restructure version 9 developer help (I4841)
  • Fixed: Ctrl+N, Ctrl+O not working in Developer Project view (I2986)
  • Fixed: Compiler does not recognise baselayout, layer or platform at the start of a line (I4784)
  • Fixed: Character Identifier cells are too narrow for entire U+xxxxxx caption (I4832)
  • Fixed: Character Identifier blank font grid needs formatting (I4834)
  • Fixed: Project window needs Keyman 9 icons (I4835)
  • Fixed: Character Map and Character Identifier don't match tokens at start of line (I4842)
  • Fixed: Delete key doesn't work in the keyboard debugger (I4845)
  • Fixed: Code editor does not get focus automatically when file is loaded (I4847)

9.0.511 stable

  • Added: Refresh Keyman Developer look and feel for release (I4796)
  • Added: Split Path and Name boxes in New File dialogs (I4798)
  • Added: Add Character Identifier to Keyman Developer (I4807)
  • Added: Add character preview to debug window (I4808)
  • Added: Track keystrokes in debug status form (I4809)
  • Added: Add Restart Debugger button to debug status window (I4815)
  • Added: Note in compile log if symbols are included in build (I4823)
  • Added: Add Unicode 8.0.0 to Keyman Developer 9 (I4829)
  • Fixed: Convert to Characters tool is inconsistent (I4797)
  • Fixed: Preview keys are wrong colour in Developer (I4799)
  • Fixed: Targets box overlaps name box in keyboard editor (I4810)
  • Fixed: Hide JSON metadata tab for desktop keyboards (I4811)
  • Fixed: Tab order in Details page for Keyboard Editor is incorrect (I4812)
  • Fixed: Keyboard preview background colour is incorrect (I4813)
  • Fixed: Image preview in package editor doesn't refresh after changes (I4814)
  • Fixed: Tidy up display of key in debug status window (I4816)
  • Fixed: Regression test buttons have incorrect labels (I4817)
  • Fixed: Remove obsolete files from Keyman Developer source (I4818)
  • Fixed: Keyman Developer home page in About dialog is incorrect (I4819)
  • Fixed: Keyboard fonts dialog box has incorrect control types (I4820)
  • Fixed: Update icons for version 9.0 in New File dialog (I4821)
  • Fixed: Form sizes are incorrect with new theming (I4822)
  • Fixed: Fonts don't always load correctly in KeymanWeb test page (I4824)
  • Fixed: Make kmcomp command line details consistent (I4825)
  • Fixed: Navigation keys don't work in debugger (I4826)
  • Fixed: Key down debug events are not always processed correctly (I4827)
  • Fixed: Font identifier miscalculates percentages when supplementary plane characters in string (I4828)

9.0.510 stable

  • Keyboard debugger does not always activate profile correctly (I4767)
  • Add "open in code view" default option for keyboards (I4751)
  • Opening a keyboard externally can open it multiple times (I4749)
  • V9.0 - Enable SHIFT+ESC to pause debugger with TSF (I4033)

9.0.509 stable

  • Package compiler (buildpkg) needs to specify username and password on command line (I4763)
  • Buildpkg needs to support different paths for msi and kmp files (I4764)
  • Add "open in code view" default option for keyboards (I4751)
  • Double-click on message does not find source line since build 500 (I4765)
  • EthnologueCode system store does not correlate to control on first page of wizard for messages (I4766)
  • Keyboard debugger does not always activate profile correctly (I4767)
  • Opening a keyboard externally can open it multiple times (I4749)
  • KeymanWeb key is no longer required for debugger in Keyman Developer (I4768)
  • Keyman Developer missing keymanweb-osk.ttf from layoutbuilder install (I4747)
  • Command line package compiler should trap exceptions and report rather than crashing (I4769)
  • Product compiler does not create output path if required (I4756)
  • Add "open in code view" default option for keyboards (I4751)
  • If kmcmpdll.dll does not exist in debug path, try default paths (I4770)
  • Update regressiontest app for Engine and Developer 9.0 (I4771)

9.0.508 stable

  • Fixed: Project files need to build package installers (I4734)
  • Added: Clean and Build single file commands to project (I4735)
  • Fixed: Product files don't include version in output filename in project (I4736)
  • Fixed: Clean package should also clean installer (I4737)
  • Fixed: Product compiler crashes with stack overflow in build 507 (I4738)
  • Fixed: Don't show "keep in touch" for non-keyman products (I4740)
  • Fixed: Package installer compiler references wrong path for compiled package file (I4741)
  • Fixed: Product compiler does not save .msi or .pxx into project output folder (I4743)
  • Fixed: Keyman Developer 9.0 fails to upgrade from Developer 8.0 cleanly (I4744)

9.0.505 stable

  • Fixed: Crash when developer tries Upload to Tavultesoft and internet connection is down [CrashID:tike.exe_9.0.504.0_0068E2DC_ESOAPHTTPException] (I4726)
  • Fixed: Changing font while touch layout editor in Code mode results in broken \ rules (I4727)
  • Fixed: Saving a keyboard with a locked feature file causes Developer to crash [CrashID:tike.exe_9.0.504.0_0045876A_EFCreateError] (I4728)
  • Fixed: If you attempt to load a non-XML file as a project, it silently fails and overwrites the file (I4729)
  • Fixed: Loading a kvk file in a keyboard, where content is invalid, crashes developer [CrashID:tike.exe_9.0.504.0_0078D23F_EVisualKeyboardLoader] (I4730)

9.0.504 stable

  • Fixed: Project display crashes if project render output file is locked [CrashID:tike.exe_9.0.489.0_0045876A_EFCreateError] (I4654)
  • Fixed: Developer crashes when changing font settings and in code view for touch layout if not on first line [CrashID:tike.exe_9.0.487.0_0069BE51_ERangeError] (I4655)
  • Fixed: Loading a non-project file as a project crashes Developer [CrashID:tike.exe_9.0.497.0_00813E09_EProjectLoader] (I4703)
  • Fixed: Compiling a standalone keyboard crashes Developer [CrashID:tike.exe_9.0.503.0_00A4316C_EAccessViolation] (I4720)
  • Fixed: Developer crashes if a file is in use and a reload is attempted (I4721)
  • Fixed: Keyboard uploads fail due to incorrect server name (I4722)
  • Fixed: Switching from source tab to design tab in layout fails to refresh the layout (I4723)
  • Fixed: Compiler generates warnings for JSON files if output path is source path (I4724)

9.0.502 stable

  • Project no longer crashes if file parameters change during build (I4710)
  • Closing a modified package no longer crashes Developer (I4708)

9.0.501 stable

  • kmcomp no longer modifies project files during a build (I4709)

9.0.500 stable

  • Add silent and warning-as-error parameters to kmcomp (I4706)
  • Add clean target to kmcomp (I4707)

9.0.499 stable

  • Add KeymanDeveloperPath environment variable to installer (I4705)

9.0.498 stable

  • Project files should be formatted XML (I4704)

9.0.497 stable

  • section should be in project .user file (I4700)
  • If version is not specified in keyboard file, it gets blank instead of 1.0 in kmcomp .kpj (I4701)
  • Package actions crash if package not part of a project [CrashID:tike.exe_9.0.496.0_008033BD_EAccessViolation] (I4702)

9.0.496 stable

  • Remove VCL dependency for mrulist (I4697)
  • Split project and user preferences files (I4698)
  • Compile .kpj files from kmcomp (I4699)
  • Split UI actions from non-UI actions in projects (I4694)
  • Debugger needs to use project file filename not internal name (I4695)
  • Refactor compile into project file action (I4686)
  • Split project UI actions into separate classes (I4687)
  • Add build path to project settings (I4688)
  • Redesign package editor as left tabbed (I4689)
  • Pull keyboard version into package version when adding a keyboard (I4690)
  • Always save project automatically (I4691)
  • Add Clean as project action (I4692)
  • Fix crash when creating left tabbed page control without images (I4693)

9.0.495 stable

  • Move Developer help to online only (I4677)
  • Fixup Ctrl+PgUp, Ctrl+PgDn, Alt+Left, Alt+Right hotkeys (I4678)
  • Remember focus for active editor when swapping editors (I4679)
  • Ctrl+S often activates the "select key" dialog in editor (I4680)
  • mnemoniclayout store should be enough to block design view (I4681)
  • Installing a keyboard with an OSK from Developer fails to install the OSK (I4682)

9.0.489 stable

  • WiX file generator in Keyman Developer was failing due to security (I4643)

9.0.488 stable

  • Debug host keyboard did not correctly map through some Keyman keyboard keys (I4156)

9.0.485 stable

  • Keyman Developer failed to import kvk xml file (I4619)

9.0.484 stable

  • context statement in output could fail in some situations in KeymanWeb compiler (I4611)

9.0.476 stable

  • The text editor in the keyboard wizard is no longer blanked in some circumstances when switching tabs (I4557)
  • Keyboard parser no longer forces keyboard version to 9.0 (I4558)
  • Debugger development - disable debug tip when stopping debugging (I4331)

9.0.475 stable

  • JSON search needs to do cleanname on the keyboard filename to find candidates (I4508)

9.0.474 stable

  • Consolidate the compile action into single command (I4504)
  • Add JSON metadata editor to keyboard wizard (I4505)
  • Add command to send email with targets (I4506)
  • Move tab close button onto tabs (I4507)

9.0.473 stable

  • Add kmw_embedcss to feature support in Developer (I4369)
  • Tab and Dismiss keys have been removed from touch templates (I4475)
  • Added source version of KMW to Keyman Developer (I4476)

9.0.472 stable

  • The dismiss keyboard and tab buttons should not be required by Keyman Developer now (I4447)
  • Sometimes when saving, the list of &WINDOWSLANGUAGES is doubled (I4329)
  • Standard fonts should not be downloaded to devices in test window (I4448)
  • Font CSS responds as ISO-8859-1 instead of UTF-8 (I4449)
  • Layout Builder is missing OSK special keys font in some situations (I4450)
  • Touch layout editor polish (I4330)

9.0.471 stable

  • JSON hosting for installing keyboard into native app has wrong extension (I4437)
  • Keyboard debugger does not show button control in desktop mode (I4438)
  • If more than one language listed for a keyboard, the JSON file becomes invalid (I4440)

9.0.469 stable

  • Download Keyboard dialog does not display correctly (I4414)
  • OSK does not show underlying characters if base keyboard is not loaded (I4415)

9.0.467 stable

  • Manual Activate dialog is misformatted (I4408)
  • Wrong font selected in keyboard debugger touch layout (I4409)
  • Metrics should be visible in touch layout editor (I4410)
  • Character map allows Ctrl+Click to insert character (I4411)
  • Wrong font selected in keyboard debugger touch layout (I4409)

9.0.463 stable

  • Line number comments are no longer incorrectly added to non-debug builds (I4384)

9.0.460 stable

  • Web and touch keyboards now support custom stylesheets with &kmw_embedcss (I4368)
  • Line number comments are now included in generated Javascript when compiling with debug (I4373)

9.0.458 stable

  • Added: Require Windows 7 or later for install (I4313)

9.0.454 stable

  • Fixed: Compiling a product installer failed with xsl security error (I3734)

9.0.453 stable

  • Fixed: Clicking Remove Feature when no feature selected crashes [CrashID:tike.exe_9.0.449.0_00987F63_EAccessViolation] (I4247)

9.0.452 stable

  • Fixed: File format dropdown should be disabled in project view (I3733)
  • Fixed: Crash opening project in read-only location [CrashID:tike.exe_9.0.443.0_005E202D_EOleException] (I4212)
  • Added: Added BCP-47 language codes to unicodedata (I4257)
  • Fixed: Keyboard font dialog crashed if in text editor view (I4258)
  • Added: Generate a .json file when compiling keyboard for web (I4259)
  • Added: Add link to install keyboard file into native app into debug web (I4260)
  • Added: Build 357 of KeymanWeb into Developer (I4261)
  • Fixed: Compile to web and test fails when keyboard version is not 1.0 (I4263)
  • Fixed: If Keyman Developer is running, double clicking a file in Explorer doesn't open it (I4264)

9.0.449 stable

  • Keyboard wizard crashes with missing template-default.js when adding Touch Layout (I4226)

9.0.448 stable

  • Manifests missing or malformed in some executables (I4205)
  • Block U_0000-U_001F and U_0080-U_009F in layout files (I4198)
  • adding a subkey array generates an invalid "?" id (I4213)
  • template-default should be called template-latin (I4217)
  • Activate/Purchase dialogs are incomplete and the Buy Modules button doesn't work (I4090)

9.0.447 stable

  • Add Windows compatibility values to all manifests (I4194)

9.0.443 stable

  • Need keyboard version control in Keyman Developer Wizard (I4157)
  • Keyboardversion is not compiled into kmw js (I4155)
  • keyboardversion is not read by KeymanWeb compiler and applied to filename. (I4154)

9.0.442 stable

  • Edit platform button still in editor even though it does nothing (Bug) (I4126)
  • OSK Import KMX breaks some shift states (Bug) (I4127)
  • Edit Platform dialog is deleted but button is still there in touch layout editor (Bug) (I4129)
  • Build php help files to help.keyman.com (Tweak) (I4135)
  • Add keyboard version information to Keyman Configuration (Tweak) (I4136)
  • Don't prompt to sort out L/R shift on save of keyboard (Bug) (I4137)
  • If the KVK is removed from the keyboard, it can still be imported into the touch layout until the file is closed (Bug) (I4138)
  • Compress layout file when compiling to KMW (Tweak) (I4139)
  • Add keyboard version information to keyboards (Develop) (I4140)
  • Warn when unusable key ids are used (Develop) (I4141)
  • Validate key ids are in an acceptable format (Develop) (I4142)
  • Support modifier layers of KVK when importing a KMX (Bug) (I4143)
  • When character is dropped or double-clicked to insert into html text field, no modified event is triggered (Bug) (I4144)
  • Deadkeys are corrupted by KeyboardParser (Bug) (I4145)
  • When importing OSK into touch layout, unused layers are populated with base layer (Bug) (I4146)
  • If a touch layout is added to a keyboard, it doesn't get saved until the tab is visited (Bug) (I4147)
  • Touch layout editor is missing a number of standard key names (Bug) (I4148)
  • If a touch layout key has no id, the builder fails to load the json (Bug) (I4149)
  • Double clicking on a key should activate its 'nextlayer' in touch layout editor (Tweak) (I4150)
  • key id is not saved until field is blurred in touch layout editor (Bug) (I4151)
  • Resizing a key with the grab handle causes other keys to overlap during the resize operation (Bug) (I4152)
  • Pressing and releasing Ctrl in touch layout editor should allow selection of standard keys a-la layout editor (Tweak) (I4153)

9.0.441 stable

  • Double-click on Character Map when in Touch Layout Editor crashes TIKE (I4110)
  • Double-click in char map when no input element focused in touch layout editor crashes TIKE (I4111)
  • Installer links should be to keyman.com (I4115)
  • KMW compiler should warn when extended shift flags are used (I4118)
  • KMW compiler should only warn unassociated keys that are not special keys (I4119)
  • Remove platform properties from touch layout editor as font details are now accessible via Keyboard|Font menu (I4120)
  • Rename 'subkey' to 'touch+hold popup' (I4121)
  • traditional touch template has K_SEMICOLON and K_SQUOTE wrongly named key ids (I4122)
  • Keyman Developer installer should required Vista or later (I4123)

9.0.440 stable

  • Keyman Developer installer icon is still v8.0 style (I4100)
  • Touch layout editor still has the font options in its Edit Platform dialog (I4091)

9.0.439 stable

  • Trace compile errors in subfiles in Keyman Developer (I4081)
  • Make details tab scrollable with mouse wheel (I4082)
  • When errors encountered in JSON layout file, locate the error in the source view (I4083)
  • Remove old font selection controls from wizard (I4085)
  • About should be version 9.0 style (I4086)
  • Splash should be version 9.0 style (I4084)
  • KeymanWeb compiler does not clear messages before starting (I4087)

9.0.438 stable

  • Keyman Developer Keyboard Font dialog helpful to reduce font confusion (I4057)
  • Touch Layout Import OSK fails with weird error if OSK is missing (I4058)
  • If OSK is not saved, then changes do not flow through in Touch Layout Import (I4059)
  • KeymanWeb compiler should validate the layout file (I4060)
  • KeymanWeb compiler needs defined codes for some errors (I4061)
  • Touch Layout platforms do not allow font size specification (I4062)
  • Web Debugger needs to embed fonts for OSK and text area (I4063)
  • Touch layout editor does not apply fonts consistently to keys (I4064)
  • Deleting a touch layout layer leaves a "null" entry in the layout file (I4065)

9.0.437 stable

  • Layout editor needs to refresh character map (I4046)
  • TIKE shows an error if you try to save before viewing the touch layout tab (I4047)
  • Various fixes and features for touch layout editor: (I4049)
    • Deselecting main key does not disable subkey or clear other controls
    • Drag+drop not sticking
    • Drag+drop not allowing drop at end
    • Key height not right
    • Not showing editor in line for key
    • Not showing key code on key
    • No wedges showing
    • No delete icon showing
    • Deselecting does not disable controls
    • If inserting or removing key padding, the key display does not refresh correctly
    • 'Label:' label should be removed
    • Key id does not update on keyboard view when changed
  • Character map does not show currently selected char from keyboard view (I4049)
  • Button UI not displaying in KMDev KMW test window (I4048)

9.0.436 stable

  • Add support for Redo to Keyman Developer actions (I4032)
  • Enable SHIFT+ESC to pause debugger with TSF (I4033)
  • Restructure keyboard wizard for source views and features (I4034)
  • Parsing of UTF-8 in JSON layout file crashes TIKE (I4035)
  • Keyboard Debug HTTP Host should be thread safe (I4036)
  • Keyboard HTTP debugger sometimes caches old keyboards (I4037)

9.0.434 stable

  • Redesign Keyboard Wizard to integrate V9 features (I4021)
  • Rework Import KMX to work with V9.0 Debug Host Keyboard (I4022)
  • Touch Layout Editor crashes with file in use sometimes (I4023)
  • Installer is missing jquery support files for Configuration UI (I4011)

Legacy "What's New" sections

8.0.0 stable

Fully integrated source editors

  • Changes to source are instantly reflected in the Design Editor and vice-versa
  • Keyboard, Package and Distribution editors all have Source tabs
  • On Screen Keyboard Editor integrated into Keyboard Editor
  • Keyboard, Package and Distribution editors feature integrated upload to Tavultesoft

Much improved character map

  • Displays all characters from Unicode 5.0
  • Filter characters by range, name, font and more
  • Exceptionally clear display with ClearType and font linking
  • Resizeable character cells

Tightly integrated project

  • Project provides a clear step-by-step process for developing keyboard solutions
  • Links in the project take you to tutorials, help, and more

User Interface Redesign

  • Much clearer user interface - every screen revisited and polished

Language Changes

  • 'notany' Statement - provides the opposite of the 'any' statement
  • Maximum store or rule length now 4095 characters, up from 255
  • New system stores for KeymanWeb and On Screen Keyboard links

Keyboard Icons

  • Keyboard icons support 256 colour and transparency

Tutorials

  • New tutorials for Packages, Branding and Distribution

KeymanWeb Pack

  • KeymanWeb compiler and design tools integrated into Keyboard Editor
  • KeymanWeb keyboard test window

Branding Pack

  • Create your own product using the Branding Pack and the Keyman Engine
  • Fully customisable user interface for your product with Branding Editor
  • Distribution Editor to create a Windows Installer .msi for your product
  • Customer Relationship Manager
    • manage your customers and their licences from your desktop
    • fully integrated with the Tavultesoft Online Store
  • Simple integration of your product into Tavultesoft Online Store for instant online sales
  • Integration with WiX provides modern installation techniques for product installers
  • Keyman Engine separated from Keyman Desktop to enable straightforward use in your own product

Modern installation and operating system support

  • Modern Windows Installer for straightforward deployment
  • Windows Vista support
  • Unicode support throughout Keyman Developer
  • Automated online updates