Change Log | Godot 3.x Module

The change log for the current master repository based on Godot 3.x, obviously.

Version 3.10 Changes

  • Added: various Steam Deck specific functions, thanks to EIREXE
  • Added: new AppLists class of functions and callbacks
  • Added: new or missing App functions, callbacks, and enums
  • Added: OverlayToWebPageMode enum and unread_chat_messages_changed callback for Friends class
  • Added: new Input functions and callbacks
  • Added: new Parental Settings fuctions, callback, and enums
  • Added: new Remote Storage functions, callback, and enums
  • Added: new UGC functions, callbacks, and enum
  • Added: memory allocation corrections
  • Changed: updated various Input class functions
  • Changed: lots of argument names internally, has no effect on usage
  • Fixed: some enum names
  • Fixed: various server list filter functions in Matchmaking Servers class
  • Fixed: receivedRelayAuthTicket, getGameCoordinatorServerLogin, FindRelayAuthTicketForServer in Networking Sockets class
  • Removed: second call for steam_api.h in godotsteam.cpp

Version 3.9.7 Changes

  • Added: two Matchmaking Server call results
  • Added: requestHandle to various HTTP functions so handle can be passed
  • Added: new internal variables for Matchmaking Servers
  • Added: setSyncPlatforms in Remote Storage, actual function was missing
  • Changed: serverRequest is now serverListRequest
  • Changed: various HTTP callbacks now return cookieHandle as well
  • Fixed: issue where lobby chat messages were truncated for every accented character used
  • Fixed: pingServer, playerDetails, serverRules functions in Matchmaking Servers
  • Fixed: receiveMessagesOnChannel, receiveMessagesOnPollGroup, receiveMessagesOnConnection in Networking Sockets, should now return an array of messages
  • Fixed: connectByIPAddress, createSocketPair in Networking Sockets
  • Fixed: network_messages_session_request callback, now provides identity of remote host
  • Fixed: network_connection_status_changed callback, now provides the full connection information
  • Removed: unnecessary bool from setLeaderboardDetailsMax

Version 3.9.6 Changes

  • Added: ability to provide different locations for custom modules, thanks to dsnopek
  • Changed: gamepad_text_input_dismissed to return submitted boolean and use UTF8 string, thanks to EIREXE

Version 3.9.5 Changes

  • Added: setLeaderboardDetailsMax function back in to set the internal details variable
  • Fixed: leaderboard_scores_downloaded sigal to provide the actual details for leaderboard results

Version 3.9.4 Changes

  • Fixed: conversion issue in getGlobalStatInt and getGlobalStatIntHistory that caused compiling failure on Linux

Version 3.9.3 Changes

  • Changed: restored getGlobalStatInt and getGlobalStatIntHistory functions

Version 3.9.2 Changes

  • Added: getNextMostAchievedAchievementInfo function, moved out of getMostAchievedAchievementInfo
  • Fixed: getMostAchievedAchievementInfo causing a crash

Version 3.9.1 Changes

  • Added: documentation to P2P functions, constants, and signals; thanks to blaze-the-star
  • Fixed: destroyResult and getResultItemProperty being bound to the wrong functions
  • Fixed: incorrect function bind from pull request
  • Removed: unused C++ line from config.py for Mac, which caused compiling issues
  • Removed: storeStats from setAchievement, resetAllStats as it should be called manually after them
  • Removed: requestCurrentStats from storeStats as it should be called manually

Version 3.9 Changes

  • Added: new UGC functions addRequiredTagGroup, getQueryUGCNumTags, getQueryUGCTag, getQueryUGCTagDisplayName
  • Added: new Friends function activateGameOverlayInviteDialogConnectString
  • Added: default values to leaderboard functions, you can now pass handles for specific leaderboards or use the internally-stored, last-called handle
  • Added: multiple controller types from Input function getInputTypeForHandle
  • Changed: minor readability changes to function arguments and defaults
  • Changed: additional spacing and readability to overall module
  • Changed: replaced leaderboardDetailsMax with k_cLeaderboardDetailsMax
  • Changed: applied EIREXE's UTF-16 fix module-wide
  • Changed: minor corrections to comments and added missing comments
  • Changed: some additional code to some call results and callbacks
  • Changed: metadata length for UGC to 5000 from 255, thanks to EIREXE
  • Changed: beginAuthSession to use new auth function arguments
  • Changed: cancelAuthTicket to actually use the Steamworks function
  • Fixed: renamed addItemToFavorite to addItemToFavorites to match SDK
  • Fixed: incorrect class check in some UGC functions
  • Fixed: minor corrections to various functions
  • Fixed: destroyResult and getResultItemProperty being bound to the wrong functions
  • Removed: setLeaderboardDetailsMax as it is unnecessary
  • Removed: getAuthSessionTicketID as it is no longer useful due to auth function changes

