)]}'
{
  "log": [
    {
      "commit": "7cc8bb085b6f04cbeca7cb77ddb6798fa9725e2f",
      "tree": "55b88a1bafb293b4210bf2de59c8892c0985f8b5",
      "parents": [
        "4b71743b20d0ca155df3414a863a48cb898622c9"
      ],
      "author": {
        "name": "Amin Hassani",
        "email": "ahassani@chromium.org",
        "time": "Mon Jan 14 16:29:47 2019 -0800"
      },
      "committer": {
        "name": "chrome-bot",
        "email": "chrome-bot@chromium.org",
        "time": "Wed Jan 16 01:46:42 2019 -0800"
      },
      "message": "update_engine: Run clang-format on ./ (root directory)\n\nBUG\u003dnone\nTEST\u003dunittest\n\nChange-Id: Ibd075dc7ea9a18e798f612e35725f1c83c112809\nReviewed-on: https://chromium-review.googlesource.com/1409708\nCommit-Ready: Amin Hassani \u003cahassani@chromium.org\u003e\nTested-by: Amin Hassani \u003cahassani@chromium.org\u003e\nReviewed-by: Sen Jiang \u003csenj@chromium.org\u003e\n"
    },
    {
      "commit": "39910dcd1d68987ccee7c3031dc269233a8490bb",
      "tree": "b7569d7ff83b001d244eda59bb2efdee9a6f15ec",
      "parents": [
        "82352f97b4621dbf6af8308ff0b0b17b0968b53a"
      ],
      "author": {
        "name": "Alex Deymo",
        "email": "deymo@google.com",
        "time": "Mon Nov 09 17:04:30 2015 -0800"
      },
      "committer": {
        "name": "Alex Deymo",
        "email": "deymo@google.com",
        "time": "Thu Nov 12 02:17:50 2015 +0000"
      },
      "message": "Split payload application code into a subdirectory.\n\nThis patch splits from the main libupdate_engine code the part that\nis strictly used to download and apply a payload into a new static\nlibrary, moving the code to subdirectories. The new library is divided\nin two subdirectories: common/ and payload_consumer/, and should not\ndepend on other update_engine files outside those two subdirectories.\nThe main difference between those two is that the common/ tools are more\ngeneric and not tied to the payload consumer process, but otherwise they\nare both compiled together.\n\nThere are still dependencies from the new libpayload_consumer library\ninto the main directory files and DBus generated files. Those will be\naddressed in follow up CLs.\n\nBug: 25197634\nTest: FEATURES\u003dtest emerge-link update_engine; `mm` on Brillo.\n\nChange-Id: Id8d0204ea573627e6e26ca9ea17b9592ca95bc23\n"
    },
    {
      "commit": "aea4c1cea20dda7ae7e85fc8924a2d784f70d806",
      "tree": "a8934ac4c258cf942ecc2423fe94f1458acfa64f",
      "parents": [
        "d2956cc4b5c60d3d670eb7bf0f1ba800c8a16d62"
      ],
      "author": {
        "name": "Alex Deymo",
        "email": "deymo@google.com",
        "time": "Wed Aug 19 20:24:43 2015 -0700"
      },
      "committer": {
        "name": "Alex Deymo",
        "email": "deymo@google.com",
        "time": "Wed Aug 19 20:24:43 2015 -0700"
      },
      "message": "Re-license update_engine to Apache2\n\nThis patch automatically replaced the license on all text files from\nChromium OS (BSD style) to AOSP (Apache2), keeping the original year as\na reference.\n\nThe license header was added to .gyp and .gypi files, the NOTICE was\nreplaced with a copy of the Apache2 license and MODULE_LICENSE_* file\nwas updated.\n\nBUG\u003db/23084294\nTEST\u003dgrep \u0027Chromium OS Authors\u0027 doesn\u0027t find anything.\n\nChange-Id: Ie5083750755f5180a8a785b24fe67dbf9195cd10\n"
    },
    {
      "commit": "0b3db6b6040f53eb9859e614f7fe4c681213d33a",
      "tree": "3617cac41c1a518db08491667856e79bd0733bc0",
      "parents": [
        "305345001d85ca2282112c2a30fe75c7a4773491"
      ],
      "author": {
        "name": "Alex Deymo",
        "email": "deymo@chromium.org",
        "time": "Mon Aug 10 15:19:37 2015 -0700"
      },
      "committer": {
        "name": "ChromeOS Commit Bot",
        "email": "chromeos-commit-bot@chromium.org",
        "time": "Fri Aug 14 02:26:00 2015 +0000"
      },
      "message": "update_engine: Remove all references to glib.\n\nThe message loop in production code switched from\nchromeos::GlibMessageLoop to chromeos::BaseMessageLoop used in\nchromeos::Dameon. This patch moves all the unittests also to use\nchromeos::BaseMessageLoop or chromeos::FakeMessageLoop when I/O is not\nrequired.\n\nThis patch removes all (now unused) references to glib.\n\nBUG\u003dchromium:499886\nTEST\u003d`grep glib[^c] . -R` return no results. Also, unittests work.\n\nChange-Id: Iddfb17def501829d932ed1f70faad3e00268898e\nReviewed-on: https://chromium-review.googlesource.com/292157\nTested-by: Alex Deymo \u003cdeymo@chromium.org\u003e\nReviewed-by: Alex Deymo \u003cdeymo@chromium.org\u003e\nCommit-Queue: Alex Deymo \u003cdeymo@chromium.org\u003e\nTrybot-Ready: Alex Deymo \u003cdeymo@chromium.org\u003e\n"
    },
    {
      "commit": "4a0321b804524e001b482edea882bd1fc4af98a2",
      "tree": "896826dca671af3a0cd712ef7aa408349daea04e",
      "parents": [
        "020600db42428e7e96bb0d2e05da225e68650955"
      ],
      "author": {
        "name": "Gilad Arnold",
        "email": "garnold@chromium.org",
        "time": "Tue Oct 28 15:57:30 2014 -0700"
      },
      "committer": {
        "name": "chrome-internal-fetch",
        "email": "chrome-internal-fetch@google.com",
        "time": "Wed Nov 12 02:42:43 2014 +0000"
      },
      "message": "update_engine: Policy determines P2P enabled status.\n\nThis switches the P2P Manager to use the newly introduced Update Manger\npolicy requests in determining whether P2P is enabled on the system.\nThere is a policy request for the initial state (P2PEnabled, sync)  and\nfor tracking changes (P2PEnabledChanged, async), with the latest known\nvalue being cached by the P2P Manager.\n\nThis also reverses a recent change that moved P2P prefs setting into the\nP2PManager. In the absence of any additional logic (now cleared) there\nwas no point in having a dedicated method just for that, and so\ndbus_service writes the prefs value directly. This affords us removing\nthe prefs argument when initializing the P2PManager.\n\nBUG\u003dchromium:425233\nTEST\u003dUnit tests.\n\nChange-Id: I53280f05da8fe532b6502c175a8cc9ddc1e15a87\nReviewed-on: https://chromium-review.googlesource.com/226937\nTested-by: Gilad Arnold \u003cgarnold@chromium.org\u003e\nReviewed-by: David Zeuthen \u003czeuthen@chromium.org\u003e\nCommit-Queue: Gilad Arnold \u003cgarnold@chromium.org\u003e\n"
    },
    {
      "commit": "41f2cf52137dd94ef9115e27ec8729a126edb0ff",
      "tree": "4890647aa814c29ae70ed074decabdd74bf73cc6",
      "parents": [
        "f06b3bbb7e76174de59610f5ca9157708deaadae"
      ],
      "author": {
        "name": "David Zeuthen",
        "email": "zeuthen@chromium.org",
        "time": "Wed Nov 05 12:29:45 2014 -0500"
      },
      "committer": {
        "name": "chrome-internal-fetch",
        "email": "chrome-internal-fetch@google.com",
        "time": "Thu Nov 06 22:17:49 2014 +0000"
      },
      "message": "update_engine: Share payloads for a maximum of five days only.\n\nThis helps limit exposure of what version the device may or may not be\nrunning.\n\nBUG\u003dchromium:424823\nTEST\u003dNew unit test + unit tests pass.\n\nChange-Id: I9db6f8d560e359c2b8a65d1381dc44320ed4b3a1\nReviewed-on: https://chromium-review.googlesource.com/227592\nReviewed-by: Gilad Arnold \u003cgarnold@chromium.org\u003e\nTested-by: David Zeuthen \u003czeuthen@chromium.org\u003e\nCommit-Queue: David Zeuthen \u003czeuthen@chromium.org\u003e\n"
    },
    {
      "commit": "ccd0957b359136aca2d4d5c7728535d8a2e33c51",
      "tree": "48bfa3104b6bd0c8730710bcf87869e81713787a",
      "parents": [
        "560ae1da0e62f7897699f63631452f0c4144d413"
      ],
      "author": {
        "name": "Gilad Arnold",
        "email": "garnold@chromium.org",
        "time": "Mon Oct 27 13:37:50 2014 -0700"
      },
      "committer": {
        "name": "chrome-internal-fetch",
        "email": "chrome-internal-fetch@google.com",
        "time": "Fri Oct 31 04:29:15 2014 +0000"
      },
      "message": "update_engine: Move P2P enabled pref handling into P2PManager.\n\nThis makes the P2PManager own the manipulation of the P2P enabled\nsetting, which positions us better toward moving the decision about\nwhether P2P is enabled from P2PManager and into the UpdateManager. Also\nincreases encapsulation and makes it a bit more resilient.\n\nBUG\u003dchromium:425233\nTEST\u003dUnit tests.\n\nChange-Id: Ic91872df84920ae80c5ef973aee99cc46cac264c\nReviewed-on: https://chromium-review.googlesource.com/225681\nTested-by: Gilad Arnold \u003cgarnold@chromium.org\u003e\nReviewed-by: Gaurav Shah \u003cgauravsh@chromium.org\u003e\nCommit-Queue: Gilad Arnold \u003cgarnold@chromium.org\u003e\n"
    },
    {
      "commit": "88b591f24cb3f94f982d7024c2e8ed25c2cc26a2",
      "tree": "d49741d0b0926c4c387e9d618b990ae89e6d2f8e",
      "parents": [
        "f3e2801f18bae14e41099e007de7c9a019735556"
      ],
      "author": {
        "name": "Alex Vakulenko",
        "email": "avakulenko@chromium.org",
        "time": "Thu Aug 28 16:48:57 2014 -0700"
      },
      "committer": {
        "name": "chrome-internal-fetch",
        "email": "chrome-internal-fetch@google.com",
        "time": "Mon Sep 01 11:05:16 2014 +0000"
      },
      "message": "update_engine: Replace NULL with nullptr\n\nReplaced the usage of NULL with nullptr. This also makes it possible to\nuse standard gtest macros to compare pointers in Update Manager\u0027s unit tests.\nSo, there is no need in custom UMTEST_... macros which are replaced with the\ngtest macros (see change in update_engine/update_manager/umtest_utils.h):\n\nUMTEST_ASSERT_NULL(p)      \u003d\u003e ASSERT_EQ(nullptr, p)\nUMTEST_ASSERT_NOT_NULL(p)  \u003d\u003e ASSERT_NE(nullptr, p)\nUMTEST_EXPECT_NULL(p)      \u003d\u003e EXPECT_EQ(nullptr, p)\nUMTEST_EXPECT_NOT_NULL(p)  \u003d\u003e EXPECT_NE(nullptr, p)\n\nBUG\u003dNone\nTEST\u003dFEATURES\u003dtest emerge-link update_engine\n     USE\u003d\"clang asan\" FEATURES\u003dtest emerge-link update_engine\n\nChange-Id: I77a42a1e9ce992bb2f9f263db5cf75fe6110a4ec\nReviewed-on: https://chromium-review.googlesource.com/215136\nTested-by: Alex Vakulenko \u003cavakulenko@chromium.org\u003e\nReviewed-by: Alex Deymo \u003cdeymo@chromium.org\u003e\nCommit-Queue: Alex Vakulenko \u003cavakulenko@chromium.org\u003e\n"
    },
    {
      "commit": "cf175a098081f3f0e9ca52d997a7ce1585c14c2d",
      "tree": "2d3dc5048c3a578c3cabf1839d58b3a8d78b3060",
      "parents": [
        "a1eabcdc93d118146639139257c2f5ccc3ffb061"
      ],
      "author": {
        "name": "Gilad Arnold",
        "email": "garnold@chromium.org",
        "time": "Thu Jul 10 16:48:47 2014 -0700"
      },
      "committer": {
        "name": "chrome-internal-fetch",
        "email": "chrome-internal-fetch@google.com",
        "time": "Fri Jul 11 18:54:57 2014 +0000"
      },
      "message": "Fix cpplint errors.\n\nThe only non-obvious change here is the switch from dynamic_cast to\nstatic_cast in three cases of down-casting in UpdateAttempter.\ndynamic_cast is banned by style, nor does it add any safety in this\nparticular case (subsequent code dereferences the result right away\nwithout checking whether it\u0027s null).\n\nBUG\u003dNone\nTEST\u003dNone\n\nChange-Id: I9d49b46362feaf9c6fa13b2715ebe9fe50308a9a\nReviewed-on: https://chromium-review.googlesource.com/207470\nTested-by: Gilad Arnold \u003cgarnold@chromium.org\u003e\nReviewed-by: Alex Vakulenko \u003cavakulenko@chromium.org\u003e\nCommit-Queue: Gilad Arnold \u003cgarnold@chromium.org\u003e\n"
    },
    {
      "commit": "d2779df63aaad8b65fc5d4badee7dbc9bed7f2b6",
      "tree": "e34a511ee4068d8d9cd46a992a4e147f3afbd351",
      "parents": [
        "b683327ed3f50ef89324069fc87ee076b65bee46"
      ],
      "author": {
        "name": "Alex Vakulenko",
        "email": "avakulenko@chromium.org",
        "time": "Mon Jun 16 13:19:00 2014 -0700"
      },
      "committer": {
        "name": "chrome-internal-fetch",
        "email": "chrome-internal-fetch@google.com",
        "time": "Wed Jun 18 01:39:59 2014 +0000"
      },
      "message": "update_engine: fixed warnings from cpplint\n\nFixed all the cpplint warnings in update engine.\n\nBUG\u003dNone\nTEST\u003dUnit tests still pass.\n\nChange-Id: I285ae858eec8abe0b26ff203b99a42a200ceb71c\nReviewed-on: https://chromium-review.googlesource.com/204027\nReviewed-by: Alex Vakulenko \u003cavakulenko@chromium.org\u003e\nTested-by: Alex Vakulenko \u003cavakulenko@chromium.org\u003e\nCommit-Queue: Alex Vakulenko \u003cavakulenko@chromium.org\u003e\n"
    },
    {
      "commit": "75039d7397f03dff77bdf4e26398049ff88edc4c",
      "tree": "a1403721dd45f801d8d95bbbcc612a71bdbb4483",
      "parents": [
        "032e772f76a6cd0b4caf1af7bd02dd81af2dc7dd"
      ],
      "author": {
        "name": "Alex Vakulenko",
        "email": "avakulenko@chromium.org",
        "time": "Tue Mar 25 12:36:28 2014 -0700"
      },
      "committer": {
        "name": "chrome-internal-fetch",
        "email": "chrome-internal-fetch@google.com",
        "time": "Thu Mar 27 18:45:11 2014 +0000"
      },
      "message": "update_engine: update to libbase 242728\n\nMade update_engine link with libchrome-242728 and fixed compile\nissues due to changes in namespaces and include file layout.\n\nAlso removed some of suppressed compiler warnings and fixed the\nissues masked by them (e.g. mismatched printf-like specifiers).\n\nAdded -Wextra compiler option to enable additional useful warnings\nto ensure more strict checking... Had to disable \"unused-parameter\"\nthough since we have a lot of functions (mainly in fakes) that do\nnot use all of their parameters.\n\nBUG\u003dchromium:351593\nTEST\u003dUnit tests passed.\nCQ-DEPEND\u003dCL:191721\n\nChange-Id: I1aa63a48d5f1f4ea75ba6b00aec7aa5f3bad15c4\nReviewed-on: https://chromium-review.googlesource.com/191510\nReviewed-by: Alex Vakulenko \u003cavakulenko@chromium.org\u003e\nCommit-Queue: Alex Vakulenko \u003cavakulenko@chromium.org\u003e\nTested-by: Alex Vakulenko \u003cavakulenko@chromium.org\u003e\n"
    },
    {
      "commit": "759c275760b51defcfe5545abb887ad2616335f4",
      "tree": "ff903f6650db5026605d7afdaec5cc9cd43b7ef7",
      "parents": [
        "af309d513504683bbcfb0bfac71652999845555f"
      ],
      "author": {
        "name": "Alex Deymo",
        "email": "deymo@chromium.org",
        "time": "Mon Mar 17 21:09:36 2014 -0700"
      },
      "committer": {
        "name": "chrome-internal-fetch",
        "email": "chrome-internal-fetch@google.com",
        "time": "Wed Mar 19 20:19:48 2014 +0000"
      },
      "message": "Fix header guards to comply with Google Coding Style.\n\nThe Google Style Guide says that every header file should have a\ndefine guard and the format of the symbol name should be\n  \u003cPROJECT\u003e_\u003cPATH\u003e_\u003cFILE\u003e_H_\n\nThis patch does all the minor fixes to comply with this and includes\na header guard for the bzip.h file, which didn\u0027t have it.\n\nAlso, the Copyright notice is adjusted to the Chromium OS code,\nreplacing \"Chromium Authors\" by \"Chromium OS Authors\".\n\nBUG\u003dNone\nTEST\u003dbuild passes.\n\nChange-Id: I6575cc307c464d60a5cb2b132cf1e46acb6500b5\nReviewed-on: https://chromium-review.googlesource.com/190445\nTested-by: Alex Deymo \u003cdeymo@chromium.org\u003e\nReviewed-by: Don Garrett \u003cdgarrett@chromium.org\u003e\nCommit-Queue: Alex Deymo \u003cdeymo@chromium.org\u003e\n"
    },
    {
      "commit": "92d9c8bc5cd418e34944d6fc4bae44e3b4370246",
      "tree": "b6125115b2d9a5e34944cc5bcb4910c18fe7b8de",
      "parents": [
        "0f5135106b59d46f134a7149305f2b8228103cf9"
      ],
      "author": {
        "name": "David Zeuthen",
        "email": "zeuthen@chromium.org",
        "time": "Wed Sep 11 10:58:11 2013 -0700"
      },
      "committer": {
        "name": "chrome-internal-fetch",
        "email": "chrome-internal-fetch@google.com",
        "time": "Mon Sep 16 19:38:54 2013 +0000"
      },
      "message": "Also use DevicePolicy::GetAuP2PEnabled() to determine if p2p is enabled\n\nWith this change update_engine will use p2p either if the user has\nmanually enabled it (through the crosh flag) OR if the enterprise has\nenabled it in Enterprise Policy.\n\nBUG\u003dchromium:260442\nTEST\u003dNew unit tests + unit tests pass.\n\nChange-Id: I54cd92c481bd2fd7c90232d7137ce2b37fa2ce61\nReviewed-on: https://chromium-review.googlesource.com/168950\nReviewed-by: Chris Sosa \u003csosa@chromium.org\u003e\nCommit-Queue: David Zeuthen \u003czeuthen@chromium.org\u003e\nTested-by: David Zeuthen \u003czeuthen@chromium.org\u003e\n"
    },
    {
      "commit": "27a48bc3f2531166370c214f7a21e17fb1fc7af1",
      "tree": "d333676b3c1f26adf95689d3e38525f246fd3e82",
      "parents": [
        "968d057f7a37bc981e2a732fb07521cfc8dcb16a"
      ],
      "author": {
        "name": "David Zeuthen",
        "email": "zeuthen@chromium.org",
        "time": "Tue Aug 06 12:06:29 2013 -0700"
      },
      "committer": {
        "name": "chrome-internal-fetch",
        "email": "chrome-internal-fetch@google.com",
        "time": "Tue Aug 27 23:19:55 2013 +0000"
      },
      "message": "p2p: Add P2PManager class\n\nThis class makes it simple to use p2p both as a client and a server.\n\nFor now, this feature is hidden behind a flag. The intent is that this\nflag can be toggled with the crosh command - for now, only the reading\nof the flag is implemented - see chromium:260441 for the remaining\nwork.\n\nBUG\u003dchromium:260426,chromium:260441\nTEST\u003dNew unit tests + unit tests pass\nChange-Id: If1879f4535c8e7e3af7c6d378e6df4054264b794\nReviewed-on: https://chromium-review.googlesource.com/64824\nReviewed-by: David Zeuthen \u003czeuthen@chromium.org\u003e\nCommit-Queue: David Zeuthen \u003czeuthen@chromium.org\u003e\nTested-by: David Zeuthen \u003czeuthen@chromium.org\u003e\n"
    }
  ]
}
