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