v0.1.8-preview.5
Pre-releaseThis release follows 0.1.8-preview.4. The headline is a codegen serialization-dispatch fix: generated serialization no longer emits a non-compiling .ToRecord() for variant payloads or for fields the type mapper cannot name, so an --include-dependencies tree containing Daml stdlib types like DA.Logic.Types.Formula, DA.Action.State.Type.State and DA.Monoid.Types.Endo now compiles as a single assembly. This release also bumps the default Splice release to 0.6.9 and regenerates both the Splice and Daml Finance C# bindings with the preview.5 emitter.
Changes since 0.1.8-preview.4
Changed
- Generated code and runtime messages no longer embed internal issue-tracker references; limitation notes (contract-key projection, generic-type serialization) now read as generic, consumer-facing prose.
Fixed
- Generated serialization no longer emits a non-compiling
.ToRecord()for variant payloads or for fields the type mapper cannot name. Variant payloads (including recursive variants such asDA.Logic.Types.Formulaand variant payloads nested in lists) now serialize viaToVariant()/FromVariant(), and function-typed / otherwise-unmappable fields (e.g.DA.Action.State.Type.State,DA.Monoid.Types.Endo) emit theGenericStub.NotImplementedstub instead of a missing-method call. Compiling an--include-dependenciestree containing these Daml stdlib types as one assembly no longer fails withCS1061.
What's included
| Package | Purpose |
|---|---|
Daml.Codegen.CSharp |
the C# emitter library |
Daml.Runtime |
runtime types referenced by generated code |
Daml.Ledger.Abstractions |
transport-agnostic ILedgerClient submission/subscription interface |
Daml.Codegen.Testing.Conformance |
compiled conformance corpus + embedded DAR for live-ledger round-trip tests |
The four core packages are versioned in lockstep and published to NuGet.org. The codegen CLI ships separately as a multi-arch OCI component for dpm — oci://ghcr.io/peacefulstudio/dpm-codegen-cs:0.1.8-preview.5 (linux/amd64, linux/arm64, darwin/arm64, windows/amd64); the per-RID bundle tarballs and all .nupkg/.snupkg files are attached below.
Generated DAR bindings (NuGet.org)
Generated C# bindings built with this release are published to NuGet.org and attached here:
- Daml Finance 2.10.0 — 8 packages (
Daml.Finance.*, e.g.Daml.Finance.Util.V4 4.0.0-preview.5). Regenerated with the preview.5 emitter; the keyed-template andDayOfWeek/Periodfixes from preview.4 mean the previously-broken keyed and date packages now compile. - Splice 0.6.9 — 23 packages (
Splice.*, e.g.Splice.Amulet 0.1.20-preview.5). Bumped from 0.6.5; the new 0.6.9 packages (batched-markers, featured-app proxies, token-standard wallet, app-manager) are picked up automatically.
Versioning and stability
This project is pre-1.0: under SemVer 0.x, any release may change the public API without a major-version bump. This is a preview release.
Getting started
Add the codegen component to your daml.yaml (set DPM_AUTO_INSTALL=true so dpm fetches it on first use):
components:
- oci://ghcr.io/peacefulstudio/dpm-codegen-cs:0.1.8-preview.5