Skip to content

Releases: IBM/sarama

Version 1.34.0 (2022-05-30)

30 May 11:57
53e77a4
Compare
Choose a tag to compare

What's Changed

🎉 New Features / Improvements

🐛 Fixes

  • fix: KIP-368 use receiver goroutine to process all sasl v1 responses by @k-wall in #2234

🔧 Maintenance

  • chore(deps): bump module github.com/pierrec/lz4 to v4 by @dnwe in #2231
  • chore(deps): bump golang.org/x/net digest to 2e3eb7b by @dnwe in #2232

New Contributors

Full Changelog: v1.33.0...v1.34.0

Version 1.33.0 (2022-05-11)

11 May 20:53
54a84a7
Compare
Choose a tag to compare

What's Changed

🚨 Breaking Changes

Note: with this change, the user of Sarama is required to use Go 1.13's errors.Is etc (rather then ==) when forming conditionals returned by this library.

  • feat: make ErrOutOfBrokers wrap the underlying error that prevented connections to the brokers by @k-wall in #2131

🎉 New Features / Improvements

  • feat(message): add UnmarshalText method to CompressionCodec by @vincentbernat in #2172
  • KIP-368 : Allow SASL Connections to Periodically Re-Authenticate by @k-wall in #2197
  • feat: add batched CreateACLs func to ClusterAdmin by @nkostoulas in #2191

🐛 Fixes

  • fix: TestRecordBatchDecoding failing sporadically by @k-wall in #2154
  • feat(test): add an fvt for broker deadlock by @dnwe in #2144
  • fix: avoid starvation in subscriptionManager by @dnwe in #2109
  • fix: remove "Is your cluster reachable?" from msg by @dnwe in #2165
  • fix: remove trailing fullstop from error strings by @dnwe in #2166
  • fix: return underlying sasl error message by @dnwe in #2164
  • fix: potential data race on a global variable by @pior in #2171
  • fix: AdminClient | CreateACLs | check for error in response, return error if needed by @omris94 in #2185
  • producer: ensure that the management message (fin) is never "leaked" by @niamster in #2182
  • fix: prevent RefreshBrokers leaking old brokers by @k-wall in #2203
  • fix: prevent RefreshController leaking controller by @k-wall in #2204
  • fix: prevent AsyncProducer retryBatch from leaking by @k-wall in #2208
  • fix: prevent metrics leak when authenticate fails by @Stephan14 in #2205
  • fix: prevent deadlock between subscription manager and consumer goroutines by @niamster in #2194
  • fix: prevent idempotent producer epoch exhaustion by @ladislavmacoun in #2178
  • fix(test): mockbroker offsetResponse vers behavior by @dnwe in #2213
  • fix: cope with OffsetsLoadInProgress on Join+Sync by @dnwe in #2214
  • fix: make default MaxWaitTime 500ms by @dnwe in #2227

📦 Dependency updates

  • chore(deps): bump xdg-go/scram and klauspost/compress by @dnwe in #2170

🔧 Maintenance

  • fix(test): skip TestReadOnlyAndAllCommittedMessages by @dnwe in #2161
  • fix(test): remove t.Parallel() by @dnwe in #2162
  • chore(ci): bump along to Go 1.17+1.18 and bump golangci-lint by @dnwe in #2183
  • chore: switch to multi-arch compatible docker images by @dnwe in #2210

➕ Other Changes

  • Remediate a number go-routine leaks (mainly test issues) by @k-wall in #2198
  • chore: retract v1.32.0 due to #2150 by @dnwe in #2199
  • chore: bump functional test timeout to 12m by @dnwe in #2200
  • fix(admin): make DeleteRecords err consistent by @dnwe in #2226

New Contributors

Full Changelog: v1.32.0...v1.33.0

Version 1.32.0 (2022-02-24)

24 Feb 16:39
9baf7a6
Compare
Choose a tag to compare

⚠️ This release has been superseded by v1.33.0 and should not be used.


What's Changed

🐛 Fixes

  • Fix deadlock when closing Broker in brokerProducer by @slaunay in #2133

📦 Dependency updates

  • chore: refresh dependencies to latest by @dnwe in #2159

🔧 Maintenance

  • fix: rework RebalancingMultiplePartitions test by @dnwe in #2130
  • fix(test): use Sarama transactional producer by @dnwe in #1939
  • chore: enable t.Parallel() wherever possible by @dnwe in #2138

➕ Other Changes

  • chore: restrict to 1 testbinary at once by @dnwe in #2145
  • chore: restrict to 1 parallel test at once by @dnwe in #2146
  • Remove myself from codeowners by @bai in #2147
  • chore: add retractions for known bad versions by @dnwe in #2160

