Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
34 changes: 0 additions & 34 deletions .changeset/blueprint-codegen-recursive.md

This file was deleted.

8 changes: 8 additions & 0 deletions docs/CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,13 @@
# docs

## 0.0.37

### Patch Changes

- Updated dependencies [[`19829c7`](https://github.com/IntersectMBO/evolution-sdk/commit/19829c7c6e1cd1ac3a33fb180e4482016791dcd5)]:
- @evolution-sdk/evolution@0.3.30
- @evolution-sdk/devnet@1.1.30

## 0.0.36

### Patch Changes
Expand Down
2 changes: 1 addition & 1 deletion docs/package.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"name": "docs",
"version": "0.0.36",
"version": "0.0.37",
"private": true,
"type": "module",
"scripts": {
Expand Down
7 changes: 7 additions & 0 deletions examples/with-vite-react/CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,12 @@
# evolution-vite-react-example

## 0.1.16

### Patch Changes

- Updated dependencies [[`19829c7`](https://github.com/IntersectMBO/evolution-sdk/commit/19829c7c6e1cd1ac3a33fb180e4482016791dcd5)]:
- @evolution-sdk/evolution@0.3.30

## 0.1.15

### Patch Changes
Expand Down
2 changes: 1 addition & 1 deletion examples/with-vite-react/package.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"name": "evolution-vite-react-example",
"version": "0.1.15",
"version": "0.1.16",
"private": true,
"type": "module",
"scripts": {
Expand Down
7 changes: 7 additions & 0 deletions packages/aiken-uplc/CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,12 @@
# @evolution-sdk/aiken-uplc

## 0.0.22

### Patch Changes

- Updated dependencies [[`19829c7`](https://github.com/IntersectMBO/evolution-sdk/commit/19829c7c6e1cd1ac3a33fb180e4482016791dcd5)]:
- @evolution-sdk/evolution@0.3.30

## 0.0.21

### Patch Changes
Expand Down
2 changes: 1 addition & 1 deletion packages/aiken-uplc/package.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"name": "@evolution-sdk/aiken-uplc",
"version": "0.0.21",
"version": "0.0.22",
"description": "Aiken UPLC evaluator for Evolution SDK with WASM-based local script evaluation",
"type": "module",
"main": "./dist/index.js",
Expand Down
9 changes: 9 additions & 0 deletions packages/evolution-devnet/CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,14 @@
# @evolution-sdk/devnet

## 1.1.30

### Patch Changes

- Updated dependencies [[`19829c7`](https://github.com/IntersectMBO/evolution-sdk/commit/19829c7c6e1cd1ac3a33fb180e4482016791dcd5)]:
- @evolution-sdk/evolution@0.3.30
- @evolution-sdk/aiken-uplc@0.0.22
- @evolution-sdk/scalus-uplc@0.0.20

## 1.1.29

### Patch Changes
Expand Down
2 changes: 1 addition & 1 deletion packages/evolution-devnet/package.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"name": "@evolution-sdk/devnet",
"version": "1.1.29",
"version": "1.1.30",
"description": "Local Cardano devnet for testing and development with Docker",
"type": "module",
"main": "./dist/index.js",
Expand Down
30 changes: 30 additions & 0 deletions packages/evolution/CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,35 @@
# @evolution-sdk/evolution

## 0.3.30

### Patch Changes

- [#215](https://github.com/IntersectMBO/evolution-sdk/pull/215) [`19829c7`](https://github.com/IntersectMBO/evolution-sdk/commit/19829c7c6e1cd1ac3a33fb180e4482016791dcd5) Thanks [@solidsnakedev](https://github.com/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`:
`list` → `readonly ItemEncoded[]`, `map` → `globalThis.Map<Data.Data, Data.Data>`,
`bytes` → `Uint8Array`, `integer` → `bigint`, `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` config** — `CodegenConfig` 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`.

## 0.3.29

### Patch Changes
Expand Down
2 changes: 1 addition & 1 deletion packages/evolution/package.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"name": "@evolution-sdk/evolution",
"version": "0.3.29",
"version": "0.3.30",
"description": "A modern TypeScript SDK for Cardano blockchain development",
"type": "module",
"main": "./dist/index.js",
Expand Down
7 changes: 7 additions & 0 deletions packages/scalus-uplc/CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,12 @@
# @evolution-sdk/scalus-uplc

## 0.0.20

### Patch Changes

- Updated dependencies [[`19829c7`](https://github.com/IntersectMBO/evolution-sdk/commit/19829c7c6e1cd1ac3a33fb180e4482016791dcd5)]:
- @evolution-sdk/evolution@0.3.30

## 0.0.19

### Patch Changes
Expand Down
2 changes: 1 addition & 1 deletion packages/scalus-uplc/package.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"name": "@evolution-sdk/scalus-uplc",
"version": "0.0.19",
"version": "0.0.20",
"description": "Scalus UPLC evaluator adapter for Evolution SDK",
"type": "module",
"main": "./dist/index.js",
Expand Down
Loading