Skip to content

Conversation

sebasbaumh
Copy link
Contributor

  • Get existing oids for binary transfer of custom types from QueryExecutor
  • Add new oids for binary transfer of custom types to QueryExecutor
  • Unit test to make sure oids are correctly set

#2554

All Submissions:

  • Have you followed the guidelines in our Contributing document?
  • Have you checked to ensure there aren't other open Pull Requests for the same update/change?

New Feature Submissions:

  1. Does your submission pass tests?
  2. Does ./gradlew autostyleCheck checkstyleAll pass ?
  3. Have you added your new test classes to an existing test suite in alphabetical order?

@vlsi
Copy link
Member

vlsi commented Jun 25, 2022

This sounds like a wrong level of abstraction to me. I do not understand what do you want to achieve

@sebasbaumh
Copy link
Contributor Author

This sounds like a wrong level of abstraction to me. I do not understand what do you want to achieve

This pull request only complements the already existing API.
I first created a ticket for it (#2554) and I would like to clarify my goal here.

Currently it is possible to add custom types for binary transfer to a connection by using the connection properties while creating the connection. This works for some cases, but unfortunately not for all.

Actually to do this you need to know the oid of the type before setting the connection properties.
But usually this oid varies between different databases as it depends on the other types added before it.
You can easily check that using this SQL on different databases: SELECT oid,typname FROM pg_type ORDER BY typname; for custom types added by modules like PostGIS.

The second issue is more severe: If you use an enterprise application server like WildFly, you do not open new connections in your application. The application server maintains a connection pool and injects connections into the different applications. So you are not able to set these properties for your application only, but the administrator needs to do that and he needs to look up the oids per database, which would be a big hassle.

In the existing API there are already functions for setting the oids to be sent or received binary on the QueryExecutor: QueryExecutor.setBinaryReceiveOids and QueryExecutor.setBinarySendOids.
But calling them will replace all the already set oids, especially the PostgreSQL internal ones here.
Therefore I created functions for adding single oids without removing the already set ones: addBinaryReceiveOid and addBinarySendOid.

Additionally I also added functions for getting the currently set oids: getBinaryReceiveOids and getBinarySendOids, which could be used to determine if the oid was already added.

@vlsi
Copy link
Member

vlsi commented Jun 27, 2022

QueryExecutor is driver-private class, and I do not understand what are you going to achieve

@sebasbaumh
Copy link
Contributor Author

QueryExecutor is driver-private class, and I do not understand what are you going to achieve

Just to clarify my intentions:
I am working on postgis-java-ng, which provides the geometry types used by PostGIS.
Therefore I already have to work with the PostgreSQL JDBC internals, for example to add the custom data types using PGConnection.addDataType.
My goal is to support binary transfers as well and also in scenarios like application servers.
And if the connection is not set up by the user (but by the application server) he can call registerDataTypes on the DriverWrapper.

If I know it is a PostgreSQL connection, I am able to use these classes and can add the oids for custom types.
I tested this using QueryExecutor.setBinaryReceiveOids, which worked.
But I explicitly do not want to interfere with any oids the user might have set on the connection.
Using a library should not change any other configurations.

So can you please explain to me, what exactly is the issue with complementing the existing function for setting the oids with two functions for adding a single oid and getting the already set oids?
What negative impact would this have on pgjdbc?

These are all internals, but that is exactly were I come from here - the whole postgis-java-ng implementation is providing types based on PGObject in PostgreSQL ;-)

@davecramer
Copy link
Member

The problem is that you are elevating QueryExecutor to being a supported API. The fact that it is currently public does not mean we support it to be used in Applications or 3rd party libraries.

@sebasbaumh
Copy link
Contributor Author

So what could be a solution for that? Push it up to PGConnection like the data type handling?
And is there some tag or something to see supported API? Your javadoc just lists everything publicly visible.

To me it seemed a less intrusive change to just enhance QueryExecutor to not only be able to set oids, but also to get all oids or add a single oid.
Its like providing a getter when there already is a setter - which might be good for testing anyway ;-)
Currently binary support looks a little bit unfinished to me and I would like to improve that.
One could even expect to just set a flag while calling PGConnection.addDataType to enable binary support - without looking up oids themselves (as there is already a type cache in the code, which could help in that.

I am aware that the core API might change and I will need to adjust my library accordingly.

But I also see that it might benefit the user, if geometries are parsed from the byte data and not converted to a string and parsed back as byte data. And this data can be quite large if a lot of vertexes are used in lines.
We can have millions of points, lines and polygons in a table that should be parsed as fast as possible with low resource usage.

@vlsi
Copy link
Member

vlsi commented Jun 27, 2022

But I also see that it might benefit the user, if geometries are parsed from the byte data and not converted to a string and parsed back as byte data. And this data can be quite large if a lot of vertexes are used in lines.

Would you please suggest an end-to-end test case?
The tests you add here exercise low-level private API only, and I am afraid that API is not really useful for the end-users.

I agree binary support is worth improving, however, exposing "enable/disable" on a connection level looks like exposing an error-prone API. I would rather activate binary transfer whenever a relevant codec is registered.

@davecramer
Copy link
Member

And is there some tag or something to see supported API? Your javadoc just lists everything publicly visible.

In general we support the official java.sql.* API
additionally I would include any classes which implement the api so PgConnection, however the deeper you go the less likely we would consider any extensions to the java.sql API to be supported.

The reason for this is that if we rewrite the underlying implementation we really don't want to be committed to supporting anything other than the official java.sql API

Every extension adds a support burden to the project.

@sebasbaumh
Copy link
Contributor Author

@vlsi and @davecramer I see both your points, thank you for clarifying this.

At first I just wanted to go for implementing PgBinaryObject on the classes I use for reading the custom types.
But I noticed that even after preparing a SELECT statement and executing it more than 10 times, I would not be provided with binary data.
Finally I found that I need to explicitly ask for binary data by providing the oid of the type to be received as binary.
This is where all started ;-)

From a design point of view I totally support your idea of only supporting the plain java.sql API.
For me it would be enough to implement PGBinaryObject and sending/receiving binary data if not explicitly forbidden by the configuration.

So ideally I would go for adding the custom type to the connection and in the background automatically enabling binary transfer for it if it implements PGBinaryObject.
Do you think this is feasible? I saw that there already is a TypeInfoCache, which has information about the oids though it is only used in the background of PgDatabaseMetaData and supplied by the PgConnection.

I would basically register binary types when PgConnection.addDataType gets called and the type is implementing PGBinaryObject.

@davecramer
Copy link
Member

I would basically register binary types when PgConnection.addDataType gets called and the type is implementing PGBinaryObject.

This seems more rational to me

@sebasbaumh
Copy link
Contributor Author

I would basically register binary types when PgConnection.addDataType gets called and the type is implementing PGBinaryObject.

This seems more rational to me

So we should definitely go for that.

I will try to setup an end-to-end test case, I just need some help with that:
If I use the types for PostGIS, we need to have the postgis extension installed in PostgreSQL and we also need a lot of additional classes from postgis-java-ng.
And all the PostGIS types are defined using functions in C in the extension.
I would not want to do that for a simple test case that runs inside pgjdbc.

Instead for testing I would like to have a simple custom datatype in PostgreSQL, which I can write binary data to and read it back.
Something like bytea, but defined as custom type in PostgreSQL.
But how could I define such a simple test data type using CREATE TYPE without using functions in an extension? Can you maybe help me with that?

@davecramer
Copy link
Member

Well I think you can create a single type that has binary transfer for the test. That said yes we would have to figure out how to get that installed on the server

@sebasbaumh
Copy link
Contributor Author

I created a separate commit in the pull requests for these changes:
For types implementing PGBinaryObject I automatically try to enable binary transfer.
If the oid of the type is defined as BINARY_TRANSFER_DISABLE property, I do not enable binary transfer. That allows the user to override the new behavior.
And I added a property to cache this disabled types in the connection (which is null if no types are disabled), because it needs to be checked each time a type is added.
And don't worry, we can rebase/squash the commits later on, when we know how to go on.

Now I need to create an according unit test and this seems to be difficult:
According to the PostgreSQL documentation I create a user defined type like that.
But I don't know how I could define it without having C functions in place for handling it.
Because that would make creating the test much more complex, except if I could reuse some existing functions.
Basically for testing I just need a custom type that gets mapped to my test implementation and in which I can store binary data.

Maybe for a test I could also just use a built-in type like point and overwrite the handler with my test type?
I am not sure if it works if I register a custom type to handle point, that my type gets called and not the built-in one - I have to check that.

@sebasbaumh sebasbaumh force-pushed the binaryTransferForCustomTypes branch from 4ad5a8c to b2541f3 Compare August 4, 2022 07:33
@sebasbaumh
Copy link
Contributor Author

sebasbaumh commented Aug 4, 2022

I just squashed the existing commits and rebased them on the current master to be more in line with the current development.
It seems one of the AppVeyor builds fails because of some error not related to my code.

One of of the unrelated tests as an example:

FAILURE   0.1sec, org.postgresql.replication.LogicalReplicationStatusTest > testWriteLocationCanBeLessThanSendLocation
    org.gradle.internal.exceptions.DefaultMultiCauseException: Multiple Failures (2 failures)
    	org.postgresql.util.PSQLException: FATAL: number of requested standby connections exceeds max_wal_senders (currently 3)
    	java.lang.NullPointerException: <no message>
        at org.junit.vintage.engine.execution.TestRun.getStoredResultOrSuccessful(TestRun.java:196)
        at org.junit.vintage.engine.execution.RunListenerAdapter.fireExecutionFinished(RunListenerAdapter.java:226)
        at org.junit.vintage.engine.execution.RunListenerAdapter.testFinished(RunListenerAdapter.java:192)
        at org.junit.vintage.engine.execution.RunListenerAdapter.testFinished(RunListenerAdapter.java:79)
        at org.junit.runner.notification.SynchronizedRunListener.testFinished(SynchronizedRunListener.java:87)
        at org.junit.runner.notification.RunNotifier$9.notifyListener(RunNotifier.java:225)
        at org.junit.runner.notification.RunNotifier$SafeNotifier.run(RunNotifier.java:72)
        at org.junit.runner.notification.RunNotifier.fireTestFinished(RunNotifier.java:222)
        at org.junit.internal.runners.model.EachTestNotifier.fireTestFinished(EachTestNotifier.java:38)
        at org.junit.runners.ParentRunner.runLeaf(ParentRunner.java:372)
        Suppressed: org.postgresql.util.PSQLException: FATAL: number of requested standby connections exceeds max_wal_senders (currently 3)
            at org.postgresql.core.v3.QueryExecutorImpl.receiveErrorResponse(QueryExecutorImpl.java:2676)
            at org.postgresql.core.v3.QueryExecutorImpl.readStartupMessages(QueryExecutorImpl.java:2788)
            at org.postgresql.core.v3.QueryExecutorImpl.<init>(QueryExecutorImpl.java:174)
            at org.postgresql.core.v3.ConnectionFactoryImpl.openConnectionImpl(ConnectionFactoryImpl.java:290)
            at org.postgresql.core.ConnectionFactory.openConnection(ConnectionFactory.java:49)
            at org.postgresql.jdbc.PgConnection.<init>(PgConnection.java:253)
            at org.postgresql.Driver.makeConnection(Driver.java:434)
            at org.postgresql.Driver.connect(Driver.java:291)
            at java.sql.DriverManager.getConnection(DriverManager.java:664)
            at java.sql.DriverManager.getConnection(DriverManager.java:208)
            at org.postgresql.test.TestUtil.openDB(TestUtil.java:414)
            at org.postgresql.test.TestUtil.openReplicationConnection(TestUtil.java:354)
            at org.postgresql.replication.LogicalReplicationStatusTest.setUp(LogicalReplicationStatusTest.java:51)
        Suppressed: java.lang.NullPointerException
            at org.postgresql.replication.LogicalReplicationStatusTest.tearDown(LogicalReplicationStatusTest.java:60)
        Cause 1: org.postgresql.util.PSQLException: FATAL: number of requested standby connections exceeds max_wal_senders (currently 3)
            at org.postgresql.core.v3.QueryExecutorImpl.receiveErrorResponse(QueryExecutorImpl.java:2676)
            at org.postgresql.core.v3.QueryExecutorImpl.readStartupMessages(QueryExecutorImpl.java:2788)
            at org.postgresql.core.v3.QueryExecutorImpl.<init>(QueryExecutorImpl.java:174)
            at org.postgresql.core.v3.ConnectionFactoryImpl.openConnectionImpl(ConnectionFactoryImpl.java:290)
            at org.postgresql.core.ConnectionFactory.openConnection(ConnectionFactory.java:49)
            at org.postgresql.jdbc.PgConnection.<init>(PgConnection.java:253)
            at org.postgresql.Driver.makeConnection(Driver.java:434)
            at org.postgresql.Driver.connect(Driver.java:291)
            at java.sql.DriverManager.getConnection(DriverManager.java:664)
            at java.sql.DriverManager.getConnection(DriverManager.java:208)
            at org.postgresql.test.TestUtil.openDB(TestUtil.java:414)
            at org.postgresql.test.TestUtil.openReplicationConnection(TestUtil.java:354)
            at org.postgresql.replication.LogicalReplicationStatusTest.setUp(LogicalReplicationStatusTest.java:51)
        Cause 2: java.lang.NullPointerException
            at org.postgresql.replication.LogicalReplicationStatusTest.tearDown(LogicalReplicationStatusTest.java:60)

This is the exact AppVeyor build: Environment: pg=9.6.11-1, PlatformToolset=v120
All the other AppVeyor builds seem to succeed.

