Release v0.6.48: chat language profiles and tabbed settings

This commit is contained in:
agrynco committed 2026-11-05 23:25:33 +02:00
1 parent e33387c2d5
commit 4e7a683c47
20 files changed
+729 -70

No files matched your search

Binary file not shown.
+8 -7
View File
@@ -1,21 +1,22 @@
# Latest Windows release
## v0.6.47 — 2026-11-05
## v0.6.48 — 2026-11-05
## Changes
- Custom auto-correction replacements now accept several words on the correction side, for example `мамамила=мама мила`. The source remains a single word of 1–32 letters; the correction supports up to 32 characters including single spaces between words, in the same supported language.
- Preserve initial capitalization, surrounding punctuation, the current layout and Undo when splitting joined words. Subsequent typing is preserved. Updated validation messages and the options hint explain support for spaces.
- Enable **Automatic correction (experimental)** and **Use custom replacements**, enter one `typo=correction` pair per line, then click **OK → Save**. Existing language, minimum-length and exclusion settings still apply; defaults are unchanged.
- Retain bundled StayHere and all earlier fixes. The tray menu remains **Utilities → StayHere**.
- Add manually configured language subsets for Telegram Desktop and Microsoft Teams chats. Open **Settings → Languages → Languages for a chat...**, choose a chat and one or more languages, then **Use languages → Save**.
- Apply the matching profile to **Alt+Shift**, **Win+Space**, reverse **Win+Shift+Space**, and KSwitcher's **Next layout** conversion. Explicit shortcut bindings take precedence. Without a matching profile, normal Windows behavior and the global KSwitcher cycle remain available. Direct layout shortcuts retain their targets.
- Match the application and visible chat name; ignore Telegram unread badges. Same-name chats share a profile, renamed chats need a new one, and Teams currently supports `Chat | name | Microsoft Teams` desktop titles. Profiles are local, included in manual export/import and excluded from OpenBao sync. Viber is not included.
- Organize Settings into **General, Languages, Shortcuts, Clipboard and Tools** tabs. Remove overlapping controls, reduce the window height and preserve drafts across tabs. Save, Cancel, Import and Export remain available on every tab; existing preferences and shortcut defaults are preserved.
- Rename the tray **Utilities** menu to **Tools**. Keep bundled StayHere and the v0.6.47 multi-word replacement behavior.
## Validation
Passed 332 native regression checks, 574 input/settings checks and focused auto-correction integration checks, including phrase replacement, capitalization/punctuation, Undo and immediate subsequent typing. Also passed 105 synchronization checks and 54 updater regression checks. Release binaries, package manifest and SHA-256 checksums are verified; published assets are read back before completion.
Passed 653 chat-profile/UI checks (including visible-control overlap checks on all five tabs), 332 native checks, 564 input checks, 105 sync checks, complete dictionary equivalence (140,939 words), shared wheel regressions, isolated StayHere lifecycle and Utilities checks, screenshot UI/save/registration checks, 54 updater checks and updater progress UI checks. Development visual checks covered the five tabs at 250% scaling; the release fixture also passed at 100%. Release binary versions, archive contents, manifest hashes and published downloads are verified as part of publication.
## Upgrade
Choose **Update** in the tray menu. Legacy v0.3.0–v0.4.1 clients first receive the v0.4.2 compatibility bridge, then the current full release. v0.2.3 and earlier require manual installation.
For manual installation, exit KSwitcher, close its configurator and screenshot editors, and extract the entire ZIP into its installation folder. Keep personal `data/`, customized dictionaries and your own tools. Keep the three KSwitcher executables together; StayHere runs independently.
When synchronizing phrase replacements across PCs, update each participating PC to v0.6.47 or newer: older versions reject spaces in replacement pairs.
When synchronizing phrase replacements across PCs, update each participating PC to v0.6.47 or newer: older versions reject spaces in replacement pairs. Chat language profiles do not synchronize.
Download **KSwitcher-win-x64.zip** with **SHA256SUMS.txt**. The package contains no personal settings, credentials or clipboard history.
+1 -1
View File
@@ -1 +1 @@
c15371f89ea86410267d96c909739b44c207cd76256cd29dc7b5f40b04ac7ffb KSwitcher-win-x64.zip
8c6cd9d5f531e5492ef320f1861ba5e84b5631fa7bac42aa97b2c006fe0abc7c KSwitcher-win-x64.zip
+81
View File
@@ -0,0 +1,81 @@
{
"version": "0.6.48",
"files": [
{
"sha256": "386b85b62ada4cfea1bd379246e91a3b4976dc37e7e625483821724b58ca4bd5",
"path": "KSwitcher.exe",
"size": 1833984
},
{
"sha256": "b47864f6dc7653af9b882403a0316fa48ab258d7ee667715a70d4511ca6d1abd",
"path": "KSwitcher.Config.exe",
"size": 1697792
},
{
"sha256": "1dce2939a245370d09ef9e80202027a5b88b9f7e6aac0314dd1b5a62e53c4363",
"path": "KSwitcher.Screenshot.exe",
"size": 2885120
},
{
"sha256": "d3c81140cce01c26bf6cbf52aa40e0825e1fa35b9a91d1387170a65d2597082c",
"path": "LICENSE",
"size": 4401
},
{
"sha256": "61e08da79c44061654015ce6b0c4061c23ee1dd18237fbf09e9bfda3c0ea2831",
"path": "json-LICENSE.txt",
"size": 1096
},
{
"sha256": "a3266c023b5705ad1d14506cc39cc6548d20531878c17804a659cabbb7bbf56b",
"path": "README.md",
"size": 68424
},
{
"sha256": "d0c022b27b9fbc2ff7b6b8bec723cc1adc4eef517202f9ff77eed5d8bea3acb9",
"path": "dictionaries/en.txt",
"size": 732485
},
{
"sha256": "0bdfb0201d1803634f268cdff0993b8349d2c70e956a06dbb667c8dd65254ec5",
"path": "dictionaries/LICENSE-CC-BY-SA-4.0.txt",
"size": 20566
},
{
"sha256": "3017bf44d3be9d9dfab21bd6778aa52b7947e61acf9ce2bc86b41d6e949ac311",
"path": "dictionaries/README.md",
"size": 2265
},
{
"sha256": "80e6b6a27815973535f7facb636c597eb845dfee45cfabfc4e9b3341b9332849",
"path": "dictionaries/ru.txt",
"size": 1109134
},
{
"sha256": "98e5b3fe7304e37705c9e5ff48b0b399ccb16e806736d21f09921b99e5f2a408",
"path": "dictionaries/sources.json",
"size": 1280
},
{
"sha256": "d30e990d6ec2983c04f3644a3c61c6c668e8c542323f5931916fdd55b916eebf",
"path": "dictionaries/uk.txt",
"size": 940799
},
{
"sha256": "a34b5161a8315af037e1ec71d816bfc688f7c364141d4ee2347cf0515ef0c82a",
"path": "tools/README.txt",
"size": 993
},
{
"sha256": "6ef5cf64708d62b7fc63c3c793cc99188a513433ff4774cae01dc014f6664376",
"path": "tools/StayHere.exe",
"size": 134656
},
{
"sha256": "ba214e2aca7405e698b3ab21ceb1f41ce088edd996b3e30e4a9d58ff496f9413",
"path": "tools/StayHere-README.md",
"size": 2796
}
],
"schema": 1
}