Releases: sunnamed434/BitMono
Releases · sunnamed434/BitMono
BitMono Release v0.42.1
Immutable
release. Only release title and notes can be modified.
What's Changed
- Unity IL2CPP
global-metadata.datprotection: aglobal-metadata.datparser and inspector (--inspect-metadata), an in-place metadata writer, and a metadata encryptor (--encrypt-metadata) with a
matching native C++ decryptor reference — the encrypt↔decrypt round-trip is verified byte-perfect on a real Unity 6 build by @sunnamed434 (#276) - FullRenamer now renames virtual/interface methods by vtable slot (renaming the whole slot group together) instead of skipping them, so more methods get obfuscated without breaking overrides by @sunnamed434
- Rewrote the reflection critical-member analysis for more accurate detection of members used via reflection (now handles
GetILAsByteArrayand more), backed by a runtime end-to-end test by @sunnamed434 - New critical analyzers keep code working after obfuscation:
SerializationCriticalAnalyzer(serialization members),UnitySerializationCriticalAnalyzer([SerializeField]/Unity-serialized fields), and
UnityStringInvokeCriticalAnalyzer(methods invoked by string, e.g.Invoke/SendMessage) are left unrenamed by @sunnamed434 - New
BITM0001Roslyn analyzer warns protection/plugin authors againstContext.Module.GetAllTypes()(a common footgun); it ships insideBitMono.Coreso plugin authors get it in their own IDE by
@sunnamed434 - Replaced Newtonsoft.Json with a small cross-platform JSON helper (System.Text.Json on net6.0+) by @sunnamed434
- Fixed: the vendored Echo assemblies are now packed into the
BitMono.Corepackage, so using BitMono as a library no longer throwsFileNotFoundException: Echo.DataFlowat runtime by @sunnamed434 - Fixed:
BitMono.Unityno longer ships the build-time CLI DLLs into the IL2CPP player build, which previously made IL2CPP builds hang at "Extracting script serialization layouts" by @sunnamed434 - Docs & brand: reworked the exclude/criticals and developer pages, simplified and fixed outdated content, and refreshed the logo kit, README header, and docs logo/favicon by @sunnamed434
- Docs now available at docs.bitmono.dev
- CI: keep
--skip-duplicateon the nuget.org push by @sunnamed434 - Bump BenchmarkDotNet from 0.13.4 to 0.15.8 by @dependabot[bot] in #278
- build(deps): Bump game-ci/unity-builder from 4 to 5 by @dependabot[bot] in #277
- Bump Costura.Fody from 6.0.0 to 6.2.0 by @dependabot[bot] in #279
- Bump Microsoft.NET.Test.Sdk from 17.14.1 to 18.6.0 by @dependabot[bot] in #284
Full Changelog: 0.41.1...0.42.1
BitMono Release v0.41.1
Immutable
release. Only release title and notes can be modified.
What's Changed
- Plugins: drop your own protections as DLLs into a
pluginsfolder and BitMono discovers and runs them like the built-ins, no rebuild required by @sunnamed434 (#227) - Plugins: skip a plugin built against a newer
BitMono.APIthan the host (clear warning instead of a cryptic mid-run crash), log each plugin's version on load, and add a--pluginsdirectory override by @sunnamed434 (#227) - Unity IL2CPP support: obfuscate the managed assembly before
il2cpp.execonverts it, and automatically skip protections that can't run on IL2CPP (native code,calli, PE packers) — detected from the scripting backend, or forced with--il2cpp/"IL2CPP"by @sunnamed434 (#250) - Fix swapped log lines for skipped "deprecated" vs "obfuscation attribute" protections by @sunnamed434
- Docs: modernized and simplified in a plainer, less AI-sounding voice, fixed the custom-protection API example (
ExecuteAsync()/Context.Parameters.Members), corrected wrong protection names (BitTimeDateStamp,StringsEncryption), and refreshed stale version examples by @sunnamed434 - CI: fail the release build when a package doesn't actually reach nuget.org, so a silent validation rejection no longer passes as green by @sunnamed434
Full Changelog: 0.40.0...0.41.1
BitMono Release v0.40.1
Immutable
release. Only release title and notes can be modified.
What's Changed
- Fix .NET 9/10 startup crash (
BadImageFormatException: Enclosing type(s) not found) after StringsEncryption by @sunnamed434 (#242, #226) - WPF support: rename the types XAML references and rewrite the compiled XAML (BAML) to match by @sunnamed434 (#212)
- FullRenamer: fix generic member access (
Foo<int>().Bar(), fields on generic types) breaking after renaming by @sunnamed434 (#220) - Don't rename compiler/runtime "magic" types (PolySharp polyfills,
IsExternalInit, nullable attributes) by @sunnamed434 (#97) - MSBuild integration: set protections or a preset directly in the
.csprojviaBitMonoProtections/BitMonoPreset(noprotections.jsonon disk) by @sunnamed434 - CLI:
-l/--librariesnow accepts multiple dependency folders by @sunnamed434 (#152) - Add user-selected protection presets (
--preset/"Preset": Minimal/Balanced/Maximum) by @sunnamed434 - Post-obfuscation tips after each run by @sunnamed434 (#198)
- Clearer error for AOT/Arm64 (e.g. .NET MAUI iOS) assemblies, plus .NET MAUI docs by @sunnamed434 (#223)
- VB.NET / F# documented (works the same as C#) by @sunnamed434 (#201)
- Native AOT documentation by @sunnamed434 (#220)
- Publish to nuget.org via Trusted Publishing (OIDC) — no long-lived API keys by @sunnamed434
- Rename interface methods alongside their implementations and async state machines by @AlpinePastoralist in #273
- Produce consistent signatures and attributes for hook stubs by @AlpinePastoralist in #274
- Fix the offsets of BitDecompiler and BitDotNet for x64 target by @baoan7090 in #275
- Bump actions/upload-artifact from 6 to 7 by @dependabot[bot] in #271
- Bump actions/download-artifact from 7 to 8 by @dependabot[bot] in #270
- Bump sphinx from 8.2.3 to 9.1.0 in /docs by @dependabot[bot] in #267
- Bump sphinx-rtd-theme from 3.0.2 to 3.1.0 in /docs by @dependabot[bot] in #269
New Contributors
- @baoan7090 made their first contribution in #275
- @AlpinePastoralist made their first contribution in #273
Full Changelog: 0.39.0...0.40.1
BitMono Release v0.39.0
What's Changed
- Add --output-name CLI option to configure output filename (#109)
- Fix can't find protections
Full Changelog: 0.38.1...0.39.0
BitMono Release v0.38.1
What's Changed
- Fixed
Something went wrong! System.ArgumentException#268
Full Changelog: 0.38.0...0.38.1
BitMono Release v0.38.0
What's Changed
- Breaking change: Replace Serilog, Autofac, pocket and Microsoft.* dependencies with minimal code by @sunnamed434 in #266
- Bump actions/download-artifact from 6 to 7 by @dependabot[bot] in #264
- Bump actions/upload-artifact from 5 to 6 by @dependabot[bot] in #263
- Bump actions/cache from 4 to 5 by @dependabot[bot] in #265
Final release of the 2025! Happy coming new year 🎉
Full Changelog: 0.37.0...0.38.0
BitMono Release v0.37.0
What's Changed
- Bump actions/checkout from 5 to 6 by @dependabot[bot] in #257
- Adds .Net 10 Support by @hackingguy in #260
- Fix unitypackage can't find CLI
- Fix unitypackage DLLs is getting stripped
- Add in docs how to test unitypackage
- Fix copy-to-test-project.bat can't find CLI
- (CI) Unity Build only on default branch
New Contributors
- @hackingguy made their first contribution in #260
Full Changelog: 0.36.1...0.37.0
BitMono Release v0.36.1
What's Changed
- Bumped AsmResolver to 6.0.0-beta.5
- Bump actions/download-artifact from 5 to 6 by @dependabot[bot] in #256
- Bump actions/upload-artifact from 4 to 5 by @dependabot[bot] in #255
Full Changelog: 0.36.0...0.36.1
BitMono Release v0.36.0
What's Changed
- Use AsmResolver's nightly version 6.0.0-development.254 (so be careful using this release, might be unstable, but also this AsmResolver version includes many bug fixes)
- Upgrade net462 dependencies to fix immediate crash by @Bip901 in #245
- Fix empty namespace always being renamed by @Bip901 in #244
- Avoid renaming classes that are nested within critical classes, and compiler generated properties/fields by @Bip901 in #246
- Improve the base type analyzer, making it more explicit by @Bip901 in #243
- Add support for custom configuration file paths by @sunnamed434 in #248
- Unity Engine Integration - Fixes #231 by @Nonanti in #237
- Add strong name signing option '--strong-name-key' #229 by @sunnamed434 in #251
- Improve reflection usage analysis by @sunnamed434 in #252
- Bump sphinx from 7.4.7 to 8.2.3 in /docs by @dependabot[bot] in #253
- More docs
New Contributors
Full Changelog: 0.35.6...0.36.0
BitMono Release v0.35.6
What's Changed
- Bumped dependencies and AsmResolver to latest version
New Contributors
- @dependabot[bot] made their first contribution in #235
Full Changelog: 0.35.5...0.35.6