SourceMod Changelog

SourceMod 1.6.0 [2014-07-03]

URL: http://wiki.alliedmods.net/SourceMod_1.6.0_Release_Notes

User Changes:
 - Added support for Dota 2 (bug 5656, bug 6068).
 - Added support for Source SDK 2013 mods (bug 5917).
 - Added support for Insurgency (bug 5951).
 - Added support for Contagion (bug 6007).
 - Added support for Blade Symphony (bug 5949).
 - Updated support for some mods that moved to SDK 2013 - No More Room In Hell, Fistful of Frags, Empires, Synergy.
 - Updated gamedata and other support for TF2, DoD:S, HL2:DM, CS:S, CS:GO, Left 4 Dead, and Nuclear Dawn.
 - Added support for customizing ban reasons in basebans.sp (bug 5762) (Matthias "House" Kollek).
 - Added support for searching all gameinfo search paths when seeking mapcycle file (bug 5839).
 - Added sm_reload_translations command (bug 5750).
 - Added support for single-file gamedata custom overrides (bug 5386) (Ondrej "RavuAlHemio" Hošek).
 - Re-enabled SteamAuthstringValidation config option by default (bug 5791, PR 20).
 - Fixed plugins not reaching ext dep lists, making dependent plugin not unload on ext unload (bug 5851) (Peace-Maker).
 - Added printing of SendProp flags to netprop dumps (bug 6082).
 - Removed support for obsolete plugin_settings.cfg (bug 5605).
 - Fixed topmenu sorting not getting refreshed after reloading sorting config (bug 6032) (Peace-Maker).
 - Fixed error log filename date sometimes being incorrect (bug 5761) (Matheus "M28" Valadares).
 - Dump handle information when a plugin is forcefully unloaded. (bug 5666).
 - Fixed sm_cancelvote not resetting rtv state. (bug 5808) (Peace-Maker).
 - Fixed Mapchooser dying on single map rotation servers (bug 5179).
 - Fixed various problems with unloading ClientPrefs and SourceMod (bug 5874).
 - Fixed "sm version" command reporting incorrect compile time in many cases (bug 6078) (SystematicMania).
 - Clear default database driver reference if backing extension is unloaded (bug 5934) (Peace-Maker).
 - Moved funcommands material and sound definitions to gamedata for easier cross-game support (bug 6085).
 - Implement a watchdog timer for scripts that take too long to execute (bug 5837).
 - Use Linux game data for offsets and signatures/symbols on OS X if Mac-specific data is not available (bug 6056).

Developer Changes:
 - Added an API for off-thread SQL transactions. (bug 3775, PR 26).
 - Added string literal concatenation using ellipses "..." (bug 4261, PR 5) (Peace-Maker).
 - Added support for nested datatables. (bug 5446).
 - Added PbRemoveRepeatedFieldValue native (bug 6066).
 - Added support for getting/setting protobuf enum values with PbGetInt, PbSetInt, and PbAddInt natives.
 - Removed deprecated PbReadRepeated natives that existed briefly in 1.5.0-dev prerelease versions.
 - Added RequestFrame native for one-off next-frame actions (bug 5965).
 - Added CS_DMG_HEADSHOT define for CS:S and CS:GO (PR 7) (Bara20).
 - Added CS_SLOT_KNIFE define for CS:S and CS:GO (bug 6131).
 - Updated TF_WEAPON enum (PR 37) (FlaminSarge).
 - Added TFHoliday_AprilFools to TFHoliday enum (bug 6092) (Ross "Powerlord" Bemrose).
 - Added new TF2_IsHolidayActive native to TF2 Ext (bug 6095) (Ross "Powerlord" Bemrose).
 - Switch TF2 extension to hook CTFGameRules::IsHolidayActive for holiday forward (bug 6137, PR 42).
 - Added GetPlayerJingleFile native. (bug 5690) (FlaminSarge).
 - Added PrepSDKCall_SetAddress and Address support to PrepSDKCall_SetFromConf (bug 5261).
 - Added ability to disable TopMenu Title Caching (bug 6034) (Peace-Maker).
 - Added DisplayTopMenuCategory native (bug 6033) (Peace-Maker).
 - Added support for Valve search paths to GetFileSize native (bug 5931).
 - Fixed invalid entities sometimes passed to OnEntityCreated and OnEntityDestroyed (bug 6119).
 - Fixed inconsistencies with OnClientDisconnected foward calls (bug 5988, PR 16).
 - Changed OnClientSayCommand to now pass non-silent chat triggers onward (bug 5926) (SystematicMania).
 - Changed OnClientSayCommand forwards to strip quotes from chat (bug 5986) (SystematicMania).
 - Fixed FindStringIndex native not returning INVALID_STRING_INDEX when string not found (bug 6144, PR 40).
 - Fixed GroundEntChanged hooks not being called (bug 6050) (Peace-Maker).
 - Fixed INetChannelInfo natives to no longer require clients to be ingame (bug 5775) (SystematicMania).
 - Fixed replace param being respected inconsistently in SetTrieArray (bug 6113).
 - Fixed crash creating a timer when there are no handles available. (bug 5317) (Peace-Maker).
 - Fixed crash in ReconnectClient and InactivateClient natives when IServer ptr is null (bug 6122).
 - Fixed StoreFromAddress and LoadFromAddress continuing with bad values, usually crashing after error (bug 6080).
 - Fixed compiler bug with multidimensional array variable release (bug 6100).
 - Changed float comparison operators to return false for NaN (bug 6107).
 - Added support in spcomp for sp/inc files > 32767 lines (bug 5959).
 - Fixed FindFlagChar returning '?' for Admin_Custom6.
 - Fixed AllPluginsLoaded activities happening before SM is loaded.
 - Deduplicated a number of files used by extensions by moving them to the public directory (bug 5341).
 - Removed 'state' keyword from compiler (bug 4572) (Ryan "VoiDeD" Stecker).
 - Removed LogMessageEx definition from logging.inc because it never existed (bug 5897) (Peace-Maker).
 - Removed native override API (bug 5852).
 - Call OnLibraryAdded for all available libraries (bug 5925, PR 4).
 - Made IGameConfig::GetMemSig return value clearer (bug 6081).
 - Switched StringToInt(Ex) from using strtol to strtoul internally (bug 5939).
 - Added an spcomp option to print #included files (bug 5997).
 - Recompiled Regex extension libpcre against v8.32, enabling utf8, unicode props, and jit (bug 5593).
 - Optimized native calls if statically bound (bug 5842).

