Updates to the specifications will follow Semantic Versioning 2.0.0.
Major version zero (
0.y.z) is for initial development. Anything may change at any time. The public API should not be considered stable.
0.x: Development stage. In progress!
1.0: Stable and verified as usable in multiple languages.
2.0: Changes after real-world users play with it.
0.x In progress!
During the development stage, backwards compatability between versions is not guaranteed.
- Make the crypto and hashing specs clear and complete.
- Make the container object clear, and list all extensions.
- List all extensions and make them standardized.
- The session key exchange should be clear and complete.
- Contributing guidelines.
- Discussion of why this protocol and not some other existing protocol.
- Crypto specs have been written and validated as usable in multiple languages.
- Crypto specs need to be clear enough to be implemented in any language.
- Possible defense of RSA and Diffie-Hellman?
- TCP implementation has been finished.
- Other possible implementations.
- Additional polish of the website.
- Possibly getting a professional designer to help.
- Any other final issues in prep for
This version will have been verified as usable by a command line implementation, and will have had several people read through it to make sure it is reasonable. However, it will not have been through much "real world" user testing.
- Containers and all schemas are clearly specified.
- Public/private key pairs are well defined.
- How to establish session keys is well defined.
- Basic TCP specs are functional, but may not be optimized for efficiency.
- Example modules and libraries will have been written in at least a few common programming languages.
1.0 release, work is planned for a GUI
which will make the protocol easier to use for normal
people: things like finding users and verifying keys.
1.1 release will include changes that are proposed
during the development of various applications.
1.1 will be non-breaking.
1.1 release, additional releases may be
made if there is enough request for them, but these
releases will all be non-breaking.
After many applications have been developed, a request for comments will be made, asking for more detailed discussion on limitations and problems encountered with the protocol.
Changes to the protocol will be proposed and reviewed, and a new version of the protocol will be released.
Although attempts will be made for backwards compatability,
2.0 may be breaking.