What’s new
- New component IWAudioRecorder: Allows user to record audio from user’s machine, download or upload it, with zero lines of code.
- TIWIpAccessCounter class. Allows to easily implement a unique visitors counter in your IntraWeb application via ServerController.SessionOptions.UniqueVisitorsMetrics property.
- New component: TIWFormEvents: Gives direct access to new DOM page events not exposed by IWForm.
- New function GraphicFileToBase64Str() in IWImageUtils, converts common graphic files into Base64 encoded strings ready to be used in any web page
- New class function TIWMimeTypes.ImageFileToMimeType(const aFileName: string; var vMimeType: string): Boolean
in unit IWMimeTypes: Given a graphic file name returns the corresponding MIME type (works for common graphic files used in the web as PNG, JPG, GIF, WEBP) - New methods in TIWCanvas and descendants (e.g. TIWSignaturePad):
- procedure LoadFromDataUrl(const aDataUrl: string; const aScale: Boolean = False; const aCenter: Boolean = False);
- procedure LoadFromFile(const aFileName: string; const aScale: Boolean = False; const aCenter: Boolean = False);
- procedure LoadFromFileAsBase64(const aFileName: string; const aScale: Boolean = False; const aCenter: Boolean = False);
- RefreshAsyncRender implemented for TIWBaseHTML40Component
Modified
- Several improvements in IW JavaScript libraries
Bug fix
- Removed hard breakpoint from javascript code. This was intended to be released as a property in ServerController, but we are delaying that for now.
- Fix for IWLabel when RawText = True and NoSpanTag = True
- IWImageLoader: Fixes upload of images to IW server
- Fixing Exception logger date format
