Changelogerkandogan/crossedge

crossedge

v0.10.3

Fixes Windows capture dropping input synthesized by other software

Improvements

  • Adjust macOS capture and inject handling to align with the updated input synthesis logic

  • Extend the shared protocol types to support distinguishing synthesized input sources

Fixes

  • Stop discarding input events on Windows that were synthesized by other software

    Previously, input generated by other applications (e.g. macros, automation tools, or other injection software) could be silently ignored during capture on Windows, causing missed input. This is now correctly captured and forwarded.

Other

  • Bump internal crate dependency versions

v0.10.2

Fixes Linux touchpads not being detected during capture

Fixes

  • Fixed Linux touchpads not being captured, which previously made them invisible to crossedge

    Users on Linux with touchpads can now have their input devices properly detected and captured by crossedge.

v0.10.1

Adds edge pressure detection, reconnect visibility, and source-swap feedback

Features

  • Add edge pressure detection so holding the cursor against a screen edge can trigger crossing actions

    Introduces a new focus-tracking mechanism that recognizes sustained pressure at a screen edge, enabling more reliable edge-triggered behavior for users moving between machines.

  • Show reconnect status in the web UI when a connection drops and comes back

  • Add visual feedback in the UI when the active input source is swapped

Other

  • Document new protocol fields related to edge pressure and reconnect/source-swap events

  • Trialed moving Linux CI jobs to a self-hosted Oracle runner, then reverted the change

v0.10.0

Added a single command to swap which machine's keyboard/mouse leads the desk

Features

  • Add a one-command switch to change which machine's keyboard and mouse control the shared desk

    Users can now hand off control of the desk between connected machines with a single command instead of manual reconfiguration, accessible via CLI and the web UI.

Improvements

  • Extend the protocol to support desk-lead switching messages

  • Add driver support for handling desk-lead swap requests

  • Add a control in the web UI to trigger the keyboard/mouse swap

  • Add a CLI command to trigger the desk-lead swap

Other

  • Add test coverage for the new desk swap behavior over QUIC

  • Update protocol documentation to reflect the new swap command

  • Bump dependency versions in Cargo.toml/Cargo.lock

v0.9.0

crossedge v0.9.0 adds multi-path peer connections with automatic failover

Features

  • Added multi-path peer connectivity with automatic failover between network addresses

    The desk can now maintain connectivity across multiple network paths (e.g. when a VPN interface appears or disappears) by tracking multiple candidate addresses per peer and failing over automatically, reducing dropped connections.

Improvements

  • Extended the wire protocol to carry multiple addresses per peer for failover support

  • Updated the address store and endpoint logic to select and switch between known peer addresses

  • Added CLI and driver support for configuring multi-path address handling

  • Expanded QUIC desk integration tests to cover multi-path failover scenarios

  • Documented the multi-address protocol changes

Fixes

  • Cleaned up formatting of the stop message text wrap

v0.8.5

Adds crossedged stop/start commands and fixes installer certificate detection

Features

  • Added `crossedged stop` and `crossedged start` CLI commands to control the service

    Users can now start and stop the crossedged service directly from the CLI without needing separate system service commands.

Fixes

  • Fixed the installer failing to detect self-signed code-signing identities by removing the `-v` flag from `find-identity`

v0.8.4

Fixed macOS permissions being reset after app updates via local signing identity

Fixes

  • Fixed macOS app permissions being reset after updates by using a stable local signing identity

    Previously, updating the app on macOS could cause the system to treat it as a new app, forcing users to re-grant permissions (like accessibility or file access). Signing with a consistent local identity keeps those permissions intact across updates.

Other

  • Updated the install script to support the new local signing identity setup on macOS

  • Bumped project version and dependency lockfile

v0.8.3

Clarifies macOS warning message for stale permission grants

Fixes

  • Improved the macOS warning message to explicitly name the stale-grant trap it refers to, making the issue easier to diagnose.

v0.8.2

macOS permissions now self-heal automatically

