Added force option to gamesPlayedAdded playingState eventAdded kickPlayingSession methodFixed getOwnedApps, getOwnedDepots, ownsApp, and ownsDepot not taking into account package expiration times (e.g. free weekends) View on GitHub
Added id property to objects pushed to itemsToGive and itemsToReceive when building a trade offer (PR #225)Made the TradeOffer class exportable for use with Bluebird (PR #227)This still isn't officially supported and may break in the future if you rely on itUpdated getExchangeDetails to use new WebAPI method which has greater reliability View on GitHub
Fixed getExchangeDetails not taking into account 2-day hold periodsAll data associated with a trade offer will now be returned when you call data() without any arguments (thanks to @Johnix1337 in PR #211) View on GitHub
parentalUnlock now gives error message of "Too many invalid PIN attempts" instead of "Incorrect PIN" if you're rate-limited (forum thread)Fixed crash when unable to retrieve an inventory because it's private when you aren't logged in (thanks @Aareksio in PR #165)getUserInventoryContexts now gives error message of "Private inventory" instead of "Malformed response" if error is because the user's inventory is private (forum thread) View on GitHub
Added requestFreeLicense methodNow retrieves the Steam server (CM) list from the WebAPI prior to logon if no local server list is availableUpdated enums View on GitHub
Added some delay between when we receive a webauth nonce and when we try to use it, just in case there is some communication delay internal to Steam(there doesn't appear to be 😞) View on GitHub
Default request instance now uses a persistent Agent which keeps the connection open between requests when possible (HTTP keep-alive)Updated default user-agent to latest Chrome on Windows 10 x64 View on GitHub
Fixed empty inventory resulting in "Malformed response" in getUserInventoryContents instead of expected empty array result (issue #156)getUserInventoryContents will now pass the Steam error message if available instead of just HTTP error 500Fixed string in callback to getInventoryHistory instead of Error object (issue #153) View on GitHub
Bumped dependency versionsNow throws a descriptive error if accountName or password are missing in login (issue #119)Falls back to the default "?" avatar if Steam doesn't give us a valid avatar hash (issue #151) View on GitHub