Skip to content

Conversation

@belochub
Copy link
Member

@belochub belochub commented Aug 30, 2018

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.

One of the breaking changes 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 lib: add missing callback call #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

belochub and others added 30 commits August 30, 2018 19:33
PR-URL: #323
Reviewed-By: Dmytro Nechai <nechaido@gmail.com>
Reviewed-By: Denys Otrishko <shishugi@gmail.com>
PR-URL: #332
Reviewed-By: Denys Otrishko <shishugi@gmail.com>
Reviewed-By: Dmytro Nechai <nechaido@gmail.com>
PR-URL: #332
Reviewed-By: Denys Otrishko <shishugi@gmail.com>
Reviewed-By: Dmytro Nechai <nechaido@gmail.com>
PR-URL: #335
Reviewed-By: Mykola Bilochub <nbelochub@gmail.com>
PR-URL: #342
Reviewed-By: Dmytro Nechai <nechaido@gmail.com>
Reviewed-By: Mykola Bilochub <nbelochub@gmail.com>
PR-URL: #343
Reviewed-By: Dmytro Nechai <nechaido@gmail.com>
Fix reconnection throwing when the error during the process also led to
the `close` event being emitted on the `connection` object.

PR-URL: #345
Reviewed-By: Dmytro Nechai <nechaido@gmail.com>
Reviewed-By: Denys Otrishko <shishugi@gmail.com>
Fix incorrect usage of asynchronous sessionStorageProviders by the
server.

PR-URL: #346
Reviewed-By: Denys Otrishko <shishugi@gmail.com>
Reviewed-By: Dmytro Nechai <nechaido@gmail.com>
It appears that it may take more than `2 * HEARTBEAT_INTERVAL`
to finish a full cycle of heartbeat messages. This commit increases
timeout for the test to finish to `3 * HEARTBEAT_INTERVAL`.

PR-URL: #347
Reviewed-By: Mykola Bilochub <nbelochub@gmail.com>
PR-URL: #351
Reviewed-By: Denys Otrishko <shishugi@gmail.com>
Reviewed-By: Alexey Orlenko <eaglexrlnk@gmail.com>
Fixes: #333
PR-URL: #350
Reviewed-By: Denys Otrishko <shishugi@gmail.com>
Reviewed-By: Alexey Orlenko <eaglexrlnk@gmail.com>
PR_URL: #352
Reviewed-By: Mykola Bilochub <nbelochub@gmail.com>
Reviewed-By: Denys Otrishko <shishugi@gmail.com>
Callbacks passed to jstp method calls will now return an error when the
connection is being closed.
Since it is known, that callback messages are not being resent on
connection drop, a special method on Connection was added that resends
call message on connection to the server, and thus can be used for
making a call to idempotent methods on the server.

PR-URL: #320
Reviewed-By: Dmytro Nechai <nechaido@gmail.com>
Reviewed-By: Denys Otrishko <shishugi@gmail.com>

Co-authored-by: Dmytro Nechai <nechaido@gmail.com>
Fixes: #349
PR-URL: #354
Reviewed-By: Denys Otrishko <shishugi@gmail.com>
Reviewed-By: Dmytro Nechai <nechaido@gmail.com>

Co-authored-by: Dmytro Nechai <nechaido@gmail.com>
Also fix all linter errors due to new `implicit-arrow-linebreak` rule.

PR-URL: #353
Reviewed-By: Alexey Orlenko <eaglexrlnk@gmail.com>
Reviewed-By: Mykola Bilochub <nbelochub@gmail.com>
Reviewed-By: Denys Otrishko <shishugi@gmail.com>
* Use UMD both for pre-packaged browser bundle and for usage
  with module bundlers
* Update webpack to 4.x

PR-URL: #355
Reviewed-By: Mykola Bilochub <nbelochub@gmail.com>
Remove end-of-life Node.js 9 and add the current Node.js 10.

PR-URL: #356
Reviewed-By: Denys Otrishko <shishugi@gmail.com>
Reviewed-By: Dmytro Nechai <nechaido@gmail.com>
Reviewed-By: Alexey Orlenko <eaglexrlnk@gmail.com>
PR-URL: #358
Reviewed-By: Mykola Bilochub <nbelochub@gmail.com>
Add a missing regression test for connectAndInspect with empty array of
interfaces.

