Repository navigation
Releases: aplteam/RumbaLean
Releases · aplteam/RumbaLean
Release list
Version 3.5.2
Version 3.5.1
- Bug fix:
PercentDecodecrashed the server with a DOMAIN ERROR on percent-encoded data that is not valid UTF-8, such as "/%C0" or "/Assets/Fonts/cq.%8A%DE". Rewritten: invalid sequences now become U+FFFD as the WHATWG URL standard has it (new functionDecodeUTF8, which does what'UTF-8'⎕UCSdoes but never fails), escapes that are not adjacent are no longer joined, and decoding happens once only ("%2541" is "%41"). PercentDecodeworks around'UTF-8'⎕UCSreading beyond the end of its argument: a sequence cut short by the end, such as "%C3", was sometimes completed by a stray byte from memory and decoded into a wrong character instead of U+FFFD.- Tests added:
TestPercentDecode,TestDecodeUTF8(neither needs a server) andTestInvalidPercentEncoding.
Version 3.5.0
- Error trapping reworked:
ServerLoop,WaitForData,OnServerTimeoutandTrapRequestact on
HandleError's signal (#.ErrorParms.signal) and cut back to Rumba's own handler.
OnServerTimeoutnow follows the lead ofServerLoop. - New method
GetConnectionOfThread; connections keep the last block received inLastBlock.
Together they allow a crash handler to save the offending request. - House keeping now runs once the interval (
CongaTimeout) has passed, not only when the server
has been idle for a full interval: a busy server never ran it at all. SeeHouseKeepingIfOverdue.
The interval is measured to the millisecond (SecondsNow), and putting the clock back no longer
suspends house keeping. - The
819⌶fallbacks are gone: 18.2 has⎕C. - Tests added:
TestHouseKeepingWhenBusy,TestRequestTargetNotSimple&TestGetConnectionOfThread.
(The test server now runs with aCongaTimeoutof one second and counts its house keeping) - Bug fixes
ErrorInRumbalogged the error caption twice.- A "RequestTarget" that is not simple character data is now refused with a DOMAIN ERROR by
Send,
SendAndReceiveandSendExpect100, before a connection is opened. It used to be composed into a
request line no server can parse, which left the client waiting for a reply that never came,
looking like a hang
- Note that RumbaLean is no longer kept in sync with Carlisle's Rumba; "HowToSyncWithRumba.md" is gone.
Version 3.4.1
- Although a correct version of Rumba was distributed with Plodder, a wrong version (with the same version number, strangely) was released.
- Error trapping problem in
ServerLoopfixed - Errors in OnHeader were trapped but not reported. They are now logged, and a 500 is returned.
Version 3.4.0
In case no path for the Conga DLLs is specified RumbaLean now goes for the default: the ones of the currently running version of Dyalog
Version 3.3.2
Version 3.3.1
819⌶replace by⎕Cfor 20.0-readyness- General error trapping brought back
Version 3.3.0
The changes introduced with version 3.2.0 and 3.2.1 were wrong and are rolled back by 3.3.0
Version 3.2.1
Fixes a bug that was introduced with version 3.2.0
Version 3.2.0
Rumba's ServerLoop is now more resilient on non-Windows platforms.
Background is that Linux and Mac-OS allow the current directory of an APL session to be deleted. After that, 1 ⎕NPARTS'' throws a DOMAIN ERROR. On Mac-OS even ⎕SH 'pwd' causes a DOMAIN ERROR.
ServerLoop now detects the problem, writes the info into the Log file and executes ⎕OFF 125.