Releases: bufbuild/protobuf-es
v1.9.0
What's Changed
- Expose OneofInfo type by @q42jaap in #746
- Fix typo in error output by @stefanvanburen in #755
- Build ESM artifacts with Node16 moduleResolution by @smaye81 in #754
- Support unknown fields in clone by @srikrsna-buf in #758
- Fix assertion for FIXED32 scalar type when parsing JSON by @timostamm in #771
- Avoid reserved object property names in generated enumerations by @timostamm in #777
- Generate type imports when possible for .d.ts by @timostamm in #778
- Update to Protobuf v26.1 by @smaye81 in #797
New Contributors
- @q42jaap made their first contribution in #746
- @stefanvanburen made their first contribution in #755
Full Changelog: v1.8.0...v1.9.0
v1.8.0
What's Changed
- Introduce type guard isMessage by @timostamm in #728
- Remove node export conditions by @smaye81 in #744
- Replace instanceof Message usages by @smaye81 in #729
- Add
/*@__PURE__*/
annotation for better tree-shaking support by @pmzi in #470 - Introduce type ScalarValue and rename function scalarDefaultValue by @timostamm in #711
- Add "dependencies" to DescFile by @timostamm in #727
- Update to google protobuf v26.0 by @timostamm in #747
- Deprecate field helper functions from @bufbuild/protoplugin by @timostamm in #712
- Deprecate properties toString and text of JSDocBlock by @timostamm in #721
New Contributors
Full Changelog: v1.7.2...v1.8.0
v1.7.2
What's Changed
- Fix name collision with import in generated code by @timostamm in #688
- Add missing extension to import of descriptor-set for module resolution NodeNext by @tehwalris in #690
- Fix proto3 extension presence for singular, non-optional scalar by @timostamm in #689
- Fix typing for proto2 required fields with target=dts by @timostamm in #691
New Contributors
- @tehwalris made their first contribution in #690
Full Changelog: v1.7.1...v1.7.2
v1.7.1
What's Changed
- Avoid parsing feature-set defaults at module initialization by @timostamm in #683
- Fix printing large 64-bit integers in @bufbuild/protoplugin by @timostamm in #682
- Fix parsing JSON null in proto2 by @timostamm in #685
Full Changelog: v1.7.0...v1.7.1
v1.7.0
What's Changed
This release adds support for extensions, a Protobuf language feature that allows to extend a message with an additional field.
For example:
syntax = "proto2";
message User {
extensions 100 to 200;
}
extend User {
optional uint32 age = 100;
}
For the extension age
, we generate a new export const age: Extension<User, number>
. You can set the extension field with the function setExtension
:
import { setExtension } from "@bufbuild/protobuf";
import { User, age } from "./example_pb.js";
const user = new User();
setExtension(user, age, 77);
To learn more about the details, see the API documentation.
For plugin authors: Since extensions provide a better way to access custom options in a plugin, we are deprecating the findCustom*Option
functions from @bufbuild/protoplugin/ecmascript
. We recommend to switch to extensions for better type safety and flexibility, see the PR for details.
All changes
- Support extensions by @timostamm in #666
- Deprecate findCustom*Option functions in favor of extensions by @timostamm in #669
- Document extensions by @timostamm in #672
- Support experimental editions in @bufbuild/protoplugin by @timostamm in #655
- Improve errors for unsupported editions in createDescriptorSet by @timostamm in #654
Full Changelog: v1.6.0...v1.7.0
v1.6.0
What's Changed
- Add CommonJS support as a plugin option by @timostamm in #648
- Add
GeneratedFile.jsDoc()
and other features to@bufbuild/protoplugin
by @timostamm in #649
Full Changelog: v1.5.1...v1.6.0
v1.5.1
What's Changed
- Add explicit exports for Node by @smaye81 in #645
- Honor experimental editions in the preamble generated by
@bufbuild/protoplugin
by @timostamm in #644 - Fix typing error in
@bufbuild/protoplugin
, improve error messages by @timostamm in #642 - Support for proto2 groups by @timostamm in #640
Full Changelog: v1.5.0...v1.5.1
v1.5.0
This release includes preliminary support for editions. Please note that it's still an experimental feature.
What's Changed
- Match typeUrls with leading slash in google.protobuf.Any by @grod220 in #618
- Expose experimental syntax "editions" in descriptor sets by @timostamm in #621
- Expose experimental edition features in descriptor sets by @timostamm in #627
New Contributors
Full Changelog: v1.4.2...v1.5.0
v1.4.2
What's Changed
- Add
@bufbuild/protobuf
to the direct dependencies of protoc-gen-es by @timostamm in #601 - Update to google protobuf v25.0 by @timostamm in #608
Full Changelog: v1.4.1...v1.4.2
v1.4.1
What's Changed
- Fix Node16 module resolution with @bufbuild/protoplugin by @timostamm in #598
Full Changelog: v1.4.0...v1.4.1