Huge News!Announcing our $40M Series B led by Abstract Ventures.Learn More
Socket
Sign inDemoInstall
Socket

serialport

Package Overview
Dependencies
Maintainers
2
Versions
175
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

serialport - npm Package Versions

1
18

5.0.0

Diff

Changelog

Source

Version 5.0.0 🎉

Nearly a year in the making Node SerialPort 5.0.0 is a major rewrite that improves stability, compatibility and performance. The api surface is similar to version 4 there have been a number of changes to ensure consistent error handling and operation of a serial port. Notably we are now a Stream! We can also introduce a bindings layer. A small low level api to provide access to underlying hardware. External bindings written in other languages or targeting other platforms can now be used.

Some major cpu performance gains on unix platforms can be found and we're less buggy and better performing on Windows too.

With this release we are now only supporting LTS nodejs platforms and we are dropping NodeJS 0.10, 0.12, 5 and 7 support. We loved directly supporting so many platforms but it was getting in the way making a solid library.

See our upgrade guide for detail on what to change to upgrade your app to use serialport@5.0.0. It's not much!

Thank you to the 25 people who committed code and documentation and every person who submitted bug reports and tested changes!

Notable Changes

  • [all] Streams rewrite, node serialport is now a node stream! 🎉
  • [all] Drop NodeJS 0.10, 0.12, 5, and 7 support
  • [all] Add node 8 support (we now only support LTS node versions)
  • [all] Introduce a binding layer to provide a common low level interface to work with different platforms.
  • [unix] New read/write subsystem. Write CPU dropped from 100% to 0-2%. @reconbot (Thanks to @indutny for getting me unstuck many times!)
  • [windows] Rewrite reading so it's pausable thanks to @munyirik
  • [docs] An overhaul how we document the api leveraging JSDOC
  • [docs] An overhaul of the format and language in our docs thanks to @LappleApple

Features

  • [all] isOpen is now a property #899
  • [all] SerialPort.list now has more consistent output across all platforms.
  • [all] SerialPort.list returns a promise if a callback is not provided thanks to @MikeKovarik for bug fixes
  • [all] A promise aware serialport-repl script for debugging and testing.
  • [all] add #get to retrieve modem status flags thanks to @jgillick!
  • [all] Add a MockBinding object for testing serialports in your project. Used internally too!
  • [all] Add electron precompiled binaries thanks to @Mike-Dax
  • [all] Add regex stream parser and tests @jessicaquynh
  • [all] Allow reopening after an open error #910
  • [all] calls to .drain now queue behind port open and in progress writes reported by and with lots of testing help from @tuna-f1sh
  • [all] Change parsers to be transform streams #922
  • [all] Change the default highWaterMark to 64k to match fs.ReadStream
  • [all] Conform to NodeJS error message formats
  • [all] Exposed mocking serialport via require('serialport/test')
  • [all] Have drain wait for pending JS write operations before calling system drain thanks to @digitalhack for reporting it
  • [all] port.path is now read only #898
  • [all] Refactor internals to make use of es6 and promises
  • [all] Remove lowercase options #898
  • [all] Remove the c++ write queue
  • [all] Remove unnecessary dependencies and polyfills thanks to @mscdex
  • [all] Remove v8 deprecation warnings thanks to @indutny again
  • [all] Removed the disconnect event. The close event now fires with a disconnect error object in the event of a disconnection.
  • [all] SerialPort can now be compressed with uglify-es thanks to @rwaldron
  • [all] update bindings to version 1.3.0
  • [all] Upgrade debug and node-pre-gyp
  • [all] Upgrade to non deprecated buffer methods
  • [docs] Add more installation notes on sudo, windows 10, electron and node 7
  • [docs] Add socketio example @jessicaquynh
  • [docs] Electron build docs #965 via @chalkers
  • [docs] Mark new features in 5.0.0 with the fact they started in 5.0.0
  • [docs] Update parser docs to be correct #970 via @jacobq
  • [linux] SerialPort.list is now faster and less resource intensive thanks to @akaJes!
  • [linux] Add the ttyAP subsystem to serialport list thanks to @fly19890211 for reporting it
  • [osx] SerialPort.list now returns the tty instead of the cu thanks to @kishinmanglani
  • [unix] Flush now gives errors and flushes tx and rx #900
  • [unix] Move setting up the baudrate to the end of the open() to better support custom baudrates
  • [windows] Refactoring of .list for Windows so it's significantly smaller thanks to @Zensey

Fixes

  • [all] Fix baud rate parsing in serialport-terminal thanks to @radio-miskovice for reporting it!
  • [all] Fix memory leak during opening a port thanks to @indutny
  • [all] fixed a crash when pausing while reading thanks to @bminer and @baffo32 and others to debug and fix this
  • [all] Upgrade nan to fix compile issues on some platforms thanks to @thom-nic
  • [docs] fixed a typo thanks to @amilajack
  • [docs] Spelling fixes via @Awk34
  • [unix] fix a bug when poller errors would be unhandled thanks to @thiago-sylvain for reporting
  • [windows] Fix file handle leak during opens when errors occur thanks to @enami
  • [windows] Fix flush behavior using PurgeComm fixing #962 via @samisaham
  • [windows] Fix unhandled promise rejection when calling read on Windows
  • [windows] Remove read and write timeouts solving #781 via @giseburt

We also had help testing, debugging, and designing from; @alaq @arve0 @techninja @noopkat @HipsterBrown and more!

reconbot
published 5.0.0-beta9 •

reconbot
published 5.0.0-beta8 •

reconbot
published 5.0.0-beta7 •

reconbot
published 5.0.0-beta6 •

reconbot
published 5.0.0-beta5 •

reconbot
published 5.0.0-beta4 •

reconbot
published 5.0.0-beta3 •

reconbot
published 4.0.7 •

Changelog

Source

Version 4.0.7

  • [all] Fix baud rate parsing in serialport-terminal thanks to @radio-miskovice for reporting it!
  • [windows] Refactor SerialPort.list to be a lot smaller and pickup vendorId, productId and locationId thanks to @zensey for #877!
reconbot
published 4.0.7-beta4 •

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc