)]}'
{
  "commit": "7d17062cfc27898f9d0fc6d1e3c323f19b2b5ee8",
  "tree": "38b54885e578cde2967f65b272ea1c2935dc85d8",
  "parents": [
    "30ef8e2467aeaf9bd1f965e104436e0f97960ab1"
  ],
  "author": {
    "name": "David Åkerman",
    "email": "davidak@axis.com",
    "time": "Fri Feb 21 16:52:49 2025 +0100"
  },
  "committer": {
    "name": "David Åkerman",
    "email": "davidak@axis.com",
    "time": "Thu Aug 21 12:47:27 2025 +0200"
  },
  "message": "Add support for RabbitMQ streams\n\nWith streams you will be able to use the replay\nfunctionality. To keep track of the current message an\noffset is used. The offset is periodically saved/stored and\nwhen replayAll is called the consumer start to consume from the\nbeginning of the stream.\nEvery stream.windowSize we store\n(current offset - stream.windowSize) as the offset to make\nsure we replay missed messages when we restart a multi-site\ninstance.\n\nChange-Id: I51a49533248ce94d1e6831071b033869c86db6d8\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "441ad4298d01b5d700a6eab7e6a37aa1d3b2d5d3",
      "old_mode": 33188,
      "old_path": "BUILD",
      "new_id": "58248ca168dfd301257280adbdf9dd969bb2914e",
      "new_mode": 33188,
      "new_path": "BUILD"
    },
    {
      "type": "modify",
      "old_id": "2827eee63eacc1f8e9a680cc8aa32b6bad1fa1cf",
      "old_mode": 33188,
      "old_path": "external_plugin_deps.bzl",
      "new_id": "3cda8de24ae8d5ba4cc1e6e252534e26883addf7",
      "new_mode": 33188,
      "new_path": "external_plugin_deps.bzl"
    },
    {
      "type": "modify",
      "old_id": "56acd180839e545a9d1aa2c67e77e7cf2d56556a",
      "old_mode": 33188,
      "old_path": "src/main/java/com/googlesource/gerrit/plugins/rabbitmq/Module.java",
      "new_id": "6984f980e094b53e6b196a459ef324b5a4a22341",
      "new_mode": 33188,
      "new_path": "src/main/java/com/googlesource/gerrit/plugins/rabbitmq/Module.java"
    },
    {
      "type": "modify",
      "old_id": "ed72e1ca9c86ecd86bc081d328102098b671350d",
      "old_mode": 33188,
      "old_path": "src/main/java/com/googlesource/gerrit/plugins/rabbitmq/RabbitMqBrokerApi.java",
      "new_id": "649ac8a98f3cc2e227fe1dc540db86b50702e32e",
      "new_mode": 33188,
      "new_path": "src/main/java/com/googlesource/gerrit/plugins/rabbitmq/RabbitMqBrokerApi.java"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "7ac3059a5a7417fd71637a326e1cf85eaf3f7b60",
      "new_mode": 33188,
      "new_path": "src/main/java/com/googlesource/gerrit/plugins/rabbitmq/config/section/Stream.java"
    },
    {
      "type": "modify",
      "old_id": "ed803347fd58aa6a66ce7dbd1d33dd59b9ec238c",
      "old_mode": 33188,
      "old_path": "src/main/java/com/googlesource/gerrit/plugins/rabbitmq/message/BrokerApiSubscribers.java",
      "new_id": "d7acc924a8a0f39c07a1e3c28f48452394c2359d",
      "new_mode": 33188,
      "new_path": "src/main/java/com/googlesource/gerrit/plugins/rabbitmq/message/BrokerApiSubscribers.java"
    },
    {
      "type": "modify",
      "old_id": "5fd157773159896346fbeeb173aac9a74b7f7590",
      "old_mode": 33188,
      "old_path": "src/main/java/com/googlesource/gerrit/plugins/rabbitmq/session/SubscriberSession.java",
      "new_id": "bd0ff42d97d328f44a9748fa21e528b86214ff20",
      "new_mode": 33188,
      "new_path": "src/main/java/com/googlesource/gerrit/plugins/rabbitmq/session/SubscriberSession.java"
    },
    {
      "type": "modify",
      "old_id": "dcf12e344abfbebe04ec28623eef2a3e90c7686b",
      "old_mode": 33188,
      "old_path": "src/main/java/com/googlesource/gerrit/plugins/rabbitmq/session/type/AMQPSession.java",
      "new_id": "e06810a3572458e67b7f3599d05841aa7c5e9c64",
      "new_mode": 33188,
      "new_path": "src/main/java/com/googlesource/gerrit/plugins/rabbitmq/session/type/AMQPSession.java"
    },
    {
      "type": "modify",
      "old_id": "d19e0239640ba4df8070556512ce3c6d26456862",
      "old_mode": 33188,
      "old_path": "src/main/java/com/googlesource/gerrit/plugins/rabbitmq/session/type/AMQPSubscriberSession.java",
      "new_id": "b32537a94fe89f12bd4112c62d648fc507553a54",
      "new_mode": 33188,
      "new_path": "src/main/java/com/googlesource/gerrit/plugins/rabbitmq/session/type/AMQPSubscriberSession.java"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "8cf282a465bad96ed29a2916bf1347d1438ac0d6",
      "new_mode": 33188,
      "new_path": "src/main/java/com/googlesource/gerrit/plugins/rabbitmq/session/type/StreamSession.java"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "a266beb6a8f828907e65f4429bdc596a08cae2a1",
      "new_mode": 33188,
      "new_path": "src/main/java/com/googlesource/gerrit/plugins/rabbitmq/session/type/StreamSubscriberSession.java"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "57de96791b91efa9f175147ccadb93f5120b57bf",
      "new_mode": 33188,
      "new_path": "src/main/java/com/googlesource/gerrit/plugins/rabbitmq/session/type/SubscriberSessionFactoryImpl.java"
    },
    {
      "type": "modify",
      "old_id": "54cdee8c5016ed70d093a1adb0ddad53dff85cee",
      "old_mode": 33188,
      "old_path": "src/main/resources/Documentation/config.md",
      "new_id": "3b18e982f0e5165a7de7e399210208ad973afc2e",
      "new_mode": 33188,
      "new_path": "src/main/resources/Documentation/config.md"
    }
  ]
}
