All Versions
Latest Version
Avg Release Cycle
27 days
Latest Release

Changelog History
Page 1

  • v3.14.0

    • immutables: support getter with @ColumnName, #1704
  • v3.13.0

    April 22, 2020
    • Kotlin: respect default values in methods when passed null, #1690
    • Arguments.bindingNullToPrimitivesPermitted helps you catch erroneous binding of null to a primitive type
    • preparable Arguments: re-invoke prepare on each copy, to propagate updated configuration
  • v3.12.2

    February 13, 2020
    • Bean binding: ignore getter methods with parameters
    • Immutables: find builder set method even with @ColumnName
    • CachingSqlParser: default limit to 1000 parsed statements, #1658
    • bom: don't inherit from parent #1656
    • bean mapping: improve detection of incomplete wildcard types
  • v3.12.1

    February 13, 2020
  • v3.12.0

    December 14, 2019
    • EnumSet can be bound and mapped as a bitstring to a Postgres varbit column (requires appropriate use of @SingleValue).
    • fix detecting Enum anonymous subclasses (types with overridden methods)
  • v3.11.1

    November 19, 2019
    • fix PreparedBatch binding non-prepareable nested arguments
  • v3.11.0

    November 18, 2019
    • Argument: allow direct binding of Argument subtypes
    • Immutables: use @ColumnName("name") to override property-derived names

    🐎 Major Performance Rework: ArgumentFactory is now Prepareable Prepared arguments must select an ArgumentFactory implementation based only on the qualified type, not the value. This dramatically 🐎 increases performance for large batch inserts.

  • v3.10.1

    September 06, 2019
    • SqlArray: Fix binding Postgres double[] / float[]
  • v3.10.0

    September 04, 2019
    • 🆕 New Features
      • Handle.getJdbi gets owning Jdbi instance
      • SqlStatement (like Query) has new bindArray helper methods
      • sqlobject's EmptyHandling enum backported to core for invocations of SqlStatement.bindList
      • OutParameters lets you getRowSet to view cursor-typed out parameters
      • Call.invoke lets you process OutParameters before closing the statement with a Consumer or Function
      • @SqlCall lets you process OutParameters before closing the statement by passing a Consumer or Function
      • installPlugin skips duplicate JdbiPlugins (according to Object.equals)
      • KotlinSqlObjectPlugin will install forgotten SqlObjectPlugin for you
      • ClasspathSqlLocator allows disabling comment stripping and deprecate static API
      • KotlinMapper respects @PropagateNull
      • Freemarker allows customizing Configuration
      • FreemarkerSqlLocator should now be created via FreemarkerConfig so it shares config
    • 🆕 New Beta Features
      • added register methods for qualified factories on Configurable, ColumnMappers, and ArgumentFactories
    • 🐛 Bug Fixes
      • onDemand invocations @CreateSqlObject create new on-demand SqlObjects
      • onDemand SqlObject.withHandle / Transactional.inTransaction are now safe to call even outside an on-demand context
      • SqlParsers no longer retain all statements and instead use a caffeine cache
    • Compatibility
      • added a module that runs the Spring 4 integration tests against Spring 5 to monitor forward compatibility
      • OutParameters no longer has a public constructor (this type should never really have been constructed anyway)
  • v3.10.0-rc1

    September 03, 2019