)]}'
{
  "commit": "0cdd76fb81939f57eef063c8ae070ca9b237f7bb",
  "tree": "8df9a1d53510c0b47a8e5a573e69b1a0373ffc8b",
  "parents": [
    "844d8fbe0d6cbb9f2ef1105fd7ae66222a8add0a"
  ],
  "author": {
    "name": "David Ostrovsky",
    "email": "david@ostrovsky.org",
    "time": "Sun Sep 13 18:49:12 2026 +0200"
  },
  "committer": {
    "name": "David Ostrovsky",
    "email": "david@ostrovsky.org",
    "time": "Tue Sep 22 11:25:03 2026 +0200"
  },
  "message": "Add OAuth token revocation support\n\nAdd RFC 7009 revocation to the native HTTP client and wire Google and\nKeycloak to their provider revocation endpoints.\n\nFlush cached Git-over-HTTP validations when core revokes a token, using\ntargeted invalidation when possible and a full flush when the account\ncannot be mapped safely.\n\nDepends-On: https://gerrit-review.googlesource.com/c/gerrit/+/630424\nChange-Id: I74514da03cd5a75e26ec7549c1f0a9ebec9c032d\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "96878e1043a547dcb8396cba13417b87f0fedbf5",
      "old_mode": 33188,
      "old_path": "src/main/java/com/googlesource/gerrit/plugins/oauth/Module.java",
      "new_id": "8d91a908e0461eabee5c0f4732d9f7f81c0e7ca1",
      "new_mode": 33188,
      "new_path": "src/main/java/com/googlesource/gerrit/plugins/oauth/Module.java"
    },
    {
      "type": "modify",
      "old_id": "f6b9c887dd74b59a8a31f5585bf67513ffa3fcd5",
      "old_mode": 33188,
      "old_path": "src/main/java/com/googlesource/gerrit/plugins/oauth/base/OAuthTokenValidationCache.java",
      "new_id": "b4ff4c99a422439a75884d8582185c887ffb3868",
      "new_mode": 33188,
      "new_path": "src/main/java/com/googlesource/gerrit/plugins/oauth/base/OAuthTokenValidationCache.java"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "3702e20fb56cdfb8f4769de3422847e90c329f46",
      "new_mode": 33188,
      "new_path": "src/main/java/com/googlesource/gerrit/plugins/oauth/base/OAuthTokenValidationCacheCleaner.java"
    },
    {
      "type": "modify",
      "old_id": "7f5d49839b2f1a9684c3b416495ea63e10145dd8",
      "old_mode": 33188,
      "old_path": "src/main/java/com/googlesource/gerrit/plugins/oauth/client/HttpOAuthClient.java",
      "new_id": "653a48704bbce30a9495c61ec3e393c48dd7956b",
      "new_mode": 33188,
      "new_path": "src/main/java/com/googlesource/gerrit/plugins/oauth/client/HttpOAuthClient.java"
    },
    {
      "type": "modify",
      "old_id": "bafc9fa0192e317128ba54f0219f02a1417716c9",
      "old_mode": 33188,
      "old_path": "src/main/java/com/googlesource/gerrit/plugins/oauth/client/OAuthClient.java",
      "new_id": "9124ce103b62c75f3a350670a6cecc5f43e099b7",
      "new_mode": 33188,
      "new_path": "src/main/java/com/googlesource/gerrit/plugins/oauth/client/OAuthClient.java"
    },
    {
      "type": "modify",
      "old_id": "abae4476196ce72991df2dd16d1fb0ff3fd70562",
      "old_mode": 33188,
      "old_path": "src/main/java/com/googlesource/gerrit/plugins/oauth/client/OAuthProviderEndpoints.java",
      "new_id": "01d8d06dd88a02b4f8551a09cf203b349b9b7bc5",
      "new_mode": 33188,
      "new_path": "src/main/java/com/googlesource/gerrit/plugins/oauth/client/OAuthProviderEndpoints.java"
    },
    {
      "type": "modify",
      "old_id": "40d56db47bb012200d98cdb05105b072ae2cc564",
      "old_mode": 33188,
      "old_path": "src/main/java/com/googlesource/gerrit/plugins/oauth/google/Google2Api.java",
      "new_id": "a8c1cf84809b6614f9a20bf8fd6d3cbebb1a4c1e",
      "new_mode": 33188,
      "new_path": "src/main/java/com/googlesource/gerrit/plugins/oauth/google/Google2Api.java"
    },
    {
      "type": "modify",
      "old_id": "98f392c5a6cc34dca6e2cf527f803986202f27b7",
      "old_mode": 33188,
      "old_path": "src/main/java/com/googlesource/gerrit/plugins/oauth/google/GoogleOAuthService.java",
      "new_id": "0978d17e7f7eaa8a36594adcbe4aabed12ec56b8",
      "new_mode": 33188,
      "new_path": "src/main/java/com/googlesource/gerrit/plugins/oauth/google/GoogleOAuthService.java"
    },
    {
      "type": "modify",
      "old_id": "6b15c7bde6b1ebb6aca9b577940242fe6d68c563",
      "old_mode": 33188,
      "old_path": "src/main/java/com/googlesource/gerrit/plugins/oauth/keycloak/KeycloakApi.java",
      "new_id": "bb5822f6e907262f00a50c51084537b30137a0eb",
      "new_mode": 33188,
      "new_path": "src/main/java/com/googlesource/gerrit/plugins/oauth/keycloak/KeycloakApi.java"
    },
    {
      "type": "modify",
      "old_id": "b454b1840049e11c53ba53cc76f1fbd456210676",
      "old_mode": 33188,
      "old_path": "src/main/java/com/googlesource/gerrit/plugins/oauth/keycloak/KeycloakOAuthService.java",
      "new_id": "2a3e6005166e695652c8ec6786a62e0c7d4b1a80",
      "new_mode": 33188,
      "new_path": "src/main/java/com/googlesource/gerrit/plugins/oauth/keycloak/KeycloakOAuthService.java"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "a2ad05f3ffb28e4544c33b615d8a402e4d8034a7",
      "new_mode": 33188,
      "new_path": "src/main/resources/Documentation/providers.md"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "e7d613b88d9081d9f9411657d05484735f0d5a8e",
      "new_mode": 33188,
      "new_path": "src/test/java/com/googlesource/gerrit/plugins/oauth/base/OAuthTokenValidationCacheCleanerTest.java"
    },
    {
      "type": "modify",
      "old_id": "63eeeae53405949bd6a7d178aa0ed84ab869d97c",
      "old_mode": 33188,
      "old_path": "src/test/java/com/googlesource/gerrit/plugins/oauth/base/OAuthTokenValidationCacheTest.java",
      "new_id": "d4840fb80360ec5dc4f56d07e3d9e4e48ebc80a1",
      "new_mode": 33188,
      "new_path": "src/test/java/com/googlesource/gerrit/plugins/oauth/base/OAuthTokenValidationCacheTest.java"
    },
    {
      "type": "modify",
      "old_id": "c720d71c4a5b89b38ff35058c4dca8146e0ff3d3",
      "old_mode": 33188,
      "old_path": "src/test/java/com/googlesource/gerrit/plugins/oauth/client/HttpOAuthClientTest.java",
      "new_id": "85920f9578288293fbff6bd695d34bae863cfa5c",
      "new_mode": 33188,
      "new_path": "src/test/java/com/googlesource/gerrit/plugins/oauth/client/HttpOAuthClientTest.java"
    }
  ]
}
