# Description of Changes <!-- Please describe your change, mention any related tickets, and so on here. --> - Bumps version to 2.7.0 # API and ABI breaking changes <!-- If this is an API or ABI breaking change, please apply the corresponding GitHub label. --> None # Expected complexity level and risk - 1 - this is just a version bump <!-- How complicated do you think these changes are? Grade on a scale from 1 to 5, where 1 is a trivial change, and 5 is a deep-reaching and complex change. This complexity rating applies not only to the complexity apparent in the diff, but also to its interactions with existing and future code. If you answered more than a 2, explain what is complex about the PR, and what other components it interacts with in potentially concerning ways. --> # Testing <!-- Describe any testing you've done, and any testing you'd like your reviewers to do, so that you're confident that all the changes work as expected! --> - [x] Version number is correct (`2.7.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.