Skip to content

v0.9.5 — maintenance: IronRDP pin bump + divergence shrink

Choose a tag to compare

@github-actions github-actions released this 09 Aug 14:26
· 84 commits to main since this release

Maintenance: IronRDP pin bump + vendored-divergence shrink

A dependency-maintenance release. No user-facing behavior change — the default runtime path is functionally unchanged. It brings macrdp current with upstream IronRDP and retires vendored divergence rather than adding it.

What changed

The IronRDP dependency pin was bumped 879ffed8 → a5d1c682 (133 upstream commits); two vendored forks and one divergence were retired.

  • ironrdp-rdpeusb fork retired. Its lenient USB-3 caps decode landed upstream, so the crate is now the plain a5d1c682 git dependency. The USB URBDRC server (src/rdpeusb.rs) was ported to a5d1c682's split control/device PDUs — and the mstsc Xbox-controller USB redirect is live-verified on the bumped build, proving the hard-won mstsc-strict interop fixes survived the port.
  • ironrdp-async vendor dropped. This was the v0.9.4 hotfix guard for the pre-auth framing DoS; a5d1c682 already carries upstream Devolutions/IronRDP#1515's find_size hardening, so that framing DoS is now fixed upstream in the pin, not by a local vendor.
  • QOI divergence harvested (upstream always-Rgb: Devolutions/IronRDP#1335 + Devolutions/IronRDP#1341).
  • Absorbed into src/: honor-client-desktop-size, rdpsnd format selection (Devolutions/IronRDP#1359 — the crate now owns it, so macrdp's local choose_audio_format divergence is gone), and the egfx frame-ack signature (Devolutions/IronRDP#1345).

Net: −2 vendored forks, −1 divergence. vendor/ now holds 5 forks (acceptor, dvc, rdpdr, rdpeudp, server).

Verification

  • End-to-end on FreeRDP (CredSSP/audit, rdpsnd AAC, EGFX H.264) and mstsc (USB redirection).
  • The four in-tree abuse-fuzz harnesses, including the find_size decoder fuzz that motivated v0.9.4 and a new UDP-multitransport fuzz.
  • Soaked 27.4 h on a Mac mini before landing — 0 panics, 0 restarts, RSS bounded — alongside the full adversarial abuse suite. Details: docs/pin-bump-soak-results.md.

Landed via #178.

Artifacts

  • macrdp-v0.9.5-aarch64-apple-darwin-app.zip — the macrdp.app bundle (Apple Silicon). Ad-hoc signed, so on first launch right-click → Open to get past Gatekeeper (or build a locally-notarized bundle with packaging/make-app.sh + a Developer ID). Includes the smart-card IFD handler and the HUD/shield helpers.
  • macrdp-v0.9.5-aarch64-apple-darwin.tar.gz — the bare macrdp binary.
  • SHA256SUMS — checksums for both.

Verify a download: shasum -a 256 -c SHA256SUMS.

Full narrative notes for every release: docs/release-history.md.

Full Changelog: v0.9.4...v0.9.5