All notable changes to the project will be documented in this file. This project adheres to Semantic Versioning.
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.Context
defines the new context-based evaluation model.Context
replaceUser
, 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:
chrono
from0.4.15
to0.4.23
; only enable the"std"
feature - Updated:
semver
from0.10.0
to1.0.14
evaluate
now takes aContext
instead 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_bucketing
flag. 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
,ContextBuilder
andMultiContextBuilder
instead.
- 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
custom
key.
- 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_map
function 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.