2.1.4.2340
Highlights π
-
π Faster, more reliable reconnection
This release focuses on the connection between your devices. When you
switch Wi-Fi networks, your network address changes, or your computer
wakes from sleep, CrossPaste now rediscovers your other devices and
reconnects much faster β no more being stuck "offline" for a long
time. Even when a device's IP address changes, it reconnects reliably
(#4506 #4510 #4515 #4519 #4521 #4527 #4529). -
π In-app changelog and upgrade reminder
You can now see what each update brings right inside the app. When a
new version is available, a small dot appears in the left menu to
remind you to upgrade (#4525). -
β¬οΈ Windows (portable zip): update from within the app
The Windows portable (zip) build can now update itself. When a new
version is available, CrossPaste downloads and verifies it, then swaps
in the new build and restarts β no more manually downloading and
extracting a fresh zip (#4537). -
π±οΈ Fixed an endless paste loop
Fixed an issue where pressing Cmd/Ctrl+V could trigger an endless
paste loop in some situations. Pasting is now more reliable (#4501
#4502). -
β¨ Smoother device list
The device list no longer flickers while re-checking offline devices,
so it stays steady (#4508).
Bug Fixes π
- π Gate
/sync/telnetaddress-push to already-paired peers (#4529) - π Harden network discovery: non-blocking mDNS teardown, debounced rebuild, offline gate (#4515)
- π Stop device list flicker when re-probing offline devices (#4508)
- π Decouple device identity from IP for reliable reconnection (#4506)
- π Suppress shortcut recognition during simulated paste (#4502)
- π Stop swallowing CancellationException in sync resolve loop (#4504)
- π Prevent infinite paste loop from Cmd+V shortcut binding (#4501)
- π Round drag preview corners on web paste cards (#4485)
- π Fix CLI native build after
appInstanceIdmoved out ofAppConfig(#4482)
New Features β¨
- β¨ In-app self-update for the Windows portable-zip distribution (#4537)
- β¨ Discovery-driven fast reconnect for paired peers (#4527)
- β¨ In-app What's New changelog screen with upgrade badge (#4525)
- β¨ Push subnet-matched address on steady-state heartbeat (#4521)
- β¨ Push subnet-matched address on
/sync/telnetto cut mDNS reconnection latency (#4519) - β¨ Self-heal mDNS discovery on OS network changes (#4510)
Multiplatform Β· Refactor Β· Code Style π¨
- π¨ Remove Jewel dependency in favor of native Compose Window (#4489)
- π¨ Reduce SyncResolver connection-polling log noise (#4523)
Build & CI π·
- π· Regenerate web version and translation artifacts (#4487)
- π· Upgrade GitHub Actions to Node.js 24 runtime (#4480)
Documentation π
- π Default to Chinese for developer interaction in CLAUDE.md (#4512)
Dependencies β¬οΈ
- β¬οΈ composenativetray-jvm bump (#4535)
- β¬οΈ logback-classic 1.5.32 β 1.5.34 (#4497 #4534)
- β¬οΈ web build deps rollup / postcss security bump (#4533)
- β¬οΈ Kotlin 2.3.21 β 2.4.0 (#4513)
- β¬οΈ Compose Multiplatform 1.11.0 β 1.11.1 (#4511)
- β¬οΈ MCP Kotlin SDK Server bump (#4517)
- β¬οΈ JNA 5.18.1 β 5.19.0 (#4516)
- β¬οΈ ph-css 8.1.1 β 8.2.1 (#4498)
- β¬οΈ Gradle Wrapper 9.5.0 β 9.5.1 (#4491)
- β¬οΈ kotlin-logging 8.0.03 β 8.0.4 (#4492)
- β¬οΈ MockK 1.14.9 β 1.14.11 (#4493)
- β¬οΈ Caffeine bump (#4494)
- β¬οΈ atomicfu 0.32.1 β 0.33.0 (#4495)
Full Changelog: 2.1.3.2297...2.1.4.2340