Skip to content

JDBI 3.38.0

Compare
Choose a tag to compare
@hgschmie hgschmie released this 26 Apr 06:47
· 474 commits to master since this release
74a3941

With three RCs and over 15,000 lines of changed code, 3.38.0 turned out to be a massive release:

Large refactorings

  • rewrite the core extension framework, move functionality from sqlobject to core
  • rewrite sqlobject and the generator to use the new extension framework, deprecate functionality that moved to the core

Bug fixes

  • fix GenericType creation in parameterized classes (#2305)
  • fix problem when using the jdbi bom in spring projects (#2295, thanks @jedvardsson)
  • StringTemplate engine: handle st4 errors rather than logging to stderr. Allow configuring missing attribute as a fatal error

Improvements and new functionality

  • add SqlStatements#setAttachAllStatementsForCleanup. Setting this configuration flag will attach all created statements to their handles for resource cleanup. Default is false. (#2293, thanks @jodastephen)
  • add SqlStatements#setAttachCallbackStatementsForCleanup. Setting this configuration flag will attach all created statements within one of the Jdbi callback methods to the handle. This allows code that uses the Jdbi callback methods to delegate resource management fully to Jdbi. This flag is set by default. (#2293, thanks @jodastephen)
  • add JdbiExecutor for async Jdbi operations (#2280, thanks @leblonk)
  • ResultIterable methods: set(), collectToMap(), toCollection(), collectInto(), collectIntoList(), collectIntoSet() (#2262, thanks @gpsfl)
  • Support Consumer<Iterable> as a consumer argument for operations that return multiple results.

Small changes

  • CaseStrategy is now an official API (dropped @beta) (#2309)
  • rewrite AccessibleObjectStrategy into an enum (#2310)
  • allow user defined functions for message rendering (#2311)
  • Helpers to make registering CollectorFactory easier
  • FreemarkerEngine encourages singleton use so caching works better

Dependencies