Full Changelog: v1.31.1...v1.32.0

Version 1.31.1 (2022-02-01)

01 Feb 10:21
@bai bai
e35ee3f
Compare
Choose a tag to compare

What's Changed

🎉 New Features / Improvements

  • feat: add method MockApiVersionsResponse.SetApiKeys by @wuhuizuo in #2117
  • Expose the TLS connection state of a broker connection by @seveas in #2051
  • feat: add methods to pause/resume consumer's consumption by @raulnegreiros in #2005

🐛 Fixes

  • fix: ensure heartbeats only stop after cleanup by @dnwe in #2110

📦 Dependency updates

  • Update klauspost/compress to 0.14 by @bai in #2123

🔧 Maintenance

  • Fix typo by @mosceo in #2113
  • Add Kafka 3.1.0 version number by @bai in #2119
  • fix(test): make it simpler to re-use toxiproxy by @dnwe in #2122
  • Add Kafka 3.1.0 to CI matrix, migrate to bitnami kafka image by @bai in #2124
  • Populate missing kafka versions by @bai in #2126
  • Backport missing changelog entries from 1.28 onwards by @bai in #2127

New Contributors

Full Changelog: v1.31.0...v1.31.1

Version 1.31.0 (2022-01-18)

18 Jan 22:37
40ab0cd
Compare
Choose a tag to compare

What's Changed

🎉 New Features / Improvements

  • feat: expose IncrementalAlterConfigs API in admin.go by @fengyinqiao in #2088
  • feat: allow AsyncProducer to have MaxOpenRequests inflight produce requests per broker by @xujianhai666 in #1686
  • Support request pipelining in AsyncProducer by @slaunay in #2094

🐛 Fixes

  • fix(test): add fluent interface for mocks where missing by @grongor in #2080
  • fix(test): test for ConsumePartition with OffsetOldest by @grongor in #2081
  • fix: set HWMO during creation of partitionConsumer (fix incorrect HWMO before first fetch) by @grongor in #2082
  • fix: ignore non-nil but empty error strings in Describe/Alter client quotas responses by @agriffaut in #2096
  • fix: skip over KIP-482 tagged fields by @dnwe in #2107
  • fix: clear preferredReadReplica if broker shutdown by @dnwe in #2108
  • fix(test): correct wrong offsets in mock Consumer by @grongor in #2078
  • fix: correct bugs in DescribeGroupsResponse by @dnwe in #2111

🔧 Maintenance

  • chore: bump runtime and test dependencies by @dnwe in #2100

📝 Documentation

  • docs: refresh README.md for Kafka 3.0.0 by @dnwe in #2099

➕ Other Changes

New Contributors

Full Changelog: v1.30.1...v1.31.0

Version 1.30.1 (2021-12-04)

04 Dec 20:23
635bcf3
Compare
Choose a tag to compare

What's Changed

🎉 New Features / Improvements

  • feat(zstd): pass level param through to compress/zstd encoder by @lizthegrey in #2045

🐛 Fixes

  • fix: set min-go-version to 1.16 by @troyanov in #2048
  • logger: fix debug logs' formatting directives by @utrack in #2054
  • fix: stuck on the batch with zero records length by @pachmu in #2057
  • fix: only update preferredReadReplica if valid by @dnwe in #2076

🔧 Maintenance

Notes

  • ℹ️ from Sarama 1.30.x onward the minimum version of Go toolchain required is 1.16.x

New Contributors

Full Changelog: v1.30.0...v1.30.1

Version 1.30.0 (2021-09-29)

29 Sep 11:56
@bai bai
712b6bb
Compare
Choose a tag to compare

⚠️ This release has been superseded by v1.30.1 and should not be used.

