openmls 0.4.1

This is a WIP Rust implementation of the Messaging Layer Security (MLS) protocol based on draft 12+.
Documentation
//! Prelude for OpenMLS.
//! Include this to get access to all the public functions of OpenMLS.

// MlsGroup
pub use crate::group::{errors::*, *};

// Ciphersuite
pub use crate::ciphersuite::{hash_ref::KeyPackageRef, signable::*, signature::*, *};

// Messages
pub use crate::messages::{proposals::*, public_group_state::*, *};

// Credentials
pub use crate::credentials::{errors::*, *};

// MLS Versions
pub use crate::versions::*;

// Extensions
pub use crate::extensions::{errors::*, *};

// Framing
pub use crate::framing::{message::*, sender::*, validation::*};

// Key packages
pub use crate::key_packages::{errors::*, *};

// Key store
pub use crate::key_store::*;

// Tree
pub use crate::tree::sender_ratchet::SenderRatchetConfiguration;

// TreeSync
pub use crate::treesync::{
    errors::{ApplyUpdatePathError, PublicTreeError},
    node::leaf_node::LeafNode,
    node::parent_node::ParentNode,
    node::Node,
};

// PSKs
// TODO #751
// pub use crate::schedule::psk::{
//    BranchPsk, ExternalPsk, PreSharedKeyId, PreSharedKeys, Psk, PskBundle, PskType, ReinitPsk,
// };

// TLS codec traits
pub use tls_codec::{
    Deserialize as TlsDeserializeTrait, Serialize as TlsSerializeTrait, Size as TlsSizeTrait,
};

// Errors
pub use crate::error::*;

// OpenMLS traits
pub use openmls_traits::{
    crypto::OpenMlsCrypto, key_store::OpenMlsKeyStore, random::OpenMlsRand, types::*,
    OpenMlsCryptoProvider,
};