Repository navigation
v0.36.0 - 203d0dab72f6ef5023421fc64dd847ca2dce1864
·
164 commits
to main
since this release
Immutable
release. Only release title and notes can be modified.
Commits in v0.36.0 (HEAD)
- feat(ws): rsrpc-ws skeleton with config, error and message types (6d9d4f4)
- feat(ws): async server with bounded queues, keepalive and shutdown (6d06911)
- feat(types): rsrpc-types with Arc ids, cmd and user modules (20ee90f)
- feat(protocol): rsrpc-protocol with typed errors and Arc-shared payloads (89f6942)
- feat(types): Box conversions and TimeoutValue accessor (9ce7aaa)
- refactor(lib): re-export types/protocol with Arc payloads and typed errors (ee9fd86)
- feat(transport-ws): game WS transport over rsrpc-ws without map lock contention (1d18abd)
- feat(transport-ipc): async IPC transport with JoinSet lifecycle (ab7248b)
- feat(state): rsrpc-state snapshot slots with caller version (65cfd1e)
- refactor(protocol): canonical query_params shared by transports (a90d444)
- feat(bridge): async activity bridge with dirty-gated snapshots (31b1cac)
- feat(telemetry): rsrpc-telemetry gauges, RSS and census rendering (f61e859)
- feat(proc-events): rsrpc-proc-events watcher with shared gauge sink (fff1fc0)
- feat(steam): rsrpc-steam VDF provider with hermetic tests (69eadde)
- feat(detect): rsrpc-detect database module with bundled snapshot (95ff1f1)
- feat(detect): process scanner split with lock-free generation swaps (d9c1c63)
- feat(core): rsrpc-core daemon wiring with run_until shutdown (4643436)
- feat(cli): thin async CLI over Daemon with tokio signal handling (30aafd6)
- refactor!: remove legacy lib, wire workspace lints and CI paths (43262b4)
- fix(core): move database into scanner instead of cloning and retaining it (8e5139c)
- perf: drop chrono, lazy fallback, inlines, reused IPC frame buffers (ba2daea)
- perf: snapshot slots without deep clone, borrow args map (9e65707)
- perf: carry is_clear on payloads instead of re-parsing (bcbb3b8)
- perf: FxHashMap on u64-keyed hot maps with bench proof (b173331)
- perf: refcounted text payloads, slim subscriber, tuned runtime (8a70ee8)
- fix(ipc): clear presence on protocol-violation close (6bc8dfb)
- fix(bridge): reap dead-pid ghosts from replay on null scan (2d42c76)
- fix(transports): clear every published pid on disconnect, bounded history (4ca6ba9)
- docs: fix private intra-doc link from public cache_entry_pid (9496c98)
- docs: point Unreleased entries at workspace paths, document modularization (ffa2039)
- fix(bridge): resolve replay-cache owner from body pid first (75b8db2)
- fix(bridge): register consumers under resolved protocol (7a8dff6)
- fix: close four reviewer-found correctness gaps (c683bbd)
- fix(detect,steam): guard empty exclusion fetch, decode mount UTF-8 (58b3777)
- fix(ipc): socket-link ownership, reliable presence clears (22ed44b)
- fix(ws,ipc): reap JoinSets, enforce idle on its own deadline (429ba03)
- fix(ipc): unblock connection pumps on unix shutdown (fc4bd06)
- fix: process parity and review nits (9ead738)
- refactor(bridge): split handle_set_activity into focused helpers (127e867)
- refactor(ipc): split handle_stream per-packet arms (2c55e02)
- refactor(bridge): single user-mutex section in handle_bridge_control (599563c)
- refactor(cli): split async_main into focused helpers (1cc2d9e)
- feat: wire resource census hourly and session-boundary emission (9dee156)
- fix: restore cross-platform builds and lint gates (9b9cfd5)
- fix(detect): share one detection generation across server clones (04cd02f)
- fix(ipc): probe errs toward alive after a successful connect (638bd3e)
- fix(transport-ws): bound reply waits so a stalled client cannot freeze the pump (7b603d9)
- fix(ipc): route clean-close clear through the retrying clear path (f6ab963)
- fix(proc-events): count only delivered events as forwarded (8610bea)
- docs(ipc): document the Windows shutdown drain limitation (3a3f7e2)
- docs(readme): make the library examples compile (01a9317)
- fix(bridge): return the unix liveness probe directly (04e627a)
- fix(proc-events): gate netlink-only items to Linux (cff8fa0)
- fix(detect): serialize detection-bundle writers under one lock (58e94e2)
- fix(transport-ws): record publications even when the reply fails (0b4e7ed)
- docs(readme): align the runtime description with current behavior (e2c5591)
- chore(core): drop the unused tokio-util dependency (31e7e49)
- docs(core): correct the scanner channel-bound comment (14cb146)
- docs(detect): finish the ac_probe rustdoc sentence (1679600)
- refactor(steam): remove unused test seams (948230c)
- refactor(protocol)!: decouple the HTTP error from the client (b0369b2)
- docs(readme): drop removed-behavior bullets, complete bench paths (e554719)
- perf(publish): fingerprint first, drop floods before building (cee0efd)
- fix(protocol): stamp application id before fingerprinting (b257006)
- docs(readme): drop the unsupported RSRPC_STATE_FILE bullet (9003659)
- fix(transport-ws): clear evicted pids instead of leaking them (28a111a)
- fix(transport-ws): refuse disallowed origins at connect (bbbc3f8)
- docs(protocol): scope the dependency claim to workspace-internal (34f93a9)
- docs: cover undocumented functions touched by the PR (e430d02)
- fix(transport-ws): retain evicted clears when enqueue fails (0e0f0bd)
- fix(detect,bridge,core): per-slot clears, scan shutdown exit, ignored EXEC hits (a402725)
- fix(detect): allow dead exec_hit_ignored off Linux (cd6e958)
- docs: document every function touched by the PR diff (8454abc)
- fix(transport-ws,ws): cap publications at tracking bound; validate bind bounds (3618b0d)
- fix(detect,bridge): review follow-ups; validators after swap, watcher-gated backoff, single-lock removal (8dd860b)
- fix(ws): bound over-limit rejection backlog; register tasks for shutdown (8cafbb3)
- fix(core): map each connector flag to its command class (142b16f)
- chore(msrv): raise minimum toolchain to 1.95 (4ff4b8a)
- docs(ws): restore slow-consumer doc displaced by bind test (491d71b)
- chore(ci): pin toolchain action to immutable SHA (bb82013)
- fix(ws,transport-ws): reject zero keepalive at bind; drain residue on shutdown (b989297)
- fix(detect): reject empty exe names; unpark scan on watcher failure (7f64ef4)
- fix(ws): cancel handshakes on shutdown; reject zero keepalive at bind (265a9cc)
- fix(bridge): fallible pid_t narrowing; deterministic barrier test (af26859)
- fix(steam): hermetic cache seam for refresh tests (def2702)
- fix(ws): reject zero idle_timeout at bind (d349efe)
- fix(ipc): malformed activity disturbs no presence (414cd58)
- fix(ipc): bind falls through candidate dirs (1529a25)
- docs: precedence wording; symbol citation over line number (fbccb1c)
- fix(bridge): count pruned consumers in raw broadcasts (5253767)
- fix(ipc): drop closes live sockets; cancel before abort (5feba05)
- fix(telemetry,proc-events): bounded watcher backlog with CAS reservation (1fba9bd)
- fix(transport-ws): ordered pending-clear queue with per-clear deadlines (dfb6949)
- fix(detect): normalized match-all guard; unpark dead-code allowance (5157fb3)
- fix(ipc): error reply on malformed activity; disturb no presence (9259930)
- fix(bridge): deterministic raw-broadcast counting test (8c867fc)
- fix(bridge): prune consumer protocol entries with dead consumers (0271714)
- fix(ipc): back off on repeated accept errors (4a77f49)
- fix(bridge): prune consumer protocol entries with dead consumers (741fab2)
- fix(ws,ipc): back off on persistent accept errors (309e764)
- fix(detect,bench): poison-tolerant sweep; pinned flood-drop timestamp (476d289)
- docs: mutable daemon in staged API example (4f8ebe7)
- fix(core): hermetic override paths via explicit environment source (7bb631e)
- fix(ws): server Drop; hub close timeout; zero idle validation (d1ef8da)
- fix(transport-ws): per-clear deadlines; ordered staging; retry worker (cdae401)
- fix(detect): normalized match-all guard; unpark allowance (1f5e6d5)
- fix(ipc): malformed error reply; candidate-dir fallback; minimal tokio-util (1503ef6)
- fix(core,protocol,cli): scan interval validation; WsExhausted wording; misc (86ec39f)
- ci: fix msrv toolchain input; drop Node audit; pin ubuntu 22.04 (22bfa68)
- Merge staging: full workspace modularization + ghost-presence and memory fixes (e12182a)
- fix(detect): deferred post-swap trim and allocator telemetry (97185db)
- perf(detect): reuse per-tick buffers in scan and match paths (78a59d2)
- perf(detect): single-pass automaton build with sized vectors (b7f9d08)
- chore(deps): trim tokio-util to default features (0840f49)
- fix(detect,ws): non-Linux builds and review feedback (d6cab8c)
- test(detect): capacity-gated backing assert; check normalized
/(62fe758) - fix(detect): gate native_at helper to linux test path (29f0f6e)
- style(detect): rustfmt native_at closure onto one line (eec9d73)
- perf(detect): retain high-water Exec slots across smaller sweeps (61aa308)
- Merge PR #2: Fix hourly memory ratchet + per-tick churn (54a85cd)
- docs: release 0.36.0 changelog (21fceba)
- chore: release v0.36.0 (203d0da)
What's Changed
- Full workspace modularization + ghost-presence and memory fixes by @yiesko in #1
- Fix hourly memory ratchet + per-tick churn (measured, no behavior change) by @yiesko in #2
New Contributors
Full Changelog: https://github.com/yiesko/discord-rich-presence/commits/v0.36.0