Skip to content

rustclipsync-core 0.4.0

Latest

Choose a tag to compare

@Infinifar Infinifar released this 02 Nov 16:42
· 2 commits to main since this release

rustclipsync-core 0.4.0

This is a breaking Rust API and wire-protocol upgrade. Use RustClipSync Server
3.0.0, Desktop 0.5.0 or Omaclipsync 0.4.0 together. Older clients require server
2.0.0. Mobile applications and Fcitx input methods are released separately.

  • Add protocol-3 device direction reports, separate pause state, WebSocket ACKs,
    authenticated HTTP fallback and fenced session/version negotiation.
  • Receive only authorized per-device deliveries; reconnect backfill is the last
    eligible message within the server's configured window. Do not hardcode it.
  • Add background receive APIs without reading clipboard snapshots; writes remain
    explicit opt-ins, and sensitive-content policy remains enforced.
  • Keep ordinary receives working after marked-sensitive synchronization is disabled.
  • Add opt-in durable conflict cancellation/skip recovery and detection of legacy
    outboxes before receive. Preserve local clipboard and reject stale retries;
    hosts retain responsibility for choosing recovery policy and fencing events.
  • Preserve existing device identities and RCS1 encrypted state. Older state
    defaults the recovery marker to false. Rust API additions and required transport
    methods are a pre-1.0 minor API break; endpoint prefix remains /api/.

Validation: 68 Rust tests, rustfmt, strict Clippy, rustdoc, and actual core/server
HTTPS interoperability with real WSS and forced HTTP fallback. Consumer native
acceptance is documented in the respective repositories. This release is source
on GitHub; the crate is not published to crates.io.