Internal Changes:
 - Now using new AlliedModders Template Library (AMTL) in many places, https://github.com/alliedmodders/amtl
 - Ported buildscripts to new AMBuild2 platform, https://github.com/alliedmodders/ambuild
 - Moved much logic from core to logic binary to reduce file sizes and compile times (bug 5606, bug 5607, bug 5680, bug 5953, PR 12, PR 13).
 - Refactored the JIT to use a newer, simpler macro assembler. (bug 5827).
 - Added sourcepawn interpreter (bug 5902).
 - Added support for compiling spcomp with emscripten.
 - Rewrite IThreader implementation around new synchronization primitives (bug 5862).
 - Rewrite DBManager to use the new synchronization primitives (bug 5870).
 - Overhauled internals of ClientPrefs extension for improved stability (bug 5538).
 - Changed ShareSys to store C++ native lists more optimally (bug 5852).
 - Simplified NativeEntry state (bug 5852).
 - Changed NativeEntry to use Refcounted to manage (bug 5852).
 - Switched Translator and GameConfigs to hash tables (bug 5878).
 - Switched numerous subsystems from KTrie to AMTL NameHashSet (bug 5884).
 - Refactored Trie natives to use AMTL HashMap instead of KTrie (bug 5892).
 - Removed usages of memtables from many subsystems (bug 5899).
 - Changed EventHook name storage to use AMTL AString (bug 6188).
 - Replaced SH List usages in game extensions with AMTL variants (PR 23).
 - Replaced SourceHook list usages in clientprefs with AMTL (PR 25).
 - Changed floating-point operations to use SSE when available (bug 5841).
 - Moved tracker related opcodes entirely to C++.
 - Statically align the stack at function boundaries (bug 5842).
 - Removed InfoVars, reassigned DAT from EBP to ESI to preserve C++ stacktraces in JIT code (5844).
 - Fixed dereferencing potential null pointer in CPlugin::GetProperty (bug 5725).
 - Fixed memory corruption when parsing natives. (bug 5840).
 - Fixed some memory errors (bug 5904).
 - Fixed unaligned memory access in spcomp.
 - Move versioning to a static library to improve trivial build speed (bug 5997).
 - Added many missing handle security checks (bug 5595).
 - Made GetEntityClassname get and cache m_iClassname offset from worldspawn for ents not having it in datadesc (bug 5654).
 - Cache m_iEFlags offset for datamaps dump instead of getting for each ent (bug 5657).
 - Fixed mismatched delete [] on thunks in JIT CompData dtor (bug 5639).
 - Fixed various memory issues. (bug 5766).
 - Added reference counting and use it for CGameConfig and IDatabase (bug 5876).
 - Added atomic reference counting and port DBI (bug 5876).
 - Replaced usages of deprecated Sourcehook Add/Remove macros (bug 5631).
 - Fixed SDKHooks hook ent validation missing first datatable name (bug 5881).
 - Fixed case where bots leave server without disconnect notice (hibernation) (PR 20).
 - Changed FindConVar to utilize convar cache for improved performance (PR 27) (VoiDeD).
 - Gave define value (of 1) to PLATFORM defs to match the same-name defs in some SDKs (PR 10).
 - Wrapped ClientPrintf into IGamePlayer (bug 6021).
 - Consolidated FileExists usage in logic bin (bug 5931).
 - Removed hardcoded paths to tier0/vstdlib in ICommandLine lookup.
 - Use updated IServerTools iface on TF2 for getting tempent list and FindEntityByClassname (PR 33).
 - Added early exit in entity output detour if entity has no classname to prevent crash.
 - Updated SDKTools entity output functions to use core's GetEntityClassname instead of own (PR 39).
 - Consolidated SDKTools entity factory lookups.
 - Changed SDKTools PlayerRunCmd to a global vtable hook to improve performance (bug 6051).
 - Changed SDKHooks to use global vtable hooks to improve performance (bug 6070).
 - Added client validation checks to EmitSound SoundsHooks (bug 5873).
 - Added missing meta results to some pre-hooks in SDKHooks.
 - Replaced magic numbers for sm_show_activity with named constants (PR 14).

----------------------------------------------------------
SourceMod 1.5.3 [2014-03-22]

URL: http://wiki.alliedmods.net/SourceMod_1.5.3_Release_Notes

User Changes:
 - Updated support for CS:GO after multiple breaking game updates.
 - Updated gamedata support for GoldenEye: Source (Peace-Maker).
 - Fixed crash on SDKHooks extension load in Alien Swarm (bug 6059).
 - Fixed memory leak from unmanaged forwards never being freed (bug 6025).
 - Fixed possible crash when unloading the CStrike extension.
 - Fixed crash in SDKHooks Reload post-hook (Peace-Maker).
 - Fixed FakeClientCommandEx always leaking memory (bug 5678).
 - Fixed extra entity networking occuring with SetEntProp natives on some games.
 - Fixed being able to nominate same map multiple times (bug 5109).
 - Fixed spurious FindEntityByClassname error being logged on some games and platforms.
 - Fixed an Anti-Flood bypass exploit (bug 5394).
 - Removed part of Addresses gamedata error handling which could cause false errors to be logged (bug 6044).
 - Fixed mapchooser not resetting nominations count when clearing nominations list (bug 5359).
 - Improved performances of client convar query handling (bug 6003).

Developer Changes:
 - Added GiveAmmo native to SDKTools (bug 6039) (Peace-Maker).
 - Added SQL_SetCharset native to (re)set charset even after reconnect (bug 5786) (Peace-Maker).
 - Added support for entity references in SDKHooks natives (bug 6069).
 - Added support for server passwords to DisplayAskConnectBox stock (bug 5984) (FlaminSarge).
 - Renamed SortFunc2D parameters to match documentation (bug 6014) (Peace-Maker).
 - Fixed param order in AddToTopMenu function doc (bug 6035) (Peace-Maker).
 - Added |any| tag to WritePackCell and ReadPackCell native param/return values (bug 6001).
 - Updated SDKHook_TakeDamage native for game updates.
 - Added default infinite value for TF2_AddCondition duration.
 - Added support for conditions >= 64 in TF2_OnConditionAdded/Removed (bug 5565, bug 5976) (FlaminSarge).
 - Updated TFCond and TF customkill enum values (bug 6012) (FlaminSarge).
 - Fixed regression causing incorrect return and inability to block in TF2_OnCalcIsAttackCritical forward.
 - Fixed TE_* natives operating on incorrect data for some tempents (bug 6072).
 - Fixed CS_AliasToWeaponID not returning a valid weaponID for cz75a.
 - Fixed CS_GetWeaponPrice returning incorrect value for M4A1 in CS:GO (bug 6045).
 - Increased max gamedata byte signature length.
 - Ported SM build scripts to AMBuild2 (bug 5997).

----------------------------------------------------------
SourceMod 1.5.2 [2013-10-29]

