SourceMod Changelog ---------------------------- SourceMod 1.1.0 [2008-12-28] URL: http://wiki.alliedmods.net/SourceMod_1.1.0_Release_Notes Major features: * New map management plugins. * New reserved slot type. * GameData updates are retrieved remotely * Client Preferences extension for per-client "cookies" * New incremental and independent JIT Changes: - Added new client preferences extension (API in clientprefs.inc, bug 1925). - Added new gamedata auto-update functionality (bug 2602). - Revamped and greatly expanded map management plugins and their functionality (bug 2201). - Debug mode is now always on; as there is no longer a performance loss, there is no non-debug mode. - The timeleft trigger can now handle mp_winlimit, mp_fraglimit, and mp_maxrounds (bug 2344). - Translations can now be in separate files and placed in language-unique folders. - The leading "STEAM_0:" or "STEAM_1:" in SteamIDs can now be omitted from admin files. - Added sm_revote command so clients can participate in a vote that fell off their screen (bug 2156). - Added Core API for creating stack structures (adt_stack.inc, bug 2441). - Added API for extending mapchooser (mapchooser.inc, bug 2201). - Added Core API for map transition control and history (nextmap.inc). - Added TF2 forward for overriding how critical hits are calculated. - Added SetClientInfo() native for modifying how a server sees a client's setinfo properties. - Added CreateDirectory() native (bug 3253). - Added "magic" MaxClients variable to replace slower GetMaxClients() call. - Added support for three-letter language codes (bug 3526). - Functions to control client versus client mic listening now work as described (bug 2498). - Fixed SDKTools not being reloadable, and fixed a related bug in Handle type removal (bug 2753). - Rewrote internal translation handling. Extensions now have access to an ITranslator API (bug 2535). - Rewrote internal handling of dependencies (especially relating to native providers) (bug 2466). - Added user config hooks to IGameConfigManager, for parsing user-defined sections. - Revamped SourcePawn API. Removed and deprecated many structures and functions accidentally exposed publicly. - Revamped SourcePawn structure, it is now separable from SourceMod for other projects. - Renamed basefuncommands.phrases.txt to funcommands.phrases.txt (bug 2485). - Renamed basefunvotes.phrases.txt to funvotes.phrases.txt (bug 2485). - Added IDBDriver API call for extensions to handle IDBDriver dependencies properly. - Usermessage natives now validate clients to prevent crashing. - Fixed OnConfigsExecuted not working on listen servers. - Fixed out-of-handle conditions in CreateTimer() causing crashes (bug 3381). - Fixed accessing invalid Handles causing crashes (bug 3359). - Fixed memory corruption with MySQL + FetchString (bug 3352). - Fixed ReadFileString ignoring its fourth parameter (bug 3459). - Fixed sm_sql_addadmin reading the immunity field as a password (bug 3395). - Fixed ReadFile sign-extending instead of zero-extending (bug 3449). ---------------------------- SourceMod 1.0.4 [2008-09-14] Changes: - Fixed amb1986: Format() with very long strings could crash if the input and output buffers overlapped. - Fixed amb1938: The compiler ate too many characters in preprocessor macros. - Fixed amb1935: Topmenu child names were not uncached when a category was deleted. - Fixed amb1929: Banning via the console threw a runtime error. - Fixed amb1918: Ban menu should compare userids, not client indexes - Fixed amb1916: Threaded query delay is now 50ms instead of 500ms. - Fixed amb1899: Duplicate maps in auto generated maplists. - Fixed amb1891: Basechat didn't check for blank message in private says. - Fixed amb1853: Ternary operators with string assignments could chop strings off. - Fixed amb1815: Custom admin menu wasn't escaping input. - Fixed amb1808: KickClient() is now delayed to prevent crashes, use KickClientEx for old functionality. - Fixed amb1802: Possible crash when a client disconnected. - Fixed amb1801: Improved bot detection, and fixed bots crashing if inside an OrangeBox server.cfg. - Fixed amb1780: admin-sql-threaded had a debug spew turned on. - Fixed amb1779: Crash in GetTeamName() on mods that don't support it. - Fixed amb1763: Function call status is now cleared on a new function call. - Fixed amb1749: Updated and improved DoD:S SDKTools coverage. - Fixed team native crashes in SDKTools for mods like Insurgency. - Fixed various file handle leaks. ---------------------------- SourceMod 1.0.3 [2008-06-21] Changes: - Fixed SDKTools compatibility for latest TF2 update. - Fixed amb1750: OnAutoConfigsBuffered() inserted before "exec server.cfg". - Fixed a logic bug where OnConfigsExecuted() could be executed before "exec server.cfg" finished. - Fixed a rare crash in the event manager that manifested on Zombie Panic! Source. ---------------------------- SourceMod 1.0.2 [2008-05-31] Changes: - The admin menu is now user-modifiable (the "Dynamic Admin Menu"). - Added a TF2 extension with Team Fortress functions. - Added a RegEx extension with regular expression functions. - Added functions to SDKTools for hooking entity outputs. - Added preliminary support for the DoD:S Orange Box beta. - Added a forward for map config plugins for preventing race conditions. - Added a %b format specifier for binary printing. - Added sm_dump_datamaps command (SDKTools) for enumerating datamap properties. - Added sm_dump_admcache command for debugging the admin cache. - Added amb1715 - TraceHull functions to SDKTools (complementing TraceRay). - Added amb1694 - FindCharInString() function. - Added amb1685 - GetTickInterval() function. - Added amb1620 - ActivateEntity() function to SDKTools (for Orange Box particle system). - Added amb1610 - StripQuotes() function. - Added amb1558 - Compiler now has __BINARY_PATH__ and __BINARY_FILE__ macros. - Fixed amb1686 - ReplaceString* with an empty search string crashed; it now throws an error. - Fixed amb1684 - Blank passwords required an empty but set password. - Fixed amb1595 - Extension load failures did not show a platform error message. - Fixed amb1583 - MySQL string fetch from prepared queries returned corrupted data. - Fixed amb1358 - Timeleft did not reset on TF2 restarts. - Fixed cases where the JIT was too cautious in space optimizations. - Fixed TF2/Cstrike extensions being loadable on incompatible games. - Fixed various documentation inconsistencies and typos. - Fixed internal bugs with file extension handling. Notes: There is a possible compatibility regression from amb1684. SetAdminPassword() has been modified to remove any set password when given an empty string. Previously, a blank password ("") would force an admin to use "setinfo" to set an empty password, but this functionality was deemed unuseful and unintended. Blank passwords now remove any set password. ---------------------------- SourceMod 1.0.1 [2008-05-20] Changes: - Fixed SDKTools compatibility for latest TF2 update. - Removed GivePlayerItem from TF2 (TF2 update broke functionality). - Fixed amb1688: GivePlayerItem offset was wrong for DoD:S Linux. - Fixed amb1657: Server console did not see admin version of sm_who. - Fixed amb1648: Stack corruption from GetClientEyeAngles() on Windows. - Fixed amb1646: NetFlow_Both did not work for client network statistics. - Fixed amb1601: Vote FF menu reading from sv_alltalk cvar instead of mp_friendlyfire. - Fixed amb1591: Fixed listen server crashes on mods like IOS:S which pre-add more than one bot. - Fixed amb1586: GetTeamName() could crash the server if called on load. - Fixed mapchooser's round counting for TF2. - Fixed a bug where an RTE on plugin load would throw a message referring to the plugin as "-1". - Symbols are no longer stripped on Linux. - Minor SourceMod SDK fixes. Notes: The extension interface version has been bumped. Any extensions compiled against 1.0.1 will require 1.0.1 or higher to run. Extensions against 1.0.0 will continue to run normally.