Skip to content

Releases: isaacgr/jaysonic

v3.0.1

25 Nov 11:58
Compare
Choose a tag to compare

Release notes

  • Fix broken import in cli tool

v3.0.0

21 Nov 16:34
Compare
Choose a tag to compare

Release Notes

  • Add CLI tool for client
  • Add documentation for classes and modules
  • Add support for HTTPS client and server
  • Library was more of a framework before, try to make more of a library
  • Refactor tests to be more usable and readable
  • Add Travis CI
  • Add coveralls for test coverage
  • Add code climate for code maintainability

Commits

  • Improvement/#65/improve tests (#85) 281d42e
  • Add JSDOC documentation for classes and modules (#83). Refs #78. 3dc00f8
  • Add https support for client and server (#82). Refs #81. c583436
  • Add cli tool for client (#70). Refs #69. 6e5fe8a
  • Update README.md 4eb295a
  • Add netlify badge a7a8e92
  • Update README.md 1650704
  • Improve code maintainability based on codeclimate output (#73) 602217a
  • Merge pull request #67 from isaacgr/improvement/#64/configurable_connection_timeout b749456
  • Add coverage badge dc8a3b1
  • Fix coverage and coveralls scripts f197f4b
  • Add nyc bf42802
  • Add coveralls 04ed848
  • Merge branch 'master' into improvement/#64/configurable_connection_timeout ac59829
  • Ignore travis.yml 0eab7d9
  • Make main path lib/index.js aeb2d76
  • Add travis-ci badge 9b37a77
  • Cleanup issues causing failing tests with ws clients. 08447d1
  • Fix failing tests a4dc746
  • Fix failing tests d99820c
  • Create .travis.yml bc39045
  • Create .travis.yml 6aaa73e
  • Include connectionTimeout in README 47bae98
  • Explicitly check that message.method is not a key in this.methods. cfb73a2
  • Add connectionTimeout option to base class. Refs #64. 706bf91
  • Add this.remainingRetries attribute to base class 3d344c2
  • Use this.remainingRetries in tcp.js to align with other classes 4be7a5d
  • Inherit messageBuffer and remainingRetries from parent class 621fede
  • Expect empty array as params to fix failing tests 2613bad
  • Add connectionTimeout option to clients. Refs #64. b5feffa

v2.1.0

19 Jul 02:36
Compare
Choose a tag to compare

Release Notes

  • fix websocket .end() methods
    • no longer returns a promise
    • ws client.end() method accepts a message and code
    • tcp client.end() method accepts a callback
  • add 'connected' attribute to tcp and ws clients
  • remove process.stdout.write call from ws browser client

Commits

  • Allow console.log in eslint rules. Remove process.stdout.write and replace with console.log. Remove process.stdout.write from ws browswer client. b1430a0
  • Merge pull request #66 from isaacgr/dependabot/npm_and_yarn/lodash-4.17.19 d6341cb
  • Merge pull request #63 from isaacgr/bugfix/#62/websocket_end_doesnt_work 20915ad
  • Bump lodash from 4.17.14 to 4.17.19 5a54b32
  • Add a "connected" class attribute for tcp and ws clients. 87e92cb
  • Merge branch 'master' into bugfix/#62/websocket_end_doesnt_work 7bfc9a6
  • Add newline to stdout print. 1492bff
  • Update docs with description of tcp .end() method 0655d60
  • Move .end() from base class to tcp subclass. Add optional callback parameter. 34b1242
  • Add rule to allow underscores before variable names. 53baed0
  • Update readme for both ws clients. Refs #62. 2f4965c
  • Add private method to indicate that the client closed the connection with the .end method. Prevents the reconnect attempt. Refs #62. 2a6383f
  • Remove promise from client.end() ad5eb5b
  • Add client.end() to the README. 7dfcc7b
  • Dont use a promise for client end methods since its unnecessary. Aligns with the ws methods now. 33b30e6
  • Include code and reason with browswer ws client end method. Refs #62. 2b939c8
  • Hardcode connection retry timeouts to 5s to lineup with other clients. Refs #62. b446fe0
  • Remove uneccessary newline in console.log. Fix linting errors. Refs #62. bb14a38
  • Fix websocket connect and end/close methods. Refs #62. 60f80d2

v2.0.2

20 Jun 04:54
Compare
Choose a tag to compare

Release Notes

  • Clear request timeouts on response or after a timeout is called. #59
  • Fix memory leak related to not removing batch response listeners. #58

Commits

  • Fix linting errors 26b5a91
  • Merge pull request #61 from isaacgr/bugfix/#59/setTimeout_not_canceled 15067da
  • Call cleanUp method in request timeout functions. c6bf253
  • Add test for ws browser client. Refs #59. ce934b0
  • Add a cleanUp method to align with other clients. Refs #59. e939df2
  • Merge pull request #57 from isaacgr/dependabot/npm_and_yarn/acorn-6.4.1 df67e3f
  • Clear request timeouts on response or after timeout is called. Add cleanUp method to client class for timeouts and batch responses. Update batchResponse tests to check length of this.listeners. Refs #59. 97080dc
  • Merge pull request #60 from isaacgr/bugfix/#58/batch_response_listeners_not_removed 3ade59e
  • Dont remove batchResponse listener for ws web client. Refs #58. 0b10380
  • Fix a bunch of failing tests (at least they were failing on windows). 69e2ad6
  • Add new rule. Refs #58. 3057901
  • Add tests for batchResponse memory leak issue. Refs #58. 018e465
  • Move .on(close) handler to http client instance. Dont remove all listeners on close. Refs #58. b8defad
  • Add batchResponse listeners to class attribute. Remove listeners when response receieved or on timeout. Refs #58. e6b407a
  • Update http client to remove batchResponse listener on response. Refs #58. 145d979
  • Update notification tests since "batchResponse" is cleaned up as a listener. Refs #58. a9fe49e
  • Move batch response to named function to allow removing event listener. Refs #58. c21a05a
  • Bump acorn from 6.1.1 to 6.4.1 332a9a8

v2.0.1...v2.0.2

V2.0.1

16 Feb 21:32
Compare
Choose a tag to compare

Release notes

Return error object when request times out. Refs #54 .
Fix no-params tests.

Commits

Add web client to tests.
Fix no-params tests which werent actually running.
Return object for request timeout error. Refs #54.

v2.0.0

05 Feb 11:08
Compare
Choose a tag to compare

Release notes

Improve overall error handling. #39

Allow client and server to send/receive batch requests. #22

Add methods to client and server to stop listening for updates. #42. Note that this introduces a new syntax for listening for notifications as detailed in the README

Allow clients to omit params from requests. #51

Fix issue where clients would not receive notification message if received in a batch. #46

Remove serverDisconnected() method from websocket browser client. #44

Resolve host, port and path for websocket server. #41

Fix issue where the library would throw an error if a server method returned an undefined result. #45

Commits

  • Use '127.0.0.1' instead of 'localhost' for default server port fe2d9f2
  • Add batch notifications to README 60138ab
  • Allow for undefined params in client request. Dont error server if params is undefined in message. Refs #51. 3457fd3
  • Fix readme TOC d938e75
  • Merge pull request #49 from isaacgr/improvement/#39/improve_error_handling b1a37a0
  • Dont add delimiter to error response. Refs #39. 6bee35d
  • Add promise method tests to ws server. dbde8ed
  • Check if response in array contains properties for expected object before sending notification. Refs #22. Refs #39. 9f35c25
  • Do not respond to client if batch request full of notifications is received. Refs #39. Refs #22. 337c3af
  • Check if batchRequests array contains null values and filter them. Return indication that batchRequest was empty/all notifications. Refs #22. Refs #39. 043f142
  • Breakout notifications into own section. a8d17ba
  • Reject server.close() with error message. Check if notifications is an array. Return details of client if it is unknown on client disconnect. Refs #39. c106816
  • Handle unknown error if error message cant be parsed. Refs #39. 6b9183a
  • Respond with unknown error and stack trace if error message cant be parsed. Refs #39. d1ac7c0
  • Add test to server for notifications. ed8b59a
  • Update readme with onNotify methods. Refs #22. Refs #42. Refs #39. 59e2115
  • Throw errors if client/server try to listen or remove notifications for reserved event names. Refs #39. 424bef5
  • Add support to server for receiving batch notifications. Update some comments. Refs #22. 8c3184d
  • Add error handling to server.notify(). Refs #39. Refs #46. 726eb63
  • Add tests for server.notify(). Refs #39. Refs #46. d59eba3
  • Change description. Add keywords. 28012f7
  • Update doc for server.notify(). e2d6fc1
  • Add newline c557467
  • Update readme. 43d0431
  • Send notifications when received in a batch. Change API for websocket subscriptions. Add tests for receiving notifications in a batch. Refs #42. 108b357
  • Fix subscription methods in all clients. Changes how ws browser client listens for subs. Add tests for subscribe, unsubscribe and unsubscribeAll. Add method to ws browser client to get event listeners. Refs #42. 5a2d44e
  • Add test to make sure getResult() handles undefined result. Refs #45 9470f6a
  • Remove outstanding message printout. Refs #39. d2f82d8
  • Replace process.stdout with console.log. Refs #39. b982fb8
  • Remove unknownId error, just print outstanding message log. Add tests for unknown error. Fix ws node client tests. Refs #39. 1aa8aef
  • Remove serverDisconnected() method. Refs #44. 59f691f
  • Resolve host, port and path for WS server. Add tests. Refs #41. b7d6008
  • Check if result is null before trying to read .then. Refs #45. Return 0 instead of empty dict on success if no result. c6e6aa1
  • Fix onNotify method. Refs #42. 3ce3aa4
  • Use client.send instead of client.write. Refs #39. 011b743
  • Emit message method if notification received. Refs #42. 4c65ff4
  • Send notification if its in a batch. Refs #46. 82ce3ad
  • Send notification if received in batch request. Refs #46. 13f154b
  • Replace if statement with ternary operator. 8e61e56
  • Add error handling to server.notify(). Refs #39. b1ec43e
  • Throw errors in formatResponse if types dont match. Refs #39. 627df75
  • Add component tests for formatting functions. Refs #39. 3c00aab
  • Use updated generic methods for data and error handling. Refs #39. Refs #42. 9afa764
  • Add methods to remove a single lisener for subscriptions. Add methods to remove all listeners for a subscription method. Refs #42. f8d6308
  • Remove overwritten functions in node ws client and use generic index.js functions. Refs #39. b106290
  • Emit the message method as notification. Clients listen for message method as opposed to 'notify' method. Refs #42. a2e57ed
  • Resolve options object for Websocket server. Refs #41. 8bae27e
  • Move formatResponse to its own function. Remove delimiters from ServerProtocol error responses. Some http server tests still failing. Refs #39. b100673
  • Fix issues causing messageBuffer test failures. Improve notification error handling. Refs #39. 5de406a
  • Fix formatResponse function. Fix notification responses. MessageBuffer tests are now failing. Refs #39. 5d1bbad
  • Better error handling for clients. Refs #39. 74908f8
  • Handle timeout errors better. Reject if error is thrown even if its not a TypeError. Refs #39. be90b07
  • Add unknown error to codes and messages. Refs #39. b2feef3
  • Fix linting errors a3e1d07
  • Change port since this failed on my windows machine. 339c508
  • Better internal error handling support. Throw custom BatchRequest error for batches to allow for promise handling outside validateMessaage. Refs #39. de655b8
  • Remove unecessary promise wrapping. Throw errors instead of rejecting. Refs #39. 363db3c
  • Notification response should work with jsonrpc 1.0. Refs #39. f4fa3cf
  • Rename sendError to formatError. Refs #39. 4c5d3b9
  • Clean up messageBuffer code. 607a539
  • Update handleValidation to return a single promise. Refs #39. Return resolve/reject from validateMessage. Refs #39. 4120d4f
  • Pass factory instance to protocol class. eb490f6
  • Pass factory instance into contructor. handleValidation no longer reuturns a promise list. Refs #39. Use sendError method for HTTPServer/ Refs #39. 8b620a5
  • Merge pull request #38 from isaacgr/dependabot/npm_and_yarn/eslint-utils-1.4.3 fd89249
  • Bump eslint-utils from 1.3.1 to 1.4.3 e667a5f

v1.3.3...v2.0.0

v1.3.3

24 Aug 13:32
Compare
Choose a tag to compare

Release Notes

Handle multiple connections to servers by splitting client connections into separate "protocol" classes.

Commits

  • Merge pull request #37 from isaacgr/bugfix/#36/server_cant_handle_multiple_connections c45ff34
  • Update multiple connection tests. Refs #36. 81eff63
  • Add tests for multiple clients sending requests. Refs #36. 961ad82
  • Use HttpServerProtocol for http requests. Refs #36. 93d674c
  • Use protocol instance for ws and tcp client connections. Refs #36. 809a40c
  • Create MessageBuffer class on every client connection. Refs #36. 3c22510

v1.3.2

04 Aug 14:36
Compare
Choose a tag to compare

Release notes

Support promises for server methods.

Commits:

v1.3.1

28 Jul 16:15
Compare
Choose a tag to compare

Release notes

Use separate message buffer handler to stack and split data received from client/server. Refs #27.
Remove lodash dependency. Refs #28.
Add delimiter to HTTP batch requests.

Commits

  • Update README.md 0fe2765
  • Update http client tests for MessageBuffer support bb0f14e
  • Use MessageBuffer class for HTTP response. Add response data to writer object when recieved. f50ff68
  • Bugfix/#27/use message buffer stack (#33) 4e83eaf
  • Merge pull request #31 from isaacgr/improvement/#28/remove_lodash 523b0df
  • Fix linting 451a4a0
  • Check if incomming message is an object. Refs #28. 54cd08d
  • Add tests for utility functions. Refs #28. 5d7e850
  • Check if params is a function. Refs #28. a28fd8f
  • Uninstall lodash. Refs #28. b4b80c6
  • Remove lodash dependency. Refs #28. Replace lodash functions with built in utilities. 58d439f

v1.3.0...v1.3.1

v1.3.0

20 Jul 20:23
Compare
Choose a tag to compare

Release notes

Add websocket client thats supported in NodeJS.
Fix retry attempts for websocket client.
Log retry attempts for websocket client.

Commits

  • Merge pull request #30 from isaacgr/feature/#29/websocket_client_server_side 5257375
  • Update README c0164c4
  • Fix linting. Remove console.log() statements. 9d445ae
  • Add tests for node ws client. Refs #29. 744c6c9
  • Add node ws client to README. Refs #29. e5d79a3
  • Initial node ws client stuff ca408a4
  • Fix call to nonexistent function. Log retry attempts for ws client. 5a8fe21

v1.2.3...v1.3.0