Thanks to visit codestin.com
Credit goes to github.com

Skip to content

Releases: kalm/kalm.js

v8.1.1

30 Oct 21:12
25b421f

Choose a tag to compare

Minor changes

  • Allowing socket objects to be passed to the Client constructor, enabling compatibility with other socket libraries.
  • added warning on misnamed config parameters
  • added a client disconnect() method that is an alias for destroy()
  • added a secure property on ws transport config for simpler wss
  • throws an error on channel subscription with non-function handler
  • added path validation for ipc
  • cleaned up residual timer when disconnecting a udp client
  • updated documentations

v8.0.0

07 Aug 19:33
f8816cc

Choose a tag to compare

Breaking changes

  • Updated bundling for greater compatibility (exports may behave differently)
  • Deprecated the WebRTC Transport (too convoluted to fit the Kalm model)
  • Changed the signature of the frame event handler from (frame: RawFrame, payloadBytes: number) to ({ body: RawFrame, payloadBytes: number}) to ensure all event handlers only have one arguments.

Minor changes

  • Added support for the new native WS APIs in Node 22 and later
  • Removed yarn from the toolchain. There's no reason to keep it now that NPM workspaces are more mature.
  • Deprecated the agent property for the WS Transport
  • Migrated the underlying Node EventEmitter to the cross-platform EventTarget system. A translation layer should keep end-user code intact.
  • Fixed server connections not getting cleaned up
  • Removed empty channels from frame payloads, saving bandwidth
  • Changed the subscribe handler's second argument name from frame to context, to reduce confusion with its nested frame property.
  • Fixed missing UDP client connect event.
  • Removed the potentially misleading argument in the connect event since it only exposes the unbound socket.
  • Bumped engines requirement to Node 20.x

v7.0.0

23 Nov 05:53

Choose a tag to compare

Major changes

  • Added descriptions in TS definition file:
    kalm-descriptions
  • Standardized parameter names and expected behavior
    • Removed secure WS option, instead checking if cert and key are set
    • Routines.dynamic option hz is now maxInterval and is measured in milliseconds
    • Renamed provider internally to server for easier understanding
    • Removed previously deprecated UDP connectTimeout option
  • Added UDP idle timeout behavior, configurable with socketTimeout
  • Added WS idle timeout behavior, configurable with socketTimeout
  • Added WS agent option for passing a custom https.Agent.
  • frameId counter now goes up to 0xffffffff before cycling instead of 0xffff

Bug fixes

  • Fixed an issue in Routines.tick where all queues shared the same frameId counter
  • Routines.tick option seed now correctly sets the frameId and starts the counter to match the expected pace
  • Fixed references to Node modules in TS definitions

Housekeeping

  • Updated dependencies
  • Removed extraneous linting packages (using recommended instead)
  • Better ts definition management

Full Changelog: v6.0.0...v7.0.0

v6.0.0

27 Apr 04:39
47b810d

Choose a tag to compare

Features

  • Client reference in subscribe callback is now fully featured instead of a shallow config object.
  • Client.remote is now a const instead of a function (breaking change)
  • Client.local is now a const instead of a function (breaking change)
  • Bumped ws version

Bug fixes

  • Fixed importing when using typescript (breaking change)
  • Fixed socket remote info
  • Fixed multiple types, including opening port value to be a string

v5.0.0

06 Aug 13:16

Choose a tag to compare

This build focuses on streamlining serialisation to increase performance, now properly fixing multiplexing and reducing the bundle size.

Features

  • Fixed multiplexing

Breaking changes

  • Changed default packet framing to be a pure json object
  • Removed custom framing
  • Added packet message hard cap (0xFF) across all channels for a client
  • Frame Ids now cycle from 0-0xFFFF instead of 0-0xFF

v4.0.0

23 Jun 15:59
731491d

Choose a tag to compare

Added

  • Added more error messages
  • Added tests for transport packages
  • Added CHANGELOG and LICENSE to all packages
  • Added 'framing' option to set packet framing to be a pure json object

[v3.3.0]

17 Mar 22:41

Choose a tag to compare

  • Removes home implementation of EventEmitter in favor of Node's
  • Adds webrtc package and examples
  • Adds the getChannels method on Client

[v3.2.2]

03 Jan 20:04

Choose a tag to compare

  • Adds funding info
  • Migrated from Travis to Github actions
  • Small bug fixes

[v3.2.0]

11 Oct 20:25
55ce276

Choose a tag to compare

  • Reworked the entire typescript implementations
  • Changed bundle module spec (exnext & rollup'd -> none)
  • Centralized test tooling
  • Fixed linting in the project
  • Reworked documentation, naming and tooling
  • Deprecated a few stats events, formally introduced frames as a consumable event for decoded frames.

[v2.6.1]

17 Mar 22:46
7393d17

Choose a tag to compare

  • small bug fix on reply method