Releases: IBM/sarama
Version 1.30.0 (2021-09-29)
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
- @zifengyu made their first contribution in #1983
- @doxsch made their first contribution in #1990
- @LubergAlexander made their first contribution in #1988
- @HurSungYun made their first contribution in #2001
- @gdm85 made their first contribution in #2003
- @qiangmzsx made their first contribution in #1973
- @zhaomoran made their first contribution in #1992
- @faillefer made their first contribution in #2006
- @crivera-fastly made their first contribution in #1718
- @null-sleep made their first contribution in #1984
Full Changelog: v1.29.1...v1.30.0
Version 1.29.1 (2021-06-24)
New Features / Improvements
- #1966 - @ajanikow - KIP-339: Add Incremental Config updates API
- #1964 - @ajanikow - Add DelegationToken ResourceType
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)
New Features / Improvements
- #1917 - @arkady-emelyanov - KIP-554: Add Broker-side SCRAM Config API
- #1869 - @wyndhblb - zstd: encode+decode performance improvements
- #1541 - @izolight - add String, (Un)MarshalText for acl types.
- #1921 - @bai - Add support for Kafka 2.8.0
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)
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
Version 1.27.2 (2020-10-21)
Improvements
#1750 - @krantideep95 Adds missing mock responses for mocking consumer group
Fixes
#1817 - reverts #1785 - Add private method to Client interface to prevent implementation
Version 1.27.1 (2020-10-07)
Improvements
#1775 - @d1egoaz - Adds a Producer Interceptor example
#1781 - @justin-chen - Refresh brokers given list of seed brokers
#1784 - @justin-chen - Add randomize seed broker method
#1790 - @d1egoaz - remove example binary
#1798 - @bai - Test against Go 1.15
#1785 - @justin-chen - Add private method to Client interface to prevent implementation
#1802 - @uvw - Support Go 1.13 error unwrapping
Fixes
#1791 - @stanislavkozlovski - bump default version to 1.0.0
Version 1.27.0 (2020-08-11)
Improvements
#1466 - @rubenvp8510 - Expose kerberos fast negotiation configuration
#1695 - @KJTsanaktsidis - Use docker-compose to run the functional tests
#1699 - @wclaeys - Consumer group support for manually comitting offsets
#1714 - @bai - Bump Go to version 1.14.3, golangci-lint to 1.27.0
#1726 - @d1egoaz - Include zstd on the functional tests
#1730 - @d1egoaz - KIP-42 Add producer and consumer interceptors
#1738 - @varun06 - fixed variable names that are named same as some std lib package names
#1741 - @varun06 - updated zstd dependency to latest v1.10.10
#1743 - @varun06 - Fixed declaration dependencies and other lint issues in code base
#1763 - @alrs - remove deprecated tls options from test
#1769 - @bai - Add support for Kafka 2.6.0
Fixes
#1697 - @kvch - Use gofork for encoding/asn1 to fix ASN errors during Kerberos authentication
#1744 - @alrs - Fix isBalanced Function Signature
Version 1.26.4 (2020-05-19)
Version 1.26.3 (2020-05-07)
Version 1.26.2 (2020-05-06)
⚠️ Known Issues
This release has been marked as not ready for production and may be unstable, please use v1.26.4.
Improvements
- #1560 - @iyacontrol - add sync pool for gzip 1-9
- #1605 - @dnwe - feat: protocol support for V11 fetch w/ rackID
- #1617 - @sladkoff / @dwi-di / @random-dwi - Add support for alter/list partition reassignements APIs
- #1632 - @bai - Add support for Go 1.14
- #1640 - @random-dwi - Feature/fix list partition reassignments
- #1646 - @mimaison - Add DescribeLogDirs to admin client
- #1667 - @bai - Add support for kafka 2.5.0
Fixes
- #1594 - @sladkoff - Sets ConfigEntry.Default flag in addition to the ConfigEntry.Source for Kafka versions > V1_1_0_0
- #1601 - @alrs - fix: remove use of testing.T.FailNow() inside goroutine
- #1602 - @d1egoaz - adds a note about consumer groups Consume method
- #1607 - @darklore - Fix memory leak when Broker.Open and Broker.Close called repeatedly
- #1613 - @wblakecaldwell - Updated "retrying" log message when BackoffFunc implemented
- #1614 - @alrs - produce_response.go: Remove Unused Functions
- #1619 - @alrs - tools/kafka-producer-performance: prune unused flag variables
- #1639 - @agriffaut - Handle errors with no message but error code
- #1643 - @kzinglzy - fix
config.net.keepalive
- #1644 - @KJTsanaktsidis - Fix brokers continually allocating new Session IDs
- #1645 - @Stephan14 - Remove broker(s) which no longer exist in metadata
- #1650 - @lavoiesl - Return the response error in heartbeatLoop
- #1661 - @KJTsanaktsidis - Fix "broker received out of order sequence" when brokers die
- #1666 - @KevinJCross - Bugfix: Allow TLS connections to work over socks proxy.