xxm / News: Recent posts

release v1.2.4.424

- revised context object lifetime management (lock-less reference counting)
- demo 7 "Resources": added "If-Modified-Since"
- demo 12 "Long Polling": added example EventSource (text/event-stream)

Posted by DevelYoY 2016-03-24

release v1.2.3.400

- WebSocket support (only xxmHttp,xxmSyna,xxmAhttpd,xxmHost)
- SCGI handler: xxmSCGI*
- serve handler's icon for "/favicon.ico" (project registry override)
- fixed file handle leak on serving 304 responses on static files
- fixed issue with XXL's that require DLL's in same folder
- fixed issue with non-latin encoded compiler error messages
- fixed issue with non-latin encoded uploaded file name
- fixed issue with IP-addresses
- xxmAhttpd: Apache 2.4 support (no longer supports 2.2!)

Posted by DevelYoY 2015-11-24 Labels: release

release v1.2.2.369

- error page: back link when referer, refresh link only on GET
- LoadCopy by library file signature to avoid multiple copies being loaded, retries on access denied
- default xxmSession on TStringList (sorted!) instead of TObjectList
- parser: in code, treat lines that start with "<" and end with ">" as HTML,
allow [[#]] section on one line in a code section
- recycle allocated memory buffers, use HeapAlloc instead of GlobalAlloc
- long polling support (IXxmContextSuspend, IXxmProjectEvents2)
- xxmHttp: thread to wait on groups of (slow) connections that have all content in buffer
- xxmHttp: support basic authentication (401, "WWW-Authenticate: Basic")
- xxmIsapi: asynchronous sending on more than 64KiB in buffer (project should set Context.ContentBuffer!)
- xxmLocal: custom handling of WWW-Authenticate,
when debugging hold 'X' on authenticated page load to clear stored credentials
- xxmConv: /noupdate switch
- revised thread scheduling from thread pool

Posted by DevelYoY 2015-03-03

release v1.2.1.337

- xxmHttp: IPv6 support
- xxmHttp: support OPTIONS, HEAD, TRACE
- xxmISAPI: fixed initialization issue
- fixed issue mapping error line numbers on files in a deeper folder
- fixed issue with BufferSize and small responses


Posted by DevelYoY 2014-10-14

release v1.2.0.325

  • revised internal send/buffer logic
  • when Context.BufferSize is set, don't send header rightaway, and add Content-Length when all of content fits in buffer
  • xxmHttp: fixed issue when posting 1MB or more
  • demo 03 ADO: switched query store to plain SQL file
  • AutoBuild: errors shown on local path to xxm file instead of .pas filename
  • URLEncode([]) and [[?]] syntax
  • extra block prefixes for use with parser values: & % . , ;
Posted by DevelYoY 2014-06-14

release v1.1.9.300

  • sourceforge repository caught up with previous private repo, so version build number will now follow svn revision number
  • support for If-Modified-Since, If-Unmodified-Since headers
  • serving content-files uses FILE_FLAG_SEQUENTIAL_SCAN
  • xxmHttp: switched to custom winsock wrapper
  • xxmHttp: central holding for 'keep' connections awaiting requests
  • xxmLocal: fixed issue with first request for a static file after reload
Posted by DevelYoY 2013-07-19

release v1.1.8.295

  • optional project interface: IXxmProjectEvents1
  • parser values: $l replaced by source line number, $v by current, $d by default
  • set project default parser values from Web.xxmp
  • xxmHttp: replaced first request parsing ReceiveLn with ReceiveBuf
  • xxmHttp,xxmHost,xxmHSys: 'threads' option to set thread pool size
  • added mongodb demo: "03 Data MongoDB"
  • xxmConv: extra proto template fields (used by 'skip the handler' builds)
  • xxmConv: /nolinemaps option
  • signatures file "Web.xxmp.~db" changed to "src\xxmp.~db"
  • fixed issue with access denied on loadcopy under load
Posted by DevelYoY 2013-03-07 Labels: release

release v1.1.7.292

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.

Posted by DevelYoY 2013-02-08

release v1.1.7.290

- 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

Posted by DevelYoY 2013-01-30

release v1.1.6.288

- 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)

Posted by DevelYoY 2012-09-11

release v1.1.5.285

- 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.

Posted by DevelYoY 2011-12-11

release v1.1.4.284

- 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.

Posted by DevelYoY 2011-11-30

release v1.1.2.280

- 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

Posted by DevelYoY 2011-09-11

xxmGecko ready for 7.0

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.

Posted by DevelYoY 2011-09-06

release v1.1.1.277

- '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
- xxmLocal: fixed bug with javascript authorization (document.domain)
- xxmGecko: support for FireFox 4 (only, couldn't get 3.6 to work any more, sorry)... read more

Posted by DevelYoY 2011-05-23

re-licenced: MIT license

The recent files (v1.1.0.272) have been re-released under the MIT license.

Posted by DevelYoY 2010-12-05

invalid files in xxm_v1.1.0.272_win32.zip

woops, the file "xxm_v1.1.0.272_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.

Posted by DevelYoY 2010-10-08

release v1.1.0.272

- xxm.pas: IXxmProject.LoadFragment Context, RelativeTo parameter added
- xxmFReg.pas: GetClass changed to GetFragment, resolves relative include paths
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)

Posted by DevelYoY 2010-09-16

xxmGeckoDev on addons.mozilla.org

xxmGeckoDev.xpi has been added to addons.mozilla.org:


Posted by DevelYoY 2010-06-28

web page about security

Added a page with information about security: http://xxm.sf.net/sec.html

Posted by DevelYoY 2010-06-01