URL: http://wiki.alliedmods.net/SourceMod_1.5.2_Release_Notes

User Changes:
 - Updated gamedata support for TF2, CS:S, CS:GO, and HL2:DM.
 - Fixed crash from regression in SDKTools SetClientListening hook refcounting (bug 5956) (KyleS).
 - Fixed potential crash when having maps with format characters in name.
 - Fixed some nextmap issues with long map names.
 - SDKTools no longer requires gamedata for sm_dump_datamaps on TF2, CS:S, HL2:DM, and DoD:S (bug 5968). 

Developer Changes:
 - Updated TFCond and TF custom dmg enums.
 - Updated TF2 critical hit detection logic in TF2_OnCalcIsAttackCritical to handle more cases, including when criticals are disabled (bug 5894).
 - Fixed GetEngineVersion native returning a bad value when running on MM:S 1.9.x or earlier (bug 5697). 

----------------------------------------------------------
SourceMod 1.5.1 [2013-09-10]

URL: http://wiki.alliedmods.net/SourceMod_1.5.1_Release_Notes

User Changes:
 - Updated gamedata support for TF2.
 - Added missing DispatchKeyValue gamedata for HL2 CTF (bug 5114) (peace-maker).
 - Fixed translations not being loaded if identifier was not two or three characters (fixes Portuguese) (bug 5888).
 - Fixed runoff voting occurring when receiving the exact number of required votes (bug 5890).
 - Fixed reserve slot plugin hiding too many slots on Orangebox gamesif SourceTV and/or Replay are present (bug 5499).
 - Fixed some crashes in TF2 and unexpected behavior in all games with SDKHook_TakeDamage due to uninitialized var.
 - Fixed attempted triggers from gagged users displaying in chat (bug 5918).
 - Fixed errors in Italian translation (Oktober).
 - Added Norwegian translation (checkster).

Developer Changes:
 - Added CS_UpdateClientModel native to CStrike extension for CS:S and CS:GO (bug 5905) (Drifter).
 - Fixed setting weapon param in SDKHook_TakeDamage overwriting attacker instead of setting weapon (bug 5911) (KyleS)

----------------------------------------------------------
SourceMod 1.5.0 [2013-08-25]

URL: http://wiki.alliedmods.net/SourceMod_1.5.0_Release_Notes

User Changes:

 - Added support for Counter-Strike: Global Offensive (bug 5299, bug 5579).
 - Split CS:S, TF2, DoD:S, HL2:DM, and ND to separate binaries (bug 5370, bug 5813).
 - Added support for runoff voting in mapchooser (bug 4218).
 - Added option to require Steam validation before granting admin access (bug 4837) (VoiDeD).
 - Added localization support for many more core and base plugin messages (bug 5120, bug 5146).
 - Added the ability to override RegConsoleCommand-created commands (bug 5199).
 - Added support for "fuzzy" (partial) map names in map-related natives and cmds for L4D and later (bug 5599).
 - Updated Reserved Slots to use max humans as max count (bug 5444).
 - Added support for custom maxitems on radio menus (bug 5371).
 - Improved console config editing (bug 5470).
 - Increased map name buffer sizes in mapchooser to better account for nested maps (bug 5609) (Peace-Maker).
 - Fixed JIT conflicts with SELinux (bug 5581).
 - Added logged error when PlayerRunCommand offset lookup fails (bug 5535) (GoD-Tony).
 - Fixed double print when sending psay to self (bug 5649) (Peace-Maker).
 - Fixed check against uninitialized string in extension loader (bug 5546) (KyleS).
 - Fixed possible runtime errors in basetriggers for not-ingame clients (bug 5191) (Peace-Maker).
 - Check all possible mapcycle paths on newer orangebox games (bug 5719).
 - Fixed ReadMapList not seeing maps in all valve search paths (bug 5715) (VoiDeD).
 - Fixed typo in too-many-params native error message (Peace-Maker).
 - Fixed various issues in clientprefs (bug 5538) (KyleS).
 - Removed debug printout from PerformGravity (bug 5679) (KyleS).
 - Fixed broken translating in some plugins and natives (bug 5612) (KyleS).
 - Fixed issues with COMMAND_FILTER_NO_BOTS and @bots multi-target.
 - Fixed crash in SDKHooks when throwing bad ent type error on logical ent (KyleS).

Developer Changes:

 - Added support for CS:GO to the CStrike extension (bug 5299) (Drifter).
 - Added support for new protobuf usermessages used in newer games (bug 5579, bug 5588, bug 5590, bug 5633).
 - Added latest SDKHooks version as first-party extension.
 - Updated SQLite to version 3.7.15.1 (bug 5235).
 - Added natives for changing team score and mvp stars on CSS/CSGO (bug 5295) (Drifter).
 - Added global pre and post forwards for client chat (bug 5394) (KyleS).
 - Added TF2_CanPlayerTeleport forward to the TF2 game extension (bug 5283) (VoiDeD).
 - Added GetEntityAddress native (bug 5269) (ProdigySim).
 - Added more parameters to PlayerRunCommand forward (bug 5346) (GoD-Tony).
 - Added forwards to basecomm plugin (bug 5466) (Drifter).
 - Added symbol lookup support to gamedata on Windows (bug 5511) (GoD-Tony).
 - Exposed GetLanguageInfo in ITranslator interface (bug 5249) (VoiDeD).
 - Increase maximum .sp line length to 4095 characters. (bug 5347) (theY4Kman).
 - Improved netprop dump output (bug 5471).
 - Added int64 typename to netprop dumps (bug 5655).
 - Added GetMaxHumanPlayers native exposing IServerGameClients func (bug 5551).
 - Added WeaponIDToAlias native to CStrike extension (bug 5460) (KyleS).
 - Fixed OnLibraryAdded/Removed not being called in all plugins (bug 5431).
 - Made thread worker processing limits configurable at runtime (bug 5326).
 - Added support in TF2 ext for detection of player conds >= 64 (bug 5565).
 - Updated button defines in entity_prop_stocks (bug 5564).
 - Added GetPlayerResourceEntity to SDKTools to replace old, semi-broken TF2-only version (bug 5491).
 - Exposed third parameter of TF2's AddCond in TF2_AddCondition (bug 5641) (FlaminSarge).
 - Added GetSteamAccountID function to IPlayerHelpers and native for sp (bug 5548) (KyleS).
 - Added ISDKHooks interface with entity listeners (bug 5602) (GoD-Tony).
 - Added file upload support to webternet extension.
 - Added more alternative names for TFClass_Heavy (bug 5338) (Afronanny).
 - Throw error instead of crash when calling SetTeamScore between maps (bug 5718) (KyleS).
 - Fixed clients not being marked as in kick queue in some cases (bug 5746) (SystematicMania).
 - Made compile.sh set working dir to own dir (bug 5710) (KyleS).
 - Added CS_IsValidWeaponID native and validity checks to other natives (bug 5566) (Drifter).
 - Numerous code documentation fixups (bug 5720) (Tsunami).
 - Fixed cmd listener callback return behavior to match func doc (bug 5882).

Internal Changes:

 - Fixed handle misuse in clientprefs plugin (bug 5805) (KyleS).
 - Removed call to getchar() in debug build of compiler (bug 5626) (KyleS).
 - Fixed instability issues with cloned handles (bug 5245, bug 5240) (KyleS).
 - Changed extension unload order to avoid exposing finalization window (bug 5556) (KyleS).
 - Call OnPluginEnd before finalizer hooks have run (bug 4519).
 - Fixed potential for reading out of library bounds in MemoryUtils::FindPattern.
 - Fixed typo in TF2 ext asm.c causing accidental assignment instead of compare.
 - Overhauled versioning information (bug 5453).
 - Changed from RemoveEdict to using the Kill input for TF2_RemoveWeapon.
 - Fixed accidental assignment in each of SDKTools and sp compiler (bug 5745) (KyleS).
 - Fixed potential deadlock in HandleSystem::TryAndFreeSomeHandles (bug 5665) (KyleS).

----------------------------------------------------------
SourceMod 1.4.7 [2013-02-06]

URL: http://wiki.alliedmods.net/SourceMod_1.4.7_Release_Notes

User Changes: 

 - Updated support for latest Source 2009 engine changes (CS:S, DoD:S, TF2, HL2DM). 
 - Updated gamedata for Left 4 Dead 2, Nuclear Dawn, No More Room in Hell, Zombie Panic Source, CSPromod, GoldenEye Source, Synergy, The Hidden, and PVKII. 
 - Added system to block malware or illegal plugins (bug 5289). 
 - Fixed a potential crash when a bad entity index is passed to certain functions (bug 5539) (KyleS). 
 - Added an error message for when auto plugin configs fail to be created due to write error (bug 5465) (Drifter). 
 - Fixed an issue where a malformed plugin could cause crashes (bug 5478). 

Developer Changes: 

 - Added new values to the TFCond TF2 conditions enum (bug 5537) (FlaminSarge). 
 - Updated TFHoliday TF2 holidays enum (bug 5526) (Powerlord). 
 - Fixed regression in SourceMod 1.3.0 causing GetEntPropEnt, GetEntDataEnt2, and GameRules_GetPropEnt to possibly return stale (incorrect) entity indexes in place of -1. 
 - Added support for < 32-bit unsigned sign extension to GameRules_GetProp lookup (already in GetEntProp since SM 1.4.0). 
 - Fixed < 32-bit unsigned sign extension in GetEntProp not being applied for array prop elements (bug 5591). 
 - Fixed value size auto-detection in GetEntProp and GameRules_GetProp for ep2v's new SPROP_VARINT sendprops. 
 - Fixed Sort_Random sort type not including first value in array sorting functions (bug 4292) (Peace-Maker). 
 - Fixed GameRules_SetPropVector writing data to unexpected addresses instead of to the gamerules proxy entity (bug 5592) (ProdigySim). 
 - Fixed VoteMenuToAll stock adding bots to list (bug 5253 (VoiDeD).

----------------------------------------------------------
SourceMod 1.4.6 [2012-09-04]

URL: http://wiki.alliedmods.net/SourceMod_1.4.6_Release_Notes

User Changes:

 - Fixed extraneous errors resulting from a bug in 1.4.5.

----------------------------------------------------------

SourceMod 1.4.5 [2012-09-03]

URL: http://wiki.alliedmods.net/SourceMod_1.4.5_Release_Notes

User Changes:

 - Updated support for latest Source 2009 engine changes (CS:S, DoD:S, TF2, HL2DM, GMod). 
 - Updated Nuclear Dawn, Dino D-Day, and Zombie Panic gamedata. 
 - Added compatibility for running on Metamod:Source 1.9.0.
 - Fixed very minor memory leaks in CStrike extension (bug 5456) (KyleS).
 - Fixed crash from plugins accessing netprops too early (bug 5297) (KyleS).
 - Fixed crash from plugins trying to access nested datadesc members (bug 5446).

Developer Changes:

 - Added new TF2 weapon and custom dmg defines. 
 - Added new TF2 TFHoliday value (bug 5436) (Powerlord). 
 - Fixed IClientListener::InterceptClientConnect not being able to properly block connections (bug 5461) (PimpinJuice).
 - Fixed PrepSDKCall_SetSignature native not working with symbol names on L4D2 linux (bug 5440).
 - Fixed resolution of GetProfilerTime native on non-Windows platforms.

-----------------------------

SourceMod 1.4.4 [2012-07-03]

URL: http://wiki.alliedmods.net/SourceMod_1.4.4_Release_Notes

User Changes:

 - Updated support for latest Source 2009 engine changes (CS:S, DoD:S, TF2, HL2DM, GMod). 
 - Updated Nuclear Dawn gamedata. 
 - Fixed a crash that could occur when selecting an option on a clientprefs prefab menu (bug 5374).

Developer Changes:

 - Added new TF2 weapon and custom dmg defines. 
 - Added new TF2 TFHoliday value (bug 5364) (Powerlord). 
 - Updated sample extension to properly fill ninvoke with INativeInvoker ptr (bug 5340) (Afronanny).

-----------------------------

SourceMod 1.4.3 [2012-06-09]

URL: http://wiki.alliedmods.net/SourceMod_1.4.3_Release_Notes

User Changes:

 - Updated support for latest OrangeBox engine changes (CS:S, DoD:S, TF2, HL2DM, GMod).
 - Made clientprefs attempt to reconnect to the database on map change (bug 4745). 
 - Log functions now respect sv_logecho (bug 5135). 
 - Fixed client console vote output (bug 5290, bug 5205) (FlaminSarge). 
 - Fixed error when reloading dependant plugins using aliased natives (bug 5302). 
 - Fixed intermittent crash when looking for an invalid signature (bug 5301). 
 - Fixed possible crash when reloading a plugin with an invalid binary (bug 5288). 
 - Exposed extensions list to clients (bug 5221) (VoiDeD). 
 - Fixed intermittent crashes in clientprefs (bug 4660). 
 - Fixed crash when passing an invalid entity reference to ReferenceToEntity (bug 5330). 
 - Fixed cstrike extension crash on shutdown (bug 5328). 
 - Lowered threading API think time to 20ms, making threaded MySQL queries complete faster (bug 4733).

Developer Changes:

 - Fixed client serials not being unique on Windows (bug 5285). 
 - Fixed broken SourceTV detection on L4D1 (bug 5216). 
 - Fixed Float negation operator (bug 5292). 
 - Updated TF2 condition defines (bug 5259) (FlaminSarge). 
 - Adding missing SetMenuNoVoteButton native declaration (bug 4522) (GoD-Tony). 
 - Fixed erroneous const-qualification of name param of GetAdminUsername (bug 5267). 
 - Added GetGameTickCount native (bug 5209) (GoD-Tony).
 
-----------------------------

SourceMod 1.4.2 [2011-04-13]

URL: http://wiki.alliedmods.net/SourceMod_1.4.2_Release_Notes

User Changes:
 - Updated support for latest OrangeBox engine changes (CS:S, DoD:S, TF2, HL2DM, GMod). 
 - Fixed regression in SourceMod 1.4.0 causing SM to cause load errors on The Ship (bug 5216).
 - Fixed toggling and player lag issues with sm_drug command (bugs 5217, 5218) (FlaminSarge).

Developer Changes:
 - Updated TF2-specific defines and enums (bug 5194).
 - Fixed StoreToAddress always writing 32 bits and throwing an error (bug 5248) (ProdigySim).
 - Fixed crash with StoreToAddress if memory wasn't writable (bug 5252) (Dr!fter).
 - Fixed return value of VoteMenuToAll (bug 5254) (VoiDeD).
 - Fixed bug in command lower-casing API guarantee

-----------------------------

SourceMod 1.4.1 [2011-12-07]

URL: http://wiki.alliedmods.net/SourceMod_1.4.1_Release_Notes

User Changes:

 - Updated support for latest OrangeBox engine changes (CS:S, DoD:S, TF2, HL2DM, GMod). 
 - Added gamedata for Adrenaline Gamer 2 and No More Room in Hell. 
 - Fixed "not connected" error in reserve slots plugin (bug 5158) (ostrel). 
 - Fixed ff trigger output printing to all in triggerer's language (rather than viewer's language) (bug 5161). 
 - Fixed typo in one of basebans ban reasons (bug 5188).
 - Fixed formatting error in Swedish "Vote Count" phrase (bug 5174).

Developer Changes:

 - Fixed sp MaxClients not being updated on map changes after load (bug 5160). 
 - Removed GLIBC_2.7 dependency from spcomp. 
 - Increased buffer for sm_rcon command to fit larger responses (bug 5169). 
 - BaseComm now properly registers a library allowing it to be required by other plugins (bug 5156). 
 - Fixed TFHoliday enum values (bug 5155). 
 - Updated TF2_OnIsHolidayActive ret behavior to match doc (bug 5155). 
 - Added new TF2 deathflag and dmg custom defines (bug 5157).

-----------------------------

SourceMod 1.4.0 [2011-10-28]

URL: http://wiki.alliedmods.net/SourceMod_1.4.0_Release_Notes

User Changes:

 - Added support for Max OS X (bug 4392). 
 - Added support for Bloody Good Time (bug 4780). 
 - Added support for E.Y.E Divine Cybermancy (bug 5035). 
 - Added gamedata for Nuclear Dawn. 
 - Added gamedata for International Online Soccer: Source (bug 5019). 
 - Added gamedata for Half-Life 2 Capture the Flag (bug 5114). 
 - Updated mapchooser and other base plugins with Nuclear Dawn specific fixes (bug 5117). 
 - Fixed ServerLang value not being read properly on startup (bug 4675). 
 - Added support for aliases in languages.cfg (bug 4858). 
 - Added output display to sm_rcon command (bug 5018). 
 - Flood protection bypass access can now be overridden with command name sm_flood_access (bug 4584). 
 - Added a reset argument to sm cvars command to revset cvar values to default (bug 5043). 
 - Fixed incorrect language identifiers for Chinese (both Trad. and Simplified) and Brazilian Portuguese not matching cl_language values (bug 5067). 
 - Added translation support for Bulgarian (bg). 
 - Fixed incorrect number of slots being hidden for reserve with sm_hideslots on Source 2009 with SourceTV or replay (bug 5094). 
 - sm_hideslots changes now take effect immediately instead of waiting until a client joins or leaves (bug 5094). 
 - Fixed sv_visiblemaxplayers getting stuck at previous max clients in some cases with reserves and SourceTV or replay (bug 5094). 
 - Removed error logging if an optional extension is not found (bug 5112). 
 - Fixed bots with semicolon in name being unkickable (bug 5120). 
 - Changed strings in ice-related funcommands to be translatable (bug 4540). 
 - Changed Bintools extension to use a single build for every engine (bug 4548). 

