Skip to content

Add reliability to UDP link via unsecure QUIC#2430

Open
oteffahi wants to merge 44 commits intoeclipse-zenoh:mainfrom
ZettaScaleLabs:udp-reliability
Open

Add reliability to UDP link via unsecure QUIC#2430
oteffahi wants to merge 44 commits intoeclipse-zenoh:mainfrom
ZettaScaleLabs:udp-reliability

Conversation

@oteffahi
Copy link
Contributor

@oteffahi oteffahi commented Feb 19, 2026

Description

This PR adds the ability for UDP links to leverage unsecure QUIC (QUIC with no authentication and no encryption) to achieve reliability and inherit Zenoh's supported QUIC features (notably multistream added in #2189).

This is exposed to users by adding the ?rel=1 metadata to the endpoint (ex: udp/localhost:7447?rel=1).
The default behavior remains unreliable UDP: udp/localhost:7447 will create a raw UDP connection compatible with previous versions of Zenoh UDP link.

When enabled, this feature is not wire-compatible with UDP links of previous versions, nor with UDP listeners/clients initialized with ?rel=0 or without explicit ?rel=1.

Depends on #2429


🏷️ Label-Based Checklist

Based on the labels applied to this PR, please complete these additional requirements:

Labels: new feature

🆕 New Feature Requirements

Since this PR adds a new feature:

  • Feature scope documented - Clear description of what the feature does and why it's needed
  • Minimum necessary code - Implementation is as simple as possible, doesn't overcomplicate the system
  • New APIs well-designed - Public APIs are intuitive, consistent with existing APIs
  • Comprehensive tests - All functionality is tested (happy path + edge cases + error cases)
  • Examples provided - Usage examples in code comments or separate example files
  • Documentation added - New docs explaining the feature, its use cases, and API
  • Feature flag considered - Can the feature be enabled/disabled for gradual rollout?
  • Performance impact assessed - Memory, CPU, storage implications measured
  • Integration tested - Feature works with existing features

Consider: Can this feature be split into smaller, incremental PRs?

Instructions:

  1. Check off items as you complete them (change - [ ] to - [x])
  2. The PR checklist CI will verify these are completed

This checklist updates automatically when labels change, but preserves your checked boxes.

Squashed commit of the following:

commit 22273fa
Author: Oussama Teffahi <oussama.teffahi@zettascale.tech>
Date:   Tue Jan 20 10:15:09 2026 +0100

    Fix imports for tls test

commit da8acff
Author: Oussama Teffahi <oussama.teffahi@zettascale.tech>
Date:   Mon Jan 19 17:53:03 2026 +0100

    Fix clippy warnings

commit 6b02632
Author: Oussama Teffahi <oussama.teffahi@zettascale.tech>
Date:   Mon Jan 19 14:50:22 2026 +0100

    Remove unused imports

commit ea427f9
Author: Oussama Teffahi <oussama.teffahi@zettascale.tech>
Date:   Mon Jan 19 14:44:41 2026 +0100

    Change multistream tests to check for multiple RX task IDs

    Blocking one of the RX runtime threads works when running one test at a time,
    running them concurrently is an issue since all tests share the same static RX
    runtime which currently defaults to 2 threads.

commit 31c9533
Author: Oussama Teffahi <oussama.teffahi@zettascale.tech>
Date:   Fri Jan 16 18:01:33 2026 +0100

    Add multistream tests based on blocking operations

commit 276b34e
Author: Joseph Perez <joperez@hotmail.fr>
Date:   Tue Jan 13 17:29:27 2026 +0100

    Parse arbitrary bool

commit 44f5cc7
Author: Joseph Perez <joperez@hotmail.fr>
Date:   Tue Jan 13 16:55:09 2026 +0100

    Fix rx Priority::Background task not being started

commit 6f34bcd
Author: Joseph Perez <joperez@hotmail.fr>
Date:   Tue Dec 23 08:52:43 2025 +0100

    Apply PR reviews

commit 8e48abd
Author: Joseph Perez <joperez@hotmail.fr>
Date:   Tue Dec 23 08:48:06 2025 +0100

    Apply PR reviews

commit db75790
Author: Joseph Perez <joperez@hotmail.fr>
Date:   Tue Dec 23 08:34:27 2025 +0100

    Apply PR review

commit 565af6a
Author: Joseph Perez <joperez@hotmail.fr>
Date:   Tue Dec 23 02:00:39 2025 +0100

    Fix lint

commit d31fb8e
Author: Joseph Perez <joperez@hotmail.fr>
Date:   Tue Dec 16 10:11:10 2025 +0100

    Add comment

commit 4fd6e3b
Author: Joseph Perez <joperez@hotmail.fr>
Date:   Tue Nov 4 22:53:08 2025 +0100

    add comments

commit 8c560ad
Author: Joseph Perez <joperez@hotmail.fr>
Date:   Tue Nov 4 16:57:37 2025 +0100

    Fix typo

commit 7988e95
Author: Joseph Perez <joperez@hotmail.fr>
Date:   Tue Nov 4 16:55:59 2025 +0100

    Remove useless Default implementation

commit f152943
Author: Joseph Perez <joperez@hotmail.fr>
Date:   Tue Nov 4 16:54:06 2025 +0100

    Rename ALPN protocols

commit 84f80c3
Author: Joseph Perez <joperez@hotmail.fr>
Date:   Tue Nov 4 16:15:06 2025 +0100

    use quic ALPN

