bufbuild/protobuf-es (@bufbuild/protoc-gen-es)
### [`v2.0.0`](https://togithub.com/bufbuild/protobuf-es/releases/tag/v2.0.0)
[Compare Source](https://togithub.com/bufbuild/protobuf-es/compare/v1.10.0...v2.0.0)
##### What's new in version 2
To support [Protobuf editions](https://protobuf.dev/editions/overview/), 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:
```typescript
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](https://togithub.com/bufbuild/protobuf-es/blob/main/MANUAL.md#field-presence-and-default-values).
This approach solves several outstanding issues, such as:
- [https://github.com/bufbuild/protobuf-es/issues/397](https://togithub.com/bufbuild/protobuf-es/issues/397) Provide custom options at runtime
- [https://github.com/bufbuild/protobuf-es/issues/551](https://togithub.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](https://togithub.com/bufbuild/protobuf-es/issues/414) Improvements for proto2 required
- [https://github.com/bufbuild/protobuf-es/issues/738](https://togithub.com/bufbuild/protobuf-es/issues/738) type-save full enum value names
- [https://github.com/bufbuild/protobuf-es/issues/928](https://togithub.com/bufbuild/protobuf-es/issues/928) Better interop with 3rd party frameworks requiring plain objects
- [https://github.com/bufbuild/protobuf-es/issues/508](https://togithub.com/bufbuild/protobuf-es/issues/508) JSON types
> \[!TIP]
>
> Take a look at the [upgrade guide](https://togithub.com/bufbuild/protobuf-es/blob/main/MANUAL.md#migrating-from-version-1) to learn more.
> \[!NOTE]
>
> [Connect-ES](https://togithub.com/connectrpc/connect-es) does not support version 2 yet. We will update it shortly.
##### Contributors
Thanks to [@srikrsna-buf](https://togithub.com/srikrsna-buf) for his contributions to v2!
### [`v1.10.0`](https://togithub.com/bufbuild/protobuf-es/releases/tag/v1.10.0)
[Compare Source](https://togithub.com/bufbuild/protobuf-es/compare/v1.9.0...v1.10.0)
#### What's Changed
- Skip null values in message initializer object by [@timostamm](https://togithub.com/timostamm) in [https://github.com/bufbuild/protobuf-es/pull/862](https://togithub.com/bufbuild/protobuf-es/pull/862)
- Fix Node10 subpath fallbacks by [@timostamm](https://togithub.com/timostamm) in [https://github.com/bufbuild/protobuf-es/pull/803](https://togithub.com/bufbuild/protobuf-es/pull/803)
- Check for matching field numbers in StartGroup / EndGroup tags by [@smaye81](https://togithub.com/smaye81) in [https://github.com/bufbuild/protobuf-es/pull/816](https://togithub.com/bufbuild/protobuf-es/pull/816)
- Update to google protobuf v27.0 by [@timostamm](https://togithub.com/timostamm) in [https://github.com/bufbuild/protobuf-es/pull/854](https://togithub.com/bufbuild/protobuf-es/pull/854)
**Full Changelog**: https://github.com/bufbuild/protobuf-es/compare/v1.9.0...v1.10.0
### [`v1.9.0`](https://togithub.com/bufbuild/protobuf-es/releases/tag/v1.9.0)
[Compare Source](https://togithub.com/bufbuild/protobuf-es/compare/v1.8.0...v1.9.0)
#### What's Changed
- Expose OneofInfo type by [@q42jaap](https://togithub.com/q42jaap) in [https://github.com/bufbuild/protobuf-es/pull/746](https://togithub.com/bufbuild/protobuf-es/pull/746)
- Fix typo in error output by [@stefanvanburen](https://togithub.com/stefanvanburen) in [https://github.com/bufbuild/protobuf-es/pull/755](https://togithub.com/bufbuild/protobuf-es/pull/755)
- Build ESM artifacts with Node16 moduleResolution by [@smaye81](https://togithub.com/smaye81) in [https://github.com/bufbuild/protobuf-es/pull/754](https://togithub.com/bufbuild/protobuf-es/pull/754)
- Support unknown fields in clone by [@srikrsna-buf](https://togithub.com/srikrsna-buf) in [https://github.com/bufbuild/protobuf-es/pull/758](https://togithub.com/bufbuild/protobuf-es/pull/758)
- Fix assertion for FIXED32 scalar type when parsing JSON by [@timostamm](https://togithub.com/timostamm) in [https://github.com/bufbuild/protobuf-es/pull/771](https://togithub.com/bufbuild/protobuf-es/pull/771)
- Avoid reserved object property names in generated enumerations by [@timostamm](https://togithub.com/timostamm) in [https://github.com/bufbuild/protobuf-es/pull/777](https://togithub.com/bufbuild/protobuf-es/pull/777)
- Generate type imports when possible for .d.ts by [@timostamm](https://togithub.com/timostamm) in [https://github.com/bufbuild/protobuf-es/pull/778](https://togithub.com/bufbuild/protobuf-es/pull/778)
- Update to Protobuf v26.1 by [@smaye81](https://togithub.com/smaye81) in [https://github.com/bufbuild/protobuf-es/pull/797](https://togithub.com/bufbuild/protobuf-es/pull/797)
#### New Contributors
- [@q42jaap](https://togithub.com/q42jaap) made their first contribution in [https://github.com/bufbuild/protobuf-es/pull/746](https://togithub.com/bufbuild/protobuf-es/pull/746)
- [@stefanvanburen](https://togithub.com/stefanvanburen) made their first contribution in [https://github.com/bufbuild/protobuf-es/pull/755](https://togithub.com/bufbuild/protobuf-es/pull/755)
**Full Changelog**: https://github.com/bufbuild/protobuf-es/compare/v1.8.0...v1.9.0
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 becomes conflicted, 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 contains the following updates:
^1
->^2.0.0
Release Notes
bufbuild/protobuf-es (@bufbuild/protoc-gen-es)
### [`v2.0.0`](https://togithub.com/bufbuild/protobuf-es/releases/tag/v2.0.0) [Compare Source](https://togithub.com/bufbuild/protobuf-es/compare/v1.10.0...v2.0.0) ##### What's new in version 2 To support [Protobuf editions](https://protobuf.dev/editions/overview/), 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: ```typescript 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](https://togithub.com/bufbuild/protobuf-es/blob/main/MANUAL.md#field-presence-and-default-values). This approach solves several outstanding issues, such as: - [https://github.com/bufbuild/protobuf-es/issues/397](https://togithub.com/bufbuild/protobuf-es/issues/397) Provide custom options at runtime - [https://github.com/bufbuild/protobuf-es/issues/551](https://togithub.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](https://togithub.com/bufbuild/protobuf-es/issues/414) Improvements for proto2 required - [https://github.com/bufbuild/protobuf-es/issues/738](https://togithub.com/bufbuild/protobuf-es/issues/738) type-save full enum value names - [https://github.com/bufbuild/protobuf-es/issues/928](https://togithub.com/bufbuild/protobuf-es/issues/928) Better interop with 3rd party frameworks requiring plain objects - [https://github.com/bufbuild/protobuf-es/issues/508](https://togithub.com/bufbuild/protobuf-es/issues/508) JSON types > \[!TIP] > > Take a look at the [upgrade guide](https://togithub.com/bufbuild/protobuf-es/blob/main/MANUAL.md#migrating-from-version-1) to learn more. > \[!NOTE] > > [Connect-ES](https://togithub.com/connectrpc/connect-es) does not support version 2 yet. We will update it shortly. ##### Contributors Thanks to [@srikrsna-buf](https://togithub.com/srikrsna-buf) for his contributions to v2! ### [`v1.10.0`](https://togithub.com/bufbuild/protobuf-es/releases/tag/v1.10.0) [Compare Source](https://togithub.com/bufbuild/protobuf-es/compare/v1.9.0...v1.10.0) #### What's Changed - Skip null values in message initializer object by [@timostamm](https://togithub.com/timostamm) in [https://github.com/bufbuild/protobuf-es/pull/862](https://togithub.com/bufbuild/protobuf-es/pull/862) - Fix Node10 subpath fallbacks by [@timostamm](https://togithub.com/timostamm) in [https://github.com/bufbuild/protobuf-es/pull/803](https://togithub.com/bufbuild/protobuf-es/pull/803) - Check for matching field numbers in StartGroup / EndGroup tags by [@smaye81](https://togithub.com/smaye81) in [https://github.com/bufbuild/protobuf-es/pull/816](https://togithub.com/bufbuild/protobuf-es/pull/816) - Update to google protobuf v27.0 by [@timostamm](https://togithub.com/timostamm) in [https://github.com/bufbuild/protobuf-es/pull/854](https://togithub.com/bufbuild/protobuf-es/pull/854) **Full Changelog**: https://github.com/bufbuild/protobuf-es/compare/v1.9.0...v1.10.0 ### [`v1.9.0`](https://togithub.com/bufbuild/protobuf-es/releases/tag/v1.9.0) [Compare Source](https://togithub.com/bufbuild/protobuf-es/compare/v1.8.0...v1.9.0) #### What's Changed - Expose OneofInfo type by [@q42jaap](https://togithub.com/q42jaap) in [https://github.com/bufbuild/protobuf-es/pull/746](https://togithub.com/bufbuild/protobuf-es/pull/746) - Fix typo in error output by [@stefanvanburen](https://togithub.com/stefanvanburen) in [https://github.com/bufbuild/protobuf-es/pull/755](https://togithub.com/bufbuild/protobuf-es/pull/755) - Build ESM artifacts with Node16 moduleResolution by [@smaye81](https://togithub.com/smaye81) in [https://github.com/bufbuild/protobuf-es/pull/754](https://togithub.com/bufbuild/protobuf-es/pull/754) - Support unknown fields in clone by [@srikrsna-buf](https://togithub.com/srikrsna-buf) in [https://github.com/bufbuild/protobuf-es/pull/758](https://togithub.com/bufbuild/protobuf-es/pull/758) - Fix assertion for FIXED32 scalar type when parsing JSON by [@timostamm](https://togithub.com/timostamm) in [https://github.com/bufbuild/protobuf-es/pull/771](https://togithub.com/bufbuild/protobuf-es/pull/771) - Avoid reserved object property names in generated enumerations by [@timostamm](https://togithub.com/timostamm) in [https://github.com/bufbuild/protobuf-es/pull/777](https://togithub.com/bufbuild/protobuf-es/pull/777) - Generate type imports when possible for .d.ts by [@timostamm](https://togithub.com/timostamm) in [https://github.com/bufbuild/protobuf-es/pull/778](https://togithub.com/bufbuild/protobuf-es/pull/778) - Update to Protobuf v26.1 by [@smaye81](https://togithub.com/smaye81) in [https://github.com/bufbuild/protobuf-es/pull/797](https://togithub.com/bufbuild/protobuf-es/pull/797) #### New Contributors - [@q42jaap](https://togithub.com/q42jaap) made their first contribution in [https://github.com/bufbuild/protobuf-es/pull/746](https://togithub.com/bufbuild/protobuf-es/pull/746) - [@stefanvanburen](https://togithub.com/stefanvanburen) made their first contribution in [https://github.com/bufbuild/protobuf-es/pull/755](https://togithub.com/bufbuild/protobuf-es/pull/755) **Full Changelog**: https://github.com/bufbuild/protobuf-es/compare/v1.8.0...v1.9.0Configuration
š 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 becomes conflicted, or you tick the rebase/retry checkbox.
š Ignore: Close this PR and you won't be reminded about this update again.
This PR was generated by Mend Renovate. View the repository job log.