New component: Rebex Syslog is a syslog client and server library for .NET which supports UDP, TCP and TLS, and is compatible with third-party syslog clients and servers.
Supports TLS 1.3, TLS 1.2 and earlier versions on all mainstream platforms including Microsoft .NET Framework 3.5 on Microsoft Windows 7.
Supports SHA-2, SNI, AES/GCM, ChaCha20/Poly1305 and other modern TLS features.
FTP: Added new Ftp.Settings.MdtmSetTimeOffset property.
File Server: Updated SshConsole.Clear() method to reset cursor position in addition to clearing the screen.
Mail: Improved the ability to trim input values in ContentType, ContentLocation and ReturnPath constructors.
Terminal: Adapted behavior of "Erase Screen" to match usual terminal behavior (does not reset cursor position).
ZIP: Improved error messages by adding more sanity checks.
HTTP: Improved error handling when connection is closed prematurely in chunked mode.
Networking: Added support for SOCKS5 servers that respond with domain name.
SSH: Optimized usage of ChaCha20/Poly1305 in SSH.
Cryptography: Added ChaCha20Poly1305 class that implements ChaCha20/Poly1305 with an API that resembles Microsoft .NET's AesGcm class.
Cryptography: Added support for loading ECDSA certificates from PFX/P12 files in Microsoft .NET 5.0 and .NET Standard 2.1 on Linux and Apple macOS.
Cryptography: Added support for saving to PFX/P12 files for certificates with temporarily associated private keys in .NET 5.0 and .NET Standard 2.1 on Linux and macOS.
Cryptography: Improved ChaCha20/Poly1305 performance on .NET 3.5-4.6 and .NET Standard 2.x.
Cryptography: Improved performance of AES/CTR ciphers (used in SSH).
Common: Improved error handling when raising events via synchronization context.