Releases: runejs/common
Releases · runejs/common
v2.0.1 - Node Nodes that Know Nodes
v1.6.0 - Encrypted Batteries
Features
@runejs/core/compression
module added.- Exported class
Gzip
handles Gzip compression and decompression. - Exported class
Bzip2
handles Bzip2 compression and decompression.
- Exported class
@runejs/core/encryption
module added.- Exported class
Xtea
provides XTEA encryption and decryption functionality, as well as a key file loader.
- Exported class
compressjs
was added as a@runejs/core
main dependency.
v1.5.4 - Lint Duster
Technical
- ESLint support added using configuration from
@runejs/eslint-config
- Linting problems fixed within
ByteBuffer
andSocketServer
- 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
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
- All-new
- Added
toNodeBuffer()
toByteBuffer
ByteBuffer.put
andByteBuffer.get
now both support thestring
data type- All private
ByteBuffer
methods have been made public - Getter and setter created for
ByteBuffer.bitIndex
v1.3.2 - Lifetime of Laughter
Features
- API modified to move everything except for
logger
into separate sub-directories- IE:
import { ByteBuffer } from '@runejs/core';
is nowimport { ByteBuffer } from '@runejs/core/buffer';
- IE:
- 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 forlogger
directly
v1.2.0 - Oak Log
Features
Logging API
- Implemented the Pino logger library
- Created a
RuneLogger
wrapper class for Pino - Existing API for
logger
left unchanged
- Created a
setLoggerOptions(Pino.LoggerOptions)
added to set the logger's optionssetLoggerPrettyPrint(boolean)
added to set the logger's pretty print configuration value individuallysetLoggerTimeFn(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
Features
- Added support for unsigned smarts
get('SMART', 'UNSIGNED')
v1.0.1 - Crochet Mouse
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
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
andput
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()
, andcloseBitBuffer()
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.