This follow-up release fixes an important bug (show-stopper)
in the new XML project registry,
also using CompareText should perform a slighly little bit better than compare LowerCase'd strings.
- xxmString: TStringContext.SaveToFile respects AutoEncoding parameter
- xxm.xml project registry revised, MSXML now only used for parsing.
- 'embed HTML syntax': now supports start characters e.g. <p>>=i<</p> instead of <p>[[=i]]</p>
- xxmProject include unit files dialog supports multi-select
- xxmIsapi: fixed Redirect with https
- xxmHSys: support for https (pass argument "SecurePort=")
- xxmHSys2: support for HTTPAPI 2.0
- security: EOL's in added header fields are disallowed
- fixed issue with URLEncoded and UTF8 encoded characters
- fixed issue when setting BufferSize from non-zero to zero
- renamed xxmApache to xxmAhttpd, Apache httpd license states non-ASF projects may not use the Apache name
- xxmProject: register with xxm.xml
- xxmIsapi: override default buffering of IIS7 (remember to set Context.BufferSize!)
- xxm.xml supports relative paths in <ModulePath>
- Delphi XE2 support (as well as continued Delphi 7 support with the same source)
- xxmHSYS: HTTPAPI handler
- bug fixed: parameters were parsed from request body multiple times
- when BufferSize is set, contexts keep buffers to save on allocating and releasing memory
Warning: the new xxmHSys1 handlers, build using HTTPAPI v1, use the xxm.xml file as a project registry, but require one or more project names to be listed in the command line in order to start hosting the project over HTTPAPI. This might change in a future version. This allows to evaluate xxmHSys1 and test its performance.
- upload progress monitoring interface
- new IXxmContext members: BufferSize, Flush
- optional project interface to handle exceptions: IXxmProjectEvents
Only three items this release, but three strong, useful features that should have been in there all along.
BufferSize has a default value of 0 so developers new to xxm can experience the fact that data sent gets though to the client as fast as possible, but it's highly recomended to set BufferSize on larger projects except when debugging.
- revised auto-build/auto-update: global mutex instead of local critical section
- xxmProject: <CompileCommand> may contain [[HandlerPath]] to correctly include public units out of the box
- xxmIsapi: support for multi-process hosting (multiple w3wp.exe instances)
- xxmLocal: fixed ContextString(csUserAgent)
- xxmGecko: support for FireFox 7 (only, couldn't get 6 to work any more, sorry)
- xxmHttp,xxmIsapi: keep connection when Context-Length set (e.g. files)
- xxmHttp: fixed issue with streaming post data less than 1MB
xxmGecko has been readied for FireFox7.0 (after failing to get it to work with FireFox6.0) and will be included in the next release.
- 'embed HTML syntax': use "<<html>>" instead of "]]<html>[["
- Web.xxmp: multiple <PreCompileCommand>,<CompileCommand>,<PostCompileCommand> allowed
- added files from module resources demo
- Web.xxmp,xxmProject: add <Resource> files to check for changes to force auto-build
- xxmHttp,xxmIsapi: fixed bug with saving uploaded files
- xxmIsapi: post data not all read up front, post data reads read from connection as needed
- xxmGecko: support for FireFox 4 (only, couldn't get 3.6 to work any more, sorry)... read more
The recent files (v184.108.40.2062) have been re-released under the MIT license.
woops, the file "xxm_v220.127.116.112_win32.zip" had some old binaries and old files in the "proto" and "public" folders! If you got the wrong ones, please download and install this new package.
- xxm.pas: IXxmProject.LoadFragment Context, RelativeTo parameter added
- xxmFReg.pas: GetClass changed to GetFragment, resolves relative include paths
### ATTENTION ### ATTENTION ### ATTENTION ###
This will break all existing projects
revise LoadPage and LoadFragment declarations or
let auto-build re-create xxmp.pas from proto template
and update your xxmFReg.pas copy
- add 'M' to default .cfg to enable creating dcu's
- xxmGecko xpi package for easy install
- internal revision of TxxmContext and TxxmProjectEntry objects
- xxmHeader: added IxxmParameterCollection interface to allow to add parameters (e.g. when parsing URL's in LoadPage)
- added URL routing demo (demonstrating IxxmParameterCollection.AddParameter)
- replaced TXxmContextString enumeration with constants
- constants also work with Context.Parameter (and Context because it's the default index property)
xxmGeckoDev.xpi has been added to addons.mozilla.org:
Added a page with information about security: http://xxm.sf.net/sec.html