Skip to content

Releases: webrpc/webrpc

v0.39.0

Choose a tag to compare

@VojtechVitek VojtechVitek released this 30 Jun 18:16
fb536ee

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

Choose a tag to compare

@VojtechVitek VojtechVitek released this 22 Jun 14:36
3bcde34

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

Choose a tag to compare

@klaidliadon klaidliadon released this 30 Apr 09:29
d6d55dd

What's Changed

  • [automated] Generators update by @github-actions[bot] in #454

Full Changelog: v0.37.3...v0.37.4

v0.37.3

Choose a tag to compare

@klaidliadon klaidliadon released this 22 Apr 20:02
02ad711

What's Changed

New Contributors

Full Changelog: v0.37.2...v0.37.3

v0.37.2

Choose a tag to compare

@VojtechVitek VojtechVitek released this 10 Apr 16:08
9d70438

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

Choose a tag to compare

@klaidliadon klaidliadon released this 31 Mar 07:38
cac4f11

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

Choose a tag to compare

@klaidliadon klaidliadon released this 30 Mar 20:41

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

Full Changelog: v0.36.1...v0.37.0

v0.36.1

Choose a tag to compare

@github-actions github-actions released this 14 Mar 11:31

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

Choose a tag to compare

@github-actions github-actions released this 11 Mar 19:46
87d3f5e

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

Choose a tag to compare

@klaidliadon klaidliadon released this 09 Mar 15:46
88c3173

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 now Kind instead of uint32. If you were casting with Kind(v), it's no longer needed. If you were using the raw uint32, use uint32(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)