This release introduces support for async methods in applications. Other notable changes include fixes for ExpiringMap storage, reconnection, argument output in the CLI, support for passing additional info in errors, and introduction of the package documentation and tutorial.
Notable changes:
- lib: fix invalid args handling in reconnectFn() (Mykola Bilochub) #411
- lib: fix ExpiringMap internal storage growing (Mykola Bilochub) #414
- docs: use mkdocs for documentation (Mykola Bilochub) #410 [semver-minor]
- cli: improve args serialization (Mykola Bilochub) #415 [semver-minor]
- docs: add tutorial to documentation (mille-nium) #417 [semver-minor]
- lib: add support for custom error serialization (Mykola Bilochub) #418 [semver-minor]
- lib: allow passing additional info to RemoteError (Mykola Bilochub) #425 [semver-minor]
- lib: add support for async methods in Applications (Mykola Bilochub) #423 [semver-minor]
All changes:
- deps: use prettier for code formatting (Dmytro Nechai) #402
- deps: update devDependencies (Mykola Bilochub) #403
- npm: add Prettier configs to .npmignore (Mykola Bilochub) #408
- deps: update Prettier and fix configs (Mykola Bilochub) #409
- lib: fix invalid args handling in reconnectFn() (Mykola Bilochub) #411
- lib: fix ExpiringMap internal storage growing (Mykola Bilochub) #414
- deps: update mdsf and devDependencies (Mykola Bilochub) #416
- docs: use mkdocs for documentation (Mykola Bilochub) #410 [semver-minor]
- cli: improve args serialization (Mykola Bilochub) #415 [semver-minor]
- docs: add tutorial to documentation (mille-nium) #417 [semver-minor]
- docs: fix incorrect term usage (Mykola Bilochub) #421
- lib: add support for custom error serialization (Mykola Bilochub) #418 [semver-minor]
- docs: replace http with https in all links (Mykola Bilochub) #424
- lib: allow passing additional info to RemoteError (Mykola Bilochub) #425 [semver-minor]
- lib: add support for async methods in Applications (Mykola Bilochub) #423 [semver-minor]
- deps: update dependencies (Mykola Bilochub) #420
Remove unsupported Web Crypto API browser warning.
All changes:
- deps: use prettier for code formatting (Dmytro Nechai) #402
- deps: update devDependencies (Mykola Bilochub) #403
- lib: remove unsupported Web Crypto API warning (Alexey Orlenko) #404
- meta: update year in LICENSE (Mykola Bilochub) #405
- meta: update .mailmap (Mykola Bilochub) #406
This minor version release features multiple fixes and improvements to the client implementation and the CLI, including the addition of the persistent history, pretty-printing, and man page. It also features a fix for a potential WebSocket server vulnerability.
All changes:
- lib: move RemoteError to es6 class (Denys Otrishko) #385
- conn: make reconnection consistent (Mykola Bilochub) #386
- lib: fix unhandled error events on connection (Mykola Bilochub) #389
- conn: return error when handshake is not received (Mykola Bilochub) #387 [semver-minor]
- test: fix invalid test (Dmytro Nechai) #388
- cli: add persistent history implementation (Mykola Bilochub) #390 [semver-minor]
- cli: enable reconnection reporting (Mykola Bilochub) #391 [semver-minor]
- ws,server: avoid forwarding 'clientError' event (Mykola Bilochub) #392
- lib: change the default reconnector behavior (Mykola Bilochub) #393
- deps,lint: update dependencies (Mykola Bilochub) #394
- cli: add pretty-print option (Mykola Bilochub) #395 [semver-minor]
- cli: fix incorrect --verbose option behavior (Mykola Bilochub) #397
- cli: add --version option, print version in help (Mykola Bilochub) #398 [semver-minor]
- cli,doc: add man page for jstp-cli (Mykola Bilochub) #396 [semver-minor]
- cli: add --help option to the man page (Mykola Bilochub) #401 [semver-minor]
- doc: add a notice about the CLI to the README.md (Mykola Bilochub) #400
This release fixes and improves WebSocket transport.
All changes:
- ws,server: fix server crash (Mykola Bilochub) #380
- test: add regression test for GH-380 (Alexey Orlenko) #380
- deps,lint: update eslint-config-metarhia (Mykola Bilochub) #382
- ws,server: change max frame and message size (Mykola Bilochub) #383 [semver-minor]
This release fixes UMD browser build and updates links in README.
All changes:
- doc: update package name in documentation (Mykola Bilochub) #376
- build: tell Babel parser the correct source type (Alexey Orlenko) #378
Next major release of the package marks the addition of built-in reconnection functionality, using UMD for browser bundle, support for asynchronous SessionStorageProviders, support for custom logging on client-side and support for custom authentication errors. CLI was also updated to support some of the features above. Reconnection is enabled by default and uses the binary exponential backoff algorithm; this is considered a breaking change.
The other breaking change is decoupling of the parser and serializer into the
separate package: https://github.com/metarhia/mdsf. This means that methods
parse()
, stringify()
and parseNetworkMessages()
are no longer available
as part of the jstp package.
Starting with this release metarhia-jstp
is being moved into the @metarhia
organization on npm, the new name of the package is @metarhia/jstp
.
Notable changes:
- lib: add support for async SessionStorageProvider (Mykola Bilochub) #323 [semver-minor]
- lib: realize reconnection by transport replacement (Mykola Bilochub) #332 [semver-major]
- server: enable returning errors from authPolicy (Igor Gorodetskyy) #342 [semver-minor]
- lib: add utility for call messages resending (Mykola Bilochub) #320 [semver-minor]
- connection: enable custom logging on client (Mykola Bilochub) #354
- build: use UMD for browser bundle (Alexey Orlenko) #355 [semver-minor]
- lib,build: use Web Crypto API in browser (Mykola Bilochub) #360
- serde: remove serde implementation and use mdsf (Mykola Bilochub) #367 [semver-major]
- cli: use new jstp features (Dmytro Nechai) #366
All changes:
- lib: add support for async SessionStorageProvider (Mykola Bilochub) #323 [semver-minor]
- lib: add required functionality to common (Mykola Bilochub) #332 [semver-minor]
- lib: realize reconnection by transport replacement (Mykola Bilochub) #332 [semver-major]
- test: add tests for reconnection (Dmytro Nechai) #335
- server: enable returning errors from authPolicy (Igor Gorodetskyy) #342 [semver-minor]
- meta: update AUTHORS (Mykola Bilochub) #343
- connection: fix reconnect throwing in some cases (Mykola Bilochub) #345
- server: fix call to async sessionStorageProvider (Mykola Bilochub) #346
- test: increase timeout for heartbeat test to end (Dmytro Nechai) #347
- dist: remove tern configuration file (Mykola Bilochub) #351
- dist: remove bitHound configuration file (Mykola Bilochub) #350
- test: fix flaky session test (Dmytro Nechai) #352
- lib: add utility for call messages resending (Mykola Bilochub) #320 [semver-minor]
- connection: enable custom logging on client (Mykola Bilochub) #354
- deps,lint: update eslint config (Dmytro Nechai) #353
- build: use UMD for browser bundle (Alexey Orlenko) #355 [semver-minor]
- test: update Travis config to use the current Node (Mykola Bilochub) #356
- test: add tests for SimpleSessionStorageProvider (Dmytro Nechai) #358
- test: add a missing regression test for GH-329 (Alexey Orlenko) #359
- build: shorten npm error logs when build fails (Alexey Orlenko) #362
- lib,build: use Web Crypto API in browser (Mykola Bilochub) #360
- npm: add development related files to .npmignore (Mykola Bilochub) #364
- test: fix typos s/recieve/receive (Denys Otrishko) #365
- test: fix flaky tests (Dmytro Nechai) #363
- lib: fix resendable calls being sent twice (Mykola Bilochub) #369
- test: add test for async sessionStorageProvider (Dmytro Nechai) #370
- test: simplify resendable call tests (Dmytro Nechai) #368
- serde: remove serde implementation and use mdsf (Mykola Bilochub) #367 [semver-major]
- cli: use new jstp features (Dmytro Nechai) #366
- deps,lint: update eslint-config-metarhia (Mykola Bilochub) #371
- deps: update dependencies (Mykola Bilochub) #372
- deps: update babel and webpack (Mykola Bilochub) #373
- build: deduplicate Babel helpers (Alexey Orlenko) #374
This is a bugfix release.
Notable changes:
- lib: add missing callback call (Mykola Bilochub) #329
- deps: update dependencies (Mykola Bilochub) #331
- doc,deps: remove gitbook dependency (Mykola Bilochub) #336
- deps: update dependencies (Mykola Bilochub) #337
- connection: fix incorrect client-side message IDs (Mykola Bilochub) #339
All changes:
- connection: use Map for storing callbacks (Mykola Bilochub) #319
- test: remove obsolete lines (Dmytro Nechai) #321
- test: run node tests in parallel (Dmytro Nechai) #322
- build: fix native addon building on AppVeyor (Mykola Bilochub) #324
- build: fail CI if native addon build fails (Dmytro Nechai) #325
- test: fix
connection-emit-actions
test (Dmytro Nechai) #326 - doc: fix invalid documentation (Dmytro Nechai) #328
- lib: add missing callback call (Mykola Bilochub) #329
- deps: update dependencies (Mykola Bilochub) #331
- test: fix AppVeyor builds on Node.js 6 (Mykola Bilochub) #334
- doc,deps: remove gitbook dependency (Mykola Bilochub) #336
- deps: update dependencies (Mykola Bilochub) #337
- doc: add AppVeyor and Coveralls badges to README (Alexey Orlenko) #338
- connection: fix incorrect client-side message IDs (Mykola Bilochub) #339
This is mostly a bugfix release. Additionally, events for logging are emitted on the server now.
Notable changes:
- connection: fix remoteAddress being undefined (Mykola Bilochub) #313
- lib: emit logging info from connection on a server (Dmytro Nechai) #312 [semver-minor]
- connection: reject invalid event message (Mykola Bilochub) #315
All changes:
- connection: fix remoteAddress being undefined (Mykola Bilochub) #313
- meta: update year in LICENSE (Mykola Bilochub) #314
- lib: emit logging info from connection on a server (Dmytro Nechai) #312 [semver-minor]
- connection: reject invalid event message (Mykola Bilochub) #315
- lib: fix incorrect comment (Mykola Bilochub) #316
- server: fix comment explaining authPolicy argument (Mykola Bilochub) #317
This is a new and shiny first major release for metarhia-jstp
.
Changes include API refactoring and improvements, implementations of
CLI, sessions, and application versions, native addon build optimizations,
lots of bug fixes, test coverage increase, and other, less notable changes.
This release also denotes the bump of the protocol version to v1.0.
The only difference from the previous version of the protocol is that
"old" heartbeat messages ({}
) are now deprecated and ping
/pong
messages must be used for this purpose instead.
Notable changes:
- src,build: improve the native module subsystem (Alexey Orlenko) #36 [semver-minor]
- build: compile in ISO C++11 mode (Alexey Orlenko) #37 [semver-minor]
- build: improve error handling (Alexey Orlenko) #40 [semver-minor]
- lib: refactor record-serialization.js (Alexey Orlenko) #41
- parser: fix a possible memory leak (Alexey Orlenko) #44 [semver-minor]
- protocol: change the format of handshake packets (Alexey Orlenko) #54 [semver-major]
- parser: make parser single-pass (Mykola Bilochub) #61
- parser: remove special case for '\0' literal (Mykola Bilochub) #68 [semver-major]
- parser: fix bug causing node to crash (Mykola Bilochub) #75
- client: drop redundant callback argument (Alexey Orlenko) #104 [semver-major]
- client: handle errors in connectAndInspect (Alexey Orlenko) #105 [semver-major]
- socket,ws: use socket.destroy() properly (Alexey Orlenko) #84 [semver-major]
- cli: add basic implementation (Mykola Bilochub) #107 [semver-minor]
- connection: fix error handling in optional cbs (Alexey Orlenko) #147 [semver-major]
- test: add JSON5 specs test suite (Alexey Orlenko) #158
- lib: change event signature (Denys Otrishko) #187 [semver-major]
- lib: add address method to Server (Denys Otrishko) #190 [semver-minor]
- parser: implement NaN and Infinity parsing (Mykola Bilochub) #201
- parser: improve string parsing performance (Mykola Bilochub) #220
- lib: optimize connection events (Denys Otrishko) #222 [semver-major]
- lib: refactor server and client API (Denys Otrishko) #209 [semver-major]
- lib,src: rename term packet usages to message (Denys Otrishko) #270 [semver-major]
- lib: emit events about connection messages (Denys Otrishko) #252 [semver-minor]
- lib: implement API versioning (Denys Otrishko) #231 [semver-minor]
- lib: allow to set event handlers in application (Denys Otrishko) #286 [semver-minor]
- lib: allow to broadcast events from server (Denys Otrishko) #287 [semver-minor]
- connection: make callback method private (Alexey Orlenko) #306 [semver-major]
- lib: implement sessions (Mykola Bilochub) #289 [semver-major]
- connection: use ping-pong instead of heartbeat (Dmytro Nechai) #303 [semver-major]
All changes:
- src,build: improve the native module subsystem (Alexey Orlenko) #36 [semver-minor]
- build: compile in ISO C++11 mode (Alexey Orlenko) #37 [semver-minor]
- build: improve error handling (Alexey Orlenko) #40 [semver-minor]
- lib: refactor record-serialization.js (Alexey Orlenko) #41 [semver-minor]
- doc: document versioning policy (Alexey Orlenko) #42
- doc: fix mistyped repository name (Alexey Orlenko) #45
- parser: fix a possible memory leak (Alexey Orlenko) #44
- test: add Node.js 7.5 to .travis.yml (Alexey Orlenko) #47
- test: fix typos in connection.test.js (Alexey Orlenko) #51
- doc: fix a typo in protocol.md (Alexey Orlenko) #55
- connection: handle optional callbacks properly (Alexey Orlenko) #52
- protocol: change the format of handshake packets (Alexey Orlenko) #54 [semver-major]
- server: clean internal structures on close (Alexey Orlenko) #59
- src,build: add missing header (Mykola Bilochub) #64
- src: add curly braces in
switch
statements (Mykola Bilochub) #62 - build: fail CI if native addon build fails (Alexey Orlenko) #65
- parser: make parser single-pass (Mykola Bilochub) #61
- src: fix single-line comment spacing (Mykola Bilochub) #67
- parser: improve string parsing (Mykola Bilochub) #66
- parser: remove special case for '\0' literal (Mykola Bilochub) #68 [semver-major]
- src: fix inconsistency in empty string creation (Mykola Bilochub) #70
- doc: document protocol versioning policy (Alexey Orlenko) #56
- lib: fix behavior with util.inspect (Alexey Orlenko) #72
- deps,build: update webpack to 2.x (Alexey Orlenko) #73
- build,test: avoid unnecessary recompiling (Alexey Orlenko) #74
- doc: update badges in README.md and doc/index.md (Alexey Orlenko) #71
- parser: fix bug causing node to crash (Mykola Bilochub) #75
- tools: automate the release preparation (Alexey Orlenko) #77
- server: handle connection errors before handshake (Alexey Orlenko) #78
- connection: close connection on transport error (Alexey Orlenko) #78
- doc: fix linter warning in CHANGELOG.md (Alexey Orlenko) #80
- tools: remove crlf.js from dot-ignore files (Alexey Orlenko) #83
- npm: don't include doc/ and mkdocs.yml to package (Alexey Orlenko) #82
- doc: add session WG meeting (Mykola Bilochub) #81
- lint: update remark (Alexey Orlenko) #87
- test: add Node.js 6.10 and 7.6 to .travis.yml (Alexey Orlenko) #86
- tools: move build-native.js to tools (Alexey Orlenko) #89
- lib: make failed addon loading more informative (Alexey Orlenko) #90
- w3c-ws: emit missing error event (Alexey Orlenko) #93
- w3c-ws: fix invalid property access (Alexey Orlenko) #94
- test: add Node.js 7.7 to .travis.yml (Alexey Orlenko) #95
- connection: change style of a forward declaration (Alexey Orlenko) #96
- lib: change multiline function signatures style (Alexey Orlenko) #97
- tools: generate authors list automatically (Alexey Orlenko) #88
- meta: update AUTHORS and .mailmap (Alexey Orlenko) #88
- meta: fix misleading language in LICENSE (Alexey Orlenko) #88
- connection: check that method arguments exist (Alexey Orlenko) #100
- src: fix incorrect indentation in CodePointToUtf8 (Alexey Orlenko) #103
- client: drop redundant callback argument (Alexey Orlenko) #104 [semver-major]
- client: handle errors in connectAndInspect (Alexey Orlenko) #105 [semver-major]
- socket,ws: use socket.destroy() properly (Alexey Orlenko) #84 [semver-major]
- test: add Node.js 7.8 to .travis.yml (Alexey Orlenko) #119
- lint: add arrow-parens rule to eslint (Denys Otrishko) #122
- meta: update AUTHORS (Alexey Orlenko) #123
- cli: add basic implementation (Mykola Bilochub) #107 [semver-minor]
- cli: refactor code and fix bugs (Denys Otrishko) #107 [semver-minor]
- cli: add 'exit' command (Denys Otrishko) #107 [semver-minor]
- cli: add server events support (Mykola Bilochub) #107 [semver-minor]
- cli: display async results properly (Denys Otrishko) #107 [semver-minor]
- cli: fix stylistic mistakes (Denys Otrishko) #107 [semver-minor]
- cli: modify
_split
behaviour (Mykola Bilochub) #107 [semver-minor] - cli: move cli.js to tools and make it executable (Alexey Orlenko) #107 [semver-minor]
- cli: fix prompt display bug (Denys Otrishko) #107 [semver-minor]
- cli: fix 'disconnect' error handling bug (Denys Otrishko) #107 [semver-minor]
- test: add Node.js 7.9 and 7.10 to .travis.yml (Alexey Orlenko) #124
- tcp: fix URL parsing in client creation (Mykola Bilochub) #128
- cli: fix jstp import statement (Denys Otrishko) #130
- lint: add import/no-unresolved ESLint rule (Alexey Orlenko) #133
- cli: modify split behaviour (Denys Otrishko) #132
- cli: implement autocompletion for cli commands (Denys Otrishko) #132
- cli: refine error messages (Denys Otrishko) #135
- cli: avoid crashing on incorrect user input (Mykola Bilochub) #137
- ws: fix emitting error when callback is provided (Mykola Bilochub) #136
- cli: support different transports for connection (Mykola Bilochub) #138
- cli: fix cli autocompletion (Denys Otrishko) #140
- parser: fix '[' being parsed as an empty array (Mykola Bilochub) #144
- parser: fix exceptions being ignored (Mykola Bilochub) #143
- cli: simplify cli autocompletion (Denys Otrishko) #150
- test: migrate serde tests to tap (Dmytro Nechai) #153
- meta: update AUTHORS (Alexey Orlenko) #156
- test: fix naming issues in serde test cases (Dmytro Nechai) #161
- connection: fix error handling in optional cbs (Alexey Orlenko) #147 [semver-major]
- test: add JSON5 specs test suite (Alexey Orlenko) #158
- doc: modernize README.md and add CoC (Alexey Orlenko) #166
- cli: add method autocompletion (Denys Otrishko) #141
- doc: add notes for the 2017-04-11 meeting (Alexey Orlenko) #165
- npm: don't publish tests in the npm package (Alexey Orlenko) #159
- test: refactor serde tests a bit (Dmytro Nechai) #169
- test: migrate message parser tests to tap (Dmytro Nechai) #168
- test: fix using incorrect field in serde tests (Mykola Bilochub) #172
- parser: fix not throwing error in some cases (Mykola Bilochub) #171
- lib, test: remove JSOS (Dmytro Nechai) #170
- cli: fix crush on event reception (Mykola Bilochub) #173
- cli: fix crash on socket errors (Mykola Bilochub) #174
- doc: update links to JSTP repos (Alexey Orlenko) #177
- test: migrate remoteError tests to tap (Dmytro Nechai) #167
- parser: rework error handling (Mykola Bilochub) #178
- parser: disallow unterminated multiline comments (Mykola Bilochub) #179
- dist: add nyc output files to dotignore files (Alexey Orlenko) #180
- cli: refactor cli.js (Denys Otrishko) #127
- build: run native addon build in parallel (Mykola Bilochub) #185
- test: migrate common.js tests to tap (Dmytro Nechai) #176
- tcp: fix listening on port 0 (Alexey Orlenko) #189
- test: refactor tests (Dmytro Nechai) #182
- tcp: fixup "fix listening on port 0" (Alexey Orlenko) #191
- cli: fix event handling (Denys Otrishko) #196
- lib: change event signature (Denys Otrishko) #187 [semver-major]
- deps: update deps and add package-lock.json (Alexey Orlenko) #186
- lib: add address method to Server (Denys Otrishko) #190 [semver-minor]
- dist: ignore clang autocompletion files (Alexey Orlenko) #194
- test: add Node.js 8 to .travis.yml (Alexey Orlenko) #195
- test: autodetect available browsers in karma (Denys Otrishko) #193
- tcp: fix TLS server creation (Alexey Orlenko) #197
- test: migrate handshake and server tests (Dmytro Nechai) #183
- doc: update links to repos (Timur Shemsedinov) #203
- test: migrate call and callback tests (Dmytro Nechai) #200
- test: migrate event and remote-proxy tests (Dmytro Nechai) #199
- test: migrate inspect and remote-proxy tests (Dmytro Nechai) #198
- doc: fix extra spaces inside links in README.md (Alexey Orlenko) #205
- parser: implement NaN and Infinity parsing (Mykola Bilochub) #201
- parser: disallow empty hex, octal, binary literals (Mykola Bilochub) #207
- parser: fix parsing of big integer values (Mykola Bilochub) #208
- cli: fix exception on unestablished connection (Denys Otrishko) #210
- cli: refactor disconnect command processor (Mykola Bilochub) #212
- test: run lint first (Dmytro Nechai) #215
- dist: update tap (Dmytro Nechai) #214
- dist: add coverage task (Dmytro Nechai) #214
- test: remove mocha and karma (Dmytro Nechai) #213
- dist: rename test commands (Dmytro Nechai) #213
- parser: parse noctal number literals (Mykola Bilochub) #221
- parser: improve string parsing performance (Mykola Bilochub) #220
- parser: allow numeric literals as object keys (Mykola Bilochub) #223
- test: use lodash.isEqual instead of tap.strictSame (Dmytro Nechai) #206
- lib: optimize connection events (Denys Otrishko) #222 [semver-major]
- parser,tools: parse Unicode identifiers (Mykola Bilochub) #218
- build: choose the Unicode tables via env variable (Alexey Orlenko) #218
- lib: refactor server and client API (Denys Otrishko) #209 [semver-major]
- doc: update examples according to the new API (Denys Otrishko) #209 [semver-major]
- lib: make
safeRequire()
return tuple (Dmytro Nechai) #226 - deps: update deps and regenerate package-lock.json (Alexey Orlenko) #225
- deps: update
tap
(Dmytro Nechai) #227 - doc: fix indentation in README.md (Denys Otrishko) #232
- dist: fix language statistics on GitHub (Mykola Bilochub) #233
- cli: update cli according to api changes (Denys Otrishko) #230
- src: remove native serializer (Dmytro Nechai) #228
- src,tools: update Unicode version (Mykola Bilochub) #234
- test: refactor fixtures for serde tests (Dmytro Nechai) #236
- parser: parse Unicode escape sequences in keys (Mykola Bilochub) #219
- doc: remove unused variable from README example (Mykola Bilochub) #240
- lib,test,tools: fix linter errors with ESLint 4 (Alexey Orlenko) #242
- deps: update ESLint and eslint-plugin-import (Alexey Orlenko) #242
- parser: allow uppercase letters in number literals (Mykola Bilochub) #239
- doc: remove examples/data-formats (Alexey Orlenko) #238
- parser: deprecate legacy octal integer literals (Mykola Bilochub) #247
- lib: rewrite i-face introspection without promises (Timur Shemsedinov) #245
- test: add tests for JSON5 stringify (Dmytro Nechai) #237
- test: add tests for number parsing (Dmytro Nechai) #241
- deps: update the dependencies and recreate lock (Alexey Orlenko) #249
- test: add Node.js 6.11 and 8.1 to .travis.yml (Alexey Orlenko) #248
- cli: support connections via Unix domain sockets (Mykola Bilochub) #251
- lib: make the code style more consistent (Timur Shemsedinov) #244
- lib: refactor return style (Timur Shemsedinov) #256
- test: add handshake timeout test (Dmytro Nechai) #255
- lib,src: rename record serialization to serde (Dmytro Nechai) #229
- lint: add comma-dangle rule to eslint (Dmytro Nechai) #257
- tools: disable history for
readline.Interface
(Mykola Bilochub) #259 - test: fix race condition in connection-handshake (Dmytro Nechai) #260
- src: fix building on the old gcc versions (Mykola Bilochub) #264
- test: enable tests for js parser implementation (Alexey Orlenko) #258
- build: fix building with Node.js 6 on macOS (Alexey Orlenko) #265
- test: rewrite the Travis config (Alexey Orlenko) #263
- lib: fix W3C WebSocket event forwarding (Dmytro Nechai) #266
- test: add .appveyor.yml (Alexey Orlenko) #261
- test: use tap's built-in todo test facilities (Alexey Orlenko) #267
- test: add tests for websocket transport (Dmytro Nechai) #268
- dist: add code coverage folders to .eslintignore (Dmytro Nechai) #272
- test: add wss tests (Dmytro Nechai) #271
- lib,src: rename term packet usages to message (Denys Otrishko) #270 [semver-major]
- deps: update devDependencies (Alexey Orlenko) #275
- deps: add missing uuid dependency (Alexey Orlenko) #280
- doc: fix a mistake in README.md (Alexey Orlenko) #278
- test: fix a typo (Dmytro Nechai) #276
- bench: add simple benchmark (Dmytro Nechai) #253
- lib: emit events about connection messages (Denys Otrishko) #252 [semver-minor]
- lint: use handle-callback-err rule (Alexey Orlenko) #279
- lib: implement API versioning (Denys Otrishko) #231 [semver-minor]
- lib: add handling of EAGAIN error on connection (Mykola Bilochub) #281
- lib: fix server's
connect
event (Mykola Bilochub) #284 - lib: disable update of messageId on callback send (Mykola Bilochub) #285
- test: add transport tests (Dmytro Nechai) #273
- lib: refactor server's getClients method (Denys Otrishko) #288
- lib: allow to set event handlers in application (Denys Otrishko) #286 [semver-minor]
- lib: allow to broadcast events from server (Denys Otrishko) #287 [semver-minor]
- server: fix handshake timeout logic (Alexey Orlenko) #290
- connection: refactor heartbeatCallback to a lambda (Alexey Orlenko) #291
- lib: fix multiple calls of callback in connect (Mykola Bilochub) #293
- doc: start working on new documentation (Alexey Orlenko) #277
- test: rewrite ws, wss and W3C ws tests (Dmytro Nechai) #295
- test: don't use tap's todo test annotation (Dmytro Nechai) #299
- test: fix serialization todo test case (Dmytro Nechai) #299
- deps: update dependencies (Alexey Orlenko) #297
- bench: add distributed benchmark (Dmytro Nechai) #292
- doc: fix linter errors in markdown files (Alexey Orlenko) #301
- lint: revive markdown linting (Alexey Orlenko) #301
- lint,deps: move ESLint config to separate package (Alexey Orlenko) #302
- lib: refactor remoteProxy using classes (Dmytro Nechai) #269
- doc: add connection API documentation (Dmytro Nechai) #300
- lib: remove unnecessary spread operator (Dmytro Nechai) #304
- deps: update dependencies (Dmytro Nechai) #305
- test: update Travis config to use the current Node (Alexey Orlenko) #307
- connection: make callback method private (Alexey Orlenko) #306 [semver-major]
- server: add a way to update API (Dmytro Nechai) #309
- application: make
1.0.0
the default version (Dmytro Nechai) #310 - server: add a way for updating API on connections (Dmytro Nechai) #310
- lib: implement sessions (Mykola Bilochub) #289 [semver-major]
- test: add test for resending on connection drop (Dmytro Nechai) #289 [semver-major]
- lib: fix connection restore (Dmytro Nechai) #289 [semver-major]
- connection: use ping-pong instead of heartbeat (Dmytro Nechai) #303 [semver-major]
- deps: update dependencies (Alexey Orlenko) #308
This is a tiny semver-patch release.
Notable changes:
- client: handle errors in connectAndInspect (Alexey Orlenko) #106
All changes:
- client: handle errors in connectAndInspect (Alexey Orlenko) #106
- src: fix incorrect indentation in CodePointToUtf8 (Alexey Orlenko) #103
- test: add Node.js 7.8 to .travis.yml (Alexey Orlenko) #119
This is a bugfix release.
Notable changes:
- lib: make failed addon loading more informative (Alexey Orlenko) #90
- w3c-ws: emit missing error event (Alexey Orlenko) #93
- w3c-ws: fix invalid property access (Alexey Orlenko) #94
- connection: check that method arguments exist (Alexey Orlenko) #100
All changes:
- doc: fix linter warning in CHANGELOG.md (Alexey Orlenko) #80
- tools: remove crlf.js from dot-ignore files (Alexey Orlenko) #83
- npm: don't include doc/ and mkdocs.yml to package (Alexey Orlenko) #82
- doc: add session WG meeting (Mykola Bilochub) #81
- lint: update remark (Alexey Orlenko) #87
- test: add Node.js 6.10 and 7.6 to .travis.yml (Alexey Orlenko) #86
- tools: move build-native.js to tools (Alexey Orlenko) #89
- lib: make failed addon loading more informative (Alexey Orlenko) #90
- w3c-ws: emit missing error event (Alexey Orlenko) #93
- w3c-ws: fix invalid property access (Alexey Orlenko) #94
- test: add Node.js 7.7 to .travis.yml (Alexey Orlenko) #95
- connection: change style of a forward declaration (Alexey Orlenko) #96
- lib: change multiline function signatures style (Alexey Orlenko) #97
- tools: generate authors list automatically (Alexey Orlenko) #88
- meta: update AUTHORS and .mailmap (Alexey Orlenko) #88
- meta: fix misleading language in LICENSE (Alexey Orlenko) #88
- connection: check that method arguments exist (Alexey Orlenko) #100
This is mostly a bugfix release. Additionally, parser performance is improved.
Notable changes:
- server: clean internal structures on close (Alexey Orlenko) #59
- src,build: add missing header (Mykola Bilochub) #64
- parser: make parser single-pass (Mykola Bilochub) #61
- lib: fix behavior with util.inspect (Alexey Orlenko) #72
- parser: fix bug causing node to crash (Mykola Bilochub) #75
- server: handle connection errors before handshake (Alexey Orlenko) #78
- connection: close connection on transport error (Alexey Orlenko) #78
All changes:
- server: clean internal structures on close (Alexey Orlenko) #59
- src,build: add missing header (Mykola Bilochub) #64
- src: add curly braces in
switch
statements (Mykola Bilochub) #62 - build: fail CI if native addon build fails (Alexey Orlenko) #65
- parser: make parser single-pass (Mykola Bilochub) #61
- src: fix single-line comment spacing (Mykola Bilochub) #67
- parser: improve string parsing (Mykola Bilochub) #66
- src: fix inconsistency in empty string creation (Mykola Bilochub) #70
- doc: document protocol versioning policy (Alexey Orlenko) #56
- lib: fix behavior with util.inspect (Alexey Orlenko) #72
- deps,build: update webpack to 2.x (Alexey Orlenko) #73
- build,test: avoid unnecessary recompiling (Alexey Orlenko) #74
- doc: update badges in README.md and doc/index.md (Alexey Orlenko) #71
- parser: fix bug causing node to crash (Mykola Bilochub) #75
- tools: automate the release preparation (Alexey Orlenko) #77
- server: handle connection errors before handshake (Alexey Orlenko) #78
- connection: close connection on transport error (Alexey Orlenko) #78
This is a backport release that brings the most essential changes and bugfixes from v0.6 to currently used in at least one real project v0.5.
Notable changes:
- parser: fix memory leaks (Alexey Orlenko) 371f7dd
- parser: fix bugs in JSRS parser (Alexey Orlenko) #109
- src,build: improve the native module subsystem (Alexey Orlenko) #110 [semver-minor]
- build: compile in ISO C++11 mode (Alexey Orlenko) #37 [semver-minor]
- parser: fix a possible memory leak (Alexey Orlenko) #44
- parser: make parser single-pass (Mykola Bilochub) #61
- parser: improve string parsing (Mykola Bilochub) #66
- parser: fix bug causing node to crash (Mykola Bilochub) #75
- connection: check that method arguments exist (Alexey Orlenko) #100
All changes:
- parser: fix memory leaks (Alexey Orlenko) 371f7dd
- parser: fix bugs in JSRS parser (Alexey Orlenko) #109
- parser: fix compiler warnings (Alexey Orlenko) 851a2c6
- examples: fix inconsistency with specification (Alexey Orlenko) 05461bf
- lint: ignore Object Serialization examples (Alexey Orlenko) 94609f0
- dist: update LICENSE (Alexey Orlenko) 8c5f830
- src: simplify and update license boilerplates (Alexey Orlenko) 16b1e95
- test: add Node.js 7.3 and 7.4 to .travis.yml (Alexey Orlenko) fa722e7
- src,build: improve the native module subsystem (Alexey Orlenko) #110 [semver-minor]
- src,build: add missing header (Mykola Bilochub) #64
- build: compile in ISO C++11 mode (Alexey Orlenko) #37 [semver-minor]
- doc: document versioning policy (Alexey Orlenko) #42
- parser: fix a possible memory leak (Alexey Orlenko) #44
- test: add Node.js 7.5 to .travis.yml (Alexey Orlenko) #47
- doc: fix a typo in protocol.md (Alexey Orlenko) #55
- server: clean internal structures on close (Alexey Orlenko) #59
- src: add curly braces in
switch
statements (Mykola Bilochub) #62 - parser: make parser single-pass (Mykola Bilochub) #61
- src: fix single-line comment spacing (Mykola Bilochub) #67
- parser: improve string parsing (Mykola Bilochub) #66
- src: fix inconsistency in empty string creation (Mykola Bilochub) #70
- doc: document protocol versioning policy (Alexey Orlenko) #56
- parser: fix bug causing node to crash (Mykola Bilochub) #75
- connection: close connection on transport error (Alexey Orlenko) #78
- doc: fix mistyped repository name (Alexey Orlenko) #111
- test: fix typos in connection.test.js (Alexey Orlenko) #112
- tools: remove crlf.js from dot-ignore files (Alexey Orlenko) #83
- npm: don't include doc/ and mkdocs.yml to package (Alexey Orlenko) #82
- test: add Node.js 6.10 and 7.6 to .travis.yml (Alexey Orlenko) #86
- w3c-ws: emit missing error event (Alexey Orlenko) #93
- test: add Node.js 7.7 to .travis.yml (Alexey Orlenko) #95
- lib: fix behavior with util.inspect (Alexey Orlenko) #114
- server: handle connection errors before handshake (Alexey Orlenko) #115
- w3c-ws: fix invalid property access (Alexey Orlenko) #116
- src: fix incorrect indentation in CodePointToUtf8 (Alexey Orlenko) #103
- connection: check that method arguments exist (Alexey Orlenko) #100
- meta: update AUTHORS and .mailmap (Alexey Orlenko) #117
- meta: fix misleading language in LICENSE (Alexey Orlenko) #117
- connection: handle optional callbacks properly (Alexey Orlenko) #113
- test: add Node.js 7.8 to .travis.yml (Alexey Orlenko) #119
- lint: add bitHound config (Alexey Orlenko) #120
- lib: decouple ensureClientConnected() (Alexey Orlenko) #120
- client: handle errors in connectAndInspect (Alexey Orlenko) #120
- test: refactor RawServerMock (Alexey Orlenko) #120
- deps: update dependencies (Alexey Orlenko) #120