Skip to content

Releases: Duet3D/DuetSoftwareFramework

Version 3.5.0-rc.1

01 Sep 11:29
Compare
Choose a tag to compare
Version 3.5.0-rc.1 Pre-release
Pre-release

Compatible versions:

  • RepRapFirmware 3.5.0-rc1
  • DuetWebControl 3.5.0-rc1

New features:

  • Added fileread and single-char support using apostrophes like in RRF
  • Added auto flush option to code interceptor API. This is preferred to avoid race conditions under certain circumstances

Changed behaviour:

  • If a RRF plugin contains daemon.g, it is renamed to daemon.g.bak on upgrade
  • Moved userSessions root key to new sbc key
  • M552 S1 unblocks WiFi automatically using rfkill

Bug fixes:

  • Fixed M30 support
  • Fixed default DateTime format in the object model
  • WebSocket session key wasn't optional if no password set
  • Corrected type of direct display screen instances in the OM definition
  • Start-up errors were incorrectly set after booting
  • Adjusted AppArmor permissions for webcam access on Debian Bullseye
  • New DSF implementation of exists() function did not work with local/parameter variables

Version 3.4.6

28 Jul 08:23
Compare
Choose a tag to compare

Compatible versions:

  • RepRapFirmware 3.4.6
  • DuetWebControl 3.4.6

Changed behaviour (since v3.4.5):

  • Message boxes are closed automatically upon SPI disconnect

New features (since v3.4.5):

  • Added missing InvalidateChannel call to API client
  • G2/G3 may be repeated as well like G0/G1 (FANUC-style)
  • Added new HTTP endpoint /machine/model as an alternative to /machine/status

Bug fixes (since v3.4.5):

  • Fixed reverse parsing when dealing with UTF8 CPs
  • Backported potential code parser fix from v3.5
  • SPI interface was not invalidated when the connection could be established again after a timeout
  • Fixed update.sh handling in system pkg installs
  • Added different stat implementation to make DSF work with newer kernels
  • Fixed M552 S1 P parameter (SSID)
  • Fixed Marlin emulation for meta expressions
  • Priority codes didn't prefer originally requested channel
  • Moved flush in job task to fix potential deadlock
  • Fixed removal of plugin www files
  • M550 did not update /etc/hosts
  • Fixed issue where missing DNS servers could crash DCS
  • Fixed plugin files field in the DuetPiManagementPlugin manifest
  • Fixed meta expression queries of plugin values

Version 3.4.6-rc.1

03 Jul 14:47
Compare
Choose a tag to compare
Version 3.4.6-rc.1 Pre-release
Pre-release

Compatible versions:

  • RepRapFirmware 3.4.6-rc1
  • DuetWebControl 3.4.6-rc1

Changed behaviour:

  • Message boxes are closed automatically upon SPI disconnect

New features:

  • Added missing InvalidateChannel call to API client
  • G2/G3 may be repeated as well like G0/G1 (FANUC-style)
  • Added new HTTP endpoint /machine/model as an alternative to /machine/status

Bug fixes:

  • Fixed reverse parsing when dealing with UTF8 CPs
  • Backported potential code parser fix from v3.5
  • SPI interface was not invalidated when the connection could be established again after a timeout
  • Fixed update.sh handling in system pkg installs
  • Added different stat implementation to make DSF work with newer kernels
  • Fixed M552 S1 P parameter (SSID)
  • Fixed Marlin emulation for meta expressions
  • Priority codes didn't prefer originally requested channel
  • Moved flush in job task to fix potential deadlock
  • Fixed removal of plugin www files
  • M550 did not update /etc/hosts
  • Fixed issue where missing DNS servers could crash DCS
  • Fixed plugin files field in the DuetPiManagementPlugin manifest
  • Fixed meta expression queries of plugin values

Version 3.5.0-beta.4

09 Jun 09:52
Compare
Choose a tag to compare
Version 3.5.0-beta.4 Pre-release
Pre-release

New features:

  • Added new pip install script that also checks for built-in modules (thanks stuartofmt)
  • Added support for standalone mode HTTP session keys to DuetHttpClient library
  • SSID is now reported in network.interfaces[] if applicable
  • Added new HTTP endpoint /machine/model as an alternative to /machine/status

Changed behaviour:

  • Introduced new "sbc" root key in favour of deprecated state.dsf... properties
  • Removed httpEndpoints root key in favour of sbc?.dsf.httpEndpoints
  • Open message boxes are automatically closed in the DSF OM when the controller is disconnected

