Releases: Duet3D/DuetSoftwareFramework
Version 3.5.0-rc.1
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 todaemon.g.bak
on upgrade - Moved
userSessions
root key to newsbc
key M552 S1
unblocks WiFi automatically usingrfkill
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
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
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
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
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
New features:
- Added support for custom array variables and for assigning individual items
echo
can be used to append contents to a file withoutNL
(akaecho >>>"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
inG28 X
) - Consolidated API exception classes in DuetAPI library
- Changed async code parser to use
Stream
type instead ofStreamReader
- 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 defaultsensors.probes[].travelSpeed
value - Fixed support for
update.sh
in update packages (dsf-update.zip
which requiresRootPluginSupport
) - 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
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
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
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
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