This release continues to make changes based on security reviews. Major change is a revamp of the chain processing code to be more readable and enable future additions to be made more easily. Major changes include:
1. Implementation of allowlist and denylists. This removes the need for separate code pathways for root of trusts, enabling them to be treated as entries in allowlist.
1. Implementation of automatic processing of messages to adjust allowlists, denylists, and chains. This enables very short chain lifetimes, a security benefit. It also enables a private key to self-sign that it should be revoked.
1. Implementation of a pathlength constraint for further tightening of chains. Minimum usable value is typically 1, unless the end of the chain will not sign any further messages.
1. Fix kafka wrapper poll implementation to make the timeout optional.