# Description of Changes * Bump version to 2.6.0 # API and ABI breaking changes None # Expected complexity level and risk * 1 - this is just a version bump # Testing - [X] Version number is correct (`2.6.0`) - [X] BSL license file has been updated with the new date and version number
⚠️ Internal Project ⚠️
This project is intended for internal use only. It is not stable and may change without notice.
See the C# module library reference for stable, user-facing documentation.
Internal documentation
This project contains Roslyn incremental source generators that augment tables and reducers with static methods for self-describing and registration.
SpacetimeDB modules are compiled to WebAssembly modules that expose a specific interface; see the module ABI reference. This interface is implemented in the generated FFI class; see ../Codegen.Tests/fixtures/server/snapshots/Module#FFI.verified.cs for an example of what this generated code looks like.
The source generators are implemented via several attributes usable in module code:
-
[SpacetimeDB.Table]- generates code to register this table in theFFIupon startup so that they can be enumerated by the__describe_module__FFI API. It implies[SpacetimeDB.Type], so you must not specify both attributes on the same struct. -
[SpacetimeDB.Reducer]- generates code to register a static function as a SpacetimeDB reducer in theFFIupon startup and creates a wrapper that will parse SATS binary blob into individual arguments and invoke the underlying function for the__call_reducer__FFI API.