You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@iggy.apache.org by pi...@apache.org on 2026/10/24 11:11:06 UTC

(iggy) branch feat/deferred-polling-pr updated (e0db6f20a -> f6eb3c3a4)

This is an automated email from the ASF dual-hosted git repository.

spetz pushed a change to branch feat/deferred-polling-pr
in repository https://gitbox.apache.org/repos/asf/iggy.git


    from e0db6f20a fix(ci): sync deferred polling SDK fixtures
     add d5a74c955 feat(ci): label prolific authors when pull requests open (#4622)
     add 969246ba7 chore(deps): Bump the python group across 3 directories with 1 update (#4596)
     add b15c8e1e9 chore: simplify team review and reuse CI results (#4592)
     add f10a0309b chore(deps): Bump the github-actions group across 1 directory with 3 updates (#4599)
     add aaa875f5b chore(deps): Bump the web group across 1 directory with 8 updates (#4621)
     add 405c84f5b chore(deps): Bump fast-uri from 3.1.8 to 3.1.9 in /foreign/node in the node-security group across 1 directory (#4630)
     add dbb9d2cce chore(deps): Bump the java group across 3 directories with 2 updates (#4600)
     add f7dc8cfe2 fix(partitions): finish state transfer for a replica whose view ran ahead (#4483)
     add b818d646b feat(metadata)!: let clients follow metadata changes without re-listing (#4625)
     add ce56aa130 fix(sdk): end a reconnect sweep's pause on disconnect and shutdown (#4569)
     add f6eb3c3a4 fix conflicts, bump versions

No new revisions were added by this update.

Summary of changes:
 .agents/skills/team-review-slim                    |    1 -
 .claude/skills/team-review-slim/SKILL.md           |  223 --
 .claude/skills/team-review-slim/agents/openai.yaml |   19 -
 .claude/skills/team-review/SKILL.md                |  172 +-
 .claude/skills/team-review/references/execution.md |   25 +-
 .github/actions/php/pre-merge/action.yml           |    2 +-
 .github/workflows/_common.yml                      |    4 +-
 .github/workflows/_rust_tests.yml                  |    3 +
 .github/workflows/_test_examples.yml               |    2 +-
 .github/workflows/coverage-baseline.yml            |    4 +-
 .github/workflows/post-merge.yml                   |    2 +-
 .github/workflows/pr-skill-review-post.yml         |   14 +-
 .github/workflows/pr-triage-apply.yml              |  149 +-
 .typos.toml                                        |    2 +
 AGENTS.md                                          |    3 +-
 CONTRIBUTING.md                                    |    8 +-
 Cargo.lock                                         |   16 +-
 Cargo.toml                                         |    8 +-
 README.md                                          |    4 +-
 .../step_definitions/metadata_changes_steps.cpp    |  333 +++
 .../step_definitions/resource_options_steps.cpp    |   40 +-
 bdd/cpp/features/step_definitions/world.hpp        |   20 +-
 bdd/cpp/scripts/entrypoint.sh                      |    1 +
 bdd/docker-compose.coverage.yml                    |    4 +-
 bdd/docker-compose.server.yml                      |    2 +
 bdd/docker-compose.yml                             |   11 +
 bdd/go/tests/metadata_changes.go                   |  471 ++++
 bdd/go/tests/resource_options.go                   |   36 +-
 bdd/go/tests/suite_test.go                         |   12 +
 bdd/java/build.gradle.kts                          |    2 +-
 .../org/apache/iggy/bdd/MetadataChangesSteps.java  |  302 +++
 .../org/apache/iggy/bdd/ResourceOptionsSteps.java  |   33 +
 bdd/node/Dockerfile                                |    1 +
 bdd/php/tests/MetadataChangesFeatureTest.php       |  329 +++
 bdd/php/tests/StreamOptionsFeatureTest.php         |   63 +-
 bdd/php/tests/StreamSteps.php                      |   99 +
 bdd/python/tests/conftest.py                       |  134 +-
 bdd/python/tests/test_metadata_changes.py          |  315 +++
 bdd/python/tests/test_stream_options.py            |  115 +-
 bdd/python/uv.lock                                 |   40 +-
 bdd/rust/Cargo.toml                                |    5 +
 bdd/rust/tests/common/global_context.rs            |    9 +-
 .../{session_contract.rs => metadata_changes.rs}   |    2 +-
 bdd/rust/tests/steps/metadata_changes.rs           |  339 +++
 bdd/rust/tests/steps/mod.rs                        |    1 +
 bdd/scenarios/metadata_changes.feature             |   70 +
 core/ai/mcp/Cargo.toml                             |    2 +-
 core/bench/Cargo.toml                              |    2 +-
 core/binary_protocol/Cargo.toml                    |    2 +-
 core/binary_protocol/src/codes.rs                  |    2 +
 core/binary_protocol/src/dispatch.rs               |    9 +-
 .../src/primitives/metadata_changes/body.rs        | 1771 +++++++++++++++
 .../src/primitives/metadata_changes/mod.rs         |  454 ++++
 .../src/primitives/metadata_changes/position.rs    |  384 ++++
 core/binary_protocol/src/primitives/mod.rs         |    1 +
 .../src/requests/system/get_metadata_changes.rs    |  322 +++
 core/binary_protocol/src/requests/system/mod.rs    |    2 +
 .../src/responses/system/get_metadata_changes.rs   |  488 +++++
 core/binary_protocol/src/responses/system/mod.rs   |    4 +
 core/cli/Cargo.toml                                |    2 +-
 core/cli/src/args/metadata.rs                      |  117 +
 core/cli/src/args/mod.rs                           |    5 +
 .../src/commands/binary_system/metadata_changes.rs |  337 +++
 core/cli/src/commands/binary_system/mod.rs         |    1 +
 core/cli/src/commands/cli_command.rs               |    4 +
 core/cli/src/main.rs                               |   19 +-
 core/common/Cargo.toml                             |    4 +-
 .../examples/metadata_changes_fixtures.rs}         |   26 +-
 .../examples/metadata_changes_fixtures/schema.rs   | 1692 +++++++++++++++
 core/common/fixtures/metadata_changes.json         | 1997 +++++++++++++++++
 core/common/src/lib.rs                             |    1 +
 core/common/src/traits/binary_impls/system.rs      |  239 ++-
 core/common/src/traits/system_client.rs            |   13 +-
 core/common/src/types/metadata_changes/answer.rs   |  114 +
 core/common/src/types/metadata_changes/json.rs     |  117 +
 core/common/src/types/metadata_changes/mod.rs      |  586 +++++
 core/common/src/types/metadata_changes/position.rs |  381 ++++
 core/common/src/types/metadata_changes/query.rs    |  429 ++++
 core/common/src/types/metadata_changes/records.rs  | 1205 +++++++++++
 core/common/src/types/metadata_changes/wire.rs     |  731 +++++++
 core/common/src/types/mod.rs                       |    1 +
 core/common/src/utils/timestamp.rs                 |    8 +
 core/common/tests/metadata_changes_fixtures.rs     |  267 +++
 core/configs/src/server_config/defaults.rs         |    2 +
 core/configs/src/server_config/displays.rs         |    4 +-
 core/configs/src/server_config/metadata.rs         |  132 +-
 core/configs/src/server_config/server.rs           |   19 +
 core/connectors/runtime/Cargo.toml                 |    2 +-
 core/consensus/src/client_table.rs                 |   26 +
 core/consensus/src/impls.rs                        |  144 ++
 .../tests/cli/general/test_help_command.rs         |    1 +
 .../tests/cli/general/test_overview_command.rs     |    1 +
 .../tests/cli/metadata}/mod.rs                     |    2 +-
 .../cli/metadata/test_metadata_changes_command.rs  |  219 ++
 core/integration/tests/cli/mod.rs                  |    1 +
 core/integration/tests/cluster/metadata_changes.rs |  492 +++++
 core/integration/tests/cluster/mod.rs              |    1 +
 core/integration/tests/sdk/metadata_changes.rs     | 1467 +++++++++++++
 core/integration/tests/sdk/mod.rs                  |    1 +
 .../server/scenarios/authentication_scenario.rs    |   82 +-
 core/metadata/Cargo.toml                           |    6 +
 core/metadata/benches/change_log.rs                |  415 ++++
 core/metadata/src/change_log/current.rs            |  618 ++++++
 core/metadata/src/change_log/mod.rs                |  304 +++
 core/metadata/src/change_log/query.rs              |  682 ++++++
 core/metadata/src/change_log/snapshot.rs           |  471 ++++
 core/metadata/src/change_log/store.rs              |  717 +++++++
 core/metadata/src/change_log/tests.rs              | 2217 +++++++++++++++++++
 core/metadata/src/impls/metadata.rs                |  510 ++++-
 core/metadata/src/impls/recovery.rs                |  414 +++-
 core/metadata/src/lib.rs                           |    5 +-
 .../src/permissioner/permissioner_rules/system.rs  |   37 +
 core/metadata/src/stm/authz.rs                     |   96 +-
 core/metadata/src/stm/consumer_group.rs            |  407 +++-
 core/metadata/src/stm/id_slab.rs                   |   27 +
 core/metadata/src/stm/lifecycle.rs                 |    9 +-
 core/metadata/src/stm/mod.rs                       |   11 +
 core/metadata/src/stm/result.rs                    |   14 +-
 core/metadata/src/stm/snapshot.rs                  |   57 +-
 core/metadata/src/stm/stream.rs                    |  240 ++-
 core/metadata/src/stm/user.rs                      |  230 +-
 core/partitions/src/iggy_partition.rs              |  791 ++++++-
 core/partitions/src/journal.rs                     |   48 +-
 core/partitions/src/types.rs                       |    7 +
 core/sdk/Cargo.toml                                |    2 +-
 core/sdk/README.md                                 |   76 +
 .../src/client_wrappers/binary_system_client.rs    |   18 +-
 core/sdk/src/clients/binary_system.rs              |   12 +-
 core/sdk/src/http/system.rs                        |   16 +
 core/sdk/src/links/replicas.rs                     |  238 ++-
 core/sdk/src/prelude.rs                            |   13 +
 core/server/Cargo.toml                             |    2 +-
 core/server/README.md                              |   28 +-
 core/server/config.toml                            |   14 +
 core/server/server.http                            |   22 +
 core/server/src/boot/handoff.rs                    |   38 +-
 core/server/src/boot/mod.rs                        |  137 +-
 core/server/src/boot/recovery.rs                   |   11 +
 core/server/src/consumer_group/liveness.rs         |    2 +
 core/server/src/dispatch/authz.rs                  |   10 +-
 core/server/src/dispatch/metadata_changes.rs       |  127 ++
 core/server/src/dispatch/mod.rs                    |   80 +-
 core/server/src/dispatch/reads.rs                  |   37 +-
 core/server/src/dispatch/submit.rs                 |    8 +
 core/server/src/http.rs                            |   11 +-
 core/server/src/http/handlers.rs                   |   47 +-
 core/server/src/http/reads.rs                      |   96 +-
 core/server/src/partition_reconciler.rs            |   18 +-
 core/server/src/responses.rs                       |    1 +
 core/server/src/shell.rs                           |   15 +-
 core/shard/src/lib.rs                              |  295 ++-
 core/shard/src/partition_io.rs                     |    5 +
 core/shard/src/poll/completion_tests.rs            | 1130 +++++++++-
 core/simulator/src/bin/workload-fuzz.rs            |    5 +-
 core/simulator/src/lib.rs                          |    8 +
 core/simulator/src/replica.rs                      |   44 +-
 core/simulator/src/workload/change_log_oracle.rs   |  434 ++++
 core/simulator/src/workload/invariants.rs          |    5 +
 core/simulator/src/workload/mod.rs                 |    1 +
 core/simulator/src/workload/oracle.rs              |   12 +
 examples/java/build.gradle.kts                     |    2 +-
 examples/node/package-lock.json                    |    4 +-
 examples/python/pyproject.toml                     |    2 +-
 examples/python/uv.lock                            |   42 +-
 foreign/cpp/BUILD.bazel                            |    4 +
 foreign/cpp/Cargo.toml                             |    2 +-
 foreign/cpp/MODULE.bazel                           |    2 +-
 foreign/cpp/README.md                              |   88 +-
 foreign/cpp/include/iggy.hpp                       | 2006 +++++++++++++++--
 foreign/cpp/src/client.cpp                         |   73 +-
 foreign/cpp/src/client.rs                          |  123 +-
 foreign/cpp/src/lib.rs                             |  187 +-
 foreign/cpp/src/type_conversion.rs                 |  661 +++++-
 foreign/cpp/src/type_conversions.cpp               |  448 ++++
 foreign/cpp/tests/e2e/metadata_changes.cpp         |  423 ++++
 foreign/cpp/tests/fixtures/metadata_changes.json   | 1997 +++++++++++++++++
 foreign/cpp/tests/unit/metadata_changes.cpp        |  820 +++++++
 .../Iggy_SDK.Tests.BDD/Context/TestContext.cs      |    1 +
 .../csharp/Iggy_SDK.Tests.BDD/Context/TestHooks.cs |    1 +
 .../Iggy_SDK.Tests.BDD/Iggy_SDK.Tests.BDD.csproj   |    3 +
 .../StepDefinitions/MetadataChangesSteps.cs        |  306 +++
 .../StepDefinitions/ResourceOptionsSteps.cs        |    8 +
 .../IggyTlsConnectionTests.cs                      |   39 +
 .../MetadataChangesTests.cs                        |  483 +++++
 .../Iggy_SDK/Contracts/MetadataChangeBodies.cs     |  570 +++++
 .../Iggy_SDK/Contracts/MetadataChangeCursor.cs     |  103 +
 .../Iggy_SDK/Contracts/MetadataChangeGroups.cs     |  116 +
 .../csharp/Iggy_SDK/Contracts/MetadataChanges.cs   |  122 ++
 .../Iggy_SDK/Contracts/MetadataChangesQuery.cs     |  187 ++
 .../Iggy_SDK/Contracts/MetadataCurrentPageToken.cs |  186 ++
 foreign/csharp/Iggy_SDK/Contracts/OptionValues.cs  |   13 +
 .../{TransportEndpoints.cs => SnakeCaseNames.cs}   |   33 +-
 .../csharp/Iggy_SDK/Contracts/StreamResponse.cs    |    8 +-
 .../csharp/Iggy_SDK/Contracts/Tcp/TcpContracts.cs  |   40 +
 ...ystemSnapshotType.cs => MetadataChangeGroup.cs} |   35 +-
 .../csharp/Iggy_SDK/Enums/MetadataChangeKind.cs    |   88 +
 .../{UserStatus.cs => MetadataChangePhase.cs}      |   16 +-
 ...otCompression.cs => MetadataChangeStartMode.cs} |   26 +-
 ...pshotCompression.cs => MetadataChangeStatus.cs} |   26 +-
 .../{Protocol.cs => MetadataMemberLeftReason.cs}   |   16 +-
 ...Type.cs => MetadataPermissionsUpdatedReason.cs} |   16 +-
 ...serStatus.cs => MetadataSessionClosedReason.cs} |   19 +-
 ...UserStatus.cs => MetadataTokenDeletedReason.cs} |   16 +-
 foreign/csharp/Iggy_SDK/IggyClient/IIggySystem.cs  |   20 +
 .../Implementations/HttpMessageStream.cs           |   17 +
 .../IggyClient/Implementations/TcpMessageStream.cs |   13 +
 foreign/csharp/Iggy_SDK/Iggy_SDK.csproj            |    2 +-
 .../JsonConverters/MetadataChangesConverter.cs     |  499 +++++
 .../Mappers/BinaryMapper.MetadataChanges.cs        |  773 +++++++
 foreign/csharp/Iggy_SDK/Mappers/BinaryMapper.cs    |   92 +-
 foreign/csharp/Iggy_SDK/Utils/Base64Url.cs         |   78 +
 foreign/csharp/Iggy_SDK/Utils/CommandCodes.cs      |    1 +
 foreign/csharp/Iggy_SDK/Vsr/VsrOperation.cs        |    1 +
 .../ClientTests/HttpMetadataChangesTests.cs        |  194 ++
 .../Iggy_SDK_Tests/Fixtures/metadata_changes.json  | 1997 +++++++++++++++++
 .../csharp/Iggy_SDK_Tests/Iggy_SDK_Tests.csproj    |    3 +
 .../Iggy_SDK_Tests/MapperTests/BinaryMapper.cs     |   15 +
 .../MapperTests/MetadataChangesTests.cs            |  844 ++++++++
 foreign/csharp/README.md                           |   83 +
 foreign/go/README.md                               |   79 +
 .../metadata_changes_deserializer.go               |  636 ++++++
 foreign/go/client/example_metadata_changes_test.go |  112 +
 foreign/go/client/tcp/tcp_utilities.go             |   11 +
 foreign/go/contracts/client.go                     |   10 +
 foreign/go/contracts/metadata_change_position.go   |  323 +++
 foreign/go/contracts/metadata_changes.go           |  762 +++++++
 foreign/go/contracts/metadata_changes_test.go      |  936 ++++++++
 .../go/contracts/testdata/metadata_changes.json    | 1997 +++++++++++++++++
 foreign/go/contracts/version.go                    |    2 +-
 foreign/go/internal/command/code.go                |    1 +
 foreign/go/internal/command/system.go              |   68 +
 foreign/go/internal/command/system_test.go         |  112 +
 foreign/go/internal/vsr/operation_test.go          |    1 +
 foreign/go/tests/e2e_metadata_changes_test.go      |  399 ++++
 foreign/go/tests/e2e_resource_options_test.go      |    1 +
 foreign/java/README.md                             |   70 +-
 foreign/java/gradle.properties                     |    2 +-
 foreign/java/gradle/libs.versions.toml             |    4 +-
 .../org/apache/iggy/client/async/SystemClient.java |   15 +
 .../iggy/client/async/tcp/SystemTcpClient.java     |   25 +
 .../apache/iggy/client/blocking/SystemClient.java  |   16 +
 .../client/blocking/http/MetadataChangesJson.java  |  517 +++++
 .../client/blocking/http/SystemHttpClient.java     |   11 +
 .../iggy/client/blocking/tcp/SystemTcpClient.java  |    7 +
 .../java/org/apache/iggy/message/Partitioning.java |   11 +-
 .../org/apache/iggy/serde/BytesDeserializer.java   |   46 +-
 .../org/apache/iggy/serde/BytesSerializer.java     |   35 +
 .../java/org/apache/iggy/serde/CommandCode.java    |    1 +
 .../apache/iggy/serde/MetadataChangesReader.java   |  620 ++++++
 .../apache/iggy/stream/EncryptionProjection.java   |    7 +-
 .../org/apache/iggy/system/MetadataChangeBody.java |  475 ++++
 .../apache/iggy/system/MetadataChangeCursor.java   |  108 +
 .../apache/iggy/system/MetadataChangeEncoding.java |   92 +
 .../apache/iggy/system/MetadataChangeGroup.java    |  123 ++
 .../org/apache/iggy/system/MetadataChangeKind.java |   91 +
 .../apache/iggy/system/MetadataChangePhase.java    |   66 +
 .../apache/iggy/system/MetadataChangeRecord.java   |   51 +
 .../apache/iggy/system/MetadataChangeStart.java    |   95 +
 .../apache/iggy/system/MetadataChangeStatus.java   |   70 +
 .../org/apache/iggy/system/MetadataChanges.java    |   60 +
 .../apache/iggy/system/MetadataChangesQuery.java   |  194 ++
 .../{ClientInfo.java => MetadataCurrentItem.java}  |   10 +-
 .../iggy/system/MetadataCurrentPageToken.java      |  169 ++
 .../org/apache/iggy/MetadataChangesFixture.java    |  322 +++
 .../java/org/apache/iggy/ProtocolParityTest.java   |    1 +
 .../iggy/client/async/MetadataChangesTest.java     |  248 +++
 .../iggy/client/blocking/SystemClientBaseTest.java |  412 ++++
 .../blocking/http/MetadataChangesJsonTest.java     |  113 +
 .../client/blocking/tcp/TlsConnectionTest.java     |   40 +
 .../org/apache/iggy/serde/MetadataChangesTest.java |  410 ++++
 .../src/test/resources/metadata_changes.json       | 1997 +++++++++++++++++
 foreign/node/README.md                             |   67 +-
 foreign/node/package-lock.json                     |   11 +-
 foreign/node/package.json                          |    2 +-
 foreign/node/src/bdd/README.md                     |    2 +
 foreign/node/src/bdd/metadata-changes.ts           |  252 +++
 foreign/node/src/bdd/world.ts                      |   15 +-
 foreign/node/src/client/client.socket.test.ts      |   34 +
 foreign/node/src/client/client.socket.ts           |    4 +-
 ...est-client.utils.ts => metadata-changes.e2e.ts} |   13 +-
 foreign/node/src/e2e/metadata-changes.suite.ts     |  369 ++++
 foreign/node/src/e2e/resource-options.e2e.ts       |    5 +
 foreign/node/src/e2e/tls.system.e2e.ts             |    9 +
 foreign/node/src/index.ts                          |   48 +
 foreign/node/src/wire/command-set.ts               |    4 +-
 foreign/node/src/wire/command.code.ts              |    1 +
 .../node/src/wire/fixtures/metadata_changes.json   | 1997 +++++++++++++++++
 .../system/get-metadata-changes.command.test.ts    |  623 ++++++
 .../wire/system/get-metadata-changes.command.ts    |  259 +++
 foreign/node/src/wire/system/index.ts              |   17 +
 .../node/src/wire/system/metadata-changes.utils.ts | 1164 ++++++++++
 foreign/php/Cargo.toml                             |    4 +-
 foreign/php/README.md                              |   73 +
 foreign/php/iggy-php.stubs.php                     | 1139 ++++++++++
 foreign/php/src/client.rs                          |   56 +-
 foreign/php/src/lib.rs                             |   50 +
 foreign/php/src/metadata_changes.rs                | 2005 +++++++++++++++++
 foreign/php/tests/MetadataChangesTest.php          |  840 ++++++++
 foreign/php/tests/TlsTest.php                      |   35 +
 foreign/php/tests/bootstrap.php                    |   66 +-
 foreign/php/tests/fixtures/metadata_changes.json   | 1997 +++++++++++++++++
 foreign/python/Cargo.toml                          |    4 +-
 foreign/python/README.md                           |   70 +
 foreign/python/apache_iggy.pyi                     | 1419 ++++++++++--
 foreign/python/pyproject.toml                      |    2 +-
 foreign/python/src/bin/stub_gen.rs                 |   67 +-
 foreign/python/src/client.rs                       |   51 +
 foreign/python/src/lib.rs                          |   50 +
 foreign/python/src/metadata_changes.rs             | 2257 ++++++++++++++++++++
 .../python/tests/fixtures/metadata_changes.json    | 1997 +++++++++++++++++
 foreign/python/tests/test_metadata_changes.py      |  455 ++++
 foreign/python/tests/test_resource_options.py      |   40 +
 foreign/python/tests/test_stub.py                  |   65 +
 foreign/python/tests/test_tls.py                   |   32 +-
 foreign/python/tests/utils.py                      |   69 +-
 foreign/python/uv.lock                             |   40 +-
 foreign/swift/README.md                            |   65 +-
 foreign/swift/Sources/Iggy/Client/IggyClient.swift |   17 +
 foreign/swift/Sources/Iggy/Iggy.swift              |    2 +-
 .../Sources/Iggy/Models/MetadataChanges.swift      | 1510 +++++++++++++
 .../swift/Sources/Iggy/Protocol/CommandCode.swift  |    2 +
 foreign/swift/Sources/Iggy/Protocol/Requests.swift |   36 +
 .../swift/Sources/Iggy/Protocol/Responses.swift    |   83 +
 .../IggyE2ETests/MetadataChangesE2ETests.swift     |  375 ++++
 foreign/swift/Tests/IggyTests/Fixtures/golden.json |   10 +-
 .../Tests/IggyTests/Fixtures/metadata_changes.json | 1997 +++++++++++++++++
 .../Tests/IggyTests/MetadataChangesTests.swift     |  678 ++++++
 .../Tests/IggyTests/ResponseVectorTests.swift      |   26 +
 .../IggyTests/Support/MetadataChangesFixture.swift |  107 +
 .../swift/Tests/IggyTests/WireVectorTests.swift    |    6 +
 foreign/swift/Tools/golden-vectors/src/main.rs     |   70 +-
 scripts/run-bdd-tests.sh                           |    6 +-
 web/docs/server-api.http                           |   16 +
 web/package-lock.json                              |  186 +-
 web/package.json                                   |   18 +-
 web/src/lib/api/fetchMetadataChanges.ts            |   65 +
 web/src/lib/api/metadataChanges.test.mjs           |  279 +++
 web/src/lib/api/metadataChanges.ts                 |  251 +++
 web/src/lib/components/Navbar.svelte               |   16 +
 web/src/lib/types/appRoutes.ts                     |    1 +
 web/src/routes/dashboard/+layout.ts                |    4 +-
 web/src/routes/dashboard/changes/+page.svelte      |  564 +++++
 342 files changed, 77216 insertions(+), 2066 deletions(-)
 delete mode 120000 .agents/skills/team-review-slim
 delete mode 100644 .claude/skills/team-review-slim/SKILL.md
 delete mode 100644 .claude/skills/team-review-slim/agents/openai.yaml
 create mode 100644 bdd/cpp/features/step_definitions/metadata_changes_steps.cpp
 create mode 100644 bdd/go/tests/metadata_changes.go
 create mode 100644 bdd/java/src/test/java/org/apache/iggy/bdd/MetadataChangesSteps.java
 create mode 100644 bdd/php/tests/MetadataChangesFeatureTest.php
 create mode 100644 bdd/php/tests/StreamSteps.php
 create mode 100644 bdd/python/tests/test_metadata_changes.py
 copy bdd/rust/tests/{session_contract.rs => metadata_changes.rs} (94%)
 create mode 100644 bdd/rust/tests/steps/metadata_changes.rs
 create mode 100644 bdd/scenarios/metadata_changes.feature
 create mode 100644 core/binary_protocol/src/primitives/metadata_changes/body.rs
 create mode 100644 core/binary_protocol/src/primitives/metadata_changes/mod.rs
 create mode 100644 core/binary_protocol/src/primitives/metadata_changes/position.rs
 create mode 100644 core/binary_protocol/src/requests/system/get_metadata_changes.rs
 create mode 100644 core/binary_protocol/src/responses/system/get_metadata_changes.rs
 create mode 100644 core/cli/src/args/metadata.rs
 create mode 100644 core/cli/src/commands/binary_system/metadata_changes.rs
 copy core/{connectors/sdk/src/encoders/raw.rs => common/examples/metadata_changes_fixtures.rs} (60%)
 create mode 100644 core/common/examples/metadata_changes_fixtures/schema.rs
 create mode 100644 core/common/fixtures/metadata_changes.json
 create mode 100644 core/common/src/types/metadata_changes/answer.rs
 create mode 100644 core/common/src/types/metadata_changes/json.rs
 create mode 100644 core/common/src/types/metadata_changes/mod.rs
 create mode 100644 core/common/src/types/metadata_changes/position.rs
 create mode 100644 core/common/src/types/metadata_changes/query.rs
 create mode 100644 core/common/src/types/metadata_changes/records.rs
 create mode 100644 core/common/src/types/metadata_changes/wire.rs
 create mode 100644 core/common/tests/metadata_changes_fixtures.rs
 copy core/{bench/dashboard/frontend/src/components/theme => integration/tests/cli/metadata}/mod.rs (95%)
 create mode 100644 core/integration/tests/cli/metadata/test_metadata_changes_command.rs
 create mode 100644 core/integration/tests/cluster/metadata_changes.rs
 create mode 100644 core/integration/tests/sdk/metadata_changes.rs
 create mode 100644 core/metadata/benches/change_log.rs
 create mode 100644 core/metadata/src/change_log/current.rs
 create mode 100644 core/metadata/src/change_log/mod.rs
 create mode 100644 core/metadata/src/change_log/query.rs
 create mode 100644 core/metadata/src/change_log/snapshot.rs
 create mode 100644 core/metadata/src/change_log/store.rs
 create mode 100644 core/metadata/src/change_log/tests.rs
 create mode 100644 core/server/src/dispatch/metadata_changes.rs
 create mode 100644 core/simulator/src/workload/change_log_oracle.rs
 create mode 100644 foreign/cpp/tests/e2e/metadata_changes.cpp
 create mode 100644 foreign/cpp/tests/fixtures/metadata_changes.json
 create mode 100644 foreign/cpp/tests/unit/metadata_changes.cpp
 create mode 100644 foreign/csharp/Iggy_SDK.Tests.BDD/StepDefinitions/MetadataChangesSteps.cs
 create mode 100644 foreign/csharp/Iggy_SDK.Tests.Integration/MetadataChangesTests.cs
 create mode 100644 foreign/csharp/Iggy_SDK/Contracts/MetadataChangeBodies.cs
 create mode 100644 foreign/csharp/Iggy_SDK/Contracts/MetadataChangeCursor.cs
 create mode 100644 foreign/csharp/Iggy_SDK/Contracts/MetadataChangeGroups.cs
 create mode 100644 foreign/csharp/Iggy_SDK/Contracts/MetadataChanges.cs
 create mode 100644 foreign/csharp/Iggy_SDK/Contracts/MetadataChangesQuery.cs
 create mode 100644 foreign/csharp/Iggy_SDK/Contracts/MetadataCurrentPageToken.cs
 copy foreign/csharp/Iggy_SDK/Contracts/{TransportEndpoints.cs => SnakeCaseNames.cs} (60%)
 copy foreign/csharp/Iggy_SDK/Enums/{SystemSnapshotType.cs => MetadataChangeGroup.cs} (50%)
 create mode 100644 foreign/csharp/Iggy_SDK/Enums/MetadataChangeKind.cs
 copy foreign/csharp/Iggy_SDK/Enums/{UserStatus.cs => MetadataChangePhase.cs} (73%)
 copy foreign/csharp/Iggy_SDK/Enums/{SnapshotCompression.cs => MetadataChangeStartMode.cs} (63%)
 copy foreign/csharp/Iggy_SDK/Enums/{SnapshotCompression.cs => MetadataChangeStatus.cs} (61%)
 copy foreign/csharp/Iggy_SDK/Enums/{Protocol.cs => MetadataMemberLeftReason.cs} (78%)
 copy foreign/csharp/Iggy_SDK/Enums/{ConsumerType.cs => MetadataPermissionsUpdatedReason.cs} (74%)
 copy foreign/csharp/Iggy_SDK/Enums/{UserStatus.cs => MetadataSessionClosedReason.cs} (74%)
 copy foreign/csharp/Iggy_SDK/Enums/{UserStatus.cs => MetadataTokenDeletedReason.cs} (77%)
 create mode 100644 foreign/csharp/Iggy_SDK/JsonConverters/MetadataChangesConverter.cs
 create mode 100644 foreign/csharp/Iggy_SDK/Mappers/BinaryMapper.MetadataChanges.cs
 create mode 100644 foreign/csharp/Iggy_SDK/Utils/Base64Url.cs
 create mode 100644 foreign/csharp/Iggy_SDK_Tests/ClientTests/HttpMetadataChangesTests.cs
 create mode 100644 foreign/csharp/Iggy_SDK_Tests/Fixtures/metadata_changes.json
 create mode 100644 foreign/csharp/Iggy_SDK_Tests/MapperTests/MetadataChangesTests.cs
 create mode 100644 foreign/go/binary_serialization/metadata_changes_deserializer.go
 create mode 100644 foreign/go/client/example_metadata_changes_test.go
 create mode 100644 foreign/go/contracts/metadata_change_position.go
 create mode 100644 foreign/go/contracts/metadata_changes.go
 create mode 100644 foreign/go/contracts/metadata_changes_test.go
 create mode 100644 foreign/go/contracts/testdata/metadata_changes.json
 create mode 100644 foreign/go/tests/e2e_metadata_changes_test.go
 create mode 100644 foreign/java/java-sdk/src/main/java/org/apache/iggy/client/blocking/http/MetadataChangesJson.java
 create mode 100644 foreign/java/java-sdk/src/main/java/org/apache/iggy/serde/MetadataChangesReader.java
 create mode 100644 foreign/java/java-sdk/src/main/java/org/apache/iggy/system/MetadataChangeBody.java
 create mode 100644 foreign/java/java-sdk/src/main/java/org/apache/iggy/system/MetadataChangeCursor.java
 create mode 100644 foreign/java/java-sdk/src/main/java/org/apache/iggy/system/MetadataChangeEncoding.java
 create mode 100644 foreign/java/java-sdk/src/main/java/org/apache/iggy/system/MetadataChangeGroup.java
 create mode 100644 foreign/java/java-sdk/src/main/java/org/apache/iggy/system/MetadataChangeKind.java
 create mode 100644 foreign/java/java-sdk/src/main/java/org/apache/iggy/system/MetadataChangePhase.java
 create mode 100644 foreign/java/java-sdk/src/main/java/org/apache/iggy/system/MetadataChangeRecord.java
 create mode 100644 foreign/java/java-sdk/src/main/java/org/apache/iggy/system/MetadataChangeStart.java
 create mode 100644 foreign/java/java-sdk/src/main/java/org/apache/iggy/system/MetadataChangeStatus.java
 create mode 100644 foreign/java/java-sdk/src/main/java/org/apache/iggy/system/MetadataChanges.java
 create mode 100644 foreign/java/java-sdk/src/main/java/org/apache/iggy/system/MetadataChangesQuery.java
 copy foreign/java/java-sdk/src/main/java/org/apache/iggy/system/{ClientInfo.java => MetadataCurrentItem.java} (70%)
 create mode 100644 foreign/java/java-sdk/src/main/java/org/apache/iggy/system/MetadataCurrentPageToken.java
 create mode 100644 foreign/java/java-sdk/src/test/java/org/apache/iggy/MetadataChangesFixture.java
 create mode 100644 foreign/java/java-sdk/src/test/java/org/apache/iggy/client/async/MetadataChangesTest.java
 create mode 100644 foreign/java/java-sdk/src/test/java/org/apache/iggy/client/blocking/http/MetadataChangesJsonTest.java
 create mode 100644 foreign/java/java-sdk/src/test/java/org/apache/iggy/serde/MetadataChangesTest.java
 create mode 100644 foreign/java/java-sdk/src/test/resources/metadata_changes.json
 create mode 100644 foreign/node/src/bdd/metadata-changes.ts
 copy foreign/node/src/e2e/{test-client.utils.ts => metadata-changes.e2e.ts} (71%)
 create mode 100644 foreign/node/src/e2e/metadata-changes.suite.ts
 create mode 100644 foreign/node/src/wire/fixtures/metadata_changes.json
 create mode 100644 foreign/node/src/wire/system/get-metadata-changes.command.test.ts
 create mode 100644 foreign/node/src/wire/system/get-metadata-changes.command.ts
 create mode 100644 foreign/node/src/wire/system/metadata-changes.utils.ts
 create mode 100644 foreign/php/src/metadata_changes.rs
 create mode 100644 foreign/php/tests/MetadataChangesTest.php
 create mode 100644 foreign/php/tests/fixtures/metadata_changes.json
 create mode 100644 foreign/python/src/metadata_changes.rs
 create mode 100644 foreign/python/tests/fixtures/metadata_changes.json
 create mode 100644 foreign/python/tests/test_metadata_changes.py
 create mode 100644 foreign/python/tests/test_stub.py
 create mode 100644 foreign/swift/Sources/Iggy/Models/MetadataChanges.swift
 create mode 100644 foreign/swift/Tests/IggyE2ETests/MetadataChangesE2ETests.swift
 create mode 100644 foreign/swift/Tests/IggyTests/Fixtures/metadata_changes.json
 create mode 100644 foreign/swift/Tests/IggyTests/MetadataChangesTests.swift
 create mode 100644 foreign/swift/Tests/IggyTests/Support/MetadataChangesFixture.swift
 create mode 100644 web/src/lib/api/fetchMetadataChanges.ts
 create mode 100644 web/src/lib/api/metadataChanges.test.mjs
 create mode 100644 web/src/lib/api/metadataChanges.ts
 create mode 100644 web/src/routes/dashboard/changes/+page.svelte