Releases: webrpc/webrpc
Release list
v0.39.0
What's Changed
- ci(generators): open one PR per generator with semantic titles by @VojtechVitek in #480
- chore(deps): update webrpc/gen-golang@v0.31.0 by @github-actions[bot] in #481
Full Changelog: v0.38.0...v0.39.0
v0.38.0
What's Changed
- Bump all generators to latest and stop tests/ goldens drifting on bumps by @klaidliadon in #472
- comment fix about error list delimiters by @rapropos in #468
- docs: add latest-release version badge to README by @klaidliadon in #474
- ci: group dependabot updates into a single weekly PR by @klaidliadon in #473
- Bump github.com/go-chi/chi/v5 from 5.2.2 to 5.2.4 in /_examples/webrpc-streaming by @dependabot[bot] in #471
- Bump github.com/go-chi/chi/v5 from 5.2.2 to 5.2.4 in /_examples/node-ts/server-go by @dependabot[bot] in #470
- Bump hono from 4.12.7 to 4.12.25 in /_examples/node-ts/server-hono by @dependabot[bot] in #469
- Bump vite from 7.1.11 to 7.3.5 in /_examples/webrpc-streaming/webapp by @dependabot[bot] in #466
- fix(tests): use errors.New for non-constant error string by @klaidliadon in #476
- Bump vite from 5.4.21 to 8.0.16 in /_examples/webrpc-streaming/webapp by @dependabot[bot] in #475
- fix(build): use perl -i for portable in-place edits in generate by @klaidliadon in #477
- Bump github.com/go-git/go-git/v5 from 5.16.3 to 5.19.1 by @dependabot[bot] in #461
- Bump vitest from 1.6.1 to 3.2.6 in /_examples/webrpc-streaming/webapp by @dependabot[bot] in #465
- Bump @hono/node-server from 1.19.10 to 1.19.13 in /_examples/node-ts/server-hono by @dependabot[bot] in #449
- chore(deps): upgrade all by @VojtechVitek in #478
New Contributors
Full Changelog: v0.37.4...v0.38.0
v0.37.4
What's Changed
- [automated] Generators update by @github-actions[bot] in #454
Full Changelog: v0.37.3...v0.37.4
v0.37.3
What's Changed
- docs: update Kotlin generator description by @tolgahan-arikan in #452
- fix(ridl): deduplicate errors on diamond import by @klaidliadon in #456
New Contributors
- @tolgahan-arikan made their first contribution in #452
Full Changelog: v0.37.2...v0.37.3
v0.37.2
What's Changed
- [automated] Generators update by @github-actions[bot] in #451
- Automated bump of gen-kotlin to v0.3.0.
Full Changelog: v0.37.1...v0.37.2
v0.37.1
Bumps bundled generators to their latest versions with type alias support:
What's Changed
- bump generators by @github-actions in #440
Full Changelog: v0.37.0...v0.37.1
v0.37.0
What's New
Type Aliases
New RIDL syntax for defining named type aliases:
type Username: string
type Age: uint32
type Metadata: map<string,any>
Type aliases declare a new name for an existing type. They can wrap core types, complex types (map<>, []), or other named types.
Generators render aliases idiomatically per language:
- Go:
type Username string - TypeScript:
export type Username = string - Kotlin:
typealias Username = String - Dart:
typedef Username = String;
Aliases support generator-specific metadata via + annotations:
type Address: string
+ go.type = Hash
+ go.type.import = github.com/0xsequence/go-sequence/lib/prototyp
This allows mapping a single RIDL type to different representations per language without repeating annotations on every field.
What's Changed
- Fix succinct flag when only one side uses inline struct by @klaidliadon in #437
- add workflow to auto-bump generator dependencies by @klaidliadon in #438
- feat: add type alias support to RIDL parser and schema by @klaidliadon in #439
- ci: improve bump-generator workflow by @klaidliadon in #441
- fix(ci): use GITHUB_TOKEN for bump-generator workflow by @klaidliadon in #444
- fix(ci): improve bump-generator commit message format by @klaidliadon in #445
Full Changelog: v0.36.1...v0.37.0
v0.36.1
Full Changelog: v0.36.0...v0.36.1
Docker
docker pull ghcr.io/webrpc/webrpc-gen:v0.36.1
Example: docker run -v $PWD:$PWD ghcr.io/webrpc/webrpc-gen:v0.36.1 -schema=$PWD/api.ridl -target=golang
Homebrew
brew tap webrpc/tap
brew install webrpc-gen
Build from source
go install -ldflags="-s -w -X github.com/webrpc/webrpc.VERSION=v0.36.1" github.com/webrpc/webrpc/cmd/webrpc-gen@v0.36.1
Download binaries
macOS: amd64, arm64 (Apple Silicon)
Linux: amd64, arm64
Windows: amd64, arm64
v0.36.0
What's Changed
- Bump hono from 4.12.4 to 4.12.7 in /_examples/node-ts/server-hono by @dependabot[bot] in #434
- improve enum string generation by @pkieltyka in #435
Full Changelog: v0.34.0...v0.36.0
Docker
docker pull ghcr.io/webrpc/webrpc-gen:v0.36.0
Example: docker run -v $PWD:$PWD ghcr.io/webrpc/webrpc-gen:v0.36.0 -schema=$PWD/api.ridl -target=golang
Homebrew
brew tap webrpc/tap
brew install webrpc-gen
Build from source
go install -ldflags="-s -w -X github.com/webrpc/webrpc.VERSION=v0.36.0" github.com/webrpc/webrpc/cmd/webrpc-gen@v0.36.0
Download binaries
macOS: amd64, arm64 (Apple Silicon)
Linux: amd64, arm64
Windows: amd64, arm64
v0.35.0
What's Changed
- Bump @hono/node-server from 1.19.5 to 1.19.10 in /_examples/node-ts/server-hono by @dependabot[bot] in #432
- Bump hono from 4.11.7 to 4.12.4 in /_examples/node-ts/server-hono by @dependabot[bot] in #431
- Bump github.com/cloudflare/circl from 1.6.1 to 1.6.3 by @dependabot[bot] in #430
- Bump github.com/webrpc/gen-golang from v0.25.0 to v0.26.0 by @klaidliadon in #433
Full Changelog: v0.33.0...v0.35.0
Go server breaking changes
1. Enum maps now use typed keys and values
The _name and _value maps for enums now use the enum type directly instead of the underlying type.
Before:
var Kind_name = map[uint32]string{
0: "USER",
1: "ADMIN",
}
var Kind_value = map[string]uint32{
"USER": 0,
"ADMIN": 1,
}After:
var Kind_name = map[Kind]string{
Kind_USER: "USER",
Kind_ADMIN: "ADMIN",
}
var Kind_value = map[string]Kind{
"USER": Kind_USER,
"ADMIN": Kind_ADMIN,
}Migration
If you reference these maps directly, update the types:
Kind_name[uint32(x)]→Kind_name[x]v := Kind_value["ADMIN"]— the value is nowKindinstead ofuint32. If you were casting withKind(v), it's no longer needed. If you were using the rawuint32, useuint32(v).
2. The deprecated ErrorWithCause() function was removed
- return proto.ErrorWithCause(proto.ErrUnexpectedValue, err)
+ return proto.ErrUnexpectedValue.WithCause(err)- return proto.ErrorWithCause(proto.ErrUnexpectedValue, fmt.Errorf("connect to DB: %w", err))
+ return proto.ErrUnexpectedValue.WithCausef("connect to DB: %w", err)