Noise is a framework for building crypto protocols. Noise protocols support mutual and optional authentication, identity hiding, forward secrecy, zero round-trip encryption, and other advanced features.
The main document is the Noise Protocol Framework. Several extensions are being developed, see the wiki for more details.
Open source implementations exist in C, C#, Go (1,2), Haskell, Java, Javascript, Python (1,2) and Rust.
Visit the wiki for more info, explanations, and work-in-progress specs and code.