All notable changes to govici will be documented in this file.
The format is based on Keep a Changelog.
- Re-factor transport into clientConn type that is context-aware.
- Add safePutUint{8,16,32} helpers to avoid potential overflow bugs.
v0.7.0 - 2023-02-24
- Fix a bug where mutex may not be Unlock()'d in Session.Close().
- Make sure registered event channels are closed when the event listener exits: #46.
- Prevent panics after closing the session.
- Set GOOS appropriate defaults at build time.
- Bring the CI up to date and fix some linting errors.
- Lazily start the event listener loop the first time Subscribe() is called.
- Session.NextEvent API.
- MessageStream type.
v0.6.0 - 2022-01-19
- Session.NotifyEvents API.
- Session.StopEvents API.
- NewMessageStream function.
- More package-level documentation for pkg.go.dev page.
- NextEvent will not block if it receives an event and the event channel buffer is full.
- NextEvent is deprecated in favor of NotifyEvents, and will be removed prior to v1.0.
- MessageStream type is deprecated, and will be removed prior to v1.0.
- Fix an error message related to trying to unmarshal into the wrong type.
v0.5.2 - 2021-08-24
- Fixed #34.
- Simplified event error handling code, and event listener control flow.
v0.5.1 - 2021-04-12
- GitHub workflows.
- Event listener does not send unnecessary errors to event channel.
- Simplified some internal functions, like packet.isNamed() and Message.elements().
v0.5.0 - 2020-09-14
- New
inline
tag option for inlining embedded structs. - Explicitly define "empty" message element so that it is clear when a field will not be marshaled into a Message.
v0.4.1 - 2020-08-10
- Behavior of handling io.EOF error in event listener to avoid potential deadlock.
v0.4.0 - 2020-07-03
- CHANGELOG.md particularly to help track API changes pre-v1.0.0.
- Session.Subscribe/Unsubscribe/UnsubscribeAll APIs for event subscription.
- WithAddr SessionOption to specify address that charon is listening on.
- WithDialContext SessionOption to provide a dial func to Session.
- Expose Event type with exported Name and Message fields.
- Add a timestamp to Event type.
- Behavior of event registration. Package users can now subscribe/unsubscribe at any time while the Session is active.
- Event listener is always active, and the same listen() loop now services event registration responses as well as event packets.
- NextEvent accepts a context.Context so that it can be cancelled by the caller.
- Session.Listen API.