Spring Boot 4 Upgrade: Lessons From an AI-First Migration

What made our Spring Boot 3.5 to 4.1 upgrade easier than the 2 to 3 one, including the AI-first knowledge base we built and shared across service teams.

Improving MongoDB Observability with Spring Data

How we improved MongoDB tracing spans in Spring Data by adding a custom command listener to surface query details while keeping sensitive values sanitized.

Modified: June 3, 2026 · Created: May 7, 2026 · 5 min · Luiz Vieira · Software Engineering

JPA Delete and Optimistic Locking: Why Batching Fails

Discovered why JPA deleteAll wasn’t batching: @Version fields force entity loading for optimistic locking. The fix: explicit @Query annotation.

Spring Boot 4 Migration Analysis

A detailed analysis of the major changes in Spring Boot 4, including Jackson 3 migration, Java 17 baseline, and dependency updates.

Modified: August 8, 2026 · Created: January 19, 2026 · 6 min · Luiz Vieira · Software Engineering

Getting Observability Right with Spring AI and WebFlux

How I got observability working in my reactive Spring AI app using WebFlux, after hours debugging tracing and context propagation issues.

Fixing Tracing Propagation in Spring WebFlux in One Line

Upgrading to Spring Boot 3.2 revealed tracing issues in a WebFlux service. A single line of code fixed broken span propagation and improved debugging.

Navigating a Major Spring Boot Upgrade: Key Takeaways

Learn key insights from upgrading Spring Boot from 2.7 to 3.2. Discover practical tips, challenges faced, and best practices for a smooth transition

Modified: August 8, 2026 · Created: August 27, 2024 · 5 min · Luiz Vieira · Software Engineering

Spring Batch 5: Backwards Compatible Params Table Migration

From Spring Batch 4 to 5 there were changes in the rows on BATCH_JOB_EXECUTION_PARAMS we show an approach that makes the migration easy and backward-compatible

Modified: November 13, 2024 · Created: August 19, 2024 · 7 min · Luiz Vieira · Software Engineering

Spring Boot 3 Upgrade Lost 90% of Our Distributed Traces

After upgrading Spring Boot version to 3.3.1 we noticed that 90% of our distributed tracing in our observability tool were gone. In this post we tell the story

Modified: November 13, 2024 · Created: July 17, 2024 · 4 min · Luiz Vieira · Software Engineering

How Spring Boot 3.3.1 Broke Our Jackson Object Mapper

After upgrading Spring Boot from version 3.2.5 to 3.3.1 we started to have a serialization issue with the Optional class. Check how to fix it in this post

Modified: November 13, 2024 · Created: July 15, 2024 · 2 min · Luiz Vieira · Software Engineering