Raised This Month: $252 Target: $400

SourceMod 1.10 Now Stable!

Post New Thread Reply   
Thread Tools Display Modes
Author Message
SourceMod Developer
Join Date: Aug 2009
Location: OnGameFrame()
Old 10-19-2019 , 07:38   SourceMod 1.10 Now Stable!
Reply With Quote #1

The new stable branch of SourceMod is now 1.10. As always, there will be gamedata updates for the old-stable 1.9 branch for a while.

The new version includes community contributions by the following awesome people: headline, SlidyBat, PerfectLaugh, quasemago, Technoblazed, InvexByte, TiBarification, Pelipoika, Peace-Maker, thewavelength, rumblefrog, jason-e, Kailo, CrazyHackGUT, rsKliPPy, fakuivan, maximsmol, Silenci0, hydrogen-mvm, Hexer10, ddhoward, Bara, PowerLord, TheByKotik, komashchenko, BotoX, b3none, DJPlaya, PerfectLaugh, 404UNFca, JoinedSenses, TheDS1337, Batfoxkid, MartLegion, FortyTwoFortyTwo, PlayBoy31, and Einyux.

The highlights of this release include:
  • Transitional syntax for enum-structs. Read more about them in the wiki.
  • Support for running on 64-bit dedicated servers.
  • New trace ray natives to query for more infos along the ray.
  • Updated MySQL client library for utf8mb4 charset support.
  • A new command to reload the databases.cfg without restarting the server: sm_reload_databases
  • Faster compile times due to numerous fixes and tweaks.
  • Adjusted plugin binary format to pave the way for more advanced language features.
  • Lots of stability and code quality improvements.
  • Improved methodmap API and documentation.

Here are all the changes that were made since 1.9 was set as the stable branch:
Note, entries marked by an * were backported to 1.9 as well.

SourceMod changes

  • Workaround CS:GO Stringtable bug #1046
  • Simplify Logger internals to fix SourceMod from stopping to log #691
  • Handle NULLs in SDKCall string return #906 *
  • Allow changing to -1/null for attacker and inflictor in OnTakeDamage SDK hook
  • Fix CompileRegex not actually setting a valid error code #775
  • Fix compilation with Visual Studio 2017+
  • SDKHooks: Reset global hookid when unhooking in SourceHook #916
  • Prevent FrameIterator OOB Errors #949 *
  • Improve error message for EmitSound #787
  • Fix BfRead.BytesLeft not being able to be optional #945 *
  • IBinTools: Block loading incompatible interface versions #979
  • Fix wrong matchmaking_ds bin path being used in some instances #1006
  • Remove `MAPLIST_FLAG_NO_DEFAULT` misuses #870
  • Fix typo in fallback to "default" maplists section #923
  • Fix wrong timeleft calculation after mp_restartgame in CS:S and CS:GO #1072
  • Mark new methodmap natives as optional #867
  • Don't double-format in ReplyToCommand #932 *
  • PassType typo fixup #1018
  • Fix description of nominations convars #758
  • Fix description for CharToLower and CharToUpper (again) #750
  • Fix param order in CancelClientMenu documentation #982
  • Documentation fixes of methodmap implementation #788
  • Fix FormatUserLogText to use GetClientAuthId #805
  • Add missing MarkNativeAsOptional for SetAuthIdCookie native #879
  • Send ShowActivity messages to TV clients #813
  • Fix sm_help erroring out if invoked during the connection process #723
  • basevotes: Fix buffer size for workshop obtained levels #956
  • Fix wrong formatting to "Vote Delay Minutes" when delay above 60s #1009

  • 64-bit support for CSGO on Linux and macOS #705
  • Add more traceray natives (TR_EnumerateEntities, TR_EnumerateEntitiesHull, TR_ClipRayToEntity[Ex], TR_ClipRayHullToEntity[Ex], TR_ClipCurrentRayToEntity[ex]) #754
  • Add TR_GetHitBoxIndex native#1085
  • Add RemoveEntity native #745
  • Add sm_reload_databases command #773
  • Add int64 support to Protobuf methodmap #943
  • Allow different values per platform in "Keys" gamedata section #765
  • Open menu with matching maps on ambiguous !nominate map_name command #983
  • Add Regex.MatchAll native and fix MatchRegex behaviour to match documentation #767
  • MySQL: Support multiple result sets in prepared queries #825
  • Add LogStackTrace native #685
  • Add Protobuf.HasField native
  • Add CommandIterator methodmap including CommandIterator.Plugin to access registering plugin #819
  • Add missing return value documentation for CreateDirectory
  • Fix Miscellaneous Regressions and undefined behaviours #1022

  • Update game support for CS:GO, BMS, Empires, NMRiH, Insurgency, PVKII, IOSoccer, ZPS *
  • Move semantics for StringHashMap #589
  • Remove DB configuration locking #791
  • Add TFCond Descriptions #1005
  • Add Profiler methodmap #814
  • Add GameData methodmap #766
  • Add GlobalForward & PrivateForward methodmaps #1004
  • Add Cookie methodmap #1012
  • Add getter for Event.BroadcastDisabled #946
  • Add Sort and SortCustom to ArrayList methodmap #1003
  • Add File.Flush methodmap function #1056
  • Update TF2_IgnitePlayer to support setting duration of fire #1038
  • Add templated helper class to promote type-safety for wrapped function calls #965
  • Add more TF2 specific DMG_ definitions #756
  • Add new custom kill identifier for TF2 #972
  • Add Shield and Bumpmine to cstrike.inc #991
  • Allow any returns in native callbacks #857
  • Add RequestFrameCallback with optional data parameter #1068
  • Update sm_ban, sm_kick, & sm_map to display menu when issued without arguments #838
  • Pad plugin ID based on the total plugin count in sm plugins list output #1027
  • Improve CreateNative failure message #903
  • Use natural sorting for map lists #907
  • Add internationalization to basechat and fix CS:GO colours #674
  • Switch CS:GO Clantag set/get to use netprops + offset over sig + offset #922
  • Unify map lookup logic across tf2esque engines #931
  • Change MultiTargetFilter to a typeset that allows ArrayList #955
  • Remove goto from ExtensionSys.cpp #729
  • SQL-Admin-Manager: style clean-up #974

  • Rewrite DataPack implementation #688
  • Prevent use of primitive float operation functions #763
  • Update MySQL to version 5.5 (support utf8mb4 charset) #786
  • Update SQLite to version 3.26.0 #783 #935
  • Use safe strcpy where applicable #784 #785
  • Remove IDataPack interface #864
  • Update sample extension params to be sourcehook-friendly #886
  • Deprecate GetMaxClients #818
  • Deprecate FormatUserLogText #856
  • Cleanup first party plugins #777
  • Fix GCC 9 builds #1024
  • Make SQL_QuoteString deprecated #792
  • Add a note about FormatTime platform dependence #908

