Skip to content

Conversation

@rekhoff
Copy link
Contributor

@rekhoff rekhoff commented Feb 11, 2026

Description of Changes

  • Refactored Module so all V10 builder state and registration helpers now live on partial class RawModuleDefV10. The static Module class simply registers components against that builder and serializes via moduleDef.BuildModuleDefinition()
  • Removed the deprecated __describe_module__ export. Only __describe_module_v10__ is emitted now across the runtime, native shim, generated bindings, and snapshots
  • Mirrored the Rust TODO that future V10 sections will cover Event tables and Case-conversion policy so we don't lose track of those items

API and ABI breaking changes

Modules built with these bindings now expose only __describe_module_v10__
The legacy __describe_module__ symbol is gone from both managed and native layers. Hosts expecting the old export must switch to the V10 entry point (which is already the canonical ABI for 2.0).

Expected complexity level and risk

2 - Low. The refactor keeps the previous builder logic but relocates it, and the export removal matches the already-supported V10 host path.

Testing

  • Successfully built CLI and DLLs without errors.
  • Ran dotnet build crates/bindings-csharp/Runtime/Runtime.csproj without errors.
  • Ran dotnet test crates/bindings-csharp/Codegen.Tests/Codegen.Tests.csproj without errors.
  • Ran bash run-regression-tests.sh without errors.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant