TaurusTLS Developer's Blog

TaurusTLS 1.0.10.52

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

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

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:

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

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

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

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:

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

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:

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

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

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.