Release 1.4: FlagValueSource Manipulation 🦥
What’s Changed
This release adds an optional parameter to FlagPole.snapshot(of:) to allow you to take a snapshot of just the flags that have been set on a specific FlagSource.
It also adds a two new methods:
- FlagPole.copyFlagValues(from:to:) to copy all flags from one
FlagValueSource
to another. - FlagPole.removeFlagValues(in:) to remove all of the flag values in a specific
FlagValueSource
.
It also adds a new supported means of publishing real-time flag value changes, in FlagValueSource.valuesDidChange(keys:). If your FlagValueSource
knows which flags have changed at any one time you can now emit a Set
of their keys and Vexil will re-use an existing Snapshot and only update those keys that have changed. This can cut down on the amount of computation required with large flag hierarchies. FlagValueSource.valueDidChange is maintained for backwards compatibility.
Our documentation website (https://vexil.unsignedapps.com/) is now powered by DocC 🎉
🚀 Features
- Support FlagValueSources publishing changes to individual flags @bok- (#81)
- Added support for removing/resetting all flag values in a given
FlagValueSource
@bok- (#80) - Added ability to create snapshots from specific sources, and to copy flag values between sources @bok- (#79)