Skip to content

Tags: redis/NRedisStack

Tags

v1.8.0

Toggle v1.8.0's commit message

Verified

This commit was created on GitHub.com and signed with GitHub’s verified signature.
Switch NuGet release publishing from API key to OIDC trusted publishi…

…ng (#568)

* Switch NuGet release publishing from API key to OIDC trusted publishing

Replaces the long-lived NUGET_API_KEY secret with GitHub OIDC token
exchange via NuGet/login@v1, keeping --skip-duplicate so a job retry
after a partial failure doesn't fail on the already-published version.

* Scope release job to the release GitHub Environment for OIDC

Matches the Environment field on the nuget.org Trusted Publishing policy, so the OIDC token carries the environment claim it expects.

v1.7.4

Toggle v1.7.4's commit message

Verified

This commit was created on GitHub.com and signed with GitHub’s verified signature.
Marc/ts info not obsolete (#553)

* TS.INFO is not obsolete

* meh, we don't need the guard

v1.7.3

Toggle v1.7.3's commit message

Verified

This commit was created on GitHub.com and signed with GitHub’s verified signature.
Announce the library name without demanding IDatabase (#542)

* Announce the library name without demanding IDatabase

Auxiliary.ExecuteAsync unconditionally cast its IDatabaseAsync to IDatabase in
order to send the one-time CLIENT SETINFO lib-name/lib-ver pair. A retry-wrapped
database (SE.Redis 3.1.0 WithRetry) is async-only - RetryDatabase implements
IDatabaseAsync but not IDatabase - so every async module command issued through
one threw InvalidCastException before the command was sent, making the retry
categories added in #540 unusable from the async API.

The announcement never needed the sync interface: it only needed it to create a
batch to group the two commands, which don't need grouping. It is now typed as
IDatabaseAsync and dispatched fire-and-forget via an internal ClientSetInfoAsync
overload that takes dispatch flags, so there is no cast, no batch, and no
round-trip on the caller's first command. In the expected case - fire-and-forget
completing synchronously - no state machine is entered on this path at all: the
overload hands back a cached completed task, and the caller only awaits (to
consume a fault) if a task somehow comes back not-yet-completed. A synchronous
failure in the version probe can no longer fail the caller's command either;
announcing who we are is best-effort.

Renamed SetInfoInPipeline -> SetLibraryInfoOnce (internal): there is no longer a
pipeline involved.

Task.IsCompletedSuccessfully only exists on modern .NET, so netstandard2.0/net481
get it as an extension property polyfill rather than open-coding the Status test
at each site.

Audited the rest of the library for the same shape: this was the only
unconditional cast to a sync SE.Redis interface; SearchCommandsAsync's cluster
cursor path was already type-tested.

Tests cover an async module command and the first-use announcement over
db.WithRetry(...) - both fail with InvalidCastException before this change - plus
the synchronous completion that the fire-and-forget dispatch relies on.

* - ref 3.1.3 to take the WithRetry()/ITransaction tweaks

v1.7.2

Toggle v1.7.2's commit message

Verified

This commit was signed with the committer’s verified signature.
mgravell Marc Gravell
shipfiles for 1.7.2

v1.7.1

Toggle v1.7.1's commit message

Verified

This commit was created on GitHub.com and signed with GitHub’s verified signature.
Mark the COLLECT search API as [Experimental] (NRS003); SE.Redis 3.0.…

…25 (#536)

REDUCE COLLECT is still gated behind the server's search-enable-unstable-features
flag, so its wire format can move under us. It shipped as stable public API in
v1.7.0 by oversight; this re-flags it as experimental for 1.7.1.

Follows the established NRS ritual (cf. bed9558 for NRS002):
- Experiments.SearchCollect const, reusing id NRS003. That id briefly existed on
  marc/8_10 for server 8.10 but was removed before any release - confirmed absent
  from every v* tag - so it is free to reuse under the 'ids that reached users are
  never reused' rule, and gets no retired-id breadcrumb.
- [Experimental] on CollectReducer and Reducers.Collect().
- [NRS003] prefix on all 10 COLLECT entries in PublicAPI.Shipped.txt. The analyzer
  requires the prefix on every member of an experimental type, not just the type.
- docs/exp/NRS003.md, and NRS003 added to Directory.Build.props NoWarn.

Also bumps StackExchange.Redis 3.0.17 -> 3.0.25.

Verified from outside the repo (where NoWarn does not apply) that a consumer gets
'error NRS003' with the correct exp/NRS003 url, on both net8.0 (BCL attribute) and
netstandard2.0 (the internal polyfill). Full 'dotnet build -t:Rebuild' clean.

v1.7.0

Toggle v1.7.0's commit message

Verified

This commit was created on GitHub.com and signed with GitHub’s verified signature.
Promote unshipped public API to shipped for 8.10 GA (#534)

Moves all 91 pending entries from PublicAPI.Unshipped.txt into
PublicAPI.Shipped.txt, leaving only the '#nullable enable' header behind,
so the release gate that requires an empty unshipped file is satisfied.

Verified: the union of shipped + unshipped is byte-identical before and
after (entries moved, none lost or introduced), no duplicates result, and
'dotnet build -t:Rebuild' is clean - a plain build would not re-run the
public API analyzer.

v1.6.0

Toggle v1.6.0's commit message

Verified

This commit was created on GitHub.com and signed with GitHub’s verified signature.
Bump System.Text.Json from 10.0.8 to 10.0.9 (#505)

---
updated-dependencies:
- dependency-name: System.Text.Json
  dependency-version: 10.0.9
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

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

v1.5.0

Toggle v1.5.0's commit message

Verified

This commit was created on GitHub.com and signed with GitHub’s verified signature.
Support the KNN shard-ratio feature (#494)

* Support the KNN shard-ratio feature

* oops

* use FP, for fun and profit

* update CI image

* rev CI to 8.8

v1.4.0

Toggle v1.4.0's commit message

Verified

This commit was created on GitHub.com and signed with GitHub’s verified signature.
fix RESP3 mismatches (#471)

* fix RESP3 mismatches

* dotnet format

* Spoof RESP2 MRANGE results from RESP3

* fix double-incr

* nits

* fix rule parsing

* fix info (flag) parsing

* fix JSON APIs

* fix spellcheck parsing

* fix content from info result

* Marc/resp3 (#477)

* ft.config get

* fix brittle TS.INFO tests (server version logic)

* more runtime server version checks; profiled RESP3 layout

* Marc/resp3 (#478)

* ft.config get

* fix brittle TS.INFO tests (server version logic)

* more runtime server version checks; profiled RESP3 layout

* dotnet format

* the bot is right

* - fix more search RESP3 behaviours
- normalize time series test namespaces

* deps

* note GHATL pin

* help me understand CI fail

* add some key randomness to TestJsonSetNotExistAsync

* add GetKeys helper to tell me what is missing in older servers

* handle v7 RESP3 profile layout

* dotnet format

* more v7 fixings

* and another

* make the bugbot happy

v1.3.0

Toggle v1.3.0's commit message

Verified

This commit was created on GitHub.com and signed with GitHub’s verified signature.
Provide direct access to AggregationResult fields (#459)

* fix #457

* add unit test

* dotnet format