| CARVIEW |
Navigation Menu
-
Notifications
You must be signed in to change notification settings - Fork 48
Releases: webrpc/webrpc
v0.31.3
b0d2574What's Changed
- add -methodTreeShake flag by @pkieltyka in #411
Full Changelog: v0.31.2...v0.31.3
Docker
docker pull ghcr.io/webrpc/webrpc-gen:v0.31.3
Example: docker run -v $PWD:$PWD ghcr.io/webrpc/webrpc-gen:v0.31.3 -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.31.3" github.com/webrpc/webrpc/cmd/webrpc-gen@v0.31.3
Download binaries
macOS: amd64, arm64 (Apple Silicon)
Linux: amd64, arm64
Windows: amd64, arm64
Assets 15
- sha256:893584499e50006ab915e03b72c7a622c20a16cc99f6aa05f6ea792e9ea7795d1.08 KB
2025-12-08T02:23:45Z - sha256:94408821d4cbbbfa42220d7fd50d22fe2ea7bbb50a90dd6ba11a9a07431bfd5516.2 MB
2025-12-08T02:23:41Z - sha256:5581408b01660d9e748470d547a68fb0160f742cf9b845ae3618ad1be7eb04fb15.2 MB
2025-12-08T02:23:41Z - sha256:3c51c522c0a7e56b46084a6b6b81a23549cba9f5cec202838d3a4ec5c2903d3415.7 MB
2025-12-08T02:23:41Z - sha256:304caf654ed7c81c4ab8b5f7b702603dce79ffcdc0195ae603527277cf179bca14.6 MB
2025-12-08T02:23:41Z - sha256:a7f439770f88d854b7f2144b90fada6e23e921615f7f5cb93fad463289a0535416.4 MB
2025-12-08T02:23:43Z - sha256:70469bf5486686f0606c1771323a87ba72351620e4365e19f1c8b57b215bf2a015 MB
2025-12-08T02:23:44Z - sha256:129e33d5b4915c294bf6bc4547a30355c7a98c9df3fdf0ecd7a4d7feb3022b838.67 MB
2025-12-08T02:23:43Z - sha256:096ce96ec4298d6ddda85297e3f09e451d18cb64fd04745093a242d01d6b13528.13 MB
2025-12-08T02:23:44Z - sha256:2d366870d8b2dc8a1f98f8d1f80f38262c590971a1b94acfe440c68bd4ad46778.55 MB
2025-12-08T02:23:44Z -
2025-12-08T02:18:59Z -
2025-12-08T02:18:59Z - Loading
v0.31.2
Full Changelog: v0.31.1...v0.31.2
Docker
docker pull ghcr.io/webrpc/webrpc-gen:v0.31.2
Example: docker run -v $PWD:$PWD ghcr.io/webrpc/webrpc-gen:v0.31.2 -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.31.2" github.com/webrpc/webrpc/cmd/webrpc-gen@v0.31.2
Download binaries
macOS: amd64, arm64 (Apple Silicon)
Linux: amd64, arm64
Windows: amd64, arm64
Assets 15
v0.31.1
b4e306bWhat's Changed
- Bump hono from 4.10.1 to 4.10.3 in /_examples/node-ts/server-hono by @dependabot[bot] in #399
- Update to gen-golang@v0.23.2 by @VojtechVitek in #407
- Remove server-only methods from client code by @VojtechVitek in webrpc/gen-golang#103
- Improve WebrpcMethods(): Use pointer receivers, remove elem copying by @VojtechVitek in webrpc/gen-golang#104
- Generate schema types only if server/client opts are disabled by @VojtechVitek in webrpc/gen-golang#102
Full Changelog: v0.31.0...v0.31.1
Assets 15
v0.31.0
ed02b81What's Changed
- Add new
-schemaVersion=option to override schema version by @VojtechVitek in #404- Example:
webrpc-gen -target=... -schemaVersion=v25.11.7-{sha} ... - Alternatively the value can be injected via
$WEBRPC_SCHEMA_VERSIONenv var. This is useful for webrpc-gen used in//go:generatedirective. Example:export WEBRPC_SCHEMA_VERSION=$(git log -1 --date=format:'%y.%-m.%-d' --format='v%ad-%h' ./proto/*.ridl) webrpc-gen -target=... # same as -schemaVersion=v25.11.7-{sha}
- Example:
- Remove backward-compatibility with old webrpc-gen v0.6.0 templates by @VojtechVitek in #405
- Remove compatibility with deprecated v0.8.0 templates by @VojtechVitek in #406
Full Changelog: v0.30.5...v0.31.0
Assets 15
v0.30.5
bc49b56What's Changed
- Update to gen-typescript@v0.22.5 by @VojtechVitek in #403
Full Changelog: v0.30.4...v0.30.5
Assets 15
v0.30.4
43da53bWhat's Changed
- Update to gen-typescript@v0.22.4 to hotfix Webrpc header key by @VojtechVitek in #402
Full Changelog: v0.30.3...v0.30.4
Assets 15
v0.30.3
b365c51There's a bug in this release. Please don't use it.
What's Changed
- Update to gen-typescript@v0.22.3 and gen-openapi@v0.16.4 by @VojtechVitek in #400
- Update deps by @VojtechVitek in #401
- Fixes Webrpc client header in Typescript client, see webrpc/gen-typescript#47
Full Changelog: v0.30.2...v0.30.3
Assets 15
v0.30.2
What's Changed
- Add comment about min supported ES version by @AlexanderKolberg in #398
New Contributors
- @AlexanderKolberg made their first contribution in #398
Full Changelog: v0.30.1...v0.30.2
Docker
docker pull ghcr.io/webrpc/webrpc-gen:v0.30.2
Example: docker run -v $PWD:$PWD ghcr.io/webrpc/webrpc-gen:v0.30.2 -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.30.2" github.com/webrpc/webrpc/cmd/webrpc-gen@v0.30.2
Download binaries
macOS: amd64, arm64 (Apple Silicon)
Linux: amd64, arm64
Windows: amd64, arm64
Assets 15
v0.30.1
c166802Tiny update to offer graceful handling of bigint represented as numbers in JSON. See webrpc/gen-golang#100
Clients can now pass the bigint value in JSON as either a number or as a numbered string to a Go server. However, its always encoded as a numbered string.
Assets 15
v0.30.0
TLDR
- native
bigintsupport for both Go and TS! - add support for "query keys" in TS generator, handy for react query / swr (see https://github.com/webrpc/gen-typescript/releases/tag/v0.21.0)
See https://github.com/webrpc/webrpc/tree/v0.30.0/_examples/node-ts example
Details
bigint
The v0.30.0 release of webrpc, together with the release of gen-golang@v0.23.0 and gen-typescript@v0.22.0 introduce native bigint type support for webrpc, for Go and Typescript server+clients.
webrpc = v1
version = v1
struct User
address: bigint
name: string
How does it work? You can just use bigint as a type in the webrpc schema. Over the wire as JSON, it will encode the bigints as a string, and then server and clients at runtime encode/decode the data to a native bigint type.
For Go, we introduce a type BigInt big.Int to add marshalling support. NOTE: you can still use + go.field.type = prototyp.BigInt or whatever custom bigint type on Go side like we did in the past, but now on the Web browser it'll be a bigint too. For example..
struct User
- address: bigint
+ go.field.type = prototyp.BigInt # app's custom bigint type
- name: string
For TS, we use the native bigint type available in browsers and nodejs. We have highly efficient encoder/decoders which based on schema definition will run optimized code to convert from string to bigint.
Of course, if you don't use bigints in your schema, then they won't be used, and generated helpers won't be included either.
Query Keys for React Query / SWR
The typescript generated client now includes a queryKey property with type-safe query key generators for each endpoint. This makes it easy to use with popular data-fetching libraries like tanstack query and Vercel's SWR
import { useQuery } from '@tanstack/react-query'
import { Example } from './client.gen'
const client = new Example('https://localhost:3000', fetch)
function UserProfile({ userId }) {
const { data } = useQuery({
queryKey: client.queryKey.getUser({ userId }),
queryFn: ({ signal }) => client.getUser({ userId }, undefined, signal)
})
return <div>{data?.user.name}</div>
}