Bumps org.postgresql:postgresql from 42.7.12 to 42.7.13.
Release notes
Sourced from org.postgresql:postgresql's releases.
v42.7.13
Changes
- docs: add 42.7.13 release changelog
@davecramer (#4270)
- Adjust EditorConfig für Makefile
@BaumiCoder (#4279)
- fix(scram): fail closed on channel-binding downgrade (no scram bump)
@vlsi (#4272)
- Bump pgjdbc version from 42.7.12 to 42.7.13
@davecramer (#4269)
- chore: remove test-anorm-sbt module and its disabled CI wiring
@vlsi (#4261)
- refactor(test-gss): convert to Java/JUnit 5 submodule of the main build
@vlsi (#4166)
- ci: derive PG test versions from a Renovate-managed maxPgVersion
@vlsi (#4218)
- feat(insert): cap reWriteBatchedInserts by the protocol limit, not 128
@vlsi (#4207)
- refactor(metadata): derive getPrimaryKeys from pg_constraint.conkey
@vlsi (#4202)
- fix(protocol): defer flushes until response processing
@vlsi (#4196)
- fix(build): resolve the Temurin 8 test toolchain by vendor
@vlsi (#4257)
- build: include multi-release source sets in the JaCoCo coverage report
@vlsi (#4256)
- fix(ci): read java_vendor before overwriting java_distribution
@vlsi (#4255)
- ci: generate the whole matrix in one batch, coverage job included
@vlsi (#4253)
- ci: pass CODECOV_TOKEN so protected-branch coverage uploads succeed
@vlsi (#4254)
- ci: collect coverage on one pinned job
@vlsi (#4245)
- ci: apply -DqueryTimeout from the matrix query_timeout axis
@vlsi (#4246)
- ci: make Codecov project and patch statuses informational
@vlsi (#4244)
- fix(build): restore JaCoCo XML report so Codecov receives coverage
@vlsi (#4240)
- test(replication): shrink big-transaction inserts to avoid CI timeouts
@vlsi (#4243)
- update maintainers
@davecramer (#4222)
- test: add hermetic test for localSocketAddress
@vlsi (#4224)
- docs(translation): clean up leftover German header in ja.po
@vlsi (#4206)
- Update ja.po
@davecramer (#2004)
- test: add PostgreSQL 18 to the CI test matrix
@vlsi (#4198)
- test: silence expected SSPI warning stack trace in SSPIClientWaffleTest
@vlsi (#4197)
- fix(ssl): build PKIX trust anchors without a KeyStore so FIPS-mode JVMs can load sslrootcert
@vlsi (#4193)
- test: fix flaky sentLocationEqualToLastReceiveLSN replication test
@vlsi (#4175)
- build: promote MethodCanBeStatic to error level
@vlsi (#4172)
- Fix PGInterval.setSeconds to reject out of range and NaN values
@sehrope (#4194)
- Replace connectThreadFactory with connectExecutor
@sehrope (#4165)
- Fix deleting temp file when spooling large stream to disk in StreamWrapper
@sehrope (#4190)
- chore: Add top level /scratch to gitignore
@sehrope (#4164)
- refactor: favour composition over inheritance for Driver.ConnectTask
@vlsi (#4160)
- Fix NumberParser.getFastLong(...) handling of overlong values
@sehrope (#4163)
- build: produce a multi-release jar from reduced-pom.xml on Java 11+
@vlsi (#4157)
- Add connectThreadFactory and refactor Driver to use FutureTask for loginTimeout connection attempts
@sehrope (#4120)
- test: verify custom properties reach socket factory
@vlsi (#4125)
- test: fix LazyCleanerTest timeouts for the lingering Java 8 cleanup thread
@vlsi (#4122)
- test: stabilise StatementTest.fastCloses on Windows
@vlsi (#4121)
- fix: append default non-proxy hosts when socksNonProxyHosts is set
@davecramer (#4045)
- test: budget terminating Sync in BatchDeadlockTest small-RETURNING branch
@vlsi (#4116)
- test: make message assertions locale-independent
@vlsi (#4113)
- build: drop xgettext default keywords; regenerate translations
@vlsi (#4100)
- ci: opt-in scheduled workflows via ENABLE_SCHEDULED_JOBS repo variable
@vlsi (#4085)
- Avoid direct java.lang.management dependency in maxResultBuffer parser
@mblakley-casana (#4069)
- fix: restore pre-describe for generated-key batches
@bilalshehata (#4014)
... (truncated)
Changelog
Sourced from org.postgresql:postgresql's changelog.
[42.7.13] (2026年07月06日)
Added
- feat: invalidate the prepared-statement cache when the server reports a
search_path change via GUC_REPORT (PostgreSQL 18+), so cached plans are no longer used against the wrong schema [PR #4259](pgjdbc/pgjdbc#4259)
- feat:
reWriteBatchedInserts now merges up to 32768 rows into one multi-values INSERT (bounded by the 65535 bind-parameter limit on the extended protocol) instead of capping at 128, which speeds up batches of few-column rows. The new reWriteBatchedInsertsSize connection property lowers that cap when set; the default of 0 uses that maximum. [PR #4207](pgjdbc/pgjdbc#4207)
- feat: invalidate the prepared-statement cache after CREATE/DROP/ALTER so callers no longer trip on "cached plan must not change result type" without opting into
autosave=ALWAYS. Controlled by the new flushCacheOnDdl connection property (default true); set to false for the prior behaviour. [PR #4067](pgjdbc/pgjdbc#4067)
- feat: add
connectExecutor connection property to customize the Executor used to run the worker task that performs the connection attempt when loginTimeout is in effect. The value is the fully qualified name of a class implementing java.util.concurrent.Executor. With a null value, the default, the driver retains the prior behavior of running the connection attempt on a daemon thread named "PostgreSQL JDBC driver connection thread". The executor must run the task on a thread other than the caller's. Running the attempt on a named thread lets applications that monitor driver-created threads identify it. [PR #4165](pgjdbc/pgjdbc#4165)
- feat: add
classLoaderStrategy connection property to control which classloaders the driver searches when loading a class named by a connection property, for example socketFactory. The default driver-first now falls back to the thread context classloader when the driver's classloader cannot resolve the class, which fixes class loading in non-flat class paths such as Quarkus and OSGi. Set driver to keep the previous driver-classloader-only behaviour, or context-first to prefer the thread context classloader [Issue #2112](pgjdbc/pgjdbc#2112) [PR #4167](pgjdbc/pgjdbc#4167)
- feat: add OID constants for geometric arrays,
RECORD, and refcursor [PR #4220](pgjdbc/pgjdbc#4220)
- feat:
LargeObject BlobInputStream now skips by seeking instead of reading, and the driver exposes the server version so it can select the 64-bit large-object API where available [PR #4204](pgjdbc/pgjdbc#4204)
Changed
- refactor: the worker that runs the connection attempt under
loginTimeout is now a FutureTask (ConnectTask) instead of the hand-rolled ConnectThread. When the caller hits the timeout, the task is now cancelled with cancel(true), which interrupts the worker thread rather than letting it run to completion. This makes the connection attempt interruptible, so loginTimeout can stop a slow connection attempt instead of leaking a thread. As before, a connection that the worker still manages to establish after the caller gives up is closed by the worker so that it does not leak. There are no public API changes and this should only lead to faster background resource cleanup for connections that time out. [PR #4120](pgjdbc/pgjdbc#4120)
- chore:
PGXAConnection.ConnectionHandler now rejects setAutoCommit(false) and setSavepoint(...) during an active XA branch, in addition to the long-rejected setAutoCommit(true) / commit() / rollback(). The setSavepoint rejection was already meant to be in place but the guard misspelled the method name as setSavePoint, so savepoints silently went through. Both changes bring the proxy in line with JTA 1.2 §3.4. [PR #4114](pgjdbc/pgjdbc#4114)
- chore:
commitPrepared / rollback-of-prepared now return XAER_RMFAIL instead of XAER_RMERR when the underlying connection is left in a non-idle TransactionState. Transaction managers (Geronimo, Narayana, Atomikos) treat XAER_RMFAIL as retryable on a fresh XAResource; the prepared transaction is no longer abandoned. [PR #4114](pgjdbc/pgjdbc#4114)
- refactor: derive
getPrimaryKeys from pg_constraint.conkey [PR #4202](pgjdbc/pgjdbc#4202)
Fixed
- fix: the published GitHub release now ships the released
postgresql-<version>.jar and its detached PGP signature, taken from the same signed build that is uploaded to Maven Central, instead of a leftover SNAPSHOT jar [Issue #3812](pgjdbc/pgjdbc#3812) [PR #3814](pgjdbc/pgjdbc#3814)
- fix: simplify the
Statement#cancel state machine by dropping the redundant CANCELLED state. killTimerTask now waits for the state to return to IDLE directly, which removes a spin-forever case when more than one thread observes the cancel completing [PR #1827](pgjdbc/pgjdbc#1827).
- perf: defer simple-query flushes until the driver reads the response, allowing
BEGIN and the following query to share a network flush [Issue #3894](pgjdbc/pgjdbc#3894) [PR #4196](pgjdbc/pgjdbc#4196)
- fix:
reWriteBatchedInserts no longer throws IllegalArgumentException when batching a parameterless INSERT (for example INSERT INTO t VALUES (1, 2)) of 256 rows or more [PR #4207](pgjdbc/pgjdbc#4207)
- fix: a comment before
CALL in a CallableStatement no longer hides the native call, so OUT parameter registration works for /* comment */ call proc(?, ?) and similar. Parser.modifyJdbcCall now skips leading whitespace and SQL comments (both -- and /* */) before the call, tolerates a trailing comment after a { ... } escape, and no longer adds a spurious comma when moving an OUT parameter into a call whose arguments are only a comment [Issue #2538](pgjdbc/pgjdbc#2538) [PR #4209](pgjdbc/pgjdbc#4209)
- fix:
PreparedStatement.toString() no longer throws for a bytea value supplied as text via PGobject. Hex-format values (\x...) are validated and rendered as a bytea literal, and escape-format values are quoted and cast like any other literal [Issue #3757](pgjdbc/pgjdbc#3757) [PR #4201](pgjdbc/pgjdbc#4201)
- fix: the driver no longer nulls the
contextClassLoader of shared ForkJoinPool.commonPool() worker threads, which previously left unrelated tasks on those threads running with a null classloader [Issue #4155](pgjdbc/pgjdbc#4155) [PR #4156](pgjdbc/pgjdbc#4156)
- fix:
PgResultSet#getCharacterStream wraps String in a StringReader [PR #4063](pgjdbc/pgjdbc#4063)
- fix:
PGXAConnection no longer saves and restores the underlying connection's JDBC autoCommit flag. All XA-protocol SQL (BEGIN, PREPARE TRANSACTION, COMMIT, ROLLBACK, COMMIT PREPARED, ROLLBACK PREPARED, the recover() SELECT) is sent through QUERY_SUPPRESS_BEGIN, so the caller's autoCommit value is invariant across every XAResource call. Fixes the "2nd phase commit must be issued using an idle connection" failure during recovery on managed datasources that pool connections with autoCommit=false (TomEE, WildFly, WebSphere Liberty) [PR #4114](pgjdbc/pgjdbc#4114)
- fix:
PGXAConnection.prepare() now mutates XA state only after PREPARE TRANSACTION succeeds. A failed PREPARE previously left the driver thinking the branch was already prepared, so the follow-up rollback(xid) tried ROLLBACK PREPARED against a non-existent gid and returned XAER_RMERR. Transaction managers (Narayana) escalated this to HeuristicMixedException. With the fix, rollback(xid) takes the active-branch path and issues a plain ROLLBACK, which the server accepts cleanly. Fixes [Issue #3153](pgjdbc/pgjdbc#3153), [Issue #3123](pgjdbc/pgjdbc#3123). [PR #4114](pgjdbc/pgjdbc#4114)
- fix: an updatable result set over an unqualified table name is now classified using only the table visible through
search_path. When two schemas held a table with the same name and the same primary or unique index name but a different set of key columns, the driver took the union of both schemas' columns, so the result set could be wrongly rejected as not updatable [PR #4214](pgjdbc/pgjdbc#4214). Supersedes [PR #3400](pgjdbc/pgjdbc#3400).
- fix:
LargeObject.close() now flushes a buffered output stream before marking the object closed, so closing a large object without an explicit flush() no longer drops buffered writes. The flush runs while the object is still open (it calls back into LargeObject.write()), and lo_close always runs afterward; a failure from lo_close no longer masks an earlier flush error, and the transaction is not committed when the flush failed [Issue #4247](pgjdbc/pgjdbc#4247) [PR #4248](pgjdbc/pgjdbc#4248).
- fix: reject empty
timestamp, timestamptz, and date text with a clear SQLException (SQLState 22007) instead of an ArrayIndexOutOfBoundsException [PR #4278](pgjdbc/pgjdbc#4278)
- fix: return null
CHAR_OCTET_LENGTH for non-character columns [PR #4231](pgjdbc/pgjdbc#4231)
- fix: honor scale in
ResultSet.getBigDecimal(int, int) [PR #4211](pgjdbc/pgjdbc#4211)
- fix: support
java.time values in an updatable ResultSet updateRow() / insertRow() [PR #3848](pgjdbc/pgjdbc#3848)
- fix: improve batching when the
RETURNING clause contains varchar or numeric types [PR #4014](pgjdbc/pgjdbc#4014)
- fix: correct
estimatedReceiveBufferBytes accounting after a forced Sync [PR #4014](pgjdbc/pgjdbc#4014)
- fix: avoid creating a transient
ResultSet for describe-statement purposes, and restore the pre-describe path for generated-key batches [PR #4014](pgjdbc/pgjdbc#4014)
- fix: add an explicit failure message when a multi-statement command executes in a batch [PR #4014](pgjdbc/pgjdbc#4014)
- fix: detect
search_path changes case-insensitively [PR #4216](pgjdbc/pgjdbc#4216)
- fix: auto-detect the SSL key format instead of relying on the
.key extension [PR #3946](pgjdbc/pgjdbc#3946)
- fix: build PKIX trust anchors without a
KeyStore so FIPS JVMs work [PR #4193](pgjdbc/pgjdbc#4193)
- fix: use
gssResponseTimeout rather than sslResponseTimeout for GSS connections [PR #4076](pgjdbc/pgjdbc#4076)
- fix: skip the autosave savepoint for
SET LOCAL / SET SESSION TRANSACTION [PR #4203](pgjdbc/pgjdbc#4203)
- fix: do not throw
AssertionError from BatchResultHandler on a closed connection [PR #4187](pgjdbc/pgjdbc#4187)
- fix: reject
SQL_TSI_FRAC_SECOND with an explicit, explained error [PR #4229](pgjdbc/pgjdbc#4229)
- fix: reject a null URL in
Driver.acceptsURL with a clear NullPointerException [PR #4205](pgjdbc/pgjdbc#4205)
- fix: reject overlong inputs in
NumberParser.getFastLong instead of silently wrapping [PR #4163](pgjdbc/pgjdbc#4163)
- fix: reject out-of-range and NaN values in
PGInterval.setSeconds [PR #4194](pgjdbc/pgjdbc#4194)
- fix: close the socket when
PgConnection setup fails after connect [PR #4161](pgjdbc/pgjdbc#4161)
- fix: keep the
LazyCleanerImpl cleanup task alive across a transient empty queue [PR #4038](pgjdbc/pgjdbc#4038)
... (truncated)
Commits
3297557 docs: add 42.7.13 release changelog (#4270)
d93d370 style: apply Autostyle to docs/ and .github/
2e05ff9 build: check docs/ and .github/ formatting with Autostyle
b4a6087 Adjust EditorConfig für Makefiles
725cebb fix(jdbc): reject empty timestamp/timestamptz text with a clear error
23a1b0d fix(scram): fail closed on channel-binding downgrade (no scram bump)
0b4077a Bump pgjdbc version from 42.7.12 to 42.7.13 (#4269)
394800a fix: flush LargeObject output stream before marking closed (#4248)
83780f1 Maintain consistency with the use of the word maintainer vs comitter (#4234)
d42cad5 fix(jdbc): classify updatable result set by search_path visibility
- 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.postgresql:postgresql from 42.7.12 to 42.7.13.
Release notes
Sourced from org.postgresql:postgresql's releases.
... (truncated)
Changelog
Sourced from org.postgresql:postgresql's changelog.
... (truncated)
Commits
3297557docs: add 42.7.13 release changelog (#4270)d93d370style: apply Autostyle to docs/ and .github/2e05ff9build: check docs/ and .github/ formatting with Autostyleb4a6087Adjust EditorConfig für Makefiles725cebbfix(jdbc): reject empty timestamp/timestamptz text with a clear error23a1b0dfix(scram): fail closed on channel-binding downgrade (no scram bump)0b4077aBump pgjdbc version from 42.7.12 to 42.7.13 (#4269)394800afix: flush LargeObject output stream before marking closed (#4248)83780f1Maintain consistency with the use of the word maintainer vs comitter (#4234)d42cad5fix(jdbc): classify updatable result set by search_path visibilityDependabot 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 rebasewill rebase this PR@dependabot recreatewill recreate this PR, overwriting any edits that have been made to it@dependabot show <dependency name> ignore conditionswill show all of the ignore conditions of the specified dependency@dependabot ignore this major versionwill 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 versionwill 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 dependencywill close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)