Suborbital Grav Versions Save

Embedded decentralized message bus

v0.5.1

2 years ago

Grav will now fall back to raw data when the incoming message is not in the expected format.

v0.5.0

2 years ago

Grav Beta-5 introduces a number of new abilities—Grav instances can now withdraw from the mesh, self-identify as belonging to a group, broadcast capabilities, and tunnel messages to other Grav instances that have broadcasted certain capabilities.

v0.4.2

2 years ago

Grav 0.4.2 brings a new Kafka bridge transport to allow for Grav-over-Kafka!

v0.4.1

2 years ago

Grav Beta-4.1 improves bridge transport plugins by ensuring only connected topics get sent to the bridge connection.

v0.4.0

2 years ago

Grav Beta-4 brings changes to Transport plugins, allowing two types of Transport; mesh and bridge. The first bridge transport is a NATS plugin, which is included in this release.

v0.3.3

2 years ago

Grav Beta-3.3 brings some small internal changes and makes the MsgBuffer type public, which can be useful for keeping a list of most recent messages available for access.

v0.3.2

3 years ago

This is a patch release to fix a concurrent-write issue with the Websocket Transport plugin that could cause a panic in rare cases.

v0.3.1

3 years ago

This release addresses a panic in the Websocket Transport when a connection fails to Dial.

v0.3.0

3 years ago

This release re-imagines Transport and Discovery plugins to make them easier than ever to build. Grav now keeps track of state on behalf of the plugins, making them "stateless". This release does not contain any breaking changes.

This release also includes the new Grav guide!

v0.2.0

3 years ago

This release contains some big improvements to the ergonomics of the Grav API. It is a breaking change.

The big update is with how message replies and timeouts are handled.

Methods that previously took a timeout now have an *Until variant instead such that timeouts are completely optional.

What was previously called MessageTicket is now called MsgReceipt and has become a "smart" type that is created whenever a message is sent. A receipt is an extension of the pod that sent the original message, and methods on this type allow for receiving replies to the sent message. For example:

pod.Send(msg).WaitOn(func(msg Message) {
    // get your reply here!
})

WaitUntil and OnReply (async variant) are also available.