)]}'
{
  "log": [
    {
      "commit": "f6a3a2366cc39b8479cadc499d3c735fb10fbdda",
      "tree": "c252d5e5bcae7590b6cf913187f91eadd73ab1a8",
      "parents": [
        "bff0b59ddcc5eac25a6a5910206a10888b9d8b3d",
        "2622c8937c7681a817e63f6c18e6030afbf95aab"
      ],
      "author": {
        "name": "guelfey",
        "email": "guelfey@gmail.com",
        "time": "Wed Nov 13 12:16:18 2013"
      },
      "committer": {
        "name": "guelfey",
        "email": "guelfey@gmail.com",
        "time": "Wed Nov 13 12:16:18 2013"
      },
      "message": "Merge pull request #41 from jessevdk/issue/40\n\nAllow receiving sender in method call"
    },
    {
      "commit": "bff0b59ddcc5eac25a6a5910206a10888b9d8b3d",
      "tree": "736a7d0454fd629aa6488ed6786609a7ec32febd",
      "parents": [
        "af8a39f0cfb6a8f0b4728b5cfae9ec255a35ca7c"
      ],
      "author": {
        "name": "Georg Reinke",
        "email": "guelfey@gmail.com",
        "time": "Wed Nov 13 12:01:57 2013"
      },
      "committer": {
        "name": "Georg Reinke",
        "email": "guelfey@gmail.com",
        "time": "Wed Nov 13 12:01:57 2013"
      },
      "message": "Add test cases for empty arrays and maps\n"
    },
    {
      "commit": "af8a39f0cfb6a8f0b4728b5cfae9ec255a35ca7c",
      "tree": "099a4b8ba1817af14555a85b21060eee3ee6997a",
      "parents": [
        "d7f0cd87514e73d7065ebc6937131acd23a5d32a"
      ],
      "author": {
        "name": "Georg Reinke",
        "email": "guelfey@gmail.com",
        "time": "Wed Nov 13 11:53:23 2013"
      },
      "committer": {
        "name": "Georg Reinke",
        "email": "guelfey@gmail.com",
        "time": "Wed Nov 13 11:56:46 2013"
      },
      "message": "Correctly decode empty arrays and maps\n\nFixes #42.\n"
    },
    {
      "commit": "d7f0cd87514e73d7065ebc6937131acd23a5d32a",
      "tree": "de3c8f4282861ffefcf9de812d0fb662b80f31b2",
      "parents": [
        "cd522c7c8617833c76ced8e051c965e4e12b36dd"
      ],
      "author": {
        "name": "Georg Reinke",
        "email": "guelfey@gmail.com",
        "time": "Tue Nov 12 12:47:31 2013"
      },
      "committer": {
        "name": "Georg Reinke",
        "email": "guelfey@gmail.com",
        "time": "Tue Nov 12 12:47:31 2013"
      },
      "message": "Fix typo\n"
    },
    {
      "commit": "cd522c7c8617833c76ced8e051c965e4e12b36dd",
      "tree": "802e874393457f3ece83596bcfb86fb754e65480",
      "parents": [
        "08119128ccf9c0098ef23ea722b32b321941b125"
      ],
      "author": {
        "name": "Georg Reinke",
        "email": "guelfey@gmail.com",
        "time": "Tue Nov 12 12:27:04 2013"
      },
      "committer": {
        "name": "Georg Reinke",
        "email": "guelfey@gmail.com",
        "time": "Tue Nov 12 12:30:48 2013"
      },
      "message": "Various cleanup changes\n\n- Move (*Object).GetProperty to call.go\n- Don\u0027t export SessionBusPlatform\n- Remove (*Conn).Unexport\n"
    },
    {
      "commit": "2622c8937c7681a817e63f6c18e6030afbf95aab",
      "tree": "b3c041dca234e3fe17c44a750b5ea8c764c59080",
      "parents": [
        "a8d18119ecc116bbf7098c36e854664babc846b3"
      ],
      "author": {
        "name": "Jesse van den Kieboom",
        "email": "jessevdk@gmail.com",
        "time": "Thu Nov 07 19:12:35 2013"
      },
      "committer": {
        "name": "Jesse van den Kieboom",
        "email": "jessevdk@gmail.com",
        "time": "Thu Nov 07 19:12:35 2013"
      },
      "message": "Document new export behaviour for Sender type"
    },
    {
      "commit": "a8d18119ecc116bbf7098c36e854664babc846b3",
      "tree": "f1d9b7d1c06b01cf49dd3b66922e42408aad4165",
      "parents": [
        "7525bfb3d779fd95163698f204842b30b557c5c8"
      ],
      "author": {
        "name": "Jesse van den Kieboom",
        "email": "jessevdk@gmail.com",
        "time": "Thu Nov 07 19:12:08 2013"
      },
      "committer": {
        "name": "Jesse van den Kieboom",
        "email": "jessevdk@gmail.com",
        "time": "Thu Nov 07 19:12:08 2013"
      },
      "message": "Document sender type"
    },
    {
      "commit": "7525bfb3d779fd95163698f204842b30b557c5c8",
      "tree": "825aaf1bd41f659d8696c7a551565894f6a8178c",
      "parents": [
        "b81f89d5265d781e5ce35a6c60bcac6c0aa6596c"
      ],
      "author": {
        "name": "Jesse van den Kieboom",
        "email": "jessevdk@gmail.com",
        "time": "Thu Nov 07 19:11:56 2013"
      },
      "committer": {
        "name": "Jesse van den Kieboom",
        "email": "jessevdk@gmail.com",
        "time": "Thu Nov 07 19:11:56 2013"
      },
      "message": "Move Sender type to export.go"
    },
    {
      "commit": "08119128ccf9c0098ef23ea722b32b321941b125",
      "tree": "7be53d0f162e8299175a002be49bf5da3f84fa74",
      "parents": [
        "18aba160a77ae496f184ba1cd996d06898bc8287",
        "96cf18f50d07c0779ee7700c23f9339a9ae5a1b6"
      ],
      "author": {
        "name": "guelfey",
        "email": "guelfey@gmail.com",
        "time": "Wed Nov 06 15:03:11 2013"
      },
      "committer": {
        "name": "guelfey",
        "email": "guelfey@gmail.com",
        "time": "Wed Nov 06 15:03:11 2013"
      },
      "message": "Merge pull request #39 from jessevdk/issue/38\n\nRun go fmt\r\n\r\nFixes #38."
    },
    {
      "commit": "18aba160a77ae496f184ba1cd996d06898bc8287",
      "tree": "d2c27a9b966af7abc5d723f24dbd0277253cd559",
      "parents": [
        "7ee164f616e398c8ae6c92bb5015ecfcb8223988",
        "eb7823c3c0d3b4bf9eb5eb919c7bbad981250131"
      ],
      "author": {
        "name": "guelfey",
        "email": "guelfey@gmail.com",
        "time": "Wed Nov 06 15:02:33 2013"
      },
      "committer": {
        "name": "guelfey",
        "email": "guelfey@gmail.com",
        "time": "Wed Nov 06 15:02:33 2013"
      },
      "message": "Merge pull request #37 from jessevdk/issue/36\n\nImport \"errors\" in conn_darwin.go\r\n\r\nFixes #36."
    },
    {
      "commit": "b81f89d5265d781e5ce35a6c60bcac6c0aa6596c",
      "tree": "1b665b7b45164fdd13c2126bcf2e846435ba88f8",
      "parents": [
        "7ee164f616e398c8ae6c92bb5015ecfcb8223988"
      ],
      "author": {
        "name": "Jesse van den Kieboom",
        "email": "jessevdk@gmail.com",
        "time": "Tue Nov 05 10:12:00 2013"
      },
      "committer": {
        "name": "Jesse van den Kieboom",
        "email": "jessevdk@gmail.com",
        "time": "Tue Nov 05 10:12:00 2013"
      },
      "message": "Allow receiving sender in method call\n\nExported methods can receive the sender of the\nmessage by specifying an argument of type\ndbus.Sender. Upon calling, this argument will\nbe set to the sender of the message. Any\ndbus.Sender arguments are not part of the dbus\nmethod signature."
    },
    {
      "commit": "96cf18f50d07c0779ee7700c23f9339a9ae5a1b6",
      "tree": "c433ad943c74142c847decb77992c60ff37e0ea8",
      "parents": [
        "7ee164f616e398c8ae6c92bb5015ecfcb8223988"
      ],
      "author": {
        "name": "Jesse van den Kieboom",
        "email": "jessevdk@gmail.com",
        "time": "Tue Nov 05 09:49:31 2013"
      },
      "committer": {
        "name": "Jesse van den Kieboom",
        "email": "jessevdk@gmail.com",
        "time": "Tue Nov 05 09:49:31 2013"
      },
      "message": "Run go fmt\n"
    },
    {
      "commit": "eb7823c3c0d3b4bf9eb5eb919c7bbad981250131",
      "tree": "d2c27a9b966af7abc5d723f24dbd0277253cd559",
      "parents": [
        "7ee164f616e398c8ae6c92bb5015ecfcb8223988"
      ],
      "author": {
        "name": "Jesse van den Kieboom",
        "email": "jessevdk@gmail.com",
        "time": "Tue Nov 05 09:45:50 2013"
      },
      "committer": {
        "name": "Jesse van den Kieboom",
        "email": "jessevdk@gmail.com",
        "time": "Tue Nov 05 09:45:50 2013"
      },
      "message": "Import \"errors\" in conn_darwin.go\n\nFixes build on darwin.\n"
    },
    {
      "commit": "7ee164f616e398c8ae6c92bb5015ecfcb8223988",
      "tree": "b4ab56efdbb465013f257c9f6013c0313fb7ace0",
      "parents": [
        "83c91aed40a517796a91ddce80160e675e0af2e7"
      ],
      "author": {
        "name": "Georg Reinke",
        "email": "guelfey@gmail.com",
        "time": "Sun Nov 03 10:34:00 2013"
      },
      "committer": {
        "name": "Georg Reinke",
        "email": "guelfey@gmail.com",
        "time": "Sun Nov 03 10:34:00 2013"
      },
      "message": "Don\u0027t panic on darwin if launchctl has no output\n\nFixes #31.\n"
    },
    {
      "commit": "83c91aed40a517796a91ddce80160e675e0af2e7",
      "tree": "bf05059932fd73b3e53c70d162272b3458195579",
      "parents": [
        "a73097f2dd78ba5f19133ac0e12ee1aa8a7335ad"
      ],
      "author": {
        "name": "Georg Reinke",
        "email": "guelfey@gmail.com",
        "time": "Sun Nov 03 10:27:59 2013"
      },
      "committer": {
        "name": "Georg Reinke",
        "email": "guelfey@gmail.com",
        "time": "Sun Nov 03 10:27:59 2013"
      },
      "message": "Import \"errors\" in conn_others.go\n\nFixes build on !darwin.\n"
    },
    {
      "commit": "a73097f2dd78ba5f19133ac0e12ee1aa8a7335ad",
      "tree": "5ebecf82896bd90e0c3b1369aa8475c5768acac7",
      "parents": [
        "8c582e3dc4a0d8825470e21bab7f45c7d7d6b171",
        "c2a13aaecb8d692b97750e984fd26c15b26bbe97"
      ],
      "author": {
        "name": "guelfey",
        "email": "guelfey@gmail.com",
        "time": "Sun Nov 03 08:09:16 2013"
      },
      "committer": {
        "name": "guelfey",
        "email": "guelfey@gmail.com",
        "time": "Sun Nov 03 08:09:16 2013"
      },
      "message": "Merge pull request #33 from jessevdk/unixcred\n\nOnly send unix credentials on !darwin"
    },
    {
      "commit": "8c582e3dc4a0d8825470e21bab7f45c7d7d6b171",
      "tree": "187fdab4164c79c6fc7acbc699c1817a4639d1bf",
      "parents": [
        "d57154e70e5b6e0fcc330a8d58f03d54077beeae",
        "a8f74ea1d91713f83eb4a25d27870d897c028878"
      ],
      "author": {
        "name": "guelfey",
        "email": "guelfey@gmail.com",
        "time": "Sun Nov 03 08:08:19 2013"
      },
      "committer": {
        "name": "guelfey",
        "email": "guelfey@gmail.com",
        "time": "Sun Nov 03 08:08:19 2013"
      },
      "message": "Merge pull request #32 from jessevdk/launchctl\n\nUse launchctl to obtain session bus address on OS X"
    },
    {
      "commit": "c2a13aaecb8d692b97750e984fd26c15b26bbe97",
      "tree": "2007d4a205574535784eeb0dc1e6e0b072a2dda7",
      "parents": [
        "d57154e70e5b6e0fcc330a8d58f03d54077beeae"
      ],
      "author": {
        "name": "Jesse van den Kieboom",
        "email": "jessevdk@gmail.com",
        "time": "Fri Oct 25 15:33:48 2013"
      },
      "committer": {
        "name": "Jesse van den Kieboom",
        "email": "jessevdk@gmail.com",
        "time": "Thu Oct 31 10:18:02 2013"
      },
      "message": "Only send unix credentials on !darwin\n\nThis patch will send a simple null byte without\nunix credentials on the darwin platform. For all\nother platforms, the Ucred syscall is used as\nbefore."
    },
    {
      "commit": "d57154e70e5b6e0fcc330a8d58f03d54077beeae",
      "tree": "342cbc7b0f3f8243f8ffcc9862c940052ce48aec",
      "parents": [
        "1ed3f5a2d5ab3282afdf9268b944c2e771a6d46c"
      ],
      "author": {
        "name": "Georg Reinke",
        "email": "guelfey@gmail.com",
        "time": "Sun Oct 27 14:39:51 2013"
      },
      "committer": {
        "name": "Georg Reinke",
        "email": "guelfey@gmail.com",
        "time": "Sun Oct 27 14:40:26 2013"
      },
      "message": "Actually call SendNullByte for authentication\n\nFixes #28.\n"
    },
    {
      "commit": "a8f74ea1d91713f83eb4a25d27870d897c028878",
      "tree": "84544da1087baf544686f4dac18f98afe5127d85",
      "parents": [
        "1ed3f5a2d5ab3282afdf9268b944c2e771a6d46c"
      ],
      "author": {
        "name": "Jesse van den Kieboom",
        "email": "jessevdk@gmail.com",
        "time": "Fri Oct 25 14:57:17 2013"
      },
      "committer": {
        "name": "Jesse van den Kieboom",
        "email": "jessevdk@gmail.com",
        "time": "Fri Oct 25 14:57:17 2013"
      },
      "message": "Use launchctl to obtain session bus address on OS X\n\nThe \"standard\" way to launch dbus on OS X is through launchd which\nis responsible for allocating a unix domain socket and then passing\nit to dbus. This patch splits out a platform specific method to obtain\nthe session bus if DBUS_SESSION_BUS_ADDRESS is not set. On OS X\nlaunchctl is queried while on other platforms dbus-launch is used\nas before."
    },
    {
      "commit": "1ed3f5a2d5ab3282afdf9268b944c2e771a6d46c",
      "tree": "de2405687a073af52b59ce0c319e56c95ea0f652",
      "parents": [
        "e914c862b48bd909e72daca1ccb24b3f71f7f639",
        "50d7e1e25440dab5a858641bf51185e463ba1bf3"
      ],
      "author": {
        "name": "guelfey",
        "email": "guelfey@gmail.com",
        "time": "Thu Oct 24 10:07:51 2013"
      },
      "committer": {
        "name": "guelfey",
        "email": "guelfey@gmail.com",
        "time": "Thu Oct 24 10:07:51 2013"
      },
      "message": "Merge pull request #25 from hoffoo/master\n\nAdd GetProperty method to Object"
    },
    {
      "commit": "50d7e1e25440dab5a858641bf51185e463ba1bf3",
      "tree": "de2405687a073af52b59ce0c319e56c95ea0f652",
      "parents": [
        "0d0f8267abb66969e69a5172fb5f5fa155297b41"
      ],
      "author": {
        "name": "Marin",
        "email": "mgs@jpisoftware.net",
        "time": "Mon Oct 21 20:29:23 2013"
      },
      "committer": {
        "name": "Marin",
        "email": "mgs@jpisoftware.net",
        "time": "Mon Oct 21 20:29:23 2013"
      },
      "message": "cleaner\n"
    },
    {
      "commit": "0d0f8267abb66969e69a5172fb5f5fa155297b41",
      "tree": "101af69f67ef7183cc89c3ffde52fa898982363e",
      "parents": [
        "3b1afcdb0fe7001b8512ed90e68247a9c424a7ba"
      ],
      "author": {
        "name": "Marin",
        "email": "mgs@jpisoftware.net",
        "time": "Wed Oct 16 21:13:09 2013"
      },
      "committer": {
        "name": "Marin",
        "email": "mgs@jpisoftware.net",
        "time": "Wed Oct 16 21:13:09 2013"
      },
      "message": "GetProperty better error msg\n"
    },
    {
      "commit": "3b1afcdb0fe7001b8512ed90e68247a9c424a7ba",
      "tree": "ecc788b0688155934e06ebd7f3fea2e7886745ee",
      "parents": [
        "4ec7bb1ac148e6230666fc0343d3f7b33a736ada"
      ],
      "author": {
        "name": "Marin",
        "email": "mgs@jpisoftware.net",
        "time": "Wed Oct 16 21:09:21 2013"
      },
      "committer": {
        "name": "Marin",
        "email": "mgs@jpisoftware.net",
        "time": "Wed Oct 16 21:09:21 2013"
      },
      "message": "throw GetPropertyErrors errors\n"
    },
    {
      "commit": "4ec7bb1ac148e6230666fc0343d3f7b33a736ada",
      "tree": "6ae7fb65267b373cee637af884e57d0b5ad7128f",
      "parents": [
        "c66225ac89568fac1f9f5baeb51df45447842673"
      ],
      "author": {
        "name": "Marin",
        "email": "mgs@jpisoftware.net",
        "time": "Fri Oct 11 23:19:19 2013"
      },
      "committer": {
        "name": "Marin",
        "email": "mgs@jpisoftware.net",
        "time": "Fri Oct 11 23:19:19 2013"
      },
      "message": "Fmt\n"
    },
    {
      "commit": "c66225ac89568fac1f9f5baeb51df45447842673",
      "tree": "4a0322a469dfcbcc9e81f6ad7cb1b42e83db7a0b",
      "parents": [
        "fcfd7cf8ab69c79f7ec2740d474d6cf3ffb9e1a8"
      ],
      "author": {
        "name": "Marin",
        "email": "mgs@jpisoftware.net",
        "time": "Fri Oct 11 23:16:21 2013"
      },
      "committer": {
        "name": "Marin",
        "email": "mgs@jpisoftware.net",
        "time": "Fri Oct 11 23:16:21 2013"
      },
      "message": "return ref and single interface.name argument\n"
    },
    {
      "commit": "fcfd7cf8ab69c79f7ec2740d474d6cf3ffb9e1a8",
      "tree": "dfc87b4a8c95acc5f02a54394c8c26d9f862fb45",
      "parents": [
        "571f7fcf5be17b0f30138f14634275d0d036c080"
      ],
      "author": {
        "name": "Marin",
        "email": "mgs@jpisoftware.net",
        "time": "Fri Oct 11 20:05:26 2013"
      },
      "committer": {
        "name": "Marin",
        "email": "mgs@jpisoftware.net",
        "time": "Fri Oct 11 20:05:26 2013"
      },
      "message": "call org.freedesktop.DBus.Properties.Get\n"
    },
    {
      "commit": "571f7fcf5be17b0f30138f14634275d0d036c080",
      "tree": "70749645fcb2a1dadbaa1f5f06c077685c1179e1",
      "parents": [
        "e914c862b48bd909e72daca1ccb24b3f71f7f639"
      ],
      "author": {
        "name": "Marin",
        "email": "mgs@jpisoftware.net",
        "time": "Fri Oct 11 19:41:39 2013"
      },
      "committer": {
        "name": "Marin",
        "email": "mgs@jpisoftware.net",
        "time": "Fri Oct 11 19:41:39 2013"
      },
      "message": "Convenience dbus Get\n"
    },
    {
      "commit": "e914c862b48bd909e72daca1ccb24b3f71f7f639",
      "tree": "e9977a8239aa1137cf8861d6a113ef0465553d6e",
      "parents": [
        "1e3a7a3e75664e52f7e0cb5927ee8bb92a936162"
      ],
      "author": {
        "name": "Georg Reinke",
        "email": "guelfey@gmail.com",
        "time": "Sun Sep 08 09:42:31 2013"
      },
      "committer": {
        "name": "Georg Reinke",
        "email": "guelfey@gmail.com",
        "time": "Sun Sep 08 09:42:31 2013"
      },
      "message": "Add test for Conn.Send()\n"
    },
    {
      "commit": "1e3a7a3e75664e52f7e0cb5927ee8bb92a936162",
      "tree": "64c994d5eaa4d176fd586e25d94775775023f037",
      "parents": [
        "68274ed9d0327f85fdc450cc2f434e8017ad0ced"
      ],
      "author": {
        "name": "Georg Reinke",
        "email": "guelfey@gmail.com",
        "time": "Sat Sep 07 19:03:36 2013"
      },
      "committer": {
        "name": "Georg Reinke",
        "email": "guelfey@gmail.com",
        "time": "Sat Sep 07 19:03:36 2013"
      },
      "message": "Simplify signal handling code\n"
    },
    {
      "commit": "68274ed9d0327f85fdc450cc2f434e8017ad0ced",
      "tree": "21098ebef8c366ceb44df837ad610ee5b5646d6f",
      "parents": [
        "ea0f31874ee6b61aa6193c0ee88ad7b4d34e5621",
        "98652286e644bb896ac6a914c57f304f00ebdaaf"
      ],
      "author": {
        "name": "Tomek Dubrownik",
        "email": "t.dubrownik@gmail.com",
        "time": "Sat Sep 07 12:08:26 2013"
      },
      "committer": {
        "name": "Tomek Dubrownik",
        "email": "t.dubrownik@gmail.com",
        "time": "Sat Sep 07 12:08:26 2013"
      },
      "message": "Merge commit \u00279865228\u0027 into tdubrownik-master\n"
    },
    {
      "commit": "98652286e644bb896ac6a914c57f304f00ebdaaf",
      "tree": "c4f03413f1fa192ede8d75e5c6a88e72d9e5cf8f",
      "parents": [
        "e440017f52448e1a587c534a802ade012b1e0948"
      ],
      "author": {
        "name": "Tomek Dubrownik",
        "email": "t.dubrownik@gmail.com",
        "time": "Sat Sep 07 11:53:47 2013"
      },
      "committer": {
        "name": "Tomek Dubrownik",
        "email": "t.dubrownik@gmail.com",
        "time": "Sat Sep 07 11:53:47 2013"
      },
      "message": "Handle null sender in signal receiver.\n\nThe DBus specification lists the Sender header as optional, by\nexplicitly checking if has a value we avoid a runtime panic.\n\nThis enables listening to PulseAudio signals, among other things.\n"
    },
    {
      "commit": "ea0f31874ee6b61aa6193c0ee88ad7b4d34e5621",
      "tree": "44549c8cfb887d7babd62fc231484a76e201e391",
      "parents": [
        "e440017f52448e1a587c534a802ade012b1e0948",
        "d5978d704d4f042ffdbe1b4966b43120595c0448"
      ],
      "author": {
        "name": "guelfey",
        "email": "guelfey@gmail.com",
        "time": "Sat Sep 07 08:51:39 2013"
      },
      "committer": {
        "name": "guelfey",
        "email": "guelfey@gmail.com",
        "time": "Sat Sep 07 08:51:39 2013"
      },
      "message": "Merge pull request #20 from jdutton/SessionBus-err-check\n\nAdd missing err check for SessionBusPrivate() to prevent core dump"
    },
    {
      "commit": "d5978d704d4f042ffdbe1b4966b43120595c0448",
      "tree": "44549c8cfb887d7babd62fc231484a76e201e391",
      "parents": [
        "e440017f52448e1a587c534a802ade012b1e0948"
      ],
      "author": {
        "name": "Jeff Dutton",
        "email": "jeff.dutton@stratus.com",
        "time": "Fri Sep 06 20:35:33 2013"
      },
      "committer": {
        "name": "Jeff Dutton",
        "email": "jeff.dutton@stratus.com",
        "time": "Fri Sep 06 20:35:33 2013"
      },
      "message": "Add missing err check for SessionBusPrivate() to prevent core dump\n"
    },
    {
      "commit": "e440017f52448e1a587c534a802ade012b1e0948",
      "tree": "39943d5afafbfdc26e3ecf891819ad4f4105abb9",
      "parents": [
        "03f41e1db03826f992179c601a548ea35acab92b"
      ],
      "author": {
        "name": "Georg Reinke",
        "email": "guelfey@gmail.com",
        "time": "Thu Aug 15 13:01:13 2013"
      },
      "committer": {
        "name": "Georg Reinke",
        "email": "guelfey@gmail.com",
        "time": "Thu Aug 15 13:01:13 2013"
      },
      "message": "Fix bugs and add tests for variant parsing\n\nThe following cases are now handled properly:\n- \"false\" (yeah, really)\n- integers in octal / hexadecimal format\n- empty dictionaries with inferred type information\n"
    },
    {
      "commit": "03f41e1db03826f992179c601a548ea35acab92b",
      "tree": "0c2068436b3f6e3224b66867bc971f25478f249c",
      "parents": [
        "01af25c004984b79421afd28f385abc036bc9859"
      ],
      "author": {
        "name": "Georg Reinke",
        "email": "guelfey@gmail.com",
        "time": "Thu Aug 15 11:20:33 2013"
      },
      "committer": {
        "name": "Georg Reinke",
        "email": "guelfey@gmail.com",
        "time": "Thu Aug 15 11:20:33 2013"
      },
      "message": "Parse type annotations correctly\n"
    },
    {
      "commit": "01af25c004984b79421afd28f385abc036bc9859",
      "tree": "7e8b311fbc24d14bd14e6de382d96dda10026d16",
      "parents": [
        "04d672d83ad19f3a670d69d9d79c800141ffa337"
      ],
      "author": {
        "name": "Georg Reinke",
        "email": "guelfey@gmail.com",
        "time": "Fri Aug 09 18:05:37 2013"
      },
      "committer": {
        "name": "Georg Reinke",
        "email": "guelfey@gmail.com",
        "time": "Fri Aug 09 18:05:37 2013"
      },
      "message": "Add more protocol tests\n"
    },
    {
      "commit": "04d672d83ad19f3a670d69d9d79c800141ffa337",
      "tree": "877370b7cc563f496737ad3670e363202c0c0a2c",
      "parents": [
        "cfdba6aaae7cd30b93a1b276d286b0d02568f7d7"
      ],
      "author": {
        "name": "Georg Reinke",
        "email": "guelfey@gmail.com",
        "time": "Sat Aug 03 10:12:29 2013"
      },
      "committer": {
        "name": "Georg Reinke",
        "email": "guelfey@gmail.com",
        "time": "Sat Aug 03 10:12:29 2013"
      },
      "message": "Support bytestrings for variant parsing\n"
    },
    {
      "commit": "cfdba6aaae7cd30b93a1b276d286b0d02568f7d7",
      "tree": "21024cde8ad9a85e901693fe39778866f3bd161c",
      "parents": [
        "ad2348d6bdfd10d80fce20023704f258eea164cc"
      ],
      "author": {
        "name": "Georg Reinke",
        "email": "guelfey@gmail.com",
        "time": "Thu Aug 01 17:34:05 2013"
      },
      "committer": {
        "name": "Georg Reinke",
        "email": "guelfey@gmail.com",
        "time": "Thu Aug 01 17:34:05 2013"
      },
      "message": "Support struct arguments to exported methods\n"
    },
    {
      "commit": "ad2348d6bdfd10d80fce20023704f258eea164cc",
      "tree": "9654dcc62097dd884a9eee367e6c986cf11365c0",
      "parents": [
        "6cc125ad7be381cf00cd4bfded83801e22934629"
      ],
      "author": {
        "name": "Georg Reinke",
        "email": "guelfey@gmail.com",
        "time": "Mon Jul 29 11:29:58 2013"
      },
      "committer": {
        "name": "Georg Reinke",
        "email": "guelfey@gmail.com",
        "time": "Mon Jul 29 11:29:58 2013"
      },
      "message": "Implement basic GVariant parsing\n\nCurrently implemented:\n - Lexing and parsing basic types, arrays, variants and dicts\n - Type annotations / keywords\n - Simple type inference\n\nTBD:\n - Bytestrings\n - Tuples\n - Dictionary entry sytax\n\nThings that probably won\u0027t be implemented:\n - Maybe types\n - Positional parameters\n"
    },
    {
      "commit": "6cc125ad7be381cf00cd4bfded83801e22934629",
      "tree": "6ff364eaf08931d4c378d188889d5b3b4e2f7f93",
      "parents": [
        "0e58c76cce550030c99ccb01c630d0d4353cc4d2"
      ],
      "author": {
        "name": "Georg Reinke",
        "email": "guelfey@gmail.com",
        "time": "Mon Jul 29 11:19:20 2013"
      },
      "committer": {
        "name": "Georg Reinke",
        "email": "guelfey@gmail.com",
        "time": "Mon Jul 29 11:19:20 2013"
      },
      "message": "Adjust output of (*Message).String()\n"
    },
    {
      "commit": "0e58c76cce550030c99ccb01c630d0d4353cc4d2",
      "tree": "35aa828eee1017f4ee77a5b32104d75c850f2b6b",
      "parents": [
        "203fe185a2ab8fc7fa841e545b5cee16147c9e7a"
      ],
      "author": {
        "name": "Georg Reinke",
        "email": "guelfey@gmail.com",
        "time": "Fri Jul 26 11:30:58 2013"
      },
      "committer": {
        "name": "Georg Reinke",
        "email": "guelfey@gmail.com",
        "time": "Fri Jul 26 11:30:58 2013"
      },
      "message": "Merge Decode and DecodeSig\n\nNow there\u0027s only one method (taking a signature) for decoding, which\nleads to less code.\n"
    },
    {
      "commit": "203fe185a2ab8fc7fa841e545b5cee16147c9e7a",
      "tree": "6c135eb5e23d92b05895c08413bacb6fd58ba663",
      "parents": [
        "f5e19ac38fbaff2dc97e232a2c5c5053419aa7e5"
      ],
      "author": {
        "name": "Georg Reinke",
        "email": "guelfey@gmail.com",
        "time": "Fri Jul 26 11:25:49 2013"
      },
      "committer": {
        "name": "Georg Reinke",
        "email": "guelfey@gmail.com",
        "time": "Fri Jul 26 11:25:49 2013"
      },
      "message": "Don\u0027t always use 1 as message serial\n\nI don\u0027t know how that got past me.\n"
    },
    {
      "commit": "f5e19ac38fbaff2dc97e232a2c5c5053419aa7e5",
      "tree": "761724453fe6e83c396ad57c3bab707c3a4195c8",
      "parents": [
        "2ba8c561297685a3021b31687e861efc3a6ff9dc"
      ],
      "author": {
        "name": "Georg Reinke",
        "email": "guelfey@gmail.com",
        "time": "Thu Jul 25 14:36:04 2013"
      },
      "committer": {
        "name": "Georg Reinke",
        "email": "guelfey@gmail.com",
        "time": "Thu Jul 25 14:36:04 2013"
      },
      "message": "Don\u0027t use a goroutine for serial generation\n"
    },
    {
      "commit": "2ba8c561297685a3021b31687e861efc3a6ff9dc",
      "tree": "0b9062838b5857cb7b61c6c9e4652aeff1f13fd5",
      "parents": [
        "e5e31ef6407940a74f7869e303bd62986760bc89"
      ],
      "author": {
        "name": "Georg Reinke",
        "email": "guelfey@gmail.com",
        "time": "Thu Jul 25 14:10:26 2013"
      },
      "committer": {
        "name": "Georg Reinke",
        "email": "guelfey@gmail.com",
        "time": "Thu Jul 25 14:10:26 2013"
      },
      "message": "Correctly decode struct values\n\nFor message decoding, the signature of the message is now considered\nto properly decode structs into []interface{}, and Store converts\nanything containing such values to respective Go structs. This\nalso removes the need for Signature.Values(), which is removed with\nthis commit.\n\nFixes #18.\n"
    },
    {
      "commit": "e5e31ef6407940a74f7869e303bd62986760bc89",
      "tree": "a5cd68ce1aefe194e865126e8506074745645189",
      "parents": [
        "4425c22d38a2383888e488c40e7d57905c800140"
      ],
      "author": {
        "name": "Georg Reinke",
        "email": "guelfey@gmail.com",
        "time": "Wed Jul 24 10:07:33 2013"
      },
      "committer": {
        "name": "Georg Reinke",
        "email": "guelfey@gmail.com",
        "time": "Wed Jul 24 10:07:33 2013"
      },
      "message": "Update Readme\n"
    },
    {
      "commit": "4425c22d38a2383888e488c40e7d57905c800140",
      "tree": "0d14566f06a257b907a20053ccb688dc6eaad8f6",
      "parents": [
        "ccbf072a99e2fd241dd186de1111f51d99806586"
      ],
      "author": {
        "name": "Georg Reinke",
        "email": "guelfey@gmail.com",
        "time": "Mon Jul 22 10:29:51 2013"
      },
      "committer": {
        "name": "Georg Reinke",
        "email": "guelfey@gmail.com",
        "time": "Mon Jul 22 10:33:23 2013"
      },
      "message": "Merge (*Conn).Unexport into Export\n"
    },
    {
      "commit": "ccbf072a99e2fd241dd186de1111f51d99806586",
      "tree": "66264033652b45cad986d3bb4572fa6611325772",
      "parents": [
        "90b58b54bac4da73b7f5def7b97791195fa1b54a"
      ],
      "author": {
        "name": "Georg Reinke",
        "email": "guelfey@gmail.com",
        "time": "Mon Jul 22 10:18:02 2013"
      },
      "committer": {
        "name": "Georg Reinke",
        "email": "guelfey@gmail.com",
        "time": "Mon Jul 22 10:18:02 2013"
      },
      "message": "Spell D-Bus correctly in the documentation\n"
    },
    {
      "commit": "90b58b54bac4da73b7f5def7b97791195fa1b54a",
      "tree": "64540bc97e41d06f64a8f18ecf99e4c0e0edc167",
      "parents": [
        "8706809c9bd2a4f7da51100eb077a204f0d42d80"
      ],
      "author": {
        "name": "Georg Reinke",
        "email": "guelfey@gmail.com",
        "time": "Mon Jul 22 10:12:11 2013"
      },
      "committer": {
        "name": "Georg Reinke",
        "email": "guelfey@gmail.com",
        "time": "Mon Jul 22 10:12:11 2013"
      },
      "message": "Unexport Decoder and Encoder; adjust documentation\n\nUpdates #18.\n"
    },
    {
      "commit": "8706809c9bd2a4f7da51100eb077a204f0d42d80",
      "tree": "1bed598c09e243d8365ec04db53f03097eb80f5c",
      "parents": [
        "c14e1c96f3613d6286016d7ab4ee5893e61eb4a8"
      ],
      "author": {
        "name": "Georg Reinke",
        "email": "guelfey@gmail.com",
        "time": "Mon Jul 22 09:28:01 2013"
      },
      "committer": {
        "name": "Georg Reinke",
        "email": "guelfey@gmail.com",
        "time": "Mon Jul 22 09:28:01 2013"
      },
      "message": "Use a consistent format for errors\n"
    },
    {
      "commit": "c14e1c96f3613d6286016d7ab4ee5893e61eb4a8",
      "tree": "216d74ad2ff1eeabdb8668fc75a1152e43009b1f",
      "parents": [
        "3ec96e9ba0406ee43e77d5e01a02b63de1fe0a93"
      ],
      "author": {
        "name": "Georg Reinke",
        "email": "guelfey@gmail.com",
        "time": "Mon Jul 22 09:21:15 2013"
      },
      "committer": {
        "name": "Georg Reinke",
        "email": "guelfey@gmail.com",
        "time": "Mon Jul 22 09:21:15 2013"
      },
      "message": "Let Signal and Eavesdrop accept send-only channels\n"
    },
    {
      "commit": "3ec96e9ba0406ee43e77d5e01a02b63de1fe0a93",
      "tree": "de3ef05106133f7274c5a88b1516db7b2f8aa451",
      "parents": [
        "83071d2d66b3b8b79a9e3bfdd26d963c35aff28e"
      ],
      "author": {
        "name": "Georg Reinke",
        "email": "guelfey@gmail.com",
        "time": "Sun Jul 21 17:38:03 2013"
      },
      "committer": {
        "name": "Georg Reinke",
        "email": "guelfey@gmail.com",
        "time": "Sun Jul 21 17:38:03 2013"
      },
      "message": "Allow multiple signal channels to be registered\n"
    },
    {
      "commit": "83071d2d66b3b8b79a9e3bfdd26d963c35aff28e",
      "tree": "61681d999769b6e746d0505af9ba2337959f6736",
      "parents": [
        "b8f9c9a0eae1750d2688c7914df061a841bbe2f5"
      ],
      "author": {
        "name": "Georg Reinke",
        "email": "guelfey@gmail.com",
        "time": "Tue Jun 18 09:54:05 2013"
      },
      "committer": {
        "name": "Georg Reinke",
        "email": "guelfey@gmail.com",
        "time": "Tue Jun 18 09:54:05 2013"
      },
      "message": "Remove Order member from Message\n\nBecause messages bodies are automatically decoded, the byte order is\nonly interesting when encoding messages. Now the byte order is passed\nto the EncodeTo function.\n"
    },
    {
      "commit": "b8f9c9a0eae1750d2688c7914df061a841bbe2f5",
      "tree": "0edd1f9930a6c923d2629de9dfbb72c53da98c51",
      "parents": [
        "77652196efe0415d6a2bd9cc8807cbaf1692fa48"
      ],
      "author": {
        "name": "Georg Reinke",
        "email": "guelfey@gmail.com",
        "time": "Tue Jun 18 09:37:48 2013"
      },
      "committer": {
        "name": "Georg Reinke",
        "email": "guelfey@gmail.com",
        "time": "Tue Jun 18 09:37:48 2013"
      },
      "message": "Fix some errors reported by golint\n"
    },
    {
      "commit": "77652196efe0415d6a2bd9cc8807cbaf1692fa48",
      "tree": "037d2da86d2edb412d75a350f2298730e9c000a5",
      "parents": [
        "117251bacf078b9dca9354961c163f6bb654cc09"
      ],
      "author": {
        "name": "Georg Reinke",
        "email": "guelfey@gmail.com",
        "time": "Thu May 16 10:55:30 2013"
      },
      "committer": {
        "name": "Georg Reinke",
        "email": "guelfey@gmail.com",
        "time": "Thu May 16 10:55:30 2013"
      },
      "message": "Remove comments about hg tip\n"
    },
    {
      "commit": "117251bacf078b9dca9354961c163f6bb654cc09",
      "tree": "5f2ded1aacd5bb1c8b9357af9d1416e7d54d99b5",
      "parents": [
        "18c531daea15a37a3d58c6ea6e0a4a12a1ed186c"
      ],
      "author": {
        "name": "Georg Reinke",
        "email": "guelfey@gmail.com",
        "time": "Thu May 16 09:04:14 2013"
      },
      "committer": {
        "name": "Georg Reinke",
        "email": "guelfey@gmail.com",
        "time": "Thu May 16 09:04:14 2013"
      },
      "message": "Seperate private and shared connections\n\nThis mirrors the API of libdbus. Shared connections as returned by\nSessionBus and SystemBus are already registered and authenticated,\nand should be used in most cases. For private connections obtained with\nDial or NewConn, authentication can be controlled. As a result, Auth and\nHello are exported, and Auth can be passed a list of auth mechanisms to\ntry. The interface for authentication has changed as well.\n\nAlso, the new functions {Session,System}BusPrivate return private\nconnections to the respective message bus.\n\nUpdates #18.\n"
    },
    {
      "commit": "18c531daea15a37a3d58c6ea6e0a4a12a1ed186c",
      "tree": "58aa3da28b59c954ec1c6f7cd1d6586124e2590b",
      "parents": [
        "4cc2ba7d11d6fbfac3e6ca4024a7806c0ba59862"
      ],
      "author": {
        "name": "Georg Reinke",
        "email": "guelfey@gmail.com",
        "time": "Fri May 10 10:19:35 2013"
      },
      "committer": {
        "name": "Georg Reinke",
        "email": "guelfey@gmail.com",
        "time": "Fri May 10 10:19:35 2013"
      },
      "message": "Implement NewConn\n\nStep 1 for fixing #18.\n"
    },
    {
      "commit": "4cc2ba7d11d6fbfac3e6ca4024a7806c0ba59862",
      "tree": "c1fa5de71634026233af9fd6712ed737f281a36a",
      "parents": [
        "68a0ff59e32f8a95238d0fbfccdfd78fd7605789"
      ],
      "author": {
        "name": "Georg Reinke",
        "email": "guelfey@gmail.com",
        "time": "Fri May 10 10:17:32 2013"
      },
      "committer": {
        "name": "Georg Reinke",
        "email": "guelfey@gmail.com",
        "time": "Fri May 10 10:17:32 2013"
      },
      "message": "Adjust package-level documentation\n"
    },
    {
      "commit": "68a0ff59e32f8a95238d0fbfccdfd78fd7605789",
      "tree": "96b0e9f14c878c1369f02fbe819ed5d41ca873c9",
      "parents": [
        "e7b5ecf8c34f22383fcdb21c4de37d067811d894"
      ],
      "author": {
        "name": "Georg Reinke",
        "email": "guelfey@gmail.com",
        "time": "Thu May 09 13:37:53 2013"
      },
      "committer": {
        "name": "Georg Reinke",
        "email": "guelfey@gmail.com",
        "time": "Thu May 09 13:37:53 2013"
      },
      "message": "Replace Encode/Decode with {Encode,Decode}Multi\n"
    },
    {
      "commit": "e7b5ecf8c34f22383fcdb21c4de37d067811d894",
      "tree": "4d3a94326d29bb0845ed7343ec06bdac3376d598",
      "parents": [
        "b52335711a6bf4d4549273a15ed24dbf3412898d"
      ],
      "author": {
        "name": "Georg Reinke",
        "email": "guelfey@gmail.com",
        "time": "Thu May 09 12:27:45 2013"
      },
      "committer": {
        "name": "Georg Reinke",
        "email": "guelfey@gmail.com",
        "time": "Thu May 09 12:27:45 2013"
      },
      "message": "Split variant tests into separate file\n"
    },
    {
      "commit": "b52335711a6bf4d4549273a15ed24dbf3412898d",
      "tree": "025b5bff7342d44a8c038b40ebd16f37772502ed",
      "parents": [
        "74fcd09d2da6b546f0573ceceb04e687a03c8f44"
      ],
      "author": {
        "name": "Georg Reinke",
        "email": "guelfey@gmail.com",
        "time": "Thu May 09 12:06:13 2013"
      },
      "committer": {
        "name": "Georg Reinke",
        "email": "guelfey@gmail.com",
        "time": "Thu May 09 12:06:13 2013"
      },
      "message": "Correct documentation for Export\n"
    },
    {
      "commit": "74fcd09d2da6b546f0573ceceb04e687a03c8f44",
      "tree": "99c97a443d4c43e17afe88657a2a33e2e7ba5a5e",
      "parents": [
        "389769484d894da031f8dd9004ba385457d9be08"
      ],
      "author": {
        "name": "Georg Reinke",
        "email": "guelfey@gmail.com",
        "time": "Thu May 09 11:58:17 2013"
      },
      "committer": {
        "name": "Georg Reinke",
        "email": "guelfey@gmail.com",
        "time": "Thu May 09 11:58:17 2013"
      },
      "message": "Tweak behaviour of the Eavesdrop channel\n\nIf an Eavesdrop channel is registered, all messages will be sent to it.\n"
    },
    {
      "commit": "389769484d894da031f8dd9004ba385457d9be08",
      "tree": "943d5e0f356a20658d0afd251f62e5c1f8874c2f",
      "parents": [
        "b18a1082c8803e418c696c224b7f8122da722e2c"
      ],
      "author": {
        "name": "Georg Reinke",
        "email": "guelfey@gmail.com",
        "time": "Thu May 09 11:11:19 2013"
      },
      "committer": {
        "name": "Georg Reinke",
        "email": "guelfey@gmail.com",
        "time": "Thu May 09 11:36:01 2013"
      },
      "message": "Revise API again\n\n- Rename some functions / methods to be more Go-like.\n- Make (*Conn).Signal take a chan *Signal.\n- Add a Serial method for messages received by eavesdropping.\n"
    },
    {
      "commit": "b18a1082c8803e418c696c224b7f8122da722e2c",
      "tree": "0af5c560e6ab0ccdfd4990ad4e7af9e2a780d90c",
      "parents": [
        "31076572a5408e6db3bb989bd12f47378b16c266"
      ],
      "author": {
        "name": "Georg Reinke",
        "email": "guelfey@gmail.com",
        "time": "Wed May 08 17:53:45 2013"
      },
      "committer": {
        "name": "Georg Reinke",
        "email": "guelfey@gmail.com",
        "time": "Wed May 08 17:53:45 2013"
      },
      "message": "(Signature).Empty(): Handle \"\" correctly\n"
    },
    {
      "commit": "31076572a5408e6db3bb989bd12f47378b16c266",
      "tree": "0064f5d0234099c48b56470c87bd7ff5251e3536",
      "parents": [
        "8677319748d11e603838a4ebfc1904d7d3615b2c"
      ],
      "author": {
        "name": "Georg Reinke",
        "email": "guelfey@gmail.com",
        "time": "Wed May 01 09:54:02 2013"
      },
      "committer": {
        "name": "Georg Reinke",
        "email": "guelfey@gmail.com",
        "time": "Wed May 01 09:54:02 2013"
      },
      "message": "Split proto.go into multiple files\n"
    },
    {
      "commit": "8677319748d11e603838a4ebfc1904d7d3615b2c",
      "tree": "5a423a6447247e5b8e0c34cf914a65dfbcc416f8",
      "parents": [
        "c38f8308ff205a48381f257fc3e9217120bf14d2"
      ],
      "author": {
        "name": "Georg Reinke",
        "email": "guelfey@gmail.com",
        "time": "Wed May 01 09:38:16 2013"
      },
      "committer": {
        "name": "Georg Reinke",
        "email": "guelfey@gmail.com",
        "time": "Wed May 01 09:38:16 2013"
      },
      "message": "Implement variant formatting\n"
    },
    {
      "commit": "c38f8308ff205a48381f257fc3e9217120bf14d2",
      "tree": "97b002841d6f2deb165cebd978a3722639632c8a",
      "parents": [
        "b9b6a7eb83e9437990ebb4973cff79af56bebca1"
      ],
      "author": {
        "name": "Georg Reinke",
        "email": "guelfey@gmail.com",
        "time": "Tue Apr 30 11:59:08 2013"
      },
      "committer": {
        "name": "Georg Reinke",
        "email": "guelfey@gmail.com",
        "time": "Tue Apr 30 11:59:08 2013"
      },
      "message": "Add new tests / benchmarks; reorganize existing ones\n"
    },
    {
      "commit": "b9b6a7eb83e9437990ebb4973cff79af56bebca1",
      "tree": "f4e28023e2c0a6c580175758f29d786a14d96c3f",
      "parents": [
        "17fd7fc5285d63bbd2dd3ac8cc1d8d7d5775fce4"
      ],
      "author": {
        "name": "Georg Reinke",
        "email": "guelfey@gmail.com",
        "time": "Tue Apr 30 09:16:30 2013"
      },
      "committer": {
        "name": "Georg Reinke",
        "email": "guelfey@gmail.com",
        "time": "Tue Apr 30 09:16:30 2013"
      },
      "message": "Add example for signal handling\n"
    },
    {
      "commit": "17fd7fc5285d63bbd2dd3ac8cc1d8d7d5775fce4",
      "tree": "0fca68d5dcb798f8d1814ca363022ca5b2248d2a",
      "parents": [
        "b2dcfec49c662578af8affab902adcfaa81efdeb"
      ],
      "author": {
        "name": "Georg Reinke",
        "email": "guelfey@gmail.com",
        "time": "Mon Apr 29 17:47:43 2013"
      },
      "committer": {
        "name": "Georg Reinke",
        "email": "guelfey@gmail.com",
        "time": "Mon Apr 29 17:47:43 2013"
      },
      "message": "Fix 2 typos\n"
    },
    {
      "commit": "b2dcfec49c662578af8affab902adcfaa81efdeb",
      "tree": "2593c8cbf7f9479cf0f1c68845431f57803d4168",
      "parents": [
        "c064d660d680621b9a4292dfcf907265115f0523"
      ],
      "author": {
        "name": "Georg Reinke",
        "email": "guelfey@gmail.com",
        "time": "Mon Apr 29 17:47:12 2013"
      },
      "committer": {
        "name": "Georg Reinke",
        "email": "guelfey@gmail.com",
        "time": "Mon Apr 29 17:47:12 2013"
      },
      "message": "introspect: Ignore unexported methods for Methods\n"
    },
    {
      "commit": "c064d660d680621b9a4292dfcf907265115f0523",
      "tree": "6362aab9d6da91ccbae0c6014efb3da5ba49437d",
      "parents": [
        "0ab9a0d0f8b6104a014917c60382a05a12bdab37"
      ],
      "author": {
        "name": "Georg Reinke",
        "email": "guelfey@gmail.com",
        "time": "Mon Apr 29 17:43:11 2013"
      },
      "committer": {
        "name": "Georg Reinke",
        "email": "guelfey@gmail.com",
        "time": "Mon Apr 29 17:43:11 2013"
      },
      "message": "prop: Change callback / validation mechanism\n\nSince checking for the validity of incoming Set calls, if needed, must\nbe done synchronously anyway, there\u0027s no reason not to just use a\nfunction that checks the argument for validity and / or serves as a\ncallback to notify of changes.\n"
    },
    {
      "commit": "0ab9a0d0f8b6104a014917c60382a05a12bdab37",
      "tree": "ed261a91d6eb21433a0bce7724dc38e768516997",
      "parents": [
        "dac3c8b44ec99c71e7f49cf597d0643b18380b31"
      ],
      "author": {
        "name": "Georg Reinke",
        "email": "guelfey@gmail.com",
        "time": "Fri Apr 19 17:16:31 2013"
      },
      "committer": {
        "name": "Georg Reinke",
        "email": "guelfey@gmail.com",
        "time": "Fri Apr 19 17:16:31 2013"
      },
      "message": "Report correct signal name\n"
    },
    {
      "commit": "dac3c8b44ec99c71e7f49cf597d0643b18380b31",
      "tree": "3df3509252a76932f69e416825e6cb54b235a4e6",
      "parents": [
        "38409bedcda18fb9960b2f4af8ba794feec3213f"
      ],
      "author": {
        "name": "Georg Reinke",
        "email": "guelfey@gmail.com",
        "time": "Mon Apr 08 15:53:48 2013"
      },
      "committer": {
        "name": "Georg Reinke",
        "email": "guelfey@gmail.com",
        "time": "Mon Apr 08 15:53:48 2013"
      },
      "message": "Send better error message for missing object\n"
    },
    {
      "commit": "38409bedcda18fb9960b2f4af8ba794feec3213f",
      "tree": "e9f1060dc3dc66d66d3e96bd1d8e1c9bde643d86",
      "parents": [
        "9648a1946063c03599523e7ca8e133220668d3a3"
      ],
      "author": {
        "name": "Georg Reinke",
        "email": "guelfey@gmail.com",
        "time": "Mon Apr 08 15:31:40 2013"
      },
      "committer": {
        "name": "Georg Reinke",
        "email": "guelfey@gmail.com",
        "time": "Mon Apr 08 15:31:40 2013"
      },
      "message": "prop: Add Check member to Prop\n\nAlso, change the map argument of New to map[string]map[string]*Prop.\n"
    },
    {
      "commit": "9648a1946063c03599523e7ca8e133220668d3a3",
      "tree": "5d198037a2198af3409dc21b07b14e0d983326a4",
      "parents": [
        "a346d32ba95580fff27097e31083263b40d8e9e2"
      ],
      "author": {
        "name": "Georg Reinke",
        "email": "guelfey@gmail.com",
        "time": "Mon Apr 08 12:59:15 2013"
      },
      "committer": {
        "name": "Georg Reinke",
        "email": "guelfey@gmail.com",
        "time": "Mon Apr 08 12:59:15 2013"
      },
      "message": "prop: Send more context with property change notifications\n\nThis changes the type of the channel passed to prop.New to a new type,\nChange, which carries more information about what was changed so a\nsingle channel can be used for multiple properties.\n"
    },
    {
      "commit": "a346d32ba95580fff27097e31083263b40d8e9e2",
      "tree": "75df8642630ea67854615b83a8f63c7135a39928",
      "parents": [
        "6142a7fc01e4212352da00dc16ec13a185279ea5"
      ],
      "author": {
        "name": "Georg Reinke",
        "email": "guelfey@gmail.com",
        "time": "Mon Apr 08 12:54:45 2013"
      },
      "committer": {
        "name": "Georg Reinke",
        "email": "guelfey@gmail.com",
        "time": "Mon Apr 08 12:54:45 2013"
      },
      "message": "Emit: Check that parameters are valid\n"
    },
    {
      "commit": "6142a7fc01e4212352da00dc16ec13a185279ea5",
      "tree": "d441cf6c78d6fbd9d3eb80038f319fb573558983",
      "parents": [
        "d1ce98e3579cae8027c97556b70f21dcf85904d9"
      ],
      "author": {
        "name": "Georg Reinke",
        "email": "guelfey@gmail.com",
        "time": "Mon Apr 08 12:40:52 2013"
      },
      "committer": {
        "name": "Georg Reinke",
        "email": "guelfey@gmail.com",
        "time": "Mon Apr 08 12:40:52 2013"
      },
      "message": "Handle calls on closed connections better\n\nPreviously, calls on a closed connections would panic, mostly because of\nsends on the closed output channel. Now, a special error is returned if\na connection is already closed. This requires a RWMutex to protect the\nchannel from being closed while a method tries to send to it. It also\nchanges some methods to returns errors.\n"
    },
    {
      "commit": "d1ce98e3579cae8027c97556b70f21dcf85904d9",
      "tree": "927fc76a086887e3dc2fd61b4d0f4ae6154238ff",
      "parents": [
        "7030afa573e8c827dcefd7c861a84f07d48d5a23"
      ],
      "author": {
        "name": "Georg Reinke",
        "email": "guelfey@gmail.com",
        "time": "Sun Apr 07 13:03:24 2013"
      },
      "committer": {
        "name": "Georg Reinke",
        "email": "guelfey@gmail.com",
        "time": "Sun Apr 07 13:03:24 2013"
      },
      "message": "Export InvalidTypeError; don\u0027t panic that often\n"
    },
    {
      "commit": "7030afa573e8c827dcefd7c861a84f07d48d5a23",
      "tree": "23430bbdbb5dc4a1346e3c61b173e5bcddcf36fd",
      "parents": [
        "b00f51e71290c243cd047d5ee6650afba9e01bab"
      ],
      "author": {
        "name": "Georg Reinke",
        "email": "guelfey@gmail.com",
        "time": "Sun Apr 07 12:56:34 2013"
      },
      "committer": {
        "name": "Georg Reinke",
        "email": "guelfey@gmail.com",
        "time": "Sun Apr 07 12:56:34 2013"
      },
      "message": "Implement (*Conn).Unexport\n"
    },
    {
      "commit": "b00f51e71290c243cd047d5ee6650afba9e01bab",
      "tree": "37f68c1035b7e15b189caa9e29eca7dddc4cfe1e",
      "parents": [
        "c298dab443bf3f5a867433df283c6bb920daeb52"
      ],
      "author": {
        "name": "Georg Reinke",
        "email": "guelfey@gmail.com",
        "time": "Thu Apr 04 13:51:48 2013"
      },
      "committer": {
        "name": "Georg Reinke",
        "email": "guelfey@gmail.com",
        "time": "Thu Apr 04 15:18:32 2013"
      },
      "message": "Bunch of performance improvements\n\nRemove needless allocations etc.\n\nbenchmark                         old ns/op    new ns/op    delta\nBenchmarkDecodeMessageSmall           38560        35553   -7.80%\nBenchmarkDecodeMessageBig             73323        71313   -2.74%\nBenchmarkEncodeMessageSmall           25187        15532  -38.33%\nBenchmarkEncodeMessageBig             43526        29788  -31.56%\nBenchmarkGetSignatureLong              1452         1159  -20.18%\n"
    },
    {
      "commit": "c298dab443bf3f5a867433df283c6bb920daeb52",
      "tree": "8811fe1a225a4f2ebe621880173585af692e7497",
      "parents": [
        "93ac2d2f5574106e74ad32fde0a8281c3eb62274"
      ],
      "author": {
        "name": "Georg Reinke",
        "email": "guelfey@gmail.com",
        "time": "Thu Apr 04 12:04:32 2013"
      },
      "committer": {
        "name": "Georg Reinke",
        "email": "guelfey@gmail.com",
        "time": "Thu Apr 04 12:08:04 2013"
      },
      "message": "Speed up alignment lookup\n\nbenchmark                         old ns/op    new ns/op    delta\nBenchmarkDecodeMessageSmall           59660        37788  -36.66%\nBenchmarkDecodeMessageBig            114932        72561  -36.87%\nBenchmarkEncodeMessageSmall           48470        25457  -47.48%\nBenchmarkEncodeMessageBig             85963        43824  -49.02%\n\nThanks, pprof.\n"
    },
    {
      "commit": "93ac2d2f5574106e74ad32fde0a8281c3eb62274",
      "tree": "72fa31fedf0b060a359ded5429744fe8b4b0e86c",
      "parents": [
        "eabf57c3d34a437267c42201464b66be33e64c5d"
      ],
      "author": {
        "name": "Georg Reinke",
        "email": "guelfey@gmail.com",
        "time": "Thu Apr 04 11:46:03 2013"
      },
      "committer": {
        "name": "Georg Reinke",
        "email": "guelfey@gmail.com",
        "time": "Thu Apr 04 11:46:03 2013"
      },
      "message": "Handle method calls that lack an interface\n\nThe specification states that if the interface header is missing for a\nmethod call, but the method name is unique, the method must be called.\nIf the method name is not unique, the behaviour is undefined. We take\nthe easy way out and always call the method on the first interface that\nis found when iterating over the map.\n"
    },
    {
      "commit": "eabf57c3d34a437267c42201464b66be33e64c5d",
      "tree": "0d4e8c3a228f9a68cd5d1cbe052352c2e9a5499f",
      "parents": [
        "de6caad93db2fc9e1ff4c6e05d115a005804a664"
      ],
      "author": {
        "name": "Georg Reinke",
        "email": "guelfey@gmail.com",
        "time": "Thu Apr 04 10:19:45 2013"
      },
      "committer": {
        "name": "Georg Reinke",
        "email": "guelfey@gmail.com",
        "time": "Thu Apr 04 10:19:45 2013"
      },
      "message": "Handle org.freedesktop.DBus.Peer on any path\n\nAlso, document this.\n"
    },
    {
      "commit": "de6caad93db2fc9e1ff4c6e05d115a005804a664",
      "tree": "dceed64e81660f2b5e36951071bde645116411ba",
      "parents": [
        "ac9f006c43edba23b4c19198217551a796366bbc"
      ],
      "author": {
        "name": "Georg Reinke",
        "email": "guelfey@gmail.com",
        "time": "Thu Apr 04 10:04:47 2013"
      },
      "committer": {
        "name": "Georg Reinke",
        "email": "guelfey@gmail.com",
        "time": "Thu Apr 04 10:04:47 2013"
      },
      "message": "Ignore unexported struct fields in Store\n\nAlso, document that unexported fields are ignored for encoding and\ndecoding.\n"
    },
    {
      "commit": "ac9f006c43edba23b4c19198217551a796366bbc",
      "tree": "8aa0489cf49c51a7dee8df48e5743c68560d2717",
      "parents": [
        "76091243379487fbe08256ef5624cd3bbb07316b"
      ],
      "author": {
        "name": "Georg Reinke",
        "email": "guelfey@gmail.com",
        "time": "Thu Apr 04 09:51:29 2013"
      },
      "committer": {
        "name": "Georg Reinke",
        "email": "guelfey@gmail.com",
        "time": "Thu Apr 04 09:52:44 2013"
      },
      "message": "General cleanup\n\n- Make some errors nicer.\n- Remove dead code. (We\u0027re depending on hg tip anyway, so it\u0027s okay to\n  use its features.)\n- Correct the documentation for (*Conn).Send().\n"
    },
    {
      "commit": "76091243379487fbe08256ef5624cd3bbb07316b",
      "tree": "62c9b98609676f3e95b4213418011a7adc4c2d56",
      "parents": [
        "1cf319f0eb9fd23e4f254550f7364f15b09ca9c6"
      ],
      "author": {
        "name": "Georg Reinke",
        "email": "guelfey@gmail.com",
        "time": "Wed Apr 03 17:05:55 2013"
      },
      "committer": {
        "name": "Georg Reinke",
        "email": "guelfey@gmail.com",
        "time": "Wed Apr 03 17:05:55 2013"
      },
      "message": "Mention arrays in the docs\n"
    },
    {
      "commit": "1cf319f0eb9fd23e4f254550f7364f15b09ca9c6",
      "tree": "7645d91ef06240d8a6fe978bc266e6f8413830f8",
      "parents": [
        "430f991ec9f4aac0535cf90ec97552e606c2fc4b"
      ],
      "author": {
        "name": "Georg Reinke",
        "email": "guelfey@gmail.com",
        "time": "Wed Apr 03 16:58:25 2013"
      },
      "committer": {
        "name": "Georg Reinke",
        "email": "guelfey@gmail.com",
        "time": "Wed Apr 03 17:03:16 2013"
      },
      "message": "Append to provided slices when decoding\n"
    },
    {
      "commit": "430f991ec9f4aac0535cf90ec97552e606c2fc4b",
      "tree": "800228f632c89749da80360aa9d43c59711b1ccc",
      "parents": [
        "18ae95c24ea8b45e43b74c6d275b4fba927c294c"
      ],
      "author": {
        "name": "Georg Reinke",
        "email": "guelfey@gmail.com",
        "time": "Wed Apr 03 16:43:31 2013"
      },
      "committer": {
        "name": "Georg Reinke",
        "email": "guelfey@gmail.com",
        "time": "Wed Apr 03 16:43:31 2013"
      },
      "message": "Use provided pointer when decoding into a pointer\n"
    },
    {
      "commit": "18ae95c24ea8b45e43b74c6d275b4fba927c294c",
      "tree": "65adeb78be37a89228f3a717947899783345c7c1",
      "parents": [
        "fce8b6a754064504c1a6296b869b3855c0c78061"
      ],
      "author": {
        "name": "Georg Reinke",
        "email": "guelfey@gmail.com",
        "time": "Wed Apr 03 16:28:14 2013"
      },
      "committer": {
        "name": "Georg Reinke",
        "email": "guelfey@gmail.com",
        "time": "Wed Apr 03 16:31:58 2013"
      },
      "message": "Return correct alignment for maps in alignment()\n\nThis is just for completeness\u0027 sake, since maps were aligned correctly\nanyway as their first element, an uint32, is aligned correctly.\n"
    },
    {
      "commit": "fce8b6a754064504c1a6296b869b3855c0c78061",
      "tree": "bf1c676b7da8b3f98f6d270a60bdbd1a64b8a9a8",
      "parents": [
        "f8a5dbc90057b102c10e17fb76fcd1145e34d0d7"
      ],
      "author": {
        "name": "Georg Reinke",
        "email": "guelfey@gmail.com",
        "time": "Wed Apr 03 14:30:48 2013"
      },
      "committer": {
        "name": "Georg Reinke",
        "email": "guelfey@gmail.com",
        "time": "Wed Apr 03 14:43:09 2013"
      },
      "message": "Add Store function behaving correctly for nested structs\n\nThe new function is a generalized form of (*Call).Store, working not\njust on method calls, but on any slice of interfaces. This function\nhandles nested structs correctly.\n"
    },
    {
      "commit": "f8a5dbc90057b102c10e17fb76fcd1145e34d0d7",
      "tree": "5165c68db340122b2d822677418e61360cc63db6",
      "parents": [
        "4a4a64b2062ab429bf25de20e81cb8a85d2d0bc0"
      ],
      "author": {
        "name": "Georg Reinke",
        "email": "guelfey@gmail.com",
        "time": "Wed Apr 03 12:57:40 2013"
      },
      "committer": {
        "name": "Georg Reinke",
        "email": "guelfey@gmail.com",
        "time": "Wed Apr 03 12:57:40 2013"
      },
      "message": "Convert []interface{} to appropiate structs in (*Call).Store\n"
    },
    {
      "commit": "4a4a64b2062ab429bf25de20e81cb8a85d2d0bc0",
      "tree": "932b53da20c96e158607808cb7d4c5f995234ae8",
      "parents": [
        "ffe274ec7ba483fa747ab24ad5f2aa09a1daf750"
      ],
      "author": {
        "name": "Georg Reinke",
        "email": "guelfey@gmail.com",
        "time": "Tue Apr 02 10:54:31 2013"
      },
      "committer": {
        "name": "Georg Reinke",
        "email": "guelfey@gmail.com",
        "time": "Tue Apr 02 10:54:31 2013"
      },
      "message": "Add more tests and benchmarks\n"
    },
    {
      "commit": "ffe274ec7ba483fa747ab24ad5f2aa09a1daf750",
      "tree": "fca922594a04f354d8ad9cf8cad3674922f3c98c",
      "parents": [
        "753310e7ceecd7a3fe8eed8a932a60c4410fa8d6"
      ],
      "author": {
        "name": "Georg Reinke",
        "email": "guelfey@gmail.com",
        "time": "Mon Apr 01 21:22:09 2013"
      },
      "committer": {
        "name": "Georg Reinke",
        "email": "guelfey@gmail.com",
        "time": "Mon Apr 01 21:22:09 2013"
      },
      "message": "Fix Signature.Values for arrays of complex types\n"
    },
    {
      "commit": "753310e7ceecd7a3fe8eed8a932a60c4410fa8d6",
      "tree": "d4c7ac79791a1ae66b5fa55703f6b806dc9ca0cf",
      "parents": [
        "9e35bac0fa551d7ff07aa3dc624702c608d31038"
      ],
      "author": {
        "name": "Georg Reinke",
        "email": "guelfey@gmail.com",
        "time": "Mon Apr 01 21:19:34 2013"
      },
      "committer": {
        "name": "Georg Reinke",
        "email": "guelfey@gmail.com",
        "time": "Mon Apr 01 21:19:34 2013"
      },
      "message": "Split signature tests to a separate file\n"
    },
    {
      "commit": "9e35bac0fa551d7ff07aa3dc624702c608d31038",
      "tree": "250378b9a8fc6129b008f7dc61dd6bc060cb2c06",
      "parents": [
        "7b6b8b838155daf0a5649385e1db422b2015c456"
      ],
      "author": {
        "name": "Georg Reinke",
        "email": "guelfey@gmail.com",
        "time": "Mon Apr 01 11:37:17 2013"
      },
      "committer": {
        "name": "Georg Reinke",
        "email": "guelfey@gmail.com",
        "time": "Mon Apr 01 11:37:17 2013"
      },
      "message": "prop: Correct introspection data\n"
    },
    {
      "commit": "7b6b8b838155daf0a5649385e1db422b2015c456",
      "tree": "f67f36b8a71554ecdc48dd7c96f6604fd731fc87",
      "parents": [
        "cc0840563a75629bd266057ef0d4f4c1f1c12bc2"
      ],
      "author": {
        "name": "Georg Reinke",
        "email": "guelfey@gmail.com",
        "time": "Mon Apr 01 10:56:28 2013"
      },
      "committer": {
        "name": "Georg Reinke",
        "email": "guelfey@gmail.com",
        "time": "Mon Apr 01 10:56:28 2013"
      },
      "message": "Allow calling methods without giving an interface\n"
    },
    {
      "commit": "cc0840563a75629bd266057ef0d4f4c1f1c12bc2",
      "tree": "a2434ccf829afeee9a1ac36a8c5e79cc35449b6d",
      "parents": [
        "bce3fcee4d73320f84b4b89e09df369845c6f16a"
      ],
      "author": {
        "name": "Georg Reinke",
        "email": "guelfey@gmail.com",
        "time": "Mon Apr 01 10:55:07 2013"
      },
      "committer": {
        "name": "Georg Reinke",
        "email": "guelfey@gmail.com",
        "time": "Mon Apr 01 10:55:07 2013"
      },
      "message": "Improve and correct documentation\n"
    },
    {
      "commit": "bce3fcee4d73320f84b4b89e09df369845c6f16a",
      "tree": "713274c196889b76e594210968ecfb62b240a1f5",
      "parents": [
        "e371a08db3ce1a0f02605bb8cf939a2fb4adddc7"
      ],
      "author": {
        "name": "Georg Reinke",
        "email": "guelfey@gmail.com",
        "time": "Sun Mar 31 22:24:09 2013"
      },
      "committer": {
        "name": "Georg Reinke",
        "email": "guelfey@gmail.com",
        "time": "Sun Mar 31 22:29:20 2013"
      },
      "message": "Rework API for asynchronous calls\n\nSimilar to net/rpc, the new method (*Object).Go calls a method\nasynchronously, taking a channel on which a structure containing the\nresponse will be sent. That way, a single channel can be used for\nmultiple calls.\n\nFixes #17.\n"
    },
    {
      "commit": "e371a08db3ce1a0f02605bb8cf939a2fb4adddc7",
      "tree": "aec1b6f6d3a9b0912e83a966a385057250e649ed",
      "parents": [
        "d268de2cf4006053eac7cf35d2aa19f48f7b2718"
      ],
      "author": {
        "name": "Georg Reinke",
        "email": "guelfey@gmail.com",
        "time": "Sun Mar 31 16:42:41 2013"
      },
      "committer": {
        "name": "Georg Reinke",
        "email": "guelfey@gmail.com",
        "time": "Sun Mar 31 16:42:41 2013"
      },
      "message": "Reuse connections to well-known buses\n\nThis mirrors the behaviour of libdbus. Consequently, ConnectSessionBus\nand ConnectSystemBus are renamed to SessionBus and SystemBus,\nrespectively.\n"
    },
    {
      "commit": "d268de2cf4006053eac7cf35d2aa19f48f7b2718",
      "tree": "dbbe859e46f2bf56f6e0ac09b98f1aed516b49ad",
      "parents": [
        "069d9048833cd04dd082aba1a2078b2f0d1706c5"
      ],
      "author": {
        "name": "Georg Reinke",
        "email": "guelfey@gmail.com",
        "time": "Sat Mar 30 10:46:32 2013"
      },
      "committer": {
        "name": "Georg Reinke",
        "email": "guelfey@gmail.com",
        "time": "Sat Mar 30 11:01:41 2013"
      },
      "message": "Rename Connection to Conn\n\nAlso, rename NewConnection to Dial.\n"
    }
  ],
  "next": "069d9048833cd04dd082aba1a2078b2f0d1706c5"
}
