Skip to content

v0.1.8-preview.5

Pre-release
Pre-release

Choose a tag to compare

@github-actions github-actions released this 24 Jun 17:11
Immutable release. Only release title and notes can be modified.
cc5f33b

This 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 as DA.Logic.Types.Formula and variant payloads nested in lists) now serialize via ToVariant()/FromVariant(), and function-typed / otherwise-unmappable fields (e.g. DA.Action.State.Type.State, DA.Monoid.Types.Endo) emit the GenericStub.NotImplemented stub instead of a missing-method call. Compiling an --include-dependencies tree containing these Daml stdlib types as one assembly no longer fails with CS1061.

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 and DayOfWeek/Period fixes 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