Skip to content

Version 3.7.0-beta.1

Pre-release
Pre-release

Choose a tag to compare

@chrishamm chrishamm released this 22 Jun 10:14

New features:

  • Completely rewritten on Vue 3, Vuetify 4, Pinia, Vue Router 5 and Vite (replacing the Vue 2 / Vuetify 2 / Vuex / Vue CLI stack)
  • DWC now ships with a service worker that caches the app and auto-updates after a redeploy
  • All panels are now customisable, with per-component settings persisted across sessions
  • Chart data can be downloaded and custom values can be displayed
  • File Explorer and Monaco editor are now tabbed and routable, with a multi-volume URL scheme (/Explorer/[tab]/[volume]/[path]), deep-linking via ?path=, back/forward directory history and auto/list/tiles view modes
  • Added recursion support to various file explorer commands
  • Added right-click context menus, ZIP download of folders and automatic ZIP extraction on upload
  • Added thumbnail, G-code stream and embedded G-code viewer to the Job Status page
  • Codes and object model fields can be looked up by pressing F4 or the corresponding lookup button
  • Added hover info to G-codes, G-code parameters and object model values
  • Added firmware install and DWC self-update from the Infrastructure settings tab, including SSL certificate (.crt/.key) upload; .deb upload is gated to SBC mode
  • Added a plugin install wizard with manifest and permission preview, triggered by uploading a plugin ZIP
  • Made the main navigation menu resizable
  • Added MCU temperature and free RAM columns to the Boards table
  • Added various settings and introduced sub-routes for settings tabs

Plugins and architecture:

  • Extracted the backend communication layer into the standalone @duet3d/connectors package
  • Reimplemented the G-Code Viewer, Height Map, Input Shaping and Object Model browser as built-in plugins
  • Rewritten plugin API exposed via window.DWC (now including window.DWC.version and a shared event bus) to make version dependencies less critical
  • Plugins can now register settings tabs (registerSettingTab), Job View tabs (registerJobViewTab), context-menu items, embeddable components, custom layouts (registerLayout) and themes (registerTheme)

Changed behaviour:

  • G-code viewer loads the file for rendering, job status follows progress
  • Moved machine/software overview from Settings -> Machine-Specific to Settings -> Infrastructure
  • Migrated various global settings to panel/component-specific settings
  • Settings and cache now use schema-versioned upgrade chains and a cross-session three-way merge, so concurrent sessions or devices no longer overwrite each other's changes