- Add groupId to context so the track events can related to both a user and distinct id and group
- Note: When updating to this version, verify the groupId is not being found using the Extra map. The new groupId field will now take precedence.
- add consistent panic error message
- Expose the Message interface Validate method
- return error if a custom type is enqueued
- Handle pointer types in Enqueue()
- message: update maxMessageBytes to 32KB
- Migrate from Circle V1 format to Circle V2
- Adds CLI for sending segment events
- Vendor packages back-go and uuid instead of using gitsubmodules
- 3.0 is a significant rewrite with multiple breaking changes.
- Quickstart.
- Documentation.
- GoDocs.
- What's New in v3.
- Add ability to set custom timestamps for messages.
- Add ability to set a custom
net/http
client. - Add ability to set a custom logger.
- Fix edge case when client would try to upload no messages.
- Properly upload in-flight messages when client is asked to shutdown.
- Add ability to set
.integrations
field on messages. - Fix resource leak with interval ticker after shutdown.
- Add retries and back-off when uploading messages.
- Add ability to set custom flush interval.
- rewrite with breaking API changes
- add public .Flush() method
- rename .Stop() to .Close()
- add client.Stop() to flash/wait. Closes #7
- fix response close
- change comments to be more go-like
- change uuid libraries
- add runnable example
- fix: close body
- refactor locking
- replace Debug option with debug package
- add .Start()
- add mutexes
- rename BufferSize to FlushAt and FlushInterval to FlushAfter
- lower FlushInterval to 5 seconds
- lower BufferSize to 20 to match other clients