Skip to content

Java: implement support for using insecure TLS - #3386

Merged
shohamazon merged 12 commits into
valkey-io:mainfrom
mthemis-provenir:main
May 27, 2025
Merged

shohamazon merged 12 commits into
valkey-io:mainfrom
mthemis-provenir:main

Conversation

@mthemis-provenir

Copy link
Copy Markdown
Contributor

Issue link

This Pull Request is linked to issue (URL): #3376

Checklist

Before submitting the PR make sure the following are checked:

  • This Pull Request is related to one issue.
  • Commit message has a detailed description of what changed and why.
  • Tests are added or updated.
  • CHANGELOG.md and documentation files are updated.
  • Destination branch is correct - main or release
  • Create merge commit if merging release branch into main, squash otherwise.

@mthemis-provenir
mthemis-provenir requested a review from a team as a code owner March 18, 2025 15:16
@mthemis-provenir
mthemis-provenir force-pushed the main branch 2 times, most recently from 3a319b9 to f47846c Compare March 18, 2025 16:07
@avifenesh

avifenesh commented Mar 18, 2025

Copy link
Copy Markdown
Member

Thanks a lot! ❤️
@GilboaAWS Please review
@yipin-chen @jbrinkman Please assign the right team-members to review 🙏🏽

@avifenesh avifenesh added java ☕ issues and fixes related to the java client Feature ✨ Additional feature, big or small labels Mar 18, 2025
@avifenesh avifenesh added this to the 1.4 milestone Mar 18, 2025
@avifenesh

avifenesh commented Mar 18, 2025

Copy link
Copy Markdown
Member

@mthemis-provenir Please feel free to join valkey slack workspace
If you want to keep being involved in the project, please ping me there, will be happy to have you with us!

@mthemis-provenir

Copy link
Copy Markdown
Contributor Author

@mthemis-provenir Please feel free to join valkey slack workspace If you want to keep being involved in the project, please ping me there, will be happy to have you with us!

Appreciate the offer buddy, but it's a little outside of my wheelhouse. I'm a platform engineer and this tripped us up when trying to use a CNAME to point to a Valkey Serverless cluster in AWS, so I figured how hard could it be to contribute a fix in the hope we can keep using them eventually. I spend most of my time working on infrastructure as code and other platform tooling 😆

@avifenesh

Copy link
Copy Markdown
Member

@mthemis-provenir Haha I see, well, the best reason to contribute, they say.
Feel free also to join as a user, so you can have a direct way to interact if you need help.
We feel good with direct interaction, and the WS is open to all.
Anyway, we will be available here as well.

And, well, platform work is also needed here, in case you are wondering 😛

@GilboaAWS

Copy link
Copy Markdown
Collaborator

Hi @mthemis-provenir and thanks for adding it.
I'll add soon integration test in the Python PR to test this insecure feature, and we should have it in the other wrappers as well.
You can use the Python wrapper PR as a ref. for your changes.

Your contribution is much appreciated, thanks!

@mthemis-provenir
mthemis-provenir marked this pull request as draft March 24, 2025 16:01
@mthemis-provenir
mthemis-provenir marked this pull request as ready for review March 24, 2025 22:15
@mthemis-provenir

Copy link
Copy Markdown
Contributor Author

Hopefully this is more akin to what you were after @GilboaAWS.

@GilboaAWS

Copy link
Copy Markdown
Collaborator

@mthemis-provenir Thanks for adapting the code to the python wrapper.
I added a task to add integration test to each wrapper, please see if it's a quick win for you.
@Yury-Fridlyand will review this one as he's the Java expert.

@mthemis-provenir

Copy link
Copy Markdown
Contributor Author

@mthemis-provenir Thanks for adapting the code to the python wrapper. I added a task to add integration test to each wrapper, please see if it's a quick win for you. @Yury-Fridlyand will review this one as he's the Java expert.

Thanks.

@Yury-Fridlyand be gentle, I'm not a Java developer, just doing this as a best effort to add the functionality 😅

@avifenesh

Copy link
Copy Markdown
Member

I think @Yury-Fridlyand is vacationing.
@mthemis-provenir If you can implement the integration test as said, and ill find someone to give a more “Java oriented” review.
Thanks for the great effort, much appreciated 💘 🙏🏽

@umit

umit commented Mar 26, 2025

Copy link
Copy Markdown
Collaborator

Hi @mthemis-provenir, it looks fine to me. You can update or add new tests in ConnectionTest based on your changes.

@avifenesh

Copy link
Copy Markdown
Member

Hi @mthemis-provenir, it looks fine to me. You can update or add new tests in ConnectionTest based on your changes.

@mthemis-provenir Well, seems like you are fine with Java if you passed it so smoothly.

@mthemis-provenir

Copy link
Copy Markdown
Contributor Author

I asked one of our Java devs to pick up the integration test as I've been pretty busy with other things, which he has now committed. Hopefully this ticks all the boxes 🙏

@Yury-Fridlyand Yury-Fridlyand left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

Please add a changelog entry.
Need to update example(s) too to show how to use this feature.

