“The Great Cleanup”
User impactful changes
- #2703 Referencing collection parameter by name fails fixing #2693
- #2709 Fix a race condition caused by other threads calling mapper methods while mapped tables are being constructed
- #2727 Enable ability to provide custom configuration to XMLConfigBuilder
- #2731 Adding mapper could fail under JPMS
- #2741 Add ‘affectedData’ attribute to @select, @SelectProvider, and
<select />
- #2767 Resolve resultType by namespace and id when not provided resultType and resultMap
- #2804 Search readable property when resolving constructor arg type by name
- Minor correction: ‘boolean’ can never be null (primative)
- General library updates
- Uses parameters option for compiler now (needed by spring boot 3) (for reflection needs)
Code cleanup
- #2816 Use open rewrite to partially cleanup java code
- #2817 Add private constructors per open rewrite
- #2819 Add final where appropriate per open rewrite
- #2825 Cleanup if statement breaks / return logic
- #2826 Eclipse based cleanup
Build
- #2820 Remove test ci group profile in favor of more direct usage on GH-Actions and update deprecated surefire along in overview in README.md
- Adjustments to build so shaded ognl and javassist no longer throw warnings
- Build with jdk 21-ea as well now
- Various test cleanup, updates, and additions
- Turn on auto formatting of all java code including note to contributors on readme to skip formatting when necessary in code blocks
- Tests may use jdk 11 now while retaining jdk 8 runtime
- Pom cleanup / better clarification on parameters
Documentation
- Various documentation updates
For Contributors:
- Mybatis is now using auto formatting of the code base. If contribution needs special formatting such as annotations or specific javadocs that conflict with formatting rules, use
// @formatter:off
and// @formatter:on
around block of code to be ignored on formatting. If within a javadoc, since its a comment type, the entire thing is affected so just wrap this around the entire javadoc. Try to ensure code inside the non formatting block is appropriately formatted otherwise to ease readability.
Full Changelog: mybatis-3.5.11...mybatis-3.5.12