Skip to content

Releases: runejs/common

v2.0.1 - Node Nodes that Know Nodes

01 Mar 14:57
Compare
Choose a tag to compare

Features

  • Updated to Node v16 LTS
  • Added Crc32 functionality
  • Switched package name from @runejs/core to @runejs/common
  • Updated to TypeScript v4.5

v1.6.0 - Encrypted Batteries

05 Sep 17:41
Compare
Choose a tag to compare

Features

  • @runejs/core/compression module added.
    • Exported class Gzip handles Gzip compression and decompression.
    • Exported class Bzip2 handles Bzip2 compression and decompression.
  • @runejs/core/encryption module added.
    • Exported class Xtea provides XTEA encryption and decryption functionality, as well as a key file loader.
  • compressjs was added as a @runejs/core main dependency.

v1.5.4 - Lint Duster

26 Aug 18:05
Compare
Choose a tag to compare

Technical

  • ESLint support added using configuration from @runejs/eslint-config
  • Linting problems fixed within ByteBuffer and SocketServer
  • TypeScript output directory changed from /dist to /lib

Fixes

  • Config file default/missing field support improved

Breaking Changes

  • Changed default config file directory from data/config to ./config

v1.4.0 - Wooden Nets

27 Jul 19:12
8747fa9
Compare
Choose a tag to compare

Features

  • Refactored core networking API to be more intuitive and simpler
    • All-new SocketServer class to handle RuneJS socket servers
    • Server configuration files can now be written in either JSON or the original YAML format
  • Added toNodeBuffer() to ByteBuffer
  • ByteBuffer.put and ByteBuffer.get now both support the string data type
  • All private ByteBuffer methods have been made public
  • Getter and setter created for ByteBuffer.bitIndex

v1.3.2 - Lifetime of Laughter

11 Apr 18:13
Compare
Choose a tag to compare

Features

  • API modified to move everything except for logger into separate sub-directories
    • IE: import { ByteBuffer } from '@runejs/core'; is now import { ByteBuffer } from '@runejs/core/buffer';
  • File and configuration loading helper functions added within @runejs/core/fs
  • ByteBuffer now supports lowercase and abbreviated variations of most types (BYTE/byte, SIGNED/signed, etc)

Breaking Changes

  • Due to the API changes, @runejs/core no longer exports any members except for logger directly

v1.2.0 - Oak Log

04 Apr 16:47
Compare
Choose a tag to compare

Features

Logging API

  • Implemented the Pino logger library
    • Created a RuneLogger wrapper class for Pino
    • Existing API for logger left unchanged
  • setLoggerOptions(Pino.LoggerOptions) added to set the logger's options
  • setLoggerPrettyPrint(boolean) added to set the logger's pretty print configuration value individually
  • setLoggerTimeFn(Pino.TimeFn) added to set the logger's time formatting function individually

Breaking Changes

  • setLoggerDateFormat(string) was removed
  • TypeScript updated to 4.2

v1.1.0 - Smarty Pants

26 Jan 22:48
Compare
Choose a tag to compare

Features

  • Added support for unsigned smarts
    • get('SMART', 'UNSIGNED')

v1.0.1 - Crochet Mouse

26 Dec 18:47
Compare
Choose a tag to compare

Features

  • ByteBuffer.put returns the current buffer object instead of void, for method chaining.
  • ByteBuffer.putString returns the current buffer object instead of void, for method chaining.
  • ByteBuffer.putBits returns the current buffer object instead of void, for method chaining.
  • ByteBuffer.openBitBuffer returns the current buffer object instead of void, for method chaining.
  • ByteBuffer.putBytes returns the current buffer object instead of void, for method chaining.

v1.0.0 - RuneJS Core initial release

24 Dec 22:25
Compare
Choose a tag to compare

Features

Logger

  • Full console logging wrappers:
    • logger.info(...messages)
    • logger.debug(...messages)
    • logger.warn(...messages)
    • logger.error(...messages)
    • logger.fatal(...messages)
    • logger.trace(...messages)
  • Ability to set logging date/time format via setLoggerDateFormat(format)

Byte Buffer

  • Node Uint8Array wrapper with additional utility functions.
  • Unified configurable get and put methods to easily move bytes within the buffer.
  • Int24 and Smart support.
  • Long support.
  • String support.
  • Big endian, little endian, and mixed endian support.
  • Bit access through openBitBuffer(), putBits(), and closeBitBuffer()

Networking Components

openServer(name, host, port, connectionHandlerFactory)

Spins up a new Node Socket server with the specified host and port.

SocketConnectionHandler

Handles connections made to a Socket server opened via openServer()

ServerConfigOptions

Options for a configured Socket server, imported using the parseServerConfig() function.