Version 3.8.2 Changes

  • Added: different avatar constants
  • Changed: array deletions for Clang, thanks to thisismike97
  • Changed: initializing char text, thanks to thisismike97
  • Fixed: createQueryUserUGCRequest being commented out accidentally
  • Fixed: logic check for setOverlayNotificationPosition, thanks to thisismike97
  • Fixed: UTF8 not being handled correctly in some UGC functions, thanks to EIREXE

Version 3.8.1 Changes

  • Added: extra newline beween each class section for readability
  • Added: new signal, steamworks_error, currently used for call results failures
  • Changed: cleared most items from to-do list
  • Changed: getSyncPlatforms now returns a dictionary with the bitwise and full name version of the platform
  • Changed: separated callbacks and call results in the godotsteam.cpp into two categories

Version 3.8 Changes

  • Added: default argument to steamInit to pull all current stats or not, defaults to true so no one has to change anything
  • Added: new SteamNetworkingMessages class; with functions, callbacks, constants, and enums
  • Added: all missing functions due to 5 argument limit in Godot
  • Changed: filterText updated to match new SDK 1.50 function
  • Changed: HTTP class setCookie to setHTTPCookie to prevent confusion with HTML setCookie
  • Changed: moved fileLoadDialogReponse into html_file_open_dialog callback as it must follow the call anyway
  • Fixed: retrieveConnectionDetails and getAllLobbyData functions
  • Fixed: (probably) various NetworkingSockets and NetworkingUtils functions

Version 3.7 Changes

  • Added: Networking Sockets class - all functions, enums, structs, and callbacks (still beta in Steamworks)
  • Added: Networking Utils class - all functions, enums, structs, and callbacks (still beta in Steamworks)
  • Added: Game Search callbacks, enums, and functions
  • Added: missing Steam Parties functions
  • Changed: bIOFailure argument naming in godotsteam.cpp to ioFailure
  • Fixed: issue where Cyrillic characters did not display correctly or at all
  • Fixed: call result for JoinParty, was previously callback
  • Removed: mingw_patch.py since it fixes one issue but creates additional issues

Version 3.6.1 Changes

  • Changed: function getLobbyDataByIndex to getAllLobbyData
  • Changed: commented out getAllLobbyData until crash is fixed
  • Fixed: issue where not having the game installed or owning the game caused a crash

Version 3.6 Changes

  • Added: newest functions for Apps, Friends, and UserStats
  • Added: all functions and callbacks for Videos
  • Added: MinGW patch file for people using MinGW, thanks to MichaelBelousov
  • Added: all remaining Remote Storage, Utils, and Users functions and callbacks
  • Changed: some User callbacks were actually call results
  • Changed: moved callback code block to end of function block in godotsteam.cpp
  • Fixed: incorrect signal link for unsubscribe_item and subscribe_item callbacks

Version 3.5 Changes

  • Added: all Music Remote functions, callbacks, enums, and constants
  • Added: all Parties functions, callbacks, enums, and constants
  • Added: placeholders for function classes not added yet
  • Changed: minor tweaks to layout, comments, etc.
  • Changed: swapped getAuthSessionTicketID and getAuthSessionTicket to make more sense
  • Changed: moved pragma into Windows if
  • Fixed: getAuthSessionTicket to properly give buffer, thanks to EIREXE

Version 3.4.1 Changes

  • Added: organization separators for all binds
  • Changed: enums are now callable as constants in Godot
  • Changed: case on enums
  • Fixed: some mis-spelling in enums

Version 3.4 Changes

  • Added: getAuthSessionTicketID to aquire additional ticket data
  • Added: additional pragma to silence offset warnings in Steamworks SDK itself
  • Changed: steamInit status results to use internal enums
  • Changed: getLeaderboardSortMethod now returns a dictionary with result and verbal response
  • Changed: getLeaderboardDisplayType now returns a dictionary with result and verbal response
  • Changed: getLeaderboardEntries to have a default failure response
  • Changed: leaderboard_scores_downloaded callback now incorporates getDownloadLeaderboardEntry to streamline process, callback returns the result array now
  • Changed: complete overhaul of enums and constants
  • Changed: leaderboardDetailsMax default from 0 to 10
  • Fixed: various void functions
  • Fixed: casting for addRequestLobbyListNumericalFilter, addRequestLobbyListStringFilter, addRequestLobbyListDistanceFilter
  • Fixed: setItemTags thanks to EIREXE
  • Fixed: missing publishedFileID in return from GetQueryUGCResult
  • Fixed: getGlobalStatInt and getGlobalStatIntHistory
  • Removed: getLeaderboardHandle as redundant
  • Removed: getDownloadedLeaderboardEntry as it should not be called manually, has been added to leaderboard_scores_download callback

Version 3.3.2 Changes

  • Added: all Inventory functions, callbacks, and enums
  • Added: rule to suppress MSVC-only warning about strcpy
  • Fixed: minor corrections to Inputs, especially those copied over from Controllers (depreciated)
  • Fixed: tons of warnings for callbacks in Unix compiling
  • Fixed: printf warnings for int
  • Removed: unnecessary browserHandle argument from HTML functions
  • Removed: unnecessary browserHandle returns from HTML callbacks
  • Removed: unnecessary cookieHandle argument from HTTP functions
  • Removed: unnecessary cookieHandle returns from HTTP callbacks

Version 3.3.1 Changes

  • Added: all HTML Surface functions, callbacks, and enums
  • Added: all HTTP functions, callbacks, and enums
  • Changed: sendRemotePlayTogetherInvite now works since it was added back to the SDK
  • Fixed: (probably) output for getLaunchCommandLine

Version 3.3 Changes

  • Added: all Steam Input functions; used to be Steam Controller
  • Added: all Steam Input constants
  • Added: new Apps functions
  • Added: missing Friends functions
  • Added: missing Screenshots functions
  • Added: all missing Screenshot constants
  • Changed: removed Steam Controller as it is now depreciated
  • Changed: split up call results and callbacks in godotsteam.h for editing ease
  • Changed: user_stats_received to current_stats_received for requestCurrentStats callback / signal
  • Changed: sorted Apps and Friends functions alphabetically like Steamworks Docs to find new functions easier
  • Changed: getAchievementIcon; now returns the handle
  • Changed: getInputTypeForHandle to output verbose controller type
  • Changed: SteamInput function init to inputInit
  • Changed: SteamInput function shutdown to inputShutdown
  • Removed: user_achievement_icon_fetched signal / callback as it is never called

Version 3.2.1 Changes

  • Added: back some needed UGC constants
  • Changed: int to uint32 in some for loops
  • Fixed: compiling issues on Linux

Version 3.2.0 Changes

  • Added: all remaining UGC functions and callbacks
  • Added: all new Remote Play functions and callbacks
  • Added: remaining UGC constants and enums
  • Added: relevant Remote Storage callbacks for UGC
  • Added: back some needed UGC constants
  • Changed: renamed some UGC enums for consistency
  • Changed: getItemDownloadInfo to give proper default return
  • Fixed: a few missing default returns
  • Removed: non-listed UGC enums

Version 3.1 Changes

  • Added: all remaining User Stats functions
  • Added: missing User Stats constants, mostly leaderboard stuff
  • Added: missing default return values in some functions
  • Changed: getAchievementAndUnlockTime to return actual data
  • Changed: user_achievement_icon_fetched callback to return icon data for parsing in-game
  • Changed: value in D_METHOD for setLeaderboardDetailsMax to match function
  • Changed: getDownloadedLeaderboardEntry to use handle correctly
  • Fixed: delete used memory in getInstalledDepots

Version 3.0.2 Changes

  • Added: more verbose response to steamInit, now returns a dictionary
  • Added: missing initialization constants
  • Changed: steamInit to give actual response on Steamworks status (from bool to int)
  • Fixed: currentAppID not utilized correctly

Version 3.0.1 Changes

  • Added: MacOS C++ rule back in for compiling
  • Added: all missing Steam Utils functions (except depreciated or non-relevant functions)
  • Added: additional ENUMS for Steam Utils
  • Added: missing failure conditions for some Steam Utils functions
  • Changed: output for getFriendGamePlayed to show game information even if no valid lobby
  • Changed: order of previous Steam Utils functions to be alphabetical with new ones
  • Changed: gamepad_text_input_dismissed callback
  • Fixed: lobby_message bug, thanks to pull request from Frostings

Version 3.0 Changes

  • Added: missing Matchmaking signals/callbacks
  • Added: missing User signals/callbacks
  • Added: missing Utility signals/callbacks
  • Added: join_requested, screenshot_requested callback
  • Changed: merged Godot 3.0.6 into Master branch
  • Changed: callback descriptions updated
  • Changed: organization of cpp and h files for better readability
  • Changed: signal lobby_message_received to lobby_message
  • Changed: server_connect and server_disconnected renamed to steam_server_connect and steam_server_disconnected respectively
  • Changed: leaderboard_loaded, leaderboard_uploaded, and _leaderboard_entries_loaded renamed to leaderboard_find_result, leaderboard_score_uploaded, and leaderboard_scores_downloaded respectively
  • Changed: workshop_item_created, workshop_item_installed, and item_updated renamed to item_created, item_installed, and workshop_item_updated respectively
  • Changed: renamed workshop to UGC to match Steamworks
  • Fixed: addFavoriteGame and getItemInstallInfo functions
  • Removed: connection_changed signal

Version 2.8.5 Changes

  • Added: Networking functions; courtesy of Antokolos
  • Changed: linked against Steamworks 1.44
  • Fixed: leaderboard_uploaded always returning false even when successful

Version 2.8.4 Changes

  • Added: persona_state_change callback
  • Added: additional user statistics and achievement signals
  • Added: join_game_requested signal by Fischer96
  • Changed: dictionary term 'ret' to 'success' in getImageRGBA and getImageSize
  • Changed: dictionary term 'buf' to 'buffer' in getImageRGBA
  • Changed: getFriendAvatar to getPlayerAvatar
  • Changed: avatar_loaded now sends back Steam ID of avatar by avencherus
  • Fixed: lots of fixes by marcelofg55
  • Fixed: issue with avatar and Steam ID on Linux compile
  • Fixed: join_requested signal by Fischer96 (requires further work)
  • Fixed: getImageRGBA
  • Fixed: getDownloadedLeaderboardEntry returning wrong SteamID by marcelofg55
  • Removed: drawAvatar

Version 2.8.3 Changes

  • Added: additional user statistics and achievement signals
  • Changed: minor notations

Version 2.8.2 Changes

  • Fixed: Linux not compiling correctly with new Friends and Matchmaking updates
  • Fixed: various Friends functions not providing correct data

Version 2.8.1 Changes

  • Added: additional missing lobby signals
  • Fixed: various lobby functions due to incorrect Steam lobby ID
  • Fixed: some bind methods
  • Fixed: config.py still using env
  • Fixed: location of core Godot includes

Version 2.8.0 Changes

  • Added: all remaining matchmaking functions
  • Added: all remaining friend functions
  • Changed: getRecentPlayers to include timestamp
  • Changed: naming of leaderboard_handle and leaderboard_entries for consistency
  • Changed: getAchievement to dictionary (courtesy of jandrewlong)
  • Fixed: invite functions giving incorrect steam ids
  • Fixed: getInstalledDepots, getDLCDownloadProgress, getItemUpdateProgress, getSubscribedItems
  • Removed: setGameInfo, clearGameInfo, inviteFriend

Version 2.7.0 Changes

  • Added: getAchievementDisplayAttribute, getAchievementName, getAchievementIcon, getImageRGBA, and getImageSize (courtesy of marcelofg55)
  • Added: all missing SteamApps functions
  • Changed: NULL statements for achievement functions
  • Changed: cleaned up and organized signal functions in godotteam.h
  • Fixed: issue with dictionary formatting in a function
  • Fixed: missing NULL statement
  • Fixed: issue with getAchievement failing to compile
  • Removed: hasOtherApp function

Version 2.6.0 Changes

  • Added: getCurrentBetaName, addScreenshotToLibrary, and setLocation (courtesy of marcelofg55)
  • Added: Steam controller functionality (courtesy of marcelofg55)
  • Added: more workshop functionality
  • Changed: various small maintenance changes

Version 2.5.0 Changes

  • Added: getFileNameAndSize, getQuota, getSyncPlatforms functions
  • Changed: small corrections with Steam ID variable
  • Fixed: small things with getQuota

Version 2.4.1 Changes

  • Added: getNumAchievements, getAchievementAchievedPercent, requestGlobalAchievementPercentages functions
  • Added: related signals to new functions
  • Added: some notes
  • Fixed: leaderboard_update signal
  • Removed: depreciated function requestAppProofOfPurchaseKey
  • Removed: related callback to requestAppProofOfPurchaseKey
  • Removed: commented out depreciated functions

Version 2.4.0 Changes

  • Added: more Screenshot features
  • Added: notes for callback
  • Fixed: types in _validate_auth_ticket_response

Version 2.3.0 Changes

  • Added: implemented Auth Session functions, thanks to marcelofg55

Version 2.2.1 Changes

  • Fixed: getFileTimestamp and getSteamID return types, thanks to marcelofg55

Version 2.2.0 Changes

  • Added: getNumberOfCurrentPlayers, thanks to marcelofg55
  • Added: leaderboard_uploaded and number_of_current_players callbacks, thanks to marcelofg55

Version 2.1.1 Changes

  • Fixed: fileRead and fileWrite, thanks to marcelofg55

Version 2.1.0 Changes

  • Added: two more functions for Remote Storage
  • Changed: instances of int32 and int64 to int32_t and int64_t respectively; mostly for Linux compilation
  • Removed: -no-pie from SCsub; now suggested for Ubuntu 16.10 and higher

Version 2.0.0 Changes

  • Added: Remote Storage functionality for Steam Cloud, thanks to marcelofg55
  • Added: new functions to documentation
  • Changed: SCsub file to include "no-pie" fix for Ubuntu 16.10 and higher