- Move to
dart-lang/tools
monorepo.
- Require package
web: '>=0.5.0 <2.0.0'
.
- Drop unneeded dependency on
package:js
. - Update the minimum Dart SDK version to
3.3.0
. - Support the latest
package:web
.
- Fix incorrect cast causing failure with
dart2wasm
.
- Update the minimum Dart SDK version to
3.2.0
.
- Send
fetch
requests instead ofXHR
requests. - Add an optional
debugKey
parameter toSseClient
to include in logging. - Add a dependency on
package:js
. - Update the minimum Dart SDK version to
2.16.0
.
- Apply
keepAlive
logic toSocketException
s. - Switch from using
package:pedantic
topackage:lints
- Rev the minimum required SDK to 2.15.
- Populate the pubspec
repository
field.
- Limit the number of concurrent requests to prevent Chrome from automatically dropping them on the floor.
- Support null safety.
- Require the latest shelf and remove dead code.
- Complete
onConnected
with an error if theSseClient
receives an error before the connection is successfully opened.
- Fix an issue where closing the
SseConnection
stream would result in an error.
- Add
onConnected
to replaceonOpen
. - Fix an issue where failed requests would not add a
done
event to the connectionsink
.
- Deprecate the client's
onOpen
getter. Messages will now be buffered until a connection is established.
- Drop dependency on
package:uuid
.
- Improve performance by buffering out of order messages in the server instead of the client.
** Note ** This is not modelled as a breaking change as the server can handle messages from older clients. However, clients should be using the latest server if they require order guarantees.
- Add new
shutdown
methods onSseHandler
andSseConnection
to allow closing connections immediately, ignoring any keep-alive periods.
- Remove
onClose
fromSseConnection
and ensure the correspondingsink.close
correctly fires.
- Add an
onClose
event to theSseConnection
. This allows consumers to listen to this event in lue ofsseConnection.sink.done
as that is not guaranteed to fire.
- Fix an issue where
keepAlive
may cause state errors when attempting to send messages on a closed stream.
- Fix an issue where
keepAlive
would only allow a single reconnection.
- Re-expose
isInKeepAlivePeriod
flag onSseConnection
. This flag will betrue
when a connection has been dropped and is in the keep-alive period waiting for a client to reconnect.
- Fix an issue where the
SseClient
would not send adone
event when there was an error with the SSE connection.
- Make
isInKeepAlive
onSseConnection
private.
Note that this is a breaking change but in actuality no one should be depending on this API.
- Add optional
keepAlive
parameter to theSseHandler
. IfkeepAlive
is supplied, the connection will remain active for this period after a disconnect and can be reconnected transparently. If there is no reconnect within that period, the connection will be closed normally.
- Add retry logic.
Possible Breaking Change Error messages may now be delayed up to 5 seconds in the client.
- Remove
package:http
dependency.
- Use proper headers delimiter.
- Support Firefox.
- Fix an issue where messages could come out of order.
- Support the latest
package:stream_channel
. - Require Dart SDK
>=2.1.0 <3.0.0
.
- Update to
package:uuid
version 2.0.
- No longer expose
close
andonClose
on anSseConnection
. This is simply handled by the underlyingstream
/sink
. - Fix a bug where resources of the
SseConnection
were not properly closed.
- Internal cleanup.
- Initial commit.