)]}'
{
  "log": [
    {
      "commit": "7fa46d9c9eb9134443a7fc56a354f07b15fc3a76",
      "tree": "1733073abfc91c45a17faf286e68112ff509b5c1",
      "parents": [
        "911f836dc405291b8d655328e785c00d3093528b"
      ],
      "author": {
        "name": "Sasha Smundak",
        "email": "asmundak@google.com",
        "time": "Tue Jun 02 15:22:39 2020 -0700"
      },
      "committer": {
        "name": "Sasha Smundak",
        "email": "asmundak@google.com",
        "time": "Tue Jun 02 22:00:02 2020 -0700"
      },
      "message": "Create go-etree module.\n\nBug: 158031244\nTest: treehugger\nChange-Id: Id1ac9ee2a598916a908ad70e2e356cd6fc8ee30f\n"
    },
    {
      "commit": "911f836dc405291b8d655328e785c00d3093528b",
      "tree": "d9c7512dfe416e2c5cd2e30fb081b0a70ac6ecad",
      "parents": [
        "5144115e7cda2641b0a3db1dd53ac557bbb58851",
        "23e6ba8cc2de65cb79fedf9827731040ddd4bdf5"
      ],
      "author": {
        "name": "Sasha Smundak",
        "email": "asmundak@google.com",
        "time": "Tue Jun 02 14:56:13 2020 -0700"
      },
      "committer": {
        "name": "Sasha Smundak",
        "email": "asmundak@google.com",
        "time": "Tue Jun 02 15:19:39 2020 -0700"
      },
      "message": "Merge sso://github/beevik/etree, add mandatory files\n\nBug: 158031244\nTest: N/A\n\nChange-Id: Idda5b583f92c0d952e1af23dcf90eed94db2f843\n"
    },
    {
      "commit": "5144115e7cda2641b0a3db1dd53ac557bbb58851",
      "tree": "4b825dc642cb6eb9a060e54bf8d69288fbee4904",
      "parents": [],
      "author": {
        "name": "Inna Palant",
        "email": "ipalant@google.com",
        "time": "Mon Jun 01 16:28:47 2020 -0700"
      },
      "committer": {
        "name": "Inna Palant",
        "email": "ipalant@google.com",
        "time": "Mon Jun 01 16:28:47 2020 -0700"
      },
      "message": "Initial empty repository\n"
    },
    {
      "commit": "23e6ba8cc2de65cb79fedf9827731040ddd4bdf5",
      "tree": "f6feeae440eb06fd0434b5ffe4a31a448d94d346",
      "parents": [
        "dcd53a58ac74b465a34228d599f14376ccdcc6ab"
      ],
      "author": {
        "name": "Brett Vickers",
        "email": "brett@beevik.com",
        "time": "Thu Nov 14 15:26:41 2019 -0800"
      },
      "committer": {
        "name": "Brett Vickers",
        "email": "brett@beevik.com",
        "time": "Thu Nov 14 15:26:41 2019 -0800"
      },
      "message": "Add namespace-attribute path search unit tests.\n"
    },
    {
      "commit": "dcd53a58ac74b465a34228d599f14376ccdcc6ab",
      "tree": "2b0732471da9af26c7e2a098b97f6fde61e55043",
      "parents": [
        "6e5cd8a302168f3c32305811f9da1d4bd858be4c"
      ],
      "author": {
        "name": "Brett Vickers",
        "email": "beevik@users.noreply.github.com",
        "time": "Mon Nov 04 21:02:52 2019 -0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Mon Nov 04 21:02:52 2019 -0800"
      },
      "message": "Fix a bug in attribute namespaces. (#80)\n\nUnprefixed attributes were being assigned an incorrect namespace URI.\r\nSee issue https://github.com/beevik/etree/issues/79"
    },
    {
      "commit": "6e5cd8a302168f3c32305811f9da1d4bd858be4c",
      "tree": "fdccbd5e3f19a1f8d8619bab8de41fac2a4cd057",
      "parents": [
        "ef86ce21ad3077a354d9a3447aa2e2d02cea3410"
      ],
      "author": {
        "name": "philtay",
        "email": "philtay@users.noreply.github.com",
        "time": "Wed Jun 05 19:42:43 2019 +0200"
      },
      "committer": {
        "name": "Brett Vickers",
        "email": "beevik@users.noreply.github.com",
        "time": "Wed Jun 05 10:42:43 2019 -0700"
      },
      "message": "Lint pass (#76)\n\n"
    },
    {
      "commit": "ef86ce21ad3077a354d9a3447aa2e2d02cea3410",
      "tree": "a6c759de8ab38e48f72279f0e07a995cc922bced",
      "parents": [
        "4ec130554028d83ef14920b2661effbf0ee275e3"
      ],
      "author": {
        "name": "philtay",
        "email": "philtay@users.noreply.github.com",
        "time": "Fri May 31 22:17:12 2019 +0200"
      },
      "committer": {
        "name": "Brett Vickers",
        "email": "beevik@users.noreply.github.com",
        "time": "Fri May 31 13:17:12 2019 -0700"
      },
      "message": "Support Go modules (#75)\n\n"
    },
    {
      "commit": "4ec130554028d83ef14920b2661effbf0ee275e3",
      "tree": "d00842bc56ebe93ad9d43462022e8161d9b09228",
      "parents": [
        "ab7d1938ddc35428d58e2a093d3bbb1ae85e30f7"
      ],
      "author": {
        "name": "Brett Vickers",
        "email": "brett@beevik.com",
        "time": "Mon Feb 18 11:06:55 2019 -0800"
      },
      "committer": {
        "name": "Brett Vickers",
        "email": "brett@beevik.com",
        "time": "Mon Feb 18 11:06:55 2019 -0800"
      },
      "message": "Update documentation.\n"
    },
    {
      "commit": "ab7d1938ddc35428d58e2a093d3bbb1ae85e30f7",
      "tree": "c92daf7654529c2c4dde22228042485430f00992",
      "parents": [
        "3c11c35e3321bec28b45be39379b50eed20dea02"
      ],
      "author": {
        "name": "Brett Vickers",
        "email": "brett@beevik.com",
        "time": "Sun Feb 17 00:04:41 2019 -0800"
      },
      "committer": {
        "name": "Brett Vickers",
        "email": "brett@beevik.com",
        "time": "Sat Feb 16 22:16:45 2019 -0800"
      },
      "message": "Update documentation.\n"
    },
    {
      "commit": "3c11c35e3321bec28b45be39379b50eed20dea02",
      "tree": "737dba1f349f1028590f119686e8913f62b90a1d",
      "parents": [
        "76880d49f6cebdab3d9cfedd7ae3b9e4ebc5f942"
      ],
      "author": {
        "name": "Brett Vickers",
        "email": "brett@beevik.com",
        "time": "Tue Feb 12 07:47:29 2019 -0800"
      },
      "committer": {
        "name": "Brett Vickers",
        "email": "brett@beevik.com",
        "time": "Tue Feb 12 07:47:29 2019 -0800"
      },
      "message": "Generalize path function queries.\n\nAdded unit tests for namespace-based path queries.\n"
    },
    {
      "commit": "76880d49f6cebdab3d9cfedd7ae3b9e4ebc5f942",
      "tree": "379e547d134e1ba6f6c941d535d3257acbbf4e54",
      "parents": [
        "95ebe49b90f3df9213d66cb2cc340c2fa9eab416"
      ],
      "author": {
        "name": "Brett Vickers",
        "email": "brett@beevik.com",
        "time": "Tue Feb 05 19:20:26 2019 -0800"
      },
      "committer": {
        "name": "Brett Vickers",
        "email": "brett@beevik.com",
        "time": "Tue Feb 05 19:20:26 2019 -0800"
      },
      "message": "Clean up etree unit tests.\n"
    },
    {
      "commit": "95ebe49b90f3df9213d66cb2cc340c2fa9eab416",
      "tree": "ef1fdf7b9e255a7c3a29f2b7ff73d737c1b66733",
      "parents": [
        "72f5d62dfe5077f4d39735b0ce18fd8ea71453d9"
      ],
      "author": {
        "name": "Brett Vickers",
        "email": "brett@beevik.com",
        "time": "Sun Feb 03 11:35:47 2019 -0800"
      },
      "committer": {
        "name": "Brett Vickers",
        "email": "brett@beevik.com",
        "time": "Sun Feb 03 11:37:16 2019 -0800"
      },
      "message": "Add SetData method to CharData.\n\nThis makes it possible for CharData.IsWhitespace to return true\nwhen the whitespace was set by the user, not just when it was\ndeserialized or produced by an indent method.\n"
    },
    {
      "commit": "72f5d62dfe5077f4d39735b0ce18fd8ea71453d9",
      "tree": "1a57c7c408d0bf25cac165d070442847a708638d",
      "parents": [
        "8aee6516be3b1163bb6450c35c50e4969e3a3aa8"
      ],
      "author": {
        "name": "Brett Vickers",
        "email": "brett@beevik.com",
        "time": "Sun Feb 03 11:14:26 2019 -0800"
      },
      "committer": {
        "name": "Brett Vickers",
        "email": "brett@beevik.com",
        "time": "Sun Feb 03 11:14:26 2019 -0800"
      },
      "message": "Add NewDocumentWithRoot.\n\nAlso cleaned up some code and comments.\n"
    },
    {
      "commit": "8aee6516be3b1163bb6450c35c50e4969e3a3aa8",
      "tree": "440f0f49fddbadeb935db21254b0d62c73c022a5",
      "parents": [
        "85f7177cc9fbc4edc7b979fe074343c47b06524c"
      ],
      "author": {
        "name": "Brett Vickers",
        "email": "brett@beevik.com",
        "time": "Sat Feb 02 12:17:29 2019 -0800"
      },
      "committer": {
        "name": "Brett Vickers",
        "email": "brett@beevik.com",
        "time": "Sat Feb 02 12:17:29 2019 -0800"
      },
      "message": "Release v1.1.0\n\nSee RELEASE_NOTES.md for a description of all changes.\n"
    },
    {
      "commit": "85f7177cc9fbc4edc7b979fe074343c47b06524c",
      "tree": "0b1ab88696ddcd99827cbae9a31b2349829ea4ce",
      "parents": [
        "8768bb06b0b719f5c7c49e7486d7003791916685"
      ],
      "author": {
        "name": "Brett Vickers",
        "email": "brett@beevik.com",
        "time": "Sat Feb 02 11:07:17 2019 -0800"
      },
      "committer": {
        "name": "Brett Vickers",
        "email": "brett@beevik.com",
        "time": "Sat Feb 02 11:07:17 2019 -0800"
      },
      "message": "Update README.\n"
    },
    {
      "commit": "8768bb06b0b719f5c7c49e7486d7003791916685",
      "tree": "d16dd3d1be87e4065527671cad2f72aa748a01d9",
      "parents": [
        "4fa5c484a3efe0a2cc3f4d724446d49ae27d5131"
      ],
      "author": {
        "name": "Brett Vickers",
        "email": "brett@beevik.com",
        "time": "Sat Feb 02 11:07:05 2019 -0800"
      },
      "committer": {
        "name": "Brett Vickers",
        "email": "brett@beevik.com",
        "time": "Sat Feb 02 11:07:05 2019 -0800"
      },
      "message": "Update copyright date.\n"
    },
    {
      "commit": "4fa5c484a3efe0a2cc3f4d724446d49ae27d5131",
      "tree": "6d15457ee2698181277e71c95c2424c3226b2652",
      "parents": [
        "b008cbda3fd60f494a3733a34c2b8cea5baebaf9"
      ],
      "author": {
        "name": "Brett Vickers",
        "email": "brett@beevik.com",
        "time": "Sat Feb 02 11:03:15 2019 -0800"
      },
      "committer": {
        "name": "Brett Vickers",
        "email": "brett@beevik.com",
        "time": "Sat Feb 02 11:03:15 2019 -0800"
      },
      "message": "Add new path filter functions.\n\nAdded local-name(), name(), and namespace-prefix().\n\nImproved path documentation.\n\nUpdated copyright date on license file.\n"
    },
    {
      "commit": "b008cbda3fd60f494a3733a34c2b8cea5baebaf9",
      "tree": "6a5f6c0b3f629a4a278180c30904f8af322e9343",
      "parents": [
        "30832cc4f3129bc40598373c3da571d9b256c1e7"
      ],
      "author": {
        "name": "Brett Vickers",
        "email": "beevik@users.noreply.github.com",
        "time": "Thu Jan 31 16:42:07 2019 -0800"
      },
      "committer": {
        "name": "Brett Vickers",
        "email": "brett@beevik.com",
        "time": "Thu Jan 31 16:43:57 2019 -0800"
      },
      "message": "Add namespace helper functions for Element and Attr.\n\nAdded Element.FullTag() to request the full tag of an element\nincluding namespace, if any.\n\nAdded Attr.FullKey() to request the full key name of an\nattribute including namespace, if any.\n"
    },
    {
      "commit": "30832cc4f3129bc40598373c3da571d9b256c1e7",
      "tree": "d5f206060358cbe4b9caaf87de6930a58365f3c5",
      "parents": [
        "346d4ae1e96f007e0dbef76fa9f013060762484f"
      ],
      "author": {
        "name": "Brett Vickers",
        "email": "beevik@users.noreply.github.com",
        "time": "Thu Jan 31 16:17:18 2019 -0800"
      },
      "committer": {
        "name": "Brett Vickers",
        "email": "brett@beevik.com",
        "time": "Thu Jan 31 16:17:50 2019 -0800"
      },
      "message": "Add namespace uri support\n\n* Attributes can be queried for their associated Element.\n\n* Add NamespaceURI method for Element and Attr. This method\n  allows you to discover the namespace URI associated with\n  any element or attribute in the document.\n\n* Add namespace-uri() function queries to path.\n"
    },
    {
      "commit": "346d4ae1e96f007e0dbef76fa9f013060762484f",
      "tree": "7b74a1834e543243b37d50a25da0adf5d269b929",
      "parents": [
        "c8ab53a2347ead7130564ec3700c0128080bafee"
      ],
      "author": {
        "name": "Brett Vickers",
        "email": "brett@beevik.com",
        "time": "Sun Jan 27 00:00:07 2019 -0800"
      },
      "committer": {
        "name": "Brett Vickers",
        "email": "brett@beevik.com",
        "time": "Sun Jan 27 00:00:07 2019 -0800"
      },
      "message": "Fix Copy bug related to index values.\n"
    },
    {
      "commit": "c8ab53a2347ead7130564ec3700c0128080bafee",
      "tree": "c03816070380e285797152a6c1f2197d93342372",
      "parents": [
        "7699bf21944081753b510707c69938a03433a057"
      ],
      "author": {
        "name": "Brett Vickers",
        "email": "brett@beevik.com",
        "time": "Sat Jan 26 10:22:43 2019 -0800"
      },
      "committer": {
        "name": "Brett Vickers",
        "email": "brett@beevik.com",
        "time": "Sat Jan 26 10:22:43 2019 -0800"
      },
      "message": "Update documentation for CharData methods.\n"
    },
    {
      "commit": "7699bf21944081753b510707c69938a03433a057",
      "tree": "00000a5a47146bd92d479158f65e41c708f502e4",
      "parents": [
        "1d33bca5f3a723ae239ed3430b3c2aa7deaafe32"
      ],
      "author": {
        "name": "Brett Vickers",
        "email": "brett@beevik.com",
        "time": "Sat Jan 26 10:10:06 2019 -0800"
      },
      "committer": {
        "name": "Brett Vickers",
        "email": "brett@beevik.com",
        "time": "Sat Jan 26 10:10:06 2019 -0800"
      },
      "message": "Update travis config.\n\nRemoving 1.5, since tests now use testing.Helper().\n"
    },
    {
      "commit": "1d33bca5f3a723ae239ed3430b3c2aa7deaafe32",
      "tree": "da7a106adaf0ec59f6cf40cd2dc87bbbad1b8ce0",
      "parents": [
        "b57c9972f47a101ec871cbca744479154042dba1"
      ],
      "author": {
        "name": "Brett Vickers",
        "email": "brett@beevik.com",
        "time": "Sat Jan 26 10:02:10 2019 -0800"
      },
      "committer": {
        "name": "Brett Vickers",
        "email": "brett@beevik.com",
        "time": "Sat Jan 26 10:02:10 2019 -0800"
      },
      "message": "Add element Tail and SetTail methods.\n\nTail returns the character data immediately following an\nelement\u0027s end tag. SetTail modifies it.\n\nSetText now replaces runs of character data tokens (CDATA\nor text) with a single character data token. SetCData works\nsimilarly.\n\nThe Token interface offers a new Index method, which\nreturns the index of the token in its parent\u0027s child list.\n\nAdded element RemoveChildAt and InsertChildAt methods. Both\nmethods take an index as a parameter.\n\nDeprecated the element InsertChild method in favor of\nInsertChildAt.\n"
    },
    {
      "commit": "b57c9972f47a101ec871cbca744479154042dba1",
      "tree": "7eaec50d5f28a61a187ed343bee51be2bbdb8f4f",
      "parents": [
        "bdd84412beb9e069c4c81b79c3c8aa18819b6d95"
      ],
      "author": {
        "name": "Brett Vickers",
        "email": "brett@beevik.com",
        "time": "Fri Jan 25 12:11:23 2019 -0800"
      },
      "committer": {
        "name": "Brett Vickers",
        "email": "brett@beevik.com",
        "time": "Fri Jan 25 12:17:08 2019 -0800"
      },
      "message": "Indent no longer inserts empty string CharData tokens.\n"
    },
    {
      "commit": "bdd84412beb9e069c4c81b79c3c8aa18819b6d95",
      "tree": "b8d10c37abb641bab5b9aa5030fec432064eb221",
      "parents": [
        "e6db7f97ce4b2d060c4dd540821017d9b372b197"
      ],
      "author": {
        "name": "Brett Vickers",
        "email": "brett@beevik.com",
        "time": "Sun Jan 20 19:55:26 2019 -0800"
      },
      "committer": {
        "name": "Brett Vickers",
        "email": "brett@beevik.com",
        "time": "Sun Jan 20 20:03:28 2019 -0800"
      },
      "message": "Fix bug in indented output.\n"
    },
    {
      "commit": "e6db7f97ce4b2d060c4dd540821017d9b372b197",
      "tree": "8c6f6eef6a6211891646f5af8ce9149c5c6ec849",
      "parents": [
        "e56e11877a8d5397598dd9dca3ee3f15bf39ef3f"
      ],
      "author": {
        "name": "Brett Vickers",
        "email": "brett@beevik.com",
        "time": "Sat Jan 19 15:39:26 2019 -0800"
      },
      "committer": {
        "name": "Brett Vickers",
        "email": "brett@beevik.com",
        "time": "Sat Jan 19 15:39:26 2019 -0800"
      },
      "message": "Add WriteSettings.UseCRLF for Windows systems.\n\nThe document Indent and IndentTabs functions are now capable of\noutputting CRLF-based newlines.\n"
    },
    {
      "commit": "e56e11877a8d5397598dd9dca3ee3f15bf39ef3f",
      "tree": "d04b64bc49db7b49d5538e05a8f11c561e7f6f4e",
      "parents": [
        "c8112fcc424ded59f7db308e7922d8a21c71dd12"
      ],
      "author": {
        "name": "Brett Vickers",
        "email": "brett@beevik.com",
        "time": "Sun Jan 13 11:13:16 2019 -0800"
      },
      "committer": {
        "name": "Brett Vickers",
        "email": "brett@beevik.com",
        "time": "Mon Jan 14 17:29:33 2019 -0800"
      },
      "message": "Deprecated element\u0027s NewCharData method.\n\nPrefer NewText instead.\n\nAlso, fix some comments.\n"
    },
    {
      "commit": "c8112fcc424ded59f7db308e7922d8a21c71dd12",
      "tree": "c0396cda1c3a3f95a33ddeaff1cad761ed1c0cce",
      "parents": [
        "e6451dd0c7e92ea902e59f3f843d807444a51b3e"
      ],
      "author": {
        "name": "Brett Vickers",
        "email": "brett@beevik.com",
        "time": "Sat Jan 12 12:39:58 2019 -0800"
      },
      "committer": {
        "name": "Brett Vickers",
        "email": "beevik@users.noreply.github.com",
        "time": "Sat Jan 12 13:04:16 2019 -0800"
      },
      "message": "Modification to API for CDATA support.\n\nUse flags instead of booleans within the CharData type.\n\nRename functions for better clarity and consistency.  Use SetText,\nSetCData, NewText and NewCData.\n\nDeprecated NewCharData in favor of NewText.\n\nAdd new CharData methods: IsWhitespace, IsCData.\n\nMinor updates for code style.\n"
    },
    {
      "commit": "e6451dd0c7e92ea902e59f3f843d807444a51b3e",
      "tree": "39dd77507b11e2f9660d162fa28e3b264961ea00",
      "parents": [
        "6d7c4e994fa577a54ad1ae652d59bd7875b93460"
      ],
      "author": {
        "name": "Gabriel de Labachelerie",
        "email": "gdelabachelerie@amadeus.com",
        "time": "Sat Oct 27 20:23:24 2018 +0200"
      },
      "committer": {
        "name": "Brett Vickers",
        "email": "beevik@users.noreply.github.com",
        "time": "Sat Jan 12 13:04:16 2019 -0800"
      },
      "message": "Support for CDATA serialisation\n"
    },
    {
      "commit": "6d7c4e994fa577a54ad1ae652d59bd7875b93460",
      "tree": "0c373645e516bc03ba2246d4c0bbae4afed33431",
      "parents": [
        "f2d93441e64237d24d3ea1091f8a20762026b8c0"
      ],
      "author": {
        "name": "Gabriel de Labachelerie",
        "email": "gdelabachelerie@amadeus.com",
        "time": "Sat Oct 27 20:23:24 2018 +0200"
      },
      "committer": {
        "name": "Brett Vickers",
        "email": "beevik@users.noreply.github.com",
        "time": "Mon Nov 19 16:00:56 2018 -0800"
      },
      "message": "Add optional support for HTML entities\n"
    },
    {
      "commit": "f2d93441e64237d24d3ea1091f8a20762026b8c0",
      "tree": "815ebe251e51b4d3d6a72464d152543212b2ed81",
      "parents": [
        "dd07e7c63255520ef106bb803843105c329bb577"
      ],
      "author": {
        "name": "Brett Vickers",
        "email": "brett@beevik.com",
        "time": "Sat Oct 27 13:28:07 2018 -0700"
      },
      "committer": {
        "name": "Brett Vickers",
        "email": "brett@beevik.com",
        "time": "Sat Oct 27 13:28:07 2018 -0700"
      },
      "message": "Update travis config.\n"
    },
    {
      "commit": "dd07e7c63255520ef106bb803843105c329bb577",
      "tree": "da438bcf3107c7cc124adfa628bcbccc0daf6a2f",
      "parents": [
        "69ce3ef503e09b17661f017543c63d9fafc505d1"
      ],
      "author": {
        "name": "Brett Vickers",
        "email": "brett@beevik.com",
        "time": "Sat Oct 27 13:23:49 2018 -0700"
      },
      "committer": {
        "name": "Brett Vickers",
        "email": "brett@beevik.com",
        "time": "Sat Oct 27 13:23:49 2018 -0700"
      },
      "message": "Bug fix: Parsing different encodings.\n"
    },
    {
      "commit": "69ce3ef503e09b17661f017543c63d9fafc505d1",
      "tree": "9d23bd1df5dcf09e564372669c4297f2c477fd2c",
      "parents": [
        "9750b0e2ad288eec0bc888d39b890f47849bf883"
      ],
      "author": {
        "name": "Brett Vickers",
        "email": "brett@beevik.com",
        "time": "Fri Oct 19 07:46:36 2018 -0700"
      },
      "committer": {
        "name": "Brett Vickers",
        "email": "brett@beevik.com",
        "time": "Fri Oct 19 07:46:36 2018 -0700"
      },
      "message": "Properly escape invalid XML characters.\n"
    },
    {
      "commit": "9750b0e2ad288eec0bc888d39b890f47849bf883",
      "tree": "159e0389af58641b6ac83b8984b4515137cb0e94",
      "parents": [
        "90dafc1e1f114dfb9576218bb43c03fb854d1b34"
      ],
      "author": {
        "name": "Brett Vickers",
        "email": "brett@beevik.com",
        "time": "Fri Oct 05 16:44:49 2018 -0700"
      },
      "committer": {
        "name": "Brett Vickers",
        "email": "brett@beevik.com",
        "time": "Fri Oct 05 16:52:11 2018 -0700"
      },
      "message": "Fix a bug in text processing.\n\nThis fixes issue https://github.com/beevik/etree/issues/54\n"
    },
    {
      "commit": "90dafc1e1f114dfb9576218bb43c03fb854d1b34",
      "tree": "293a16fa5b9ae4278d13d78fab07f63caf86198c",
      "parents": [
        "9d7e8feddccb4ed1b8afb54e368bd323d2ff652c"
      ],
      "author": {
        "name": "Brett Vickers",
        "email": "brett@beevik.com",
        "time": "Sat Jun 09 11:22:16 2018 -0700"
      },
      "committer": {
        "name": "Brett Vickers",
        "email": "brett@beevik.com",
        "time": "Sat Jun 09 11:24:52 2018 -0700"
      },
      "message": "add attribute sort support.\n\nThe Element SortAttrs lexicographically sorts an element\u0027s attributes\nby key.\n"
    },
    {
      "commit": "9d7e8feddccb4ed1b8afb54e368bd323d2ff652c",
      "tree": "e43637a24731309b865d1b5e2fb34342e618edbc",
      "parents": [
        "2f16c1d84957920dc0e6cd51f9e6c384ada7d911"
      ],
      "author": {
        "name": "Brett Vickers",
        "email": "brett@beevik.com",
        "time": "Sun May 06 14:45:57 2018 -0700"
      },
      "committer": {
        "name": "Brett Vickers",
        "email": "brett@beevik.com",
        "time": "Sun May 06 14:45:57 2018 -0700"
      },
      "message": "Release v1.0.1\n\nSee release notes for description.\n"
    },
    {
      "commit": "2f16c1d84957920dc0e6cd51f9e6c384ada7d911",
      "tree": "8572a9b34271b5055773bc2b1ccec3551bd9ad66",
      "parents": [
        "28ff26c564cb82dd41176207047bb883ed98bdbb"
      ],
      "author": {
        "name": "Brett Vickers",
        "email": "brett@beevik.com",
        "time": "Thu Apr 26 10:17:11 2018 -0700"
      },
      "committer": {
        "name": "Brett Vickers",
        "email": "brett@beevik.com",
        "time": "Thu Apr 26 10:22:06 2018 -0700"
      },
      "message": "Update path documentation.\n"
    },
    {
      "commit": "28ff26c564cb82dd41176207047bb883ed98bdbb",
      "tree": "9f66460360f427988cdb82e85a2182c75143ab4c",
      "parents": [
        "4d4283b0f9e516e17f5d2bf7cd46f599bfc1f287"
      ],
      "author": {
        "name": "Brett Vickers",
        "email": "brett@beevik.com",
        "time": "Thu Apr 26 10:17:33 2018 -0700"
      },
      "committer": {
        "name": "Brett Vickers",
        "email": "brett@beevik.com",
        "time": "Thu Apr 26 10:20:40 2018 -0700"
      },
      "message": "Minor code reordering.\n"
    },
    {
      "commit": "4d4283b0f9e516e17f5d2bf7cd46f599bfc1f287",
      "tree": "55c5bf91dda28d4a585b0adc0748b5c10be78604",
      "parents": [
        "3c7a5c1c36469ca783f92a078616fd74be13f01f"
      ],
      "author": {
        "name": "Brett Vickers",
        "email": "brett@beevik.com",
        "time": "Wed Apr 25 22:33:54 2018 -0700"
      },
      "committer": {
        "name": "Brett Vickers",
        "email": "brett@beevik.com",
        "time": "Wed Apr 25 22:33:54 2018 -0700"
      },
      "message": "add support for absolute path queries.\n\nPaths that are prefixed with \u0027/\u0027 or \u0027//\u0027 are now handled.  If a\npath is prefixed with \u0027//\u0027, it will perform an all-descendant\nsearch starting from the root.  If a path is prefixed with a\nsingle \u0027/\u0027, it will perform a search starting from the root.\n\nTHIS IS A BREAKING CHANGE FOR \u0027//\u0027 QUERIES.\n\nPreviously, a path that was prefixed with \u0027//\u0027 would begin from\nthe current element, not from the root. To retain the old\nbehavior, the path must be prefixed with \u0027.//\u0027 instead of \u0027//\u0027.\n"
    },
    {
      "commit": "3c7a5c1c36469ca783f92a078616fd74be13f01f",
      "tree": "0a31dd8f187fa699388aecdcb0abe776aa06ace5",
      "parents": [
        "0b2ce04cd25cb5f5d4389bde81f01c48c1f40bdb"
      ],
      "author": {
        "name": "Brett Vickers",
        "email": "brett@beevik.com",
        "time": "Sat Apr 21 09:26:38 2018 -0700"
      },
      "committer": {
        "name": "Brett Vickers",
        "email": "brett@beevik.com",
        "time": "Sat Apr 21 09:26:38 2018 -0700"
      },
      "message": "Update travis config.\n"
    },
    {
      "commit": "0b2ce04cd25cb5f5d4389bde81f01c48c1f40bdb",
      "tree": "95deb060f0e527e622d9c4db99d1fc7ca9741a7f",
      "parents": [
        "6a151fb14cf7ab22fa536272691b536f0c4e3469"
      ],
      "author": {
        "name": "Brett Vickers",
        "email": "brett@beevik.com",
        "time": "Sat Apr 21 09:24:56 2018 -0700"
      },
      "committer": {
        "name": "Brett Vickers",
        "email": "brett@beevik.com",
        "time": "Sat Apr 21 09:24:56 2018 -0700"
      },
      "message": "fix bug in GetRelativePath.\n"
    },
    {
      "commit": "6a151fb14cf7ab22fa536272691b536f0c4e3469",
      "tree": "33e7fed39f2ea164db29d2ae5d90f981546b12ac",
      "parents": [
        "bef51f1103fddbb07ff517a3bd23b18417697fba"
      ],
      "author": {
        "name": "Brett Vickers",
        "email": "brett@beevik.com",
        "time": "Fri Apr 20 22:35:28 2018 -0700"
      },
      "committer": {
        "name": "Brett Vickers",
        "email": "brett@beevik.com",
        "time": "Fri Apr 20 22:35:28 2018 -0700"
      },
      "message": "Modify GetPath and GetRelativePath.\n\nGetRelativePath now handles relative paths between any two nodes\nin an element tree, even if one is not a direct descendant of the\nother.\n"
    },
    {
      "commit": "bef51f1103fddbb07ff517a3bd23b18417697fba",
      "tree": "24615f2d254846179ea2d1b6657f307a43a372cc",
      "parents": [
        "af219c0c7ea1b67ec263c0b1b1b96d284a9181ce"
      ],
      "author": {
        "name": "Earncef Sequeira",
        "email": "earncef@earncef.com",
        "time": "Thu Apr 12 12:31:01 2018 +0200"
      },
      "committer": {
        "name": "Brett Vickers",
        "email": "beevik@users.noreply.github.com",
        "time": "Mon Apr 16 09:46:06 2018 -0700"
      },
      "message": "Added a GetPath() and GetRelativePath() to get the paths of an element.\n"
    },
    {
      "commit": "af219c0c7ea1b67ec263c0b1b1b96d284a9181ce",
      "tree": "e57a641bebf3f6ef999ab5e108ff32a0a91cbd20",
      "parents": [
        "15a30b44cfd6c5a16a7ddfe271bf146aaf2d3195"
      ],
      "author": {
        "name": "Brett Vickers",
        "email": "brett@beevik.com",
        "time": "Sun Oct 15 15:09:51 2017 -0700"
      },
      "committer": {
        "name": "Brett Vickers",
        "email": "brett@beevik.com",
        "time": "Sun Oct 15 15:12:09 2017 -0700"
      },
      "message": "Update travis config\n"
    },
    {
      "commit": "15a30b44cfd6c5a16a7ddfe271bf146aaf2d3195",
      "tree": "9f15c3d272581b02ac7ae5d3511aff67d4b959bb",
      "parents": [
        "49a60cf39919cd8765e8c34e366dcbb914c8499e"
      ],
      "author": {
        "name": "Nicolas Piganeau",
        "email": "nicolas.piganeau@ndp-systemes.fr",
        "time": "Tue Aug 08 10:22:18 2017 +0200"
      },
      "committer": {
        "name": "Brett Vickers",
        "email": "beevik@users.noreply.github.com",
        "time": "Wed Aug 09 16:35:59 2017 -0700"
      },
      "message": "Added filterText type\n"
    },
    {
      "commit": "49a60cf39919cd8765e8c34e366dcbb914c8499e",
      "tree": "576c4d8fa582318648ef4a88d9d34ba6286860ae",
      "parents": [
        "09746331a38f3da8c023a85a65c8c152070de725"
      ],
      "author": {
        "name": "Nicolas Piganeau",
        "email": "nicolas.piganeau@ndp-systemes.fr",
        "time": "Fri Aug 04 12:49:03 2017 +0200"
      },
      "committer": {
        "name": "Brett Vickers",
        "email": "beevik@users.noreply.github.com",
        "time": "Wed Aug 09 16:35:59 2017 -0700"
      },
      "message": "Added [text()] syntax to retrieve all elements with non empty text\n"
    },
    {
      "commit": "09746331a38f3da8c023a85a65c8c152070de725",
      "tree": "cc0bc9c854c851da7369322dead173982ac7ec09",
      "parents": [
        "cda1c0026246bd095961ef9a3c430e50d0e80fba"
      ],
      "author": {
        "name": "Brett Vickers",
        "email": "brett@arena.net",
        "time": "Thu May 11 13:24:51 2017 -0700"
      },
      "committer": {
        "name": "Brett Vickers",
        "email": "brett@arena.net",
        "time": "Thu May 11 13:28:47 2017 -0700"
      },
      "message": "path: add text filters\n\nIt is now possible to use a path filter like [text()\u003d\u0027val\u0027] to\nselect elements whose text matches a string.\n"
    },
    {
      "commit": "cda1c0026246bd095961ef9a3c430e50d0e80fba",
      "tree": "fdced8fc905372df65f27b2fe0acb5baedd338d2",
      "parents": [
        "1095c300fba68cb7f7895c0f96b2d34927f8115b"
      ],
      "author": {
        "name": "Santiago Castro",
        "email": "santi.1410@hotmail.com",
        "time": "Mon Apr 17 03:42:48 2017 -0300"
      },
      "committer": {
        "name": "Brett Vickers",
        "email": "beevik@users.noreply.github.com",
        "time": "Mon Apr 17 17:23:58 2017 -0700"
      },
      "message": "Fix broken Markdown headings\n"
    },
    {
      "commit": "1095c300fba68cb7f7895c0f96b2d34927f8115b",
      "tree": "5a78e5dc1296c611818218c2723ee0e5e0ab3b20",
      "parents": [
        "b3ae4189aed37a6272bb3a6f40b00ca8d2198a14"
      ],
      "author": {
        "name": "Christopher Brown",
        "email": "ccbrown112@gmail.com",
        "time": "Fri Feb 10 17:26:11 2017 -0800"
      },
      "committer": {
        "name": "Brett Vickers",
        "email": "beevik@users.noreply.github.com",
        "time": "Fri Feb 10 17:32:03 2017 -0800"
      },
      "message": "Add Permissive read setting.\n"
    },
    {
      "commit": "b3ae4189aed37a6272bb3a6f40b00ca8d2198a14",
      "tree": "c69ae1f2ac7600645e2dfe944b4e66a623a08730",
      "parents": [
        "4cd0dd976db869f817248477718071a28e978df0"
      ],
      "author": {
        "name": "Brett Vickers",
        "email": "brett@beevik.com",
        "time": "Mon Feb 06 13:28:48 2017 -0800"
      },
      "committer": {
        "name": "Brett Vickers",
        "email": "brett@beevik.com",
        "time": "Mon Feb 06 13:28:48 2017 -0800"
      },
      "message": "Fix unit test.\n"
    },
    {
      "commit": "4cd0dd976db869f817248477718071a28e978df0",
      "tree": "2ddcc1e96fb767ca917de67ad0881098f40731a7",
      "parents": [
        "012da2a5335219c3181304e310edeb482b342de0"
      ],
      "author": {
        "name": "Nicolas PIGANEAU",
        "email": "nicolas.piganeau@ndp-systemes.fr",
        "time": "Fri Dec 09 20:49:18 2016 +0100"
      },
      "committer": {
        "name": "Brett Vickers",
        "email": "beevik@users.noreply.github.com",
        "time": "Thu Dec 15 20:23:44 2016 -0800"
      },
      "message": "[FIX] Multiple InsertChild\n\nThe current implementation does not extend the Child slice of the element, so if we call several times the `InsertChild()` method, the end of the Child slice is deleted as described in the documentation of the `copy` builtin (copied elements are the min of the size of the 2 slices).\nThis PR increases the size of the Child slice to make sure that the insertion doesn\u0027t remove any other child.\n"
    },
    {
      "commit": "012da2a5335219c3181304e310edeb482b342de0",
      "tree": "1af5326829fddc9d490aaae028420fe1a3c276bc",
      "parents": [
        "4f15d3589b69008698d6f39383ac6f83cc7ef096"
      ],
      "author": {
        "name": "Matt Smith",
        "email": "ma314smith@users.noreply.github.com",
        "time": "Mon Dec 12 21:08:00 2016 -0500"
      },
      "committer": {
        "name": "Brett Vickers",
        "email": "beevik@users.noreply.github.com",
        "time": "Thu Dec 15 20:23:03 2016 -0800"
      },
      "message": "update canonical string replacers\n"
    },
    {
      "commit": "4f15d3589b69008698d6f39383ac6f83cc7ef096",
      "tree": "c2a88fbbcd836eac69d6d2ffe89dbed6b3c2c2a0",
      "parents": [
        "ce53c4ce608a92897d74ff8fd47b5a1131e5606c"
      ],
      "author": {
        "name": "Brett Vickers",
        "email": "brett@beevik.com",
        "time": "Sat Nov 26 21:33:04 2016 -0800"
      },
      "committer": {
        "name": "Brett Vickers",
        "email": "brett@beevik.com",
        "time": "Sat Nov 26 21:50:55 2016 -0800"
      },
      "message": "Fix a bug in path parsing.\n\nPaths containing quoted text with a forward-slash in them were being\nparsed improperly.  This bug has been fixed.\n"
    },
    {
      "commit": "ce53c4ce608a92897d74ff8fd47b5a1131e5606c",
      "tree": "206a12056e35bae633c16d97774aad41094d5b38",
      "parents": [
        "8f9446177bc6c792644817e9b61d0a5214ded7ac"
      ],
      "author": {
        "name": "Brett Vickers",
        "email": "brett@beevik.com",
        "time": "Fri Jul 15 18:46:57 2016 -0700"
      },
      "committer": {
        "name": "Brett Vickers",
        "email": "brett@beevik.com",
        "time": "Fri Jul 15 18:46:57 2016 -0700"
      },
      "message": "Update contributors.\n"
    },
    {
      "commit": "8f9446177bc6c792644817e9b61d0a5214ded7ac",
      "tree": "c9a6f3d2436766e97184fce58407d9cee36ebfb5",
      "parents": [
        "4e6fd8a0164883e3ebe01e31c3d3e0d8f21814a7"
      ],
      "author": {
        "name": "Michal Jemala",
        "email": "michal.jemala@gmail.com",
        "time": "Tue Jul 12 17:14:17 2016 +0200"
      },
      "committer": {
        "name": "Michal Jemala",
        "email": "michal.jemala@gmail.com",
        "time": "Tue Jul 12 17:14:17 2016 +0200"
      },
      "message": "Allow to read XML files in encodings different then UTF-8\n"
    },
    {
      "commit": "4e6fd8a0164883e3ebe01e31c3d3e0d8f21814a7",
      "tree": "1299f50385077a0989b5fcb16ccd8b4b08c7e32b",
      "parents": [
        "f976e3fe694264ad3faa38fb7e728040e4d6da1c"
      ],
      "author": {
        "name": "Brett Vickers",
        "email": "brett@beevik.com",
        "time": "Tue Mar 22 19:00:59 2016 -0700"
      },
      "committer": {
        "name": "Brett Vickers",
        "email": "brett@beevik.com",
        "time": "Tue Mar 22 19:00:59 2016 -0700"
      },
      "message": "Update README.\n"
    },
    {
      "commit": "f976e3fe694264ad3faa38fb7e728040e4d6da1c",
      "tree": "5d90f86cfa3b44412bebb114ac808e72540fdf24",
      "parents": [
        "9d620a176b6cc7400604d7eaba8f66331e250642"
      ],
      "author": {
        "name": "Brett Vickers",
        "email": "brett@beevik.com",
        "time": "Tue Mar 22 16:39:03 2016 -0700"
      },
      "committer": {
        "name": "Brett Vickers",
        "email": "brett@beevik.com",
        "time": "Tue Mar 22 16:39:03 2016 -0700"
      },
      "message": "Fix bugs in SetRoot, and add unit tests.\n"
    },
    {
      "commit": "9d620a176b6cc7400604d7eaba8f66331e250642",
      "tree": "7f6505908ec0210ee0006f06a2310317db02268b",
      "parents": [
        "9329f347ba3a5f6aedbc0d8fc437fd8a630f3ae7"
      ],
      "author": {
        "name": "Brett Vickers",
        "email": "brett@beevik.com",
        "time": "Tue Mar 22 15:06:32 2016 -0700"
      },
      "committer": {
        "name": "Brett Vickers",
        "email": "brett@beevik.com",
        "time": "Tue Mar 22 15:49:34 2016 -0700"
      },
      "message": "Make Add/Insert/RemoveElement functions more general-purpose.\n\nAddElement, InsertElement, and RemoveElement have been replaced by\nAddChild, InsertChild, and RemoveChild. This way the functions can be\nused for more than just child elements; they can also be used for child\ncomments, character data, etc.\n"
    },
    {
      "commit": "9329f347ba3a5f6aedbc0d8fc437fd8a630f3ae7",
      "tree": "d2fb0aae04f35829124e304987c67cf3a3a42fa5",
      "parents": [
        "c010728de6e27a661bc47635aebd4c0673bc71fa"
      ],
      "author": {
        "name": "Brett Vickers",
        "email": "brett@beevik.com",
        "time": "Sun Mar 20 19:58:29 2016 -0700"
      },
      "committer": {
        "name": "Brett Vickers",
        "email": "brett@beevik.com",
        "time": "Tue Mar 22 10:42:50 2016 -0700"
      },
      "message": "Add the ability to create parentless XML tokens.\n\nThe functions NewElement, NewCharData, NewComment, NewDirective, and\nNewProcInst allow you to create XML objects that have no parent. These\nobjects can then be added to an existing XML element with the new\nElement.AddElement function.  Element.AddElement also allows reparenting\nby detaching the added element from its current parent and moving it to\nthe new one.\n\nThere is also a new document function Document.SetRoot, which allows a\ndocument to bind a new root element.\n"
    },
    {
      "commit": "c010728de6e27a661bc47635aebd4c0673bc71fa",
      "tree": "8c5c2c379a57466574cedbd2869a91ad2b10de22",
      "parents": [
        "4545235944c34b0f0e9713bfc9f753446d28ac85"
      ],
      "author": {
        "name": "Brett Vickers",
        "email": "brett@beevik.com",
        "time": "Sun Mar 20 18:29:11 2016 -0700"
      },
      "committer": {
        "name": "Brett Vickers",
        "email": "brett@beevik.com",
        "time": "Sun Mar 20 18:29:11 2016 -0700"
      },
      "message": "Improve comments.\n"
    },
    {
      "commit": "4545235944c34b0f0e9713bfc9f753446d28ac85",
      "tree": "14789884f47637bdda6c2db4d454361c8647e06e",
      "parents": [
        "83703de2f21c4cbb188e7fdb155a106a089f1025"
      ],
      "author": {
        "name": "Brett Vickers",
        "email": "brett@beevik.com",
        "time": "Thu Mar 17 17:26:32 2016 -0700"
      },
      "committer": {
        "name": "Brett Vickers",
        "email": "brett@beevik.com",
        "time": "Thu Mar 17 17:26:32 2016 -0700"
      },
      "message": "Add InsertElement function.\n"
    },
    {
      "commit": "83703de2f21c4cbb188e7fdb155a106a089f1025",
      "tree": "39b07bb5de9c9826868adf8f16f0106961523b4f",
      "parents": [
        "b2c33ae56f4e2e8e08cb7e0c58d885776b26a41d"
      ],
      "author": {
        "name": "Brett Vickers",
        "email": "brett@beevik.com",
        "time": "Mon Mar 14 15:43:51 2016 -0700"
      },
      "committer": {
        "name": "Brett Vickers",
        "email": "brett@beevik.com",
        "time": "Mon Mar 14 15:43:51 2016 -0700"
      },
      "message": "Fix an indentation bug.\n\nBOM characters were not being handled correctly.\n"
    },
    {
      "commit": "b2c33ae56f4e2e8e08cb7e0c58d885776b26a41d",
      "tree": "bc10cda923dbd0597bfd5adb30d5edaaffb24a1c",
      "parents": [
        "2f503fadd5807b0636e119f25ce55e0fb698bdb1"
      ],
      "author": {
        "name": "Brett Vickers",
        "email": "brett@beevik.com",
        "time": "Tue Mar 08 10:11:04 2016 -0800"
      },
      "committer": {
        "name": "Brett Vickers",
        "email": "brett@beevik.com",
        "time": "Tue Mar 08 10:11:04 2016 -0800"
      },
      "message": "Add badges to README.md.\n"
    },
    {
      "commit": "2f503fadd5807b0636e119f25ce55e0fb698bdb1",
      "tree": "08bec313081615c69bb20ca0855e31e0ed31adc3",
      "parents": [
        "9c9d2b6e6c587cd569d4ccfcf13d997236288a4f"
      ],
      "author": {
        "name": "Brett Vickers",
        "email": "brett@beevik.com",
        "time": "Tue Mar 08 09:55:39 2016 -0800"
      },
      "committer": {
        "name": "Brett Vickers",
        "email": "brett@beevik.com",
        "time": "Tue Mar 08 10:03:10 2016 -0800"
      },
      "message": "Add Travis CI support.\n"
    },
    {
      "commit": "9c9d2b6e6c587cd569d4ccfcf13d997236288a4f",
      "tree": "4444a94c516599f02b19852e324f8166bb704645",
      "parents": [
        "a82eb2df951bc1946e586fb6d393c330cd8899d7"
      ],
      "author": {
        "name": "Brett Vickers",
        "email": "brett@beevik.com",
        "time": "Tue Jan 05 12:48:20 2016 -0800"
      },
      "committer": {
        "name": "Brett Vickers",
        "email": "brett@beevik.com",
        "time": "Tue Jan 05 12:58:16 2016 -0800"
      },
      "message": "Renamed canonical WriteSettings \u0026 updated test\n\nRemoved \"Enable\" prefix on Canonical* WriteSettings for better clarity.\nMoved the WriteSettings unit test to etree_test.go. I didn\u0027t feel it warranted an example in the docs.\n"
    },
    {
      "commit": "a82eb2df951bc1946e586fb6d393c330cd8899d7",
      "tree": "aed51f4aa64b557b356b6636fe464631f4919746",
      "parents": [
        "8f31cdd0c42e7177828a9535b7f3fe7d80c3c237"
      ],
      "author": {
        "name": "Brett Vickers",
        "email": "brett@beevik.com",
        "time": "Mon Jan 04 15:44:45 2016 -0800"
      },
      "committer": {
        "name": "Brett Vickers",
        "email": "brett@beevik.com",
        "time": "Mon Jan 04 16:13:44 2016 -0800"
      },
      "message": "Canonical XML tweaks.\n\nRefactor character reference escaping code.\nRename write settings variables for better clarity.\nUpdate CONTRIBUTORS.\n"
    },
    {
      "commit": "8f31cdd0c42e7177828a9535b7f3fe7d80c3c237",
      "tree": "c83ddd593f50d81a5f64c65cbd5beb3cd3e4011d",
      "parents": [
        "c41fbb0640f67e4fa19a915141fcae36d9226460",
        "61508f187c51e3fb56f5876ad94a03db836f5a63"
      ],
      "author": {
        "name": "Brett Vickers",
        "email": "beevik@users.noreply.github.com",
        "time": "Mon Jan 04 15:35:17 2016 -0800"
      },
      "committer": {
        "name": "Brett Vickers",
        "email": "beevik@users.noreply.github.com",
        "time": "Mon Jan 04 15:35:17 2016 -0800"
      },
      "message": "Merge pull request #11 from ma314smith/support-canonical-xml\n\nAdd support for several canonical XML features.\r\n\r\nExplicit end tags, no escaping of attribute value and data character references."
    },
    {
      "commit": "61508f187c51e3fb56f5876ad94a03db836f5a63",
      "tree": "c83ddd593f50d81a5f64c65cbd5beb3cd3e4011d",
      "parents": [
        "5a36d13aa03b94ff2f5fe0a13e3cc465d9e96080"
      ],
      "author": {
        "name": "Matt Smith",
        "email": "ma314smith@users.noreply.github.com",
        "time": "Mon Nov 09 23:25:21 2015 -0500"
      },
      "committer": {
        "name": "Matt Smith",
        "email": "ma314smith@users.noreply.github.com",
        "time": "Mon Nov 09 23:25:21 2015 -0500"
      },
      "message": "added WriteSettings\n"
    },
    {
      "commit": "5a36d13aa03b94ff2f5fe0a13e3cc465d9e96080",
      "tree": "fea5f6e458d591af3e312d38bcb497025c81c3a6",
      "parents": [
        "f066f4cf5d11f628aa39fae845a753295a4976e7"
      ],
      "author": {
        "name": "Matt Smith",
        "email": "ma314smith@users.noreply.github.com",
        "time": "Sat Sep 19 00:41:50 2015 -0400"
      },
      "committer": {
        "name": "Matt Smith",
        "email": "ma314smith@users.noreply.github.com",
        "time": "Sat Sep 19 00:41:50 2015 -0400"
      },
      "message": "canonical support for ProcInst\n"
    },
    {
      "commit": "f066f4cf5d11f628aa39fae845a753295a4976e7",
      "tree": "0ae1c6c682f672ec798541319c9ea677da002c92",
      "parents": [
        "c41fbb0640f67e4fa19a915141fcae36d9226460"
      ],
      "author": {
        "name": "Matt Smith",
        "email": "ma314smith@users.noreply.github.com",
        "time": "Fri Sep 11 16:55:57 2015 -0400"
      },
      "committer": {
        "name": "Matt Smith",
        "email": "ma314smith@users.noreply.github.com",
        "time": "Fri Sep 11 16:55:57 2015 -0400"
      },
      "message": "support canonical xml\n"
    },
    {
      "commit": "c41fbb0640f67e4fa19a915141fcae36d9226460",
      "tree": "80310371ef5b091404d8e273358f56c1b8890ab7",
      "parents": [
        "239ec971803db01ca23da8664c41e59f97a21cfc"
      ],
      "author": {
        "name": "Brett Vickers",
        "email": "brett@beevik.com",
        "time": "Fri Mar 13 16:58:05 2015 -0700"
      },
      "committer": {
        "name": "Brett Vickers",
        "email": "brett@beevik.com",
        "time": "Fri Mar 13 17:13:21 2015 -0700"
      },
      "message": "Add contributions section and sourcegraph badge.\n"
    },
    {
      "commit": "239ec971803db01ca23da8664c41e59f97a21cfc",
      "tree": "1605ce99dd1dae04617f65684eb92846c3247482",
      "parents": [
        "cb724d336e986c9a5b52cc97c5c71ed7e2e51986"
      ],
      "author": {
        "name": "Brett Vickers",
        "email": "brett@beevik.com",
        "time": "Mon Feb 23 15:48:43 2015 -0800"
      },
      "committer": {
        "name": "Brett Vickers",
        "email": "brett@beevik.com",
        "time": "Mon Feb 23 15:48:43 2015 -0800"
      },
      "message": "Update CONTRIBUTORS and LICENSE.\n"
    },
    {
      "commit": "cb724d336e986c9a5b52cc97c5c71ed7e2e51986",
      "tree": "0881f632de588b645f821cdac63b41d62cafdadc",
      "parents": [
        "89c387301cde8b1344cd32ced168c9df4b99b687"
      ],
      "author": {
        "name": "Brett Vickers",
        "email": "brett@beevik.com",
        "time": "Tue Feb 03 13:22:00 2015 -0800"
      },
      "committer": {
        "name": "Brett Vickers",
        "email": "brett@beevik.com",
        "time": "Tue Feb 03 13:22:00 2015 -0800"
      },
      "message": "Minor tweak to internal fifo data structure.\n"
    },
    {
      "commit": "89c387301cde8b1344cd32ced168c9df4b99b687",
      "tree": "04c2824b0be8676059d90861f30ea62340364f41",
      "parents": [
        "40f0fbddd57a0fb468121b897fe8a24401cdc06d"
      ],
      "author": {
        "name": "Brett Vickers",
        "email": "brett@beevik.com",
        "time": "Tue Feb 03 12:59:48 2015 -0800"
      },
      "committer": {
        "name": "Brett Vickers",
        "email": "brett@beevik.com",
        "time": "Tue Feb 03 12:59:48 2015 -0800"
      },
      "message": "Move ErrPath from etree.go to path.go\n"
    },
    {
      "commit": "40f0fbddd57a0fb468121b897fe8a24401cdc06d",
      "tree": "f4e6ec5c872cd249223342e4e70eae19ae5bf593",
      "parents": [
        "67ff02c963000dd4e51d490c4fcca711491e0187"
      ],
      "author": {
        "name": "Brett Vickers",
        "email": "brett@beevik.com",
        "time": "Tue Feb 03 10:40:00 2015 -0800"
      },
      "committer": {
        "name": "Brett Vickers",
        "email": "brett@beevik.com",
        "time": "Tue Feb 03 10:40:00 2015 -0800"
      },
      "message": "ErrPath error messages are now more expressive.\n\n(Thanks @grahamking and @kisielk)\n"
    },
    {
      "commit": "67ff02c963000dd4e51d490c4fcca711491e0187",
      "tree": "8220b05d003ee768d5bb95d85c0a428445a30d64",
      "parents": [
        "45a915fde3d9c98063e5ab113b1315db033853e6"
      ],
      "author": {
        "name": "Brett Vickers",
        "email": "brett@beevik.com",
        "time": "Sun Jan 25 11:57:43 2015 -0800"
      },
      "committer": {
        "name": "Brett Vickers",
        "email": "brett@beevik.com",
        "time": "Sun Jan 25 11:57:43 2015 -0800"
      },
      "message": "Code linted.\n"
    },
    {
      "commit": "45a915fde3d9c98063e5ab113b1315db033853e6",
      "tree": "ff4f80fe8019039d8e2118b2d8892f15f73e10c4",
      "parents": [
        "4186a44681a0a67cb0b8d511d94311b3d486a0ec",
        "ba86354ef6af0a7aac6fba19cadf625b74b46e8a"
      ],
      "author": {
        "name": "Brett Vickers",
        "email": "beevik@users.noreply.github.com",
        "time": "Mon May 26 23:43:59 2014 -0700"
      },
      "committer": {
        "name": "Brett Vickers",
        "email": "beevik@users.noreply.github.com",
        "time": "Mon May 26 23:43:59 2014 -0700"
      },
      "message": "Merge pull request #9 from kisielk/escape-attr\n\nEscape attribute values."
    },
    {
      "commit": "ba86354ef6af0a7aac6fba19cadf625b74b46e8a",
      "tree": "ff4f80fe8019039d8e2118b2d8892f15f73e10c4",
      "parents": [
        "4186a44681a0a67cb0b8d511d94311b3d486a0ec"
      ],
      "author": {
        "name": "Kamil Kisiel",
        "email": "kamil@kamilkisiel.net",
        "time": "Mon May 26 13:06:41 2014 -0700"
      },
      "committer": {
        "name": "Kamil Kisiel",
        "email": "kamil@kamilkisiel.net",
        "time": "Mon May 26 13:06:41 2014 -0700"
      },
      "message": "Escape attribute values.\n"
    },
    {
      "commit": "4186a44681a0a67cb0b8d511d94311b3d486a0ec",
      "tree": "b9b8a19fdf2a5482d94b40f459d21ca24ca545ff",
      "parents": [
        "316a7360f435a34c5b22e0b7c55ec3a6e753c72b",
        "089c07411630f91aa8ac8f39d00ea7e133a82dea"
      ],
      "author": {
        "name": "Brett Vickers",
        "email": "beevik@users.noreply.github.com",
        "time": "Tue Apr 01 10:20:43 2014 -0700"
      },
      "committer": {
        "name": "Brett Vickers",
        "email": "beevik@users.noreply.github.com",
        "time": "Tue Apr 01 10:20:43 2014 -0700"
      },
      "message": "Merge pull request #8 from kisielk/patch-1\n\nFix escaping of quotes"
    },
    {
      "commit": "089c07411630f91aa8ac8f39d00ea7e133a82dea",
      "tree": "b9b8a19fdf2a5482d94b40f459d21ca24ca545ff",
      "parents": [
        "316a7360f435a34c5b22e0b7c55ec3a6e753c72b"
      ],
      "author": {
        "name": "Kamil Kisiel",
        "email": "kamil@kamilkisiel.net",
        "time": "Wed Mar 26 07:35:22 2014 +0200"
      },
      "committer": {
        "name": "Kamil Kisiel",
        "email": "kamil@kamilkisiel.net",
        "time": "Wed Mar 26 07:35:22 2014 +0200"
      },
      "message": "Fix escaping of quotes"
    },
    {
      "commit": "316a7360f435a34c5b22e0b7c55ec3a6e753c72b",
      "tree": "efce56c97da8f479d6025a6cce04d9baebdb2e3e",
      "parents": [
        "a61d617b04230ac00f8adb07d651f66d730bcda3"
      ],
      "author": {
        "name": "beevik",
        "email": "brett@beevik.com",
        "time": "Sun Feb 02 21:00:52 2014 -0800"
      },
      "committer": {
        "name": "beevik",
        "email": "brett@beevik.com",
        "time": "Sun Feb 02 21:00:52 2014 -0800"
      },
      "message": "Fixed incorrect comments.\n"
    },
    {
      "commit": "a61d617b04230ac00f8adb07d651f66d730bcda3",
      "tree": "a1a2ac187d1feee1606d3b93c1ef821d4dbe9013",
      "parents": [
        "ddcae5ffb86a309a01e630f381daaee772fe8ac9"
      ],
      "author": {
        "name": "beevik",
        "email": "brett@beevik.com",
        "time": "Sun Feb 02 14:21:36 2014 -0800"
      },
      "committer": {
        "name": "beevik",
        "email": "brett@beevik.com",
        "time": "Sun Feb 02 14:21:36 2014 -0800"
      },
      "message": "API simplification. Keys and tags may now be prefixed by \"namespace:\".\nDeprecated \"Full\" APIs removed.\n"
    },
    {
      "commit": "ddcae5ffb86a309a01e630f381daaee772fe8ac9",
      "tree": "082ef32dbc72b847df2f8b7f3a8c8e913afdb8d2",
      "parents": [
        "33fb6bbebcade44f1159c0a3a6b3ea5072f176b2"
      ],
      "author": {
        "name": "beevik",
        "email": "brett@beevik.com",
        "time": "Sun Feb 02 14:06:22 2014 -0800"
      },
      "committer": {
        "name": "beevik",
        "email": "brett@beevik.com",
        "time": "Sun Feb 02 14:06:22 2014 -0800"
      },
      "message": "API simplification. Keys and tags may now be prefixed by \"namespace:\".\nThe *Full APIs have been deprecated.\n"
    },
    {
      "commit": "33fb6bbebcade44f1159c0a3a6b3ea5072f176b2",
      "tree": "ec354ab63ac97a138db82eb2839ade71f2454130",
      "parents": [
        "f18a190902be2a3ddad99d39fa4e4ac6785b5e56"
      ],
      "author": {
        "name": "beevik",
        "email": "brett@beevik.com",
        "time": "Fri Jan 31 23:26:00 2014 -0800"
      },
      "committer": {
        "name": "beevik",
        "email": "brett@beevik.com",
        "time": "Fri Jan 31 23:26:00 2014 -0800"
      },
      "message": "FindElement paths now ignore namespace when no namespace is specified.\n"
    },
    {
      "commit": "f18a190902be2a3ddad99d39fa4e4ac6785b5e56",
      "tree": "20afe9eb918abf7e6872a04f317ca5d201905243",
      "parents": [
        "79abd5b3665bfc8f54f97675f622261697432f78"
      ],
      "author": {
        "name": "beevik",
        "email": "brett@beevik.com",
        "time": "Fri Jan 31 23:22:19 2014 -0800"
      },
      "committer": {
        "name": "beevik",
        "email": "brett@beevik.com",
        "time": "Fri Jan 31 23:22:19 2014 -0800"
      },
      "message": "Fix a bug in the etree_test file.\n"
    },
    {
      "commit": "79abd5b3665bfc8f54f97675f622261697432f78",
      "tree": "cb74e687e59d472456553d0c8dda12da3679e763",
      "parents": [
        "ac4a914e4e4425b95f495c58aaed7ac727c0d23d"
      ],
      "author": {
        "name": "beevik",
        "email": "brett@beevik.com",
        "time": "Sun Jan 26 18:17:50 2014 -0800"
      },
      "committer": {
        "name": "beevik",
        "email": "brett@beevik.com",
        "time": "Sun Jan 26 18:17:50 2014 -0800"
      },
      "message": "Improved test error messages\n"
    },
    {
      "commit": "ac4a914e4e4425b95f495c58aaed7ac727c0d23d",
      "tree": "c53bf37cd19ebff53e56be27c2805e8142551163",
      "parents": [
        "6211665aea7b318980012c196294b0d3ae993f7a",
        "4a2526b356083482aa1926c0349f3a0f087d3def"
      ],
      "author": {
        "name": "Brett Vickers",
        "email": "beevik@users.noreply.github.com",
        "time": "Mon Jan 13 10:24:11 2014 -0800"
      },
      "committer": {
        "name": "Brett Vickers",
        "email": "beevik@users.noreply.github.com",
        "time": "Mon Jan 13 10:24:11 2014 -0800"
      },
      "message": "Merge pull request #5 from felixge/simplify-remove-attr\n\nSimplify RemoveAttr API"
    },
    {
      "commit": "6211665aea7b318980012c196294b0d3ae993f7a",
      "tree": "bf8049f0c30fd3d99a9f38889c5413f152ea8667",
      "parents": [
        "0eb1770e90f40e03d147df3009664c8e074b3ca9",
        "d881da099c14ab1c327049f5b84dc3f07ff31cf7"
      ],
      "author": {
        "name": "Brett Vickers",
        "email": "beevik@users.noreply.github.com",
        "time": "Mon Jan 13 10:23:31 2014 -0800"
      },
      "committer": {
        "name": "Brett Vickers",
        "email": "beevik@users.noreply.github.com",
        "time": "Mon Jan 13 10:23:31 2014 -0800"
      },
      "message": "Merge pull request #4 from felixge/root\n\nImplement Root method"
    },
    {
      "commit": "4a2526b356083482aa1926c0349f3a0f087d3def",
      "tree": "40e9fa8f4292e3dd78c79f06fe55cac2527f87d0",
      "parents": [
        "0eb1770e90f40e03d147df3009664c8e074b3ca9"
      ],
      "author": {
        "name": "Felix Geisendörfer",
        "email": "felix@debuggable.com",
        "time": "Mon Jan 13 10:48:24 2014 +0100"
      },
      "committer": {
        "name": "Felix Geisendörfer",
        "email": "felix@debuggable.com",
        "time": "Mon Jan 13 10:51:50 2014 +0100"
      },
      "message": "Simplify RemoveAttr API\n\nRemove the initial RemoveAttr method I contributed, it\u0027s redundant\nand awkward. This allows giving the new RemoveAttrByKey and\nRemoveAttrByKeyFull shorter method names.\n"
    },
    {
      "commit": "d881da099c14ab1c327049f5b84dc3f07ff31cf7",
      "tree": "bf8049f0c30fd3d99a9f38889c5413f152ea8667",
      "parents": [
        "0eb1770e90f40e03d147df3009664c8e074b3ca9"
      ],
      "author": {
        "name": "Felix Geisendörfer",
        "email": "felix@debuggable.com",
        "time": "Thu Jan 09 11:12:58 2014 +0100"
      },
      "committer": {
        "name": "Felix Geisendörfer",
        "email": "felix@debuggable.com",
        "time": "Mon Jan 13 10:41:27 2014 +0100"
      },
      "message": "Implement Root method\n"
    },
    {
      "commit": "0eb1770e90f40e03d147df3009664c8e074b3ca9",
      "tree": "e1f5d5efba4411d3ae8269e1288b03dfdf2f3d92",
      "parents": [
        "5f15bfa591fdbfa23459e2337c87bb15736250e4"
      ],
      "author": {
        "name": "beevik",
        "email": "beevik@yahoo.com",
        "time": "Sat Jan 11 20:08:05 2014 -0800"
      },
      "committer": {
        "name": "beevik",
        "email": "beevik@yahoo.com",
        "time": "Sat Jan 11 20:08:05 2014 -0800"
      },
      "message": "RemoveElement and RemoveAttrByKey tweaks.\nRemoveElement clears the removed element\u0027s parent pointer.\nRemoveAttrByKey APIs return a pointer to (a copy of) the removed attribute.\n"
    },
    {
      "commit": "5f15bfa591fdbfa23459e2337c87bb15736250e4",
      "tree": "f3d9624c81ae9badc1a8fdd21149326fb404937c",
      "parents": [
        "6617043ff2c19bbcfc1138f6db27a5daa1d12e27"
      ],
      "author": {
        "name": "beevik",
        "email": "beevik@yahoo.com",
        "time": "Sat Jan 11 18:07:34 2014 -0800"
      },
      "committer": {
        "name": "beevik",
        "email": "beevik@yahoo.com",
        "time": "Sat Jan 11 18:07:34 2014 -0800"
      },
      "message": "Added document and element Copy() functions.\nAllows deep (recursive) copies of element trees.\n"
    },
    {
      "commit": "6617043ff2c19bbcfc1138f6db27a5daa1d12e27",
      "tree": "b26b1d893962428db01a6d8bfc0a2057177bbd86",
      "parents": [
        "1477f7876e551d83b3e7f8eac5b0fd94cbc670ae"
      ],
      "author": {
        "name": "beevik",
        "email": "beevik@yahoo.com",
        "time": "Sat Jan 11 17:27:35 2014 -0800"
      },
      "committer": {
        "name": "beevik",
        "email": "beevik@yahoo.com",
        "time": "Sat Jan 11 17:27:35 2014 -0800"
      },
      "message": "Add AUTHORS file.\n"
    },
    {
      "commit": "1477f7876e551d83b3e7f8eac5b0fd94cbc670ae",
      "tree": "6d06932ec42f6d1a7cbff416fcc40ca3a132c341",
      "parents": [
        "c2b390ad32fe3259677fa4af97ff87dc90059855"
      ],
      "author": {
        "name": "beevik",
        "email": "beevik@yahoo.com",
        "time": "Sat Jan 11 17:18:08 2014 -0800"
      },
      "committer": {
        "name": "beevik",
        "email": "beevik@yahoo.com",
        "time": "Sat Jan 11 17:18:08 2014 -0800"
      },
      "message": "Added RemoveAttrByKey and RemoveAttrByKeyFull.\n"
    },
    {
      "commit": "c2b390ad32fe3259677fa4af97ff87dc90059855",
      "tree": "d84db8e6a9930d2285383065d6bab1c8333affdf",
      "parents": [
        "37b4492c0f6b4ee91993721a1b8c29509068da67",
        "d7d0d85545de0266255e6612dcbf8879575eca6c"
      ],
      "author": {
        "name": "Brett Vickers",
        "email": "beevik@users.noreply.github.com",
        "time": "Sat Jan 11 16:52:07 2014 -0800"
      },
      "committer": {
        "name": "Brett Vickers",
        "email": "beevik@users.noreply.github.com",
        "time": "Sat Jan 11 16:52:07 2014 -0800"
      },
      "message": "Merge pull request #3 from felixge/master\n\nFeatures: RemoveElement and RemoveAttr\r\nMerged from Felix Geisendörfer\u0027s CL."
    },
    {
      "commit": "d7d0d85545de0266255e6612dcbf8879575eca6c",
      "tree": "d84db8e6a9930d2285383065d6bab1c8333affdf",
      "parents": [
        "0e493c8ac406f8bfa11ac90457a42cdbd11ca7d9"
      ],
      "author": {
        "name": "Felix Geisendörfer",
        "email": "felix@debuggable.com",
        "time": "Thu Jan 09 10:59:22 2014 +0100"
      },
      "committer": {
        "name": "Felix Geisendörfer",
        "email": "felix@debuggable.com",
        "time": "Thu Jan 09 10:59:22 2014 +0100"
      },
      "message": "Implement RemoveAttr method\n"
    },
    {
      "commit": "0e493c8ac406f8bfa11ac90457a42cdbd11ca7d9",
      "tree": "83b8624d45fb7faf610c4c7fc095fd8c63c38832",
      "parents": [
        "37b4492c0f6b4ee91993721a1b8c29509068da67"
      ],
      "author": {
        "name": "Felix Geisendörfer",
        "email": "felix@debuggable.com",
        "time": "Thu Jan 09 10:49:15 2014 +0100"
      },
      "committer": {
        "name": "Felix Geisendörfer",
        "email": "felix@debuggable.com",
        "time": "Thu Jan 09 10:59:01 2014 +0100"
      },
      "message": "Implement RemoveElement method\n"
    },
    {
      "commit": "37b4492c0f6b4ee91993721a1b8c29509068da67",
      "tree": "b713bd43424aa0c66bb5e4b18ef871f1ce2ebee3",
      "parents": [
        "573737866b953f12d3f618b57565d7668e5bc4cb"
      ],
      "author": {
        "name": "beevik",
        "email": "beevik@yahoo.com",
        "time": "Mon Dec 30 17:36:06 2013 -0800"
      },
      "committer": {
        "name": "beevik",
        "email": "beevik@yahoo.com",
        "time": "Mon Dec 30 17:36:06 2013 -0800"
      },
      "message": "Update tests.\nMore coverage of APIs.\n"
    },
    {
      "commit": "573737866b953f12d3f618b57565d7668e5bc4cb",
      "tree": "9a90c1760a47fc281e856874e1ef0b9d7e676d29",
      "parents": [
        "88b8110c06592cfe6b7aae59e2ae28ab4243a76f"
      ],
      "author": {
        "name": "beevik",
        "email": "beevik@yahoo.com",
        "time": "Mon Dec 30 16:50:32 2013 -0800"
      },
      "committer": {
        "name": "beevik",
        "email": "beevik@yahoo.com",
        "time": "Mon Dec 30 16:50:32 2013 -0800"
      },
      "message": "Update path tests.\n"
    },
    {
      "commit": "88b8110c06592cfe6b7aae59e2ae28ab4243a76f",
      "tree": "491dceacfa1b7afc349246b07b5a76719069fd76",
      "parents": [
        "555bcaea4e67e4d8c5b3f40c8e5d97c3ea181098"
      ],
      "author": {
        "name": "beevik",
        "email": "beevik@yahoo.com",
        "time": "Sat Dec 28 21:21:40 2013 -0800"
      },
      "committer": {
        "name": "beevik",
        "email": "beevik@yahoo.com",
        "time": "Sat Dec 28 21:21:40 2013 -0800"
      },
      "message": "Expose ErrPath. Fix possible bug in path scratch buffer usage.\n"
    }
  ],
  "next": "555bcaea4e67e4d8c5b3f40c8e5d97c3ea181098"
}
