More .NET libraries
-
Rebex Mail Pack
IMAP, MS Graph, EWS, POP3, SMTP, MIME, S/MIME, MSG
-
Rebex Total Pack
All Rebex .NET libraries together
Release notes for Rebex MSG for .NET
- Released
- December182024
7.0.9119 #
(build 9119 from 2024-12-18)
Maintenance release
This maintenance release brings a small enhancement in the MailMessage
API.
Detailed list of changes:
- MIME: Added MailMessage.​Settings.​TreatAdditionalMixedTextPartsAsView option.
- Released
- November122024
7.0.9083 #
(build 9083 from 2024-11-12)
Support for .NET 9!
This release adds a new set of binaries targeting .NET 9. It supports all .NET 9 platforms:
- Windows (x64, x86, ARM64)
- Linux (x64, ARM32, ARM64)
- Android (x64, ARM32, ARM64)
- macOS (ARM64, x64)
- iOS/iPadOS/tvOS (ARM64)
R6.17 available as well
For customers who have not yet upgraded to version 7 of Rebex libraries, we published the R6.17 update with important fixes and enhancements. Version R6.x will be supported until November 2025.
Detailed list of changes:
- All: Added binaries targeting .NET 9 on all supported platforms.
- Cryptography: Added workaround for EnvelopedData with unpadded RSA EncryptedKey.
- Cryptography: Added workaround for parsing CMS ASN.1 with redundant zeros at the end.
- Cryptography: Fixed common name validation logic in NativeCertificateEngine and EnhancedCertificateEngine when used stand-alone by custom code.
- Released
- October082024
7.0.9048 #
(build 9048 from 2024-10-08)
Maintenance release
This is a maintenance release with fixes and enhancements in the shared functionality.
Detailed list of changes:
- Cryptography: Added ValidationOptions.​DisableCertificateDownloads option (only supported on .NET 5 and higher).
- Cryptography: Fixed detection of support for ECDH with brainpool curves on iOS.
- Cryptography: Fixed padding issues in AsymmetricKeyAlgorithm.​GetKeyMaterialDeriver (did not affect Rebex libraries).
- Cryptography: Fixed wrong RSA public key format when saving private keys in new OpenSSH format.
- Cryptography: Improved handling of wrong (negative) serial numbers in X.509 certificates.
- Released
- June252024
7.0.8943 #
(build 8943 from 2024-06-25)
Maintenance release
This is a maintenance release with enhancements in the shared functionality.
R6.16 available as well
For customers who have not yet upgraded to version 7 of Rebex libraries, we published the R6.16 update with important fixes and enhancements. Version R6.x will be supported until November 2025.
Detailed list of changes:
- Mail: Added support for Sensitivity header when converting between EML and MSG.
- Cryptography: Added support for issuing certificates signed with Ed25519.
- Cryptography: Fixed calculation of subject key identifier in certificate issuer API.
- Cryptography: Fixed rare wrong final calculation of Poly1305 hash when temporary storage for remaining data is bigger than input block size.
- Cryptography: Using AES/GCM instead of AES/CBC for new OpenSSH key format encryption.
- Released
- April082024
7.0.8865 #
(build 8865 from 2024-04-08)
Maintenance release
This is a maintenance release with enhancements in the shared functionality.
Detailed list of changes:
- Mail: Added LinkedResource(fileName, name, mediaType) constructor and SetContentFromFile method.
- Mail: Fixed filename assignment in LinkedResource constructor and SetContent/SetContentFromFile methods.
- Cryptography: Added support for loading private keys in new OpenSSH key format encrypted using AES/GCM or ChaCha20/Poly1305.
- Released
- February192024
7.0.8816 #
(build 8816 from 2024-02-19)
Maintenance release
This is a maintenance release with enhancements in the shared functionality.
R6.15 available as well
For customers who have not yet upgraded to version 7 of Rebex libraries, we published the R6.15 update with important fixes and enhancements. Version R6.x will be supported until November 2025.
Detailed list of changes:
- Mail: Fixed parsing of file names of UUEncoded attachments to properly handle whitespaces and other strange characters.
- MIME: Added a workaround for broken messages with unescaped slash in a MIME parameter.
- Cryptography: Added low-level API for loading/saving PrivateKeyInfo with byte[] passwords.
- Cryptography: Added ObjectIdentifier.Encode method.
- Cryptography: Added support for loading PKCS #8 private keys with legacy RC4 algorithm.
- Cryptography: Added UseDer property to SignedData and EnvelopedData classes.
- Cryptography: PrivateKeyInfo.Save now uses SHA-2 instead of SHA-1 in PKCS #8 format with PBKDF2 derivation.
- Cryptography: Reduced memory footprint of CNG API interop layer.
- Released
- December202023
7.0.8755 #
(build 8755 from 2023-12-20)
Improved Native AOT compatibility
This update improves compatibility with .NET 8's Native AOT deployment model, which makes it possible to compile applications to native code ahead-of-time (AOT). Most common features should already work in Native AOT mode.
Detailed list of changes:
- All: Improved compatibility with Native AOT in .NET 8.
- Common: Optimized memory usage of miscellaneous methods.
- Released
- November152023
7.0.8720 #
(build 8720 from 2023-11-15)
Support for .NET 8!
This release adds a new set of binaries targeting .NET 8. It supports all .NET 8 platforms:
- Windows (x64, x86, ARM64)
- Linux (x64, ARM32, ARM64)
- macOS (x64)
- Android
- iOS/tvOS
Detailed list of changes:
- All: Added a new set of binaries targeting .NET 8.0.
- Mail: Added new MailMessage.CreateReply(...) overload with common ReplyAll behavior.
- Cryptography: Fixed behavior of certificate issuer API when no CRLs have been specified.
- Released
- September132023
7.0.8657 #
(build 8657 from 2023-09-13)
Maintenance release
This is a maintenance release that fixes minor issues.
Detailed list of changes:
- MIME: Fixed ParsingHeader event which was called too late for Content-Type header.
- Released
- June292023
7.0.8581 #
(build 8581 from 2023-06-29)
First 7.0.* release!
This is the first release of 7.0.* series. It no longer uses the 'Rx.y' naming scheme, which was somewhat confusing.
The R6.x series will be supported until November 2025 and will receive fixes and security updates.
Detailed list of changes:
- Mail: Added MailSettings.​DoNotCloseStreamAfterLoad option.
- Mail: Relaxed MSG property stream length check.
- Cryptography: Added API for CRL distribution endpoints with multiple CRL entries.
- Cryptography: Added Certificate.Bind methods.
- Cryptography: Added CertificateStoreName.WebHosting enum value.
- Cryptography: Added CertificateStoreOpenFlags and corresponding CertificateStore constructors.
- Cryptography: AesGcm and ChaChaPoly1305 classes moved from Rebex.Common assembly to Rebex.Security.
- Cryptography: Certificate.Extensions collection is now read-only.
- Cryptography: Deprecated EncryptValue/DecryptValue methods in RSAManaged class.
- Cryptography: Fixed visibility of CertificateException legacy serialization constructor.
- Cryptography: Improved loading of Y-less legacy DSA keys in FIPS-only mode on .NET 6/7 in Windows.
- Common: Optimized internal Task.Run methods on old platforms.
- Common: Optimized internal WhenAll/WhenAny Task combinators on old platforms.
- Released
- June282023
R6.14 #
(version 6.0.8580 from 2023-06-28)
Maintenance release
This is a maintenance release with enhancements in the shared functionality.
What next for R6.x?
Version R6.x of Rebex libraries will be supported until November 2025 and will receive fixes and security updates. See R6.x release history for more information.
Detailed list of changes:
- All: Fixed problems in finalizer logic.
- Cryptography: Fixed support for ECDSA private key formats with optional public key.
- Released
- June062023
R6.13 #
(version 6.0.8558 from 2023-06-06)
Maintenance release
This is a maintenance release with enhancements in the shared functionality.
Detailed list of changes:
- Cryptography: Fixed lifecycle of AsymmetricKeyAlgorithm based on RSA CSP.
- Cryptography: Improved support for SignatureHashAlgorithm.MD5SHA1 in .NET 5 and higher in FIPS-only mode.
- Released
- April182023
R6.12 #
(version 6.0.8509 from 2023-04-18)
Maintenance release
This is a maintenance release with enhancements in the shared functionality.
Detailed list of changes:
- Common: Fixed rare race condition in scheduled action infrastructure.
- Released
- January312023
R6.11 #
(version 6.0.8432 from 2023-01-31)
Maintenance release
This is a maintenance release with enhancements in the shared functionality.
Detailed list of changes:
- MIME: Fixed possible NullReferenceException in a parser for wrong MIME parameter encodings.
- Cryptography: Fixed CRL retrieval for certificate with multiple CRL distribution endpoints.
- Common: Fixed potential premature release of an unmanaged buffer in SSPI interop code.
- Common: Improved compatibility with Windows 2000.
- Released
- December022022
R6.10 #
(version 6.0.8372 from 2022-12-02)
Maintenance release
This is a maintenance release that brings several enhancements and resolves some issues.
Detailed list of changes:
- MIME: Improved X.509 certificate chain resolving for PFX-based certifictes in S/MIME.
- Cryptography: Added workaround for broken X25519 implementation in early versions of Windows 10 (version 1507 and 1511).
- Common: Fixed Windows Extended Protection in 64-bit Windows applications.
- Released
- November082022
R6.9 #
(version 6.0.8348 from 2022-11-08)
Support for .NET 7!
This release adds a new set of binaries targeting .NET 7. It supports all .NET 7 platforms:
- Windows (x64, x86, ARM64)
- Linux (x64, ARM32, ARM64)
- macOS (x64)
- Android
- iOS/tvOS
Detailed list of changes:
- All: Added a new set of binaries targeting .NET 7.
- Cryptography: Fixed SHA-2 support on pre-SP3 versions of Windows XP.
- Released
- October252022
R6.8 #
(version 6.0.8334 from 2022-10-25)
Maintenance release
This is a maintenance release with enhancements in the shared functionality.
Detailed list of changes:
- Cryptography: Added SSE2 implementation of ChaCha20 for .NET 5.0 or higher.
- Released
- October052022
R6.7 #
(version 6.0.8314 from 2022-10-05)
Fixed code signing (broken by DigiCert)
From September 14th to September 22nd, 2022, DigiCert's timestamping authority mistakenly issued a TSA certificate with a validity period of only one year. Unfortunately, this mistake means that code-signed Rebex assemblies from R6.6 release will no longer pass validation after February 28th, 2024.
Therefore, Rebex customers should upgrade from R6.6 as soon as possible to take advantage of the new TSA certificate's full 11-year validity period.
Detailed list of changes:
- All: This release is properly code-signed again. TSA certificate validity was too short in R6.6 due to DigiCert's mistake.
- MIME: Added workaround for yet another form of wrong Content-Disposition parameter encoding.
- Cryptography: Added Rebex.Common.Validator assembly.
- Released
- September162022
R6.6 #
(version 6.0.8295 from 2022-09-16)
Maintenance release
This is a maintenance release with enhancements in the shared functionality.
Detailed list of changes:
- Cryptography: Added GetPrivateKeyAlgorithm/​GetPublicKeyAlgorithm methods to Certificate class.
- Released
- July152022
R6.5 #
(version 6.0.8232 from 2022-07-15)
Maintenance release
This is a maintenance release with enhancements in the shared functionality.
Detailed list of changes:
- Common: Improved internal asynchronous infrastructure for old platforms.
- Released
- May252022
R6.4 #
(version 6.0.8181 from 2022-05-25)
Support for .NET 6.0 on Android and iOS
Support for mobile platforms in .NET 6.0 has finally arrived, slightly masquaraded as .NET MAUI. Rebex libraries now support these new platforms as well.
Detailed list of changes:
- All: Added support for .NET 6.0 on Android.
- All: Added support for .NET 6.0 on iOS.
- MIME: Date header parser made more benevolent.
- MIME: Fixed UnparsableHeader event which was not called for unparsable Date headers when ProcessAllHeaders was enabled.
- Cryptography: Added support for NTLM plugin for non-Windows platforms.
- Cryptography: Added workaround for buggy RSACryptoServiceProvider in .NET 6.0 on Android.
- Cryptography: Enhanced workarounds for slightly misbehaved certificate validator in .NET 6.0 on Android.
- Cryptography: Fixed compatibility with ECDiffieHellman on .NET 7 Preview.
- Cryptography: Fixed exporting of DSA keys on Windows XP SP3.
- Cryptography: Optimized ChaCha20Poly1305 internals.
- Cryptography: Optimized internal AEAD interfaces.
- Cryptography: Working around RSA private key access issue in .NET 6.0 on Android.
- Common: Improved inner exception rethrow logic on .NET Framework 3.5/4.0.
- Common: Optimized internal data buffer methods.
- Released
- March282022
R6.3 #
(version 6.0.8123 from 2022-03-28)
Maintenance release
This is a maintenance release with enhancements in the shared functionality.
Detailed list of changes:
- Mail: Added workaround for TNEF attachments with empty ContentId.
- Cryptography: Improved Poly1305 internals.
- Cryptography: Slightly optimized encrypt/decrypt operations in symmetric branch of the CNG/BCrypt interop layer.
- Cryptography: Small optimization in ARM (Advanced NEON SIMD) implementation of ChaCha20.
- Common: Fixed rare premature finalization of a buffer in SSPI interop that might lead to an AccessViolationException.
- Common: Improved internal asynchronous infrastructure.
- Released
- January242022
R6.2 #
(version 6.0.8060 from 2022-01-24)
Maintenance release
This is a maintenance release that resolves an issue in a shared library.
Detailed list of changes:
- Cryptography: Fixed releasing of CNG handles in AES/GCM interop (issue only present in R6.1 on Windows).
- Released
- January082022
R6.1 #
(version 6.0.8044 from 2022-01-08)
Maintenance release
This is a maintenance release that brings several enhancements and resolves some issues.
Detailed list of changes:
- All: Fixed compatibility of Rebex binaries for .NET Framework 4.0 with ASP.NET 4.5 or higher.
- Mail: Added UseDefaultCharsetForHeaders option to MailSettings and MimeOptions.
- Cryptography: Caching of CNG algorithm provider handles.
- Cryptography: Fixed Certificate.​GetSignatureHashAlgorithm() for certificates signed by Ed25519 authorities.
- Cryptography: Fixed unmanaged resource leak in CertificateStore.
- Cryptography: Optimized symmetric branch of Windows CNG (BCrypt) interop layer.
- Released
- November252021
R6.0 #
(version 6.0.8000 from 2021-11-25)
Support for .NET 6.0!
This release adds a new set of binaries targeting .NET 6.0. It supports all .NET 6.0 platforms:
- Windows (x64, x86, ARM64)
- Linux (x64, ARM32, ARM64)
- macOS (x64)
Please note that support for Android and iOS/tvOS in .NET 6.0 is still in preview mode. We will fully support these platforms as soon as the corresponding .NET 6.0 update is published.
Support for Visual Studio 2022
All Rebex libraries are now fully supported in Microsoft Visual Studio 2022.
Detailed list of changes:
- All: Added a new set of binaries targeting .NET 6.0.
- All: Removed several obsolete and deprecated APIs.
- All: Removed support for legacy ISerializable interface from binaries for .NET Standard.
- MIME: Changed default charset for MIME text entities to UTF-8.
- Released
- November242021
R5.7 #
(version 5.0.7999 from 2021-11-24)
Support for .NET 6.0 and Windows 11
Windows 11 is now a supported platform.
Rebex assemblies targeting .NET Standard 2.1 now support .NET 6.0.
Detailed list of changes:
- All: Added support for .NET 6.0 on Windows, Linux and macOS.
- All: Added support for Windows 11.
- MIME: Improved ID check in MessageId constructor.
- Cryptography: Added more values to X.509 RevocationReason enum.
- Cryptography: Added support for private keys in PuTTY PPK3 format (uses Argon2 key derivation function).
- Cryptography: Added workaround for Google's CRLs with non-constructed explicit ASN.1 nodes.
- Released
- October262021
R5.6 #
(version 5.0.7970 from 2021-10-26)
Support for .NET 6.0 RC2
Rebex assemblies targeting .NET Standard 2.1 have been fully tested on .NET 6.0 RC2 and are suitable to be used in production on Microsoft's latest .NET platform ahead of the official release.
Maintenance release
This is a maintenance release with enhancements in the shared functionality.
Detailed list of changes:
- All: Added support for .NET 6.0 RC2.
- Cryptography: Fixed handling of RSAParameters without DP/DQ in AsymmetricKeyAlgorithm and PrivateKeyInfo.
- Cryptography: Fixed loading of encrypted keys with empty passwords in new OpenSSH format.
- Cryptography: Small optimization in AVX2 implementation of ChaCha20.
- Released
- August172021
R5.5 #
(version 5.0.7900 from 2021-08-17)
New binaries for .NET Core 3.1
We added a new set of binaries targeting .NET Core 3.1. We have already been supporting that platform since 2019 via .NET Standard 2.1. However, the new set of binaries utilizes .NET Core's hardware intrinsics API and features our fast ChaCha20/Poly1305 implementation that has been previously only available on .NET 5.0.
For an overview of available binaries and supported platforms, check out Rebex Support Lifecycle KB article.
Detailed list of changes:
- All: Added 'netcoreapp3.1' binaries.
- All: Fixed compatibility with UWP and .NET Native compiler.
- Released
- August052021
R5.4 #
(version 5.0.7888 from 2021-08-05)
New library: Rebex MSG
Rebex MSG is .NET library for reading, processing
and writing Microsoft Outlook .MSG e-mail message files. Unlike existing MIME classes from Rebex.Mail
namespace,
MsgMessage
and related classes work directly with MSG file format.
The new library is available as a standalone package or as a part of Rebex Total Pack.
Detailed list of changes:
- Mail: Improved MSG reader to read 'subject' from PidTagConversationTopic MAPI property when needed.
- Cryptography: Fixed Certificate.FriendlyName setter in .NET 5.0 on non-Windows platforms.