Repository navigation
Releases: temporalio/nexgen
Releases · temporalio/nexgen
Release list
nexgen v0.2.10
Immutable
release. Only release title and notes can be modified.
Added
- Go system Nexus code generation supports
@nexus.serialization-contexthelpers and emits an operation registry keyed by wire service and operation names, allowing the SDK to select the serialization context for an operation's nested user payloads. - Generated Go model types expose value-receiver getters for exported fields, allowing support packages to consume models through interfaces without importing the generated package.
- Go WIT function references support
go-value-type/go-args-typerepresentation overrides andgo-name-extractorhelpers that can resolve registered workflow aliases. - TypeScript generation now supports the notification-service, proto-generic, and proto-oneof WIT examples, including nested generic protobuf payload carriers, required and optional oneofs, and model-only exports with generic transfer converters.
- Generated TypeScript protobuf helpers now use non-null input/output contracts, and oneof switches fail typechecking when a discriminator or variant case is unhandled.
Changed
- Generated protobuf-backed Go models used as eligible top-level Nexus inputs or outputs implement
TransferTypeConverter, deferring model conversion to the SDK. Ordinary Nexus models use the public transfer converter API; system Nexus models receive the SDK-selected data converter with the operation's serialization context applied. - Generated Go request models expose
@nexus.sourcefields as exported fields populated at the operation call site before SDK conversion, making them available to serialization-context helpers. - Generated TypeScript
requiredFieldhelpers are now private to the modules that use them, rather than exported frommodels.ts; unused definitions are omitted. - Go convenience wrappers derive function argument grouping and variadic placement from their signatures and primary role, not argument-field names. Signals retain their name-and-single-payload API through explicit Go representation overrides.
cargo test --all-featuresno longer requires language-specific toolchains.cargo validate <language>now runs that language's generated-code compilation and runtime regressions alongside its sample checks.cargo validate conformancechecks JSON Schema behavior across Go, Java, Python, and TypeScript, and is included in full validation.
Fixed
- Render
@nexus.docon WIT variants and their cases in Python, TypeScript, Go, and .NET, including per-language overrides and protobuf oneof-backed cases. - Go and .NET now honor
@nexus.defaultWIT directives. - Fix .NET protobuf-backed model conversion for list elements and map values, populating protobuf collections instead of assigning incompatible model collections.
- Fix accidental identifier shadowing in Python transfer converters and Go imports.
- Fix protobuf collection presence metadata; collections don't have presence.
- Preserve
@nexus.docon generated Python WIT record classes, including protobuf-backed and empty records. - Go generation now selects system Nexus behavior with
--system-nexus, not endpoint names. - Render
@nexus.experimentalwarnings on WIT variants in Python, TypeScript, Go, and .NET without marking individual cases experimental.
nexgen v0.2.9
Added
- Add multiple proto messages to one WIT scaffold with repeated
add-message --message, or select all messages in a descriptor-set proto file with--file. - Go WIT generation supports workflow function name extractors, including registered Temporal workflow names.
Fixed
- Unify
add-messageand bothadd-rpcpaths so reconciliation restores missing owned fields and declarations throughout reachable mapped records, validates linked records without editing dependencies, and detects oneof case drift while preserving intentional refinements. - Preserve explicit proto field mappings when generated names do not round-trip; reject unrepresentable oneof member names instead of emitting an invalid mapping.
- Reconcile existing
add-messageWIT records with selected proto messages, restoring missing records and fields instead of silently returning unchanged output.
nexgen v0.2.8
What's Changed
- Bump google.golang.org/grpc from 1.83.1 to 1.83.2 in /advanced/samples/go by @dependabot[bot] in #186
- Bump @vitest/mocker and vitest in /advanced/samples/typescript by @dependabot[bot] in #188
- Bump @vitest/mocker and vitest in /samples/typescript by @dependabot[bot] in #189
- Bump google.golang.org/grpc from 1.83.1 to 1.83.2 in /samples/go by @dependabot[bot] in #187
- Bump indexmap from 2.14.0 to 2.14.1 by @dependabot[bot] in #191
- feat: add concise validation logs by @tconley1428 in #190
- feat: generate TypeScript System Nexus bindings by @tconley1428 in #181
- test: generate multi-operation System Nexus examples by @tconley1428 in #192
- Move changelog entry to correct release by @tconley1428 in #195
- Prepare release 0.2.6 by @tconley1428 in #196
- Bump indexmap from 2.14.1 to 2.14.2 by @dependabot[bot] in #198
- Bump toml from 0.9.12+spec-1.1.0 to 1.1.5+spec-1.1.0 by @dependabot[bot] in #199
- [WIT] Update Go support file to use internal APIs by @dplyukhin in #164
- Bump clap from 4.6.6 to 4.6.7 by @dependabot[bot] in #201
- Bump toml from 1.1.5+spec-1.1.0 to 1.1.6+spec-1.1.0 by @dependabot[bot] in #202
- Bump actions/setup-java from 6.0.0 to 6.0.1 by @dependabot[bot] in #204
- Bump astral-sh/setup-uv from 10.0.1 to 10.1.0 by @dependabot[bot] in #203
- Add notification service example and omit services for model-only WIT interfaces by @VegetarianOrc in #197
- Use temporalio 1.34.0 in Python samples and simplify proto oneof converters by @VegetarianOrc in #210
- Bump fast-uri from 3.1.7 to 3.1.8 in /samples/typescript by @dependabot[bot] in #209
- Bump @grpc/grpc-js from 1.14.4 to 1.14.5 in /samples/typescript by @dependabot[bot] in #208
- Prepare release 0.2.7 by @VegetarianOrc in #211
- Bump astral-sh/setup-uv from 10.1.0 to 10.2.0 by @dependabot[bot] in #213
- Generate .NET proto oneofs and generic proto models by @VegetarianOrc in #212
- Import user-owned support packages instead of copying files by @VegetarianOrc in #219
- Run Python floor suite during Python validation by @VegetarianOrc in #225
- Bump source-map-js from 1.2.1 to 1.2.2 in /advanced/samples/typescript by @dependabot[bot] in #214
- Bump @grpc/grpc-js from 1.14.4 to 1.14.5 in /advanced/samples/typescript by @dependabot[bot] in #215
- Bump fast-uri from 3.1.7 to 3.1.8 in /advanced/samples/typescript by @dependabot[bot] in #216
- Bump source-map-js from 1.2.1 to 1.2.2 in /samples/typescript by @dependabot[bot] in #223
- Prepare release 0.2.8 by @VegetarianOrc in #224
Full Changelog: v0.2.5...v0.2.8
nexgen v0.2.7
What's Changed
- Bump google.golang.org/grpc from 1.83.1 to 1.83.2 in /advanced/samples/go by @dependabot[bot] in #186
- Bump @vitest/mocker and vitest in /advanced/samples/typescript by @dependabot[bot] in #188
- Bump @vitest/mocker and vitest in /samples/typescript by @dependabot[bot] in #189
- Bump google.golang.org/grpc from 1.83.1 to 1.83.2 in /samples/go by @dependabot[bot] in #187
- Bump indexmap from 2.14.0 to 2.14.1 by @dependabot[bot] in #191
- feat: add concise validation logs by @tconley1428 in #190
- feat: generate TypeScript System Nexus bindings by @tconley1428 in #181
- test: generate multi-operation System Nexus examples by @tconley1428 in #192
- Move changelog entry to correct release by @tconley1428 in #195
- Prepare release 0.2.6 by @tconley1428 in #196
- Bump indexmap from 2.14.1 to 2.14.2 by @dependabot[bot] in #198
- Bump toml from 0.9.12+spec-1.1.0 to 1.1.5+spec-1.1.0 by @dependabot[bot] in #199
- [WIT] Update Go support file to use internal APIs by @dplyukhin in #164
- Bump clap from 4.6.6 to 4.6.7 by @dependabot[bot] in #201
- Bump toml from 1.1.5+spec-1.1.0 to 1.1.6+spec-1.1.0 by @dependabot[bot] in #202
- Bump actions/setup-java from 6.0.0 to 6.0.1 by @dependabot[bot] in #204
- Bump astral-sh/setup-uv from 10.0.1 to 10.1.0 by @dependabot[bot] in #203
- Add notification service example and omit services for model-only WIT interfaces by @VegetarianOrc in #197
- Use temporalio 1.34.0 in Python samples and simplify proto oneof converters by @VegetarianOrc in #210
- Bump fast-uri from 3.1.7 to 3.1.8 in /samples/typescript by @dependabot[bot] in #209
- Bump @grpc/grpc-js from 1.14.4 to 1.14.5 in /samples/typescript by @dependabot[bot] in #208
- Prepare release 0.2.7 by @VegetarianOrc in #211
Full Changelog: v0.2.5...v0.2.7
nexgen v0.2.6
What's Changed
- Bump google.golang.org/grpc from 1.83.1 to 1.83.2 in /advanced/samples/go by @dependabot[bot] in #186
- Bump @vitest/mocker and vitest in /advanced/samples/typescript by @dependabot[bot] in #188
- Bump @vitest/mocker and vitest in /samples/typescript by @dependabot[bot] in #189
- Bump google.golang.org/grpc from 1.83.1 to 1.83.2 in /samples/go by @dependabot[bot] in #187
- Bump indexmap from 2.14.0 to 2.14.1 by @dependabot[bot] in #191
- feat: add concise validation logs by @tconley1428 in #190
- feat: generate TypeScript System Nexus bindings by @tconley1428 in #181
- test: generate multi-operation System Nexus examples by @tconley1428 in #192
- Move changelog entry to correct release by @tconley1428 in #195
- Prepare release 0.2.6 by @tconley1428 in #196
Full Changelog: v0.2.5...v0.2.6
nexgen v0.2.5
What's Changed
- Fix release PR reporting by @tconley1428 in #179
- Close JSON Schema gap-analysis findings by @bergundy in #169
- Bump actions/setup-java from 5.7.0 to 6.0.0 by @dependabot[bot] in #183
- Bump google.golang.org/grpc from 1.82.1 to 1.83.1 in /samples/go by @dependabot[bot] in #184
- Use current TypeScript SDK conversion APIs by @bergundy in #182
- Prepare release 0.2.5 by @bergundy in #185
Full Changelog: v0.2.4...v0.2.5
nexgen v0.2.4
What's Changed
- Bump astral-sh/setup-uv from 9.0.0 to 10.0.1 by @dependabot[bot] in #172
- feat: route Python System Nexus interceptors through generic hook by @tconley1428 in #171
- Bump google.golang.org/grpc from 1.82.1 to 1.83.1 in /advanced/samples/go by @dependabot[bot] in #173
- feat: generate .NET System Nexus interceptors by @tconley1428 in #170
- Bump browserslist from 4.28.2 to 4.28.8 in /advanced/samples/typescript by @dependabot[bot] in #175
- Bump fast-uri from 3.1.5 to 3.1.7 in /samples/typescript by @dependabot[bot] in #174
- Make release preparation resumable by @tconley1428 in #176
- Stabilize generated example headers by @tconley1428 in #177
- Prepare release 0.2.4 by @tconley1428 in #178
Full Changelog: v0.2.3...v0.2.4
nexgen v0.2.3
What's Changed
- Close JSON Schema conformance gaps across generators by @bergundy in #145
- Bump clap from 4.6.5 to 4.6.6 by @dependabot[bot] in #148
- Bump Swatinem/rust-cache from 2.9.1 to 2.9.2 by @dependabot[bot] in #149
- Bump thiserror from 2.0.19 to 2.0.20 by @dependabot[bot] in #147
- Use Temporal payload validation failures by @bergundy in #152
- Refine protobuf source metadata by @tconley1428 in #153
- Emit Python variants as tagged case classes by @VegetarianOrc in #136
- feat: emit .NET models as records by @tconley1428 in #158
- Change godoc formatting to match Temporal conventions by @dplyukhin in #95
- Add xtask validation command by @tconley1428 in #157
- feat: generate System Nexus interceptor points by @tconley1428 in #156
- Fix Python transfer type converter registration by @VegetarianOrc in #163
- Prepare release 0.2.3 by @tconley1428 in #162
Full Changelog: v0.2.2...v0.2.3
nexgen v0.2.2
What's Changed
- Add release preparation script by @tconley1428 in #97
- Bump actions/setup-python from 6.3.0 to 7.0.0 by @dependabot[bot] in #99
- Bump serde_json from 1.0.150 to 1.0.151 by @dependabot[bot] in #101
- Bump serde from 1.0.228 to 1.0.229 by @dependabot[bot] in #102
- Bump clap from 4.6.1 to 4.6.3 by @dependabot[bot] in #105
- Bump fast-uri from 3.1.4 to 3.1.5 in /samples/typescript by @dependabot[bot] in #107
- Bump actions/setup-go from 6.5.0 to 7.0.0 by @dependabot[bot] in #106
- Bump actions/checkout from 7.0.0 to 7.0.1 by @dependabot[bot] in #100
- Bump astral-sh/setup-uv from 8.3.2 to 9.0.0 by @dependabot[bot] in #104
- Add proto message tree scaffold command by @tconley1428 in #108
- Bump thiserror from 2.0.18 to 2.0.19 by @dependabot[bot] in #103
- Fix .NET tests, run tests in CI/CD by @chrsmith in #112
- Add generic type support and Failure semantic type by @VegetarianOrc in #111
- Rename the project to nexgen by @bergundy in #115
- Bump clap from 4.6.3 to 4.6.4 by @dependabot[bot] in #114
- docs: add agent guidance by @tconley1428 in #117
- Refactor compiler pipeline into explicit passes by @tconley1428 in #116
- Stop deleting pre-existing files when generating by @bergundy in #118
- docs: clarify compiler pass guidance by @tconley1428 in #119
- Support inline object oneOf branches in all four languages by @bergundy in #121
- Name every inline shape, validate every position by @bergundy in #123
- Support protobuf oneof conversion. Don't drop unreachable models if they shouldn't be dropped by @VegetarianOrc in #120
- Add .NET serialization context operation metadata by @tconley1428 in #122
- Rename resource binding pass by @tconley1428 in #127
- Bump actions/setup-java from 5.6.0 to 5.7.0 by @dependabot[bot] in #131
- Bump clap from 4.6.4 to 4.6.5 by @dependabot[bot] in #130
- Preserve type hints when decoding payload-backed generic Python models by @VegetarianOrc in #129
- Expose signal-with-start headers in generated models by @tconley1428 in #132
- Move example build commands to xtask by @tconley1428 in #134
- Emit TypeScript transfer type converters and operation type info by @bergundy in #124
- Emit Python JSON-Schema models as dataclasses with transfer type converters by @bergundy in #125
- Only load example dependencies when imported by @tconley1428 in #133
- Fix cross-language JSON Schema validation gaps by @bergundy in #137
- Emit .NET transfer type converters by @tconley1428 in #128
- Stamp generated files with nexgen version by @bergundy in #138
- Document Java JSpecify compile dependency by @bergundy in #139
- Group CI validation by language by @tconley1428 in #141
- Complete JSON Schema spec conformance by @bergundy in #140
- Prepare release 0.2.2 by @tconley1428 in #151
New Contributors
Full Changelog: v0.2.1...v0.2.2
nex-gen v0.2.1
What's Changed
- Added @nexus.name for manually renaming fields by @dplyukhin in #96
- Add signal-with-start serialization context metadata by @tconley1428 in #73
- Prepare release 0.2.1 by @tconley1428 in #98
Full Changelog: v0.2.0...v0.2.1