New component IWSummernote. A nice HTML editor, simple and powerful, capable of embedding objects like videos, images and tables (demo will follow)
Using Bootstrap styles in buttons and dialogs of both IW notify (ShowMessage, etc) and IWModalWindow. A new modern, flat style.
New property TIWImage.Base64Str allows you to use a Base64 string as the image content
New IWImage.LoadFromBase64String() public method, will load IWImage from a base64 string containing either a PNG, JPG or GIF image
Several new utility functions in IWImageUtils to deal with Base64 images
New WebApplication.ExecuteJS() method. Can be used as a shortcut for WebApplication.CallbackResponse.AddJavaScriptToExecute() during Async calls (and can also be used instead of IWForm.AddToInitProc() during sync calls.
New version of IWCertificateManager handles changes in Let’s Encrypt API accordingly. Includes now a new debugging feature.
Modified
New way of handling exceptions when rendering IWForms: Any exception while rendering a component on the Form will be logged
and the component will not appear on HTML page. The rest of the page will be rendered normally. This is a better approach than the historical behavior where the page is not rendered at all
and the session terminates with the standard error page with a link to restart the session.
IWBootstrap 3 and 4: avoid rendering empty style and double semi-colons in style tags
IW JavaScript library allows hooking of a different page locking mechanism, through simple method registration (demo will follow).
Bug fixes
Fixed MaxValueMessage used when restricting values in IWEdit controls
Special HTML chars in control’s hints could cause rendering to fail
Methods PUT, HEAD, DELETE and OPTIONS can be allowed using ServerController.SecurityOptions.HttpMethods. Due to an issue with Delphi streaming these options were not correctly streamed to/from the form’s DFM file