Skip to content

ci(changesets): version packages#216

Merged
solidsnakedev merged 1 commit intomainfrom
changeset-release/main
Mar 20, 2026
Merged

ci(changesets): version packages#216
solidsnakedev merged 1 commit intomainfrom
changeset-release/main

Conversation

@github-actions
Copy link
Contributor

This PR was opened by the Changesets release GitHub action. When you're ready to do a release, you can merge this and the packages will be published to npm automatically. If you're not ready to do a release yet, that's fine, whenever you add more changesets to main, this PR will be updated.

Releases

@evolution-sdk/aiken-uplc@0.0.22

Patch Changes

  • Updated dependencies [19829c7]:
    • @evolution-sdk/evolution@0.3.30

@evolution-sdk/evolution@0.3.30

Patch Changes

  • #215 19829c7 Thanks @solidsnakedev! - Blueprint codegen now supports recursive type schemas — Plutus types that reference themselves
    directly or through an intermediate type (e.g. MultiSig containing a List<MultiSig> field).
    Cyclic references are emitted as typed Schema.suspend thunks where the encoded type I is
    inferred by recursively walking the blueprint definition graph rather than hardcoded to Data.Constr:
    listreadonly ItemEncoded[], mapglobalThis.Map<Data.Data, Data.Data>,
    bytesUint8Array, integerbigint, constructor and union → Data.Constr,
    $ref followed transitively up to depth 10. The previous hardcoded Data.Constr caused a
    TypeScript invariance error for any recursive field referencing a list type.

    Several other codegen correctness and API improvements ship in the same release:

    • Namespace emission ordering — the group-by-namespace emitter is replaced by a streaming emitter
      that walks a global topological sort and opens/closes namespace blocks on demand. TypeScript namespace
      merging handles split declarations transparently. This fixes cases where a type was emitted before
      its cross-namespace dependency (e.g. Option.OfStakeCredential appearing before Cardano.Address.StakeCredential).
    • Cyclic type emit pattern — cyclic types now emit a export type X = ... / export const X = ...
      pair with no outer Schema.suspend wrapper and no as cast. Only the inner field references that
      close the cycle use typed thunks: Schema.suspend((): Schema.Schema<T, I> => T).
    • unionStyle configCodegenConfig gains unionStyle: "Variant" | "Struct" | "TaggedStruct"
      in place of the removed forceVariant and useSuspend fields. Struct emits
      TSchema.Struct({ Tag: TSchema.Struct({...}, { flatFields: true }) }, { flatInUnion: true }),
      TaggedStruct emits TSchema.TaggedStruct("Tag", {...}, { flatInUnion: true }),
      and Variant emits TSchema.Variant({ Tag: {...} }).
    • Import hygiene — generated files emit import { Schema } from "@evolution-sdk/evolution"
      only when cyclic types are present, rather than always importing from effect directly.
      CodegenConfig.imports.effect is replaced by imports.schema.

@evolution-sdk/devnet@1.1.30

Patch Changes

  • Updated dependencies [19829c7]:
    • @evolution-sdk/evolution@0.3.30
    • @evolution-sdk/aiken-uplc@0.0.22
    • @evolution-sdk/scalus-uplc@0.0.20

@evolution-sdk/scalus-uplc@0.0.20

Patch Changes

  • Updated dependencies [19829c7]:
    • @evolution-sdk/evolution@0.3.30

docs@0.0.37

Patch Changes

  • Updated dependencies [19829c7]:
    • @evolution-sdk/evolution@0.3.30
    • @evolution-sdk/devnet@1.1.30

evolution-vite-react-example@0.1.16

Patch Changes

  • Updated dependencies [19829c7]:
    • @evolution-sdk/evolution@0.3.30

@solidsnakedev solidsnakedev merged commit adc87ae into main Mar 20, 2026
4 checks passed
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