Releases: wilderzone/ta-network-api
Releases · wilderzone/ta-network-api
Version 2.0.0 alpha 2
✨ New features:
- Add an option to set the connection timeout time.
🐛 Bug fixes:
- Fix a bug preventing queued messages from sending if the connection was already idle before they were queued.
- Prevent the connection from hanging if it times out prematurely.
Version 2.0.0 alpha 1
🐛 Bug fixes:
- Reduce the risk of unexpected packets being processed, which could lead to unnecessary performance losses.
- Fix a bug that was causing the
AuthenticationMessageconstructor to produce invalid auth messages.
Version 2.0.0 alpha 0
Version 2 of the API constitutes a complete rewrite of the LoginServerConnection class, as well as a few other modules, in order to simplify the API and support asynchronous operation.
✨ New features:
- The API is now asynchronous! 🔀
- Use
await fetch('endpoint')to retrieve data, instead of crafting specific network messages. - Data is now fetched from defined endpoints.
- Returned data now has a rigid, dependable structure. No more guessing what the server will return!
- Add support for decoding more enumfield types:
- In-game Message Types,
- Team IDs (BE, DS, Spec),
- Integer-Booleans.
- Various intellisense improvements.
🐛 Bug fixes:
- All nuisance console logs are now behind the
LoginServerConnection'sdebugoption. stringToHexutility function will no longer returnnullif passed a string of odd length.- Temporary fix to allow processing some duplicate enumfields.
- Use the correct syntax for private fields in all classes.
🚨 Breaking changes:
- API now uses
async-awaitsyntax, instead of callbacks. - Removed several
LoginServerConnectionmethods and getters:on(),queue(),isConnected.
- All message classes are now under the
Messagesalias (eg:Messages.ServerListMessage').
Version 1.4.2
✨ New features:
- Add support for the
StringBooleanenumfield type (whereyandnrepresenttrueandfalse, rather than1and0).
🐛 Bug fixes:
- Swap duplicate enumfield
01A4from theEnumBlockArraytype to the more commonSizedvariant. This should improve parsing of packets that contain game server lists and game server details. - Potential improvements to ESM - CJS interoperability.
Version 1.4.1
✨ New features:
- Add support for compiling TA Network API as a JavaScript module.
Version 1.3.0
✨ New features:
- Greatly improve the parsing performance of the
Bufferfrom 11.5KB/s to 6MB/s! - Add
lastByteReadproperty to theBuffer. - Expose
hexToString(),stringToHex(),textToHex(), andinvertEndianness()utility functions
🐛Bug fixes:
- Use
importinstead ofrequire()in all modules for consistency. - Skip performance logging in the
Bufferif Node'sperformancemodule is unavailable.
Version 1.2.0
✨ New features:
- TA Network API now has a logo!
- New
WatchNowMessageclass allows you to fetch data from the "Watch-now" menu. - Support for decoding items (video names & links) from the "Watch-now" menu.
- The
Decoderclass now has an optionaloptionsargument, giving you better control over the output:const options = { clean: true // Provide a clean output (remove empty objects, nulls, etc). }; const decoder = new Decoder(tree, options);
- The
LoginServerConnectionclass now has anoptionsargument too:(You can find more info about these options in the readme)const options = { authenticate: true, // Automatically authenticate upon connection. decoder: { // (Passed to the internal Decoder) clean: true } }; const connection = new LoginServerConnection('hirez', credentials, options);
Version 1.1.1
✨ New features:
- Include data for:
- Heavy items.
- Perks.
- Voicepacks.
🐛 Bug fixes:
- Fixed Medium weapons having the item type "waepon".
Version 1.1.0
✨ New features:
- Support for decoding game items (weapons, skins, packs, etc) from their IDs.
- New Decoder method
decodeFieldValue(value: Uint8Array, type: string)now allows you to decode arbitrary enumfields.
🐛 Bug fixes:
- Prevent the Decoder from being able to return an empty object instead of Map data when decoding a Map ID.