The Wire · Showcase
SPRING DATA REVERTS COUCHBASE SDK AFTER SILENT FAILURE
By RepoJournal · Filed · About Spring
Spring Data Couchbase yanked a SDK upgrade within hours after discovering the 3.12.0 release introduced a critical regression, leaving the team scrambling to diagnose what went wrong.
Spring Data Couchbase upgraded to Couchbase SDK 3.12.0 [5] but immediately reverted to 3.11.3 [4] after finding breaking behavior. The team has not yet disclosed the specific failure mode, but the quick rollback signals a serious production issue [7][6]. In parallel, Spring Kafka shipped a critical fix for silent record loss in async listeners [2][3], building on earlier data-loss corrections by binding retry behavior to linear delivery counts per record. This prevents head-of-line amplification where failing records trigger repeated re-fetches of queued messages on the same partition. Spring AMQP fixed a Kotlin interop issue where MessageProperties setters lacked nullability annotations, making the property read-only in Kotlin code [8][9]. Spring AI removed a fastjson2 dependency from AzureVectorStore in favor of Jackson 3.x JsonHelper for consistency [10][11]. Spring Security bumped webauthn4j-core to 0.31.8 for WebAuthn Level 3 support [1].
Action items
- → If you depend on spring-data-couchbase and upgraded to SDK 3.12.0 in the last 24 hours, revert to 3.11.3 immediately and watch for postmortem spring-projects/spring-data-couchbase [immediate]
- → Upgrade spring-kafka if you use async listeners with seek-based error handlers to fix silent record loss spring-projects/spring-kafka [immediate]
- → If you maintain Kotlin code against spring-amqp, review MessageProperties usage - nullability is now enforced spring-projects/spring-amqp [plan]
References
- [1] Bump com.webauthn4j:webauthn4j-core from 0.31.7.RELEASE to 0.31.8.RELEASE ↗ spring-projects/spring-security
- [2] GH-4504: Bound async retry to linear delivery count per record ↗ spring-projects/spring-kafka
- [3] GH-4504: Bound async retry to linear delivery count per record spring-projects/spring-kafka
- [4] Revert upgrade to CB SDK 3.12.0 ↗ spring-projects/spring-data-couchbase
- [5] Upgrade CB SDK to 3.12.0 ↗ spring-projects/spring-data-couchbase
- [6] Restore CB Java Client to 3.11.3 (#2142) spring-projects/spring-data-couchbase
- [7] Upgrade CB SDK to 3.12.0 (#2141) spring-projects/spring-data-couchbase
- [8] GH-3487: Apply Nullability to MessageProperties ↗ spring-projects/spring-amqp
- [9] GH-3487: Apply Nullability to MessageProperties spring-projects/spring-amqp
- [10] Remove fastjson2 dependency from `spring-ai-azure-store` ↗ spring-projects/spring-ai
- [11] Remove fastjson2 dependency from `spring-ai-azure-store` (#6508) spring-projects/spring-ai
FAQ
- What changed in Spring on July 2, 2026?
- Spring Data Couchbase yanked a SDK upgrade within hours after discovering the 3.12.0 release introduced a critical regression, leaving the team scrambling to diagnose what went wrong.
- What should Spring teams do about it?
- If you depend on spring-data-couchbase and upgraded to SDK 3.12.0 in the last 24 hours, revert to 3.11.3 immediately and watch for postmortem • Upgrade spring-kafka if you use async listeners with seek-based error handlers to fix silent record loss • If you maintain Kotlin code against spring-amqp, review MessageProperties usage - nullability is now enforced
- Which Spring repositories shipped on July 2, 2026?
- spring-projects/spring-security, spring-projects/spring-kafka, spring-projects/spring-data-couchbase, spring-projects/spring-amqp, spring-projects/spring-ai