Skip to content

Releases: Duet3D/DuetSoftwareFramework

Version 3.3-rc1

01 May 14:34
Compare
Choose a tag to compare
Version 3.3-rc1 Pre-release
Pre-release

Compatible versions:

  • RepRapFirmware 3.3-rc1
  • DuetWebControl 3.3-rc1

New features:

  • Added support for abbreviated G-codes in CNC and Laser mode (Fanuc and LaserWeb G-code style)
  • Added new code streaming mode to the API for easier Repetier and Octoprint integration
  • Implemented new command line utility to test and demonstrate the new code stream mode

Bug fixes:

  • Global variables in the OM were not cleared when DSF lost connection to RRF
  • When prints were paused during macros, under special cirumstances the macro was run again on resume

Version 3.3-b3

22 Apr 20:29
Compare
Choose a tag to compare
Version 3.3-b3 Pre-release
Pre-release

Compatible versions:

  • RepRapFirmware 3.3-b3
  • DuetWebControl 3.3-b3

New features:

  • Added support for variables in G-code files (global, var, set)

Changed behaviour:

  • Added fallback to directories.system if firmware files cannot be found in directories.firmware

Bug fixes:

  • Tilt factors for delta kinematics were off in config-override.g
  • M0/M1 didn't cancel already queued file codes
  • Truncated tool lists are now fetched using multiple queries

Version 3.3-b2

10 Mar 18:04
2270529
Compare
Choose a tag to compare
Version 3.3-b2 Pre-release
Pre-release

Compatible versions:

  • RepRapFirmware 3.3-b2
  • DuetWebControl 3.3-b2

Changed behaviour:

  • Plugin support in DSF is fully implemented
  • Changed file format of the new plugin manifest
  • Layers code is no longer compatible with previous versions
  • Emulation is always applied to results from code interceptors
  • The DSF-only keyword return is now obsolete and will be removed from a future version (unless support for it is added to RRF)
  • DuetWebServer notifies systemd when it has started like DuetControlServer does
  • M999 is only prioritized from text inputs if it is intended for the main board
  • New configuration file dsf-config.g is automatically executed when DCS and third-party plugins have been started
  • CodeConsole application uses Telnet G-code channel instead of SBC

Bug fixes:

  • Updated regular expressions for various slicer formats
  • SBC permissions for third-party plugins were not properly enforced
  • When DCS failed to start too many times in a row, it remained disabled
  • DPS didn't (de-)serialize string dictionaries properly

