Update dependency org.postgresql:postgresql to v42.7.13 - #120
Conversation
5a207be to
8178772
Compare
8178772 to
be9a893
Compare
be9a893 to
d83938d
Compare
d83938d to
5b35b3a
Compare
5b35b3a to
4945f0b
Compare
4945f0b to
dec79c3
Compare
dec79c3 to
17c6ea6
Compare
17c6ea6 to
bf7c23b
Compare
bf7c23b to
62cf53e
Compare
62cf53e to
86129e9
Compare
86129e9 to
b430b65
Compare
b430b65 to
bc72cf9
Compare
bc72cf9 to
07084bf
Compare
a772988 to
62d701a
Compare
333e871 to
d5f6dfe
Compare
68bb234 to
7db1dde
Compare
129a60e to
d9acfc7
Compare
6b20416 to
57ab414
Compare
|
Tick the box to add this pull request to the merge queue (same as
|
68ff22e to
3295b2e
Compare
|
Tick the box to add this pull request to the merge queue (same as
|
3295b2e to
03fb6b2
Compare
03fb6b2 to
c61be06
Compare
|
Tick the box to add this pull request to the merge queue (same as
|
c61be06 to
351b8f5
Compare
|
Tick the box to add this pull request to the merge queue (same as
|
1 similar comment
|
Tick the box to add this pull request to the merge queue (same as
|
351b8f5 to
d17007d
Compare
|
Tick the box to add this pull request to the merge queue (same as
|
d17007d to
c01a091
Compare
|
Tick the box to add this pull request to the merge queue (same as
|
43e4d0e to
5dfd1d3
Compare
|
Tick the box to add this pull request to the merge queue (same as
|
5dfd1d3 to
dcd67eb
Compare
|
Tick the box to add this pull request to the merge queue (same as
|
dcd67eb to
28a0c1e
Compare
|
Tick the box to add this pull request to the merge queue (same as
|
|
Queued — the merge queue status continues in this comment ↓. |
28a0c1e to
bcc7592
Compare
Merge Queue Status
This pull request spent 16 seconds in the queue, including 2 seconds running CI. Required conditions to merge |
This PR contains the following updates:
42.7.4→42.7.13Release Notes
pgjdbc/pgjdbc (org.postgresql:postgresql)
v42.7.13Added
search_pathchange via GUC_REPORT (PostgreSQL 18+), so cached plans are no longer used against the wrong schema PR #4259reWriteBatchedInsertsnow merges up to 32768 rows into one multi-valuesINSERT(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 newreWriteBatchedInsertsSizeconnection property lowers that cap when set; the default of0uses that maximum. PR #4207autosave=ALWAYS. Controlled by the newflushCacheOnDdlconnection property (defaulttrue); set tofalsefor the prior behaviour. PR #4067connectExecutorconnection property to customize theExecutorused to run the worker task that performs the connection attempt whenloginTimeoutis in effect. The value is the fully qualified name of a class implementingjava.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 #4165classLoaderStrategyconnection property to control which classloaders the driver searches when loading a class named by a connection property, for examplesocketFactory. The defaultdriver-firstnow 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. Setdriverto keep the previous driver-classloader-only behaviour, orcontext-firstto prefer the thread context classloader Issue #2112 PR #4167RECORD, andrefcursorPR #4220LargeObjectBlobInputStreamnow 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 #4204Changed
loginTimeoutis now aFutureTask(ConnectTask) instead of the hand-rolledConnectThread. When the caller hits the timeout, the task is now cancelled withcancel(true), which interrupts the worker thread rather than letting it run to completion. This makes the connection attempt interruptible, sologinTimeoutcan 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 #4120PGXAConnection.ConnectionHandlernow rejectssetAutoCommit(false)andsetSavepoint(...)during an active XA branch, in addition to the long-rejectedsetAutoCommit(true)/commit()/rollback(). ThesetSavepointrejection was already meant to be in place but the guard misspelled the method name assetSavePoint, so savepoints silently went through. Both changes bring the proxy in line with JTA 1.2 §3.4. PR #4114commitPrepared/rollback-of-prepared now returnXAER_RMFAILinstead ofXAER_RMERRwhen the underlying connection is left in a non-idleTransactionState. Transaction managers (Geronimo, Narayana, Atomikos) treatXAER_RMFAILas retryable on a freshXAResource; the prepared transaction is no longer abandoned. PR #4114getPrimaryKeysfrompg_constraint.conkeyPR #4202Fixed
postgresql-<version>.jarand its detached PGP signature, taken from the same signed build that is uploaded to Maven Central, instead of a leftover SNAPSHOT jar Issue #3812 PR #3814Statement#cancelstate machine by dropping the redundantCANCELLEDstate.killTimerTasknow waits for the state to return toIDLEdirectly, which removes a spin-forever case when more than one thread observes the cancel completing PR #1827.BEGINand the following query to share a network flush Issue #3894 PR #4196reWriteBatchedInsertsno longer throwsIllegalArgumentExceptionwhen batching a parameterlessINSERT(for exampleINSERT INTO t VALUES (1, 2)) of 256 rows or more PR #4207CALLin aCallableStatementno longer hides the native call, so OUT parameter registration works for/* comment */ call proc(?, ?)and similar.Parser.modifyJdbcCallnow 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 PR #4209PreparedStatement.toString()no longer throws for abyteavalue supplied as text viaPGobject. Hex-format values (\x...) are validated and rendered as abytealiteral, and escape-format values are quoted and cast like any other literal Issue #3757 PR #4201contextClassLoaderof sharedForkJoinPool.commonPool()worker threads, which previously left unrelated tasks on those threads running with anullclassloader Issue #4155 PR #4156PgResultSet#getCharacterStreamwrapsStringin aStringReaderPR #4063PGXAConnectionno longer saves and restores the underlying connection's JDBCautoCommitflag. All XA-protocol SQL (BEGIN,PREPARE TRANSACTION,COMMIT,ROLLBACK,COMMIT PREPARED,ROLLBACK PREPARED, therecover()SELECT) is sent throughQUERY_SUPPRESS_BEGIN, so the caller'sautoCommitvalue is invariant across everyXAResourcecall. Fixes the "2nd phase commit must be issued using an idle connection" failure during recovery on managed datasources that pool connections withautoCommit=false(TomEE, WildFly, WebSphere Liberty) PR #4114PGXAConnection.prepare()now mutates XA state only afterPREPARE TRANSACTIONsucceeds. A failedPREPAREpreviously left the driver thinking the branch was already prepared, so the follow-uprollback(xid)triedROLLBACK PREPAREDagainst a non-existent gid and returnedXAER_RMERR. Transaction managers (Narayana) escalated this toHeuristicMixedException. With the fix,rollback(xid)takes the active-branch path and issues a plainROLLBACK, which the server accepts cleanly. Fixes Issue #3153, Issue #3123. PR #4114search_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. Supersedes PR #3400.LargeObject.close()now flushes a buffered output stream before marking the object closed, so closing a large object without an explicitflush()no longer drops buffered writes. The flush runs while the object is still open (it calls back intoLargeObject.write()), andlo_closealways runs afterward; a failure fromlo_closeno longer masks an earlier flush error, and the transaction is not committed when the flush failed Issue #4247 PR #4248.timestamp,timestamptz, anddatetext with a clearSQLException(SQLState22007) instead of anArrayIndexOutOfBoundsExceptionPR #4278CHAR_OCTET_LENGTHfor non-character columns PR #4231ResultSet.getBigDecimal(int, int)PR #4211java.timevalues in an updatableResultSetupdateRow()/insertRow()PR #3848RETURNINGclause containsvarcharornumerictypes PR #4014estimatedReceiveBufferBytesaccounting after a forcedSyncPR #4014ResultSetfor describe-statement purposes, and restore the pre-describe path for generated-key batches PR #4014search_pathchanges case-insensitively PR #4216.keyextension PR #3946KeyStoreso FIPS JVMs work PR #4193gssResponseTimeoutrather thansslResponseTimeoutfor GSS connections PR #4076SET LOCAL/SET SESSION TRANSACTIONPR #4203AssertionErrorfromBatchResultHandleron a closed connection PR #4187SQL_TSI_FRAC_SECONDwith an explicit, explained error PR #4229Driver.acceptsURLwith a clearNullPointerExceptionPR #4205NumberParser.getFastLonginstead of silently wrapping PR #4163PGInterval.setSecondsPR #4194PgConnectionsetup fails after connect PR #4161LazyCleanerImplcleanup task alive across a transient empty queue PR #4038socksNonProxyHostsis set PR #4045ResourceBundlecache on deregister so the driver can unload PR #4237IOExceptionPR #4190java.lang.managementdependency in themaxResultBufferparser PR #4069v42.7.12Security
Under
channelBinding=require, the driver silently downgraded fromSCRAM-SHA-256-PLUS(with channel binding) to plainSCRAM-SHA-256(without it) when the server presented a certificate whose signature algorithm has notls-server-end-pointchannel-binding hash (e.g.Ed25519, Ed448, or post-quantum algorithms). An attacker who can intercept the TLS connection could exploit this to strip channel-binding protection.The fix enforces channel binding in the driver's own code: it now fails the connection when no binding data can be extracted, and verifies the negotiated mechanism uses channel binding (
-PLUS) whenrequireis set.Only connections that set
channelBinding=requireare affected. The defaultpreferpolicy and releases before 42.7.4 (which introduced channel-binding support) are unaffected.See the Security Advisory for more detail.
The following CVE-2026-54291 has been issued.
v42.7.11Security
pgjdbc was vulnerable to a client-side denial of service in SCRAM-SHA-256 authentication, where a malicious or compromised PostgreSQL server could specify an extremely large PBKDF2 iteration count, causing the client to consume unbounded CPU and potentially exhaust connection pools. The fix introduces a new scramMaxIterations connection property (defaulting to 100,000) to cap iteration counts before computation begins.
See the Security Advisory for more detail.
The following CVE-2026-42198 has been issued.
Added
Changed
Fixed
v42.7.10Changed
Fixed
Reverted
v42.7.9Added
Changed
Fixed
v42.7.8Added
Changed
BufferedInputStreamwithFileInputStreamPR #3750Fixed
v42.7.7Security
Fix
channel binding requiredhandling to reject non-SASL authenticationPreviously, when channel binding was set to "require", the driver would silently ignore this
requirement for non-SASL authentication methods. This could lead to a false sense of security
when channel binding was explicitly requested but not actually enforced. The fix ensures that when
channel binding is set to "require", the driver will reject connections that use
non-SASL authentication methods or when SASL authentication has not completed properly.
See the Security Advisory for more detail. Reported by George MacKerron
The following CVE-2025-49146 has been issued
Added
v42.7.6Features
Performance Improvements
v42.7.5Added
Fixed
fc60537PR #3476Configuration
📅 Schedule: (UTC)
🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.
♻ Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.
🔕 Ignore: Close this PR and you won't be reminded about this update again.
This PR was generated by Mend Renovate. View the repository job log.