fix(deps): update dependency @bufbuild/protobuf to v2
This PR contains the following updates:
| Package | Change | Age | Adoption | Passing | Confidence |
|---|---|---|---|---|---|
| @bufbuild/protobuf (source) | ^1.2.0 -> ^2.0.0 |
Release Notes
bufbuild/protobuf-es (@bufbuild/protobuf)
v2.0.0
What's new in version 2
To support Protobuf editions, we have to make breaking changes that also affect users of proto2 and proto3. This prompted us to make more extensive changes that take feedback from version 1 into account:
We no longer use classes. Instead, we generate a schema object and a type for every message. To create a new instance, to serialize, and for other concerns, we provide functions. Here is a simple example:
import { create, toBinary } from "@​bufbuild/protobuf";
import { UserSchema } from "./gen/example_pb";
let user = create(UserSchema, {
firstName: "Homer",
lastName: "Simpson",
active: true,
});
const bytes = toBinary(UserSchema, user);
If you use proto3, messages are now plain objects. Files with proto2 and editions use the prototype chain to track field presence.
This approach solves several outstanding issues, such as:
- https://github.com/bufbuild/protobuf-es/issues/397 Provide custom options at runtime
- https://github.com/bufbuild/protobuf-es/issues/551 Generated types allow assigning wrong message type if it is a superset of the target type
- https://github.com/bufbuild/protobuf-es/issues/414 Improvements for proto2 required
- https://github.com/bufbuild/protobuf-es/issues/738 type-save full enum value names
- https://github.com/bufbuild/protobuf-es/issues/928 Better interop with 3rd party frameworks requiring plain objects
- https://github.com/bufbuild/protobuf-es/issues/508 JSON types
[!TIP]
Take a look at the upgrade guide to learn more.
[!NOTE]
Connect-ES does not support version 2 yet. We will update it shortly.
Contributors
Thanks to @srikrsna-buf for his contributions to v2!
Configuration
📅 Schedule: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).
🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.
♻ Rebasing: Whenever PR is behind base branch, or you tick the rebase/retry checkbox.
🔕 Ignore: Close this PR and you won't be reminded about this update again.
- [ ] If you want to rebase/retry this PR, check this box
This PR was generated by Mend Renovate. View the repository job log.
⚠️ Artifact update problem
Renovate failed to update an artifact related to this branch. You probably do not want to merge this PR as-is.
♻ Renovate will retry this branch, including artifacts, only when one of the following happens:
- any of the package files in this branch needs updating, or
- the branch becomes conflicted, or
- you click the rebase/retry checkbox if found above, or
- you rename this PR's title to start with "rebase!" to trigger it manually
The artifact failure details are included below:
File name: package-lock.json
npm error code ERESOLVE
npm error ERESOLVE could not resolve
npm error
npm error While resolving: @connectrpc/[email protected]
npm error Found: @bufbuild/[email protected]
npm error node_modules/@bufbuild/protobuf
npm error @bufbuild/protobuf@"^2.0.0" from the root project
npm error
npm error Could not resolve dependency:
npm error peer @bufbuild/protobuf@"^1.4.2" from @connectrpc/[email protected]
npm error node_modules/@connectrpc/connect
npm error @connectrpc/connect@"^1.4.0" from the root project
npm error peer @connectrpc/connect@"1.4.0" from @connectrpc/[email protected]
npm error node_modules/@connectrpc/connect-web
npm error @connectrpc/connect-web@"^1.4.0" from the root project
npm error
npm error Conflicting peer dependency: @bufbuild/[email protected]
npm error node_modules/@bufbuild/protobuf
npm error peer @bufbuild/protobuf@"^1.4.2" from @connectrpc/[email protected]
npm error node_modules/@connectrpc/connect
npm error @connectrpc/connect@"^1.4.0" from the root project
npm error peer @connectrpc/connect@"1.4.0" from @connectrpc/[email protected]
npm error node_modules/@connectrpc/connect-web
npm error @connectrpc/connect-web@"^1.4.0" from the root project
npm error
npm error Fix the upstream dependency conflict, or retry
npm error this command with --force or --legacy-peer-deps
npm error to accept an incorrect (and potentially broken) dependency resolution.
npm error
npm error
npm error For a full report see:
npm error /tmp/renovate/cache/others/npm/_logs/2024-12-04T08_23_43_074Z-eresolve-report.txt
npm error A complete log of this run can be found in: /tmp/renovate/cache/others/npm/_logs/2024-12-04T08_23_43_074Z-debug-0.log