commit 5267081
Author: Joseph Perez <joperez@hotmail.fr>
Date:   Tue Nov 4 07:48:07 2025 +0100

    lint

commit b3df242
Author: Joseph Perez <joperez@hotmail.fr>
Date:   Tue Nov 4 02:07:14 2025 +0100

    add link extension

commit e9da647
Author: Joseph Perez <joperez@hotmail.fr>
Date:   Mon Nov 3 23:21:04 2025 +0100

    fix bugs

commit 8a28945
Author: Joseph Perez <joperez@hotmail.fr>
Date:   Mon Nov 3 22:50:00 2025 +0100

    finish implementation

commit 4caaa48
Author: Joseph Perez <joperez@hotmail.fr>
Date:   Mon Nov 3 14:54:25 2025 +0100

    timeout tracker

commit 02d5875
Author: Joseph Perez <joperez@hotmail.fr>
Date:   Fri Oct 24 17:55:28 2025 +0200

    latest message tracker tmp

commit 4d12bf2
Author: Joseph Perez <joperez@hotmail.fr>
Date:   Fri Oct 24 13:10:26 2025 +0200

    use select_all instead of manual implementation

commit 00e4ac2
Author: Joseph Perez <joperez@hotmail.fr>
Date:   Fri Oct 10 17:04:57 2025 +0200

    fix compression hack

commit ead2235
Author: Joseph Perez <joperez@hotmail.fr>
Date:   Thu Oct 9 20:38:56 2025 +0200

    sort accepted streams per priority

commit e000af7
Author: Joseph Perez <joperez@hotmail.fr>
Date:   Thu Oct 9 13:17:49 2025 +0200

    ensure priority is always control when not supported by link

commit 096dfbe
Author: Joseph Perez <joperez@hotmail.fr>
Date:   Thu Oct 9 12:23:53 2025 +0200

    simplify code

commit aa66e34
Author: Joseph Perez <joperez@hotmail.fr>
Date:   Thu Oct 9 11:03:07 2025 +0200

    add missing import

commit 74356ff
Author: Joseph Perez <joperez@hotmail.fr>
Date:   Wed Oct 8 07:47:52 2025 +0200

    support quic streams per priority

    Links' internal design has been modified to take priority in arguments.
    For link supporting priorities, like Quic, read/write have been split by
    priority.
    Quic implement stream per priority using a single bidirectional stream
    for control messages (and opening), and unidirectional streaming for
    the other priorities.
@oteffahi oteffahi requested a review from wyfo February 19, 2026 15:20
@oteffahi oteffahi added the new feature Something new is needed label Feb 19, 2026
commit f41edec
Author: Oussama Teffahi <oussama.teffahi@zettascale.tech>
Date:   Fri Feb 20 10:35:57 2026 +0100

    Remove unused dependencies

commit 27e7010
Author: Oussama Teffahi <oussama.teffahi@zettascale.tech>
Date:   Fri Feb 20 10:35:17 2026 +0100

    Remove unnecessary impl
commit 9b00b89
Author: Oussama Teffahi <oussama.teffahi@zettascale.tech>
Date:   Tue Feb 24 10:32:50 2026 +0100

    Remove unused dependencies

commit 0a407e4
Author: Oussama Teffahi <oussama.teffahi@zettascale.tech>
Date:   Mon Feb 23 14:26:22 2026 +0100

    Correct typo

commit 99f5b60
Author: Oussama Teffahi <oussama.teffahi@zettascale.tech>
Date:   Mon Feb 23 14:25:15 2026 +0100

    Fix clippy warning

commit 539de07
Merge: f41edec 23d26aa
Author: Oussama Teffahi <oussama.teffahi@zettascale.tech>
Date:   Mon Feb 23 12:54:19 2026 +0100

    Merge branch 'main' into quic-links-refactor

commit f41edec
Author: Oussama Teffahi <oussama.teffahi@zettascale.tech>
Date:   Fri Feb 20 10:35:57 2026 +0100

    Remove unused dependencies

commit 27e7010
Author: Oussama Teffahi <oussama.teffahi@zettascale.tech>
Date:   Fri Feb 20 10:35:17 2026 +0100

    Remove unnecessary impl
@codecov
Copy link

codecov bot commented Feb 24, 2026

Codecov Report

❌ Patch coverage is 87.99157% with 171 lines in your changes missing coverage. Please review.
✅ Project coverage is 72.87%. Comparing base (1ccdaf9) to head (0d0fdd6).
✅ All tests successful. No failed tests found.

Files with missing lines Patch % Lines
io/zenoh-link-commons/src/quic/plaintext.rs 77.58% 39 Missing ⚠️
io/zenoh-link-commons/src/quic/unicast.rs 92.50% 30 Missing ⚠️
io/zenoh-links/zenoh-link-udp/src/reliability.rs 80.34% 23 Missing ⚠️
io/zenoh-links/zenoh-link-quic/src/unicast.rs 71.42% 18 Missing ⚠️
io/zenoh-link-commons/src/quic/utils.rs 87.38% 14 Missing ⚠️
...enoh-links/zenoh-link-quic_datagram/src/unicast.rs 68.29% 13 Missing ⚠️
io/zenoh-links/zenoh-link-udp/src/unicast.rs 80.64% 6 Missing ⚠️
io/zenoh-links/zenoh-link-serial/src/unicast.rs 0.00% 4 Missing ⚠️
...enoh-links/zenoh-link-unixpipe/src/unix/unicast.rs 0.00% 4 Missing ⚠️
io/zenoh-links/zenoh-link-vsock/src/unicast.rs 0.00% 4 Missing ⚠️
... and 8 more
Additional details and impacted files
@@            Coverage Diff             @@
##             main    #2430      +/-   ##
==========================================
+ Coverage   72.50%   72.87%   +0.36%     
==========================================
  Files         390      394       +4     
  Lines       63351    64358    +1007     
