)]}'
{
  "log": [
    {
      "commit": "d7bb826a9cc51e04e026f09a2aec3c7b50628b89",
      "tree": "229ac8141b1ce5289a3d48a2847b4cef262dd3c5",
      "parents": [
        "9d6b55928ca9829fa3a4ff1bb71c9668d452a085"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Fri Feb 09 17:30:14 2018 -0800"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Fri Feb 09 17:34:55 2018 -0800"
      },
      "message": "Fix a few demangler issues.\n\nSpecifically:\n\n  * rvalue references.\n\n  * St does not require N...E delimiters (explicit special case in the spec).\n\n  * \".cfi\" suffixes.\n\nBug: http://b/67678053\nTest: ran tests\nChange-Id: If8cabad448b46b165eefc6c5487996428c9c6975\n"
    },
    {
      "commit": "5a72ea0f2f5ac2a59348203c9db98c2ad5126d93",
      "tree": "d5420af29f660600c5ab2d6407c3459459e013a3",
      "parents": [
        "3d879b10d8ce270879f7b73a2ea94298a58b07af"
      ],
      "author": {
        "name": "Christopher Ferris",
        "email": "cferris@google.com",
        "time": "Wed Nov 01 16:22:09 2017 -0700"
      },
      "committer": {
        "name": "Christopher Ferris",
        "email": "cferris@google.com",
        "time": "Wed Nov 01 16:24:55 2017 -0700"
      },
      "message": "Add support for non-virtual thunk.\n\nBug: 67678053\n\nTest: New unit tests pass.\nChange-Id: If04f502e234da00a356e5ddd31acd22a6ad1a804\n"
    },
    {
      "commit": "584333e3b2da923537076944bf4eb94ddb2a4fff",
      "tree": "b9e0e6348a83a9f27964de9c4c01c21fb2c779c2",
      "parents": [
        "bb3769349de0f4becb8a4fd2ed33ffeaf8d56862"
      ],
      "author": {
        "name": "Christopher Ferris",
        "email": "cferris@google.com",
        "time": "Fri Oct 27 12:29:02 2017 -0700"
      },
      "committer": {
        "name": "Christopher Ferris",
        "email": "cferris@google.com",
        "time": "Tue Oct 31 15:00:54 2017 -0700"
      },
      "message": "Fix template support.\n\n- Fix template applying to function name without a starting N.\n- Fix return types for templates handling.\n- Add support for the T substitution parameter.\n- Fix a case where the literal L handler was not being set properly.\n\nBug: 67678053\n\nTest: New unit tests, fuzzer.\nChange-Id: I4f831038047eb2cd8519426f16aa2bdcb846d92d\n"
    },
    {
      "commit": "05232758934f36308e95333d53b637dc79df31ce",
      "tree": "fc4047200f1481be6bc35d5cd1b27a309f7600ac",
      "parents": [
        "85b80dc18db98b7950062f57457f8fcd49ba927e"
      ],
      "author": {
        "name": "Christopher Ferris",
        "email": "cferris@google.com",
        "time": "Wed Oct 11 15:22:29 2017 -0700"
      },
      "committer": {
        "name": "Christopher Ferris",
        "email": "cferris@google.com",
        "time": "Wed Oct 11 15:23:45 2017 -0700"
      },
      "message": "Add support for boolean literals.\n\nBug: 67678053\n\nTest: Passes new unit tests.\nChange-Id: I9d0ede56aa5d7071e682f366870148320545406e\n"
    },
    {
      "commit": "4504bba7d0a060f564a9a0137d989005db0fe1b4",
      "tree": "c9c8892d78d280d11cb63d691809c51ebad3088a",
      "parents": [
        "72076d1aa7231ce92d9acc6c722ce365b40e5821"
      ],
      "author": {
        "name": "Christopher Ferris",
        "email": "cferris@google.com",
        "time": "Thu Jun 01 17:37:09 2017 -0700"
      },
      "committer": {
        "name": "Christopher Ferris",
        "email": "cferris@google.com",
        "time": "Thu Jun 01 17:37:09 2017 -0700"
      },
      "message": "Fix handling of _ZLXX.\n\nMangled names of the form _ZLXX, where XX is a number is now properly\ndemangled.\n\nTest: Ran new unit tests.\nChange-Id: I89fbb36d2294c46da428c75bd1a2f39f69ac4b43\n"
    },
    {
      "commit": "15d2e42cebeedca47ed9add363bbf70df56d1e2c",
      "tree": "779d32e2283f80d5fbc8f1c9f00e930f41229992",
      "parents": [
        "b46fd68653131d276ccb23ba7790640c6a9c1c7d"
      ],
      "author": {
        "name": "Christopher Ferris",
        "email": "cferris@google.com",
        "time": "Wed May 31 14:40:15 2017 -0700"
      },
      "committer": {
        "name": "Christopher Ferris",
        "email": "cferris@google.com",
        "time": "Wed May 31 17:54:19 2017 -0700"
      },
      "message": "Fix bug found by fuzzer.\n\nAlso, add the demangle fuzzer code.\n\nTest: Ran fuzzer, ran new unit tests.\nChange-Id: If3e15e10af88b81602a8a0f0bfe071a015f6000b\n"
    },
    {
      "commit": "9323b7219cb8415e93c0a1c4ed47a7c2bff6def7",
      "tree": "33cb603cd2534e7636d2b1fd72974e9b9f431643",
      "parents": [
        "4463c820a6dd721a977e6bacf8420f8a6434e210"
      ],
      "author": {
        "name": "Christopher Ferris",
        "email": "cferris@google.com",
        "time": "Fri Mar 03 17:43:14 2017 -0800"
      },
      "committer": {
        "name": "Christopher Ferris",
        "email": "cferris@google.com",
        "time": "Tue Mar 07 13:04:32 2017 -0800"
      },
      "message": "Implement a simple demangler.\n\nThe purpose of this demangler is to avoid crashes for any string.\n\n- It does one pass and should avoid going past the end of the string.\n- The code avoids recursion to minimize the amount of stack required.\n- It cannot demangle all mangled names, but it should be able to work\n  on nearly all names in normal stack traces.\n- If the mangled name is too large, it will stop demangling and return\n  as if the name is not a demangled name.\n\nTest: Passes new unit tests.\n\nChange-Id: I596f74a533c0e093d1517c6bd11cced07009d321\n"
    }
  ]
}
