Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Switch to v2 #948

Merged
merged 253 commits into from
Jul 30, 2024
Merged

Switch to v2 #948

merged 253 commits into from
Jul 30, 2024
This pull request is big! We’re only showing the most recent 250 commits.

Commits on Mar 1, 2024

  1. Configuration menu
    Copy the full SHA
    d4b168b View commit details
    Browse the repository at this point in the history

Commits on Mar 13, 2024

  1. Configuration menu
    Copy the full SHA
    0b7cee0 View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    a57887e View commit details
    Browse the repository at this point in the history
  3. Simplify protoplugin's JSDocBlock type

    Remove the toString method, and let GeneratedFile.jsDoc() return a Printable.
    
    This brings the JSDocBlock printable in line with others.
    timostamm committed Mar 13, 2024
    Configuration menu
    Copy the full SHA
    8cf665b View commit details
    Browse the repository at this point in the history

Commits on Mar 14, 2024

  1. Configuration menu
    Copy the full SHA
    5f85bd5 View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    32d2a60 View commit details
    Browse the repository at this point in the history
  3. Configuration menu
    Copy the full SHA
    bfee197 View commit details
    Browse the repository at this point in the history

Commits on Mar 15, 2024

  1. Configuration menu
    Copy the full SHA
    0be5249 View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    d6b84b1 View commit details
    Browse the repository at this point in the history
  3. Move well-known types to the "wkt" subpath export

    And provide utilities for Timestamp, such as timestampNow()
    timostamm committed Mar 15, 2024
    Configuration menu
    Copy the full SHA
    718b4de View commit details
    Browse the repository at this point in the history

