Repository navigation
Releases: sorrowfoxmoil/BepInEx
Release list
BepInEx 6.0.0-pre.2
请注意: 这是 BepInEx 的一个重要版本的预发布。BepInEx 5 的插件暂时无法与此版本兼容。
关于升级
此次发布主要面向那些使用当前Bleeding Edge版本来修改Il2Cpp游戏的用户。如果您想使用此版本,请遵循以下升级指南:- 如果您使用的是BepInEx 5:请继续使用BepInEx 5!当前的预发布版本不支持加载BepInEx 5插件,且存在许多问题。
- 如果您使用的是BepInEx Bleeding Edge版本(版本号在697到577之间):建议您升级到此预发布版本并继续使用它,以确保所有插件正常工作。在6.0.0-be.697之后的版本将会带来许多破坏性的API变化,为第一个稳定的v6版本做准备。
- 如果您想修改新的Unity Mono游戏:考虑使用BepInEx 5!API仍然稳定,并且BepInEx 6最终会包括对加载BepInEx 5插件的支持!
- 如果您想修改新的Il2Cpp游戏:考虑使用此版本,直到稳定的v6版本发布,或者前沿(Bleeding Edge版本)进入RC(候选发布)阶段。
更新日志
更新日志涉及 BepInEx 6.0.0-pre.1。
合并的 PRs:
-
重构项目,添加 Doorstop 4 支持,使用 CoreCLR 代替 Il2Cpp(@ghorsington 在 BepInEx#391)
-
添加链加载事件(@js6pak 在 BepInEx#475)
-
提醒使用过时的 wine(@js6pak 在 BepInEx#477)
-
添加配置选项以禁用 xref 并默认在 x32 上禁用它(@js6pak 在 BepInEx#502)
-
提升 Il2CppInterop(@js6pak 在 BepInEx#503)
-
切换到 Cpp2IL 的
开发分支(@ds5678 在 BepInEx#533) -
提升 Cpp2IL(@Kasuromi 在 BepInEx#560)
-
提升 Il2CppInterop 至 v1.4.4(@Kasuromi 在 BepInEx#561)
-
提升 Il2CppInterop 至 v1.4.5(@Kasuromi 在 BepInEx#564)
-
提升 Il2CppInterop(@Kasuromi 在 BepInEx#647)
-
不尝试解析 wine 版本(@js6pak 在 BepInEx#555)
-
修复在 Linux 上通过 Steam 启动时的参数计数问题(@zeroepoch 在 BepInEx#563)
-
提升 Il2CppInterop 和 Dobby(@Kasuromi 在 BepInEx#669)
-
修复 netfx 和 netcore 构建目标,并添加目标框架变体(@bbepis 在 BepInEx#715)
-
重新实现 UnhollowedAssembliesPath 配置选项为 IL2CPPInteropAssembliesPath(@Kokaiinum 在 BepInEx#734)
-
优化 run_bepinex*.sh:改进自我重启(@astiob 在 BepInEx#692)
-
提升 Doorstop 至 v4.2.0(v6)(@aldelaro5 在 BepInEx#865)
-
提升 AssetRipper.Primitives 以避免暗示 Json 8.0.1(@decaprime 在 BepInEx#873)
-
提升 Doorstop 至 v4.3.0(v6)(@aldelaro5 在 BepInEx#901)
-
提升 Harmonyx、Iced 和 AssetRipper.Primitives 包(@aldelaro5 在 BepInEx#953)
新的贡献者:
-
@ds5678 作出了他的第一次贡献(BepInEx#533)
-
@Kokaiinum 作出了他的第一次贡献(BepInEx#734)
-
@decaprime 作出了他的第一次贡献(BepInEx#873)
BepInEx 5.4.23.2
Doorstop 已从 v3.4 升级到 v4.3,为开发人员带来了一些新功能。它在大多数情况下是一个即插即用的替换。
- Doorstop 4 的调试在所有支持常规 Unity 远程调试的平台和 IDE 上都可以使用(以前必须使用 dnspy 调试,这仅适用于 Windows,不能在 IDE 中使用)。
- 现在可以指定自定义的 corlib 路径来与游戏的 mono 运行时进行调试。 Unix zip 现在分为 linux_x86、linux_x64 和 macos_x64。
⚠️ macos_x86 目标已被取消,不会再有进一步的发布(在 Discord 上讨论过)。如果有必要,你仍然可以使用 BepInEx 5.4.22。⚠️ doorstop_config.ini 中的设置已被重命名,旧的配置文件将不再工作。⚠️ 如果你修改或编写了自己的启动脚本,可能需要修复,因为传递给 Doorstop 的参数顺序已更改。 详情请参见 BepInEx#762 的描述。
更改内容
-
通过 @aldelaro5 在 BepInEx#900 中将 Doorstop 升级到版本 4.3.0
-
通过 @aldelaro5 在 BepInEx#864 中将 Doorstop 升级到版本 4.2.0
-
通过 @aldelaro5 在 BepInEx#762 中将 Doorstop 升级到版本 4.1.0
-
通过 @toebeann 在 BepInEx#700 中将 .sln(CRLF)和 .cs、.sh(LF)的 EOL 规范化
-
通过 @astiob 在 BepInEx#693 中改进 run_bepinex.sh 的重启
新贡献者
-
@aldelaro5 在 BepInEx#762 中进行了他们的首次贡献
-
@toebeann在 BepInEx#700 中进行了他们的首次贡献
完整更改日志:v5.4.22...v5.4.23.1
⚠️ BepInEx 5 目前处于长期支持(LTS)模式
BepInEx 5.4 是 BepInEx 5 的最后一个包含主要更新的版本。从版本 5.4 开始的任何 BepInEx 5 发布都将是次要更新,仅包含修复和包版本更新。我们的主要开发重点现在转向实现 BepInEx 6。
对于开发人员:BepInEx 5 源代码现在维护在 v5-lts 分支。相应地,主分支将开始托管 BepInEx 6 源代码。所有与 BepInEx 5 相关的 PR 应以该分支为目标,而不是主分支。
5.4.23.1
Doorstop已经从v3.4升级到v4.2,为开发者带来一些新功能。这主要是一个即插即用的替换。
Doorstop 4的调试在所有支持常规Unity远程调试的平台和IDE上都可以工作(以前必须使用dnspy调试,这是仅限Windows的,并且不能与IDE一起使用)。
可以指定一个自定义的corlib路径来搞乱游戏的mono运行时。
unix zip现在被分割成linux_x86,linux_x64和macos_x64。
查看#762的描述以获取详情。
改变了什么
通过@aldelaro5在#864中将Doorstop升级到版本4.2.0
通过@aldelaro5在#762中将Doorstop升级到版本4.1.0
通过在#700中规范化.sln(CRLF)和.cs,.sh(LF)的EOL
run_bepinex.sh:自我重新启动的改进通过@astiob在#693
新的贡献者
@aldelaro5在#762中做出了他们的第一次贡献
@toebeann在#700中做出了他们的第一次贡献
完整的变更日志:v5.4.22...v5.4.23.1
BepInEx 5.4是BepInEx 5的最后一个版本,带有主要更新。任何从版本5.4开始的BepInEx 5发布版本将是小版本,并且只包含修复以及包版本更新。我们的主要开发焦点现在转移到实现BepInEx 6。
对于开发者:BepInEx 5的源代码现在维护在v5-lts分支上。反过来,主分支将开始托管BepInEx 6的源代码。所有关于BepInEx 5的PR都应该直接目标那个分支,而不是主分支。
BepInEx 6.0.0-pre.1
注意:这是 BepInEx 主要版本的预发布版本。BepInEx 5 插件目前无法与此版本兼容。
警告:这个预发布版本比较旧,最新的 IL2CPP 游戏可能无法与其正常运行。建议使用最新的前沿(BepInEx Bleeding Edge)版本。
关于升级
此版本主要面向使用当前 Bleeding Edge 版本修改 Il2Cpp 游戏的用户。如果您想使用此版本,请遵循以下升级指南:
-
如果您使用 BepInEx 5:请继续使用 BepInEx 5!当前预发布版本不支持加载 BepInEx 5 插件,并且存在许多问题。
-
如果您使用 BepInEx Bleeding Edge 版本(版本 577 及更低版本):建议您升级到此预发布版本以确保所有插件继续工作。6.0.0-be.577 之后的所有版本都与较新的 BE 版本不兼容。要升级,只需下载下面相应的 ZIP 并用新文件替换旧文件即可。
-
如果您想修改新的 Unity Mono 游戏:请考虑使用 BepInEx 5! API 仍然稳定,BepInEx 6 最终将支持加载 BepInEx 5 插件!
-
如果您想修改新的 Il2Cpp 游戏:请考虑使用 Bleeding Edge 版本!6.0.0-be.577 之后的版本使用更新的工具和 .NET 6 for Il2Cpp。此预发布版本主要面向那些已经拥有现有 Il2Cpp 插件且目前无法升级的用户。
变更日志
变更日志涉及 BepInEx 5
新功能
- 项目进行了大规模重组,以允许扩展到新的游戏引擎和运行时
BepInEx.dll重命名为BepInEx.Core.dllBepInEx.Preloader.dll重命名为BepInEx.Preloader.Core.dll- 支持 Unity Mono 游戏的代码已移至
BepInEx.Unity.dll和BepInEx.Preloader.Unity.dll - 增加了对新运行时的官方支持:
- Unity Il2Cpp:Unity 使用的提前编译工具
- .NET Framework,适用于使用 .NET 游戏引擎的游戏(例如 XNA、MonoGame)
- .NET Core,适用于使用基于 .NET Core 的引擎的游戏(例如 Silk)
- 添加了新的基于属性的预加载器补丁语法示例
- 插件版本现在需要遵循 semver 2.0.0
x.y.z.w形式仍将被接受,但w部分将被忽略,除了日志记录目的之外
- 允许将 BepInEx 控制台管道传输到 Wine 上的 Unix 终端(BepInEx#322)
API 改进
BepInDependency现在支持使用 npm 版本范围语法为依赖项指定版本范围ManualLogSource现在包含插值字符串处理程序的重载以提高日志记录性能ConfigEntryBase构造函数现在标记为受保护,以允许在自定义配置条目中使用(#403)ConfigFile.Values现在标记为公共,以与ConfigFile.Keys属性保持一致
依赖项升级,新依赖项
- 将 HarmonyX 更新至 2.10.0
- 将 MonoMod 更新至 22.5.1.1
- Il2Cpp:添加了 Cpp2IL
- Il2Cpp:添加了[ Il2CppAssemblyUnhollower]的分支(https://github.com/BepInEx/Il2CppAssemblyUnhollower)
- Il2Cpp:添加了 mono 运行时的分支的分支
修复
- 修复了由
ThreadingHelper导致的 Unity 4 游戏崩溃 - 改进了控制台输出在 Unix 上(Wine 和原生 Unix 游戏)
- 改进了文件日志记录,尤其是针对并发游戏运行
- 修复了同时运行链式加载器的多个 BepInEx 实例(BepInEx#322)
- 优化了日志源和日志监听器事件处理
- 修复了尝试查询 Unity 版本时可能发生的崩溃(BepInEx#229)
- 修复了未检测到具有间接 BepInEx 引用的插件(BepInEx#240)
- 改进了插件依赖项加载错误的日志记录
- 修复了 Wine 中可能发生的与控制台相关的崩溃(BepInEx#325)
- 修复了在 Windows 上无法分配控制台时游戏崩溃的问题
弃用和其他内部管理
- 删除了
BepInEx.Patcher(mono 和 .NET 游戏的硬修补程序) - 将所有项目升级为新的 csproj 格式
- 删除了所有子模块,转而使用 NuGet 来管理外部依赖项
- 删除了所有 Harmony 版本包装器
- 删除了弃用的
BepInEx.Harmony程序集 - 改进了 ZIP 命名包括一致的操作系统和架构标识符