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.
