I upgraded Spring in my project from 4.0.2 to 4.1.1 recently. There is my take during the upgrade.
Spring 4.1.1 transitively depends on JUnit 4.11.
Spring 4.0.2 and 4.1.1 differences:
- ClassVisitor.java in Spring ASM 4.1.1 only accepts Opcodes.ASM4 and Opcodes.ASM5, which used to accept all types.
- In 4.0.2, when we do a post, the request body can be empty even if @RequestBody is used expecting a request body. Spring 4.1.1 is more strict. If you use @RequestBody in your controller, the post request must have a non-empty body. Otherwise, it will give 400 error.
- Spring 4.1.1 will give 406 error if you used @ResponseBody from a method in your controller and you send ACCEPT header in you request, however, the method’s return type is void.