diff --git a/dev/protos/admin_v1.json b/dev/protos/admin_v1.json index 22f72b11a..1e62ed1e5 100644 --- a/dev/protos/admin_v1.json +++ b/dev/protos/admin_v1.json @@ -2230,6 +2230,7 @@ "Edition": { "values": { "EDITION_UNKNOWN": 0, + "EDITION_LEGACY": 900, "EDITION_PROTO2": 998, "EDITION_PROTO3": 999, "EDITION_2023": 1000, @@ -2240,13 +2241,7 @@ "EDITION_99998_TEST_ONLY": 99998, "EDITION_99999_TEST_ONLY": 99999, "EDITION_MAX": 2147483647 - }, - "reserved": [ - [ - 900, - 900 - ] - ] + } }, "FileDescriptorProto": { "fields": { @@ -3277,6 +3272,7 @@ "options": { "retention": "RETENTION_RUNTIME", "targets": "TARGET_TYPE_FILE", + "feature_support.edition_introduced": "EDITION_2023", "edition_defaults.edition": "EDITION_2023", "edition_defaults.value": "EXPLICIT" } @@ -3287,6 +3283,7 @@ "options": { "retention": "RETENTION_RUNTIME", "targets": "TARGET_TYPE_FILE", + "feature_support.edition_introduced": "EDITION_2023", "edition_defaults.edition": "EDITION_PROTO3", "edition_defaults.value": "OPEN" } @@ -3297,6 +3294,7 @@ "options": { "retention": "RETENTION_RUNTIME", "targets": "TARGET_TYPE_FILE", + "feature_support.edition_introduced": "EDITION_2023", "edition_defaults.edition": "EDITION_PROTO3", "edition_defaults.value": "PACKED" } @@ -3307,6 +3305,7 @@ "options": { "retention": "RETENTION_RUNTIME", "targets": "TARGET_TYPE_FILE", + "feature_support.edition_introduced": "EDITION_2023", "edition_defaults.edition": "EDITION_PROTO3", "edition_defaults.value": "VERIFY" } @@ -3317,6 +3316,7 @@ "options": { "retention": "RETENTION_RUNTIME", "targets": "TARGET_TYPE_FILE", + "feature_support.edition_introduced": "EDITION_2023", "edition_defaults.edition": "EDITION_PROTO2", "edition_defaults.value": "LENGTH_PREFIXED" } @@ -3327,6 +3327,7 @@ "options": { "retention": "RETENTION_RUNTIME", "targets": "TARGET_TYPE_FILE", + "feature_support.edition_introduced": "EDITION_2023", "edition_defaults.edition": "EDITION_PROTO3", "edition_defaults.value": "ALLOW" } @@ -3335,19 +3336,7 @@ "extensions": [ [ 1000, - 1000 - ], - [ - 1001, - 1001 - ], - [ - 1002, - 1002 - ], - [ - 9990, - 9990 + 9994 ], [ 9995, @@ -3440,10 +3429,6 @@ "fixedFeatures": { "type": "FeatureSet", "id": 5 - }, - "features": { - "type": "FeatureSet", - "id": 2 } } } diff --git a/dev/protos/firestore_admin_v1_proto_api.d.ts b/dev/protos/firestore_admin_v1_proto_api.d.ts index 2333f4f06..4e73f8002 100644 --- a/dev/protos/firestore_admin_v1_proto_api.d.ts +++ b/dev/protos/firestore_admin_v1_proto_api.d.ts @@ -5044,7 +5044,7 @@ export namespace google { /** Edition enum. */ type Edition = - "EDITION_UNKNOWN"| "EDITION_PROTO2"| "EDITION_PROTO3"| "EDITION_2023"| "EDITION_2024"| "EDITION_1_TEST_ONLY"| "EDITION_2_TEST_ONLY"| "EDITION_99997_TEST_ONLY"| "EDITION_99998_TEST_ONLY"| "EDITION_99999_TEST_ONLY"| "EDITION_MAX"; + "EDITION_UNKNOWN"| "EDITION_LEGACY"| "EDITION_PROTO2"| "EDITION_PROTO3"| "EDITION_2023"| "EDITION_2024"| "EDITION_1_TEST_ONLY"| "EDITION_2_TEST_ONLY"| "EDITION_99997_TEST_ONLY"| "EDITION_99998_TEST_ONLY"| "EDITION_99999_TEST_ONLY"| "EDITION_MAX"; /** Properties of a FileDescriptorProto. */ interface IFileDescriptorProto { @@ -7228,9 +7228,6 @@ export namespace google { /** FeatureSetEditionDefault fixedFeatures */ fixedFeatures?: (google.protobuf.IFeatureSet|null); - - /** FeatureSetEditionDefault features */ - features?: (google.protobuf.IFeatureSet|null); } /** Represents a FeatureSetEditionDefault. */ @@ -7251,9 +7248,6 @@ export namespace google { /** FeatureSetEditionDefault fixedFeatures. */ public fixedFeatures?: (google.protobuf.IFeatureSet|null); - /** FeatureSetEditionDefault features. */ - public features?: (google.protobuf.IFeatureSet|null); - /** * Creates a FeatureSetEditionDefault message from a plain object. Also converts values to their respective internal types. * @param object Plain object diff --git a/dev/protos/firestore_admin_v1_proto_api.js b/dev/protos/firestore_admin_v1_proto_api.js index 46c0c9cc9..5f2e03b07 100644 --- a/dev/protos/firestore_admin_v1_proto_api.js +++ b/dev/protos/firestore_admin_v1_proto_api.js @@ -11804,6 +11804,7 @@ * @name google.protobuf.Edition * @enum {string} * @property {string} EDITION_UNKNOWN=EDITION_UNKNOWN EDITION_UNKNOWN value + * @property {string} EDITION_LEGACY=EDITION_LEGACY EDITION_LEGACY value * @property {string} EDITION_PROTO2=EDITION_PROTO2 EDITION_PROTO2 value * @property {string} EDITION_PROTO3=EDITION_PROTO3 EDITION_PROTO3 value * @property {string} EDITION_2023=EDITION_2023 EDITION_2023 value @@ -11818,6 +11819,7 @@ protobuf.Edition = (function() { var valuesById = {}, values = Object.create(valuesById); values[valuesById[0] = "EDITION_UNKNOWN"] = "EDITION_UNKNOWN"; + values[valuesById[900] = "EDITION_LEGACY"] = "EDITION_LEGACY"; values[valuesById[998] = "EDITION_PROTO2"] = "EDITION_PROTO2"; values[valuesById[999] = "EDITION_PROTO3"] = "EDITION_PROTO3"; values[valuesById[1000] = "EDITION_2023"] = "EDITION_2023"; @@ -12078,6 +12080,10 @@ case 0: message.edition = 0; break; + case "EDITION_LEGACY": + case 900: + message.edition = 900; + break; case "EDITION_PROTO2": case 998: message.edition = 998; @@ -15732,6 +15738,10 @@ case 0: message.edition = 0; break; + case "EDITION_LEGACY": + case 900: + message.edition = 900; + break; case "EDITION_PROTO2": case 998: message.edition = 998; @@ -15913,6 +15923,10 @@ case 0: message.editionIntroduced = 0; break; + case "EDITION_LEGACY": + case 900: + message.editionIntroduced = 900; + break; case "EDITION_PROTO2": case 998: message.editionIntroduced = 998; @@ -15965,6 +15979,10 @@ case 0: message.editionDeprecated = 0; break; + case "EDITION_LEGACY": + case 900: + message.editionDeprecated = 900; + break; case "EDITION_PROTO2": case 998: message.editionDeprecated = 998; @@ -16019,6 +16037,10 @@ case 0: message.editionRemoved = 0; break; + case "EDITION_LEGACY": + case 900: + message.editionRemoved = 900; + break; case "EDITION_PROTO2": case 998: message.editionRemoved = 998; @@ -17824,6 +17846,10 @@ case 0: message.minimumEdition = 0; break; + case "EDITION_LEGACY": + case 900: + message.minimumEdition = 900; + break; case "EDITION_PROTO2": case 998: message.minimumEdition = 998; @@ -17876,6 +17902,10 @@ case 0: message.maximumEdition = 0; break; + case "EDITION_LEGACY": + case 900: + message.maximumEdition = 900; + break; case "EDITION_PROTO2": case 998: message.maximumEdition = 998; @@ -17986,7 +18016,6 @@ * @property {google.protobuf.Edition|null} [edition] FeatureSetEditionDefault edition * @property {google.protobuf.IFeatureSet|null} [overridableFeatures] FeatureSetEditionDefault overridableFeatures * @property {google.protobuf.IFeatureSet|null} [fixedFeatures] FeatureSetEditionDefault fixedFeatures - * @property {google.protobuf.IFeatureSet|null} [features] FeatureSetEditionDefault features */ /** @@ -18028,14 +18057,6 @@ */ FeatureSetEditionDefault.prototype.fixedFeatures = null; - /** - * FeatureSetEditionDefault features. - * @member {google.protobuf.IFeatureSet|null|undefined} features - * @memberof google.protobuf.FeatureSetDefaults.FeatureSetEditionDefault - * @instance - */ - FeatureSetEditionDefault.prototype.features = null; - /** * Creates a FeatureSetEditionDefault message from a plain object. Also converts values to their respective internal types. * @function fromObject @@ -18059,6 +18080,10 @@ case 0: message.edition = 0; break; + case "EDITION_LEGACY": + case 900: + message.edition = 900; + break; case "EDITION_PROTO2": case 998: message.edition = 998; @@ -18110,11 +18135,6 @@ throw TypeError(".google.protobuf.FeatureSetDefaults.FeatureSetEditionDefault.fixedFeatures: object expected"); message.fixedFeatures = $root.google.protobuf.FeatureSet.fromObject(object.fixedFeatures); } - if (object.features != null) { - if (typeof object.features !== "object") - throw TypeError(".google.protobuf.FeatureSetDefaults.FeatureSetEditionDefault.features: object expected"); - message.features = $root.google.protobuf.FeatureSet.fromObject(object.features); - } return message; }; @@ -18132,13 +18152,10 @@ options = {}; var object = {}; if (options.defaults) { - object.features = null; object.edition = options.enums === String ? "EDITION_UNKNOWN" : 0; object.overridableFeatures = null; object.fixedFeatures = null; } - if (message.features != null && message.hasOwnProperty("features")) - object.features = $root.google.protobuf.FeatureSet.toObject(message.features, options); if (message.edition != null && message.hasOwnProperty("edition")) object.edition = options.enums === String ? $root.google.protobuf.Edition[message.edition] === undefined ? message.edition : $root.google.protobuf.Edition[message.edition] : message.edition; if (message.overridableFeatures != null && message.hasOwnProperty("overridableFeatures")) diff --git a/dev/protos/firestore_v1_proto_api.d.ts b/dev/protos/firestore_v1_proto_api.d.ts index f207ff575..ac9a6bc1a 100644 --- a/dev/protos/firestore_v1_proto_api.d.ts +++ b/dev/protos/firestore_v1_proto_api.d.ts @@ -648,7 +648,7 @@ export namespace google { /** Edition enum. */ type Edition = - "EDITION_UNKNOWN"| "EDITION_PROTO2"| "EDITION_PROTO3"| "EDITION_2023"| "EDITION_2024"| "EDITION_1_TEST_ONLY"| "EDITION_2_TEST_ONLY"| "EDITION_99997_TEST_ONLY"| "EDITION_99998_TEST_ONLY"| "EDITION_99999_TEST_ONLY"| "EDITION_MAX"; + "EDITION_UNKNOWN"| "EDITION_LEGACY"| "EDITION_PROTO2"| "EDITION_PROTO3"| "EDITION_2023"| "EDITION_2024"| "EDITION_1_TEST_ONLY"| "EDITION_2_TEST_ONLY"| "EDITION_99997_TEST_ONLY"| "EDITION_99998_TEST_ONLY"| "EDITION_99999_TEST_ONLY"| "EDITION_MAX"; /** Properties of a FileDescriptorProto. */ interface IFileDescriptorProto { @@ -2832,9 +2832,6 @@ export namespace google { /** FeatureSetEditionDefault fixedFeatures */ fixedFeatures?: (google.protobuf.IFeatureSet|null); - - /** FeatureSetEditionDefault features */ - features?: (google.protobuf.IFeatureSet|null); } /** Represents a FeatureSetEditionDefault. */ @@ -2855,9 +2852,6 @@ export namespace google { /** FeatureSetEditionDefault fixedFeatures. */ public fixedFeatures?: (google.protobuf.IFeatureSet|null); - /** FeatureSetEditionDefault features. */ - public features?: (google.protobuf.IFeatureSet|null); - /** * Creates a FeatureSetEditionDefault message from a plain object. Also converts values to their respective internal types. * @param object Plain object diff --git a/dev/protos/firestore_v1_proto_api.js b/dev/protos/firestore_v1_proto_api.js index e80b83039..c4a08c1f1 100644 --- a/dev/protos/firestore_v1_proto_api.js +++ b/dev/protos/firestore_v1_proto_api.js @@ -1552,6 +1552,7 @@ * @name google.protobuf.Edition * @enum {string} * @property {string} EDITION_UNKNOWN=EDITION_UNKNOWN EDITION_UNKNOWN value + * @property {string} EDITION_LEGACY=EDITION_LEGACY EDITION_LEGACY value * @property {string} EDITION_PROTO2=EDITION_PROTO2 EDITION_PROTO2 value * @property {string} EDITION_PROTO3=EDITION_PROTO3 EDITION_PROTO3 value * @property {string} EDITION_2023=EDITION_2023 EDITION_2023 value @@ -1566,6 +1567,7 @@ protobuf.Edition = (function() { var valuesById = {}, values = Object.create(valuesById); values[valuesById[0] = "EDITION_UNKNOWN"] = "EDITION_UNKNOWN"; + values[valuesById[900] = "EDITION_LEGACY"] = "EDITION_LEGACY"; values[valuesById[998] = "EDITION_PROTO2"] = "EDITION_PROTO2"; values[valuesById[999] = "EDITION_PROTO3"] = "EDITION_PROTO3"; values[valuesById[1000] = "EDITION_2023"] = "EDITION_2023"; @@ -1826,6 +1828,10 @@ case 0: message.edition = 0; break; + case "EDITION_LEGACY": + case 900: + message.edition = 900; + break; case "EDITION_PROTO2": case 998: message.edition = 998; @@ -5480,6 +5486,10 @@ case 0: message.edition = 0; break; + case "EDITION_LEGACY": + case 900: + message.edition = 900; + break; case "EDITION_PROTO2": case 998: message.edition = 998; @@ -5661,6 +5671,10 @@ case 0: message.editionIntroduced = 0; break; + case "EDITION_LEGACY": + case 900: + message.editionIntroduced = 900; + break; case "EDITION_PROTO2": case 998: message.editionIntroduced = 998; @@ -5713,6 +5727,10 @@ case 0: message.editionDeprecated = 0; break; + case "EDITION_LEGACY": + case 900: + message.editionDeprecated = 900; + break; case "EDITION_PROTO2": case 998: message.editionDeprecated = 998; @@ -5767,6 +5785,10 @@ case 0: message.editionRemoved = 0; break; + case "EDITION_LEGACY": + case 900: + message.editionRemoved = 900; + break; case "EDITION_PROTO2": case 998: message.editionRemoved = 998; @@ -7572,6 +7594,10 @@ case 0: message.minimumEdition = 0; break; + case "EDITION_LEGACY": + case 900: + message.minimumEdition = 900; + break; case "EDITION_PROTO2": case 998: message.minimumEdition = 998; @@ -7624,6 +7650,10 @@ case 0: message.maximumEdition = 0; break; + case "EDITION_LEGACY": + case 900: + message.maximumEdition = 900; + break; case "EDITION_PROTO2": case 998: message.maximumEdition = 998; @@ -7734,7 +7764,6 @@ * @property {google.protobuf.Edition|null} [edition] FeatureSetEditionDefault edition * @property {google.protobuf.IFeatureSet|null} [overridableFeatures] FeatureSetEditionDefault overridableFeatures * @property {google.protobuf.IFeatureSet|null} [fixedFeatures] FeatureSetEditionDefault fixedFeatures - * @property {google.protobuf.IFeatureSet|null} [features] FeatureSetEditionDefault features */ /** @@ -7776,14 +7805,6 @@ */ FeatureSetEditionDefault.prototype.fixedFeatures = null; - /** - * FeatureSetEditionDefault features. - * @member {google.protobuf.IFeatureSet|null|undefined} features - * @memberof google.protobuf.FeatureSetDefaults.FeatureSetEditionDefault - * @instance - */ - FeatureSetEditionDefault.prototype.features = null; - /** * Creates a FeatureSetEditionDefault message from a plain object. Also converts values to their respective internal types. * @function fromObject @@ -7807,6 +7828,10 @@ case 0: message.edition = 0; break; + case "EDITION_LEGACY": + case 900: + message.edition = 900; + break; case "EDITION_PROTO2": case 998: message.edition = 998; @@ -7858,11 +7883,6 @@ throw TypeError(".google.protobuf.FeatureSetDefaults.FeatureSetEditionDefault.fixedFeatures: object expected"); message.fixedFeatures = $root.google.protobuf.FeatureSet.fromObject(object.fixedFeatures); } - if (object.features != null) { - if (typeof object.features !== "object") - throw TypeError(".google.protobuf.FeatureSetDefaults.FeatureSetEditionDefault.features: object expected"); - message.features = $root.google.protobuf.FeatureSet.fromObject(object.features); - } return message; }; @@ -7880,13 +7900,10 @@ options = {}; var object = {}; if (options.defaults) { - object.features = null; object.edition = options.enums === String ? "EDITION_UNKNOWN" : 0; object.overridableFeatures = null; object.fixedFeatures = null; } - if (message.features != null && message.hasOwnProperty("features")) - object.features = $root.google.protobuf.FeatureSet.toObject(message.features, options); if (message.edition != null && message.hasOwnProperty("edition")) object.edition = options.enums === String ? $root.google.protobuf.Edition[message.edition] === undefined ? message.edition : $root.google.protobuf.Edition[message.edition] : message.edition; if (message.overridableFeatures != null && message.hasOwnProperty("overridableFeatures")) diff --git a/dev/protos/firestore_v1beta1_proto_api.d.ts b/dev/protos/firestore_v1beta1_proto_api.d.ts index ce592ebe3..13c57392f 100644 --- a/dev/protos/firestore_v1beta1_proto_api.d.ts +++ b/dev/protos/firestore_v1beta1_proto_api.d.ts @@ -307,7 +307,7 @@ export namespace google { /** Edition enum. */ type Edition = - "EDITION_UNKNOWN"| "EDITION_PROTO2"| "EDITION_PROTO3"| "EDITION_2023"| "EDITION_2024"| "EDITION_1_TEST_ONLY"| "EDITION_2_TEST_ONLY"| "EDITION_99997_TEST_ONLY"| "EDITION_99998_TEST_ONLY"| "EDITION_99999_TEST_ONLY"| "EDITION_MAX"; + "EDITION_UNKNOWN"| "EDITION_LEGACY"| "EDITION_PROTO2"| "EDITION_PROTO3"| "EDITION_2023"| "EDITION_2024"| "EDITION_1_TEST_ONLY"| "EDITION_2_TEST_ONLY"| "EDITION_99997_TEST_ONLY"| "EDITION_99998_TEST_ONLY"| "EDITION_99999_TEST_ONLY"| "EDITION_MAX"; /** Properties of a FileDescriptorProto. */ interface IFileDescriptorProto { @@ -2491,9 +2491,6 @@ export namespace google { /** FeatureSetEditionDefault fixedFeatures */ fixedFeatures?: (google.protobuf.IFeatureSet|null); - - /** FeatureSetEditionDefault features */ - features?: (google.protobuf.IFeatureSet|null); } /** Represents a FeatureSetEditionDefault. */ @@ -2514,9 +2511,6 @@ export namespace google { /** FeatureSetEditionDefault fixedFeatures. */ public fixedFeatures?: (google.protobuf.IFeatureSet|null); - /** FeatureSetEditionDefault features. */ - public features?: (google.protobuf.IFeatureSet|null); - /** * Creates a FeatureSetEditionDefault message from a plain object. Also converts values to their respective internal types. * @param object Plain object diff --git a/dev/protos/firestore_v1beta1_proto_api.js b/dev/protos/firestore_v1beta1_proto_api.js index 5194988ba..817f81d7a 100644 --- a/dev/protos/firestore_v1beta1_proto_api.js +++ b/dev/protos/firestore_v1beta1_proto_api.js @@ -734,6 +734,7 @@ * @name google.protobuf.Edition * @enum {string} * @property {string} EDITION_UNKNOWN=EDITION_UNKNOWN EDITION_UNKNOWN value + * @property {string} EDITION_LEGACY=EDITION_LEGACY EDITION_LEGACY value * @property {string} EDITION_PROTO2=EDITION_PROTO2 EDITION_PROTO2 value * @property {string} EDITION_PROTO3=EDITION_PROTO3 EDITION_PROTO3 value * @property {string} EDITION_2023=EDITION_2023 EDITION_2023 value @@ -748,6 +749,7 @@ protobuf.Edition = (function() { var valuesById = {}, values = Object.create(valuesById); values[valuesById[0] = "EDITION_UNKNOWN"] = "EDITION_UNKNOWN"; + values[valuesById[900] = "EDITION_LEGACY"] = "EDITION_LEGACY"; values[valuesById[998] = "EDITION_PROTO2"] = "EDITION_PROTO2"; values[valuesById[999] = "EDITION_PROTO3"] = "EDITION_PROTO3"; values[valuesById[1000] = "EDITION_2023"] = "EDITION_2023"; @@ -1008,6 +1010,10 @@ case 0: message.edition = 0; break; + case "EDITION_LEGACY": + case 900: + message.edition = 900; + break; case "EDITION_PROTO2": case 998: message.edition = 998; @@ -4662,6 +4668,10 @@ case 0: message.edition = 0; break; + case "EDITION_LEGACY": + case 900: + message.edition = 900; + break; case "EDITION_PROTO2": case 998: message.edition = 998; @@ -4843,6 +4853,10 @@ case 0: message.editionIntroduced = 0; break; + case "EDITION_LEGACY": + case 900: + message.editionIntroduced = 900; + break; case "EDITION_PROTO2": case 998: message.editionIntroduced = 998; @@ -4895,6 +4909,10 @@ case 0: message.editionDeprecated = 0; break; + case "EDITION_LEGACY": + case 900: + message.editionDeprecated = 900; + break; case "EDITION_PROTO2": case 998: message.editionDeprecated = 998; @@ -4949,6 +4967,10 @@ case 0: message.editionRemoved = 0; break; + case "EDITION_LEGACY": + case 900: + message.editionRemoved = 900; + break; case "EDITION_PROTO2": case 998: message.editionRemoved = 998; @@ -6754,6 +6776,10 @@ case 0: message.minimumEdition = 0; break; + case "EDITION_LEGACY": + case 900: + message.minimumEdition = 900; + break; case "EDITION_PROTO2": case 998: message.minimumEdition = 998; @@ -6806,6 +6832,10 @@ case 0: message.maximumEdition = 0; break; + case "EDITION_LEGACY": + case 900: + message.maximumEdition = 900; + break; case "EDITION_PROTO2": case 998: message.maximumEdition = 998; @@ -6916,7 +6946,6 @@ * @property {google.protobuf.Edition|null} [edition] FeatureSetEditionDefault edition * @property {google.protobuf.IFeatureSet|null} [overridableFeatures] FeatureSetEditionDefault overridableFeatures * @property {google.protobuf.IFeatureSet|null} [fixedFeatures] FeatureSetEditionDefault fixedFeatures - * @property {google.protobuf.IFeatureSet|null} [features] FeatureSetEditionDefault features */ /** @@ -6958,14 +6987,6 @@ */ FeatureSetEditionDefault.prototype.fixedFeatures = null; - /** - * FeatureSetEditionDefault features. - * @member {google.protobuf.IFeatureSet|null|undefined} features - * @memberof google.protobuf.FeatureSetDefaults.FeatureSetEditionDefault - * @instance - */ - FeatureSetEditionDefault.prototype.features = null; - /** * Creates a FeatureSetEditionDefault message from a plain object. Also converts values to their respective internal types. * @function fromObject @@ -6989,6 +7010,10 @@ case 0: message.edition = 0; break; + case "EDITION_LEGACY": + case 900: + message.edition = 900; + break; case "EDITION_PROTO2": case 998: message.edition = 998; @@ -7040,11 +7065,6 @@ throw TypeError(".google.protobuf.FeatureSetDefaults.FeatureSetEditionDefault.fixedFeatures: object expected"); message.fixedFeatures = $root.google.protobuf.FeatureSet.fromObject(object.fixedFeatures); } - if (object.features != null) { - if (typeof object.features !== "object") - throw TypeError(".google.protobuf.FeatureSetDefaults.FeatureSetEditionDefault.features: object expected"); - message.features = $root.google.protobuf.FeatureSet.fromObject(object.features); - } return message; }; @@ -7062,13 +7082,10 @@ options = {}; var object = {}; if (options.defaults) { - object.features = null; object.edition = options.enums === String ? "EDITION_UNKNOWN" : 0; object.overridableFeatures = null; object.fixedFeatures = null; } - if (message.features != null && message.hasOwnProperty("features")) - object.features = $root.google.protobuf.FeatureSet.toObject(message.features, options); if (message.edition != null && message.hasOwnProperty("edition")) object.edition = options.enums === String ? $root.google.protobuf.Edition[message.edition] === undefined ? message.edition : $root.google.protobuf.Edition[message.edition] : message.edition; if (message.overridableFeatures != null && message.hasOwnProperty("overridableFeatures")) diff --git a/dev/protos/google/api/annotations.proto b/dev/protos/google/api/annotations.proto index efdab3db6..84c48164a 100644 --- a/dev/protos/google/api/annotations.proto +++ b/dev/protos/google/api/annotations.proto @@ -1,4 +1,4 @@ -// Copyright 2015 Google LLC +// Copyright 2024 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/dev/protos/google/api/client.proto b/dev/protos/google/api/client.proto index 0952e8373..3a5f9290f 100644 --- a/dev/protos/google/api/client.proto +++ b/dev/protos/google/api/client.proto @@ -1,4 +1,4 @@ -// Copyright 2023 Google LLC +// Copyright 2024 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/dev/protos/google/api/field_behavior.proto b/dev/protos/google/api/field_behavior.proto index 21895bf55..2865ba053 100644 --- a/dev/protos/google/api/field_behavior.proto +++ b/dev/protos/google/api/field_behavior.proto @@ -1,4 +1,4 @@ -// Copyright 2023 Google LLC +// Copyright 2024 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/dev/protos/google/api/http.proto b/dev/protos/google/api/http.proto index 31d867a27..afa00aede 100644 --- a/dev/protos/google/api/http.proto +++ b/dev/protos/google/api/http.proto @@ -1,4 +1,4 @@ -// Copyright 2023 Google LLC +// Copyright 2024 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/dev/protos/google/api/launch_stage.proto b/dev/protos/google/api/launch_stage.proto index 9802de795..9863fc23d 100644 --- a/dev/protos/google/api/launch_stage.proto +++ b/dev/protos/google/api/launch_stage.proto @@ -1,4 +1,4 @@ -// Copyright 2023 Google LLC +// Copyright 2024 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/dev/protos/google/api/resource.proto b/dev/protos/google/api/resource.proto index bf0cbec5d..f17520d20 100644 --- a/dev/protos/google/api/resource.proto +++ b/dev/protos/google/api/resource.proto @@ -1,4 +1,4 @@ -// Copyright 2023 Google LLC +// Copyright 2024 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/dev/protos/google/firestore/admin/v1/backup.proto b/dev/protos/google/firestore/admin/v1/backup.proto index e01f81ff8..45f3adc8e 100644 --- a/dev/protos/google/firestore/admin/v1/backup.proto +++ b/dev/protos/google/firestore/admin/v1/backup.proto @@ -1,4 +1,4 @@ -// Copyright 2023 Google LLC +// Copyright 2024 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/dev/protos/google/firestore/admin/v1/database.proto b/dev/protos/google/firestore/admin/v1/database.proto index fbf4bd754..67c8371df 100644 --- a/dev/protos/google/firestore/admin/v1/database.proto +++ b/dev/protos/google/firestore/admin/v1/database.proto @@ -1,4 +1,4 @@ -// Copyright 2023 Google LLC +// Copyright 2024 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/dev/protos/google/firestore/admin/v1/field.proto b/dev/protos/google/firestore/admin/v1/field.proto index 5cd1cd481..930f91146 100644 --- a/dev/protos/google/firestore/admin/v1/field.proto +++ b/dev/protos/google/firestore/admin/v1/field.proto @@ -1,4 +1,4 @@ -// Copyright 2022 Google LLC +// Copyright 2024 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/dev/protos/google/firestore/admin/v1/firestore_admin.proto b/dev/protos/google/firestore/admin/v1/firestore_admin.proto index a9bfa6ec9..2a19b4fea 100644 --- a/dev/protos/google/firestore/admin/v1/firestore_admin.proto +++ b/dev/protos/google/firestore/admin/v1/firestore_admin.proto @@ -1,4 +1,4 @@ -// Copyright 2023 Google LLC +// Copyright 2024 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/dev/protos/google/firestore/admin/v1/index.proto b/dev/protos/google/firestore/admin/v1/index.proto index add5c3f3f..2eec079d3 100644 --- a/dev/protos/google/firestore/admin/v1/index.proto +++ b/dev/protos/google/firestore/admin/v1/index.proto @@ -1,4 +1,4 @@ -// Copyright 2023 Google LLC +// Copyright 2024 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/dev/protos/google/firestore/admin/v1/location.proto b/dev/protos/google/firestore/admin/v1/location.proto index 71f4247ae..4a1154f8c 100644 --- a/dev/protos/google/firestore/admin/v1/location.proto +++ b/dev/protos/google/firestore/admin/v1/location.proto @@ -1,4 +1,4 @@ -// Copyright 2023 Google LLC +// Copyright 2024 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/dev/protos/google/firestore/admin/v1/operation.proto b/dev/protos/google/firestore/admin/v1/operation.proto index d3d3e43e4..1087e8cfc 100644 --- a/dev/protos/google/firestore/admin/v1/operation.proto +++ b/dev/protos/google/firestore/admin/v1/operation.proto @@ -1,4 +1,4 @@ -// Copyright 2023 Google LLC +// Copyright 2024 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/dev/protos/google/firestore/admin/v1/schedule.proto b/dev/protos/google/firestore/admin/v1/schedule.proto index 7a45238f0..52200e8e5 100644 --- a/dev/protos/google/firestore/admin/v1/schedule.proto +++ b/dev/protos/google/firestore/admin/v1/schedule.proto @@ -1,4 +1,4 @@ -// Copyright 2023 Google LLC +// Copyright 2024 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/dev/protos/google/firestore/v1/aggregation_result.proto b/dev/protos/google/firestore/v1/aggregation_result.proto index 05fea5da9..25e5d2e2e 100644 --- a/dev/protos/google/firestore/v1/aggregation_result.proto +++ b/dev/protos/google/firestore/v1/aggregation_result.proto @@ -1,4 +1,4 @@ -// Copyright 2023 Google LLC +// Copyright 2024 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/dev/protos/google/firestore/v1/bloom_filter.proto b/dev/protos/google/firestore/v1/bloom_filter.proto index c00bb9c17..1b9eb376f 100644 --- a/dev/protos/google/firestore/v1/bloom_filter.proto +++ b/dev/protos/google/firestore/v1/bloom_filter.proto @@ -1,4 +1,4 @@ -// Copyright 2023 Google LLC +// Copyright 2024 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/dev/protos/google/firestore/v1/common.proto b/dev/protos/google/firestore/v1/common.proto index 2a562aa6e..fcb0f49fb 100644 --- a/dev/protos/google/firestore/v1/common.proto +++ b/dev/protos/google/firestore/v1/common.proto @@ -1,4 +1,4 @@ -// Copyright 2023 Google LLC +// Copyright 2024 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/dev/protos/google/firestore/v1/document.proto b/dev/protos/google/firestore/v1/document.proto index a8764a1a2..5ad6752aa 100644 --- a/dev/protos/google/firestore/v1/document.proto +++ b/dev/protos/google/firestore/v1/document.proto @@ -1,4 +1,4 @@ -// Copyright 2023 Google LLC +// Copyright 2024 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/dev/protos/google/firestore/v1/firestore.proto b/dev/protos/google/firestore/v1/firestore.proto index 8d78ce4f4..2ed6bf070 100644 --- a/dev/protos/google/firestore/v1/firestore.proto +++ b/dev/protos/google/firestore/v1/firestore.proto @@ -1,4 +1,4 @@ -// Copyright 2023 Google LLC +// Copyright 2024 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/dev/protos/google/firestore/v1/query.proto b/dev/protos/google/firestore/v1/query.proto index 68d9d5458..f0fda1832 100644 --- a/dev/protos/google/firestore/v1/query.proto +++ b/dev/protos/google/firestore/v1/query.proto @@ -1,4 +1,4 @@ -// Copyright 2023 Google LLC +// Copyright 2024 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/dev/protos/google/firestore/v1/query_profile.proto b/dev/protos/google/firestore/v1/query_profile.proto index 931e083b0..de27144a0 100644 --- a/dev/protos/google/firestore/v1/query_profile.proto +++ b/dev/protos/google/firestore/v1/query_profile.proto @@ -1,4 +1,4 @@ -// Copyright 2023 Google LLC +// Copyright 2024 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/dev/protos/google/firestore/v1/write.proto b/dev/protos/google/firestore/v1/write.proto index 4b46595ce..fca7fab8a 100644 --- a/dev/protos/google/firestore/v1/write.proto +++ b/dev/protos/google/firestore/v1/write.proto @@ -1,4 +1,4 @@ -// Copyright 2023 Google LLC +// Copyright 2024 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/dev/protos/google/firestore/v1beta1/common.proto b/dev/protos/google/firestore/v1beta1/common.proto index 1a18c41bc..0418e82d9 100644 --- a/dev/protos/google/firestore/v1beta1/common.proto +++ b/dev/protos/google/firestore/v1beta1/common.proto @@ -1,4 +1,4 @@ -// Copyright 2021 Google LLC +// Copyright 2024 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/dev/protos/google/firestore/v1beta1/document.proto b/dev/protos/google/firestore/v1beta1/document.proto index de192806d..962d95c53 100644 --- a/dev/protos/google/firestore/v1beta1/document.proto +++ b/dev/protos/google/firestore/v1beta1/document.proto @@ -1,4 +1,4 @@ -// Copyright 2021 Google LLC +// Copyright 2024 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/dev/protos/google/firestore/v1beta1/firestore.proto b/dev/protos/google/firestore/v1beta1/firestore.proto index 047f029e4..674193913 100644 --- a/dev/protos/google/firestore/v1beta1/firestore.proto +++ b/dev/protos/google/firestore/v1beta1/firestore.proto @@ -1,4 +1,4 @@ -// Copyright 2021 Google LLC +// Copyright 2024 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/dev/protos/google/firestore/v1beta1/query.proto b/dev/protos/google/firestore/v1beta1/query.proto index 7d7ef11ce..868c8ef2a 100644 --- a/dev/protos/google/firestore/v1beta1/query.proto +++ b/dev/protos/google/firestore/v1beta1/query.proto @@ -1,4 +1,4 @@ -// Copyright 2021 Google LLC +// Copyright 2024 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/dev/protos/google/firestore/v1beta1/undeliverable_first_gen_event.proto b/dev/protos/google/firestore/v1beta1/undeliverable_first_gen_event.proto index fd3bf1f49..e0e9b17e0 100644 --- a/dev/protos/google/firestore/v1beta1/undeliverable_first_gen_event.proto +++ b/dev/protos/google/firestore/v1beta1/undeliverable_first_gen_event.proto @@ -1,4 +1,4 @@ -// Copyright 2023 Google LLC +// Copyright 2024 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/dev/protos/google/firestore/v1beta1/write.proto b/dev/protos/google/firestore/v1beta1/write.proto index 124526a59..00ba29a90 100644 --- a/dev/protos/google/firestore/v1beta1/write.proto +++ b/dev/protos/google/firestore/v1beta1/write.proto @@ -1,4 +1,4 @@ -// Copyright 2021 Google LLC +// Copyright 2024 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/dev/protos/google/longrunning/operations.proto b/dev/protos/google/longrunning/operations.proto index c8fda207e..be8880b3f 100644 --- a/dev/protos/google/longrunning/operations.proto +++ b/dev/protos/google/longrunning/operations.proto @@ -1,4 +1,4 @@ -// Copyright 2020 Google LLC +// Copyright 2024 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/dev/protos/google/protobuf/descriptor.proto b/dev/protos/google/protobuf/descriptor.proto index 284cac59d..b4a62d3ef 100644 --- a/dev/protos/google/protobuf/descriptor.proto +++ b/dev/protos/google/protobuf/descriptor.proto @@ -64,9 +64,7 @@ enum Edition { // A placeholder edition for specifying default behaviors *before* a feature // was first introduced. This is effectively an "infinite past". - // TODO Re-enable this once F1 and Spanner are fixed. - // EDITION_LEGACY = 900; - reserved 900; + EDITION_LEGACY = 900; // Legacy syntax "editions". These pre-date editions, but behave much like // distinct editions. These can't be used to specify the edition of proto @@ -972,6 +970,10 @@ message FeatureSet { retention = RETENTION_RUNTIME, targets = TARGET_TYPE_FIELD, targets = TARGET_TYPE_FILE, + // TODO Enable this in google3 once protoc rolls out. + feature_support = { + edition_introduced: EDITION_2023, + }, edition_defaults = { edition: EDITION_PROTO2, value: "EXPLICIT" }, edition_defaults = { edition: EDITION_PROTO3, value: "IMPLICIT" }, edition_defaults = { edition: EDITION_2023, value: "EXPLICIT" } @@ -986,6 +988,10 @@ message FeatureSet { retention = RETENTION_RUNTIME, targets = TARGET_TYPE_ENUM, targets = TARGET_TYPE_FILE, + // TODO Enable this in google3 once protoc rolls out. + feature_support = { + edition_introduced: EDITION_2023, + }, edition_defaults = { edition: EDITION_PROTO2, value: "CLOSED" }, edition_defaults = { edition: EDITION_PROTO3, value: "OPEN" } ]; @@ -999,6 +1005,10 @@ message FeatureSet { retention = RETENTION_RUNTIME, targets = TARGET_TYPE_FIELD, targets = TARGET_TYPE_FILE, + // TODO Enable this in google3 once protoc rolls out. + feature_support = { + edition_introduced: EDITION_2023, + }, edition_defaults = { edition: EDITION_PROTO2, value: "EXPANDED" }, edition_defaults = { edition: EDITION_PROTO3, value: "PACKED" } ]; @@ -1012,6 +1022,10 @@ message FeatureSet { retention = RETENTION_RUNTIME, targets = TARGET_TYPE_FIELD, targets = TARGET_TYPE_FILE, + // TODO Enable this in google3 once protoc rolls out. + feature_support = { + edition_introduced: EDITION_2023, + }, edition_defaults = { edition: EDITION_PROTO2, value: "NONE" }, edition_defaults = { edition: EDITION_PROTO3, value: "VERIFY" } ]; @@ -1025,6 +1039,10 @@ message FeatureSet { retention = RETENTION_RUNTIME, targets = TARGET_TYPE_FIELD, targets = TARGET_TYPE_FILE, + // TODO Enable this in google3 once protoc rolls out. + feature_support = { + edition_introduced: EDITION_2023, + }, edition_defaults = { edition: EDITION_PROTO2, value: "LENGTH_PREFIXED" } ]; @@ -1038,17 +1056,34 @@ message FeatureSet { targets = TARGET_TYPE_MESSAGE, targets = TARGET_TYPE_ENUM, targets = TARGET_TYPE_FILE, + // TODO Enable this in google3 once protoc rolls out. + feature_support = { + edition_introduced: EDITION_2023, + }, edition_defaults = { edition: EDITION_PROTO2, value: "LEGACY_BEST_EFFORT" }, edition_defaults = { edition: EDITION_PROTO3, value: "ALLOW" } ]; reserved 999; - extensions 1000; // for Protobuf C++ - extensions 1001; // for Protobuf Java - extensions 1002; // for Protobuf Go - - extensions 9990; // for deprecated Java Proto1 + extensions 1000 to 9994 [ + declaration = { + number: 1000, + full_name: ".pb.cpp", + type: ".pb.CppFeatures" + }, + declaration = { + number: 1001, + full_name: ".pb.java", + type: ".pb.JavaFeatures" + }, + declaration = { number: 1002, full_name: ".pb.go", type: ".pb.GoFeatures" }, + declaration = { + number: 9990, + full_name: ".pb.proto1", + type: ".pb.Proto1Features" + } + ]; extensions 9995 to 9999; // For internal testing extensions 10000; // for https://github.com/bufbuild/protobuf-es @@ -1071,10 +1106,6 @@ message FeatureSetDefaults { // Defaults of features that can't be overridden in this edition. optional FeatureSet fixed_features = 5; - - // TODO Deprecate and remove this field, which is just the - // above two merged. - optional FeatureSet features = 2; } repeated FeatureSetEditionDefault defaults = 1; diff --git a/dev/protos/google/rpc/status.proto b/dev/protos/google/rpc/status.proto index 923e16938..90b70ddf9 100644 --- a/dev/protos/google/rpc/status.proto +++ b/dev/protos/google/rpc/status.proto @@ -1,4 +1,4 @@ -// Copyright 2022 Google LLC +// Copyright 2024 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/dev/protos/google/type/dayofweek.proto b/dev/protos/google/type/dayofweek.proto index 4c80c62ec..e16c19469 100644 --- a/dev/protos/google/type/dayofweek.proto +++ b/dev/protos/google/type/dayofweek.proto @@ -1,4 +1,4 @@ -// Copyright 2021 Google LLC +// Copyright 2024 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/dev/protos/google/type/latlng.proto b/dev/protos/google/type/latlng.proto index 9231456e3..daeba48b4 100644 --- a/dev/protos/google/type/latlng.proto +++ b/dev/protos/google/type/latlng.proto @@ -1,4 +1,4 @@ -// Copyright 2021 Google LLC +// Copyright 2024 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. diff --git a/dev/protos/v1.json b/dev/protos/v1.json index 576bf2379..19be0044b 100644 --- a/dev/protos/v1.json +++ b/dev/protos/v1.json @@ -100,6 +100,7 @@ "Edition": { "values": { "EDITION_UNKNOWN": 0, + "EDITION_LEGACY": 900, "EDITION_PROTO2": 998, "EDITION_PROTO3": 999, "EDITION_2023": 1000, @@ -110,13 +111,7 @@ "EDITION_99998_TEST_ONLY": 99998, "EDITION_99999_TEST_ONLY": 99999, "EDITION_MAX": 2147483647 - }, - "reserved": [ - [ - 900, - 900 - ] - ] + } }, "FileDescriptorProto": { "fields": { @@ -1147,6 +1142,7 @@ "options": { "retention": "RETENTION_RUNTIME", "targets": "TARGET_TYPE_FILE", + "feature_support.edition_introduced": "EDITION_2023", "edition_defaults.edition": "EDITION_2023", "edition_defaults.value": "EXPLICIT" } @@ -1157,6 +1153,7 @@ "options": { "retention": "RETENTION_RUNTIME", "targets": "TARGET_TYPE_FILE", + "feature_support.edition_introduced": "EDITION_2023", "edition_defaults.edition": "EDITION_PROTO3", "edition_defaults.value": "OPEN" } @@ -1167,6 +1164,7 @@ "options": { "retention": "RETENTION_RUNTIME", "targets": "TARGET_TYPE_FILE", + "feature_support.edition_introduced": "EDITION_2023", "edition_defaults.edition": "EDITION_PROTO3", "edition_defaults.value": "PACKED" } @@ -1177,6 +1175,7 @@ "options": { "retention": "RETENTION_RUNTIME", "targets": "TARGET_TYPE_FILE", + "feature_support.edition_introduced": "EDITION_2023", "edition_defaults.edition": "EDITION_PROTO3", "edition_defaults.value": "VERIFY" } @@ -1187,6 +1186,7 @@ "options": { "retention": "RETENTION_RUNTIME", "targets": "TARGET_TYPE_FILE", + "feature_support.edition_introduced": "EDITION_2023", "edition_defaults.edition": "EDITION_PROTO2", "edition_defaults.value": "LENGTH_PREFIXED" } @@ -1197,6 +1197,7 @@ "options": { "retention": "RETENTION_RUNTIME", "targets": "TARGET_TYPE_FILE", + "feature_support.edition_introduced": "EDITION_2023", "edition_defaults.edition": "EDITION_PROTO3", "edition_defaults.value": "ALLOW" } @@ -1205,19 +1206,7 @@ "extensions": [ [ 1000, - 1000 - ], - [ - 1001, - 1001 - ], - [ - 1002, - 1002 - ], - [ - 9990, - 9990 + 9994 ], [ 9995, @@ -1310,10 +1299,6 @@ "fixedFeatures": { "type": "FeatureSet", "id": 5 - }, - "features": { - "type": "FeatureSet", - "id": 2 } } } diff --git a/dev/protos/v1beta1.json b/dev/protos/v1beta1.json index 5d9f89bdd..ae6a2499b 100644 --- a/dev/protos/v1beta1.json +++ b/dev/protos/v1beta1.json @@ -100,6 +100,7 @@ "Edition": { "values": { "EDITION_UNKNOWN": 0, + "EDITION_LEGACY": 900, "EDITION_PROTO2": 998, "EDITION_PROTO3": 999, "EDITION_2023": 1000, @@ -110,13 +111,7 @@ "EDITION_99998_TEST_ONLY": 99998, "EDITION_99999_TEST_ONLY": 99999, "EDITION_MAX": 2147483647 - }, - "reserved": [ - [ - 900, - 900 - ] - ] + } }, "FileDescriptorProto": { "fields": { @@ -1147,6 +1142,7 @@ "options": { "retention": "RETENTION_RUNTIME", "targets": "TARGET_TYPE_FILE", + "feature_support.edition_introduced": "EDITION_2023", "edition_defaults.edition": "EDITION_2023", "edition_defaults.value": "EXPLICIT" } @@ -1157,6 +1153,7 @@ "options": { "retention": "RETENTION_RUNTIME", "targets": "TARGET_TYPE_FILE", + "feature_support.edition_introduced": "EDITION_2023", "edition_defaults.edition": "EDITION_PROTO3", "edition_defaults.value": "OPEN" } @@ -1167,6 +1164,7 @@ "options": { "retention": "RETENTION_RUNTIME", "targets": "TARGET_TYPE_FILE", + "feature_support.edition_introduced": "EDITION_2023", "edition_defaults.edition": "EDITION_PROTO3", "edition_defaults.value": "PACKED" } @@ -1177,6 +1175,7 @@ "options": { "retention": "RETENTION_RUNTIME", "targets": "TARGET_TYPE_FILE", + "feature_support.edition_introduced": "EDITION_2023", "edition_defaults.edition": "EDITION_PROTO3", "edition_defaults.value": "VERIFY" } @@ -1187,6 +1186,7 @@ "options": { "retention": "RETENTION_RUNTIME", "targets": "TARGET_TYPE_FILE", + "feature_support.edition_introduced": "EDITION_2023", "edition_defaults.edition": "EDITION_PROTO2", "edition_defaults.value": "LENGTH_PREFIXED" } @@ -1197,6 +1197,7 @@ "options": { "retention": "RETENTION_RUNTIME", "targets": "TARGET_TYPE_FILE", + "feature_support.edition_introduced": "EDITION_2023", "edition_defaults.edition": "EDITION_PROTO3", "edition_defaults.value": "ALLOW" } @@ -1205,19 +1206,7 @@ "extensions": [ [ 1000, - 1000 - ], - [ - 1001, - 1001 - ], - [ - 1002, - 1002 - ], - [ - 9990, - 9990 + 9994 ], [ 9995, @@ -1310,10 +1299,6 @@ "fixedFeatures": { "type": "FeatureSet", "id": 5 - }, - "features": { - "type": "FeatureSet", - "id": 2 } } } diff --git a/dev/src/v1/firestore_client.ts b/dev/src/v1/firestore_client.ts index ffd1674eb..e1f4b242d 100644 --- a/dev/src/v1/firestore_client.ts +++ b/dev/src/v1/firestore_client.ts @@ -235,27 +235,27 @@ export class FirestoreClient { batchGetDocuments: new this._gaxModule.StreamDescriptor( this._gaxModule.StreamType.SERVER_STREAMING, !!opts.fallback, - /* gaxStreamingRetries: */ false + !!opts.gaxServerStreamingRetries ), runQuery: new this._gaxModule.StreamDescriptor( this._gaxModule.StreamType.SERVER_STREAMING, !!opts.fallback, - /* gaxStreamingRetries: */ false + !!opts.gaxServerStreamingRetries ), runAggregationQuery: new this._gaxModule.StreamDescriptor( this._gaxModule.StreamType.SERVER_STREAMING, !!opts.fallback, - /* gaxStreamingRetries: */ false + !!opts.gaxServerStreamingRetries ), write: new this._gaxModule.StreamDescriptor( this._gaxModule.StreamType.BIDI_STREAMING, !!opts.fallback, - /* gaxStreamingRetries: */ false + !!opts.gaxServerStreamingRetries ), listen: new this._gaxModule.StreamDescriptor( this._gaxModule.StreamType.BIDI_STREAMING, !!opts.fallback, - /* gaxStreamingRetries: */ false + !!opts.gaxServerStreamingRetries ), }; diff --git a/dev/src/v1beta1/firestore_client.ts b/dev/src/v1beta1/firestore_client.ts index efa813d95..bcce470c5 100644 --- a/dev/src/v1beta1/firestore_client.ts +++ b/dev/src/v1beta1/firestore_client.ts @@ -231,22 +231,22 @@ export class FirestoreClient { batchGetDocuments: new this._gaxModule.StreamDescriptor( this._gaxModule.StreamType.SERVER_STREAMING, !!opts.fallback, - /* gaxStreamingRetries: */ false + !!opts.gaxServerStreamingRetries ), runQuery: new this._gaxModule.StreamDescriptor( this._gaxModule.StreamType.SERVER_STREAMING, !!opts.fallback, - /* gaxStreamingRetries: */ false + !!opts.gaxServerStreamingRetries ), write: new this._gaxModule.StreamDescriptor( this._gaxModule.StreamType.BIDI_STREAMING, !!opts.fallback, - /* gaxStreamingRetries: */ false + !!opts.gaxServerStreamingRetries ), listen: new this._gaxModule.StreamDescriptor( this._gaxModule.StreamType.BIDI_STREAMING, !!opts.fallback, - /* gaxStreamingRetries: */ false + !!opts.gaxServerStreamingRetries ), }; diff --git a/dev/test/gapic_firestore_v1.ts b/dev/test/gapic_firestore_v1.ts index ee3eb0c5d..df6a2f4dc 100644 --- a/dev/test/gapic_firestore_v1.ts +++ b/dev/test/gapic_firestore_v1.ts @@ -1439,6 +1439,49 @@ describe('v1.FirestoreClient', () => { assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); }); + it('invokes batchGetDocuments without error and gaxServerStreamingRetries enabled', async () => { + const client = new firestoreModule.FirestoreClient({ + gaxServerStreamingRetries: true, + }); + client.initialize(); + const request = generateSampleMessage( + new protos.google.firestore.v1.BatchGetDocumentsRequest() + ); + const defaultValue1 = getTypeDefaultValue( + '.google.firestore.v1.BatchGetDocumentsRequest', + ['database'] + ); + request.database = defaultValue1; + const expectedHeaderRequestParams = `database=${defaultValue1}`; + const expectedResponse = generateSampleMessage( + new protos.google.firestore.v1.BatchGetDocumentsResponse() + ); + client.innerApiCalls.batchGetDocuments = + stubServerStreamingCall(expectedResponse); + const stream = client.batchGetDocuments(request); + const promise = new Promise((resolve, reject) => { + stream.on( + 'data', + (response: protos.google.firestore.v1.BatchGetDocumentsResponse) => { + resolve(response); + } + ); + stream.on('error', (err: Error) => { + reject(err); + }); + }); + const response = await promise; + assert.deepStrictEqual(response, expectedResponse); + const actualRequest = ( + client.innerApiCalls.batchGetDocuments as SinonStub + ).getCall(0).args[0]; + assert.deepStrictEqual(actualRequest, request); + const actualHeaderRequestParams = ( + client.innerApiCalls.batchGetDocuments as SinonStub + ).getCall(0).args[1].otherArgs.headers['x-goog-request-params']; + assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); + }); + it('invokes batchGetDocuments with error', async () => { const client = new firestoreModule.FirestoreClient({ credentials: {client_email: 'bogus', private_key: 'bogus'}, @@ -1514,6 +1557,12 @@ describe('v1.FirestoreClient', () => { }); await assert.rejects(promise, expectedError); }); + it('should create a client with gaxServerStreamingRetries enabled', () => { + const client = new firestoreModule.FirestoreClient({ + gaxServerStreamingRetries: true, + }); + assert(client); + }); }); describe('runQuery', () => { @@ -1560,6 +1609,48 @@ describe('v1.FirestoreClient', () => { assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); }); + it('invokes runQuery without error and gaxServerStreamingRetries enabled', async () => { + const client = new firestoreModule.FirestoreClient({ + gaxServerStreamingRetries: true, + }); + client.initialize(); + const request = generateSampleMessage( + new protos.google.firestore.v1.RunQueryRequest() + ); + const defaultValue1 = getTypeDefaultValue( + '.google.firestore.v1.RunQueryRequest', + ['parent'] + ); + request.parent = defaultValue1; + const expectedHeaderRequestParams = `parent=${defaultValue1}`; + const expectedResponse = generateSampleMessage( + new protos.google.firestore.v1.RunQueryResponse() + ); + client.innerApiCalls.runQuery = stubServerStreamingCall(expectedResponse); + const stream = client.runQuery(request); + const promise = new Promise((resolve, reject) => { + stream.on( + 'data', + (response: protos.google.firestore.v1.RunQueryResponse) => { + resolve(response); + } + ); + stream.on('error', (err: Error) => { + reject(err); + }); + }); + const response = await promise; + assert.deepStrictEqual(response, expectedResponse); + const actualRequest = ( + client.innerApiCalls.runQuery as SinonStub + ).getCall(0).args[0]; + assert.deepStrictEqual(actualRequest, request); + const actualHeaderRequestParams = ( + client.innerApiCalls.runQuery as SinonStub + ).getCall(0).args[1].otherArgs.headers['x-goog-request-params']; + assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); + }); + it('invokes runQuery with error', async () => { const client = new firestoreModule.FirestoreClient({ credentials: {client_email: 'bogus', private_key: 'bogus'}, @@ -1635,6 +1726,12 @@ describe('v1.FirestoreClient', () => { }); await assert.rejects(promise, expectedError); }); + it('should create a client with gaxServerStreamingRetries enabled', () => { + const client = new firestoreModule.FirestoreClient({ + gaxServerStreamingRetries: true, + }); + assert(client); + }); }); describe('runAggregationQuery', () => { @@ -1684,6 +1781,51 @@ describe('v1.FirestoreClient', () => { assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); }); + it('invokes runAggregationQuery without error and gaxServerStreamingRetries enabled', async () => { + const client = new firestoreModule.FirestoreClient({ + gaxServerStreamingRetries: true, + }); + client.initialize(); + const request = generateSampleMessage( + new protos.google.firestore.v1.RunAggregationQueryRequest() + ); + const defaultValue1 = getTypeDefaultValue( + '.google.firestore.v1.RunAggregationQueryRequest', + ['parent'] + ); + request.parent = defaultValue1; + const expectedHeaderRequestParams = `parent=${defaultValue1}`; + const expectedResponse = generateSampleMessage( + new protos.google.firestore.v1.RunAggregationQueryResponse() + ); + client.innerApiCalls.runAggregationQuery = + stubServerStreamingCall(expectedResponse); + const stream = client.runAggregationQuery(request); + const promise = new Promise((resolve, reject) => { + stream.on( + 'data', + ( + response: protos.google.firestore.v1.RunAggregationQueryResponse + ) => { + resolve(response); + } + ); + stream.on('error', (err: Error) => { + reject(err); + }); + }); + const response = await promise; + assert.deepStrictEqual(response, expectedResponse); + const actualRequest = ( + client.innerApiCalls.runAggregationQuery as SinonStub + ).getCall(0).args[0]; + assert.deepStrictEqual(actualRequest, request); + const actualHeaderRequestParams = ( + client.innerApiCalls.runAggregationQuery as SinonStub + ).getCall(0).args[1].otherArgs.headers['x-goog-request-params']; + assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); + }); + it('invokes runAggregationQuery with error', async () => { const client = new firestoreModule.FirestoreClient({ credentials: {client_email: 'bogus', private_key: 'bogus'}, @@ -1763,6 +1905,12 @@ describe('v1.FirestoreClient', () => { }); await assert.rejects(promise, expectedError); }); + it('should create a client with gaxServerStreamingRetries enabled', () => { + const client = new firestoreModule.FirestoreClient({ + gaxServerStreamingRetries: true, + }); + assert(client); + }); }); describe('write', () => { diff --git a/dev/test/gapic_firestore_v1beta1.ts b/dev/test/gapic_firestore_v1beta1.ts index 4aad011da..e6431944f 100644 --- a/dev/test/gapic_firestore_v1beta1.ts +++ b/dev/test/gapic_firestore_v1beta1.ts @@ -1443,6 +1443,51 @@ describe('v1beta1.FirestoreClient', () => { assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); }); + it('invokes batchGetDocuments without error and gaxServerStreamingRetries enabled', async () => { + const client = new firestoreModule.FirestoreClient({ + gaxServerStreamingRetries: true, + }); + client.initialize(); + const request = generateSampleMessage( + new protos.google.firestore.v1beta1.BatchGetDocumentsRequest() + ); + const defaultValue1 = getTypeDefaultValue( + '.google.firestore.v1beta1.BatchGetDocumentsRequest', + ['database'] + ); + request.database = defaultValue1; + const expectedHeaderRequestParams = `database=${defaultValue1}`; + const expectedResponse = generateSampleMessage( + new protos.google.firestore.v1beta1.BatchGetDocumentsResponse() + ); + client.innerApiCalls.batchGetDocuments = + stubServerStreamingCall(expectedResponse); + const stream = client.batchGetDocuments(request); + const promise = new Promise((resolve, reject) => { + stream.on( + 'data', + ( + response: protos.google.firestore.v1beta1.BatchGetDocumentsResponse + ) => { + resolve(response); + } + ); + stream.on('error', (err: Error) => { + reject(err); + }); + }); + const response = await promise; + assert.deepStrictEqual(response, expectedResponse); + const actualRequest = ( + client.innerApiCalls.batchGetDocuments as SinonStub + ).getCall(0).args[0]; + assert.deepStrictEqual(actualRequest, request); + const actualHeaderRequestParams = ( + client.innerApiCalls.batchGetDocuments as SinonStub + ).getCall(0).args[1].otherArgs.headers['x-goog-request-params']; + assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); + }); + it('invokes batchGetDocuments with error', async () => { const client = new firestoreModule.FirestoreClient({ credentials: {client_email: 'bogus', private_key: 'bogus'}, @@ -1522,6 +1567,12 @@ describe('v1beta1.FirestoreClient', () => { }); await assert.rejects(promise, expectedError); }); + it('should create a client with gaxServerStreamingRetries enabled', () => { + const client = new firestoreModule.FirestoreClient({ + gaxServerStreamingRetries: true, + }); + assert(client); + }); }); describe('runQuery', () => { @@ -1568,6 +1619,48 @@ describe('v1beta1.FirestoreClient', () => { assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); }); + it('invokes runQuery without error and gaxServerStreamingRetries enabled', async () => { + const client = new firestoreModule.FirestoreClient({ + gaxServerStreamingRetries: true, + }); + client.initialize(); + const request = generateSampleMessage( + new protos.google.firestore.v1beta1.RunQueryRequest() + ); + const defaultValue1 = getTypeDefaultValue( + '.google.firestore.v1beta1.RunQueryRequest', + ['parent'] + ); + request.parent = defaultValue1; + const expectedHeaderRequestParams = `parent=${defaultValue1}`; + const expectedResponse = generateSampleMessage( + new protos.google.firestore.v1beta1.RunQueryResponse() + ); + client.innerApiCalls.runQuery = stubServerStreamingCall(expectedResponse); + const stream = client.runQuery(request); + const promise = new Promise((resolve, reject) => { + stream.on( + 'data', + (response: protos.google.firestore.v1beta1.RunQueryResponse) => { + resolve(response); + } + ); + stream.on('error', (err: Error) => { + reject(err); + }); + }); + const response = await promise; + assert.deepStrictEqual(response, expectedResponse); + const actualRequest = ( + client.innerApiCalls.runQuery as SinonStub + ).getCall(0).args[0]; + assert.deepStrictEqual(actualRequest, request); + const actualHeaderRequestParams = ( + client.innerApiCalls.runQuery as SinonStub + ).getCall(0).args[1].otherArgs.headers['x-goog-request-params']; + assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); + }); + it('invokes runQuery with error', async () => { const client = new firestoreModule.FirestoreClient({ credentials: {client_email: 'bogus', private_key: 'bogus'}, @@ -1643,6 +1736,12 @@ describe('v1beta1.FirestoreClient', () => { }); await assert.rejects(promise, expectedError); }); + it('should create a client with gaxServerStreamingRetries enabled', () => { + const client = new firestoreModule.FirestoreClient({ + gaxServerStreamingRetries: true, + }); + assert(client); + }); }); describe('write', () => {