Bug fixes:

  • Fixed potential deadlock caused by code interceptors
  • G2/G3 may be repeated as well like G0/G1 in Fanuc mode
  • Fixed removal of plugin www files on upgrade/uninstall
  • M550 did not update /etc/hosts causing potential problems if no network interface was active
  • SBC values in variable indices were not substituted in set command
  • Line numbers could be off when handling exceptions from codes
  • Fixed issue where missing DNS servers could crash DCS
  • Fixed file enumeration in DuetPiManagementPlugin plugin manifest
  • Race condition could lead to macro filestream being disposed twice causing potential crash of DCS
  • Added missing variable declaration to DSF build script
  • Fixed expression queries of plugin values

Version 3.5.0-beta.3

14 Apr 17:08
Compare
Choose a tag to compare
Version 3.5.0-beta.3 Pre-release
Pre-release

New features:

  • Added recursive parameter to HTTP file/directory delete request
  • Added recursive delete functionality for RRF delete requests
  • Added support for M472 (delete file or directory)

Changed behaviour:

  • Removed obsolete move.workspaceNumber field

Bug fixes:

  • Fixed parameter parsing for values consisting of special number formats
  • Fixed event log support via M929
  • ok was not output after DSF error messages potentially upsetting Repetier Server
  • Sometimes code pipeline elements could be marked busy incorrectly leading to potential deadlocks

Version 3.5.0-beta.2

08 Feb 19:42
Compare
Choose a tag to compare
Version 3.5.0-beta.2 Pre-release
Pre-release

New features:

  • Added support for custom array variables and for assigning individual items
  • echo can be used to append contents to a file without NL (aka echo >>>"file" "data")

Changed behaviour:

  • Code parser is much more sensitive to invalid code parameters
  • Error messages from macros/job files are more condensed to get closer to messages from RRF
  • When a code cannot be read (i.e. code input is interrupted), the file is aborted immediately

API changes:

  • Flush IPC command can be optionally used to synchronize both file streams
  • Enabled Nullable type checks throughout DSF projects
  • Added support for null parameter values (e.g. X in G28 X)
  • Consolidated API exception classes in DuetAPI library
  • Changed async code parser to use Stream type instead of StreamReader
  • ObjectModel patch API commands only work in non-SPI mode

Bug fixes:

  • Fixed support for M0/M1/M2 as well as underscores in variable names
  • Added work-around for non-conform rr_upload requests with invalid content type
  • Fixed type of tools[].feedForward and corrected default sensors.probes[].travelSpeed value
  • Fixed support for update.sh in update packages (dsf-update.zip which requires RootPluginSupport)
  • Updated stat import to add support for recent kernels (thanks Loïc)
  • Removed obsolete OM assignment from Job processor
  • When a too long code was attempted to be serialized, DCS crashed
  • Fixed DateTime encoding

Version 3.5-b1

24 Dec 09:02
Compare
Choose a tag to compare
Version 3.5-b1 Pre-release
Pre-release

Upgrade notes:

  • You MUST be on RepRapFirmare 3.5-b1 in order to process jobs. It will NOT work with 3.4.5 or older!
  • The scanner key has been removed from the object model. It is no longer supported

New features:

  • Executing codes do not need an individual task any more, instead they are now handled by a new pipeline architecture
  • Added support for two file channels, new message box types, and many other improvements made in RRF
  • Rewrote much of the meta G-code expression pre-parser and added ability to define custom functions (not yet available via API)
  • Added rr_ compatibility layer to DuetWebServer (HTTP calls in standalone mode)

Bug fixes:

  • Code parser could terminate strings too early
  • Fixed issue when parsing the end of a file where a multi-byte character could introduce position offsets leading to errors

Version 3.4.5

05 Dec 14:22
Compare
Choose a tag to compare

If you are upgrading from a version older than 3.4.0, please read the upgrade notes for 3.4.0 to 3.4.4 as well.

New features:

  • .NET libraries are now compatible with .NET Standard 2.0 (hence also with .NET Framework 4.8)

Bug fixes:

  • Fixed locale-dependent formatting when converting parsed G-codes back to text
  • Changed default .deb package compression from ZSTD to XZ to retain compatibility with older Debian releases

Version 3.4.4

21 Oct 12:42
Compare
Choose a tag to compare

If you are upgrading from a version older than 3.4.0, please read the upgrade notes for 3.4.0 to 3.4.3 as well.

New features:

  • The last modified timestamp can now be passed to file upload requests

Version 3.4.3

05 Oct 15:57
Compare
Choose a tag to compare

If you are upgrading from a version older than 3.4.0, please read the upgrade notes for 3.4.0 to 3.4.2 as well.

New features:

  • M999 B-1 P"OFF" may now be used to turn off the SBC on demand

Bug fixes:

  • If a remote HTTP server was emulated, no Duet HTTP session could be established (only DuetHttpClient library)
  • When a string contained two successive single quotes, the following letter was always converted to lower-case
  • Minor corrections in the object model structure