Raised This Month: $12 Target: $400
 3% 

SourceMod 1.10 Now Stable!


Post New Thread Closed Thread   
 
Thread Tools Display Modes
Author Message
asherkin
SourceMod Developer
Join Date: Aug 2009
Location: OnGameFrame()
Old 10-19-2019 , 07:38   SourceMod 1.10 Now Stable!
#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

Fixes
  • 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

Features
  • 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

Enhancements
  • 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

Other
  • 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
  • Increase MAX_NAME_LENGTH to match CS:GO MAX_PLAYER_NAME_LENGTH
  • 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

Fixes
  • 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

Features
  • 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

Enhancements
  • 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

Other
  • 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
OfficialSikari
Junior Member
Join Date: Aug 2017
Location: /dev/null
Old 10-19-2019 , 11:50   Re: SourceMod 1.10 Now Stable!
#2

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

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

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

All hail enum structs.
__________________
RumbleFrog is offline
Franc1sco
Veteran Member
Join Date: Oct 2010
Location: Spain (Madrid)
Old 10-19-2019 , 19:13   Re: SourceMod 1.10 Now Stable!
#6

Wonderful.
__________________
Veteran Coder -> Activity channel
Coding on CS2 and taking paid and free jobs.

Contact: Steam, Telegram or discord ( franug ).

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

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

Quote:
  • 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
Naleksuh
Member
Join Date: Dec 2018
Old 10-20-2019 , 05:09   Re: SourceMod 1.10 Now Stable!
#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
Dr.Mohammad
Senior Member
Join Date: Jan 2016
Location: CSGO Servers
Old 10-21-2019 , 10:15   Re: SourceMod 1.10 Now Stable!
#9

nice !! thank you

Last edited by Dr.Mohammad; 10-21-2019 at 10:15.
Dr.Mohammad is offline
sneaK
SourceMod Moderator
Join Date: Feb 2015
Location: USA
Old 10-23-2019 , 20:41   Re: SourceMod 1.10 Now Stable!
#10

Quote:
Originally Posted by Naleksuh View Post
what's the best way to update without overwriting all of my existing configs and stuff?
https://wiki.alliedmods.net/Upgrading_SourceMod
__________________
sneaK is offline
Closed Thread


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:02.


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