==========================================
+ Hits        45931    46898     +967     
- Misses      17420    17460      +40     

☔ View full report in Codecov by Sentry.
📢 Have feedback on the report? Share it here.

@oteffahi oteffahi added this to the 1.8.0 milestone Mar 6, 2026
@oteffahi oteffahi mentioned this pull request Mar 11, 2026
9 tasks
commit 7a56b4b
Merge: b894a30 1ccdaf9
Author: Oussama Teffahi <oussama.teffahi@zettascale.tech>
Date:   Wed Mar 11 22:19:16 2026 +0100

    Merge branch 'main' into quic-links-refactor

commit b894a30
Author: Oussama Teffahi <oussama.teffahi@zettascale.tech>
Date:   Wed Mar 11 22:04:47 2026 +0100

    Remove unnecessary IntoFuture implementation

commit 5483bfe
Author: Oussama Teffahi <oussama.teffahi@zettascale.tech>
Date:   Wed Mar 11 22:00:50 2026 +0100

    Squashed commit of the following:

    commit b9f2a82
    Author: Joseph Perez <joperez@hotmail.fr>
    Date:   Wed Mar 11 17:19:10 2026 +0100

        Fix tests after parsing fix

    commit da9935f
    Author: Joseph Perez <joperez@hotmail.fr>
    Date:   Wed Mar 11 16:26:24 2026 +0100

        Set stream limit in config before connection

    commit 9857e3b
    Author: Joseph Perez <joperez@hotmail.fr>
    Date:   Wed Mar 11 16:17:41 2026 +0100

        Fix multistream parsing

    commit a4b4cdd
    Author: Joseph Perez <joperez@hotmail.fr>
    Date:   Wed Mar 11 16:16:16 2026 +0100

        Update io/zenoh-link-commons/src/quic.rs

        Co-authored-by: Oussama Teffahi <70609372+oteffahi@users.noreply.github.com>

    commit b5383ef
    Merge: 22273fa 1ccdaf9
    Author: Joseph Perez <joperez@hotmail.fr>
    Date:   Wed Mar 11 16:12:41 2026 +0100

        Merge branch 'main' into quic-streams

    commit 1ccdaf9
    Author: DenisBiryukov91 <155981813+DenisBiryukov91@users.noreply.github.com>
    Date:   Wed Mar 11 15:29:44 2026 +0100

        make cancellation of rx/tx tasks more explicit (eclipse-zenoh#2464)

    commit 80097dd
    Author: Michael Ilyin <milyin@gmail.com>
    Date:   Wed Mar 11 10:04:16 2026 +0100

        no need to use ZResult in accepts_replies (eclipse-zenoh#2473)

        * no need to use ZResult in accepts_replies

        * cargo fmt

        * build fix

        * rustfmt

    commit 8ab9bdb
    Author: eclipse-zenoh-bot <61247838+eclipse-zenoh-bot@users.noreply.github.com>
    Date:   Wed Mar 11 01:42:01 2026 +0100

        build: Recreate lockfile of 1e7edc6 from 2026-03-10 (eclipse-zenoh#2474)

        Co-authored-by: eclipse-zenoh-bot <eclipse-zenoh-bot@users.noreply.github.com>

    commit 1e7edc6
    Author: DenisBiryukov91 <155981813+DenisBiryukov91@users.noreply.github.com>
    Date:   Tue Mar 10 16:21:22 2026 +0100

        fix race condition that could lead to having more links per transport than allowed by config (eclipse-zenoh#2471)

    commit 9f8dff1
    Author: Joseph Perez <joperez@hotmail.fr>
    Date:   Tue Mar 10 11:04:33 2026 +0100

        Remove callback generic parameter (eclipse-zenoh#2469)

        This was an unwanted and useless breaking change

    commit f645011
    Author: eclipse-zenoh-bot <61247838+eclipse-zenoh-bot@users.noreply.github.com>
    Date:   Tue Mar 10 01:43:33 2026 +0100

        build: Recreate lockfile of f855a2d from 2026-03-09 (eclipse-zenoh#2468)

        Co-authored-by: eclipse-zenoh-bot <eclipse-zenoh-bot@users.noreply.github.com>

    commit f855a2d
    Author: DenisBiryukov91 <155981813+DenisBiryukov91@users.noreply.github.com>
    Date:   Mon Mar 9 16:50:12 2026 +0100

        remove unstable tags from allowed_destination setter of put and get (eclipse-zenoh#2466)

    commit 195a4b5
    Author: eclipse-zenoh-bot <61247838+eclipse-zenoh-bot@users.noreply.github.com>
    Date:   Mon Mar 9 01:44:24 2026 +0100

        build: Recreate lockfile of 674da72 from 2026-03-07 (eclipse-zenoh#2462)

        Co-authored-by: eclipse-zenoh-bot <eclipse-zenoh-bot@users.noreply.github.com>

    commit 674da72
    Author: eclipse-zenoh-bot <61247838+eclipse-zenoh-bot@users.noreply.github.com>
    Date:   Sat Mar 7 01:46:10 2026 +0100

        build: Recreate lockfile of 0dba151 from 2026-03-06 (eclipse-zenoh#2460)

        Co-authored-by: eclipse-zenoh-bot <eclipse-zenoh-bot@users.noreply.github.com>

    commit 0dba151
    Author: eclipse-zenoh-bot <61247838+eclipse-zenoh-bot@users.noreply.github.com>
    Date:   Fri Mar 6 01:50:19 2026 +0100

        build: Recreate lockfile of 74e8bb9 from 2026-03-05 (eclipse-zenoh#2459)

        Co-authored-by: eclipse-zenoh-bot <eclipse-zenoh-bot@users.noreply.github.com>

    commit 74e8bb9
    Author: Julian Antonielli <julianantonielli@gmail.com>
    Date:   Thu Mar 5 18:01:22 2026 +0000

        Update documentation for Parameters (eclipse-zenoh#2195)

        - Remove documentation saying `\n` is a valid separator, as this was a
          remnant from https://github.com/eclipse-zenoh/zenoh/blob/9d564148e438390137d7360014a29cf34779f755/commons/zenoh-cfg-properties/src/lib.rs#L155-L166,
        - Mention that keys can have multiple values using `|` as a separator,
        - Fix typo in `Parameters::insert` and `Parameters::is_ordered`: extra
          `\``,
        - Add test/comments for `Parameters::values` returning empty iterator.

    commit 4e38e73
    Author: eclipse-zenoh-bot <61247838+eclipse-zenoh-bot@users.noreply.github.com>
    Date:   Thu Mar 5 01:45:04 2026 +0100

        build: Recreate lockfile of 28171a6 from 2026-03-04 (eclipse-zenoh#2458)

        Co-authored-by: eclipse-zenoh-bot <eclipse-zenoh-bot@users.noreply.github.com>

    commit 28171a6
    Author: Diogo Matsubara <diogo.matsubara@zettascale.tech>
    Date:   Wed Mar 4 17:34:36 2026 +0100

        chore: update pre-commit rustfmt to use nightly (eclipse-zenoh#2456)

    commit 4a19369
    Author: eclipse-zenoh-bot <61247838+eclipse-zenoh-bot@users.noreply.github.com>
    Date:   Wed Mar 4 01:47:01 2026 +0100

        build: Recreate lockfile of 30dc038 from 2026-03-03 (eclipse-zenoh#2455)

        Co-authored-by: eclipse-zenoh-bot <eclipse-zenoh-bot@users.noreply.github.com>

    commit 30dc038
    Author: DenisBiryukov91 <155981813+DenisBiryukov91@users.noreply.github.com>
    Date:   Tue Mar 3 15:25:07 2026 +0100

        remove redundant del_transport_unicast from TransportUnicastLowLatency::delete() (eclipse-zenoh#2453)

    commit 608fb05
    Author: konnta0 <68390856+konnta0@users.noreply.github.com>
    Date:   Tue Mar 3 20:20:30 2026 +0900

         fix: add iOS support to set_bind_to_device functions (eclipse-zenoh#2405)

        iOS target_os was not included in the cfg conditions for
        set_bind_to_device_tcp_socket and set_bind_to_device_udp_socket,
        causing compilation errors when building for iOS targets.

        This fix adds target_os = "ios" to the cfg conditions alongside
        macOS and Windows, as iOS also doesn't support socket binding
        to specific network interfaces.

        Signed-off-by: konnta0 <konnta0@gmail.com>

    commit 460faec
    Author: eclipse-zenoh-bot <61247838+eclipse-zenoh-bot@users.noreply.github.com>
    Date:   Tue Mar 3 01:48:15 2026 +0100

        build: Recreate lockfile of 7d92339 from 2026-03-02 (eclipse-zenoh#2452)

        Co-authored-by: eclipse-zenoh-bot <eclipse-zenoh-bot@users.noreply.github.com>

    commit 7d92339
    Author: Diogo Matsubara <diogo.matsubara@zettascale.tech>
    Date:   Mon Mar 2 09:51:25 2026 +0100

        chore: fix formatting for scouting.rs (eclipse-zenoh#2448)

    commit d743df5
    Author: eclipse-zenoh-bot <61247838+eclipse-zenoh-bot@users.noreply.github.com>
    Date:   Sat Feb 28 01:44:00 2026 +0100

        build: Recreate lockfile of a7667dc from 2026-02-27 (eclipse-zenoh#2446)

        Co-authored-by: eclipse-zenoh-bot <eclipse-zenoh-bot@users.noreply.github.com>

    commit a7667dc
    Author: Diogo Matsubara <diogo.matsubara@zettascale.tech>
    Date:   Fri Feb 27 20:44:35 2026 +0100

        chore: unpin nightly version (eclipse-zenoh#2445)

        In eclipse-zenoh#2440 nightly was pinned
        due to a version of shellexpand (3.1.1) not working with the current
        version. A new version of shellexpand has been released which should
        address the nighly failures.

        Fix eclipse-zenoh#2441

    commit fcce5bc
    Author: Mahmoud Mazouz <hello@fuzzypixelz.com>
    Date:   Fri Feb 27 18:06:20 2026 +0100

        Fix blocking calls in async transport callback invocations (eclipse-zenoh#2442)

        Partially addresses eclipse-zenoh#2409.

    commit be96ecf
    Author: eclipse-zenoh-bot <61247838+eclipse-zenoh-bot@users.noreply.github.com>
    Date:   Fri Feb 27 01:47:26 2026 +0100

        build: Recreate lockfile of f5f1e6a from 2026-02-26 (eclipse-zenoh#2444)

        Co-authored-by: eclipse-zenoh-bot <eclipse-zenoh-bot@users.noreply.github.com>

    commit f5f1e6a
    Author: Joseph Perez <joperez@hotmail.fr>
    Date:   Thu Feb 26 15:04:50 2026 +0100

        Force the response QoS to the original query QoS (eclipse-zenoh#2382)

        * Force the response QoS to the original query QoS

        * Remove replies from qos overwrite interceptor

        * Hide QoS builder methods for reply except express

        * Update documentation

        * Fix tests

        * Update semver check

        * Assign query QoS to response

        * Update deprecation message

        ---------

        Co-authored-by: OlivierHecart <olivier.hecart@adlinktech.com>

    commit b867164
    Author: OlivierHecart <olivier@zettascale.tech>
    Date:   Thu Feb 26 12:38:30 2026 +0100

        Stabilize accept_replies (eclipse-zenoh#2443)

    commit c714d46
    Author: DenisBiryukov91 <155981813+DenisBiryukov91@users.noreply.github.com>
    Date:   Wed Feb 25 09:35:45 2026 +0100

        ensure that no new transports to the same zid can be established while the current one is not fully closed (eclipse-zenoh#2438)

    commit 96621f2
    Author: DenisBiryukov91 <155981813+DenisBiryukov91@users.noreply.github.com>
    Date:   Wed Feb 25 09:34:30 2026 +0100

        Use TaskController in TransportLinkUnicastUniversal (eclipse-zenoh#2424)

        * use TaskController in link

        * disable pipeline after task termination

        * fix behaviour upon tx task termination

        ---------

        Co-authored-by: OlivierHecart <olivier.hecart@adlinktech.com>

    commit 53f802f
    Author: eclipse-zenoh-bot <61247838+eclipse-zenoh-bot@users.noreply.github.com>
    Date:   Wed Feb 25 01:48:13 2026 +0100

        build: Recreate lockfile of 23d26aa from 2026-02-22 (eclipse-zenoh#2437)

        Co-authored-by: eclipse-zenoh-bot <eclipse-zenoh-bot@users.noreply.github.com>

    commit 8ed1898
    Author: Michael Ilyin <milyin@gmail.com>
    Date:   Mon Feb 23 17:43:48 2026 +0100

        Allow to set explicit nigltly compiler version in CI (eclipse-zenoh#2440)

        * explicit nigltly version

        * install rustfmt

        * formatting

    commit 38627dd
    Author: DenisBiryukov91 <155981813+DenisBiryukov91@users.noreply.github.com>
    Date:   Mon Feb 23 13:47:20 2026 +0100

        Rollback reply keyexpr optimization (eclipse-zenoh#2431)

        eclipse-zenoh#2383 is backward-incompatible protocol-wise.

    commit 22273fa
    Author: Oussama Teffahi <oussama.teffahi@zettascale.tech>
    Date:   Tue Jan 20 10:15:09 2026 +0100

        Fix imports for tls test

    commit da8acff
    Author: Oussama Teffahi <oussama.teffahi@zettascale.tech>
    Date:   Mon Jan 19 17:53:03 2026 +0100

        Fix clippy warnings

    commit 6b02632
    Author: Oussama Teffahi <oussama.teffahi@zettascale.tech>
    Date:   Mon Jan 19 14:50:22 2026 +0100

        Remove unused imports

    commit ea427f9
    Author: Oussama Teffahi <oussama.teffahi@zettascale.tech>
    Date:   Mon Jan 19 14:44:41 2026 +0100

        Change multistream tests to check for multiple RX task IDs

        Blocking one of the RX runtime threads works when running one test at a time,
        running them concurrently is an issue since all tests share the same static RX
        runtime which currently defaults to 2 threads.

    commit 31c9533
    Author: Oussama Teffahi <oussama.teffahi@zettascale.tech>
    Date:   Fri Jan 16 18:01:33 2026 +0100

        Add multistream tests based on blocking operations

    commit 276b34e
    Author: Joseph Perez <joperez@hotmail.fr>
    Date:   Tue Jan 13 17:29:27 2026 +0100

        Parse arbitrary bool

    commit 44f5cc7
    Author: Joseph Perez <joperez@hotmail.fr>
    Date:   Tue Jan 13 16:55:09 2026 +0100

        Fix rx Priority::Background task not being started

    commit 6f34bcd
    Author: Joseph Perez <joperez@hotmail.fr>
    Date:   Tue Dec 23 08:52:43 2025 +0100

        Apply PR reviews

    commit 8e48abd
    Author: Joseph Perez <joperez@hotmail.fr>
    Date:   Tue Dec 23 08:48:06 2025 +0100

        Apply PR reviews

    commit db75790
    Author: Joseph Perez <joperez@hotmail.fr>
    Date:   Tue Dec 23 08:34:27 2025 +0100

        Apply PR review

    commit 565af6a
    Author: Joseph Perez <joperez@hotmail.fr>
    Date:   Tue Dec 23 02:00:39 2025 +0100

        Fix lint

    commit d31fb8e
    Author: Joseph Perez <joperez@hotmail.fr>
    Date:   Tue Dec 16 10:11:10 2025 +0100

        Add comment

    commit 4fd6e3b
    Author: Joseph Perez <joperez@hotmail.fr>
    Date:   Tue Nov 4 22:53:08 2025 +0100

        add comments

    commit 8c560ad
    Author: Joseph Perez <joperez@hotmail.fr>
    Date:   Tue Nov 4 16:57:37 2025 +0100

        Fix typo

    commit 7988e95
    Author: Joseph Perez <joperez@hotmail.fr>
    Date:   Tue Nov 4 16:55:59 2025 +0100

        Remove useless Default implementation

    commit f152943
    Author: Joseph Perez <joperez@hotmail.fr>
    Date:   Tue Nov 4 16:54:06 2025 +0100

        Rename ALPN protocols

    commit 84f80c3
    Author: Joseph Perez <joperez@hotmail.fr>
    Date:   Tue Nov 4 16:15:06 2025 +0100

        use quic ALPN

    commit 5267081
    Author: Joseph Perez <joperez@hotmail.fr>
    Date:   Tue Nov 4 07:48:07 2025 +0100

        lint

    commit b3df242
    Author: Joseph Perez <joperez@hotmail.fr>
    Date:   Tue Nov 4 02:07:14 2025 +0100

        add link extension

    commit e9da647
    Author: Joseph Perez <joperez@hotmail.fr>
    Date:   Mon Nov 3 23:21:04 2025 +0100

        fix bugs

    commit 8a28945
    Author: Joseph Perez <joperez@hotmail.fr>
    Date:   Mon Nov 3 22:50:00 2025 +0100

        finish implementation

    commit 4caaa48
    Author: Joseph Perez <joperez@hotmail.fr>
    Date:   Mon Nov 3 14:54:25 2025 +0100

        timeout tracker

    commit 02d5875
    Author: Joseph Perez <joperez@hotmail.fr>
    Date:   Fri Oct 24 17:55:28 2025 +0200

        latest message tracker tmp

    commit 4d12bf2
    Author: Joseph Perez <joperez@hotmail.fr>
    Date:   Fri Oct 24 13:10:26 2025 +0200

        use select_all instead of manual implementation

    commit 00e4ac2
    Author: Joseph Perez <joperez@hotmail.fr>
    Date:   Fri Oct 10 17:04:57 2025 +0200

        fix compression hack

    commit ead2235
    Author: Joseph Perez <joperez@hotmail.fr>
    Date:   Thu Oct 9 20:38:56 2025 +0200

        sort accepted streams per priority

    commit e000af7
    Author: Joseph Perez <joperez@hotmail.fr>
    Date:   Thu Oct 9 13:17:49 2025 +0200

        ensure priority is always control when not supported by link

    commit 096dfbe
    Author: Joseph Perez <joperez@hotmail.fr>
    Date:   Thu Oct 9 12:23:53 2025 +0200

        simplify code

    commit aa66e34
    Author: Joseph Perez <joperez@hotmail.fr>
    Date:   Thu Oct 9 11:03:07 2025 +0200

        add missing import

    commit 74356ff
    Author: Joseph Perez <joperez@hotmail.fr>
    Date:   Wed Oct 8 07:47:52 2025 +0200

        support quic streams per priority

        Links' internal design has been modified to take priority in arguments.
        For link supporting priorities, like Quic, read/write have been split by
        priority.
        Quic implement stream per priority using a single bidirectional stream
        for control messages (and opening), and unidirectional streaming for
        the other priorities.

commit 1ccdaf9
Author: DenisBiryukov91 <155981813+DenisBiryukov91@users.noreply.github.com>
Date:   Wed Mar 11 15:29:44 2026 +0100

    make cancellation of rx/tx tasks more explicit (eclipse-zenoh#2464)

commit 80097dd
Author: Michael Ilyin <milyin@gmail.com>
Date:   Wed Mar 11 10:04:16 2026 +0100

    no need to use ZResult in accepts_replies (eclipse-zenoh#2473)

    * no need to use ZResult in accepts_replies

    * cargo fmt

    * build fix

    * rustfmt

commit 8ab9bdb
Author: eclipse-zenoh-bot <61247838+eclipse-zenoh-bot@users.noreply.github.com>
Date:   Wed Mar 11 01:42:01 2026 +0100

    build: Recreate lockfile of 1e7edc6 from 2026-03-10 (eclipse-zenoh#2474)

    Co-authored-by: eclipse-zenoh-bot <eclipse-zenoh-bot@users.noreply.github.com>

commit 1e7edc6
Author: DenisBiryukov91 <155981813+DenisBiryukov91@users.noreply.github.com>
Date:   Tue Mar 10 16:21:22 2026 +0100

    fix race condition that could lead to having more links per transport than allowed by config (eclipse-zenoh#2471)

commit 9f8dff1
Author: Joseph Perez <joperez@hotmail.fr>
Date:   Tue Mar 10 11:04:33 2026 +0100

    Remove callback generic parameter (eclipse-zenoh#2469)

    This was an unwanted and useless breaking change

commit f645011
Author: eclipse-zenoh-bot <61247838+eclipse-zenoh-bot@users.noreply.github.com>
Date:   Tue Mar 10 01:43:33 2026 +0100

    build: Recreate lockfile of f855a2d from 2026-03-09 (eclipse-zenoh#2468)

    Co-authored-by: eclipse-zenoh-bot <eclipse-zenoh-bot@users.noreply.github.com>

commit f855a2d
Author: DenisBiryukov91 <155981813+DenisBiryukov91@users.noreply.github.com>
Date:   Mon Mar 9 16:50:12 2026 +0100

    remove unstable tags from allowed_destination setter of put and get (eclipse-zenoh#2466)

commit 195a4b5
Author: eclipse-zenoh-bot <61247838+eclipse-zenoh-bot@users.noreply.github.com>
Date:   Mon Mar 9 01:44:24 2026 +0100

    build: Recreate lockfile of 674da72 from 2026-03-07 (eclipse-zenoh#2462)

    Co-authored-by: eclipse-zenoh-bot <eclipse-zenoh-bot@users.noreply.github.com>

commit 674da72
Author: eclipse-zenoh-bot <61247838+eclipse-zenoh-bot@users.noreply.github.com>
Date:   Sat Mar 7 01:46:10 2026 +0100

    build: Recreate lockfile of 0dba151 from 2026-03-06 (eclipse-zenoh#2460)

    Co-authored-by: eclipse-zenoh-bot <eclipse-zenoh-bot@users.noreply.github.com>

commit 0dba151
Author: eclipse-zenoh-bot <61247838+eclipse-zenoh-bot@users.noreply.github.com>
Date:   Fri Mar 6 01:50:19 2026 +0100

    build: Recreate lockfile of 74e8bb9 from 2026-03-05 (eclipse-zenoh#2459)

    Co-authored-by: eclipse-zenoh-bot <eclipse-zenoh-bot@users.noreply.github.com>

commit 74e8bb9
Author: Julian Antonielli <julianantonielli@gmail.com>
Date:   Thu Mar 5 18:01:22 2026 +0000

    Update documentation for Parameters (eclipse-zenoh#2195)

    - Remove documentation saying `\n` is a valid separator, as this was a
      remnant from https://github.com/eclipse-zenoh/zenoh/blob/9d564148e438390137d7360014a29cf34779f755/commons/zenoh-cfg-properties/src/lib.rs#L155-L166,
    - Mention that keys can have multiple values using `|` as a separator,
    - Fix typo in `Parameters::insert` and `Parameters::is_ordered`: extra
      `\``,
    - Add test/comments for `Parameters::values` returning empty iterator.

commit 4e38e73
Author: eclipse-zenoh-bot <61247838+eclipse-zenoh-bot@users.noreply.github.com>
Date:   Thu Mar 5 01:45:04 2026 +0100

    build: Recreate lockfile of 28171a6 from 2026-03-04 (eclipse-zenoh#2458)

    Co-authored-by: eclipse-zenoh-bot <eclipse-zenoh-bot@users.noreply.github.com>

commit 28171a6
Author: Diogo Matsubara <diogo.matsubara@zettascale.tech>
Date:   Wed Mar 4 17:34:36 2026 +0100

    chore: update pre-commit rustfmt to use nightly (eclipse-zenoh#2456)

commit 4a19369
Author: eclipse-zenoh-bot <61247838+eclipse-zenoh-bot@users.noreply.github.com>
Date:   Wed Mar 4 01:47:01 2026 +0100

    build: Recreate lockfile of 30dc038 from 2026-03-03 (eclipse-zenoh#2455)

    Co-authored-by: eclipse-zenoh-bot <eclipse-zenoh-bot@users.noreply.github.com>

commit 30dc038
Author: DenisBiryukov91 <155981813+DenisBiryukov91@users.noreply.github.com>
Date:   Tue Mar 3 15:25:07 2026 +0100

    remove redundant del_transport_unicast from TransportUnicastLowLatency::delete() (eclipse-zenoh#2453)

commit 608fb05
Author: konnta0 <68390856+konnta0@users.noreply.github.com>
Date:   Tue Mar 3 20:20:30 2026 +0900

     fix: add iOS support to set_bind_to_device functions (eclipse-zenoh#2405)

    iOS target_os was not included in the cfg conditions for
    set_bind_to_device_tcp_socket and set_bind_to_device_udp_socket,
    causing compilation errors when building for iOS targets.

    This fix adds target_os = "ios" to the cfg conditions alongside
    macOS and Windows, as iOS also doesn't support socket binding
    to specific network interfaces.

    Signed-off-by: konnta0 <konnta0@gmail.com>

commit 460faec
Author: eclipse-zenoh-bot <61247838+eclipse-zenoh-bot@users.noreply.github.com>
Date:   Tue Mar 3 01:48:15 2026 +0100

    build: Recreate lockfile of 7d92339 from 2026-03-02 (eclipse-zenoh#2452)

    Co-authored-by: eclipse-zenoh-bot <eclipse-zenoh-bot@users.noreply.github.com>

commit 7d92339
Author: Diogo Matsubara <diogo.matsubara@zettascale.tech>
Date:   Mon Mar 2 09:51:25 2026 +0100

    chore: fix formatting for scouting.rs (eclipse-zenoh#2448)

commit d743df5
Author: eclipse-zenoh-bot <61247838+eclipse-zenoh-bot@users.noreply.github.com>
Date:   Sat Feb 28 01:44:00 2026 +0100

    build: Recreate lockfile of a7667dc from 2026-02-27 (eclipse-zenoh#2446)

    Co-authored-by: eclipse-zenoh-bot <eclipse-zenoh-bot@users.noreply.github.com>

commit a7667dc
Author: Diogo Matsubara <diogo.matsubara@zettascale.tech>
Date:   Fri Feb 27 20:44:35 2026 +0100

    chore: unpin nightly version (eclipse-zenoh#2445)

    In eclipse-zenoh#2440 nightly was pinned
    due to a version of shellexpand (3.1.1) not working with the current
    version. A new version of shellexpand has been released which should
    address the nighly failures.

    Fix eclipse-zenoh#2441

commit fcce5bc
Author: Mahmoud Mazouz <hello@fuzzypixelz.com>
Date:   Fri Feb 27 18:06:20 2026 +0100

    Fix blocking calls in async transport callback invocations (eclipse-zenoh#2442)

    Partially addresses eclipse-zenoh#2409.

commit be96ecf
Author: eclipse-zenoh-bot <61247838+eclipse-zenoh-bot@users.noreply.github.com>
Date:   Fri Feb 27 01:47:26 2026 +0100

    build: Recreate lockfile of f5f1e6a from 2026-02-26 (eclipse-zenoh#2444)

    Co-authored-by: eclipse-zenoh-bot <eclipse-zenoh-bot@users.noreply.github.com>

commit f5f1e6a
Author: Joseph Perez <joperez@hotmail.fr>
Date:   Thu Feb 26 15:04:50 2026 +0100

    Force the response QoS to the original query QoS (eclipse-zenoh#2382)

    * Force the response QoS to the original query QoS

    * Remove replies from qos overwrite interceptor

    * Hide QoS builder methods for reply except express

    * Update documentation

    * Fix tests

    * Update semver check

    * Assign query QoS to response

    * Update deprecation message

    ---------

    Co-authored-by: OlivierHecart <olivier.hecart@adlinktech.com>

commit b867164
Author: OlivierHecart <olivier@zettascale.tech>
Date:   Thu Feb 26 12:38:30 2026 +0100

    Stabilize accept_replies (eclipse-zenoh#2443)

commit c714d46
Author: DenisBiryukov91 <155981813+DenisBiryukov91@users.noreply.github.com>
Date:   Wed Feb 25 09:35:45 2026 +0100

    ensure that no new transports to the same zid can be established while the current one is not fully closed (eclipse-zenoh#2438)

commit 96621f2
Author: DenisBiryukov91 <155981813+DenisBiryukov91@users.noreply.github.com>
Date:   Wed Feb 25 09:34:30 2026 +0100

    Use TaskController in TransportLinkUnicastUniversal (eclipse-zenoh#2424)

    * use TaskController in link

    * disable pipeline after task termination

    * fix behaviour upon tx task termination

    ---------

    Co-authored-by: OlivierHecart <olivier.hecart@adlinktech.com>

commit 53f802f
Author: eclipse-zenoh-bot <61247838+eclipse-zenoh-bot@users.noreply.github.com>
Date:   Wed Feb 25 01:48:13 2026 +0100

    build: Recreate lockfile of 23d26aa from 2026-02-22 (eclipse-zenoh#2437)

    Co-authored-by: eclipse-zenoh-bot <eclipse-zenoh-bot@users.noreply.github.com>

commit 9b00b89
Author: Oussama Teffahi <oussama.teffahi@zettascale.tech>
Date:   Tue Feb 24 10:32:50 2026 +0100

    Remove unused dependencies

commit 8ed1898
Author: Michael Ilyin <milyin@gmail.com>
Date:   Mon Feb 23 17:43:48 2026 +0100

    Allow to set explicit nigltly compiler version in CI (eclipse-zenoh#2440)

    * explicit nigltly version

    * install rustfmt

    * formatting

commit 0a407e4
Author: Oussama Teffahi <oussama.teffahi@zettascale.tech>
Date:   Mon Feb 23 14:26:22 2026 +0100

    Correct typo

commit 99f5b60
Author: Oussama Teffahi <oussama.teffahi@zettascale.tech>
Date:   Mon Feb 23 14:25:15 2026 +0100

    Fix clippy warning

commit 38627dd
Author: DenisBiryukov91 <155981813+DenisBiryukov91@users.noreply.github.com>
Date:   Mon Feb 23 13:47:20 2026 +0100

    Rollback reply keyexpr optimization (eclipse-zenoh#2431)

    eclipse-zenoh#2383 is backward-incompatible protocol-wise.

commit 539de07
Merge: f41edec 23d26aa
Author: Oussama Teffahi <oussama.teffahi@zettascale.tech>
Date:   Mon Feb 23 12:54:19 2026 +0100

    Merge branch 'main' into quic-links-refactor

commit f41edec
Author: Oussama Teffahi <oussama.teffahi@zettascale.tech>
Date:   Fri Feb 20 10:35:57 2026 +0100

    Remove unused dependencies

commit 27e7010
Author: Oussama Teffahi <oussama.teffahi@zettascale.tech>
Date:   Fri Feb 20 10:35:17 2026 +0100

    Remove unnecessary impl
@diogomatsubara diogomatsubara removed this from the 1.8.0 milestone Mar 12, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

new feature Something new is needed

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants