-
Notifications
You must be signed in to change notification settings - Fork 4
Description
Upstream Harmony has finally figured how to IL-pack their dependencies (again).
This mean we can potentially upgrade the version distributed for the KSP ecosystem.
As a reminder, we were unable to upgrade to Harmony 2.3.x because they stopped releasing the "fat" versions where Cecil and the various other dependencies are IL-packed in the Harmony assembly. Since KSP is bundled with a vastly outdated version of Cecil that doesn't work for Harmony, we were stuck with the last IL-packed version (2.2.x).
Upgrading isn't strictly necessary as there are no truly useful new features (Infixes seems to be WIP still) and AFAIK we don't have issues with the current version. The 2.3 / 2.4 versions are mainly about better support for new .NET versions and the mac-arm64 target (which isn't supported by KSP anyway), and this mostly comes from MonoMod and not Harmony itself. There are a few refinements to the various utility APIs, but nothing that useful.
In fact, there will probably be regressions with some previously working transpilers not working anymore, there is at last one such case in KSPCF.
In any case, upgrading would notably entails coordinating with KSPCF, which rely on some Harmony implementation details that changed.
See KSPModdingLibs/KSPCommunityFixes/pull/332