Skip to content

Releases: aplteam/RumbaLean

Version 3.5.2

Choose a tag to compare

@aplteam aplteam released this 24 Oct 14:52

GetConnectionOfThread skips connections that have no Tid yet.

Version 3.5.1

Choose a tag to compare

@aplteam aplteam released this 23 Oct 17:48
  • Bug fix: PercentDecode crashed 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 function DecodeUTF8, which does what 'UTF-8'⎕UCS does but never fails), escapes that are not adjacent are no longer joined, and decoding happens once only ("%2541" is "%41").
  • PercentDecode works around 'UTF-8'⎕UCS reading 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) and TestInvalidPercentEncoding.

Version 3.5.0

Choose a tag to compare

@aplteam aplteam released this 03 Oct 14:29
  • Error trapping reworked: ServerLoop, WaitForData, OnServerTimeout and TrapRequest act on
    HandleError's signal (#.ErrorParms.signal) and cut back to Rumba's own handler.
    OnServerTimeout now follows the lead of ServerLoop.
  • New method GetConnectionOfThread; connections keep the last block received in LastBlock.
    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. See HouseKeepingIfOverdue.
    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 a CongaTimeout of one second and counts its house keeping)
  • Bug fixes
    • ErrorInRumba logged the error caption twice.
    • A "RequestTarget" that is not simple character data is now refused with a DOMAIN ERROR by Send,
      SendAndReceive and SendExpect100, 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

Choose a tag to compare

@aplteam aplteam released this 09 Sep 18:11
  • 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 ServerLoop fixed
  • Errors in OnHeader were trapped but not reported. They are now logged, and a 500 is returned.

Version 3.4.0

Choose a tag to compare

@aplteam aplteam released this 11 Jul 14:29

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

Choose a tag to compare

@aplteam aplteam released this 19 Jan 09:31

Value Error in ServerLoop fixed

Version 3.3.1

Choose a tag to compare

@aplteam aplteam released this 30 Nov 14:45
  • 819⌶ replace by ⎕C for 20.0-readyness
  • General error trapping brought back

Version 3.3.0

Choose a tag to compare

@aplteam aplteam released this 20 Apr 18:07

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

Choose a tag to compare

@aplteam aplteam released this 19 Apr 17:00

Fixes a bug that was introduced with version 3.2.0

Version 3.2.0

Choose a tag to compare

@aplteam aplteam released this 19 Apr 14:32

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.