Version History
Changelog
All notable changes to NoiseFramework documented here. Following Keep a Changelog and Semantic Versioning.
1.2.1
Latest2025-11-18Added
benchmark.pyscript in repository root for comprehensive performance testingdocs/BENCHMARKS.mdwith real-world performance measurements and detailed analysis:- Handshake performance across different patterns (XX, NN, IK) and cipher suites
- Transport encryption/decryption throughput for message sizes from 64 bytes to 64 KB
- Key generation performance for Curve25519 and Curve448
- Performance recommendations for different use cases
- Optimization tips and best practices
- Comparison methodology and reproducibility instructions
Changed
- Updated README.md performance section with actual benchmark results:
- Complete XX handshake: 558-642 µs (1,500-1,800 handshakes/sec)
- Transport encryption: 3+ GB/s for large messages, <3 µs latency for small messages
- Key generation: ~32,000 keypairs/sec for Curve25519
- Added quick benchmark results table
- Added instructions for running benchmarks yourself
- Added link to comprehensive BENCHMARKS.md documentation
1.2.0
2025-11-17Added
- Exported
NoiseTransportfrom mainnoiseframeworkpackage for cleaner imports - Exported
NoiseTransportfromnoiseframework.transportmodule - Support for three import styles:
from noiseframework import NoiseTransport,from noiseframework.transport import NoiseTransport, orfrom noiseframework.transport.transport import NoiseTransport
Changed
- Updated all code examples in README.md to use cleaner imports
- Updated all code examples in API.md to use cleaner imports
- Improved examples to use
NoiseTransportwrapper class instead of raw cipher states - Updated all documentation examples to explicitly pass
b""towrite_message()
Fixed
- README.md: Corrected all import statements from
py_noisetonoiseframework - README.md: Fixed Architecture section to show correct package structure
- README.md: Fixed test coverage command
- API.md: Fixed malformed code block
- ARCHITECTURE.md: Updated all file path references
- CONTRIBUTING.md: Updated all command examples
1.1.0
2025-11-16Added
- SECURITY.md with vulnerability reporting process
- CONTRIBUTING.md with comprehensive contribution guidelines
- CODE_OF_CONDUCT.md based on Contributor Covenant 2.0
- API.md with complete API reference documentation
- GitHub issue templates and PR template
- Examples directory with basic_client_server.py, file_encryption.py, and simple_chat.py
- ARCHITECTURE.md documenting internal design
- FAQ.md with common questions and troubleshooting
Breaking Changes
Package Renamed
Renamed internal package from py_noise to noiseframework for consistency.
Old:
from py_noise import NoiseHandshakeNew:
from noiseframework import NoiseHandshakeFixed
- Package finder in pyproject.toml now correctly looks for
noiseframework* - CLI entry point now correctly imports the renamed module
0.1.0
Initial Release2025-11-16Added
- Initial project structure and configuration
- Professional README with comprehensive documentation
- MIT License
- Python package configuration with pyproject.toml
- Complete cryptographic primitives layer:
- Diffie-Hellman: Curve25519 (X25519) and Curve448 (X448)
- AEAD ciphers: ChaCha20-Poly1305 and AES-256-GCM
- Hash functions: SHA-256, SHA-512, BLAKE2s, BLAKE2b with HKDF
- Noise protocol pattern parser and validator
- Symmetric state and cipher state implementation
- NoiseHandshake class for managing complete handshake protocol
- NoiseTransport class for post-handshake encrypted communication
- Command-line interface (noiseframework CLI)
- Comprehensive test suite with 156 tests and 92% coverage