Name | Description | Introduced in Version |
---|---|---|
GoLang - Provide Ability to NACK a Specific AD Message and Force Re-delivery | The Messaging API for Go now supports message NACK. | 1.8.0 |
Go - API Support To Compress Payload | The Go API now supports end-to-end payload compression. Sessions can now be optionally configured to compress the payload of every message on a message-by-message basis. While enabling this feature severely impacts API performance for small messages and significantly impacts API performance for larger messages, it has a positive impact on Event Broker performance and message-spool usage. | 1.7.0 |
Go - Support For Removing Durable Endpoints | Applications using the Go API can now dynamically add and remove durable endpoints. | 1.7.0 |
Go - Request Reply | The API now supports the request/reply messaging pattern with helper methods to await response from a replier. | 1.6.0 |
Go API - Distributed Tracing - Context Propagation | Enables adding and extracting tracing metadata attached to events published and received by the Solace Go API. | 1.5.0 |
Go API - Update API License Agreement | We have simplified the API license text, and clarified that distributing works containing the Solace APIs is allowed. | 1.5.0 |
Go API - Available for ARM Linux | The Go API now supports development and deployment on platforms that use ARM processors. | 1.4.0 |
Go API - Support for Partitioned Queues | This enhancement adds support for Partitioned Queues to the API. Partitioned Queues expand PubSub+ to provide deterministic, ordered, and non-exclusive message delivery for customers to scale the number of consumers when publishing ordered datasets. The ordered datasets are keyed to ensure all events in the dataset are sent to the same consumer without mis-ordering events. This feature requires PubSub+ Event Broker support. Support for this feature was introduced to the Event Broker in release 10.4.0. | 1.3.0 |
Go API - Available for Mac M-Series Processors | The GO API now supports development and deployment on platforms that use MAC M-series processors. | 1.3.0 |
Golang API - Add Way to Update OAuth Token on Reconnection | This feature allows an application to automatically update the OAuth token without the need to create a new session the next time the API tries to reconnect. | 1.2.0 |
Go - Add Support for Alpine | The API now supports Alpine Linux, allowing developers to build and deploy applications using the API on this platform. | 1.1.0 |
Go API MVP (GA) Direct & Guaranteed Messaging | This is the first release of the PubSub+ Messaging API for Go. Solace created this API to support the growing Go ecosystem and to address customer demand to create applications in Go that can take advantage of the broad features of PubSub+. This API provides support for all deployments of PubSub+ across software, appliance, and cloud.
This version contains a feature set that allows for the common messaging patterns like publish/subscribe using Direct Messaging and Guaranteed Messaging. Future versions of the Go API will introduce more features as Solace builds out the roadmap for this API.
The Go API 1.0.0 supports:
* Connection management to PubSub+ Event Brokers
* Addition and removal of topic subscriptions
* Sending and receiving Direct and Guaranteed Messages
* Message compression
* Use of Selectors
* Message Replay
* Structured data types that allow interoperability between various architectures and programming languages
* Provisioning of persistent (durable) endpoints
* Kerberos authentication
* OAuth 2.0 authentication
The Go API 1.0.0 does not support the following:
* PubSub+ Cache Client API support
* Request/Reply message exchange pattern
* Session Transactions
* XA Transactions
* Queue browsing | 1.0.0 |
Reference Number | Description | Resolved in Version |
---|---|---|
SOL-117431 | The PubSubPlus-go-client can cause stack frame exceptions such as invalid pointer on stack. These occur when an application chooses to use multiple goroutines that share a single messaging service to create multiple receivers (direct or persistent) in parallel. Workaround: Isolate receiver creation and start to your main goroutine in early versions of pubsubplus-go-client. | 1.6.1 |
SOL-116516 | The Go API may attempt an out of bounds write within Open Telemetry methods. | 1.6.0 |
SOL-85837 | DirectMessagePublisher instances may return errors on Publish if multiple goroutines are publishing on the same publisher instance at the same time. | 1.2.0 |
SOL-75835 | InboundMessage.GetApplicationMessageID() was returning the Application Message Type instead of Application Message ID. The method now returns the Application Message ID as expected. | 1.1.0 |
SOL-68147 | Solace PubSub+ Messaging API for Go does not vendor all required packages when using 'go mod vendor'. | 1.0.1 |
Reference Number | Description | Introduced in Version |
---|---|---|
SOL-91687 | The C, .Net, JavaRTO, Go, and Python APIs no longer bundle OpenSSL libraries on Linux platforms. For all other platforms, the bundled OpenSSL libraries have been updated to OpenSSL 3.0. For more information, refer to the Supported Environments page in our customer documentation. | 1.7.0 |
SOL-95357 | The API has been updated to decode "400 Invalid Queue or Topic Endpoint Durability" broker response. For more information, see: | 1.7.0 |
SOL-66702 | The API has been updated to decode all broker response codes as of broker version 10.1.1. | 1.1.0 |
Reference Number | Description |
---|---|
SOL-128034 | Due to Go issue 600296, the Solace Go API may terminate due to 'stack split at bad time' on Alpine platforms when running Go runtime v1.22.5 or newer. Solace recommends v1.22.4 or earlier until this issue is resolved in the Go runtime. |