SourcePawn changes

  • Fix initializing of dynamic char[] #176
  • Fix a HEA memory leak when using break in nested scopes #207
  • Fix switch statements' default case not being registered as guaranteed return #236
  • Fix crash when indexing an array with a literal array #286
  • Fix crash on malformed if statement #297
  • Fix assert when returning an indeterminate array #290
  • Fix crash when enabling profiler #316
  • Annihilate codepage support and fix compiler startup segfault #238
  • Relax name shadowing checks for implicitly prototyped functions #371
  • Fix -D active directory compiler option #259
  • Look in include paths for the default include file
  • Increment error count on fatal error #171
  • Fixed segmentation fault in DocGen #185
  • Fix wrong debug codestart of struct variables #309
  • Fix register increment/decrement visit in interpreter #190
  • Fix anonymous methodmap instantiations #206
  • Disallow references on indeterminate array arguments #315
  • Remove pow10 usage and shim for libc 2.27+ support #208
  • Fix incorrect reported file in error message when missing a required semicolon #331
  • Don't allow redefining typedefs or typesets #351
  • Fix unused stocks getting compiled into the binary #366
  • Fix warning when non-stock functions are used by stock functions #352

  • Add transitional syntax for enum structs #287
  • Add #warning directive #170
  • Added __LINE__ constant #180
  • Add RTTI metadata and replace debug symbols sections #210
  • Copy function debug name onto stack for crash dumps #159
  • Add basic debug API for breakpoints #216
  • Fully support basic floating point operations in spshell #195
  • Replace codeversion with feature flags #198

  • Add "not" optimization #165
  • C++ify compiler code
  • Improve compilation speed
    • Improve compile time by optimizing stgwrite #183
    • Optimize compilation for large global arrays #184
    • Rewrite the lexer #264
    • Compiler performance enhancements around symbol handling
    • Rewrite symbol pruning #269
    • Always parse as UTF-8 #270
    • Remove the MEMFILE abstraction #274
    • Remove the three-pass codegen step #277
    • Fix memory leaks #280
    • Replace the macro list with a hash table #282
    • Remove cmptag #260
  • Simplify inline exit frames #345
  • Expand the semantics of the RETN instruction (opt-in) #192
  • Introduce a new method of encoding arrays #199
  • Introduce control flow verification #213 #215
    • JIT off the control-flow graph, rather than instruction stream #217
    • Compute static memory requirements of methods #218
    • Require a balanced heap state at join points #219
  • Move stack checks to the function prologue #223

  • Align JIT HALT implementation with Interpreter and Verifier #175
  • Remove then/begin/end tokens #161
  • Remove #pragma rational #193
  • Remove unused constants like cellbits, charmin #360
  • Add a -v/--version command to spshell that displays JIT availability #203
  • Add a -z compression level argument to the compiler #272
  • Improve testing harness #204
  • Fix compliation on XCode 10 and above #326
  • Use clang-format for code style checks #340

