|
<< Click to Display Table of Contents >> Navigation: Version History > 14.0.26 |
Bug fix: When session was started without explicit start command (/$/Start), run parameters could not be retrieved
Bug fix: IWContainer’s OnRender could fire twice if the container was owned by a TFrame
Bug fix: In SA servers, Opera browser detection could fail
Bug fix: TIWCallBacks.QualifiedName() could return wrong names for callbacks if it was registered during IWForm creation
Bug fix: SendFile() could delete the file when using Internet Explorer
Bug fix: TContentIWP was not writing content to Reply
Bug fix: When trying to serve static files with wrong addresses (404 status code), IntraWeb would create additional temporary sessions
Bug fix: Fixed a memory leak in stand alone server. It affects only Stand Alone applications running as a desktop application, not as a service.
IWExceptionRenderer links now contain the WebApplication start parameters when applicable. When a session started with some start parameters (like http://127.0.0.1:8888?Param1=Value1&Param2=Value2) expires the “Restart” link also contain the parameters. IntraWeb now keeps track of expired sessions and it is possible to detect when a specific session expired and also its start parameters. This subject is quite broad and should be covered in a separate blog post.
Modified generated HTML: now IntraWeb renders CSS files first and then all JS files and code
Workaround for Delphi x64 memory leak when Indy silent exceptions were raised. This issue only affected IntraWeb x64 applications compiled as stand alone servers.
Workaround for ERR_RESPONSE_HEADERS_MULTIPLE_CONTENT_DISPOSITION error in Google Chrome when uploading files containing commas in file name.
Workaround for ISAPI IW applications on Apache: When generating custom error pages (like SessionTimeout) containing status code = 500, Apache won’t send our custom HTML, replacing it with its own error message. To avoid that, IntraWeb now generates status code = 501 (Not implemented) instead of 500, when deployed as ISAPI in Apache. Curiously, Apache server sends other server errors (status code > 500) just fine. Deployment under IIS is not affected.
MultiPart file uploads (Internet Explorer) was rewritten. It is now faster and also avoids the load of the whole file in memory
Added method UnregisterCallBack() to IWApplication class. Using it you can unregister a previously registered Callback function.
Many optimizations for speed. Using a new class TIWStringList internally (faster string search than standard TStringList)
New about box showing IntraWeb license information when accessing component’s context menu inside Delphi IDE
IWServerInternalFiles refactored. Much faster implementation.
New EInvalidAppID exception class. This exception will be raised when an invalid AppID is provided when trying to execute a non existing session
Indy’s constant IdMaxLineLengthDefault (declared in InIOHandler.pas) was made a typed constant, so the user can modify its default size. Default size was increased from 16 kb to 32 kb.
Default server variables are now being retrieved and can be accessed through THttpRequest object. The variables are: APP_POOL_ID, SERVER_ADDR, SERVER_NAME, SERVER_PORT, SERVER_SOFTWARE
New property LogCommandEnabled in ServerController. When enabled, your IntraWeb application will respond to /$/Log commands containing IntraWeb status (evaluation/registered) and other license information
New parameters in TIWApplication.GoToUrl method:
procedure TIWApplication.GoToURL(const aURL: string; const aReplaceUrl: Boolean = True; const aPrependBaseUrl: Boolean = True);
where:
aReplaceUrl (boolean, default True): When true, IntraWeb will emit code to use window.location.replace() instead of window.location.href
aPrependBaseUrl (boolean, default True): When true, will add WebApplication.SessionUrlBase to the provided URL if the URL is relative