Skip to content

Version 3.7.0-beta.3

Pre-release
Pre-release

Choose a tag to compare

@chrishamm chrishamm released this 18 Aug 13:32
· 4 commits to v3.7-dev since this release

Upgrade notes:

  • SubscribeInitMessage has new Verbose and Obsolete flags but the IPC protocol version stays at 13, because clients that do not set them behave exactly as before

New features:

  • Object model subscriptions can ask for verbose and obsolete fields using the new Verbose and Obsolete flags of SubscribeInitMessage or the verbose and obsolete query parameters of the WebSocket endpoint. RRF is only asked for those fields while a subscriber wants them
  • Added GetFileList request that returns part of a directory listing to the firmware, so the Files menu of an attached 12864 display works in SBC mode

API changes:

  • Added MainBoard and ExpansionBoard so that mainboard-only and expansion-only fields no longer sit on every Board
  • Added ModelUpdateScope to tell object model updates which missing properties may be reset to null

Object model changes:

  • Added sensors.probes[].loadCell for load cell probes, holding force, gramsPerCount, preload and preloadWindow, plus loadCell as a new ProbeType
  • Added sensors.filamentMonitors[].agc for rotating magnet filament monitors
  • Added sensors.filamentMonitors[].filamentPresent

Changed behaviour:

  • Object model queries no longer ask RRF for null values, they are reconstructed from the properties missing in the response
  • Stable versions are packaged from Release binaries
  • Replaced most mutual exclusion locks in DCS with an allocation-free async lock
  • Code parsing no longer takes object model read locks, the machine mode and Marlin emulation state are mirrored into lock-free fields instead
  • The object model documentation on the RRF wiki is regenerated automatically by CI and notes that obsolete fields can be queried using the o flag

Bug fixes:

  • sbc.cpu.hardware was null on 64-bit kernels that no longer report a Hardware line in /proc/cpuinfo
  • Pooled codes kept the reply log level of their previous run, so replies could be logged at a stale level or not at all
  • Software update failures reported a cancellation instead of the actual error
  • model.json was missing agc and filamentPresent for rotating magnet filament monitors
  • Uploaded file names lost plus signs and percent escapes because catch-all route parameters were decoded a second time (#159)
  • Error messages from DuetPiManagementPlugin were prefixed with the code twice
  • install-dsf.sh always reported success because its exit status came from the trailing echo