Skip to content

Releases: bitmono-project/BitMono

BitMono Release v0.44.0

Choose a tag to compare

@github-actions github-actions released this 10 Jul 17:25
Immutable release. Only release title and notes can be modified.

What's Changed

  • Unity 6.3 LTS support: BitMono now ships a Unity package for Unity 6.3 LTS (6000.3.19f1) — both a .unitypackage and a UPM .tgz — joining the existing 2019.4 / 2020.3 / 2021.3 / 2022.3 / 6.0 builds.
    The download page now lists Unity 6.0 and 6.3 as separate picks by @sunnamed434
  • CI: tests now run in a dedicated net10-only job instead of riding the per-runtime build matrix by @sunnamed434
  • Bump System.Collections.Immutable from 1.7.1 to 10.0.9 by @dependabot[bot] in #294
  • Bump PolySharp from 1.15.0 to 1.16.0 by @dependabot[bot] in #293
  • Bump NullGuard.Fody from 3.1.0 to 3.1.1 by @dependabot[bot] in #292
  • Bump Microsoft.SourceLink.GitHub from 8.0.0 to 10.0.300 by @dependabot[bot] in #286
  • Bump JetBrains.Annotations from 2024.3.0 to 2026.2.0 by @dependabot[bot] in #285

Full Changelog: 0.43.1...0.44.0

BitMono Release v0.43.1

Choose a tag to compare

@github-actions github-actions released this 09 Jul 18:51
Immutable release. Only release title and notes can be modified.

What's Changed

  • Fix CLI asking for a logging.json that no longer exists by @sunnamed434 in #295
  • build(deps): Bump actions/cache from 5 to 6 by @dependabot[bot] in #289
  • Bump Microsoft.EntityFrameworkCore from 6.0.0 to 7.0.20 by @dependabot[bot] in #283
  • Bump Microsoft.NET.Test.Sdk from 18.6.0 to 18.7.0 by @dependabot[bot] in #291
  • Bump Microsoft.CodeAnalysis.CSharp and Microsoft.CodeAnalysis.CSharp.Workspaces by @dependabot[bot] in #290

Full Changelog: 0.43.0...0.43.1

BitMono Release v0.43.0

Choose a tag to compare

@github-actions github-actions released this 27 Jun 17:58
Immutable release. Only release title and notes can be modified.

What's Changed

  • New website — bitmono.dev: obfuscate your .NET files right in the browser (no install), and upload & share crackmes for others to try and crack by @sunnamed434
  • GitHub Action for CI obfuscation: obfuscate a compiled .NET assembly straight from your workflow — no source changes, no .csproj edits. Drop in bitmono-project/BitMono@0.43.0 with a file: input (plus optional preset, protections, libraries, config files, strong-name-key, etc.) and it installs the BitMono global tool and runs it for you by @sunnamed434
  • Unity IL2CPP global-metadata.dat protection is now end-to-end (follow-up to the v0.42.1 tooling): opt in and BitMono encrypts global-metadata.dat with a random per-build key and ships a native C++ plugin that decrypts it at boot — proven on a real Unity 6 build on Windows and Android (validated on an x86_64 emulator). The decryptor is compiled out of builds that don't use it, and on Windows the il2cpp_* exports in GameAssembly.dll are renamed (with a GetProcAddress hook) to defeat runtime dumpers. 32-bit Android (ARMv7) is unsupported and now warns instead of producing a broken build by @sunnamed434 (#276)
  • CLI: new --nologo flag to suppress the ASCII banner on startup for tidier CI logs by @sunnamed434
  • Fixed: Unity editor scripts now compile under C# 7.3, so the Unity 2019.4 build is no longer broken by @sunnamed434
  • Docs: added a SECURITY.md, and README docs links now point at docs.bitmono.dev by @sunnamed434
  • Tests: migrated assertions from FluentAssertions to Shouldly (keeps the test deps fully free/permissive) by @sunnamed434
  • CI: GitHub Packages push is now owner-agnostic (prep for the org transfer), actions/checkout bumped v6 → v7, and the Unity matrix is hardened (no fail-fast, throttled parallelism, 30-minute timeout) by @sunnamed434
  • Bump Newtonsoft.Json from 13.0.3 to 13.0.4 by @dependabot[bot] in #287

Full Changelog: 0.42.1...0.43.0

BitMono Release v0.42.1

Choose a tag to compare

@github-actions github-actions released this 20 Jun 15:00
Immutable release. Only release title and notes can be modified.

What's Changed

  • Unity IL2CPP global-metadata.dat protection: a global-metadata.dat parser 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 GetILAsByteArray and 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 BITM0001 Roslyn analyzer warns protection/plugin authors against Context.Module.GetAllTypes() (a common footgun); it ships inside BitMono.Core so 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.Core package, so using BitMono as a library no longer throws FileNotFoundException: Echo.DataFlow at runtime by @sunnamed434
  • Fixed: BitMono.Unity no 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-duplicate on 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

Choose a tag to compare

@github-actions github-actions released this 13 Jun 21:27
Immutable release. Only release title and notes can be modified.

What's Changed

  • Plugins: drop your own protections as DLLs into a plugins folder 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.API than the host (clear warning instead of a cryptic mid-run crash), log each plugin's version on load, and add a --plugins directory override by @sunnamed434 (#227)
  • Unity IL2CPP support: obfuscate the managed assembly before il2cpp.exe converts 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

Choose a tag to compare

@github-actions github-actions released this 13 Jun 18:48
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 .csproj via BitMonoProtections / BitMonoPreset (no protections.json on disk) by @sunnamed434
  • CLI: -l/--libraries now 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

Full Changelog: 0.39.0...0.40.1

BitMono Release v0.39.0

Choose a tag to compare

@sunnamed434 sunnamed434 released this 07 Jan 12:04

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

Download BitMono

BitMono Release v0.38.1

Choose a tag to compare

@sunnamed434 sunnamed434 released this 06 Jan 20:45

What's Changed

  • Fixed Something went wrong! System.ArgumentException #268

Full Changelog: 0.38.0...0.38.1

Download BitMono

BitMono Release v0.38.0

Choose a tag to compare

@sunnamed434 sunnamed434 released this 31 Dec 13:50
0d526be

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

Download BitMono

BitMono Release v0.37.0

Choose a tag to compare

@sunnamed434 sunnamed434 released this 07 Dec 16:36

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

Full Changelog: 0.36.1...0.37.0

Download BitMono