Skip to content

v0.14.0

Choose a tag to compare

@paulbalandan paulbalandan released this 18 Aug 15:50
· 120 commits to 1.x since this release
v0.14.0
792665f

What's Changed

Subscription streams are now budgeted per authorized peer alongside the server-wide cap, and a store reused across transports serves live streams again. A concurrent close() blocks until the close settles on every transport, and ClientBuilder refuses registration after build(). The extension contracts move under Server\Extension and Client\Extension (see BREAKING_CHANGES.md).

Changed

  • ClientBuilder refuses every registration after build(), matching ServerBuilder.
  • SubscriptionStoreInterface gains reopen(), called by Server on attach, so a store reused on a new transport serves live streams again. See BREAKING_CHANGES.md.
  • A concurrent close() on the HTTP transports and InMemoryTransport now blocks until the close settles, matching stdio, and TransportInterface::close() documents the guarantee.
  • The extension contracts move into Server\Extension and Client\Extension, mirroring Core\Extension. See BREAKING_CHANGES.md.

Security

  • SubscriptionStore budgets streams per authorized peer (maxSubscriptionsPerPeer, default 256), so one OAuth client cannot exhaust the server-wide subscription cap. See BREAKING_CHANGES.md.

Full Changelog: v0.13.0...v0.14.0