Mark the COLLECT search API as [Experimental] (NRS003); SE.Redis 3.0.25 - #536
Merged
Conversation
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.
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: 0f3235bfcd
ℹ️ About Codex in GitHub
Codex has been enabled to automatically review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
When you sign up for Codex through ChatGPT, Codex can also answer questions or update the PR, like "@codex address that feedback".
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
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):
Also bumps StackExchange.Redis 3.0.17 -> 3.0.25.
Note
Low Risk
No runtime logic changes to COLLECT—only experimental API metadata, docs, and a patch-level Redis client dependency bump; consumers may see new NRS003 compile warnings.
Overview
Reclassifies the REDUCE COLLECT aggregation API from stable public surface to experimental under diagnostic NRS003, because Redis still gates COLLECT behind
search-enable-unstable-features.CollectReducerandReducers.Collect()are annotated with[Experimental],Experiments.SearchCollectis registered, all COLLECT members inPublicAPI.Shipped.txtare prefixed with[NRS003], anddocs/exp/NRS003.mddocuments server requirements and suppression options. The repo adds NRS003 to globalNoWarninDirectory.Build.propsso the library build stays clean.StackExchange.Redis is bumped from 3.0.17 to 3.0.25 in central package management.
Reviewed by Cursor Bugbot for commit 0f3235b. Bugbot is set up for automated code reviews on this repo. Configure here.