Highlights

  • Logos Delivery:
    • QUIC is enabled by default, falling back to TCP when it stalls (#4337).
    • The REST Messaging API is ready for DST:
      • correct status codes (#4329)
      • a configurable cache that reports overflow instead of hiding it (#4330)
      • endpoint tests and docs (#4331)

Logos Delivery

Messaging API — General Availability

  • [Deliverable] Reliability and scale validation with DST

    • achieved:
      • messaging REST prepared for DST
        • fix(rest): correct messaging status codes, 404 hints and metric names (#4329)
        • feat(rest): make the messaging cache capacity configurable and report overflow (#4330)
        • test(e2e): add messaging REST endpoint tests and docs (#4331)
      • test(e2e): fix use-after-free in the Python wrapper’s FFI callbacks (#4344)
  • [Deliverable] Integrate Rate Limit Manager

    • achieved:
      • feat(rate-limit): drive admission by RLN’s remaining epoch budget (#4309).
      • feat(rate-limit): add configurable approached quota state (#4301).
      • feat(send): drop ephemeral messages when rate limit is approached (#4303).
      • feat: cap parked tasks and task cache in send scheduler (#4299).
      • chore(conf): flatten rateLimit into root-level fields (#4298).
      • chore(send): inject send-processor chain into SendService (#4306).
    • next:
      • feat(channels): support ephemeral messages in the Reliable Channel API (#4305)
  • [Deliverable] Integrate Mix into Messaging API

    • achieved:
      • give mix this node’s own hop once the announced address is real (#4316).
      • count only the mix nodes a path can use (#4317).
      • don’t defer a send while mix is unavailable (#4318).
      • never confirm a mixed message against a store node (#4319).
      • bound the send loop’s head-of-line wait on mix replies (#4320).
      • ship mix nodes in the LogosDev and LogosTest presets (#4321).
      • pick the exit node with the node’s CSPRNG (#4322).
      • end-to-end mix transport suite (#4324).
    • next:
      • send should only mint the id, enqueue the task and wake the send loop (#4328).

RLN on Logos Blockchain

Logos Chat

Chat — Beta

  • [Deliverable] Installation management

    • achieved:
      • feat(storage): persist the installation and take a raw database key (#279)
      • feat(client): reuse the stored installation across opens (#280)
  • [Deliverable] Implement full identity model

    • achieved:
      • refactor(identity): split IdentId into Signer and ParticipantId (#258)
      • feat(identity): add AuthService, the core’s check on other participants (#259)
      • refactor(identity): fold shared-traits into libchat (#260)
      • feat(client): the caller supplies the AuthService (#261)
      • refactor(causal): carry a SignerKey in the causal history, not a credential (#264)
      • feat(identity): typed members, account participants, resolution in the core (#265)
      • chore: delete the device-bundle directory and the delegate credential (#266)
      • refactor: remove member references (#271)
  • [Deliverable] Stabilize and polish API

    • achieved:
      • fix: stop panicking on an inbox wakeup and a failed send (#273)
      • feat: report a delivery node this module did not configure (#81)
      • feat: keep conversations and their messages across restarts (#82)
      • fix: forward each inbound message once by messageHash (#83)
      • build: take libchat from main, under its new name logos-chat (#84)
  • [Deliverable] Deliver user-facing chat features

    • achieved:
    • Base Content types (#272)
    • Default Message store (#278)

Logos Core

Logos Core Integration — Phase 3

Maintenance

  • achieved:
    • fix(messaging): emit MessageError when store validation times out (#4307).
    • fix(enr): omit placeholder endpoints, carry only what peers can use (#4296).
    • chore: split testwaku into testwaku and testwakuext (#4297).
    • nim-ffi ABI fixes found by porting a real consumer onto it: #189, #190, #191, #192, #194, plus a many-thread pool churn test (#195) and checked-in bindings marked generated (#196).
  • next:
    • nim-ffi poll model — the library stops calling host callbacks; replies, events and liveness go into per-context queues the host drains with <lib>_poll: #197…#203, #206, #207.
    • chore(store): reject queries with time range over 24h (#4349).
    • refactor: drop libp2p withValue on the libp2p-range-pin line (#61).
    • raised for discussion: speed up PR CI (#4342), allow pluggable nim-libp2p (#4341), test enhancements (#4304).