Skip to content

Releases: cncjs/cncjs

v1.9.14

10 Feb 10:11
Compare
Choose a tag to compare

Improvements

  • Avoid using expressions in inline comments as it may cause parsing errors with TinyG controller (6bc53fe, #244)
  • Ensure the %wait command will wait until the planner buffer is empty (599206f, #244)
  • Adds ability to toggle between multiple cameras (dc16440, #274)
    image

Bug Fixes

  • Fixed a pagination issue that caused macros and MDI commands not able to display more than 10 records (39f55f1, #270)
  • Fixed a warning that each child in an array should have a unique "key" prop (6239f7d)

v1.9.13

03 Feb 08:38
Compare
Choose a tag to compare

What's New

This release contains several enhancements and usability improvements for connection, console, and axes widgets. See below for details:

Connection Widget

Since CNCjs 1.9.12, the node-serialport library has been upgraded from v4 to v6, however, it caused a breaking change to the default hardware flow control option where RTS/CTS will be disabled by default on Windows, and it may lead to unexpected result for certain boards connecting with Windows devices. The "Enable hardware flow control" option is added in 1.9.13 for addressing this issue, you can turn on this option if you ran into trouble on connecting to the board while using Windows devices.

image

Console Widget

Adds color schemes and fixed a copy/paste issue in CNCjs 1.9.12.

image

Axes Widget

Usability improvements for jogging and quick access buttons

image

Custom Commands

Now you can go to Axes Settings to add custom commands and enable manual data input (MDI) support.

image

Toggle MDI mode

image

Change Logs

Enhancements

  • Adds support for enabling hardware flow control (776c836, #243)
  • Adds context menu support for editable content and selectable text with Undo, Redo, Cut, Copy, Paste, and Select All actions (55a3350, 50a3318, #241)
  • Console widget enhancements (753abec, #241)
  • Support for custom MDI commands (2dc9480)
  • 6-axis (B and C) support (8100d0d)

Improvements

  • Constancy with Axes menu order (1ccc359)
  • [Electron] Remember window size and position (221bab9, #230)
  • Support for validating dataBits, stopBits, parity, and flow control settings (rtscts, xon, xoff, xany) (39c5b3a)
  • M2 and M30 do not pause workflow (97d778d, PR #248 by @MitchBradley)
  • Improves usability of Axes widget (99946d0)
  • Reloading commands and macros when the config file has been changed (dfac6bc)

Bug Fixes

  • Fixed an issue where RTS/CTS must be turned on for certain controller boards when connecting to Windows host (1f97f89, #243)
  • Convert line endings from LF to CRLF for the pasted text (#241)

Others

  • Drops support for armv7l target as it is currently broken (2a0a776)
  • Improves naming conventions (80739ef)

Translations

  • Updates German translation
  • Updates Japanese translation
  • Updates Simplified Chinese translation
  • Turkish (Türkçe) language support

v1.9.12

05 Dec 15:08
Compare
Choose a tag to compare

Major Update

  • Upgrades to serialport v6 (eec27be, #217)

  • Support for Marlin 3D printer firmware

    • Marlin controller
    • Marlin widget w/ heater controls
      image

Bug Fixes

  • Fixed a bug that may cause blank screen due to incorrect widget settings (0a8a924)
    Note: For CNCjs 1.9.11 and earlier versions, if it always shows a blank screen, try clearing the Local Storage using browser's Developer Tools to fix the problem.

    localStorage.clear()
  • Fixed a compatibility issue that the includes() method is not available in Node.js v4 and v5 (88d4dec, #232)

  • [Grbl][Marlin][Smoothie][TinyG] Fixed a bug that will not continue program execution after the %wait command (a5f86d9)

  • Fixed a bug introduced in CNCjs 1.9.11 that will accidentally trigger feeder.hold({ data: "M0" }) or sender.hold({ data: "M0" }) when parsing lines containing variables (af60e47)

    The following line

    G0 X[xmin] Y[ymin]
    

    will become

    G0, X0, X0, M0, I0, N0, Y0, Y0, M0, I0, N0
    
  • [Security] Fixed a security issue that one can use an unauthorized token to access the server (1f7bae4, #234)

  • Fixed a bug that sender may emit the 'end' event multiple times (1aa9625, PR #235)

  • Fixed a bug that caused browser crash if filename contains double-byte characters (232307a)

Enhancements

  • Adds support to listen on specific address and port by passing command line options to Electron application (56ad797)
    Note: For Electron macOS app, use the open command to pass arguments to the application:

    open -a /Applications/CNCjs.app --args -p 8000
  • Adds an "ignoreErrors" option that allows continuing program execution on errors (485bc7c, #233)
    image

  • Support for proxying requests starting with a mount path to an external url (a1cbada)

    cnc -vv -p 8000 \
        --mount /tinyweb:/path/to/tinyweb/src/ \
        --mount /widget:https://cncjs.github.io/cncjs-widget-boilerplate/v1/

Improvements

  • Uses ResizeObserver to detect DOM changes (2bf0e2c)

  • Redirects URL path without a trailing slash to URL with a trailing slash (dff47b0)

  • Implements serial connection library for serial port communication (74700aa)

  • Removes comments that start with a semicolon ; (a108668)

  • Uses babel-polyfill for Node.js app (ed5667d)

  • Allows pasting commands into the terminal (b038cbc)

  • Passes context as second parameter connection.write(data, context) (cdc6d87)

  • Runs CI with Node.js v8 (f4a2c7c)

  • Improves usability when signing in from a pendant UI (25c8dd8, 1b06d45)

  • Replaces "clusterize.js" with "react-tiny-virtual-list" (6927d0b)

v1.9.11

13 Oct 10:01
Compare
Choose a tag to compare

This update contains M6 tool change support, various enhancements and bug fixes, including:

Tool Change

See the wiki page at https://github.com/cncjs/cncjs/wiki/Tool-Change

image

Breaking Changes

  • No longer control workflow state (i.e. workflow.pause() and workflow.resume()) when performing a "Feedhold" or "Cyclestart" action (c02c28d)
  • [Modal state] Renamed coordinate to wcs (699f9b5)
  • Remove the socket parameter from the controller command (bf83165)
    • Before: controller.command(socket, cmd, ...args)
    • After: controller.command(cmd, ...args)
  • Pause execution when the CNC milling controller detects an error in the G-code program (d16264a, #175)

Enhancements

  • Google Analytics tracking (07c8db3)
  • Unit tracking enhancement (6f11c9a, #206)
  • Support for pausing gcode execution with M0, M1, M2, M6, and M30 (c61299b, #118, #212)
  • Show notification message on Program Pause (M0, M1), Program End (M2, M30), and Tool Change (M6) (2546e05, #118, #212)
  • Pop up a confirmation message asking for resuming program execution after M6 tool change (6c95bc8)
  • Show a modal window asking user to continue for M0, M1, M2, M30, and M6 commands when executing a macro (e8e431e)
    image
  • New controller commands
    • "feeder:feed" - Append new commands to the feeder queue
    • "feeder:start" - Start
    • "feeder:stop" - Stop
  • Spindle and coolant enhancements (c2ad073)
  • Feeder enhancements for better processing M0/M1/M2/M30/M6 commands among multiple browsers (a707c62)
  • Sender enhancements for processing M0, M1, M2, M30, M6, and %wait commands (3141966)
  • Support for using modal group variables in a macro (d858ca7)
    modal.motion
    modal.wcs
    modal.plane
    modal.units
    modal.distance
    modal.feedrate
    modal.program
    modal.spindle
  • Use the new line character to separate M7 and M8 to avoid modal group violation (a6aa326, gnea/grbl#289)

Bug Fixes

  • Move the stripComment function from sender to controllers (88ccccd, #210)
  • Fixed a bug that causes authentication failure with the download link (0cb6c1a, #211)
  • Fixed a bug that cannot check for updates (02738a7)

New Language

v1.9.10

22 Sep 03:15
Compare
Choose a tag to compare

Enhancements

  • Multiple mount points (a1bc674)

    cnc -vv -p 8000 \
        --mount /static:/path/to/static \
        --mount /widget:/path/to/cncjs-widget-boilerplate/dist
    

    For Electron macOS app, you can use the open command to pass arguments to the application:

    open -a /Applications/CNCjs.app --args --mount /widget:/path/to/cncjs-widget-boilerplate/dist
  • Custom widget support (5fa5110, b366a8c, #85)
    See development guide and boilerplate code at https://github.com/cncjs/cncjs-widget-boilerplate

    image

  • [Electron] Support for adding mount paths to the applcation menu (8eac37b, #199)
    image

  • [Grbl] Support for gCarvin firmware (113553a, #203)

  • Axes labeled in cm in mm mode (3c7b6ba, #205)

Bug Fixes

  • Incorrect work offset setting in inch mode (47255cb, #204)

Translations

v1.9.9

31 Aug 06:06
Compare
Choose a tag to compare

Recommended update for the desktop application built with Electron

Bug Fixes

  • [Electron] Fixed a bug that may break workspace settings due to asynchronous file writing (3ddb776, #185)
  • Fixed an issue that G10 L20 P0 is not currently implemented in TinyG and G2core (7da19b0, #191)

Enhancements

  • Electron build process enhancements
  • Homing support for TinyG and g2core (673b5af, #194)
    image
  • Prompt the user for the corrupted workspace settings (55b7947, #185)
    image
  • Ability to import and export workspace settings
    image

Improvements

  • Concurrent execution among multiple browsers without the need of manually refresh browser window (#195)
    • Emit gcode:load and gcode:unload events to all connected browsers (e7e7147)
    • Add serialport:change event listener to detect port changes (a591533)
  • [Performance] Use a debounced function to persist settings only if 100ms have passed without it being called (3ddb776)
  • [UX] Improvements for primary and secondary widget toolbar (1073e5c)

Other Changes

  • Renamed cncjs to CNCjs

v1.9.8

24 Aug 16:32
Compare
Choose a tag to compare

Important Notice

This is a recommended update for CNCjs 1.9.3 to 1.9.7. It resolves a critical issue that may consume all available receive buffer on Grbl especially when running a G-code program with slow feed rate.

If you're using CNCjs between 1.9.3 and 1.9.7, please update to 1.9.8 to have the latest stability fixes.

Bug Fixes

  • Resolved a critical issue that ay consume all available receive buffer on Grbl (or Smoothieware) when running a G-code program (0148f35, #176, #186)
  • Fixed an issue that may stop sending lines if the G-code sender is in the hold state (%wait) and a buffer overflow is being occurred (c091ec1)

Enhancements

  • Workspace toolbar enhancements (7ea3ffe)
    image

  • A new option to toggle the visibility of grid line numbers (708cc38, #182)
    image

  • Navigation button for the A-axis (4fb3b0e, #122)
    image

  • Go To Work Zero and Go To Machine Zero buttons are now configurable (4fb3b0e, #181)
    image

Other Improvements

  • Automatically refresh the list of ports when the port is disconnected (3ca043d)
  • Do not force reset Grbl when a G-code program has completed (3f77c61, #170)
  • Marlin ignores G90 (or G91) command when combining with other commands in the same line (dd4a754, 0ae507b)

v1.9.7 (unstable release)

21 Jul 13:15
Compare
Choose a tag to compare

Bug Fixes

  • [Smoothieware] Fixed an issue that the UI does not correspond to machine position in inch mode (de54114, resolves #177)
  • Convert the characters &, <, >, ", and ' in string to their corresponding HTML entities (26f41c3, resolves #178)

Improvements

  • New events: system startup, open a serial port, close a serial port (88969e8, closes #180)

v1.9.6 (unstable release)

01 Jul 01:50
Compare
Choose a tag to compare

Important Notice

This is a recommended update for CNCjs 1.9.5. It resolves a critical issue that the server may suddenly crash with an unexpected abort caused by Socket.IO 2.0, especially when performing keypad jogging repeatedly.

Bug Fixes

  • Resolves crash and stability issues by rolling back socket.io to 1.7.4 (038d870, closes #161)
  • Grbl: Fixed a bug that cannot return verbose settings information to the client (44b7759)
  • Accepts dropping file to the workspace only when workflow state is idle (0f8feb6)
  • The override control commands should be properly handled in accordance with the firmware version (b96c51d, resolves #160)

Improvements

  • Common baud rates: 250000, 115200, 57600, 38400, 19200, 9600, 2400 (2b13276)
  • Console widget improvement with terminal history support (f045d1b, d8a0c8d, closes #149)
  • Prompt user if the server has stopped working due to an unexpected error (973eb6d, resolves #161, #169)
  • Refine realtime status view for each controller (2011554)
  • TinyG widget: Power management support (closes #166)
  • TinyG widget: Support energizing motors for up to 30 minutes (258a5fc, baf2c86, closes #166)

v1.9.5 (unstable release)

23 May 15:27
Compare
Choose a tag to compare
Pre-release

Important Notice

The Node.js server of CNCjs 1.9.5 may suddenly crash with an unexpected abort error caused by Socket.IO 2.0, especially when doing keypad jogging. Rolling back Socket.IO to 1.7.x will resolve this issue.

In this moment, please downgrade CNCjs to 1.9.4 if you encountered this issue.

Code Signing Issue

The desktop app for Mac and Windows was not signed with a code signing certificate because the certificate has expired recently. If you encountered an issue that cncjs-1.9.5-win-x64.exe or cncjs-1.9.5-mac-x64.dmg is blocked by Windows Defender or GateKeeper during installation, you can bypass it to complete the installation. Sorry for the inconvenience in this moment.

image

Improvements

  • Add dropdown menu support (15323f0, bf355bb)

  • Add support for forking widgets (f65a55b, resolves #158)

  • Display fork icon for a forked widget (b73899c)

  • Widget configuration improvements (200e989)

  • Add g2core as an alias for TinyG (122bb2c)

  • Support for custom baud rates (b0bfd3f, resolves #159)

    Configuration file: ~/.cncrc

     {
       "ports": [
         {
           "comName": "/dev/ttyAMA0",
           "manufacturer": ""
         }
       ],
       "baudrates": [250000]
     }
  • Laser intensity control for TinyG/g2core (08b690f, resolves #107 and #160)

  • Support for TinyG and g2core override control (017b9d8, closes #160)

  • Specify the maximum value of S for M3 Snnn with laser test (39291aa)

  • Preliminary ARMv7 support (6a8bcb9)

Bug Fixes