Wire-compatible refinement release (GOSSIP_PROTO stays 5). Highlights: honest chat send status + sender-side pacing (chat-hardening Phase 5), completing the chat-hardening plan; playlist drawer de-clutter + auto-resize; plus the FEC-gap and network-restart fixes already on the branch. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
This commit is contained in:
@@ -4,6 +4,30 @@ All notable changes to PeerSpeak are documented here.
|
||||
|
||||
## [Unreleased]
|
||||
|
||||
## [0.6.4] — 2026-07-18
|
||||
|
||||
### Added
|
||||
- **Chat now tells you when a message didn't send.** A message that couldn't go
|
||||
out — because you weren't in a room, or the broadcast failed — is marked
|
||||
**"⚠ Not sent"** with a **Retry** button, instead of sitting in the transcript
|
||||
looking delivered. A successful send shows nothing (PeerSpeak has no
|
||||
delivery/read receipts, so anything else would be a false promise).
|
||||
- **Fast typing no longer loses messages.** When you fire off a quick burst,
|
||||
messages past the first few are held as **"queued…"** and sent a moment apart,
|
||||
matching the rate other people's clients accept. Previously a fast burst could
|
||||
look sent on your end while some messages silently never reached the room.
|
||||
|
||||
### Changed
|
||||
- **Tidier music playlist drawer.** The slide-out playlist no longer repeats the
|
||||
play/skip controls already on the player bar, and the track list now grows to
|
||||
fill the drawer instead of being boxed into a short scroll area, so you can see
|
||||
more of your playlist at once.
|
||||
- **Safer chat under the hood.** A round of chat hardening tightened how incoming
|
||||
messages, display names, links, and file/image attachments are validated and
|
||||
bounded, so a malformed or hostile message from a peer can't spoof a name,
|
||||
replay, flood, or run the app out of memory. No change to how normal chat looks
|
||||
or works.
|
||||
|
||||
### Fixed
|
||||
- **Burst packet loss no longer splices the wrong audio into the gap.** Loss
|
||||
concealment used Opus in-band FEC even when the next packet to arrive wasn't
|
||||
@@ -19,6 +43,8 @@ All notable changes to PeerSpeak are documented here.
|
||||
so, and only gives up (with a clear error telling you to restart) if even
|
||||
the fallback fails.
|
||||
|
||||
[0.6.4]: https://gitbutter.xyz/mollusk/peerspeak/releases/tag/v0.6.4
|
||||
|
||||
## [0.6.3] — 2026-07-06
|
||||
|
||||
### Added
|
||||
|
||||
Generated
+1
-1
@@ -4871,7 +4871,7 @@ checksum = "35fb2e5f958ec131621fdd531e9fc186ed768cbe395337403ae56c17a74c68ec"
|
||||
|
||||
[[package]]
|
||||
name = "peerspeak"
|
||||
version = "0.6.3"
|
||||
version = "0.6.4"
|
||||
dependencies = [
|
||||
"anyhow",
|
||||
"async-trait",
|
||||
|
||||
+1
-1
@@ -1,6 +1,6 @@
|
||||
[package]
|
||||
name = "peerspeak"
|
||||
version = "0.6.3"
|
||||
version = "0.6.4"
|
||||
edition = "2024"
|
||||
description = "Decentralized peer-to-peer voice chat (Rust/iroh/PipeWire/Opus/iced)"
|
||||
license = "MIT"
|
||||
|
||||
@@ -12,7 +12,7 @@
|
||||
; (x86_64-pc-windows-gnu, statically linked -- no extra DLLs needed).
|
||||
|
||||
#define MyAppName "PeerSpeak"
|
||||
#define MyAppVersion "0.6.3"
|
||||
#define MyAppVersion "0.6.4"
|
||||
#define MyAppPublisher "mollusk"
|
||||
#define MyAppExeName "peerspeak.exe"
|
||||
|
||||
|
||||
Reference in New Issue
Block a user