fix(deps): update auto-update-external to v3.55.0 - #193
Merged
Merged
Conversation
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
This PR contains the following updates:
3.54.0→3.55.03.54.0→3.55.0Release Notes
jdbi/jdbi (org.jdbi:jdbi3-sqlobject)
v3.55.0Compare Source
constructor or
@JdbiConstructorfactory method, or a package-private Immutables value type.mapToBeannowalso uses a non-public no-arg constructor, e.g. a private one on a public bean. The
ReflectionMappersaccessible object strategy controls this. Unlike
FieldMapper, these mappers apply the strategy in effect whena type is first used and cache the result for the
Jdbiinstance, so set the strategy on theJdbibeforefirst use, not on a
Handleor statement. AConstructorMapperfor a type that Jdbi can not access now failson first use, with a message that names the fix, instead of at creation (#1684)
KotlinMapperignoring a SQLNULLfor a@PropagateNullconstructor parameter or property of anon-null primitive type such as
LongorInt. The column mapper returned0(orfalse) and theobject was mapped instead of
null.KotlinMappernow treats theNULLasnulllike theConstructorMapper,FieldMapper, andBeanMapperdo (#3048)@Nested Optional<T>attribute that heldnullinstead ofOptional.empty()whenTused theclass-level
@PropagateNull("column")form and that column was null. A@PropagateNullon theOptionalattribute itself no longer turns the parent intonullin this case, which matches theattribute-level form (#3049)
JoinRowReducer(Beta) reduces the rows of a join query into root objects and links the joinedobjects 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)
RowView.getColumn(String)andRowView.getColumn(int)return a column value as the JDBC driverreturns it from
ResultSet.getObject, without a column mapper. NewRowView.getColumnNames()returnsthe column labels of the result set, and
RowView.getRow(RowMapper)maps the current row with a givenmapper (#1574)
BindListStyleto renderbindList/@BindListelements as single-column rows,(:a),(:b), foruse with the SQL
VALUESlist constructor. Configure it withSqlStatements#setBindListStyleor@BindList(style = BindListStyle.ROWS)(#1550, Alpha)LocalTransactionHandler.managed(): Jdbi manages transactions on connections with autocommitdisabled instead of joining them, e.g. on a pool that disables autocommit as a precaution.
inTransactioncommits, retry handlers such asSerializableTransactionRunnerengage, and astatement executed outside of a transaction is not committed. (#2663, #1733)
NoOpTransactionHandlerfor connections whose transactions an external framework manages,e.g. a Spring
TransactionAwareDataSourceProxyor an XA data source. It never reads or changesthe transaction state of the connection.
CMTTransactionHandlernow extends it, with unchangedbehavior. (#2742, thanks @bekoenig for the suggestion!)
transaction that the connection owner manages. New "Transactions managed outside Jdbi" section in
the User Guide, with tests that pin the contract. (#1039, #2663)
@PropagateNullresolves its column: on a class, the column name is relative to the mapperprefix (from
@Nestedor 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)JdbiExtensionlosing its plugins and initializer afterafterAll, so a static extension whose testclass ran a second time in the same JVM (a Surefire rerun of a failed test, or a
@Nestedclass selectedas its own test class) restarted with a bare
Jdbiand failed withNoSuchMapperExceptionorNoSuchExtensionException(#3036)@RegisterKotlinMapperannotations on one method or type. Kotlin wrapped them in a generatedcontainer that Jdbi did not process, so none of the mappers were registered and rows mapped through the
unprefixed
KotlinMapperFactorymapper, ignoring the prefix. The annotation now usesRegisterKotlinMappersas its container. Recompile code that repeats the annotation to pick up the fix.(#2961)
ConfigRegistry.createCopy()now materializes each config object lazily on its first access insteadof copying every config object eagerly. This removes most of the allocation cost of extension attach
(
Jdbi#onDemandre-attaches on every call), ofHandlecreation, and of statement creation(#2982, thanks @ulmetrs!). If code depends on the exact moment a copy is taken, restore the old
timing with
ConfigRegistry#setEagerCopies(true)(Alpha).BeanMapper,ConstructorMapper,FieldMapper) that match no columns at all nowlist the result set columns in the error, and a prefixed mapper explains that
SELECT t.*yields unprefixedlabels and shows how to alias them. Document the same in the mapper and JoinRowMapper sections (#2289)
applications at startup with
NoClassDefFoundError: org.apache.commons.logging.LogFactory(#2990)java.timeout of the box:LocalDate,LocalTime,LocalDateTime,OffsetDateTime,OffsetTime,Instant, andZonedDateTimenow bind toSQL arrays without a manual
registerArrayTypecall.PostgresPluginadditionally registersDurationandPeriod(bound asinterval) and binds the date-bearing types as textliterals that cover the full Postgres date range, including BC dates (#3022)
afterRollbackcallbacks not firing when a transaction fails at commit time, e.g. on aserialization failure under
SerializableTransactionRunner. The failed transaction's callbacksalso no longer leak into the next transaction on the same handle. (#3021, thanks @OswaldOniSango!)
afterCommitandafterRollbackcallbacks not firing, and leaking into the next transaction onthe same handle, when the connection fails during a rollback or during the autocommit restore that
follows a commit.
RollbackOnlyTransactionHandlernow runs theafterRollbackcallbacks on acommit, and never the
afterCommitcallbacks, because it never commits (#3038)generator now registers a
GeneratedSqlObjectProvider(Alpha) for each generated class through theServiceLoader, and Jdbi uses it instead of a reflective lookup by class name. Classes generated by anolder Jdbi version must be recompiled.
ExtensionMetadata.Builder#setExtensionTypeMethodslets an extension factory supply the extension methods instead of discovering them by reflection. (#2474)
QualifiedTypeno longer synthesizes an annotation proxy for a qualifier annotation withoutmembers, so
QualifiedType.with(Class)and the built-in@Legacy,@NVarchar,@EnumByName,and
@EncodedJsonqualifiers work in a GraalVM native image without proxy registration.New
QualifiedType.hasQualifiers(Set)andhasNoQualifiers()compare qualifiers withoutmaterializing annotations. (#2967)
StringTemplateEnginenow caches template compilation through the core statementcache instead of recompiling on every render, with compiled templates pooled for thread safety.
The cached path bypasses
render(String, StatementContext): a subclass that overridesrendermust also override
parse, most simply to returnOptional.empty(), which keeps the core onits
renderpath.BatchandScriptnow render through the statement cache as well. (#2997)@GenerateSqlObjectimplementations not found when the SQL object interface is loaded by aclass loader other than the one that loaded Jdbi, e.g. plugin containers (#3014)
handle.attach()-only workloads no longerrecompute
ExtensionMetadataon every handle (#2991)JdbiImmutablesnot finding the generatedImmutable*andModifiable*classes when the specis loaded by a class loader other than the one that loaded Jdbi, e.g. plugin containers
Configuration
📅 Schedule: (in timezone Asia/Tokyo)
🚦 Automerge: Enabled.
♻ Rebasing: Whenever PR is behind base branch, or you tick the rebase/retry checkbox.
🔕 Ignore: Close this PR and you won't be reminded about these updates again.
This PR was generated by Mend Renovate. View the repository job log.