)]}'
{
  "log": [
    {
      "commit": "0320d74b3646387ccc2b21d8bf7a547976170767",
      "tree": "136be1212bddf0ab7e8f0d1d14aa48181ed109c8",
      "parents": [
        "c686e505ec47ca1aa9725e9c8ea389cf640253eb"
      ],
      "author": {
        "name": "Christian Banse",
        "email": "oxisto@aybaze.com",
        "time": "Thu May 20 16:50:51 2021"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Thu May 20 16:50:51 2021"
      },
      "message": "Fixed incorrect interface nil check in protoc-gen-openapi (#249)\n\nThe `annotation` variable is an interface and was only checked for `nil`, but not if `nil` would be assigned to the interface.\r\nThis lead to a crash, if a method within a service was not annotated at all.\r\n\r\nCloses #248"
    },
    {
      "commit": "c686e505ec47ca1aa9725e9c8ea389cf640253eb",
      "tree": "bd10348fcfc7f80000c75bc14e7115abe87ae1ec",
      "parents": [
        "ff4e3d1bed95e2ba4e0add497d280dbc8f173c27"
      ],
      "author": {
        "name": "Tim Burks",
        "email": "timburks@google.com",
        "time": "Sat May 15 01:05:30 2021"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Sat May 15 01:05:30 2021"
      },
      "message": "Improve protoc-gen-openapi generation of response bodies. (#247)\n\n* Improve protoc-gen-openapi generation of response bodies.\r\n\r\nThis adds appropriate handling of google.protobuf.Empty\r\nand google.api.HttpBody.\r\n\r\n* Update protoc-gen-openapi test for handling of Empty responses."
    },
    {
      "commit": "ff4e3d1bed95e2ba4e0add497d280dbc8f173c27",
      "tree": "3784a673cc6372405f759143775fd28774e015b6",
      "parents": [
        "4bfc54b40ce466b85192765b2c5e431118e61c49"
      ],
      "author": {
        "name": "Guillaume",
        "email": "guillaume.frichet@gmail.com",
        "time": "Sun May 02 23:31:25 2021"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Sun May 02 23:31:25 2021"
      },
      "message": "protoc-gen-openapi: serialize date and date-time as strings (#234)\n\nCo-authored-by: Tim Burks \u003ctimburks@google.com\u003e"
    },
    {
      "commit": "4bfc54b40ce466b85192765b2c5e431118e61c49",
      "tree": "b3891abf82540517f8bf3ee88407006f5dd80adb",
      "parents": [
        "1550ae29653d42db69c8a98d368648be7f2c488d"
      ],
      "author": {
        "name": "Tim Burks",
        "email": "timburks@google.com",
        "time": "Fri Apr 30 17:47:08 2021"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Fri Apr 30 17:47:08 2021"
      },
      "message": "Update protoc-gen-openapi to represent map\u003cstring,string\u003e as OpenAPI objects. (#244)\n\n* Update protoc-gen-openapi to represent map\u003cstring,string\u003e as OpenAPI objects.\r\n* Simplify protoc-gen-openapi tests following guidance from @seaneganx"
    },
    {
      "commit": "1550ae29653d42db69c8a98d368648be7f2c488d",
      "tree": "403b4f0720804ff1c5cd5d7163e2b2c5d825a90e",
      "parents": [
        "ed308846fc77db7667936d27d7ac1fb278b74216"
      ],
      "author": {
        "name": "Dan Larsen",
        "email": "dan@techba.se",
        "time": "Mon Apr 26 16:04:49 2021"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Mon Apr 26 16:04:49 2021"
      },
      "message": "Upgrade protobuf and Generate OpenAPI v3 responseBody content examples (#242)\n\n* Generate OpenAPI v3 responseBody content examples\r\n* Add google protobuf files\r\n* Fix protoc-gen-openapi plugin tests\r\n* Upgrade to newest protobuf versions\r\n* Upgrade github.com/golang/protobuf\r\nv1.5.1 -\u003e v1.5.2\r\n* Remove unnecessary path.Clean\r\n* Enable generation of properties name value of type Any\r\nThis reverts the manual edit of OpenAPIv3.go and ensures that it is automatically generated.\r\nIt also adds Value for NamedAny.\r\n* Add newly generated files\r\nThe new formatting in .proto files is done by a generator\r\n* Move Google .proto files dir into \"third_party\"\r\nFrom ./google -\u003e ./third_party/google\r\nAlso add include path for protoc calls in:\r\nCOMPILE-PROTOS.sh\r\napps/protoc-gen-openapi/plugin_test.go\r\n* Manually patch OpenAPI v3 proto file and re-generate pb file\r\nThis is needed to keep the original field numbers to maintain compatibility"
    },
    {
      "commit": "ed308846fc77db7667936d27d7ac1fb278b74216",
      "tree": "5d8fc096f960e616ad63e85b5407009b6d739f30",
      "parents": [
        "90d61b542b5715de0b5fc24257f362a2853f88df"
      ],
      "author": {
        "name": "Tim Burks",
        "email": "timburks@google.com",
        "time": "Fri Dec 04 02:21:36 2020"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Fri Dec 04 02:21:36 2020"
      },
      "message": "Create go.yml to do commit testing with GitHub Actions (#233)\n\n* Create go.yml\r\n\r\n* Update go.yml\r\n\r\n* Delete .travis.yml\r\n\r\n* Delete .travis-install.sh\r\n\r\n* Update README to show badge for GitHub Actions test"
    },
    {
      "commit": "90d61b542b5715de0b5fc24257f362a2853f88df",
      "tree": "e338696cf78f8ee3a0076418ea593ed8544fae3c",
      "parents": [
        "43bcb371e33cf69b0841198c4434e4a675f35199"
      ],
      "author": {
        "name": "Tim Burks",
        "email": "timburks@google.com",
        "time": "Fri Dec 04 01:52:44 2020"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Fri Dec 04 01:52:44 2020"
      },
      "message": "protoc-gen-openapi: handle message bodies mapped to string fields (#232)\n\n* Fix crash and correctly handle message bodies mapped to string fields in HTTP transcoding.\r\n\r\n* fix copyright date"
    },
    {
      "commit": "43bcb371e33cf69b0841198c4434e4a675f35199",
      "tree": "dd04ed667320be324494f3a6bc599f3cbd2fdb5c",
      "parents": [
        "eec9d280322c5f45d0bdb8d056898190fb3e59c2"
      ],
      "author": {
        "name": "Tim Burks",
        "email": "timburks@google.com",
        "time": "Thu Dec 03 19:14:11 2020"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Thu Dec 03 19:14:11 2020"
      },
      "message": "protoc-gen-openapi: timestamps should be serialized as strings (#223)\n\n"
    },
    {
      "commit": "eec9d280322c5f45d0bdb8d056898190fb3e59c2",
      "tree": "ee8a7b3164e81091d5260c977b2b07b9a52c2c6c",
      "parents": [
        "e21f238441d25c98901a99d17f154f118f642e1a"
      ],
      "author": {
        "name": "Krushnal Patel",
        "email": "krushnalpatel11@gmail.com",
        "time": "Fri Nov 13 15:59:30 2020"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Fri Nov 13 15:59:30 2020"
      },
      "message": "fixed build status badge (#226)\n\n* removed build status badge\r\n\r\n* fixed build status badge"
    },
    {
      "commit": "e21f238441d25c98901a99d17f154f118f642e1a",
      "tree": "34c96be59309f74375ef28a096f2584e782298e2",
      "parents": [
        "42aec32c2aea3caa57419d923d456f01f1e51edf"
      ],
      "author": {
        "name": "Tim Burks",
        "email": "timburks@google.com",
        "time": "Mon Oct 26 16:24:21 2020"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Mon Oct 26 16:24:21 2020"
      },
      "message": "Minor fixes to protoc-gen-openapi: remove extraneous log message, update openapi version in generated files (#222)\n\n* remove extraneous log message\r\n\r\n* protoc-gen-openapi: Indicate generated OpenAPI version as 3.0.3"
    },
    {
      "commit": "42aec32c2aea3caa57419d923d456f01f1e51edf",
      "tree": "96c84380dc21227418b192be1021d3fff9a745fd",
      "parents": [
        "7fb184161514b7172c7757c4a469232fad4d18de"
      ],
      "author": {
        "name": "Tim Burks",
        "email": "timburks@google.com",
        "time": "Fri Oct 23 23:28:20 2020"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Fri Oct 23 23:28:20 2020"
      },
      "message": "protoc-gen-openapi (#221)\n\n* First steps toward a protoc plugin for generating OpenAPI models.\r\n\r\nBased on the Go code generation plugin (protoc-gen-go) and the\r\ngnostic petstore-builder sample app.\r\n\r\n* protoc-gen-openapi operation stubs\r\n\r\n* updated, fixed build problems\r\n\r\n* preliminary structural improvements to put everything in a single spec.\r\n\r\n* handle more field and array types + patch requests\r\n\r\n* work-in-progress, focusing on generating OpenAPI v3 from protoc-gen-openapi\r\n\r\n* protoc-gen-openapi only generates v3, now includes parameters\r\n\r\n* protoc-gen-openapi: get API name and description from protos.\r\n\r\n* protoc-gen-openapi: only export schemas that are used\r\n\r\n* protoc-gen-openapi: include message and field comments in openapi\r\n\r\n* protoc-gen-openapi: mark output-only fields\r\n\r\n* protoc-gen-openapi: general cleanup\r\n\r\n* protoc-gen-openapi: add test\r\n\r\n* protoc-gen-openapi: update to use the v2 protobuf-go plugin API\r\n\r\n* protoc-gen-openapi: remove unneeded parameters from buildOperationV3\r\n\r\n* protoc-gen-openapi: remove blank lines"
    },
    {
      "commit": "7fb184161514b7172c7757c4a469232fad4d18de",
      "tree": "dab46fd230f3d773a3814efe6ab3fe32511b2c58",
      "parents": [
        "52a61936a37f3aba4a684a5ecd187829b4ce0447"
      ],
      "author": {
        "name": "Ben Wells",
        "email": "b.v.wells@gmail.com",
        "time": "Wed Oct 14 19:57:58 2020"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Wed Oct 14 19:57:58 2020"
      },
      "message": "Support JSON marshalling of yaml sequence and scalar nodes (#220)\n\n"
    },
    {
      "commit": "52a61936a37f3aba4a684a5ecd187829b4ce0447",
      "tree": "3934a441ad2ceda57076db133f11d440025acb25",
      "parents": [
        "349b567acc405aa695507b2df51b935797eecd58"
      ],
      "author": {
        "name": "Tim Burks",
        "email": "timburks@google.com",
        "time": "Mon Oct 12 21:47:56 2020"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Mon Oct 12 21:47:56 2020"
      },
      "message": "Add line numbers to error msgs + improve errors for schema mismatches (#219)\n\n"
    },
    {
      "commit": "349b567acc405aa695507b2df51b935797eecd58",
      "tree": "16d4583584472a8822d276d727fa6204db37ff0b",
      "parents": [
        "48b4738c47573b000755948606ae81e1bcad5b5e"
      ],
      "author": {
        "name": "Tim Burks",
        "email": "timburks@google.com",
        "time": "Fri Oct 09 16:47:32 2020"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Fri Oct 09 16:47:32 2020"
      },
      "message": "ToRawInfo functions return null-valued nodes instead of nil (#218)\n\nThis fixes crashes in the yaml.v3 export functions that were\r\ndiscovered for newly-added specs in public directories."
    },
    {
      "commit": "48b4738c47573b000755948606ae81e1bcad5b5e",
      "tree": "067dcbae281a0d2f8b323811fb8aacc003f566d1",
      "parents": [
        "8e72155090fd659d4ba19600975b3030d9e17fcc"
      ],
      "author": {
        "name": "Ben Wells",
        "email": "b.v.wells@gmail.com",
        "time": "Fri Oct 09 05:31:07 2020"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Fri Oct 09 05:31:07 2020"
      },
      "message": "Fix checking of error from jsonwriter.Marshal (#216)\n\n"
    },
    {
      "commit": "8e72155090fd659d4ba19600975b3030d9e17fcc",
      "tree": "8a6e1a3f0d2d4fd8d427a5e9553f43814c412e72",
      "parents": [
        "f6a8fec53bf8781fb27dc64727306877b13e9fd3"
      ],
      "author": {
        "name": "Justin Beckwith",
        "email": "justin.beckwith@gmail.com",
        "time": "Thu Sep 24 20:27:23 2020"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Thu Sep 24 20:27:23 2020"
      },
      "message": "chore: add CODEOWNERS and repo config (#215)\n\n"
    },
    {
      "commit": "f6a8fec53bf8781fb27dc64727306877b13e9fd3",
      "tree": "13ae06c5a9d40e05f47f645c0664610f37a61aff",
      "parents": [
        "dea02580e6d6004386e81e8ba2756ec178aed430"
      ],
      "author": {
        "name": "Tim Burks",
        "email": "timburks@google.com",
        "time": "Sun Sep 20 05:42:50 2020"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Sun Sep 20 05:42:50 2020"
      },
      "message": "fix crash in discovery vocabulary computation (#214)\n\n"
    },
    {
      "commit": "dea02580e6d6004386e81e8ba2756ec178aed430",
      "tree": "903b4208a06dcf00273a4814f360227526e81f97",
      "parents": [
        "b262eedca18529879e9eb12c97fa2a188c5e1ebe"
      ],
      "author": {
        "name": "Tim Burks",
        "email": "timburks@google.com",
        "time": "Sun Sep 20 05:17:00 2020"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Sun Sep 20 05:17:00 2020"
      },
      "message": "vocabulary generation for discovery docs (#208)\n\n* vocabulary generation for discovery docs\r\n\r\n* New test for discovery vocabulary, simplify openapi vocab tests."
    },
    {
      "commit": "b262eedca18529879e9eb12c97fa2a188c5e1ebe",
      "tree": "6bbe5305471f35fff4fcae1f33aa063cc3f3de49",
      "parents": [
        "15aa5a7e203c0e92110f4848b2f601b2f874161e"
      ],
      "author": {
        "name": "Tim Burks",
        "email": "timburks@google.com",
        "time": "Fri Sep 11 05:05:33 2020"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Fri Sep 11 05:05:33 2020"
      },
      "message": "update generated protos (#211)\n\nneeded for new messages in metrics/vocabulary.proto"
    },
    {
      "commit": "15aa5a7e203c0e92110f4848b2f601b2f874161e",
      "tree": "3f5ab665399101e03ed33384ced8d4c15c76e874",
      "parents": [
        "48073dfd001bf28f5ec5bf618603a8807d3bb2d2"
      ],
      "author": {
        "name": "Tim Burks",
        "email": "timburks@google.com",
        "time": "Tue Sep 08 23:34:29 2020"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Tue Sep 08 23:34:29 2020"
      },
      "message": "Add support for treating timestamps (as identified by yaml.v3) as strings. (#210)\n\n"
    },
    {
      "commit": "48073dfd001bf28f5ec5bf618603a8807d3bb2d2",
      "tree": "36b6a1a90f9d06d7e18c73c3e8eafd75f4a9f920",
      "parents": [
        "2114d637b35bf762dbd5a323545f80030836bdde"
      ],
      "author": {
        "name": "Nicole Marie Gizzo",
        "email": "gizzon@rpi.edu",
        "time": "Thu Aug 06 01:27:42 2020"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Thu Aug 06 01:27:42 2020"
      },
      "message": "VocabularyList and Clean up (#207)\n\n* Creating new package that provides the ability to find line numbers for a field in yaml files\r\n\r\n* Removed global states from vocab analysis code.\r\n\r\n* Refined vocabulary and removed duplicates\r\n\r\n* Converted necessary functions to struct functions\r\n\r\n* Removed instances of \"global variable\" in comments\r\n\r\n* New vocabulary operation version history +\r\ncode cleanup\r\n\r\n* Version name now only includes new version of API\r\n\r\n* Made typo changes requested in PR.\r\n\r\n* Message VocabularyList for handling FilterCommon\r\n\r\n* Update test data.\r\n\r\nCo-authored-by: Tim Burks \u003ctimburks@google.com\u003e"
    },
    {
      "commit": "2114d637b35bf762dbd5a323545f80030836bdde",
      "tree": "a74a336dbdc66bc66f078febc26a16f3cb1e8abc",
      "parents": [
        "dc43282d93e522cdef1c1500f449701ef4468150"
      ],
      "author": {
        "name": "Nicole Marie Gizzo",
        "email": "gizzon@rpi.edu",
        "time": "Wed Jul 29 04:21:38 2020"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Wed Jul 29 04:21:38 2020"
      },
      "message": "Version History + Code Cleanup (#205)\n\n* Creating new package that provides the ability to find line numbers for a field in yaml files\r\n\r\n* Removed global states from vocab analysis code.\r\n\r\n* Refined vocabulary and removed duplicates\r\n\r\n* Converted necessary functions to struct functions\r\n\r\n* Removed instances of \"global variable\" in comments\r\n\r\n* New vocabulary operation version history +\r\ncode cleanup\r\n\r\n* Version name now only includes new version of API\r\n\r\n* Made typo changes requested in PR."
    },
    {
      "commit": "dc43282d93e522cdef1c1500f449701ef4468150",
      "tree": "6a5be8ccf6b241f6cdc448d08181cb56ea5f07bd",
      "parents": [
        "95171dba2d2f1fb05a4e35c535d03db23b03c9bb"
      ],
      "author": {
        "name": "Nicole Marie Gizzo",
        "email": "gizzon@rpi.edu",
        "time": "Mon Jul 20 21:13:08 2020"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Mon Jul 20 21:13:08 2020"
      },
      "message": "Refined vocabulary to use structs instead of global variables (#203)\n\n* Creating new package that provides the ability to find line numbers for a field in yaml files\r\n\r\n* Removed global states from vocab analysis code.\r\n\r\n* Refined vocabulary and removed duplicates\r\n\r\n* Converted necessary functions to struct functions\r\n\r\n* Removed instances of \"global variable\" in comments"
    },
    {
      "commit": "95171dba2d2f1fb05a4e35c535d03db23b03c9bb",
      "tree": "05ae088056d9af57ab0eab11ca0fe8d4d52aeff4",
      "parents": [
        "0b9e7d44994f8fd34580ff9bad95bf396226e592"
      ],
      "author": {
        "name": "Nicole Marie Gizzo",
        "email": "gizzon@rpi.edu",
        "time": "Mon Jul 20 17:46:07 2020"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Mon Jul 20 17:46:07 2020"
      },
      "message": "Use key paths to get source info from yaml files (#200)\n\n* Creating new package that provides the ability to find line numbers for a field in yaml files\r\n\r\n* Some name changes and test adjustments for PR.\r\n\r\n* Fixed testing output\r\n\r\nCo-authored-by: Tim Burks \u003ctimburks@google.com\u003e"
    },
    {
      "commit": "0b9e7d44994f8fd34580ff9bad95bf396226e592",
      "tree": "8a87cb860070f5fbaa83c4d5a2ae6512de0640ea",
      "parents": [
        "3e1e1bdb7a71444c9ddcfcc254ee28adbafd7290"
      ],
      "author": {
        "name": "Tim Burks",
        "email": "timburks@google.com",
        "time": "Mon Jul 20 16:36:37 2020"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Mon Jul 20 16:36:37 2020"
      },
      "message": "Fix error in discovery reader. (#202)\n\n* Fix error in discovery reader.\r\n\r\n* test command-line discovery format reader."
    },
    {
      "commit": "3e1e1bdb7a71444c9ddcfcc254ee28adbafd7290",
      "tree": "d0948570d63647a8f3ad7b5b177eb6042680c3e9",
      "parents": [
        "256520edddcc86df3794050e3b79e2d8e8d23821"
      ],
      "author": {
        "name": "Tim Burks",
        "email": "timburks@google.com",
        "time": "Thu Jul 16 23:59:58 2020"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Thu Jul 16 23:59:58 2020"
      },
      "message": "Fix broken ParseDocument function for Discovery files + improve tests. (#199)\n\n"
    },
    {
      "commit": "256520edddcc86df3794050e3b79e2d8e8d23821",
      "tree": "d17d3315f806627a021c55e207ba40040b101110",
      "parents": [
        "ce2874882b96283118ceb88bf3b651e37636963e"
      ],
      "author": {
        "name": "Lorenz Hofmann-Wellenhof",
        "email": "lorenzhofmann.w@gmail.com",
        "time": "Thu Jul 16 23:56:23 2020"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Thu Jul 16 23:56:23 2020"
      },
      "message": "Adding an additional case for yaml node with tag \"!!int\". (#198)\n\n"
    },
    {
      "commit": "ce2874882b96283118ceb88bf3b651e37636963e",
      "tree": "2408c19b8d1d305133ee8f8cdc339776d3f4d368",
      "parents": [
        "5a22f619374a262b5b1552f437befd4d63917628"
      ],
      "author": {
        "name": "Tim Burks",
        "email": "timburks@google.com",
        "time": "Wed Jul 15 22:32:20 2020"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Wed Jul 15 22:32:20 2020"
      },
      "message": "minor improvements to generator code (#197)\n\n"
    },
    {
      "commit": "5a22f619374a262b5b1552f437befd4d63917628",
      "tree": "0700411d62d626d73b6ec2bd39ab2c6bed3c275b",
      "parents": [
        "40cf3c0b6b95be12aa7d84b7957287d0762593e1"
      ],
      "author": {
        "name": "Tim Burks",
        "email": "timburks@google.com",
        "time": "Wed Jul 15 20:24:19 2020"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Wed Jul 15 20:24:19 2020"
      },
      "message": "simplify extension handling and clarify its experimental status (#196)\n\n* simplify extension handling and clarify its experimental status in the README.\r\n\r\n* simplifications and cleanup of the extension generator.\r\n\r\n* Simplifications to extension.proto"
    },
    {
      "commit": "40cf3c0b6b95be12aa7d84b7957287d0762593e1",
      "tree": "9ecd8ef1a4bd8e72414611a0bf772edcf36ce530",
      "parents": [
        "9cb6370b017221fbee8858f7043c048a521c31a7"
      ],
      "author": {
        "name": "Tim Burks",
        "email": "timburks@google.com",
        "time": "Tue Jul 14 20:24:18 2020"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Tue Jul 14 20:24:18 2020"
      },
      "message": "Update gnostic to use yaml.v3 (#194)\n\n* small steps toward yaml.v3 conversion\r\n\r\n* Read and write json schemas with yaml.v3\r\n\r\n* rewrite helpers to yaml.v3 (project fails to compile)\r\n\r\n* major rework, compiles and passes some tests\r\n\r\n* passing most of the core tests\r\n\r\n* ugly-passing all unit tests\r\n\r\n(requires hand-editing the generated main.go files for extensions, to-fix next)\r\n\r\n* cleaner passing of unit tests, all generated files are propertly generated now.\r\n\r\n* many type assertions eliminated\r\n\r\n* minor renaming\r\n\r\n* Update company name.\r\n\r\n* regenerate OpenAPIv2.go to remove experimental code (accidentally added)\r\n\r\n* fix openapiv3.proto to maintain Info field order, go mod tidy, regen go.sum\r\n\r\n* Add new ParseDocument() functions to directly read OpenAPI v2 and v3 docs from bytes."
    },
    {
      "commit": "9cb6370b017221fbee8858f7043c048a521c31a7",
      "tree": "9d5a97944b23f67577c17a0322bb4b88a2b5c49c",
      "parents": [
        "ae26236156ff98d8de9d2bad34d4103b487b0a9a"
      ],
      "author": {
        "name": "Nicole Marie Gizzo",
        "email": "gizzon@rpi.edu",
        "time": "Tue Jul 14 17:54:41 2020"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Tue Jul 14 17:54:41 2020"
      },
      "message": "Created a mvp API Linter plugin that supports both v2 and v3 (#192)\n\n* Created a mvp API Linter plugin that supports both v2 and v3\r\n\r\n* Included fixes for naming/code organization comments on PR request\r\n\r\nCo-authored-by: Tim Burks \u003ctimburks@google.com\u003e"
    },
    {
      "commit": "ae26236156ff98d8de9d2bad34d4103b487b0a9a",
      "tree": "4f10fb01e56b1051652a5621a7c8173dae0de74b",
      "parents": [
        "f9af143b78f80b85ef91a5fe40ede723eca639c1"
      ],
      "author": {
        "name": "Nicole Marie Gizzo",
        "email": "gizzon@rpi.edu",
        "time": "Tue Jun 23 21:48:29 2020"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Tue Jun 23 21:48:29 2020"
      },
      "message": "Linter App (#191)\n\n* Started v3\r\n\r\n* Added schemas and responses to schemas map\r\n\r\n* Cleaned up the the v2 and v3 processing files\r\n\r\n* Created plugin for the vocabulary app\r\n\r\n* Finished vocabulary plug in\r\n\r\n* Removed the app vocabulary because it has moved to plugins\r\n\r\n* Created tests for vocabulary plugin\r\n\r\n* Included changes suggested on PR\r\n\r\n* Included additional suggestions made in the PR\r\n\r\n* Added space to sampe file\r\n\r\n* Deleted sample files, renamed parameter and changed names map to parameter map\r\n\r\n* Filled parameter typo\r\n\r\n* Created initial version of summarize-vocabulary\r\n\r\n* Completed summarize-vocabulary\r\n\r\n* Fixed header\r\n\r\n* Added suggestions for renaming and providing an error message if no arguments are provided\r\n\r\n* Fixed semantic error in grouping\r\n\r\n* Fixed semantic errors\r\n\r\n* Updated tests for new output\r\n\r\n* Created app for vocabulary operations\r\n\r\n* Created files for vocabulary oeprations\r\n\r\n* Finished and cleaned up the vocabulary operations app\r\n\r\n* Deleted the summarize-vocabulary app because it was replace by union in the vocabulary-operations app\r\n\r\n* Created a README.md for the vocabulary-operations app\r\n\r\n* Include GoDoc styled comments and deleted the vocabulary-difference app\r\n\r\n* Created vocabulary package and included license headers\r\n\r\n* Created tests for vocabulary operations and moved package to metrics\r\n\r\n* Created new operation which finds the unique terms for each vocabulary in a company. Included suggestions from PR\r\n\r\n* Renamed vocab and updated the flag name\r\n\r\n* Created app that will parse linter from spectral and ibm into proto structure\r\n\r\n* Added changes so vocabulary generator could be called from outside the plugin\r\n\r\n* Created teststo support new structure, coverage ~ 81%\r\n\r\n* Fixed typo\r\n\r\n* Renamed proto for linting, added functions to package lint\r\n\r\n* Implemented 122 and 140 for linter\r\n\r\n* Minor renaming\r\n\r\n* Fixed api -\u003e aip and removed print statements\r\n\r\n* Added error handling to WritePb()\r\n\r\n* Added error handling to WriteCSV()"
    },
    {
      "commit": "f9af143b78f80b85ef91a5fe40ede723eca639c1",
      "tree": "917df2aaf6045629eba1d737d6fac433f1062bbe",
      "parents": [
        "ead8eb310e6918dc6650c70371f6356cdd60ba45"
      ],
      "author": {
        "name": "Nicole Marie Gizzo",
        "email": "gizzon@rpi.edu",
        "time": "Thu Jun 11 21:05:16 2020"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Thu Jun 11 21:05:16 2020"
      },
      "message": "vocabulary-operations (#190)\n\n* Started v3\r\n\r\n* Added schemas and responses to schemas map\r\n\r\n* Cleaned up the the v2 and v3 processing files\r\n\r\n* Created plugin for the vocabulary app\r\n\r\n* Finished vocabulary plug in\r\n\r\n* Removed the app vocabulary because it has moved to plugins\r\n\r\n* Created tests for vocabulary plugin\r\n\r\n* Included changes suggested on PR\r\n\r\n* Included additional suggestions made in the PR\r\n\r\n* Added space to sampe file\r\n\r\n* Deleted sample files, renamed parameter and changed names map to parameter map\r\n\r\n* Filled parameter typo\r\n\r\n* Created initial version of summarize-vocabulary\r\n\r\n* Completed summarize-vocabulary\r\n\r\n* Fixed header\r\n\r\n* Added suggestions for renaming and providing an error message if no arguments are provided\r\n\r\n* Fixed semantic error in grouping\r\n\r\n* Fixed semantic errors\r\n\r\n* Updated tests for new output\r\n\r\n* Created app for vocabulary operations\r\n\r\n* Created files for vocabulary oeprations\r\n\r\n* Finished and cleaned up the vocabulary operations app\r\n\r\n* Deleted the summarize-vocabulary app because it was replace by union in the vocabulary-operations app\r\n\r\n* Created a README.md for the vocabulary-operations app\r\n\r\n* Include GoDoc styled comments and deleted the vocabulary-difference app\r\n\r\n* Created vocabulary package and included license headers\r\n\r\n* Created tests for vocabulary operations and moved package to metrics\r\n\r\n* Created new operation which finds the unique terms for each vocabulary in a company. Included suggestions from PR\r\n\r\n* Renamed vocab and updated the flag name\r\n\r\nCo-authored-by: Tim Burks \u003ctimburks@google.com\u003e"
    },
    {
      "commit": "ead8eb310e6918dc6650c70371f6356cdd60ba45",
      "tree": "51d79586d6c48d374bf6a46dc44ee6e3415ff040",
      "parents": [
        "d1505c90fe2e1d9ca97276f1e3622711cfa5dd2c"
      ],
      "author": {
        "name": "Tim Burks",
        "email": "timburks@google.com",
        "time": "Mon Jun 08 18:53:59 2020"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Mon Jun 08 18:53:59 2020"
      },
      "message": "Include generated jsonschema/base.go (#189)\n\nAvoid complications like #188 by consistently keeping generated code in the repo."
    },
    {
      "commit": "d1505c90fe2e1d9ca97276f1e3622711cfa5dd2c",
      "tree": "71401a36226e31caffbbde55602340e28c27365b",
      "parents": [
        "72146ea67c41e5e59e4ca9ee9e197ed5b13a7cff"
      ],
      "author": {
        "name": "Tim Burks",
        "email": "timburks@google.com",
        "time": "Mon Jun 08 18:25:54 2020"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Mon Jun 08 18:25:54 2020"
      },
      "message": "Fix crash found by fuzzing. (#187)\n\n"
    },
    {
      "commit": "72146ea67c41e5e59e4ca9ee9e197ed5b13a7cff",
      "tree": "eca7af7ba85ae829bdbfdb8c45b59cfe450edeb9",
      "parents": [
        "99a94f7512f97219e79fba6fa44b570f96267d68"
      ],
      "author": {
        "name": "Tim Burks",
        "email": "timburks@google.com",
        "time": "Mon Jun 08 18:24:26 2020"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Mon Jun 08 18:24:26 2020"
      },
      "message": "Use prettier (via tools/pretty.sh) to format all README.md files. (#186)\n\n"
    },
    {
      "commit": "99a94f7512f97219e79fba6fa44b570f96267d68",
      "tree": "a8f4ac8818a9eb6cba01a9e18a6e420ce208d776",
      "parents": [
        "0319aeb5430dedc832487f5adb6fb37729fcb4e3"
      ],
      "author": {
        "name": "Tim Burks",
        "email": "timburks@google.com",
        "time": "Sun Jun 07 19:54:54 2020"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Sun Jun 07 19:54:54 2020"
      },
      "message": "Generate jsonschema/base.go (a compiled-in version of jsonschema/schema.json) (#185)\n\n* Generate jsonschema/base.go (a compiled-in version of jsonschema/schema.json).\r\n\r\nThis commit uses \"go generate\" to embed jsonschema/schema.json in the\r\njsonschema package so that it is no longer read at runtime. Prior to this\r\nreads would fail if gnostic was not installed in the usual place in a\r\nuser\u0027s GOPATH, and as Go module usage has become common, this has led\r\nto common build failures.\r\n\r\nHere we also replace the \"COMPILE-PROTOS.sh\" with \"go generate ./...\", which\r\ncauses both COMPILE-PROTOS.sh to be run (since it is called for in gnostic.go)\r\nand jsonschema/generate-base.go to be run (due to the go:generate comment in\r\njsonschema/reader.go).\r\n\r\n* Update README with current requirements for installation, usage, and code generation."
    },
    {
      "commit": "0319aeb5430dedc832487f5adb6fb37729fcb4e3",
      "tree": "feffe076be88c2e28d77e42e97eb0a4dfea8843d",
      "parents": [
        "899eab8441dbf2eb1b04933d8f3777849fff398c"
      ],
      "author": {
        "name": "Tim Burks",
        "email": "timburks@google.com",
        "time": "Sun Jun 07 19:50:00 2020"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Sun Jun 07 19:50:00 2020"
      },
      "message": "Since some tests run separately-built binaries, clear the cache in \"make test\". (#184)\n\n"
    },
    {
      "commit": "899eab8441dbf2eb1b04933d8f3777849fff398c",
      "tree": "cb4184e1a83f8fe67f85038901f48b9ad39ec215",
      "parents": [
        "d873db5ef512229d8a538d6a588ff9b03a472648"
      ],
      "author": {
        "name": "Nicole Marie Gizzo",
        "email": "gizzon@rpi.edu",
        "time": "Sat Jun 06 03:37:45 2020"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Sat Jun 06 03:37:45 2020"
      },
      "message": "Summarize vocabulary (#183)\n\n* Started v3\r\n\r\n* Added schemas and responses to schemas map\r\n\r\n* Cleaned up the the v2 and v3 processing files\r\n\r\n* Created plugin for the vocabulary app\r\n\r\n* Finished vocabulary plug in\r\n\r\n* Removed the app vocabulary because it has moved to plugins\r\n\r\n* Created tests for vocabulary plugin\r\n\r\n* Included changes suggested on PR\r\n\r\n* Included additional suggestions made in the PR\r\n\r\n* Added space to sampe file\r\n\r\n* Deleted sample files, renamed parameter and changed names map to parameter map\r\n\r\n* Filled parameter typo\r\n\r\n* Created initial version of summarize-vocabulary\r\n\r\n* Completed summarize-vocabulary\r\n\r\n* Fixed header\r\n\r\n* Added suggestions for renaming and providing an error message if no arguments are provided\r\n\r\n* Fixed semantic error in grouping\r\n\r\n* Fixed semantic errors\r\n\r\n* Updated tests for new output"
    },
    {
      "commit": "d873db5ef512229d8a538d6a588ff9b03a472648",
      "tree": "1483a576442ef35b2a8ca2ab9e01d961d1226097",
      "parents": [
        "27fa43f634c806ce84102ed57b77da04e4f8c5c1"
      ],
      "author": {
        "name": "Tim Burks",
        "email": "timburks@google.com",
        "time": "Fri Jun 05 18:11:32 2020"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Fri Jun 05 18:11:32 2020"
      },
      "message": "Disable surface model generation with --no-surface. (#182)\n\n* Put output files in the same directory as their associated input files.\r\n\r\nWhen a directory name is specified as a gnostic output directory,\r\nfiles were previously written directly to that directory. With this\r\nchange, files will be written into the same directory as the source\r\nfile that gnostic read. This is most helpful when gnostic is run\r\nover a collection of files using a tool like \"find\":\r\n\r\n```find -name \"openapi.yaml\" --pb_out\u003d.```\r\n\r\nPreviously this would write all of the outputs onto a single file\r\n(overwriting all but the last file written). Now this writes the\r\noutputs in the same directory as the source files, e.g. in\r\n`myapi/2.0/openapi.pb` (for an API spec at `myapi/2.0/openapi.yaml`).\r\n\r\nThis required updates to tests to match the new behavior, and the\r\nswagger.text file that is deleted probably should have never been\r\nchecked in.\r\n\r\n* Create intermediate directories if needed.\r\n\r\n* Make surface model generation optional and controlled by a flag.\r\n\r\n* Make surface generation on by default, disable with --no-surface.\r\n\r\n* Remove unnecessary --surface switch; we can add it if we need it."
    },
    {
      "commit": "27fa43f634c806ce84102ed57b77da04e4f8c5c1",
      "tree": "6bdb3918bc2a39b84eb2393c0e195e3b58fbc19d",
      "parents": [
        "a5cca12140ed038d4aa05fa2a31d7dd4ac37ce8a"
      ],
      "author": {
        "name": "Tim Burks",
        "email": "timburks@google.com",
        "time": "Fri Jun 05 18:10:50 2020"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Fri Jun 05 18:10:50 2020"
      },
      "message": "Put output files in the same directory as their associated input files. (#180)\n\n* Put output files in the same directory as their associated input files.\r\n\r\nWhen a directory name is specified as a gnostic output directory,\r\nfiles were previously written directly to that directory. With this\r\nchange, files will be written into the same directory as the source\r\nfile that gnostic read. This is most helpful when gnostic is run\r\nover a collection of files using a tool like \"find\":\r\n\r\n```find -name \"openapi.yaml\" --pb_out\u003d.```\r\n\r\nPreviously this would write all of the outputs onto a single file\r\n(overwriting all but the last file written). Now this writes the\r\noutputs in the same directory as the source files, e.g. in\r\n`myapi/2.0/openapi.pb` (for an API spec at `myapi/2.0/openapi.yaml`).\r\n\r\nThis required updates to tests to match the new behavior, and the\r\nswagger.text file that is deleted probably should have never been\r\nchecked in.\r\n\r\n* Create intermediate directories if needed."
    },
    {
      "commit": "a5cca12140ed038d4aa05fa2a31d7dd4ac37ce8a",
      "tree": "5809dd7fc064cefd9ffcc955542254de7a2de839",
      "parents": [
        "d95c059ece6028472f0478cca1133d182ae0a150"
      ],
      "author": {
        "name": "Nicole Marie Gizzo",
        "email": "gizzon@rpi.edu",
        "time": "Fri Jun 05 18:06:05 2020"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Fri Jun 05 18:06:05 2020"
      },
      "message": "Summarize vocabulary (#181)\n\n* Started v3\r\n\r\n* Added schemas and responses to schemas map\r\n\r\n* Cleaned up the the v2 and v3 processing files\r\n\r\n* Created plugin for the vocabulary app\r\n\r\n* Finished vocabulary plug in\r\n\r\n* Removed the app vocabulary because it has moved to plugins\r\n\r\n* Created tests for vocabulary plugin\r\n\r\n* Included changes suggested on PR\r\n\r\n* Included additional suggestions made in the PR\r\n\r\n* Added space to sampe file\r\n\r\n* Deleted sample files, renamed parameter and changed names map to parameter map\r\n\r\n* Filled parameter typo\r\n\r\n* Created initial version of summarize-vocabulary\r\n\r\n* Completed summarize-vocabulary\r\n\r\n* Fixed header\r\n\r\n* Added suggestions for renaming and providing an error message if no arguments are provided"
    },
    {
      "commit": "d95c059ece6028472f0478cca1133d182ae0a150",
      "tree": "331317aa257198b289b507bf0ca710f9e285ea85",
      "parents": [
        "966d1db85478bfc429e977406e81cd650506581c"
      ],
      "author": {
        "name": "Tim Burks",
        "email": "timburks@google.com",
        "time": "Thu Jun 04 17:27:56 2020"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Thu Jun 04 17:27:56 2020"
      },
      "message": "gnostic-complexity: new plugin that computes simple complexity metrics (#179)\n\n* Add new gnostic-complexity plugin to compute complexity metrics.\r\n\r\n* Add updated (regenerated) proto files"
    },
    {
      "commit": "966d1db85478bfc429e977406e81cd650506581c",
      "tree": "6428a19c587d4d867eca5355b48735614ba4c6bb",
      "parents": [
        "0a63761200c38b7673dae04a191f01ef6c17a7f0"
      ],
      "author": {
        "name": "Tim Burks",
        "email": "timburks@google.com",
        "time": "Thu Jun 04 17:26:19 2020"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Thu Jun 04 17:26:19 2020"
      },
      "message": "gnostic-summary: fix plugin to write output in the same directory as its input file. (#178)\n\n* gnostic-summary writes output in the same directory as its input file.\r\n\r\nModify the file name generation so that \"summary.txt\" gets written\r\nin the same directory as the input spec. This is typically only relevant\r\nwhen gnostic is run on an input file with a hierarchical path, e.g.\r\n\r\n  gnostic xkcd.com/1.0.0/openapi.yaml --errors_out\u003d.\r\n\r\n* Update plugin test data."
    },
    {
      "commit": "0a63761200c38b7673dae04a191f01ef6c17a7f0",
      "tree": "7c93bfe001ad3c4ab8a37cb8e4c159e2d6643f5e",
      "parents": [
        "e775a79eb78f03b399d0851d7983dd528247813f"
      ],
      "author": {
        "name": "Nicole Marie Gizzo",
        "email": "gizzon@rpi.edu",
        "time": "Wed Jun 03 21:52:28 2020"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Wed Jun 03 21:52:28 2020"
      },
      "message": "gnostic-vocabulary: new plugin that computes word usage counts (#177)\n\n* Started v3\r\n\r\n* Added schemas and responses to schemas map\r\n\r\n* Cleaned up the the v2 and v3 processing files\r\n\r\n* Created plugin for the vocabulary app\r\n\r\n* Finished vocabulary plug in\r\n\r\n* Removed the app vocabulary because it has moved to plugins\r\n\r\n* Created tests for vocabulary plugin\r\n\r\n* Included changes suggested on PR\r\n\r\n* Included additional suggestions made in the PR\r\n\r\n* Added space to sampe file\r\n\r\n* Deleted sample files, renamed parameter and changed names map to parameter map\r\n\r\n* Filled parameter typo\r\n\r\nCo-authored-by: Tim Burks \u003ctimburks@google.com\u003e"
    },
    {
      "commit": "e775a79eb78f03b399d0851d7983dd528247813f",
      "tree": "7c93bfe001ad3c4ab8a37cb8e4c159e2d6643f5e",
      "parents": [
        "dc944c73475a863ef91874a09a87e8b2da4054e7"
      ],
      "author": {
        "name": "Tim Burks",
        "email": "timburks@google.com",
        "time": "Wed Jun 03 21:46:57 2020"
      },
      "committer": {
        "name": "Tim Burks",
        "email": "timburks@google.com",
        "time": "Wed Jun 03 21:46:57 2020"
      },
      "message": "merging vocab_plugin from gizzon\n"
    },
    {
      "commit": "dc944c73475a863ef91874a09a87e8b2da4054e7",
      "tree": "ed9d9faee1ce03297f6eeac540b45f8dc0706015",
      "parents": [
        "3186047a3895833a0ebab50c67e443ebcfe68d85"
      ],
      "author": {
        "name": "Nicole Marie Gizzo",
        "email": "gizzon@rpi.edu",
        "time": "Mon Jun 01 20:12:44 2020"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Mon Jun 01 20:12:44 2020"
      },
      "message": "Vocabulary App for V2 and V3 (#176)\n\n* Started v3\r\n\r\n* Added schemas and responses to schemas map\r\n\r\n* Cleaned up the the v2 and v3 processing files"
    },
    {
      "commit": "3186047a3895833a0ebab50c67e443ebcfe68d85",
      "tree": "93e4f32db059973b17eb4c62cb50c2fa731ab1b5",
      "parents": [
        "89741bb7d0e0eccb64d6679ed9faa30d58edeb20"
      ],
      "author": {
        "name": "Nicole Marie Gizzo",
        "email": "gizzon@rpi.edu",
        "time": "Fri May 29 16:30:32 2020"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Fri May 29 16:30:32 2020"
      },
      "message": "Vocabulary: New App (#175)\n\n* Initial fieldnames app\r\n\r\n* Date and Corp rights changed\r\n\r\n* Created groups\r\n\r\n* Added support for Put, Patch and Delete\r\n\r\n* Generated proto code to build and serialize data\r\n\r\n* Delete main.go\r\n\r\n* Added Tim\u0027s suggestions\r\n\r\n* Typo change\r\n\r\n* Made changes to reflect Noah\u0027s suggestions\r\n\r\n* Final changes and tidying up"
    },
    {
      "commit": "89741bb7d0e0eccb64d6679ed9faa30d58edeb20",
      "tree": "0c644ff12736d824e691ed46f43d41079ba37e6f",
      "parents": [
        "57a06a8ff3b3b71f050dd7221438b6828d80813c"
      ],
      "author": {
        "name": "Lorenz Hofmann-Wellenhof",
        "email": "lorenzhofmann.w@gmail.com",
        "time": "Wed May 20 19:28:01 2020"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Wed May 20 19:28:01 2020"
      },
      "message": "Add support for enum arrays. (#173)\n\n"
    },
    {
      "commit": "57a06a8ff3b3b71f050dd7221438b6828d80813c",
      "tree": "e0234ecb5d785de9504e87527369e9b2b24caf27",
      "parents": [
        "db7bb52d83a23cff1f2c647ce2ba0d6595fe64ed"
      ],
      "author": {
        "name": "Lorenz Hofmann-Wellenhof",
        "email": "lorenzhofmann.w@gmail.com",
        "time": "Tue May 19 19:59:51 2020"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Tue May 19 19:59:51 2020"
      },
      "message": "Add enum values to surface model (#172)\n\n* Adding enum values to the surface model.\r\n\r\n* Regenerate surface.pb.go with newer protoc-gen-go version and protoc version."
    },
    {
      "commit": "db7bb52d83a23cff1f2c647ce2ba0d6595fe64ed",
      "tree": "4b938a55bc34b902199b8b9d9123e667b98f6d94",
      "parents": [
        "428ada5e5547af95eb370db4c0528778062dfbc1"
      ],
      "author": {
        "name": "Lorenz Hofmann-Wellenhof",
        "email": "lorenzhofmann.w@gmail.com",
        "time": "Mon May 18 14:56:58 2020"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Mon May 18 14:56:58 2020"
      },
      "message": "Handle OneOf, AnyOf, and AllOf sub schemas (#169)\n\n* A better approach to handle OneOf, AnyOf, and AllOf sub schemas.\r\n\r\n* Use \"Request\" suffix instead of \"Parameters\" suffix for types of operations.\r\n\r\n* Flattening referenced allOf, anyOf, oneOf schema + general refactoring.\r\n\r\n* Changing back \"Request\" to \"Parameters\"; prettifying code\r\n\r\n* Logging warning in case referenced schema can\u0027t be found.\r\n\r\n* Typo"
    },
    {
      "commit": "428ada5e5547af95eb370db4c0528778062dfbc1",
      "tree": "80e0c75e75bfcd5a5058c43a766002cedba73030",
      "parents": [
        "6b562c40853f882e676067b9c16f95cb302b7f66"
      ],
      "author": {
        "name": "Tim Burks",
        "email": "timburks@google.com",
        "time": "Mon Apr 27 21:12:52 2020"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Mon Apr 27 21:12:52 2020"
      },
      "message": "Schema updates (#166)\n\n* Update generate-gnostic tool to generate go_package options.\r\n\r\nOption values follow the suggestions from protoc:\r\n\r\n2020/04/23 10:11:41 WARNING: Missing \u0027go_package\u0027 option in \"openapiv2/OpenAPIv2.proto\", please specify:\r\n\toption go_package \u003d \"openapiv2;openapi_v2\";\r\nA future release of protoc-gen-go will require this be specified.\r\nSee https://developers.google.com/protocol-buffers/docs/reference/go-generated#package for more information.\r\n\r\n2020/04/23 10:11:41 WARNING: Missing \u0027go_package\u0027 option in \"openapiv3/OpenAPIv3.proto\", please specify:\r\n\toption go_package \u003d \"openapiv3;openapi_v3\";\r\nA future release of protoc-gen-go will require this be specified.\r\nSee https://developers.google.com/protocol-buffers/docs/reference/go-generated#package for more information.\r\n\r\n2020/04/23 10:11:41 WARNING: Missing \u0027go_package\u0027 option in \"discovery/discovery.proto\", please specify:\r\n\toption go_package \u003d \"discovery;discovery_v1\";\r\nA future release of protoc-gen-go will require this be specified.\r\nSee https://developers.google.com/protocol-buffers/docs/reference/go-generated#package for more information.\r\n\r\n2020/04/23 10:11:42 WARNING: Missing \u0027go_package\u0027 option in \"plugins/plugin.proto\", please specify:\r\n\toption go_package \u003d \"plugins;gnostic_plugin_v1\";\r\nA future release of protoc-gen-go will require this be specified.\r\nSee https://developers.google.com/protocol-buffers/docs/reference/go-generated#package for more information.\r\n\r\n2020/04/23 10:11:42 WARNING: Missing \u0027go_package\u0027 option in \"extensions/extension.proto\", please specify:\r\n\toption go_package \u003d \"extensions;openapiextension_v1\";\r\nA future release of protoc-gen-go will require this be specified.\r\nSee https://developers.google.com/protocol-buffers/docs/reference/go-generated#package for more information.\r\n\r\n2020/04/23 10:11:42 WARNING: Missing \u0027go_package\u0027 option in \"surface/surface.proto\", please specify:\r\n\toption go_package \u003d \"surface;surface_v1\";\r\nA future release of protoc-gen-go will require this be specified.\r\nSee https://developers.google.com/protocol-buffers/docs/reference/go-generated#package for more information.\r\n\r\n* updates and improvements to schema-based parsing.\r\n\r\nThe biggest change here is that the models for JSON references\r\nare now \"open\" and allow other keys to be specified alongside\r\n\"$ref\". Following the spec, these are ignored, where previously\r\nthey triggered error messages that caused some API descriptions\r\nto fail to parse.\r\n\r\nThis commit also contains small tweaks to the openapi-3.0.json\r\nschema that improves model coverage and a small refinement to\r\nerror printing (usage information is only printed for usage-\r\nrelated errors, fixing a problem introduced in pr#161).\r\n\r\n* Fix a bug in type generation.\r\n\r\nSchemas that are nested in other schemas are discovered\r\nas those schemas are expanded. This wasn\u0027t an issue\r\nfor the OpenAPI schemas, but the Discovery schema has a\r\n\"mediaUpload\" schema that contains a \"protocols\" property\r\nwith an embedded schema which in turn contains two more\r\nschemas (for the \"simple\" and \"resumable\" properties).\r\nThese schemas were being discovered when the \"protocols\"\r\nschema was being expanded and were being added to a map\r\nwhile the expansion was iterating through the map. This\r\ncaused instability - sometimes the schema types were generated,\r\nand sometimes they weren\u0027t.\r\n\r\n* Make the \"Message\" field of UsageError private."
    },
    {
      "commit": "6b562c40853f882e676067b9c16f95cb302b7f66",
      "tree": "a5bcc98104ff668401316bd70d4684b6e5881db3",
      "parents": [
        "48698603fc8546a5c75be3b16ad10abf6e53dc46"
      ],
      "author": {
        "name": "Tim Burks",
        "email": "timburks@google.com",
        "time": "Thu Apr 23 20:47:50 2020"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Thu Apr 23 20:47:50 2020"
      },
      "message": "Update generate-gnostic tool to generate go_package options. (#165)\n\nOption values follow the suggestions from protoc:\r\n\r\n2020/04/23 10:11:41 WARNING: Missing \u0027go_package\u0027 option in \"openapiv2/OpenAPIv2.proto\", please specify:\r\n\toption go_package \u003d \"openapiv2;openapi_v2\";\r\nA future release of protoc-gen-go will require this be specified.\r\nSee https://developers.google.com/protocol-buffers/docs/reference/go-generated#package for more information.\r\n\r\n2020/04/23 10:11:41 WARNING: Missing \u0027go_package\u0027 option in \"openapiv3/OpenAPIv3.proto\", please specify:\r\n\toption go_package \u003d \"openapiv3;openapi_v3\";\r\nA future release of protoc-gen-go will require this be specified.\r\nSee https://developers.google.com/protocol-buffers/docs/reference/go-generated#package for more information.\r\n\r\n2020/04/23 10:11:41 WARNING: Missing \u0027go_package\u0027 option in \"discovery/discovery.proto\", please specify:\r\n\toption go_package \u003d \"discovery;discovery_v1\";\r\nA future release of protoc-gen-go will require this be specified.\r\nSee https://developers.google.com/protocol-buffers/docs/reference/go-generated#package for more information.\r\n\r\n2020/04/23 10:11:42 WARNING: Missing \u0027go_package\u0027 option in \"plugins/plugin.proto\", please specify:\r\n\toption go_package \u003d \"plugins;gnostic_plugin_v1\";\r\nA future release of protoc-gen-go will require this be specified.\r\nSee https://developers.google.com/protocol-buffers/docs/reference/go-generated#package for more information.\r\n\r\n2020/04/23 10:11:42 WARNING: Missing \u0027go_package\u0027 option in \"extensions/extension.proto\", please specify:\r\n\toption go_package \u003d \"extensions;openapiextension_v1\";\r\nA future release of protoc-gen-go will require this be specified.\r\nSee https://developers.google.com/protocol-buffers/docs/reference/go-generated#package for more information.\r\n\r\n2020/04/23 10:11:42 WARNING: Missing \u0027go_package\u0027 option in \"surface/surface.proto\", please specify:\r\n\toption go_package \u003d \"surface;surface_v1\";\r\nA future release of protoc-gen-go will require this be specified.\r\nSee https://developers.google.com/protocol-buffers/docs/reference/go-generated#package for more information."
    },
    {
      "commit": "48698603fc8546a5c75be3b16ad10abf6e53dc46",
      "tree": "a705aaa02c4e74eeded37eb60e188e8023816d73",
      "parents": [
        "63cf2e7cadd69ce4c56245bf69d87afa8d5942ac"
      ],
      "author": {
        "name": "Tim Burks",
        "email": "timburks@google.com",
        "time": "Wed Apr 22 21:44:44 2020"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Wed Apr 22 21:44:44 2020"
      },
      "message": "Fix test broken by PR#163 (#164)\n\n* Synchronize accesses to reader cache maps.\r\n\r\n* Add comment explaining locking of reader cache maps.\r\n\r\n* fix deadlock in reader test"
    },
    {
      "commit": "63cf2e7cadd69ce4c56245bf69d87afa8d5942ac",
      "tree": "ad180a46844f636a19917e1b05dda4deb4287866",
      "parents": [
        "1b6d7e7d916535a33fb134161db1c91cd092a337"
      ],
      "author": {
        "name": "Tim Burks",
        "email": "timburks@google.com",
        "time": "Wed Apr 22 19:51:04 2020"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Wed Apr 22 19:51:04 2020"
      },
      "message": "Synchronize accesses to reader cache maps. (#163)\n\n* Synchronize accesses to reader cache maps.\r\n\r\n* Add comment explaining locking of reader cache maps."
    },
    {
      "commit": "1b6d7e7d916535a33fb134161db1c91cd092a337",
      "tree": "be72d0c35a55c70d927c81077ae2b792c96213fa",
      "parents": [
        "dfc401101e6733285567cc2e56f11b2394127202"
      ],
      "author": {
        "name": "Tim Burks",
        "email": "timburks@google.com",
        "time": "Wed Apr 08 20:49:57 2020"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Wed Apr 08 20:49:57 2020"
      },
      "message": "Display usage information on errors and when the --help option is given. (#161)\n\n"
    },
    {
      "commit": "dfc401101e6733285567cc2e56f11b2394127202",
      "tree": "650e02d2504bb471da6881a27592516900e1ac0d",
      "parents": [
        "896953e6749863beec38e27029c804e88c3144b8"
      ],
      "author": {
        "name": "Tim Burks",
        "email": "timburks@google.com",
        "time": "Tue Mar 17 17:45:52 2020"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Tue Mar 17 17:45:52 2020"
      },
      "message": "Add mtlsRootUrl property to Discovery schema. (#158)\n\n"
    },
    {
      "commit": "896953e6749863beec38e27029c804e88c3144b8",
      "tree": "698a6ea437cf287e3d72e0b8b75d504da20f4222",
      "parents": [
        "81b31a2e6e4e01906a76b0df5ed2a18a4b3a81c9"
      ],
      "author": {
        "name": "Tim Burks",
        "email": "timburks@google.com",
        "time": "Fri Jan 31 18:42:08 2020"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Fri Jan 31 18:42:08 2020"
      },
      "message": "Lower-case OpenAPIv2 and OpenAPIv3 dirs to follow style guide. (#155)\n\nhttps://blog.golang.org/package-names"
    },
    {
      "commit": "81b31a2e6e4e01906a76b0df5ed2a18a4b3a81c9",
      "tree": "62f21eaa8593e8238003ed509cf57c4c5c9553bf",
      "parents": [
        "bb1011a398cb41bd2564ac34b25fce5fc9e53328"
      ],
      "author": {
        "name": "Tim Burks",
        "email": "timburks@google.com",
        "time": "Thu Jan 30 23:20:22 2020"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Thu Jan 30 23:20:22 2020"
      },
      "message": "Update Makefile to run all tests (and fixed broken tests). (#154)\n\n* Update Makefile to run all tests (and fixed broken tests).\r\n\r\n* Update go.mod and go.sum\r\n\r\n* Update go.mod dependency on check.v1, make references explicit.\r\n\r\n* Update Travis CI to use go 1.13\r\n"
    },
    {
      "commit": "bb1011a398cb41bd2564ac34b25fce5fc9e53328",
      "tree": "66a665739f7e2a7f4ef2a3d55a5bd298fc7d6c51",
      "parents": [
        "99384834bf8c58ce7ab88db353283bedcb53e1ca"
      ],
      "author": {
        "name": "Tim Burks",
        "email": "timburks@google.com",
        "time": "Thu Jan 30 21:41:32 2020"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Thu Jan 30 21:41:32 2020"
      },
      "message": "Reorganize tests. (#153)\n\n* Reorganize tests.\r\n\r\nThe top-level tests now use a \"lib\" version of Gnostic\r\nto run in a single process, which allows them to run in\r\ntest environments that require that.\r\n\r\nPlugin and extension tests are moved into their respective\r\ndirectories and are run from \"make test\" which is also\r\nused by .travis.yaml to run these tests in CI. One sample\r\napp (petstore-builder) is also tested in this way.\r\n\r\nTo avoid confusing the \"make\" tool, the \"test\" directory\r\nis renamed \"testdata\".\r\n\r\n* Simplify Makefile-based tests (on advice from noahdietz@)\r\n"
    },
    {
      "commit": "99384834bf8c58ce7ab88db353283bedcb53e1ca",
      "tree": "c2ba595d28a4687059a733e96660b4251e2b9fa8",
      "parents": [
        "b0434064943f0a8a6b6e95753da1c816f3fc97a5"
      ],
      "author": {
        "name": "Tim Burks",
        "email": "timburks@google.com",
        "time": "Mon Jan 06 19:23:35 2020"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Mon Jan 06 19:23:35 2020"
      },
      "message": "Add plugin development helpers and verbose flag for plugins. (#152)\n\n* Add plugin development helpers and --verbose flag for plugins.\r\n"
    },
    {
      "commit": "b0434064943f0a8a6b6e95753da1c816f3fc97a5",
      "tree": "68549190be35b50ff496cd302b400b5a3ccf4f0d",
      "parents": [
        "dde5565d98663c4c06e162ffd3fb829ec84a46d8"
      ],
      "author": {
        "name": "Tim Burks",
        "email": "timburks@google.com",
        "time": "Sat Jan 04 17:44:53 2020"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Sat Jan 04 17:44:53 2020"
      },
      "message": "Remove swift code (to a separate repo). (#132)\n\n"
    },
    {
      "commit": "dde5565d98663c4c06e162ffd3fb829ec84a46d8",
      "tree": "f43b6c489842ca689623dca5b98fc8b2533f005a",
      "parents": [
        "b0a17e38ce1aad0c792ef9efd1810364be151db4"
      ],
      "author": {
        "name": "Tim Burks",
        "email": "timburks@google.com",
        "time": "Wed Oct 23 00:48:41 2019"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Wed Oct 23 00:48:41 2019"
      },
      "message": "Update OpenAPIv3.proto to support OpenAPI 3.1 (#148)\n\nThis effectively makes two changes:\r\n- adding specification extensions to discriminators\r\n- adding a summary string field to info objects\r\n\r\nTo maintain wire format compatibility with the previous\r\nOpenAPIv3.proto, after proto generation (with gnostic-generator)\r\nthe info field indexes were set back to their original values\r\nand the summary field was given a fresh index at the end\r\nof the list. Automatic maintenance of compatible field numbers\r\nis left for (possible) future work."
    },
    {
      "commit": "b0a17e38ce1aad0c792ef9efd1810364be151db4",
      "tree": "5afa58ac5ccae2a89afb2ea6fe7c9dca5080e571",
      "parents": [
        "635450e9295f7f2152813591fb680f37a0355af9"
      ],
      "author": {
        "name": "Tim Burks",
        "email": "timburks@google.com",
        "time": "Mon Oct 07 15:48:37 2019"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Mon Oct 07 15:48:37 2019"
      },
      "message": "Remove messages about responses with no contents. (#150)\n\nDuring surface-building, we were logging messages about empty response bodies which suggested these were problems. In some situations (e.g. deletes), this can be a desired behavior, so we remove the messages."
    },
    {
      "commit": "635450e9295f7f2152813591fb680f37a0355af9",
      "tree": "f5eacbe85562f3af687b1bae183927fd301fe27e",
      "parents": [
        "5b21ca1c19aa52ca21bcd9ed128f8eb2936c71d8"
      ],
      "author": {
        "name": "Tim Burks",
        "email": "timburks@google.com",
        "time": "Wed Aug 28 01:00:02 2019"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Wed Aug 28 01:00:02 2019"
      },
      "message": "Move core of apps/disco into top-level packages. (#146)\n\nFunctions for reading and parsing discovery documents\r\nare moved to the \"discovery\" package and functions\r\nfor converting between formats are moved to the\r\n\"conversions\" package."
    },
    {
      "commit": "5b21ca1c19aa52ca21bcd9ed128f8eb2936c71d8",
      "tree": "ba81373bb27c78c9f277bd9ba94ecfd14a844e41",
      "parents": [
        "ee703ec34d5af83cfff23e805a7b0c65c8222360"
      ],
      "author": {
        "name": "Lorenz Hofmann-Wellenhof",
        "email": "lorenzhofmann.w@gmail.com",
        "time": "Mon Aug 19 20:51:51 2019"
      },
      "committer": {
        "name": "Tim Burks",
        "email": "timburks@google.com",
        "time": "Mon Aug 19 20:51:51 2019"
      },
      "message": "Making surface model not dependent on source name in case we don\u0027t find it; generating a generic type for empty objects; (#145)\n\n"
    },
    {
      "commit": "ee703ec34d5af83cfff23e805a7b0c65c8222360",
      "tree": "aca031aaca7dc6797dcc9d88a380d68fb893a57f",
      "parents": [
        "b55395fa70a0b3234940ae70bf5b5b34a296d480"
      ],
      "author": {
        "name": "Tim Burks",
        "email": "timburks@google.com",
        "time": "Fri Aug 16 17:11:17 2019"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Fri Aug 16 17:11:17 2019"
      },
      "message": "Update field names in surface.proto to use snake case. (#144)\n\nBecause the Go protobuf code generator converts snake case\r\nfield names to camel case Go field names, this change does\r\nnot seem to break client compatibility."
    },
    {
      "commit": "b55395fa70a0b3234940ae70bf5b5b34a296d480",
      "tree": "db9e08abe6a91ad79e23ebebf9e14d39956f64f7",
      "parents": [
        "ab0dd09aa10e2952b28e12ecd35681b20463ebab"
      ],
      "author": {
        "name": "Tim Burks",
        "email": "timburks@google.com",
        "time": "Thu Aug 15 21:36:27 2019"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Thu Aug 15 21:36:27 2019"
      },
      "message": "Fix incorrect URL in README. (#143)\n\n"
    },
    {
      "commit": "ab0dd09aa10e2952b28e12ecd35681b20463ebab",
      "tree": "8cc05e198668daf73bf43ddcc2099cc9a93512c0",
      "parents": [
        "2cd1770abea2142aac63457a545e906881551c54"
      ],
      "author": {
        "name": "Tim Burks",
        "email": "timburks@google.com",
        "time": "Thu Aug 15 21:21:28 2019"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Thu Aug 15 21:21:28 2019"
      },
      "message": "Update build configurations to use Go modules. (#142)\n\n* Update build configurations to use Go modules.\r\n\r\n* Remove unneeded proto compilation options.\r\n\r\n* Full go get (./...) for all nested projects.\r\n"
    },
    {
      "commit": "2cd1770abea2142aac63457a545e906881551c54",
      "tree": "63620b9a1386b68f9981670808500c5787516650",
      "parents": [
        "befc73399ead2f6f651127db62231ffb9eacde8c"
      ],
      "author": {
        "name": "Tim Burks",
        "email": "timburks@google.com",
        "time": "Thu Aug 15 16:25:32 2019"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Thu Aug 15 16:25:32 2019"
      },
      "message": "Re-adding generated files to avoid problems with \"go get\". (#141)\n\nhttps://github.com/googleapis/gnostic/issues/139"
    },
    {
      "commit": "befc73399ead2f6f651127db62231ffb9eacde8c",
      "tree": "7ad727d6752dba1ab15c9c5de43af763634430e4",
      "parents": [
        "51de230aea969b1a9d9de04e8f762f2d82c4b98a"
      ],
      "author": {
        "name": "Noah Dietz",
        "email": "noahdietz@users.noreply.github.com",
        "time": "Thu Aug 15 16:11:17 2019"
      },
      "committer": {
        "name": "Tim Burks",
        "email": "timburks@google.com",
        "time": "Thu Aug 15 16:11:17 2019"
      },
      "message": "Fix .gitignore of pb.go files (#140)\n\n"
    },
    {
      "commit": "51de230aea969b1a9d9de04e8f762f2d82c4b98a",
      "tree": "dd481bff1e375cf9b6ca37d51d8320c28448c878",
      "parents": [
        "38b64bef887268e1ba43124537daf61fbf1ca710"
      ],
      "author": {
        "name": "Tim Burks",
        "email": "timburks@google.com",
        "time": "Thu Aug 15 02:31:57 2019"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Thu Aug 15 02:31:57 2019"
      },
      "message": "Remove generated pb code. (#138)\n\n* Remove generated pb code.\r\n\r\n* Fix compile error due to extra fields in pb output\r\n\r\n* Fix problems due to additional fields in structs\r\n\r\n* Update the README.\r\n\r\nUpdate instructions to describe how to compile protos and for\r\nregenerating API description protos from JSON schemas.\r\n\r\nInclude an updated generated compiler for the Discovery format.\r\n\r\n* Update .gitignore to exclude generated pb.go files.\r\n"
    },
    {
      "commit": "38b64bef887268e1ba43124537daf61fbf1ca710",
      "tree": "ba4a00dffc43c91f73192b7072b1e1636615cb42",
      "parents": [
        "f238b8c9ba7ff7634ed84db3112366256e21b5e1"
      ],
      "author": {
        "name": "Lorenz Hofmann-Wellenhof",
        "email": "lorenzhofmann.w@gmail.com",
        "time": "Wed Aug 14 19:35:06 2019"
      },
      "committer": {
        "name": "Tim Burks",
        "email": "timburks@google.com",
        "time": "Wed Aug 14 19:35:06 2019"
      },
      "message": "Improved version of surface model for v2 (#137)\n\n* Improved version of surface model v2;\r\n\r\n* Refactoring: surface v2 uses same helper methods;\r\n"
    },
    {
      "commit": "f238b8c9ba7ff7634ed84db3112366256e21b5e1",
      "tree": "e2c8d4e34d72b7c1ce7add40eeda9186fb9af2ea",
      "parents": [
        "25d8b0b6698593f520d9d8dc5a88e6b16ca9ecc0"
      ],
      "author": {
        "name": "Lorenz Hofmann-Wellenhof",
        "email": "lorenzhofmann.w@gmail.com",
        "time": "Wed Aug 07 16:57:41 2019"
      },
      "committer": {
        "name": "Tim Burks",
        "email": "timburks@google.com",
        "time": "Wed Aug 07 16:57:41 2019"
      },
      "message": "New surface model (#136)\n\n* [WIP] building a new surface model based on recursion\r\n\r\n* further improvements to new surface model;\r\n\r\n* Further improvements: adding request bodies to method parameters; restructuring code so it is more logical readable;\r\n\r\n* Building a map schema in case of additional properties; handling referenced parameters;\r\n\r\n* Generating types and fields for default response\r\n\r\n* Relocating code;\r\n\r\n* Adding symbolic references implementation from other PR;\r\n\r\n* Adding documentation;\r\n\r\n* Creating types for components; improved schema recognition: allof, oneof, anyof, items, enums;\r\n"
    },
    {
      "commit": "25d8b0b6698593f520d9d8dc5a88e6b16ca9ecc0",
      "tree": "d1e485da62404d23985610b92a48a4c76bd71155",
      "parents": [
        "e73c7ec21d36ddb0711cb36d1502d18363b5c2c9"
      ],
      "author": {
        "name": "Lorenz Hofmann-Wellenhof",
        "email": "lorenzhofmann.w@gmail.com",
        "time": "Mon Jun 24 22:22:14 2019"
      },
      "committer": {
        "name": "Tim Burks",
        "email": "timburks@google.com",
        "time": "Mon Jun 24 22:22:14 2019"
      },
      "message": "Adding the position of a reference field. (#130)\n\n* Adding the position of a reference field.\r\n\r\n* Prevent that duplicated fields are added to the response type.\r\n\r\n* Setting the type for values of the map: consider the case that additionalProperties could also contain a schema and not only a reference; Consider the case that it could also be an array;\r\n\r\n* Adding requested changes\r\n"
    },
    {
      "commit": "e73c7ec21d36ddb0711cb36d1502d18363b5c2c9",
      "tree": "423c054c3ea16ccd30df1a86fc722243ce029dae",
      "parents": [
        "353f7ea4ed63032a586eac2a72e94df808e15142"
      ],
      "author": {
        "name": "Lorenz Hofmann-Wellenhof",
        "email": "lorenzhofmann.w@gmail.com",
        "time": "Thu Jun 13 17:05:08 2019"
      },
      "committer": {
        "name": "Noah Dietz",
        "email": "noahdietz@users.noreply.github.com",
        "time": "Thu Jun 13 17:05:08 2019"
      },
      "message": "Enhancements for the surface model (#128)\n\n* building types from the OpenAPI component section\r\n\r\n* building types from reference objects ($ref) for parameters, request bodies and responses\r\n\r\n* Return the format of the array rather than the format of the parent schema.\r\n"
    },
    {
      "commit": "353f7ea4ed63032a586eac2a72e94df808e15142",
      "tree": "e24fa6a67d2b352dbc1a8839390b60cd14402a9c",
      "parents": [
        "0a2f4f010d3b79437c966a9068f59ca3606c1cd3",
        "d4406a841d76e397be99dcbf77874bfbc0326e22"
      ],
      "author": {
        "name": "Tim Burks",
        "email": "timburks@google.com",
        "time": "Thu Jun 06 19:56:55 2019"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Thu Jun 06 19:56:55 2019"
      },
      "message": "Merge pull request #127 from noahdietz/remove-go-plugin\n\nremove Go generator plugin"
    },
    {
      "commit": "d4406a841d76e397be99dcbf77874bfbc0326e22",
      "tree": "e24fa6a67d2b352dbc1a8839390b60cd14402a9c",
      "parents": [
        "424146ac11e637b8eeeebdd3681b325db0f4dead"
      ],
      "author": {
        "name": "Noah Dietz",
        "email": "ndietz@google.com",
        "time": "Thu Jun 06 18:18:39 2019"
      },
      "committer": {
        "name": "Noah Dietz",
        "email": "ndietz@google.com",
        "time": "Thu Jun 06 18:18:39 2019"
      },
      "message": "remove all uses of gnostic-go-generator\n"
    },
    {
      "commit": "424146ac11e637b8eeeebdd3681b325db0f4dead",
      "tree": "c186c9a9b161a07b615b19cda3a8f18252bfca8a",
      "parents": [
        "0a2f4f010d3b79437c966a9068f59ca3606c1cd3"
      ],
      "author": {
        "name": "Noah Dietz",
        "email": "ndietz@google.com",
        "time": "Thu Jun 06 18:00:00 2019"
      },
      "committer": {
        "name": "Noah Dietz",
        "email": "ndietz@google.com",
        "time": "Thu Jun 06 18:00:00 2019"
      },
      "message": "remove Go generator plugin\n"
    },
    {
      "commit": "0a2f4f010d3b79437c966a9068f59ca3606c1cd3",
      "tree": "d38da8875fd3f244b226f98321d643f84dea4fea",
      "parents": [
        "d18fd27864c7399e113e1a07ad73069400d5b60e",
        "a221e9d2386eb14e4393e2b9ca6f4fadc4a64511"
      ],
      "author": {
        "name": "Tim Burks",
        "email": "timburks@google.com",
        "time": "Sun Jun 02 22:15:38 2019"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Sun Jun 02 22:15:38 2019"
      },
      "message": "Merge pull request #126 from glickbot/glickbot/handle-type-any\n\nhandle \u0027any\u0027 type"
    },
    {
      "commit": "a221e9d2386eb14e4393e2b9ca6f4fadc4a64511",
      "tree": "d38da8875fd3f244b226f98321d643f84dea4fea",
      "parents": [
        "d18fd27864c7399e113e1a07ad73069400d5b60e"
      ],
      "author": {
        "name": "Jon Glick",
        "email": "593022+glickbot@users.noreply.github.com",
        "time": "Thu May 23 19:48:29 2019"
      },
      "committer": {
        "name": "Jon Glick",
        "email": "593022+glickbot@users.noreply.github.com",
        "time": "Thu May 23 19:48:29 2019"
      },
      "message": "handle \u0027any\u0027 type\n"
    },
    {
      "commit": "d18fd27864c7399e113e1a07ad73069400d5b60e",
      "tree": "bcd4275440a4eed52441045bf9722632bf980c7b",
      "parents": [
        "2c486800a3be3ae7aafe4d36a30a7aba40ac07f1"
      ],
      "author": {
        "name": "Jon Glick",
        "email": "593022+glickbot@users.noreply.github.com",
        "time": "Mon May 20 15:20:31 2019"
      },
      "committer": {
        "name": "Noah Dietz",
        "email": "noahdietz@users.noreply.github.com",
        "time": "Mon May 20 15:20:31 2019"
      },
      "message": "added error handling to golang plugin renderer (#122)\n\n* added error handling to golang plugin renderer\r\n"
    },
    {
      "commit": "2c486800a3be3ae7aafe4d36a30a7aba40ac07f1",
      "tree": "2fc5b61992db54b4c38fb9c393b8d63aabd7b90e",
      "parents": [
        "c273e2ca9014e3df36dc9e3a88b9c7c064610980"
      ],
      "author": {
        "name": "Jon Glick",
        "email": "593022+glickbot@users.noreply.github.com",
        "time": "Thu May 16 21:12:31 2019"
      },
      "committer": {
        "name": "Noah Dietz",
        "email": "noahdietz@users.noreply.github.com",
        "time": "Thu May 16 21:12:31 2019"
      },
      "message": "added nil pointer check for disco/openapiv3 (#124)\n\n"
    },
    {
      "commit": "c273e2ca9014e3df36dc9e3a88b9c7c064610980",
      "tree": "bfbc37197a837e9c628beb112ed4236990a2759e",
      "parents": [
        "909070f02b666e4e9adf7eda93c304a8ba2a8063",
        "993a7dd2bc05f597a61763ee1247ddca6b9cebc5"
      ],
      "author": {
        "name": "Tim Burks",
        "email": "timburks@google.com",
        "time": "Fri May 10 00:03:06 2019"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Fri May 10 00:03:06 2019"
      },
      "message": "Merge pull request #117 from liubog2008/fix-leak\n\nfix(resp): fix connection leak problem of missing response body close"
    },
    {
      "commit": "993a7dd2bc05f597a61763ee1247ddca6b9cebc5",
      "tree": "bfbc37197a837e9c628beb112ed4236990a2759e",
      "parents": [
        "909070f02b666e4e9adf7eda93c304a8ba2a8063"
      ],
      "author": {
        "name": "liubog2008",
        "email": "liubog2008@gmail.com",
        "time": "Tue May 07 11:13:49 2019"
      },
      "committer": {
        "name": "liubog2008",
        "email": "liubog2008@gmail.com",
        "time": "Tue May 07 11:13:49 2019"
      },
      "message": "fix(resp): fix connection leak problem of missing response body close\n"
    },
    {
      "commit": "909070f02b666e4e9adf7eda93c304a8ba2a8063",
      "tree": "118b7310d09afe2db69bf27ca705b7a92ec11c2d",
      "parents": [
        "6603604fc40c053fbd0ec9cfd4282c1966aa8589",
        "da398fd0afe0b0cefaae0522ff820ae6a110d48f"
      ],
      "author": {
        "name": "Tim Burks",
        "email": "timburks@google.com",
        "time": "Wed Mar 13 18:20:44 2019"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Wed Mar 13 18:20:44 2019"
      },
      "message": "Merge pull request #113 from bhenderson/fix-some-edge-cases\n\nFix some edge cases"
    },
    {
      "commit": "6603604fc40c053fbd0ec9cfd4282c1966aa8589",
      "tree": "320d502e46197807ee25a0eebb80b4fb8e2b98c7",
      "parents": [
        "c767ca636a09d2b4f3b259c01687b113ce67f40c"
      ],
      "author": {
        "name": "Brian Henderson",
        "email": "henderson.bj@gmail.com",
        "time": "Wed Mar 13 18:11:35 2019"
      },
      "committer": {
        "name": "Noah Dietz",
        "email": "noahdietz@users.noreply.github.com",
        "time": "Wed Mar 13 18:11:35 2019"
      },
      "message": "Resolve package name from output path (#112)\n\n* Resolve package name from output path"
    },
    {
      "commit": "c767ca636a09d2b4f3b259c01687b113ce67f40c",
      "tree": "1d206f7bfb884e14f69988864c00c7bed525f2f7",
      "parents": [
        "d55a06a32dc7468c645ac01d93d37d4dd47ca062"
      ],
      "author": {
        "name": "Lorenz Hofmann-Wellenhof",
        "email": "lorenzhofmann.w@gmail.com",
        "time": "Wed Mar 13 17:05:29 2019"
      },
      "committer": {
        "name": "Noah Dietz",
        "email": "noahdietz@users.noreply.github.com",
        "time": "Wed Mar 13 17:05:29 2019"
      },
      "message": "Updating README: step 8 using plugins (#115)\n\n"
    },
    {
      "commit": "da398fd0afe0b0cefaae0522ff820ae6a110d48f",
      "tree": "e1b76735086519c2fa68e7ea7743b695c0423884",
      "parents": [
        "52cf573639112eaa2df0d8998b62afb44b9e32e1"
      ],
      "author": {
        "name": "Brian Henderson",
        "email": "henderson.bj@gmail.com",
        "time": "Mon Feb 11 15:56:46 2019"
      },
      "committer": {
        "name": "Brian Henderson",
        "email": "henderson.bj@gmail.com",
        "time": "Mon Feb 11 16:15:17 2019"
      },
      "message": "Only add requestBody when the content type is json\n\nWe don\u0027t support xml or form data encoding, so no need to add it as a\nparameter in the client.\n\nI don\u0027t know if we should have smarter matching for other media types\n(text/json).\nI don\u0027t know if we should be setting the Accept header in the server.\n\nThis was causing duplicate parameters and breaking the build.\n"
    },
    {
      "commit": "52cf573639112eaa2df0d8998b62afb44b9e32e1",
      "tree": "b5b0ff27eaeefa96551032b4b20b933f58a7b04b",
      "parents": [
        "19d733fecd67572eff85e2380c4f2f8bb12928ab"
      ],
      "author": {
        "name": "Brian Henderson",
        "email": "henderson.bj@gmail.com",
        "time": "Mon Feb 11 06:42:12 2019"
      },
      "committer": {
        "name": "Brian Henderson",
        "email": "henderson.bj@gmail.com",
        "time": "Mon Feb 11 16:15:17 2019"
      },
      "message": "Fix invalid unimplemented types\n\nThe generated code had the string \"unimplemented: any_of...\" which is\ninvalid code. I figure for now we can just make it an empty interface so\nthe rest of the code is usable and we can punt on any_of etc.\n"
    },
    {
      "commit": "19d733fecd67572eff85e2380c4f2f8bb12928ab",
      "tree": "4b9d742fc9b7f52cd859082e8cebf31da3850351",
      "parents": [
        "ee81dd116e1a01c519144512583b5420bfdb8058"
      ],
      "author": {
        "name": "Brian Henderson",
        "email": "henderson.bj@gmail.com",
        "time": "Mon Feb 11 06:40:17 2019"
      },
      "committer": {
        "name": "Brian Henderson",
        "email": "henderson.bj@gmail.com",
        "time": "Mon Feb 11 16:15:17 2019"
      },
      "message": "Fix invalid type\n\nThe generated type was []Interface{} when it should be lowercase.\n"
    },
    {
      "commit": "ee81dd116e1a01c519144512583b5420bfdb8058",
      "tree": "7d0b2570b4df905008609aacabf281c21f372165",
      "parents": [
        "d55a06a32dc7468c645ac01d93d37d4dd47ca062"
      ],
      "author": {
        "name": "Brian Henderson",
        "email": "henderson.bj@gmail.com",
        "time": "Mon Feb 11 06:39:18 2019"
      },
      "committer": {
        "name": "Brian Henderson",
        "email": "henderson.bj@gmail.com",
        "time": "Mon Feb 11 16:13:26 2019"
      },
      "message": "Fix invalid type identifiers\n\nMy api has some components namespaced with dots. This breaks the\ngenerated code so we need to clean it up.\n\nThere is some inconsistencies because goFieldName and goParameterName\nchange the dot to underscore, but filteredTypeName removes it. Not sure\nwhat you want to do here.\n"
    },
    {
      "commit": "d55a06a32dc7468c645ac01d93d37d4dd47ca062",
      "tree": "1dfce4ca942aa5088d7c35dd4e3ff86c1c134593",
      "parents": [
        "d48bb9075efa9b6e46ab34aad173dff4040d3387",
        "a2d7f3f18d71db4d262458f0c2693a17d6854c7c"
      ],
      "author": {
        "name": "Tim Burks",
        "email": "timburks@google.com",
        "time": "Thu Jan 17 19:57:27 2019"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Thu Jan 17 19:57:27 2019"
      },
      "message": "Merge pull request #107 from timburks/master\n\nUpdate apps/report sample to report better errors for non-OpenAPIv2 input."
    },
    {
      "commit": "a2d7f3f18d71db4d262458f0c2693a17d6854c7c",
      "tree": "1dfce4ca942aa5088d7c35dd4e3ff86c1c134593",
      "parents": [
        "d48bb9075efa9b6e46ab34aad173dff4040d3387"
      ],
      "author": {
        "name": "Tim Burks",
        "email": "timburks@google.com",
        "time": "Fri Jan 11 05:57:08 2019"
      },
      "committer": {
        "name": "Tim Burks",
        "email": "timburks@google.com",
        "time": "Fri Jan 11 05:57:08 2019"
      },
      "message": "Update apps/report sample to report better errors for non-OpenAPIv2 input.\n\nThis fixes a panic reported in https://github.com/googleapis/gnostic/issues/98.\n"
    },
    {
      "commit": "d48bb9075efa9b6e46ab34aad173dff4040d3387",
      "tree": "ddda7be56c8194c5702803e0bf3d0256a1c52767",
      "parents": [
        "39d76df615f59f466be22c00cb095962e883e300",
        "318da799f92d32ac13187e2ec21f4c4ae7e766c0"
      ],
      "author": {
        "name": "Tim Burks",
        "email": "timburks@google.com",
        "time": "Fri Jan 11 05:25:18 2019"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Fri Jan 11 05:25:18 2019"
      },
      "message": "Merge pull request #106 from sebidude/master\n\nGolang support for boolean type openapi v2 and v3"
    },
    {
      "commit": "39d76df615f59f466be22c00cb095962e883e300",
      "tree": "2338edc5054655434b7d647b88c9f1dce4e44e51",
      "parents": [
        "33e0f70cb815584ff67547b1ba40926e64a660d8",
        "8efd690ba57df632cfc4f22e2a7ec40bfd0543ac"
      ],
      "author": {
        "name": "Tim Burks",
        "email": "timburks@google.com",
        "time": "Fri Jan 11 05:20:45 2019"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Fri Jan 11 05:20:45 2019"
      },
      "message": "Merge pull request #103 from andrewshan/master\n\nimprovement for cache apis"
    },
    {
      "commit": "33e0f70cb815584ff67547b1ba40926e64a660d8",
      "tree": "f981811c98120358bcb94bf7dc8ed0133ea8710e",
      "parents": [
        "41e0812103299b5151f98f85b3a8ca00d8fadbea",
        "111d27ed7fdae866ed10886805a4e85180ac3463"
      ],
      "author": {
        "name": "Tim Burks",
        "email": "timburks@google.com",
        "time": "Fri Jan 11 05:16:51 2019"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Fri Jan 11 05:16:51 2019"
      },
      "message": "Merge pull request #97 from noahdietz/refactor-goimports\n\nrefactor goimports exec to imports pkg"
    },
    {
      "commit": "318da799f92d32ac13187e2ec21f4c4ae7e766c0",
      "tree": "3430974d72b19afcc4cd396140d8eb6ccc8067b7",
      "parents": [
        "eb280b4574007bcf632d679fa4444bd8d0abaa34"
      ],
      "author": {
        "name": "Sebastian Stauch",
        "email": "bugsteinpeter@gmail.com",
        "time": "Fri Jan 04 09:28:03 2019"
      },
      "committer": {
        "name": "Sebastian Stauch",
        "email": "bugsteinpeter@gmail.com",
        "time": "Fri Jan 04 09:28:03 2019"
      },
      "message": "Golang support for boolean type in openapi v2.\n"
    },
    {
      "commit": "eb280b4574007bcf632d679fa4444bd8d0abaa34",
      "tree": "d6650a90a3b1cbfe708119ab971b025ca9e51b43",
      "parents": [
        "41e0812103299b5151f98f85b3a8ca00d8fadbea"
      ],
      "author": {
        "name": "Sebastian Stauch",
        "email": "bugsteinpeter@gmail.com",
        "time": "Thu Jan 03 07:24:19 2019"
      },
      "committer": {
        "name": "Sebastian Stauch",
        "email": "bugsteinpeter@gmail.com",
        "time": "Thu Jan 03 07:24:19 2019"
      },
      "message": "Golang support for boolean type.\n"
    },
    {
      "commit": "8efd690ba57df632cfc4f22e2a7ec40bfd0543ac",
      "tree": "9817ffe19d8a26156d1e5e3f308ad10d87b9de5a",
      "parents": [
        "45fadb703f3bda9a7680d85bea7d9393c5101959"
      ],
      "author": {
        "name": "andrewshan",
        "email": "andrewshan@tencent.com",
        "time": "Fri Dec 14 03:03:20 2018"
      },
      "committer": {
        "name": "andrewshan",
        "email": "andrewshan@tencent.com",
        "time": "Fri Dec 14 03:03:20 2018"
      },
      "message": "improvement for filecache apis\n\n1. when cache disabled, the result should  not be added into cache\n2. add test for the 4 apis\n"
    }
  ],
  "next": "41e0812103299b5151f98f85b3a8ca00d8fadbea"
}
