Skip to content

Update dependency org.postgresql:postgresql to v42.7.13#93

Merged
renovate[bot] merged 1 commit into
masterfrom
renovate/org.postgresql-postgresql-42.x
Jul 6, 2026
Merged

Update dependency org.postgresql:postgresql to v42.7.13#93
renovate[bot] merged 1 commit into
masterfrom
renovate/org.postgresql-postgresql-42.x

Conversation

@renovate

@renovate renovate Bot commented Jul 6, 2026

Copy link
Copy Markdown
Contributor

This PR contains the following updates:

Package Change Age Adoption Passing Confidence
org.postgresql:postgresql (source) 42.7.1242.7.13 age adoption passing confidence

Release Notes

pgjdbc/pgjdbc (org.postgresql:postgresql)

v42.7.13

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
  • 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
  • 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
  • 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
  • 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 PR #​4167
  • feat: add OID constants for geometric arrays, RECORD, and refcursor PR #​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
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
  • 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
  • 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
  • refactor: derive getPrimaryKeys from pg_constraint.conkey PR #​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 PR #​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.
  • perf: defer simple-query flushes until the driver reads the response, allowing BEGIN and the following query to share a network flush Issue #​3894 PR #​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
  • 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 PR #​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 PR #​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 PR #​4156
  • fix: PgResultSet#getCharacterStream wraps String in a StringReader PR #​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
  • 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, Issue #​3123. PR #​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. Supersedes PR #​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 PR #​4248.
  • fix: reject empty timestamp, timestamptz, and date text with a clear SQLException (SQLState 22007) instead of an ArrayIndexOutOfBoundsException PR #​4278
  • fix: return null CHAR_OCTET_LENGTH for non-character columns PR #​4231
  • fix: honor scale in ResultSet.getBigDecimal(int, int) PR #​4211
  • fix: support java.time values in an updatable ResultSet updateRow() / insertRow() PR #​3848
  • fix: improve batching when the RETURNING clause contains varchar or numeric types PR #​4014
  • fix: correct estimatedReceiveBufferBytes accounting after a forced Sync PR #​4014
  • fix: avoid creating a transient ResultSet for describe-statement purposes, and restore the pre-describe path for generated-key batches PR #​4014
  • fix: add an explicit failure message when a multi-statement command executes in a batch PR #​4014
  • fix: detect search_path changes case-insensitively PR #​4216
  • fix: auto-detect the SSL key format instead of relying on the .key extension PR #​3946
  • fix: build PKIX trust anchors without a KeyStore so FIPS JVMs work PR #​4193
  • fix: use gssResponseTimeout rather than sslResponseTimeout for GSS connections PR #​4076
  • fix: skip the autosave savepoint for SET LOCAL / SET SESSION TRANSACTION PR #​4203
  • fix: do not throw AssertionError from BatchResultHandler on a closed connection PR #​4187
  • fix: reject SQL_TSI_FRAC_SECOND with an explicit, explained error PR #​4229
  • fix: reject a null URL in Driver.acceptsURL with a clear NullPointerException PR #​4205
  • fix: reject overlong inputs in NumberParser.getFastLong instead of silently wrapping PR #​4163
  • fix: reject out-of-range and NaN values in PGInterval.setSeconds PR #​4194
  • fix: close the socket when PgConnection setup fails after connect PR #​4161
  • fix: keep the LazyCleanerImpl cleanup task alive across a transient empty queue PR #​4038
  • fix: append the default non-proxy hosts when socksNonProxyHosts is set PR #​4045
  • fix: clear the ResourceBundle cache on deregister so the driver can unload PR #​4237
  • fix: delete the temp file when spooling a stream to disk fails with an IOException PR #​4190
  • fix: avoid a direct java.lang.management dependency in the maxResultBuffer parser PR #​4069

Configuration

📅 Schedule: (UTC)

  • Branch creation
    • At any time (no schedule defined)
  • Automerge
    • At any time (no schedule defined)

🚦 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 this update again.


  • If you want to rebase/retry this PR, check this box

This PR was generated by Mend Renovate. View the repository job log.

@renovate renovate Bot merged commit 6816af3 into master Jul 6, 2026
2 checks passed
@renovate renovate Bot deleted the renovate/org.postgresql-postgresql-42.x branch July 6, 2026 23:06
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

0 participants