Developer Changes:
 - Provided native interface for basecomm (bug 2594). 
 - Client language detection is too late. (bug 3714) (Tony A. "GoD-Tony"). 
 - Added ServerCommandEx native to execute server command and retrieve output (bug 3873). 
 - Added ability to update clientprefs cookies values on clients not currently connected (bug 3882) (databomb). 
 - Added library "matchmaking_ds" support to gamedata lookups (bug 4158). 
 - Rooted menu handles to callbacks (bug 4353). 
 - Fixed corner cases with ExplodeString (bug 4629). (Michael "LumiStance"). 
 - Fixed return omission with else-after-return (bug 4852). 
 - Added OnConditionAdded and OnConditionRemoved forwards to TF2 extension (bug 4851). 
 - Added new natives and forward to the cstrike extension (bug 4732, bug 4985) (Dr!fter). 
 - Added WaitingForPlayers forwards to the TF2 extension (bug 4704) (CrimsonGT). 
 - Updated and added more TF2 condition, weapon, and damagecustom defines (multiple bug#s). 
 - Fixed TF2_RemoveCondition not always removing conditions (bug 4981). 
 - Fixed MaxClients not being updated correctly in some places with SourceTV or replay active (bug 4986). 
 - Fixed some vars not being marked for init on first compile pass (bug 4643). 
 - Increased symbol name limit to 63 characters (bug 4564) (javalia). 
 - Fixed crash when dynamic arrays run out of memory (bug 4632). 
 - Fixed a crash that could happen from looking up out-of-bounds edict or entity indexes (bug 5080). 
 - Fixed client serials not getting cleared on disconnect (bug 5121). 
 - Added error on declaring arrays that the compiler is too buggy to handle (bug 4977). 
 - Removed reliance on gamedata for multiple SDKTools functions in ep2 and later (bug 4899). 
 - Added InvalidateClient and ReconnectClient natives to SDKTools (bug 4931) (Brian "Afronanny" Simon). 
 - Added ability to lookup and set values on the gamerules class (bug 4983. 
 - BaseComm now uses AddCommandListener for chat hooks (bug 4991). 
 - Fixed shutdown bug in SDKTools (bug 5063). 
 - Fixed MM-enabled extensions continuing to load after failing MM attach (bug 5042). 
 - Added GetDistGainFromSoundLevel native to SDKTools (bug 5066) (javalia). 
 - Added CheckAccess native to check an AdminId's command access (bug 5083). 
 - Fixed GetEntProp not sign-extending unsigned values less than 32 bits (bug 5105). 
 - Fixed crashing when calling CreateEntityByName or CreateFakeClient when no map is running (now errors) (bug 5119). 
 - Fixed erring in kick function (e. bad translation) causing client to become unkickable until disconnect (bug 5120). 
 - Fixed KickClientEx not immediately kicking client if client was in kick queue (bug 5120). 
 - Added IsClientSourceTV and IsClientReplay natives (bug 5124). 
 - Added support for getting and setting individual array elements with Get/Set EntProp functions (bug 4160). 
 - Added support for threaded query handles to SQL_GetInsertId and SQL_GetAffectedRows (bug 4699) (Nephyrin). 
 - Added a GetGameRules function to ISDKTools for extensions to easily get the GameRules class pointer (bug 4707). 
 - Added GetMessageName to IUserMessages (bug 4573) (Zach "theY4Kman" Kanzler) 
 - Added HintTextMsg to IGameHelpers (bug 4950). 
 - Added ProcessTargetString simple filter API (bug 4404). 
 - Moved much functionality from core bins to logic bin (bug 4406, bug 4402). 
 - Fixed bogus asserts in sp compiler (bug 4486, bug 4487). 
 - Greatly improved sp compiler performance (~5x overall speedup) (bug 3820, bug 4493, bug 4495). 
 - Changed entity output detours to use CDetour (bug 4416). 
 - Enhanced nominations API (bug 4677) (CrimsonGT). 
 - Added Linux support for profiling natives (bug 4927). 
 - Added a new ValveCallType that allows for arbitrary |this| parameters, as well as associated features in gamedata and for reading/writing memory (bug 3520) (Downtown1). 
 - Updated TF2 extension to handle Valve's changes to the "holiday" system (bug 5150).

-----------------------------

SourceMod 1.3.8 [2011-06-23]

URL: http://wiki.alliedmods.net/SourceMod_1.3.8_Release_Notes

User Changes:

 - Updated support for latest OrangeBox engine changes (CS:S, DoD:S, TF2, HL2DM, GMod).
 - Updated support for various games, including Garry's Mod, Zombie Panic, and Dino D-Day.
 - Added gamedata for Eternal Silence.
 - Fixed libgcc_s.so.1 load error present on some systems (bug 4876).
 - Handle leak notices now print to error log (in addition fatal log) (bug 4929).
 - Translator now properly falls back on bad server language (bug 4861).
 - Fixed invalid client errors from bad MaxClients value when SourceTV is late-loaded (bug 4881).
 - Fixed crash on plugin unload when two commands exist with same name, different casing (bug 4698). 

Developer Changes:

 - Updated TF2 condition defines (bug 4916).
 - Fixed var names and docs for TF2_MakeBleed native (bug 4928).
 - Removed compiler double include check (bug 4863).
 - Fixed plugin compile errors when using GetEntityClassname (bug 4798). 

---------------------------

SourceMod 1.3.7 [2011-04-15]

URL: http://wiki.alliedmods.net/SourceMod_1.3.7_Release_Notes

User Changes:

 - Updated support for latest OrangeBox engine changes (CS:S, DoD:S, TF2, HL2DM, GMod).
 - Updated support for various games, including Zombie Panic, CS ProMod, Empires, and GoldenEye: Source.
 - Added gamedata for Dino D-Day.
 - Fix precedence of voice mute flag versus specific client overrides (bug 4826).
 - Fix mistaken unhooking of voice hooks (bug 4804).
 - Fixed graphical glitches with funcommands effects in L4D1 (bug 3486).
 - Fixed bug in nominations that could cause "Unknown command" error (bug 4797).
 - Removed tv_enable hook to fix rare max client count issue (bug 4791).
 - Added missing unhooking of ClientConnect in PlayerManager (bug 4749).
 - Fixed sm_rtv printing "unknown command" (bug 4730).
 - Fixed voting crash when client console, chat, and SourceTV are enabled (bug 4676).
 - Fixed CDetour crash in TF2 extension when last plugin using forward is unloaded (bug 4713).

Developer Changes:

 - SetEntProp now marks edict state as changed (bug 4855).
 - Added GetEntityClassname stock (bug 4798).
 - Fix compiler hanging when #including a directory (bug 4822).
 - Added GetEntityFlags and SetEntityFlags natives for better cross-engine compatibility. (bug 4809).
 - Fixed ClientPrefs natives not being marked optional when REQUIRE_EXTENSIONS not defined (bug 4839).
 - Changed some instances of LogMessage to LogAction (bug 4649).
 - Added some new language natives (bug 4613).
 - Fixed SetTeamScore not updating score on client (bug 2736).
 - Raised MAXPLAYERS from 64 to 65 (bug 4490).
 - Added and updated many TF2-specific defines in tf2.inc and tf2_stocks.inc.
 - Fixed TF2_GetPlayerConditionFlags no longer necessarily returning all set flags (bug 4726).
 - Fixed profiler flush not clearing, added 'report' and 'clear' (bug 4674).
 - Fixed GetPlayerDecalFile crash on L4D and L4D2 (bug 4729).
 - Fixed TF2_OnGetHoliday detour no longer firing under all circumstances (bug 4700).
 - Added TF2_IsPlayerInDuel native to TF2 extension (bug 4695).

----------------------------

SourceMod 1.3.6 [2010-10-31]

URL: http://wiki.alliedmods.net/SourceMod_1.3.6_Release_Notes

User Changes:

 - Updated support for latest Left 4 Dead 1 (bug 4681).

Developer Changes:

 - Updated TF2 custom kill defines (bug 4682).

----------------------------

SourceMod 1.3.5 [2010-10-17]

URL: http://wiki.alliedmods.net/SourceMod_1.3.5_Release_Notes

User Changes:

 - Updated support for CS:S, Garry's Mod, DoD:S, TF2, HL2DM.
 - Added support for Firearms: Source (bug 4537).
 - Added support for Fistful of Frags (bug 3883).
 - Added support for Alien Swarm (bug 4530).
 - Fixed living players hearing dead players if alltalk is disabled while deadtalk is on (bug 4533, thanks Zach Callear).
 - Fixed timeleft not getting reset on Game_Commencing in CS:S (bug 4557).
 - Fixed PlayerRunCmd being hooked when not used (bug 3990).
 - Fixed errors and missing effects caused by missing sprites on L4D2 (bug 4512).
 - Fixed 'sm plugins' public command skipping plugins in recommended listing (bug 4501).
 - Fixed corruption with large database.cfg files (bug 4286).

Developer Changes:

 - Added TF2 object stocks (bug 4536).
 - Added TF2_MakeBleed native to TF2 ext (bug 4542).
 - Added support for logical entities in Synergy (bug 4534).
 - Updated TF2 conditions enum and defines (bug 4526).
 - Fixed potential crash with IMemUtils::FindPattern on Linux (bug 4554).

----------------------------

SourceMod 1.3.4 [2010-07-18]

URL: http://wiki.alliedmods.net/SourceMod_1.3.4_Release_Notes

User Changes:

 - Support for latest TF update (bug 4506).
 - Support for latest L4D2 update (bug 4509).

Developer Changes:

 - Added FindFlagChar native (bug 3776).
 - Added GetConVarDefault native (bug 4502).
 - Added forward for TF's GetHoliday function (bug 4462). 

----------------------------

SourceMod 1.3.3 [2010-06-23]

URL: http://wiki.alliedmods.net/SourceMod_1.3.3_Release_Notes

User Changes:

 - Added support for CS:S on Orange Box
 - Added gamedata for Resistance and Liberation (bug 4418).
 - Updated gamedata for SourceForts, Empires, Obsidian Conflict, Zombie Master.
 - Fixed memory corruption and leaks with some voice functionality (bug 4415).
 - Fixed UI bug in sm_motd (bug 4460). 

Developer Changes:

 - Added new player condition (TFCond_CritCola, bug 4447).
 - Fixed clientprefs deleting cookies twice in rare cases (bug 4412).
 - Fixed OnClientConnected forward not firing for bots (bug 4443).
 - Fixed sm_dump_datamaps crash (bug 4424).
 - Fixed switch case comparisons failing with large numbers (bug 4457).
 - Fixed rare crash in output hooks (bug 4422).
 - Fixed bug with dynamically sized arrays being sliced (bug 4428).
 - Fixed SendConVarValue() on TF2, DOD:S, L4D, and L4D2 (bug 4273).
 - Fixed TF2 natives not being marked optional (bug 4389). 

----------------------------

SourceMod 1.3.2 [2010-05-02]

URL: http://wiki.alliedmods.net/SourceMod_1.3.2_Release_Notes

User Changes:

 - Support for recent TF, DoD, and L4D2 updates (bug 4356, bug 4361, bug 4371, bug 4374, bug 4375).
 - Fixed rare crash when replicating cvars to clients (bug 4315).
 - Lots of extra game support for Insurgency, ZPS, CSProMod, PVKII, and FortressForever (thanks
   Nicholas "psychonic" hastings). 

Developer Changes:

 - Added TF functions for stunning, conditions, regeneration, and power play (bug 4166, bug 4331).

----------------------------

SourceMod 1.3.1 [2010-02-09]

URL: http://wiki.alliedmods.net/SourceMod_1.3.1_Release_Notes

User Changes:

 - Added extended support for CSProMod (bug 4255).
 - Fixed client disconnect crash on many third party games (bug 4231).
 - Improved support for Battlegrounds 2 (bug 4146).
 - Improved support for Insurgency (bug 4180).
 - Improved support for Garry's Mod (bug 4230, bug 4268).
 - Improved support for Synergy (bug 4235).
 - Updated Day of Defeat support for 20010123 update (bug 4262).
 - Fixed Webternet extension not loading on Windows 2000 (bug 4234). 

Developer Changes:

 - Fixed compiler complaints when using |any| tag on array arguments (bug 4274).
 - Fixed GetClientCookieTime not being exported (bug 4237).
 - Fixed potential crash in entity handling code (bug 4249). 

----------------------------

SourceMod 1.3.0 [2010-01-15]

URL: http://wiki.alliedmods.net/SourceMod_1.3.0_Release_Notes

Major Features:
 * Left 4 Dead 2 support
 * Non-networked entity support

User Changes:

 - Added Left 4 Dead 2 support (bug 4075).
 - Added much richer voting progress feedback (bug 1997).
 - Improved support for various third-party games (Nicholas "psychonic" Hastings).
 - Added @spec target (bug 2718).
 - Added sm_resetcvar command (bug 3636).
 - Added "motd" chat trigger (bug 2694).
 - Updated GeoIP to OCT-2009.
 - Fixed rare map vote error (bug 3905).
 - Fixed small leak in the nominations plugin (bug 4104).
 - Fixed last client being excluded from some command effects (bug 3984).
 - Fixed crashes in plugin [|un|re]loading (bug 4034, bug 4038, bug 4044, bug 4153).
 - Special target "@me" is now filtered for certain statuses properly (bug 4000).
 - Improved non-admin to admin chat (bug 3844).
 - Removed "auto.*" extension folders (bug 3949). 

Developer Changes:

 - Added non-networked entity support (bug 2459).
 - Added improved random number generator (bug 3831).
 - Added GetClientCookieTime native (bug 3736).
 - Added AskPluginLoad2 callback (bug 3716).
 - Added PlayerRunCmd callback (bug 3289).
 - Added PointOutsideWorld native (bug 3906).
 - Added API for "blanket" command hooks (bug 4015).
 - Added ability to test for SourceMod features (bug 4021).
 - Added ability to change broadcast status on hooked events (bug 3886).
 - OnClientCommand no longer receives unconnected clients (bug 3732).
 - Fixed various bugs in client listening API (bug 3818).
 - Fixed crash in BanClient (bug 3912).
 - Fixed various crashes in self-removing callbacks (bug 4059).
 - Fixed rare HUD text crash on TF (bug 4016).
 - Fixed OnConfigsExecuted not running on EP1 games with large configs (bug 3828).
 - Fixed entity output hooks not working (bug 3988).
 - Gamedata folder matches are now case-insensitive (bug 3913).
 - Blocked plugins from hooking "sm" command (bug 4013). 

----------------------------

SourceMod 1.2.4 [2009-10-03]

URL: http://wiki.alliedmods.net/SourceMod_1.2.4_Release_Notes

 - Updated for L4D changes (bugs 4032, 4033, 4035).
 - Updated GeoLite Country database for GeoIP extension.
 - Fixed crash when block-loading more than eight plugins (bug 4034).
 - Fixed rare crash in hudtext code on TF (bug 4016).
 - Fixed crash when reloading a blocked plugin failed (bug 4038).
 - Fixed Huntsman not firing critical callback on TF (bug 3927).
 - Registering the "sm" command no longer has any effect (bug 4013).
 - Fixed translation bug in extension API (bug 4010).

----------------------------

SourceMod 1.2.3 [2009-08-28]

URL: http://wiki.alliedmods.net/SourceMod_1.2.3_Release_Notes

 - Fix extension filename lookup. (bug 3975).

----------------------------

SourceMod 1.2.2 [2009-08-28]

URL: http://wiki.alliedmods.net/SourceMod_1.2.2_Release_Notes

 - Removed auto folders. (bug 3949).
 - Added PointOutsideWorld native to sdktools. (bug 3906).
 - Added "motd" chat trigger to basetriggers. (bug 2694).
 - Added manual extension reloading command to root console menu. (bug 3934)
 - Fixed 'list' type custom menu entries overwriting admin restrictions. (bug 3783).
 - Added sm_resetcvar command to basecommands. (bug 3636).
 - Updated gamedata for DOD:S. (bug 3948).
 - Updated gamedata for TF2. (bug 3948).
 - Added new .ep2v build config for valve OB based games. (bug 3948).
 - Fixed incorrect escaping in clientprefs SQLite queries. (bug 3904)
 - Updated gamedata for Synergy. (bug 3315).
 - Upgraded to pcre-7.9 (bug 3923).
 - Switched Insurgency chat printing to SayText. (bug 3738).
 - Updated gamedata for Insurgency. (bug 3511).
 - Updated gamedata for ZM. (bug 3746).
 - Updated gamedata for Empires. (bug 3500).
 - Updated gamedata for ZPS. (bug 3877).
 - Updated gamedata for AoC. (bug 3891).
 - Fixed RemovePlayerDisguise signature for TF2. (bug 3892). 

----------------------------

SourceMod 1.2.1 [2009-05-31]

URL: http://wiki.alliedmods.net/SourceMod_1.2.1_Release_Notes

 - Updated SDKTools for latest Team Fortress update.
 - Added L4D handling to GuessSDKVersion() (bug 3842).
 - Updated Zombie Panic Source offsets (bug 3632).
 - Fixed crash when clientprefs saw disconnect from 64th client (bug 3821).
 - Fixed Plugin_Handled acting like a Stop in usermsg hooks (bug 3685).
 - Fixed early tv_enable causing crashes (bug 3766).
 - Fixed unhook event crash (bug 3814).
 - Fixed compiler reading uninitialized strings while processing varargs (bug 3811).
 - Fixed compiler choosing whether to emit stradjust.pri on dynamic arrays based on uninitialized memory (bug 3810).
 - Fixed Windows L4D CreateFakeClient signature (bug 3792).
 - Fixed sm_slap for EP1 games (bug 3768).
 - Fixed casting problems in TextParsers breaking TrimString for non-ASCII characters (bug 3800).
 - Fixed OnClientConnect rejectmsg handling, improved doc (bug 3690).
 - Fixed clientprefs not loading cookies for clients on late load (bug 3735).
 - Fixed GetCommandFlags on original engine games (bug 3759).
 - Fixed compiler asserting when returning a string literal (bug 3836).
 - Fixed compiler erroring when tagging functions for string return (bug 3837).
 - Fixed compiler not handling constant chained relational operators correctly (bug 3838).
 - Fixed revote bug and inflexibilities in RedrawClientVoteMenu (bug 3834).
 - Fixed auto update URL being set too late (bug 3699).
 - Disabled nextmap in Synergy and Dystopia (bug 3687, bug 3741).
 - Removed unnecessary SSE optimizations from msvc9 project files (bug 3756).
 - Removed short-lived tag system (bug 3751).
 - Removed the alive check from sm_rename. (bug 3698).
 - Switched FortressForever to Valve menus (bug 3819). 

----------------------------

SourceMod 1.2.0 [2009-03-05]

URL: http://wiki.alliedmods.net/SourceMod_1.2.0_Release_Notes

Major Features:
 * Left 4 Dead Support
 * Dark Messiah Support
 * New and Improved Updater

Changes:

 - Added Left 4 Dead support (bug 3414).
 - Added Dark Messiah game support (requires Metamod:Source 1.7.1 or higher).
 - Added sm_name command (bug 2150).
 - Added extension-level dynamic hooking to bintools (bug 2616).
 - Added client validation API to replace passing userids asynchronously.
 - Added cURL extension, available to other extensions (bug 3560).
 - Added parsing of custom gamedata files (bug 3644).
 - Added case insensitivity search to ReplaceString (bug 3639, Fyren).
 - Added more detail to certain player-oriented menu titles (bug 2740, Fyren).
 - Added sv_tags API (bug 3677).
 - Greatly improved admin-sql-prefetch performance for large tables (bug 3354, FLOOR_MASTER).
 - Exposed IServer address to extensions (bug 3545).
 - New gamedata organization; files are now smaller and per-game (bug 3546).
 - Split sound functions into a new plugin, sounds.smx.
 - Fixed slap and slay on Insurgency (bug 2560).
 - Fixed blank admins being created from invalid admin file lines (bug 3431).
 - Fixed basetriggers not working on Insurgency (bug 3497).
 - Fixed client preferences missing some clients (bug 3616).
 - Improved database fallback mechanism in clientprefs (bug 3564).
 - Improved timer handling in funcommands (bug 3498).
 - Improved compile.sh to take filenames (bug 3550, jonasfietz).
 - sm_kick now shows the kick reason when available.
 - Fixed MsgPostHook (ex MsgSentNotify) callbacks not firing on intercept hook (bug 3631).
 - Note: SourceMod now adds "sourcemod" to the sv_tags cvar.

----------------------------

SourceMod 1.1.2 [2009-02-26]

URL: http://wiki.alliedmods.net/SourceMod_1.1.2_Release_Notes

Changes:

 - Fixed critical hits being permanently disabled (bug 2674)

----------------------------

SourceMod 1.1.1 [2009-02-25]

URL: http://wiki.alliedmods.net/SourceMod_1.1.1_Release_Notes

Changes:

 - Added Age of Chivalry support (bug 3366, IceMatrix).
 - Added Obsidian Conflict support (bug 2699, The DOO).
 - Fixed compatibility issues with latest TF2 update.
 - Fixed crash when an event handler fired an event of the same name (bug 3468).
 - Fixed rare crash in the event manager on post hooks (bug 3548).
 - Fixed formatting error with zero precision floats (bug 3447).
 - Fixed various Insurgency offsets (bug 3544).
 - Fixed admin menu (topmenu) categories being selectable when not usable (bug 3256).
 - Fixed sm_sql_addgroup not working (bug 3578).
 - Fixed memory leak when events were hooked as EventHookMode_Post.
 - Fixed nextmap trigger showing wrong output with end-of-map voting disabled and sm_trigger_show set to zero (bug 3597, mr.e.unk).

----------------------------

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.
