You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: .docs/README.hbs
+1-1Lines changed: 1 addition & 1 deletion
Original file line number
Diff line number
Diff line change
@@ -32,7 +32,7 @@ We're not against firmware but we're better than it.
32
32
33
33
You're reading the README for Node-Serialport's master branch. You probably want to see the README for our most recent release. See our [changelog](changelog.md) for what's new, and our [upgrade guide](UPGRADE_GUIDE.md) for a walk-through on differences between major versions.
34
34
35
-
- [`[email protected]-beta9` docs](https://github.com/EmergingTechnologyAdvisors/node-serialport/blob/5.0.0-beta9/README.md) the latest `5.x` release.
35
+
- [`[email protected]` docs](https://github.com/EmergingTechnologyAdvisors/node-serialport/blob/5.0.0/README.md) the latest `5.x` release. 🎉
36
36
- [`[email protected]` docs](https://github.com/EmergingTechnologyAdvisors/node-serialport/blob/4.0.7/README.md) the latest `4.x` release.
37
37
- [`[email protected]` docs](https://github.com/EmergingTechnologyAdvisors/node-serialport/blob/3.1.2/README.md) the last `3.x` release.
Copy file name to clipboardExpand all lines: PUBLISHING.md
+1-1Lines changed: 1 addition & 1 deletion
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -20,7 +20,7 @@ This can be checked in the .travis.yml file and appveyor.yml file. Within these
20
20
9. Kick off the build matrix for either the master or beta branch on [serialport-test-pilot](https://travis-ci.org/j5js/serialport-test-pilot). It will install serialport from npm on a wide range of systems.
21
21
22
22
Differences for beta release
23
-
* Tag like: `git tag 5.0.0-beta6 -a` and include the change log in the tag's annotation.
23
+
* Tag like: `git tag 6.0.0-beta6 -a` and include the change log in the tag's annotation.
24
24
* Publish with `npm publish --tag beta`
25
25
26
26
## Config Travis, AppVeyor and Github to generate all of the binaries.
Copy file name to clipboardExpand all lines: README.md
+1-1Lines changed: 1 addition & 1 deletion
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -41,7 +41,7 @@ We're not against firmware but we're better than it.
41
41
42
42
You're reading the README for Node-Serialport's master branch. You probably want to see the README for our most recent release. See our [changelog](changelog.md) for what's new, and our [upgrade guide](UPGRADE_GUIDE.md) for a walk-through on differences between major versions.
43
43
44
-
-[`[email protected]-beta9` docs](https://github.com/EmergingTechnologyAdvisors/node-serialport/blob/5.0.0-beta9/README.md) the latest `5.x` release.
44
+
-[`[email protected]` docs](https://github.com/EmergingTechnologyAdvisors/node-serialport/blob/5.0.0/README.md) the latest `5.x` release. 🎉
45
45
-[`[email protected]` docs](https://github.com/EmergingTechnologyAdvisors/node-serialport/blob/4.0.7/README.md) the latest `4.x` release.
46
46
-[`[email protected]` docs](https://github.com/EmergingTechnologyAdvisors/node-serialport/blob/3.1.2/README.md) the last `3.x` release.
Copy file name to clipboardExpand all lines: UPGRADE_GUIDE.md
+27-4Lines changed: 27 additions & 4 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -1,15 +1,38 @@
1
1
Upgrading from 4.x to 5.x
2
2
-------------
3
-
5.x is a major rewrite to make node serialport a NodeJS stream. While the api surface is similar there have been a number of changes to ensure more consistent error handling and operation of a serial port.
3
+
Node SerialPort 5.0.0 is a major rewrite that improves stability, compatibility and performance. While the api surface is similar there have been a number of changes to ensure consistent error handling and operation of a serial port.
4
4
5
+
### Platforms
6
+
- Drop NodeJS 0.10, 0.12, 5, and 7 support
7
+
- Add node 8 support (we now only support LTS node versions)
8
+
9
+
### The SerialPort Object
10
+
- Node SerialPoprt is now a [duplex stream](https://nodejs.org/api/stream.html) and can be paused and resumed on all platforms.
11
+
-`isOpen` is now a property
12
+
-`SerialPort.list` now has more consistent output across all platforms. This means the data in the objects may be different than 4x. Notably the path on OSX now returns the `tty` instead of the `cu` path and the `0x` has been removed from values on linux and osx.
13
+
-`port.path` is now read only
14
+
- removed lowercase options all options are now only accepted camelCase
15
+
- Changed parsers to be transform streams. There are replacements for the built in parsers but custom parsers will have to be modified.
16
+
17
+
### Open options
18
+
-`bufferSize` is now `highWaterMark` and defaults to 64k.
19
+
-`parser` is removed in favor of using the new transform streams parsers
20
+
21
+
### Opening and closing
5
22
- Removed the `disconnect` event. The `close` event now fires with a disconnect error object in the event of a disconnection.
6
-
-`drain` now waits for the current javascript write to complete before calling the system level drain.
7
23
-`port.isOpen` is now a property not a function
24
+
25
+
### Reading and writing.
26
+
-`port.on('data')` still works but `port.read()` and the `readable` event is now the preferred way to get data.
27
+
-`port.read()` is now the best way to read data
28
+
-`port.drain()` now waits for the current javascript write to complete before calling the system level drain.
29
+
30
+
### Other
31
+
- We now conform to NodeJS error message formats. Most messages have changed.
32
+
- The event loop is no longer held open if there are no active reads or writes
8
33
-`SerialPort.list` has slightly different output with more information, decoded strings and `0x` prefixes removed from some properties.
9
34
-`SerialPort.list` now returns a promise if no call back is provided
10
35
11
-
The exact changes will go here see #1046
12
-
13
36
Upgrading from 3.x to 4.x
14
37
-------------
15
38
4.x brings a lot of changes please see the [changelog](./changelog.md) for the full list of changes. We'll review the api and behavior changes here.
Copy file name to clipboardExpand all lines: changelog.md
+57-72Lines changed: 57 additions & 72 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -1,71 +1,78 @@
1
-
Version 5.0.0-beta9
1
+
Version 5.0.0 🎉
2
2
-------------
3
-
This closes all known bugs!
3
+
Nearly [a year in the making](https://github.com/EmergingTechnologyAdvisors/node-serialport/compare/4.0.7...5.0.0-beta9) 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`](https://nodejs.org/api/stream.html)! 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.
4
4
5
-
-[all]`SerialPort.list` now has more consistent output across all platforms.
6
-
-[all] Add promise support to serialport-repl
7
-
-[all] Add write recording capabilities to the mock bindings
8
-
-[all] calls to `.drain` now queue behind port open and in progress writes reported by and with lots of testing help from @tuna-f1sh
9
-
-[all] Change the default high water mark to 64k to match `fs.ReadStream`
10
-
-[all] fix(package): update bindings to version 1.3.0
11
-
-[all] SerialPort can now be compressed with `uglify-es` thanks to @rwaldron
12
-
-[docs] fixed a typo thanks to @amilajack
13
-
-[linux]`SerialPort.list` is now faster and less resource intensive thanks to @akaJes!
14
-
-[osx]`SerialPort.list` now returns the `tty` instead of the `cu` thanks to @@kishinmanglani
15
-
-[unix] fix a bug when poller errors would be unhandled thanks to @thiago-sylvain for reporting
5
+
Some major cpu performance gains on unix platforms can be found and we're less buggy and better performing on Windows too.
16
6
17
-
Version 5.0.0-beta8
18
-
-------------
19
-
If we're lucky this will be the last of the betas. The remaining potentially blocking issues have to do with improving `SerialPort.list` which would change their output. The two issues are #1220 and #1084. I need help on those two issues, if I'm not able to close them soon, I'll release anyway, and they'll be fixed for 6x. This release is large enough. -@reconbot
7
+
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.
20
8
21
-
-[linux] Add the `ttyAP` subsystem to serialport list thanks to @fly19890211 for reporting it
22
-
-[all] Have drain wait for pending JS write operations before calling system drain thanks to @digitalhack for reporting it
23
-
-[unix] Move setting up the baudrate to the end of the open() to better support custom baudrates
9
+
See our [upgrade guide](./UPGRADE_GUIDE.md) for detail on what to change to upgrade your app to use `[email protected]`. It's not much!
24
10
25
-
Version 5.0.0-beta7
26
-
-------------
27
-
-[all] Removed the `disconnect` event. The `close` event now fires with a disconnect error object in the event of a disconnection.
28
-
-[all] Exposed mocking serialport on `serialport/test`
11
+
Thank you to the 25 people who committed code and documentation and every person who submitted bug reports and tested changes!
29
12
30
-
Version 5.0.0-beta6
31
-
-------------
32
-
-[all] The `disconnect` event now more reliable. Will be emitted as an error if there are no listeners.
33
-
-[all]`SerialPort.list` now returns a usable promise if a callback is not provided @MikeKovarik
13
+
Notable Changes
14
+
-[all] Streams rewrite, node serialport is now a node stream! 🎉
15
+
-[all] Drop NodeJS 0.10, 0.12, 5, and 7 support
16
+
-[all] Add node 8 support (we now only support LTS node versions)
17
+
-[all] Introduce a binding layer to provide a common low level interface to work with different platforms.
34
18
-[unix] New read/write subsystem. Write CPU dropped from 100% to 0-2%. @reconbot (Thanks to @indutny for getting me unstuck many times!)
35
-
36
-
Version 5.0.0-beta5
37
-
-------------
19
+
-[windows] Rewrite reading so it's pausable thanks to @munyirik
20
+
-[docs] An overhaul how we document the api leveraging JSDOC
38
21
-[docs] An overhaul of the format and language in our docs thanks to @LappleApple
39
-
-[all] Remove the c++ write queue
40
-
-[all] Add node 8 support and drop node 7 support
41
-
42
-
Version 5.0.0-beta4
43
-
-------------
44
-
-[all] add regex stream parser and tests
45
-
-[all] upgrade to non deprecated buffer methods
46
-
-[docs] Add socketio example
47
-
-[windows] Fix unhandled promise rejection when calling read on Windows
48
22
49
-
Version 5.0.0-beta3
50
-
-------------
51
-
-[all] Streams rewrite, node serialport is now a node stream! 🎉
52
-
-[all] Introduce a binding layer to provide a common low level interface to work with different platforms.
23
+
Features
24
+
-[all]`isOpen` is now a property #899
25
+
-[all]`SerialPort.list` now has more consistent output across all platforms.
26
+
-[all]`SerialPort.list` returns a promise if a callback is not provided thanks to @MikeKovarik for bug fixes
27
+
-[all] A promise aware `serialport-repl` script for debugging and testing.
53
28
-[all] add `#get` to retrieve modem status flags thanks to @jgillick!
29
+
-[all] Add a `MockBinding` object for testing serialports in your project. Used internally too!
54
30
-[all] Add electron precompiled binaries thanks to @Mike-Dax
31
+
-[all] Add regex stream parser and tests @jessicaquynh
32
+
-[all] Allow reopening after an open error #910
33
+
-[all] calls to `.drain` now queue behind port open and in progress writes reported by and with lots of testing help from @tuna-f1sh
34
+
-[all] Change parsers to be transform streams #922
35
+
-[all] Change the default `highWaterMark` to 64k to match `fs.ReadStream`
55
36
-[all] Conform to NodeJS error message formats
56
-
-[all]Drop NodeJS 0.10 and 0.12 support
57
-
-[all]Fix baud rate parsing in `serialport-terminal`thanks to @radio-miskovice for reporting it!
58
-
-[all]Fix memory leak during opening a port thanks to @indutny
37
+
-[all]Exposed mocking serialport via `require('serialport/test')`
38
+
-[all]Have drain wait for pending JS write operations before calling system drain thanks to @digitalhack for reporting it
39
+
-[all]port.path is now read only #898
59
40
-[all] Refactor internals to make use of es6 and promises
41
+
-[all] Remove lowercase options #898
42
+
-[all] Remove the c++ write queue
60
43
-[all] Remove unnecessary dependencies and polyfills thanks to @mscdex
61
44
-[all] Remove v8 deprecation warnings thanks to @indutny again
45
+
-[all] Removed the `disconnect` event. The `close` event now fires with a disconnect error object in the event of a disconnection.
46
+
-[all] SerialPort can now be compressed with `uglify-es` thanks to @rwaldron
47
+
-[all] update bindings to version 1.3.0
62
48
-[all] Upgrade debug and node-pre-gyp
63
-
-[all] Upgrade nan to fix compile issues on some platforms thanks to @thom-nic
49
+
-[all] Upgrade to non deprecated buffer methods
64
50
-[docs] Add more installation notes on sudo, windows 10, electron and node 7
51
+
-[docs] Add socketio example @jessicaquynh
52
+
-[docs] Electron build docs #965 via @chalkers
65
53
-[docs] Mark new features in 5.0.0 with the fact they started in 5.0.0
66
-
-[windows] Fix file handle leak during opens when errors occur thanks to @enami
54
+
-[docs] Update parser docs to be correct #970 via @jacobq
55
+
-[linux]`SerialPort.list` is now faster and less resource intensive thanks to @akaJes!
56
+
-[linux] Add the `ttyAP` subsystem to serialport list thanks to @fly19890211 for reporting it
57
+
-[osx]`SerialPort.list` now returns the `tty` instead of the `cu` thanks to @kishinmanglani
58
+
-[unix] Flush now gives errors and flushes tx and rx #900
59
+
-[unix] Move setting up the baudrate to the end of the `open()` to better support custom baudrates
67
60
-[windows] Refactoring of `.list` for Windows so it's significantly smaller thanks to @Zensey
68
-
-[windows] Rewrite reading so it's pausable thanks to @munyirik
61
+
62
+
Fixes
63
+
-[all] Fix baud rate parsing in `serialport-terminal` thanks to @radio-miskovice for reporting it!
64
+
-[all] Fix memory leak during opening a port thanks to @indutny
65
+
-[all] fixed a crash when pausing while reading thanks to @bminer and @baffo32 and others to debug and fix this
66
+
-[all] Upgrade nan to fix compile issues on some platforms thanks to @thom-nic
67
+
-[docs] fixed a typo thanks to @amilajack
68
+
-[docs] Spelling fixes via @Awk34
69
+
-[unix] fix a bug when poller errors would be unhandled thanks to @thiago-sylvain for reporting
70
+
-[windows] Fix file handle leak during opens when errors occur thanks to @enami
71
+
-[windows] Fix flush behavior using PurgeComm fixing #962 via @samisaham
72
+
-[windows] Fix unhandled promise rejection when calling read on Windows
73
+
-[windows] Remove read and write timeouts solving #781 via @giseburt
74
+
75
+
We also had help testing, debugging, and designing from; @alaq@arve0@techninja@noopkat@HipsterBrown and more!
69
76
70
77
Version 4.0.7
71
78
-------------
@@ -86,18 +93,6 @@ Version 4.0.4
86
93
-------------
87
94
- Add precompiled binaries for node 7
88
95
89
-
Version 5.0.0-beta2
90
-
-------------
91
-
-[all] fixed a crash when pausing while reading thanks to @bminer and @baffo32 and others to debug and fix this
92
-
-[all] ReadLineParser has been renamed to ReadlineParser to match worldwide convention
93
-
-[windows] Fix flush behavior using PurgeComm fixing #962 via @samisaham
94
-
-[windows] Remove read and write timeouts solving #781 via @giseburt
95
-
-[docs] Electron build docs #965 via @chalkers
96
-
-[docs] Spelling fixes via @Awk34
97
-
-[docs] Update parser docs to be correct #970 via @jacobq
98
-
-[notes] buffer-indexof is now completely compliant with latest node 6 buffer.indexOf because it's nice to have and we now use it on older nodes
99
-
-[notes] dropped node 5 support, should still work but you shouldn't use it
100
-
101
96
Version 4.0.3
102
97
-------------
103
98
- Switch to the lie promise library as it's smaller and mimics nodejs's promise closer
@@ -107,16 +102,6 @@ Version 4.0.2
107
102
-------------
108
103
-[unix] Fix a bug when we'd crash when pausing during a read
109
104
110
-
Version 5.0.0-beta1
111
-
-------------
112
-
-`isOpen` is now a property #899
113
-
- Allow reopening after an open error #910
114
-
- Change parsers to be transform streams #922
115
-
- port.path is now read only #898
116
-
- Remove lowercased options #898
117
-
- Switch to Lie as a promise library (smaller)
118
-
-[unix] Flush now gives errors and flushes tx and rx #900
119
-
120
105
Version 4.0.1
121
106
-------------
122
107
-[linux] Do not replace the native Promise when it is available thanks to @zewish for the fix
@@ -395,7 +380,7 @@ Version 0.2.1
395
380
- Refactored the parsing code upon data receipt, now allows for dynamic specification of how incoming data is handled.
396
381
- Revised creation interface to use named parameters as an object versions positional parameters.
0 commit comments