Features

  • Added self-healing permission handling for macOS, automatically detecting and repairing revoked capture and input permissions.

    Previously, if macOS revoked accessibility or screen recording permissions, users had to manually re-grant them and restart the app. Crossedge now detects this and attempts to fix permissions automatically, reducing interruptions.

Improvements

  • Updated the macOS driver and service layer to monitor and recover permission state.

  • Surfaced permission status information in the web UI.

v0.8.1

Panel now shows ghost cards for unseen machines; camera/mic sharing design documented.

Fixes

  • Fixed the panel to show placeholder ghost cards for machines that have never been seen, instead of showing nothing at all.

    Machines that hadn't yet reported in were previously invisible in the panel, making it look like they didn't exist. They now appear as ghost cards so users know they're pending.

Other

  • Added a design document outlining camera and microphone sharing plans.

  • Bumped project dependency versions in Cargo.lock and Cargo.toml.

v0.8.0

Plugin API lands — events and messages across the mesh, plus docs and site updates.

Features

  • Introduce a plugin API for hooking into events and sending messages across the mesh.

    Developers can now build plugins that react to CrossEdge events and exchange messages with other nodes on the mesh, opening the platform up to extensions.

Other

  • Add architecture documentation describing how the system's components fit together.

  • Add plugin API documentation covering events and messaging.

  • Rewrite README to catch up with the current state of the product.

  • Expand protocol documentation to reflect new plugin-related messages.

  • Add a real screenshot of the panel to the landing page.

  • Update site copy to reflect already-shipped self-update and macOS tray features.

  • Add integration tests covering the QUIC desk driver.

  • Bump dependency versions and minor CI release workflow tweak.

v0.7.0

Add machine renaming, removal, and per-machine speed testing to CrossEdge desk

Features

  • Add the ability to rename paired machines from the web UI

  • Add the ability to remove paired machines

  • Add a per-machine speed test to measure connection performance to each paired machine

    Users can now check the connection speed to each individual paired machine directly from the desk UI, making it easier to diagnose slow transfers.

Other

  • Extend the pairing service and storage layer to support machine management operations

  • Update dependency versions in Cargo manifests

v0.6.1

Adds a real health-check to the doctor command in crossedged

Features

  • Added a real health-check to the doctor diagnostic command

    The doctor command now performs an actual health-check of the desk/daemon instead of a stub, giving users meaningful diagnostic output.

Other

  • Bumped package version and updated dependency lockfile

Version 0.6.0

  • feat(update,focus): one-click self-update + two-source crossing guard

Version 0.5.2

  • refactor(webui): bundle panel feeds into one struct
  • refactor(webui): PanelFeeds — the five read-only watches travel as one
  • fix(clipboard): stop flashing the GNOME dock — no more per-poll wl-paste

Version 0.5.1

  • feat(bench): crossedged bench — the 8 ms promise, measured

Version 0.5.0

  • feat(macos): the Mac becomes a source — CGEventTap capture
  • release: v0.5.0 — any machine can be the source

Version 0.4.1

  • fix: abort the clipboard poller on soft-restart exits
  • test: tolerate multicast-less CI sandboxes in the discovery test
  • feat(macos,updates): menu-bar tray on the Mac + update notices everywhere
  • fix: enable tokio process feature for the update check on all targets
  • release: v0.4.1 — macOS tray + update notices

Version 0.4.0

  • feat(clipboard): copy here, paste there

Version 0.3.0

  • feat(any-host): Linux capture (evdev) + full Windows injection (SendInput)

Version 0.2.2

  • feat(focus): click a machine on the canvas — your input jumps there

Version 0.2.1

  • feat(mesh): pair once, meet everyone — desk roster gossip

Version 0.2.0

  • feat(pairing): click a machine's name — no IPs, ever

Version 0.1.2

  • fix(boot): a bad saved arrangement can never kill the daemon

Version 0.1.1

  • fix(panel): dragging works — and CrossEdge now lives in the background

Get new entries by email