@SneakyThrows
@ParameterizedTest
@CsvSource(value = {"true, true", "true, false", "false, true", "false, false"})
public void test_connection_tls_mode(String clusterMode, String insecureTls) {

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

The cluster started for IT doesn't use TLS.
Ideally we need to do another PR where we move all cluster start/stop logic from build.gradle into java code. We will be able to manage clusters from withing tests, so we will be able to run another cluster with TLS (with self-signed certificates) and validate how this feature works.
Before that done this test is no-op.

Comment on lines +104 to +105
.tlsAdvancedConfiguration(
TlsAdvancedConfiguration.builder().useInsecureTLS(useInsecureTLS).build())

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

There is no reason to set useInsecureTLS if TLS isn't activated at all. Probably should throw a ConfigurationError.

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Makes sense, will update

BaseClient client =
createClientWithTLSMode(Boolean.getBoolean(clusterMode), Boolean.getBoolean(insecureTls));

try {

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

nit: use try-with-resources syntax to get client auto-closed

ConnectionRequest expectedProtobufConnectionRequest =
ConnectionRequest.newBuilder()
.setTlsMode(TlsMode.NoTls)
.setConnectionTimeout(250)

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Why explicitly set the timeouts for these connections? I thought the default was set to 250ms anyway in the AdvancedBaseClientConfiguration.

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Leftover from previous changes, will update

@shohamazon shohamazon left a comment

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

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

Looks good ⭐

* The duration in milliseconds to wait for a TCP/TLS connection to complete. This applies both
* during initial client creation and any reconnections that may occur during request processing.
* **Note**: A high connection timeout may lead to prolonged blocking of the entire command
* pipeline. If not explicitly set, a default value of 250 milliseconds will be used.

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

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

do we have to use Builder.Default and set a default value ourself? ( + removing the doc). The default value we set in thee core, and when the core's default value might change, we will simply change it there

@smas-provenir smas-provenir May 26, 2025

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

This reason behind this change was to make the default value more clear within the Java code itself. Right now that default 250ms seems like a magic number being pulled out of thin air. I can revert the change if needed, since I do see the problem with unintended duplication

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

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

I like the idea, but I fear it might cause a problem if we miss this place in case the default value gets changed in the future

@smas-provenir smas-provenir May 26, 2025

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Right, in that case, I'll revert it, and add a better explanation in the docs.

@Builder.Default private final Integer connectionTimeout = 250;

@Builder.Default
private final TlsAdvancedConfiguration tlsAdvancedConfiguration =

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

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

can you add a doc in here? take a look for example at #3375 , I worked on the docs there yesterday

@smas-provenir smas-provenir May 26, 2025

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Sure thing, I'll use the docs from the python side

* testing purposes, this option is discouraged for production use to avoid potential security
* risks like man-in-the-middle attacks.
*/
@Builder.Default private final boolean useInsecureTLS = false;

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

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

I liked this doc, so i changed the original doc in #3375 and merged between the 2, what do you think? If you have any comments LMK

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

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

I believe the naming should be consistent as well

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

I'm not sure I like insecure as the whole field name, it's not explicit enough. I would argue that there might be other "insecure" configs that can be applied to TLS, that would conflict with that field

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

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

make sure you update the doc to be like #3375 (I will update the param name in Python)
or if you have a better doc suggestion LMK and I ill update there as well

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Sure, I'll update the param docs to match the one in your PR. I'll keep the javadoc specific structure though

@SneakyThrows
@ParameterizedTest
@CsvSource(value = {"true, true", "true, false", "false, true", "false, false"})
public void test_connection_tls_mode(String clusterMode, String insecureTls) {

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

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

I'm not sure how this test is passing (maybe its the try), bc the current cluster is not TLS enabled

we can create a tls cluster using https://github.com/valkey-io/valkey-glide/blob/main/java/integTest/build.gradle, LMK if you prefer doing this in another PR

@smas-provenir smas-provenir May 26, 2025

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

I think the test passes because if TLS is disabled in the cluster, then it disregards any TLS config from the client, and accepts all connections. I very well could be wrong though

IMO, adding that new cluster config falls outside the scope of this ticket. @Yury-Fridlyand also seems to prefer that approach as well.

@smas-provenir
smas-provenir force-pushed the main branch 3 times, most recently from 7ba0ac1 to a80308d Compare May 26, 2025 15:15

@shohamazon shohamazon left a comment

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

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

🌟

* testing purposes, this option is discouraged for production use to avoid potential security
* risks like man-in-the-middle attacks.
*/
@Builder.Default private final boolean useInsecureTLS = false;

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

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

make sure you update the doc to be like #3375 (I will update the param name in Python)
or if you have a better doc suggestion LMK and I ill update there as well


if (advancedConfiguration.getTlsAdvancedConfiguration().isUseInsecureTLS()) {
if (connectionRequestBuilder.getTlsMode() == TlsMode.NoTls) {
throw new ConfigurationError("`insecureTlS` cannot be enabled when `useTLS` is disabled.");

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

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

Suggested change
throw new ConfigurationError("`insecureTlS` cannot be enabled when `useTLS` is disabled.");
throw new ConfigurationError("`useInsecureTlS` cannot be enabled when `useTLS` is disabled.");

assertThrows(
ConfigurationError.class,
() -> connectionManager.connectToValkey(glideClusterClientConfiguration));
assertEquals("`insecureTlS` cannot be enabled when `useTLS` is disabled.", ex.getMessage());

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

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

Suggested change
assertEquals("`insecureTlS` cannot be enabled when `useTLS` is disabled.", ex.getMessage());
assertEquals("`useInsecureTlS` cannot be enabled when `useTLS` is disabled.", ex.getMessage());

mthemis-provenir and others added 12 commits May 27, 2025 13:12
Signed-off-by: Matt <mthemis@provenir.com>
Signed-off-by: Santiago, Mas <smas@provenir.com>
Signed-off-by: Matt <mthemis@provenir.com>
Signed-off-by: Santiago, Mas <smas@provenir.com>
Signed-off-by: Matt <mthemis@provenir.com>
Signed-off-by: Santiago, Mas <smas@provenir.com>
Signed-off-by: Matt <mthemis@provenir.com>
Signed-off-by: Santiago, Mas <smas@provenir.com>
Signed-off-by: Santiago, Mas <smas@provenir.com>
Signed-off-by: Santiago, Mas <smas@provenir.com>
Signed-off-by: Santiago, Mas <smas@provenir.com>
Signed-off-by: Santiago, Mas <smas@provenir.com>
Signed-off-by: Santiago, Mas <smas@provenir.com>
Signed-off-by: Santiago, Mas <smas@provenir.com>
Signed-off-by: Santiago, Mas <smas@provenir.com>
Signed-off-by: Santiago, Mas <smas@provenir.com>
@shohamazon
shohamazon merged commit c9e9041 into valkey-io:main May 27, 2025
liorsve added a commit that referenced this pull request Jul 28, 2025
* Enhance BackoffStrategy documentation to clarify jitter in retry attempts (#3980)


Signed-off-by: Shoham Elias <shohame@amazon.com>

* Go: Fix Makefile Path for Unit Test (#3961)

* Go: Fix `SortWithOptions` Test (#3984)

* Update engine-matrix.json (#3568)

* Update engine-matrix.json

Signed-off-by: Avi Fenesh <55848801+avifenesh@users.noreply.github.com>

* Update engine-matrix.json

Signed-off-by: Avi Fenesh <55848801+avifenesh@users.noreply.github.com>

* Replace UUID in java batch tests with random numeric string (#3742)

Signed-off-by: tenK <emiliocolindres@gmail.com>
Co-authored-by: Shoham Elias <116083498+shohamazon@users.noreply.github.com>
Co-authored-by: Avi Fenesh <55848801+avifenesh@users.noreply.github.com>

---------

Signed-off-by: Avi Fenesh <55848801+avifenesh@users.noreply.github.com>
Signed-off-by: tenK <emiliocolindres@gmail.com>
Co-authored-by: carthas <emiliocolindres@gmail.com>
Co-authored-by: Shoham Elias <116083498+shohamazon@users.noreply.github.com>

* Updated attribution files for commit 8f72a24dcb21c429b9909bfd0b6868df56df2e51 (#3992)

Updated attribution files

Signed-off-by: ort-bot <valkey-glide@lists.valkey.io>
Co-authored-by: ort-bot <valkey-glide@lists.valkey.io>

* Move refresh slot to the background in the Data Path. (#3851)

* Move refresh slots to the bg instead of blocking in the poll_recover in the data path

Signed-off-by: GilboaAWS <gilboabg@amazon.com>

* Remove the timeout logic

Signed-off-by: GilboaAWS <gilboabg@amazon.com>

* Added test for non head of the line blocking

Signed-off-by: GilboaAWS <gilboabg@amazon.com>

* Added a new test for validating non head of the line blocking for refresh slots

Signed-off-by: GilboaAWS <gilboabg@amazon.com>

* print of ligs

Signed-off-by: GilboaAWS <gilboabg@amazon.com>

* The final test

Signed-off-by: GilboaAWS <gilboabg@amazon.com>

* Adjusted the test for Head of the line blocking to be non-blocking any more

Signed-off-by: GilboaAWS <gilboabg@amazon.com>

* remove chrono depend. and removed prints

Signed-off-by: GilboaAWS <gilboabg@amazon.com>

* remove old test that is not needed anymore

Signed-off-by: GilboaAWS <gilboabg@amazon.com>

* Address comments, removed the task handle and the retry count logic

Signed-off-by: GilboaAWS <gilboabg@amazon.com>

* Move task communication to track the task handle instead of oneshot channel

Signed-off-by: GilboaAWS <gilboabg@amazon.com>

* Changed logic on task abort and panic scenarios

Signed-off-by: GilboaAWS <gilboabg@amazon.com>

* Address comments, fix arg name to handle instead of channel

Signed-off-by: GilboaAWS <gilboabg@amazon.com>

---------

Signed-off-by: GilboaAWS <gilboabg@amazon.com>

* Java: move BackoffStrategy configuration to BaseConfiguration + Added Jitter param (#3783)


---------

Signed-off-by: Shoham Elias <shohame@amazon.com>

* Node: move BackoffStrategy configuration to BaseConfiguration + Added Jitter param (#3792)



---------

Signed-off-by: Shoham Elias <shohame@amazon.com>
Signed-off-by: Shoham Elias <116083498+shohamazon@users.noreply.github.com>

* Java: implement support for using insecure TLS (#3386)



---------

Signed-off-by: Matt <mthemis@provenir.com>
Signed-off-by: Santiago, Mas <smas@provenir.com>
Co-authored-by: Santiago, Mas <smas@provenir.com>

* Go: Batch (#3938)

* BAAAAAAAAAAAAAAAAAAAAAATCH

Signed-off-by: Yury-Fridlyand <yury.fridlyand@improving.com>
Co-authored-by: Edward Liang <76571219+edlng@users.noreply.github.com>
Co-authored-by: Joseph Brinkman <joe.brinkman@improving.com>

* Updated attribution files for commit 0bd8ce8b8ff56a484a7eef2d6f7267c2821e715b (#4011)

Updated attribution files

Signed-off-by: ort-bot <valkey-glide@lists.valkey.io>
Co-authored-by: ort-bot <valkey-glide@lists.valkey.io>

* Documentation: Set clarification on SET command usage in documentation (#3982)

* ADD documentation clarification on SET command

Signed-off-by: Sergio Navarro <s.navarroredondo@gmail.com>

* FIX * missing on some lines

Signed-off-by: Sergio Navarro <s.navarroredondo@gmail.com>

* Update node/src/Commands.ts

Co-authored-by: Shoham Elias <116083498+shohamazon@users.noreply.github.com>
Signed-off-by: Sergio N <71926587+SergioNR@users.noreply.github.com>

* CLARIFY TimeUnit import

Signed-off-by: Sergio Navarro <s.navarroredondo@gmail.com>

* NPM lint:fix

Signed-off-by: Sergio Navarro <s.navarroredondo@gmail.com>

* FIX example syntax on SET command

Signed-off-by: Sergio Navarro <s.navarroredondo@gmail.com>

---------

Signed-off-by: Sergio Navarro <s.navarroredondo@gmail.com>
Signed-off-by: Sergio N <71926587+SergioNR@users.noreply.github.com>
Co-authored-by: Avi Fenesh <55848801+avifenesh@users.noreply.github.com>
Co-authored-by: Shoham Elias <116083498+shohamazon@users.noreply.github.com>

* Rust clean up - Refactor Redis connection handling and remove ACL and script features (#3976)

* Refactor Redis commands and remove ACL feature

- Removed ACL command implementations from `mod.rs` and associated tests.
- Cleaned up connection handling in `connection.rs` by simplifying TLS configuration.
- Deleted the `script.rs` module and its related tests
- Updated various test files to remove references to script-related tests.
- Adjusted cluster tests to improve key handling and slot calculations.
- Enhanced utility functions for better TLS setup in tests.

Signed-off-by: Avi Fenesh <aviarchi1994@gmail.com>

* Refactor Redis crate dependencies and remove geospatial support

- Updated various dependencies in Cargo.toml to use more concise version specifications.
- Removed geospatial example and related commands from the Redis crate.
- Eliminated geospatial-related tests and support files.
- Refactored random number generation to use the new `rand::rng()` method.

Signed-off-by: Avi Fenesh <aviarchi1994@gmail.com>

---------

Signed-off-by: Avi Fenesh <aviarchi1994@gmail.com>

* Add request timeout configuration to client examples across multiple … (#4029)

Add request timeout configuration to client examples across multiple languages

Signed-off-by: Avi Fenesh <aviarchi1994@gmail.com>

* Go: batch - add commands (#4005)

* BAAAAAAAAAAAAAAAAAAAAAATCH

Signed-off-by: Yury-Fridlyand <yury.fridlyand@improving.com>
Co-authored-by: Edward Liang <76571219+edlng@users.noreply.github.com>

* Go: SPopCount command added (#4026)

* Go: SpopCount command added

Signed-off-by: Prateek Kumar <prateek.kumar@improving.com>

* fix: improve json return types (#3751) (#4046)

Signed-off-by: Marco Reni <reni.marco@gmail.com>

* Updated attribution files for commit 4c3475961a95a65dcbad9194fb9b17ee858397f7 (#4040)

Updated attribution files

Signed-off-by: ort-bot <valkey-glide@lists.valkey.io>
Co-authored-by: ort-bot <valkey-glide@lists.valkey.io>

* Go: SRandMemberCount command added (#4037)

* Go: SRandMemberCount command added

Signed-off-by: Prateek Kumar <prateek.kumar@improving.com>

* Go: Bitmap Batch Commands Tests (#4004)

* Go: Fix Timeout Casting in `time.Duration` (#3933)

* fix timeout cast

---------

Signed-off-by: Edward Liang <edward.liang@improving.com>

* Go: Add Test Cleanup After Execution (#3991)

add test cleanup step

Signed-off-by: Edward Liang <edward.liang@improving.com>

* Go: Refactor integration tests to use require assertions (#4019)

Refactor integration tests to use require assertions
- Replaced assert statements with require statements in multiple test files for better error handling.
- Modified CreatePubSubReceiver calls to include the testing context.
- Ensured proper error handling when creating clients in standalone and routing tests.

Signed-off-by: jbrinkman <joe.brinkman@improving.com>

* Go: Hyperloglog Batch Tests (#4023)

* Go: Add Generic Base Batch Tests (#4009)

* Go: Add Hash Commands to Batch Test (#4022)

* Java: Otel implementation (#3962)

* java: otel implementation

Signed-off-by: Prateek Kumar <prateek.kumar@improving.com>

* Go: Add Batch Generic Cluster Commands Tests (#4020)

Co-authored-by: Yury-Fridlyand <yury.fridlyand@improving.com>

* Go: List Commands Batch Tests (#4024)

* Opentelemetry - set status, moved counter, retry_attempts counter  (#3944)

* set status

Signed-off-by: Maayan Shani <maayan.shani@mail.huji.ac.il>

* add retry, moved counters

Signed-off-by: Maayan Shani <maayan.shani@mail.huji.ac.il>

* test set_status

Signed-off-by: Maayan Shani <maayan.shani@mail.huji.ac.il>

* record in pipeline

Signed-off-by: Maayan Shani <maayan.shani@mail.huji.ac.il>

* test moved and retry pipeline tests

Signed-off-by: Maayan Shani <maayan.shani@mail.huji.ac.il>

* record in pipeline + test moved

Signed-off-by: Maayan Shani <maayan.shani@mail.huji.ac.il>

* test moved and retry metrics

Signed-off-by: Maayan Shani <maayan.shani@mail.huji.ac.il>

* fix tests

Signed-off-by: Maayan Shani <maayan.shani@mail.huji.ac.il>

* fix comments

Signed-off-by: Maayan Shani <maayan.shani@mail.huji.ac.il>

* changelog.md

Signed-off-by: Maayan Shani <maayan.shani@mail.huji.ac.il>

---------

Signed-off-by: Maayan Shani <maayan.shani@mail.huji.ac.il>

* Python Wrapper - Support TLS insecure (#3375)

---------

Signed-off-by: GilboaAWS <gilboabg@amazon.com>
Signed-off-by: Shoham Elias <shohame@amazon.com>
Signed-off-by: Maayan Shani <161942026+Maayanshani25@users.noreply.github.com>
Signed-off-by: Shoham Elias <116083498+shohamazon@users.noreply.github.com>
Co-authored-by: Shoham Elias <shohame@amazon.com>
Co-authored-by: Maayan Shani <161942026+Maayanshani25@users.noreply.github.com>
Co-authored-by: Shoham Elias <116083498+shohamazon@users.noreply.github.com>

* Go: Add String Batch Tests (#4047)

* Java: OTEL fix for script (#4065)

* Java: OTEL fix for script

Signed-off-by: Prateek Kumar <prateek.kumar@improving.com>

* Go: Add Set Commands Batch Tests (#4033)

* Go: Add Geospatial Batch Tests (#4021)

* Go: PubSub Batch Tests (#4025)

* Go: Add Sorted Set Batch Tests (#4036)

* Go: cleanup CommandResponses after context cancellation/timeout (#4067)

fix: cleanup CommandResponses after context cancellation/timeout

Signed-off-by: jbrinkman <joe.brinkman@improving.com>

* Go: Connection Management Batch Tests (#4003)

* Go: Clean up most panics in FFI layer (#3886)

* Add ffi/src/lib.rs invoke_script function

Signed-off-by: Prateek Kumar <prateek.kumar@improving.com>

* Added invokeScript in base_client.go

Signed-off-by: Prateek Kumar <prateek.kumar@improving.com>

* Added glide_cluster_client invokeScript methods

Signed-off-by: Prateek Kumar <prateek.kumar@improving.com>

* Added glide_cluster_client invokeScript methods

Signed-off-by: Prateek Kumar <prateek.kumar@improving.com>

* Remove file

Signed-off-by: Prateek Kumar <prateek.kumar@improving.com>

* Fix response variable

Signed-off-by: Prateek Kumar <prateek.kumar@improving.com>

* Remove duplicate code

Signed-off-by: Prateek Kumar <prateek.kumar@improving.com>

* Added test case and fixed review comments

Signed-off-by: Prateek Kumar <prateek.kumar@improving.com>

* Go: update interfaces

Signed-off-by: Prateek Kumar <prateek.kumar@improving.com>

* Go: update interfaces

Signed-off-by: Prateek Kumar <prateek.kumar@improving.com>

* Fix review comments

Signed-off-by: Prateek Kumar <prateek.kumar@improving.com>

* Fix review comments

Signed-off-by: Prateek Kumar <prateek.kumar@improving.com>

* Fix review comments

Signed-off-by: Prateek Kumar <prateek.kumar@improving.com>

* Fix review comments

Signed-off-by: Prateek Kumar <prateek.kumar@improving.com>

* Go: fix review comments

Signed-off-by: Prateek Kumar <prateek.kumar@improving.com>

* Go: Update test cases

Signed-off-by: Prateek Kumar <prateek.kumar@improving.com>

* Fix formatting issue

Signed-off-by: Prateek Kumar <prateek.kumar@improving.com>

* Add examples

Signed-off-by: Prateek Kumar <prateek.kumar@improving.com>

* Go: Review comments updated

Signed-off-by: Prateek Kumar <prateek.kumar@improving.com>

* Go: Review comments updated

Signed-off-by: Prateek Kumar <prateek.kumar@improving.com>

* Go: Review comments updated

Signed-off-by: Prateek Kumar <prateek.kumar@improving.com>

* Go: Review comments updated

Signed-off-by: Prateek Kumar <prateek.kumar@improving.com>

* Go: Update changelog.md

Signed-off-by: Prateek Kumar <prateek.kumar@improving.com>

* Go: Review comments updated

Signed-off-by: Prateek Kumar <prateek.kumar@improving.com>

* Go: Review comments updated

Signed-off-by: Prateek Kumar <prateek.kumar@improving.com>

* Go: Review comments updated

Signed-off-by: Prateek Kumar <prateek.kumar@improving.com>

* Go: Review comments updated

Signed-off-by: Prateek Kumar <prateek.kumar@improving.com>

* Go: Review comments updated

Signed-off-by: Prateek Kumar <prateek.kumar@improving.com>

* Go: Review comments updated

Signed-off-by: Prateek Kumar <prateek.kumar@improving.com>

* Go: Review comments updated

Signed-off-by: Prateek Kumar <prateek.kumar@improving.com>

* Go: Review comments updated

Signed-off-by: Prateek Kumar <prateek.kumar@improving.com>

* Go/edlng script exists (#3649)

* Add script exists

Signed-off-by: Edward Liang <edward.liang@improving.com>

* Go: Add `SCRIPT KILL` (#3670)

* Go: Add script flush command (#3662)

* Go: Script flush commands added

Signed-off-by: Prateek Kumar <prateek.kumar@improving.com>

* Use `usize`.

Signed-off-by: Yury-Fridlyand <yury.fridlyand@improving.com>

* Dont `unwrap`.

Signed-off-by: Yury-Fridlyand <yury.fridlyand@improving.com>

* Proper deref client ptr

Signed-off-by: Yury-Fridlyand <yury.fridlyand@improving.com>

* Stop panicking in places where we should allow user to be able to recover from errors

* Remove reference to type that no longer exists

* Return binary data instead of C string for store_script

* Avoid UB in store_script and drop_script

* Set panic = abort for FFI layer panic runtime

* Address PR comments

* Address PR comments

Signed-off-by: Jonathan Louie <Jonathan.Louie@improving.com>

* Remove merge conflict marker

Signed-off-by: Jonathan Louie <Jonathan.Louie@improving.com>

* Fix build errors

Signed-off-by: Jonathan Louie <Jonathan.Louie@improving.com>

* Fix clippy lints

Signed-off-by: Jonathan Louie <Jonathan.Louie@improving.com>

* Fix compilation errors in ffi client tests

Signed-off-by: Jonathan Louie <Jonathan.Louie@improving.com>

* Fix go vet issue

Signed-off-by: Jonathan Louie <Jonathan.Louie@improving.com>

* Fix formatting issues

Signed-off-by: Jonathan Louie <Jonathan.Louie@improving.com>

* Address most PR comments

Signed-off-by: Jonathan Louie <Jonathan.Louie@improving.com>

* Fix formatting issues

* Fix docs and parameter naming for pubsub callback (request_id back to channel)

Signed-off-by: Jonathan Louie <Jonathan.Louie@improving.com>

---------

Signed-off-by: Prateek Kumar <prateek.kumar@improving.com>
Signed-off-by: prateek-kumar-improving <prateek.kumar@improving.com>
Signed-off-by: Edward Liang <edward.liang@improving.com>
Signed-off-by: Yury-Fridlyand <yury.fridlyand@improving.com>
Signed-off-by: Jonathan Louie <Jonathan.Louie@improving.com>
Co-authored-by: Prateek Kumar <prateek.kumar@improving.com>
Co-authored-by: Edward Liang <76571219+edlng@users.noreply.github.com>
Co-authored-by: Yury-Fridlyand <yury.fridlyand@improving.com>

* Go: `WATCH` and `UNWATCH` (#4054)

* WAAAAAAAAAAATCH

Signed-off-by: Yury-Fridlyand <yury.fridlyand@improving.com>

* Go: Function Commands Batch Tests (#4032)

* Go: Add otel support (#3932)

* Go: Add otel support

Signed-off-by: TJ Zhang <tj.zhang@improving.com>

* Go: Batch tests for stream commands (#4038)

* Go: Batch tests for stream commands

Signed-off-by: TJ Zhang <tj.zhang@improving.com>

* Python: OpenTelemetry support (#3985)

* Python: Add OpenTelemetry support

Signed-off-by: James Xin <james.xin@improving.com>

* init commit of global config, fix needed

Signed-off-by: James Xin <james.xin@improving.com>

* Python: add openTelemetry traces support

Signed-off-by: adarovadya <adarovadya@gmail.com>

---------

Signed-off-by: James Xin <james.xin@improving.com>
Signed-off-by: adarovadya <adarovadya@gmail.com>
Co-authored-by: James Xin <james.xin@improving.com>

* Node - fix docs and structures in OTel (#4068)

* Node - fix docs and structures in OTel

---------

Signed-off-by: adarovadya <adarovadya@gmail.com>
Co-authored-by: Shoham Elias <116083498+shohamazon@users.noreply.github.com>

* Core: change otel metrics mutex to OnceLock approach (#4058)

Core: change otel metrics mutex to OnceLock approch

Signed-off-by: adarovadya <adarovadya@gmail.com>

* Java: add check for sample percentage range (#4076)

add check foe sample percentage range

Signed-off-by: adarovadya <adarovadya@gmail.com>

* Node Wrapper - Support TLS insecure (#4002)

* tlsAdvnacedconfiguration
* test tls clusterMode
* test tls standalone
* fixes

---------

Signed-off-by: Maayan Shani <maayan.shani@mail.huji.ac.il>

* Go: OTel doc update (#4078)

Signed-off-by: TJ Zhang <tj.zhang@improving.com>

* Increase default connection attempt timeout to 2000ms (#4060)

* Increase default connection attempt timeout to 2000ms and add timeout recommendations in client configuration examples for Java, Node, and Python.

Signed-off-by: Avi Fenesh <aviarchi1994@gmail.com>

* Update default connection timeout to 2000ms and fix documentation across Go, Java, Node, and Python configurations

Signed-off-by: Avi Fenesh <aviarchi1994@gmail.com>

---------

Signed-off-by: Avi Fenesh <aviarchi1994@gmail.com>

* Python- Add Batch Option Classes for exec (#4027)

* Go: Fix Full Matrix Tests (#4079)

* Go: XRead and XReadGroup response update (#4085)

* Go: XRead and XReadGroup response update

Signed-off-by: Prateek Kumar <prateek.kumar@improving.com>

* Go: Fix memory leaks from calling C.CBytes and C.CString in base_client.go (#4092)

Fix memory leaks from calling C.CBytes and C.CString in base_client.go

Signed-off-by: Jonathan Louie <Jonathan.Louie@improving.com>

* Go: free endpoint cstrings in otel config (#4095)

Signed-off-by: TJ Zhang <tj.zhang@improving.com>

* `PfAdd` fix return type from `int` to `bool` (#4094)

* Go: Fix `ClientGetName` and `ClientSetName` (#4088)

Co-authored-by: Yury-Fridlyand <yury.fridlyand@improving.com>

* Go: Xclaim and XclaimWithOptions update response type (#4091)

* Go: XClaim and XClaimWithOptions update response type

Signed-off-by: Prateek Kumar <prateek.kumar@improving.com>

* Increase python tests timeout to 60m

Trio runtime addition is now causing some python tests jobs to timeout 

Signed-off-by: ikolomi <152477505+ikolomi@users.noreply.github.com>

* Go: Change Blocking Commands to use `time.Duration` (#4086)

Co-authored-by: tjzhang-BQ <111323543+tjzhang-BQ@users.noreply.github.com>

* Go: Fix `RunWithTimeout` time.Duration (#4102)

Co-authored-by: Edward Liang <edward.liang@improving.com>

* Go: Fix `GeoHash` Return Type to include Nillable Strings (#4101)

Co-authored-by: Edward Liang <edward.liang@improving.com>

* Go: add time.Duration to options.Expiry (#4089)

* Go: add time.Duration to options.Expiry

Signed-off-by: TJ Zhang <tj.zhang@improving.com>

* Java: fix addReturnField in FT.search  (#4084)

* fix addReturnField in FT.search

Signed-off-by: Lior Sventitzky <liorsve@amazon.com>

* addressed comments

Signed-off-by: Lior Sventitzky <liorsve@amazon.com>

* Update java/client/src/main/java/glide/api/models/commands/FT/FTSearchOptions.java

Co-authored-by: Yury-Fridlyand <yury.fridlyand@improving.com>
Signed-off-by: Lior Sventitzky <liorsve@amazon.com>

---------

Signed-off-by: Lior Sventitzky <liorsve@amazon.com>
Co-authored-by: Yury-Fridlyand <yury.fridlyand@improving.com>

* Updated attribution files for commit 25cbf2b5f523e8b625be380617577946eb415338 (#4049)

Updated attribution files

Signed-off-by: ort-bot <valkey-glide@lists.valkey.io>
Co-authored-by: ort-bot <valkey-glide@lists.valkey.io>

* Remove unused tls crates (#4100)

* Update dependencies: bump 'which' from 7 to 8 and remove unused 'assert_approx_eq'

Signed-off-by: Avi Fenesh <aviarchi1994@gmail.com>

* Refactor TLS feature handling: remove native-tls support and clean up related code

Signed-off-by: Avi Fenesh <aviarchi1994@gmail.com>

---------

Signed-off-by: Avi Fenesh <aviarchi1994@gmail.com>

* Allow scheduling of full matrix tests for different branches (#4119)

Signed-off-by: ikolomi <ikolomin@amazon.com>

* Add explicit run-modules-tests parameter to workflow_dispatch trigger of CI tests (#4121)

Signed-off-by: ikolomi <ikolomin@amazon.com>

* Go: Use errors idiomatically (#4103)

* move errors

Signed-off-by: Edward Liang <edward.liang@improving.com>

* refactor into glideError

Signed-off-by: Edward Liang <edward.liang@improving.com>

* fix lint

Signed-off-by: Edward Liang <edward.liang@improving.com>

* temp: fix errors on rebase

Signed-off-by: jbrinkman <joe.brinkman@improving.com>

* fix: move errors to root and resolve build errors

Signed-off-by: jbrinkman <joe.brinkman@improving.com>

* temp: fix errors on rebase

Signed-off-by: jbrinkman <joe.brinkman@improving.com>

* fix: move errors to root and resolve build errors

Signed-off-by: jbrinkman <joe.brinkman@improving.com>

* fix: use Fprintf to create formatted error messages

Signed-off-by: jbrinkman <joe.brinkman@improving.com>

* fix: change batch to use slice of errors

Signed-off-by: jbrinkman <joe.brinkman@improving.com>

* chore: add changelog entry and cleanup some error usages

Signed-off-by: jbrinkman <joe.brinkman@improving.com>

* fix: resolve merge issue

Signed-off-by: jbrinkman <joe.brinkman@improving.com>

* fix: resolve linting issues from error strings

Signed-off-by: jbrinkman <joe.brinkman@improving.com>

* fix: remove unneeded stdlib include

Signed-off-by: jbrinkman <joe.brinkman@improving.com>

* fix: ErrorContains assertion consolidates to assertions in one

Signed-off-by: jbrinkman <joe.brinkman@improving.com>

* chore: use verifyOk assertions

Signed-off-by: jbrinkman <joe.brinkman@improving.com>

* lowercase error message

Signed-off-by: jbrinkman <joe.brinkman@improving.com>

* replace contains assertion with EqualError

Signed-off-by: jbrinkman <joe.brinkman@improving.com>

* rebase on main

Signed-off-by: jbrinkman <joe.brinkman@improving.com>

* resolve merge errors

Signed-off-by: jbrinkman <joe.brinkman@improving.com>

---------

Signed-off-by: Edward Liang <edward.liang@improving.com>
Signed-off-by: jbrinkman <joe.brinkman@improving.com>
Co-authored-by: Edward Liang <edward.liang@improving.com>
Co-authored-by: jbrinkman <joe.brinkman@improving.com>

* Fix build issue: resolve assertions (#4123)

* resolve assertions

Signed-off-by: jbrinkman <joe.brinkman@improving.com>

* Updated attribution files for commit f006165287a3402fb88a5741e292030f6d4d1303 (#4132)

Updated attribution files

Signed-off-by: ort-bot <valkey-glide@lists.valkey.io>
Co-authored-by: ort-bot <valkey-glide@lists.valkey.io>

* Fix tls (#4163) - backport from release (#4194)

* Fix tls (#4163)

* Remove unused tls crates (#4100)

* Update dependencies: bump 'which' from 7 to 8 and remove unused 'assert_approx_eq'

Signed-off-by: Avi Fenesh <aviarchi1994@gmail.com>

* Refactor TLS feature handling: remove native-tls support and clean up related code

Signed-off-by: Avi Fenesh <aviarchi1994@gmail.com>

---------

Signed-off-by: Avi Fenesh <aviarchi1994@gmail.com>

* Update dependencies and improve TLS configuration in Redis driver

Signed-off-by: Avi Fenesh <aviarchi1994@gmail.com>

* Update TLS configuration to use rustls-platform-verifier and remove webpki-roots dependency

Signed-off-by: Avi Fenesh <aviarchi1994@gmail.com>

* Update license allow list and add exception for webpki-root-certs

Signed-off-by: Avi Fenesh <aviarchi1994@gmail.com>

* Add webpki-root-certs to approved packages list

Signed-off-by: Avi Fenesh <aviarchi1994@gmail.com>

---------

Signed-off-by: Avi Fenesh <aviarchi1994@gmail.com>

* Update tsconfig.json: change "target" and "lib" from "ES2021" to "ES2025" to support Array.at() method. (#4138)


---------

Signed-off-by: Shoham Elias <shohame@amazon.com>
Signed-off-by: Shoham Elias <116083498+shohamazon@users.noreply.github.com>
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>

---------

Signed-off-by: Avi Fenesh <aviarchi1994@gmail.com>
Signed-off-by: Shoham Elias <shohame@amazon.com>
Signed-off-by: Shoham Elias <116083498+shohamazon@users.noreply.github.com>
Co-authored-by: Shoham Elias <116083498+shohamazon@users.noreply.github.com>
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>

* Minor doc update. (#4208)

Signed-off-by: Yury-Fridlyand <yury.fridlyand@improving.com>

* Backport 2.0 release to main (#4219)

Release 2.0 Backport

---------

Signed-off-by: Joseph Brinkman <joe.brinkman@improving.com>
Co-authored-by: Avi Fenesh <55848801+avifenesh@users.noreply.github.com>

* Go: Fix `LInsert` `insertPosition` Docs (#4217)

* Backport Release 2.0 Commit Into Main (#4241)

Update TLS configuration to use aws-lc-rs crypto provider (#4230)

* Update TLS configuration to use aws-lc-rs crypto provider and improve error handling
* Update approved licenses and remove obsolete package from manual approval list

---------

Signed-off-by: Avi Fenesh <aviarchi1994@gmail.com>
Co-authored-by: Avi Fenesh <55848801+avifenesh@users.noreply.github.com>

* Java: Fix Incorrect `XRANGE` `XREVRANGE` Return Docs (#4240)

Co-authored-by: Yury-Fridlyand <yury.fridlyand@improving.com>

* Go: Update examples link (#4216)

Go: Update link to example

Signed-off-by: Prateek Kumar <prateek.kumar@improving.com>
Co-authored-by: Yury-Fridlyand <yury.fridlyand@improving.com>

* Go: Add Package Comments (#4238)

Co-authored-by: Yury-Fridlyand <yury.fridlyand@improving.com>

* C#: Update docs in FFI layer. (#4203)

* Update docs in FFI layer.

Signed-off-by: Yury-Fridlyand <yury.fridlyand@improving.com>

* CI: Run fill matrix on main. (#4229)

Run fill matrix on main.

Signed-off-by: Yury-Fridlyand <yury.fridlyand@improving.com>

* Add ioredis migration guide to readme (#4250)

Signed-off-by: Maayan Shani <maayan.shani@mail.huji.ac.il>

* C#: Fix a test. (#4247)

* Fix test.

Signed-off-by: Yury-Fridlyand <yury.fridlyand@improving.com>

* C#: Fix `dotnet` Docs (#4227)

* fix docs

---------

Signed-off-by: Edward Liang <edward.liang@improving.com>

* Updated attribution files for commit eae2e894b810cdeabf6d48bdefd8538ab165fceb (#4259)

Updated attribution files

Signed-off-by: ort-bot <valkey-glide@lists.valkey.io>
Co-authored-by: ort-bot <valkey-glide@lists.valkey.io>
Co-authored-by: Avi Fenesh <55848801+avifenesh@users.noreply.github.com>

* Node: Validate clientAZ when using AZ affinity strategies (#4267)

* Node: Validate clientAZ when using AZ affinity strategies

Signed-off-by: TJ Zhang <tj.zhang@improving.com>

* Updated attribution files for commit e4a33ca3bc87a4c55487fb96eeadbd6191cc1876 (#4270)

Updated attribution files

Signed-off-by: ort-bot <valkey-glide@lists.valkey.io>
Co-authored-by: ort-bot <valkey-glide@lists.valkey.io>

* Refactor style for Rust 1.88 (#4269)

* Refactor logging statements to use the new formatting syntax for improved readability

- Updated various logging statements across multiple files to utilize the new Rust formatting syntax, replacing the older `format!("...{}", variable)` style with the more concise `format!("...{variable}")` style.
- This change enhances code clarity and reduces verbosity in log messages, making it easier to read and maintain.

Signed-off-by: Avi Fenesh <aviarchi1994@gmail.com>

* Refactor logging statements for improved readability

Signed-off-by: Avi Fenesh <aviarchi1994@gmail.com>

---------

Signed-off-by: Avi Fenesh <aviarchi1994@gmail.com>

* fix for code scanning (#4274)

* Potential fix for code scanning alert no. 52: Workflow does not contain permissions

Co-authored-by: Copilot Autofix powered by AI <62310815+github-advanced-security[bot]@users.noreply.github.com>
Signed-off-by: Avi Fenesh <55848801+avifenesh@users.noreply.github.com>

* Potential fix for code scanning alert no. 40: Workflow does not contain permissions

Co-authored-by: Copilot Autofix powered by AI <62310815+github-advanced-security[bot]@users.noreply.github.com>
Signed-off-by: Avi Fenesh <55848801+avifenesh@users.noreply.github.com>

* Potential fix for code scanning alert no. 43: Workflow does not contain permissions

Co-authored-by: Copilot Autofix powered by AI <62310815+github-advanced-security[bot]@users.noreply.github.com>
Signed-off-by: Avi Fenesh <55848801+avifenesh@users.noreply.github.com>

* Potential fix for code scanning alert no. 38: Workflow does not contain permissions

Co-authored-by: Copilot Autofix powered by AI <62310815+github-advanced-security[bot]@users.noreply.github.com>
Signed-off-by: Avi Fenesh <55848801+avifenesh@users.noreply.github.com>

* Potential fix for code scanning alert no. 23: Workflow does not contain permissions

Co-authored-by: Copilot Autofix powered by AI <62310815+github-advanced-security[bot]@users.noreply.github.com>
Signed-off-by: Avi Fenesh <55848801+avifenesh@users.noreply.github.com>

* Potential fix for code scanning alert no. 13: Workflow does not contain permissions

Co-authored-by: Copilot Autofix powered by AI <62310815+github-advanced-security[bot]@users.noreply.github.com>
Signed-off-by: Avi Fenesh <55848801+avifenesh@users.noreply.github.com>

* Potential fix for code scanning alert no. 49: Workflow does not contain permissions

Co-authored-by: Copilot Autofix powered by AI <62310815+github-advanced-security[bot]@users.noreply.github.com>
Signed-off-by: Avi Fenesh <55848801+avifenesh@users.noreply.github.com>

* Potential fix for code scanning alert no. 48: Workflow does not contain permissions

Co-authored-by: Copilot Autofix powered by AI <62310815+github-advanced-security[bot]@users.noreply.github.com>
Signed-off-by: Avi Fenesh <55848801+avifenesh@users.noreply.github.com>

* Potential fix for code scanning alert no. 42: Workflow does not contain permissions

Co-authored-by: Copilot Autofix powered by AI <62310815+github-advanced-security[bot]@users.noreply.github.com>
Signed-off-by: Avi Fenesh <55848801+avifenesh@users.noreply.github.com>

* Potential fix for code scanning alert no. 36: Workflow does not contain permissions

Co-authored-by: Copilot Autofix powered by AI <62310815+github-advanced-security[bot]@users.noreply.github.com>
Signed-off-by: Avi Fenesh <55848801+avifenesh@users.noreply.github.com>

* Potential fix for code scanning alert no. 34: Workflow does not contain permissions

Co-authored-by: Copilot Autofix powered by AI <62310815+github-advanced-security[bot]@users.noreply.github.com>
Signed-off-by: Avi Fenesh <55848801+avifenesh@users.noreply.github.com>

* Potential fix for code scanning alert no. 15: Workflow does not contain permissions

Co-authored-by: Copilot Autofix powered by AI <62310815+github-advanced-security[bot]@users.noreply.github.com>
Signed-off-by: Avi Fenesh <55848801+avifenesh@users.noreply.github.com>

* Potential fix for code scanning alert no. 35: Workflow does not contain permissions

Co-authored-by: Copilot Autofix powered by AI <62310815+github-advanced-security[bot]@users.noreply.github.com>
Signed-off-by: Avi Fenesh <55848801+avifenesh@users.noreply.github.com>

---------

Signed-off-by: Avi Fenesh <55848801+avifenesh@users.noreply.github.com>
Co-authored-by: Copilot Autofix powered by AI <62310815+github-advanced-security[bot]@users.noreply.github.com>

* Add Ecosystem section to README highlighting Valkey GLIDE integrations (#4262)

* Initial plan

* Add Ecosystem section to README with Valkey GLIDE integrations

Co-authored-by: avifenesh <55848801+avifenesh@users.noreply.github.com>

* Clarify AWS Lambda PowerTools integration scope for idempotency feature

Co-authored-by: avifenesh <55848801+avifenesh@users.noreply.github.com>

---------

Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com>
Co-authored-by: avifenesh <55848801+avifenesh@users.noreply.github.com>

* Update CodeQL configuration: broaden paths ignored and add workflow_d… (#4281)

* Update CodeQL configuration: broaden paths ignored and add workflow_dispatch trigger

Signed-off-by: Avi Fenesh <aviarchi1994@gmail.com>

* try

Signed-off-by: Avi Fenesh <aviarchi1994@gmail.com>

* Update CodeQL configuration: change C-C++ build mode to manual and add specific build commands for C++ and Go

Signed-off-by: Avi Fenesh <aviarchi1994@gmail.com>

* Update CodeQL configuration: change Go build mode to autobuild and set Java-Kotlin to manual with build commands

Signed-off-by: Avi Fenesh <aviarchi1994@gmail.com>

* Refactor build commands for CodeQL analysis to improve readability

Signed-off-by: Avi Fenesh <aviarchi1994@gmail.com>

* Update CodeQL configuration: change C# build mode to manual and add build steps for C#

Signed-off-by: Avi Fenesh <aviarchi1994@gmail.com>

* Add cargo-zigbuild installation for cross-compilation in CodeQL workflow

Signed-off-by: Avi Fenesh <aviarchi1994@gmail.com>

* Update CodeQL workflow: modify Java build steps to skip Rust compilation

Signed-off-by: Avi Fenesh <aviarchi1994@gmail.com>

* seperate to diff runs language based

Signed-off-by: Avi Fenesh <aviarchi1994@gmail.com>

* Refactor CodeQL workflow: simplify conditional execution for language analysis

Signed-off-by: Avi Fenesh <aviarchi1994@gmail.com>

* Fix formatting of dotnet-version in CodeQL workflow for consistency

Signed-off-by: Avi Fenesh <aviarchi1994@gmail.com>

* Update CodeQL workflow: specify project paths for C# build steps

Signed-off-by: Avi Fenesh <aviarchi1994@gmail.com>

---------

Signed-off-by: Avi Fenesh <aviarchi1994@gmail.com>

* Fix codeql (#4285)

* Refactor CodeQL workflow: remove detect-changes job and optimize language builds

Signed-off-by: Avi Fenesh <aviarchi1994@gmail.com>

* Update CodeQL workflow: rename language from 'github-actions' to 'actions' and ensure Go bin directory is in PATH for protoc-gen-go installation

Signed-off-by: Avi Fenesh <aviarchi1994@gmail.com>

* Update CodeQL workflow: change Rust build mode to manual, create minimal lib.h for Go analysis, and enhance Go build process for CodeQL

Signed-off-by: Avi Fenesh <aviarchi1994@gmail.com>

* Update CodeQL workflow: change Rust build mode to none and remove Rust build steps

Signed-off-by: Avi Fenesh <aviarchi1994@gmail.com>

* Update CodeQL configuration: remove paths to ignore workflows

Signed-off-by: Avi Fenesh <aviarchi1994@gmail.com>

---------

Signed-off-by: Avi Fenesh <aviarchi1994@gmail.com>

* C#: Migrate basic APITypes and enums from SER to unblock command implementation (#4254)

* chore: migrate basic APITypes and enums from SER to unblock command implementations

Signed-off-by: jbrinkman <joe.brinkman@improving.com>

* chore: temporarily disable lint checks

Signed-off-by: jbrinkman <joe.brinkman@improving.com>

* fix: resolve linting issue in yml

Signed-off-by: jbrinkman <joe.brinkman@improving.com>

* Update .github/workflows/csharp.yml

Co-authored-by: Edward Liang <76571219+edlng@users.noreply.github.com>
Signed-off-by: Joseph Brinkman <joe.brinkman@improving.com>

* fix: resolve linting issue in yml

Signed-off-by: jbrinkman <joe.brinkman@improving.com>

* refactor: rename Redis types to Valkey types and update command enums

Signed-off-by: jbrinkman <joe.brinkman@improving.com>

* refactor: migrate API types and enums from ser_ to abstract_ namespace

Signed-off-by: jbrinkman <joe.brinkman@improving.com>

* refactor: suppress Lint errors for temp files

Signed-off-by: jbrinkman <joe.brinkman@improving.com>

* chore: disable additional IDE diagnostics in .editorconfig files

Signed-off-by: jbrinkman <joe.brinkman@improving.com>

* chore: force rebuild

Signed-off-by: jbrinkman <joe.brinkman@improving.com>

---------

Signed-off-by: jbrinkman <joe.brinkman@improving.com>
Signed-off-by: Joseph Brinkman <joe.brinkman@improving.com>
Co-authored-by: Edward Liang <76571219+edlng@users.noreply.github.com>

* C#: Add response checks for batch for every command (#4236)

* Add type check for batch

Signed-off-by: Yury-Fridlyand <yury.fridlyand@improving.com>
Co-authored-by: Edward Liang <76571219+edlng@users.noreply.github.com>

* Fix flaky test_cluster_scan_non_covered_slots by replacing inefficient loop with mset (#4290)

* Initial plan

* Fix flaky test_cluster_scan_non_covered_slots by replacing inefficient loop with mset

Co-authored-by: avifenesh <55848801+avifenesh@users.noreply.github.com>

---------

Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com>
Co-authored-by: avifenesh <55848801+avifenesh@users.noreply.github.com>

* Updated attribution files for commit 1fae2718a9c4e5a3c5f14c69f1298f1dc82e3985 (#4279)

Updated attribution files

Signed-off-by: ort-bot <valkey-glide@lists.valkey.io>
Co-authored-by: ort-bot <valkey-glide@lists.valkey.io>

* Remove unused workspace crates under redis-rs. (#4283)

Signed-off-by: Shachar Langbeheim <nihohit@gmail.com>
Co-authored-by: Avi Fenesh <55848801+avifenesh@users.noreply.github.com>

* Update dev docs - add cmake dependency to all client guides (#4288)

* Initial plan

* Add cmake dependency to all client developer guides

- Added cmake to software dependencies lists
- Added cmake to platform-specific installation instructions
- Updated C#, Go, Node.js, Java, and Python developer guides
- C++ guide already had cmake dependency (no changes needed)

Co-authored-by: avifenesh <55848801+avifenesh@users.noreply.github.com>

* Update java/DEVELOPER.md

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
Signed-off-by: Avi Fenesh <55848801+avifenesh@users.noreply.github.com>

---------

Signed-off-by: Avi Fenesh <55848801+avifenesh@users.noreply.github.com>
Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com>
Co-authored-by: avifenesh <55848801+avifenesh@users.noreply.github.com>
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>

* Fix flaky vector search test by replacing zero vectors with orthogonal non-zero vectors (#4295)

* Initial plan

* Fix flaky vector search test by using non-zero orthogonal vectors

Co-authored-by: avifenesh <55848801+avifenesh@users.noreply.github.com>

* Try different orthogonal vectors to debug vector search issue

Co-authored-by: avifenesh <55848801+avifenesh@users.noreply.github.com>

* Add debugging output to understand vector search behavior

Co-authored-by: avifenesh <55848801+avifenesh@users.noreply.github.com>

* Fix vector search test to expect cosine distance (0) instead of similarity (1)

Co-authored-by: avifenesh <55848801+avifenesh@users.noreply.github.com>

* Add debugging output to analyze vector search behavior in failing test

Co-authored-by: avifenesh <55848801+avifenesh@users.noreply.github.com>

* Remove debug prints and fix vector search assertion to expect cosine distance

Co-authored-by: avifenesh <55848801+avifenesh@users.noreply.github.com>

---------

Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com>
Co-authored-by: avifenesh <55848801+avifenesh@users.noreply.github.com>

* Fix CodeQL to run only on relevant file changes with path filtering (#4287)

* Initial plan

* Fix CodeQL to run only on relevant file changes with path filtering

Co-authored-by: avifenesh <55848801+avifenesh@users.noreply.github.com>

* Add missing path patterns to CodeQL file change detection

Co-authored-by: avifenesh <55848801+avifenesh@users.noreply.github.com>

* Fix CodeQL jobs to run on pull requests with conditional analysis

Co-authored-by: avifenesh <55848801+avifenesh@users.noreply.github.com>

* Update .github/workflows/codeql.yml

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
Signed-off-by: Avi Fenesh <55848801+avifenesh@users.noreply.github.com>

* Update .github/workflows/codeql.yml

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
Signed-off-by: Avi Fenesh <55848801+avifenesh@users.noreply.github.com>

* Update .github/workflows/codeql.yml

Co-authored-by: Yury-Fridlyand <yury.fridlyand@improving.com>
Signed-off-by: Avi Fenesh <55848801+avifenesh@users.noreply.github.com>

* Fix CodeQL workflow path filtering and add C# integration tests build

Co-authored-by: jbrinkman <862921+jbrinkman@users.noreply.github.com>

* Fix C# integration tests compilation error in TestConfiguration.cs

Co-authored-by: avifenesh <55848801+avifenesh@users.noreply.github.com>

---------

Signed-off-by: Avi Fenesh <55848801+avifenesh@users.noreply.github.com>
Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com>
Co-authored-by: avifenesh <55848801+avifenesh@users.noreply.github.com>
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
Co-authored-by: Yury-Fridlyand <yury.fridlyand@improving.com>
Co-authored-by: jbrinkman <862921+jbrinkman@users.noreply.github.com>

* Revert "Fix CodeQL to run only on relevant file changes with path filtering" (#4297)

Revert "Fix CodeQL to run only on relevant file changes with path filtering (…"

This reverts commit 90f1fbb99680b9d82aa87331ac56d38f659e833d.

* C#: Add command batch tests. (#4204)

* Add command batch tests.

Signed-off-by: Yury-Fridlyand <yury.fridlyand@improving.com>

* C#: UT for commands (#4280)

* Add command args tests
* Add test for converters

---------

Signed-off-by: Yury-Fridlyand <yury.fridlyand@improving.com>
Co-authored-by: Edward Liang <76571219+edlng@users.noreply.github.com>

* C#: Add RESP2 client to IT. (#4207)

Add RESP2 client to IT.

Signed-off-by: Yury-Fridlyand <yury.fridlyand@improving.com>

* C#: Reorganize Request class (#4299)

* C#: Reorganize Request class

Signed-off-by: James Xin <james.xin@improving.com>

* address comment

Co-authored-by: Yury-Fridlyand <yury.fridlyand@improving.com>
Signed-off-by: James Xin <james.xin@improving.com>

---------

Signed-off-by: James Xin <james.xin@improving.com>
Co-authored-by: Yury-Fridlyand <yury.fridlyand@improving.com>

* C# compatibility: `IDatabase` (#4292)

* Add `IDatabase`.

---------

Signed-off-by: Yury-Fridlyand <yury.fridlyand@improving.com>

* Remove code for unused features from redis-rs. (#4298)

* Remove code for unused features from redis-rs.

In general, for your usage pattern you might want to remove entirely the usage of features - your usage of redis-rs is constant, so there's no need to fill the crate with `#[cfg(feature = "foo")]`.

Signed-off-by: Shachar Langbeheim <nihohit@gmail.com>

* Fix lints

Signed-off-by: Shachar Langbeheim <nihohit@gmail.com>

---------

Signed-off-by: Shachar Langbeheim <nihohit@gmail.com>
Co-authored-by: Avi Fenesh <55848801+avifenesh@users.noreply.github.com>

* CI: Fix GHA (#4300)

Fix GHA

Signed-off-by: Yury-Fridlyand <yury.fridlyand@improving.com>

* C#: Set Commands (#4291)

* Fix flaky test_update_connection_password by improving teardown robustness (#4289)

* Initial plan

* Fix flaky test_update_connection_password by improving teardown robustness

Co-authored-by: avifenesh <55848801+avifenesh@users.noreply.github.com>

* Update python/tests/conftest.py

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
Signed-off-by: Avi Fenesh <55848801+avifenesh@users.noreply.github.com>

* Update python/tests/conftest.py

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
Signed-off-by: Avi Fenesh <55848801+avifenesh@users.noreply.github.com>

* Update python/tests/conftest.py

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
Signed-off-by: Avi Fenesh <55848801+avifenesh@users.noreply.github.com>

* Update python/tests/conftest.py

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
Signed-off-by: Avi Fenesh <55848801+avifenesh@users.noreply.github.com>

* Fix formatting issues in conftest.py with black linter

Co-authored-by: avifenesh <55848801+avifenesh@users.noreply.github.com>

* Add missing constants to fix flake8 linting errors

Co-authored-by: avifenesh <55848801+avifenesh@users.noreply.github.com>

* Fix exception handling in teardown retry logic

Co-authored-by: avifenesh <55848801+avifenesh@users.noreply.github.com>

* Fix Logger.warning calls to use Logger.log with Level.WARN for mypy compatibility

Co-authored-by: avifenesh <55848801+avifenesh@users.noreply.github.com>

---------

Signed-off-by: Avi Fenesh <55848801+avifenesh@users.noreply.github.com>
Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com>
Co-authored-by: avifenesh <55848801+avifenesh@users.noreply.github.com>
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>

* [Python] Fix lazy client standalone test  (#4318)

* Move standalone test to a dedicated engine

Signed-off-by: GilboaAWS <gilboabg@amazon.com>

* Fix mypy issue

Signed-off-by: GilboaAWS <gilboabg@amazon.com>

* Add doc for the test

Signed-off-by: GilboaAWS <gilboabg@amazon.com>

---------

Signed-off-by: GilboaAWS <gilboabg@amazon.com>

* CI: Add actions:write permission to full-matrix-tests-sweeper (#4320)

Fix "Resource not accessible by integration" error in CI by adding the
necessary actions:write permission to the workflow. This permission is
required for the workflow to trigger the full-matrix-tests workflow using
the GitHub API via github.rest.actions.createWorkflowDispatch().

Without this permission, the workflow was unable to trigger other workflows,
causing the CI process to fail.

Signed-off-by: ikolomi <ikolomin@amazon.com>

* C#: Add option to use running server(s) for IT. (#4206)

* Add option to use running server(s) for IT.

Signed-off-by: Yury-Fridlyand <yury.fridlyand@improving.com>
Co-authored-by: Edward Liang <76571219+edlng@users.noreply.github.com>

* Fix No Matching Script Bug in Flush Test (#4245)

* make each script object unique for each run

Signed-off-by: BoazBD <boaz@bardavid.com>

* use random string

Signed-off-by: BoazBD <boaz@bardavid.com>

---------

Signed-off-by: BoazBD <boaz@bardavid.com>

* Fix trio backend test failures by replacing asyncio.sleep with anyio.sleep (#4324)

* Initial plan

* Fix trio backend failures by replacing asyncio.sleep with anyio.sleep

Co-authored-by: avifenesh <55848801+avifenesh@users.noreply.github.com>

---------

Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com>
Co-authored-by: avifenesh <55848801+avifenesh@users.noreply.github.com>

* CI: fix C# linter (#4322)

* CI: fix C# linter

Signed-off-by: James Xin <james.xin@improving.com>

* Update README for AZ Affinity Support (#4337)

* C#: Add Set Commands Command Flag Exception (#4308)

* GO: Add cross-compilation documentation to Go README (#4325)

* docs: add cross-compilation guide for multi-platform builds

Signed-off-by: jbrinkman <joe.brinkman@improving.com>

* docs: update wording

Signed-off-by: jbrinkman <joe.brinkman@improving.com>

---------

Signed-off-by: jbrinkman <joe.brinkman@improving.com>

* C#: Add String commands (#4301)

* C#: Add String commands

Signed-off-by: TJ Zhang <tj.zhang@improving.com>

* C#: Add LPUSH and LPOP commands (#4321)

Signed-off-by: James Xin <james.xin@improving.com>

* C# compatibility: adding feature to get list of connections (#4310)

* fixed broken link in  README.md (#4368)

fix broken link README.md

Signed-off-by: baki gul <76937950+gulbaki@users.noreply.github.com>

* C#: compatible config & connection string support (#4347)

* compatible config

Signed-off-by: Yury-Fridlyand <yury.fridlyand@improving.com>
Co-authored-by: Joseph Brinkman <joe.brinkman@improving.com>

* C#: ZAdd command (#4355)

* C#: ZAdd command

Signed-off-by: Prateek Kumar <prateek.kumar@improving.com>

* Fix flaky test TestFt::test_ft_search by adding retry logic and longer wait time (#4376)

* Initial plan

* Initial investigation and setup of development environment

Co-authored-by: avifenesh <55848801+avifenesh@users.noreply.github.com>

* Fix flaky test_ft_search by adding retry logic and longer wait time

Co-authored-by: avifenesh <55848801+avifenesh@users.noreply.github.com>

* Reduce wait time to 1 second per feedback from avifenesh

Co-authored-by: avifenesh <55848801+avifenesh@users.noreply.github.com>

* Remove comments from retry logic code per avifenesh feedback

Co-authored-by: avifenesh <55848801+avifenesh@users.noreply.github.com>

* Remove accidentally created empty __init__.py file from protobuf directory

Co-authored-by: avifenesh <55848801+avifenesh@users.noreply.github.com>

---------

Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com>
Co-authored-by: avifenesh <55848801+avifenesh@users.noreply.github.com>

* C#: Generic Commands (#4336)

* C#: Copy full definition of RequestType (#4394)

Signed-off-by: James Xin <james.xin@improving.com>

* C#: Connection Management Commands Batch 1 (#4309)

* Node - Fix Flakiness in Script not Removed (#4401)

make scripts unique in each run

Signed-off-by: BoazBD <boaz@bardavid.com>
Co-authored-by: Avi Fenesh <55848801+avifenesh@users.noreply.github.com>

* Incorrectly written examples have been corrected. (#4393)

Signed-off-by: baki gul <bbkgull@gmail.com>

* CI: Add Dependabot configuration for automated dependency management across all languages (#4353)

* Initial plan

* Add Dependabot configuration and enhanced workflow for automated dependency management

Co-authored-by: avifenesh <55848801+avifenesh@users.noreply.github.com>

* Update Dependabot configuration to address security concerns: never auto-approve major updates and 0.x minor updates

Co-authored-by: avifenesh <55848801+avifenesh@users.noreply.github.com>

* Remove DEPENDABOT.md file and add crucial info as comments in config files

Co-authored-by: avifenesh <55848801+avifenesh@users.noreply.github.com>

* Fix formatting issues with Prettier

Co-authored-by: avifenesh <55848801+avifenesh@users.noreply.github.com>

* Address feedback: pin NPM versions, improve checks, add ecosystem labels, reduce YAML duplication

Co-authored-by: avifenesh <55848801+avifenesh@users.noreply.github.com>

* Fix security vulnerability: use environment variable for dry_run to prevent shell injection

Co-authored-by: avifenesh <55848801+avifenesh@users.noreply.github.com>

* Fix prettier formatting issues in .github/workflows/package.json

Co-authored-by: avifenesh <55848801+avifenesh@users.noreply.github.com>

* Reorganize package.json to .github/dependabot-deps/ and simplify checkout action

Co-authored-by: avifenesh <55848801+avifenesh@users.noreply.github.com>

---------

Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com>
Co-authored-by: avifenesh <55848801+avifenesh@users.noreply.github.com>

* Core: Set RESP3 as default (#4305)

* Set RESP3 as default

Signed-off-by: Yury-Fridlyand <yury.fridlyand@improving.com>

* C#: batch compatibility (#4371)


Signed-off-by: Yury-Fridlyand <yury.fridlyand@improving.com>
Co-authored-by: Edward Liang <76571219+edlng@users.noreply.github.com>

* C#: Add ZRem command (#4372)

* C#: Add ZRem command

Signed-off-by: Prateek Kumar <prateek.kumar@improving.com>

* C#: Bump StackExchange.Redis version used in benchmarks (#4410)

Signed-off-by: James Xin <james.xin@improving.com>

* C#: String commands GA (#4409)

* C#: String commands GA part.1

Signed-off-by: TJ Zhang <tj.zhang@improving.com>

* Fix flaky TestZScan by isolating NoScores test data (#4381)

* Initial plan

* Initial analysis - investigating flaky TestZScan test

Co-authored-by: avifenesh <55848801+avifenesh@users.noreply.github.com>

* Fix flaky TestZScan by using clean key for NoScores test

Co-authored-by: avifenesh <55848801+avifenesh@users.noreply.github.com>

* Fix lint failure in CI by correcting Makefile syntax error

Co-authored-by: avifenesh <55848801+avifenesh@users.noreply.github.com>

* Fix Rust FFI build error by restoring "rlib" crate type

Co-authored-by: avifenesh <55848801+avifenesh@users.noreply.github.com>

---------

Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com>
Co-authored-by: avifenesh <55848801+avifenesh@users.noreply.github.com>

* Fix dependabot.yml: Remove unsupported YAML anchors and aliases (#4408)

* Initial plan

* Fix dependabot.yml by removing YAML anchors and inlining configuration

Co-authored-by: avifenesh <55848801+avifenesh@users.noreply.github.com>

---------

Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com>
Co-authored-by: avifenesh <55848801+avifenesh@users.noreply.github.com>

* Bump actions/setup-python from 4 to 5 (#4446)

Bumps [actions/setup-python](https://github.com/actions/setup-python) from 4 to 5.
- [Release notes](https://github.com/actions/setup-python/releases)
- [Commits](https://github.com/actions/setup-python/compare/v4...v5)

---
updated-dependencies:
- dependency-name: actions/setup-python
  dependency-version: '5'
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* Bump actions/github-script from 6 to 7 (#4444)

Bumps [actions/github-script](https://github.com/actions/github-script) from 6 to 7.
- [Release notes](https://github.com/actions/github-script/releases)
- [Commits](https://github.com/actions/github-script/compare/v6...v7)

---
updated-dependencies:
- dependency-name: actions/github-script
  dependency-version: '7'
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* Bump the patch-updates group with 4 updates (#4442)

Bumps Microsoft.NET.Test.Sdk to 17.13.0
Bumps StackExchange.Redis from 2.8.41 to 2.8.47
Bumps xunit.runner.visualstudio to 3.0.2
Bumps xunit.v3 to 1.1.0

---
updated-dependencies:
- dependency-name: Microsoft.NET.Test.Sdk
  dependency-version: 17.13.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: patch-updates
- dependency-name: Microsoft.NET.Test.Sdk
  dependency-version: 17.13.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: patch-updates
- dependency-name: StackExchange.Redis
  dependency-version: 2.8.47
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: patch-updates
- dependency-name: xunit.runner.visualstudio
  dependency-version: 3.0.2
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: patch-updates
- dependency-name: xunit.runner.visualstudio
  dependency-version: 3.0.2
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: patch-updates
- dependency-name: xunit.v3
  dependency-version: 1.1.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: patch-updates
- dependency-name: xunit.v3
  dependency-version: 1.1.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: patch-updates
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* Bump gradle/actions from 3 to 4 (#4445)

Bumps [gradle/actions](https://github.com/gradle/actions) from 3 to 4.
- [Release notes](https://github.com/gradle/actions/releases)
- [Commits](https://github.com/gradle/actions/compare/v3...v4)

---
updated-dependencies:
- dependency-name: gradle/actions
  dependency-version: '4'
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* Bump @types/eslint__js from 8.42.3 to 9.14.0 (#4434)

Bumps [@types/eslint__js](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/eslint__js) from 8.42.3 to 9.14.0.
- [Release notes](https://github.com/DefinitelyTyped/DefinitelyTyped/releases)
- [Commits](https://github.com/DefinitelyTyped/DefinitelyTyped/commits/HEAD/types/eslint__js)

---
updated-dependencies:
- dependency-name: "@types/eslint__js"
  dependency-version: 9.14.0
  dependency-type: direct:development
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Avi Fenesh <55848801+avifenesh@users.noreply.github.com>

* Bump com.google.guava:guava from 32.1.1-jre to 33.4.8-jre in /java (#4431)

---
updated-dependencies:
- dependency-name: com.google.guava:guava
  dependency-version: 33.4.8-jre
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Avi Fenesh <55848801+avifenesh@users.noreply.github.com>

* Bump eslint-plugin-jsdoc from 50.8.0 to 51.4.1 (#4426)

Bumps [eslint-plugin-jsdoc](https://github.com/gajus/eslint-plugin-jsdoc) from 50.8.0 to 51.4.1.
- [Release notes](https://github.com/gajus/eslint-plugin-jsdoc/releases)
- [Changelog](https://github.com/gajus/eslint-plugin-jsdoc/blob/main/.releaserc)
- [Commits](https://github.com/gajus/eslint-plugin-jsdoc/compare/v50.8.0...v51.4.1)

---
updated-dependencies:
- dependency-name: eslint-plugin-jsdoc
  dependency-version: 51.4.1
  dependency-type: direct:development
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Avi Fenesh <55848801+avifenesh@users.noreply.github.com>

* Update pyo3 requirement from ^0.24 to ^0.25 in /python in the minor-updates group (#4422)

Update pyo3 requirement in /python in the minor-updates group

Updates the requirements on [pyo3](https://github.com/pyo3/pyo3) to permit the latest version.

Updates `pyo3` to 0.25.1
- [Release notes](https://github.com/pyo3/pyo3/releases)
- [Changelog](https://github.com/PyO3/pyo3/blob/v0.25.1/CHANGELOG.md)
- [Commits](https://github.com/pyo3/pyo3/compare/v0.24.0...v0.25.1)

---
updated-dependencies:
- dependency-name: pyo3
  dependency-version: 0.25.1
  dependency-type: direct:production
  dependency-group: minor-updates
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Avi Fenesh <55848801+avifenesh@users.noreply.github.com>

* Fix Python test timeouts in full matrix CI workflow (#4407)

* Initial plan

* Increase Python test timeouts and optimize client configurations

Co-authored-by: avifenesh <55848801+avifenesh@users.noreply.github.com>

* Fix error message formatting in cluster manager

Co-authored-by: avifenesh <55848801+avifenesh@users.noreply.github.com>

* Remove irrelevant client timeout changes from conftest.py

Co-authored-by: avifenesh <55848801+avifenesh@users.noreply.github.com>

* Implement per-test timeouts instead of increasing workflow timeout

Co-authored-by: avifenesh <55848801+avifenesh@users.noreply.github.com>

* Add both per-test timeouts and increased workflow timeout

Co-authored-by: avifenesh <55848801+avifenesh@users.noreply.github.com>

---------

Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com>
Co-authored-by: avifenesh <55848801+avifenesh@users.noreply.github.com>
Co-authored-by: Gilboab <97948000+GilboaAWS@users.noreply.github.com>

* Bump the patch-updates group in /java with 2 updates (#4423)

Bumps the patch-updates group in /java with 2 updates: [org.projectlombok:lombok](https://github.com/projectlombok/lombok) and [com.gradleup.shadow](https://github.com/GradleUp/shadow).


Updates `org.projectlombok:lombok` from 1.18.32 to 1.18.38
- [Changelog](https://github.com/projectlombok/lombok/blob/master/doc/changelog.markdown)
- [Commits](https://github.com/projectlombok/lombok/compare/v1.18.32...v1.18.38)

Updates `com.gradleup.shadow` from 8.3.5 to 8.3.8
- [Release notes](https://github.com/GradleUp/shadow/releases)
- [Commits](https://github.com/GradleUp/shadow/compare/8.3.5...8.3.8)

---
updated-dependencies:
- dependency-name: org.projectlombok:lombok
  dependency-version: 1.18.38
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: patch-updates
- dependency-name: com.gradleup.shadow
  dependency-version: 8.3.8
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: patch-updates
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Avi Fenesh <55848801+avifenesh@users.noreply.github.com>

* Bump isort from 5.10 to 6.0.1 in /python (#4440)

---
updated-dependencies:
- dependency-name: isort
  dependency-version: 6.0.1
  dependency-type: direct:development
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Avi Fenesh <55848801+avifenesh@users.noreply.github.com>

* Update types-protobuf requirement from ~=5.29.1 to ~=6.30.2 in /python (#4441)

---
updated-dependencies:
- dependency-name: types-protobuf
  dependency-version: 6.30.2.20250703
  dependency-type: direct:development
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Avi Fenesh <55848801+avifenesh@users.noreply.github.com>

* Bump flake8 from 5.0 to 7.3.0 in /python (#4438)

---
updated-dependencies:
- dependency-name: flake8
  dependency-version: 7.3.0
  dependency-type: direct:development
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
Signed-off-by: Avi Fenesh <55848801+avifenesh@users.noreply.github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Avi Fenesh <55848801+avifenesh@users.noreply.github.com>

* Bump org.mockito:mockito-inline from 3.12.4 to 5.2.0 in /java (#4430)

---
updated-dependencies:
- dependency-name: org.mockito:mockito-inline
  dependency-version: 5.2.0
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Avi Fenesh <55848801+avifenesh@users.noreply.github.com>

* Bump com.diffplug.spotless from 6.25.0 to 7.1.0 in /java (#4429)

Bumps com.diffplug.spotless from 6.25.0 to 7.1.0.

---
updated-dependencies:
- dependency-name: com.diffplug.spotless
  dependency-version: 7.1.0
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Avi Fenesh <55848801+avifenesh@users.noreply.github.com>

* Bump the minor-updates group in /python with 3 updates (#4437)

---
updated-dependencies:
- dependency-name: maturin
  dependency-version: 1.9.1
  dependency-type: direct:development
  update-type: version-update:semver-minor
  dependency-group: minor-updates
- dependency-name: mypy
  dependency-version: 1.17.0
  dependency-type: direct:development
  update-type: version-update:semver-minor
  dependency-group: minor-updates
- dependency-name: mypy-protobuf
  dependency-version: 3.6.0
  dependency-type: direct:development
  update-type: version-update:semver-minor
  dependency-group: minor-updates
...

Signed-off-by: dependabot[bot] <support@github.com>
Signed-off-by: Avi Fenesh <55848801+avifenesh@users.noreply.github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Avi Fenesh <55848801+avifenesh@users.noreply.github.com>

* Fix flaky test failures by adding null safety to cluster cleanup hooks (#4386)

* Initial plan

* Fix TypeError by adding null checks for cluster.getAddresses() in test cleanup

Co-authored-by: avifenesh <55848801+avifenesh@users.noreply.github.com>

* Fix lint failures by applying prettier formatting

Co-authored-by: avifenesh <55848801+avifenesh@users.noreply.github.com>

---------

Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com>
Co-authored-by: avifenesh <55848801+avifenesh@users.noreply.github.com>
Co-authored-by: Gilboab <97948000+GilboaAWS@users.noreply.github.com>

* Fix flaky pubsub tests with retry mechanism for PUBLISH/SPUBLISH commands (#4384)

* Initial plan

* Fix flaky pubsub tests with retry mechanism for PUBLISH/SPUBLISH commands

Co-authored-by: avifenesh <55848801+avifenesh@users.noreply.github.com>

* Fix linting issues by removing trailing whitespace from test functions

Co-authored-by: avifenesh <55848801+avifenesh@users.noreply.github.com>

* Unify retry helper functions into a single function with enum parameter

- Created PublishCommand enum to distinguish between PUBLISH and SPUBLISH
- Unified retry_publish_until_expected_subscribers and retry_spublish_until_expected_subscribers into a single function
- Updated all function calls to us…
affonsov pushed a commit that referenced this pull request Aug 21, 2026
---------

Signed-off-by: Matt <mthemis@provenir.com>
Signed-off-by: Santiago, Mas <smas@provenir.com>
Co-authored-by: Santiago, Mas <smas@provenir.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Feature ✨ Additional feature, big or small java ☕ issues and fixes related to the java client

Projects

Status: Done

Development

Successfully merging this pull request may close these issues.

8 participants