@sebasbaumh sebasbaumh force-pushed the binaryTransferForCustomTypes branch from b2541f3 to 1339516 Compare August 4, 2022 11:51
@sebasbaumh
Copy link
Contributor Author

Okay that's it... 😄
I have cleaned up all my changes and then squashed everything into a single commit.

Furthermore I have added a new unit tests to not only verify the OIDs set to be transferred binary, but to also test the actual transfer from/to the database.
This works by using the PostgreSQL internal type point and handling it with a custom type.
In this test I put assertions in place to check that my type is used and also that it is transferred in binary mode from and to the database.

@sebasbaumh sebasbaumh force-pushed the binaryTransferForCustomTypes branch from 1339516 to 27cb2ef Compare August 4, 2022 12:08
@sebasbaumh
Copy link
Contributor Author

@davecramer @vlsi Do you have any comments on this? Is there something I can do to progress forward/get this merged?

@davecramer
Copy link
Member

LGTM, @vlsi ?

if (oids != null) {
binaryOids.removeAll(getOidSet(oids));
return new HashSet<Integer>(getOidSet(oids));
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Should this be something like Collections.unmodifiableSet(...)?

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I made it consistent with getBinaryEnabledOids, which also returns a modifiable set of values.
Actually this prevents the need to copy the set before modifying it (in the constructor of PgConnection the disabled OIDs are removed from the enabled OIDs to get the binary OIDs as a result).

@Test
public void testBinaryTransferOids() throws SQLException {
con = TestUtil.openDB();
QueryExecutor queryExecutor = ((PgConnection) con).getQueryExecutor();
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

PgConnection is driver-internal API. Client-facing APIs are java.sql.Connection and org.postgresql.PGConnection.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This is also a driver-internal test. The APIs for checking if a type is sent or received as binary are only available on QueryExecutor. So they can only be tested by either really sending and receiving them (what testCustomBinaryTypes) does or using the QueryExecutor API.
I added testBinaryTransferOids by intention to make sure the internal API works before a database is used in the other test. So it is possible to first test the API works and then to test if the database access works.

con = TestUtil.openDB();

PgConnection pgconn = (PgConnection) con;
QueryExecutor queryExecutor = pgconn.getQueryExecutor();
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Do you think you could "disable default binary transfer for POINT" via existing connection properties rather than using a private PgConnection + QueryExecutor APIs?

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This might be possible, but as stated above I need to use the internal API anyway.
So it is more flat/simple to just remove this single type without introducing possible side effects by setting additional connection properties.

@vlsi
Copy link
Member

vlsi commented Sep 6, 2022

Sorry it takes so long to review.
I think the approach with PGBinaryObject makes sense, however, I would like to refrain from using "driver-private APIs" (PgConnection, QueryExecutor)

@sebasbaumh , would you please check if org.postgresql.PGConnection#addDataType(java.lang.String, java.lang.Class<? extends org.postgresql.util.PGobject>) is enough for you?

@sebasbaumh
Copy link
Contributor Author

Sorry it takes so long to review. I think the approach with PGBinaryObject makes sense, however, I would like to refrain from using "driver-private APIs" (PgConnection, QueryExecutor)

@sebasbaumh , would you please check if org.postgresql.PGConnection#addDataType(java.lang.String, java.lang.Class<? extends org.postgresql.util.PGobject>) is enough for you?

No problem and thank you for reviewing this pull request.
I will update it to incorporate the changes and rebase it on the current master branch.

org.postgresql.PGConnection#addDataType(java.lang.String, java.lang.Class<? extends org.postgresql.util.PGobject>) would work for just adding a custom type. But there are more tests that ensure that the OIDs are correctly handled internally.
I would like to ensure the OIDs are really set instead of just testing the whole connection as a black box. This would even work if some default connection properties etc. change in the future. And it allows to identify what might go wrong on later changes instead of just telling the developer that the connection did no binary transfer.

After all the changes are mostly to internal APIs and do not need to be accessible by the user - but we need to test the internal APIs. So the tests need to be able to access them.

@sebasbaumh sebasbaumh force-pushed the binaryTransferForCustomTypes branch from 27cb2ef to 5d6ba47 Compare September 7, 2022 10:13
@sebasbaumh sebasbaumh force-pushed the binaryTransferForCustomTypes branch from 5d6ba47 to 9121202 Compare October 27, 2022 12:25
@sebasbaumh
Copy link
Contributor Author

I just rebased this pull request on the current master as there were merge conflicts after the latest commits to master.

@davecramer & @vlsi I incorporated most of your proposed changes and commented on the others.
Is there anything else I could do to help? It would be great to be able to use the binary transfer mode more easily.
So thank you very much for your feedback and review in advance.

@vlsi
Copy link
Member

vlsi commented Jan 13, 2023

@sebasbaumh , did you select Allow edits and access to secrets by maintainers?
I've tried to add a review commit to the branch, however, it says I can't do that.

See what I have in https://github.com/vlsi/pgjdbc/tree/pr2556 (e.g. vlsi@8a41067 )

@sebasbaumh
Copy link
Contributor Author

I have this setting enabled:
image

Maybe it is because the branch was rebased by me. I did that to make it easier to merge it, but it seems to not work good with active reviews.

So thank you and I will just look on your branch.

@vlsi vlsi force-pushed the binaryTransferForCustomTypes branch from 9121202 to a9e501f Compare January 20, 2023 09:23
@vlsi
Copy link
Member

vlsi commented Jan 20, 2023

Probably the last time I spelled the command wrong, it yielded "no permissions", so I assumed edits from maintainers was not enabled.

@sebasbaumh
Copy link
Contributor Author

@vlsi thank you very much for reviewing/adapting the pull request.
To me your changes look good and I would be happy to go on with that.

@vlsi
Copy link
Member

vlsi commented Jan 20, 2023

There's a failure caused by the new code:

        Suppressed: org.postgresql.util.PSQLException: ERROR: syntax error
            at org.postgresql.core.v3.QueryExecutorImpl.receiveErrorResponse(QueryExecutorImpl.java:2676)
            at org.postgresql.core.v3.QueryExecutorImpl.processResults(QueryExecutorImpl.java:2366)
            at org.postgresql.core.v3.QueryExecutorImpl.execute(QueryExecutorImpl.java:356)
            at org.postgresql.jdbc.PgStatement.executeInternal(PgStatement.java:496)
            at org.postgresql.jdbc.PgStatement.execute(PgStatement.java:413)
            at org.postgresql.jdbc.PgPreparedStatement.executeWithFlags(PgPreparedStatement.java:190)
            at org.postgresql.jdbc.TypeInfoCache.getPGType(TypeInfoCache.java:489)
            at org.postgresql.jdbc.PgConnection.addDataType(PgConnection.java:758)
            at org.postgresql.jdbc.PgConnection.initObjectTypes(PgConnection.java:772)
            at org.postgresql.jdbc.PgConnection.<init>(PgConnection.java:332)
            at org.postgresql.Driver.makeConnection(Driver.java:434)
            at org.postgresql.Driver.connect(Driver.java:291)
            at java.sql.DriverManager.getConnection(DriverManager.java:664)
            at java.sql.DriverManager.getConnection(DriverManager.java:208)
            at org.postgresql.test.TestUtil.openDB(TestUtil.java:388)
            at org.postgresql.test.TestUtil.openReplicationConnection(TestUtil.java:328)
            at org.postgresql.replication.CopyBothResponseTest.setUp(CopyBothResponseTest.java:66)

There's a chicken-and-egg issue:

  • the new code in PgConnection.addDataType attempts registering type for binary transfer
  • unfortunately, it does so by requesting oid based on the type name via typeCache.getPGType
  • getPGType launches a request to the database in case the type is not cached
  • DB request fails in case the DB does not support SELECT (e.g. if we talk to replication connection)

A quick workaround is to skip registering binary types when the connection is in "simple queries only", however, we probably should add extra checks to methods like typeCache.getPGType so they don't attempt issuing SELECT on replication connections.

@vlsi vlsi force-pushed the binaryTransferForCustomTypes branch from 5407fd2 to dd8b2f6 Compare January 20, 2023 14:02
@sebasbaumh
Copy link
Contributor Author

Good catch. I was wondering why it failed that test.
So PreferQueryMode.SIMPLE is only set if the connection is a replication connection? Or would I need to set additional properties for a normal connection to be able to automatically register binary transferable types?

@vlsi vlsi force-pushed the binaryTransferForCustomTypes branch from dd8b2f6 to cf99dbb Compare January 20, 2023 14:23
@vlsi
Copy link
Member

vlsi commented Jan 20, 2023

preferQueryMode=simple can be set for any connection.
However, with simple mode only binary transfer is not possible anyway, so there's no point in "registering type for binary transfer".

…ly (pgjdbc#2554)

The driver would automatically register types for binary transfer when calling
con.unwrap(PGConnection.class).addDataType(String, Class)

Fixes pgjdbc#2554
@vlsi
Copy link
Member

vlsi commented Jan 20, 2023

I just realized we should better implement the standard API java.sql.Connection#setTypeMap(java.util.Map<String,Class<?>> map) rather than add vendor-specific addDataType.
However, PGConnection.addDataType extension was there for ages, so it does not hurt making it a little bit better.

@vlsi vlsi force-pushed the binaryTransferForCustomTypes branch from cf99dbb to 9d2fb14 Compare January 20, 2023 14:48
@sebasbaumh
Copy link
Contributor Author

I just realized we should better implement the standard API java.sql.Connection#setTypeMap(java.util.Map<String,Class<?>> map) rather than add vendor-specific addDataType. However, PGConnection.addDataType extension was there for ages, so it does not hurt making it a little bit better.

Yes, maybe we could deprecate the vendor-specific function later when the standard API gets implemented.
And this would also simplify handling for connections that are proxies to the actual PGConnection (usually this is true for pooled connections).

@vlsi vlsi requested a review from davecramer January 20, 2023 17:33
@vlsi
Copy link
Member

vlsi commented Jan 20, 2023

I think this is mergeable. Of course, we might adjust oids used for testing, on the other hand, I doubt they will induce issues in the future.

Copy link
Member

@davecramer davecramer left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

editorconfig is a gratuitous change but that's fine

@davecramer davecramer merged commit cb78d0e into pgjdbc:master Jan 31, 2023
@sebasbaumh
Copy link
Contributor Author

Thanks for merging! 👍

I will try to follow up @vlsi recommendation to implement this also in the standard API java.sql.Connection#setTypeMap(java.util.Map<String,Class<?>> map) in another pull request.
The benefit would then be to be able to use the standard API, which might even be possible in wrapped/proxied connections.
But it might take some time to check, how to do this in compliance with the JDBC specification and the existing type mappings in pgjdbc.

@sebasbaumh sebasbaumh deleted the binaryTransferForCustomTypes branch February 2, 2023 07:11
benkard added a commit to benkard/mulkcms2 that referenced this pull request Apr 2, 2023
This MR contains the following updates:

| Package | Type | Update | Change |
|---|---|---|---|
| [flow-bin](https://github.com/flowtype/flow-bin) ([changelog](https://github.com/facebook/flow/blob/master/Changelog.md)) | devDependencies | minor | [`^0.198.0` -> `^0.199.0`](https://renovatebot.com/diffs/npm/flow-bin/0.198.0/0.199.0) |
| [org.postgresql:postgresql](https://jdbc.postgresql.org) ([source](https://github.com/pgjdbc/pgjdbc)) | build | patch | `42.5.1` -> `42.5.2` |
| [io.quarkus:quarkus-maven-plugin](https://github.com/quarkusio/quarkus) | build | patch | `2.16.0.Final` -> `2.16.1.Final` |
| [io.quarkus:quarkus-universe-bom](https://github.com/quarkusio/quarkus-platform) | import | patch | `2.16.0.Final` -> `2.16.1.Final` |
| [org.apache.maven.plugins:maven-enforcer-plugin](https://maven.apache.org/enforcer/) | build | minor | `3.1.0` -> `3.2.1` |

---

### Release Notes

<details>
<summary>flowtype/flow-bin</summary>

### [`v0.199.0`](flow/flow-bin@0568b6e...05bb4e3)

[Compare Source](flow/flow-bin@0568b6e...05bb4e3)

### [`v0.198.2`](flow/flow-bin@0d01841...0568b6e)

[Compare Source](flow/flow-bin@0d01841...0568b6e)

### [`v0.198.1`](flow/flow-bin@2b180bb...0d01841)

[Compare Source](flow/flow-bin@2b180bb...0d01841)

</details>

<details>
<summary>pgjdbc/pgjdbc</summary>

### [`v42.5.2`](https://github.com/pgjdbc/pgjdbc/blob/HEAD/CHANGELOG.md#&#8203;4252-2023-01-31-143046--0500)

##### Changed

docs: specify that timeouts are in seconds and there is a maximum. Housekeeping on some tests fixes [#Issue 2671](pgjdbc/pgjdbc#2671) [MR #&#8203;2686](pgjdbc/pgjdbc#2686)
docs: clarify binaryTransfer and add it to README [MR# 2698](pgjdbc/pgjdbc#2698)
docs: Document the need to encode reserved characters in the connection URL [MR #&#8203;2700](pgjdbc/pgjdbc#2700)
feat: Define binary transfer for custom types dynamically/automatically fixes [Issue #&#8203;2554](pgjdbc/pgjdbc#2554) [MR #&#8203;2556](pgjdbc/pgjdbc#2556)

##### Added

fix: added gssResponseTimeout as part of [MR #&#8203;2687](pgjdbc/pgjdbc#2687) to make sure we don't wait forever on a GSS RESPONSE

##### Fixed

fix: Ensure case of XML tags in Maven snippet is correct [MR #&#8203;2682](pgjdbc/pgjdbc#2682)
fix: Make sure socket is closed if an exception is thrown in createSocket fixes [Issue #&#8203;2684](pgjdbc/pgjdbc#2684) [MR #&#8203;2685](pgjdbc/pgjdbc#2685)
fix: Apply patch from [Issue #&#8203;2683](pgjdbc/pgjdbc#2683) to fix hanging ssl connections [MR #&#8203;2687](pgjdbc/pgjdbc#2687)
fix - binary conversion of (very) long numeric values (longer than 4 \* 2^15 digits) [MR #&#8203;2697](pgjdbc/pgjdbc#2697) fixes [Issue #&#8203;2695](pgjdbc/pgjdbc#2695)
minor: enhance readability connection of startup params [MR #&#8203;2705](pgjdbc/pgjdbc#2785)

</details>

<details>
<summary>quarkusio/quarkus</summary>

### [`v2.16.1.Final`](https://github.com/quarkusio/quarkus/releases/tag/2.16.1.Final)

[Compare Source](quarkusio/quarkus@2.16.0.Final...2.16.1.Final)

##### Complete changelog

-   [#&#8203;30729](quarkusio/quarkus#30729) - Bump mariadb-java-client from 3.1.1 to 3.1.2
-   [#&#8203;30724](quarkusio/quarkus#30724) - Upgrade to Mutiny 1.9.0
-   [#&#8203;30722](quarkusio/quarkus#30722) - Set SameSite Strict only on OIDC session cookie
-   [#&#8203;30720](quarkusio/quarkus#30720) - Bump picocli.version from 4.7.0 to 4.7.1
-   [#&#8203;30719](quarkusio/quarkus#30719) - Bump jackson-bom from 2.14.1 to 2.14.2
-   [#&#8203;30715](quarkusio/quarkus#30715) - PanacheRepositoryResource should implement ReactiveRestDataResource
-   [#&#8203;30713](quarkusio/quarkus#30713) - Use MapProperty instead of Map
-   [#&#8203;30694](quarkusio/quarkus#30694) - Use newer API for creating tmp files in RESTEasy Reactive
-   [#&#8203;30692](quarkusio/quarkus#30692) - Bump htmlunit version to 2.70.0
-   [#&#8203;30686](quarkusio/quarkus#30686) - Don't fail send when a sse sink has been closed
-   [#&#8203;30681](quarkusio/quarkus#30681) - RESTEasy Reactive: SSE broadcaster fails if a sink has been closed
-   [#&#8203;30680](quarkusio/quarkus#30680) - Mark methods generatred by ASM transformations as synthetic
-   [#&#8203;30659](quarkusio/quarkus#30659) - Drop unused class GradleLogger
-   [#&#8203;30653](quarkusio/quarkus#30653) - Fix opening in IDE when more than IDE is running
-   [#&#8203;30652](quarkusio/quarkus#30652) - Match prometheus export metrics format
-   [#&#8203;30651](quarkusio/quarkus#30651) - ArC - use reflection fallback for PreDestroy callbacks if needed
-   [#&#8203;30649](quarkusio/quarkus#30649) - Document redirect options in RESTEasy Reactive
-   [#&#8203;30644](quarkusio/quarkus#30644) - Adjust source language absent in documentation code blocks
-   [#&#8203;30636](quarkusio/quarkus#30636) - PreDestroy hooks fail depending on method modifiers
-   [#&#8203;30635](quarkusio/quarkus#30635) - Introduce a `minimum-java-version` in the extension descriptor metadata
-   [#&#8203;30625](quarkusio/quarkus#30625) - OIDC authentication loop if Cookie Policy sameSite=strict
-   [#&#8203;30624](quarkusio/quarkus#30624) - Fix NPE obtaining a project map from Maven session
-   [#&#8203;30622](quarkusio/quarkus#30622) - Update invalid package in guide
-   [#&#8203;30612](quarkusio/quarkus#30612) - Fix import file name in redis-reference.adoc
-   [#&#8203;30609](quarkusio/quarkus#30609) - Qute generated resolvers - getters should take precedence over fields
-   [#&#8203;30593](quarkusio/quarkus#30593) - Qute validation - improve hierarchy indexing to fix assignability issues
-   [#&#8203;30591](quarkusio/quarkus#30591) - Resolve correct version when application version is unset
-   [#&#8203;30589](quarkusio/quarkus#30589) - Bump junit-bom from 5.9.1 to 5.9.2
-   [#&#8203;30585](quarkusio/quarkus#30585) - Bump Microsoft SQL Server JDBC driver to 11.2.3
-   [#&#8203;30584](quarkusio/quarkus#30584) - Update MS SQL JDBC driver to version 11.2.3
-   [#&#8203;30576](quarkusio/quarkus#30576) - Use accept header to choose metrics export format
-   [#&#8203;30574](quarkusio/quarkus#30574) - Handle empty source directory for included builds
-   [#&#8203;30569](quarkusio/quarkus#30569) - Add default implementation for REST Data interfaces
-   [#&#8203;30564](quarkusio/quarkus#30564) - Update security-openid-connect-client.adoc
-   [#&#8203;30559](quarkusio/quarkus#30559) - container-image extension running with kubernetes extension
-   [#&#8203;30557](quarkusio/quarkus#30557) - AWT: JniRuntimeAccess: freetypeScaler.c calls sun.font.FontUtilities
-   [#&#8203;30548](quarkusio/quarkus#30548) - Add a blurb about not supporting validation.xml in Quarkus
-   [#&#8203;30526](quarkusio/quarkus#30526) - RESTEasy classic servlets - add RoutingContext to active request context
-   [#&#8203;30515](quarkusio/quarkus#30515) - Native build fails with hibernate-orm-rest-data-panache + elytron-security-properties-file
-   [#&#8203;30513](quarkusio/quarkus#30513) - Limit application.properties lookup to main source set
-   [#&#8203;30510](quarkusio/quarkus#30510) - Simplify logic in create-app.adoc and allow to define stream
-   [#&#8203;30501](quarkusio/quarkus#30501) - Fix HibernateOrmCodestart
-   [#&#8203;30500](quarkusio/quarkus#30500) - Place extension with an unknown category in the uncategorized category
-   [#&#8203;30496](quarkusio/quarkus#30496) - Update documentation
-   [#&#8203;30490](quarkusio/quarkus#30490) - Avoid adding the exception itself as a suppressed exception
-   [#&#8203;30488](quarkusio/quarkus#30488) - Updates to Infinispan 14.0.6.Final
-   [#&#8203;30485](quarkusio/quarkus#30485) - Verify code flow access token first if no UserInfo precondition exists
-   [#&#8203;30479](quarkusio/quarkus#30479) - Define defaultValueDocumentation for builderImage
-   [#&#8203;30474](quarkusio/quarkus#30474) - Docs - default value of `quarkus.native.builder-image` is not shown
-   [#&#8203;30470](quarkusio/quarkus#30470) - Revert --enable-monitoring with no arguments support
-   [#&#8203;30460](quarkusio/quarkus#30460) - Bump kafka3.version from 3.3.1 to 3.3.2
-   [#&#8203;30453](quarkusio/quarkus#30453) - Gradle build failing w/ Quarkus 2.16.0
-   [#&#8203;30430](quarkusio/quarkus#30430) - Bump gizmo from 1.5.0.Final to 1.6.0.Final
-   [#&#8203;30429](quarkusio/quarkus#30429) - Bump Keycloak version to 20.0.3
-   [#&#8203;30426](quarkusio/quarkus#30426) - Fix redundant push when using buildx
-   [#&#8203;30424](quarkusio/quarkus#30424) - Building of container images with buildx causes build failures
-   [#&#8203;30423](quarkusio/quarkus#30423) - 2.15+ - Services dependent on libraries without classes no longer build
-   [#&#8203;30418](quarkusio/quarkus#30418) - Disable -D argument propagation in DevMojo
-   [#&#8203;30415](quarkusio/quarkus#30415) - Arc - Change Types#getTypeClosure so that superclasses and interfaces of producer types no longer throw on finding wildcards
-   [#&#8203;30412](quarkusio/quarkus#30412) - Arc - wildcard detection for producer methods/fields is too aggressive
-   [#&#8203;30410](quarkusio/quarkus#30410) - Introduce support for GraalVM `--enable-monitoring`
-   [#&#8203;30408](quarkusio/quarkus#30408) - Warning: Option 'AllowVMInspection' is deprecated and might be removed from future versions: Please use --enable-monitoring
-   [#&#8203;30405](quarkusio/quarkus#30405) - Quarkus Undertow doesn't work with blocking SecurityIdentityAugmentor
-   [#&#8203;30399](quarkusio/quarkus#30399) - Fix ElasticSearch Dev Services container restart
-   [#&#8203;30384](quarkusio/quarkus#30384) - Elasticsearch Dev Services restarts container on every auto-compile
-   [#&#8203;30368](quarkusio/quarkus#30368) - Allow Environment variables to populate property Maps in build time Config
-   [#&#8203;30354](quarkusio/quarkus#30354) - AWT `io.quarkus.awt.it.ImageGeometryFontsIT` native integration test failing with "GraalVM for Java 20" dev builds
-   [#&#8203;30347](quarkusio/quarkus#30347) - Bump junit-jupiter from 5.9.1 to 5.9.2
-   [#&#8203;30343](quarkusio/quarkus#30343) - Trailing comma is lost from prometheus metrics
-   [#&#8203;30335](quarkusio/quarkus#30335) - Add native compilation section to Hibernate Validator guide
-   [#&#8203;30332](quarkusio/quarkus#30332) - NPE in toString method for Processor Parameters in kafka-streams 3.3.1 version
-   [#&#8203;30275](quarkusio/quarkus#30275) - Inline Log category property doesn't work
-   [#&#8203;30208](quarkusio/quarkus#30208) - OIDC: 401 when access-token needs to be refreshed and user-info-required=true
-   [#&#8203;30179](quarkusio/quarkus#30179) - Add an owasp-check profile
-   [#&#8203;28781](quarkusio/quarkus#28781) - RESTEasy Reactive: document redirects
-   [#&#8203;24027](quarkusio/quarkus#24027) - Hibernate Validator does not use META-INF/validation.xml, it should work or be stated in the documentation.
-   [#&#8203;23002](quarkusio/quarkus#23002) - if more than two running IDE while launching 'x' gives error

</details>

<details>
<summary>quarkusio/quarkus-platform</summary>

### [`v2.16.1.Final`](quarkusio/quarkus-platform@2.16.0.Final...2.16.1.Final)

[Compare Source](quarkusio/quarkus-platform@2.16.0.Final...2.16.1.Final)

</details>

---

### Configuration

📅 **Schedule**: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).

🚦 **Automerge**: Disabled by config. Please merge this manually once you are satisfied.

♻ **Rebasing**: Whenever MR is behind base branch, or you tick the rebase/retry checkbox.

👻 **Immortal**: This MR will be recreated if closed unmerged. Get [config help](https://github.com/renovatebot/renovate/discussions) if that's undesired.

---

 - [ ] <!-- rebase-check -->If you want to rebase/retry this MR, check this box

---

This MR has been generated by [Renovate Bot](https://github.com/renovatebot/renovate).
<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzNC4yNC4wIiwidXBkYXRlZEluVmVyIjoiMzQuMjQuMCJ9-->
svc-squareup-copybara pushed a commit to cashapp/misk that referenced this pull request Oct 4, 2024
This PR contains the following updates:

| Package | Type | Package file | Manager | Update | Change |
|---|---|---|---|---|---|
| [org.threeten:threetenbp](https://www.threeten.org/threetenbp)
([source](https://github.com/ThreeTen/threetenbp)) | dependencies |
misk/gradle/libs.versions.toml | gradle | minor | `1.6.9` -> `1.7.0` |
| [app.cash.tempest:tempest-bom](https://github.com/cashapp/tempest) |
dependencies | misk/gradle/libs.versions.toml | gradle | minor |
`2024.08.07.002316-64f40ef` -> `2024.09.04.165019-8430cf3` |
| [org.postgresql:postgresql](https://jdbc.postgresql.org)
([source](https://github.com/pgjdbc/pgjdbc)) | dependencies |
misk/gradle/libs.versions.toml | gradle | minor | `42.3.9` -> `42.7.4` |
| [com.squareup.okio:okio](https://github.com/square/okio) |
dependencies | misk/gradle/libs.versions.toml | gradle | patch | `3.9.0`
-> `3.9.1` |
| [org.mockito:mockito-core](https://github.com/mockito/mockito) |
dependencies | misk/gradle/libs.versions.toml | gradle | minor |
`5.13.0` -> `5.14.1` |
| [ch.qos.logback:logback-core](http://logback.qos.ch)
([source](https://github.com/qos-ch/logback),
[changelog](https://logback.qos.ch/news.html)) | dependencies |
misk/gradle/libs.versions.toml | gradle | minor | `1.4.14` -> `1.5.6` |
| [ch.qos.logback:logback-classic](http://logback.qos.ch)
([source](https://github.com/qos-ch/logback),
[changelog](https://logback.qos.ch/news.html)) | dependencies |
misk/gradle/libs.versions.toml | gradle | minor | `1.4.14` -> `1.5.6` |
|
[org.jetbrains.kotlinx:kotlinx-coroutines-core](https://github.com/Kotlin/kotlinx.coroutines)
| dependencies | misk/gradle/libs.versions.toml | gradle | minor |
`1.8.1` -> `1.9.0` |
| [org.jooq:jooq](http://www.jooq.org)
([source](https://github.com/jOOQ/jOOQ)) | dependencies |
misk/gradle/libs.versions.toml | gradle | patch | `3.18.2` -> `3.18.20`
|
| [redis.clients:jedis](https://github.com/redis/jedis) | dependencies |
misk/gradle/libs.versions.toml | gradle | minor | `5.1.5` -> `5.2.0` |
| [com.google.guava:guava-bom](https://github.com/google/guava)
([source](http://svn.sonatype.org/spice/trunk/oss/oss-parent-9)) |
dependencies | misk/gradle/libs.versions.toml | gradle | patch |
`33.3.0-jre` -> `33.3.1-jre` |
| [io.grpc:grpc-stub](https://github.com/grpc/grpc-java) | dependencies
| misk/gradle/libs.versions.toml | gradle | minor | `1.60.0` -> `1.68.0`
|
| [io.grpc:grpc-protobuf](https://github.com/grpc/grpc-java) |
dependencies | misk/gradle/libs.versions.toml | gradle | minor |
`1.60.0` -> `1.68.0` |
| [io.grpc:grpc-netty](https://github.com/grpc/grpc-java) | dependencies
| misk/gradle/libs.versions.toml | gradle | minor | `1.60.0` -> `1.68.0`
|
| [io.grpc:protoc-gen-grpc-java](https://github.com/grpc/grpc-java) |
dependencies | misk/gradle/libs.versions.toml | gradle | minor |
`1.60.0` -> `1.68.0` |
| [io.grpc:grpc-bom](https://github.com/grpc/grpc-java) | dependencies |
misk/gradle/libs.versions.toml | gradle | minor | `1.60.0` -> `1.68.0` |
| [io.grpc:grpc-api](https://github.com/grpc/grpc-java) | dependencies |
misk/gradle/libs.versions.toml | gradle | minor | `1.60.0` -> `1.68.0` |
|
[com.google.api.grpc:proto-google-common-protos](https://github.com/googleapis/sdk-platform-java)
| dependencies | misk/gradle/libs.versions.toml | gradle | minor |
`2.43.0` -> `2.45.1` |
|
[com.google.apis:google-api-services-storage](http://nexus.sonatype.org/oss-repository-hosting.html)
([source](http://svn.sonatype.org/spice/tags/oss-parent-7)) |
dependencies | misk/gradle/libs.versions.toml | gradle | patch |
`v1-rev20240916-2.0.0` -> `v1-rev20240924-2.0.0` |
|
[com.google.cloud:google-cloud-spanner](https://github.com/googleapis/java-spanner)
| dependencies | misk/gradle/libs.versions.toml | gradle | minor |
`6.75.0` -> `6.76.0` |
| [com.google.api:gax](https://github.com/googleapis/sdk-platform-java)
| dependencies | misk/gradle/libs.versions.toml | gradle | minor |
`2.52.0` -> `2.54.1` |
|
[com.google.errorprone:error_prone_annotations](https://errorprone.info)
([source](https://github.com/google/error-prone)) | dependencies |
misk/gradle/libs.versions.toml | gradle | minor | `2.31.0` -> `2.32.0` |
|
[com.netflix.concurrency-limits:concurrency-limits-core](https://github.com/Netflix/concurrency-limits)
| dependencies | misk/gradle/libs.versions.toml | gradle | patch |
`0.5.1` -> `0.5.2` |
|
[org.apache.commons:commons-lang3](https://commons.apache.org/proper/commons-lang/)
([source](https://gitbox.apache.org/repos/asf?p=commons-lang.git)) |
dependencies | misk/gradle/libs.versions.toml | gradle | minor |
`3.16.0` -> `3.17.0` |
| [commons-io:commons-io](https://commons.apache.org/proper/commons-io/)
([source](https://gitbox.apache.org/repos/asf?p=commons-io.git)) |
dependencies | misk/gradle/libs.versions.toml | gradle | minor |
`2.16.1` -> `2.17.0` |
| [app.cash.sqldelight:runtime](https://github.com/cashapp/sqldelight) |
dependencies | misk/gradle/libs.versions.toml | gradle | patch | `2.0.0`
-> `2.0.2` |
|
[app.cash.sqldelight:mysql-dialect](https://github.com/cashapp/sqldelight)
| dependencies | misk/gradle/libs.versions.toml | gradle | patch |
`2.0.0` -> `2.0.2` |
|
[app.cash.sqldelight:jdbc-driver](https://github.com/cashapp/sqldelight)
| dependencies | misk/gradle/libs.versions.toml | gradle | patch |
`2.0.0` -> `2.0.2` |
|
[app.cash.sqldelight:gradle-plugin](https://github.com/cashapp/sqldelight)
| dependencies | misk/gradle/libs.versions.toml | gradle | patch |
`2.0.0` -> `2.0.2` |
|
[com.google.protobuf:protoc](https://developers.google.com/protocol-buffers/)
([source](https://github.com/protocolbuffers/protobuf)) | dependencies |
misk/gradle/libs.versions.toml | gradle | patch | `3.25.4` -> `3.25.5` |
|
[com.google.protobuf:protobuf-java](https://developers.google.com/protocol-buffers/)
([source](https://github.com/protocolbuffers/protobuf)) | dependencies |
misk/gradle/libs.versions.toml | gradle | patch | `3.25.4` -> `3.25.5` |
| [com.squareup.okhttp3:mockwebserver](https://square.github.io/okhttp/)
([source](https://github.com/square/okhttp)) | dependencies |
misk/gradle/libs.versions.toml | gradle | patch | `5.0.0-alpha.13` ->
`5.0.0-alpha.14` |
| [com.squareup.okhttp3:okhttp](https://square.github.io/okhttp/)
([source](https://github.com/square/okhttp)) | dependencies |
misk/gradle/libs.versions.toml | gradle | patch | `5.0.0-alpha.13` ->
`5.0.0-alpha.14` |
| [io.netty:netty-handler](https://netty.io/)
([source](https://github.com/netty/netty)) | dependencies |
misk/gradle/libs.versions.toml | gradle | patch | `4.1.112.Final` ->
`4.1.113.Final` |
| [io.netty:netty-bom](https://netty.io/)
([source](https://github.com/netty/netty)) | dependencies |
misk/gradle/libs.versions.toml | gradle | patch | `4.1.112.Final` ->
`4.1.113.Final` |
|
[io.micrometer:micrometer-registry-prometheus](https://github.com/micrometer-metrics/micrometer)
| dependencies | misk/gradle/libs.versions.toml | gradle | patch |
`1.12.9` -> `1.12.10` |
|
[io.micrometer:micrometer-core](https://github.com/micrometer-metrics/micrometer)
| dependencies | misk/gradle/libs.versions.toml | gradle | patch |
`1.12.9` -> `1.12.10` |
|
[com.vanniktech.maven.publish.base](https://github.com/vanniktech/gradle-maven-publish-plugin)
| plugin | misk/gradle/libs.versions.toml | gradle | minor | `0.27.0` ->
`0.28.0` |
|
[com.vanniktech:gradle-maven-publish-plugin](https://github.com/vanniktech/gradle-maven-publish-plugin)
| dependencies | misk/gradle/libs.versions.toml | gradle | minor |
`0.27.0` -> `0.28.0` |
| [org.junit.jupiter:junit-jupiter-params](https://junit.org/junit5/)
([source](https://github.com/junit-team/junit5)) | dependencies |
misk/gradle/libs.versions.toml | gradle | patch | `5.11.0` -> `5.11.1` |
| [org.junit.jupiter:junit-jupiter-engine](https://junit.org/junit5/)
([source](https://github.com/junit-team/junit5)) | dependencies |
misk/gradle/libs.versions.toml | gradle | patch | `5.11.0` -> `5.11.1` |
| [org.junit.jupiter:junit-jupiter-api](https://junit.org/junit5/)
([source](https://github.com/junit-team/junit5)) | dependencies |
misk/gradle/libs.versions.toml | gradle | patch | `5.11.0` -> `5.11.1` |
|
[com.fasterxml.jackson.module:jackson-module-kotlin](https://github.com/FasterXML/jackson-module-kotlin)
| dependencies | misk/gradle/libs.versions.toml | gradle | minor |
`2.17.2` -> `2.18.0` |
|
[com.fasterxml.jackson.datatype:jackson-datatype-jsr310](https://github.com/FasterXML/jackson-modules-java8)
| dependencies | misk/gradle/libs.versions.toml | gradle | minor |
`2.17.2` -> `2.18.0` |
|
[com.fasterxml.jackson.dataformat:jackson-dataformat-yaml](https://github.com/FasterXML/jackson-dataformats-text)
| dependencies | misk/gradle/libs.versions.toml | gradle | minor |
`2.17.2` -> `2.18.0` |
|
[com.fasterxml.jackson.core:jackson-databind](https://github.com/FasterXML/jackson)
([source](https://github.com/FasterXML/jackson-databind)) | dependencies
| misk/gradle/libs.versions.toml | gradle | minor | `2.17.2` -> `2.18.0`
|
|
[com.fasterxml.jackson.core:jackson-core](https://github.com/FasterXML/jackson-core)
| dependencies | misk/gradle/libs.versions.toml | gradle | minor |
`2.17.2` -> `2.18.0` |
|
[com.fasterxml.jackson:jackson-bom](https://github.com/FasterXML/jackson-bom)
| dependencies | misk/gradle/libs.versions.toml | gradle | minor |
`2.17.2` -> `2.18.0` |
|
[com.fasterxml.jackson.core:jackson-annotations](https://github.com/FasterXML/jackson)
([source](https://github.com/FasterXML/jackson-annotations)) |
dependencies | misk/gradle/libs.versions.toml | gradle | minor |
`2.17.2` -> `2.18.0` |
|
[com.google.auth:google-auth-library-oauth2-http](https://github.com/googleapis/google-auth-library-java)
| dependencies | misk/gradle/libs.versions.toml | gradle | minor |
`1.24.1` -> `1.27.0` |
|
[com.google.auth:google-auth-library-credentials](https://github.com/googleapis/google-auth-library-java)
| dependencies | misk/gradle/libs.versions.toml | gradle | minor |
`1.24.1` -> `1.27.0` |
| [io.gitlab.arturbosch.detekt:detekt-test-utils](https://detekt.dev)
([source](https://github.com/detekt/detekt)) | dependencies |
misk/gradle/libs.versions.toml | gradle | patch | `1.23.6` -> `1.23.7` |
| [io.gitlab.arturbosch.detekt:detekt-test](https://detekt.dev)
([source](https://github.com/detekt/detekt)) | dependencies |
misk/gradle/libs.versions.toml | gradle | patch | `1.23.6` -> `1.23.7` |
| [io.gitlab.arturbosch.detekt:detekt-psi-utils](https://detekt.dev)
([source](https://github.com/detekt/detekt)) | dependencies |
misk/gradle/libs.versions.toml | gradle | patch | `1.23.6` -> `1.23.7` |
| [io.gitlab.arturbosch.detekt:detekt-parser](https://detekt.dev)
([source](https://github.com/detekt/detekt)) | dependencies |
misk/gradle/libs.versions.toml | gradle | patch | `1.23.6` -> `1.23.7` |
| [io.gitlab.arturbosch.detekt:detekt-gradle-plugin](https://detekt.dev)
([source](https://github.com/detekt/detekt)) | dependencies |
misk/gradle/libs.versions.toml | gradle | patch | `1.23.6` -> `1.23.7` |
| [io.gitlab.arturbosch.detekt:detekt-api](https://detekt.dev)
([source](https://github.com/detekt/detekt)) | dependencies |
misk/gradle/libs.versions.toml | gradle | patch | `1.23.6` -> `1.23.7` |
| [com.datadoghq:dd-trace-api](https://github.com/datadog/dd-trace-java)
| dependencies | misk/gradle/libs.versions.toml | gradle | minor |
`1.38.1` -> `1.39.1` |
| [com.datadoghq:dd-trace-ot](https://github.com/datadog/dd-trace-java)
| dependencies | misk/gradle/libs.versions.toml | gradle | minor |
`1.38.1` -> `1.39.1` |
| [software.amazon.awssdk:sdk-core](https://aws.amazon.com/sdkforjava) |
dependencies | misk/gradle/libs.versions.toml | gradle | minor |
`2.27.14` -> `2.28.11` |
|
[software.amazon.awssdk:dynamodb-enhanced](https://aws.amazon.com/sdkforjava)
| dependencies | misk/gradle/libs.versions.toml | gradle | minor |
`2.27.14` -> `2.28.11` |
| [software.amazon.awssdk:dynamodb](https://aws.amazon.com/sdkforjava) |
dependencies | misk/gradle/libs.versions.toml | gradle | minor |
`2.27.14` -> `2.28.11` |
| [software.amazon.awssdk:aws-core](https://aws.amazon.com/sdkforjava) |
dependencies | misk/gradle/libs.versions.toml | gradle | minor |
`2.27.14` -> `2.28.11` |
| [software.amazon.awssdk:bom](https://aws.amazon.com/sdkforjava) |
dependencies | misk/gradle/libs.versions.toml | gradle | minor |
`2.27.14` -> `2.28.11` |
| [software.amazon.awssdk:auth](https://aws.amazon.com/sdkforjava) |
dependencies | misk/gradle/libs.versions.toml | gradle | minor |
`2.27.14` -> `2.28.11` |
| [com.amazonaws:aws-java-sdk-sqs](https://aws.amazon.com/sdkforjava)
([source](https://github.com/aws/aws-sdk-java)) | dependencies |
misk/gradle/libs.versions.toml | gradle | patch | `1.12.770` ->
`1.12.772` |
| [com.amazonaws:aws-java-sdk-s3](https://aws.amazon.com/sdkforjava)
([source](https://github.com/aws/aws-sdk-java)) | dependencies |
misk/gradle/libs.versions.toml | gradle | patch | `1.12.770` ->
`1.12.772` |
|
[com.amazonaws:aws-java-sdk-dynamodb](https://aws.amazon.com/sdkforjava)
([source](https://github.com/aws/aws-sdk-java)) | dependencies |
misk/gradle/libs.versions.toml | gradle | patch | `1.12.770` ->
`1.12.772` |
| [com.amazonaws:aws-java-sdk-core](https://aws.amazon.com/sdkforjava)
([source](https://github.com/aws/aws-sdk-java)) | dependencies |
misk/gradle/libs.versions.toml | gradle | patch | `1.12.770` ->
`1.12.772` |

---

> ⚠️ **Warning**
>
> Some dependencies could not be looked up. Check the Dependency
Dashboard for more information.

---

### Release Notes

<details>
<summary>ThreeTen/threetenbp (org.threeten:threetenbp)</summary>

###
[`v1.7.0`](https://github.com/ThreeTen/threetenbp/releases/tag/v1.7.0)

See the [change
notes](https://www.threeten.org/threetenbp/changes-report.html) for more
information.

</details>

<details>
<summary>pgjdbc/pgjdbc (org.postgresql:postgresql)</summary>

###
[`v42.7.4`](https://github.com/pgjdbc/pgjdbc/blob/HEAD/CHANGELOG.md#4274-2024-08-22-080000--0400)

##### Added

- chore: SCRAM dependency to 3.1 and support channel binding [PR
#&#8203;3188](https://github.com/pgjdbc/pgjdbc/pull/3188)
- chore: Add PostgreSQL 15, 16, and 17beta1 to CI tests [PR
#&#8203;3299](https://github.com/pgjdbc/pgjdbc/pull/3299)
- test: Update to 17beta3 [PR
#&#8203;3308](https://github.com/pgjdbc/pgjdbc/pull/3308)
- chore: Implement direct SSL ALPN connections [PR
#&#8203;3252](https://github.com/pgjdbc/pgjdbc/pull/3252)
- translation: Add Korean translation file [PR
#&#8203;3276](https://github.com/pgjdbc/pgjdbc/pull/3276)

##### Fixed

- fix: PgInterval ignores case for represented interval string [PR
#&#8203;3344](https://github.com/pgjdbc/pgjdbc/pull/3344)
- perf: Avoid extra copies when receiving int4 and int2 in PGStream [PR
#&#8203;3295](https://github.com/pgjdbc/pgjdbc/pull/3295)
- fix: Add support for Infinity::numeric values in ResultSet.getObject
[PR #&#8203;3304](https://github.com/pgjdbc/pgjdbc/pull/3304)
- fix: Ensure order of results for getDouble [PR
#&#8203;3301](https://github.com/pgjdbc/pgjdbc/pull/3301)
- perf: Replace BufferedOutputStream with unsynchronized
PgBufferedOutputStream, allow configuring different Java and SO_SNDBUF
buffer sizes [PR
#&#8203;3248](https://github.com/pgjdbc/pgjdbc/pull/3248)
- fix: Fix SSL tests [PR
#&#8203;3260](https://github.com/pgjdbc/pgjdbc/pull/3260)
- fix: Support bytea in preferQueryMode=simple [PR
#&#8203;3243](https://github.com/pgjdbc/pgjdbc/pull/3243)
- fix: Fix [#&#8203;3234](https://github.com/pgjdbc/pgjdbc/issues/3234)
- Return -1 as update count for stored procedure calls [PR
#&#8203;3235](https://github.com/pgjdbc/pgjdbc/pull/3235)
- fix: Fix [#&#8203;3224](https://github.com/pgjdbc/pgjdbc/issues/3224)
- conversion for TIME '24:00' to LocalTime breaks in binary-mode [PR
#&#8203;3225](https://github.com/pgjdbc/pgjdbc/pull/3225)
- perf: Speed up getDate by parsing bytes instead of String [PR
#&#8203;3141](https://github.com/pgjdbc/pgjdbc/pull/3141)
- fix: support PreparedStatement.setBlob(1, Blob) and
PreparedStatement.setClob(1, Clob) for lobs that return -1 for length
[PR #&#8203;3136](https://github.com/pgjdbc/pgjdbc/pull/3136)
- fix: Validates resultset Params in PGStatement constructor. uses
assertThro… [PR
#&#8203;3171](https://github.com/pgjdbc/pgjdbc/pull/3171)
- fix: Validates resultset parameters [PR
#&#8203;3167](https://github.com/pgjdbc/pgjdbc/pull/3167)
- docs: Replace greater to with greater than [PR
#&#8203;3315](https://github.com/pgjdbc/pgjdbc/pull/3315)
- docs: Clarify binaryTransfer and prepareThreshold [PR
#&#8203;3338](https://github.com/pgjdbc/pgjdbc/pull/3338)
- docs: use.md, typo [PR
#&#8203;3314](https://github.com/pgjdbc/pgjdbc/pull/3314)
- test: Use docker v2 which changes docker-compose to docker compose
[#&#8203;3339](https://github.com/pgjdbc/pgjdbc/pull/3339)
- refactor: Merge PgPreparedStatement#setBinaryStream int and long
methods [PR #&#8203;3165](https://github.com/pgjdbc/pgjdbc/pull/3165)
- test: Test both binaryMode=true,false when creating connections in
DatabaseMetaDataTest [PR
#&#8203;3231](https://github.com/pgjdbc/pgjdbc/pull/3231)
- docs: Fixed typos in all source code and documentations [PR
#&#8203;3242](https://github.com/pgjdbc/pgjdbc/pull/3242)
- chore: Remove self-hosted runner [PR
#&#8203;3227](https://github.com/pgjdbc/pgjdbc/pull/3227)
- docs: Add cancelSignalTimeout in README [PR
#&#8203;3190](https://github.com/pgjdbc/pgjdbc/pull/3190)
- docs: Document READ_ONLY_MODE in README [PR
#&#8203;3175](https://github.com/pgjdbc/pgjdbc/pull/3175)
- test: Test for +/- infinity double values [PR
#&#8203;3294](https://github.com/pgjdbc/pgjdbc/pull/3294)
- test: Switch localhost and auth-test around for test-gss [PR
#&#8203;3343](https://github.com/pgjdbc/pgjdbc/pull/3343)
- fix: remove preDescribe from internalExecuteBatch [PR
#&#8203;2883](https://github.com/pgjdbc/pgjdbc/pull/2883)

##### Deprecated

- test: Deprecate all PostgreSQL versions older than 9.1 [PR
#&#8203;3335](https://github.com/pgjdbc/pgjdbc/pull/3335)

###
[`v42.7.3`](https://github.com/pgjdbc/pgjdbc/blob/HEAD/CHANGELOG.md#4273-2024-04-14-145100--0400)

##### Changed

- chore: gradle config enforces 17+ [PR
#&#8203;3147](https://github.com/pgjdbc/pgjdbc/pull/3147)

##### Fixed

- fix: boolean types not handled in SimpleQuery mode [PR
#&#8203;3146](https://github.com/pgjdbc/pgjdbc/pull/3146)
    -   make sure we handle boolean types in simple query mode
    -   support uuid as well
- handle all well known types in text mode and change `else if` to
`switch`
- fix: released new versions of 42.2.29, 42.3.10, 42.4.5, 42.5.6, 42.6.2
to deal with `NoSuchMethodError on ByteBuffer#position` when running on
Java 8

###
[`v42.7.2`](https://github.com/pgjdbc/pgjdbc/blob/HEAD/CHANGELOG.md#4272-2024-02-21-082300--0500)

##### Security

- security: SQL Injection via line comment generation, it is possible in
`SimpleQuery` mode to generate a line comment by having a placeholder
for a numeric with a `-`
such as `-?`. There must be second placeholder for a string immediately
after. Setting the parameter to a -ve value creates a line comment.
This has been fixed in this version fixes
[CVE-2024-1597](https://www.cve.org/CVERecord?id=CVE-2024-1597).
Reported by [Paul Gerste](https://github.com/paul-gerste-sonarsource).
See the [security
advisory](https://github.com/pgjdbc/pgjdbc/security/advisories/GHSA-24rp-q3w6-vc56)
for more details. This has been fixed in versions 42.7.2, 42.6.1 42.5.5,
42.4.4, 42.3.9, 42.2.28.jre7. See the security advisory for work
arounds.

##### Changed

- fix: Use simple query for isValid. Using Extended query sends two
messages checkConnectionQuery was never ever set or used, removed [PR
#&#8203;3101](https://github.com/pgjdbc/pgjdbc/pull/3101)
- perf: Avoid autoboxing bind indexes by
[@&#8203;bokken](https://github.com/bokken) in [PR
#&#8203;1244](https://github.com/pgjdbc/pgjdbc/pull/1244)
- refactor: Document that encodePassword will zero out the password
array, and remove driver's default encodePassword by
[@&#8203;vlsi](https://github.com/vlsi) in [PR
#&#8203;3084](https://github.com/pgjdbc/pgjdbc/pull/3084)

##### Added

- feat: Add PasswordUtil for encrypting passwords client side [PR
#&#8203;3082](https://github.com/pgjdbc/pgjdbc/pull/3082)

###
[`v42.7.1`](https://github.com/pgjdbc/pgjdbc/blob/HEAD/CHANGELOG.md#4271-2023-12-06-083400--0500)

##### Changed

- perf: improve performance of PreparedStatement.setBlob,
BlobInputStream, and BlobOutputStream with dynamic buffer sizing [PR
#&#8203;3044](https://github.com/pgjdbc/pgjdbc/pull/3044)

##### Fixed

- fix: Apply connectTimeout before SSLSocket.startHandshake to avoid
infinite wait in case the connection is broken [PR
#&#8203;3040](https://github.com/pgjdbc/pgjdbc/pull/3040)
- fix: support waffle-jna 2.x and 3.x by using reflective approach for
ManagedSecBufferDesc [PR
#&#8203;2720](https://github.com/pgjdbc/pgjdbc/pull/2720) Fixes [Issue
#&#8203;2690](https://github.com/pgjdbc/pgjdbc/issues/2720).
- fix: NoSuchMethodError on ByteBuffer#position When Running on Java 8
when accessing arrays, fixes [Issue
#&#8203;3014](https://github.com/pgjdbc/pgjdbc/issues/3014)
- Revert "[PR #&#8203;2925](https://github.com/pgjdbc/pgjdbc/pull/2925)
Use canonical DateStyle name" [PR
#&#8203;3035](https://github.com/pgjdbc/pgjdbc/pull/3035)
Fixes [Issue #&#8203;3008](https://github.com/pgjdbc/pgjdbc/issues/3008)
- Revert "[PR ##&#8203;2973](https://github.com/pgjdbc/pgjdbc/pull/2973)
feat: support SET statements combining with other queries with semicolon
in PreparedStatement" [PR
#&#8203;3010](https://github.com/pgjdbc/pgjdbc/pull/3010)
Fixes [Issue #&#8203;3007](https://github.com/pgjdbc/pgjdbc/issues/3007)
- fix: avoid timezone conversions when sending LocalDateTime to the
database [#&#8203;2852](https://github.com/pgjdbc/pgjdbc/pull/3010)
Fixes [Issue #&#8203;1390](https://github.com/pgjdbc/pgjdbc/issues/1390)
    ,[Issue #&#8203;2850](https://github.com/pgjdbc/pgjdbc/issues/2850)
Closes \[Issue
[#&#8203;1391](https://github.com/pgjdbc/pgjdbc/issues/1391)(https://github.com/pgjdbc/pgjdbc/issues/1391)

###
[`v42.7.0`](https://github.com/pgjdbc/pgjdbc/blob/HEAD/CHANGELOG.md#4270-2023-11-20-093300--0500)

##### Changed

- fix: Deprecate for removal PGPoint.setLocation(java.awt.Point) to cut
dependency to `java.desktop` module. [PR
#&#8203;2967](https://github.com/pgjdbc/pgjdbc/pull/2967)
- feat: return all catalogs for getCatalogs metadata query closes [ISSUE
#&#8203;2949](https://github.com/pgjdbc/pgjdbc/issues/2949) [PR
#&#8203;2953](https://github.com/pgjdbc/pgjdbc/pull/2953)
- feat: support SET statements combining with other queries with
semicolon in PreparedStatement [PR
##&#8203;2973](https://github.com/pgjdbc/pgjdbc/pull/2973)

##### Fixed

- chore: add styleCheck Gradle task to report style violations [PR
#&#8203;2980](https://github.com/pgjdbc/pgjdbc/pull/2980)
- fix: Include currentXid in "Error rolling back prepared transaction"
exception message [PR
#&#8203;2978](https://github.com/pgjdbc/pgjdbc/pull/2978)
- fix: add varbit as a basic type inside the TypeInfoCache [PR
#&#8203;2960](https://github.com/pgjdbc/pgjdbc/pull/2960)
- fix: Fix failing tests for version 16. [PR
#&#8203;2962](https://github.com/pgjdbc/pgjdbc/pull/2962)
- fix: allow setting arrays with ANSI type name [PR
#&#8203;2952](https://github.com/pgjdbc/pgjdbc/pull/2952)
- feat: Use KeepAlive to confirm LSNs [PR
#&#8203;2941](https://github.com/pgjdbc/pgjdbc/pull/2941)
- fix: put double ' around log parameter [PR
#&#8203;2936](https://github.com/pgjdbc/pgjdbc/pull/2936) fixes [ISSUE
#&#8203;2935](https://github.com/pgjdbc/pgjdbc/issues/2935)
- fix: Fix Issue
[#&#8203;2928](https://github.com/pgjdbc/pgjdbc/issues/2928) number of
ports not equal to number of servers in datasource [PR
#&#8203;2929](https://github.com/pgjdbc/pgjdbc/pull/2929)
- fix: Use canonical DateStyle name
([#&#8203;2925](https://github.com/pgjdbc/pgjdbc/issues/2925)) fixes
[pgbouncer issue](https://github.com/pgbouncer/pgbouncer/issues/776)
- fix: Method getFastLong should be able to parse all longs [PR
#&#8203;2881](https://github.com/pgjdbc/pgjdbc/pull/2881)
- docs: Fix typos in info.html [PR
#&#8203;2860](https://github.com/pgjdbc/pgjdbc/pull/2860)
- fix: Return correct default from
PgDatabaseMetaData.getDefaultTransactionIsolation [PR
#&#8203;2992](https://github.com/pgjdbc/pgjdbc/pull/2992) fixes [Issue
#&#8203;2991](https://github.com/pgjdbc/pgjdbc/issues/2991)
-   test: fix assertion in RefCursorFetchTestultFetchSize rows
-   test: use try-with-resources in LogicalReplicationStatusTest

###
[`v42.6.0`](https://github.com/pgjdbc/pgjdbc/blob/HEAD/CHANGELOG.md#4260-2023-03-17-153434--0400)

##### Changed

- fix: use PhantomReferences instead of `Obejct.finalize()` to track
Connection leaks [PR
#&#8203;2847](https://github.com/pgjdbc/pgjdbc/pull/2847)

The change replaces all uses of Object.finalize with PhantomReferences.
The leaked resources (Connections) are tracked in a helper thread that
is active as long as
there are connections in use. By default, the thread keeps running for
30 seconds after all
the connections are released. The timeout is set with
pgjdbc.config.cleanup.thread.ttl system property.

- refactor:(loom) replace the usages of synchronized with ReentrantLock
[PR #&#8203;2635](https://github.com/pgjdbc/pgjdbc/pull/2635)
Fixes [Issue #&#8203;1951](https://github.com/pgjdbc/pgjdbc/issues/1951)

###
[`v42.5.4`](https://github.com/pgjdbc/pgjdbc/blob/HEAD/CHANGELOG.md#4254-2023-02-15-102104--0500)

##### Fixed

- fix: fix testGetSQLTypeQueryCache by searching for xid type. We used
to search for box type but it is now cached. xid is not cached, this
nuance is required for the test.
- fix OidValueCorrectnessTest BOX_ARRAY OID, by adding BOX_ARRAY to the
oidTypeName map \[PR
[#&#8203;2810](https://github.com/pgjdbc/pgjdbc/issues/2810)]\((https://github.com/pgjdbc/pgjdbc/pull/2810).
- fixes [Issue
#&#8203;2804](https://github.com/pgjdbc/pgjdbc/issues/2804).
- fix: Make sure that github CI runs tests on all [PRs
#&#8203;2809](\(https://github.com/pgjdbc/pgjdbc/pull/2809\)).

###
[`v42.5.3`](https://github.com/pgjdbc/pgjdbc/blob/HEAD/CHANGELOG.md#4253-2023-02-03-082450--0500)

##### Fixed

- fix: Add box to TypeInfoCache, fixes [Issue
#&#8203;2746](https://github.com/pgjdbc/pgjdbc/issues/2746) [PR
#&#8203;2747](https://github.com/pgjdbc/pgjdbc/pull/2747)
- fix: regression in PgResultSet LONG_MIN copy and paste error fixes
[Issue #&#8203;2748](https://github.com/pgjdbc/pgjdbc/issues/2748)
[PR#2749](https://github.com/pgjdbc/pgjdbc/pull/2749)

###
[`v42.5.2`](https://github.com/pgjdbc/pgjdbc/blob/HEAD/CHANGELOG.md#4252-2023-01-31-143046--0500)

##### Changed

- regression: This release has 2 known regressions which make it
unusable see the notes above. We advise people to use 42.5.3 instead.
- docs: specify that timeouts are in seconds and there is a maximum.
Housekeeping on some tests fixes [#Issue
2671](https://github.com/pgjdbc/pgjdbc/issues/2671) [PR
#&#8203;2686](https://github.com/pgjdbc/pgjdbc/pull/2686)
- docs: clarify binaryTransfer and add it to README [PR#
2698](https://github.com/pgjdbc/pgjdbc/pull/2698)
- docs: Document the need to encode reserved characters in the
connection URL [PR
#&#8203;2700](https://github.com/pgjdbc/pgjdbc/pull/2700)
- feat: Define binary transfer for custom types
dynamically/automatically fixes [Issue
#&#8203;2554](https://github.com/pgjdbc/pgjdbc/issues/2554) [PR
#&#8203;2556](https://github.com/pgjdbc/pgjdbc/pull/2556)

##### Added

- fix: added gssResponseTimeout as part of [PR
#&#8203;2687](https://github.com/pgjdbc/pgjdbc/pull/2687) to make sure
we don't wait forever on a GSS RESPONSE

##### Fixed

- fix: Ensure case of XML tags in Maven snippet is correct [PR
#&#8203;2682](https://github.com/pgjdbc/pgjdbc/pull/2682)
- fix: Make sure socket is closed if an exception is thrown in
createSocket fixes [Issue
#&#8203;2684](https://github.com/pgjdbc/pgjdbc/issues/2684) [PR
#&#8203;2685](https://github.com/pgjdbc/pgjdbc/pull/2685)
- fix: Apply patch from [Issue
#&#8203;2683](https://github.com/pgjdbc/pgjdbc/issues/2683) to fix
hanging ssl connections [PR
#&#8203;2687](https://github.com/pgjdbc/pgjdbc/pull/2687)
- fix - binary conversion of (very) long numeric values (longer than 4
\* 2^15 digits) [PR
#&#8203;2697](https://github.com/pgjdbc/pgjdbc/pull/2697) fixes [Issue
#&#8203;2695](https://github.com/pgjdbc/pgjdbc/issues/2695)
- minor: enhance readability connection of startup params [PR
#&#8203;2705](https://github.com/pgjdbc/pgjdbc/pull/2785)

###
[`v42.5.1`](https://github.com/pgjdbc/pgjdbc/blob/HEAD/CHANGELOG.md#4251-2022-11-23-101459--0500)

##### Security

- security: StreamWrapper spills to disk if setText, or setBytea sends
very large Strings or arrays to the server. createTempFile creates a
file which can be read by other users on unix like systems (Not macos).
This has been fixed in this version fixes CVE-2022-41946 see the
[security
advisory](https://github.com/pgjdbc/pgjdbc/security/advisories/GHSA-562r-vg33-8x8h)
for more details. Reported by [Jonathan
Leitschuh](https://github.com/JLLeitschuh) This has been fixed in
versions 42.5.1, 42.4.3 42.3.8, 42.2.27.jre7. Note there is no fix for
42.2.26.jre6. See the security advisory for work arounds.

##### Fixed

- fix: make sure we select array_in from pg_catalog to avoid duplicate
array_in functions fixes [#Issue
2548](https://github.com/pgjdbc/pgjdbc/issues/2548) [PR
#&#8203;2552](https://github.com/pgjdbc/pgjdbc/issues/2552)
- fix: binary decoding of bool values [PR
#&#8203;2640](https://github.com/pgjdbc/pgjdbc/pull/2640)
- perf: improve performance of PgResultSet
getByte/getShort/getInt/getLong for float-typed columns [PR
#&#8203;2634](https://github.com/pgjdbc/pgjdbc/pull/2634)
- chore: fix various spelling errors [PR
#&#8203;2592](https://github.com/pgjdbc/pgjdbc/pull/2592)
- chore: Feature/urlparser improve URLParser [PR
#&#8203;2641](https://github.com/pgjdbc/pgjdbc/pull/2592)

###
[`v42.5.0`](https://github.com/pgjdbc/pgjdbc/blob/HEAD/CHANGELOG.md#4250-2022-08-23-112011--0400)

##### Changed

- fix: revert change in [PR
#&#8203;1986](https://github.com/pgjdbc/pgjdbc/pull/1986) where float
was aliased to float4 from float8.
float now aliases to float8 [PR
#&#8203;2598](https://github.com/pgjdbc/pgjdbc/pull/2598) fixes [Issue
#&#8203;2597](https://github.com/pgjdbc/pgjdbc/issues/2597)

###
[`v42.4.2`](https://github.com/pgjdbc/pgjdbc/blob/HEAD/CHANGELOG.md#4242-2022-08-17-103340--0400)

##### Changed

- fix: add alias to the generated getUDT() query for clarity (PR
[#&#8203;2553](https://github.com/pgjdbc/pgjdbc/issues/2553))\[https://github.com/pgjdbc/pgjdbc/pull/2553]

##### Added

- fix: make setObject accept UUID array [PR
#&#8203;2587](https://github.com/pgjdbc/pgjdbc/pull/2587)

##### Fixed

- fix: regression with GSS. Changes introduced to support building with
Java 17 caused failures [Issue
#&#8203;2588](https://github.com/pgjdbc/pgjdbc/issues/2588)
- fix: set a timeout to get the return from requesting SSL upgrade. [PR
#&#8203;2572](https://github.com/pgjdbc/pgjdbc/pull/2572)
- feat: synchronize statement executions (e.g. avoid deadlock when
Connection.isValid is executed from concurrent threads)

###
[`v42.4.1`](https://github.com/pgjdbc/pgjdbc/blob/HEAD/CHANGELOG.md#4241-2022-08-01-162420--0400)

##### Security

- fix: CVE-2022-31197 Fixes SQL generated in PgResultSet.refresh() to
escape column identifiers so as to prevent SQL injection.
- Previously, the column names for both key and data columns in the
table were copied as-is into the generated
SQL. This allowed a malicious table with column names that include
statement terminator to be parsed and
        executed as multiple separate commands.
- Also adds a new test class ResultSetRefreshTest to verify this change.
    -   Reported by [Sho Kato](https://github.com/kato-sho)

##### Changed

-   chore: skip publishing pgjdbc-osgi-test to Central
-   chore: bump Gradle to 7.5
-   test: update JUnit to 5.8.2

##### Added

- chore: added Gradle Wrapper Validation for verifying
gradle-wrapper.jar
- chore: added "permissions: contents: read" for GitHub Actions to avoid
unintentional modifications by the CI
-   chore: support building pgjdbc with Java 17
- feat: synchronize statement executions (e.g. avoid deadlock when
Connection.isValid is executed from concurrent threads)

###
[`v42.4.0`](https://github.com/pgjdbc/pgjdbc/blob/HEAD/CHANGELOG.md#4240-2022-06-09-081402--0400)

##### Changed

- fix: added GROUP_STARTUP_PARAMETERS boolean property to determine
whether or not to group
startup parameters in a transaction (default=false like 42.2.x) fixes
[Issue #&#8203;2425](https://github.com/pgjdbc/pgjdbc/issues/2497)
pgbouncer cannot deal with transactions in statement pooling mode [PR
#&#8203;2425](https://github.com/pgjdbc/pgjdbc/pull/2425)

##### Fixed

- fix: queries with up to 65535 (inclusive) parameters are supported now
(previous limit was 32767)
[PR #&#8203;2525](https://github.com/pgjdbc/pgjdbc/pull/2525), [Issue
#&#8203;1311](https://github.com/pgjdbc/pgjdbc/issues/1311)
- fix: workaround JarIndex parsing issue by using
groupId/artifactId-version directory namings.
Regression since 42.2.13. [PR
#&#8203;2531](https://github.com/pgjdbc/pgjdbc/pull/2531), [issue
#&#8203;2527](https://github.com/pgjdbc/pgjdbc/issues/2527)
-   fix: use Locale.ROOT for toUpperCase() toLowerCase() calls
-   doc: add Vladimir Sitnikov's PGP key
- fix: return correct base type for domain from getUDTs [PR
#&#8203;2520](https://github.com/pgjdbc/pgjdbc/pull/2520) [Issue
#&#8203;2522](https://github.com/pgjdbc/pgjdbc/issues/2522)
- perf: utcTz static and renamed to UTC_TIMEZONE [PR
#&#8203;2519](https://github.com/pgjdbc/pgjdbc/pull/2520)
- doc: fix release version for
[#&#8203;2377](https://github.com/pgjdbc/pgjdbc/issues/2377) (it should
be 42.3.6, not 42.3.5)

</details>

<details>
<summary>square/okio (com.squareup.okio:okio)</summary>

###
[`v3.9.1`](https://github.com/square/okio/blob/HEAD/CHANGELOG.md#Version-391)

*2024-09-12*

- Fix: Support paths containing a single dot (".") in `Path.relativeTo`.
- Fix: Do not read from the upstream source when a 0-byte read is
requested.
- Fix: Update kotlinx.datetime to 0.6.0 to correct a Gradle module
metadata problem with 0.5.0.
Note: this artifact is only used in 'okio-fakefilesystem' and
'okio-nodefilesystem' and not in the Okio core.

</details>

<details>
<summary>mockito/mockito (org.mockito:mockito-core)</summary>

### [`v5.14.1`](https://github.com/mockito/mockito/releases/tag/v5.14.1)

<sup><sup>*Changelog generated by [Shipkit Changelog Gradle
Plugin](https://github.com/shipkit/shipkit-changelog)*</sup></sup>

##### 5.14.1

- 2024-09-30 - [2
commit(s)](https://github.com/mockito/mockito/compare/v5.14.0...v5.14.1)
by Brice Dutheil, dependabot\[bot]
- fix: gradle mockitoAgent configuration should not be transitive
[(#&#8203;3454)](https://github.com/mockito/mockito/pull/3454)
- Bump bytebuddy from 1.15.2 to 1.15.3
[(#&#8203;3452)](https://github.com/mockito/mockito/pull/3452)
- Allow for installing a Java agent within the Mockito jar, without
exposing Byte Buddy's attach mechanism.
[(#&#8203;3437)](https://github.com/mockito/mockito/pull/3437)

### [`v5.14.0`](https://github.com/mockito/mockito/releases/tag/v5.14.0)

<sup><sup>*Changelog generated by [Shipkit Changelog Gradle
Plugin](https://github.com/shipkit/shipkit-changelog)*</sup></sup>

##### 5.14.0

- 2024-09-27 - [9
commit(s)](https://github.com/mockito/mockito/compare/v5.13.0...v5.14.0)
by Ali-Hassan, Brice Dutheil, David Saff, Rafael Winterhalter,
dependabot\[bot]
- Bump org.junit.platform:junit-platform-launcher from 1.11.0 to 1.11.1
[(#&#8203;3451)](https://github.com/mockito/mockito/pull/3451)
- Bump bytebuddy from 1.15.1 to 1.15.2
[(#&#8203;3450)](https://github.com/mockito/mockito/pull/3450)
- Update Documentation of ArgumentCaptor.java
[(#&#8203;3448)](https://github.com/mockito/mockito/pull/3448)
- Split subprojects
[(#&#8203;3447)](https://github.com/mockito/mockito/pull/3447)
- Separate extensions from integration tests
[(#&#8203;3443)](https://github.com/mockito/mockito/issues/3443)
- Bump org.eclipse.platform:org.eclipse.osgi from 3.20.0 to 3.21.0
[(#&#8203;3440)](https://github.com/mockito/mockito/pull/3440)
- Bump com.gradle.enterprise from 3.18 to 3.18.1
[(#&#8203;3439)](https://github.com/mockito/mockito/pull/3439)
- Allow for installing a Java agent within the Mockito jar, without
exposing Byte Buddy's attach mechanism.
[(#&#8203;3437)](https://github.com/mockito/mockito/pull/3437)
- Bump bytebuddy from 1.15.0 to 1.15.1
[(#&#8203;3434)](https://github.com/mockito/mockito/pull/3434)
- Fixes [#&#8203;3419](https://github.com/mockito/mockito/issues/3419):
Disable mocks with an error message
[(#&#8203;3424)](https://github.com/mockito/mockito/pull/3424)
- Accessing a mock after clearInlineMocks could provide much more useful
error message.
[(#&#8203;3419)](https://github.com/mockito/mockito/issues/3419)

</details>

<details>
<summary>Kotlin/kotlinx.coroutines
(org.jetbrains.kotlinx:kotlinx-coroutines-core)</summary>

###
[`v1.9.0`](https://github.com/Kotlin/kotlinx.coroutines/blob/HEAD/CHANGES.md#Version-190)

[Compare
Source](https://github.com/Kotlin/kotlinx.coroutines/compare/1.8.1...1.9.0)

##### Features

- Wasm/WASI target support
([#&#8203;4064](https://github.com/Kotlin/kotlinx.coroutines/issues/4064)).
Thanks, [@&#8203;igoriakovlev](https://github.com/igoriakovlev)!
- `limitedParallelism` now optionally accepts the name of the dispatcher
view for easier debugging
([#&#8203;4023](https://github.com/Kotlin/kotlinx.coroutines/issues/4023)).
- No longer initialize `Dispatchers.IO` on the JVM when other standard
dispatchers are accessed
([#&#8203;4166](https://github.com/Kotlin/kotlinx.coroutines/issues/4166)).
Thanks, [@&#8203;metalhead8816](https://github.com/metalhead8816)!
- Introduced the `Flow<T>.chunked(size: Int): Flow<List<T>>` operator
that groups emitted values into groups of the given size
([#&#8203;1290](https://github.com/Kotlin/kotlinx.coroutines/issues/1290)).
- Closeable dispatchers are instances of `AutoCloseable` now
([#&#8203;4123](https://github.com/Kotlin/kotlinx.coroutines/issues/4123)).

##### Fixes

- Calling `hasNext` on a `Channel`'s iterator is idempotent
([#&#8203;4065](https://github.com/Kotlin/kotlinx.coroutines/issues/4065)).
Thanks, [@&#8203;gitpaxultek](https://github.com/gitpaxultek)!
- `CoroutineScope()` created without an explicit dispatcher uses
`Dispatchers.Default` on Native
([#&#8203;4074](https://github.com/Kotlin/kotlinx.coroutines/issues/4074)).
Thanks, [@&#8203;whyoleg](https://github.com/whyoleg)!
- Fixed a bug that prevented non-Android `Dispatchers.Main` from
initializing when the Firebase dependency is used
([#&#8203;3914](https://github.com/Kotlin/kotlinx.coroutines/issues/3914)).
- Ensured a more intuitive ordering of tasks in `runBlocking`
([#&#8203;4134](https://github.com/Kotlin/kotlinx.coroutines/issues/4134)).
- Forbid casting a `Mutex` to `Semaphore`
([#&#8203;4176](https://github.com/Kotlin/kotlinx.coroutines/issues/4176)).
- Worked around a stack overflow that may occur when calling
`asDeferred` on a `Future` many times
([#&#8203;4156](https://github.com/Kotlin/kotlinx.coroutines/issues/4156)).

##### Deprecations and promotions

- Advanced the deprecation levels for `BroadcastChannel`-based API
([#&#8203;4197](https://github.com/Kotlin/kotlinx.coroutines/issues/4197)).
- Advanced the deprecation levels for the old `kotlinx-coroutines-test`
API
([#&#8203;4198](https://github.com/Kotlin/kotlinx.coroutines/issues/4198)).
- Deprecated `Job.cancelFutureOnCompletion`
([#&#8203;4173](https://github.com/Kotlin/kotlinx.coroutines/issues/4173)).
- Promoted `CoroutineDispatcher.limitedParallelism` to stable
([#&#8203;3864](https://github.com/Kotlin/kotlinx.coroutines/issues/3864)).
- Promoted `CoroutineStart.ATOMIC` from `ExperimentalCoroutinesApi` to
`DelicateCoroutinesApi`
([#&#8203;4169](https://github.com/Kotlin/kotlinx.coroutines/issues/4169)).
- Promoted `CancellableContinuation.resume` with an `onCancellation`
lambda to stable, providing extra arguments to the lambda
([#&#8203;4088](https://github.com/Kotlin/kotlinx.coroutines/issues/4088)).
- Marked the classes and interfaces that are not supposed to be
inherited from with the new `InternalForInheritanceCoroutinesApi` opt-in
([#&#8203;3770](https://github.com/Kotlin/kotlinx.coroutines/issues/3770)).
- Marked the classes and interfaces inheriting from which is not stable
with the new `ExperimentalForInheritanceCoroutinesApi` opt-in
([#&#8203;3770](https://github.com/Kotlin/kotlinx.coroutines/issues/3770)).

##### Other

- Kotlin was updated to 2.0
([#&#8203;4137](https://github.com/Kotlin/kotlinx.coroutines/issues/4137)).
- Reworked the documentation for `CoroutineStart` and `Channel`-based
API
([#&#8203;4147](https://github.com/Kotlin/kotlinx.coroutines/issues/4147),
[#&#8203;4148](https://github.com/Kotlin/kotlinx.coroutines/issues/4148),
[#&#8203;4167](https://github.com/Kotlin/kotlinx.coroutines/issues/4167)).
Thanks, [@&#8203;globsterg](https://github.com/globsterg)!
- Simplified the internal implementation of `Job`
([#&#8203;4053](https://github.com/Kotlin/kotlinx.coroutines/issues/4053)).
-   Small tweaks, fixes, and documentation improvements.

</details>

<details>
<summary>redis/jedis (redis.clients:jedis)</summary>

### [`v5.2.0`](https://github.com/redis/jedis/releases/tag/v5.2.0):
5.2.0 GA

#### Enhanced Client-side caching

We are happy to announce that improved [server-assisted, client-side
caching](https://redis.io/docs/manual/client-side-caching/) is now
generally available! Special thanks to all our beta testers for their
valuable feedback, which helped us refine and improve the initial
implementation.

Client-side caching is supported exclusively with the RESP3 protocol
with Redis >= 7.4 and is available in UnifiedJedis, JedisPooled, and
JedisCluster and other classes.

##### How to try Client-Side Caching

1. [Install
Jedis](https://redis.io/docs/connect/clients/java/jedis/#install)
**5.2.0**
2.  Use the following code example to get started:

```java
public class CSCExampleTest {
  public static void main() {

    HostAndPort node = HostAndPort.from("localhost:6379");
    JedisClientConfig clientConfig = DefaultJedisClientConfig.builder()
        .resp3()                // RESP3 protocol is required for client-side caching
        //.user("myuser")       // Redis server username (optional)
        //.password("mypass")   // Redis user's password (optional)
        .build();

    CacheConfig cacheConfig = getCacheConfig();
    Cache cache = CacheFactory.getCache(cacheConfig);

    try (UnifiedJedis client = new UnifiedJedis(node, clientConfig, cache)) {
      client.set("foo", "bar");
      client.get("foo");
      client.get("foo"); // Cache hit

      System.out.println("Cache size: " + cache.getSize()); // 1
      System.out.println(cache.getStats().toString());

      //Let's change the value of "foo" to invalidate the value stored in the local cache
      client.mset("foo", "new_value", "ignore_me:1", "another_value");

      Thread.sleep(1000); // wait for the cache invalidation to happen

      System.out.println(client.get("foo")); // Cache miss
      System.out.println(cache.getStats().toString());

      client.get("ignore_me:1"); // Client will ignore this key

      System.out.println("Cache size: " + cache.getSize()); // still 1

      // check the cache stats
      System.out.println(cache.getStats().toString());

    } catch (InterruptedException e) {
      throw new RuntimeException(e);
    }
  }

  private static CacheConfig getCacheConfig() {

    // This is a simple cacheable implementation that ignores keys starting with "ignore_me"
    Cacheable cacheable = new DefaultCacheable() {

      final String IGNORE_PREFIX = "ignore_me";

      @&#8203;Override
      public boolean isCacheable(ProtocolCommand command, List<Object> keys) {
        // assuming we'll only execute methods with string keys
        List<String> stringKeys = keys.stream()
            .filter(obj -> obj instanceof String)
            .map(obj -> (String) obj)
            .collect(Collectors.toList());

        for (String key : stringKeys) {
          if (key.startsWith(IGNORE_PREFIX)) {
            return false;
          }
        }

        return isDefaultCacheableCommand(command);
      }
    };

    // Create a cache with a maximum size of 10000 entries
    return CacheConfig.builder()
        .maxSize(10000)
        .cacheable(cacheable)
        .build();
  }
}
```

It is possible to limit or ignore commands or keys for client-side
caching. The `getCacheConfig` method presented above provides an example
of how to achieve that.

#### 🔥 Breaking Changes

- JedisConnectionException contains HostAndPort from
DefaultJedisSocketFactory
([#&#8203;3896](https://github.com/redis/jedis/issues/3896))
- Address change in JSON.GET command without path
([#&#8203;3858](https://github.com/redis/jedis/issues/3858))
- Modify and fail-fast GeoSearchParam
([#&#8203;3827](https://github.com/redis/jedis/issues/3827))
- Support transaction from UnifiedJedis without calling multi first
([#&#8203;3804](https://github.com/redis/jedis/issues/3804))
- Reduce the log level of validateObject to WARN
([#&#8203;3750](https://github.com/redis/jedis/issues/3750))

#### 🧪 Experimental Features

- Support automatic namespacing
([#&#8203;3781](https://github.com/redis/jedis/issues/3781))
- Added support for ADDSCORES argument in FT.AGGREGATE
([#&#8203;3908](https://github.com/redis/jedis/issues/3908))
- Support IGNORE and other optional arguments for timeseries commands
([#&#8203;3860](https://github.com/redis/jedis/issues/3860))

#### 🚀 New Features

- Support Hash field expiration
([#&#8203;3826](https://github.com/redis/jedis/issues/3826))
- Add equals and hashCode to Timeseries Params classes
([#&#8203;3959](https://github.com/redis/jedis/issues/3959))
- Decoding FT.SEARCH reply can be disabled at field level
([#&#8203;3926](https://github.com/redis/jedis/issues/3926))
- Get enriched Connection information
([#&#8203;3745](https://github.com/redis/jedis/issues/3745))
- Support execute the read-only command on replica nodes
([#&#8203;3848](https://github.com/redis/jedis/issues/3848))
- JedisConnectionException contains HostAndPort from
DefaultJedisSocketFactory
([#&#8203;3896](https://github.com/redis/jedis/issues/3896))
- Support \[S]PUBLISH in pipelines and transactions
([#&#8203;3859](https://github.com/redis/jedis/issues/3859))
- Support Hash field expiration
([#&#8203;3826](https://github.com/redis/jedis/issues/3826))
- Custom connection pool to MultiClusterPooledConnectionProvider
([#&#8203;3801](https://github.com/redis/jedis/issues/3801))
- PubSub handle array of messages for RESP2
([#&#8203;3811](https://github.com/redis/jedis/issues/3811))
- Support transaction from UnifiedJedis without calling multi first
([#&#8203;3804](https://github.com/redis/jedis/issues/3804))
- Add last entry id for XREADs and support XREADs reply as map
([#&#8203;3791](https://github.com/redis/jedis/issues/3791))
- Add Experimental, Internal and VisibleForTesting annotations
([#&#8203;3790](https://github.com/redis/jedis/issues/3790))
- Implement equals and hashcode in Params classes
([#&#8203;3728](https://github.com/redis/jedis/issues/3728))
- Add support for redis command: CLIENT TRACKINGINFO
([#&#8203;3751](https://github.com/redis/jedis/issues/3751))
- Support the MAXAGE option for CLIENT KILL
([#&#8203;3754](https://github.com/redis/jedis/issues/3754))
- Polish [#&#8203;3741](https://github.com/redis/jedis/issues/3741)
([#&#8203;3746](https://github.com/redis/jedis/issues/3746))
- Add support for the NOVALUES option of HSCAN
([#&#8203;3741](https://github.com/redis/jedis/issues/3741))
- Support issuing Latency commands
([#&#8203;3729](https://github.com/redis/jedis/issues/3729))

#### 🐛 Bug Fixes

- Accept null replies for BZPOPMAX and BZPOPMIN commands
([#&#8203;3930](https://github.com/redis/jedis/issues/3930))
- Fix empty LUA table reply
([#&#8203;3924](https://github.com/redis/jedis/issues/3924))
- Ensure closing connection in Pipeline
([#&#8203;3865](https://github.com/redis/jedis/issues/3865))
- Address change in JSON.GET command without path
([#&#8203;3858](https://github.com/redis/jedis/issues/3858))
- Consider null values in empty StreamPendingSummary
([#&#8203;3793](https://github.com/redis/jedis/issues/3793))
- Fix UnifiedJedis pexpireAt glitch
([#&#8203;3782](https://github.com/redis/jedis/issues/3782))
- Use expiryOption in PipelineBase.expireAt
([#&#8203;3777](https://github.com/redis/jedis/issues/3777))
- Stop connection fetching before sync/exec
([#&#8203;3756](https://github.com/redis/jedis/issues/3756))
- Check for thread interrupt in subscribe process of PubSub
([#&#8203;3726](https://github.com/redis/jedis/issues/3726))
- Avoid NPE in MultiNodePipelineBase.java
([#&#8203;3697](https://github.com/redis/jedis/issues/3697))
- Fix probable missing (RESP3) protocol processing
([#&#8203;3692](https://github.com/redis/jedis/issues/3692))
- Use circuit breaker fallback exception list
([#&#8203;3664](https://github.com/redis/jedis/issues/3664))

#### 🧰 Maintenance

- Deprecate Triggers and Functions feature
([#&#8203;3968](https://github.com/redis/jedis/issues/3968))
- Bump org.apache.httpcomponents.client5:httpclient5-fluent from 5.3.1
to 5.4 ([#&#8203;3962](https://github.com/redis/jedis/issues/3962))
- Bump org.apache.maven.plugins:maven-surefire-plugin from 3.3.1 to
3.5.0 ([#&#8203;3950](https://github.com/redis/jedis/issues/3950))
- Bump org.apache.maven.plugins:maven-javadoc-plugin from 3.8.0 to
3.10.0 ([#&#8203;3949](https://github.com/redis/jedis/issues/3949))
- Bump org.apache.maven.plugins:maven-gpg-plugin from 3.2.5 to 3.2.6
([#&#8203;3957](https://github.com/redis/jedis/issues/3957))
- Added JavaDoc for basic JedisCluster constructors
([#&#8203;3304](https://github.com/redis/jedis/issues/3304))
- Bump org.locationtech.jts:jts-core from 1.19.0 to 1.20.0
([#&#8203;3948](https://github.com/redis/jedis/issues/3948))
- Add A-A failover scenario test
([#&#8203;3935](https://github.com/redis/jedis/issues/3935))
- Bump org.apache.maven.plugins:maven-gpg-plugin from 3.2.4 to 3.2.5
([#&#8203;3936](https://github.com/redis/jedis/issues/3936))
- Fix codecov upload
([#&#8203;3933](https://github.com/redis/jedis/issues/3933))
- Rename readonly config param to specify Redis Cluster
([#&#8203;3932](https://github.com/redis/jedis/issues/3932))
- Modify Connection.toIdentityString and test
([#&#8203;3931](https://github.com/redis/jedis/issues/3931))
- Revert "Creating CODEOWNERS for the examples
([#&#8203;3570](https://github.com/redis/jedis/issues/3570))"
([#&#8203;3897](https://github.com/redis/jedis/issues/3897))
- Bump org.apache.maven.plugins:maven-surefire-plugin from 3.2.5 to
3.3.1 ([#&#8203;3891](https://github.com/redis/jedis/issues/3891))
- Bump org.hamcrest:hamcrest from 2.2 to 3.0
([#&#8203;3914](https://github.com/redis/jedis/issues/3914))
- Bump org.apache.maven.plugins:maven-javadoc-plugin from 3.7.0 to 3.8.0
([#&#8203;3909](https://github.com/redis/jedis/issues/3909))
- Bump net.javacrumbs.json-unit:json-unit from 2.38.0 to 2.40.1
([#&#8203;3903](https://github.com/redis/jedis/issues/3903))
- Bump org.apache.maven.plugins:maven-release-plugin from 3.0.1 to 3.1.1
([#&#8203;3890](https://github.com/redis/jedis/issues/3890))
- Fixed typo in Javadoc
([#&#8203;3917](https://github.com/redis/jedis/issues/3917))
- Bump org.apache.maven.plugins:maven-jar-plugin from 3.4.1 to 3.4.2
([#&#8203;3910](https://github.com/redis/jedis/issues/3910))
- Bump com.kohlschutter.junixsocket:junixsocket-core from 2.9.1 to
2.10.0 ([#&#8203;3901](https://github.com/redis/jedis/issues/3901))
- Bump jackson.version from 2.17.1 to 2.17.2
([#&#8203;3902](https://github.com/redis/jedis/issues/3902))
- Add Scenario tests
([#&#8203;3847](https://github.com/redis/jedis/issues/3847))
- Modify the judgment that reads a response as empty to isEmpty method
([#&#8203;3888](https://github.com/redis/jedis/issues/3888))
- Replace `synchronized` with `j.u.c.l.ReentrantLock` for Loom
([#&#8203;3480](https://github.com/redis/jedis/issues/3480))
- Extract messages of unsupported exception as constants
([#&#8203;3887](https://github.com/redis/jedis/issues/3887))
- Bump org.apache.maven.plugins:maven-javadoc-plugin from 3.6.3 to 3.7.0
([#&#8203;3851](https://github.com/redis/jedis/issues/3851))
- Bump org.sonatype.plugins:nexus-staging-maven-plugin from 1.6.13 to
1.7.0 ([#&#8203;3850](https://github.com/redis/jedis/issues/3850))
- Bump com.google.code.gson:gson from 2.10.1 to 2.11.0
([#&#8203;3842](https://github.com/redis/jedis/issues/3842))
- Merge doc tests into main branch to keep in-sync with the code
([#&#8203;3861](https://github.com/redis/jedis/issues/3861))
- Deprecate unused Set<Tuple> builders
([#&#8203;3857](https://github.com/redis/jedis/issues/3857))
- Disable Redis Graph tests
([#&#8203;3856](https://github.com/redis/jedis/issues/3856))
- Introduce EndpointConfig and load endpoint settings from the
endpoints.json file
([#&#8203;3836](https://github.com/redis/jedis/issues/3836))
- Address Gears test fail - Cleanup Function libraries
([#&#8203;3840](https://github.com/redis/jedis/issues/3840))
- Bump jackson.version from 2.17.0 to 2.17.1
([#&#8203;3833](https://github.com/redis/jedis/issues/3833))
- Add methods in CommandArguments and RawableFactory
([#&#8203;3834](https://github.com/redis/jedis/issues/3834))
- Modify and fail-fast GeoSearchParam
([#&#8203;3827](https://github.com/redis/jedis/issues/3827))
- Bump org.apache.maven.plugins:maven-jar-plugin from 3.4.0 to 3.4.1
([#&#8203;3822](https://github.com/redis/jedis/issues/3822))
- Bump org.apache.maven.plugins:maven-gpg-plugin from 3.2.3 to 3.2.4
([#&#8203;3823](https://github.com/redis/jedis/issues/3823))
- Bump org.apache.maven.plugins:maven-jar-plugin from 3.3.0 to 3.4.0
([#&#8203;3819](https://github.com/redis/jedis/issues/3819))
- Bump org.apache.maven.plugins:maven-gpg-plugin from 3.2.2 to 3.2.3
([#&#8203;3818](https://github.com/redis/jedis/issues/3818))
- Add more tests for the CommandObjects class
([#&#8203;3809](https://github.com/redis/jedis/issues/3809))
- Resolve compile warnings
([#&#8203;3810](https://github.com/redis/jedis/issues/3810))
- Bump com.kohlschutter.junixsocket:junixsocket-core from 2.9.0 to 2.9.1
([#&#8203;3806](https://github.com/redis/jedis/issues/3806))
- Bump org.jacoco:jacoco-maven-plugin from 0.8.11 to 0.8.12
([#&#8203;3805](https://github.com/redis/jedis/issues/3805))
- Bump org.apache.maven.plugins:maven-source-plugin from 3.3.0 to 3.3.1
([#&#8203;3807](https://github.com/redis/jedis/issues/3807))
- Deprecate unused JSON.ARRAPPEND in CommandObjects
([#&#8203;3798](https://github.com/redis/jedis/issues/3798))
- Extensive unit tests for the CommandObjects class
([#&#8203;3796](https://github.com/redis/jedis/issues/3796))
- Add extensive tests for UnifiedJedis
([#&#8203;3788](https://github.com/redis/jedis/issues/3788))
- Bump org.apache.maven.plugins:maven-gpg-plugin from 3.2.1 to 3.2.2
([#&#8203;3794](https://github.com/redis/jedis/issues/3794))
- Add Experimental, Internal and VisibleForTesting annotations
([#&#8203;3790](https://github.com/redis/jedis/issues/3790))
- Add TS.INFO \[DEGUB] and CF.MEXISTS in pipelined commands
([#&#8203;3787](https://github.com/redis/jedis/issues/3787))
- Bump org.apache.maven.plugins:maven-compiler-plugin from 3.12.1 to
3.13.0 ([#&#8203;3786](https://github.com/redis/jedis/issues/3786))
- Bump org.apache.maven.plugins:maven-gpg-plugin from 3.2.0 to 3.2.1
([#&#8203;3785](https://github.com/redis/jedis/issues/3785))
- Pipelined tests for lists and sets, and API typo fix
([#&#8203;3772](https://github.com/redis/jedis/issues/3772))
- Extensive unit tests for PipeliningBase
([#&#8203;3778](https://github.com/redis/jedis/issues/3778))
- Bump jackson.version from 2.16.2 to 2.17.0
([#&#8203;3776](https://github.com/redis/jedis/issues/3776))
- Bump org.apache.maven.plugins:maven-gpg-plugin from 3.1.0 to 3.2.0
([#&#8203;3775](https://github.com/redis/jedis/issues/3775))
- Fix typo in SetPipelineCommands method name
([#&#8203;3773](https://github.com/redis/jedis/issues/3773))
- Streamline test execution
([#&#8203;3760](https://github.com/redis/jedis/issues/3760))
- Add pipelined tests for sorted sets
([#&#8203;3771](https://github.com/redis/jedis/issues/3771))
- Geo pipelined tests
([#&#8203;3767](https://github.com/redis/jedis/issues/3767))
- Reenable clustering tests
([#&#8203;3764](https://github.com/redis/jedis/issues/3764))
- GETSET command is deprecated since Redis 6.2.0
([#&#8203;3768](https://github.com/redis/jedis/issues/3768))
- Add tests for Stream pipelined commands
([#&#8203;3763](https://github.com/redis/jedis/issues/3763))
- Bump jackson.version from 2.16.1 to 2.16.2
([#&#8203;3762](https://github.com/redis/jedis/issues/3762))
- Bump org.json:json from
[`2024020`](https://github.com/redis/jedis/commit/20240205) to
[`2024030`](https://github.com/redis/jedis/commit/20240303)
([#&#8203;3752](https://github.com/redis/jedis/issues/3752))
- Add Hashes pipeline commands unit tests
([#&#8203;3288](https://github.com/redis/jedis/issues/3288))
- Add unit tests for pipelining - migrate and db commands
([#&#8203;3759](https://github.com/redis/jedis/issues/3759))
- Reduce the log level of validateObject to WARN
([#&#8203;3750](https://github.com/redis/jedis/issues/3750))
- Bump org.json:json from
[`2023101`](https://github.com/redis/jedis/commit/20231013) to
[`2024020`](https://github.com/redis/jedis/commit/20240205)
([#&#8203;3706](https://github.com/redis/jedis/issues/3706))
- Bump com.kohlschutter.junixsocket:junixsocket-core from 2.8.3 to 2.9.0
([#&#8203;3724](https://github.com/redis/jedis/issues/3724))
-   Running doctests also on emb-examples ([#&

</details>

GitOrigin-RevId: 8a275b1c484ffdcd889591afa909c0ac94f02667
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.

3 participants