Skip to content
dc42 edited this page Apr 19, 2024 · 49 revisions

Version 3.5.1 (changes since 3.5.0)

There were no changes in this release. If you are upgrading from v3.4 or older, please read the next section.

Version 3.5.0 (changes since 3.4.6)

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