Skip to content

Version 3.5.1

Latest
Compare
Choose a tag to compare
@chrishamm chrishamm released this 19 Apr 17:00
· 5 commits to v3.5-dev since this release

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 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