Known issues:

  • Variable support isn't implemented yet, this is TBD in 3.3-b3
  • network.interfaces[].speed does not work for WiFi adapters on the Pi (see dotnet/runtime#47777)

Version 3.2.2

12 Feb 17:20
Compare
Choose a tag to compare

Compatible versions:

  • RepRapFirmware 3.2.2
  • DuetWebControl 3.2.2

Bug fixes:

  • Tabs at the beginning of G-code lines were not interpreted as up to 4 spaces
  • Payloads for conditional keywords had to be encapsulated in curly braces to allow usage of round braces
  • Parameters for codes that expected unprecedented parameters always had to be encapsulated in double quotes
  • When DWS was configured for a different port, no WebSocket sessions were permitted without extra CORS exception
  • DCS could be killed by systemd if runonce.g didn't finish quickly enough
  • break and continue didn't wait for pending codes to finish which could lead to problems with iterations
  • When empty comments were parsed, the Comment field of DSF codes remained null instead of string.Empty
  • Unlike in RRF G29 S0 accepted custom filenames (better solution is to use G29 followed by G29 S3)

Note that this version is 3.2.2 instead of 3.2.1 to avoid confusion for users who have an internal RRF 3.2.1 build installed for testing.

Version 3.2.0

05 Jan 14:27
Compare
Choose a tag to compare

Compatible versions:

  • RepRapFirmware 3.2.0
  • DuetWebControl 3.2.0

Bug fixes:

  • M929 didn't set the correct log level
  • abort tried to evaluate following expression even if it was not specified
  • abort did not always cancel all the internal codes in time
  • Under rare conditions suspended codes could be re-suspended in the wrong order
  • G0/G1 with dynamic feedrate expressions caused an internal exception

Please check out the WHATS_NEW file for further changes since v3.1.1.

Version 3.2.0-rc2

24 Dec 16:35
Compare
Choose a tag to compare
Version 3.2.0-rc2 Pre-release
Pre-release

Compatible files:

  • RepRapFirmware 3.2.0-rc2
  • DuetWebControl 3.2.0-rc2

Changed behaviour:

  • Increased SPI connection timeout from 2.5s to 4s (same value as in RRF)
  • Partial SPI transmissions may not take longer than 500ms (same value as in RRF)

Bug fixes:

  • M997 and M999 could generate "Operation has been cancelled" errors
  • When DCS terminated sockets of command connections were not correctly shut down
  • Object model write locks were not correctly disposed of when DCS terminated
  • Calling abort in macro files could cause an exception
  • M501 could freeze if no config-override.g was found
  • "Macro not found" warning messages were not output as part of code results

Version 3.2.0-rc1

20 Dec 11:49
Compare
Choose a tag to compare
Version 3.2.0-rc1 Pre-release
Pre-release

Compatible versions:

  • RepRapFirmware 3.2.0-rc1
  • DuetWebControl 3.2.0-rc1

Changed behaviour:

  • RRF downgrades from later protocol versions are now possible
  • CORS headers are only sent if explictly configured by M586 C-parameter
  • SPI transfers use CRC32 instead of CRC16 with new protocol version
  • DCS service notifies systemd when it is up and running
  • DCS terminates when a firmware update of the main board is complete (unless NoTerminateOnReset is set)
  • runonce.g is no longer processed if DCS starts in update-only mode (i.e. with -u parameter)
  • Third-party DSF plugins cannot be installed any more (TBD for v3.3)

Bug fixes:

  • Fixed incompatibilities when updating RRF from older firmware versions
  • LockMovementAndWaitForStandstill retransmissions were logged
  • Expressions were not automatically evaluated in the code processors
  • Internally processed codes were only logged if they resulted in a warning or error
  • DWS didn't send correct Cache-Control header which could result in DuetPi using outdated DWC versions
  • Sometimes the filament mapping was not fully restored if the NoTerminateOnReset option was enabled
  • M929 was not fully implemented for new log levels

Version 3.2.0-b4

26 Nov 18:45
Compare
Choose a tag to compare
Version 3.2.0-b4 Pre-release
Pre-release

Compatible files:

  • RepRapFirmware 3.2.0-b4
  • DuetWebControl 3.2.0-b4

Changed behaviour:

  • DCS service is now started via sysinit.target instead of basic.target so that config.g is processed faster on boot
  • Thumbnails from PrusaSlicer are now parsed (thanks Sindarius)
  • M500 writes new heater tuning parameters to config-override.g
  • In Marlin emulation "ok" responses are only sent when the line is complete

Bug fixes:

  • Codes could be sent to code interceptors in the wrong order
  • M21 (P0) returned an error message breaking Octoprint support
  • Under certain circumstances some object model keys were not updated on initialisation
  • DCS service didn't have permission to change the datetime
  • Print times with decimal places were incorrectly parsed
  • When the controller was reset or updated, an extra data transfer was performed

Version 3.2.0-b3

07 Nov 14:37
Compare
Choose a tag to compare
Version 3.2.0-b3 Pre-release
Pre-release

Compatible files:

  • RepRapFirmware 3.2.0-b3
  • DuetWebControl 3.2.0-b3

Changed behaviour:

  • DCS is now explicitly notified about closed messages and files (hence no longer compatible with 3.2-b2)
  • CodeConsole utility allows evaluation of expressions using eval <expression>

Bug fixes:

  • When certain G-code inputs were disabled, the DSF API threw NullReferenceExceptions
  • When the heaters contained null items, no config-override.g could be writen
  • When the move compensation type was set to none, the heightmap file was not reset
  • Starting macro files could cause out-of-order execution and stack underruns
  • Sometimes the object model wasn't fully updated after a disconnect

Version 3.2.0-b2

05 Oct 18:33
Compare
Choose a tag to compare
Version 3.2.0-b2 Pre-release
Pre-release

Compatible files:

  • RepRapFirmware 3.2.0-b2
  • DuetWebControl 3.2.0-b2

Changed behaviour:

  • runonce.g is no longer processed before config.g to match RRF's behaviour
  • Increased SPI protocol version due to slight changes for the new Linux task in RRF

Bug fixes:

  • Added missing "Starting" item to the MachineStatus enumeration
  • M112/M999 were executed out-of-order when read from files
  • Sometimes in print files codes invoking macro files could crash DCS
  • Aborted macro files did not cancel codes properly
  • Comments following codes directly without a whitespace could cause parsing errors