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
AuthenticationMessage
constructor 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
'sdebug
option. stringToHex
utility function will no longer returnnull
if 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-await
syntax, instead of callbacks. - Removed several
LoginServerConnection
methods and getters:on()
,queue()
,isConnected
.
- All message classes are now under the
Messages
alias (eg:Messages.ServerListMessage'
).
Version 1.4.2
✨ New features:
- Add support for the
StringBoolean
enumfield type (wherey
andn
representtrue
andfalse
, rather than1
and0
).
🐛 Bug fixes:
- Swap duplicate enumfield
01A4
from theEnumBlockArray
type to the more commonSized
variant. 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
Buffer
from 11.5KB/s to 6MB/s! - Add
lastByteRead
property to theBuffer
. - Expose
hexToString()
,stringToHex()
,textToHex()
, andinvertEndianness()
utility functions
🐛Bug fixes:
- Use
import
instead ofrequire()
in all modules for consistency. - Skip performance logging in the
Buffer
if Node'sperformance
module is unavailable.
Version 1.2.0
✨ New features:
- TA Network API now has a logo!
- New
WatchNowMessage
class allows you to fetch data from the "Watch-now" menu. - Support for decoding items (video names & links) from the "Watch-now" menu.
- The
Decoder
class now has an optionaloptions
argument, 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
LoginServerConnection
class now has anoptions
argument 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.