Monday, May 23, 2022

MyBatis 3.5.10 released!

Dear Community,

We are pleased to announce the release of MyBatis 3.5.10.
The below is the list of notable changes.

Bug fixes:
  • Unexpected illegal reflective access warning when calling method in `test` expression. #2392
  • IllegalAccessException when auto-mapping Records (JEP-359). #2195
  • 'interrupted' status is not set when `PooledConnection#getConnection()` is interrupted. #2503
Enhancements:
  • A new option `argNameBasedConstructorAutoMapping` is added. If enabled, constructor argument names are used to look up columns when auto-mapping. #2192
  • `<idArg />` can now be listed after `<arg />` in `<constructor />`. #2541
  • Added a new property `skipSetAutoCommitOnClose` to `JdbcTransactionFactory`. Skipping `setAutoCommit()` call could improve performance with some drivers. #2426
There also are many contributions with doc updates and code improvements! Please see the 3.5.10 milestone page for the complete list of changes.
There is no known backward incompatible change since 3.5.9.
Binaries are available on the release page and Maven Central.

We thank everyone reported issues, shared ideas and answered questions from other users! 👏

Sincerely,
The MyBatis Team

Saturday, December 25, 2021

MyBatis 3.5.9 released!

Dear Community,

It has only been two weeks, but we decided to release MyBatis 3.5.9.

List of changes:
  • Add nullable to <collection />. If enabled, it skips the iteration when the collection is null instead of throwing an exception. To enable this feature globally, set nullableOnForEach=true in the config. #1883
We also updated the version of Log4J dependency to 2.17.0.
Note that the scope of Log4J dependency in MyBatis' pom.xml is 'optional' and it is very important for you to understand what it means.
  • You can use MyBatis without Log4J.
  • Adding MyBatis to your project's dependency does not bring in Log4J implicitly.
  • Updating MyBatis version does not make your project safer because it does not affect the Log4J version in your project.
  • Regardless of the MyBatis version you are using, you can/have to update Log4J version independently.
Please see the 3.5.9 milestone page for the complete list of changes.
There is no known backward incompatible change since 3.5.8.
Binaries are available on the release page and Maven Central.

We thank you for your contribution!

Sincerely,
The MyBatis Team

Sunday, December 12, 2021

MyBatis 3.5.8 released!

Dear Community,

We are pleased to announce the release of MyBatis 3.5.8.
The below is the list of notable changes.

List of changes:
  • Avoid `NullPointerException` when mapping an empty string to java.lang.Character. #2368
  • Fixed an incorrect argument when initializing static object. This resolves a compatibility issue with quarkus-mybatis. #2284
  • Performance improvements. #2297 #2335 #2340
  • And many doc updates!
Please see the 3.5.8 milestone page for the complete list of changes.
There is no known backward incompatible change since 3.5.7.
Binaries are available on the release page and Maven Central.

We thank everyone reported issues, shared ideas and answered questions from other users! 👏

Sincerely,
The MyBatis Team

Monday, April 26, 2021

MyBatis 3.5.7 released!

Dear Community,

We are pleased to announce the release of MyBatis 3.5.7.
The below is the list of user visible changes.

Bug fixes:
  • Improved performance under JDK 8. #2223

Please see the 3.5.7 milestone page for the complete list of changes.
Binaries are available on the release page and Maven Central.

We also receive many code and documentation improvements.
Thank you very much for your contributions in various forms!

Sincerely,
The MyBatis Team

Tuesday, October 6, 2020

MyBatis 3.5.6 released!

Dear Community,

We are pleased to announce the release of MyBatis 3.5.6.
The below is the list of user visible changes.

Enhancements:
  • A new configuration option defaultSqlProviderType is added. The specified class will be used as the SQL provider when the value() or type() is not specified in @SelectProvider, @UpdateProvider, @InsertProvider and @DeleteProvider. #1951
  • A new transaction isolation level SQL_SERVER_SNAPSHOT is added to TransactionIsolationLevel enum to support the MS SQL Server specific isolation level SNAPSHOT. #1973
  • When there is no JEP-290 serialization filter defined, a WARN level message is logged on deserializing object streams. #2079
Bug fixes:
  • Possible NoSuchPropertyException under heavy load. #1648
  • Possible InvalidPathException when registering type aliases by specifying package name. #1974
  • Possible OutOfMemoryError when using BlockingCache. #2044

Please see the 3.5.6 milestone page for the complete list of changes.
Binaries are available on the release page and Maven Central.

We also receive many code and documentation improvements.
Thank you very much for your contributions in various forms!

Sincerely,
The MyBatis Team