14.1.0

  • IntraWeb controls use less memory and perform better than previous versions. Major refactoring of base classes and controls, using improved data structures which use less memory and have better performance when compared to standard Delphi data structures (mainly TStringList).
  • New: class TBufferedHandleStream which drastically improves stream write and read performance. TempFileStream now descends from TBufferedHandleStream. New class TIWFileStream, descends from TBufferedHandleStream
  • New: TIWExceptionCallback allows 3rd party exception tracers/loggers (e.g. EurekaLog) to integrate with IntraWeb using a pre-defined, dedicated interface.
  • New: TIWControl and TIWRegion now render margins when AlignWithMargins = True
  • New: IWComboBox now allows grouping of related options in the list, using OPTGROUP tag. Each group in the list must start with the plus sign char (+), e.g. “+Group 1”..
  • New: New basic data structures (list and dictionary classes) are used instead of TStringLists, in several internal classes. Less memory usage and more performance.
  • New: ServerController.OnRewriteURL event lets you specify Reverse proxy or RewriteURL parameter using events
  • New: IWModalWindow: Button close action can be skipped using “|NoClose”
  • New: TIWLayoutMgrForm, TIWLayoutMgrHTML and TIWTemplateProcessorHTML have a new published property StyleAttributesToRemove (TStringList). Each style attribute in the StyleAttriutesToRemove list will be removed when rendering controls in a form using templates
  • New: IWMonitor property jsCallbackName. This parameter is optional. When set, IWMonitor will call this JavaScript function each time it queries the status value from IW server. This function should be provided by user (JavaScript function).
  • New method CenterInParent() available in TIWCustomControl and TIWBaseContainer (TIWRegion and descendants). Centers a control within its parent’s client area
  • New property CustomLockerAnimationFile (an animated gif file name), which allows you to customize the IWLocker image. A new (slightly bigger) locker is default. Many free sample lockers can be found inside \Images\LoadingGif subfolder
  • New properties:
    • TIWBaseForm.IsFirstRequest
    • TIWBaseForm.IsPostBack and TIWApplication.IsPostBack
    • TIWApplication.IsFormFirstRequest
  • Bug fix: Frame name validation wrongly raises an exception when 2 existing frames descend from the same parent frame (check the new “Frame Inheritance” demo project in our demo repository)
  • Bug fix: Aligned invisible controls (e.g. IWRegion with Visible=True, Align=alBottom) would still be considered when aligning other controls. This caused other controls to be wrongly aligned, as the invisible control was actually visible.
  • Bug fix: TIWDBLookupComboBox and TIWDBLookupListBox could show NonSelectionText property instead of actual selected item text after sync event
  • Bug fix: possible issue with multiple threads uploading files (FFileList)
  • Bug fix: WebApplication methods SwitchToSecure/SwitchToNonSecure (HTTPS <-> HTTP) could fail
  • Bug fix: Under very rare circumstances, some temporary files could remain until application termination
  • Bug fix: TIWDBGrid rendering issues when a control is assigned to a cell. Refreshing the Grid in Edit mode should not raise excepion
  • Modified: IWLists.pas has been renamed to IW.Common.Lists.pas
  • Modified: Faster SA Server with an Indy intercept class customization
  • Modified: IW Version check form is non modal, so IDE continues loading while the form is visible
  • Modified: TIWCompressionOptions.MinSize is now 512 bytes (instead of 1024)
  • Modified: “attr” tag is used instead of “attribute” in XML node (async response). This reduces the size of XML response, in average, 100+ bytes per object modified in an AJAX request.
  • Modified: TIWResyncInfo record (used when detecting sync issues/BackButton events) has 2 new members: FormOutOfSync and TrackIdOutOfSync.
  • IWBundledRemovalTool is now part of IntraWeb installation. It can be found inside folder \Tools\BundledRemoval
  • Dozens of other small improvements and fixes