- Greenworks compiled for NW.js v0.103.1
- New authentication APIs #348 (thanks to @Elanis)
greenworks.beginAuthSessionAsUser(ticket, steam_id)greenworks.endAuthSessionAsUser(steam_id)greenworks.getAuthSessionTicketForWebAPI(identity, success_callback, [error_callback])validate-auth-ticketevent.
- Greenworks compiled for NW.js v0.100.1
- Update to Steamworks SDK 1.62
- Greenworks compiled for NW.js v0.98.0
- Update to Steamworks SDK 1.61
- Greenworks compiled for NW.js v0.94.0
- New lobby and p2p APIs, #335 (thanks to @Hocti):
greenworks.requestLobbyList()greenworks.getLobbyMemberLimit(steamIDLobby: string): numbergreenworks.setLobbyMemberLimit(steamIDLobby: string,limit: number): booleangreenworks.getLobbyMemberData(steamIDLobby: string, steamIDMember: string, pchKey: string): stringgreenworks.setLobbyMemberData(steamIDLobby: string, pchKey: string, pchValue: string): voidgreenworks.getLobbyDataCount(steamIDLobby: string): numbergreenworks.getLobbyDataByIndex(steamIDLobby: string, index:number): {key: string, value: string}greenworks.sendLobbyChatMsg(steamIDLobby: string,data: Buffer): booleangreenworks.getLobbyChatEntry(steamIDLobby: string,chatID: number): {steamIDUser: string, data: Buffer,chatEntryType: eChatEntryType}greenworks.sendP2PPacket(steamId: string, sendType: eP2PSendType, data: Buffer,nChannel:number): booleangreenworks.isP2PPacketAvailable(nChannel:number): numbergreenworks.readP2PPacket(size: number,nChannel:number):{data: Buffer,steamIDRemote: string}greenworks.acceptP2PSessionWithUser(steamId: string): voidgreenworks.getP2PSessionState(steamIDUser: string): {result:boolean,connectionState:Object}greenworks.closeP2PSessionWithUser(steamIDUser: string): booleangreenworks.closeP2PChannelWithUser(steamIDUser: string, nChannel: number): booleangreenworks.isBehindNAT():boolean
- New events:
lobby-match-listlobby-chat-updatelobby-chat-msgp2p-session-requestp2p-session-connect-fail
- Greenworks compiled for NW.js v0.92.0
- Update to Steamworks SDK 1.60
- Greenworks compiled for NW.js v0.89.0
- Add
greenworks.showFloatingGamepadTextInputAPI andfloating-gamepad-text-input-dismissedevent
- Update to Steamworks SDK 1.59
- Greenworks copmiled for NW.js v0.86.0
- Add
greenworks.activateGameOverlayToStoreAPI #280
- Update to Steamworks SDK 1.58
- Greenworks copmiled for NW.js v0.82.0
- Greenworks addon on mac is a universal binary (x86_64 and arm64)
- New APIs:
greenworks.isSteamRunningOnSteamDeck()greenworks.indicateAchievementProgress(achievement, current, max)greenworks.getFriendGamePlayed(steamIDFriend)greenworks.getLaunchCommandLine()greenworks.getFriendPersonaName(raw_steam_id)greenworks.setRichPresence(pchKey, pchValue)greenworks.ClearRichPresence()greenworks.getFriendRichPresence(steamIDFriend, pchKey)greenworks.setPlayedWith(steamIDUserPlayedWith)greenworks.activateGameOverlayInviteDialog(steamIDLobby)greenworks.activateGameOverlayToUser(pchDialog, CSteamID steamID)greenworks.createLobby(lobbyType, maxMembers)greenworks.deleteLobbyData(steamIDLobby, pchKey)greenworks.getLobbyByIndex(iLobby)greenworks.getLobbyData(steamIDLobby, pchKey)greenworks.getLobbyMemberByIndex(steamIDLobby, iMember)greenworks.getNumLobbyMembers(steamIDLobby)greenworks.getLobbyOwner(steamIDLobby)greenworks.inviteUserToLobby(steamIDLobby, steamIDInvitee)greenworks.joinLobby(steamIDLobby)greenworks.leaveLobby(steamIDLobby)greenworks.setLobbyData(steamIDLobby, pchKey, pchValue)greenworks.setLobbyJoinable(steamIDLobby, bLobbyJoinable)greenworks.setLobbyOwner(steamIDLobby, steamIDNewOwner)greenworks.setLobbyType(steamIDLobby, eLobbyType)greenworks.ugcGetItemState(published_file_id)greenworks.ugcGetItemInstallInfo(published_file_id)greenworks.getIPCountry()greenworks.isSteamInBigPictureMode()greenworks.getDLCDataByIndex(index)greenworks.getAppBuildId()greenworks.isAppInstalled(appId)greenworks.getAppInstallDir(app_id, buffer, buffer_size)
- New events:
new-url-launch-parametersrich-presence-join-requestedlobby-createdlobby-data-updatelobby-enterlobby-invitelobby-join-requested
- Fix incorrect index on
canelAuthticketAPI - Fix "Error on saving file on local machine" bug, #178
- Fix
requestUserInformationAPI not returning result
- Greenworks complied for for NW.js v0.31.5, v0.32.4, v0.33.3 and Electron v3.0.9, v4.0.0-beta 7 with Steamworks SDK 1.42
- Fix an infinite loop in ugcGetUserItems, #203 (thanks to @Emad88)
- Greenworks complied for NW.js v0.27.5, v0.28.3, v0.29.4, v0.30.4 and Electron v2.0.0 with Steamworks SDK 1.42
- Extend workshop APIs:
- Add
optionsparameter topublishWorkshopFile,updatePublishedWorkshopFile,ugcGetItems,ugcGetUserItems, andugcSynchronizeItems
- Add
- Add APIs for enumerating files on cloud:
getFileCountandgetFileNameAndSize
- Greenworks complied for NW.js v0.24.4, v0.25.4 & v0.26.6 with Steamworks SDK 1.41
- Greenworks complied for NW.js v0.22.3 & Electron v1.8.0 Beta with Steamworks SDK 1.41
- Add
micro-txn-authorization-response event, thanks to @MadSpyxFR
- Greenworks complied for NW.js v0.22.3 & Electron 1.7.2 Beta with Steamworks SDK 1.40
- Add APIs for setting user stats:
greenworks.getStatInt(name)greenworks.getStatFloat(name)greenworks.setStat(name, value)greenworks.storeStats(success_callback, [error_callback])
- Fix a potential crash of
getNickname() - Fix
ugcGetItemsreturns an empty array in some scenarios
- Greenworks complied for NW.js v0.20.3 & Electron 1.6.1 with Steamworks SDK 1.39
- Update to Steamworks SDK 1.39, thanks to @MadSpyxFR:
greenworks.FriendFlags.Suggestedhas been removed
- Add DLC APIs, #122:
greenworks.getDLCCount()greenworks.isDLCInstalled(dlc_app_id)greenworks.installDLC(dlc_app_id)greenworks.uninstallDLC(dlc_app_id)
- Greenworks complied for NW.js v0.18.8 & v0.19.4 with Steamworks SDK 1.38a
- Greenworks now requires
libsdkencryptedappticketlibrary. Plese copy it to the directory of your game. - Update to Steamworks SDK 1.38a, thanks to @MadSpyxFR, some changes from
Steamworks SDK:
- SteamFriends
suggestrelationship type now is deprecated greenworks.getCloudQuotareturns aStringrepresenting 64 bits integer
- SteamFriends
- Add
greenworks.deleteFileAPI, thanks to @dfabulich - Add
greenworks.getAppIdAPI - Add APIs for ticket decryption:
- The ticket in
greenworks.getAuthSessionTicketandgreenworks.getEncryptedAppTicketcallback is aBuffertype greenworks.decryptAppTicketgreenworks.isTicketForAppgreenworks.getTicketIssueTimegreenworks.getTicketSteamIdgreenworks.getTicketAppId
- The ticket in
- Fix: potential issues causing by mismatched new/delete usage
- Greenworks complied for NW.js v0.17.3 with Steamworks SDK 1.37
- Greenworks complied for Electron v1.4.0 with Steamworks SDK 1.37
- Add getFriendAvatar APIs, #89:
avatar-image-loadedevent.greenworks.getSmallFriendAvatar(raw_steam_id)greenworks.getMediumFriendAvatar(raw_steam_id)greenworks.getLargeFriendAvatar(raw_steam_id)greenworks.getImageSize(handle)greenworks.getImageRGBA(handle)
- Add P2P chat APIs, #91:
game-connected-friend-chat-messageeventgreenworks.setListenForFriendsMessage(intecept_enabled)greenworks.replyToFriendMessage(raw_steam_id, message)greenworks.getFriendMessage(raw_steam_id, message_id, maximum_message_size)
- Greenworks complied for NW.js v0.16.1 with Steamworks SDK 1.37
- Greenworks complied for Electron v1.3.3 with Steamworks SDK 1.37
- API documents are moved from wiki to docs
- Add new friends APIs (Thanks for @marwanhilmi):
persona-state-changeeventgreenworks.getFriendsAccount(friend_flag)greenworks.getFriends(friend_flag)greeenworks.requestUserInformation(raw_steam_id, require_name_only)
greenworks.getSteamId()now returns an object ofSteamID
- Greenworks complied for NW.js v0.14.7 with Steamworks SDK 1.37
- Add new APIs:
greeworks.initgreenworks.restartAppIfNecessarygreenworks.isSubscribedAppgreenworks.isSteamRunning
- Greenworks complied for NW.js v0.13.0-beta7 with Steamworks SDK 1.36
- Fix a crash issue when emitting
game-overlay-activatedevent on Windows/Linux.
- Greenworks compiled for NW.js v0.12.1 with Steamworks SDK 1.34
- Upgrade nan to v2 to support iojs v3.
- Add achievements and authentication APIs and support listening steam events:
- greenworks.getNumberOfAchievements
- greenworks.getAchievement
- greenworks.clearAchievement
- greenworks.getAchievementNames
- greenworks.getAuthSessionTicket
- greenworks.getEncryptedAppTicket
- greenworks.cancelAuthTicket
- greenworks.activateGameOverlayToWebPage
- greenworks.on('game-overlay-activated')
- greenworks.on('steam-servers-connected')
- greenworks.on('steam-servers-disconnected')
- greenworks.on('steam-servers-connect-failure')
- greenworks.on('steam-shutdown')
- Upgrade nan module to support node v0.12 as well as iojs
- Greenworks complied for NW.js(formerly node-webkit) v0.12.0 with Steamworks SDK 1.30
- Greenworks complied for node-webkit v0.8.6 and v0.11.2 with Steamworks SDK 1.30
- Add activateGameOverlay and IsGameOverlayEnabled APIs
- Fix: a segment fault when zipOpenNewFileInZip4_64 fails
- Greenworks complied for node-webkit v0.8.6 and v0.10.5 with Steamworks SDK 1.30
- All Greenworks APIs(cloud APIs, workshop APIs, utils APIs, Steam Info APIs) are totally rewritten with NAN module, supports node v0.10.X and node v0.11.X
- Greenworks APIs compiled for node-webkit v0.8.6 and v0.10.5
- Greenworks core methods(see below) are rewritten with
Nanmodule, supports node v0.10.X and v0.11.X- initAPI
- getSteamId
- saveTextToFile
- readTextFromFile
- isCloudEnabled
- isCloudEnabledForUser
- enableCloud
- getCloudQuota
- activateAchievement
- getCurrentGameLanguage
- getCurrentUILanguage
- getCurrentGameInstallDir
- getNumberOfPlayers
- fileShare
- Utils.move
- Greenworks compiled for node-webkit v0.8.6 with Steamworks SDK 1.30
- Add Steamworks workshop APIs, such as synchronization, download, publish, update, unsubscribe or getting the Steam ID
- Add Utils APIs, like zip, unzip, write to console and/or log file
- Greenworks compiled for node-webkit v0.8.4 with Steamworks SDK 1.30