Releases: launchdarkly/eventsource
Releases · launchdarkly/eventsource
v1.8.0
v1.7.1
[1.7.1] - 2022-05-10
Fixed:
- In the SSE server implementation, removed string concatenation logic that caused writing of large messages to be unnecessarily memory-intensive. (Thanks, moshegood!)
- The SSE server implementation did not correctly write a message if the data field was empty: it dropped the field entirely, which would cause clients not to read the message.
1.7.0
[1.7.0] - 2022-01-05
This release includes improvements for SSE spec compliance that do not affect usage in the LaunchDarkly Go SDK, but may be relevant in other use cases.
Added:
- Each event returned by the client now includes the last event ID that was seen on this stream (if any), rather than only the ID (if any) that was in that particular event. This is a requirement of the SSE spec. For backward compatibility,
Event.Id()
still has the old behavior of returning only the ID for that event; the new behavior is in a new interface method,EventWithLastID.LastEventID()
. Every event returned by the client implements bothEvent
andEventWithLastID
.
Changed:
- CI tests now use the latest
v2
release of https://github.com/launchdarkly/sse-contract-tests.
Fixed:
- The client should discard any
id:
field that contains a null character, as per the SSE spec.
1.6.2
[1.6.2] - 2020-12-02
Fixed:
- Removed extra newline from "Reconnecting in..." log message.
1.6.1
[1.6.1] - 2020-07-23
Changed:
Server.Handler()
now uses the standardcontext.Context
mechanism to detect when a request has been cancelled, instead of the deprecatedhttp.CloseNotifier
.
1.6.0
[1.6.0] - 2020-07-23
Added:
Server.Unregister
method for removing aRepository
registration and optionally forcing clients to disconnect.Server.PublishWithAcknowledgement
method for ensuring that an action does not happen until an event has been dispatched.
Fixed:
- Fixed a race condition in which
Server
might close a channel while another goroutine is trying to write to it. This would happen if you registered aRepository
that replays events, started a handler, then closed theServer
while the events were still replaying. - Improved unit test coverage.
1.5.0
[1.5.0] - 2020-07-15
Added:
Server.MaxConnTime
is an optional setting to make theServer
automatically close any stream connection that has stayed open for at least that amount of time. This may be useful in preventing server instances from accumulating too many connections in a load-balanced environment.
1.4.3
[1.4.3] - 2020-07-07
Changed:
- The only changes in this release are to the test dependencies, to avoid bringing in unnecessary transitive dependencies such as
go-sdk-common
. Some of the test dependencies are now modules that can only be used in Go 1.13+, which means that the test build for this project only runs in Go 1.13+, but it can still be imported by projects that use older Go versions.
1.4.2
[1.4.2] - 2020-06-04
Added:
- Added
go.mod
so this package can be consumed as a module. This does not affect code that is currently consuming it viago get
,dep
, orgovendor
.
1.4.1
[1.4.1] - 2020-03-27
Fixed:
- An error in the backoff logic added in v1.4.0 could cause a panic after many successive retries, due to the exponential backoff value exceeding
math.MaxInt64
resulting in a negative number being passed torandom.Int63n
.