History

15.0

  • 15.0.17 Version History (11/24/2018)

    24-Nov-2018

    What’s New

    • Delphi 10.3 Rio support (introduced in 15.0.16). (Please make sure you have at least build 26.0.32429.4364)

    Bug fixes

    • Bug fix: fixes a non critical but annoying bug which wrongly disables browser buttons on SA GUI main window
    • Bug fix: THttpCookieList.RemoveCookie() could fail under some specific circumstances 
  • 15.0.16 Version History (11/22/2018)

    22-Nov-2018

    What’s New

    • Delphi 10.3 Rio support!! (Please make sure you have at least build 26.0.32429.4364)
    • New Chrome App mode in Stand Alone (GUI). A new icon is now available in SA GUI which starts Chrome in App mode (new window with no toolbar and menu)

    Bug fixes

    • Bug fix: Under rare circumstances, IWEdit could render wrong tag when NonEditableAsLabel = True
    • Bug fix: in TIWCustomEdit and descendant controls, Placeholder attribute was being cleared even when iaPlaceholder is not set (i.e. control shouldn’t render placeholder attribute)
    • Bug fix: Callback request could fail when trying to send the encodeURIComponent parameters. This only affects Http.sys applications
    • Other smaller fixes
  • 15.0.15 Version History (11/4/2018)

    Bug fixes

    • Bug fix: IWEdit/IWDBEdit would render incorrectly when NonEditableAsLabel = True
    • Bug fix: Controls inside nested frame could fail to execute associated events due to naming conflicts
    • Bug fix: IWModalWindow could fail to show content region when StyleRenderOptions.UseDisplay = True

    Modified

    • Enhanced performance of IWModalWindow.
  • 15.0.14 Version History (10/17/2018)

    Bug fixes

    • New zlib compression based on Cloudflare branch built with unnecessary AVX instructions. This caused x64 applicaitons to crash on very old processors (which don’t support AVX). Unnecessary AVX instructions were removed.
    • ZLib x64 based on Cloudflare needs SSE 4.2 instruction set. IntraWeb will detect SSE 4.2 and disable zlib compression in case it is not supported. A warning will be saved to application log file in this case. Most Intel and AMD processors released after 2008/2009 support it, so this should hardly ever occur.
    • OnHTMLTag could cause error when building IWBS projects in C++ Builder
    • IWBSCustomInput.pas wrongly defines HAS_TFORMATSETTINGS
    • Minor fixes to IWBoostrap
    • OnValidateCacheFileAccess could fail if file name ends with extension other than .tmp
    • IWModalWindow fails to center region when it uses an external template
    • Http.sys only: Fixes unicode chars conversion in query string
    • Fixes IsPostBack when showing a form the first time. Dead code removed
    • If TIWButton has both OnAsyncClick and OnClick assigned, only OnAsyncClick should be hooked/rendered

    Modified

    • IWBoostrap demos included
    • IWModalWindow rendering enhanced. Minor issues with overlay div were fixed
  • 15.0.13 Version History (9/23/2018)

    Bug fixes

    • Fixes “Content Encoding Error” when using zlib compression in Delphi/RAD Studio XE8 and 10 Seattle
  • 15.0.12 Version History (9/18/2018)

    Bug fixes

    • Fixes “List index out of bounds” error which happens on some compilers (XE2 to XE7 were confirmed) due to a failure when certain methods were inlined
  • 15.0.11 Version History (9/12/2018)

    What’s new

    • New property ServerController.SSLOptions.EnableACME, enables serving of Let’s Encrypt ACME challenge files automatically (subfolder acme-challenge)
    • Second round of IWTreeView enhancements. New properties and methods. Full Async support.
    • New class IWCGIRunner which runs CGI applications from IntraWeb in an isolated process
    • OnMetaTag event in ServerController
    • Property Attributes for IWDBMemo, IWDBEdit (as in IWMemo and IWEdit)
    • AutoScrollPos (published), BrowserScrollPosX, BrowserScrollPosY (public) properties introduced in TIWBaseForm

    Bug fixes

    • Fixes OnValidateCacheFileAccess when AllowMultipleSessionsPerUser = True
    • Fixes issues with IWTabControl tab rendering
    • Setting multiple cookies in a Http.sys server response could fail
    • MappedURL in TContentForm could set wrong URL
    • Adding custom cookies in an Http.sys application would fail
    • Fixes possible install issue on RAD Studio 2009 and 2010

    Modified

    • Empty ALT text for images which improves rendering
    • IWBoostrap redistributable files included in standard installation
    • Div elements do have tabIndex attribute in HTML 5 spec
    • Improved preformance of some core classes with inlining
  • 15.0.10 Version History (7/31/2018)

    What’s new

    • TIWTreeView was completely refactored. It is fully async-capable now. A new demo is being prepared to show new features
    • New property TIWImageList.CacheImages (default True). When enabled, TIWImageList will generate image files on disk only once. Subsequent request will use the same cached image. This will greatly improve rendering performance on browser side, once all images can be cached by the browser.

    Bug fixes

    • TIWTabControl tab heigh wouldn’t render as expected. Other small fixes in TIWTabControl
    • Adding custom cookies in an Http.sys application would fail
  • 15.0.9 Version History (7/24/2018)

    What’s new

    • TIWTreeView.AsyncMode property. When True TreeView will work using async calls

    Modified

    • Improved rendering performance of aligned controls

    Bug fixes

    • Evaluation versions could fail if no IWLicenseKey.pas file is found
    • Chrome, Safari and Opera browser would show scroll bar after resizing right or bottom aligned controls
  • 15.0.8 Version History (7/13/2018)

    Bug fixes

    • File uploads could fail in Http.sys applications
    • File uploads > 2 Gb could fail on ISAPI and Indy servers
    • Parse of received content could fail (RegisterContentType)
  • 15.0.7 Version History (7/8/2018)

    What’s new

    • New methods THttpFile.ReadAllText and THttpFile.ReadAllBytes. They work similarly to RTL’s TFile.ReadAll* methods (unit System.IOUtils).
    • New ServerController event OnValidateCacheFileAccess which allows user to set grant cache file access on a per-file basis. Some customers have very tight cache file access requirements. This allows developers to grant/deny or require session validation before serving each file in session cache.
    • new property ThreadsPerCore and LimitThreadCountInDebug (Http.sys applications only). Read about them (and about Http.sys development) here: https://doc.atozed.com/en/iw15/develop/creating-http-sys-applications-with-intraweb/

    Modified

    • IntraWeb will display better, more informative, error messages when handling access denied exceptions (Http.sys applications only).

    Bug fixess

    • Fix in license validation: Under some circumstances eval reason could be blank
    • UrlBase added to start url in SA GUI application (Http.sys only)
  • 15.0.6 Version History (6/19/2018)

    Bug fixes

    • IW Boostrap layout manager could fail to generate links for files in the form *.js?xyz or *.css?xyz
    • Template based forms could fail to load if parent container is not rendered (i.e. is not present in template)
    • Custom stand alone wouldn’t initialize TIWCompressor correctly and it would cause an AV when compression is enabled
  • 15.0.5 Version History (6/12/2018)

    What’s new

    • IW_15 directive in IWBootstrap include file

    Bug fixes

    • IW Bootstrap: AV when rendering TIWBSModal
    • JavaScript rendered by some IW Bootstrap components could fail

    Modified

    • Some few optimizations and minor bug fixes
  • 15.0.4 Version History (6/11/2018)

    Bug fixes

    • TIWTemplateProcessorHTML would fail to use and merge own MasterTemplate (ServerController.MasterTemplate would work as expected, though)
    • TIWMonitor would fail to load
    • Calling IWForm.Release() from async method could fail

    Modified

    • Internal refactoring as preparation for IW 17
  • 15.0.3 Version History (6/8/2018)

    What’s New

    • Some new base classes introduced as preparation for IW 17

    Bug fixes

    • Empty license would cause evaluation version to fail

    Modified

    • TIWServerControllerBase.DisableFixupPatch class property renamed to FixupPatchEnabled. Default is false, meaning that the fix up mechanism is disabled by default.
  • 15.0.2 Version History (6/6/2018)

    What’s New

    • New base class for IWBaseForm (IW 15 form)

    Bug fixes

    • Registration of new license type 11 during setup could fail
    • ContentHandlers execution could fail if session not created
    • Cross site scripting vulnerability fixed
  • 15.0.1 Version History (6/5/2018)

    What’s New

    • IWFileUploader will correctly set <accept> tag. Open file dialog will use this tag to filter files by extension. Not all browser support it (Chrome, Firefox, Opera, Edge, Safari and latest IE support it)

    Bug fixes

    • Cross-site scripting vulnerability when processing AJAX requests was fixed
    • IW pages would fail to load in IE and Safari if ServerController.Compression.PreCompress = True
  • 15.0.0 Version History (6/4/2018)

    What’s New

    • New Http.sys application type. Http.sys is the Windows Kernel mode driver which is the core of IIS. Http.sys IntraWeb applications are also stand alone, blazing fast, easy to debug and deploy because they don’t require IIS!
    • IW Bootstrap is now included with IntraWeb. All IDEs are supported (from Delphi 2009 to 10.2 Tokyo). Full source code included.
    • New zlib library. IW zlib is based on zlib Cloudflare code base and is more than 8x faster than Delphi XE7 zlib (x64). Still almost 2x faster than Delphi XE8-10.2 (x64). IW zlib is the fastest zlib available for Delphi! From now on we build our own zlib so you can have the best performance ever!
    • New TIWTemplateParserHTML. Template parsing and processing is more than 300% faster than IW 14 version.
    • Removed /$/ (Exec command) from URL in browser. Exec command “/$/” is still used internally though.
    • SameSite cookie attribute is now supported in all IntraWeb application modes (except ASPX Library, because ASP.NET doesn’t support it directly). Improves security and prevents CSRF attacks. Read more about it here: https://www.owasp.org/index.php/SameSite
    • IW 15 requires new license, i.e. existing IW 14 licenses won’t work at all with IW 15. A new license has been generated for all paid customers with valid subscription and the new license can be obtained online at https://app.atozed.com
    • Improved IWModalWindow: New properties HasHeader, HasFooter, BorderWidth and CloseOnClick
    • Extended HTML 5 attributes (Autocomplete, Spellcheck, Placeholder) for TIWEdit, TIWMemo and descendant classes
    • jQuery version updated to version 1.12.4 (same used by IW Bootstrap library). jquerymaskedinput.js updated to latest version 1.3.1
    • New property ServerController.JavaScriptOptions.jQueryVersion (string), returns version of jQuery
    • Templates: Attributes are allowed inside template control tags
    • LockSessionTimeout property in ServerController (in milliseconds). Default is 30000 milliseconds
    • New event ServerController.OnBind which can be used to set HTTP and HTTPS at runtime (Ultimate only)
    • New methods in THttpRequest: THttpRequest.HasField(), THttpRequest.GetQueryFieldValue()
    • TIWLinkBase and descendants have new property HasTabOrder
    • New feature CheckWindowId which allows applications to detect when a link to a valid IW application session is used in another browser tab
    • TIWGrid has a new property HeaderRowCount. TIWGrid and descendants now render <thead> and <tbody> tags which makes easier to integrate them with 3rd party JavaScript libraries like DataTables.
    • ISAPI applications now allow redirection from HTTP to HTTPS. It is much easier to do that from IntraWeb than from IIS or other server. Requires: ServerController.SSLOptions.NonSSLRequest = nsRedirect; ServerController.ProxyPortRedirection.Active; ServerController.ProxyPortRedirection.HttpsPort > 0
    • New TContentBase.RequiresSession property (default True). When false, a content handler can be executed before session validation. It can be used, for instance, to provide custom static content which don’t require a user session.

    Modified

    • Remove Styles from IWControls when rendering in Async, if TemplateProcessor.RenderStyles = False. This fixes several problems when using templates
    • Improved and shorter JavaScript code generated in IW pages for object initialization
    • Set Password type for inputs during async
    • IWImageList.ExtractImageToCache is made virtual (makes it compatible with IW 12 implementation)
    • Stack trace of all threads included in IWJclStackTrace
    • IW.Common.System renamed to IW.Common.SysTools. Applications shouldn’t use IW.Common.System directly. However, existing applications will still build/work when using IW.Common.System (a wrapper unit for compatibility is provided). Name has been changed due to issues caused by name conflicts in some versions of C++ Builder compiler.
    • IWPaintHandlers: Use an ancestor paint handler at design time, when a specific paint handler is not registered
    • Several fixes regarding IPv6 in SA mode
    • TIWCustomRegion.get_HTMLName made protected and virtual so it can be overridden in descendant classes
    • CheckConnectionMode (secure/non secure) executed before Form execution
    • New SessionLocked.html exception. New default colors for built-in Exception renderer
    • “Cannot find submit component” exception is now EIWSubmitException and should contain the referenced component name (easier to identify problems during development and also in production)
    • MIME types are consts now instead of resource strings to avoid C++ Builder bug (IWMimeTypes.pas)
    • Breaking change: StyleRenderOptions.RenderBorder is FALSE for for IWEdit, IWLisBox, IWComboBox, IWMemo controls and descendants by default. This shouldn’t affect most existing applications. Now, if no style is provided, these controls will render using browser default style.
    • Modified: Invisible controls should be aligned by default (restored behavior of 14.0.x branch).
    • TIWFile finally removed from IW 15 codebase. Use TIWFileUploader instead. All references to IWFile.pas should be removed from IW applications.
    • Several performance improvements and optimizations

    Bug Fixes (baseline is 14.2.7)

    • ISAPI applications would fail to create valid responses (status code 500) when parsing invalid header (including cookie) fields.
    • Fixed issue in TextToJsonString method
    • Fix for IWRegions owned by TFrame which is also owned by other TFrame
    • ASPX loader fix: Obtaining correct port number from request
    • Bug in fixup mechanism fixed (IWClassesFix)
    • TIWCustomEdit (and descendants) text wouldn’t clip if NonEditableAsLabel = True
    • Do not render style tag in async when using templates and RenderStyle is False
    • Better sizes for scaled windows fonts (125% and 150%) when using SA-GUI application
    • Fixed empty stack trace when using jdbg format for map files
    • Several issues in IW Bundled Removal Tool were fixed it has been greatly improved