Fully remove ClientConfig.leaf_node_extensions AND ClientConfig.key_package_extensions (Breaking change.)
I believe breaking the existing API is necessary to ensure we avoid some of the undesirable behaviours in the discussion section
Allow leaf_node_extensions to be passed as parameters when executing the following operations:
Creating a group (ie, setting the LNEs for the member that creates the group)
Generating a KeyPackage / KeyPackage message
Making Commits (via a property in CommitBuilder)
If the property is not passed, then the commit code should be modified to preserve whatever value is currently set in LeadNode.extensions rather than overwrite it
Making update proposals
If the property is not passed, then the commit code should be modified to preserve whatever value is currently set in LeadNode.extensions rather than overwrite it
Allow key_package_extensions to be passed as parameters when executing the following operations:
Generating a KeyPackage / KeyPackage message
Call-outs:
This is a breaking change as it reworks several methods in the public API. We could mitigate some of this by introducing more methods that roll out default LNEs.
Testing:
Current unit tests already cover all of the affected areas. All tests are passing. Some tests were modified so as to leverage the new apis introduced in this PR.
By submitting this pull request, I confirm that my contribution is made under the terms of the Apache 2.0 and MIT license.
Issues:
Resolves #195
Description of changes:
Call-outs:
This is a breaking change as it reworks several methods in the public API. We could mitigate some of this by introducing more methods that roll out default LNEs.
Testing:
Current unit tests already cover all of the affected areas. All tests are passing. Some tests were modified so as to leverage the new apis introduced in this PR.
By submitting this pull request, I confirm that my contribution is made under the terms of the Apache 2.0 and MIT license.