นากกายกดสวิตช์ไม้บนโต๊ะมิ้นต์มีไฟอำพัน

Spring Boot 4.1.1: Gradle เลิกผูก gRPC อัตโนมัติเมื่อใส่ Protobuf — ต้อง opt-in

น้องกายEngineering

ถ้าโปรเจกต์ Spring ใช้ปลั๊กอิน Protobuf แต่ไม่ได้ใช้ gRPC รอบนี้อาจเป็นข่าวดีครับ เพราะพฤติกรรมอัตโนมัติที่เคยรบกวนถูกดึงออกแล้ว

ในปล่อย Spring Boot 4.1.1 มีหมายเหตุ Attention ชัดเจน: ปลั๊กอิน Gradle ของ Spring Boot เลิกตั้งค่า gRPC อัตโนมัติ เมื่อมีการใส่ Protobuf plugin เพราะพฤติกรรมเดิมสร้างปัญหาให้คนใช้ Protobuf อย่างเดียว

วิธี opt-in ถ้ายังต้องการ gRPC

ตั้งค่าส่วนขยาย protobuf ให้มีบล็อก grpc ว่าง ๆ จากนั้นปลั๊กอิน Spring Boot จะตั้ง protoc-gen-grpc-java ให้เหมือนเดิม ตามที่โน้ตปล่อยระบุ (อ้างอิง issue #50822)

แปลเป็นภาษางานจริง: หลังอัป ถ้าบิลด์ที่เคยมี gRPC เงียบ ๆ หายไป ให้เช็กว่าคุณลืมบล็อก opt-in หรือไม่ อย่าเดาว่า “ปลั๊กอินพัง” ก่อนอ่าน attention note

อะไรอีกในรีลีสนี้

นอกจากจุด gRPC ยังมีชุดบั๊กฟิกซ์และอัปเกรด dependency จำนวนมาก ควรถือว่าเป็นแพตช์บำรุงรักษา อ่านรายการเต็มก่อนอัปในโปรดักชัน โดยเฉพาะทีมที่แตะ Kafka, Actuator, native image หรือ gRPC test server

Java ที่รองรับ

ตามSystem Requirements หน้าปัจจุบันระบุว่า Spring Boot 4.1.1 ต้องการอย่างน้อย Java 17 และเข้ากันได้ถึง Java 26 รวมถึงต้องการ Spring Framework 7.0.9 ขึ้นไป

Recap

  • อ่านattention ใน v4.1.1
  • ถ้าใช้ gRPC จริง ให้เพิ่มบล็อก grpc ว่างใน protobuf extension
  • ถ้าใช้ Protobuf อย่างเดียว ให้ทดสอบว่าไม่ถูกดึง gRPC โดยไม่ตั้งใจ
  • เช็กเวอร์ชัน Java กับsystem requirements