Skip to content

Releases

v0.38.0

Choose a tag to compare

@unicomp21 unicomp21 released this 06 Nov 01:06

Registry channels: every prior channel moves to 0.38.0, and
the three channels first published at 0.37.1 on 2026-11-05
now publish through release automation at this version —
pub.dev (grpc_dc, kafka_grpc), crates.io (grpc-dc,
kafka-grpc), and RubyGems.org (grpc-dc, kafka-grpc) —
each via its registry's OIDC trusted publishing from the
generated workflows in this repo (no stored tokens). The
public repository is also a SwiftPM package (Package.swift,
library product GrpcDc, module Grpcdc; listing on the
Swift Package Index is filed with this release).

  • Swift: the generators never emitted access modifiers (the
    runtime was built for single-module compilation), so a
    brace-tracking publicize-swift transform in the shared
    generator code now publicizes the API across the runtime,
    protoc stubs, event bus, and HTTP/2 transport. Private
    helpers, protocol requirements, explicit internal types,
    and multi-line-signature bodies are left alone.
  • Dart: the runtime gains a dart:js_interop WebTransport
    over an RTCDataChannel bridge (Flutter/Dart web client
    and server); the browser Dart examples share it instead of
    carrying local copies. Dart stubs now emit the wire.dart
    import only when the stub body uses Wire..
  • Rust: the crates.io kafka-grpc crate now actually
    compiles standalone (its lib re-exports the messages as
    crate::pb and ships the grpc_dc::Message adapter
    module).
  • Release machinery: independent publish-npm steps, the Lua
    CI image retries the lua.org download with an apt fallback,
    the C# Kafka consumer test moved to its own directory
    (shared obj/ collision), and release-push.sh now
    dispatches all registry workflows including the three new
    OIDC ones.

v0.37.1

Choose a tag to compare

@unicomp21 unicomp21 released this 03 Nov 10:45
  • C# packaging fix (found by a consumer compile check after
    v0.37.0): the grpcdc.kafka.v1 stub types were compiled into
    both the GrpcDc and KafkaGrpc assemblies, so any C#
    consumer referencing KafkaGrpc hit CS0433 type ambiguity.
    The kafka stubs now live only in KafkaGrpc
    (csharp/kafka/KafkaGrpc.csproj); GrpcDc keeps the runtime
    and events stubs. Breaking for anyone who used kafka types
    from GrpcDc directly: reference KafkaGrpc instead.

v0.37.0

Choose a tag to compare

@unicomp21 unicomp21 released this 03 Nov 02:40
  • C# runtime (GrpcDc NuGet) now multi-targets
    netstandard2.0;net8.0 via the generators: Unity, .NET
    Framework 4.7.2+, Mono, and Xamarin consumers get the
    DataChannel core and generated stubs (netstandard-only BCL
    compat packages for async/JSON; the raw-TCP HTTP/2 transport
    stays net8-only). KafkaGrpc multi-targets the same way.
    net8.0 remains dependency-free. Verified by a maintained
    netstandard consumer smoke against the packed nupkg, executed
    under Mono in CI.
  • First canonical kafka-grpc publishes (npmjs, PyPI, NuGet.org,
    crates.io, Maven Central) alongside the usual grpc-dc releases.

v0.36.0

Choose a tag to compare

@unicomp21 unicomp21 released this 01 Nov 14:16
  • WebRTC-Direct examples for every supported language, generated
    by racket/direct-examples-gen.rkt (wired into make generate): Go and Rust Echo server/clients on the embedded
    stacks with direct, TURN (DIRECT_TURN*), and full-ICE
    STUN peer modes; serve/dial sidecar examples for Python,
    Ruby, PHP, Lua, C, C++, Dart, Java, Kotlin, Scala, Swift,
    C#, and Zig. examples/direct/ gains a Python server and a
    generated compose file (host/go/turn/stun/sidecar profiles
    plus a coturn fixture) where a shared /signal volume is
    the whole client→server handoff. Verified end-to-end (all
    modes, cross-stack dials, every sidecar language) and in
    compose. Also: the Rust direct_echo example is gated
    behind the webrtc feature so plain example builds pass.

v0.35.13

Choose a tag to compare

@unicomp21 unicomp21 released this 31 Oct 10:50
  • New generated catalog repo browser-grpc/examples: an
    index over every runnable example in the project (per-language
    example trees measured and linked at the release tag, plus
    scenario entry points — Echo gallery, event bus, Kafka,
    browser starter, VoxelSeed). No copied code, so nothing can
    drift; a stdlib link-check CI guards the catalog. Also:
    VoxelSeed gained About / How-to-play / Dev-notes pages and a
    sitemap on lunchgamer (content depth for AdSense review).

v0.35.12

Choose a tag to compare

@unicomp21 unicomp21 released this 30 Oct 23:25
  • New dedicated public repo browser-grpc/eventbus (parity
    with browser-grpc/kafka-proxy): a generated subset export
    with proto/events.proto, the full Python and JavaScript
    trees (broker, clients, demos, tests), generated EventBus
    sources for the other fourteen languages under gen/, an
    EVENTBUS.md guide, CI + demo Dockerfiles, and a
    ghcr.io/browser-grpc/eventbus-demo image. release-push.sh
    publishes it alongside the main and kafka-proxy repos.

v0.35.11

Choose a tag to compare

@unicomp21 unicomp21 released this 30 Oct 22:14
  • Project blog launched at https://c100k.blogspot.com/
    (grpc-over-datachannels — gRPC over WebRTC, Browser &
    Native): launch series for the runtime, the Kafka proxy,
    and the package ecosystem. The generated public README,
    org profile, docs landing page, and llms.txt now link it.

v0.35.10

Choose a tag to compare

@unicomp21 unicomp21 released this 30 Oct 21:04
  • Releases are now one command: release-push.sh dispatches
    and awaits the NuGet and Maven registry workflows and
    writes the changelog “published to …” note itself.
  • Kafka: new e2e leg proves group resume across a proxy
    restart (the whole service instance is replaced mid-group;
    the new instance resumes exactly at the committed offset),
    complementing the existing broker-restart leg. Rust suite
    is now 21 tests per broker.

v0.35.9

Choose a tag to compare

@unicomp21 unicomp21 released this 30 Oct 18:21
  • Public CI no longer runs 4× per release: both public
    workflows trigger on branch pushes and PRs only (release
    tags previously re-ran identical trees).
  • The main public repo gains a browser CI job: Playwright
    suites (Chromium/Firefox/WebKit) from the exported
    browser-test/ harness. This also fixes the exporter
    dropping tracked browser-test sources (test.mjs,
    harness.mjs, fake_turnd.mjs, echo_deep_checks.mjs
    missed the old copy pattern), so npm test in a public
    clone runs the full script again.

v0.35.8

Choose a tag to compare

@unicomp21 unicomp21 released this 30 Oct 17:11
  • publish-maven root-caused and fixed: GitHub-built
    bundles carried _remote.repositories and
    maven-metadata-local.xml from the runner's local Maven
    repository, which Portal validation rejects; the workflow
    now strips them from the bundle zip before upload
    (verified VALIDATED on a diagnostic branch).
  • Kafka e2e: the commit-after-rebalance test re-subscribes
    and retries when a member stream dies mid-race under
    load, instead of asserting on a fenced commit.