Releases: stijnsanders/xxm
v1.2.8.510
- fixed bug with TXxmWebSocket and ReleaseContexts
- fixed bug with xxmHttpSvc*.exe handlers
v1.2.8.500
- xxm_demo.zip now contains ready-to-run binaries
- deprecated: xxmLocal, xxmRun
- deprecated: xxm.xml auto-conversion (see v1.2.5)
- fixed bug with multiple preCompileCommand/compileCommand/postCompileCommand entries
- fixed support for WebSockets with FireFox
- support for multiple file upload
ATTENTION:
Executable files xxmHttp*.exe
may get misreported as malware of type Trojan horse ("Trojan:Win32/Bearfoos.A!ml" or "Trojan:Win32/Wacatac.B!ml" or others). Please configure exceptions where appropriate, or post false positive reports to your respective malware-detection-tool-vendor. Feel free to inform me of these cases. I have revised the code around the LoadLibraryW call as I suspect this is the most sensitive bit of code that the xxm handler may have in common with Trojon horse software, but I have no definitive means to be sure.
v1.2.7.477
- Negotiate: like NTLM but less in danger of getting removed in Windows 11...
- NTLM/Negotiate: cache by SessionID to avoid 401's on every request
- parse ?x&y=1 as 'x'='','y'='1' in query string and form data (was 'x&y'='1' previously)
- per context project entry cache (avoids project registry lock on each request)
More here: http://yoy.be/xxm474.html
v1.2.6.466
- issue converting IPv6 address to string
- issue with IXxmParameterPostFile.SaveToFile
- issue with xxmWebSocket.pas: frames recieved in a single packet were not processed
- issue with xxmISAPI* spooling larger static files
- xxmHttp: WinSock 2.2 (ws2_32.dll)
- xxmp.pas: respond to OPTIONS and TRACE with 501 Not Implemented
- jsonDoc.pas: v1.2.2
- switched to Delphi Community Edition
- bug with IXxmContextSuspend.Suspend with more than one distinct EventKey
Thanks to switching to Delphi Community Edition, now both 32-bits and 64-bits versions are available. Please note that both xxm handlers and xxl project binaries need to be of the same bitness.
If you have a case where you need to support one or more legacy projects, with an xxm project compiled with an older Delphi compiler, and need exceptions that travel over DLL-boundaries to work (though that's what IxxmProjectEvents1.HandleException
is for), this release also provides xxm handlers compiled with Delphi 7: xxm_v1.2.6.466_win32D7.zip
v1.2.5.450
-
project registry "xxm.json" (auto-conversion of "xxm.xml")
-
project file "Web.xxmp" JSON (auto-conversion from XML)
ATTENTION ### ATTENTION ### ATTENTION
xxmProject and xxm handlers are fitted with a transitional
automatic conversion procedure that will convert XML project files (Web.xxmp)
and the project registry (xxm.xml) into JSON files. (Web.xxmp in place,
storing a Web_xxmp.bak copy; xxm.json)
This may cause incompatibilities if different xxm versions are required to
coexist on the same installation(s).
This procedure (and all code using XML) is scheduled to be removed at a
later, currently undetermined, version. -
fixed issue with custom parserValues spilling into next file processed
-
IXxm* interfaces: all string arguments now with 'const'
ATTENTION ### ATTENTION ### ATTENTION
This may cause errors on generated xxmp.pas:
xxmp.pas() Error: Declaration of 'LoadPage' differs from previous declaration xxmp.pas() Error: Declaration of 'LoadFragment' differs from previous declaration
Please update both methods by adding 'const' to the arguments with a string type.
-
xxmIsapi*: Redirect: set 'Cache-control' to 'nocache' unless it was set already
-
xxmHttpAU: added manifest to avoid default UAC elevation request
-
xxmHttp,xxmHSys: Transfer-Encoding chunked (set Context.BufferSize to something >0 !!!)
-
xxmHttp,xxmHSys: NTLM authentication (using SSPI, add "ntlm":true to the project in xxm.json)
-
xxmHSys2: WebSocket support
-
DispositionAttach: replace unacceptable characters (/:*?"<>|) with '_'
-
SendFile, SendStream before header sent, will by default have ContentType
application/octet-stream instead of text/html, unless already set before
(with Context.ContentType!)
v1.2.4.484
- 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)