From 39694bcd10aed8f96efe2f3d85702c4c609125ed Mon Sep 17 00:00:00 2001 From: Jesse Plamondon-Willard Date: Mon, 29 Dec 2025 11:50:35 -0500 Subject: [PATCH] update Harmony 2.2.2 to 2.4.2 --- build/0Harmony.dll | Bin 241152 -> 292864 bytes build/0Harmony.pdb | Bin 0 -> 114660 bytes build/0Harmony.xml | 1847 +++++++++++++---- build/deploy-local-smapi.targets | 7 +- build/unix/prepare-install-package.sh | 2 +- build/windows/prepare-install-package.ps1 | 2 +- docs/release-notes.md | 5 + src/Directory.Packages.props | 2 +- .../Framework/MainModFileManager.cs | 6 +- src/SMAPI/SMAPI.csproj | 2 +- 10 files changed, 1514 insertions(+), 359 deletions(-) create mode 100644 build/0Harmony.pdb diff --git a/build/0Harmony.dll b/build/0Harmony.dll index 72ca2b61010fba570cfa42f15e917c84324bfbdc..977aca20152aaf649ed4636c0757537e0ceff854 100644 GIT binary patch literal 292864 zcmdqKd7KB&9=VM5W>9UwuR1cZQqg2<*~K#lAODuvw%BAspr zM6V)n-Is`pQBZNc>U9^~x2qVvu3U`BMMTAYR~&xd=Q&l~)iV?2Ztov&KAEnwJm)#j zdCqgrdCqgT$Da8T%dsrW9L6Jo}lG=bnAZCGob&bIzY^Zog#mqDv-^Ir(vu&y3GIf8FS4alZuhDaTsY zi9?Rn`Q1q$PjkD=+IMnz=pf6w1gi2T^p%Mldd&_^YRzF*5lK#hw`25k*?5r{EyD0Tet1} z%eUd*{R}cCPRp9moq`d3*1Be^c`gA;8#G!To=XP_-Awel=K0Tv0Tfy-XjUFvHV^J- ziO&9evGA3DLYr;ntUrBo$eQ_}Z4GJYfBk2*9X`skinXogYmZ-dqh$?ERh=6;pmb}S zl5l6PSL(86S>=Or)^o@f;J^-{s@R1lC0&QMAY?#?Z+)9DWCfE$U@qEii7VwM z#u9Y7CWIsu&$-@U8niBAD| zB)=>^m9G<@#_y=#ypWtGKMy@l{5V1i;goB6F#=gEyMenbegdv)*^5>NZs3h?sTKln zXM8$=@e}!3D`90X@Cw&owEp{kyoIoY*VhP6%D8*XvQ{Xy6NgknN*z_gGXX1ljpfbl z6PG}qUyFGk<_ZfuP@iY1L`(%2C%q+e$z(|%8|dW`4q9O)N5-<=w=-1riZ zj27yCAp|h0&5aLZ;-wbr`M?c*0rAJT4Er8+^_~jsP`ah>N%(Oo@F_p?d*jEm0D1_l zDM)t07aC2LFM@YLzVz_=-6mP=jYW$0_U6rqhn&qTcDqzgpvAK`LyP=t z-a04wJJVLuYefCzG@>5%46fyfGCU2M-|pdR{sO1d@SDHk8|9j=O)G9un0}M&;U8$E zG+)z14E~fqc1%ZJY>XTE2`3QD9QnWx@=vW-okrR33gZp#AQw(a9`l31vO35&mit}0&`fc{eSn{S6)g3; zSEP7?{Kl&ZA&uiSF7>-@A_7lA344a$-O&&5yPY&yzFw)0_p`$B#+;&-112II4}8{FL! zh>)Tb>tKC;nji26DBMq(C7puuFKNU@BwSiuZC~5bhEiK=J8t{}z-l#ImH3~;dAbuz zUDQWxWssx%$%YD-l2B + - + + + + + diff --git a/build/unix/prepare-install-package.sh b/build/unix/prepare-install-package.sh index 837f8884..f1762f8d 100755 --- a/build/unix/prepare-install-package.sh +++ b/build/unix/prepare-install-package.sh @@ -159,7 +159,7 @@ for folder in ${folders[@]}; do cp -r "$smapiBin/i18n" "$bundlePath/smapi-internal" # bundle smapi-internal - for name in "0Harmony.dll" "0Harmony.xml" "Markdig.dll" "Mono.Cecil.dll" "Mono.Cecil.Mdb.dll" "Mono.Cecil.Pdb.dll" "MonoMod.Common.dll" "Newtonsoft.Json.dll" "Pathoschild.Http.Client.dll" "Pintail.dll" "TMXTile.dll" "SMAPI.Toolkit.dll" "SMAPI.Toolkit.xml" "SMAPI.Toolkit.CoreInterfaces.dll" "SMAPI.Toolkit.CoreInterfaces.xml" "System.Net.Http.Formatting.dll"; do + for name in "0Harmony.dll" "0Harmony.pdb" "0Harmony.xml" "Markdig.dll" "Mono.Cecil.dll" "Mono.Cecil.Mdb.dll" "Mono.Cecil.Pdb.dll" "MonoMod.Backports.dll" "MonoMod.Core.dll" "MonoMod.Iced.dll" "MonoMod.ILHelpers.dll" "MonoMod.Utils.dll" "Newtonsoft.Json.dll" "Pathoschild.Http.Client.dll" "Pintail.dll" "TMXTile.dll" "SMAPI.Toolkit.dll" "SMAPI.Toolkit.xml" "SMAPI.Toolkit.CoreInterfaces.dll" "SMAPI.Toolkit.CoreInterfaces.xml" "System.Net.Http.Formatting.dll"; do cp "$smapiBin/$name" "$bundlePath/smapi-internal" done diff --git a/build/windows/prepare-install-package.ps1 b/build/windows/prepare-install-package.ps1 index a5a6b043..afd0b571 100644 --- a/build/windows/prepare-install-package.ps1 +++ b/build/windows/prepare-install-package.ps1 @@ -179,7 +179,7 @@ foreach ($folder in $folders) { cp -Recurse "$smapiBin/i18n" "$bundlePath/smapi-internal" # bundle smapi-internal - foreach ($name in @("0Harmony.dll", "0Harmony.xml", "Markdig.dll", "Mono.Cecil.dll", "Mono.Cecil.Mdb.dll", "Mono.Cecil.Pdb.dll", "MonoMod.Common.dll", "Newtonsoft.Json.dll", "Pathoschild.Http.Client.dll", "Pintail.dll", "TMXTile.dll", "SMAPI.Toolkit.dll", "SMAPI.Toolkit.xml", "SMAPI.Toolkit.CoreInterfaces.dll", "SMAPI.Toolkit.CoreInterfaces.xml", "System.Net.Http.Formatting.dll")) { + foreach ($name in @("0Harmony.dll", "0Harmony.pdb", "0Harmony.xml", "Markdig.dll", "Mono.Cecil.dll", "Mono.Cecil.Mdb.dll", "Mono.Cecil.Pdb.dll", "MonoMod.Backports.dll", "MonoMod.Core.dll", "MonoMod.Iced.dll", "MonoMod.ILHelpers.dll", "MonoMod.Utils.dll", "Newtonsoft.Json.dll", "Pathoschild.Http.Client.dll", "Pintail.dll", "TMXTile.dll", "SMAPI.Toolkit.dll", "SMAPI.Toolkit.xml", "SMAPI.Toolkit.CoreInterfaces.dll", "SMAPI.Toolkit.CoreInterfaces.xml", "System.Net.Http.Formatting.dll")) { cp "$smapiBin/$name" "$bundlePath/smapi-internal" } diff --git a/docs/release-notes.md b/docs/release-notes.md index f7d705bb..2d6ff80b 100644 --- a/docs/release-notes.md +++ b/docs/release-notes.md @@ -16,6 +16,7 @@ * Improved performance when propagating localized assets in some cases (thanks to SinZ!). * Improved error-handling during asset propagation. * Updated dependencies, including... + * [Harmony](https://harmony.pardeike.net) 2.2.2 → 2.4.2 (see [changes](https://github.com/pardeike/Harmony/releases)). * [Newtonsoft.Json](https://www.newtonsoft.com/json) 13.0.3 → 13.0.4 (see [changes](https://github.com/JamesNK/Newtonsoft.Json/releases/tag/13.0.4)); * [Pintail](https://github.com/Nanoray-pl/Pintail) 2.8.1 → 2.9.1 (see [changes](https://github.com/Nanoray-pl/Pintail/blob/master/docs/release-notes.md#291)). * Removed `System.Management.dll`, which SMAPI no longer uses. @@ -30,6 +31,10 @@ * Fixed validation error if a `Target` contains multiple targets (thanks to irocendar!). * Fixed `FromFile` errors like "_matches a schema that is not allowed_" (thanks to irocendar!). +**Breaking changes for mod authors:** +* Newer Harmony versions have stricter validation, which will break some patches which do unusual things (like + selecting instructions past the end). + ## 4.3.2 Released 14 July 2025 for Stardew Valley 1.6.14 or later. See [4.3 release highlights](https://www.patreon.com/posts/133992196). diff --git a/src/Directory.Packages.props b/src/Directory.Packages.props index 28b4f77e..a18b445d 100644 --- a/src/Directory.Packages.props +++ b/src/Directory.Packages.props @@ -10,7 +10,7 @@ - + diff --git a/src/SMAPI.ModBuildConfig/Framework/MainModFileManager.cs b/src/SMAPI.ModBuildConfig/Framework/MainModFileManager.cs index 6107013b..a416a8da 100644 --- a/src/SMAPI.ModBuildConfig/Framework/MainModFileManager.cs +++ b/src/SMAPI.ModBuildConfig/Framework/MainModFileManager.cs @@ -33,7 +33,11 @@ internal class MainModFileManager : IModFileManager "Mono.Cecil", "Mono.Cecil.Mdb", "Mono.Cecil.Pdb", - "MonoMod.Common", + "MonoMod.Backports", + "MonoMod.Core", + "MonoMod.Iced", + "MonoMod.ILHelpers", + "MonoMod.Utils", "Newtonsoft.Json", "StardewModdingAPI", "SMAPI.Toolkit", diff --git a/src/SMAPI/SMAPI.csproj b/src/SMAPI/SMAPI.csproj index 2d6d11e6..7823dbe0 100644 --- a/src/SMAPI/SMAPI.csproj +++ b/src/SMAPI/SMAPI.csproj @@ -22,7 +22,7 @@ - +