The Stable Builds download page now points to 1.10 builds, although 1.9 ones are still available and linked there. The Dev Builds page now points to the new 1.11 branch.

Many thanks to Peace-Maker for writing up this news post for us!

Last edited by headline; 11-12-2019 at 02:18.
asherkin is offline
Junior Member
Join Date: Aug 2017
Location: /dev/null
Old 10-19-2019 , 11:50   Re: SourceMod 1.10 Now Stable!
Reply With Quote #2

Now this is cool.
OfficialSikari is offline
Junior Member
Join Date: May 2019
Old 10-19-2019 , 12:25   Re: SourceMod 1.10 Now Stable!
Reply With Quote #3

proobs is offline
AlliedModders Donor
Join Date: Feb 2013
Old 10-19-2019 , 12:53   Re: SourceMod 1.10 Now Stable!
Reply With Quote #4

Nice! Been using it for a long time and appreciate the changes.
Maxximou5 is offline
Great Tester of Whatever
Join Date: Dec 2016
Location: US
Old 10-19-2019 , 16:30   Re: SourceMod 1.10 Now Stable!
Reply With Quote #5

All hail enum structs.

Fingerprint: 91CC4E84AE4BFA89F2E431DD462F405E7D61ED35

Reach me @ https://keybase.io/rumblefrog

Github: https://github.com/rumblefrog

RumbleFrog is offline
Veteran Member
Join Date: Oct 2010
Location: Spain (Madrid)
Old 10-19-2019 , 19:13   Re: SourceMod 1.10 Now Stable!
Reply With Quote #6

Veteran SourceMod Coder -> Activity channel
Taking some paid jobs and selling some private stuff.
Contact: Steam, Telegram or discord ( Franc1sco#7876 ).

You like my work? +Rep in my steam profile comments or donate.

Franc1sco is offline
Send a message via MSN to Franc1sco
AlliedModders Donor
Join Date: May 2016
Location: Brazil
Old 10-19-2019 , 19:29   Re: SourceMod 1.10 Now Stable!
Reply With Quote #7

  • Update sm_ban, sm_kick, & sm_map to display menu when issued without arguments #838
Wonderful, quite enjoyable, but would also find it interesting if it works with sm_gag, sm_mute & sm_silence.

Or it would be included and I did not read right...
paulo_crash is offline
Join Date: Dec 2018
Old 10-20-2019 , 05:09   Re: SourceMod 1.10 Now Stable!
Reply With Quote #8

what's the best way to update without overwriting all of my existing configs and stuff?

Last edited by Naleksuh; 10-20-2019 at 13:12.
Naleksuh is offline
SourceMod Moderator
Join Date: Feb 2015
Location: USA
Old 10-23-2019 , 20:41   Re: SourceMod 1.10 Now Stable!
Reply With Quote #9

Originally Posted by Naleksuh View Post
what's the best way to update without overwriting all of my existing configs and stuff?
sneaK is offline
AlliedModders Donor
Join Date: May 2016
Location: Brazil
Old 10-24-2019 , 14:01   Re: SourceMod 1.10 Now Stable!
Reply With Quote #10

Originally Posted by sneaK View Post
Hi sneak,

Could you ask me a question? If I want to help with SourceMod translations for my language, how can I do it, would it be straight through GitHub from the SourceMod project, or would it have a specific site?
paulo_crash is offline

Thread Tools
Display Modes

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off

Forum Jump

All times are GMT -4. The time now is 13:08.

Powered by vBulletin®
Copyright ©2000 - 2020, vBulletin Solutions, Inc.
Theme made by Freecode