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
Modified
- 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