PR-URL: #359
Reviewed-By: Dmytro Nechai <nechaido@gmail.com>
Reviewed-By: Mykola Bilochub <nbelochub@gmail.com>
PR-URL: #362
Reviewed-By: Dmytro Nechai <nechaido@gmail.com>
Reviewed-By: Denys Otrishko <shishugi@gmail.com>
Reviewed-By: Mykola Bilochub <nbelochub@gmail.com>
PR-URL: #360
Reviewed-By: Alexey Orlenko <eaglexrlnk@gmail.com>
Reviewed-By: Denys Otrishko <shishugi@gmail.com>
PR-URL: #364
Reviewed-By: Alexey Orlenko <eaglexrlnk@gmail.com>
Reviewed-By: Denys Otrishko <shishugi@gmail.com>
PR-URL: #365
Reviewed-By: Mykola Bilochub <nbelochub@gmail.com>
Reviewed-By: Dmytro Nechai <nechaido@gmail.com>
PR-URL: #363
Reviewed-By: Denys Otrishko <shishugi@gmail.com>
Reviewed-By: Alexey Orlenko <eaglexrlnk@gmail.com>
Reviewed-By: Mykola Bilochub <nbelochub@gmail.com>
Reviewed-By: Timur Shemsedinov <timur.shemsedinov@gmail.com>
Due to the callbacks receiving error `ERR_CALLBACK_LOST` being called
synchronously during session restoration, calls with resending were
being resent twice: first time at the moment of such callback call
(leading to saving the call message into the session's buffer) and
second time immediately after the procedure of the session restoration
while resending all of the buffered messages (that by that moment
include unwanted call messages).

PR-URL: #369
Reviewed-By: Dmytro Nechai <nechaido@gmail.com>
Reviewed-By: Denys Otrishko <shishugi@gmail.com>
PR-URL: #370
Reviewed-By: Denys Otrishko <shishugi@gmail.com>
Fixes: #361
PR-URL: #368
Reviewed-By: Denys Otrishko <shishugi@gmail.com>
Reviewed-By: Mykola Bilochub <nbelochub@gmail.com>
PR-URL: #367
Reviewed-By: Dmytro Nechai <nechaido@gmail.com>
Reviewed-By: Denys Otrishko <shishugi@gmail.com>
Reviewed-By: Alexey Orlenko <eaglexrlnk@gmail.com>
* Rely on a built-in reconnector.
* Add possibility to specify verboseness level.

PR-URL: #366
Reviewed-By: Denys Otrishko <shishugi@gmail.com>
Reviewed-By: Mykola Bilochub <nbelochub@gmail.com>
Update eslint-config-metarhia to v4.0.0 and fix all of the linting
errors.

PR-URL: #371
Reviewed-By: Dmytro Nechai <nechaido@gmail.com>
Reviewed-By: Denys Otrishko <shishugi@gmail.com>
Reviewed-By: Alexey Orlenko <eaglexrlnk@gmail.com>
belochub and others added 3 commits August 30, 2018 19:33
PR-URL: #372
Reviewed-By: Dmytro Nechai <nechaido@gmail.com>
Reviewed-By: Denys Otrishko <shishugi@gmail.com>
Reviewed-By: Alexey Orlenko <eaglexrlnk@gmail.com>
PR-URL: #373
Reviewed-By: Alexey Orlenko <eaglexrlnk@gmail.com>
PR-URL: #374
Reviewed-By: Mykola Bilochub <nbelochub@gmail.com>
Reviewed-By: Denys Otrishko <shishugi@gmail.com>
@belochub belochub self-assigned this Aug 30, 2018
@belochub belochub force-pushed the v2.0.0-proposal branch 2 times, most recently from c3f2621 to b24fb34 Compare August 31, 2018 13:51
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)
 * lib: realize reconnection by transport replacement (Mykola Bilochub)
 * server: enable returning errors from authPolicy (Igor Gorodetskyy)
 * lib: add utility for call messages resending (Mykola Bilochub)
 * connection: enable custom logging on client (Mykola Bilochub)
 * build: use UMD for browser bundle (Alexey Orlenko)
 * lib,build: use Web Crypto API in browser (Mykola Bilochub)
 * serde: remove serde implementation and use mdsf (Mykola Bilochub)
 * cli: use new jstp features (Dmytro Nechai)
@belochub belochub merged commit 018e69f into v2.x Aug 31, 2018
@belochub belochub deleted the v2.0.0-proposal branch September 3, 2018 18:20
belochub added a commit that referenced this pull request Sep 3, 2018
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)
 * lib: realize reconnection by transport replacement (Mykola Bilochub)
 * server: enable returning errors from authPolicy (Igor Gorodetskyy)
 * lib: add utility for call messages resending (Mykola Bilochub)
 * connection: enable custom logging on client (Mykola Bilochub)
 * build: use UMD for browser bundle (Alexey Orlenko)
 * lib,build: use Web Crypto API in browser (Mykola Bilochub)
 * serde: remove serde implementation and use mdsf (Mykola Bilochub)
 * cli: use new jstp features (Dmytro Nechai)

PR-URL: #375
Reviewed-By: Dmytro Nechai <nechaido@gmail.com>
Reviewed-By: Alexey Orlenko <eaglexrlnk@gmail.com>
Reviewed-By: Denys Otrishko <shishugi@gmail.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.

6 participants