v5.2.3
A reliability patch for Kafka snapshots, test isolation, listener readiness and record assertions.
Highlights
- 01
Snapshots read the complete topic state
Snapshot reads now cover every partition offset, and topic assertions compare records without relying on a greedy matching order.
- 02
Tests isolate their Kafka resources
Wiretap tracks resources it creates separately from pre-existing topics and groups, and removes class-scoped seeded resources after each seeded test class.
- 03
Spring listener setup is more reliable
Context selection honors cached Spring contexts, inherited share listener factories receive isolated group IDs, and readiness checks wait for members assigned to the requested topics.
- 04
Assertions and setup handle edge cases
Header assertions support nullable expected values, topic provisioning handles ownership safely, and broker configuration errors are reported consistently.
Full notes
Changed
- Refresh the documentation site version, generated install snippets, and Wiretap AI skill and cheatsheet for 5.2.3.
Fixed
- Read complete topic snapshots by covering all partition offsets, including offsets outside the previously selected range.
- Compare expected and actual Kafka records with one-to-one matching, so valid matches are not rejected because a greedy comparison consumed the wrong record first.
- Track topics and groups created by Wiretap separately from resources that already existed, preventing cleanup from deleting user-owned Kafka resources.
- Clean class-scoped seeded topics and groups after each seeded test class, and select the correct cached Spring context when multiple contexts are active.
- Apply isolated group IDs to inherited share listener factories and report share listener readiness only after a member is assigned to the listener's topics.
- Handle nullable header expectations and topic provisioning lifecycle edge cases without failing valid assertions or leaving stale resources.