Skip to content

v0.20.1

Choose a tag to compare

@github-actions github-actions released this 30 Aug 20:18
· 348 commits to main since this release
a4137aa
fix(ts): move api fully onto @bufbuild/protobuf 2.14.0 (#188)

* fix(ts): relax @bufbuild/protobuf pin to ^2.12.0

The published @heddleco/api pinned @bufbuild/protobuf to the exact
"2.12.0". Downstream consumers (tapestry) declare "^2.14.0", which
cannot unify with an exact pin, so package managers install two copies:
2.14.0 hoisted and 2.12.0 nested under @heddleco/api. When both are
bundled, @connectrpc/connect binds the hoisted 2.14.0 while this
package's generated code runs on the nested 2.12.0, splitting every RPC
across two protobuf runtimes and throwing
"serialize binary: ... this.encodeUtf8Into is not a function"
(a 2.14 BinaryWriter method invoked on a 2.12 writer).

Relaxing to "^2.12.0" lets a single 2.14.0 copy satisfy both, while
still permitting 2.12.x for consumers pinned lower. api's generated code
has been proven on the wire to encode/decode byte-identically on 2.14.0.

Lockstep patch bump 0.20.0 -> 0.20.1 across Cargo.toml, package.json,
and the TS package so the dep change can ship via the tag-driven release
flow; lockfiles regenerated.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>

* fix(ts)!: move api fully onto @bufbuild/protobuf 2.14.0

Relaxing only the runtime caret left api's own workspace resolving 2.12
while downstream got 2.14 — inconsistent. Move the whole repo onto the
2.14.0 release so codegen, workspace, and consumers all agree:

- runtime dep (packages/typescript): @bufbuild/protobuf ^2.12.0 -> ^2.14.0
- dev toolchain (root): @bufbuild/protobuf and @bufbuild/protoc-gen-es
  2.12.0 -> 2.14.0 (they release in lockstep; codegen is protoc-gen-es)
- regenerated TypeScript bindings with protoc-gen-es 2.14.0
- lockfile refreshed to the 2.14.0 graph

Byte-compat guard: regenerating every heddle/api/v1alpha1/*_pb.ts with
protoc-gen-es 2.14.0 vs 2.12.0 produces output that is identical except
the "@generated by protoc-gen-es vX" header comment (zero semantic diff),
and tools/verify-ts-vectors.mjs passes. Generated bindings live in
gitignored build staging, so there is no generated-file diff to commit.

Version stays at the 0.20.1 lockstep patch bump already applied.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>

---------

Co-authored-by: Claude Opus 4.8 <noreply@anthropic.com>