Skip to content

v0.8.10

Choose a tag to compare

@panyam panyam released this 24 Oct 23:24
· 82 commits to main since this release

v0.8.10

A dependency release. mcpkit moves to servicekit v0.2.0, which is a breaking release of its own,
along with massrelay v0.3.2 and demokit v0.0.33, both of which only move to it too. Nothing in
mcpkit's own API changed, but server.WithEventStore takes servicekit's EventStore, so a custom
store has to follow servicekit's new Replay signature.

Changed

  • servicekit v0.2.0 in every module (was v0.1.12). (PR 1631)
    • EventStore.Replay returns iter.Seq2[StoredEvent, error] instead of a slice. The SSE and
      streamable transports range over it when a client reconnects with Last-Event-ID, writing each
      event as it comes and stopping at the first error. servicekit's MemoryEventStore no longer
      holds its lock while the transport writes.
    • ConnId() and ConnIdStr became ConnID() and ConnIDStr. Only server/ used them.
  • massrelay v0.3.2 in experimental/ext/rooms/massrelay (was v0.3.1). No API or wire change.
    (PR 1631)
  • @panyam/mcpkit-rooms depends on @panyam/massrelay ^0.3.2 and
    @panyam/servicekit-client ^0.2.0. Its README now gives those minimums, and says what v0.8.9's
    massrelay v0.3 move means for an older page, which the 0.8.9 package shipped without. (PRs 1630,
    1631)

Upgrading downstream

  • agni:
    • Go: experimental/ext/rooms, …/rooms/massrelay and …/integrations/roomsevents at
      v0.8.10. If agni requires servicekit itself, it goes to v0.2.0 with this, and the renames in
      servicekit's UPGRADING.md apply to agni's own code.
    • Browser: @panyam/mcpkit-rooms@0.8.10. No change from 0.8.9 on the wire.
  • Anyone passing their own store to server.WithEventStore: implement Replay as an iterator,
    as servicekit's UPGRADING.md describes. gohttp.NewMemoryEventStore needs no change.
  • Anyone on servicekit directly: v0.2.0 also moves the proto codecs to http/protocodec,
    connectbridge to the hybrid module, and deletes auth/. mcpkit used none of those.