)]}'
{
  "log": [
    {
      "commit": "8c9c83426beb4a58da34be76ea1fccb4054c4703",
      "tree": "0d489c877b99eace1754705d07eb7b5473b77408",
      "parents": [
        "65cb3326e30ef8a67eb1d4411ec563e91be6e9ae"
      ],
      "author": {
        "name": "Kunihiko Sakamoto",
        "email": "ksakamoto@chromium.org",
        "time": "Thu Nov 27 05:27:14 2014"
      },
      "committer": {
        "name": "Kunihiko Sakamoto",
        "email": "ksakamoto@chromium.org",
        "time": "Thu Nov 27 05:27:14 2014"
      },
      "message": "Fix undefined behavior in decoder.\n\nCherry-picking https://github.com/google/brotli/commit/4278934e.\n"
    },
    {
      "commit": "65cb3326e30ef8a67eb1d4411ec563e91be6e9ae",
      "tree": "28aabe58e69c000737ec1871ebb4e62cca1d2e83",
      "parents": [
        "d9a74803fa884559879e3205cfe6f257a2d85519"
      ],
      "author": {
        "name": "Kunihiko Sakamoto",
        "email": "ksakamoto@chromium.org",
        "time": "Tue Oct 28 10:37:13 2014"
      },
      "committer": {
        "name": "Kunihiko Sakamoto",
        "email": "ksakamoto@chromium.org",
        "time": "Tue Oct 28 10:37:13 2014"
      },
      "message": "Allow use of inline keyword in c++/c99 mode\n"
    },
    {
      "commit": "d9a74803fa884559879e3205cfe6f257a2d85519",
      "tree": "6186cc18291b396e9bf23e919f0a53730f3e2fc2",
      "parents": [
        "6cef49677dc4c650ef6e3f56041e0a41803afa8c"
      ],
      "author": {
        "name": "Roderick Sheeter",
        "email": "rsheeter@google.com",
        "time": "Fri Aug 22 15:05:56 2014"
      },
      "committer": {
        "name": "Roderick Sheeter",
        "email": "rsheeter@google.com",
        "time": "Fri Aug 22 15:05:56 2014"
      },
      "message": "Preliminary support for CFF (just don\u0027t normalize). Support for adjusting loca entry size from 2 to 4 bytes during normalization if necessary. Support for extended metadata.\n"
    },
    {
      "commit": "6cef49677dc4c650ef6e3f56041e0a41803afa8c",
      "tree": "71eed4477dfc398abdf81fe8952ca04e862e9481",
      "parents": [
        "c75ed764ef2a74bf3ab645ca7a73c0c692477755"
      ],
      "author": {
        "name": "Kenichi Ishibashi",
        "email": "bashi@google.com",
        "time": "Fri Jun 06 08:39:02 2014"
      },
      "committer": {
        "name": "Kenichi Ishibashi",
        "email": "bashi@google.com",
        "time": "Fri Jun 06 08:39:02 2014"
      },
      "message": "Fix a compile error on Windows\n"
    },
    {
      "commit": "c75ed764ef2a74bf3ab645ca7a73c0c692477755",
      "tree": "ed8dff142c6ca0ad50bea0683595e8518276c48e",
      "parents": [
        "142d8881c174896c0180d60d3efe66a07daa7256"
      ],
      "author": {
        "name": "Kenichi Ishibashi",
        "email": "bashi@google.com",
        "time": "Tue Jun 03 23:29:53 2014"
      },
      "committer": {
        "name": "Kenichi Ishibashi",
        "email": "bashi@google.com",
        "time": "Tue Jun 03 23:29:53 2014"
      },
      "message": "Avoid using data() of std::vector in woff2_dec\n"
    },
    {
      "commit": "142d8881c174896c0180d60d3efe66a07daa7256",
      "tree": "beeedbc0032861217eebbb1a4ed89e308a660bb1",
      "parents": [
        "2ec0cb8a7833c14679b9bd734d3336cee7c4cab5"
      ],
      "author": {
        "name": "Kenichi Ishibashi",
        "email": "bashi@google.com",
        "time": "Fri May 30 00:06:32 2014"
      },
      "committer": {
        "name": "Kenichi Ishibashi",
        "email": "bashi@google.com",
        "time": "Fri May 30 00:06:32 2014"
      },
      "message": "Separate woff2 enc/dec logic\n"
    },
    {
      "commit": "2ec0cb8a7833c14679b9bd734d3336cee7c4cab5",
      "tree": "d854b2484e1c3f895841a0085929055afc629df5",
      "parents": [
        "47c5016d7f20363602601aa2624229482b5c2e50"
      ],
      "author": {
        "name": "Roderick Sheeter",
        "email": "rsheeter@google.com",
        "time": "Wed May 07 18:01:07 2014"
      },
      "committer": {
        "name": "Roderick Sheeter",
        "email": "rsheeter@google.com",
        "time": "Wed May 07 18:01:07 2014"
      },
      "message": "Always remove DSIG, removed several options\n"
    },
    {
      "commit": "47c5016d7f20363602601aa2624229482b5c2e50",
      "tree": "cf0bd80342be4cd8cf2a1e78a70ddfb0066bfb36",
      "parents": [
        "05b3775ecbd31f3a8a4f9ff5a3afe72a926db447"
      ],
      "author": {
        "name": "David Kuettel",
        "email": "kuettel@google.com",
        "time": "Wed Apr 30 00:47:03 2014"
      },
      "committer": {
        "name": "David Kuettel",
        "email": "kuettel@google.com",
        "time": "Wed Apr 30 00:47:03 2014"
      },
      "message": "Specification updates: known table tags, reserved flag bits, always preprocess\n"
    },
    {
      "commit": "05b3775ecbd31f3a8a4f9ff5a3afe72a926db447",
      "tree": "f298a6b4316cc95374c4859cfda2854c9830bd1f",
      "parents": [
        "22e2c328288610e63c03e8de0b9c18b1b926cff6"
      ],
      "author": {
        "name": "Zoltan Szabadka",
        "email": "szabadka@google.com",
        "time": "Thu Mar 27 15:38:07 2014"
      },
      "committer": {
        "name": "Zoltan Szabadka",
        "email": "szabadka@google.com",
        "time": "Thu Mar 27 15:38:07 2014"
      },
      "message": "Fix buffer overflow bug in the brotli encoder.\n"
    },
    {
      "commit": "22e2c328288610e63c03e8de0b9c18b1b926cff6",
      "tree": "61e61fa4867eafdb375296fcbf5698285f1685a9",
      "parents": [
        "0829e37293abc2523a1d2b0f4d68ff7b5fcd8e01"
      ],
      "author": {
        "name": "Zoltan Szabadka",
        "email": "szabadka@google.com",
        "time": "Thu Mar 27 15:13:13 2014"
      },
      "committer": {
        "name": "Zoltan Szabadka",
        "email": "szabadka@google.com",
        "time": "Thu Mar 27 15:13:13 2014"
      },
      "message": "Implementation of the woff2 format changes proposed by the W3C working group.\n\n  * size of compressed font data is in the woff2 header\n  * bits 5 and 6 of the table flag byte are reserved, must be 0\n  * bit 7 of the table flag byte is the transform bit\n"
    },
    {
      "commit": "0829e37293abc2523a1d2b0f4d68ff7b5fcd8e01",
      "tree": "a4454356cb75cd497cd5fadadad3357bd62cbb4b",
      "parents": [
        "494c85cebbaaa0db345df69ffa1b639aa4652022"
      ],
      "author": {
        "name": "Zoltan Szabadka",
        "email": "szabadka@google.com",
        "time": "Tue Mar 25 15:48:25 2014"
      },
      "committer": {
        "name": "Zoltan Szabadka",
        "email": "szabadka@google.com",
        "time": "Tue Mar 25 15:48:25 2014"
      },
      "message": "Update the dictionary and the transforms.\n"
    },
    {
      "commit": "494c85cebbaaa0db345df69ffa1b639aa4652022",
      "tree": "6698a5c00c8ad9b43a06522072d874de39cde5cb",
      "parents": [
        "278b89484fa947fad7fbf8753aadff0c9ce18a8c"
      ],
      "author": {
        "name": "Zoltan Szabadka",
        "email": "szabadka@google.com",
        "time": "Thu Mar 20 13:35:41 2014"
      },
      "committer": {
        "name": "Zoltan Szabadka",
        "email": "szabadka@google.com",
        "time": "Thu Mar 20 13:35:41 2014"
      },
      "message": "Set font mode for the brotli call in the woff2 encoder.\n"
    },
    {
      "commit": "278b89484fa947fad7fbf8753aadff0c9ce18a8c",
      "tree": "7c6bb974a72f53a8570496915da4d983c3766e7c",
      "parents": [
        "7f848593bd2ec83f4537b6d494a5bf55b9bd4456"
      ],
      "author": {
        "name": "Zoltan Szabadka",
        "email": "szabadka@google.com",
        "time": "Thu Mar 20 13:32:35 2014"
      },
      "committer": {
        "name": "Zoltan Szabadka",
        "email": "szabadka@google.com",
        "time": "Thu Mar 20 13:32:35 2014"
      },
      "message": "Updates to Brotli compression format, decoder and encoder\n\nThis commit contains a batch of changes that were made to the Brotli\ncompression algorithm in the last month. Most important changes:\n\n   * Format change: don\u0027t push distances representing static dictionary words to the distance cache.\n   * Fix decoder invalid memory access bug caused by building a non-complete Huffman tree.\n   * Add a mode parameter to the encoder interface.\n   * Use different hashers for text and font mode.\n   * Add a heuristics to the hasher for skipping non-compressible data.\n   * Exhaustive search of static dictionary during backward reference search.\n"
    },
    {
      "commit": "7f848593bd2ec83f4537b6d494a5bf55b9bd4456",
      "tree": "a0306de11308483759e2b859196ea28a7c9d4512",
      "parents": [
        "2733d6c0c2d6774e4c4d7a233ad200c5a832a133"
      ],
      "author": {
        "name": "Zoltan Szabadka",
        "email": "szabadka@google.com",
        "time": "Thu Mar 06 16:25:43 2014"
      },
      "committer": {
        "name": "Zoltan Szabadka",
        "email": "szabadka@google.com",
        "time": "Thu Mar 06 16:25:43 2014"
      },
      "message": "Enable the static dictionary in the Brotli decoder.\n"
    },
    {
      "commit": "2733d6c0c2d6774e4c4d7a233ad200c5a832a133",
      "tree": "37bfff1e278f04121d745c7a40220cdc171867e6",
      "parents": [
        "cbd5cb55f487eda746b0d6f8b5742b5a8e5c846a"
      ],
      "author": {
        "name": "Zoltan Szabadka",
        "email": "szabadka@google.com",
        "time": "Mon Feb 17 13:25:36 2014"
      },
      "committer": {
        "name": "Zoltan Szabadka",
        "email": "szabadka@google.com",
        "time": "Mon Feb 17 13:25:36 2014"
      },
      "message": "Add the initial version of the static dictionary and transforms to Brotli.\n"
    },
    {
      "commit": "cbd5cb55f487eda746b0d6f8b5742b5a8e5c846a",
      "tree": "3b3542e1d85a71c6f93d5dda16b04619e33c9982",
      "parents": [
        "dfc5a9f2151a7c88914c236c7db8fa119fee249c"
      ],
      "author": {
        "name": "Zoltan Szabadka",
        "email": "szabadka@google.com",
        "time": "Fri Feb 14 14:04:23 2014"
      },
      "committer": {
        "name": "Zoltan Szabadka",
        "email": "szabadka@google.com",
        "time": "Fri Feb 14 14:04:23 2014"
      },
      "message": "Updates to Brotli compression format, decoder and encoder\n\nThis commit contains a batch of changes that were made to the Brotli\ncompression algorithm in the last month. Most important changes:\n\n   * Fixes to the spec.\n   * Change of code length code order.\n   * Use a 2-level Huffman lookup table in the decoder.\n   * Faster uncompressed meta-block decoding.\n   * Optimized encoding of the Huffman code.\n   * Detection of UTF-8 input encoding.\n   * UTF-8 based literal cost modeling for improved\n     backward reference selection.\n"
    },
    {
      "commit": "dfc5a9f2151a7c88914c236c7db8fa119fee249c",
      "tree": "10b9caaf1a19f4793e3a4e48900c053783e844e8",
      "parents": [
        "4c8c7fd31c6a9e03c6531b8ddc34fd071f6c9348"
      ],
      "author": {
        "name": "Zoltan Szabadka",
        "email": "szabadka@google.com",
        "time": "Wed Jan 08 11:34:35 2014"
      },
      "committer": {
        "name": "Zoltan Szabadka",
        "email": "szabadka@google.com",
        "time": "Wed Jan 08 11:34:35 2014"
      },
      "message": "Fix -Wconversion compiler warnings in the brotli decoder.\n"
    },
    {
      "commit": "4c8c7fd31c6a9e03c6531b8ddc34fd071f6c9348",
      "tree": "2c0e6096ed820a5b699eb6b66321504b1edb6b14",
      "parents": [
        "efbc1a896593be75066ba8769915f19a6c1d7485"
      ],
      "author": {
        "name": "Zoltan Szabadka",
        "email": "szabadka@google.com",
        "time": "Wed Jan 08 11:28:28 2014"
      },
      "committer": {
        "name": "Zoltan Szabadka",
        "email": "szabadka@google.com",
        "time": "Wed Jan 08 11:28:28 2014"
      },
      "message": "Brotli format change: small improvement to the encoding of Huffman codes\n\nCombine the HSKIP and the simple/complex Huffman code type bits.\n"
    },
    {
      "commit": "efbc1a896593be75066ba8769915f19a6c1d7485",
      "tree": "b0c5363239ceaa0593801f062a73a318a3b3cd9c",
      "parents": [
        "40955ce409e55573646af2b0d0ece2e2404f2e7a"
      ],
      "author": {
        "name": "Zoltan Szabadka",
        "email": "szabadka@google.com",
        "time": "Mon Jan 06 15:35:24 2014"
      },
      "committer": {
        "name": "Zoltan Szabadka",
        "email": "szabadka@google.com",
        "time": "Mon Jan 06 15:35:24 2014"
      },
      "message": "Small update to brotli specification.\n\nClarify how to recover from error conditions caused by overflowing\nblock types and symbol values.\n"
    },
    {
      "commit": "40955ce409e55573646af2b0d0ece2e2404f2e7a",
      "tree": "3313b89e08e2f224e1ec388573682070ab271119",
      "parents": [
        "b89f3be40b69a01ce71e7fe62d1609886ed943aa"
      ],
      "author": {
        "name": "Zoltan Szabadka",
        "email": "szabadka@google.com",
        "time": "Mon Jan 06 15:01:57 2014"
      },
      "committer": {
        "name": "Zoltan Szabadka",
        "email": "szabadka@google.com",
        "time": "Mon Jan 06 15:01:57 2014"
      },
      "message": "Bug fixes for the brotli encoder and decoder.\n"
    },
    {
      "commit": "b89f3be40b69a01ce71e7fe62d1609886ed943aa",
      "tree": "bcce92b6435b00cc1d4efb7cd4636fb5ba332714",
      "parents": [
        "30625ba238fcb360c80a093164347503bbedf7ad"
      ],
      "author": {
        "name": "Zoltan Szabadka",
        "email": "szabadka@google.com",
        "time": "Tue Dec 17 16:17:57 2013"
      },
      "committer": {
        "name": "Zoltan Szabadka",
        "email": "szabadka@google.com",
        "time": "Tue Dec 17 16:17:57 2013"
      },
      "message": "Brotli format change: improved encoding of Huffman codes\n\nThis change removes the redundant HCLEN, HLENINC and HLEN\nfields from the encoding of the complex Huffman codes and\nderives these from an invariant of the code length sequence.\nBased on a patch by Robert Obryk.\n"
    },
    {
      "commit": "30625ba238fcb360c80a093164347503bbedf7ad",
      "tree": "8b1481cc122110c40ecfb6f83b8eb8c8d50b7cfe",
      "parents": [
        "931479d735e1121548c3b07aec866fd772cc4932"
      ],
      "author": {
        "name": "Zoltan Szabadka",
        "email": "szabadka@google.com",
        "time": "Mon Dec 16 13:45:57 2013"
      },
      "committer": {
        "name": "Zoltan Szabadka",
        "email": "szabadka@google.com",
        "time": "Mon Dec 16 13:45:57 2013"
      },
      "message": "Use C-style comments in the brotli decoder.\n"
    },
    {
      "commit": "931479d735e1121548c3b07aec866fd772cc4932",
      "tree": "13eb26b8f2da237730f316c4ea388c1852854b7f",
      "parents": [
        "19320557a93cf81b778576ed046556e0702adbd1"
      ],
      "author": {
        "name": "Zoltan Szabadka",
        "email": "szabadka@google.com",
        "time": "Fri Dec 13 14:30:20 2013"
      },
      "committer": {
        "name": "Zoltan Szabadka",
        "email": "szabadka@google.com",
        "time": "Fri Dec 13 14:30:20 2013"
      },
      "message": "Fix Microsoft VisualStudio 64-bit build of brotli\n"
    },
    {
      "commit": "19320557a93cf81b778576ed046556e0702adbd1",
      "tree": "0b64abb2aca827fc232e635500244ed3667ce4b7",
      "parents": [
        "2e5995bd9628953ebd8bfdadbfbc3af0c8296167"
      ],
      "author": {
        "name": "Zoltan Szabadka",
        "email": "szabadka@google.com",
        "time": "Fri Dec 13 09:39:46 2013"
      },
      "committer": {
        "name": "Zoltan Szabadka",
        "email": "szabadka@google.com",
        "time": "Fri Dec 13 09:39:46 2013"
      },
      "message": "Fix Microsoft VisualStudio build of brotli\n\n- Move all variable declarations to the beginning of the block\n- #ifdef-out read/write calls\n"
    },
    {
      "commit": "2e5995bd9628953ebd8bfdadbfbc3af0c8296167",
      "tree": "52a560460b6b770f4f29adce096db97145be6728",
      "parents": [
        "e70949119a5540e62ef3b9aae797f797a8d8b44b"
      ],
      "author": {
        "name": "Roderick Sheeter",
        "email": "rsheeter@google.com",
        "time": "Thu Dec 12 18:43:05 2013"
      },
      "committer": {
        "name": "Roderick Sheeter",
        "email": "rsheeter@google.com",
        "time": "Thu Dec 12 18:43:05 2013"
      },
      "message": "Support for OSX build; tested using OSX 10.9/clang-500.2.79\n"
    },
    {
      "commit": "e70949119a5540e62ef3b9aae797f797a8d8b44b",
      "tree": "51820abbb388c60245361779ec3ff6519371b9ee",
      "parents": [
        "fe79fac8da1ec850d94679705a6f3405153f51dd"
      ],
      "author": {
        "name": "Zoltan Szabadka",
        "email": "szabadka@google.com",
        "time": "Thu Dec 12 12:18:04 2013"
      },
      "committer": {
        "name": "Zoltan Szabadka",
        "email": "szabadka@google.com",
        "time": "Thu Dec 12 12:18:04 2013"
      },
      "message": "Updates to Brotli compression format, decoder and encoder\n\nThis commit contains a batch of changes that were made to the Brotli\ncompression algorithm in the last month. Most important changes:\n\n   * Updated spec\n   * Changed Huffman code length alphabet to use run length codes more\n     efficiently, based on a suggestion by Robert Obryk\n   * Changed encoding of the number of Huffman code lengths (HLEN)\n   * Changed encoding of the number of Huffman trees (NTREES)\n   * Added support for uncompressed meta-blocks\n"
    },
    {
      "commit": "fe79fac8da1ec850d94679705a6f3405153f51dd",
      "tree": "57f05331abe77449e06f2a74479e1f69cd134dd3",
      "parents": [
        "4147ca26463c01f4309d0cd63c617c4876b9ba3e"
      ],
      "author": {
        "name": "Zoltan Szabadka",
        "email": "szabadka@google.com",
        "time": "Thu Nov 28 16:37:13 2013"
      },
      "committer": {
        "name": "Zoltan Szabadka",
        "email": "szabadka@google.com",
        "time": "Thu Nov 28 16:37:13 2013"
      },
      "message": "Add draft specification of the brotli format\n"
    },
    {
      "commit": "4147ca26463c01f4309d0cd63c617c4876b9ba3e",
      "tree": "a2b6dbf747aaef808249792e61edcb99daac1438",
      "parents": [
        "437bbad37074e472b66d427814275de84ca77f19"
      ],
      "author": {
        "name": "Roderick Sheeter",
        "email": "rsheeter@google.com",
        "time": "Wed Nov 20 23:11:17 2013"
      },
      "committer": {
        "name": "Roderick Sheeter",
        "email": "rsheeter@google.com",
        "time": "Wed Nov 20 23:11:17 2013"
      },
      "message": "Remove old files; use the ones in woff2/ instead\n"
    },
    {
      "commit": "437bbad37074e472b66d427814275de84ca77f19",
      "tree": "c455102386bd6a320e445ee5c13c3b3b868ba0a3",
      "parents": [
        "1571db36a9b00e895882ee236e9f84d62f8ea226"
      ],
      "author": {
        "name": "Roderick Sheeter",
        "email": "rsheeter@google.com",
        "time": "Tue Nov 19 22:32:56 2013"
      },
      "committer": {
        "name": "Roderick Sheeter",
        "email": "rsheeter@google.com",
        "time": "Tue Nov 19 22:32:56 2013"
      },
      "message": "Added Brotli compress/decompress utilities and makefiles\n"
    },
    {
      "commit": "1571db36a9b00e895882ee236e9f84d62f8ea226",
      "tree": "365fdb3cbd81ab9dc863b4ec39dcba6837616b00",
      "parents": [
        "79e99afe468407e9ff9f0820df7190cb069eabeb"
      ],
      "author": {
        "name": "Zoltan Szabadka",
        "email": "szabadka@google.com",
        "time": "Fri Nov 15 18:02:17 2013"
      },
      "committer": {
        "name": "Zoltan Szabadka",
        "email": "szabadka@google.com",
        "time": "Fri Nov 15 18:02:17 2013"
      },
      "message": "Updates to Brotli compression format, decoder and encoder\n\nThis commit contains a batch of changes that were made to the Brotli\ncompression algorithm in the last three weeks. Most important changes:\n\n  * Added UTF8 context model for good text compression.\n  * Simplified context modeling by having only 4 context modes.\n  * Per-block context mode selection.\n  * Faster backward copying and bit reading functions.\n  * More efficient histogram coding.\n  * Streaming support for the decoder and encoder.\n"
    },
    {
      "commit": "79e99afe468407e9ff9f0820df7190cb069eabeb",
      "tree": "57dce6c1f464bb0905c90cc9778b9e136dc086d2",
      "parents": [
        "b35077ca42301e3307aef363f426ec38fa1ad24c"
      ],
      "author": {
        "name": "Zoltan Szabadka",
        "email": "szabadka@google.com",
        "time": "Wed Oct 23 11:06:13 2013"
      },
      "committer": {
        "name": "Zoltan Szabadka",
        "email": "szabadka@google.com",
        "time": "Wed Oct 23 11:06:13 2013"
      },
      "message": "Add brotli compressor\n\nThis commit is for the encoder for brotli compression format.\nBrotli is a generic byte-level compression algorithm.\n"
    },
    {
      "commit": "b35077ca42301e3307aef363f426ec38fa1ad24c",
      "tree": "52f5402109e38aa9c5fb2bf093ae942bd9eb611b",
      "parents": [
        "9c62eb3e1eec4c10b5aa8db2103b27e66fd237ed"
      ],
      "author": {
        "name": "Zoltan Szabadka",
        "email": "szabadka@google.com",
        "time": "Tue Oct 22 13:02:54 2013"
      },
      "committer": {
        "name": "Zoltan Szabadka",
        "email": "szabadka@google.com",
        "time": "Tue Oct 22 13:02:54 2013"
      },
      "message": "Make the brotli decoder more C90-compatible.\n\n(1) Move all variable declarations to the beginning of the block.\n(2) Remove \u0027z\u0027 printf modifiers.\n(3) Fix \u0027comma at the end of enumeration list\u0027 warning.\n"
    },
    {
      "commit": "9c62eb3e1eec4c10b5aa8db2103b27e66fd237ed",
      "tree": "6094864d9b820d1937de1e25597d35e1c33e270a",
      "parents": [
        "7efdf8e114cd4667389605df5a1b5ed498ce0386"
      ],
      "author": {
        "name": "Zoltan Szabadka",
        "email": "szabadka@google.com",
        "time": "Thu Oct 17 10:41:36 2013"
      },
      "committer": {
        "name": "Zoltan Szabadka",
        "email": "szabadka@google.com",
        "time": "Thu Oct 17 10:41:36 2013"
      },
      "message": "Fix name collisions with libwebp.\n\nPrefix all externally visible function names with Brotli and\nmake all other functions static.\n"
    },
    {
      "commit": "7efdf8e114cd4667389605df5a1b5ed498ce0386",
      "tree": "20264e1af72028f03f75ed894996630e3dfdddc6",
      "parents": [
        "04163a87d098f14e890c2a3fd240af7f09099711"
      ],
      "author": {
        "name": "Raph Levien",
        "email": "raph@google.com",
        "time": "Fri Oct 11 08:33:29 2013"
      },
      "committer": {
        "name": "Raph Levien",
        "email": "raph@google.com",
        "time": "Fri Oct 11 08:33:29 2013"
      },
      "message": "Cleanup of README\n\nRefer to brotli/ subdirectory (explicitly naming the license) and clean\nup a few other things in the README text.\n"
    },
    {
      "commit": "04163a87d098f14e890c2a3fd240af7f09099711",
      "tree": "415a5ee8124d6f5462d2a5ca8e617dd269c4d72f",
      "parents": [
        "5ce8fad3ab9824f9f4d5fb4768c313b6309e94e3"
      ],
      "author": {
        "name": "Zoltan Szabadka",
        "email": "szabadka@google.com",
        "time": "Fri Oct 11 08:26:07 2013"
      },
      "committer": {
        "name": "Zoltan Szabadka",
        "email": "szabadka@google.com",
        "time": "Fri Oct 11 08:26:07 2013"
      },
      "message": "Add brotli decompressor\n\nThis commit is for the decoder for brotli compression format.\nBrotli is a generic byte-level compression algorithm.\n"
    },
    {
      "commit": "5ce8fad3ab9824f9f4d5fb4768c313b6309e94e3",
      "tree": "db626c8e55e8d93f046d2f0cd589a7b40e67647e",
      "parents": [
        "76b55053e763a4b8d6b0ecda8db60e8605162be4"
      ],
      "author": {
        "name": "David Kuettel",
        "email": "kuettel@google.com",
        "time": "Tue Jun 11 19:52:53 2013"
      },
      "committer": {
        "name": "David Kuettel",
        "email": "kuettel@google.com",
        "time": "Tue Jun 11 19:52:53 2013"
      },
      "message": "Write the converted and compressed files (.woff2) to disk\n"
    },
    {
      "commit": "76b55053e763a4b8d6b0ecda8db60e8605162be4",
      "tree": "df738f345f891e82961a0653a7f302bd5d9ca30e",
      "parents": [
        "c34a8fce98a6399d136a797d59c49b8f3d254748"
      ],
      "author": {
        "name": "David Kuettel",
        "email": "kuettel@google.com",
        "time": "Tue May 28 23:22:52 2013"
      },
      "committer": {
        "name": "David Kuettel",
        "email": "kuettel@google.com",
        "time": "Tue May 28 23:22:52 2013"
      },
      "message": "Compare WOFF 2.0 vs. WOFF 1.0 (instead of GZIP)\n"
    },
    {
      "commit": "c34a8fce98a6399d136a797d59c49b8f3d254748",
      "tree": "ef3d1ea28f0e5b2f768d1177e8846e19a255a52b",
      "parents": [
        "ade3f1497427e1af96c9e7e900a5a49078141d8a"
      ],
      "author": {
        "name": "David Kuettel",
        "email": "kuettel@google.com",
        "time": "Tue May 28 22:49:04 2013"
      },
      "committer": {
        "name": "David Kuettel",
        "email": "kuettel@google.com",
        "time": "Tue May 28 22:49:04 2013"
      },
      "message": "Add early support for CFF\n"
    },
    {
      "commit": "ade3f1497427e1af96c9e7e900a5a49078141d8a",
      "tree": "318c57be505a13020097da62255c1d90efd09026",
      "parents": [
        "0cffdd1e74ea66aa0ae5f30d493d97138fc448bc"
      ],
      "author": {
        "name": "David Kuettel",
        "email": "kuettel@google.com",
        "time": "Fri Apr 19 23:24:19 2013"
      },
      "committer": {
        "name": "David Kuettel",
        "email": "kuettel@google.com",
        "time": "Fri Apr 19 23:24:19 2013"
      },
      "message": "Emit a warning message for .otf files, which are not supported yet\n"
    },
    {
      "commit": "0cffdd1e74ea66aa0ae5f30d493d97138fc448bc",
      "tree": "6f277ecc40136d33fc8be7680c4bfca9f6dcf158",
      "parents": [
        "c3f8753bee8c860d4041bc500bea53763574ce60"
      ],
      "author": {
        "name": "David Kuettel",
        "email": "kuettel@google.com",
        "time": "Thu Apr 18 17:34:18 2013"
      },
      "committer": {
        "name": "David Kuettel",
        "email": "kuettel@google.com",
        "time": "Thu Apr 18 17:34:18 2013"
      },
      "message": "Catch, log and continue upon encountering an exception\n"
    },
    {
      "commit": "c3f8753bee8c860d4041bc500bea53763574ce60",
      "tree": "b83e84b115ba8ec09d5278b47646b1dcabb6571c",
      "parents": [
        "f932d9cbf59ec31f6144838ce047027d94f1382b"
      ],
      "author": {
        "name": "David Kuettel",
        "email": "kuettel@google.com",
        "time": "Fri Apr 12 22:37:36 2013"
      },
      "committer": {
        "name": "David Kuettel",
        "email": "kuettel@google.com",
        "time": "Fri Apr 12 22:37:36 2013"
      },
      "message": "Remove stale references to /usr/bin/lzma, etc\n"
    },
    {
      "commit": "f932d9cbf59ec31f6144838ce047027d94f1382b",
      "tree": "1f2e7d39508ea8c1de2d4d31bf79b3b463f57132",
      "parents": [
        "42726b6c1f9e1a8c56fe65257b430fad2c284914"
      ],
      "author": {
        "name": "David Kuettel",
        "email": "kuettel@google.com",
        "time": "Fri Apr 12 01:18:50 2013"
      },
      "committer": {
        "name": "David Kuettel",
        "email": "kuettel@google.com",
        "time": "Fri Apr 12 01:18:50 2013"
      },
      "message": "Record the WOFF 2.0 compression improvement (%) in the CSV file\n"
    },
    {
      "commit": "42726b6c1f9e1a8c56fe65257b430fad2c284914",
      "tree": "3924365ca91da575a2540cea7c1b44f91f053050",
      "parents": [
        "19411b7e95451497b55ac340e0e53533498a40a7"
      ],
      "author": {
        "name": "David Kuettel",
        "email": "kuettel@google.com",
        "time": "Fri Apr 12 00:40:54 2013"
      },
      "committer": {
        "name": "David Kuettel",
        "email": "kuettel@google.com",
        "time": "Fri Apr 12 00:40:54 2013"
      },
      "message": "Add a simplified runner which outputs a CSV report\n"
    },
    {
      "commit": "19411b7e95451497b55ac340e0e53533498a40a7",
      "tree": "7f6a2053b9e2511c376596dbdd989eb577a46ca7",
      "parents": [
        "b3776ee481acb2b3a8815174d4859a6c7bdf0cee"
      ],
      "author": {
        "name": "David Kuettel",
        "email": "kuettel@google.com",
        "time": "Thu Apr 11 21:49:57 2013"
      },
      "committer": {
        "name": "David Kuettel",
        "email": "kuettel@google.com",
        "time": "Thu Apr 11 21:49:57 2013"
      },
      "message": "Cleanup: remove email addresses\n"
    },
    {
      "commit": "b3776ee481acb2b3a8815174d4859a6c7bdf0cee",
      "tree": "18bb5873fee42967a3a3dc7bb1aa324099b7fbdc",
      "parents": [
        "6966b2c40ded66227fcbb2a05b3d4281ea5b9b41"
      ],
      "author": {
        "name": "David Kuettel",
        "email": "kuettel@google.com",
        "time": "Thu Apr 11 20:44:09 2013"
      },
      "committer": {
        "name": "David Kuettel",
        "email": "kuettel@google.com",
        "time": "Thu Apr 11 20:44:09 2013"
      },
      "message": "Cleanup: remove build artifacts from git\n"
    },
    {
      "commit": "6966b2c40ded66227fcbb2a05b3d4281ea5b9b41",
      "tree": "986d21d1d7b2ee967ff508637861cb1f3c599813",
      "parents": [
        "c0d9d606d2554a1e3493853002f6035a53471c4f"
      ],
      "author": {
        "name": "David Kuettel",
        "email": "kuettel@google.com",
        "time": "Thu Apr 11 01:48:32 2013"
      },
      "committer": {
        "name": "David Kuettel",
        "email": "kuettel@google.com",
        "time": "Thu Apr 11 01:48:32 2013"
      },
      "message": "Comment debug output\n"
    },
    {
      "commit": "c0d9d606d2554a1e3493853002f6035a53471c4f",
      "tree": "abbaf191a339c988c1a83310d8236db8719bd2b2",
      "parents": [
        "e6177378107b8b2134b6e130fd8efbd66064d885"
      ],
      "author": {
        "name": "David Kuettel",
        "email": "kuettel@google.com",
        "time": "Thu Apr 11 01:44:14 2013"
      },
      "committer": {
        "name": "David Kuettel",
        "email": "kuettel@google.com",
        "time": "Thu Apr 11 01:44:14 2013"
      },
      "message": "Ensure LZMA compression is used by default\n"
    },
    {
      "commit": "e6177378107b8b2134b6e130fd8efbd66064d885",
      "tree": "0e43e54af7e8853f5c341ecf514b6e82163ef029",
      "parents": [
        "a9ce1661902d9941926d3e7903b1cd2ad7b6312d"
      ],
      "author": {
        "name": "David Kuettel",
        "email": "kuettel@google.com",
        "time": "Thu Apr 11 01:25:12 2013"
      },
      "committer": {
        "name": "David Kuettel",
        "email": "kuettel@google.com",
        "time": "Thu Apr 11 01:25:12 2013"
      },
      "message": "Cleanup: minor style, Javadoc and code changes\n"
    },
    {
      "commit": "a9ce1661902d9941926d3e7903b1cd2ad7b6312d",
      "tree": "0190b19e8c0a9ddfee443988393199ca8af8a8ca",
      "parents": [
        "ac7ebc90da4ac6e80b3925e9aac18d1c6ff4d491"
      ],
      "author": {
        "name": "David Kuettel",
        "email": "kuettel@google.com",
        "time": "Wed Apr 10 22:21:35 2013"
      },
      "committer": {
        "name": "David Kuettel",
        "email": "kuettel@google.com",
        "time": "Wed Apr 10 22:21:35 2013"
      },
      "message": "Cleanup: remove unused Command abstractions (cont.)\n"
    },
    {
      "commit": "ac7ebc90da4ac6e80b3925e9aac18d1c6ff4d491",
      "tree": "679f5c21091097e8168953f371be765804437f3f",
      "parents": [
        "bd9d6ce3ae8b182e717051806be476fe3aa48916"
      ],
      "author": {
        "name": "David Kuettel",
        "email": "kuettel@google.com",
        "time": "Wed Apr 10 22:16:04 2013"
      },
      "committer": {
        "name": "David Kuettel",
        "email": "kuettel@google.com",
        "time": "Wed Apr 10 22:16:04 2013"
      },
      "message": "Cleanup: remove unused Command abstractions\n"
    },
    {
      "commit": "bd9d6ce3ae8b182e717051806be476fe3aa48916",
      "tree": "78ae04a476748362ba5f7f0795323175592a01eb",
      "parents": [
        "1fec2c0a614079fca28bf76972b3d0395293bc0f"
      ],
      "author": {
        "name": "Raph Levien",
        "email": "raph@google.com",
        "time": "Sat Apr 06 00:01:50 2013"
      },
      "committer": {
        "name": "Raph Levien",
        "email": "raph@google.com",
        "time": "Sat Apr 06 00:01:50 2013"
      },
      "message": "Security fixes to woff2 decompression\n\nThis patch addresses the security and other problems found by agl in\nhis review of a previous version of the code.\n"
    },
    {
      "commit": "1fec2c0a614079fca28bf76972b3d0395293bc0f",
      "tree": "f1af882d017966c87f80691646e85b6503c983d7",
      "parents": [
        "0c3b13964fa3007710c5bba118a273f7996e04e2"
      ],
      "author": {
        "name": "David Kuettel",
        "email": "kuettel@google.com",
        "time": "Thu Feb 07 01:46:04 2013"
      },
      "committer": {
        "name": "David Kuettel",
        "email": "kuettel@google.com",
        "time": "Thu Feb 07 01:46:04 2013"
      },
      "message": "Use SevenZip Java LZMA compression library\n"
    },
    {
      "commit": "0c3b13964fa3007710c5bba118a273f7996e04e2",
      "tree": "e31d6b668a2da67f922d8c3e218f0e899cbef89f",
      "parents": [
        "c779de7e99c1e113c657576d9b403e8bb0cb70e7"
      ],
      "author": {
        "name": "David Kuettel",
        "email": "kuettel@google.com",
        "time": "Wed Feb 06 17:31:23 2013"
      },
      "committer": {
        "name": "David Kuettel",
        "email": "kuettel@google.com",
        "time": "Wed Feb 06 17:31:23 2013"
      },
      "message": "Compile with debug information\n"
    },
    {
      "commit": "c779de7e99c1e113c657576d9b403e8bb0cb70e7",
      "tree": "179f2fa56242c7a735893a31ab101d1818fe03a6",
      "parents": [
        "029e5f75f0561e300fba34117186e21342fd7087"
      ],
      "author": {
        "name": "Kenichi Ishibashi",
        "email": "bashi@chromium.org",
        "time": "Mon Jun 04 05:29:42 2012"
      },
      "committer": {
        "name": "Kenichi Ishibashi",
        "email": "bashi@chromium.org",
        "time": "Mon Jun 04 05:29:42 2012"
      },
      "message": "Adding checks (part 2/2) and minor changes\n\n- Added further checks\n- Removed commenting-out code\n- Fixed style (\"type \u0026variable\" -\u003e \"type\u0026 variable\")\n- In RecunstructTransformed(), the 6th argument of RecunstructGlyf()\n  call should be |loca_table-\u003edst_length|, not |loca_table-\u003edst_offset|.\n\nBUG\u003dnone\nTEST\u003dcompiled\n\nReview URL: https://codereview.appspot.com/6160043\n"
    },
    {
      "commit": "029e5f75f0561e300fba34117186e21342fd7087",
      "tree": "89f0b81d330b70619aac194b970b362c3ff95df8",
      "parents": [
        "dcecdd883a73835da28c862c10d906e8cad3fa49"
      ],
      "author": {
        "name": "Kenichi Ishibashi",
        "email": "bashi@chromium.org",
        "time": "Wed May 02 00:05:08 2012"
      },
      "committer": {
        "name": "Kenichi Ishibashi",
        "email": "bashi@chromium.org",
        "time": "Wed May 02 00:05:08 2012"
      },
      "message": "This CL adds some validation checks. Following CLs will add further checks.\n\nThis CL also changes pointer declarations from \"type *variable\" to \"type* variable\" to follow other OTS code.\n\nBUG\u003dnone\nTEST\u003dcompiled\n\nReview URL: https://codereview.appspot.com/6139064\n"
    },
    {
      "commit": "dcecdd883a73835da28c862c10d906e8cad3fa49",
      "tree": "a11829f6fbeddeba4e38fc3f85c43d400966b91c",
      "parents": [],
      "author": {
        "name": "Raph Levien",
        "email": "raph@google.com",
        "time": "Fri Mar 23 18:21:16 2012"
      },
      "committer": {
        "name": "Raph Levien",
        "email": "raph@google.com",
        "time": "Fri Mar 23 18:21:16 2012"
      },
      "message": "Initial commit of font compression code into public project.\n"
    }
  ]
}
