All notable changes to the project will be documented in this file. This project adheres to Semantic Versioning.
2.1.2 (2026-04-06)
2.1.1 (2026-03-06)
2.1.0 (2026-03-02)
2.0.2 (2026-01-26)
- Bump MSRV from 1.82 to 1.88 (#31) (a8203f3)
- Bump MSRV from 1.88 to 1.91 (#32) (e83366b)
- Bump MSRV to 1.82.0 (#28) (380fc74)
2.0.1 (2025-01-28)
- Bump MSRV to 1.74.0 (#26) (44e5650)
- Update base16ct to v0.2.0 (aac23e0)
- Update itertools to v0.14.0 (aac23e0)
- Update serde_with to v3.12.0 (aac23e0)
2.0.0 (2024-07-10)
- Add exclude from summary field to flag (#18) (ca935a3)
- Add method to strip anonymous contexts (#21) (f76faa6)
- Add migration and sampling ratio fields (#17) (5e4e969)
- Add serialize trait to Detail (#16) (683231e)
1.2.0 (2024-03-14)
- Fixed an issue with evaluation of segments which included/excluded users when that user was part of a multi-context.
- Updated MSRV from 1.60.0 to 1.64.0
- Fix invalid encoding for fully qualified context key generation.
This release of the evaluation engine corresponds to the upcoming v1.0.0 release of the LaunchDarkly server-side Rust SDK (launchdarkly-server-sdk), and is not compatible with earlier SDK versions.
- Added the types
Context,Kind,ContextBuilder,MultiContextBuilder,Reference, and supporting types.Contextdefines the new context-based evaluation model.ContextreplaceUser, which was removed. - Added:
urlencoding@2.1.0 - Added:
maplit@1.0.1 - Added:
itertools@0.10.3 - Added:
serde_with@2.1.0
- The MSRV is now 1.60.0
- Updated:
chronofrom0.4.15to0.4.23; only enable the"std"feature - Updated:
semverfrom0.10.0to1.0.14 evaluatenow takes aContextinstead of aUser- User keys could previously be empty strings. With contexts, the key cannot be empty.
- The "secondary" meta-attribute which affected percentage rollouts has been removed. If you set an attribute with that name in a context, it will be a custom attribute like any other.
- For backwards-compatibility, it is possible to enable "secondary" evaluation logic within the evaluation engine by enabling the
secondary_key_bucketingflag. This will only affect contexts that were created via deserialization, since it is not possible to set "secondary" via a builder method.
User,UserBuilder,UserAttributes. SeeContext,ContextBuilderandMultiContextBuilderinstead.
- Update to edition 2021.
- Change store signature to support persistent stores.
- Support flag serialization of old and current schema.
- Add versioned trait (implemented by flag and segment).
- Bump sha1 and test_case dependencies.
- When serializing a user, custom attributes were incorrectly being flattened
in the JSON output. We now correctly encode them under a
customkey.
- Add support for globally and user specific private attributes.
- If we receive a negative variation index, or an unsupported operation, the SDK should not fail to parse the payload.
- Modified the
try_mapfunction to accept a default value when returning a new Detail instance.
Initial release of flag evaluation support code that will be used with the LaunchDarkly Server-Side SDK for Rust.