November 2023 Updates

  • Just like last month, this month I was (almost) solely focused on NinjaTerm development. We went from v4.7.0 through to v4.12.0 in the month of November. Updates to NinjaTerm are highlighted below.

  • Added glyphs to the Unicode PUA range of the NinjaTerm font to show control characters and hex codes.

  • Added logging functionality.

  • Last serial port details and connection state are remembered across App reloads, and NinjaTerm can automatically reconnect to previously used serial port.

  • Added ability for NinjaTerm to reopen serial port (when available) after unexpected closure.

  • Added ability to filter rows of terminal text.

  • Miscellaneous bug fixes.

  • One change with this blog is that I started playing around with the idea of adding ads. I personally don’t like ads but they might help pay for the upkeep of this site (domain registration, DNS, hosting, and software licenses for designing things like the diagrams). I have enabled Google AdSense. In it’s current form the ads are pretty horrible (e.g. disruptive pop-ups), so I’ll be tuning them and making sure they are not so invasive in the near future. If they don’t end up making much money, I might remove them altogether.


October 2023 Updates

  • This month I was solely focused on NinjaTerm development. We went from v4.3.0 through to v4.7.0 in the month of October. Updates to NinjaTerm are highlighted below.

  • Terminals are now focusable by the user, with the cursor changing appearance and a background glow shown when focused.

  • Tab key press gets handled and correct bytes sent correctly across the serial port.

  • Addition of a graphing feature which can extract data points from incoming data and graph them live.

  • Easter egg style “fake ports” to NinjaTerm for demo/testing purposes. Press “f” when the serial port config. settings are visible to show the fake port selection screen.

  • Ability to change terminal font size.

  • Added initial Playwright e2e (end-to-end) tests.

  • Fixed an annoying rendering glitch where I was using React’s useEffect() but should of been using useLayoutEffect().

  • Migrated from using react-starter/Webpack to build to using Vite, it’s much faster! Also migrated the unit tests from using Jest/RTL to using Vitest (which works really well with Vite).

  • Improved the version updating process – Now a snackbar pops up when a new version is available giving the user the choice to reload and update. This was easily added thanks to Vite’s PWA plugin.

  • Added settings to be able to configure behaviour on receipt of carriage return and line feed characters.


September 2023 Updates


August 2023 Updates


July 2023 Updates