)]}'
{
  "log": [
    {
      "commit": "fcf88ae39b560f8605f8e7c56e243cb1a3a98e5c",
      "tree": "9484ec1fb39d8a35e5e4a7cdab26137d34cf61cf",
      "parents": [
        "1958fff050350cfe4829ed1a04c2553e76ee9b58"
      ],
      "author": {
        "name": "Dimitri Papadopoulos",
        "email": "3234522+DimitriPapadopoulos@users.noreply.github.com",
        "time": "Tue Nov 26 11:15:39 2024 +0100"
      },
      "committer": {
        "name": "Dimitri Papadopoulos",
        "email": "3234522+DimitriPapadopoulos@users.noreply.github.com",
        "time": "Tue Nov 26 11:15:39 2024 +0100"
      },
      "message": "Fix new typos found by codespell\n"
    },
    {
      "commit": "3e7c66acd1b6dab2473a996adac027dacf648d0a",
      "tree": "1a57168bf29ec9b0b2aea249cb8e126fc73f859f",
      "parents": [
        "3b343dcfb140ccb278a781faa8116d273f36e4a1"
      ],
      "author": {
        "name": "Yann Collet",
        "email": "yann.collet.73@gmail.com",
        "time": "Wed Oct 09 01:06:24 2024 -0700"
      },
      "committer": {
        "name": "Yann Collet",
        "email": "yann.collet.73@gmail.com",
        "time": "Wed Oct 09 01:06:24 2024 -0700"
      },
      "message": "added ascending order example\n"
    },
    {
      "commit": "3b343dcfb140ccb278a781faa8116d273f36e4a1",
      "tree": "31ec2f866ed401866eb735de43935d5d3ed254c8",
      "parents": [
        "da23998e9afc8aabf0ecb91033ccedad90eb6916"
      ],
      "author": {
        "name": "Yann Collet",
        "email": "cyan@fb.com",
        "time": "Mon Oct 07 17:15:07 2024 -0700"
      },
      "committer": {
        "name": "Yann Collet",
        "email": "cyan@fb.com",
        "time": "Mon Oct 07 17:15:07 2024 -0700"
      },
      "message": "refactor huffman prefix code paragraph\n"
    },
    {
      "commit": "a8b86d024a2e5ca7029ab19f7638cd6ca42bde1a",
      "tree": "ccdb3569db0815effd3c75562769a20d0dd88890",
      "parents": [
        "75b0f5f4f57b57ab4f2151f3d280f843e3c26375"
      ],
      "author": {
        "name": "Yann Collet",
        "email": "cyan@fb.com",
        "time": "Wed Oct 02 22:57:36 2024 -0700"
      },
      "committer": {
        "name": "Yann Collet",
        "email": "cyan@fb.com",
        "time": "Wed Oct 02 23:09:06 2024 -0700"
      },
      "message": "refactor documentation of the FSE decoding table build process\n"
    },
    {
      "commit": "d2212c680a8bb0e17da078f930ca36833ff9fb69",
      "tree": "37c5e27ac38ced69bad83a0d2d11c7057058d4eb",
      "parents": [
        "9215de52c7029bdad06d5fa59a4777edf0c92df9",
        "c54f4783d0cd51d8aad1c0a4fd9fe564d461aae4"
      ],
      "author": {
        "name": "Yann Collet",
        "email": "Cyan4973@users.noreply.github.com",
        "time": "Fri Sep 27 13:42:32 2024 -0700"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Fri Sep 27 13:42:32 2024 -0700"
      },
      "message": "Merge pull request #4013 from elasota/spec-clarify-offset-code-overflow\n\nSpecify that decoders may reject non-zero probabilities for larger offset codes than implementation supports"
    },
    {
      "commit": "0938308ff69b3a7679898d75403832bafe43ba89",
      "tree": "4a3a0250529cdf7be7ca740ea1bc7e5dd76d42a1",
      "parents": [
        "17b531501670781f37fc3e5070a29eede09bca3b"
      ],
      "author": {
        "name": "elasota",
        "email": "1137273+elasota@users.noreply.github.com",
        "time": "Thu Jun 20 15:19:58 2024 -0400"
      },
      "committer": {
        "name": "elasota",
        "email": "1137273+elasota@users.noreply.github.com",
        "time": "Thu Jun 20 17:46:16 2024 -0400"
      },
      "message": "Throw error if Huffman weight initial states are truncated\n"
    },
    {
      "commit": "c54f4783d0cd51d8aad1c0a4fd9fe564d461aae4",
      "tree": "5ac18e570a2f01afffea2c52b92be335837624d7",
      "parents": [
        "72c16b187d27016b7634f5c6b7290e7c66ba44b3"
      ],
      "author": {
        "name": "elasota",
        "email": "1137273+elasota@users.noreply.github.com",
        "time": "Mon Apr 01 20:13:18 2024 -0400"
      },
      "committer": {
        "name": "elasota",
        "email": "1137273+elasota@users.noreply.github.com",
        "time": "Mon Apr 01 20:13:48 2024 -0400"
      },
      "message": "Specify that decoders may reject non-zero probabilities for larger offset codes than supported by the implementation\n"
    },
    {
      "commit": "8cff66f2f53fa41b8f5be65996600d88fbbe1a98",
      "tree": "e6e9205077c18b5040f7978ce47feabff6a07da3",
      "parents": [
        "72c16b187d27016b7634f5c6b7290e7c66ba44b3"
      ],
      "author": {
        "name": "elasota",
        "email": "1137273+elasota@users.noreply.github.com",
        "time": "Mon Apr 01 20:08:42 2024 -0400"
      },
      "committer": {
        "name": "elasota",
        "email": "1137273+elasota@users.noreply.github.com",
        "time": "Mon Apr 01 20:08:42 2024 -0400"
      },
      "message": "Remove text specifying probability overflow as invalid, the variable-size value encoding scheme makes this impossible.\n"
    },
    {
      "commit": "e127139ceb60065917c43ab01634aa9563ec46a4",
      "tree": "5f2447d8689723186e6f093869493dde181dff08",
      "parents": [
        "478e5fedf9fff952a5f66215258da0fc617d1bfc",
        "f06b18b3ff009ef7dc90294fca674658ddf139bf"
      ],
      "author": {
        "name": "Yann Collet",
        "email": "Cyan4973@users.noreply.github.com",
        "time": "Fri Mar 08 15:25:48 2024 -0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Fri Mar 08 15:25:48 2024 -0800"
      },
      "message": "Merge pull request #3824 from elasota/specify-zero-offset\n\nSpecify offset 0 as invalid and specify required fixup behavior"
    },
    {
      "commit": "478e5fedf9fff952a5f66215258da0fc617d1bfc",
      "tree": "631bd138eb454f03ba9e6fb0647b13b0e7755d81",
      "parents": [
        "8689633fdf5dabfc7f4cd6f79611335c3f8def88",
        "52e41b9ac8010da90bbe97421cca533afd6914c0"
      ],
      "author": {
        "name": "Yann Collet",
        "email": "Cyan4973@users.noreply.github.com",
        "time": "Fri Mar 08 15:02:00 2024 -0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Fri Mar 08 15:02:00 2024 -0800"
      },
      "message": "Merge pull request #3816 from elasota/fix-state-table\n\nFix state table formatting"
    },
    {
      "commit": "7971fd16f787d62384967937417927565aecb021",
      "tree": "9c287773020cfc9c9e54e275984ab567d19257b4",
      "parents": [
        "7f76d37044c5a39ab303e47e8c1ab6be1f59558b",
        "c5bf96fb74378aaefec44f30f67f88f3f70f8e4e"
      ],
      "author": {
        "name": "Yann Collet",
        "email": "Cyan4973@users.noreply.github.com",
        "time": "Sat Jan 13 11:37:54 2024 -0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Sat Jan 13 11:37:54 2024 -0800"
      },
      "message": "Merge pull request #3817 from elasota/oversized-probs-clarification\n\nClarify that probability tables must not contain non-zero probabilities for invalid values"
    },
    {
      "commit": "f06b18b3ff009ef7dc90294fca674658ddf139bf",
      "tree": "b0405e208348195f0c819d43b157b18da73787f3",
      "parents": [
        "c6cabf94417d84ebb5da62e05d8b8a9623763585"
      ],
      "author": {
        "name": "elasota",
        "email": "1137273+elasota@users.noreply.github.com",
        "time": "Sun Nov 19 15:33:37 2023 -0500"
      },
      "committer": {
        "name": "elasota",
        "email": "1137273+elasota@users.noreply.github.com",
        "time": "Thu Dec 28 16:47:09 2023 -0500"
      },
      "message": "Specify offset 0 as invalid\n"
    },
    {
      "commit": "05059e5a48333e594e0204894cbbdffe51305487",
      "tree": "53965773d7e9b310f5f93f2a00f027a3b36c627a",
      "parents": [
        "dc84e35138338e95016fe23feb7dae43a842ca4f"
      ],
      "author": {
        "name": "elasota",
        "email": "1137273+elasota@users.noreply.github.com",
        "time": "Wed Nov 08 23:46:37 2023 -0500"
      },
      "committer": {
        "name": "Nick Terrell",
        "email": "nickrterrell@gmail.com",
        "time": "Fri Nov 24 16:49:40 2023 -0500"
      },
      "message": "Clarify that there must be at least 2 weights, i.e. encoding all weights as 0 is invalid\n"
    },
    {
      "commit": "dc84e35138338e95016fe23feb7dae43a842ca4f",
      "tree": "a4d1f16af8db13a9ae6bbc7624649d442484eaf6",
      "parents": [
        "8193250615f56ace446a3bf963d195f9f33fa9a9"
      ],
      "author": {
        "name": "elasota",
        "email": "1137273+elasota@users.noreply.github.com",
        "time": "Wed Nov 08 23:25:00 2023 -0500"
      },
      "committer": {
        "name": "Nick Terrell",
        "email": "nickrterrell@gmail.com",
        "time": "Fri Nov 24 16:49:40 2023 -0500"
      },
      "message": "Clarify that the presence of a value with weight 1 is required\n"
    },
    {
      "commit": "c5bf96fb74378aaefec44f30f67f88f3f70f8e4e",
      "tree": "57c686234738f0aed67d6207a139321890c88dcb",
      "parents": [
        "1518570c62b95136b6a69714012957cae5487a9a"
      ],
      "author": {
        "name": "elasota",
        "email": "1137273+elasota@users.noreply.github.com",
        "time": "Mon Nov 13 00:03:56 2023 -0500"
      },
      "committer": {
        "name": "elasota",
        "email": "1137273+elasota@users.noreply.github.com",
        "time": "Mon Nov 13 00:03:56 2023 -0500"
      },
      "message": "Clarify that a non-zero probability for an invalid symbol is invalid\n"
    },
    {
      "commit": "52e41b9ac8010da90bbe97421cca533afd6914c0",
      "tree": "db40bdf7ad5a237827682b05e267f736f850bf5f",
      "parents": [
        "1518570c62b95136b6a69714012957cae5487a9a"
      ],
      "author": {
        "name": "elasota",
        "email": "1137273+elasota@users.noreply.github.com",
        "time": "Thu Nov 09 12:22:27 2023 -0500"
      },
      "committer": {
        "name": "elasota",
        "email": "1137273+elasota@users.noreply.github.com",
        "time": "Thu Nov 09 12:28:21 2023 -0500"
      },
      "message": "Fix malformed state table\n"
    },
    {
      "commit": "e61e3ff15208432cecf09ede09e8ebcf1d126bdd",
      "tree": "b24ea65885ef56473c856eeb513c9e181476b92a",
      "parents": [
        "1518570c62b95136b6a69714012957cae5487a9a"
      ],
      "author": {
        "name": "elasota",
        "email": "1137273+elasota@users.noreply.github.com",
        "time": "Wed Nov 08 20:06:58 2023 -0500"
      },
      "committer": {
        "name": "elasota",
        "email": "1137273+elasota@users.noreply.github.com",
        "time": "Wed Nov 08 20:06:58 2023 -0500"
      },
      "message": "Clarify that decoding too many Huffman weights is a failure condition\n"
    },
    {
      "commit": "324cce4996d24af7b2cd86cf5eb1b9bd80de0a47",
      "tree": "924686fb2f8e1d91194f380d3d7403fb91e79a9f",
      "parents": [
        "b38d87b476b804d7948928d298c784deb875a93c"
      ],
      "author": {
        "name": "elasota",
        "email": "ejlasota@gmail.com",
        "time": "Tue Oct 31 11:42:00 2023 -0400"
      },
      "committer": {
        "name": "elasota",
        "email": "ejlasota@gmail.com",
        "time": "Tue Oct 31 11:45:10 2023 -0400"
      },
      "message": "Add definition of \"log2sup\" function\n"
    },
    {
      "commit": "b38d87b476b804d7948928d298c784deb875a93c",
      "tree": "79e27b3cad2396c38045435923e1251570bb8775",
      "parents": [
        "7567769a7e8e8236a2015769a5083d0f090a654b"
      ],
      "author": {
        "name": "elasota",
        "email": "ejlasota@gmail.com",
        "time": "Tue Oct 31 01:17:23 2023 -0400"
      },
      "committer": {
        "name": "elasota",
        "email": "ejlasota@gmail.com",
        "time": "Tue Oct 31 01:17:23 2023 -0400"
      },
      "message": "Clarify that the log2 of the largest possible symbol is the maximum number of bits consumed\n"
    },
    {
      "commit": "3732a08f5b82ed87a744e65daa2f11f77dabe954",
      "tree": "89104c74882023317076b40364ed7bbdef717e16",
      "parents": [
        "3e815f5b3a3cff33ef9f9b284179928983b25935"
      ],
      "author": {
        "name": "Yann Collet",
        "email": "cyan@fb.com",
        "time": "Mon Jun 05 16:03:00 2023 -0700"
      },
      "committer": {
        "name": "Yann Collet",
        "email": "cyan@fb.com",
        "time": "Mon Jun 05 16:03:00 2023 -0700"
      },
      "message": "fixed decoder behavior when nbSeqs\u003d\u003d0 is encoded using 2 bytes\n\nThe sequence section starts with a number, which tells how sequences are present in the section.\nIf this number if 0, the section automatically ends.\n\nThe number 0 can be represented using the 1 byte or the 2 bytes formats.\nThat\u0027s because the 2-bytes formats fully overlaps the 1 byte format.\n\nHowever, when 0 is represented using the 2-bytes format,\nthe decoder was expecting the sequence section to continue,\nand was looking for FSE tables, which is incorrect.\n\nFixed this behavior, in both the reference decoder and the educational behavior.\n\nIn practice, this behavior never happens,\nbecause the encoder will always select the 1-byte format to represent 0,\nsince this is more efficient.\n\nCompleted the fix with a new golden sample for tests,\na clarification of the specification,\nand a decoder errata paragraph.\n"
    },
    {
      "commit": "1f83b7cfc459c2dbef00dc6276f790370e17aef6",
      "tree": "78e2e5e0c534fbfd5307539f5a92b7a8f3b4a9a9",
      "parents": [
        "5059618295bc67f4f70eb6f12e6cf57b8d3de141"
      ],
      "author": {
        "name": "Yann Collet",
        "email": "cyan@fb.com",
        "time": "Mon Jun 05 09:51:52 2023 -0700"
      },
      "committer": {
        "name": "Yann Collet",
        "email": "cyan@fb.com",
        "time": "Mon Jun 05 09:51:52 2023 -0700"
      },
      "message": "fix a minor inefficiency in compress_superblock\n\nand in `decodecorpus`:\nthe specific case `nbSeq\u003d127` can be represented using the 1-byte format.\nNote that both the 1-byte and the 2-bytes formats are valid to represent this case,\nso there was no \"error\", produced data remains valid,\nit\u0027s just that the 1-byte format is more efficient.\n\nfix #3667\n\nCredit to @ip7z for finding this issue.\n"
    },
    {
      "commit": "64e8511b267e48b8c796ae70d41f3e7fe16a28d5",
      "tree": "c020ebea57624c7d5ddcaea7a8951bc6d18ac1f2",
      "parents": [
        "07a2a33135a5f5fd99c7f69e7dc0147c6894d252"
      ],
      "author": {
        "name": "Yann Collet",
        "email": "cyan@fb.com",
        "time": "Wed Mar 08 15:30:27 2023 -0800"
      },
      "committer": {
        "name": "Yann Collet",
        "email": "cyan@fb.com",
        "time": "Wed Mar 08 15:31:36 2023 -0800"
      },
      "message": "added clarifications for sizes of compressed huffman blocks and streams.\n"
    },
    {
      "commit": "832f559b0b9d22f3afc6b6e11a55044b9a238db5",
      "tree": "a9f4c445a7b00e72d2b8e7e839866e4e959d2511",
      "parents": [
        "4ebaf36582fdc56d0604a8a76676d4f24e9b0422"
      ],
      "author": {
        "name": "Yann Collet",
        "email": "cyan@fb.com",
        "time": "Sat Feb 18 18:16:00 2023 -0800"
      },
      "committer": {
        "name": "Yann Collet",
        "email": "cyan@fb.com",
        "time": "Sat Feb 18 18:18:16 2023 -0800"
      },
      "message": "clarify zstd specification for Huffman blocks\n\nFollowing detailed comments from @dweiller in #3508.\n"
    },
    {
      "commit": "6a9c525903ca65aad61b50381b5781c1187143d1",
      "tree": "f02045efdde78523c60d0bdfc43a228bc549df8e",
      "parents": [
        "40a718813070e23c3c7a437477a9e984d4de3f8b"
      ],
      "author": {
        "name": "Yann Collet",
        "email": "cyan@fb.com",
        "time": "Thu Dec 22 11:30:15 2022 -0800"
      },
      "committer": {
        "name": "Yann Collet",
        "email": "cyan@fb.com",
        "time": "Thu Dec 22 16:14:34 2022 -0800"
      },
      "message": "spec update : require minimum nb of literals for 4-streams mode\n\nReported by @shulib :\nthe specification for 4-streams mode\ndoesn\u0027t work when the amount of literals to compress is 5 bytes.\nExtending it, it also doesn\u0027t work for sizes 1 or 2.\n\nThis patch updates the specification and the implementation\nto require a minimum of 6 literals to trigger or accept the 4-streams mode.\n\nThe impact is expected to be a no-op :\nthe 4-streams mode is never triggered for such small quantity of literals anyway,\nsince it would be wasteful (it costs ~7.3 bytes more than single-stream mode).\nAn informal lower limit is set at ~256 bytes,\nso the technical minimum is very far from this limit.\n\nThis is just meant for completeness of the specification.\n"
    },
    {
      "commit": "5d693cc38cd7866c525ef6101c35f20e15514a6b",
      "tree": "c4c3c65c51f17dc5d5dc9c50a864aa18902fdeda",
      "parents": [
        "7f12f24cf47416fee0f1e84e4c57feb60e1bed0d"
      ],
      "author": {
        "name": "W. Felix Handte",
        "email": "w@felixhandte.com",
        "time": "Tue Dec 20 12:49:47 2022 -0500"
      },
      "committer": {
        "name": "W. Felix Handte",
        "email": "w@felixhandte.com",
        "time": "Tue Dec 20 12:52:34 2022 -0500"
      },
      "message": "Coalesce Almost All Copyright Notices to Standard Phrasing\n\n```\nfor f in $(find . \\( -path ./.git -o -path ./tests/fuzz/corpora -o -path ./tests/regression/data-cache -o -path ./tests/regression/cache \\) -prune -o -type f); do sed -i \u0027/Copyright .* \\(Yann Collet\\)\\|\\(Meta Platforms\\)/ s/Copyright .*/Copyright (c) Meta Platforms, Inc. and affiliates./\u0027 $f; done\n\ngit checkout HEAD -- build/VS2010/libzstd-dll/libzstd-dll.rc build/VS2010/zstd/zstd.rc tests/test-license.py contrib/linux-kernel/test/include/linux/xxhash.h examples/streaming_compression_thread_pool.c lib/legacy/zstd_v0*.c lib/legacy/zstd_v0*.h\nnano ./programs/windres/zstd.rc\nnano ./build/VS2010/zstd/zstd.rc\nnano ./build/VS2010/libzstd-dll/libzstd-dll.rc\n```\n"
    },
    {
      "commit": "7f12f24cf47416fee0f1e84e4c57feb60e1bed0d",
      "tree": "cd4ecdfadf5930c62b2c6d6349b9df60ab19e0c5",
      "parents": [
        "4c999cf968f6c5cf1bec76c806f4558d51fb0d54"
      ],
      "author": {
        "name": "W. Felix Handte",
        "email": "w@felixhandte.com",
        "time": "Tue Dec 20 12:44:56 2022 -0500"
      },
      "committer": {
        "name": "W. Felix Handte",
        "email": "w@felixhandte.com",
        "time": "Tue Dec 20 12:44:56 2022 -0500"
      },
      "message": "Rewrite Copyright Date Ranges from `-present` to `-2022`\n\nApparently it\u0027s better. Somehow.\n\n```\nfor f in $(find . \\( -path ./.git -o -path ./tests/fuzz/corpora -o -path ./tests/regression/data-cache -o -path ./tests/regression/cache \\) -prune -o -type f); do echo $f; sed -i \u0027s/\\-present/-2022/\u0027 $f; done\n\ng co HEAD -- build/meson/\n```\n"
    },
    {
      "commit": "36d5c2f32621c7e434640006960c77dac3e83eb0",
      "tree": "afcd8f27c0d03a77c0279d709654079ca6f057b9",
      "parents": [
        "8927f985ffed45101f9c6c95ac26cd1f6018ecb7"
      ],
      "author": {
        "name": "W. Felix Handte",
        "email": "w@felixhandte.com",
        "time": "Tue Dec 20 12:42:50 2022 -0500"
      },
      "committer": {
        "name": "W. Felix Handte",
        "email": "w@felixhandte.com",
        "time": "Tue Dec 20 12:42:50 2022 -0500"
      },
      "message": "Update Copyright Year (\u00272021\u0027 -\u003e \u0027present\u0027)\n\n```\nfor f in $(find . \\( -path ./.git -o -path ./tests/fuzz/corpora -o -path ./tests/regression/data-cache -o -path ./tests/regression/cache \\) -prune -o -type f);\ndo\n  sed -i \u0027s/\\-2021/-present/\u0027 $f;\ndone\n\ng co HEAD -- .github/workflows/dev-short-tests.yml # fix bad match\n```\n"
    },
    {
      "commit": "8927f985ffed45101f9c6c95ac26cd1f6018ecb7",
      "tree": "e3d40549fbbe3ac3ac3d25e572932164954f8ce3",
      "parents": [
        "a05cca62082ba0c655a0dad3f7994253c011d483"
      ],
      "author": {
        "name": "W. Felix Handte",
        "email": "w@felixhandte.com",
        "time": "Tue Dec 20 12:37:57 2022 -0500"
      },
      "committer": {
        "name": "W. Felix Handte",
        "email": "w@felixhandte.com",
        "time": "Tue Dec 20 12:37:57 2022 -0500"
      },
      "message": "Update Copyright Headers \u0027Facebook\u0027 -\u003e \u0027Meta Platforms\u0027\n\n```\nfor f in $(find . \\( -path ./.git -o -path ./tests/fuzz/corpora \\) -prune -o -type f);\ndo\n  sed -i \u0027s/Facebook, Inc\\./Meta Platforms, Inc. and affiliates./\u0027 $f;\ndone\n```\n"
    },
    {
      "commit": "4dffc35f2edf2e5fa53c3ea9c5c975fe2f1d6ebc",
      "tree": "81714bd78437804154ec46c21f72c3e1ad4f301b",
      "parents": [
        "dc39409a03079b0f55979dd72e892069c474425a"
      ],
      "author": {
        "name": "Danielle Rozenblit",
        "email": "drozenblit@fb.com",
        "time": "Wed Dec 14 06:58:35 2022 -0800"
      },
      "committer": {
        "name": "Danielle Rozenblit",
        "email": "drozenblit@fb.com",
        "time": "Wed Dec 14 06:58:35 2022 -0800"
      },
      "message": "Convert references to https from http\n"
    },
    {
      "commit": "f33ccd2d1b7e7a1b20ca721c5d05193b2eb5e637",
      "tree": "3c64cd47e5df14e93d5ffa89fd6a07e283262428",
      "parents": [
        "fda537b299bfa598e65b47ef77c412dc09313445"
      ],
      "author": {
        "name": "Yann Collet",
        "email": "cyan@fb.com",
        "time": "Tue May 24 04:47:49 2022 -0700"
      },
      "committer": {
        "name": "Yann Collet",
        "email": "cyan@fb.com",
        "time": "Tue May 24 04:47:49 2022 -0700"
      },
      "message": "fix small error in format documentation example\n\nreported by @dkcasset\nfix #3142\n"
    },
    {
      "commit": "b772f53952fa167e3c8d5630b26397e8d4fb4c5b",
      "tree": "225c6d7a485026ac2bf35133c7f837329c2fd3bf",
      "parents": [
        "05fc7c78c8c8e6bbd8dd04c39160a5e657bf581b"
      ],
      "author": {
        "name": "Dominique Pelle",
        "email": "dominique.pelle@gmail.com",
        "time": "Sat Mar 12 08:52:40 2022 +0100"
      },
      "committer": {
        "name": "Dominique Pelle",
        "email": "dominique.pelle@gmail.com",
        "time": "Sat Mar 12 08:58:04 2022 +0100"
      },
      "message": "Typo and grammar fixes\n"
    },
    {
      "commit": "ebbd67599897b8a2510f92e6392cee100df62ee6",
      "tree": "2db5ceea6cb6c0091580e1fe5b0d4f9597e61fdb",
      "parents": [
        "ddae153947beb03b9c9b64dc0ecf43b37e924e4d"
      ],
      "author": {
        "name": "Dimitris Apostolou",
        "email": "dimitris.apostolou@icloud.com",
        "time": "Sat Nov 13 10:04:04 2021 +0200"
      },
      "committer": {
        "name": "Dimitris Apostolou",
        "email": "dimitris.apostolou@icloud.com",
        "time": "Sat Nov 13 10:04:04 2021 +0200"
      },
      "message": "Fix typos\n"
    },
    {
      "commit": "0b0b62d1cf5ceb0c1bd5c1e93807f834a9399365",
      "tree": "0ae69a6c0af03223a20750da452be519f3f89338",
      "parents": [
        "accbf0af5a748e80af3963d0e48908657a872a0a"
      ],
      "author": {
        "name": "Yann Collet",
        "email": "cyan@fb.com",
        "time": "Sat May 15 23:04:46 2021 -0700"
      },
      "committer": {
        "name": "Yann Collet",
        "email": "cyan@fb.com",
        "time": "Sat May 15 23:04:46 2021 -0700"
      },
      "message": "minor mention of RFC8878\n\nmore recent update\n"
    },
    {
      "commit": "1d6d64afa30b4f5aeee73a95c9a7f661efd51de7",
      "tree": "a0dd1b0dcb2f2ca4591ec5f4821f1284eddb1c64",
      "parents": [
        "821d9acd17f251a8ee548eadbc3c5bccdfca7691"
      ],
      "author": {
        "name": "senhuang42",
        "email": "senhuang96@fb.com",
        "time": "Mon Jan 11 08:53:29 2021 -0500"
      },
      "committer": {
        "name": "senhuang42",
        "email": "senhuang96@fb.com",
        "time": "Mon Jan 11 08:53:29 2021 -0500"
      },
      "message": "Change year to 2021 for compression format file\n"
    },
    {
      "commit": "2d46d764cf4b3a915f45ffeb2c9a85f7ee213fd8",
      "tree": "cf220757bcf471fbfdabe3f2e3b9ef75540ea442",
      "parents": [
        "f34d2f4192296f40037ee9e503bb82857064c8d9"
      ],
      "author": {
        "name": "W. Felix Handte",
        "email": "w@felixhandte.com",
        "time": "Wed Dec 09 20:00:48 2020 -0500"
      },
      "committer": {
        "name": "W. Felix Handte",
        "email": "w@felixhandte.com",
        "time": "Wed Dec 09 20:03:58 2020 -0500"
      },
      "message": "Update Zstd Compression Format to Clarify Repcode Behavior\n"
    },
    {
      "commit": "8adeb9f1e62aa43dd2dda1ca7b11791d2365f276",
      "tree": "c64101072a8cfb79bad1f70e7bfa3866d3fb448f",
      "parents": [
        "9dcfe4d7b7bf229063b57b97e59cdf46dd342ce4"
      ],
      "author": {
        "name": "senhuang42",
        "email": "senhuang96@fb.com",
        "time": "Tue Sep 22 13:24:27 2020 -0400"
      },
      "committer": {
        "name": "senhuang42",
        "email": "senhuang96@fb.com",
        "time": "Tue Sep 22 13:24:27 2020 -0400"
      },
      "message": "Updated to repcode documentation to reflect dict content size\n"
    },
    {
      "commit": "9dcfe4d7b7bf229063b57b97e59cdf46dd342ce4",
      "tree": "8d3457c990514721b2f21ea13fe9b2329fecca64",
      "parents": [
        "05622992d571183cd17edc714bf78c85722a8030"
      ],
      "author": {
        "name": "senhuang42",
        "email": "senhuang96@fb.com",
        "time": "Tue Sep 22 12:58:44 2020 -0400"
      },
      "committer": {
        "name": "senhuang42",
        "email": "senhuang96@fb.com",
        "time": "Tue Sep 22 13:02:26 2020 -0400"
      },
      "message": "Update documentation about repcodes in dictionaries\n"
    },
    {
      "commit": "11a392ce23a2341b4cd815f43c84187190eace5e",
      "tree": "e4221d1f00ca9fe5a2beab96d3960177d7457a7b",
      "parents": [
        "b1a269437a51ad3e3c43b69460b18986cd9fb716"
      ],
      "author": {
        "name": "Yann Collet",
        "email": "cyan@fb.com",
        "time": "Tue May 26 13:15:35 2020 -0700"
      },
      "committer": {
        "name": "Yann Collet",
        "email": "cyan@fb.com",
        "time": "Tue May 26 13:15:35 2020 -0700"
      },
      "message": "minor markdown formatting fix\n"
    },
    {
      "commit": "bb3c9bf43a12a389b44da7233694041daa587fcf",
      "tree": "491ef1259a4d6d5aec359b0e927324ef439859fd",
      "parents": [
        "9eb2ccc9fbeaed4c1ce57964185eaa5af8cef970"
      ],
      "author": {
        "name": "Yann Collet",
        "email": "cyan@fb.com",
        "time": "Mon May 25 08:15:09 2020 -0700"
      },
      "committer": {
        "name": "Yann Collet",
        "email": "cyan@fb.com",
        "time": "Mon May 25 08:15:09 2020 -0700"
      },
      "message": "updated spec on dictID\u003d\u003d0\n\nSpecified decoder behavior on receiving a frame with dictID\u003d0.\n\nPushed paragraph on reserved DictID ranges into the Dictionary Format section.\n"
    },
    {
      "commit": "098b36e9ab6ae29f1a2f0e67911f0e27442a03e7",
      "tree": "4a3ee0b71feb7f66edfc44f81c37ac2221a4782e",
      "parents": [
        "7d85f354fded334a7be7ef322ec75d0a90f19f40"
      ],
      "author": {
        "name": "Yann Collet",
        "email": "cyan@fb.com",
        "time": "Wed Nov 13 09:50:15 2019 -0800"
      },
      "committer": {
        "name": "Yann Collet",
        "email": "cyan@fb.com",
        "time": "Wed Nov 13 09:50:15 2019 -0800"
      },
      "message": "clarifications for Block_Maximum_Size\n\nas a follow up of #1882\n"
    },
    {
      "commit": "ff7bd16c0a3676e3d87063a3355eff0c9cc4f090",
      "tree": "7ac06ca7111b96d1c79a059e8f44d89983e515aa",
      "parents": [
        "ed65210c9b6635e21e67e60138f86d04a071681f"
      ],
      "author": {
        "name": "Yann Collet",
        "email": "cyan@fb.com",
        "time": "Fri Oct 18 17:48:12 2019 -0700"
      },
      "committer": {
        "name": "Yann Collet",
        "email": "cyan@fb.com",
        "time": "Fri Oct 18 17:48:12 2019 -0700"
      },
      "message": "clarifications for the FSE decoding table\n\nrequested in #1782\n"
    },
    {
      "commit": "97bb38635c0616ab024af0a71b3d115fcbc4382a",
      "tree": "e2ea144af805abd76d3f8b5ead6205de2d2eedf3",
      "parents": [
        "1e07eb4d5ce620a6dddc284d1f20072de52c1531"
      ],
      "author": {
        "name": "Yann Collet",
        "email": "cyan@fb.com",
        "time": "Sat Aug 17 08:04:42 2019 +0200"
      },
      "committer": {
        "name": "Yann Collet",
        "email": "cyan@fb.com",
        "time": "Sat Aug 17 08:04:42 2019 +0200"
      },
      "message": "`number` instead of `nb`\n\nsuggested by @terrelln\n"
    },
    {
      "commit": "1e07eb4d5ce620a6dddc284d1f20072de52c1531",
      "tree": "1f7d7215ae1717b0c05602267b67c53828cff9fe",
      "parents": [
        "c9072ee674c9a928281286022f4d9393b0d113ec"
      ],
      "author": {
        "name": "Yann Collet",
        "email": "cyan@fb.com",
        "time": "Fri Aug 16 15:13:42 2019 +0200"
      },
      "committer": {
        "name": "Yann Collet",
        "email": "cyan@fb.com",
        "time": "Fri Aug 16 15:15:25 2019 +0200"
      },
      "message": "clarifications on the meaning of field `Block_Size`\n\nfollowing comments from Intel\u0027s Smita Kumar.\n"
    },
    {
      "commit": "a2861d75eb255ebb6bde02f8653ae530aefe7356",
      "tree": "7e76101097648a347f95761be24e27a7b157e79f",
      "parents": [
        "c05b270edc293cfd337176f9efdf9d16904229b8"
      ],
      "author": {
        "name": "W. Felix Handte",
        "email": "w@felixhandte.com",
        "time": "Wed Jul 17 17:55:15 2019 -0400"
      },
      "committer": {
        "name": "Felix Handte",
        "email": "w@felixhandte.com",
        "time": "Wed Jul 17 18:55:45 2019 -0400"
      },
      "message": "[doc] Bump Format Spec Version\n"
    },
    {
      "commit": "c05b270edc293cfd337176f9efdf9d16904229b8",
      "tree": "ec4909de9d8e3ef92849eb3c8a686179f5651800",
      "parents": [
        "f7d56943fd298e7f62d7b088ccfe85deab8c6512"
      ],
      "author": {
        "name": "W. Felix Handte",
        "email": "w@felixhandte.com",
        "time": "Wed Jul 17 17:30:09 2019 -0400"
      },
      "committer": {
        "name": "Felix Handte",
        "email": "w@felixhandte.com",
        "time": "Wed Jul 17 18:55:45 2019 -0400"
      },
      "message": "[doc] Remove Limitation that Compressed Block is Smaller than Uncompressed Content\n\nThis changes the size limit on compressed blocks to match those of the other\nblock types: they may not be larger than the `Block_Maximum_Decompressed_Size`,\nwhich is the smaller of the `Window_Size` and 128 KB, removing the additional\nrestriction that had been placed on `Compressed_Block`s, that they be smaller\nthan the decompressed content they represent.\n\nSeveral things motivate removing this restriction. On the one hand, this\nrestriction is not useful for decoders: the decoder must nonetheless be\nprepared to accept compressed blocks that are the full\n`Block_Maximum_Decompressed_Size`. And on the other, this bound is actually\nartificially limiting. If block representations were entirely independent,\na compressed representation of a block that is larger than the contents of the\nblock would be ipso facto useless, and it would be strictly better to send it\nas an `Raw_Block`. However, blocks are not entirely independent, and it can\nmake sense to pay the cost of encoding custom entropy tables in a block, even\nif that pushes that block size over the size of the data it represents,\nbecause those tables can be re-used by subsequent blocks.\n\nFinally, as far as I can tell, this restriction in the spec is not currently\nenforced in any Zstandard implementation, nor has it ever been. This change\nshould therefore be safe to make.\n"
    },
    {
      "commit": "9bf00707c7db33fb1ab4ae5dced1caacb09433a5",
      "tree": "6ac89f53caa5a863c2871e89067115f373fa1fae",
      "parents": [
        "c3c7deb1e1efea05d323a3698c4a4c53d1a3460b"
      ],
      "author": {
        "name": "Yann Collet",
        "email": "cyan@fb.com",
        "time": "Fri Oct 26 15:51:51 2018 -0700"
      },
      "committer": {
        "name": "Yann Collet",
        "email": "cyan@fb.com",
        "time": "Fri Oct 26 15:51:51 2018 -0700"
      },
      "message": "minor clarifications of history update rules\n"
    },
    {
      "commit": "f0fe9b0f0298ed8e5c2eebf36e024803f176f6dd",
      "tree": "1c16e6d5df36362eb08786205deaec8968dc27f3",
      "parents": [
        "4f702e44457508122e249109170452d89decb971"
      ],
      "author": {
        "name": "Ulrich Kunitz",
        "email": "ulikunitz@users.noreply.github.com",
        "time": "Tue Oct 23 08:43:19 2018 +0200"
      },
      "committer": {
        "name": "Ulrich Kunitz",
        "email": "ulikunitz@users.noreply.github.com",
        "time": "Tue Oct 23 08:43:19 2018 +0200"
      },
      "message": "Reverted removal of a trailing space.\n\nMy editor removes trailing spaces while saving. Not confusing things I\nreverted that change.\n"
    },
    {
      "commit": "4f702e44457508122e249109170452d89decb971",
      "tree": "edc14e35182a0abb16dba8701c3d8998cefc5d0e",
      "parents": [
        "c7942caff083f8c76085208c8a34812c337ad820"
      ],
      "author": {
        "name": "Ulrich Kunitz",
        "email": "ulikunitz@users.noreply.github.com",
        "time": "Tue Oct 23 08:36:50 2018 +0200"
      },
      "committer": {
        "name": "Ulrich Kunitz",
        "email": "ulikunitz@users.noreply.github.com",
        "time": "Tue Oct 23 08:36:50 2018 +0200"
      },
      "message": "Fixed a typo\n\nI fixed a typo in the last commit. Many thanks to @terrelin for pointing\nthat out.\n"
    },
    {
      "commit": "c7942caff083f8c76085208c8a34812c337ad820",
      "tree": "6d841f0f65de98e1ec8b50df1d581f3f595b558c",
      "parents": [
        "ca46afd72b8f32734ac5eea7fad8a9dc500ea0ca"
      ],
      "author": {
        "name": "Ulrich Kunitz",
        "email": "ulikunitz@users.noreply.github.com",
        "time": "Mon Oct 22 23:46:43 2018 +0200"
      },
      "committer": {
        "name": "Ulrich Kunitz",
        "email": "ulikunitz@users.noreply.github.com",
        "time": "Mon Oct 22 23:46:43 2018 +0200"
      },
      "message": "Clarify special case of offset history update\n\nIf the current sequence has literal length of zero then an offset value\nof three is handled in a special manner. While I implemented a golang\ndecoder I had to consult the educational decoder for clarification on\nthe update of the offset history in that case. This commit provides the\nclarification that the offset value Repeated_Offset1-1 is handled as a\nnew offset is added to the offset history accordingly.\n"
    },
    {
      "commit": "72a3adf826a79847e56f02e693da205c98d3f579",
      "tree": "2ccedb4aba92811f055e5d9dc709c840fb07b2be",
      "parents": [
        "9bb6c15f7966f59d001f782f087484a414eba570"
      ],
      "author": {
        "name": "Yann Collet",
        "email": "cyan@fb.com",
        "time": "Tue Sep 25 16:34:26 2018 -0700"
      },
      "committer": {
        "name": "Yann Collet",
        "email": "cyan@fb.com",
        "time": "Tue Sep 25 16:34:26 2018 -0700"
      },
      "message": "updated format documentation\n\nto match last edits of RFC8478.\n"
    },
    {
      "commit": "55a8f84a2c6072e712c2389ad3afba81366738e4",
      "tree": "ae2a4b46cf5f84ae26ec42c39d40cf5da44104fd",
      "parents": [
        "d492ef4e07f4f2e383df3fdc202627a99271eff4"
      ],
      "author": {
        "name": "Yann Collet",
        "email": "cyan@fb.com",
        "time": "Wed Sep 05 12:25:35 2018 -0700"
      },
      "committer": {
        "name": "Yann Collet",
        "email": "cyan@fb.com",
        "time": "Wed Sep 05 12:31:33 2018 -0700"
      },
      "message": "spec clarification\n\nfollowing #1305 comments from @ulikunitz\n"
    },
    {
      "commit": "c1a7defee1f81b0f0a67875042e3a3621e6e0f97",
      "tree": "020a7a7ffc300ee960bb7ff7bac80584813e3ad0",
      "parents": [
        "14a92e90fe8e149cd7a112f217ff5e3e82d20ca7"
      ],
      "author": {
        "name": "Nick Terrell",
        "email": "terrelln@fb.com",
        "time": "Tue Jul 10 15:07:36 2018 -0700"
      },
      "committer": {
        "name": "Nick Terrell",
        "email": "terrelln@fb.com",
        "time": "Tue Jul 10 15:07:36 2018 -0700"
      },
      "message": "Small fixes to zstd specification\n\nUpdate to keep in sync with the RFC.\n"
    },
    {
      "commit": "c1e63477174798e3e04b4c7cfda6c8358e462d18",
      "tree": "4e76c7dbd34da443369ae0147ad4a4ba34028f2d",
      "parents": [
        "7639db939f23fe5fe5b1a071c3f4f609dc459af1"
      ],
      "author": {
        "name": "Yann Collet",
        "email": "cyan@fb.com",
        "time": "Thu Jun 21 18:08:11 2018 -0700"
      },
      "committer": {
        "name": "Yann Collet",
        "email": "cyan@fb.com",
        "time": "Thu Jun 21 18:08:11 2018 -0700"
      },
      "message": "fixed minor typos, detected by @terrelln\n"
    },
    {
      "commit": "7639db939f23fe5fe5b1a071c3f4f609dc459af1",
      "tree": "eb156bea7f73fde8cdd9101f48d14849d0bea899",
      "parents": [
        "a4c9c4defe90f192390e0d48a3ea542abcf1720c"
      ],
      "author": {
        "name": "Yann Collet",
        "email": "cyan@fb.com",
        "time": "Thu Jun 21 17:48:34 2018 -0700"
      },
      "committer": {
        "name": "Yann Collet",
        "email": "cyan@fb.com",
        "time": "Thu Jun 21 17:55:55 2018 -0700"
      },
      "message": "updated Zstandard frame format\n\nadding clarifications from IETF RFC DISCUSS.\n"
    },
    {
      "commit": "a4c9c4defe90f192390e0d48a3ea542abcf1720c",
      "tree": "39009f3ead3a39659195441d8c07aa25bb4b1d4a",
      "parents": [
        "ac4f7ead3b8c32c5655ef8c6b964f9971b70085e"
      ],
      "author": {
        "name": "Yann Collet",
        "email": "cyan@fb.com",
        "time": "Thu May 31 10:47:44 2018 -0700"
      },
      "committer": {
        "name": "Yann Collet",
        "email": "cyan@fb.com",
        "time": "Thu May 31 10:47:44 2018 -0700"
      },
      "message": "update Zstandard format specification\n\nanswering a few questions from IETF RFC Discuss stage.\n"
    },
    {
      "commit": "73f4c890cd07dbc6e0f24f7399456a060a5a7105",
      "tree": "0dabb095b51c82a6d9b4016f3e332880c83b1858",
      "parents": [
        "27af35c110c3e01b9a3c0b6de03368d480eb0a29"
      ],
      "author": {
        "name": "Nick Terrell",
        "email": "terrelln@fb.com",
        "time": "Tue May 22 16:12:33 2018 -0700"
      },
      "committer": {
        "name": "Nick Terrell",
        "email": "terrelln@fb.com",
        "time": "Tue May 22 16:12:33 2018 -0700"
      },
      "message": "Clarify what happens when Number_of_Sequences \u003d\u003d 0\n"
    },
    {
      "commit": "82ad249645941096c8e1d1171ad6b4cfcfbd5188",
      "tree": "3a8e0c9426abffa9eef260980d63aa6054e60a53",
      "parents": [
        "a11f0c67bb3c21235bf5e3cdae3d05403dbb6b79"
      ],
      "author": {
        "name": "Yann Collet",
        "email": "cyan@fb.com",
        "time": "Mon Apr 30 11:35:49 2018 -0700"
      },
      "committer": {
        "name": "Yann Collet",
        "email": "cyan@fb.com",
        "time": "Mon Apr 30 12:36:55 2018 -0700"
      },
      "message": "Clarifications of Zstandard format specification\n\nfrom IETF RFC review\n"
    },
    {
      "commit": "914d9838795c6d797a3a98e2cccf735ea1661f52",
      "tree": "cc2bd831ffb949fa41dbdfaf390b86f20ffd8e0f",
      "parents": [
        "88798028660dd233e8a9c179028e42daf2efe68b"
      ],
      "author": {
        "name": "Shawn Landden",
        "email": "slandden@gmail.com",
        "time": "Thu Dec 21 16:15:12 2017 -0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Thu Dec 21 16:15:12 2017 -0800"
      },
      "message": "fix unbounded range\n\nI think you meant 8 MiB or smaller, instead of an unbounded (and illogical) range"
    },
    {
      "commit": "fccb46fbe03d3a876ce32cc3ddc3d2dcdacad7ed",
      "tree": "f1cf54099e61617583b543d57fb0b50031112f46",
      "parents": [
        "d11661c3ecd0cd121ca10543bf0d7200b9b3821b"
      ],
      "author": {
        "name": "Yann Collet",
        "email": "cyan@fb.com",
        "time": "Sat Nov 18 11:28:00 2017 -0800"
      },
      "committer": {
        "name": "Yann Collet",
        "email": "cyan@fb.com",
        "time": "Sat Nov 18 11:28:00 2017 -0800"
      },
      "message": "minor spelling fixes\n"
    },
    {
      "commit": "e8d35cc5e9c6e2055bca5de4bec4591c005c710e",
      "tree": "c081623a87a52ce9dcefee66bf0d3df173cbedd3",
      "parents": [
        "d0d06e421f5eb8a617d1959ff5573684c293358b"
      ],
      "author": {
        "name": "Yann Collet",
        "email": "cyan@fb.com",
        "time": "Sun Aug 20 10:39:20 2017 -0700"
      },
      "committer": {
        "name": "Yann Collet",
        "email": "cyan@fb.com",
        "time": "Sun Aug 20 10:39:20 2017 -0700"
      },
      "message": "minor formulation change, recommended by @ulikunitz\n"
    },
    {
      "commit": "d0d06e421f5eb8a617d1959ff5573684c293358b",
      "tree": "369471b0d0bbfe9848e663814851f1d9f3230041",
      "parents": [
        "8b12812147356171ef5f330049c9510eeef0317a"
      ],
      "author": {
        "name": "Yann Collet",
        "email": "cyan@fb.com",
        "time": "Sat Aug 19 12:26:09 2017 -0700"
      },
      "committer": {
        "name": "Yann Collet",
        "email": "cyan@fb.com",
        "time": "Sat Aug 19 12:26:09 2017 -0700"
      },
      "message": "added alternative representation for huffman bistream\n"
    },
    {
      "commit": "8b12812147356171ef5f330049c9510eeef0317a",
      "tree": "8f2d159db8ad06986679570edc5d27ba6bb432e6",
      "parents": [
        "2ecd34ee5efaece2b76a872dc4f02b7eaaa053d5"
      ],
      "author": {
        "name": "Yann Collet",
        "email": "cyan@fb.com",
        "time": "Sat Aug 19 12:17:57 2017 -0700"
      },
      "committer": {
        "name": "Yann Collet",
        "email": "cyan@fb.com",
        "time": "Sat Aug 19 12:17:57 2017 -0700"
      },
      "message": "fix #803 : wrong example in huffman bitstream section, reported by @ulikunitz\n"
    },
    {
      "commit": "a935d67bf141aa2fa9fe59f4211e175b6b8d5b0f",
      "tree": "7a16a99b4d9e4d6ff30debfd32d875ea2916d515",
      "parents": [
        "14433ca1adfa9bb17e74fcbd7942cc6d6a91c80a"
      ],
      "author": {
        "name": "Yann Collet",
        "email": "cyan@fb.com",
        "time": "Fri Mar 31 16:19:04 2017 -0700"
      },
      "committer": {
        "name": "Yann Collet",
        "email": "cyan@fb.com",
        "time": "Fri Mar 31 16:19:04 2017 -0700"
      },
      "message": "minor typo fixes in specification\n"
    },
    {
      "commit": "14433ca1adfa9bb17e74fcbd7942cc6d6a91c80a",
      "tree": "61526fa6f24c8124c96de107188eaac48ce8f377",
      "parents": [
        "6476c51b86becd6a59de1f870e75bf8c7d89b7ed"
      ],
      "author": {
        "name": "Yann Collet",
        "email": "cyan@fb.com",
        "time": "Fri Mar 31 10:54:45 2017 -0700"
      },
      "committer": {
        "name": "Yann Collet",
        "email": "cyan@fb.com",
        "time": "Fri Mar 31 15:45:58 2017 -0700"
      },
      "message": "numerous typos and clarifications in format specification\n\nfix limit values of Window_Size\nbump version to 0.2.5\n"
    },
    {
      "commit": "3bee41a70eaf343fbcae3637b3f6edbe52f35ed8",
      "tree": "3e1398c48aa97f84c99416f250ae8c9669af3319",
      "parents": [
        "042419ec2acb8d6bcf42cf337ae54c966a8e576d"
      ],
      "author": {
        "name": "Sean Purcell",
        "email": "me@seanp.xyz",
        "time": "Tue Feb 21 10:20:36 2017 -0800"
      },
      "committer": {
        "name": "Sean Purcell",
        "email": "me@seanp.xyz",
        "time": "Tue Feb 21 10:20:36 2017 -0800"
      },
      "message": "Add default distributions and fix typos\n"
    },
    {
      "commit": "042419ec2acb8d6bcf42cf337ae54c966a8e576d",
      "tree": "336d7748ddb2459eed9a1d8d8434672712557fe0",
      "parents": [
        "f2da1b1f229ba6ce82e5e7e1396c68beb7cdaf61"
      ],
      "author": {
        "name": "Sean Purcell",
        "email": "me@seanp.xyz",
        "time": "Fri Feb 17 16:24:26 2017 -0800"
      },
      "committer": {
        "name": "Sean Purcell",
        "email": "me@seanp.xyz",
        "time": "Fri Feb 17 16:24:26 2017 -0800"
      },
      "message": "Restructure Format Specification\n"
    },
    {
      "commit": "20bed4210c704c82885d1c324fdbaa893ce3cf72",
      "tree": "e8f2a0043210ea62b456776e18ba3cb8dfcbfa95",
      "parents": [
        "609c123a0104fede2ea1d5da1861ebac7c1471e8"
      ],
      "author": {
        "name": "Yann Collet",
        "email": "cyan@fb.com",
        "time": "Fri Jan 27 12:16:16 2017 -0800"
      },
      "committer": {
        "name": "Yann Collet",
        "email": "cyan@fb.com",
        "time": "Fri Jan 27 12:16:16 2017 -0800"
      },
      "message": "changed format specification version number\n"
    },
    {
      "commit": "d86153d9034ff5950c8a803569a91a5b7515998e",
      "tree": "77862face10ac23826baac30be4c052b5ca0afd8",
      "parents": [
        "81c96702260fe5068622ea87a0f29e5d626d22a7"
      ],
      "author": {
        "name": "Sean Purcell",
        "email": "me@seanp.xyz",
        "time": "Thu Jan 26 16:58:25 2017 -0800"
      },
      "committer": {
        "name": "Sean Purcell",
        "email": "me@seanp.xyz",
        "time": "Thu Jan 26 16:58:25 2017 -0800"
      },
      "message": "Edits as per comments, and change wildcard \u0027X\u0027 to \u0027?\u0027\n"
    },
    {
      "commit": "81c96702260fe5068622ea87a0f29e5d626d22a7",
      "tree": "371e0a087bd99a3c6820bf7412d755320ed2d948",
      "parents": [
        "ab226d4828b01015bad92da5f797fe02fcf878be"
      ],
      "author": {
        "name": "Sean Purcell",
        "email": "me@seanp.xyz",
        "time": "Thu Jan 26 11:15:34 2017 -0800"
      },
      "committer": {
        "name": "Sean Purcell",
        "email": "me@seanp.xyz",
        "time": "Thu Jan 26 11:15:34 2017 -0800"
      },
      "message": "Fixed commented issues\n"
    },
    {
      "commit": "ab226d4828b01015bad92da5f797fe02fcf878be",
      "tree": "e1f6cd43deb0bda091eb41d2c9a1d91f51bbe627",
      "parents": [
        "900f39e7091f39f5d8ca50d7f9fdc25e68f4e0e9"
      ],
      "author": {
        "name": "Sean Purcell",
        "email": "me@seanp.xyz",
        "time": "Wed Jan 25 16:41:52 2017 -0800"
      },
      "committer": {
        "name": "Sean Purcell",
        "email": "me@seanp.xyz",
        "time": "Wed Jan 25 16:42:41 2017 -0800"
      },
      "message": "Updated format specification to be easier to understand\n"
    },
    {
      "commit": "d82efd8a708633affccfbf8571cb5fd712bc8636",
      "tree": "e1fffb28b21820a4f79ae3557934f60c75950d05",
      "parents": [
        "0a5a5fb7fd7b23994dc916c7b290aa9b8422c06f"
      ],
      "author": {
        "name": "Nick Terrell",
        "email": "terrelln@fb.com",
        "time": "Wed Nov 02 16:47:53 2016 -0700"
      },
      "committer": {
        "name": "Nick Terrell",
        "email": "terrelln@fb.com",
        "time": "Wed Nov 02 18:07:16 2016 -0700"
      },
      "message": "ZSTD_compress_usingDict() when dict gets loaded\n\nSpecify that when `dict \u003d\u003d NULL || dictSize \u003c 8` no dictionary\ngets loaded.\nAlso add some periods.\n"
    },
    {
      "commit": "3ee94a7600ad0d628b1c43777de2ea7bb31f3ed0",
      "tree": "b5db9c4cccad6773918ad5f7f971b667ff0b779f",
      "parents": [
        "4732074a71cf80811aee608dbd24368a854719c2"
      ],
      "author": {
        "name": "Przemyslaw Skibinski",
        "email": "inikep@gmail.com",
        "time": "Mon Oct 24 15:58:07 2016 +0200"
      },
      "committer": {
        "name": "Przemyslaw Skibinski",
        "email": "inikep@gmail.com",
        "time": "Mon Oct 24 15:58:07 2016 +0200"
      },
      "message": "zstd_compression_format.md moved to doc/\n"
    },
    {
      "commit": "55981a9ad61a1cc13422e58868a9b54fdc1a481d",
      "tree": "61702aaa22e56e6b36a0896e4e434acf43e7324c",
      "parents": [
        "6f358f5925cf5e38781a0b4701bafc6c4211baab"
      ],
      "author": {
        "name": "Yann Collet",
        "email": "yann.collet.73@gmail.com",
        "time": "Thu Sep 15 02:13:18 2016 +0200"
      },
      "committer": {
        "name": "Yann Collet",
        "email": "yann.collet.73@gmail.com",
        "time": "Thu Sep 15 02:13:18 2016 +0200"
      },
      "message": "updated format doc version\n"
    },
    {
      "commit": "35ad602c26eefb3bc1a68e33ac019578ba6fee98",
      "tree": "2fad980e257027901a7cfec9095160f6d30b80dd",
      "parents": [
        "6fb4d675c642989020e00e33899df1cb21029874"
      ],
      "author": {
        "name": "Johannes Rudolph",
        "email": "johannes.rudolph@gmail.com",
        "time": "Wed Sep 14 19:14:49 2016 +0200"
      },
      "committer": {
        "name": "Johannes Rudolph",
        "email": "johannes.rudolph@gmail.com",
        "time": "Wed Sep 14 19:18:00 2016 +0200"
      },
      "message": "spec: clarify how bitstream exactly needs to be reversed for reading\n"
    },
    {
      "commit": "6fb4d675c642989020e00e33899df1cb21029874",
      "tree": "2ccea4ef12466cf0d4edbd0badf3a34380b79f97",
      "parents": [
        "64deef3bee9a5235191ff31d446be6f1e591a4b2"
      ],
      "author": {
        "name": "Johannes Rudolph",
        "email": "johannes.rudolph@gmail.com",
        "time": "Wed Sep 14 19:01:04 2016 +0200"
      },
      "committer": {
        "name": "Johannes Rudolph",
        "email": "johannes.rudolph@gmail.com",
        "time": "Wed Sep 14 19:18:00 2016 +0200"
      },
      "message": "add FSE decoding tables for predefined distributions to spec\n\nThey can so serve as a sample result of the table construction algorithm.\n"
    },
    {
      "commit": "7b0c261623707e20dd8f896b046928e865181cf5",
      "tree": "ef6d0ab1e1d8a531d05f706c43449a7fb0395327",
      "parents": [
        "2c6779f94890325b647047c9c5d5139d76951301"
      ],
      "author": {
        "name": "Johannes Rudolph",
        "email": "johannes.rudolph@gmail.com",
        "time": "Fri Sep 09 19:02:40 2016 +0200"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Fri Sep 09 19:02:40 2016 +0200"
      },
      "message": "Smallish typo fixes in format documentation"
    },
    {
      "commit": "e48fbb9f4c0c8c7f9e2d5ed051840b3dc2b0c2be",
      "tree": "aec3af14b7c90e11449c5bec33ee075ef9536cb3",
      "parents": [
        "5c6d2449733c3e097be99d8ff431f02aa11356d3"
      ],
      "author": {
        "name": "Nick Terrell",
        "email": "terrelln@fb.com",
        "time": "Wed Sep 07 14:39:32 2016 -0700"
      },
      "committer": {
        "name": "Nick Terrell",
        "email": "terrelln@fb.com",
        "time": "Wed Sep 07 14:39:32 2016 -0700"
      },
      "message": "Specify that dictionary ID is little-endian\n"
    },
    {
      "commit": "ff306ae2f62b3ecd8222771ff99e4642a1f266f8",
      "tree": "0c2934aed14aa3ce5d4419632b1b25fe5683ea54",
      "parents": [
        "5c956d593c021a5a8f34052ecaf8e3221dc891f1"
      ],
      "author": {
        "name": "Yann Collet",
        "email": "cyan@fb.com",
        "time": "Tue Sep 06 15:34:07 2016 +0200"
      },
      "committer": {
        "name": "Yann Collet",
        "email": "cyan@fb.com",
        "time": "Tue Sep 06 15:34:07 2016 +0200"
      },
      "message": "clarification dictionary format\n"
    },
    {
      "commit": "7bdfcead569a59540285c68d7ddc0e42fa2bf9bb",
      "tree": "35a6752b1637c3616ca488570931342b098a27bf",
      "parents": [
        "fa72f6bdcee06eeceef3aa5298710cb67f66b8f2"
      ],
      "author": {
        "name": "Yann Collet",
        "email": "cyan@fb.com",
        "time": "Mon Sep 05 17:43:31 2016 +0200"
      },
      "committer": {
        "name": "Yann Collet",
        "email": "cyan@fb.com",
        "time": "Mon Sep 05 17:43:31 2016 +0200"
      },
      "message": "Fixed : magic number (#345), reported by @mitchblank\n"
    },
    {
      "commit": "855766d73dac1d19abb82f984015a842e09deef2",
      "tree": "362a7a74b7d50f6389b46fbbeb7dca3e7bd1c71a",
      "parents": [
        "2b26ad194736e3c227f31b41c329a10351f746d5"
      ],
      "author": {
        "name": "Yann Collet",
        "email": "cyan@fb.com",
        "time": "Fri Sep 02 17:04:49 2016 -0700"
      },
      "committer": {
        "name": "Yann Collet",
        "email": "cyan@fb.com",
        "time": "Fri Sep 02 17:04:49 2016 -0700"
      },
      "message": "clarified dictionary in format description\n"
    },
    {
      "commit": "12731a9644e277e049286d7f96565b72b99ecef5",
      "tree": "6737c53ce37878130ab55d21424772cf0717ca31",
      "parents": [
        "de9d13068ffc864c9ccc75700715700b27fe520d"
      ],
      "author": {
        "name": "inikep",
        "email": "inikep@gmail.com",
        "time": "Thu Aug 25 15:19:37 2016 +0200"
      },
      "committer": {
        "name": "inikep",
        "email": "inikep@gmail.com",
        "time": "Thu Aug 25 15:19:37 2016 +0200"
      },
      "message": "minor changes in zstd_compression_format.md\n"
    },
    {
      "commit": "de9d13068ffc864c9ccc75700715700b27fe520d",
      "tree": "f1819f394146dfd0e9594d7995856501db7e3009",
      "parents": [
        "0132375ba6975b8acb781d83bb3f9614424ca817"
      ],
      "author": {
        "name": "inikep",
        "email": "inikep@gmail.com",
        "time": "Thu Aug 25 14:59:08 2016 +0200"
      },
      "committer": {
        "name": "inikep",
        "email": "inikep@gmail.com",
        "time": "Thu Aug 25 14:59:08 2016 +0200"
      },
      "message": "updated zstd_compression_format.md\n"
    },
    {
      "commit": "0132375ba6975b8acb781d83bb3f9614424ca817",
      "tree": "df8f36ced269208e12a41d2c24bc0514c88edd32",
      "parents": [
        "637d33566dabd11527b8ccc7b6ef0ca8094a3fcc"
      ],
      "author": {
        "name": "inikep",
        "email": "inikep@gmail.com",
        "time": "Thu Aug 25 12:20:38 2016 +0200"
      },
      "committer": {
        "name": "inikep",
        "email": "inikep@gmail.com",
        "time": "Thu Aug 25 12:20:38 2016 +0200"
      },
      "message": "improved zstd_compression_format.md\n"
    },
    {
      "commit": "70c2326bf194121a1213476a3d6b90ecb3ffa802",
      "tree": "faeaeec99b4f628e977ac2f45ddb4df60040ca81",
      "parents": [
        "8baf78a291532963a6bb47163ff7c064804ea341"
      ],
      "author": {
        "name": "Yann Collet",
        "email": "yann.collet.73@gmail.com",
        "time": "Sun Aug 21 00:24:18 2016 +0200"
      },
      "committer": {
        "name": "Yann Collet",
        "email": "yann.collet.73@gmail.com",
        "time": "Sun Aug 21 00:24:18 2016 +0200"
      },
      "message": "spec : clarify last literal copy command\n"
    },
    {
      "commit": "e81f2cb93820bfdb2ebb577552c959302bbc1821",
      "tree": "b3a669b27a26eafdaec23ada402fd516b1d2efa3",
      "parents": [
        "f4f8add62167e6d2741ac73c8ac1d3c624d9a6e6"
      ],
      "author": {
        "name": "inikep",
        "email": "inikep@gmail.com",
        "time": "Sat Aug 13 09:36:24 2016 +0200"
      },
      "committer": {
        "name": "inikep",
        "email": "inikep@gmail.com",
        "time": "Sat Aug 13 09:36:24 2016 +0200"
      },
      "message": "improved zstd_compression_format.md\n"
    },
    {
      "commit": "0079425297fce6e25d674615c25596daabf590e7",
      "tree": "a0b09a1d8a9c859b8e1235799a5c2c99e0723894",
      "parents": [
        "4f270ac851c8385643e491aa45049fd478fabbfa"
      ],
      "author": {
        "name": "inikep",
        "email": "inikep@gmail.com",
        "time": "Thu Aug 04 14:43:21 2016 +0200"
      },
      "committer": {
        "name": "inikep",
        "email": "inikep@gmail.com",
        "time": "Thu Aug 04 14:43:21 2016 +0200"
      },
      "message": ".travis.yml: tests merged together\n"
    },
    {
      "commit": "4f270ac851c8385643e491aa45049fd478fabbfa",
      "tree": "c57cfde4bab82ac371b33af57354befbe86b4cdc",
      "parents": [
        "9d003c1d4c13e2acea70fa018f136933fb0b66db"
      ],
      "author": {
        "name": "inikep",
        "email": "inikep@gmail.com",
        "time": "Thu Aug 04 11:25:52 2016 +0200"
      },
      "committer": {
        "name": "inikep",
        "email": "inikep@gmail.com",
        "time": "Thu Aug 04 11:25:52 2016 +0200"
      },
      "message": ".travis.yml: clang test joined into bigger test\n"
    },
    {
      "commit": "9d003c1d4c13e2acea70fa018f136933fb0b66db",
      "tree": "211d9cf8a6eab6a680982bd174dc569434a844f3",
      "parents": [
        "f896c1d7175c03bab533bd7e391aa152a4b09c22"
      ],
      "author": {
        "name": "inikep",
        "email": "inikep@gmail.com",
        "time": "Thu Aug 04 10:41:49 2016 +0200"
      },
      "committer": {
        "name": "inikep",
        "email": "inikep@gmail.com",
        "time": "Thu Aug 04 10:41:49 2016 +0200"
      },
      "message": ".travis.yml: joined 7 smaller tests into 2 bigger\n"
    },
    {
      "commit": "f896c1d7175c03bab533bd7e391aa152a4b09c22",
      "tree": "fc2041b2677b67919a8c6708300fde8eb090e1cd",
      "parents": [
        "586a0550f142691e38c3d2e2f7d57fb5a70cae44"
      ],
      "author": {
        "name": "inikep",
        "email": "inikep@gmail.com",
        "time": "Wed Aug 03 16:37:42 2016 +0200"
      },
      "committer": {
        "name": "inikep",
        "email": "inikep@gmail.com",
        "time": "Wed Aug 03 16:37:42 2016 +0200"
      },
      "message": "zstd_compression_format.md: improved formatting\n"
    },
    {
      "commit": "586a0550f142691e38c3d2e2f7d57fb5a70cae44",
      "tree": "557bff0229b6413d163378715391341271b2aa49",
      "parents": [
        "1b5a8fafec776cefb5193a9fa40fcfaac5ffca2d"
      ],
      "author": {
        "name": "inikep",
        "email": "inikep@gmail.com",
        "time": "Wed Aug 03 16:16:38 2016 +0200"
      },
      "committer": {
        "name": "inikep",
        "email": "inikep@gmail.com",
        "time": "Wed Aug 03 16:16:38 2016 +0200"
      },
      "message": "huffman -\u003e Huffman\n"
    },
    {
      "commit": "917fe188f15fcfd4406ff991d4bf8c60a6ccbfc2",
      "tree": "8803c2009380fb4471d4b5ef9b6c1473ce833352",
      "parents": [
        "8f29e8e0e47605e7d78bcca720340539fc44af3e"
      ],
      "author": {
        "name": "Yann Collet",
        "email": "yann.collet.73@gmail.com",
        "time": "Sun Jul 31 04:01:57 2016 +0200"
      },
      "committer": {
        "name": "Yann Collet",
        "email": "yann.collet.73@gmail.com",
        "time": "Sun Jul 31 04:01:57 2016 +0200"
      },
      "message": "Implemented repOffset \"minus 1\" on ll\u003d\u003d0\n"
    },
    {
      "commit": "f34035ecfbc44ef8f97ed71f0a004902a100f806",
      "tree": "ce5a94a8fb43ed40cfb42a4981fbbad6795aa0aa",
      "parents": [
        "f714f59c1660bcde67114c7285046cfc4dd1cee8"
      ],
      "author": {
        "name": "Yann Collet",
        "email": "yann.collet.73@gmail.com",
        "time": "Sat Jul 30 13:12:34 2016 +0200"
      },
      "committer": {
        "name": "Yann Collet",
        "email": "yann.collet.73@gmail.com",
        "time": "Sat Jul 30 13:12:34 2016 +0200"
      },
      "message": "correction on offset history (swap when llCode\u003d\u003d0)\n"
    },
    {
      "commit": "c991cc18287ec2d9362d1a222e0c6e00d44704c5",
      "tree": "614d9cfb278a4d7095836634ce89cae6a63ebc09",
      "parents": [
        "d4180cad9c9c25ab1b48821b238b9b9c4d61445f"
      ],
      "author": {
        "name": "Yann Collet",
        "email": "yann.collet.73@gmail.com",
        "time": "Thu Jul 28 00:55:43 2016 +0200"
      },
      "committer": {
        "name": "Yann Collet",
        "email": "yann.collet.73@gmail.com",
        "time": "Thu Jul 28 00:55:43 2016 +0200"
      },
      "message": "new frame end, 32-bits checksums\n"
    },
    {
      "commit": "2fc37520512632cd3350f77c42fcb41802ff4fd0",
      "tree": "d2a06a73eb20c9f9029d250a560f1a38f0a1d41c",
      "parents": [
        "49ec6d11d99e4f12d6eb6f6d9d697125109e6b5c"
      ],
      "author": {
        "name": "inikep",
        "email": "inikep@gmail.com",
        "time": "Mon Jul 25 12:47:02 2016 +0200"
      },
      "committer": {
        "name": "inikep",
        "email": "inikep@gmail.com",
        "time": "Mon Jul 25 12:47:02 2016 +0200"
      },
      "message": "zstd_compression_format.md: \"Little-endian\" instead of \"Little endian\"\n"
    },
    {
      "commit": "49ec6d11d99e4f12d6eb6f6d9d697125109e6b5c",
      "tree": "c045ca79cdc33cc1804a6aeebd47645323fd189c",
      "parents": [
        "f9c3ccec49afed9cf47f72144affb1b6743599b6"
      ],
      "author": {
        "name": "inikep",
        "email": "inikep@gmail.com",
        "time": "Mon Jul 25 12:26:39 2016 +0200"
      },
      "committer": {
        "name": "inikep",
        "email": "inikep@gmail.com",
        "time": "Mon Jul 25 12:26:39 2016 +0200"
      },
      "message": "fixed description of Frame_Content_Size_flag\n"
    },
    {
      "commit": "f9c3ccec49afed9cf47f72144affb1b6743599b6",
      "tree": "37e90045e21566dc45224d36830ad4bf6f2891f8",
      "parents": [
        "164ce99763dc0419830d8059925584b9093c4039"
      ],
      "author": {
        "name": "inikep",
        "email": "inikep@gmail.com",
        "time": "Mon Jul 25 11:04:56 2016 +0200"
      },
      "committer": {
        "name": "inikep",
        "email": "inikep@gmail.com",
        "time": "Mon Jul 25 11:04:56 2016 +0200"
      },
      "message": "updated zstd_compression_format.md\n"
    },
    {
      "commit": "38b75ddeb2ed8463f09cef43ea0270ae1e79c2cb",
      "tree": "59ba756ce6a38337d3d7b5cab5f04ecd40c6366e",
      "parents": [
        "7ed5e33b8942ff496d3fcab784e89fc00fc3e85d"
      ],
      "author": {
        "name": "Yann Collet",
        "email": "yann.collet.73@gmail.com",
        "time": "Sun Jul 24 15:35:59 2016 +0200"
      },
      "committer": {
        "name": "Yann Collet",
        "email": "yann.collet.73@gmail.com",
        "time": "Sun Jul 24 15:35:59 2016 +0200"
      },
      "message": "removed special case all-1 huffman distribution\n"
    },
    {
      "commit": "10b9c13d0743e14b6f4a612d9592c59ef25f237f",
      "tree": "610903fceff82511d3ed2b440e7be7ed3118e0bd",
      "parents": [
        "f8e7b5363fd3a702e1c260f42eb7112e084d3405"
      ],
      "author": {
        "name": "Yann Collet",
        "email": "yann.collet.73@gmail.com",
        "time": "Sun Jul 24 01:21:53 2016 +0200"
      },
      "committer": {
        "name": "Yann Collet",
        "email": "yann.collet.73@gmail.com",
        "time": "Sun Jul 24 01:21:53 2016 +0200"
      },
      "message": "fixed doc on cLevel default, reported by Oliver Lange\n"
    },
    {
      "commit": "f8e7b5363fd3a702e1c260f42eb7112e084d3405",
      "tree": "1f8f96d636c344e12732016e47ec8229b8c13964",
      "parents": [
        "571a59034a243709bee0af52aaa211292d892ae4"
      ],
      "author": {
        "name": "Yann Collet",
        "email": "yann.collet.73@gmail.com",
        "time": "Sat Jul 23 16:31:49 2016 +0200"
      },
      "committer": {
        "name": "Yann Collet",
        "email": "yann.collet.73@gmail.com",
        "time": "Sat Jul 23 16:31:49 2016 +0200"
      },
      "message": "unified encoding types\n"
    },
    {
      "commit": "571a59034a243709bee0af52aaa211292d892ae4",
      "tree": "011d2fe63eabc5a15949af4d46bbeb2c94ad00c5",
      "parents": [
        "9d6e9492acc6fdf6ab700ea2ab279de6201544a5"
      ],
      "author": {
        "name": "Yann Collet",
        "email": "yann.collet.73@gmail.com",
        "time": "Sat Jul 23 15:52:05 2016 +0200"
      },
      "committer": {
        "name": "Yann Collet",
        "email": "yann.collet.73@gmail.com",
        "time": "Sat Jul 23 15:52:05 2016 +0200"
      },
      "message": "changed enccoding type order : raw, rle, compressed, repeat-stats\n"
    }
  ],
  "next": "9d6e9492acc6fdf6ab700ea2ab279de6201544a5"
}