regression: enabling rackawareness causes severe throughput drops (#2071) — fixed in v1.30.1 via #2076


ℹ️ Note: from Sarama 1.30.0 the minimum version of Go toolchain required is 1.16.x


New Features / Improvements

  • #1983 - @zifengyu - allow configure AllowAutoTopicCreation argument in metadata refresh
  • #2000 - @matzew - Using xdg-go module for SCRAM
  • #2003 - @gdm85 - feat: add counter metrics for consumer group join/sync and their failures
  • #1992 - @zhaomoran - feat: support SaslHandshakeRequest v0 for SCRAM
  • #2006 - @faillefer - Add support for DeleteOffsets operation
  • #1909 - @agriffaut - KIP-546 Client quota APIs
  • #1633 - @aldelucca1 - feat: allow balance strategies to provide initial state
  • #1275 - @dnwe - log: add a DebugLogger that proxies to Logger
  • #2018 - @dnwe - feat: use DebugLogger reference for goldenpath log
  • #2019 - @dnwe - feat: add logging & a metric for producer throttle
  • #2023 - @dnwe - feat: add Controller() to ClusterAdmin interface
  • #2025 - @dnwe - feat: support ApiVersionsRequest V3 protocol
  • #2028 - @dnwe - feat: send ApiVersionsRequest on broker open
  • #2034 - @bai - Add support for kafka 3.0.0

Fixes

  • #1990 - @doxsch - fix: correctly pass ValidateOnly through to CreatePartitionsRequest
  • #1988 - @LubergAlexander - fix: correct WithCustomFallbackPartitioner implementation
  • #2001 - @HurSungYun - docs: inform AsyncProducer Close pitfalls
  • #1973 - @qiangmzsx - fix: metrics still taking up too much memory when metrics.UseNilMetrics=true
  • #2007 - @bai - Add support for Go 1.17
  • #2009 - @dnwe - fix: enable nilerr linter and fix iferr checks
  • #2010 - @dnwe - chore: enable exportloopref and misspell linters
  • #2013 - @faillefer - fix(test): disable encoded response/request check when map contains multiple elements
  • #2015 - @bai - Change default branch to main
  • #1718 - @crivera-fastly - fix: correct the error handling in client.InitProducerID()
  • #1984 - @null-sleep - fix(test): bump confluentPlatformVersion from 6.1.1 to 6.2.0
  • #2016 - @dnwe - chore: replace deprecated Go calls
  • #2017 - @dnwe - chore: delete legacy vagrant script
  • #2020 - @dnwe - fix(test): remove testLogger from TrackLeader test
  • #2024 - @dnwe - chore: bump toxiproxy container to v2.1.5
  • #2033 - @bai - Update dependencies
  • #2031 - @gdm85 - docs: do not mention buffered messages in sync producer Close method
  • #2035 - @dnwe - chore: populate the missing kafka versions
  • #2038 - @dnwe - feat: add a fuzzing workflow to github actions

New Contributors

Full Changelog: v1.29.1...v1.30.0

Version 1.29.1 (2021-06-24)

24 Jun 10:18
0676fc2
Compare
Choose a tag to compare

New Features / Improvements

Fixes

  • #1962 - @hanxiaolin - fix(consumer): call interceptors when MaxProcessingTime expire
  • #1971 - @KerryJava - fix kafka-producer-performance throughput panic
  • #1968 - @dnwe - chore: bump golang.org/x versions
  • #1956 - @joewreschnig - Allow checking the entire ProducerMessage in the mock producers
  • #1963 - @dnwe - fix: ensure backoff timer is re-used
  • #1949 - @dnwe - fix: explicitly use uint64 for payload length

Version 1.29.0 (2021-05-07)

07 May 12:44
83d633e
Compare
Choose a tag to compare

New Features / Improvements

Fixes

  • #1936 - @dnwe - fix(consumer): follow preferred broker
  • #1933 - @ozzieba - Use gofork for encoding/asn1 to fix ASN errors during Kerberos authentication
  • #1929 - @celrenheit - Handle isolation level in Offset(Request|Response) and require stable offset in FetchOffset(Request|Response)
  • #1926 - @dnwe - fix: correct initial CodeQL findings
  • #1925 - @bai - Test out CodeQL
  • #1923 - @bestgopher - Remove redundant switch-case, fix doc typos
  • #1922 - @bai - Update go dependencies
  • #1898 - @mmaslankaprv - Parsing only known control batches value
  • #1887 - @withshubh - Fix: issues affecting code quality

Version 1.28.0 (2021-02-15)

15 Feb 10:50
@bai bai
a7eb541
Compare
Choose a tag to compare

Note that with this release we change RoundRobinBalancer strategy to match Java client behavior. See #1788 for details.

  • #1870 - @kvch - Update Kerberos library to latest major
  • #1876 - @bai - Update docs, reference pkg.go.dev
  • #1846 - @wclaeys - Do not ignore Consumer.Offsets.AutoCommit.Enable config on Close
  • #1747 - @XSAM - fix: mock sync producer does not handle the offset while sending messages
  • #1863 - @bai - Add support for Kafka 2.7.0 + update lz4 and klauspost/compress dependencies
  • #1788 - @kzinglzy - feat[balance_strategy]: announcing a new round robin balance strategy
  • #1862 - @bai - Fix CI setenv permissions issues
  • #1832 - @ilyakaznacheev - Update Godoc link to pkg.go.dev
  • #1822 - @danp - KIP-392: Allow consumers to fetch from closest replica