Releases: Duet3D/DuetWebControl
Releases · Duet3D/DuetWebControl
Version 3.5.4
Version 3.6.0-beta.2
New features:
- Added back wide-band option to IS plugin
- Enable comment toggling with Ctrl+/
Bug fixes:
- Fixed minimum for extrusion factor inputs
- Fixed "Indent Comments" and "GCode Reference" buttons when editing G-code
Version 3.6.0-beta.1
New features:
- Merged tabs for integrated and external plugins into single list
- Moved connector and syntax highlighting files to separate libraries
Changed behaviour:
- DWC should reload itself automatically when a DSF version change is detected
Version 3.5.3
Compatible versions:
- DuetSoftwareFramework 3.5.3
- RepRapFirmware 3.5.3
New features:
- Password for protected machines can be saved (thanks @Infraviored)
- Triggered endstops are displayed in CNC mode as well
- CAN address of expansion boards is shown in the electronics list
Bug fixes:
tools[].retraction
wasn't part of the object model
Version 3.5.3-rc.1
New features:
- CAN address of expansion board is displayed in the electronics panel in the settings
Bug fixes:
- Axes with triggered endstops were not displayed the status panel in CNC mode
- Improved check for incompatible versions
Version 3.5.2
Compatible versions:
- DuetSoftwareFramework 3.5.2
- RepRapFirmware 3.5.2
New features:
- Various improvements in the syntax highlighting files
- Made delay between AJAX retries configurable, reduced default delay from 2s to 200ms, and made standalone mode connecto to retry on CONN_RST
Changed behaviour:
- Modified when G-code reply is queried (only on HTTP status 503) and reworked
- Try to use inofficial location.reload(true) call (might help with DWC reloads after updates)
Bug fixes:
- "Show all layers" wasn't visible after the second layer (only after the 30th layer)
- Fixed version check for prereleases
- Fixed custom precision of Z coordinates
- Map handling in the Object Model Browser wasn't working
- Fixed bad E-STOP animations on msgbox changes
- Warning or error message about incompatible software versions could show up while updating expansion board firmware
Version 3.5.2-rc.1
Compatible versions:
- DuetSoftwareFramework 3.5.2-rc.1
- RepRapFirmware 3.5.2-rc.1
Changed behaviour:
- Try to use inofficial location.reload(true) call when reloading the UI to avoid cache issues
- Retry AJAX requests after delay on CONN_RST in standalone mode
New features:
- Made delay between AJAX retries configurable and reduced default from 2s to 200ms
Bug fixes:
- Fixed bad E-STOP animations on msgbox changes
- Map handling in the Object Model Browser was broken
- Improved G-code syntax highlighting
- "Show all layers" option was only shown after the 30th layer
- Fixed custom precision of Z coordinates
- Fixed version check for prereleases
Version 3.5.1
There have been no changes since v3.5.0, so here the full changelog since v3.4.6:
Compatible versions:
- DuetSoftwareFramework 3.5.1
- RepRapFirmware 3.5.1
Upgrade notes:
- Accelerometer plugin is no longer included, so a warning on first load may show up. Use the Input Shaping plugin instead
- Internet Explorer 11 and probably older iOS/Safari versions are no longer supported
- It is highly improbable that plugins built for DWC v3.4 can be loaded with v3.5 due to an upgrade from Webpack 4 to 5
- All external DWC plugins targeting v3.4 will NOT work with v3.5
API changes:
- Added "auto-major" version placeholder to plugin buidl script to reference e.g.
3.5
instead of3.5.0
- Internal
download
action has got an extra parameter to flag if the file may be downloaded from the root web directory - External plugins in
src/plugins
are automatically included so they can be added as git submodules (but not when DWC core is built) - Added automatic import support for
dwc-src
subdirectory in plugin folders (preferred alternative tosrc
) - Added new Vuex machine action to perform custom HTTP requests for third-party plugins
- Users can now provide custom translation strings in the format
<i18n.key>#arg1(#arg2...)#
from RRF (echo, M291, etc)
New features:
- Files ending with .g.bak are now displayed with syntax highlighting
- E-STOP button can now be used even when a message box is open
- Syntax highlighting for menu files and board.txt file used on STM32 (thanks jaysuk)
- Support for HTTP session keys instandalone mode so the G-code reply shows up on all sessions from a single IP address
- Addition of new button to indent comments following G/M/T-codes in G-code files
- Introduced new setting to enable/disable the webcam using a switch
- Added Dutch translations
- Input shaping profiles show damping factor in list if applicable
- Code editor shows ruler at column 255 to indicate maximum G-code length
- Added support for recursive delete operations
- Implemented new dialog informing users about incompatible software versions (may be disabled in the settings)
- Added new context menu action to duplicate filaments (only applicable to
config.g
,load.g
, andunload.g
) - Dark theme and locale is applied depending on system settings on first DWC load
- Warning message is shown if no more than 5% free space is available upon connecting
- All software versions are enumerated on the Machine Settings page
- Ported every component to TypeScript
- Moved over to the new @duet3d/objectmodel TypeScript definition of the object model
- Upgraded all packages except Vue 2 and ChartJS to the latest versions (including Webpack 5)
- Multiple bed heaters can be grouped as a single one using a new machine-specific setting
- Added missing translations where applicable using i18n-ally
- Added new setting to customize auto-switching to the Job Status page on job start (thanks MintyTrebor)
- Added extrusion rate / volumetric flow rate (toggling between is possible by clicking on the label)
- Message boxes with confirmation can be dismissed again globally
- Added build time to the hover title of the Duet Web Control version on the settings page
Changed behaviour:
- Installing DuetWebControl.bin is no longer supported due to incompatibilities with new SBC update code
M997 S2
(Bookworm-based DuetPi only) - When RRF plugins containing
daemon.g
are updated, that file is renamed todaemon.g.bak
instead of deleting it - Previously reset faulted heaters no longer require a countdown
- Monaco editor is automatically disabled on mobile devices due to touch incompatibilities
- Auto-completion is disabled in the Monaco editor
- Local storage is automatically cleared if full
- Update object cancel dialogs to clearly define the action
- Error dialog is shown if the software versions are incompatible (major/minor version mismatch)
- Warning notification is shown if not all software versions are equal (patch version mismatch)
- Moved plugin menu items to the Plugins category
- Removed
M561
option from compensation menu - Replaced previous code editor with Monaco (same component as in VS Code) including new G-code highlighting
- Tools, beds, and chambers can be grouped as single items
- Added several new icons to the tools panel
- Plugins are loaded asynchronously to improve initial loading speed drastically especially in standalone mode
- In SBC mode
dsf-update.zip
containing .debs or single .deb files can be uploaded ifRootPluginSupport
is enabled inconfig.json
- When a start-up error occurs, it is now displayed as a notification and log item upon (re-)connect
- Volumetric flow is displayed by default in FFF mode
- "Connecting..." dialog is no longer persistent in PWA mode in case third-party plugins offer extra functionality
- When a file has been simulated, instead of simulating the file again the file can be started instead
Bug fixes:
- Fixed spurious JS error messages in the console caused by items in the tool/heater list
- Colons in filenames could result in file operation errors
- File edit dialog no longer asked for confirmation when closing after changes
- Downgraded monaco code editor due to incompatibilities with Chromium on Debian Buster
- Version check was partially broken in the install plugin dialog
- Upload button in mobile view was not round
- Code editor was not focused automatically when the editor opened
- Fixed alignment of axis position label in msgbox
- Fixed rendering bug affecting hangprinter anchors
- Fixed support for boards[].wifiFirmwareFileNameUpdating
move.axes
can be queried sequentially to support up to 30 configured axes- Refreshing the G-code filelist with only 1-2 files could lead to occasional update stalls
- Object model browser did not display referenced
<see cref="..."/>
properties M291 S4
with too many choices created a button row that did not wrap- Fixed minor gap between babystep buttons on certain screen sizes
daemon.g
is renamed todaemon.g.bak
before it is uploaded- Added some margin between the print control buttons
- Temperature chart may update only once per second which hopefully addresses unexpected slow-downs
- Input shaping plugin required invisible axes to be homed as well
DuetAPI.xml
(OM browser reference) is downloaded as a plain file from the root web directory- Added back missing code editor features like Ctrl+F search and F1 overlay
- Fixed syntax highlighting of variable names starting with capital letters
- File lists no longer refresh automatically while multi-file uploads are in progress
- Reset prompt did not show up if the machine remains halted
- Download as CSV/Text wasn't working under certain circumstances
- Fixed sorting in filaments dialog
- Fixed workplace number index in CNC UI
- Automatic saving of G/M/T codes from input fields was not working under certain conditions
- Fixed syntax highlighting for repeated G2/G3 codes (Fanuc-style) and for T-1
- OSK could overlap on the editor
- Filename parsing of damping factor was only partially working in the input shaping plugin (since 3.5.0-beta.3)
- Profile list of IS plugin could become excessively large
- Improved error handling if saving to local storage is not supported
- Fixed minimum of damping factor input in IS plugin
- Pause/Cancel buttons were not disabled when cancelling a print
- Default message box value was not updated correctly
- Minor fixes in the G-code syntax highlighting
- Input shaping selection with multiple boards was not working
- Line numbers could be truncated in very large files
- Thumbnail cache of subdirectories was cleared on refresh
- File list would not load completely if a file was deleted while fileinfo was obtained
- Fixed tool fan on the Job Status page
- Fixed control of bed and chamber heaters with diverging heater/slot numbers
- Fixed spurious G-code hangs in standalone mode
- Fixed display of driver IDs in the object model browser
- Message box for OK-only did not send
M292
- Extra sensor options did not relate to correct indices
default
property of message boxes did not allow correct type changes (e.g int -> string)- Error messages could start with two "Error" prefixes
- CNC movement panel did nnot display correct feedrates
- Fixed axis position display in CNC mode
- It is no longer necessary to run newer NodeJS versions with the
--openssl-legacy-provider
option - Changed text color of the selected node in the object model browser to white in dark mode
Version 3.5.0
Compatible versions:
- DuetSoftwareFramework 3.5.0
- RepRapFirmware 3.5.0
Upgrade notes:
- Accelerometer plugin is no longer included, so a warning on first load may show up. Use the Input Shaping plugin instead
- Internet Explorer 11 and probably older iOS/Safari versions are no longer supported
- It is highly improbable that plugins built for DWC v3.4 can be loaded with v3.5 due to an upgrade from Webpack 4 to 5
- All external DWC plugins targeting v3.4 will NOT work with v3.5
API changes:
- Added "auto-major" version placeholder to plugin buidl script to reference e.g.
3.5
instead of3.5.0
- Internal
download
action has got an extra parameter to flag if the file may be downloaded from the root web directory - External plugins in
src/plugins
are automatically included so they can be added as git submodules (but not when DWC core is built) - Added automatic import support for
dwc-src
subdirectory in plugin folders (preferred alternative tosrc
) - Added new Vuex machine action to perform custom HTTP requests for third-party plugins
- Users can now provide custom translation strings in the format
<i18n.key>#arg1(#arg2...)#
from RRF (echo, M291, etc)
New features:
- Files ending with .g.bak are now displayed with syntax highlighting
- E-STOP button can now be used even when a message box is open
- Syntax highlighting for menu files and board.txt file used on STM32 (thanks jaysuk)
- Support for HTTP session keys instandalone mode so the G-code reply shows up on all sessions from a single IP address
- Addition of new button to indent comments following G/M/T-codes in G-code files
- Introduced new setting to enable/disable the webcam using a switch
- Added Dutch translations
- Input shaping profiles show damping factor in list if applicable
- Code editor shows ruler at column 255 to indicate maximum G-code length
- Added support for recursive delete operations
- Implemented new dialog informing users about incompatible software versions (may be disabled in the settings)
- Added new context menu action to duplicate filaments (only applicable to
config.g
,load.g
, andunload.g
) - Dark theme and locale is applied depending on system settings on first DWC load
- Warning message is shown if no more than 5% free space is available upon connecting
- All software versions are enumerated on the Machine Settings page
- Ported every component to TypeScript
- Moved over to the new @duet3d/objectmodel TypeScript definition of the object model
- Upgraded all packages except Vue 2 and ChartJS to the latest versions (including Webpack 5)
- Multiple bed heaters can be grouped as a single one using a new machine-specific setting
- Added missing translations where applicable using i18n-ally
- Added new setting to customize auto-switching to the Job Status page on job start (thanks MintyTrebor)
- Added extrusion rate / volumetric flow rate (toggling between is possible by clicking on the label)
- Message boxes with confirmation can be dismissed again globally
- Added build time to the hover title of the Duet Web Control version on the settings page
Changed behaviour:
- Installing DuetWebControl.bin is no longer supported due to incompatibilities with new SBC update code
M997 S2
(Bookworm-based DuetPi only) - When RRF plugins containing
daemon.g
are updated, that file is renamed todaemon.g.bak
instead of deleting it - Previously reset faulted heaters no longer require a countdown
- Monaco editor is automatically disabled on mobile devices due to touch incompatibilities
- Auto-completion is disabled in the Monaco editor
- Local storage is automatically cleared if full
- Update object cancel dialogs to clearly define the action
- Error dialog is shown if the software versions are incompatible (major/minor version mismatch)
- Warning notification is shown if not all software versions are equal (patch version mismatch)
- Moved plugin menu items to the Plugins category
- Removed
M561
option from compensation menu - Replaced previous code editor with Monaco (same component as in VS Code) including new G-code highlighting
- Tools, beds, and chambers can be grouped as single items
- Added several new icons to the tools panel
- Plugins are loaded asynchronously to improve initial loading speed drastically especially in standalone mode
- In SBC mode
dsf-update.zip
containing .debs or single .deb files can be uploaded ifRootPluginSupport
is enabled inconfig.json
- When a start-up error occurs, it is now displayed as a notification and log item upon (re-)connect
- Volumetric flow is displayed by default in FFF mode
- "Connecting..." dialog is no longer persistent in PWA mode in case third-party plugins offer extra functionality
- When a file has been simulated, instead of simulating the file again the file can be started instead
Bug fixes:
- Fixed spurious JS error messages in the console caused by items in the tool/heater list
- Colons in filenames could result in file operation errors
- File edit dialog no longer asked for confirmation when closing after changes
- Downgraded monaco code editor due to incompatibilities with Chromium on Debian Buster
- Version check was partially broken in the install plugin dialog
- Upload button in mobile view was not round
- Code editor was not focused automatically when the editor opened
- Fixed alignment of axis position label in msgbox
- Fixed rendering bug affecting hangprinter anchors
- Fixed support for boards[].wifiFirmwareFileNameUpdating
move.axes
can be queried sequentially to support up to 30 configured axes- Refreshing the G-code filelist with only 1-2 files could lead to occasional update stalls
- Object model browser did not display referenced
<see cref="..."/>
properties M291 S4
with too many choices created a button row that did not wrap- Fixed minor gap between babystep buttons on certain screen sizes
daemon.g
is renamed todaemon.g.bak
before it is uploaded- Added some margin between the print control buttons
- Temperature chart may update only once per second which hopefully addresses unexpected slow-downs
- Input shaping plugin required invisible axes to be homed as well
DuetAPI.xml
(OM browser reference) is downloaded as a plain file from the root web directory- Added back missing code editor features like Ctrl+F search and F1 overlay
- Fixed syntax highlighting of variable names starting with capital letters
- File lists no longer refresh automatically while multi-file uploads are in progress
- Reset prompt did not show up if the machine remains halted
- Download as CSV/Text wasn't working under certain circumstances
- Fixed sorting in filaments dialog
- Fixed workplace number index in CNC UI
- Automatic saving of G/M/T codes from input fields was not working under certain conditions
- Fixed syntax highlighting for repeated G2/G3 codes (Fanuc-style) and for T-1
- OSK could overlap on the editor
- Filename parsing of damping factor was only partially working in the input shaping plugin (since 3.5.0-beta.3)
- Profile list of IS plugin could become excessively large
- Improved error handling if saving to local storage is not supported
- Fixed minimum of damping factor input in IS plugin
- Pause/Cancel buttons were not disabled when cancelling a print
- Default message box value was not updated correctly
- Minor fixes in the G-code syntax highlighting
- Input shaping selection with multiple boards was not working
- Line numbers could be truncated in very large files
- Thumbnail cache of subdirectories was cleared on refresh
- File list would not load completely if a file was deleted while fileinfo was obtained
- Fixed tool fan on the Job Status page
- Fixed control of bed and chamber heaters with diverging heater/slot numbers
- Fixed spurious G-code hangs in standalone mode
- Fixed display of driver IDs in the object model browser
- Message box for OK-only did not send
M292
- Extra sensor options did not relate to correct indices
default
property of message boxes did not allow correct type changes (e.g int -> string)- Error messages could start with two "Error" prefixes
- CNC movement panel did nnot display correct feedrates
- Fixed axis position display in CNC mode
- It is no longer necessary to run newer NodeJS versions with the
--openssl-legacy-provider
option - Changed text color of the selected node in the object model browser to white in dark mode
Version 3.5.0-rc.4
Compatible versions:
- DuetSoftwareFramework 3.5.0-rc.4
- RepRapFirmware 3.5.0-rc.4
API changes:
- Added "auto-major" version placeholder to plugin buidl script to reference e.g.
3.5
instead of3.5.0
New features:
- Files ending with .g.bak are now displayed with syntax highlighting
- E-STOP button can now be used even when a message box is open
Changed behaviour:
- Installing DuetWebControl.bin is no longer supported due to incompatibilities with new SBC update code
M997 S2
(Bookworm-based DuetPi only)
Bug fixes:
- Fixed spurious JS error messages in the console caused by items in the tool/heater list
- Colons in filenames could result in file operation errors
- File edit dialog no longer asked for confirmation when closing after changes
- Downgraded monaco code editor due to incompatibilities with Chromium on Debian Buster
- Version check was partially broken in the install plugin dialog
- Upload button in mobile view was not round
- Code editor was not focused automatically when the editor opened
- Fixed alignment of axis position label in msgbox
- Fixed rendering bug affecting hangprinter anchors
- Fixed support for boards[].wifiFirmwareFileNameUpdating
move.axes
can be queried sequentially to support up to 30 configured axes- Refreshing the G-code filelist with only 1-2 files could lead to occasional update stalls
- Object model browser did not display referenced
<see cref="..."/>
properties