0.3.1 - 2024-10-25
-
Rename
KeyStateStore.get_ks
toKeyStateStore.collect_key_state
, adjust documentation and typespec -
Add better handling of recovery:
KeyStateStore.maybe_update_key_state
to return an error when a shorter KEL is supplied without recovery flag- add functions to
KeySateCache
module to handle recovery indication
-
Change
AIDMonitor
logic (introduction and state observer) to:- filter existing, already stored events at parsing stage
- ignore shorter KELs for the associated (delegator) AIDs supplied in the witness response for the 'delegate' AIDS
- Handle new keys introduced in rotation events (
drt
androt
) correctly.- Add test case based on Provenant's KEL to verify correct behavior
-
Add livebook based demo for the Watcher functionality and adjust README.md accordingly.
-
Document relationship between TELs, VCs and KELs in a
mermaid
diagram.
0.3.0 - 2024-09-30
- Move signature and
SAID
verification functions fromKerilex.KELParser
toKerilex.KELParser.Integrity
module - Check existence of
rpy
endpoint messages based onurl
and not on itsd
field.
-
Implement "Watcher" functionality.
AIDMonitor
adds newAID
s to the monitoring list, based on anOOBI
iurl
AIDMonitor.MasterSupervisor
starts process tree to request new KEL and updateKeyStateStore
with new events andKeyState
-
Document "Watcher" design using
C4
-like notation -
Implement "did:webs" did document generation functionality
DidWebsProducer
generatesJSON
-encoded did:webs document based onKeyState
- Update
CHANGELOG.md
to followCommon Changelog
- Implement key state storage functionality (
get_ks
,maybe_update_ks
) - Verify
opts
passed toLogsProcessor.process_kel
- Refactor
LogsProcessor.process_kel
for better code readability
0.2.0 - 2024-09-04
-
Implement "out of order" processing of KELs. Useful for incremental KEL/events processing.
-
Add
opts
parameter toLogProcessor.process_kel
to accept existing key states, which allows it to process KELs incrementally. -
Implement Superseding Rotation recovery handling for
rot
events.Note: The current implementation will delete all events in the KEL that are coming after the recovery events. Need to handle
ixn
s that might have "anchors" - eitherseal
s ofACDC
credentials or delegate events (e.g.drt
anddip
). -
Implement tests for
LogsProcessor
- Refactor
LogsProcessor
to rely on theKeyStateCache
to ensure the order of the events and reduce amount of database lookups. - Rename
%KeyState
fields and addlast_event
.
- Make older tests work
- Remove dependency on a local fork of
blake3
.
The initial release