Transport Go Versions Save

Transport is a full stack, simple, fast, expandable application event bus for your applications. It provides a standardized and simple API, implemented in multiple languages, to allow any individual component inside your applications to talk to one another. This is the Golang implementation of the Transport library.

v1.3.4

2 years ago

Change logs

Fixes

  • (Transport) Fix UUID equality check bug (#45)
  • (Plank) Fix concurrent map write bug in REST bridge config (#49)

Changes/Improvements

  • (Plank) Disable boot image by default (#48)
  • (Transport) Improve response payload casting operation (#50)

v1.3.3

2 years ago

Change logs

Fixes

  • (Plank) Inability to connect to STOMP server over TCP is now fixed (#42)
  • (Transport) STOMP broker TCP listener's logic was improved to not throw errors during shutdown

New

  • (Transport) Add SendBroadcastMessage() bus method (#41)
  • (Transport) Add method to Message to cast to a given type (#43)

Changes/Improvements

  • (Plank) Use better API provider for StockTickerService (#28)

v1.3.2

2 years ago

Plank Change logs

Bugfixes and other changes

  • Poor REST bridge performance was fixed
  • Internal property to reference the bus instance was added for improved parallel test stability

Improvements

  • You can now set "null" as a log destination value for --access-log, --output-log and --error-log flags to completely suppress logging for lower IO latency
  • Profiler runs at port 6060 at /debug/pprof/ with various profiles to debug your application with. See https://golang.org/doc/diagnostics to learn more about pprof

v1.3.1

2 years ago

Change logs

Aesthetic & minor improvements

  • Small improvements to Stock Ticker service (#21)
  • Display new logo in ANSI image with Pixterm (#22)
  • fix: exit properly when err is returned in sample app

New sample service for Plank

  • Added a new simple-stream-service example (#23)
  • Added new Joke Service to plank, AsyncAPI Contract build out and updates to headers. (#24)

Bugfixes and changes

  • fix: bus should notify UNSUBSCRIBE events (#25)
  • fix: files are not properly served in SPA (#26)
  • fix: websocket endpoint overwritten by SpaConfig (#27)
  • chore: Consolidate go.mod into one file (#30)

v1.3.0

2 years ago

Change logs

(new) Plank

  • Plank is a lightweight server module available as part of Transport v1.3.0 that is written on top of Transport Go which makes writing a microservice a breeze
  • Please check out README to read about Plank and to get started

STOMP server package fixes and improvements

  • (new) Fabric server now emits STOMP session connect/disconnect events to an internal Bus channel so services could make actions based on those events
  • (change) internal struct connEvent is made public to support the STOMP session event propagation
  • (fix) Subscribing to internal bus channels via WebSocket is now prohibited to protect internal communication from being exposed to clients
  • (fix) Sending payloads to topic or queue channels from clients over WebSocket is now prohibited. Messages from the client should always be sent to /pub or /pub/queue channels.

v1.2.0

2 years ago

NOTE: This release includes breaking changes

Change logs

Service Lifecycle Manager - https://github.com/vmware/transport-go/pull/12

  • (new) Ability to specify lifecycle hooks on Fabric Services via ServiceLifecycleManager. (prerequisite before Plank module can be merged into main branch)

Broker API improvements - https://github.com/vmware/transport-go/pull/13

  • (change) BrokerConnectorConfig updated with new options to allow customizing various parameters for broker connection such as TLS, STOMP heartbeat and extra headers for WebSocket upgrade and/or CONNECT message frames
  • (change) BridgeClient 's Connect() method signature changed to accept *BrokerConnectorConfig instead of http.Header for more precise controlling of connection and handshake behaviors
  • (change) SendMessage() signature on Connection interface changed to specify the MIME type of the payload. To provide the same previous behavior a new method named SendJSONMessage() was added
  • (new) Frame handlers can now be specified as an optional list as the last parameters of the SendMessage() method to pre-process messages before sent over to the broker

Notes

  • While BridgeClient's Connnect() method had a change in function signature, it is not encouraged for users to consume it directly. Use BrokerConnector that handles low level details for you

v1.1.0

3 years ago

Sending errors with headers and payloads were not defined as interfaces in the fabric core service (used for building bus based services). This corrects this, also the readme is updated, references to internal VMware hostnames have been removed.

v1.0.0

3 years ago

Our initial release of Transport for golang v1.0