Skip to content

Commit

Permalink
Update README for 0.4.0
Browse files Browse the repository at this point in the history
Signed-off-by: Patrick Jakubowski <patrick.jakubowski@strongdm.com>
  • Loading branch information
patjakdev committed Sep 19, 2024
1 parent 43b8e91 commit 2c541fb
Showing 1 changed file with 14 additions and 0 deletions.
14 changes: 14 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -133,6 +133,20 @@ While in development (0.x.y), each tagged release may contain breaking changes.

## Change log

### New features in 0.4.0

- `types.Set` is now implemented as a hash set, turning `Set.Contains()` into an O(1) operation, on average. This mitigates a worst case quadratic runtime for the evaluation of the `containsAny()` operator.

### Upgrading from 0.3.x to 0.4.x

- `types.Set` is now an immutable type which must be constructed via `types.NewSet()`
- To iterate the values, use `Set.Iterate()`, which takes an iterator callback.
- Duplicates are now removed from `Set`s, so they won't be rendered when calling `Set.MarshalCedar()` or `Set.MarshalJSON`.
- All implementations of `types.Value` are now safe to copy shallowly, so `Set.DeepClone()` has been removed.
- `types.Record` is now an immutable type which must be constructed via `types.NewRecord()`
- To iterate the keys and values, use `Record.Iterate()`, which takes an iterator callback.
- All implementations of `types.Value` are now safe to copy shallowly, so `Record.DeepClone()` has been removed.

### New features in 0.3.2

- An implementation of the `datetime` and `duration` extension types specified in [RFC 80](https://github.com/cedar-policy/rfcs/blob/main/text/0080-datetime-extension.md).
Expand Down

0 comments on commit 2c541fb

Please sign in to comment.