Skip to content
Christian Hammacher edited this page Apr 17, 2024 · 49 revisions

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 of 3.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 to src)
  • 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, and unload.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 to daemon.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 if RootPluginSupport is enabled in config.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 to daemon.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.4.6

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

Compatible versions:

  • DuetSoftwareFramework 3.4.6
  • RepRapFirmware 3.4.6

New features:

  • Updated various translations
  • Added special i18n string formats for OEM substitutions

Bug fixes:

  • Fixed length check in file edit dialog
  • OSK could overlap the code editor
  • Minor fixes for fileinfo caching
  • Sorting on filaments dialog was not working correctly

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.

Bug fixes:

  • "Turn everything off" button could generate too long G-code potentially breaking this feature in standalone mode

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:

  • Last modified timestamps are now passed to file upload requests in SBC mode

Bug fixes:

  • Timestamps in ISO8601 format did not contain leading zeros

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:

  • Empty file uploads must be confirmed (extra safety check to avoid potential issues with config.g)

Version 3.4.2

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

New features:

  • Added support for VSCode and for i18n-ally extension
  • If rr_gcode returns a non-zero err value, the code is no longer awaited and a warning is printed (standalone mode)
  • Updated Chinese translations (thanks ningjiazun)
  • Updated Spanish translations (thanks ajtudela)
  • Added Ukranian translations (thanks ctaras)

Bug fixes:

  • Fix macro list icon size (thanks ctaras)
  • Fixed some translations using new i18n-ally support
  • Copy button on object model browser was no longer aligned
  • Code input could exceed the maximum allowed buffer size in standalone mode (255 chars)
  • Files with apostrophes in the filename were not correctly invoked
  • Delete menu item showed up twice on the Filaments page
  • Help links pointed to outdated documentation
  • G-code viewer did not display temps correctly if the tool list contained gaps
  • Fixed tool inputs for Chrome on Android
  • Disabled translation prompt that showed up in Chrome browsers

Version 3.4.1

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

New features:

  • Added support for inch display units (thanks MZachmann)

Bug fixes:

  • Added missing support for iOS 9 devices (yet untested)
  • Disabled CodeMirror text editor for iOS devices due to selection bug
  • Certain colours of the charts were not updated when switching to dark theme
  • Webcam rotation/flip options were broken
  • Content-Type header was incorrectly set in HTTP requests for Duets in standalone mode
  • Job progress did not use filament information if available
  • Added missing values to the object model
  • Custom move steps for extra axes (e.g. U, V) were not properly loaded from the settings

Version 3.4.0

New features:

  • Added Polish translations (thanks Chri55) and Japanese translations (thanks nyarurato)
  • Greatly improved performance for object model updates
  • Plugins may now register custom i18n data
  • Added controls from DWC-CNC fork
  • Added support for password protection to SBC connections
  • Added search/replace/goto dialog to the G-code editor dialog (see here for the key mapping)
  • Prompt after editing config.g asks users to either reset or rerun config.g
  • Added new bottom navigation menu for mobile devices and made margins smaller depending on the screen size
  • Added back "Install Updates" button for standalone mode users
  • Selected nodes on the object model browser can be copied using a new button
  • Added new npm run build-plugin script allowing users to build external plugins easily (see also the new plugin guide)
  • Added support for JPEG/PNG/QOI thumbnails for both SBC and standalone mode
  • Sensor temperatures are now displayed per layer in the tooltip of the layer chart (if available)
  • Replaced old notification system with a new one preventing potential overlap of the E-STOP button
  • Small icon menu can be enabled on demand in the settings
  • Added back options to allow users to specify which tool change macros are supposed to be executed
  • Users can choose if the current or file timestamp should be used for file uploads (only in standalone mode)
  • Sliders can be replaced with numeric inputs on demand

Changed behaviour:

  • Old-style rr_status requests are no longer supported
  • Built-In/Third-Party Plugins are now called Integrated/External Plugins
  • Heightmap plugin is now based on BabylonJS (removes dependency to ThreeJS)
  • Increased default number of extrusion factor sliders from two to six
  • Modified default extruder feedrates to match values on PanelDue
  • When the controller is halted and the Reset button is displayed, the connection dialog can be dismissed
  • Added message to firmware update prompt advising users to install firmware updates over DWC in SBC mode only on explicit request (only on Duet)
  • Reduced height of navigation menu items in desktop mode
  • Resume button is no longer enabled while a print is being paused
  • Removed auto-sleep button. Invoke M1 or a custom macro in your end G-code if you want to turn off the heaters at the end of a print
  • Default delay before settings/cache elements are saved is greatly reduced
  • Homing buttons are enabled unless the corresponding axes are homed or movement without homing is permitted (see M564)
  • Webcam content is disabled when the webcam page is hidden
  • Filaments menu item is only visible in FFF mode
  • DWC can connect to http://localhost (alternative to http://[hostname])
  • Made "Install Updates" button visible in SBC mode for non-Duet boards
  • Made bottom navigation bar optional and changed navigation menu again for smartphones
  • Tool state is now modified using M568 instead of G10
  • Document title is put into braces when the machine is disconnected
  • Syntax highlighting is always enabled unless the OSK plugin is enabled
  • Minor changes to the look of the main menu in desktop mode
  • Invalid JSON from RRF is always logged to the console in standalone mode
  • Thumbnail data is explicitly checked after receipt in standalone mode

