TaurusTLS Developer's Blog
TaurusTLS 1.0.10.52
Published on July 28, 2026 by J. Peter Mugaas
We are pleased to announce the release of TaurusTLS 1.0.10.52. This maintenance release addresses several bugs, including:
As previously discussed, this release significantly improves compatibility for C++Builder developers.
TaurusTLS 2.0 Status Update
Published on July 27, 2026 by Alexander Tregubov
Recently, we resolved an issue that affected the behavior of TaurusTLSIOHandlerSocket under poor network conditions on POSIX systems. See Issue #251 (Strange client issue). This fix prompted us to review OpenSSL and TCP socket interoperability in TaurusTLS 2.0.
We found that OpenSSL enables SSL_MODE_AUTO_RETRY by default. In this mode, OpenSSL prevents read and write operations from returning control to the application while it processes the transmission of internal protocol messages. It only yields control once it has successfully decoded application data records, or when application records are encoded and sent successfully.
However, the SSL/TLS protocols rely on internal control frames—which can be transmitted in the middle of application data—to maintain connection integrity. Losing one or more of these control frames can delay read/write operations and directly impact the responsiveness of TaurusTLSIOHandlerSocket. To improve stability under unstable network conditions, the TaurusTLS team plans to disable SSL_MODE_AUTO_RETRY in TaurusTLS 2.0.
We are currently evaluating the implementation complexity and the robust error handling required for this approach.
Stay tuned for more updates.
The TaurusFTP Console Demo Program
Published on July 21, 2026 by J. Peter Mugaas
There is an unsung hero in the TaurusTLS distribution that is not given enough credit. That unsung hero is the TaurusFTP Console Demo program that is included with TaurusTLS distributions in the /Demos/TaurusFTPConsole folder. This is not merely a simple demo program, but rather a fully functional console FTP (File Transfer Protocol) client that is completely driven by commands. I consider this program superior to the bundled FTP client included in Windows because:
- It supports both explicit TLS (as defined by RFC 4217: Securing FTP with TLS) and implicit TLS with FTP. In explicit TLS, the connection starts unencrypted using the same port as regular FTP, the client issues an
AUTH TLS command, the server sends a response, and TLS negotiation begins. In implicit TLS, the connection is made to port 990 and TLS negotiation happens immediately.
- It supports Deflate transmission mode for FTP or
MODE Z if the server supports this.
- It supports passive transfers (
PASV) by default instead of relying on active transfers (PORT). Passive transfers tend to be more friendly in firewall/proxy configurations and NATs (Network Address Translators) than active transfers because the PASV response is an IP address and port that the server is listening on. In active transfers, an IP address and port number is sent by the client and the IP address might be local network instead of the Internet.
- It supports the
EPSV and EPRT commands that allow the client and server to communicate IPv6 addresses as defined by RFC 2428: FTP Extensions for IPv6 and NATs.
- It supports RFC 2640: Internationalization of the File Transfer Protocol.
- It supports the
MLSD command which provides a standardized machine and human-readable directory listing format as specified by RFC 3659: Extensions to FTP by default instead of simply using the old standard DIR command which does not specify a format (although the Unix format is a de facto standard).
Using the program is very simple. The program provides a help command that lists the commands and what they do. In addition, you can use the help command function to get help with the command parameters.
The C++Builder Support Status Update
Published on July 20, 2026 by J. Peter Mugaas
I have checked in extensive modifications to make TaurusTLS compatible with C++Builder. This resolves issue #241 (error when compiling under C++Builder). These changes will be available in the next release of TaurusTLS.
While we still do not formally support C++Builder due to a lack of dedicated expertise and resources, we are pleased that this update significantly improves the situation for C++Builder developers.
TaurusTLS 1.0.9.51 Dedicated to My Late Father
Published on July 12, 2026 by J. Peter Mugaas
We are releasing TaurusTLS 1.0.9.51. This fixes several bugs including:
This release supports bidirectional shutdown through the property UseBidirectionalShutdown.
This release is dedicated to my late father, John N. Mugaas, PhD. who died June 27, 2026. RIP.
TaurusTLS 2.0: Encrypted Client Hello (ECH) Support
Published on July 12, 2026 by Alexander Tregubov
We are excited to share that TaurusTLS 2.0 client (xxxIOHandlerSocket) and server (xxxServerIOHandler) components will feature support for the Encrypted Client Hello (ECH) TLS extension. This critical addition will help protect user privacy by minimizing the metadata exposed during the initial TLS handshake.
Initial Release Scope
Our integration of ECH in the initial release of TaurusTLS 2.0 will work as follows:
- DNS/DoH Queries: We do not plan to support dynamic retrieval of
ECHConfig values via DNS or DNS-over-HTTPS (DoH) queries out-of-the-box on the client side (xxxIOHandlerSocket).
- DNS Record Updates: On the server side (
xxxServerIOHandler), there will be no built-in mechanism to dynamically update DNS SVCB or HTTPS resource records with updated ECHConfig parameters.
- Developer Flexibility: To keep the library lightweight, we will instead expose the necessary APIs so that your applications can easily implement these dynamic DNS and DoH lookup tasks independently.
ECH GREASE Support
To further enhance client privacy, we are also implementing the ECH GREASE (Generate Random Extensions And Sustain Extensibility) mechanism. This allows your client applications to safely send dummy ECH extensions to prevent network fingerprinting, even if an ECHConfig payload is not yet known (provided the destination server supports GREASE).
Stay tuned for more updates as development progresses!
Announcing TaurusTLS 2.0: A Modernization Initiative
Published on July 11, 2026 by Alexander Tregubov
The TaurusTLS development team is pleased to announce the launch of a major modernization project for our library, currently codenamed TaurusTLS 2.0.
Our primary goals for this next-generation release include:
- Modern OpenSSL Integration: We are phasing out legacy OpenSSL 1.x API calls in favor of modern OpenSSL 3.x and newer APIs, procedures, and data structures. This ensures long-term compatibility and stability with upstream OpenSSL development.
- Enhanced Multithreading Support: We are restructuring internal logic to improve concurrency safety and thread performance.
- Granular Traffic Control: We will expand the list of configurable parameters and event handlers, giving developers more options to optimize traffic handling for their specific use cases.
- Encrypted Client Hello (ECH) Support: We are adding native ECH support to both client and server components (which will require OpenSSL 4.0 or newer).
Backward Compatibility Notice
Unfortunately, achieving these modernization goals means we will not be able to maintain full backward compatibility with older TaurusTLS components. We sincerely apologize for any inconvenience this may cause.
To ensure a smooth transition, we plan to maintain and support both the current TaurusTLS branch and the new TaurusTLS 2.0 branch in parallel for a reasonable timeframe. This will give you ample time to migrate and adapt your existing applications.
We highly value your feedback and feature requests as we shape TaurusTLS 2.0. Please let us know your thoughts directly on our issue tracker!
We Are Dropping C++Builder Support
Published on July 10, 2026 by J. Peter Mugaas and Alexander Tregubov
We are saddened to announce that we are officially dropping support for C++Builder. Unfortunately, we do not have the specialized expertise or resources required to properly address and resolve C++Builder-specific issues. To ensure the highest quality for our core users, we have decided to focus our efforts entirely on supporting Delphi.
However, if you have strong C++Builder expertise and are interested in helping maintain or resolve issues for this platform, we would highly welcome your contributions.
The New Website
Published on July 07, 2026 by J. Peter Mugaas
TaurusTLS has a new website. It took several days of coffee-fueled benders to do this. My goals for this website is make information available about TaurusTLS to the people that need it. This involves handicapped accessibility (an extremely personal thing for me), ability to work on mobile devices, and the ability to print the content of this site. This involved a lot of research and testing. The website is completely done by hand using tools such as CSE-Validator, Total Validator, some online tools, and of course, Google.
I need to thank David Nottage for helping me with the CSS. He did a much better job than I could.