15.4.0 Version History

What’s new

  • Brand new Indy server branch capable of TLS 1.3 using OpenSSL 1.1.1. Fine tunning of Indy performance shows 20 to 25% of performance improvement over previous version. You can opt to keep using OpenSSL 1.0.x or switch to the OpenSSL 1.1.1 with TLS 1.3 support, via IndyServerOptions property (new).
  • New IndyServerOptions property in ServerController allows more control over Indy server settings, including Indy’s thread pool.
  • New option ServerController.TLSVersions allows setting TLS 1.3
  • New TBase64Encoder class in IW.Common.Strings, replaces Base64 encoding/decoding routines in IW.Common.SysTools
  • New performance data obtained via IWServerMonitor (App startup time, Status 400 and Status 500 responses count)
  • New ShowForm() overloaded method in TIWApplication, allows passing the class name of the form (e.g. ‘TIWForm1’) as a parameter, instead of the class reference. The form must be registered using RegisterClass(), otherwise it will fail.
  • New method ResetHTMLName for IWRegions (Clear HTMLName cache)

Bug fixes

  • DELETE method in client using WinHTTP fixed
  • Fixes some issues where templates break when evaluating PreAsyncScript and PostAsyncScript variables
  • In ContentHandler’s OnBeforeExecute event, when Continue is set to False, execution of the content handler must be aborted immediately
  • IWMonitor target comparison when TargetComparison = tcEqual bug
  • Grouping of ComboBox items when ItemsHaveValues = True would fail
  • Indy servers: Correctly blocks requests to invalid URLs which may contain double slashes


  • New default Cipher List (used with HTTPS in Indy Servers), updated to use the most secure ciphers available.
  • IWCheckBox: Setting IWCheckBox state programmatically via JavaScript works correctly when using new style CheckBox
  • All IWControls: Do not reset HTMLName when loading, do not reset HTMLName after rendering (async/sync) (better performance when re-rendering a control)
  • Several other performance enhancements