Commits on Mar 18, 2024

  1. Add toBinary and fromBinary functions (#751)

    Add `toBinary` and `fromBinary` functions to serialize to and from
    protobuf encoded bytes. Added compatibility tests with v1 for now.
    srikrsna-buf authored Mar 18, 2024
    Configuration menu
    Copy the full SHA
    689daf3 View commit details
    Browse the repository at this point in the history
  2. Fix wkt

    Ignore in prettier. Move Node10 module resolution fallbacks to correct path.
    timostamm committed Mar 18, 2024
    Configuration menu
    Copy the full SHA
    37e4552 View commit details
    Browse the repository at this point in the history

Commits on Mar 19, 2024

  1. Configuration menu
    Copy the full SHA
    957fc9b View commit details
    Browse the repository at this point in the history

Commits on Mar 20, 2024

  1. Configuration menu
    Copy the full SHA
    450a2f1 View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    8a4f83c View commit details
    Browse the repository at this point in the history

Commits on Mar 22, 2024

  1. Add /*@__PURE__*/ annotation for better tree-shaking support

    This annotation informs bundlers that the succeeding function call is free of side effects. This means the symbol can be removed from the module during tree-shaking if it is unused.
    
    See #470
    
    The annotation is not terribly effective yet, since all generated descriptors depend on the file descriptor, but it's still worthwhile.
    timostamm committed Mar 22, 2024
    Configuration menu
    Copy the full SHA
    e8e2be1 View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    82fd2e4 View commit details
    Browse the repository at this point in the history
  3. Configuration menu
    Copy the full SHA
    cde009f View commit details
    Browse the repository at this point in the history

Commits on Mar 25, 2024

  1. Configuration menu
    Copy the full SHA
    775e391 View commit details
    Browse the repository at this point in the history
  2. Update reflect

    This adds two new types to the reflect API: ReflectList and ReflectMap. The API now always returns messages as ReflectMessage, list fields as ReflectList, and map fields as ReflectMap. Note that accessing an unset message fields returns a ReflectMessage with a new zero-message.
    
    The methods ReflectMessage.addListItem and ReflectMessage.setMapEntry are kept for now. We can decide whether it's worth to keep them for the hot path when we take a look at performance.
    
    This also updates create() to fully support the "init" argument.
    timostamm committed Mar 25, 2024
    Configuration menu
    Copy the full SHA
    7054ed7 View commit details
    Browse the repository at this point in the history

Commits on Mar 26, 2024

  1. Add test for equals with NaN

    The IEEE standard requires that NaN != NaN. It's questionable whether that should also be the case when comparing two protobuf fields,
    timostamm committed Mar 26, 2024
    Configuration menu
    Copy the full SHA
    f5390f2 View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    5ff3253 View commit details
    Browse the repository at this point in the history

Commits on Mar 27, 2024

  1. Remove Message.$desc

    The message descriptor contains cyclic references and methods, causing issues with Jest, RSC serialization, structured clone, and others.
    
    By removing the property, messages are no longer self-describing, and functions that need schema information require the user to path both the message descriptor and the message.
    timostamm committed Mar 27, 2024
    Configuration menu
    Copy the full SHA
    bf6df29 View commit details
    Browse the repository at this point in the history
  2. Unskip skipped tests

    Most importantly, tests for serializing map fields.
    
    Fixes a bug in fromBinary, where map keys were converted to strings, which are the correct representation in a message, but not for a ReflectMap. This bug was most likely introduced in 7054ed7, which limited the conversion to a smaller set of acceptable types.
    timostamm committed Mar 27, 2024
    Configuration menu
    Copy the full SHA
    4826555 View commit details
    Browse the repository at this point in the history
  3. Enable Jest worker threads for assertion failures involving BigInt

    In case of a test failure, we'll see the diff instead of Jest crashing.
    See jestjs/jest#11617 (comment)
    
    There don't appear to be any adverse effects of enabling the option. Test failures when strictly comparing message classes are still reported correctly.
    timostamm committed Mar 27, 2024
    Configuration menu
    Copy the full SHA
    ea52fa2 View commit details
    Browse the repository at this point in the history

Commits on Apr 1, 2024

  1. Introduce subpath export "wire"

    In order to reduce the number of main exports, move types that are rarely needed by end-users to a new subpath "wire".
    
    - BinaryWriter and BinaryReader have been moved, and their interfaces discarded.
    
    - Users can bring their own Text encoding API via wire/configureTextEncoding() now instead of the serialization options readerFactory / writerFactory.
    
    - protoBase64 has been split into the functions base64Decode and base64Encode, with the latter allowing to encode with padding, without padding, or URL-safe.
    
    The exports protoDelimited and protoBase64 are also candidates for moving to wire, but are not moved by this commit.
    timostamm committed Apr 1, 2024
    Configuration menu
    Copy the full SHA
    7080556 View commit details
    Browse the repository at this point in the history
  2. Move isWktWrapper to wkt

    Move reflect/wkt.ts to wkt/wrappers.ts to keep WKT-specific code in one place. This does not move the code for custom JSON representation of WKTs.
    timostamm committed Apr 1, 2024
    Configuration menu
    Copy the full SHA
    8e8f320 View commit details
    Browse the repository at this point in the history

Commits on Apr 2, 2024

  1. Fix tsconfig for protoc-gen-es

    Same as #767
    timostamm committed Apr 2, 2024
    Configuration menu
    Copy the full SHA
    61e27b7 View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    6d30082 View commit details
    Browse the repository at this point in the history

Commits on Apr 3, 2024

  1. fix DescField.jsonName

    fileDesc() from codegenv1/hydrate.ts restored redundant json names incorrectly, leading DescField.jsonName to be an empty string instead of undefined.
    timostamm committed Apr 3, 2024
    Configuration menu
    Copy the full SHA
    3fddb40 View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    44a73b0 View commit details
    Browse the repository at this point in the history
  3. Fix excluded properties in MessageInit

    We have to ignore $typeName and $unknown, not $desc and $typename.
    timostamm committed Apr 3, 2024
    Configuration menu
    Copy the full SHA
    ae47143 View commit details
    Browse the repository at this point in the history
  4. Fix checkScalarValue() for FIXED32

    FIXED32 is an unsigned, fixed-length 32-bit integer.
    timostamm committed Apr 3, 2024
    Configuration menu
    Copy the full SHA
    c728dd7 View commit details
    Browse the repository at this point in the history

Commits on Apr 4, 2024

  1. Configuration menu
    Copy the full SHA
    faae4ef View commit details
    Browse the repository at this point in the history
  2. Add fromJson and mergeFromJson and their string variants (#770)

    Add `fromJson` and `mergeFromJson` and their string variants. Missing
    extension support, will a be added in a follow up.
    srikrsna-buf authored Apr 4, 2024
    Configuration menu
    Copy the full SHA
    296e526 View commit details
    Browse the repository at this point in the history

Commits on Apr 5, 2024

  1. Configuration menu
    Copy the full SHA
    68fff18 View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    5ffbac0 View commit details
    Browse the repository at this point in the history
  3. Simplify number literals in protoplugin

    We used to have a protoDouble export to avoid possibly clashing with a generated symbol.
    
    Turns out we can simplify this more, use globalThis - it's a reserved identifier by safeIdentifier() - and remove a file from codegenv1.
    timostamm committed Apr 5, 2024
    Configuration menu
    Copy the full SHA
    0e39949 View commit details
    Browse the repository at this point in the history

Commits on Apr 6, 2024

  1. Configuration menu
    Copy the full SHA
    1db0aa4 View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    f047bfe View commit details
    Browse the repository at this point in the history

Commits on Apr 8, 2024

  1. Configuration menu
    Copy the full SHA
    3ae0403 View commit details
    Browse the repository at this point in the history
  2. Avoid linter ignore for enum comparison

    eslint is a bit over the top here.
    timostamm committed Apr 8, 2024
    Configuration menu
    Copy the full SHA
    d580420 View commit details
    Browse the repository at this point in the history
  3. Avoid isFieldSet() when creating Desc* types

    This will avoid a circular reference when we switch to hydrate embedded descriptors with v2.
    timostamm committed Apr 8, 2024
    Configuration menu
    Copy the full SHA
    de8a802 View commit details
    Browse the repository at this point in the history
  4. Remove own FeatureSetDefaults

    Remove the options for FeatureSetDefaults from createDescFileSet(), createDescriptorSet(), and @bufbuild/protoplugin.
    
    Going forward, feature resolution will happen internally in createDescFileSet(), and not be exposed. This will avoid several bootstrapping issues and simplify the code overall. Feature resolution with own features can still be implemented as an external function if needed, but at this point, this does not seem to be a crucial feature.
    timostamm committed Apr 8, 2024
    Configuration menu
    Copy the full SHA
    be2aadf View commit details
    Browse the repository at this point in the history
  5. Resolve edition features without binary serialization

    When we hydrate embedded descriptors, we cannot use binary serialization. This changes does not completely remove serialization yet, since feature-set defaults are still embedded as binary in the source, but it changes resolution to no longer use serialization for feature inheritance.
    timostamm committed Apr 8, 2024
    Configuration menu
    Copy the full SHA
    2c8834c View commit details
    Browse the repository at this point in the history
  6. Configuration menu
    Copy the full SHA
    65981d1 View commit details
    Browse the repository at this point in the history
  7. Configuration menu
    Copy the full SHA
    3294739 View commit details
    Browse the repository at this point in the history
  8. Generate seconds set of descriptor enumerations

    To avoid import cycles, we generate enumerations we need in desc-set.ts instead of importing.
    timostamm committed Apr 8, 2024
    Configuration menu
    Copy the full SHA
    b1a7c9f View commit details
    Browse the repository at this point in the history
  9. Move restoreJsonNames() to separate module

    So that it can be re-used later.
    timostamm committed Apr 8, 2024
    Configuration menu
    Copy the full SHA
    51f04cf View commit details
    Browse the repository at this point in the history
  10. Update codegen symbols

    timostamm committed Apr 8, 2024
    Configuration menu
    Copy the full SHA
    a5ef8cb View commit details
    Browse the repository at this point in the history
  11. Configuration menu
    Copy the full SHA
    34accf9 View commit details
    Browse the repository at this point in the history

Commits on Apr 9, 2024

  1. Configuration menu
    Copy the full SHA
    e35146e View commit details
    Browse the repository at this point in the history
  2. Add DescEnum.open

    The property is populated from edition features / defaults.
    timostamm committed Apr 9, 2024
    Configuration menu
    Copy the full SHA
    f83fed3 View commit details
    Browse the repository at this point in the history
  3. Remove DescField.packedByDefault

    The property was only relevant to generate optimized FieldInfo in v1, which is now implemented with a separate function.
    timostamm committed Apr 9, 2024
    Configuration menu
    Copy the full SHA
    aaa383c View commit details
    Browse the repository at this point in the history
  4. Always define DescField.jsonName

    The property was a union with `undefined` to generate optimized FieldInfo in v1, which is now implemented with a separate function.
    timostamm committed Apr 9, 2024
    Configuration menu
    Copy the full SHA
    ddc28a0 View commit details
    Browse the repository at this point in the history
  5. Untangle descriptor.proto bootstrapping

    In preparation for switching desc-set.ts to use v2 proto messages, add a facility to embed a FileDescriptorProto message for google/protobuf/descriptor.proto as a plain object.
    timostamm committed Apr 9, 2024
    Configuration menu
    Copy the full SHA
    0ad5ded View commit details
    Browse the repository at this point in the history
  6. Remove field presence assertions in desc-set.ts

    Before proto2 fields were switched to use the prototype chain, we used assertions to narrow down optional types. This is no longer necessary.
    timostamm committed Apr 9, 2024
    Configuration menu
    Copy the full SHA
    5cf2a4c View commit details
    Browse the repository at this point in the history
  7. Configuration menu
    Copy the full SHA
    9d6535e View commit details
    Browse the repository at this point in the history
  8. Configuration menu
    Copy the full SHA
    3b5cf9a View commit details
    Browse the repository at this point in the history
  9. Update protoplugin tests

    - Copy coverage for v1 to v2
    - Consolidate some tests
    - Avoid generated code where possible
    timostamm committed Apr 9, 2024
    Configuration menu
    Copy the full SHA
    e6bd428 View commit details
    Browse the repository at this point in the history
  10. Update keep_empty_files test in protoplugin

    We have to make use of the helper.
    timostamm committed Apr 9, 2024
    Configuration menu
    Copy the full SHA
    efdd92c View commit details
    Browse the repository at this point in the history
  11. Remove unused config file

    timostamm committed Apr 9, 2024
    Configuration menu
    Copy the full SHA
    de69744 View commit details
    Browse the repository at this point in the history
  12. Configuration menu
    Copy the full SHA
    a6bd366 View commit details
    Browse the repository at this point in the history
  13. Temporarily keep a copy of descriptor.proto enumerations

    To avoid import cycles, we add a local copy of enumerations generated from descriptor.proto at several places.
    
    Going forward, Desc* types will stop exposing generated enumerations, so that this workaround will no longer be necessary.
    timostamm committed Apr 9, 2024
    Configuration menu
    Copy the full SHA
    ffa70c8 View commit details
    Browse the repository at this point in the history
  14. Use V2 descriptor messages in Desc* types

    With this change, V2 messages do not rely on the V1 runtime anymore.
    
    Note that this commit does not pass tests, since tests, the protoplugin package, and our code generator all still expect V1 messages with createDescSet() and related types.
    
    The V1 function createDescriptorSet() is patched to still accept V1 descriptor protos, since it is most widely used, also with the old code generator.
    timostamm committed Apr 9, 2024
    Configuration menu
    Copy the full SHA
    2614e5c View commit details
    Browse the repository at this point in the history
  15. Use V2 Desc* types in protoplugin

    Note that this commit does not pass tests, since our plugin and test packages still need to be updated.
    
    The V1 function createSchema() is patched to still accept V1 descriptor protos, since it is most widely used, also with the old code generator.
    timostamm committed Apr 9, 2024
    Configuration menu
    Copy the full SHA
    5f95bf8 View commit details
    Browse the repository at this point in the history
  16. Update protoc-gen-es for bootstrapping

    Special case google/protobuf/descriptor.proto to embed it as a plain object when bootstrapping.
    
    Note that this commit does not pass tests, since tests and other packages still need to be updated.
    timostamm committed Apr 9, 2024
    Configuration menu
    Copy the full SHA
    ef4950b View commit details
    Browse the repository at this point in the history
  17. Use V2 Desc* types in protobuf-test

    Note that this commit does not pass tests, since more tests and other packages still need to be updated.
    timostamm committed Apr 9, 2024
    Configuration menu
    Copy the full SHA
    f9876d2 View commit details
    Browse the repository at this point in the history
  18. Use V2 Desc* types in protoplugin-test

    Note that this commit does not pass tests, since other packages still need to be updated.
    timostamm committed Apr 9, 2024
    Configuration menu
    Copy the full SHA
    96b00e3 View commit details
    Browse the repository at this point in the history
  19. Test protoplugin-example with make test

    The target `test-protoplugin-example` runs in CI, but not in `make test`.
    timostamm committed Apr 9, 2024
    Configuration menu
    Copy the full SHA
    e1aa560 View commit details
    Browse the repository at this point in the history
  20. Use V2 protoplugin in protoplugin-example

    This commit should pass CI. V2 is now (mostly) independant of V1.
    timostamm committed Apr 9, 2024
    Configuration menu
    Copy the full SHA
    6b7a3c1 View commit details
    Browse the repository at this point in the history

Commits on Apr 10, 2024

  1. Configuration menu
    Copy the full SHA
    b2606a9 View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    2fc2f95 View commit details
    Browse the repository at this point in the history
  3. Fix enumerations in generated JS and add tests

    This ports name-clash tests from V1, applying them to V2. It fixes a bug in function tsEnum, and adds additional tests.
    timostamm committed Apr 10, 2024
    Configuration menu
    Copy the full SHA
    ce7dceb View commit details
    Browse the repository at this point in the history
  4. Use V2 protoplugin in V1 protoc-gen-es

    This will let us remove V1 protoplugin.
    
    There are two expected changes in generated code:
    - We use `globalThis` to reference NaN and Infinity instead of the `protoDouble` export.
    - We no longer generate the `@ts-nocheck` annotation by default.
    timostamm committed Apr 10, 2024
    Configuration menu
    Copy the full SHA
    456604c View commit details
    Browse the repository at this point in the history
  5. Delete protoplugin V1

    This commit will not pass tests because we still have references to V1. Committing separately for better commit history.
    timostamm committed Apr 10, 2024
    Configuration menu
    Copy the full SHA
    d16fcfd View commit details
    Browse the repository at this point in the history
  6. Use protoplugin V2

    This commit completes the previous one, replacing @bufbuild/protoplugin/next with @bufbuild/protoplugin in the project.
    timostamm committed Apr 10, 2024
    Configuration menu
    Copy the full SHA
    d7bf8ae View commit details
    Browse the repository at this point in the history
  7. Configuration menu
    Copy the full SHA
    bf1c006 View commit details
    Browse the repository at this point in the history
  8. Use V2 in protobuf-example

    timostamm committed Apr 10, 2024
    Configuration menu
    Copy the full SHA
    e0fe785 View commit details
    Browse the repository at this point in the history
  9. Use V2 in protobuf-bench

    timostamm committed Apr 10, 2024
    Configuration menu
    Copy the full SHA
    a741221 View commit details
    Browse the repository at this point in the history
  10. Configuration menu
    Copy the full SHA
    90623de View commit details
    Browse the repository at this point in the history
  11. Configuration menu
    Copy the full SHA
    2358bdc View commit details
    Browse the repository at this point in the history
  12. Configuration menu
    Copy the full SHA
    234cf00 View commit details
    Browse the repository at this point in the history
  13. Configuration menu
    Copy the full SHA
    48ce336 View commit details
    Browse the repository at this point in the history
  14. Configuration menu
    Copy the full SHA
    5b348ac View commit details
    Browse the repository at this point in the history
  15. Add equals() tests for proto2

    This is not a complete port, and only covers TS generated code.
    timostamm committed Apr 10, 2024
    Configuration menu
    Copy the full SHA
    7bcc86f View commit details
    Browse the repository at this point in the history
  16. Fix name-clash test

    timostamm committed Apr 10, 2024
    Configuration menu
    Copy the full SHA
    3d40541 View commit details
    Browse the repository at this point in the history
  17. Configuration menu
    Copy the full SHA
    d11570b View commit details
    Browse the repository at this point in the history
  18. Re-write function to create DescField | DescExtension

    This was necessary to resolve features: We need as much of the DescField|DescExtension available when we resolve features, and the previous implementation patched the field's "kind" and other properties, making the logic fragile.
    timostamm committed Apr 10, 2024
    Configuration menu
    Copy the full SHA
    568e6c8 View commit details
    Browse the repository at this point in the history
  19. Add tests for DescEnum.open

    timostamm committed Apr 10, 2024
    Configuration menu
    Copy the full SHA
    fc5df46 View commit details
    Browse the repository at this point in the history
  20. Remove getFeatures() from (almost) all Desc* types

    The plan is to make feature resolution internal, remove getFeatures(), and expose relevant features as properties.
    timostamm committed Apr 10, 2024
    Configuration menu
    Copy the full SHA
    58f9f45 View commit details
    Browse the repository at this point in the history
  21. Re-write feature resolution

    The plan is to make feature resolution internal. This optimized function resolveFeature for this use case. The function resolves from a descriptor proto message and a Desc* parent now, so that we can resolve features for a descriptor we have not wrapped yet.
    timostamm committed Apr 10, 2024
    Configuration menu
    Copy the full SHA
    7e4aaad View commit details
    Browse the repository at this point in the history

Commits on Apr 11, 2024

  1. Configuration menu
    Copy the full SHA
    446a2e6 View commit details
    Browse the repository at this point in the history
  2. Add DescField.delimitedEncoding

    Tells whether to encode a message delimited (a.k.a. proto2 group encoding) or length-prefixed.
    
    Note that we're most likely not supporting feature message_encoding = DELIMITED correctly for map fields, and have to revisit.
    timostamm committed Apr 11, 2024
    Configuration menu
    Copy the full SHA
    dbcb9bb View commit details
    Browse the repository at this point in the history
  3. Add DescField.presence

    This property provides the field's presence as per https://protobuf.dev/programming-guides/field_presence/
    timostamm committed Apr 11, 2024
    Configuration menu
    Copy the full SHA
    58d54b1 View commit details
    Browse the repository at this point in the history
  4. Configuration menu
    Copy the full SHA
    a90f3cf View commit details
    Browse the repository at this point in the history
  5. Configuration menu
    Copy the full SHA
    05cff3a View commit details
    Browse the repository at this point in the history
  6. Cover isFieldSet returning true for proto2/proto3

    Also adds coverage for equals() with non-empty proto2 messages, and
    timostamm committed Apr 11, 2024
    Configuration menu
    Copy the full SHA
    89b580f View commit details
    Browse the repository at this point in the history
  7. Remove DescField.getFeatures

    This concludes the removal started in 58f9f45.
    timostamm committed Apr 11, 2024
    Configuration menu
    Copy the full SHA
    1603643 View commit details
    Browse the repository at this point in the history
  8. Remove DescField.syntax

    timostamm committed Apr 11, 2024
    Configuration menu
    Copy the full SHA
    3b4948d View commit details
    Browse the repository at this point in the history
  9. make bench

    timostamm committed Apr 11, 2024
    Configuration menu
    Copy the full SHA
    7169edf View commit details
    Browse the repository at this point in the history
  10. Avoid references to enums generated from google/protobuf/descriptor.p…

    …roto
    
    In ffa70c8, temporary local copies of enumerations generated from descriptor.proto were added at several places to avoid import cycles.
    
    This updates the inject script with an improved mechanism to inject enumeration values where needed, so that copies do not have to be maintained manually.
    timostamm committed Apr 11, 2024
    Configuration menu
    Copy the full SHA
    0bfcb91 View commit details
    Browse the repository at this point in the history
  11. make bench

    timostamm committed Apr 11, 2024
    Configuration menu
    Copy the full SHA
    17e781e View commit details
    Browse the repository at this point in the history

Commits on Apr 12, 2024

  1. Configuration menu
    Copy the full SHA
    b721c26 View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    6a26539 View commit details
    Browse the repository at this point in the history
  3. Generate test proto for edition2023 and add tests

    This adds the file edition2023.proto alongside proto2.proto and proto3.proto, and ports some tests from proto2 and proto3 to edition2023.
    
    Note that serialization is completely uncovered yet.
    timostamm committed Apr 12, 2024
    Configuration menu
    Copy the full SHA
    2cbaa5f View commit details
    Browse the repository at this point in the history
  4. Add coverage for serialization with edition2023

    This adds coverage for binary and JSON serialization via proto2 and proto3: Since proto2 or proto3 behavior can be configured in editions, we define equivalent messages, and use proto2/proto3 serialization as the source of truth to test serialization with editions.
    
    Note that this does not cover cases that are possible in editions, but not in proto2 or proto3.
    timostamm committed Apr 12, 2024
    Configuration menu
    Copy the full SHA
    d241d87 View commit details
    Browse the repository at this point in the history
  5. Handle editions outside the supported range

    @bufbuild/protobuf exports minimumEdition and maximumEdition to advertise the supported range.
    
    @bufbuild/protoplugin receives options for user-provided minimum and maximum editions.
    timostamm committed Apr 12, 2024
    Configuration menu
    Copy the full SHA
    176c89b View commit details
    Browse the repository at this point in the history

Commits on Apr 15, 2024

  1. Use delimited encoding for synthetic map messages when feature is set

    Map fields are syntactic sugar for a repeated message field with field 1 for key and field 2 for value.
    
    The file feature message_encoding = DELIMITED should apply to this "synthetic" message, following the logic of other message fields.
    timostamm committed Apr 15, 2024
    Configuration menu
    Copy the full SHA
    7993a4e View commit details
    Browse the repository at this point in the history
  2. Port protoDelimited to V2

    Instead of an object with methods, we use separate functions, since the object was only used limit the number of top-level package exports.
    timostamm committed Apr 15, 2024
    Configuration menu
    Copy the full SHA
    de9a908 View commit details
    Browse the repository at this point in the history
  3. Configuration menu
    Copy the full SHA
    559b94a View commit details
    Browse the repository at this point in the history
  4. Use LENGTH_PREFIXED encoding for map entries even with DELIMITED

    This reverts 7993a4e, changing behavior to always encode synthetic map entry messages using the LENGTH_PREFIXED encoding, even though it would be logical to honor a file option features.message_encoding = DELIMITED.
    timostamm committed Apr 15, 2024
    Configuration menu
    Copy the full SHA
    e332a18 View commit details
    Browse the repository at this point in the history

Commits on Apr 16, 2024

  1. Port json tests (#779)

    srikrsna-buf authored Apr 16, 2024
    Configuration menu
    Copy the full SHA
    2c632ae View commit details
    Browse the repository at this point in the history
  2. Add test coverage for generated TS and JS equivalence

    Since generated code is the same for TS and JS except for enums, we can add meaningful coverage simply by comparing TS and JS exports against each other.
    
    To cover types, we assign types from TS to JS and vice versa.
    timostamm committed Apr 16, 2024
    Configuration menu
    Copy the full SHA
    bba0f45 View commit details
    Browse the repository at this point in the history
  3. Configuration menu
    Copy the full SHA
    1c683a0 View commit details
    Browse the repository at this point in the history
  4. Configuration menu
    Copy the full SHA
    6bc7ff4 View commit details
    Browse the repository at this point in the history
  5. Configuration menu
    Copy the full SHA
    8f6e848 View commit details
    Browse the repository at this point in the history
  6. Configuration menu
    Copy the full SHA
    1a84b6a View commit details
    Browse the repository at this point in the history
  7. Configuration menu
    Copy the full SHA
    00db733 View commit details
    Browse the repository at this point in the history
  8. Configuration menu
    Copy the full SHA
    8b498a2 View commit details
    Browse the repository at this point in the history
  9. make format

    timostamm committed Apr 16, 2024
    Configuration menu
    Copy the full SHA
    067edcf View commit details
    Browse the repository at this point in the history

Commits on Apr 17, 2024

  1. Remove usage of codegenInfo from protoc-gen-es

    Also updates the plugin example to import `JsonValue` from v2.
    timostamm committed Apr 17, 2024
    Configuration menu
    Copy the full SHA
    04b6034 View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    343a1bf View commit details
    Browse the repository at this point in the history
  3. Configuration menu
    Copy the full SHA
    747cd3e View commit details
    Browse the repository at this point in the history
  4. Update imports for ScalarType

    ScalarType has moved to the "reflect" subpath. This updates (hopefully) all imports in V2 to use this subpath.
    timostamm committed Apr 17, 2024
    Configuration menu
    Copy the full SHA
    520c21e View commit details
    Browse the repository at this point in the history
  5. Remove options-map.ts

    Since we provide full descriptors, custom options can be accessed using extensions. We will never need `OptionsMap`.
    timostamm committed Apr 17, 2024
    Configuration menu
    Copy the full SHA
    7fdc8f1 View commit details
    Browse the repository at this point in the history
  6. Configuration menu
    Copy the full SHA
    a565729 View commit details
    Browse the repository at this point in the history
  7. Add tests for binary serialization (#782)

    Add tests for binary serialization. Port the WKT binary tests that are
    in v1.
    srikrsna-buf authored Apr 17, 2024
    Configuration menu
    Copy the full SHA
    0994276 View commit details
    Browse the repository at this point in the history
  8. Add GenDescFile as alias for DescFile

    This reduces the number of import statements we generate.
    timostamm committed Apr 17, 2024
    Configuration menu
    Copy the full SHA
    7feaede View commit details
    Browse the repository at this point in the history
  9. Configuration menu
    Copy the full SHA
    b0673d2 View commit details
    Browse the repository at this point in the history
  10. Move interface DescriptorSet to a separate file

    We will not keep the interface, but we will keep the Desc* types.
    timostamm committed Apr 17, 2024
    Configuration menu
    Copy the full SHA
    137b421 View commit details
    Browse the repository at this point in the history
  11. Configuration menu
    Copy the full SHA
    93f6f63 View commit details
    Browse the repository at this point in the history

Commits on Apr 18, 2024

  1. Configuration menu
    Copy the full SHA
    8700c6c View commit details
    Browse the repository at this point in the history
  2. Port perf.ts (#785)

    srikrsna-buf authored Apr 18, 2024
    Configuration menu
    Copy the full SHA
    ccf4c98 View commit details
    Browse the repository at this point in the history
  3. Port json parse error message tests (#786)

    Port json parse error message tests.
    srikrsna-buf authored Apr 18, 2024
    Configuration menu
    Copy the full SHA
    f2f3d5d View commit details
    Browse the repository at this point in the history
  4. Configuration menu
    Copy the full SHA
    907ebe7 View commit details
    Browse the repository at this point in the history
  5. Remove tests for V1 (#788)

    timostamm authored Apr 18, 2024
    Configuration menu
    Copy the full SHA
    012c79f View commit details
    Browse the repository at this point in the history
  6. Configuration menu
    Copy the full SHA
    166fab0 View commit details
    Browse the repository at this point in the history
  7. Remove protobuf V1 (#790)

    timostamm authored Apr 18, 2024
    Configuration menu
    Copy the full SHA
    84ae2e6 View commit details
    Browse the repository at this point in the history
  8. Configuration menu
    Copy the full SHA
    10af9f9 View commit details
    Browse the repository at this point in the history
  9. Configuration menu
    Copy the full SHA
    02dd436 View commit details
    Browse the repository at this point in the history

Commits on Apr 19, 2024

  1. Configuration menu
    Copy the full SHA
    1d88a01 View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    7775ee0 View commit details
    Browse the repository at this point in the history
  3. Configuration menu
    Copy the full SHA
    9cf3b0b View commit details
    Browse the repository at this point in the history
  4. Configuration menu
    Copy the full SHA
    dfbe0de View commit details
    Browse the repository at this point in the history

Commits on Apr 22, 2024

  1. Configuration menu
    Copy the full SHA
    91ac90f View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    ad1541b View commit details
    Browse the repository at this point in the history

Commits on Apr 23, 2024

  1. Configuration menu
    Copy the full SHA
    42087dc View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    f4bb5e1 View commit details
    Browse the repository at this point in the history
  3. Configuration menu
    Copy the full SHA
    9a8978b View commit details
    Browse the repository at this point in the history
  4. Configuration menu
    Copy the full SHA
    c2bb658 View commit details
    Browse the repository at this point in the history

Commits on Apr 24, 2024

  1. Configuration menu
    Copy the full SHA
    a599761 View commit details
    Browse the repository at this point in the history
  2. V2: Fix perf (#811)

    timostamm authored Apr 24, 2024
    Configuration menu
    Copy the full SHA
    1485e83 View commit details
    Browse the repository at this point in the history

Commits on Apr 25, 2024

  1. Configuration menu
    Copy the full SHA
    9d2cbe1 View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    e0ab73e View commit details
    Browse the repository at this point in the history
  3. Configuration menu
    Copy the full SHA
    a39ec99 View commit details
    Browse the repository at this point in the history

Commits on Apr 26, 2024

  1. Configuration menu
    Copy the full SHA
    fd49155 View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    e20565b View commit details
    Browse the repository at this point in the history
  3. Configuration menu
    Copy the full SHA
    9017497 View commit details
    Browse the repository at this point in the history

Commits on Apr 29, 2024

  1. Configuration menu
    Copy the full SHA
    6a9cce0 View commit details
    Browse the repository at this point in the history

Commits on Apr 30, 2024

  1. Configuration menu
    Copy the full SHA
    896338d View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    0ae7c61 View commit details
    Browse the repository at this point in the history

Commits on May 1, 2024

  1. Configuration menu
    Copy the full SHA
    affbd17 View commit details
    Browse the repository at this point in the history

Commits on May 2, 2024

  1. Configuration menu
    Copy the full SHA
    b81a538 View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    d80f40d View commit details
    Browse the repository at this point in the history

Commits on May 6, 2024

  1. Add flamegraph (#830)

    timostamm authored May 6, 2024
    Configuration menu
    Copy the full SHA
    bd48dcd View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    4a77a4c View commit details
    Browse the repository at this point in the history

Commits on May 9, 2024

  1. Configuration menu
    Copy the full SHA
    d5ad2e9 View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    9213d8c View commit details
    Browse the repository at this point in the history
  3. Configuration menu
    Copy the full SHA
    74d9c88 View commit details
    Browse the repository at this point in the history

Commits on May 10, 2024

  1. Configuration menu
    Copy the full SHA
    fa88bfd View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    8f0a454 View commit details
    Browse the repository at this point in the history

Commits on May 13, 2024

  1. Configuration menu
    Copy the full SHA
    b81a141 View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    d1cd584 View commit details
    Browse the repository at this point in the history

Commits on May 14, 2024

  1. Configuration menu
    Copy the full SHA
    fe66d80 View commit details
    Browse the repository at this point in the history

Commits on May 15, 2024

  1. Configuration menu
    Copy the full SHA
    0be4cb1 View commit details
    Browse the repository at this point in the history

Commits on May 17, 2024

  1. Configuration menu
    Copy the full SHA
    5aa2c10 View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    43b5dde View commit details
    Browse the repository at this point in the history

Commits on May 22, 2024

  1. Configuration menu
    Copy the full SHA
    d20225e View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    633eaa4 View commit details
    Browse the repository at this point in the history

Commits on May 23, 2024

  1. Configuration menu
    Copy the full SHA
    415e526 View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    7530152 View commit details
    Browse the repository at this point in the history

Commits on May 24, 2024

  1. Configuration menu
    Copy the full SHA
    c941066 View commit details
    Browse the repository at this point in the history

Commits on May 28, 2024

  1. Configuration menu
    Copy the full SHA
    1bac9cf View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    642f55a View commit details
    Browse the repository at this point in the history
  3. Configuration menu
    Copy the full SHA
    484d9fd View commit details
    Browse the repository at this point in the history
  4. Configuration menu
    Copy the full SHA
    16d4c18 View commit details
    Browse the repository at this point in the history

Commits on May 29, 2024

  1. Configuration menu
    Copy the full SHA
    2e29541 View commit details
    Browse the repository at this point in the history

Commits on May 30, 2024

  1. Configuration menu
    Copy the full SHA
    ab40533 View commit details
    Browse the repository at this point in the history

Commits on Jun 3, 2024

  1. Configuration menu
    Copy the full SHA
    01045de View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    fda87cf View commit details
    Browse the repository at this point in the history
  3. Configuration menu
    Copy the full SHA
    fff0681 View commit details
    Browse the repository at this point in the history
  4. Configuration menu
    Copy the full SHA
    2e4a5f0 View commit details
    Browse the repository at this point in the history

Commits on Jun 4, 2024

  1. Configuration menu
    Copy the full SHA
    11c5db0 View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    38bf1e5 View commit details
    Browse the repository at this point in the history

Commits on Jun 5, 2024

  1. Configuration menu
    Copy the full SHA
    9fc88d2 View commit details
    Browse the repository at this point in the history

Commits on Jun 6, 2024

  1. Configuration menu
    Copy the full SHA
    185b730 View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    a81603e View commit details
    Browse the repository at this point in the history
  3. Configuration menu
    Copy the full SHA
    4d90100 View commit details
    Browse the repository at this point in the history

Commits on Jun 10, 2024

  1. Configuration menu
    Copy the full SHA
    57f8638 View commit details
    Browse the repository at this point in the history

Commits on Jun 12, 2024

  1. Configuration menu
    Copy the full SHA
    465aea3 View commit details
    Browse the repository at this point in the history

Commits on Jun 13, 2024

  1. Configuration menu
    Copy the full SHA
    fe29cca View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    55953f2 View commit details
    Browse the repository at this point in the history
  3. Configuration menu
    Copy the full SHA
    cf191b1 View commit details
    Browse the repository at this point in the history
  4. Configuration menu
    Copy the full SHA
    05acbc4 View commit details
    Browse the repository at this point in the history

Commits on Jun 14, 2024

  1. Configuration menu
    Copy the full SHA
    e8904fa View commit details
    Browse the repository at this point in the history

Commits on Jun 17, 2024

  1. Configuration menu
    Copy the full SHA
    abf5198 View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    1c17e1b View commit details
    Browse the repository at this point in the history
  3. Configuration menu
    Copy the full SHA
    671b457 View commit details
    Browse the repository at this point in the history

Commits on Jun 18, 2024

  1. Configuration menu
    Copy the full SHA
    cf183a1 View commit details
    Browse the repository at this point in the history

Commits on Jun 19, 2024

  1. V2: JSON Types (#866)

    timostamm authored Jun 19, 2024
    Configuration menu
    Copy the full SHA
    225def5 View commit details
    Browse the repository at this point in the history

Commits on Jun 21, 2024

  1. Configuration menu
    Copy the full SHA
    5e19fc4 View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    3a7393b View commit details
    Browse the repository at this point in the history

Commits on Jun 24, 2024

  1. Configuration menu
    Copy the full SHA
    73fe151 View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    793ff3b View commit details
    Browse the repository at this point in the history

Commits on Jun 26, 2024

  1. Configuration menu
    Copy the full SHA
    a4863aa View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    d5e1e5c View commit details
    Browse the repository at this point in the history
  3. Configuration menu
    Copy the full SHA
    3bb20e0 View commit details
    Browse the repository at this point in the history

Commits on Jun 27, 2024

  1. Configuration menu
    Copy the full SHA
    42386c5 View commit details
    Browse the repository at this point in the history
  2. V2: Update README (#907)

    timostamm authored Jun 27, 2024
    Configuration menu
    Copy the full SHA
    17c21da View commit details
    Browse the repository at this point in the history
  3. Configuration menu
    Copy the full SHA
    7a42668 View commit details
    Browse the repository at this point in the history

Commits on Jun 28, 2024

  1. Configuration menu
    Copy the full SHA
    de7e3e1 View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    b099836 View commit details
    Browse the repository at this point in the history
  3. Configuration menu
    Copy the full SHA
    5a8cedf View commit details
    Browse the repository at this point in the history
  4. V2: Update example (#913)

    timostamm authored Jun 28, 2024
    Configuration menu
    Copy the full SHA
    1b68542 View commit details
    Browse the repository at this point in the history
  5. Configuration menu
    Copy the full SHA
    d3429b6 View commit details
    Browse the repository at this point in the history

Commits on Jul 1, 2024

  1. Configuration menu
    Copy the full SHA
    b2b196d View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    317d550 View commit details
    Browse the repository at this point in the history

Commits on Jul 3, 2024

  1. Configuration menu
    Copy the full SHA
    65348a1 View commit details
    Browse the repository at this point in the history

Commits on Jul 4, 2024

  1. Configuration menu
    Copy the full SHA
    2adf6f7 View commit details
    Browse the repository at this point in the history

Commits on Jul 8, 2024

  1. Configuration menu
    Copy the full SHA
    80ed7ff View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    5899427 View commit details
    Browse the repository at this point in the history
  3. Configuration menu
    Copy the full SHA
    51a0d79 View commit details
    Browse the repository at this point in the history

Commits on Jul 15, 2024

  1. Configuration menu
    Copy the full SHA
    dfaa1d3 View commit details
    Browse the repository at this point in the history

Commits on Jul 17, 2024

  1. Configuration menu
    Copy the full SHA
    0c18677 View commit details
    Browse the repository at this point in the history

Commits on Jul 18, 2024

  1. V2: Documentation (#926)

    Signed-off-by: Timo Stamm <[email protected]>
    Co-authored-by: Carol Gunby <[email protected]>
    Co-authored-by: Steve Ayers <[email protected]>
    3 people authored Jul 18, 2024
    Configuration menu
    Copy the full SHA
    92c88a2 View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    ee20731 View commit details
    Browse the repository at this point in the history

Commits on Jul 19, 2024

  1. Configuration menu
    Copy the full SHA
    be86a73 View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    93e1bbb View commit details
    Browse the repository at this point in the history
  3. Configuration menu
    Copy the full SHA
    f6b585c View commit details
    Browse the repository at this point in the history
  4. Copyedit revised sections (#938)

    Signed-off-by: Timo Stamm <[email protected]>
    Co-authored-by: Timo Stamm <[email protected]>
    rakuista and timostamm authored Jul 19, 2024
    Configuration menu
    Copy the full SHA
    78e688a View commit details
    Browse the repository at this point in the history

Commits on Jul 22, 2024

  1. Configuration menu
    Copy the full SHA
    45e1363 View commit details
    Browse the repository at this point in the history

Commits on Jul 23, 2024

  1. Configuration menu
    Copy the full SHA
    d4e6715 View commit details
    Browse the repository at this point in the history

Commits on Jul 24, 2024

  1. Configuration menu
    Copy the full SHA
    0c78d6f View commit details
    Browse the repository at this point in the history

Commits on Jul 25, 2024

  1. Configuration menu
    Copy the full SHA
    7ab0abe View commit details
    Browse the repository at this point in the history

Commits on Jul 29, 2024

  1. Configuration menu
    Copy the full SHA
    1dea86f View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    4c5906c View commit details
    Browse the repository at this point in the history

Commits on Jul 30, 2024

  1. Add basic migration guide from v1 to v2 (#946)

    Co-authored-by: Carol Gunby <[email protected]>
    timostamm and rakuista authored Jul 30, 2024
    Configuration menu
    Copy the full SHA
    72395b9 View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    5afff6b View commit details
    Browse the repository at this point in the history
  3. Configuration menu
    Copy the full SHA
    5184197 View commit details
    Browse the repository at this point in the history