)]}'
{
  "log": [
    {
      "commit": "e9c162e816676f1f903cb7abcb1e8357601166cd",
      "tree": "bd9706f741fdf2b75ca923e12d4aaa4bb78d1c8e",
      "parents": [
        "7467ef33701f7430270db46c2cfe286805fd47a3",
        "c500b2687d2e86dc2b0d8c0b4803195a1e3c496d"
      ],
      "author": {
        "name": "Daniele Sassoli",
        "email": "danielesassoli@gmail.com",
        "time": "Tue Mar 17 12:17:59 2026 +0000"
      },
      "committer": {
        "name": "Daniele Sassoli",
        "email": "danielesassoli@gmail.com",
        "time": "Tue Mar 17 12:18:01 2026 +0000"
      },
      "message": "Merge branch \u0027stable-3.13\u0027\n\n* stable-3.13:\n  Handle annotated tag updates in shared ref logging\n\nChange-Id: Ic1edcd28575d53cfd00265cba3dfce49470d6ec0\n"
    },
    {
      "commit": "c500b2687d2e86dc2b0d8c0b4803195a1e3c496d",
      "tree": "bd9706f741fdf2b75ca923e12d4aaa4bb78d1c8e",
      "parents": [
        "d4893e9740eeb13f2ce84fa4b5a6801d57928b42",
        "debc0f3a4f09de4456e04a13d962e4ba6e927b7c"
      ],
      "author": {
        "name": "Daniele Sassoli",
        "email": "danielesassoli@gmail.com",
        "time": "Tue Mar 17 12:17:19 2026 +0000"
      },
      "committer": {
        "name": "Daniele Sassoli",
        "email": "danielesassoli@gmail.com",
        "time": "Tue Mar 17 12:17:23 2026 +0000"
      },
      "message": "Merge branch \u0027stable-3.12\u0027 into stable-3.13\n\n* stable-3.12:\n  Handle annotated tag updates in shared ref logging\n\nChange-Id: Id84540791eb1bc6a086d7b473ce8d6e56014d69b\n"
    },
    {
      "commit": "debc0f3a4f09de4456e04a13d962e4ba6e927b7c",
      "tree": "62d78f2d6dfcd5eca30801348c91c0023c65cd56",
      "parents": [
        "25a96c5e43f8c4e638e38c0f8e2b1a92c14f5843",
        "790d4dff5cb21b17e21d4705f3c733c910c8a62e"
      ],
      "author": {
        "name": "Daniele Sassoli",
        "email": "danielesassoli@gmail.com",
        "time": "Mon Mar 16 18:06:40 2026 +0000"
      },
      "committer": {
        "name": "Daniele Sassoli",
        "email": "danielesassoli@gmail.com",
        "time": "Mon Mar 16 18:06:49 2026 +0000"
      },
      "message": "Merge branch \u0027stable-3.11\u0027 into stable-3.12\n\n* stable-3.11:\n  Handle annotated tag updates in shared ref logging\n\nChange-Id: Ie523866a873490f7e45bde36742f8c80b0c3de64\n"
    },
    {
      "commit": "790d4dff5cb21b17e21d4705f3c733c910c8a62e",
      "tree": "0c572db4fb04a05c8986bd9b8910edd0616294eb",
      "parents": [
        "cc5b33025fe397dc76574e4fa97f6a303cb8be4f",
        "5aaa7165f89c167ca76a8ff18707d38eb55132cd"
      ],
      "author": {
        "name": "Daniele Sassoli",
        "email": "danielesassoli@gmail.com",
        "time": "Mon Mar 16 18:05:37 2026 +0000"
      },
      "committer": {
        "name": "Daniele Sassoli",
        "email": "danielesassoli@gmail.com",
        "time": "Mon Mar 16 18:05:40 2026 +0000"
      },
      "message": "Merge branch \u0027stable-3.10\u0027 into stable-3.11\n\n* stable-3.10:\n  Handle annotated tag updates in shared ref logging\n\nChange-Id: Ib59e1658582ab668caab135514657c34b2735a5b\n"
    },
    {
      "commit": "5aaa7165f89c167ca76a8ff18707d38eb55132cd",
      "tree": "6f789379084dd59170c21c7415c73287df0a2aed",
      "parents": [
        "c47560dd4c50440e000a69d0115c3e58c7acccae",
        "e5361d5b7533616a79dc1077005bcfe19e18a544"
      ],
      "author": {
        "name": "Daniele Sassoli",
        "email": "danielesassoli@gmail.com",
        "time": "Mon Mar 16 18:04:46 2026 +0000"
      },
      "committer": {
        "name": "Daniele Sassoli",
        "email": "danielesassoli@gmail.com",
        "time": "Mon Mar 16 18:04:50 2026 +0000"
      },
      "message": "Merge branch \u0027stable-3.9\u0027 into stable-3.10\n\n* stable-3.9:\n  Handle annotated tag updates in shared ref logging\n\nChange-Id: I90753712a1cac8869ca35d76706b97f85a70bc5b\n"
    },
    {
      "commit": "e5361d5b7533616a79dc1077005bcfe19e18a544",
      "tree": "3392d9fdfcd2697a09f2f58c0c9c48b6cbe2af4f",
      "parents": [
        "08a2f269ed71031584e41efb4fdbfb6659c4520b",
        "cb5ea190beac51b008588c852ffe817be01ef41c"
      ],
      "author": {
        "name": "Daniele Sassoli",
        "email": "danielesassoli@gmail.com",
        "time": "Mon Mar 16 17:09:23 2026 +0000"
      },
      "committer": {
        "name": "Daniele Sassoli",
        "email": "danielesassoli@gmail.com",
        "time": "Mon Mar 16 17:10:04 2026 +0000"
      },
      "message": "Merge branch \u0027stable-3.8\u0027 into stable-3.9\n\n* stable-3.8:\n  Handle annotated tag updates in shared ref logging\n\nChange-Id: I5ac4808a2f9afa6eddef92e1553bd4d9958b4527\n"
    },
    {
      "commit": "cb5ea190beac51b008588c852ffe817be01ef41c",
      "tree": "c2d18b54e6874a4c5e1fdaef654a831df06c9a07",
      "parents": [
        "6b5509373135b01f996347858a6557f3820bfc1d",
        "ddbe11bf9e99185b7a02ccfdb211d08e3c580a59"
      ],
      "author": {
        "name": "Daniele Sassoli",
        "email": "danielesassoli@gmail.com",
        "time": "Mon Mar 16 15:34:39 2026 +0000"
      },
      "committer": {
        "name": "Daniele Sassoli",
        "email": "danielesassoli@gmail.com",
        "time": "Mon Mar 16 15:37:48 2026 +0000"
      },
      "message": "Merge branch \u0027stable-3.7\u0027 into stable-3.8\n\n* stable-3.7:\n  Handle annotated tag updates in shared ref logging\n\nChange-Id: Idf8714325b5ac07f345c37064d15da2b7bd4d8c0\n"
    },
    {
      "commit": "ddbe11bf9e99185b7a02ccfdb211d08e3c580a59",
      "tree": "f64a7178dec6399bea191be7abd4672b0e22cbf6",
      "parents": [
        "6284b289edf28522c937acfcc62b011666e88252"
      ],
      "author": {
        "name": "Daniele Sassoli",
        "email": "danielesassoli@gmail.com",
        "time": "Mon Mar 09 12:40:54 2026 +0000"
      },
      "committer": {
        "name": "Luca Milanesio",
        "email": "luca.milanesio@gmail.com",
        "time": "Thu Mar 12 23:15:40 2026 +0000"
      },
      "message": "Handle annotated tag updates in shared ref logging\n\nLogging annotated tag updates in the sharedrefdb_log used to fail\nwith IncorrectObjectTypeException simply because we didn\u0027t consider\nlogging tags.\n\nAdd tags as a valid object type when logging to sharedref_log\n\nBug: Issue 343801369\nChange-Id: I22f19519f30db19e6bae0581090960fd1e1377ca\n(cherry picked from commit 7467ef33701f7430270db46c2cfe286805fd47a3)\n"
    },
    {
      "commit": "7467ef33701f7430270db46c2cfe286805fd47a3",
      "tree": "bd9706f741fdf2b75ca923e12d4aaa4bb78d1c8e",
      "parents": [
        "d4893e9740eeb13f2ce84fa4b5a6801d57928b42"
      ],
      "author": {
        "name": "Daniele Sassoli",
        "email": "danielesassoli@gmail.com",
        "time": "Mon Mar 09 12:40:54 2026 +0000"
      },
      "committer": {
        "name": "Daniele Sassoli",
        "email": "danielesassoli@gmail.com",
        "time": "Tue Mar 10 15:30:17 2026 +0000"
      },
      "message": "Handle annotated tag updates in shared ref logging\n\nLogging annotated tag updates in the sharedrefdb_log used to fail\nwith IncorrectObjectTypeException simply because we didn\u0027t consider\nlogging tags.\n\nAdd tags as a valid object type when logging to sharedref_log\n\nBug: Issue 343801369\nChange-Id: I22f19519f30db19e6bae0581090960fd1e1377ca\n"
    },
    {
      "commit": "d4893e9740eeb13f2ce84fa4b5a6801d57928b42",
      "tree": "a051004fad256d4498603f902ca0245da1d8e673",
      "parents": [
        "4eb7ca53bc9b16e77a067550bd57105b10b05ebf",
        "25a96c5e43f8c4e638e38c0f8e2b1a92c14f5843"
      ],
      "author": {
        "name": "Luca Milanesio",
        "email": "luca.milanesio@gmail.com",
        "time": "Mon Aug 04 21:56:22 2025 +0100"
      },
      "committer": {
        "name": "Luca Milanesio",
        "email": "luca.milanesio@gmail.com",
        "time": "Mon Aug 04 21:56:22 2025 +0100"
      },
      "message": "Merge branch \u0027stable-3.12\u0027\n\n* stable-3.12:\n  Fix rollback implementation\n\nChange-Id: I60efdbe7726025136decdef792f7543aace16829\n"
    },
    {
      "commit": "25a96c5e43f8c4e638e38c0f8e2b1a92c14f5843",
      "tree": "0d17091b5ca022b6f601ca86e78d72bc3f8c79b0",
      "parents": [
        "200492227a9d67e275fb315f79374d37be5600e9",
        "cc5b33025fe397dc76574e4fa97f6a303cb8be4f"
      ],
      "author": {
        "name": "Luca Milanesio",
        "email": "luca.milanesio@gmail.com",
        "time": "Mon Aug 04 21:56:03 2025 +0100"
      },
      "committer": {
        "name": "Luca Milanesio",
        "email": "luca.milanesio@gmail.com",
        "time": "Mon Aug 04 21:56:03 2025 +0100"
      },
      "message": "Merge branch \u0027stable-3.11\u0027 into stable-3.12\n\n* stable-3.11:\n  Fix rollback implementation\n\nChange-Id: I9a67583e25c36df84a80eb54d427a602c1995255\n"
    },
    {
      "commit": "cc5b33025fe397dc76574e4fa97f6a303cb8be4f",
      "tree": "471e7fcecf6d5d244ff180f737aceec13a57f427",
      "parents": [
        "7d53fba158464395f2eabc9b386bbbe25d0643ff",
        "c47560dd4c50440e000a69d0115c3e58c7acccae"
      ],
      "author": {
        "name": "Luca Milanesio",
        "email": "luca.milanesio@gmail.com",
        "time": "Mon Aug 04 21:55:34 2025 +0100"
      },
      "committer": {
        "name": "Luca Milanesio",
        "email": "luca.milanesio@gmail.com",
        "time": "Mon Aug 04 21:55:34 2025 +0100"
      },
      "message": "Merge branch \u0027stable-3.10\u0027 into stable-3.11\n\n* stable-3.10:\n  Fix rollback implementation\n\nChange-Id: I8125447a374f170066b4c32c13352dbee430b602\n"
    },
    {
      "commit": "c47560dd4c50440e000a69d0115c3e58c7acccae",
      "tree": "019331d212aa4ef2bda47b5933a23d7a43cf9a45",
      "parents": [
        "dbc4eed6f8f2455a6146da8567177de511feba8d"
      ],
      "author": {
        "name": "Antonio Barone",
        "email": "syntonyze@gmail.com",
        "time": "Fri Aug 01 22:14:12 2025 +0300"
      },
      "committer": {
        "name": "Antonio Barone",
        "email": "syntonyze@gmail.com",
        "time": "Mon Aug 04 18:41:03 2025 +0300"
      },
      "message": "Fix rollback implementation\n\nWhen executing the rollback of a newly created ref due to a global-refdb\nfailure or misalignment, the global-refdb might have persisted loose\nrefs pointing to the zero-id rather than removing the ref itself.\n\nAdd a logic in the rollback strategy that checks whether the new\nobjectId is the zeroId and perform a delete instead.\n\nBug: Issue 435473094\nChange-Id: Ieff087d27b4e361ab6310fa611c79c733455232f\n"
    },
    {
      "commit": "4eb7ca53bc9b16e77a067550bd57105b10b05ebf",
      "tree": "73103222f03ebf60e9c6aeb1a2268dfa2a9711f4",
      "parents": [
        "c61b0fec96ce3562eb3e2002399412f42916abcc"
      ],
      "author": {
        "name": "Wendy",
        "email": "wendy.wang10@sap.com",
        "time": "Wed Jul 16 14:38:29 2025 +0200"
      },
      "committer": {
        "name": "Wendy Wen Wang",
        "email": "wendy.wang10@sap.com",
        "time": "Sat Jul 26 07:18:59 2025 -0700"
      },
      "message": "Remove legacy EnforcementRules\n\nChange-Id: Ia635746e3ccf148c68b2ee1f6ed2d35e69b01317\n"
    },
    {
      "commit": "c61b0fec96ce3562eb3e2002399412f42916abcc",
      "tree": "798a89fd3ebeac6623181691b9ff5f4506478ce3",
      "parents": [
        "b912fa8f525423b0c9fcfc12580c4a11064fa14b"
      ],
      "author": {
        "name": "Wendy",
        "email": "wendy.wang10@sap.com",
        "time": "Fri Jul 18 11:13:42 2025 +0200"
      },
      "committer": {
        "name": "Wendy",
        "email": "wendy.wang10@sap.com",
        "time": "Fri Jul 25 14:00:05 2025 +0200"
      },
      "message": "Projects cannot be in multiple ref storage configurations\n\nPrevent projects from being assigned to multiple storage config\ncategories (storeAllRefs, storeMutableRefs, storeNoRefs). Avoids\nambiguity in policy enforcement by validating that each project\nappears in at most one configuration. Exception thrown at startup\nif overlap detected.\n\nChange-Id: I3a726ea985c47dc6fd48369aa4f174a9cdd04ee9\n"
    },
    {
      "commit": "b912fa8f525423b0c9fcfc12580c4a11064fa14b",
      "tree": "75e4125ca3e33a483c486816838017687b1d279b",
      "parents": [
        "19a2e2402ab4654980c486835550b39e3d2bb365"
      ],
      "author": {
        "name": "Wendy",
        "email": "wendy.wang10@sap.com",
        "time": "Fri Jul 18 10:38:35 2025 +0200"
      },
      "committer": {
        "name": "Wendy Wen Wang",
        "email": "wendy.wang10@sap.com",
        "time": "Thu Jul 24 02:58:12 2025 -0700"
      },
      "message": "Prioritize per-project over global ref storage settings\n\nPriority order is storeNoRefs -\u003e storeMutableRefs -\u003e storeAllRefs\n\nChange-Id: Ib32f61e942734b9d190213a632105dccba8bc502\n"
    },
    {
      "commit": "19a2e2402ab4654980c486835550b39e3d2bb365",
      "tree": "2e3c5f49b1d02ed8a4c4124bf2544195c45796a1",
      "parents": [
        "c13a4b5ecd1d7be14ec928c33e65d979f06eb131"
      ],
      "author": {
        "name": "Wendy",
        "email": "wendy.wang10@sap.com",
        "time": "Tue Jul 15 14:49:20 2025 +0200"
      },
      "committer": {
        "name": "Wendy",
        "email": "wendy.wang10@sap.com",
        "time": "Thu Jul 24 11:53:38 2025 +0200"
      },
      "message": "Add StoreMutableRefs as label for default behavior\n\nThis enables people to make exceptions if they want to store all\nrefs for all projects except one, which they want to maintain\ndefault behavior in, such as:\n\n```\n[ref-database \"storeAllRefs\"]\n  project \u003d *\n[ref-database \"storeMutableRefs\"]\n  project \u003d X\n```\n\nChange-Id: I2f3504aca354341dc64866df51770fcc2988318d\n"
    },
    {
      "commit": "c13a4b5ecd1d7be14ec928c33e65d979f06eb131",
      "tree": "11af0a0425e16803b33b3efec65ee8837cce96f4",
      "parents": [
        "a8cfe863a7bbb1af9baabef7877822626ae72952"
      ],
      "author": {
        "name": "Wendy",
        "email": "wendy.wang10@sap.com",
        "time": "Fri Jul 18 11:22:14 2025 +0200"
      },
      "committer": {
        "name": "Wendy Wen Wang",
        "email": "wendy.wang10@sap.com",
        "time": "Fri Jul 18 02:22:33 2025 -0700"
      },
      "message": "Fix incorrect docstring\n\nChange-Id: I08440be15b6c8e8ace48734d0e1f285a8a309c70\n"
    },
    {
      "commit": "a8cfe863a7bbb1af9baabef7877822626ae72952",
      "tree": "44cd88f1bc4da4f0fc624214b2e7539212b70fb7",
      "parents": [
        "20e97c4a372b6bda08eeea31057ed448181278e7"
      ],
      "author": {
        "name": "Wendy Wang",
        "email": "wendy.wang10@sap.com",
        "time": "Wed May 15 16:46:54 2024 +0200"
      },
      "committer": {
        "name": "Wendy",
        "email": "wendy.wang10@sap.com",
        "time": "Thu May 08 13:05:10 2025 +0200"
      },
      "message": "New Enforcement Configuration: storeAllRefs/storeNoRefs\n\nDefault behavior maintained - draft comments, cache-automerge\nrefs, and immutable non-meta refs not stored by default.\n\nNoted deprecation of EnforcementRules in config documentation\n\nFor projects in `storeAllRefs`, all refs including the above\nwill be stored. For projects in `storeNoRefs`, no refs will be\nstored. `storeNoRefs` will be processed before `storeAllRefs`,\na project matched in both will not be stored.\n\nExample to store all refs for all projects:\n```\n[ref-database \"storeAllRefs\"]\n  project \u003d *\n```\n\nExample to store all refs for projects except X and Y:\n```\n[ref-database \"storeAllRefs\"]\n  project \u003d *\n[ref-database \"storeNoRefs\"]\n  project \u003d X\n  project \u003d Y\n```\n\nThis simplifies the code base significantly while fulfilling\nexisting use cases.\n\nChange-Id: I33a07f41c6c4fdffc177152da7a253b7b87d9d03\n"
    },
    {
      "commit": "20e97c4a372b6bda08eeea31057ed448181278e7",
      "tree": "b4514454532672e5d09a80cd71352e4191de0839",
      "parents": [
        "b7882fd22ea538db1ad2fa233aa4b3fa40df13aa"
      ],
      "author": {
        "name": "Wendy Wang",
        "email": "wendy.wang10@sap.com",
        "time": "Fri Jul 19 10:57:34 2024 +0200"
      },
      "committer": {
        "name": "Wendy Wen Wang",
        "email": "wendy.wang10@sap.com",
        "time": "Tue May 06 23:12:05 2025 -0700"
      },
      "message": "Deprecate SharedRefEnforcement\n\nAccording to discussion in [1].\n\nUsing [2] as reference where the old deprecated implementation CredentialsFactory was moved to LegacyCredentialsFactory we move the old deprecated implementation to LegacySharedRefEnforcement to enable implementing the new simplified policy in SharedRefEnforcement in the next change.\n\n[1] https://gerrit-review.googlesource.com/c/modules/global-refdb/+/425506/47\n[2] https://gerrit-review.googlesource.com/c/plugins/replication/+/429897\n\nChange-Id: I97c30621318d025f89315ec343f9315e51f9638e\n"
    },
    {
      "commit": "b7882fd22ea538db1ad2fa233aa4b3fa40df13aa",
      "tree": "a963b6bd89de696b17c13ae50736547d2cb07ccc",
      "parents": [
        "200492227a9d67e275fb315f79374d37be5600e9"
      ],
      "author": {
        "name": "Wendy",
        "email": "wnd.w.wng@gmail.com",
        "time": "Mon May 05 14:17:46 2025 +0200"
      },
      "committer": {
        "name": "Wendy Wen Wang",
        "email": "wendy.wang10@sap.com",
        "time": "Mon May 05 05:22:02 2025 -0700"
      },
      "message": "Fix Logger Test for updated Gerrit SystemLog\n\nFixes test failing due to constructor change:\nhttps://gerrit-review.googlesource.com/c/gerrit/+/452567\n\nChange-Id: I3296876c859e23040bda52b0bd8b1391e8b96410\n"
    },
    {
      "commit": "200492227a9d67e275fb315f79374d37be5600e9",
      "tree": "fe9edc44c25cabaf9c6e09e2e5e63b93eaf2dbe4",
      "parents": [
        "488eebac8aa71c52ac1fbe2e8acc283ec6a87a76",
        "7d53fba158464395f2eabc9b386bbbe25d0643ff"
      ],
      "author": {
        "name": "Luca Milanesio",
        "email": "luca.milanesio@gmail.com",
        "time": "Mon Mar 24 11:46:26 2025 +0000"
      },
      "committer": {
        "name": "Luca Milanesio",
        "email": "luca.milanesio@gmail.com",
        "time": "Mon Mar 24 07:57:17 2025 -0700"
      },
      "message": "Merge branch \u0027stable-3.11\u0027\n\n* stable-3.11:\n  Move DisabledSharedRefLogger into the library\n  Introduce local-refdb locking facility\n  Remove unneeded @Inject in LockWrapper\n  Remove unused LockWrapper.Factory\n  Add sentinel to prevent out of sync with global-refdb\n  Verify global-refdb formatting using GJF 1.7\n  Log lock acquisition only after is successful\n  Log lock releases\n\nChange-Id: Ie7478c622b846dd51de136fff1940fc464787333\n"
    },
    {
      "commit": "7d53fba158464395f2eabc9b386bbbe25d0643ff",
      "tree": "5a0192227d0789cdf699b5a33bb0b3e00972d003",
      "parents": [
        "af2d2b1cd1cf3c11227f9dd9ea891fedc1df7f54",
        "dbc4eed6f8f2455a6146da8567177de511feba8d"
      ],
      "author": {
        "name": "Luca Milanesio",
        "email": "luca.milanesio@gmail.com",
        "time": "Sat Mar 22 09:44:36 2025 +0000"
      },
      "committer": {
        "name": "Luca Milanesio",
        "email": "luca.milanesio@gmail.com",
        "time": "Mon Mar 24 11:41:34 2025 +0000"
      },
      "message": "Merge branch \u0027stable-3.10\u0027 into stable-3.11\n\n* stable-3.10:\n  Move DisabledSharedRefLogger into the library\n  Introduce local-refdb locking facility\n  Remove unneeded @Inject in LockWrapper\n  Remove unused LockWrapper.Factory\n  Add sentinel to prevent out of sync with global-refdb\n  Verify global-refdb formatting using GJF 1.7\n  Log lock acquisition only after is successful\n  Log lock releases\n\nChange-Id: I8367b74601f171a869c3341bc7965e47f8243bc5\n"
    },
    {
      "commit": "dbc4eed6f8f2455a6146da8567177de511feba8d",
      "tree": "59cdcf83e2043214e4f446938fadeb4ed1871806",
      "parents": [
        "f449d0d3924a1e6596a1bef83bde7e7785bbed45",
        "08a2f269ed71031584e41efb4fdbfb6659c4520b"
      ],
      "author": {
        "name": "Alvaro Vilaplana Garcia",
        "email": "alvaro.vilaplana@gmail.com",
        "time": "Thu Mar 20 16:30:08 2025 +0000"
      },
      "committer": {
        "name": "Alvaro Vilaplana Garcia",
        "email": "alvaro.vilaplana@gmail.com",
        "time": "Fri Mar 21 15:03:57 2025 +0000"
      },
      "message": "Merge branch \u0027stable-3.9\u0027 into stable-3.10\n\n* stable-3.9:\n  Add sentinel to prevent out of sync with global-refdb\n  Verify global-refdb formatting using GJF 1.7\n\nChange-Id: I942d7fe24453a9fb1308a9952ecbd13da71517eb\n"
    },
    {
      "commit": "08a2f269ed71031584e41efb4fdbfb6659c4520b",
      "tree": "669694a234f6430fb2aa7bd1c3bdfc8fa8aa30e1",
      "parents": [
        "63de2b5b3147d34a70bc2c9c8761edaa39fdb9a8",
        "6b5509373135b01f996347858a6557f3820bfc1d"
      ],
      "author": {
        "name": "Alvaro Vilaplana Garcia",
        "email": "alvaro.vilaplana@gmail.com",
        "time": "Thu Mar 20 16:27:53 2025 +0000"
      },
      "committer": {
        "name": "Alvaro Vilaplana Garcia",
        "email": "alvaro.vilaplana@gmail.com",
        "time": "Thu Mar 20 16:27:53 2025 +0000"
      },
      "message": "Merge branch \u0027stable-3.8\u0027 into stable-3.9\n\n* stable-3.8:\n  Add sentinel to prevent out of sync with global-refdb\n  Verify global-refdb formatting using GJF 1.7\n\nChange-Id: I4765b5c4acf6977a9e7748b4e624624cf667c055\n"
    },
    {
      "commit": "6b5509373135b01f996347858a6557f3820bfc1d",
      "tree": "bcf55ce1e2cb3b450607223747e93d31258b814f",
      "parents": [
        "c16fa5589977f9db56790df407149d310d9c1367",
        "6284b289edf28522c937acfcc62b011666e88252"
      ],
      "author": {
        "name": "Alvaro Vilaplana Garcia",
        "email": "alvaro.vilaplana@gmail.com",
        "time": "Thu Mar 20 16:25:15 2025 +0000"
      },
      "committer": {
        "name": "Alvaro Vilaplana Garcia",
        "email": "alvaro.vilaplana@gmail.com",
        "time": "Thu Mar 20 16:25:15 2025 +0000"
      },
      "message": "Merge branch \u0027stable-3.7\u0027 into stable-3.8\n\n* stable-3.7:\n  Add sentinel to prevent out of sync with global-refdb\n  Verify global-refdb formatting using GJF 1.7\n\nChange-Id: Ic8dd06fca6c64692ad0f60aa1fde9ee8dfbbd2dd\n"
    },
    {
      "commit": "6284b289edf28522c937acfcc62b011666e88252",
      "tree": "bcf55ce1e2cb3b450607223747e93d31258b814f",
      "parents": [
        "2f88a60c64eb9149fd2f6125f7f268d416f66964",
        "3a116ea84463e1bb7c96e429ca1f18cb66c73db6"
      ],
      "author": {
        "name": "Alvaro Vilaplana Garcia",
        "email": "alvaro.vilaplana@gmail.com",
        "time": "Thu Mar 20 16:20:01 2025 +0000"
      },
      "committer": {
        "name": "Alvaro Vilaplana Garcia",
        "email": "alvaro.vilaplana@gmail.com",
        "time": "Thu Mar 20 16:20:01 2025 +0000"
      },
      "message": "Merge branch \u0027stable-3.6\u0027 into stable-3.7\n\n* stable-3.6:\n  Add sentinel to prevent out of sync with global-refdb\n  Verify global-refdb formatting using GJF 1.7\n\nChange-Id: Ib31f723503439001aec21b6509abef05ad65065d\n"
    },
    {
      "commit": "3a116ea84463e1bb7c96e429ca1f18cb66c73db6",
      "tree": "765262d3d72deb88e0a45428c55d325320bf6f62",
      "parents": [
        "37baed96b613a85361fb0261c2fe2075849ceb85",
        "521a97ba5b5441151b34735af53c6bfa3947b366"
      ],
      "author": {
        "name": "Alvaro Vilaplana Garcia",
        "email": "alvaro.vilaplana@gmail.com",
        "time": "Thu Mar 20 16:17:35 2025 +0000"
      },
      "committer": {
        "name": "Alvaro Vilaplana Garcia",
        "email": "alvaro.vilaplana@gmail.com",
        "time": "Thu Mar 20 16:17:35 2025 +0000"
      },
      "message": "Merge branch \u0027stable-3.5\u0027 into stable-3.6\n\n* stable-3.5:\n  Add sentinel to prevent out of sync with global-refdb\n  Verify global-refdb formatting using GJF 1.7\n\nChange-Id: I56d5be19617f21c9f13ec04749e05facac848671\n"
    },
    {
      "commit": "521a97ba5b5441151b34735af53c6bfa3947b366",
      "tree": "09c2edbd0691ff489e950c44360706de725af225",
      "parents": [
        "7bfb6c56d7f52c88b69c3b86ddbee82025155adf",
        "011b10d3c8a5bc6a4e96f2f85e3322d4850f9ec5"
      ],
      "author": {
        "name": "Alvaro Vilaplana Garcia",
        "email": "alvaro.vilaplana@gmail.com",
        "time": "Thu Mar 20 16:14:53 2025 +0000"
      },
      "committer": {
        "name": "Alvaro Vilaplana Garcia",
        "email": "alvaro.vilaplana@gmail.com",
        "time": "Thu Mar 20 16:14:53 2025 +0000"
      },
      "message": "Merge branch \u0027stable-3.4\u0027 into stable-3.5\n\n* stable-3.4:\n  Add sentinel to prevent out of sync with global-refdb\n  Verify global-refdb formatting using GJF 1.7\n\nChange-Id: I78a4e35e62cb1665943ce004ff66263be12bd634\n"
    },
    {
      "commit": "f449d0d3924a1e6596a1bef83bde7e7785bbed45",
      "tree": "13d61ba289a8af42d9b58393230b3c2287d8f564",
      "parents": [
        "feefa23de29eeeab6e4e9b5fbb8b509dd7fd52b7"
      ],
      "author": {
        "name": "Luca Milanesio",
        "email": "luca.milanesio@gmail.com",
        "time": "Wed Mar 19 18:46:36 2025 +0000"
      },
      "committer": {
        "name": "Luca Milanesio",
        "email": "luca.milanesio@gmail.com",
        "time": "Wed Mar 19 18:54:57 2025 +0000"
      },
      "message": "Move DisabledSharedRefLogger into the library\n\nThe DisabledSharedRefLogger is not performing any tests\nand can be useful to be shared with other plugins for disabling\nthe lock/unlock logs.\n\nChange-Id: I19e40d9a3e1b1de19cb1effeadc2acbdeeaeafdb\n"
    },
    {
      "commit": "feefa23de29eeeab6e4e9b5fbb8b509dd7fd52b7",
      "tree": "25797e0a94eb99a2fecaeb31417251d70dca508e",
      "parents": [
        "fbf19deb94dd7f3cb057abd674ffede8eaa36b04"
      ],
      "author": {
        "name": "Luca Milanesio",
        "email": "luca.milanesio@gmail.com",
        "time": "Mon Mar 17 18:35:03 2025 +0000"
      },
      "committer": {
        "name": "Luca Milanesio",
        "email": "luca.milanesio@gmail.com",
        "time": "Tue Mar 18 21:02:23 2025 +0000"
      },
      "message": "Introduce local-refdb locking facility\n\nAllow to prevent local writes by locking one or more refs through the\nsame SharedRefDatabaseWrapper class used for the global locks.\n\nHaving local locks help preventing local mutations without having to\nlock all the other nodes.\n\nChange-Id: Ic2fca440b87d9142cb4ec7c810dcbcb2bad35242\n"
    },
    {
      "commit": "fbf19deb94dd7f3cb057abd674ffede8eaa36b04",
      "tree": "e7f735da892e302845bb1a9913d3a775ce519084",
      "parents": [
        "c891979efb6231a6d0ee32606cb5a01d7a37a597"
      ],
      "author": {
        "name": "Luca Milanesio",
        "email": "luca.milanesio@gmail.com",
        "time": "Tue Mar 18 17:35:26 2025 +0000"
      },
      "committer": {
        "name": "Luca Milanesio",
        "email": "luca.milanesio@gmail.com",
        "time": "Tue Mar 18 19:37:30 2025 +0000"
      },
      "message": "Remove unneeded @Inject in LockWrapper\n\nChange-Id: I6c9621d8394640bda19c5185bdcce5fc8e5d0ceb\n"
    },
    {
      "commit": "c891979efb6231a6d0ee32606cb5a01d7a37a597",
      "tree": "f424a77f85ba002f70f97a3203b07a6ee9046662",
      "parents": [
        "214a9ee41328f975e9788995a8ba449b2178d13f"
      ],
      "author": {
        "name": "Luca Milanesio",
        "email": "luca.milanesio@gmail.com",
        "time": "Mon Mar 17 17:51:27 2025 +0000"
      },
      "committer": {
        "name": "Luca Milanesio",
        "email": "luca.milanesio@gmail.com",
        "time": "Tue Mar 18 08:26:23 2025 -0700"
      },
      "message": "Remove unused LockWrapper.Factory\n\nChange-Id: Ia20baaf4aa94fb486124a6d6cb281b2258663921\n"
    },
    {
      "commit": "011b10d3c8a5bc6a4e96f2f85e3322d4850f9ec5",
      "tree": "4284d5e30ba71a97fadf950cad3ed5c88d37f0b6",
      "parents": [
        "7a977b221e16adc5c5aa163d4150b6bf24a79985"
      ],
      "author": {
        "name": "Luca Milanesio",
        "email": "luca.milanesio@gmail.com",
        "time": "Sat Mar 08 01:18:46 2025 +0000"
      },
      "committer": {
        "name": "Álvaro Vilaplana García",
        "email": "alvaro.vilaplana@gmail.com",
        "time": "Tue Mar 18 02:20:46 2025 -0700"
      },
      "message": "Add sentinel to prevent out of sync with global-refdb\n\nMake sure the the global refdb is never updated to a value that is\ndifferent from the local refdb. It may happen that a local operation has\nan undetected failure that causes the global-refdb to be updated to a\nnon-existent value. By checking that the target SHA1 always corresponds\nto the local refdb value, any discrepancy would result in an error to\nthe client and avoid to update the global refdb.\n\nThis sentinel should never be needed in Gerrit, however it sometimes\nhappens that the operation fails at Git level and the ref isn\u0027t updated\nas expected. Prevent nasty out of sync that would require a Gerrit admin\nto action and solve them one-by-one.\n\nChange-Id: If30079abd39f17f3859aa3f8b300b65cc0b7f117\n(cherry picked from commit 669d5bad4c04ead5c800d999362fa9aced9888ec)\n"
    },
    {
      "commit": "7a977b221e16adc5c5aa163d4150b6bf24a79985",
      "tree": "b422195cd759e25264efd77944713f40457383c7",
      "parents": [
        "eacc0d48f3dc2876723d570dc500cbd6eab6e9d2"
      ],
      "author": {
        "name": "Alvaro Vilaplana Garcia",
        "email": "alvaro.vilaplana@gmail.com",
        "time": "Tue Mar 18 09:19:07 2025 +0000"
      },
      "committer": {
        "name": "Alvaro Vilaplana Garcia",
        "email": "alvaro.vilaplana@gmail.com",
        "time": "Tue Mar 18 09:19:10 2025 +0000"
      },
      "message": "Verify global-refdb formatting using GJF 1.7\n\nChange I216f69ea set the default formatting version to GJF 1.24.0,\nhowever older branches of the high-availability plugin are still\nformatted with GJF 1.7.\n\nExplicitly set the GJF version to 1.7 so that we can still have\nsuccessful validation for older branches.\n\nChange-Id: Ifacdfb7f6f6814d98554f83709fd7e0fe0c9e28b\n"
    },
    {
      "commit": "214a9ee41328f975e9788995a8ba449b2178d13f",
      "tree": "d4a1eb2ed846e4309b981bc56f65a0c92e9edad5",
      "parents": [
        "e20c044dabc00e702b866e3a5c871c568e0b34f9"
      ],
      "author": {
        "name": "Luca Milanesio",
        "email": "luca.milanesio@gmail.com",
        "time": "Sun Mar 16 16:35:25 2025 +0000"
      },
      "committer": {
        "name": "Luca Milanesio",
        "email": "luca.milanesio@gmail.com",
        "time": "Mon Mar 17 10:00:47 2025 -0700"
      },
      "message": "Log lock acquisition only after is successful\n\nThe logging of the acquired locks was performed well before the lock\nmethod call causing misleading output in the log and leading the reader\nto think that the lock had been acquired, but that wasn\u0027t the case.\n\nChange-Id: Iebe81dd81d64b4bccee812b301865fb7511ee71c\n"
    },
    {
      "commit": "e20c044dabc00e702b866e3a5c871c568e0b34f9",
      "tree": "f656d284493d4e764461fd1beda7a8f1e9267470",
      "parents": [
        "669d5bad4c04ead5c800d999362fa9aced9888ec"
      ],
      "author": {
        "name": "Luca Milanesio",
        "email": "luca.milanesio@gmail.com",
        "time": "Sun Mar 16 15:43:12 2025 +0000"
      },
      "committer": {
        "name": "Luca Milanesio",
        "email": "luca.milanesio@gmail.com",
        "time": "Sun Mar 16 16:08:04 2025 +0000"
      },
      "message": "Log lock releases\n\nLog the release of locks acquired with lockRef() as previously\nthe lock/release was only traced as part of the validation module\nbut not when used outside that context.\n\nChange-Id: I0b2d4831369280bbcc31686526cfd82e320673e6\n"
    },
    {
      "commit": "488eebac8aa71c52ac1fbe2e8acc283ec6a87a76",
      "tree": "01ddc62c42bedea954bb99e8be416079a317201d",
      "parents": [
        "3ca47e5005c52253c995da64b50819b04443f2b2"
      ],
      "author": {
        "name": "Luca Milanesio",
        "email": "luca.milanesio@gmail.com",
        "time": "Wed Mar 12 19:33:54 2025 +0000"
      },
      "committer": {
        "name": "Luca Milanesio",
        "email": "luca.milanesio@gmail.com",
        "time": "Thu Mar 13 13:02:09 2025 +0000"
      },
      "message": "Add warning with the stack trace of the caller upon failures\n\nWhen a global-refdb operation has failed, the consequences could be\nvery serious. Log the event at warning level and with an associated\ncall stack.\n\nChange-Id: Ib5012383bf3eca32c56df125cd7b8c93945d97e4\n"
    },
    {
      "commit": "3ca47e5005c52253c995da64b50819b04443f2b2",
      "tree": "4c517cd377b7ad760ef8bc271250c8ae61773fae",
      "parents": [
        "ebe85a57e43543b06e0cec2b89037e6ae9ddb0a8",
        "af2d2b1cd1cf3c11227f9dd9ea891fedc1df7f54"
      ],
      "author": {
        "name": "Luca Milanesio",
        "email": "luca.milanesio@gmail.com",
        "time": "Mon Mar 10 22:03:50 2025 +0000"
      },
      "committer": {
        "name": "Luca Milanesio",
        "email": "luca.milanesio@gmail.com",
        "time": "Mon Mar 10 22:03:50 2025 +0000"
      },
      "message": "Merge branch \u0027stable-3.11\u0027\n\n* stable-3.11:\n  Add sentinel to prevent out of sync with global-refdb\n  Improve ref-update validators tests\n  Reformat with GJF 1.24.0\n\nChange-Id: I98561ea5a4ec3c621bec484487262004988e3e7d\n"
    },
    {
      "commit": "af2d2b1cd1cf3c11227f9dd9ea891fedc1df7f54",
      "tree": "5cfdffc3ec95892ebd5e170215268d74317edcf5",
      "parents": [
        "9bd741555da5db0883363f22a65439631f928fd4",
        "669d5bad4c04ead5c800d999362fa9aced9888ec"
      ],
      "author": {
        "name": "Luca Milanesio",
        "email": "luca.milanesio@gmail.com",
        "time": "Mon Mar 10 20:28:59 2025 +0000"
      },
      "committer": {
        "name": "Luca Milanesio",
        "email": "luca.milanesio@gmail.com",
        "time": "Mon Mar 10 21:46:22 2025 +0000"
      },
      "message": "Merge branch \u0027stable-3.10\u0027 into stable-3.11\n\n* stable-3.10:\n  Add sentinel to prevent out of sync with global-refdb\n  Improve ref-update validators tests\n  Reformat with GJF 1.24.0\n\nChange-Id: I3788e13862ae3421c62e455b3ca3791cee951b24\n"
    },
    {
      "commit": "669d5bad4c04ead5c800d999362fa9aced9888ec",
      "tree": "4f84fd17739516be343c7f8a2c8e39ef4b8117ad",
      "parents": [
        "be1edd1560dc3ed112118cb982d4527fe810402f"
      ],
      "author": {
        "name": "Luca Milanesio",
        "email": "luca.milanesio@gmail.com",
        "time": "Sat Mar 08 01:18:46 2025 +0000"
      },
      "committer": {
        "name": "Luca Milanesio",
        "email": "luca.milanesio@gmail.com",
        "time": "Mon Mar 10 15:45:38 2025 +0000"
      },
      "message": "Add sentinel to prevent out of sync with global-refdb\n\nMake sure the the global refdb is never updated to a value that is\ndifferent from the local refdb. It may happen that a local operation has\nan undetected failure that causes the global-refdb to be updated to a\nnon-existent value. By checking that the target SHA1 always corresponds\nto the local refdb value, any discrepancy would result in an error to\nthe client and avoid to update the global refdb.\n\nThis sentinel should never be needed in Gerrit, however it sometimes\nhappens that the operation fails at Git level and the ref isn\u0027t updated\nas expected. Prevent nasty out of sync that would require a Gerrit admin\nto action and solve them one-by-one.\n\nChange-Id: If30079abd39f17f3859aa3f8b300b65cc0b7f117\n"
    },
    {
      "commit": "be1edd1560dc3ed112118cb982d4527fe810402f",
      "tree": "236795559f5567dc2f602c713ff63735a1da1b7f",
      "parents": [
        "075a70a3d65a6d2f9e59820074b2a44fe817ae54"
      ],
      "author": {
        "name": "Luca Milanesio",
        "email": "luca.milanesio@gmail.com",
        "time": "Sat Mar 08 01:18:46 2025 +0000"
      },
      "committer": {
        "name": "Luca Milanesio",
        "email": "luca.milanesio@gmail.com",
        "time": "Mon Mar 10 12:46:06 2025 +0000"
      },
      "message": "Improve ref-update validators tests\n\nMake sure that ref-update validators tests are more representative\nof a real scenario, having the local ref-update to actually perform the\noperation or, when used as a mock, simulate the before and after the update\nlocal ref status.\n\nChange-Id: I1c05dc3d9521cd2579ca0d3d8ec21024a26b47a5\n"
    },
    {
      "commit": "075a70a3d65a6d2f9e59820074b2a44fe817ae54",
      "tree": "799b95dc43f2a0602c5fbcb27482ed8c2188b9f3",
      "parents": [
        "3b6444388b471db55e4f670515356e15c8da60da"
      ],
      "author": {
        "name": "Luca Milanesio",
        "email": "luca.milanesio@gmail.com",
        "time": "Sat Mar 08 09:28:15 2025 +0000"
      },
      "committer": {
        "name": "Luca Milanesio",
        "email": "luca.milanesio@gmail.com",
        "time": "Sat Mar 08 10:49:35 2025 +0000"
      },
      "message": "Reformat with GJF 1.24.0\n\nChange-Id: I2c3c4b8fd0abcc4dea6a4c2a44373e30ee4cf7b8\n"
    },
    {
      "commit": "ebe85a57e43543b06e0cec2b89037e6ae9ddb0a8",
      "tree": "9ce2a216b9f3ef0fc77aabfb8c940046334c77a2",
      "parents": [
        "d4e2513dd77c5ccc246d36ce8e0f8afb4c7b40ee"
      ],
      "author": {
        "name": "Antonio Barone",
        "email": "syntonyze@gmail.com",
        "time": "Mon Mar 03 17:36:52 2025 +0100"
      },
      "committer": {
        "name": "Antonio Barone",
        "email": "syntonyze@gmail.com",
        "time": "Wed Mar 05 12:30:01 2025 +0100"
      },
      "message": "Introduce global_refdb/operation_failures counter\n\nWhen an operation against the global ref-db fails, an exception is\nthrown and propagated to the caller, who decides whether to retry or\ngive up.\n\nPreviously, failure-related metrics might have been only emitted\nindirectly by the caller (e.g., 503 LOCK_FAILURE, retry count, etc.),\nmeaning there was no dedicated metric to track failures at the global\nref-db level. This made it difficult to monitor and analyze failures\nindependently of the implementation details.\n\nThis change introduces a cumulative counter,\nglobal_refdb/operation_failures, which increments on every failure. This\nallows failures to be monitored directly from the global ref-db,\nregardless of the specific implementation or how the caller handles the\nexception.\n\nBug: Issue 400338979\nChange-Id: I0bf752bc2f7a7b9bdb0f2b3eed6b7fdd623a7e14\n"
    },
    {
      "commit": "d4e2513dd77c5ccc246d36ce8e0f8afb4c7b40ee",
      "tree": "3f060d6d0dc6a6167ff469a0ad02b337fea23551",
      "parents": [
        "1af1748719574e3591d25f58749f4d0763d0e3f4"
      ],
      "author": {
        "name": "Matthias Sohn",
        "email": "matthias.sohn@sap.com",
        "time": "Fri Feb 28 17:11:09 2025 +0100"
      },
      "committer": {
        "name": "Matthias Sohn",
        "email": "matthias.sohn@sap.com",
        "time": "Sat Mar 01 00:16:00 2025 -0800"
      },
      "message": "Suppress unused parameter warning\n\nChange-Id: Ief82fbcf3382a51e9b0a1d25cb795ff1aa59c15a\n"
    },
    {
      "commit": "1af1748719574e3591d25f58749f4d0763d0e3f4",
      "tree": "1eadbf4c928c0cc537ede5cff6cb32258f2111b6",
      "parents": [
        "9d1e9d7177f5ea8f8415dc94fb65616ccbbe8c6e"
      ],
      "author": {
        "name": "Matthias Sohn",
        "email": "matthias.sohn@sap.com",
        "time": "Fri Feb 28 17:10:29 2025 +0100"
      },
      "committer": {
        "name": "Matthias Sohn",
        "email": "matthias.sohn@sap.com",
        "time": "Fri Feb 28 18:39:55 2025 +0100"
      },
      "message": "RefUpdateValidatorTest: validate result of ref update\n\nChange-Id: I0b4e13bb43f5e4a150d045f4ba3ceafcf75c1307\n"
    },
    {
      "commit": "9d1e9d7177f5ea8f8415dc94fb65616ccbbe8c6e",
      "tree": "4d8d9bb7d5ade9ac072584f65b3fc48ff6f411ec",
      "parents": [
        "aad06f2c94b3e57bd453365224184db8a8855f3d"
      ],
      "author": {
        "name": "Matthias Sohn",
        "email": "matthias.sohn@sap.com",
        "time": "Fri Feb 28 17:09:42 2025 +0100"
      },
      "committer": {
        "name": "Matthias Sohn",
        "email": "matthias.sohn@sap.com",
        "time": "Fri Feb 28 18:39:51 2025 +0100"
      },
      "message": "Fix warning about unchecked conversion of empty list\n\nChange-Id: Ie6901effc942b1534a5eefe2190ba22ccb1ebf07\n"
    },
    {
      "commit": "aad06f2c94b3e57bd453365224184db8a8855f3d",
      "tree": "2dbff7f14a9da2c8d01a3855748eca102a8cbbeb",
      "parents": [
        "1a699f7c7131ace949c85f925fb5c8af12535c73"
      ],
      "author": {
        "name": "Matthias Sohn",
        "email": "matthias.sohn@sap.com",
        "time": "Thu Feb 27 16:19:52 2025 +0100"
      },
      "committer": {
        "name": "Matthias Sohn",
        "email": "matthias.sohn@sap.com",
        "time": "Fri Feb 28 17:03:19 2025 +0100"
      },
      "message": "Adapt to jgit 2d8777536 (servlet-4 branch)\n\nGerrit core is about to update from JGit stable-6.10 to\n2d8777536 (servlet-4 branch based on 7.2) in\nI221547f7deeb57e5d9228d6e48238a848666ffeb. Hence we need to adapt\nto API changes.\n\nChange-Id: Ib48f166e213dba94a5da207d22f130b3cd91e280\n"
    },
    {
      "commit": "1a699f7c7131ace949c85f925fb5c8af12535c73",
      "tree": "28f350e892d28642a0c7cc2701996ef362597ed7",
      "parents": [
        "14d46eddf5e591c851558d82cc4a506e3fc6859b",
        "f067704e90608479a91a9462a1723d50f3847072"
      ],
      "author": {
        "name": "Matthias Sohn",
        "email": "matthias.sohn@gmail.com",
        "time": "Mon Feb 24 05:09:03 2025 -0800"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Mon Feb 24 05:09:03 2025 -0800"
      },
      "message": "Merge changes Id19c62b2,I0d5f5bbb\n\n* changes:\n  Adapt SharedRefDbExceptionHook to changed ExceptionHook API\n  Auto-format source code using gjf\n"
    },
    {
      "commit": "f067704e90608479a91a9462a1723d50f3847072",
      "tree": "28f350e892d28642a0c7cc2701996ef362597ed7",
      "parents": [
        "b6b67cb42ce11c6d9e1b1e7d27c67fde8fbdfac9"
      ],
      "author": {
        "name": "Matthias Sohn",
        "email": "matthias.sohn@sap.com",
        "time": "Mon Feb 24 13:31:36 2025 +0100"
      },
      "committer": {
        "name": "Matthias Sohn",
        "email": "matthias.sohn@sap.com",
        "time": "Mon Feb 24 13:34:01 2025 +0100"
      },
      "message": "Adapt SharedRefDbExceptionHook to changed ExceptionHook API\n\nwhich was changed in Iebfc5301a2ad1b610fc73bd9e3e3a2f974c6fe72 to allow\nmultiple traceIDs for a request.\n\nChange-Id: Id19c62b2814b95954129ba46a2da7608bbfc7f96\n"
    },
    {
      "commit": "b6b67cb42ce11c6d9e1b1e7d27c67fde8fbdfac9",
      "tree": "43728248f5a7e4f5b8a0d594a26697e8a6eee999",
      "parents": [
        "9bd741555da5db0883363f22a65439631f928fd4"
      ],
      "author": {
        "name": "Matthias Sohn",
        "email": "matthias.sohn@sap.com",
        "time": "Mon Feb 24 13:33:55 2025 +0100"
      },
      "committer": {
        "name": "Matthias Sohn",
        "email": "matthias.sohn@sap.com",
        "time": "Mon Feb 24 13:33:55 2025 +0100"
      },
      "message": "Auto-format source code using gjf\n\nChange-Id: I0d5f5bbbad4782545013041688c58c2e2de7d661\n"
    },
    {
      "commit": "14d46eddf5e591c851558d82cc4a506e3fc6859b",
      "tree": "28f350e892d28642a0c7cc2701996ef362597ed7",
      "parents": [
        "12c4c0e97d522611d4ac331034fad23465e2d6a7"
      ],
      "author": {
        "name": "Luca Milanesio",
        "email": "luca.milanesio@gmail.com",
        "time": "Thu Jan 30 17:30:18 2025 +0000"
      },
      "committer": {
        "name": "Luca Milanesio",
        "email": "luca.milanesio@gmail.com",
        "time": "Thu Jan 30 10:00:18 2025 -0800"
      },
      "message": "Support multiple TRACE_ID in SharedRefDbExceptionHook\n\nAdapt the SharedRefDbExceptionHook to the ExceptionHook\nsignature amended with Iebfc5301a2ad.\n\nChange-Id: I0f20d070dda5a140a27da15d8b8e5685236c2ad9\n"
    },
    {
      "commit": "12c4c0e97d522611d4ac331034fad23465e2d6a7",
      "tree": "43728248f5a7e4f5b8a0d594a26697e8a6eee999",
      "parents": [
        "9bd741555da5db0883363f22a65439631f928fd4"
      ],
      "author": {
        "name": "Luca Milanesio",
        "email": "luca.milanesio@gmail.com",
        "time": "Thu Jan 30 17:58:13 2025 +0000"
      },
      "committer": {
        "name": "Luca Milanesio",
        "email": "luca.milanesio@gmail.com",
        "time": "Thu Jan 30 10:00:10 2025 -0800"
      },
      "message": "Reformat with GJF 1.24.0\n\nChange-Id: Ibd2a73bb0ad091423d540415da78a279a91c3d79\n"
    },
    {
      "commit": "9bd741555da5db0883363f22a65439631f928fd4",
      "tree": "3d036b1cc94a2f63fa1c10deb0f8e30fc99e4759",
      "parents": [
        "16249c2434094847c3c2b14321dda3224fea8b28",
        "3b6444388b471db55e4f670515356e15c8da60da"
      ],
      "author": {
        "name": "Antonio Barone",
        "email": "syntonyze@gmail.com",
        "time": "Tue Sep 24 15:11:58 2024 +0200"
      },
      "committer": {
        "name": "Antonio Barone",
        "email": "syntonyze@gmail.com",
        "time": "Tue Sep 24 15:12:30 2024 +0200"
      },
      "message": "Merge branch \u0027stable-3.10\u0027\n\n* stable-3.10:\n  Enforce draftComments when their streaming is enabled\n\nChange-Id: I938fe8103bcd4aa37e5cefca375486355640a065\n"
    },
    {
      "commit": "3b6444388b471db55e4f670515356e15c8da60da",
      "tree": "c74a2d11be8d77431861dc6543b888779b622f8e",
      "parents": [
        "80109c60dddd7094b564361cb2f5549de6c8dce2",
        "63de2b5b3147d34a70bc2c9c8761edaa39fdb9a8"
      ],
      "author": {
        "name": "Antonio Barone",
        "email": "syntonyze@gmail.com",
        "time": "Tue Sep 24 14:04:52 2024 +0200"
      },
      "committer": {
        "name": "Antonio Barone",
        "email": "syntonyze@gmail.com",
        "time": "Tue Sep 24 14:04:52 2024 +0200"
      },
      "message": "Merge branch \u0027stable-3.9\u0027 into stable-3.10\n\n* stable-3.9:\n  Enforce draftComments when their streaming is enabled\n\nChange-Id: Id15e2b7921dd2b6df977d5d2aa05ca48fba94d0d\n"
    },
    {
      "commit": "63de2b5b3147d34a70bc2c9c8761edaa39fdb9a8",
      "tree": "4ab0b89ad50d32a19aa17f9952130e427637cec9",
      "parents": [
        "7cb71d017038df98889376a4fb837306c9cc7762"
      ],
      "author": {
        "name": "Antonio Barone",
        "email": "syntonyze@gmail.com",
        "time": "Tue Sep 17 18:33:24 2024 +0200"
      },
      "committer": {
        "name": "Antonio Barone",
        "email": "syntonyze@gmail.com",
        "time": "Tue Sep 24 12:54:14 2024 +0200"
      },
      "message": "Enforce draftComments when their streaming is enabled\n\nChange I02e17592b introduced the possibility to make draft comment\nevents publishing configurable.\n\nAs a consequence of this, replication mechanisms such as the replication\nand pull-replication plugins might replicate draft-comments refs on\ndifferent Gerrit nodes.\n\nTo avoid split-brain, they have to be treated as any other ref and thus\ntheir global status needs to be enforced at a global refdb level.\n\nAccount for the `event.stream-events.enableDraftCommentEvents` option\nwhen evaluating the default policy enforcement for the `draft-comments`\nref-space and ignore them only when their streaming is disabled.\n\nBug: Issue 367623925\nChange-Id: I269ae1bc928e8e813740ebbed925b94472dc0063\n"
    },
    {
      "commit": "16249c2434094847c3c2b14321dda3224fea8b28",
      "tree": "1424a288e3328fe72bd11478e9e66f84f6a13f5e",
      "parents": [
        "fd7dc049dd0c62286512f18c2edab185f121cbf6"
      ],
      "author": {
        "name": "Matthias Sohn",
        "email": "matthias.sohn@sap.com",
        "time": "Tue May 14 17:32:30 2024 +0200"
      },
      "committer": {
        "name": "Matthias Sohn",
        "email": "matthias.sohn@sap.com",
        "time": "Wed May 15 02:10:40 2024 +0200"
      },
      "message": "Rename RefPair to RefUpdateSnapshot and clean it up\n\n- the old name RefPair was a misnomer, it\u0027s not a pair of refs\n- the new name RefUpdateSnapshot better describes the purpose of this\n  class: it\u0027s an immutable snapshot of a JGit RefUpdate as the class\n  javadoc already explained\n- reduce visibility of this class to package-visibility since it\u0027s only\n  used within its enclosing package\n- add getters for all properties the callers need from a\n  RefUpdateSnapshot\n\nChange-Id: I78c9d35c685beffbd3bc3d4ab18bd006d98382a6\n"
    },
    {
      "commit": "fd7dc049dd0c62286512f18c2edab185f121cbf6",
      "tree": "d515b8d58ea82f6aafb677d624758a373088311c",
      "parents": [
        "21259e7e8430794cc369ede98ca94b1f0c09493d"
      ],
      "author": {
        "name": "Thomas Dräbing",
        "email": "thomas.draebing@sap.com",
        "time": "Tue Apr 16 13:03:10 2024 +0200"
      },
      "committer": {
        "name": "Thomas Dräbing",
        "email": "thomas.draebing@sap.com",
        "time": "Mon Apr 22 13:32:23 2024 +0000"
      },
      "message": "Retry on lock failure during change update\n\nGerrit did not retry if posting a review failed with a lock failure\nthrown by the global refdb implementation. Thus, in case the lock in\nthe global refdb could not be acquired, the ref-update was aborted\nafter the first try. This could lead to a lot of failed updates like\nreviews, affecting especially users on very active repositories.\n\nAn ExceptionHook has been added that will cause Gerrit to retry,\nif a GlobalRefDbLockException is being thrown. This ExceptionHook\nhas to be bound by every plugin that wants to make use of the\nGlobal RefDB.\n\nBug: Issue 334278785\nChange-Id: I3518ba9187761f8475233867ed8a3212713c9079\n"
    },
    {
      "commit": "21259e7e8430794cc369ede98ca94b1f0c09493d",
      "tree": "d3594a27671781ca9cd837816d784b1f0a84d298",
      "parents": [
        "989836372c9376324a72cdf00bead7bf89f1bddb"
      ],
      "author": {
        "name": "Thomas Dräbing",
        "email": "thomas.draebing@sap.com",
        "time": "Fri Apr 19 13:50:22 2024 +0200"
      },
      "committer": {
        "name": "Thomas Dräbing",
        "email": "thomas.draebing@sap.com",
        "time": "Mon Apr 22 13:32:15 2024 +0000"
      },
      "message": "Remove SharedLockException in favor of GlobalRefDbLockException\n\nBoth exceptions were basically aliases and such duplication should\nnot be required.\n\nThe GlobalRefDbLockException will be kept, since it is referenced\nfrom public API methods.\n\nChange-Id: Ifb27848965295d69f6f52750cb0347f149192564\n"
    },
    {
      "commit": "989836372c9376324a72cdf00bead7bf89f1bddb",
      "tree": "0440b44db2bb67b39d5e445f74cb817fcc9ece26",
      "parents": [
        "ced68bf56f3c513ae2e6914bf4f0ae165a5b3d69"
      ],
      "author": {
        "name": "Thomas Dräbing",
        "email": "thomas.draebing@sap.com",
        "time": "Tue Apr 16 13:07:37 2024 +0200"
      },
      "committer": {
        "name": "Thomas Dräbing",
        "email": "thomas.draebing@sap.com",
        "time": "Mon Apr 22 13:32:04 2024 +0000"
      },
      "message": "Consolidate GlobalRefDbLockException and SharedLockException\n\nThe GlobalRefDbLockException was a RuntimeException that was never\nhandled. It used the same message as SharedLockException, which was\nnever thrown, but checked for in a place, where only a\nGlobalRefDbLockException could be expected.\n\nThis change changes the Exception hierarchy, so that SharedLockException\ninherits from LockFailureException, which also inherits from IOException\nand is thus not breaking the API. The GlobalRefDbException now inherits\nfrom SharedLockException and is thus not a RuntimeException anymore and\nwill thus be handed down to the RetryHelper.\n\nThe GlobalRefDbException is now only an alias for SharedRefDbException,\nbut was kept to not break the API.\n\nChange-Id: Ibba1452e8e426b00b45ee3e6ccb4e0b225e81f79\n"
    },
    {
      "commit": "ced68bf56f3c513ae2e6914bf4f0ae165a5b3d69",
      "tree": "3d180ce338256edabb17dab8b532be6b9f9996d8",
      "parents": [
        "80109c60dddd7094b564361cb2f5549de6c8dce2"
      ],
      "author": {
        "name": "Wendy Wang",
        "email": "wendy.wang10@sap.com",
        "time": "Mon Apr 15 15:11:44 2024 +0200"
      },
      "committer": {
        "name": "Wendy Wen Wang",
        "email": "wendy.wang10@sap.com",
        "time": "Mon Apr 15 13:58:34 2024 +0000"
      },
      "message": "Minor documentation fixes\n\nChange-Id: I93d29236feb1e0c13fb2eda6524a7f43411465d0\n"
    },
    {
      "commit": "80109c60dddd7094b564361cb2f5549de6c8dce2",
      "tree": "39f17c12b3ecc3b03463eb1c926ffc89160fa48f",
      "parents": [
        "3abbf1218452547463e2cfd8c24ae5f8f61d5625",
        "7cb71d017038df98889376a4fb837306c9cc7762"
      ],
      "author": {
        "name": "Luca Milanesio",
        "email": "luca.milanesio@gmail.com",
        "time": "Sat Dec 30 02:36:28 2023 +0000"
      },
      "committer": {
        "name": "Luca Milanesio",
        "email": "luca.milanesio@gmail.com",
        "time": "Sat Dec 30 02:36:28 2023 +0000"
      },
      "message": "Merge branch \u0027stable-3.9\u0027\n\n* stable-3.9:\n  Roll back batch ref updates on uncaught throwables\n\nChange-Id: I0ae7b2d8536398917c82e12f918d1ea19687f123\n"
    },
    {
      "commit": "7cb71d017038df98889376a4fb837306c9cc7762",
      "tree": "6e2e165cd5a5d94c28369545194d75a8a75da4f3",
      "parents": [
        "3dc0456e839cf10891c4ebea8fb7a962bef49afa",
        "c16fa5589977f9db56790df407149d310d9c1367"
      ],
      "author": {
        "name": "Luca Milanesio",
        "email": "luca.milanesio@gmail.com",
        "time": "Sat Dec 30 02:36:11 2023 +0000"
      },
      "committer": {
        "name": "Luca Milanesio",
        "email": "luca.milanesio@gmail.com",
        "time": "Sat Dec 30 02:36:11 2023 +0000"
      },
      "message": "Merge branch \u0027stable-3.8\u0027 into stable-3.9\n\n* stable-3.8:\n  Roll back batch ref updates on uncaught throwables\nChange-Id: I1ec214b0e4e28ba058f243b0bbf5e9b4017ed825\n"
    },
    {
      "commit": "c16fa5589977f9db56790df407149d310d9c1367",
      "tree": "25d2d7a4f3899fe5a2179e4590dd911b9783741f",
      "parents": [
        "06e5802cad8f2df248e7dc1d192ac82d348ec1f6",
        "2f88a60c64eb9149fd2f6125f7f268d416f66964"
      ],
      "author": {
        "name": "Luca Milanesio",
        "email": "luca.milanesio@gmail.com",
        "time": "Sat Dec 30 02:35:43 2023 +0000"
      },
      "committer": {
        "name": "Luca Milanesio",
        "email": "luca.milanesio@gmail.com",
        "time": "Sat Dec 30 02:35:43 2023 +0000"
      },
      "message": "Merge branch \u0027stable-3.7\u0027 into stable-3.8\n\n* stable-3.7:\n  Roll back batch ref updates on uncaught throwables\n\nChange-Id: Ia82ee4d14a7b0100e9dd1a398ec2dc68bf22585c\n"
    },
    {
      "commit": "2f88a60c64eb9149fd2f6125f7f268d416f66964",
      "tree": "25d2d7a4f3899fe5a2179e4590dd911b9783741f",
      "parents": [
        "56337b97f2e596a6da31ce9216b7b52d05b0d94e",
        "37baed96b613a85361fb0261c2fe2075849ceb85"
      ],
      "author": {
        "name": "Luca Milanesio",
        "email": "luca.milanesio@gmail.com",
        "time": "Sat Dec 30 02:35:17 2023 +0000"
      },
      "committer": {
        "name": "Luca Milanesio",
        "email": "luca.milanesio@gmail.com",
        "time": "Sat Dec 30 02:35:17 2023 +0000"
      },
      "message": "Merge branch \u0027stable-3.6\u0027 into stable-3.7\n\n* stable-3.6:\n  Roll back batch ref updates on uncaught throwables\n\nChange-Id: I9201b03728a01d371de7d1c8415b5a8d86f62a45\n"
    },
    {
      "commit": "37baed96b613a85361fb0261c2fe2075849ceb85",
      "tree": "896ecad4e55fa1935609a9e25467dd09a206ec53",
      "parents": [
        "f0222f020528cf36e0ddd081710527af6ad9ddd5",
        "7bfb6c56d7f52c88b69c3b86ddbee82025155adf"
      ],
      "author": {
        "name": "Luca Milanesio",
        "email": "luca.milanesio@gmail.com",
        "time": "Sat Dec 30 02:34:46 2023 +0000"
      },
      "committer": {
        "name": "Luca Milanesio",
        "email": "luca.milanesio@gmail.com",
        "time": "Sat Dec 30 02:34:46 2023 +0000"
      },
      "message": "Merge branch \u0027stable-3.5\u0027 into stable-3.6\n\n* stable-3.5:\n  Roll back batch ref updates on uncaught throwables\n\nChange-Id: I897eb21e40786513d3fbc97103f8f29987435f3b\n"
    },
    {
      "commit": "7bfb6c56d7f52c88b69c3b86ddbee82025155adf",
      "tree": "7a83d9d14ea81a78ce97a9a19d45e4a612543448",
      "parents": [
        "861e15b11d9a15b5343b0607318aa482ebf3c320",
        "eacc0d48f3dc2876723d570dc500cbd6eab6e9d2"
      ],
      "author": {
        "name": "Luca Milanesio",
        "email": "luca.milanesio@gmail.com",
        "time": "Sat Dec 30 02:34:11 2023 +0000"
      },
      "committer": {
        "name": "Luca Milanesio",
        "email": "luca.milanesio@gmail.com",
        "time": "Sat Dec 30 02:34:11 2023 +0000"
      },
      "message": "Merge branch \u0027stable-3.4\u0027 into stable-3.5\n\n* stable-3.4:\n  Roll back batch ref updates on uncaught throwables\n\nChange-Id: I7d5147b6128c2ee665e4ac229e7c2d27b9859744\n"
    },
    {
      "commit": "eacc0d48f3dc2876723d570dc500cbd6eab6e9d2",
      "tree": "866310e8d0a5a8c83d87a3fd5eb26282d1f8d694",
      "parents": [
        "f204a1356c84ddc95f36af6abfcdd8b8bd2d8b6f"
      ],
      "author": {
        "name": "Diego Zambelli Sessona",
        "email": "diego.sessona@gmail.com",
        "time": "Fri Sep 15 10:39:29 2023 +0100"
      },
      "committer": {
        "name": "Marcin Czech",
        "email": "maczech@gmail.com",
        "time": "Thu Dec 28 15:25:28 2023 +0100"
      },
      "message": "Roll back batch ref updates on uncaught throwables\n\nPrior to this change, batch ref updates were only rolled back when\nexceptions were caught.\n\nAttempt to roll back local ref updates for uncaught exceptions too.\n\nBug: Issue 297890487\nChange-Id: I4b5754a4306593e341fd0b9c0a260bc03a8fee7b\n"
    },
    {
      "commit": "3abbf1218452547463e2cfd8c24ae5f8f61d5625",
      "tree": "99a6e48d1ddbe7256771ecbace9b5a07cf1c0347",
      "parents": [
        "8dc63722095413089467821b759b82bc16bcd5aa",
        "3dc0456e839cf10891c4ebea8fb7a962bef49afa"
      ],
      "author": {
        "name": "Antonio Barone",
        "email": "syntonyze@gmail.com",
        "time": "Tue Dec 05 11:07:07 2023 +0100"
      },
      "committer": {
        "name": "Antonio Barone",
        "email": "syntonyze@gmail.com",
        "time": "Tue Dec 05 11:07:07 2023 +0100"
      },
      "message": "Merge branch \u0027stable-3.9\u0027\n\n* stable-3.9:\n  Adapt tests to API changes in mockito 5.6.0\n\nChange-Id: I8e7b9e494e3dd4916d7fa7a4307aaf76777b6228\n"
    },
    {
      "commit": "8dc63722095413089467821b759b82bc16bcd5aa",
      "tree": "9e6031d0dd23b8fc1e7f0728b041ba53933b2381",
      "parents": [
        "41469da66015d740136672b1d15ef31aa83c648b"
      ],
      "author": {
        "name": "Christoforos Miliotis",
        "email": "christoforos.miliotis.dev@gmail.com",
        "time": "Wed Oct 25 15:28:11 2023 +0100"
      },
      "committer": {
        "name": "Christoforos Miliotis",
        "email": "christoforos.miliotis.dev@gmail.com",
        "time": "Mon Nov 06 13:27:32 2023 +0000"
      },
      "message": "Enrich logging message with ref\u0027s new value\n\nAdd the ref\u0027s new value when logging exception while executing the\n`compareAndPut` method. This will make the log more useful when trying\nto debug split brain situations.\n\nBug: Issue 300831672\nChange-Id: Id55d425cda298b300eecf4a5929b6a78c90768be\n"
    },
    {
      "commit": "3dc0456e839cf10891c4ebea8fb7a962bef49afa",
      "tree": "1ad2b650c1d7bedaae9830708bdaca22444b1eb8",
      "parents": [
        "41469da66015d740136672b1d15ef31aa83c648b"
      ],
      "author": {
        "name": "Matthias Sohn",
        "email": "matthias.sohn@sap.com",
        "time": "Thu Oct 26 15:13:44 2023 +0200"
      },
      "committer": {
        "name": "Matthias Sohn",
        "email": "matthias.sohn@sap.com",
        "time": "Thu Oct 26 15:13:44 2023 +0200"
      },
      "message": "Adapt tests to API changes in mockito 5.6.0\n\nChange-Id: I2f5428d8595fbe780b2bbc4d41128af92bdfd1c5\n"
    },
    {
      "commit": "41469da66015d740136672b1d15ef31aa83c648b",
      "tree": "e956ab3cd362fdaf2b0f422a16993040529349ac",
      "parents": [
        "164dd22b79ecc1a092691ec35cd9486abd76e732",
        "06e5802cad8f2df248e7dc1d192ac82d348ec1f6"
      ],
      "author": {
        "name": "Marcin Czech",
        "email": "maczech@gmail.com",
        "time": "Thu Oct 19 14:34:33 2023 +0200"
      },
      "committer": {
        "name": "Marcin Czech",
        "email": "maczech@gmail.com",
        "time": "Thu Oct 19 14:59:41 2023 +0200"
      },
      "message": "Merge branch \u0027stable-3.8\u0027\n\n* stable-3.8:\n  Remove redundant format calls in log calls\n  Add put method to create/update global-refdb entry\n  Add happy path test for BatchRefUpdateValidator\n  Remove Maven legacy pom.xml\n  Return immediately if local ref update fails\n  Remove references to Zookeeper in logs\n  Squash filter/findFirst/isPresent into anyMatch\n  Fix typo in private method\n  Bump Gerrit and module to v3.6.6\n  Bump Gerrit and module to v3.5.6\n\nChange-Id: I999f5b7ad1e24d9f5cca97b11ff608b9840c52be\n"
    },
    {
      "commit": "06e5802cad8f2df248e7dc1d192ac82d348ec1f6",
      "tree": "c9aa8b7736b82d053f286436581c0ecd898a3440",
      "parents": [
        "164dd22b79ecc1a092691ec35cd9486abd76e732",
        "56337b97f2e596a6da31ce9216b7b52d05b0d94e"
      ],
      "author": {
        "name": "Marcin Czech",
        "email": "maczech@gmail.com",
        "time": "Thu Oct 19 13:37:16 2023 +0200"
      },
      "committer": {
        "name": "Marcin Czech",
        "email": "maczech@gmail.com",
        "time": "Thu Oct 19 13:37:30 2023 +0200"
      },
      "message": "Merge branch \u0027stable-3.7\u0027 into stable-3.8\n\n* stable-3.7:\n  Remove redundant format calls in log calls\n  Add put method to create/update global-refdb entry\n  Add happy path test for BatchRefUpdateValidator\n  Remove Maven legacy pom.xml\n  Return immediately if local ref update fails\n  Remove references to Zookeeper in logs\n  Squash filter/findFirst/isPresent into anyMatch\n  Fix typo in private method\n  Bump Gerrit and module to v3.6.6\n  Bump Gerrit and module to v3.5.6\n\nChange-Id: I930b79a021e409983e55d5184c9974515fae323b\n"
    },
    {
      "commit": "56337b97f2e596a6da31ce9216b7b52d05b0d94e",
      "tree": "c9aa8b7736b82d053f286436581c0ecd898a3440",
      "parents": [
        "cf8938bc4dab321dc554e837b8343d43be6494a7",
        "f0222f020528cf36e0ddd081710527af6ad9ddd5"
      ],
      "author": {
        "name": "Marcin Czech",
        "email": "maczech@gmail.com",
        "time": "Tue Oct 17 14:34:42 2023 +0200"
      },
      "committer": {
        "name": "Marcin Czech",
        "email": "maczech@gmail.com",
        "time": "Wed Oct 18 15:48:23 2023 +0200"
      },
      "message": "Merge branch \u0027stable-3.6\u0027 into stable-3.7\n\n* stable-3.6:\n  Remove redundant format calls in log calls\n  Add put method to create/update global-refdb entry\n  Add happy path test for BatchRefUpdateValidator\n  Remove Maven legacy pom.xml\n  Return immediately if local ref update fails\n  Remove references to Zookeeper in logs\n  Squash filter/findFirst/isPresent into anyMatch\n  Fix typo in private method\n  Bump Gerrit and module to v3.6.6\n  Bump Gerrit and module to v3.5.6\n\nChange-Id: Ibcc361909822c956b74721fdd8eee03649f1d8c5\n"
    },
    {
      "commit": "f0222f020528cf36e0ddd081710527af6ad9ddd5",
      "tree": "a57172a167bc3ce554956ba4cb7e537f9c4983f5",
      "parents": [
        "3b1d5c1a749ed744aeb5b1a0a5a1a1363e673842",
        "861e15b11d9a15b5343b0607318aa482ebf3c320"
      ],
      "author": {
        "name": "Marcin Czech",
        "email": "maczech@gmail.com",
        "time": "Tue Oct 17 14:21:05 2023 +0200"
      },
      "committer": {
        "name": "Marcin Czech",
        "email": "maczech@gmail.com",
        "time": "Tue Oct 17 14:21:05 2023 +0200"
      },
      "message": "Merge branch \u0027stable-3.5\u0027 into stable-3.6\n\n* stable-3.5:\n  Remove redundant format calls in log calls\n  Add put method to create/update global-refdb entry\n  Add happy path test for BatchRefUpdateValidator\n  Remove Maven legacy pom.xml\n  Return immediately if local ref update fails\n  Remove references to Zookeeper in logs\n  Squash filter/findFirst/isPresent into anyMatch\n  Fix typo in private method\n  Bump Gerrit and module to v3.5.6\n\nChange-Id: I7c6ea5727ca1d899e7b64eaf0d2e2578fbe9657c\n"
    },
    {
      "commit": "861e15b11d9a15b5343b0607318aa482ebf3c320",
      "tree": "70d7a4c3d406039bd5d7af85260d3b32c7bfcf43",
      "parents": [
        "df0d912640ef6bb3f93e85ac31e11ffaa4af3d8b",
        "f204a1356c84ddc95f36af6abfcdd8b8bd2d8b6f"
      ],
      "author": {
        "name": "Marcin Czech",
        "email": "maczech@gmail.com",
        "time": "Tue Oct 17 14:13:37 2023 +0200"
      },
      "committer": {
        "name": "Marcin Czech",
        "email": "maczech@gmail.com",
        "time": "Tue Oct 17 14:13:37 2023 +0200"
      },
      "message": "Merge branch \u0027stable-3.4\u0027 into stable-3.5\n\n* stable-3.4:\n  Remove redundant format calls in log calls\n  Add put method to create/update global-refdb entry\n  Add happy path test for BatchRefUpdateValidator\n  Remove Maven legacy pom.xml\n  Return immediately if local ref update fails\n  Remove references to Zookeeper in logs\n  Squash filter/findFirst/isPresent into anyMatch\n  Fix typo in private method\n\nChange-Id: I67f40a5bd8fd8c6ad685c9706dd3ee7a13afd7d3\n"
    },
    {
      "commit": "f204a1356c84ddc95f36af6abfcdd8b8bd2d8b6f",
      "tree": "54080cb0b2d608f8c3e3a37fbe995efd36815d47",
      "parents": [
        "06c064565672b9c6735bdef13221f24c465f93f8"
      ],
      "author": {
        "name": "Darius Jokilehto",
        "email": "dariusjokilehto@gmail.com",
        "time": "Fri Sep 15 16:12:10 2023 +0100"
      },
      "committer": {
        "name": "Darius Jokilehto",
        "email": "dariusjokilehto@gmail.com",
        "time": "Thu Oct 12 21:52:30 2023 +0000"
      },
      "message": "Remove redundant format calls in log calls\n\n`log` supports formatted strings out of the box.\n\nChange-Id: I9bb49d689c08194b2d9b34b158fa3b77282fa7f9\n"
    },
    {
      "commit": "06c064565672b9c6735bdef13221f24c465f93f8",
      "tree": "cd2559781e79f6faaf68e0a15a592f89d141c14c",
      "parents": [
        "0027724d78f7645c7ed1bc5032e0e9350785e76e",
        "56f776b9c642fac68359509188a890550ce36e11"
      ],
      "author": {
        "name": "Luca Milanesio",
        "email": "luca.milanesio@gmail.com",
        "time": "Thu Oct 12 21:52:13 2023 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Thu Oct 12 21:52:13 2023 +0000"
      },
      "message": "Merge \"Add happy path test for BatchRefUpdateValidator\" into stable-3.4"
    },
    {
      "commit": "0027724d78f7645c7ed1bc5032e0e9350785e76e",
      "tree": "4a2e9212dd7aeae753f380bfe1424bcd089e52b6",
      "parents": [
        "55b1a6a708f536cf6abb4ab532e0ca95a28d461a"
      ],
      "author": {
        "name": "Marcin Czech",
        "email": "maczech@gmail.com",
        "time": "Thu Sep 21 18:18:16 2023 +0200"
      },
      "committer": {
        "name": "Marcin Czech",
        "email": "maczech@gmail.com",
        "time": "Tue Oct 10 12:32:53 2023 +0200"
      },
      "message": "Add put method to create/update global-refdb entry\n\nThis change extends the ExtendedBrokerApi interface with the\ncapability to put value in global-refdb. Opposite to compareAndPut\nthis method is not checking current global-refdb value.\n\nBug: Issue 297440085\nChange-Id: Iba779d984e7888aeb9985e918241ebab4fca4c93\n"
    },
    {
      "commit": "56f776b9c642fac68359509188a890550ce36e11",
      "tree": "1d09dbdc1d41f00707c4e2312f9779eb06d44a70",
      "parents": [
        "b39bd51e82bccb669d791414c7a179ead72e7e71"
      ],
      "author": {
        "name": "Darius Jokilehto",
        "email": "dariusjokilehto@gmail.com",
        "time": "Thu Sep 14 15:15:02 2023 +0100"
      },
      "committer": {
        "name": "Darius Jokilehto",
        "email": "dariusjokilehto@gmail.com",
        "time": "Mon Oct 09 16:52:13 2023 +0100"
      },
      "message": "Add happy path test for BatchRefUpdateValidator\n\nWe were missing a happy path test - this updates multiple refs.\n\nChange-Id: Id3d1ffb2ef6c234fe2b079e81f4bea4e16219dc0\n"
    },
    {
      "commit": "55b1a6a708f536cf6abb4ab532e0ca95a28d461a",
      "tree": "be946be0d7a70641abc5f5c381311193301124e7",
      "parents": [
        "b39bd51e82bccb669d791414c7a179ead72e7e71"
      ],
      "author": {
        "name": "Marcin Czech",
        "email": "maczech@gmail.com",
        "time": "Tue Sep 19 16:25:18 2023 +0200"
      },
      "committer": {
        "name": "Marcin Czech",
        "email": "maczech@gmail.com",
        "time": "Tue Sep 19 16:25:18 2023 +0200"
      },
      "message": "Remove Maven legacy pom.xml\n\nNow that the build is fully working and integrated in\nBazel, including the consumption and validation with other\nimplementation plugins, the legacy pom.xml is not needed\nanymore.\n\nChange-Id: I9220a2fc3e2146aa8485efb5ed7c15c4a2f2c62a\n"
    },
    {
      "commit": "b39bd51e82bccb669d791414c7a179ead72e7e71",
      "tree": "473b60390b557ebf52ed94d0dacfb817a46de929",
      "parents": [
        "a0d7c3ac4ad9b3b1cd43132d9e38b92f0e1e2c1c"
      ],
      "author": {
        "name": "Darius Jokilehto",
        "email": "dariusjokilehto+os@gmail.com",
        "time": "Wed Sep 13 13:44:27 2023 +0100"
      },
      "committer": {
        "name": "Darius Jokilehto",
        "email": "dariusjokilehto+os@gmail.com",
        "time": "Fri Sep 15 11:08:02 2023 +0100"
      },
      "message": "Return immediately if local ref update fails\n\nMinor simplification, as in this case we don\u0027t need to enter the\ntry/catch block at all.\n\nChange-Id: I8bc177f0e254488b7181d0ab02a43559209a61f1\n"
    },
    {
      "commit": "a0d7c3ac4ad9b3b1cd43132d9e38b92f0e1e2c1c",
      "tree": "6c5d9e715021257654417384d56478baa43add5c",
      "parents": [
        "97776c4e06eef983186611df91714691ee92cabe"
      ],
      "author": {
        "name": "Darius Jokilehto",
        "email": "dariusjokilehto+os@gmail.com",
        "time": "Wed Sep 13 13:13:42 2023 +0100"
      },
      "committer": {
        "name": "Darius Jokilehto",
        "email": "dariusjokilehto+os@gmail.com",
        "time": "Fri Sep 15 11:08:02 2023 +0100"
      },
      "message": "Remove references to Zookeeper in logs\n\nZookeeper may be an implementation of GlobalRefDatabase, but the\ncomments in this plugin need to be generic.\n\nChange-Id: I29d1711a6087ef0ea53e7b4c092c281537e50b6b\n"
    },
    {
      "commit": "97776c4e06eef983186611df91714691ee92cabe",
      "tree": "dafa230b3595835f5e938453dc2def56dd8505f9",
      "parents": [
        "21c77c58d1f54dd82fb076e87decfd09af28d6f3"
      ],
      "author": {
        "name": "Darius Jokilehto",
        "email": "dariusjokilehto+os@gmail.com",
        "time": "Thu Sep 14 13:43:11 2023 +0100"
      },
      "committer": {
        "name": "Darius Jokilehto",
        "email": "dariusjokilehto+os@gmail.com",
        "time": "Fri Sep 15 11:08:02 2023 +0100"
      },
      "message": "Squash filter/findFirst/isPresent into anyMatch\n\nThese are equivalent.\n\nChange-Id: Ic8defab8a3a7b9385e0f6bbae378603078a0d9b6\n"
    },
    {
      "commit": "21c77c58d1f54dd82fb076e87decfd09af28d6f3",
      "tree": "6e32443087cdf0524e74ae9c301c48f840f67a2c",
      "parents": [
        "b548201ce71fbb9e79bd764ca6c428cb3171539e"
      ],
      "author": {
        "name": "Darius Jokilehto",
        "email": "dariusjokilehto+os@gmail.com",
        "time": "Thu Sep 14 13:42:09 2023 +0100"
      },
      "committer": {
        "name": "Darius Jokilehto",
        "email": "dariusjokilehto+os@gmail.com",
        "time": "Fri Sep 15 11:07:57 2023 +0100"
      },
      "message": "Fix typo in private method\n\nChange-Id: I137eaf239b5d3eb0efbb7564da26a3e722693cea\n"
    },
    {
      "commit": "164dd22b79ecc1a092691ec35cd9486abd76e732",
      "tree": "ffe02ac0b6e8a1ce40f3e34721540c960e0e09e2",
      "parents": [
        "1760827960d0ce185779cc341789156975af325c"
      ],
      "author": {
        "name": "Luca Milanesio",
        "email": "luca.milanesio@gmail.com",
        "time": "Tue Jul 18 00:10:45 2023 +0100"
      },
      "committer": {
        "name": "Luca Milanesio",
        "email": "luca.milanesio@gmail.com",
        "time": "Tue Jul 18 00:10:45 2023 +0100"
      },
      "message": "Bump Gerrit and module to v3.8.1\n\nChange-Id: Iabdb04d9aea861b0f986720649a0d43393c7e648\n"
    },
    {
      "commit": "3b1d5c1a749ed744aeb5b1a0a5a1a1363e673842",
      "tree": "f0d2c20a80f2850c1ffc1c74180cb105cfa1f321",
      "parents": [
        "0ab82a6efc6c73a6dc5c8d9c68c5d6ba9bbef459"
      ],
      "author": {
        "name": "Luca Milanesio",
        "email": "luca.milanesio@gmail.com",
        "time": "Tue Jul 18 00:09:33 2023 +0100"
      },
      "committer": {
        "name": "Luca Milanesio",
        "email": "luca.milanesio@gmail.com",
        "time": "Tue Jul 18 00:09:33 2023 +0100"
      },
      "message": "Bump Gerrit and module to v3.6.6\n\nChange-Id: Id56ec283151a6957af5aaa5da3ec743cf830dc5e\n"
    },
    {
      "commit": "df0d912640ef6bb3f93e85ac31e11ffaa4af3d8b",
      "tree": "18f6024ddb82054880202158d5488fe617dbce3d",
      "parents": [
        "342ec531b86619a56caba7218fc7361d5bd8d018"
      ],
      "author": {
        "name": "Luca Milanesio",
        "email": "luca.milanesio@gmail.com",
        "time": "Tue Jul 18 00:08:33 2023 +0100"
      },
      "committer": {
        "name": "Luca Milanesio",
        "email": "luca.milanesio@gmail.com",
        "time": "Tue Jul 18 00:08:33 2023 +0100"
      },
      "message": "Bump Gerrit and module to v3.5.6\n\nChange-Id: Iac1dd5317adf78ced733d838a21779eedac6b0c3\n"
    },
    {
      "commit": "1760827960d0ce185779cc341789156975af325c",
      "tree": "1ae925e74569cee9065707c6b40208068a1fb085",
      "parents": [
        "13a37621bbf73a72dfab9b17ba1981579bf7db6f",
        "cf8938bc4dab321dc554e837b8343d43be6494a7"
      ],
      "author": {
        "name": "Luca Milanesio",
        "email": "luca.milanesio@gmail.com",
        "time": "Mon Jul 17 21:01:14 2023 +0100"
      },
      "committer": {
        "name": "Luca Milanesio",
        "email": "luca.milanesio@gmail.com",
        "time": "Mon Jul 17 21:01:14 2023 +0100"
      },
      "message": "Merge branch \u0027stable-3.7\u0027\n\n* stable-3.7:\n  Fix flogger format string\n  Fix Flogger formatting errors raised by errorprone\n\nChange-Id: Ib7d6da66f8e9d519c2f924fd23dc3d48a65ced33\n"
    },
    {
      "commit": "cf8938bc4dab321dc554e837b8343d43be6494a7",
      "tree": "ebdc03602436041a75ef1e5e70ed2d5a34aea052",
      "parents": [
        "e9b707a65d6f1eeb9d5dca89ed60ed31a520c517",
        "0ab82a6efc6c73a6dc5c8d9c68c5d6ba9bbef459"
      ],
      "author": {
        "name": "Luca Milanesio",
        "email": "luca.milanesio@gmail.com",
        "time": "Mon Jul 17 21:00:56 2023 +0100"
      },
      "committer": {
        "name": "Luca Milanesio",
        "email": "luca.milanesio@gmail.com",
        "time": "Mon Jul 17 21:00:56 2023 +0100"
      },
      "message": "Merge branch \u0027stable-3.6\u0027 into stable-3.7\n\n* stable-3.6:\n  Fix flogger format string\n  Fix Flogger formatting errors raised by errorprone\n\nChange-Id: I5507ef7ba700d5089842489d2fa861acbfcbcf95\n"
    },
    {
      "commit": "0ab82a6efc6c73a6dc5c8d9c68c5d6ba9bbef459",
      "tree": "41913c634e2643fd0d0c75b7e9bd3e01f20cb35a",
      "parents": [
        "cd0f465723bd85b260b8dc8c582cdb10129b3235",
        "342ec531b86619a56caba7218fc7361d5bd8d018"
      ],
      "author": {
        "name": "Luca Milanesio",
        "email": "luca.milanesio@gmail.com",
        "time": "Mon Jul 17 21:00:28 2023 +0100"
      },
      "committer": {
        "name": "Luca Milanesio",
        "email": "luca.milanesio@gmail.com",
        "time": "Mon Jul 17 21:00:28 2023 +0100"
      },
      "message": "Merge branch \u0027stable-3.5\u0027 into stable-3.6\n\n* stable-3.5:\n  Fix flogger format string\n  Fix Flogger formatting errors raised by errorprone\n\nChange-Id: If0cff17369d64bed7504a0ba528e55b22c94796f\n"
    },
    {
      "commit": "342ec531b86619a56caba7218fc7361d5bd8d018",
      "tree": "919472695cc9e93e7e6c32e01f1b9148785f13ca",
      "parents": [
        "be96eae9e16489e5dd30082df925483d575a6e76"
      ],
      "author": {
        "name": "Luca Milanesio",
        "email": "luca.milanesio@gmail.com",
        "time": "Mon May 02 11:02:13 2022 +0100"
      },
      "committer": {
        "name": "Luca Milanesio",
        "email": "luca.milanesio@gmail.com",
        "time": "Mon Jul 17 20:44:43 2023 +0100"
      },
      "message": "Fix flogger format string\n\nChange-Id: I765aaa0eb0869385c5d2aee6db1d28eb614836ae\n"
    },
    {
      "commit": "be96eae9e16489e5dd30082df925483d575a6e76",
      "tree": "a33626e3d870f84117a95043471142f57d998f31",
      "parents": [
        "cb5f406a73b452d664c96528959e379db5211af3"
      ],
      "author": {
        "name": "Luca Milanesio",
        "email": "luca.milanesio@gmail.com",
        "time": "Mon Jun 12 21:09:14 2023 +0100"
      },
      "committer": {
        "name": "Luca Milanesio",
        "email": "luca.milanesio@gmail.com",
        "time": "Mon Jul 17 20:18:54 2023 +0100"
      },
      "message": "Fix Flogger formatting errors raised by errorprone\n\nChange-Id: I30f143fceb905cd6531e5f0bee8b041922dc9a04\n"
    },
    {
      "commit": "13a37621bbf73a72dfab9b17ba1981579bf7db6f",
      "tree": "1ae925e74569cee9065707c6b40208068a1fb085",
      "parents": [
        "bb327e40cfafe7748e9959a484e41a6e05b17b24",
        "e9b707a65d6f1eeb9d5dca89ed60ed31a520c517"
      ],
      "author": {
        "name": "Luca Milanesio",
        "email": "luca.milanesio@gmail.com",
        "time": "Mon Jul 17 20:07:59 2023 +0100"
      },
      "committer": {
        "name": "Luca Milanesio",
        "email": "luca.milanesio@gmail.com",
        "time": "Mon Jul 17 20:07:59 2023 +0100"
      },
      "message": "Merge branch \u0027stable-3.7\u0027\n\n* stable-3.7:\n  Move to the standard Gerrit plugins verifier\n\nChange-Id: I4e6756f4cf16796f984889386953a8f2e0fa415b\n"
    },
    {
      "commit": "e9b707a65d6f1eeb9d5dca89ed60ed31a520c517",
      "tree": "ebdc03602436041a75ef1e5e70ed2d5a34aea052",
      "parents": [
        "1dbf4dba5fff24225452ad9b51b15faf73c16d3a",
        "cd0f465723bd85b260b8dc8c582cdb10129b3235"
      ],
      "author": {
        "name": "Luca Milanesio",
        "email": "luca.milanesio@gmail.com",
        "time": "Mon Jul 17 20:07:36 2023 +0100"
      },
      "committer": {
        "name": "Luca Milanesio",
        "email": "luca.milanesio@gmail.com",
        "time": "Mon Jul 17 20:07:36 2023 +0100"
      },
      "message": "Merge branch \u0027stable-3.6\u0027 into stable-3.7\n\n* stable-3.6:\n  Move to the standard Gerrit plugins verifier\n\nChange-Id: Ic371f4302b835494bedd015a58b0c93aa2448b82\n"
    },
    {
      "commit": "cd0f465723bd85b260b8dc8c582cdb10129b3235",
      "tree": "41913c634e2643fd0d0c75b7e9bd3e01f20cb35a",
      "parents": [
        "db15ea1124d9a8169f08fd715b96f9dc6e8518a1",
        "cb5f406a73b452d664c96528959e379db5211af3"
      ],
      "author": {
        "name": "Luca Milanesio",
        "email": "luca.milanesio@gmail.com",
        "time": "Mon Jul 17 20:06:47 2023 +0100"
      },
      "committer": {
        "name": "Luca Milanesio",
        "email": "luca.milanesio@gmail.com",
        "time": "Mon Jul 17 20:06:47 2023 +0100"
      },
      "message": "Merge branch \u0027stable-3.5\u0027 into stable-3.6\n\n* stable-3.5:\n  Move to the standard Gerrit plugins verifier\n\nChange-Id: I8e426b40b0a432e469db79e2691c51eeedc1c3c8\n"
    },
    {
      "commit": "cb5f406a73b452d664c96528959e379db5211af3",
      "tree": "081146910640601e7f9a2f4899900657cc2556c6",
      "parents": [
        "f69f695ae6daaf8c8728be88810a5e8ef16c1aff",
        "b548201ce71fbb9e79bd764ca6c428cb3171539e"
      ],
      "author": {
        "name": "Luca Milanesio",
        "email": "luca.milanesio@gmail.com",
        "time": "Mon Jul 17 20:05:43 2023 +0100"
      },
      "committer": {
        "name": "Luca Milanesio",
        "email": "luca.milanesio@gmail.com",
        "time": "Mon Jul 17 20:05:43 2023 +0100"
      },
      "message": "Merge branch \u0027stable-3.4\u0027 into stable-3.5\n\n* stable-3.4:\n  Move to the standard Gerrit plugins verifier\n\nChange-Id: Ia0188a38e5a5cd6d67a57c0c5eef25b95aaff380\n"
    },
    {
      "commit": "b548201ce71fbb9e79bd764ca6c428cb3171539e",
      "tree": "56eca5a8eeb3ee43a09027cda47abc9e931b551b",
      "parents": [
        "5bcb69edaf06a8a4d3628de141f50c3829f69370"
      ],
      "author": {
        "name": "Luca Milanesio",
        "email": "luca.milanesio@gmail.com",
        "time": "Mon Jul 17 15:01:44 2023 +0100"
      },
      "committer": {
        "name": "Luca Milanesio",
        "email": "luca.milanesio@gmail.com",
        "time": "Mon Jul 17 18:01:22 2023 +0000"
      },
      "message": "Move to the standard Gerrit plugins verifier\n\nChange-Id: I5c4a71f32d29ca856a1933d8da9b0e122110328a\n"
    },
    {
      "commit": "bb327e40cfafe7748e9959a484e41a6e05b17b24",
      "tree": "94fceecb3a1100cfb4b0d4251a1752fa3c894b83",
      "parents": [
        "bf245b94ab1ec7b854878765011567fb89b0ebec",
        "1dbf4dba5fff24225452ad9b51b15faf73c16d3a"
      ],
      "author": {
        "name": "Luca Milanesio",
        "email": "luca.milanesio@gmail.com",
        "time": "Mon Jul 17 13:53:19 2023 +0100"
      },
      "committer": {
        "name": "Luca Milanesio",
        "email": "luca.milanesio@gmail.com",
        "time": "Mon Jul 17 13:53:19 2023 +0100"
      },
      "message": "Merge branch \u0027stable-3.7\u0027\n\n* stable-3.7:\n  Bump Gerrit and plugin version to v3.7.4\n  Bump version to v3.6.3.4\n  Fix duplicate log appender creation\n  Bump version to v3.5.4.4\n  Bump version to v3.4.8.6\n  Consider robot comments as mutable ref for validation\n  Introduce isUpToDateUnchecked for silent global-refdb checks\n  Add Bazel build instructions\n  Define the artifact as Gerrit plugin\n  Set version to 3.7.2.1\n  Set version to v3.5.4.3\n  Don\u0027t unnecessarily format error message\n  [errorprone] Fix FloggerLogString errors\n  Set version to 3.4.8.4\n  Configure the set of refs prefixes to be ignored by the global-refdb\n  Fix flogger formatting issues spotted by errorprone\n  Set Gerrit and project version to 3.7.2\n  Bump the global-refdb version to 3.4.8.3\n  Make SharedRefDatabaseWrapper a singleton\n  Add warning when the GlobalRefDatabase is not injected\n  Bump the global-refdb version to 3.4.8.2\n  Add default implementation for the global-refdb logger\n\nChange-Id: I4334b1065203d8f2e13e4d07e47e832e50934fea\n"
    },
    {
      "commit": "1dbf4dba5fff24225452ad9b51b15faf73c16d3a",
      "tree": "cc68502960159f074162219074e99118d9b9a1c3",
      "parents": [
        "7a1f7b7a0015b63990daf0dcca0738f0ad4beca9"
      ],
      "author": {
        "name": "Luca Milanesio",
        "email": "luca.milanesio@gmail.com",
        "time": "Mon Jul 17 13:45:28 2023 +0100"
      },
      "committer": {
        "name": "Luca Milanesio",
        "email": "luca.milanesio@gmail.com",
        "time": "Mon Jul 17 13:45:28 2023 +0100"
      },
      "message": "Bump Gerrit and plugin version to v3.7.4\n\nChange-Id: I744c34e6acb34f4614bdd71faf6e2f40f7dd779b\n"
    }
  ],
  "next": "7a1f7b7a0015b63990daf0dcca0738f0ad4beca9"
}
