Skip to content
This repository has been archived by the owner on Mar 31, 2021. It is now read-only.

Releases: seishun/node-steam

v1.4.1

11 Mar 09:57
Compare
Choose a tag to compare

Misc

  • Removed outdated server list. It is now downloaded automatically when installing from git and bundled in the npm package.

v1.4.0

26 Dec 19:15
Compare
Choose a tag to compare

Additions

v1.3.0

04 Nov 21:28
Compare
Choose a tag to compare

Additions

v1.2.0

26 Sep 18:21
Compare
Choose a tag to compare

Additions

Misc

  • Added support for Node.js v4.1.1 and above, removed support for everything else

v1.1.0

30 Jul 20:03
Compare
Choose a tag to compare

Fixes

  • Non-proto GC messages are now sent and received correctly.
  • ClientChatEnter handler now works correctly with the latest SteamLanguage.

Additions

v1.0.0

17 Jul 17:17
Compare
Choose a tag to compare

node-steam is now modular, which allows third parties to provide modules with extra functionality. As a result, most of the API has been moved to handler classes which have to be instantiated separately from SteamClient.

Breaking changes

_Protobufs_

  • Protobuf fields are no longer converted to camelCase (e.g. playerName is now player_name).
  • IP addresses are no longer converted to strings. You could use ip.fromLong instead.
  • Timestamps are no longer converted to Date objects.

_Properties_

  • users moved to SteamFriends as personaStates.
  • chatRooms, friends and groups moved to SteamFriends as-is.

_Methods_

  • logOn reworked: you must now call SteamClient#connect, wait for 'connected', and then call SteamUser#logOn.
  • logOff renamed to disconnect.
  • webLogOn removed since Web API calls are outside of node-steam's scope. See #182 for a sample implementation.
  • gamesPlayed moved to SteamUser with reworked semantics.
  • setPersonaName, setPersonaState, sendMessage, addFriend, removeFriend, joinChat, leaveChat, lockChat, setModerated, kick, ban, unban, chatInvite, getSteamLevel, requestFriendData moved to SteamFriends.
  • trade, respondToTrade, cancelTrade moved to SteamTrading.
  • toGC moved to SteamGameCoordinator as send with reworked semantics. It no longer takes an appID argument and instead uses the AppID SteamGameCoordinator was instantiated with. Instead of a "type", it takes a header object (use {msg: type} instead of type, and {msg: type, proto: {}} instead of type | protoMask). Instead of extra arguments, it takes a callback, which will be called with any response instead of emitting 'message'.

_Events_

  • 'error' is now emitted whenever the connection is closed by Steam if the encryption handshake is complete. Use 'logOnResponse' to handle failed logon attempts and 'loggedOff' to handle bad logoffs.
  • 'loggedOn' removed and replaced with 'logOnResponse', which is emitted on any logon result.
  • 'webSessionID' removed because it was misleading and based on wrong assumptions. The "sessionid" cookie is just a CSRF token and can be an arbitrary string as long as it matches the session ID argument.
  • 'sentry' moved to SteamUser as 'updateMachineAuth'. It passes the whole protobuf (containing the full sentry file) rather than just a hash and no longer sends a response automatically. To accept it, SHA1 the sentry and call the provided callback with {sha_file: sha}.
  • 'loggedOff' is now emitted regardless of the logoff reason and is no longer emitted on disconnections. node-steam no longer reconnects you automatically – you have to reconnect yourself. It also doesn't disconnect you on logoff – you can either disconnect yourself, or wait for Steam to disconnect you (see 'error').
  • 'chatInvite', 'relationships', 'friend', 'group', 'friendMsg', 'chatMsg', 'mesage', 'chatEnter', 'chatStateChange' moved to SteamFriends.
  • 'user' moved to SteamFriends as 'personaState'.
  • 'richPresence' removed.
  • 'tradeOffers' moved to SteamUser.
  • 'tradeProposed', 'tradeResult', 'sessionStart' moved to SteamTrading.
  • 'announcements' removed, see 'clanState'.
  • 'fromGC' moved to SteamGameCoordinator as 'message' with reworked semantics. It no longer provides an appID argument, but is only emitted when the AppID matches the one SteamGameCoordinator was instantiated with. Instead of type, it provides a header object: header.msg is the "type" without protomask, header.proto is truthy if it's a proto message. It's no longer emitted if it's a response, instead the callback provided to send is called.

Fixes

  • Anonymous chats are now correctly stored in chatRooms.

Additions

v0.6.8

28 Feb 13:44
Compare
Choose a tag to compare

Fixes

  • Users no longer disappear from chatRooms when entering voice chat

Additions

Misc

  • Better documentation for the 'user' event and the users property, some fields are now converted to more convenient formats
  • Added support for Node.js 0.12 and io.js, removed support for everything else

v0.6.7

27 Sep 20:00
Compare
Choose a tag to compare

Fixes

  • webLogOn no longer fails and retries on the first attempt, so the callback is called sooner
  • The webLogOn callback now receives the steamLoginSecure cookie required for trade offers

Additions

v0.6.6

25 Mar 14:24
Compare
Choose a tag to compare

Fixes

v0.6.5

07 Dec 13:32
Compare
Choose a tag to compare

Fixes

  • Fixed a rare crash when leaving a chat just before someone else joins or leaves it