go-streams

A lightweight stream processing library for Go

MIT License

Stars
1.9K
Committers
8

Bot releases are visible (Hide)

go-streams - v0.10.0 Latest Release

Published by reugn 9 months ago

⚠ BREAKING CHANGES

  • refactor!: replace uint parameter type with int; panic on invalid argument (#107)
  • feat!: make window and batch flows generic (#104)

Features

  • feat: implement batch with timeout flow (#103)

Fixes

  • fix: session window inactivity timer reset mechanism (#102)
  • fix: throttler functionality; improve code coverage (#101)
  • fix: use ticker time in sliding window (#100)
  • fix: close output channel properly in window flows (#99)

Improvements

  • refactor: make utility packages internal (#108)
  • refactor: replace empty interface with any (#105)
  • refactor: pre-allocate slice in flow.FanOut (#94)

Connectors

  • feat: implement Redis stream connector (#80)
  • refactor!: JetStream source and sink connectors (#109)
  • refactor!: Redis publish-subscribe connector (#79)
  • build: upgrade dependencies in connectors (#82)

Maintenance

  • docs: improve code documentation (#106)
  • ci: update action versions in workflows (#110)
go-streams - v0.9.0

Published by reugn almost 2 years ago

Features

  • Make SlidingWindow generic
  • Validate constructor parameters in SlidingWindow
  • Make the Split utility function generic

Fixes

  • Fix the SlidingWindow element assignment mechanism

Improvements

  • Add go1.18 to the CI build workflow
  • Improve test coverage
go-streams - v0.8.0

Published by reugn about 2 years ago

Features

  • Use generic transformation functions in Flows (#53)
  • Implement RoundRobin Flow (#38)
  • Implement Reduce Flow (#53)
  • Implement Flatten Flow (#53)
  • Require go 1.18

Fixes

  • Close the notify channel in Throttler (#41)
  • Fix sliding window emit bug (#50)

Improvements

  • Update GitHub actions versions
  • Remove deprecated linters
go-streams - v0.7.0

Published by reugn almost 3 years ago

Features

  • Implement Session Window flow
  • Update module dependencies

Fixes

  • Fix potential memory leak related to using time.After
  • Remove Mutex in Throttler
  • Fix minor bugs in connectors

Improvements

  • Migrate from Travis CI to GitHub Actions
  • Improve code documentation
go-streams - v0.6.3

Published by reugn almost 4 years ago

  • Add packages documentation
go-streams - v0.6.2

Published by reugn almost 4 years ago

  • Require the latest go-streams module in connectors
go-streams - v0.6.0

Published by reugn almost 4 years ago

  • Refactor package structure
  • Add WebSocket connector
go-streams - v0.5.2

Published by reugn about 4 years ago

  • Update dependencies
  • Verify implemented flows satisfy the Flow interface
go-streams - v0.5.1

Published by reugn about 4 years ago

  • Update dependencies
  • Improve code documentation
go-streams - v0.5.0

Published by reugn over 4 years ago

  • Add Aerospike connector
  • Resolve data loss issue in the sliding window flow
go-streams - v0.4.0

Published by reugn over 4 years ago

  • Migrate from Confluent to Sarama kafka client
  • Add signal channel to window flows
go-streams - v0.3.0

Published by reugn almost 5 years ago

  • Add Apache Pulsar connector
  • Add Network connector
go-streams - v0.2.0

Published by reugn about 5 years ago

  • Fix go lint warnings
  • Implement Filter flow
  • Improve test coverage