Skip to content

Document list/array flag values as deprecated - #40

Open
confidence-agent[bot] wants to merge 1 commit into
mainfrom
confidence-coding-agent/ee36d9fa
Open

confidence-agent[bot] wants to merge 1 commit into
mainfrom
confidence-coding-agent/ee36d9fa

Conversation

@confidence-agent

Copy link
Copy Markdown

Marks list/array flag values (list fields in flag schemas) as deprecated, using docs only. Runtime behavior does not change.

Changes

  • ConfidenceValue::Array: added a doc comment saying list-valued flags are deprecated, and that the variant itself is still supported for evaluation context and event data.
  • ConfidenceValue::as_array: added a doc note pointing to the above.
  • provider/src/conversion_traits.rs: added a comment on the ConfidenceValue::Array → open_feature::Value::Array mapping. The mapping is unchanged.
  • README: new "Deprecation: list/array flag values" section, scoped to flag values only.

Why no #[deprecated] attribute

The repo has no public API that is specific to list flags. SchemaType has no list variant, and TypeConversionTrait has no Vec implementation. ConfidenceValue::Array, as_array/is_array and From<Vec<T>> are shared with context and event serialization. Putting #[deprecated] on them would also warn on those supported uses, so this PR adds documentation only. No signatures changed. No removal date, version bump or release. CHANGELOG.md is left alone because release-please manages it. Suggested release note: "List/array flag values are deprecated; they continue to resolve. Lists in context/event data are unaffected."

Validation

  • cargo test in confidence/: 12 passed.
  • cargo doc --no-deps in confidence/: builds.
  • Gap: provider/ does not build locally. It fails to resolve spotify_confidence_sdk = "^0.1.1" from crates.io, which also happens without this change. The provider edit is a comment only.

Source: https://app.confidence.spotify.com/chats/unvny4azpxsjdp5cq7dy

Opened by the Confidence coding agent.

Marks list/array **flag values** (list fields in flag schemas) as deprecated, using docs only. Runtime behavior does not change.

## Changes
- `ConfidenceValue::Array`: added a doc comment saying list-valued flags are deprecated, and that the variant itself is still supported for evaluation context and event data.
- `ConfidenceValue::as_array`: added a doc note pointing to the above.
- `provider/src/conversion_traits.rs`: added a comment on the `ConfidenceValue::Array` → `open_feature::Value::Array` mapping. The mapping is unchanged.
- README: new "Deprecation: list/array flag values" section, scoped to flag values only.

## Why no `#[deprecated]` attribute
The repo has no public API that is specific to list flags. `SchemaType` has no list variant, and `TypeConversionTrait` has no `Vec` implementation. `ConfidenceValue::Array`, `as_array`/`is_array` and `From<Vec<T>>` are shared with context and event serialization. Putting `#[deprecated]` on them would also warn on those supported uses, so this PR adds documentation only. No signatures changed. No removal date, version bump or release. CHANGELOG.md is left alone because release-please manages it. Suggested release note: *"List/array flag values are deprecated; they continue to resolve. Lists in context/event data are unaffected."*

## Validation
- `cargo test` in `confidence/`: 12 passed.
- `cargo doc --no-deps` in `confidence/`: builds.
- Gap: `provider/` does not build locally. It fails to resolve `spotify_confidence_sdk = "^0.1.1"` from crates.io, which also happens without this change. The provider edit is a comment only.
@github-actions

github-actions Bot commented Nov 2, 2026

Copy link
Copy Markdown
Contributor

Hey there and thank you for opening this pull request! 👋🏼

We require pull request titles to follow the Conventional Commits specification and it looks like your proposed title needs to be adjusted.

Details:

No release type found in pull request title "Document list/array flag values as deprecated". Add a prefix to indicate what kind of release this pull request corresponds to. For reference, see https://www.conventionalcommits.org/

Available types:
 - feat: A new feature
 - fix: A bug fix
 - docs: Documentation only changes
 - style: Changes that do not affect the meaning of the code (white-space, formatting, missing semi-colons, etc)
 - refactor: A code change that neither fixes a bug nor adds a feature
 - perf: A code change that improves performance
 - test: Adding missing tests or correcting existing tests
 - build: Changes that affect the build system or external dependencies (example scopes: gulp, broccoli, npm)
 - ci: Changes to our CI configuration files and scripts (example scopes: Travis, Circle, BrowserStack, SauceLabs)
 - chore: Other changes that don't modify src or test files
 - revert: Reverts a previous commit

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

0 participants