What’s new
- 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
- Fixes resizing an aligned image in HTML
- Fix IWUtils link error in C++ Builder