Skip to content

Bump org.jdbi:jdbi3-bom from 3.54.0 to 3.55.0 - #7591

Merged
nscuro merged 1 commit into
5.1.xfrom
dependabot/maven/5.1.x/org.jdbi-jdbi3-bom-3.55.0
Oct 5, 2026
Merged

nscuro merged 1 commit into
5.1.xfrom
dependabot/maven/5.1.x/org.jdbi-jdbi3-bom-3.55.0

Conversation

@dependabot

@dependabot dependabot Bot commented on behalf of github Oct 5, 2026

Copy link
Copy Markdown
Contributor

Bumps org.jdbi:jdbi3-bom from 3.54.0 to 3.55.0.

Release notes

Sourced from org.jdbi:jdbi3-bom's releases.

3.55.0

Significant bugfix and small feature request sweep of the backlog:

  • Bind and map types that are not public: a package-private bean class with public accessors, a non-public constructor or @JdbiConstructor factory method, or a package-private Immutables value type. mapToBean now also uses a non-public no-arg constructor, e.g. a private one on a public bean. The ReflectionMappers accessible object strategy controls this. Unlike FieldMapper, these mappers apply the strategy in effect when a type is first used and cache the result for the Jdbi instance, so set the strategy on the Jdbi before first use, not on a Handle or statement. A ConstructorMapper for a type that Jdbi can not access now fails on first use, with a message that names the fix, instead of at creation (#1684)
  • Fix KotlinMapper ignoring a SQL NULL for a @PropagateNull constructor parameter or property of a non-null primitive type such as Long or Int. The column mapper returned 0 (or false) and the object was mapped instead of null. KotlinMapper now treats the NULL as null like the ConstructorMapper, FieldMapper, and BeanMapper do (#3048)
  • Fix a @Nested Optional<T> attribute that held null instead of Optional.empty() when T used the class-level @PropagateNull("column") form and that column was null. A @PropagateNull on the Optional attribute itself no longer turns the parent into null in this case, which matches the attribute-level form (#3049)
  • New JoinRowReducer (Beta) reduces the rows of a join query into root objects and links the joined objects to them, for to-one and to-many relations over inner and outer joins. Columns are named relative to the relation prefix, one type is one table, so a table row is one instance no matter through how many relations the query reaches it, and reducers nest for deeper graphs (#1574)
  • New RowView.getColumn(String) and RowView.getColumn(int) return a column value as the JDBC driver returns it from ResultSet.getObject, without a column mapper. New RowView.getColumnNames() returns the column labels of the result set, and RowView.getRow(RowMapper) maps the current row with a given mapper (#1574)
  • Add BindListStyle to render bindList / @BindList elements as single-column rows, (:a),(:b), for use with the SQL VALUES list constructor. Configure it with SqlStatements#setBindListStyle or @BindList(style = BindListStyle.ROWS) (#1550, Alpha)
  • Add LocalTransactionHandler.managed(): Jdbi manages transactions on connections with autocommit disabled instead of joining them, e.g. on a pool that disables autocommit as a precaution. inTransaction commits, retry handlers such as SerializableTransactionRunner engage, and a statement executed outside of a transaction is not committed. (#2663, #1733)
  • Add NoOpTransactionHandler for connections whose transactions an external framework manages, e.g. a Spring TransactionAwareDataSourceProxy or an XA data source. It never reads or changes the transaction state of the connection. CMTTransactionHandler now extends it, with unchanged behavior. (#2742, thanks @​bekoenig for the suggestion!)
  • Document the transaction contract for connections with autocommit disabled: the handle joins the transaction that the connection owner manages. New "Transactions managed outside Jdbi" section in the User Guide, with tests that pin the contract. (#1039, #2663)
  • Document how @PropagateNull resolves its column: on a class, the column name is relative to the mapper prefix (from @Nested or from a mapper made with a prefix), so one class maps under different prefixes. New "Using @PropagateNull" section in the User Guide, with tests for mappers made with a prefix. (#1764)
  • Fix JdbiExtension losing its plugins and initializer after afterAll, so a static extension whose test class ran a second time in the same JVM (a Surefire rerun of a failed test, or a @Nested class selected as its own test class) restarted with a bare Jdbi and failed with NoSuchMapperException or NoSuchExtensionException (#3036)
  • vavr: update to vavr 1.0.1. The vavr 1.0.0-alpha releases remain unsupported (#2350)
  • Fix repeated @RegisterKotlinMapper annotations on one method or type. Kotlin wrapped them in a generated container that Jdbi did not process, so none of the mappers were registered and rows mapped through the

... (truncated)

Changelog

Sourced from org.jdbi:jdbi3-bom's changelog.

3.55.0

  • Bind and map types that are not public: a package-private bean class with public accessors, a non-public constructor or @JdbiConstructor factory method, or a package-private Immutables value type. mapToBean now also uses a non-public no-arg constructor, e.g. a private one on a public bean. The ReflectionMappers accessible object strategy controls this. Unlike FieldMapper, these mappers apply the strategy in effect when a type is first used and cache the result for the Jdbi instance, so set the strategy on the Jdbi before first use, not on a Handle or statement. A ConstructorMapper for a type that Jdbi can not access now fails on first use, with a message that names the fix, instead of at creation (#1684)
  • Fix KotlinMapper ignoring a SQL NULL for a @PropagateNull constructor parameter or property of a non-null primitive type such as Long or Int. The column mapper returned 0 (or false) and the object was mapped instead of null. KotlinMapper now treats the NULL as null like the ConstructorMapper, FieldMapper, and BeanMapper do (#3048)
  • Fix a @Nested Optional<T> attribute that held null instead of Optional.empty() when T used the class-level @PropagateNull("column") form and that column was null. A @PropagateNull on the Optional attribute itself no longer turns the parent into null in this case, which matches the attribute-level form (#3049)
  • New JoinRowReducer (Beta) reduces the rows of a join query into root objects and links the joined objects to them, for to-one and to-many relations over inner and outer joins. Columns are named relative to the relation prefix, one type is one table, so a table row is one instance no matter through how many relations the query reaches it, and reducers nest for deeper graphs (#1574)
  • New RowView.getColumn(String) and RowView.getColumn(int) return a column value as the JDBC driver returns it from ResultSet.getObject, without a column mapper. New RowView.getColumnNames() returns the column labels of the result set, and RowView.getRow(RowMapper) maps the current row with a given mapper (#1574)
  • Add BindListStyle to render bindList / @BindList elements as single-column rows, (:a),(:b), for use with the SQL VALUES list constructor. Configure it with SqlStatements#setBindListStyle or @BindList(style = BindListStyle.ROWS) (#1550, Alpha)
  • Add LocalTransactionHandler.managed(): Jdbi manages transactions on connections with autocommit disabled instead of joining them, e.g. on a pool that disables autocommit as a precaution. inTransaction commits, retry handlers such as SerializableTransactionRunner engage, and a statement executed outside of a transaction is not committed. (#2663, #1733)
  • Add NoOpTransactionHandler for connections whose transactions an external framework manages, e.g. a Spring TransactionAwareDataSourceProxy or an XA data source. It never reads or changes the transaction state of the connection. CMTTransactionHandler now extends it, with unchanged behavior. (#2742, thanks @​bekoenig for the suggestion!)
  • Document the transaction contract for connections with autocommit disabled: the handle joins the transaction that the connection owner manages. New "Transactions managed outside Jdbi" section in the User Guide, with tests that pin the contract. (#1039, #2663)
  • Document how @PropagateNull resolves its column: on a class, the column name is relative to the mapper prefix (from @Nested or from a mapper made with a prefix), so one class maps under different prefixes. New "Using @PropagateNull" section in the User Guide, with tests for mappers made with a prefix. (#1764)
  • Fix JdbiExtension losing its plugins and initializer after afterAll, so a static extension whose test class ran a second time in the same JVM (a Surefire rerun of a failed test, or a @Nested class selected as its own test class) restarted with a bare Jdbi and failed with NoSuchMapperException or NoSuchExtensionException (#3036)
  • vavr: update to vavr 1.0.1. The vavr 1.0.0-alpha releases remain unsupported (#2350)
  • Fix repeated @RegisterKotlinMapper annotations on one method or type. Kotlin wrapped them in a generated container that Jdbi did not process, so none of the mappers were registered and rows mapped through the unprefixed KotlinMapperFactory mapper, ignoring the prefix. The annotation now uses

... (truncated)

Commits
  • a20642a [maven-release-plugin] prepare release v3.55.0
  • a7df034 Release notes 3.55.0
  • d43955b Merge remote-tracking branch 'origin/claude-nested-optional-propagate-null'
  • 06b6682 Merge pull request #3048 from jdbi/claude-kotlin-propagate-null-primitive
  • a3be71c Return Optional.empty() for a nested Optional with class-level @​PropagateNull
  • c52bb43 Map a SQL NULL to null for a @​PropagateNull primitive in KotlinMapper
  • 6f8de68 Merge pull request #3047 from jdbi/claude-accessible-lookup-1684
  • 4570efc Merge pull request #3043 from jdbi/claude-propagate-null-docs-1764
  • 793b789 Document how @​PropagateNull resolves its column under a mapper prefix
  • 88a246a Apply the accessible object strategy to beans, constructors, and Immutables
  • Additional commits viewable in compare view

Dependabot compatibility score

Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


Dependabot commands and options

You can trigger Dependabot actions by commenting on this PR:

  • @dependabot rebase will rebase this PR
  • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
  • @dependabot show <dependency name> ignore conditions will show all of the ignore conditions of the specified dependency
  • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
  • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
  • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)

Bumps [org.jdbi:jdbi3-bom](https://github.com/jdbi/jdbi) from 3.54.0 to 3.55.0.
- [Release notes](https://github.com/jdbi/jdbi/releases)
- [Changelog](https://github.com/jdbi/jdbi/blob/master/RELEASE_NOTES.md)
- [Commits](jdbi/jdbi@v3.54.0...v3.55.0)

---
updated-dependencies:
- dependency-name: org.jdbi:jdbi3-bom
  dependency-version: 3.55.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
@dependabot dependabot Bot added dependencies Pull requests that update a dependency file java Pull requests that update Java code labels Oct 5, 2026
@codacy-production

codacy-production Bot commented Oct 5, 2026 •

Copy link
Copy Markdown

Up to standards ✅

🟢 Issues 0 issues

Results:
0 new issues

View in Codacy

🟢 Metrics 0 complexity

Metric Results
Complexity 0

View in Codacy

🟢 Coverage ∅ diff coverage · -0.09% coverage variation

Metric Results
Coverage variation ✅ -0.09% coverage variation (-1.00%)
Diff coverage ✅ ∅ diff coverage (70.00%)

View coverage diff in Codacy

Coverage variation details
Coverable lines Covered lines Coverage
Common ancestor commit (8d5260d) 44831 39261 87.58%
Head commit (ae561dd) 44831 (+0) 39221 (-40) 87.49% (-0.09%)

Coverage variation is the difference between the coverage for the head and common ancestor commits of the pull request branch: <coverage of head commit> - <coverage of common ancestor commit>

Diff coverage details
Coverable lines Covered lines Diff coverage
Pull request (#7591) 0 0 ∅ (not applicable)

Diff coverage is the percentage of lines that are covered by tests out of the coverable lines that the pull request added or modified: <covered lines added or modified>/<coverable lines added or modified> * 100%

NEW Get contextual insights on your PRs based on Codacy's metrics, along with PR and Jira context, without leaving GitHub. Enable AI reviewer
TIP This summary will be updated as you push new changes.

@nscuro nscuro added this to the 5.1.2 milestone Oct 5, 2026
@nscuro
nscuro merged commit 66999ea into 5.1.x Oct 5, 2026
21 checks passed
@nscuro
nscuro deleted the dependabot/maven/5.1.x/org.jdbi-jdbi3-bom-3.55.0 branch October 5, 2026 16:54
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

dependencies Pull requests that update a dependency file java Pull requests that update Java code

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant