Skip to content

Version 3.7.0-rc.1

Pre-release
Pre-release

Choose a tag to compare

@chrishamm chrishamm released this 08 Sep 15:10

Compatible versions:

  • RepRapFirmware 3.7.0-rc.1
  • DuetWebControl 3.7.0-rc.1

Upgrade notes:

  • DuetControlServer reserves 256 MiB of memory via MemoryMin now, which requires the memory cgroup controller. New DuetPi images enable it, on an existing installation add cgroup_enable=memory to cmdline.txt, else the setting stays without effect

New features:

  • Job and macro file errors report the filename instead of the channel, matching RRF, and the filenames are derived from the physical path
  • Object height is detected from max_z_height (OrcaSlicer), MAXZ (Cura) and Height (Fusion 360) comments via the new ObjectHeightFilters setting, like RepRapFirmware does
  • Added LAYER_COUNT (Cura) and total layer number (OrcaSlicer) to NumLayersFilters

Object model changes:

  • Added move.minSpeed
  • Added boards[].accelerometer.samplingRate and boards[].accelerometer.resolution

Changed behaviour:

  • Meta command gating uses a per-channel executing-state shadow instead of the lagging inputs[].active checks, so no full model sync is needed after M596
  • M598 from a file channel makes the file readers rendezvous like the firmware streams do
  • Local variables of closed code blocks are deleted only when they are redeclared or the file is closed, so a pause can rewind into their scope
  • DuetHttpClient URL-encodes every query parameter and sends virtual paths the way DWC does
  • Increased FileInfoReadLimitFooter from 256 KiB to 400 KiB to match RepRapFirmware
  • Codes that exceed the transfer buffer report a proper error instead of a generic failure
  • Aborted macro files and file abort requests are logged at Debug level on the Daemon channel

Bug fixes:

  • Matched file sync requests were never removed, so every following sync at the same file position deadlocked
  • A resume arriving while a file task was still draining towards its pause was silently discarded
  • A job was treated as complete while the firmware was still executing its moves, so a late pause left an unrecoverable state
  • Result variables of M260.1/M261.1 did not mark their code block as having local variables, so the block was closed without waiting for codes that still referenced them
  • Variables declared before any code block was opened were only logged as a warning and never tracked
  • A failed M260.1/M261.1 still registered its result variable, so deleting it later reported an unknown variable
  • Uploaded file names lost plus signs and percent escapes on the rr_ endpoints because query values were decoded twice (#159)
  • InputShapingType.EI2 and EI3 serialized as eI2 and eI3
  • Jobs pages whose path contains a dot could not be reloaded
  • Resuming a job in Fanuc or LaserWeb style G-code lost the modal G0/G1/G2/G3 command, so the first line without a command letter was not recognised
  • Object height of files whose last layer is bigger than the footer read limit was not detected (forum 39435)
  • M99 in SBC mode could cause a spurious out-of-order reply warning (forum 39434)