Bug fixes:

  • Order of displayed extruders depended on toggle order
  • Auto-completion drop-down list could overlap the code input
  • OM values boards[].mcuTemp, boards[].v12, and boards[].vIn were not nullable
  • Webcams could not have an indefinite update intervals (0ms) which could conflict with MJPG streams
  • Layer stats were not properly regenerated after reconnecting to a Duet in standalone mode
  • Non-default system directory was not correctly loaded after connecting
  • Connecting dialog was briefly hidden before it was displayed again on reconnects
  • Object model patches could delete certain properties that should remain existent
  • Upload progress bar remained active for empty files even after the file had been completely uploaded
  • Webcam stream was not actively interrupted when the page was deactivated
  • File edit dialog could throw an exception under certain circumstances
  • During updates/resets boards[0] was not fully available but DWC attempted to access a property from it

Changes since 3.4-rc2:

  • Changed the way non-blocking button G-codes are sent to RRF/DSF (e.g. movement or babystepping codes)
  • Updated translations and documentation links for docs.duet3d.com
  • Plugin install dialog asks users to reload the page if DWC plugins were updated
  • Bug fix: "Ignore file timestamp on upload" wasn't working as expected in standalone mode

Version 3.3.0

Upgrade notes since version 3.2:

  • Saved G-codes from the inputs are no longer saved on the Duet to avoid excessive SD card wear
  • This will be the last DWC version that remains compatible with old-style status responses

Compatible versions:

  • DuetSoftwareFramework 3.3.0
  • RepRapFirmware 2 or newer (1.2x may work but untested)

Bug fixes:

  • Layers chart was only cleared when the layer variable was set
  • Plugin upgrades were not working in standalone mode

Version 3.2.2

Compatible versions:

  • DuetSoftwareFramework 3.2.2
  • RepRapFirmware 2 or newer (1.2x may work but untested)

Bug fixes:

  • Auto-indentation used spaces regardless of last line indentation type
  • Fixed reset prompt for 0:/sys/board.txt (for STM and LPC users only)
  • Upload errors for dwc-settings and dwc-cache are no longer displayed
  • Spindle RPM inputs didn't wait for code to finish
  • Failed uploads for DWC system files are no longer shown
  • On-Screen Keyboard hid lower end of the text editor
  • When DWC reconnected in standalone mode due to HTTP 401, the rr_connect request was malformed

Version 3.2.0

Compatible versions:

  • DuetSoftwareFramework 3.2.0
  • RepRapFirmware 2 or newer (1.2x may work but untested)

Changed behaviour:

  • Apart from the tool fan the first three fans are displayed by default
  • Reduced extrusion slider step size from 5% to 1%

Bug fixes:

  • When an error occurred during a plugin installation, the upload button became unusable
  • New code editor was always disabled in Chrome-based browsers due to touchscreen detection
  • Standard editor always displayed end of the file
  • Sometimes the heightmap could not be shown and only a black frame was displayed

Version 3.1.1

Compatible files:

  • DuetSoftwareFramework 2.0.0 or newer
  • RepRapFirmware 2 or newer (1.2x may work but untested)

Bug fixes:

  • Downloading filaments did not work
  • When opening large files in DWC, a timeout exception could be thrown
  • When connected in SBC mode, the kinematics key could be incorrectly updated
  • Duplicate notifications were not closed again automatically
  • Display messages from M117 were displayed multiple times

Version 3.1.0

Compatible files:

  • DuetSoftwareFramework 2.0.0 or newer
  • RepRapFirmware 2 or newer (1.2x may work but untested)

Changed behaviour:

  • When installing expansion board updates, DWC waits for the status to become not 'Updating' before moving on to the next one

Bug fixes:

  • Mesh edit dialog sent wrong M-code when using delta kinematics
  • Resetting the speed and extrusion factors worked even when the UI was frozen
  • Datetime was not updated after a firmware reset
  • When returning from a filament directory on the Filaments page, the "Create Filament" button was no longer visible
Clone this wiki locally