What's Changed
Breaking changes 💥
- Source info doc by @milyin in #2563
- SHM handoff by @yellowhatter in #2646
New features 🎉
- Avoid port collision with the common test framework (final round) by @evshary in #2555
- chore: fix clippy warnings for latest stable Rust by @evshary in #2574
- test: centralize test helpers and remove fixed ports from Zenoh test suites by @evshary in #2573
- refactor and optimize downsampling interceptor by @wyfo in #2097
- replace tide with axum in rest plugin and remove async_std dependencies by @wyfo in #2176
- feat(codec): add Zenoh message fuzz target by @evshary in #2591
- Waitable transport shm provider by @yellowhatter in #2610
- Raise an error if max_samples is zero in advanced pub/sub by @wyfo in #2333
- Add retention period to RecoveryConfig by @wyfo in #2329
- Support io_uring by @yellowhatter in #2332
- Increase
NOFILEsoft limit in SHM subsystem by @fuzzypixelz in #2670 - Add timestamp instrumentation for latency measurement by @oteffahi in #2620
- Add timestamp_stack to SampleFields by @milyin in #2715
- Add configuration in shared_memory/transport_optimization to select the type of messages to optimize by @JEnoch in #2726
Bug fixes 🐞
- [Reconnect] Trigger reconnect on all error-paths by @ciprianf in #2566
- fix(buffers): allow empty write_exact calls by @evshary in #2593
- fix(protocol): preserve sender-mapped empty wire exprs by @evshary in #2599
- fix(buffers): reject oversized zslice reads by @evshary in #2594
- fix(codec): reject undersized query body values by @evshary in #2595
- fix(codec): avoid extension count truncation on re-encode by @evshary in #2605
- fix(codec): reject impossible scouting locator counts by @evshary in #2606
- fix(codec): reject noncanonical locator strings by @evshary in #2607
- fix(codec): reject truncated bounded strings by @evshary in #2601
- Support multiple connections in the client mode. by @evshary in #2320
- fix(protocol): reject malformed endpoint parameter sections by @evshary in #2612
- Fix for the deadlock when dropping a Querier with a pending query whose completion callback re-enters the Session by @ciprianf in #2635
- Fix the stabby versionfor 1.75 compatibility by @evshary in #2639
- Fix missing face transport stats by @fuzzypixelz in #2636
- Check for expected ZID when opening scouted links by @oteffahi in #2579
- Refactor
zenoh::Config::insert_json5by @fuzzypixelz in #2651 - Fix queryable failover by @OlivierHecart in #2660
- Add missing zenoh priority mapping to QUIC streams by @oteffahi in #2658
- Fix adminspace ZID/mode wilcard config updates by @fuzzypixelz in #2669
- fix(shm): drop cfg_aliases macro, hand-roll build.rs cfg logic by @YuanYuYuan in #2680
- fix(link-ws): prevent accept_task from exiting on handshake failure by @cyanyang-84 in #2622
- fix(shm): fail loudly if CARGO_CFG_TARGET_OS is unset by @YuanYuYuan in #2683
- fix: parameters::remove dropped entries preceding the removed key by @milyin in #2687
- Make zenoh-uring to build only on platforms supported by io-uring by @JEnoch in #2700
- fix routers unregistering liveness tokens and queryables by @Evanev7 in #2603
- Fix multicast scouting on loopback by @fuzzypixelz in #2671
Documentation 📝
- fix: typos in comments for DEFAULT_CONFIG.json5 by @takasehideki in #2565
- docs: add README for Zenoh test framework with dynamic port usage by @evshary in #2562
- Add zenoh-go in the README. by @evshary in #2708
Dependencies 👷
- Sync Rust toolchain by @eclipse-zenoh-bot in #2681
New Contributors
- @takasehideki made their first contribution in #2565
- @ciprianf made their first contribution in #2566
- @cyanyang-84 made their first contribution in #2622
- @Evanev7 made their first contribution in #2603
Full Changelog: 1.9.0...1.10.0