You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@iggy.apache.org by gk...@apache.org on 2026/10/23 07:34:47 UTC

(iggy) branch fix_journal_panic updated (ffa219580 -> 3e21168d6)

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

numinnex pushed a change to branch fix_journal_panic
in repository https://gitbox.apache.org/repos/asf/iggy.git


    from ffa219580 address review
     add e9e5e10a3 chore(deps): upgrade Rust dependencies (#4542)
     add f0d10d46b feat(swift): add the TCP and TLS client (#4503)
     add b1166a590 fix(sdk): stop a reconnect sweep when the client shuts down (#4507)
     add e06fb351d fix(csharp): report refusal when routed budget expires before resend (#4547)
     add c70c286cd chore(deps): Bump the github-actions group with 2 updates (#4549)
     add 12f05b848 chore(deps): Bump the python group across 3 directories with 1 update (#4551)
     add ec985b7e0 perf(ci): avoid redundant Rust coverage builds (#4546)
     add 5992f416a chore(deps): Bump the java group across 3 directories with 10 updates (#4548)
     add 12cc1f3cf feat(java): parse iggy:// connection strings in TcpClientBuilder (#4504)
     add fe3b4269e fix(java): decouple wrapper JAR fetch from the Gradle version (#4564)
     add 2a5c25e89 feat(swift): send and poll messages, consumer groups, and offsets (#4553)
     add 4c53f2a3b fix(ci,php): survive the zip crate mass yank (#4574)
     add 8200eca06 chore(deps): Bump the web group across 1 directory with 7 updates (#4567)
     add b76fa267b chore(deps): Bump the node group across 2 directories with 4 updates (#4568)
     add e86560106 chore(deps): Bump rules_cc from 0.2.25 to 0.2.26 in /foreign/cpp in the cpp group across 1 directory (#4566)
     add c95797383 perf(ci): share covered runtimes across test jobs (#4560)
     add e9096ed00 feat(gateways): add TLS listeners and mTLS client identities to Kafka gateway (#4535)
     add 29365392f fix(server)!: derive session timeout from heartbeat.interval (#4562)
     add 83b3664a1 fix(server)!: bind grants and HTTP tokens to the objects they name (#4550)
     add d1fe677db chore(csharp): remove FluentAssertions from tests (#4578)
     add d201cdc95 feat(gateways): answer Kafka ListOffsets by timestamp and MAX_TIMESTAMP (#4545)
     add 9d384d638 test(cluster): port the chaos harness scenarios into the chaos monkey (#4557)
     add 7a15a0d6d test(gateways): cover Kafka produce and consume over SASL through the bridge (#4539)
     add 28bef8f23 feat(connectors): add MQTT source connector (#4303)
     add 5d02e19eb chore(deps): Bump the csharp group with 6 updates (#4586)
     add c37a94daf feat(sdk)!: activate partition routing and recovery (#4561)
     add c5709f520 chore(rust): bump toolchain to 1.99.1 (#4591)
     add cd5f531a9 feat(python): return identity details from password and PAT login (#4276)
     add 49a831f38 fix(server)!: drop generated root passwords, journal root, gate snapshots (#4585)
     add 64ce664bf feat(gateways): auto-create Kafka topics on first use (#4582)
     add c729a0e34 chore(ci): group Dependabot security updates per ecosystem (#4541)
     add d9c8a50d2 fix(connectors): exclude key and version from connector env mappings (#4486)
     add e7bd30d0b ci: scope .config/** to the Rust test lanes instead of rust-workspace (#4556)
     add 8b3b54c55 fix(sdk): support IPv6 addresses in connection strings (#4579)
     add 0d4fa738a feat(cli): display topic partitions and options in topic get (#4558)
     add fcf110f41 feat(gateways): report a stable Kafka cluster id and serve DescribeCluster (#4583)
     add 3a8e85990 feat(gateways): serve Kafka CreatePartitions through the Iggy bridge (#4565)
     add 5906e2db7 fix(cli): print errors and their causes instead of Debug value (#4590)
     add 67e3a3c78 feat(gateways): serve Kafka IncrementalAlterConfigs (key 44) (#4572)
     add bb4765dbb feat(ci): publish Kafka gateway image to Docker Hub (#4593)
     add 48f34fd62 fix(ci): reduce runner usage and simplify workflows (#4594)
     add b8b37da5a feat(gateways): honour Kafka static group membership (#4575)
     add 717719c8e feat(gateways): serve DeleteGroups and OffsetDelete, report Empty groups (#4559)
     add 786382afe feat(cluster)!: spread and rebalance partition primaries (#4619)
     add b0a951ea8 feat(server)!: unify resource options and add per-stream keys (#4615)
     add 3e21168d6 merge master

No new revisions were added by this update.

Summary of changes:
 .config/nextest.toml                               |    6 +-
 .devcontainer/Dockerfile                           |    2 +-
 .dockerignore                                      |   14 +
 .github/actions/bdd/pre-merge/action.yml           |  108 +
 .github/actions/cpp-bazel/pre-merge/action.yml     |   50 +-
 .github/actions/csharp-dotnet/pre-merge/action.yml |    9 +-
 .github/actions/go/pre-merge/action.yml            |   53 +-
 .github/actions/java-gradle/post-merge/action.yml  |    4 +-
 .github/actions/java-gradle/pre-merge/action.yml   |   16 +-
 .github/actions/node-npm/pre-merge/action.yml      |   41 +-
 .github/actions/php/pre-merge/action.yml           |   29 +-
 .../actions/python-maturin/pre-merge/action.yml    |   94 +-
 .github/actions/rust/post-merge/action.yml         |    4 +-
 .github/actions/rust/pre-merge/action.yml          |  317 +-
 .github/actions/swift/pre-merge/action.yml         |  188 +-
 .github/actions/utils/docker-buildx/action.yml     |    1 -
 .github/actions/utils/download-runtime/action.yml  |   59 +
 .github/actions/utils/server-start/action.yml      |   71 +-
 .../{setup-cpp-with-cache => setup-cpp}/action.yml |    9 +-
 .../{setup-go-with-cache => setup-go}/action.yml   |    4 +-
 .../action.yml                                     |    2 +-
 .../action.yml                                     |   29 +-
 .../action.yml                                     |   86 +-
 .../utils/validate-third-party-licenses/action.yml |    9 +-
 .github/config/components.yml                      |   16 +-
 .github/config/edge-image-variants.json            |   22 +
 .github/config/publish.yml                         |    9 +
 .github/dependabot.yml                             |   40 +
 .github/workflows/_build_ci_artifacts.yml          |   69 +
 .github/workflows/_build_python_wheels.yml         |   12 +-
 .github/workflows/_build_rust_artifacts.yml        |    9 +-
 .github/workflows/_common.yml                      |   29 +-
 .github/workflows/_detect.yml                      |   40 +-
 .github/workflows/_publish_rust_crates.yml         |    4 +-
 .github/workflows/_rust.yml                        |   89 +
 .github/workflows/_rust_tests.yml                  |   90 +
 .github/workflows/_test.yml                        |  190 +-
 .github/workflows/_test_bdd.yml                    |   90 +-
 .github/workflows/_test_examples.yml               |  148 +-
 .github/workflows/coverage-baseline.yml            |  314 +-
 .github/workflows/issue-labeler-assigner.yml       |    2 +-
 .github/workflows/post-merge.yml                   |   47 +-
 .github/workflows/pr-skill-review-run.yml          |    2 +
 .github/workflows/pr-title.yml                     |    2 +-
 .github/workflows/pr-triage-apply.yml              |    2 +-
 .github/workflows/pr-triage-collect.yml            |    2 +-
 .github/workflows/pre-merge.yml                    |  344 +-
 .github/workflows/publish.yml                      |  127 +-
 .github/workflows/stale-prs-unmark-on-activity.yml |    2 +-
 .github/workflows/stale-prs-unmark.yml             |    2 +-
 .gitignore                                         |    2 +
 .typos.toml                                        |    5 +
 AGENTS.md                                          |    4 +-
 Cargo.lock                                         | 2655 ++++----
 Cargo.toml                                         |  119 +-
 Dockerfile                                         |    2 +-
 README.md                                          |   16 +-
 bdd/README.md                                      |    5 +-
 .../features/step_definitions/background_steps.cpp |   21 +-
 .../features/step_definitions/messaging_steps.cpp  |   13 +-
 .../step_definitions/raw_command_steps.cpp         |    3 +-
 .../step_definitions/resource_options_steps.cpp    |  475 ++
 .../step_definitions/session_contract_steps.cpp    |   93 +
 bdd/cpp/features/step_definitions/world.hpp        |   21 +
 bdd/cpp/scripts/entrypoint.sh                      |    3 +
 bdd/docker-compose.cluster.yml                     |    8 +-
 bdd/docker-compose.coverage.yml                    |   27 +-
 bdd/docker-compose.no-quorum.yml                   |  134 +
 bdd/docker-compose.server.yml                      |    5 +
 bdd/docker-compose.yml                             |   51 +-
 bdd/go/go.mod                                      |    1 -
 bdd/go/go.sum                                      |    2 -
 bdd/go/tests/basic_messaging.go                    |    8 +-
 bdd/go/tests/env/env.go                            |    5 +
 bdd/go/tests/leader_redirection.go                 |    2 +-
 bdd/go/tests/resource_options.go                   |  607 ++
 bdd/go/tests/session_contract.go                   |  139 +
 bdd/go/tests/suite_test.go                         |   34 +
 bdd/go/tests/tcp_test/stream_feature_create.go     |   10 +-
 bdd/go/tests/tcp_test/stream_feature_get_by_id.go  |   20 +-
 bdd/go/tests/tcp_test/stream_feature_update.go     |   13 +-
 bdd/go/tests/tcp_test/stream_steps.go              |    2 +-
 bdd/go/tests/tcp_test/topic_feature_create.go      |   37 +-
 bdd/go/tests/tcp_test/topic_feature_update.go      |   37 +-
 bdd/go/tests/tcp_test/topic_steps.go               |    7 +-
 bdd/go/tests/tcp_test/users_feature_create.go      |    6 +-
 bdd/go/tests/tcp_test/users_feature_password.go    |    2 +-
 bdd/go/tests/tcp_test/users_feature_permissions.go |    3 +-
 bdd/go/tests/tcp_test/users_feature_update.go      |    6 +-
 bdd/go/tests/tcp_test/users_steps.go               |    2 +-
 bdd/java/build.gradle.kts                          |    8 +-
 bdd/java/gradle/wrapper/gradle-wrapper.properties  |    2 +-
 bdd/java/gradlew                                   |   87 +-
 .../org/apache/iggy/bdd/BasicMessagingSteps.java   |   63 +-
 .../org/apache/iggy/bdd/ResourceOptionsSteps.java  |  415 ++
 .../test/java/org/apache/iggy/bdd/TestContext.java |    1 +
 .../java/org/apache/iggy/bdd/TestEnvironment.java  |    4 +
 bdd/node/Dockerfile                                |    3 +
 bdd/php/Dockerfile                                 |    4 +-
 ...tureTest.php => SessionContractFeatureTest.php} |   67 +-
 bdd/php/tests/SharedFeatureParser.php              |   26 +-
 .../php/tests/SharedFeatureParserTest.php          |   30 +-
 bdd/php/tests/StreamOptionsFeatureTest.php         |  249 +
 bdd/php/tests/TestEnvironment.php                  |    5 +
 bdd/python/Dockerfile                              |    2 +-
 bdd/python/tests/conftest.py                       |   31 +-
 bdd/python/tests/test_basic_messaging.py           |    6 +-
 bdd/python/tests/test_resource_options_patch.py    |  248 +
 ...est_raw_command.py => test_session_contract.py} |   79 +-
 bdd/python/tests/test_stream_options.py            |  331 +
 bdd/python/uv.lock                                 |   40 +-
 bdd/rust/Cargo.toml                                |   15 +
 bdd/rust/Dockerfile                                |   42 +-
 bdd/rust/tests/common/global_context.rs            |    7 +-
 bdd/rust/tests/helpers/env.rs                      |    4 +
 ...asic_messaging.rs => resource_options_patch.rs} |    2 +-
 .../{basic_messaging.rs => session_contract.rs}    |    2 +-
 bdd/rust/tests/steps/leader_redirection.rs         |    2 +-
 bdd/rust/tests/steps/mod.rs                        |    2 +
 bdd/rust/tests/steps/resource_options.rs           |  509 ++
 bdd/rust/tests/steps/session.rs                    |   65 +
 bdd/rust/tests/steps/streams.rs                    |    9 +-
 .../tests/{stream_crud.rs => stream_options.rs}    |    2 +-
 bdd/scenarios/resource_options_patch.feature       |   55 +
 ...aw_command.feature => session_contract.feature} |   31 +-
 bdd/scenarios/stream_options.feature               |   74 +
 codecov.yml                                        |    3 +
 core/ai/mcp/Cargo.toml                             |    2 +-
 core/ai/mcp/Dockerfile                             |    2 +-
 core/ai/mcp/README.md                              |   14 +
 core/ai/mcp/src/main.rs                            |   11 +
 core/ai/mcp/src/service/mod.rs                     |  318 +-
 core/ai/mcp/src/service/requests.rs                |  100 +-
 core/bench/Cargo.toml                              |    2 +-
 core/bench/dashboard/server/Dockerfile             |    2 +-
 core/bench/dashboard/server/src/github/client.rs   |    2 +-
 .../actors/producer/typed_benchmark_producer.rs    |    2 +-
 .../typed_benchmark_producing_consumer.rs          |    2 +-
 core/bench/src/benchmarks/benchmark.rs             |    4 +-
 core/binary_protocol/Cargo.toml                    |    3 +-
 core/binary_protocol/src/codes.rs                  |   22 +-
 core/binary_protocol/src/consensus/command.rs      |   10 +-
 core/binary_protocol/src/consensus/header.rs       |  122 +-
 core/binary_protocol/src/consensus/mod.rs          |    4 +
 core/binary_protocol/src/consensus/operation.rs    |   79 +-
 .../src/consensus/primary_rebalance.rs             |  375 ++
 core/binary_protocol/src/consensus/reply_result.rs |   37 +-
 core/binary_protocol/src/consensus/request.rs      |   29 +-
 .../src/consensus/segment_delete.rs                |  193 +
 core/binary_protocol/src/dispatch.rs               |  135 +-
 core/binary_protocol/src/error.rs                  |    3 +
 core/binary_protocol/src/lib.rs                    |    9 +-
 core/binary_protocol/src/primitives/consumer.rs    |   32 +-
 core/binary_protocol/src/primitives/identifier.rs  |   87 +-
 core/binary_protocol/src/primitives/options.rs     |   25 +-
 .../src/primitives/partition_assignment.rs         |   24 +-
 .../src/requests/messages/poll_messages.rs         |  114 +
 .../create_partitions_with_assignments.rs          |  114 +-
 core/binary_protocol/src/requests/streams/mod.rs   |    9 +-
 .../src/requests/streams/rewrap_stream_keys.rs     |  216 +
 .../src/requests/streams/update_stream.rs          |  127 -
 .../src/requests/streams/update_stream_resolved.rs |  114 +
 core/binary_protocol/src/requests/system/mod.rs    |    2 +
 .../src/requests/system/update_resource.rs         |  476 ++
 .../topics/create_topic_with_assignments.rs        |   95 +-
 core/binary_protocol/src/requests/topics/mod.rs    |    4 +-
 .../src/requests/topics/update_topic.rs            |  158 -
 .../src/requests/topics/update_topic_resolved.rs   |  113 +
 .../src/requests/users/login_register.rs           |   58 +-
 core/binary_protocol/src/requests/users/mod.rs     |    4 +-
 .../src/requests/users/update_user.rs              |  228 -
 .../src/requests/users/update_user_resolved.rs     |  136 +
 core/binary_protocol/src/responses/messages/mod.rs |    2 -
 .../src/responses/messages/poll_routing.rs         |  104 -
 .../src/responses/streams/get_stream.rs            |   34 +-
 .../src/responses/streams/get_streams.rs           |    2 +
 core/binary_protocol/src/responses/streams/mod.rs  |    2 -
 .../src/responses/streams/stream_response.rs       |   20 +-
 .../src/responses/streams/update_stream.rs         |   19 -
 .../src/responses/system/describe_options.rs       |   28 +-
 core/binary_protocol/src/responses/system/mod.rs   |    2 +
 .../src/responses/system/update_resource.rs}       |    3 +-
 .../src/responses/topics/get_topic.rs              |    3 -
 .../src/responses/topics/get_topics.rs             |    3 -
 core/binary_protocol/src/responses/topics/mod.rs   |    2 -
 .../src/responses/topics/update_topic.rs           |   19 -
 .../src/responses/users/get_user.rs                |    1 +
 .../src/responses/users/get_users.rs               |    2 +
 core/binary_protocol/src/responses/users/mod.rs    |    2 -
 .../src/responses/users/update_user.rs             |   18 -
 .../src/responses/users/user_response.rs           |   20 +-
 core/binary_protocol/src/version.rs                |   26 +-
 core/cli/Cargo.toml                                |    2 +-
 core/cli/src/args/common.rs                        |   20 +
 core/cli/src/args/mod.rs                           |    8 +-
 core/cli/src/args/stream.rs                        |   84 +-
 core/cli/src/args/topic.rs                         |  101 +-
 .../src/commands/binary_streams/create_stream.rs   |   64 +-
 core/cli/src/commands/binary_streams/get_stream.rs |   35 +
 .../cli/src/commands/binary_streams/get_streams.rs |   15 +-
 .../src/commands/binary_streams/update_stream.rs   |   69 +-
 core/cli/src/commands/binary_system/options.rs     |   56 +-
 .../cli/src/commands/binary_topics/create_topic.rs |   83 +-
 core/cli/src/commands/binary_topics/get_topic.rs   |  296 +-
 core/cli/src/commands/binary_topics/get_topics.rs  |   14 +-
 .../cli/src/commands/binary_topics/update_topic.rs |  101 +-
 core/cli/src/commands/binary_users/create_user.rs  |    6 +-
 core/cli/src/commands/binary_users/update_user.rs  |   46 +-
 core/cli/src/main.rs                               |   32 +-
 core/common/Cargo.toml                             |   11 +-
 core/common/benches/stream_encryption.rs           |  103 +
 core/common/examples/resource_options_fixtures.rs  |  953 +++
 .../examples/resource_options_fixtures/schema.rs   |  990 +++
 core/common/fixtures/resource_options.json         | 1619 +++++
 core/common/src/consumer_group_client_state.rs     |  198 +-
 core/common/src/error/iggy_error.rs                |   88 +-
 core/common/src/http/mod.rs                        |    1 +
 core/common/src/http/options.rs                    |  706 +++
 core/common/src/http/streams/create_stream.rs      |    7 +
 core/common/src/http/streams/mod.rs                |    1 -
 core/common/src/http/streams/update_stream.rs      |   60 -
 core/common/src/http/topics/create_topic.rs        |   35 +-
 core/common/src/http/topics/mod.rs                 |    1 -
 core/common/src/http/topics/update_topic.rs        |   86 -
 core/common/src/http/users/create_user.rs          |    5 +
 core/common/src/http/users/mod.rs                  |    1 -
 core/common/src/http/users/update_user.rs          |   59 -
 core/common/src/lib.rs                             |   16 +-
 core/common/src/traits/binary_impls/messages.rs    |  506 +-
 core/common/src/traits/binary_impls/mod.rs         |   79 +-
 core/common/src/traits/binary_impls/partitions.rs  |    2 -
 .../traits/binary_impls/personal_access_tokens.rs  |   36 +-
 core/common/src/traits/binary_impls/streams.rs     |   38 +-
 core/common/src/traits/binary_impls/topics.rs      |   33 +-
 core/common/src/traits/binary_impls/users.rs       |  247 +-
 core/common/src/traits/binary_transport.rs         |  484 +-
 core/common/src/traits/client.rs                   |   51 +-
 core/common/src/traits/message_client.rs           |    4 +-
 core/common/src/traits/mod.rs                      |    4 +-
 .../src/traits/personal_access_token_client.rs     |    4 +
 core/common/src/traits/stream_client.rs            |   18 +-
 core/common/src/traits/topic_client.rs             |    5 +-
 core/common/src/traits/user_client.rs              |   20 +-
 .../configuration/auth_config/connection_string.rs |  169 +-
 core/common/src/types/configuration/mod.rs         |    1 +
 .../configuration/pending_operations_config.rs     |  145 +
 .../quic_config/quic_client_config.rs              |    6 +-
 .../quic_config/quic_client_config_builder.rs      |   14 +-
 .../quic_config/quic_client_reconnection_config.rs |   10 +-
 .../quic_config/quic_connection_string_options.rs  |   23 +-
 .../configuration/tcp_config/tcp_client_config.rs  |    6 +-
 .../tcp_config/tcp_client_config_builder.rs        |   14 +-
 .../tcp_config/tcp_client_reconnection_config.rs   |   46 +-
 .../tcp_config/tcp_connection_string_options.rs    |   23 +-
 .../websocket_config/websocket_client_config.rs    |    8 +-
 .../websocket_client_config_builder.rs             |   14 +-
 .../websocket_client_reconnection_config.rs        |   18 +-
 .../websocket_connection_string_options.rs         |   18 +-
 core/common/src/types/identifier/mod.rs            |   72 +-
 core/common/src/types/options/catalog.rs           | 1798 ++++++
 core/common/src/types/options/codec.rs             |  273 +
 core/common/src/types/options/key.rs               |   83 +
 core/common/src/types/options/mod.rs               | 1633 +++--
 .../src/types/permissions/permissions_global.rs    |    6 +-
 .../common/src/types/personal_access_tokens/mod.rs |   49 +-
 core/common/src/types/segment.rs                   |   14 +-
 core/common/src/types/stream/mod.rs                |   73 +-
 core/common/src/types/topic/mod.rs                 |   52 +-
 core/common/src/utils/crypto.rs                    |  147 +-
 core/common/src/utils/mod.rs                       |    1 +
 core/common/src/utils/stream_key.rs                | 1436 +++++
 core/common/src/wire_conversions.rs                |  130 +-
 core/common/tests/resource_options_fixtures.rs     |  776 +++
 core/common/tests/stream_key_erasure.rs            |  277 +
 core/configs/src/common/defaults.rs                |    7 +-
 core/configs/src/common/displays.rs                |   25 +-
 core/configs/src/common/http.rs                    |    3 +-
 core/configs/src/common/server.rs                  |   22 +-
 core/configs/src/common/system.rs                  |   64 +-
 core/configs/src/common/validators.rs              |  116 +-
 core/configs/src/configs_impl/file_provider.rs     |   17 +
 .../configs/src/configs_impl/typed_env_provider.rs |   33 +-
 core/configs/src/server_config/cluster.rs          |   65 +-
 core/configs/src/server_config/defaults.rs         |    2 +
 core/configs/src/server_config/displays.rs         |    7 +-
 core/configs/src/server_config/message_bus.rs      |   69 +
 core/configs/src/server_config/metadata.rs         |    5 +-
 core/configs/src/server_config/server.rs           |    8 +
 core/configs/src/server_config/validators.rs       |   90 +-
 core/connectors/runtime/Cargo.toml                 |    2 +-
 core/connectors/runtime/Dockerfile                 |    2 +-
 .../example_config/connectors/mqtt_source.toml     |   73 +
 core/connectors/runtime/src/configs/connectors.rs  |   26 +
 .../src/configs/connectors/local_provider.rs       |   74 +
 core/connectors/runtime/src/main.rs                |    1 -
 core/connectors/runtime/src/manager/source.rs      |    3 +-
 core/connectors/runtime/src/source.rs              |  404 +-
 core/connectors/sdk/README.md                      |    2 +
 core/connectors/sinks/rabbitmq_sink/src/lib.rs     |   42 +-
 core/connectors/sources/README.md                  |    1 +
 .../mqtt_source}/Cargo.toml                        |   21 +-
 core/connectors/sources/mqtt_source/README.md      |  429 ++
 core/connectors/sources/mqtt_source/config.toml    |   70 +
 core/connectors/sources/mqtt_source/src/driver.rs  | 1687 +++++
 core/connectors/sources/mqtt_source/src/lib.rs     | 1449 +++++
 core/consensus/src/client_table.rs                 |  228 +-
 core/consensus/src/dvc_merge.rs                    |   65 +-
 core/consensus/src/impls.rs                        | 2289 ++++++-
 core/consensus/src/lib.rs                          |    2 +-
 core/consensus/src/metadata_helpers.rs             |  167 +-
 core/consensus/src/observability.rs                |   22 +-
 core/consensus/src/plane_helpers.rs                |  522 +-
 core/consensus/src/view_change_quorum.rs           |    3 +-
 core/consensus/src/vsr_state.rs                    |  638 +-
 core/integration/Cargo.toml                        |    5 +
 core/integration/src/harness/config/jwks.rs        |    4 +
 core/integration/src/harness/config/mod.rs         |    2 +-
 core/integration/src/harness/config/server.rs      |    2 +
 core/integration/src/harness/disk.rs               |  214 +-
 core/integration/src/harness/handle/common.rs      |   66 +-
 .../src/harness/handle/connectors_runtime.rs       |    2 +-
 core/integration/src/harness/handle/mcp.rs         |    6 +-
 core/integration/src/harness/handle/mod.rs         |    2 +-
 core/integration/src/harness/handle/server.rs      |  120 +-
 core/integration/src/harness/helpers.rs            |   77 +-
 core/integration/src/harness/mod.rs                |    8 +-
 .../src/harness/orchestrator/builder.rs            |   86 +-
 .../src/harness/orchestrator/harness.rs            |  136 +-
 core/integration/src/harness/peer_relay.rs         |  356 ++
 core/integration/src/harness/seeds.rs              |   30 +-
 core/integration/tests/cli/common/mod.rs           |   19 +
 .../test_consumer_group_create_command.rs          |    5 +-
 .../test_consumer_group_delete_command.rs          |    5 +-
 .../test_consumer_group_get_command.rs             |    5 +-
 .../test_consumer_group_list_command.rs            |    3 +-
 .../test_consumer_offset_external_group_command.rs |    5 +-
 .../test_consumer_offset_get_command.rs            |    2 +-
 .../test_consumer_offset_set_command.rs            |    4 +-
 .../tests/cli/general/test_help_command.rs         |    2 +-
 .../tests/cli/general/test_missing_credentials.rs  |    4 +-
 .../tests/cli/general/test_overview_command.rs     |    2 +-
 .../tests/cli/message/test_message_poll_command.rs |    4 +-
 .../message/test_message_poll_to_file_command.rs   |    4 +-
 .../tests/cli/message/test_message_send_command.rs |   26 +-
 .../message/test_message_send_from_file_command.rs |    2 +-
 .../cli/partition/test_partition_create_command.rs |    5 +-
 .../cli/partition/test_partition_delete_command.rs |    5 +-
 .../tests/cli/stream/test_stream_create_command.rs |  213 +-
 .../tests/cli/stream/test_stream_delete_command.rs |    5 +-
 .../tests/cli/stream/test_stream_get_command.rs    |   77 +-
 .../tests/cli/stream/test_stream_help_command.rs   |    2 +-
 .../tests/cli/stream/test_stream_list_command.rs   |   11 +-
 .../tests/cli/stream/test_stream_update_command.rs |   57 +-
 .../tests/cli/system/test_me_command.rs            |    4 +-
 .../tests/cli/system/test_stats_command.rs         |    9 +-
 .../tests/cli/topic/test_topic_create_command.rs   |    7 +-
 .../tests/cli/topic/test_topic_delete_command.rs   |    5 +-
 .../tests/cli/topic/test_topic_get_command.rs      |  375 +-
 .../tests/cli/topic/test_topic_help_command.rs     |    2 +-
 .../tests/cli/topic/test_topic_list_command.rs     |    5 +-
 .../tests/cli/topic/test_topic_update_command.rs   |  313 +-
 core/integration/tests/cli/user/common.rs          |   42 +-
 .../tests/cli/user/test_user_create_command.rs     |    6 +-
 .../tests/cli/user/test_user_delete_command.rs     |    9 +-
 .../tests/cli/user/test_user_get_command.rs        |    4 +
 .../tests/cli/user/test_user_list_command.rs       |    9 +-
 .../tests/cli/user/test_user_name_command.rs       |    9 +-
 .../tests/cli/user/test_user_password_command.rs   |    9 +-
 .../cli/user/test_user_permissions_command.rs      |   12 +-
 .../tests/cli/user/test_user_status_command.rs     |    9 +-
 core/integration/tests/cluster/chaos_monkey.rs     | 2445 ++++++--
 .../tests/cluster/client_table_adversarial.rs      |    2 +-
 .../tests/cluster/client_table_restart.rs          |  430 +-
 .../tests/cluster/consumer_offset_quota.rs         |    2 +-
 core/integration/tests/cluster/crash_durability.rs |   17 +-
 .../tests/cluster/crash_offset_reuse.rs            |    2 +-
 .../tests/cluster/crash_recovery_corruption.rs     |  191 +-
 .../tests/cluster/failover_client_continuity.rs    |   64 +-
 .../tests/cluster/fast_primary_rejoin.rs           |   30 +-
 .../tests/cluster/metadata_checkpoint_restart.rs   |    2 +-
 core/integration/tests/cluster/mod.rs              |    3 +
 .../cluster/multi_shard_partition_convergence.rs   |   10 +-
 .../tests/cluster/parked_frame_redispatch.rs       |   26 +-
 core/integration/tests/cluster/partition_dedup.rs  |  160 +-
 .../tests/cluster/partition_primary_routing.rs     | 2323 ++++++-
 .../tests/cluster/partition_state_transfer.rs      |    2 +-
 .../tests/cluster/register_forwarding.rs           |    2 +-
 .../tests/cluster/replica_read_batching.rs         |    5 +-
 core/integration/tests/cluster/root_credentials.rs |  112 +
 .../tests/cluster/staggered_bootstrap.rs           |   15 +-
 .../integration/tests/cluster/stream_encryption.rs |  451 ++
 .../tests/cluster/stream_key_rotation.rs           |  485 ++
 core/integration/tests/connectors/fixtures/mod.rs  |    6 +
 .../tests/connectors/fixtures/mqtt/container.rs    |  267 +
 .../tests/connectors/fixtures/mqtt/mod.rs          |  404 ++
 .../tests/connectors/fixtures/mqtt/publisher.rs    |  443 ++
 .../connectors/fixtures/rabbitmq/container.rs      |   14 +-
 .../fixtures/redshift/redshift_mock/handler.rs     |    4 +-
 .../fixtures/redshift/redshift_mock/parser.rs      |    8 +-
 core/integration/tests/connectors/mod.rs           |    1 +
 .../tests/connectors/{s3 => mqtt}/mod.rs           |    2 +-
 .../tests/connectors/mqtt/mqtt_source.rs           |  741 +++
 .../{doris/sink.toml => mqtt/source.toml}          |    2 +-
 core/integration/tests/connectors/s3/s3_sink.rs    |    1 +
 .../tests/data_integrity/storage_compat.rs         |   32 +-
 .../data_integrity/verify_after_server_restart.rs  |   28 +-
 .../verify_auto_commit_offset_replicates.rs        |    5 +-
 .../verify_cluster_replica_data_identical.rs       |  165 +-
 .../verify_consumer_group_partition_assignment.rs  |  182 +-
 .../verify_no_plaintext_credentials_on_disk.rs     |   93 +-
 core/integration/tests/mcp/mod.rs                  |   57 +-
 core/integration/tests/sdk/consumer_group.rs       |   15 +-
 .../tests/sdk/consumer_group_membership.rs         |   37 +-
 core/integration/tests/sdk/consumer_offset.rs      |   15 +-
 core/integration/tests/sdk/consumer_shutdown.rs    |    5 +-
 core/integration/tests/sdk/options.rs              |  397 +-
 core/integration/tests/sdk/producer/mod.rs         |    5 +-
 core/integration/tests/sdk/send_confirmation.rs    |    2 +-
 core/integration/tests/server/a2a_jwt/config.toml  |    2 +-
 core/integration/tests/server/a2a_jwt/jwt_tests.rs |  143 +-
 core/integration/tests/server/cg.rs                |   11 +-
 .../tests/server/cluster_view_durability_vsr.rs    |    2 +-
 .../tests/server/consumer_offset_quota_vsr.rs      |    8 +-
 .../tests/server/descriptor_exhaustion_vsr.rs      |    2 +-
 core/integration/tests/server/general.rs           |    6 +
 core/integration/tests/server/http_client.rs       |   11 +
 core/integration/tests/server/http_rbac.rs         |  199 +-
 .../tests/server/http_read_your_writes.rs          |    2 +-
 core/integration/tests/server/http_vsr.rs          |  265 +-
 .../tests/server/partition_view_durability_vsr.rs  |    2 +-
 .../tests/server/partitions_limit_vsr.rs           |    2 +-
 .../server/personal_access_token_cleaner_vsr.rs    |   15 +-
 .../tests/server/pipelined_frames_vsr.rs           |    5 +-
 .../integration/tests/server/poll_semantics_vsr.rs |   10 +-
 .../server/scenarios/authentication_scenario.rs    |   77 +-
 .../concurrent_produce_consume_scenario.rs         |    5 +-
 .../tests/server/scenarios/concurrent_scenario.rs  |   36 +-
 ...umer_group_auto_commit_reconnection_scenario.rs |    5 +-
 ...onsumer_group_duplicate_name_create_scenario.rs |    6 +-
 .../scenarios/consumer_group_join_scenario.rs      |    6 +-
 ...er_group_new_messages_after_restart_scenario.rs |    5 +-
 .../consumer_group_offset_cleanup_scenario.rs      |    5 +-
 ...h_multiple_clients_polling_messages_scenario.rs |    5 +-
 ...with_single_client_polling_messages_scenario.rs |    5 +-
 .../consumer_timestamp_polling_scenario.rs         |    5 +-
 .../server/scenarios/delete_segments_scenario.rs   |   20 +-
 .../scenarios/delete_stats_rollback_scenario.rs    |   10 +-
 .../tests/server/scenarios/encryption_scenario.rs  |  598 +-
 .../scenarios/external_group_offsets_scenario.rs   |    6 +-
 .../scenarios/invalid_consumer_offset_scenario.rs  |    5 +-
 .../server/scenarios/log_rotation_scenario.rs      |    7 +-
 .../server/scenarios/message_cleanup_scenario.rs   |   37 +-
 .../server/scenarios/message_headers_scenario.rs   |    5 +-
 .../server/scenarios/message_size_scenario.rs      |    5 +-
 .../tests/server/scenarios/offset_scenario.rs      |    5 +-
 .../tests/server/scenarios/permissions_scenario.rs |  264 +-
 .../scenarios/read_during_persistence_scenario.rs  |    5 +-
 .../scenarios/reconnect_after_restart_scenario.rs  |   22 +-
 .../scenarios/restart_offset_skip_scenario.rs      |    5 +-
 .../scenarios/segment_rotation_race_scenario.rs    |   13 +-
 .../scenarios/single_message_per_batch_scenario.rs |    5 +-
 .../stale_client_consumer_group_scenario.rs        |  143 +-
 .../scenarios/stream_size_validation_scenario.rs   |    5 +-
 .../tests/server/scenarios/system_scenario.rs      |   57 +-
 .../tests/server/scenarios/tcp_tls_scenario.rs     |    5 +-
 .../tests/server/scenarios/timestamp_scenario.rs   |    5 +-
 .../tests/server/scenarios/user_scenario.rs        |   26 +-
 .../server/scenarios/websocket_tls_scenario.rs     |    5 +-
 .../tests/server/shared_jwt_secrets.toml           |    8 +-
 .../tests/server/topic_admission_vsr.rs            |   38 +-
 core/integration/tests/server/topic_metrics_vsr.rs |   11 +-
 core/integration/tests/server/unknown_code_vsr.rs  |   22 +-
 core/journal/src/prepare_journal.rs                |  231 +-
 core/journal/src/superblock.rs                     |   49 +-
 core/message_bus/src/config.rs                     |    5 +
 core/message_bus/src/error.rs                      |   34 +-
 core/message_bus/src/installer/mod.rs              |   55 +-
 core/message_bus/src/installer/quic.rs             |    8 +-
 core/message_bus/src/installer/tcp.rs              |   14 +-
 core/message_bus/src/installer/ws.rs               |   11 +-
 core/message_bus/src/lib.rs                        |  382 +-
 .../src/lifecycle/connection_registry.rs           |  368 +-
 core/message_bus/src/transports/mod.rs             |    2 +-
 core/message_bus/src/transports/quic.rs            |  229 +-
 core/message_bus/tests/duplicate_client_id.rs      |   51 +
 core/message_bus/tests/quic_client_roundtrip.rs    |   18 +-
 core/message_bus/tests/tcp_client_roundtrip.rs     |  258 +-
 core/message_bus/tests/tcp_tls_client_listener.rs  |   20 +-
 core/message_bus/tests/tcp_tls_client_roundtrip.rs |   15 +-
 core/message_bus/tests/ws_client_roundtrip.rs      |   25 +-
 core/message_bus/tests/wss_client_listener.rs      |   15 +-
 core/message_bus/tests/wss_client_roundtrip.rs     |   15 +-
 core/metadata/src/applied_frontier.rs              |  132 +-
 core/metadata/src/impls/metadata.rs                | 5719 ++++++++++++++---
 core/metadata/src/impls/mod.rs                     |    1 +
 core/metadata/src/impls/placement.rs               |  949 +++
 core/metadata/src/impls/recovery.rs                | 1048 +++-
 .../src/permissioner/permissioner_rules/system.rs  |   75 +-
 core/metadata/src/stm/authz.rs                     |  585 +-
 core/metadata/src/stm/consumer_group.rs            |    4 +-
 core/metadata/src/stm/lifecycle.rs                 |   74 +-
 core/metadata/src/stm/mod.rs                       |    2 +
 core/metadata/src/stm/result.rs                    |   87 +-
 core/metadata/src/stm/snapshot.rs                  |   87 +-
 core/metadata/src/stm/stream.rs                    | 1577 ++++-
 core/metadata/src/stm/user.rs                      |  757 ++-
 core/partitions/src/iggy_partition.rs              | 1985 +++++-
 core/partitions/src/iggy_partitions.rs             |  168 +-
 core/partitions/src/io.rs                          |   27 +-
 core/partitions/src/lib.rs                         |   17 +-
 core/partitions/src/persistence.rs                 |   47 +-
 core/partitions/src/poll_plan.rs                   |   17 +-
 core/partitions/src/segment.rs                     |   10 +-
 core/partitions/src/segment_recovery.rs            |  102 +-
 core/partitions/src/state_transfer.rs              |   12 +-
 core/partitions/src/stream_keyring.rs              |  178 +
 core/partitions/src/types.rs                       |   25 +-
 core/partitions/src/wal_storage.rs                 |  442 ++
 core/partitions/tests/consumer_offset_history.rs   |    6 +-
 core/sdk/Cargo.toml                                |    3 +-
 core/sdk/README.md                                 |  114 +-
 core/sdk/src/binary/mod.rs                         |  241 +
 core/sdk/src/client_provider.rs                    |    3 +
 core/sdk/src/client_wrappers/binary_client.rs      |   17 -
 .../src/client_wrappers/binary_stream_client.rs    |   34 +-
 .../sdk/src/client_wrappers/binary_topic_client.rs |   29 +-
 core/sdk/src/client_wrappers/binary_user_client.rs |   35 +-
 core/sdk/src/client_wrappers/client_wrapper.rs     |   95 +
 core/sdk/src/client_wrappers/connection_info.rs    |    6 +-
 core/sdk/src/clients/binary_cluster.rs             |    2 +-
 core/sdk/src/clients/binary_consumer_group.rs      |   38 +-
 core/sdk/src/clients/binary_consumer_offset.rs     |   24 +-
 core/sdk/src/clients/binary_message.rs             |   39 +-
 core/sdk/src/clients/binary_partitions.rs          |   12 +-
 .../src/clients/binary_personal_access_tokens.rs   |   54 +-
 core/sdk/src/clients/binary_segments.rs            |    6 +-
 core/sdk/src/clients/binary_streams.rs             |   23 +-
 core/sdk/src/clients/binary_system.rs              |   18 +-
 core/sdk/src/clients/binary_topics.rs              |   27 +-
 core/sdk/src/clients/binary_users.rs               |   76 +-
 core/sdk/src/clients/client.rs                     |  273 +-
 core/sdk/src/clients/client_builder.rs             |   22 +-
 core/sdk/src/clients/consumer.rs                   | 1555 ++++-
 core/sdk/src/clients/mod.rs                        |   48 +-
 core/sdk/src/clients/producer.rs                   | 1549 +++--
 core/sdk/src/clients/producer_builder.rs           |   22 +-
 core/sdk/src/clients/producer_config.rs            |    2 +-
 core/sdk/src/clients/producer_dispatcher.rs        |   15 +-
 core/sdk/src/clients/producer_error_callback.rs    |    6 +
 core/sdk/src/clients/producer_sharding.rs          |   26 +-
 core/sdk/src/consumer_ext/consumer_message_ext.rs  |   45 +-
 core/sdk/src/driver.rs                             | 2560 +++++++-
 core/sdk/src/driver/poll_router.rs                 | 1572 -----
 core/sdk/src/driver/route_cache.rs                 |  326 +-
 core/sdk/src/http/http_client.rs                   |  161 +-
 core/sdk/src/http/messages.rs                      |   21 +-
 core/sdk/src/http/scripted_server.rs               |   31 +-
 core/sdk/src/http/streams.rs                       |   22 +-
 core/sdk/src/http/topics.rs                        |   29 +-
 core/sdk/src/http/users.rs                         |   19 +-
 core/sdk/src/leader_aware.rs                       |  518 --
 core/sdk/src/lib.rs                                |    1 -
 core/sdk/src/links/connect.rs                      |  254 +-
 core/sdk/src/links/dial.rs                         |  180 +-
 core/sdk/src/links/fake_cluster.rs                 |  269 +-
 core/sdk/src/links/mod.rs                          |  139 +-
 core/sdk/src/links/mux.rs                          |  172 +-
 core/sdk/src/links/quic.rs                         |   48 +-
 core/sdk/src/links/replicas.rs                     |  866 ++-
 core/sdk/src/prelude.rs                            |   24 +-
 core/sdk/src/quic/quic_client.rs                   | 1955 +-----
 core/sdk/src/session.rs                            |   19 +
 core/sdk/src/session_owner.rs                      |  317 +-
 core/sdk/src/session_owner/lanes.rs                |  736 ++-
 core/sdk/src/session_owner/pending.rs              |  151 +
 .../stream_builder/build/build_iggy_producer.rs    |    3 -
 .../src/stream_builder/build/build_stream_topic.rs |    7 +-
 .../stream_builder/config/config_iggy_producer.rs  |   42 +-
 core/sdk/src/tcp/tcp_client.rs                     | 4698 ++++----------
 core/sdk/src/vsr.rs                                |  599 +-
 core/sdk/src/websocket/websocket_client.rs         | 2319 +------
 core/server/Cargo.toml                             |    6 +-
 core/server/Dockerfile                             |    2 +-
 core/server/README.md                              |  298 +-
 core/server/config.toml                            |  132 +-
 core/server/src/args.rs                            |   16 +-
 core/server/src/boot/credentials.rs                |  523 +-
 core/server/src/boot/handoff.rs                    |    3 +
 core/server/src/boot/listeners.rs                  |   30 +-
 core/server/src/boot/mod.rs                        |  114 +-
 core/server/src/boot/recovery.rs                   |  477 +-
 core/server/src/boot/threads.rs                    |    4 +-
 core/server/src/consumer_group.rs                  |    4 +-
 core/server/src/consumer_group/liveness.rs         |  166 +-
 core/server/src/dispatch/authz.rs                  |   93 +-
 core/server/src/dispatch/failure.rs                |  290 +-
 core/server/src/dispatch/host.rs                   |  206 +-
 core/server/src/dispatch/mod.rs                    | 2418 +++++--
 core/server/src/dispatch/partition.rs              | 2038 ++++--
 core/server/src/dispatch/reads.rs                  |  414 +-
 core/server/src/dispatch/segment_delete.rs         |  201 +
 core/server/src/dispatch/session_ops.rs            |  385 +-
 core/server/src/dispatch/submit.rs                 |   24 +-
 core/server/src/dispatch/test_support.rs           |  302 +-
 core/server/src/http.rs                            |   46 +-
 core/server/src/http/admission.rs                  |  139 +-
 core/server/src/http/error.rs                      |  165 +-
 core/server/src/http/extractor.rs                  |  451 +-
 core/server/src/http/forward.rs                    | 1929 +++++-
 core/server/src/http/handlers.rs                   |  918 +--
 core/server/src/http/jwt.rs                        |  274 +-
 core/server/src/http/metrics.rs                    |   37 +
 core/server/src/http/reads.rs                      |  954 ++-
 core/server/src/http/relay_proof.rs                |  356 ++
 core/server/src/http/reply.rs                      |   23 +
 core/server/src/http/session.rs                    |    3 +-
 core/server/src/http/state.rs                      |  264 +-
 core/server/src/http/submit.rs                     |  186 +-
 core/server/src/lib.rs                             |    7 +-
 core/server/src/main.rs                            |   21 +-
 core/server/src/namespace.rs                       |  102 +-
 core/server/src/partition_helpers.rs               |   51 +-
 core/server/src/partition_reconciler.rs            |  791 ++-
 core/server/src/pat.rs                             |  137 +-
 core/server/src/reply_frame.rs                     |   96 +-
 core/server/src/responses.rs                       |  672 +-
 core/server/src/rewrite.rs                         | 1066 +++-
 core/server/src/server_error.rs                    |   71 +-
 core/server/src/session_manager.rs                 |  199 +-
 core/server/src/snapshot.rs                        |   51 +-
 core/server/src/stream_key_rewrapper.rs            |  673 ++
 core/server/src/stream_keys.rs                     |  450 ++
 core/server/src/users.rs                           |  281 +-
 core/server/src/wire.rs                            |   23 +-
 core/server/tests/sdk_e2e.rs                       |  507 +-
 core/server_common/src/consensus_message.rs        |  151 +-
 core/shard/Cargo.toml                              |    1 +
 core/shard/src/builder.rs                          |   39 +-
 core/shard/src/coordinator.rs                      |    2 +-
 core/shard/src/lib.rs                              | 2867 ++++++++-
 core/shard/src/metrics.rs                          |  147 +-
 core/shard/src/partition_io.rs                     | 2877 ++++++++-
 core/shard/src/poll.rs                             |  127 +-
 core/shard/src/poll/completion.rs                  |    8 +-
 core/shard/src/poll/completion_tests.rs            |  275 +-
 core/shard/src/poll/test_support.rs                |    2 +-
 core/shard/src/poll/timeout_tests.rs               |    4 +-
 core/shard/src/primary_rebalance.rs                |  845 +++
 core/shard/src/primary_rebalance/tests.rs          | 1191 ++++
 core/shard/src/router.rs                           |  203 +-
 core/simulator/Cargo.toml                          |    2 +-
 core/simulator/README.md                           |   23 +-
 core/simulator/src/bin/workload-fuzz.rs            |  197 +-
 core/simulator/src/bus.rs                          |  140 +-
 core/simulator/src/client.rs                       |  264 +-
 core/simulator/src/deps.rs                         |  122 +-
 core/simulator/src/executor/time.rs                |   17 +-
 core/simulator/src/lib.rs                          | 6602 +++++++++++++++++---
 core/simulator/src/packet.rs                       |   33 +-
 core/simulator/src/partition_wal.rs                |  119 +
 core/simulator/src/replica.rs                      |  163 +-
 core/simulator/src/storage/bookmark_recovery.rs    |    2 +-
 core/simulator/src/workload/actions.rs             |    2 +
 core/simulator/src/workload/invariants.rs          |   57 +-
 core/simulator/src/workload/mod.rs                 |  562 +-
 .../{create_stream.rs => create_keyed_stream.rs}   |   16 +-
 core/simulator/src/workload/ops/create_user.rs     |   15 +-
 core/simulator/src/workload/ops/mod.rs             |    4 +
 .../{store_consumer_offset.rs => poll_messages.rs} |   72 +-
 .../src/workload/ops/store_stale_owner_offset.rs   |    4 +-
 .../src/workload/ops/update_permissions.rs         |    5 +-
 core/simulator/src/workload/ops/update_stream.rs   |    2 +-
 core/simulator/src/workload/ops/update_topic.rs    |   50 +-
 core/simulator/src/workload/ops/update_user.rs     |   58 +-
 core/simulator/src/workload/options.rs             |   20 +-
 core/simulator/src/workload/oracle.rs              |  614 +-
 core/simulator/src/workload/readback.rs            |  420 ++
 core/simulator/src/workload/state_checker.rs       |  288 +-
 core/simulator/tests/lifecycle_seeds.rs            |  127 +
 core/system_stats/src/lib.rs                       |    9 +-
 core/tools/src/data-seeder/seeder.rs               |   12 +-
 docker-compose.yml                                 |    9 +
 .../Iggy_SDK.Examples.TcpTls.Producer/Program.cs   |    3 +-
 examples/go/getting-started/producer/main.go       |    9 +-
 examples/go/go.mod                                 |    1 -
 examples/go/go.sum                                 |    2 -
 examples/java/README.md                            |    2 +-
 .../java/gradle/wrapper/gradle-wrapper.properties  |    2 +-
 examples/java/gradlew                              |   87 +-
 .../apache/iggy/examples/async/AsyncProducer.java  |   10 +-
 .../producer/GettingStartedProducer.java           |    5 +-
 .../producer/MessageEnvelopeProducer.java          |    5 +-
 .../producer/MessageHeadersProducer.java           |    6 +-
 .../multitenant/producer/MultiTenantProducer.java  |   11 +-
 .../sinkdataproducer/SinkDataProducer.java         |   10 +-
 .../iggy/examples/streambuilder/StreamBasic.java   |    5 +-
 .../examples/tcptls/producer/TcpTlsProducer.java   |    5 +-
 .../iggy/examples/MultiTenantAccessTest.java       |   26 +-
 examples/node/README.md                            |    2 +-
 examples/node/package-lock.json                    |   19 +-
 examples/node/package.json                         |    2 +-
 examples/node/src/stream-builder/example.ts        |    2 +-
 examples/python/README.md                          |    2 +-
 examples/python/basic/producer.py                  |    6 +-
 examples/python/getting-started/producer.py        |    6 +-
 examples/python/high-level/background_producer.py  |    2 -
 examples/python/high-level/producer.py             |   12 +-
 examples/python/message-headers/common.py          |    6 +-
 examples/python/pyproject.toml                     |    2 +-
 examples/python/uv.lock                            |   42 +-
 examples/rust/README.md                            |    2 +-
 examples/rust/src/getting-started/producer/main.rs |    5 +-
 .../message-compression/producer/main.rs           |    2 +-
 examples/rust/src/multi-tenant/consumer/main.rs    |    8 +-
 examples/rust/src/multi-tenant/producer/main.rs    |   12 +-
 examples/rust/src/shared/system.rs                 |    4 +-
 .../stream-builder/stream-producer-config/main.rs  |    5 -
 examples/rust/src/tcp-tls/producer/main.rs         |    5 +-
 foreign/cpp/BUILD.bazel                            |   10 +
 foreign/cpp/Cargo.toml                             |   11 +-
 foreign/cpp/MODULE.bazel                           |    7 +-
 foreign/cpp/MODULE.bazel.lock                      |    6 +-
 foreign/cpp/README.md                              |  114 +
 foreign/cpp/include/iggy.hpp                       | 1089 +++-
 foreign/cpp/src/client.cpp                         |  240 +-
 foreign/cpp/src/client.rs                          |  439 +-
 foreign/cpp/src/lib.rs                             |  199 +-
 foreign/cpp/src/type_conversion.rs                 |  387 +-
 foreign/cpp/src/type_conversions.cpp               |   48 +-
 foreign/cpp/tests/e2e/client.cpp                   |  561 +-
 foreign/cpp/tests/e2e/consumer_group.cpp           |  100 +-
 foreign/cpp/tests/e2e/message.cpp                  |  401 +-
 foreign/cpp/tests/e2e/resource_options.cpp         |  736 +++
 foreign/cpp/tests/e2e/stream.cpp                   |   44 +-
 foreign/cpp/tests/e2e/test_helpers.hpp             |   52 +-
 foreign/cpp/tests/e2e/topic.cpp                    |  216 +-
 foreign/cpp/tests/fixtures/resource_options.json   | 1619 +++++
 foreign/cpp/tests/unit/resource_options.cpp        |  355 ++
 foreign/cpp/tests/unit/unit_tests.cpp              |  176 +-
 foreign/csharp/Benchmarks/Program.cs               |    7 +-
 foreign/csharp/Directory.Packages.props            |   13 +-
 .../Iggy_SDK.Tests.BDD/Context/TestContext.cs      |    2 +
 .../Iggy_SDK.Tests.BDD/Context/TestEnvironment.cs  |    1 +
 .../csharp/Iggy_SDK.Tests.BDD/Context/TestHooks.cs |    1 +
 .../Iggy_SDK.Tests.BDD/Iggy_SDK.Tests.BDD.csproj   |   13 +
 .../StepDefinitions/LeaderRedirectionSteps.cs      |   33 +-
 .../StepDefinitions/ResourceOptionsSteps.cs        |  376 ++
 .../StepDefinitions/SessionContractSteps.cs        |   89 +
 .../csharp/Iggy_SDK.Tests.BDD/xunit.runner.json    |    4 +
 .../Fixtures/IggyServerFixture.cs                  |   45 +-
 .../Fixtures/VsrCluster.cs                         |    9 +
 .../Iggy_SDK.Tests.Integration/HeartbeatTests.cs   |   40 +-
 .../Helpers/ConsumerGroupAssignment.cs             |    4 +-
 .../IggyConsumerTests.cs                           |   10 +-
 .../IggyTlsConnectionTests.cs                      |    9 +-
 .../IggyTypedConsumerTests.cs                      |   22 +-
 .../Iggy_SDK.Tests.Integration/OptionsTests.cs     |  313 +-
 .../Iggy_SDK.Tests.Integration/StreamsTests.cs     |   10 +-
 .../Iggy_SDK.Tests.Integration/TopicsTests.cs      |   39 +-
 .../Iggy_SDK.Tests.Integration/UsersTests.cs       |   98 +-
 .../Vsr/VsrMetadataTests.cs                        |    3 +-
 .../Iggy_SDK/Configuration/ConnectionString.cs     |   25 +-
 .../Configuration/IggyClientConfigurator.cs        |   34 +-
 .../Iggy_SDK/Configuration/ReconnectionSettings.cs |    4 +-
 .../csharp/Iggy_SDK/Consumers/AutoCommitMode.cs    |    4 +-
 .../Iggy_SDK/Consumers/IggyConsumer.Rented.cs      |   41 +-
 foreign/csharp/Iggy_SDK/Consumers/IggyConsumer.cs  |  380 +-
 .../csharp/Iggy_SDK/Consumers/IggyConsumerOfT.cs   |   23 +-
 .../csharp/Iggy_SDK/Contracts/Auth/UserResponse.cs |   25 +-
 .../Contracts/Http/Auth/CreateUserRequest.cs       |    9 +-
 .../Contracts/Http/Auth/UpdateUserRequest.cs       |   22 -
 .../Iggy_SDK/Contracts/Http/CreateStreamRequest.cs |   11 +-
 .../Iggy_SDK/Contracts/Http/CreateTopicRequest.cs  |   47 +-
 .../csharp/Iggy_SDK/Contracts/Http/OptionInputs.cs |   53 +
 .../Iggy_SDK/Contracts/Http/UpdateStreamRequest.cs |   20 -
 .../Iggy_SDK/Contracts/Http/UpdateTopicRequest.cs  |   31 -
 foreign/csharp/Iggy_SDK/Contracts/OptionKeys.cs    |  241 +
 foreign/csharp/Iggy_SDK/Contracts/OptionSpec.cs    |   38 +-
 foreign/csharp/Iggy_SDK/Contracts/OptionValues.cs  |   62 +
 foreign/csharp/Iggy_SDK/Contracts/OptionsPatch.cs  |   53 +
 .../{ClusterNodeStatus.cs => StreamOptionKey.cs}   |   40 +-
 foreign/csharp/Iggy_SDK/Contracts/StreamOptions.cs |   74 +
 .../csharp/Iggy_SDK/Contracts/StreamResponse.cs    |   56 +-
 foreign/csharp/Iggy_SDK/Contracts/StreamUpdate.cs  |   64 +
 .../csharp/Iggy_SDK/Contracts/Tcp/TcpContracts.cs  |  221 +-
 .../csharp/Iggy_SDK/Contracts/TopicOptionKey.cs    |   58 +
 foreign/csharp/Iggy_SDK/Contracts/TopicOptions.cs  |  139 +-
 foreign/csharp/Iggy_SDK/Contracts/TopicResponse.cs |   34 +-
 foreign/csharp/Iggy_SDK/Contracts/TopicUpdate.cs   |   88 +
 .../{ClusterNodeRole.cs => UserOptionKey.cs}       |   17 +-
 ...rsonalAccessTokenResponse.cs => UserOptions.cs} |   26 +-
 foreign/csharp/Iggy_SDK/Contracts/UserUpdate.cs    |   78 +
 .../csharp/Iggy_SDK/Encryption/EncryptionKeys.cs   |  108 +
 .../{Protocol.cs => PartitionResizePolicy.cs}      |   18 +-
 .../{UserStatus.cs => StreamEncryptionSource.cs}   |   21 +-
 .../Exceptions/IggyInvalidStatusCodeException.cs   |   11 +-
 ...ctedException.cs => VsrLaneBlockedException.cs} |   11 +-
 ...tion.cs => VsrOperationNotRetainedException.cs} |   12 +-
 .../VsrRequestOutcomeUnknownException.cs           |    8 +-
 .../Exceptions/VsrSessionEvictedException.cs       |   11 +-
 .../csharp/Iggy_SDK/Factory/IggyClientFactory.cs   |   11 +-
 foreign/csharp/Iggy_SDK/IggyClient/IIggyClient.cs  |   26 +
 foreign/csharp/Iggy_SDK/IggyClient/IIggyStream.cs  |   17 +-
 foreign/csharp/Iggy_SDK/IggyClient/IIggySystem.cs  |   12 +-
 foreign/csharp/Iggy_SDK/IggyClient/IIggyTopic.cs   |   41 +-
 foreign/csharp/Iggy_SDK/IggyClient/IIggyUsers.cs   |   16 +-
 .../Implementations/HttpMessageStream.cs           |  111 +-
 .../TcpMessageStream.PollRouting.cs                |  941 ++-
 .../TcpMessageStream.ReplicaLinks.cs               |  593 ++
 .../Implementations/TcpMessageStream.Vsr.cs        |  810 +--
 .../IggyClient/Implementations/TcpMessageStream.cs |  765 +--
 foreign/csharp/Iggy_SDK/Iggy_SDK.csproj            |    2 +-
 .../JsonConverters/RedactedOptionsConverter.cs     |   49 +
 .../JsonConverters/ResourceOptionsConverter.cs     |  133 +-
 foreign/csharp/Iggy_SDK/Mappers/BinaryMapper.cs    |   57 +-
 .../Publishers/BackgroundMessageProcessor.cs       |   80 +-
 .../csharp/Iggy_SDK/Publishers/IggyPublisher.cs    |   24 +-
 foreign/csharp/Iggy_SDK/Utils/CommandCodes.cs      |   12 +-
 foreign/csharp/Iggy_SDK/Vsr/ConsensusSession.cs    |  164 +-
 .../Iggy_SDK/Vsr/ConsumerGroupClientState.cs       |    3 +-
 foreign/csharp/Iggy_SDK/Vsr/LoginRegister.cs       |    4 +-
 foreign/csharp/Iggy_SDK/Vsr/MutationLanes.cs       |  739 +++
 foreign/csharp/Iggy_SDK/Vsr/VsrConnection.cs       |  637 +-
 foreign/csharp/Iggy_SDK/Vsr/VsrError.cs            |   31 +-
 foreign/csharp/Iggy_SDK/Vsr/VsrHeader.cs           |   18 +-
 foreign/csharp/Iggy_SDK/Vsr/VsrOperation.cs        |   66 +-
 foreign/csharp/Iggy_SDK/Vsr/VsrReplyDecoder.cs     |   18 +-
 .../ClientTests/ConnectionStringTests.cs           |   72 +
 .../ClientTests/ExampleHelpersTests.cs             |    5 +-
 .../ClientTests/HttpPartitionContextTests.cs       |    2 +-
 .../ClientTests/HttpTopicOptionsTests.cs           |   28 +-
 .../ClientTests/IggyClientFactoryTests.cs          |   23 +
 .../PartitionIncarnationTests.Disposal.cs          |  287 +
 .../ConsumerTests/PartitionIncarnationTests.cs     |  330 +-
 .../ConsumerTests/PollFailureTests.cs              |  457 ++
 .../ConsumerTests/RentedConsumerTests.cs           |   83 +
 .../ContractsTests/TopicContractsTests.cs          |   29 +-
 .../ContractsTests/WireNameLengthContractsTests.cs |   62 +-
 .../Iggy_SDK_Tests/Fixtures/resource_options.json  | 1619 +++++
 .../csharp/Iggy_SDK_Tests/Iggy_SDK_Tests.csproj    |    7 +-
 .../Iggy_SDK_Tests/MapperTests/BinaryMapper.cs     |   64 +-
 .../MapperTests/OptionsBlockGoldenVectorTests.cs   |   15 +-
 .../MapperTests/ResourceOptionsConverterTests.cs   |   37 +-
 .../MapperTests/ResourceOptionsTests.cs            | 1187 ++++
 .../PublisherTests/IggyTypedPublisherTests.cs      |   69 +-
 .../Iggy_SDK_Tests/UtilityTests/SendUnitTests.cs   |  175 +
 .../csharp/Iggy_SDK_Tests/Utils/BinaryFactory.cs   |   32 +-
 .../Iggy_SDK_Tests/Utils/Users/UsersFactory.cs     |    3 +-
 .../VsrTests/ConsensusSessionTests.cs              |   70 +-
 .../VsrTests/EndpointFailoverTests.cs              |  873 ++-
 foreign/csharp/Iggy_SDK_Tests/VsrTests/MockNode.cs |   61 +-
 .../Iggy_SDK_Tests/VsrTests/MutationLaneTests.cs   |  687 ++
 .../VsrTests/NativeRecoveryTests.SignIn.cs         |  710 +++
 .../Iggy_SDK_Tests/VsrTests/NativeRecoveryTests.cs | 1925 ++++++
 .../VsrTests/PartitionContextTests.cs              |    7 +-
 .../Iggy_SDK_Tests/VsrTests/PrimaryPollingTests.cs | 1367 +++-
 .../Iggy_SDK_Tests/VsrTests/ReplicaLinkTests.cs    |  482 ++
 .../Iggy_SDK_Tests/VsrTests/VsrHeaderTests.cs      |    2 +-
 .../VsrTests/VsrMultiplexingTests.cs               |  448 ++
 .../Iggy_SDK_Tests/VsrTests/VsrOperationTests.cs   |   18 +-
 .../VsrTests/VsrProtocolDriftTests.cs              |   45 +
 .../VsrTests/VsrReplyDecoderTests.cs               |   68 +-
 .../Iggy_SDK_Tests/VsrTests/VsrTestPayloads.cs     |    5 +
 foreign/csharp/README.md                           |  212 +-
 foreign/go/README.md                               |  200 +-
 .../go/benchmarks/send_messages_benchmark_test.go  |   16 +-
 .../binary_response_deserializer.go                |  147 +-
 .../binary_response_deserializer_test.go           |   78 +-
 .../vsr_response_deserializer_test.go              |   68 +-
 foreign/go/client/example_resource_options_test.go |   87 +
 foreign/go/client/iggy_client.go                   |   69 +-
 foreign/go/client/iggy_client_test.go              |   63 +-
 foreign/go/client/tcp/cluster.go                   |   87 +-
 .../go/client/tcp/tcp_access_token_management.go   |    2 +-
 foreign/go/client/tcp/tcp_connect_test.go          |  825 ++-
 .../go/client/tcp/tcp_consumer_group_management.go |   43 +-
 foreign/go/client/tcp/tcp_core.go                  | 1428 +----
 foreign/go/client/tcp/tcp_core_review_test.go      |   71 +-
 foreign/go/client/tcp/tcp_core_test.go             |  286 +-
 foreign/go/client/tcp/tcp_driver.go                |  681 ++
 foreign/go/client/tcp/tcp_driver_test.go           |  908 +++
 foreign/go/client/tcp/tcp_failover_test.go         |  681 +-
 foreign/go/client/tcp/tcp_group_polling.go         |   78 +-
 foreign/go/client/tcp/tcp_group_polling_test.go    |  127 +
 foreign/go/client/tcp/tcp_link.go                  |  235 +
 foreign/go/client/tcp/tcp_link_test.go             |  529 ++
 foreign/go/client/tcp/tcp_messaging.go             |   65 +-
 foreign/go/client/tcp/tcp_offset_management.go     |    9 +-
 foreign/go/client/tcp/tcp_pending.go               |  548 ++
 foreign/go/client/tcp/tcp_poll_routing.go          |  755 +--
 foreign/go/client/tcp/tcp_poll_routing_test.go     | 1595 ++++-
 foreign/go/client/tcp/tcp_replicas.go              |  618 ++
 foreign/go/client/tcp/tcp_replicas_test.go         | 1358 ++++
 .../go/client/tcp/tcp_session_credentials_test.go  |  457 +-
 foreign/go/client/tcp/tcp_session_management.go    |  842 ++-
 foreign/go/client/tcp/tcp_stream_management.go     |   21 +-
 .../go/client/tcp/tcp_stream_management_test.go    |   40 +-
 foreign/go/client/tcp/tcp_testing_test.go          |  131 +-
 foreign/go/client/tcp/tcp_topic_cache.go           |   14 +
 foreign/go/client/tcp/tcp_topic_cache_test.go      |   94 +-
 foreign/go/client/tcp/tcp_topic_management.go      |   46 +-
 foreign/go/client/tcp/tcp_topic_management_test.go |   38 +-
 foreign/go/client/tcp/tcp_user_management.go       |  135 +-
 foreign/go/contracts/client.go                     |   81 +-
 foreign/go/contracts/option_diagnostics.go         |  150 +
 foreign/go/contracts/options.go                    |   22 +-
 foreign/go/contracts/resource_options_test.go      |  988 +++
 foreign/go/contracts/stream.go                     |   53 +-
 foreign/go/contracts/stream_options.go             |  138 +
 .../go/contracts/testdata/resource_options.json    | 1619 +++++
 foreign/go/contracts/topic_options.go              |  130 +-
 foreign/go/contracts/topics.go                     |   12 +-
 foreign/go/contracts/user_options.go               |   59 +
 foreign/go/contracts/users.go                      |   13 +-
 foreign/go/contracts/version.go                    |    2 +-
 foreign/go/errors/errors.yaml                      |   56 +-
 foreign/go/errors/errors_gen.go                    |  170 +-
 foreign/go/errors/errors_test.go                   |    6 +-
 foreign/go/go.mod                                  |    1 -
 foreign/go/go.sum                                  |    2 -
 foreign/go/internal/command/access_token.go        |   12 +-
 foreign/go/internal/command/access_token_test.go   |   50 +
 foreign/go/internal/command/code.go                |  102 +-
 foreign/go/internal/command/stream.go              |   89 +-
 foreign/go/internal/command/stream_test.go         |   16 +-
 foreign/go/internal/command/topic.go               |  228 +-
 foreign/go/internal/command/topic_test.go          |  100 +-
 foreign/go/internal/command/update_resource.go     |  318 +
 .../go/internal/command/update_resource_test.go    |  181 +
 foreign/go/internal/command/update_user.go         |   94 +-
 foreign/go/internal/command/update_user_test.go    |   43 +-
 foreign/go/internal/command/user.go                |    9 +-
 foreign/go/internal/vsr/envelope.go                |   29 +-
 foreign/go/internal/vsr/envelope_test.go           |   12 +
 foreign/go/internal/vsr/header.go                  |   29 +-
 foreign/go/internal/vsr/operation.go               |   23 +-
 foreign/go/internal/vsr/operation_test.go          |   17 +-
 foreign/go/internal/vsr/protocol_parity_test.go    |    8 +-
 foreign/go/internal/vsr/register.go                |    4 +-
 foreign/go/internal/vsr/register_test.go           |    6 +-
 foreign/go/internal/vsr/reply.go                   |  106 +-
 foreign/go/internal/vsr/reply_test.go              |  214 +-
 foreign/go/internal/vsr/session.go                 |   31 +-
 foreign/go/internal/vsr/session_test.go            |   40 +-
 foreign/go/tests/e2e_helpers_test.go               |   52 +-
 foreign/go/tests/e2e_personal_access_token_test.go |   98 +
 foreign/go/tests/e2e_resource_options_test.go      |  301 +
 foreign/go/tests/e2e_test.go                       |   90 +-
 foreign/java/README.md                             |  185 +-
 .../common/provision/ResourceProvisioner.java      |   11 +-
 .../connector/pinot/IggyPinotIntegrationTest.java  |    6 +-
 foreign/java/gradle.properties                     |    2 +-
 foreign/java/gradle/libs.versions.toml             |    6 +-
 .../java/gradle/wrapper/gradle-wrapper.properties  |    2 +-
 foreign/java/gradlew                               |   87 +-
 foreign/java/java-sdk/build.gradle.kts             |    2 +-
 .../org/apache/iggy/builder/TcpClientBuilder.java  |   20 +
 .../apache/iggy/client/async/StreamsClient.java    |   52 +-
 .../org/apache/iggy/client/async/TopicsClient.java |  116 +-
 .../org/apache/iggy/client/async/UsersClient.java  |   37 +-
 .../iggy/client/async/tcp/AsyncIggyTcpClient.java  | 1076 +++-
 .../async/tcp/AsyncIggyTcpClientBuilder.java       |   72 +-
 .../iggy/client/async/tcp/AsyncTcpConnection.java  | 1394 +++--
 .../iggy/client/async/tcp/ConnectionHeartbeat.java |  132 +
 .../client/async/tcp/ConsumerGroupsTcpClient.java  |   62 +-
 .../client/async/tcp/ConsumerOffsetsTcpClient.java |   23 +-
 .../async/tcp/CredentialsListener.java}            |    9 +-
 .../iggy/client/async/tcp/IggyAuthenticator.java   |   78 +
 .../iggy/client/async/tcp/LeaderAwareness.java     |   45 +-
 .../iggy/client/async/tcp/LoginRoutingHook.java    |   17 +-
 .../iggy/client/async/tcp/MessagesTcpClient.java   |  345 +-
 .../iggy/client/async/tcp/PartitionsTcpClient.java |   22 +-
 .../async/tcp/PersonalAccessTokensTcpClient.java   |   25 +-
 .../apache/iggy/client/async/tcp/PollRouter.java   | 1271 +++-
 .../iggy/client/async/tcp/PoolChannelHandler.java  |   93 +
 .../client/async/tcp/RawPartitionRequests.java     |    2 +-
 .../apache/iggy/client/async/tcp/SessionLogin.java |  155 +
 .../iggy/client/async/tcp/StreamsTcpClient.java    |   58 +-
 .../iggy/client/async/tcp/SystemTcpClient.java     |   49 +-
 .../iggy/client/async/tcp/TopicsTcpClient.java     |  167 +-
 .../tcp/TransientFailoverHandler.java}             |   27 +-
 .../client/async/tcp/UserPatchCredentials.java     |   88 +
 .../iggy/client/async/tcp/UsersTcpClient.java      |  114 +-
 .../async/tcp/VsrExchange.java}                    |   39 +-
 .../client/async/tcp/vsr/ConsensusSession.java     |  866 ++-
 .../iggy/client/async/tcp/vsr/VsrHeaders.java      |    7 +
 .../iggy/client/async/tcp/vsr/VsrLoginCodec.java   |    2 +-
 .../iggy/client/async/tcp/vsr/VsrOperation.java    |   30 +-
 .../client/async/tcp/vsr/VsrRequestEncoder.java    |   25 +-
 .../client/async/tcp/vsr/VsrResponseHandler.java   |  256 +-
 .../apache/iggy/client/blocking/StreamsClient.java |   32 +-
 .../apache/iggy/client/blocking/TopicsClient.java  |   87 +-
 .../apache/iggy/client/blocking/UsersClient.java   |   21 +-
 .../iggy/client/blocking/http/HttpOptionValue.java |  164 +
 .../client/blocking/http/InternalHttpClient.java   |    2 +-
 .../client/blocking/http/StreamsHttpClient.java    |   60 +-
 .../client/blocking/http/SystemHttpClient.java     |   31 +-
 .../client/blocking/http/TopicsHttpClient.java     |   99 +-
 .../iggy/client/blocking/http/UsersHttpClient.java |   77 +-
 .../iggy/client/blocking/tcp/IggyTcpClient.java    |   18 +
 .../client/blocking/tcp/IggyTcpClientBuilder.java  |   34 +-
 .../iggy/client/blocking/tcp/StreamsTcpClient.java |   11 +-
 .../iggy/client/blocking/tcp/TopicsTcpClient.java  |   26 +-
 .../iggy/client/blocking/tcp/UsersTcpClient.java   |   14 +-
 .../java/org/apache/iggy/config/RetryPolicy.java   |   10 +-
 .../apache/iggy/config/TcpConnectionString.java    |  263 +
 .../org/apache/iggy/exception/IggyErrorCode.java   |   17 +
 .../iggy/exception/IggyOperationException.java}    |   29 +-
 .../iggy/exception/IggyValidationException.java    |    9 +-
 .../org/apache/iggy/serde/BytesDeserializer.java   |   45 +-
 .../org/apache/iggy/serde/BytesSerializer.java     |  144 +
 .../java/org/apache/iggy/serde/CommandCode.java    |   18 +-
 .../apache/iggy/stream/EncryptionKeySource.java}   |   32 +-
 .../org/apache/iggy/stream/EncryptionKeys.java     |  120 +
 .../apache/iggy/stream/EncryptionProjection.java   |   60 +
 .../java/org/apache/iggy/stream/StreamBase.java    |   31 +-
 .../java/org/apache/iggy/stream/StreamDetails.java |   42 +-
 .../org/apache/iggy/stream/StreamOptionKey.java    |   59 +
 .../java/org/apache/iggy/stream/StreamOptions.java |  128 +
 .../java/org/apache/iggy/stream/StreamUpdate.java  |  138 +
 .../java/org/apache/iggy/system/OptionKey.java     |  177 +
 .../java/org/apache/iggy/system/OptionSpec.java    |   47 +-
 ...{Durability.java => PartitionResizePolicy.java} |    9 +-
 .../src/main/java/org/apache/iggy/topic/Topic.java |   33 +-
 .../java/org/apache/iggy/topic/TopicDetails.java   |   22 +-
 .../java/org/apache/iggy/topic/TopicOptionKey.java |   63 +
 .../java/org/apache/iggy/topic/TopicOptions.java   |  123 +-
 .../java/org/apache/iggy/topic/TopicSettings.java  |   67 +
 .../java/org/apache/iggy/topic/TopicUpdate.java    |  174 +
 .../main/java/org/apache/iggy/user/UserInfo.java   |   22 +-
 .../java/org/apache/iggy/user/UserInfoDetails.java |   26 +-
 .../java/org/apache/iggy/user/UserOptionKey.java}  |   25 +-
 .../java/org/apache/iggy/user/UserOptions.java     |   74 +
 .../main/java/org/apache/iggy/user/UserUpdate.java |  163 +
 .../src/test/java/org/apache/iggy/IggyTest.java    |    4 +
 .../java/org/apache/iggy/ProtocolParityTest.java   |  217 +
 .../org/apache/iggy/ResourceOptionsFixture.java    |  201 +
 ...nnectionExceptionTest.java => RustSources.java} |   32 +-
 .../test/java/org/apache/iggy/TestConstants.java   |    5 +-
 .../apache/iggy/client/BaseIntegrationTest.java    |    6 +-
 .../client/async/AsyncClientIntegrationTest.java   |  185 +-
 .../client/async/AsyncConnectionPoolAuthTest.java  |   42 +-
 .../iggy/client/async/AsyncConsumerGroupsTest.java |   10 +-
 .../iggy/client/async/ResourceOptionsTest.java     |  371 ++
 ...ncIggyTcpClientBuilderConnectionStringTest.java |   65 +
 .../async/tcp/AsyncIggyTcpClientBuilderTest.java   |   21 +
 .../AsyncIggyTcpClientCredentialChangeTest.java    |  293 +
 .../AsyncIggyTcpClientEndpointFailoverTest.java    | 1597 ++++-
 .../tcp/AsyncIggyTcpClientEventLoopGroupTest.java  |    6 +-
 .../tcp/AsyncIggyTcpClientFailoverSignInTest.java  |  406 ++
 .../async/tcp/AsyncIggyTcpClientLockOrderTest.java |  183 +
 .../tcp/AsyncIggyTcpClientLoginRoutingTest.java    |  156 +-
 .../tcp/AsyncIggyTcpClientLostLinkReplayTest.java  |  295 +
 .../tcp/AsyncIggyTcpClientNamespaceMissTest.java   |  508 ++
 .../AsyncIggyTcpClientPartitionContextTest.java    |   56 +-
 .../tcp/AsyncIggyTcpClientPartitionWriteTest.java  |  118 +
 .../tcp/AsyncIggyTcpClientRawRequestTest.java      |  238 +-
 .../async/tcp/AsyncIggyTcpClientRecoveryTest.java  | 1929 ++++++
 .../AsyncIggyTcpClientSendContextCacheTest.java    |  206 +-
 .../tcp/AsyncIggyTcpClientSessionRulesTest.java    | 1225 ++++
 .../AsyncIggyTcpClientTransientFailoverTest.java   |  307 +-
 .../tcp/AsyncTcpConnectionConcurrencyTest.java     |  433 +-
 .../tcp/AsyncTcpConnectionLifecycleBusyTest.java   |  195 +-
 .../tcp/AsyncTcpConnectionRequestTimeoutTest.java  |  137 +-
 .../iggy/client/async/tcp/LeaderAwarenessTest.java |   30 -
 .../client/async/tcp/LoginRoutingHookTest.java     |    4 +-
 .../iggy/client/async/tcp/PollRouterTest.java      | 1297 +++-
 .../async/tcp/TopicsTcpClientPayloadTest.java      |   42 +-
 .../client/async/tcp/vsr/ConsensusSessionTest.java |  469 ++
 .../client/async/tcp/vsr/VsrLoginCodecTest.java    |   11 +-
 .../client/async/tcp/vsr/VsrOperationTest.java     |   69 +
 .../async/tcp/vsr/VsrRequestEncoderTest.java       |   31 +-
 .../async/tcp/vsr/VsrResponseHandlerTest.java      |  294 +-
 .../iggy/client/blocking/IntegrationTest.java      |   12 +-
 .../iggy/client/blocking/StreamClientBaseTest.java |  155 +-
 .../iggy/client/blocking/SystemClientBaseTest.java |   43 +-
 .../iggy/client/blocking/TopicsClientBaseTest.java |  126 +-
 .../iggy/client/blocking/UsersClientBaseTest.java  |   66 +-
 .../client/blocking/http/HttpOptionValueTest.java  |  215 +
 .../http/InternalHttpClientLoggingTest.java        |   61 +
 .../http/MessagesHttpClientSendContextTest.java    |    4 +-
 .../client/blocking/http/StreamHttpClientTest.java |   37 +
 .../blocking/tcp/IggyTcpClientBuilderTest.java     |   13 +
 .../client/blocking/tcp/MessagesTcpClientTest.java |   12 +-
 .../client/blocking/tcp/TlsConnectionTest.java     |    4 +-
 .../client/blocking/tcp/TopicsTcpClientTest.java   |   18 +-
 .../client/blocking/tcp/UsersTcpClientTest.java    |   12 +
 .../iggy/config/TcpConnectionStringTest.java       |  210 +
 .../exception/IggyValidationExceptionTest.java     |   18 +-
 .../apache/iggy/serde/BytesDeserializerTest.java   |   16 +-
 .../org/apache/iggy/serde/ResourceOptionsTest.java |  670 ++
 .../org/apache/iggy/stream/StreamDetailsTest.java  |   21 +-
 .../org/apache/iggy/topic/TopicDetailsTest.java    |   18 +-
 .../org/apache/iggy/topic/TopicOptionsTest.java    |   15 +-
 .../org/apache/iggy/user/UserInfoDetailsTest.java  |    2 +-
 .../src/test/resources/resource_options.json       | 1619 +++++
 foreign/node/README.md                             |  269 +-
 foreign/node/docker-compose.yml                    |    3 +
 foreign/node/package-lock.json                     |  295 +-
 foreign/node/package.json                          |    7 +-
 foreign/node/scripts/check-vsr-protocol.mjs        |   22 +
 foreign/node/src/bdd/README.md                     |    3 +
 foreign/node/src/bdd/env.ts                        |   10 +-
 foreign/node/src/bdd/resource-options.ts           |  333 +
 foreign/node/src/bdd/session.ts                    |   63 +
 foreign/node/src/bdd/world.ts                      |   10 +-
 foreign/node/src/client.e2e.ts                     |    8 +-
 foreign/node/src/client/client.config.test.ts      |   18 +-
 foreign/node/src/client/client.config.ts           |   16 +-
 .../src/client/client.connection-string.test.ts    |   49 +
 .../node/src/client/client.connection-string.ts    |   19 +-
 foreign/node/src/client/client.connection.test.ts  | 1176 +---
 foreign/node/src/client/client.connection.ts       |  742 +--
 foreign/node/src/client/client.operation.test.ts   |  310 +
 foreign/node/src/client/client.operation.ts        |  445 ++
 foreign/node/src/client/client.socket.test.ts      | 4803 +++++++++++---
 foreign/node/src/client/client.socket.ts           | 2348 ++++---
 foreign/node/src/client/client.ts                  |  124 +-
 foreign/node/src/client/client.type.ts             |   78 +-
 foreign/node/src/client/index.ts                   |    1 +
 ...est-client.utils.ts => resource-options.e2e.ts} |   15 +-
 foreign/node/src/e2e/resource-options.suite.ts     |  323 +
 foreign/node/src/e2e/tcp.consumer-stream.e2e.ts    |    4 +
 foreign/node/src/e2e/tcp.parallel.e2e.ts           |    7 +-
 foreign/node/src/e2e/tcp.token.e2e.ts              |   10 +-
 foreign/node/src/e2e/tcp.user.e2e.ts               |   51 +-
 foreign/node/src/e2e/tls.system.e2e.ts             |   47 +-
 foreign/node/src/index.ts                          |   17 +
 foreign/node/src/stream/consumer-stream.ts         |  134 +-
 foreign/node/src/wire/command-set.ts               |   21 +-
 foreign/node/src/wire/command.code.ts              |   12 +-
 foreign/node/src/wire/error.code.test.ts           |    9 +
 foreign/node/src/wire/error.code.ts                |    8 +-
 foreign/node/src/wire/error.utils.ts               |    2 +
 .../node/src/wire/fixtures/resource_options.json   | 1619 +++++
 foreign/node/src/wire/index.ts                     |    4 +
 .../src/wire/message/poll-messages.command.test.ts |  105 +-
 .../node/src/wire/message/poll-messages.command.ts |   70 +-
 .../node/src/wire/message/send-messages.command.ts |   17 +-
 foreign/node/src/wire/options.utils.ts             |   80 +
 .../src/wire/session/login-with-token.command.ts   |   10 +-
 foreign/node/src/wire/session/login.command.ts     |   10 +-
 .../node/src/wire/stream/create-stream.command.ts  |   33 +-
 foreign/node/src/wire/stream/index.ts              |    1 +
 .../node/src/wire/stream/stream-options.test.ts    |  113 +
 foreign/node/src/wire/stream/stream-options.ts     |  140 +
 foreign/node/src/wire/stream/stream.utils.ts       |   31 +-
 .../node/src/wire/stream/update-stream.command.ts  |   52 +-
 .../src/wire/system/describe-options.command.ts    |   43 +-
 foreign/node/src/wire/system/index.ts              |    1 +
 .../wire/system/update-resource.command.test.ts    |  680 ++
 .../src/wire/system/update-resource.command.ts     |  173 +
 .../src/wire/token/create-token.command.test.ts    |   14 +
 .../node/src/wire/token/create-token.command.ts    |    4 +-
 .../node/src/wire/topic/create-topic.command.ts    |   43 +-
 foreign/node/src/wire/topic/index.ts               |    2 +-
 foreign/node/src/wire/topic/topic.utils.test.ts    |   26 +-
 foreign/node/src/wire/topic/topic.utils.ts         |   44 +-
 .../node/src/wire/topic/update-topic.command.ts    |   87 +-
 foreign/node/src/wire/user/create-user.command.ts  |   23 +-
 foreign/node/src/wire/user/index.ts                |    1 +
 foreign/node/src/wire/user/update-user.command.ts  |   82 +-
 foreign/node/src/wire/user/user.utils.ts           |   13 +-
 foreign/node/src/wire/vsr/header.ts                |   16 +-
 foreign/node/src/wire/vsr/index.ts                 |   19 +-
 foreign/node/src/wire/vsr/operation.test.ts        |   33 +-
 foreign/node/src/wire/vsr/operation.ts             |   41 +-
 foreign/node/src/wire/vsr/register.ts              |    4 +-
 foreign/node/src/wire/vsr/reply.test.ts            |   16 +-
 foreign/node/src/wire/vsr/reply.ts                 |   49 +-
 foreign/node/src/wire/vsr/session.test.ts          |   29 +-
 foreign/node/src/wire/vsr/session.ts               |   34 +-
 foreign/node/src/wire/vsr/vsr.test.ts              |   57 +-
 foreign/node/tsconfig.json                         |    1 +
 foreign/php/Cargo.toml                             |    5 +-
 foreign/php/Dockerfile.test                        |    4 +-
 foreign/php/README.md                              |   74 +-
 foreign/php/docker-compose.test.yml                |    4 +
 foreign/php/iggy-php.stubs.php                     |  330 +-
 foreign/php/src/client.rs                          |  387 +-
 foreign/php/src/error.rs                           |  108 +-
 foreign/php/src/lib.rs                             |   14 +-
 foreign/php/src/options.rs                         |  338 +
 foreign/php/src/receive_message.rs                 |    6 +-
 foreign/php/src/send_message.rs                    |    8 +-
 foreign/php/src/sensitive_parameters.rs            |  135 +
 foreign/php/src/stream.rs                          |   48 +-
 foreign/php/src/topic.rs                           |   22 +-
 foreign/php/tests/ErrorTest.php                    |   18 +
 foreign/php/tests/RawCommandTest.php               |  141 +
 foreign/php/tests/ResourceOptionsTest.php          |  640 ++
 foreign/php/tests/SensitiveParameterTest.php       |  166 +
 foreign/php/tests/bootstrap.php                    |   32 +-
 foreign/php/tests/fixtures/resource_options.json   | 1619 +++++
 foreign/python/Cargo.toml                          |   16 +-
 foreign/python/README.md                           |  158 +-
 foreign/python/apache_iggy.pyi                     |  793 ++-
 foreign/python/docker-compose.test.yml             |    3 +
 foreign/python/pyproject.toml                      |    6 +-
 foreign/python/src/bin/stub_gen.rs                 |    2 +
 foreign/python/src/client.rs                       |  638 +-
 foreign/python/src/config.rs                       |  180 +-
 foreign/python/src/consumer.rs                     |   15 +-
 foreign/python/src/identifier.rs                   |   11 +-
 foreign/python/src/lib.rs                          |   25 +-
 foreign/python/src/options.rs                      |   64 +-
 foreign/python/src/producer.rs                     |  275 +-
 foreign/python/src/resource_options.rs             |  614 ++
 foreign/python/src/stream.rs                       |   90 +
 foreign/python/src/topic.rs                        |   67 +-
 foreign/python/src/user.rs                         |  107 +-
 foreign/python/tests/conftest.py                   |   70 +-
 .../python/tests/fixtures/resource_options.json    | 1619 +++++
 foreign/python/tests/test_cleanup.py               |  169 +
 foreign/python/tests/test_client_config.py         |   35 +-
 foreign/python/tests/test_consumer_group.py        |  267 +-
 foreign/python/tests/test_http_config.py           |    8 +-
 foreign/python/tests/test_message_operations.py    |  131 +-
 foreign/python/tests/test_partition.py             |    5 +-
 foreign/python/tests/test_permissions.py           |    2 +-
 foreign/python/tests/test_producer.py              |  100 +-
 foreign/python/tests/test_quic_config.py           |   37 +-
 foreign/python/tests/test_raw_command.py           |   75 +-
 foreign/python/tests/test_resource_options.py      |  742 +++
 foreign/python/tests/test_segment.py               |   45 +-
 foreign/python/tests/test_stats.py                 |   14 +-
 foreign/python/tests/test_stream.py                |    4 +-
 foreign/python/tests/test_tls.py                   |    2 +-
 foreign/python/tests/test_topic.py                 |  303 +-
 foreign/python/tests/test_user.py                  |  267 +-
 foreign/python/uv.lock                             |   49 +-
 foreign/swift/Package.resolved                     |   78 +
 foreign/swift/Package.swift                        |   30 +-
 foreign/swift/README.md                            |  236 +-
 .../Sources/Iggy/Client/ClientConfiguration.swift  |  144 +
 foreign/swift/Sources/Iggy/Client/ClientCore.swift | 1630 +++++
 .../Sources/Iggy/Client/ConsumerGroupState.swift   |  223 +
 .../Sources/Iggy/Client/IggyClient+Messages.swift  |  434 ++
 .../Sources/Iggy/Client/IggyClient+Resources.swift |  265 +
 foreign/swift/Sources/Iggy/Client/IggyClient.swift |  280 +
 foreign/swift/Sources/Iggy/Client/PollRouter.swift |  854 +++
 foreign/swift/Sources/Iggy/Errors/IggyError.swift  |   42 +
 .../swift/Sources/Iggy/Errors/IggyErrorCode.swift  |   12 +
 foreign/swift/Sources/Iggy/Iggy.swift              |    2 +-
 .../swift/Sources/Iggy/Models/EncryptionKey.swift  |   65 +
 foreign/swift/Sources/Iggy/Models/Identifier.swift |   16 +
 .../swift/Sources/Iggy/Models/IggyMessage.swift    |    6 +
 foreign/swift/Sources/Iggy/Models/Messaging.swift  |   58 +-
 .../Sources/Iggy/Models/ResourceOptions.swift      |  116 +-
 foreign/swift/Sources/Iggy/Models/Resources.swift  |   22 +-
 .../swift/Sources/Iggy/Models/StreamOptions.swift  |  191 +
 .../swift/Sources/Iggy/Models/TopicOptions.swift   |  198 +-
 .../swift/Sources/Iggy/Models/UserHeaders.swift    |    2 +-
 .../swift/Sources/Iggy/Models/UserOptions.swift    |   88 +
 .../swift/Sources/Iggy/Protocol/CommandCode.swift  |   34 +-
 .../Sources/Iggy/Protocol/ConsensusOperation.swift |   27 +-
 .../Sources/Iggy/Protocol/ConsensusSession.swift   |   16 +-
 .../Sources/Iggy/Protocol/ProtocolVersion.swift    |    2 +-
 foreign/swift/Sources/Iggy/Protocol/Requests.swift |   94 +-
 .../swift/Sources/Iggy/Protocol/Responses.swift    |   96 +-
 foreign/swift/Sources/Iggy/Protocol/VSRFrame.swift |   51 +-
 .../swift/Sources/Iggy/Transport/Endpoint.swift    |  155 +
 .../Sources/Iggy/Transport/TCPConnection.swift     |  298 +
 .../swift/Sources/Iggy/Transport/TLSOptions.swift  |   67 +
 .../swift/Sources/Iggy/Utilities/AsyncMutex.swift  |  201 +
 .../swift/Tests/IggyE2ETests/ClientE2ETests.swift  |  711 +++
 .../IggyE2ETests/ResourceOptionsE2ETests.swift     |  309 +
 .../IggyE2ETests/Support/E2EEnvironment.swift      |  236 +
 .../Tests/IggyTests/ClientTransportTests.swift     | 2641 ++++++++
 .../swift/Tests/IggyTests/ConcurrencyTests.swift   |  217 +
 .../swift/Tests/IggyTests/ConfigurationTests.swift |  120 +
 .../Tests/IggyTests/ConsumerGroupStateTests.swift  |  122 +
 foreign/swift/Tests/IggyTests/Fixtures/golden.json |   75 +-
 .../Tests/IggyTests/Fixtures/resource_options.json | 1619 +++++
 foreign/swift/Tests/IggyTests/MessagingTests.swift | 2112 +++++++
 foreign/swift/Tests/IggyTests/ModelTests.swift     |   57 +-
 .../swift/Tests/IggyTests/ModelVectorTests.swift   |   29 +-
 foreign/swift/Tests/IggyTests/ProtocolTests.swift  |   49 +-
 .../Tests/IggyTests/ResourceOptionsTests.swift     |  586 ++
 .../Tests/IggyTests/ResponseVectorTests.swift      |   32 +-
 .../Tests/IggyTests/Support/FakeVSRServer.swift    |  482 ++
 .../IggyTests/Support/ResourceOptionsFixture.swift |  412 ++
 .../Tests/IggyTests/Support/TestHelpers.swift      |   85 +
 .../swift/Tests/IggyTests/WireVectorTests.swift    |   66 +-
 foreign/swift/Tools/golden-vectors/src/main.rs     |  269 +-
 gateways/kafka/Cargo.toml                          |   11 +-
 gateways/kafka/Dockerfile                          |   21 +-
 gateways/kafka/README.md                           |  348 +-
 gateways/kafka/docker-compose.yml                  |   11 +-
 gateways/kafka/docs/ACL_MAPPING.md                 |   17 +-
 gateways/kafka/docs/AUTHENTICATION.md              |  123 +-
 gateways/kafka/docs/BRIDGE_MAPPING.md              |   64 +-
 gateways/kafka/docs/CONFIGS.md                     |  100 +-
 gateways/kafka/docs/CONSUMER_GROUPS.md             |  260 +-
 gateways/kafka/docs/MANUAL_TESTING.md              |  196 +-
 gateways/kafka/docs/OFFSET_STORAGE.md              |   13 +-
 gateways/kafka/docs/SCOPE.md                       |  178 +-
 gateways/kafka/docs/TEST_SUITE.md                  |   33 +-
 gateways/kafka/docs/kafka_api_keys_reference.md    |   21 +-
 gateways/kafka/scripts/ci-wire-fixtures.sh         |    2 +-
 gateways/kafka/src/auth.rs                         |  133 +-
 gateways/kafka/src/bridge/config.rs                |   99 +-
 gateways/kafka/src/bridge/error.rs                 |  158 +-
 .../kafka/src/bridge/iggy_bridge/cluster_id.rs     |  416 ++
 gateways/kafka/src/bridge/iggy_bridge/fetch.rs     |  231 +-
 .../kafka/src/bridge/iggy_bridge/group_index.rs    |  851 +++
 .../kafka/src/bridge/iggy_bridge/group_offsets.rs  | 1216 +++-
 gateways/kafka/src/bridge/iggy_bridge/mod.rs       |  193 +-
 gateways/kafka/src/bridge/iggy_bridge/offsets.rs   |  114 +-
 gateways/kafka/src/bridge/iggy_bridge/produce.rs   |   36 +-
 gateways/kafka/src/bridge/iggy_bridge/topics.rs    |  289 +-
 gateways/kafka/src/bridge/mod.rs                   |   11 +-
 gateways/kafka/src/bridge/topic_map.rs             |  213 +-
 gateways/kafka/src/cluster_id.rs                   |  202 +
 gateways/kafka/src/error.rs                        |    4 +
 gateways/kafka/src/group/mod.rs                    |  419 +-
 gateways/kafka/src/group/offset_work.rs            |  323 +
 gateways/kafka/src/group/state.rs                  | 2051 +++++-
 gateways/kafka/src/lib.rs                          |    3 +
 gateways/kafka/src/listener.rs                     |  463 ++
 gateways/kafka/src/main.rs                         |  698 ++-
 gateways/kafka/src/protocol/api.rs                 |  217 +-
 gateways/kafka/src/protocol/auto_topic_creation.rs |  503 ++
 gateways/kafka/src/protocol/bounds_guard.rs        |  362 +-
 .../kafka/src/protocol/handlers/alter_configs.rs   |   54 +-
 .../kafka/src/protocol/handlers/api_versions.rs    |   65 +-
 .../src/protocol/handlers/create_partitions.rs     | 1702 +++++
 .../kafka/src/protocol/handlers/create_topics.rs   |   50 +-
 .../kafka/src/protocol/handlers/delete_groups.rs   |  535 ++
 .../kafka/src/protocol/handlers/delete_topics.rs   |   38 +-
 .../src/protocol/handlers/describe_cluster.rs      |  232 +
 .../src/protocol/handlers/describe_configs.rs      |   24 +-
 .../kafka/src/protocol/handlers/describe_groups.rs |  136 +-
 gateways/kafka/src/protocol/handlers/fetch.rs      |   32 +-
 .../src/protocol/handlers/find_coordinator.rs      |   15 +-
 gateways/kafka/src/protocol/handlers/heartbeat.rs  |    1 +
 ...ter_configs.rs => incremental_alter_configs.rs} |  217 +-
 gateways/kafka/src/protocol/handlers/join_group.rs |    4 +-
 .../kafka/src/protocol/handlers/list_groups.rs     |  139 +-
 .../kafka/src/protocol/handlers/list_offsets.rs    |  987 ++-
 gateways/kafka/src/protocol/handlers/metadata.rs   |  256 +-
 gateways/kafka/src/protocol/handlers/mod.rs        |   82 +-
 .../kafka/src/protocol/handlers/offset_commit.rs   |   21 +-
 .../kafka/src/protocol/handlers/offset_delete.rs   |  548 ++
 .../kafka/src/protocol/handlers/offset_fetch.rs    |    5 +-
 gateways/kafka/src/protocol/handlers/produce.rs    |   13 +-
 .../kafka/src/protocol/handlers/topic_config.rs    |  355 +-
 gateways/kafka/src/protocol/mod.rs                 |    1 +
 gateways/kafka/src/records.rs                      |  107 +-
 gateways/kafka/src/server.rs                       | 1058 +++-
 gateways/kafka/src/tls/identity.rs                 | 1211 ++++
 gateways/kafka/src/tls/mod.rs                      |  586 ++
 gateways/kafka/tests/api_handler_tests.rs          |   89 +-
 .../kafka/tests/bridge_iggy_integration_tests.rs   |  260 +-
 gateways/kafka/tests/broker_advertise_tests.rs     |   55 +-
 .../kafka/tests/cluster_id_real_bridge_tests.rs    |  434 ++
 gateways/kafka/tests/common/certs.rs               |  186 +
 gateways/kafka/tests/common/iggy_server.rs         |   53 +-
 gateways/kafka/tests/common/scope.rs               |    7 +-
 gateways/kafka/tests/common/server.rs              |   66 +-
 gateways/kafka/tests/common/tcp.rs                 |   15 +-
 gateways/kafka/tests/common/wire.rs                |  120 +-
 gateways/kafka/tests/configs_handler_tests.rs      |  129 +-
 gateways/kafka/tests/configs_java_client_tests.rs  |   24 +-
 gateways/kafka/tests/configs_real_bridge_tests.rs  |  512 +-
 gateways/kafka/tests/consumer_group_tests.rs       |   77 +-
 .../tests/create_partitions_real_bridge_tests.rs   |  687 ++
 .../kafka/tests/create_topics_real_bridge_tests.rs |   33 +-
 .../kafka/tests/delete_topics_real_bridge_tests.rs |  174 +-
 gateways/kafka/tests/fetch_real_bridge_tests.rs    |    6 +-
 gateways/kafka/tests/golden_wire_fixtures_tests.rs |   26 +-
 gateways/kafka/tests/idempotence_tests.rs          |    5 -
 gateways/kafka/tests/java/ConfigsProbe.java        |   34 +-
 .../kafka/tests/java/OffsetsForTimesProbe.java     |   59 +
 gateways/kafka/tests/kafka_client_e2e_tests.rs     | 1291 +++-
 .../kafka/tests/list_offsets_real_bridge_tests.rs  |  325 +-
 gateways/kafka/tests/metadata_real_bridge_tests.rs |  503 +-
 .../kafka/tests/offset_groups_real_bridge_tests.rs | 1373 ++++
 gateways/kafka/tests/offsets_real_bridge_tests.rs  |    6 +-
 gateways/kafka/tests/produce_real_bridge_tests.rs  |    9 +-
 gateways/kafka/tests/sasl_tests.rs                 |   17 +-
 gateways/kafka/tests/tls_listener_tests.rs         |  971 +++
 gateways/kafka/tests/version_firewall_tests.rs     |   83 +-
 gateways/kafka/tools/kafka-tool/README.md          |    4 +-
 gateways/kafka/tools/kafka-tool/src/main.rs        |   61 +
 gateways/kafka/tools/kafka-tool/src/response.rs    |   51 +-
 helm/charts/iggy/Chart.yaml                        |    2 +-
 helm/charts/iggy/README.md                         |   33 +-
 helm/charts/iggy/README.md.gotmpl                  |   23 +-
 helm/charts/iggy/examples/cluster-3-node.yaml      |   18 +-
 helm/charts/iggy/templates/_helpers.tpl            |   65 +-
 helm/charts/iggy/templates/server-secrets.yaml     |    5 +-
 helm/charts/iggy/values.yaml                       |   20 +-
 rust-toolchain.toml                                |    2 +-
 scripts/bump-version.sh                            |    6 +-
 scripts/ci/apt-install.sh                          |   72 +-
 scripts/ci/coverage-baseline-affected.sh           |    2 +-
 .../build_release.sh => ci/restore-runtime.sh}     |   19 +-
 scripts/ci/storage-compat.sh                       |   52 +-
 scripts/ci/test-helm.sh                            |   98 +-
 scripts/ci/test-runtime-artifacts.py               |  387 ++
 scripts/ci/third-party-licenses.sh                 |    3 +
 .../performance/run-standard-performance-suite.sh  |   18 +-
 scripts/profile.sh                                 |    2 +-
 scripts/run-bdd-tests.sh                           |   19 +-
 scripts/run-examples-from-readme.sh                |   25 +-
 web/docs/server-api.http                           |   57 +-
 web/package-lock.json                              |  330 +-
 web/package.json                                   |   16 +-
 web/src/lib/api/ApiSchema.ts                       |   40 +-
 web/src/lib/api/resourceOptions.test.mjs           |  159 +
 web/src/lib/api/resourceOptions.ts                 |  146 +
 .../lib/components/Modals/AddStreamModal.svelte    |   39 +-
 web/src/lib/components/Modals/AddTopicModal.svelte |   37 +-
 web/src/lib/components/Modals/EditUserModal.svelte |  116 +-
 .../components/Modals/StreamSettingsModal.svelte   |   30 +-
 .../components/Modals/TopicSettingsModal.svelte    |  100 +-
 .../RouteComponents/Settings/UsersTab.svelte       |    8 +-
 web/src/lib/domain/Stream.ts                       |   11 +-
 web/src/lib/domain/Topic.ts                        |   25 +-
 .../routes/dashboard/settings/users/+page.svelte   |    9 +-
 1421 files changed, 225676 insertions(+), 46030 deletions(-)
 create mode 100644 .github/actions/bdd/pre-merge/action.yml
 create mode 100644 .github/actions/utils/download-runtime/action.yml
 rename .github/actions/utils/{setup-cpp-with-cache => setup-cpp}/action.yml (82%)
 rename .github/actions/utils/{setup-go-with-cache => setup-go}/action.yml (98%)
 rename .github/actions/utils/{setup-java-with-cache => setup-java}/action.yml (98%)
 rename .github/actions/utils/{setup-node-with-cache => setup-node}/action.yml (68%)
 rename .github/actions/utils/{setup-rust-with-cache => setup-rust}/action.yml (74%)
 create mode 100644 .github/workflows/_build_ci_artifacts.yml
 create mode 100644 .github/workflows/_rust.yml
 create mode 100644 .github/workflows/_rust_tests.yml
 create mode 100644 bdd/cpp/features/step_definitions/resource_options_steps.cpp
 create mode 100644 bdd/cpp/features/step_definitions/session_contract_steps.cpp
 create mode 100644 bdd/docker-compose.no-quorum.yml
 create mode 100644 bdd/go/tests/resource_options.go
 create mode 100644 bdd/go/tests/session_contract.go
 create mode 100644 bdd/java/src/test/java/org/apache/iggy/bdd/ResourceOptionsSteps.java
 copy bdd/php/tests/{RawCommandFeatureTest.php => SessionContractFeatureTest.php} (56%)
 copy examples/php/getting-started/producer.php => bdd/php/tests/SharedFeatureParserTest.php (51%)
 create mode 100644 bdd/php/tests/StreamOptionsFeatureTest.php
 create mode 100644 bdd/python/tests/test_resource_options_patch.py
 copy bdd/python/tests/{test_raw_command.py => test_session_contract.py} (50%)
 create mode 100644 bdd/python/tests/test_stream_options.py
 copy bdd/rust/tests/{basic_messaging.rs => resource_options_patch.rs} (93%)
 copy bdd/rust/tests/{basic_messaging.rs => session_contract.rs} (93%)
 create mode 100644 bdd/rust/tests/steps/resource_options.rs
 create mode 100644 bdd/rust/tests/steps/session.rs
 copy bdd/rust/tests/{stream_crud.rs => stream_options.rs} (93%)
 create mode 100644 bdd/scenarios/resource_options_patch.feature
 copy bdd/scenarios/{raw_command.feature => session_contract.feature} (52%)
 create mode 100644 bdd/scenarios/stream_options.feature
 create mode 100644 core/binary_protocol/src/consensus/primary_rebalance.rs
 create mode 100644 core/binary_protocol/src/consensus/segment_delete.rs
 create mode 100644 core/binary_protocol/src/requests/streams/rewrap_stream_keys.rs
 delete mode 100644 core/binary_protocol/src/requests/streams/update_stream.rs
 create mode 100644 core/binary_protocol/src/requests/streams/update_stream_resolved.rs
 create mode 100644 core/binary_protocol/src/requests/system/update_resource.rs
 delete mode 100644 core/binary_protocol/src/requests/topics/update_topic.rs
 create mode 100644 core/binary_protocol/src/requests/topics/update_topic_resolved.rs
 delete mode 100644 core/binary_protocol/src/requests/users/update_user.rs
 create mode 100644 core/binary_protocol/src/requests/users/update_user_resolved.rs
 delete mode 100644 core/binary_protocol/src/responses/messages/poll_routing.rs
 delete mode 100644 core/binary_protocol/src/responses/streams/update_stream.rs
 copy core/{bench/dashboard/frontend/src/components/theme/mod.rs => binary_protocol/src/responses/system/update_resource.rs} (89%)
 delete mode 100644 core/binary_protocol/src/responses/topics/update_topic.rs
 delete mode 100644 core/binary_protocol/src/responses/users/update_user.rs
 create mode 100644 core/common/benches/stream_encryption.rs
 create mode 100644 core/common/examples/resource_options_fixtures.rs
 create mode 100644 core/common/examples/resource_options_fixtures/schema.rs
 create mode 100644 core/common/fixtures/resource_options.json
 create mode 100644 core/common/src/http/options.rs
 delete mode 100644 core/common/src/http/streams/update_stream.rs
 delete mode 100644 core/common/src/http/topics/update_topic.rs
 delete mode 100644 core/common/src/http/users/update_user.rs
 create mode 100644 core/common/src/types/configuration/pending_operations_config.rs
 create mode 100644 core/common/src/types/options/catalog.rs
 create mode 100644 core/common/src/types/options/codec.rs
 create mode 100644 core/common/src/types/options/key.rs
 create mode 100644 core/common/src/utils/stream_key.rs
 create mode 100644 core/common/tests/resource_options_fixtures.rs
 create mode 100644 core/common/tests/stream_key_erasure.rs
 create mode 100644 core/connectors/runtime/example_config/connectors/mqtt_source.toml
 copy core/connectors/{sinks/postgres_sink => sources/mqtt_source}/Cargo.toml (76%)
 create mode 100644 core/connectors/sources/mqtt_source/README.md
 create mode 100644 core/connectors/sources/mqtt_source/config.toml
 create mode 100644 core/connectors/sources/mqtt_source/src/driver.rs
 create mode 100644 core/connectors/sources/mqtt_source/src/lib.rs
 create mode 100644 core/integration/src/harness/peer_relay.rs
 create mode 100644 core/integration/tests/cluster/root_credentials.rs
 create mode 100644 core/integration/tests/cluster/stream_encryption.rs
 create mode 100644 core/integration/tests/cluster/stream_key_rotation.rs
 create mode 100644 core/integration/tests/connectors/fixtures/mqtt/container.rs
 create mode 100644 core/integration/tests/connectors/fixtures/mqtt/mod.rs
 create mode 100644 core/integration/tests/connectors/fixtures/mqtt/publisher.rs
 copy core/integration/tests/connectors/{s3 => mqtt}/mod.rs (97%)
 create mode 100644 core/integration/tests/connectors/mqtt/mqtt_source.rs
 copy core/integration/tests/connectors/{doris/sink.toml => mqtt/source.toml} (94%)
 copy .claude/skills/connector-review/agents/openai.yaml => core/integration/tests/server/shared_jwt_secrets.toml (72%)
 create mode 100644 core/metadata/src/impls/placement.rs
 create mode 100644 core/partitions/src/stream_keyring.rs
 create mode 100644 core/partitions/src/wal_storage.rs
 delete mode 100644 core/sdk/src/driver/poll_router.rs
 delete mode 100644 core/sdk/src/leader_aware.rs
 create mode 100644 core/sdk/src/session_owner/pending.rs
 create mode 100644 core/server/src/dispatch/segment_delete.rs
 create mode 100644 core/server/src/http/relay_proof.rs
 create mode 100644 core/server/src/stream_key_rewrapper.rs
 create mode 100644 core/server/src/stream_keys.rs
 create mode 100644 core/shard/src/primary_rebalance.rs
 create mode 100644 core/shard/src/primary_rebalance/tests.rs
 create mode 100644 core/simulator/src/partition_wal.rs
 copy core/simulator/src/workload/ops/{create_stream.rs => create_keyed_stream.rs} (82%)
 copy core/simulator/src/workload/ops/{store_consumer_offset.rs => poll_messages.rs} (53%)
 create mode 100644 core/simulator/src/workload/readback.rs
 create mode 100644 core/simulator/tests/lifecycle_seeds.rs
 create mode 100644 foreign/cpp/tests/e2e/resource_options.cpp
 create mode 100644 foreign/cpp/tests/fixtures/resource_options.json
 create mode 100644 foreign/cpp/tests/unit/resource_options.cpp
 create mode 100644 foreign/csharp/Iggy_SDK.Tests.BDD/StepDefinitions/ResourceOptionsSteps.cs
 create mode 100644 foreign/csharp/Iggy_SDK.Tests.BDD/StepDefinitions/SessionContractSteps.cs
 create mode 100644 foreign/csharp/Iggy_SDK.Tests.BDD/xunit.runner.json
 delete mode 100644 foreign/csharp/Iggy_SDK/Contracts/Http/Auth/UpdateUserRequest.cs
 create mode 100644 foreign/csharp/Iggy_SDK/Contracts/Http/OptionInputs.cs
 delete mode 100644 foreign/csharp/Iggy_SDK/Contracts/Http/UpdateStreamRequest.cs
 delete mode 100644 foreign/csharp/Iggy_SDK/Contracts/Http/UpdateTopicRequest.cs
 create mode 100644 foreign/csharp/Iggy_SDK/Contracts/OptionKeys.cs
 create mode 100644 foreign/csharp/Iggy_SDK/Contracts/OptionValues.cs
 create mode 100644 foreign/csharp/Iggy_SDK/Contracts/OptionsPatch.cs
 copy foreign/csharp/Iggy_SDK/Contracts/{ClusterNodeStatus.cs => StreamOptionKey.cs} (55%)
 create mode 100644 foreign/csharp/Iggy_SDK/Contracts/StreamOptions.cs
 create mode 100644 foreign/csharp/Iggy_SDK/Contracts/StreamUpdate.cs
 create mode 100644 foreign/csharp/Iggy_SDK/Contracts/TopicOptionKey.cs
 create mode 100644 foreign/csharp/Iggy_SDK/Contracts/TopicUpdate.cs
 copy foreign/csharp/Iggy_SDK/Contracts/{ClusterNodeRole.cs => UserOptionKey.cs} (70%)
 copy foreign/csharp/Iggy_SDK/Contracts/{Auth/PersonalAccessTokenResponse.cs => UserOptions.cs} (54%)
 create mode 100644 foreign/csharp/Iggy_SDK/Contracts/UserUpdate.cs
 create mode 100644 foreign/csharp/Iggy_SDK/Encryption/EncryptionKeys.cs
 copy foreign/csharp/Iggy_SDK/Enums/{Protocol.cs => PartitionResizePolicy.cs} (74%)
 copy foreign/csharp/Iggy_SDK/Enums/{UserStatus.cs => StreamEncryptionSource.cs} (68%)
 copy foreign/csharp/Iggy_SDK/Exceptions/{NotConnectedException.cs => VsrLaneBlockedException.cs} (71%)
 copy foreign/csharp/Iggy_SDK/Exceptions/{InvalidBaseAddressException.cs => VsrOperationNotRetainedException.cs} (60%)
 create mode 100644 foreign/csharp/Iggy_SDK/IggyClient/Implementations/TcpMessageStream.ReplicaLinks.cs
 create mode 100644 foreign/csharp/Iggy_SDK/JsonConverters/RedactedOptionsConverter.cs
 create mode 100644 foreign/csharp/Iggy_SDK/Vsr/MutationLanes.cs
 create mode 100644 foreign/csharp/Iggy_SDK_Tests/ConsumerTests/PartitionIncarnationTests.Disposal.cs
 create mode 100644 foreign/csharp/Iggy_SDK_Tests/ConsumerTests/PollFailureTests.cs
 create mode 100644 foreign/csharp/Iggy_SDK_Tests/Fixtures/resource_options.json
 create mode 100644 foreign/csharp/Iggy_SDK_Tests/MapperTests/ResourceOptionsTests.cs
 create mode 100644 foreign/csharp/Iggy_SDK_Tests/VsrTests/MutationLaneTests.cs
 create mode 100644 foreign/csharp/Iggy_SDK_Tests/VsrTests/NativeRecoveryTests.SignIn.cs
 create mode 100644 foreign/csharp/Iggy_SDK_Tests/VsrTests/NativeRecoveryTests.cs
 create mode 100644 foreign/csharp/Iggy_SDK_Tests/VsrTests/ReplicaLinkTests.cs
 create mode 100644 foreign/csharp/Iggy_SDK_Tests/VsrTests/VsrMultiplexingTests.cs
 create mode 100644 foreign/go/client/example_resource_options_test.go
 create mode 100644 foreign/go/client/tcp/tcp_driver.go
 create mode 100644 foreign/go/client/tcp/tcp_driver_test.go
 create mode 100644 foreign/go/client/tcp/tcp_link.go
 create mode 100644 foreign/go/client/tcp/tcp_link_test.go
 create mode 100644 foreign/go/client/tcp/tcp_pending.go
 create mode 100644 foreign/go/client/tcp/tcp_replicas.go
 create mode 100644 foreign/go/client/tcp/tcp_replicas_test.go
 create mode 100644 foreign/go/contracts/option_diagnostics.go
 create mode 100644 foreign/go/contracts/resource_options_test.go
 create mode 100644 foreign/go/contracts/stream_options.go
 create mode 100644 foreign/go/contracts/testdata/resource_options.json
 create mode 100644 foreign/go/contracts/user_options.go
 create mode 100644 foreign/go/internal/command/access_token_test.go
 create mode 100644 foreign/go/internal/command/update_resource.go
 create mode 100644 foreign/go/internal/command/update_resource_test.go
 create mode 100644 foreign/go/tests/e2e_personal_access_token_test.go
 create mode 100644 foreign/go/tests/e2e_resource_options_test.go
 create mode 100644 foreign/java/java-sdk/src/main/java/org/apache/iggy/client/async/tcp/ConnectionHeartbeat.java
 copy foreign/java/java-sdk/src/main/java/org/apache/iggy/{personalaccesstoken/PersonalAccessTokenInfo.java => client/async/tcp/CredentialsListener.java} (78%)
 create mode 100644 foreign/java/java-sdk/src/main/java/org/apache/iggy/client/async/tcp/PoolChannelHandler.java
 create mode 100644 foreign/java/java-sdk/src/main/java/org/apache/iggy/client/async/tcp/SessionLogin.java
 copy foreign/java/java-sdk/src/main/java/org/apache/iggy/client/{ConnectionInfo.java => async/tcp/TransientFailoverHandler.java} (60%)
 create mode 100644 foreign/java/java-sdk/src/main/java/org/apache/iggy/client/async/tcp/UserPatchCredentials.java
 copy foreign/java/java-sdk/src/main/java/org/apache/iggy/{message/MessageId.java => client/async/tcp/VsrExchange.java} (57%)
 create mode 100644 foreign/java/java-sdk/src/main/java/org/apache/iggy/client/blocking/http/HttpOptionValue.java
 create mode 100644 foreign/java/java-sdk/src/main/java/org/apache/iggy/config/TcpConnectionString.java
 copy foreign/java/java-sdk/src/{test/java/org/apache/iggy/exception/IggyNotConnectedExceptionTest.java => main/java/org/apache/iggy/exception/IggyOperationException.java} (56%)
 copy foreign/java/{bench/src/main/java/org/apache/iggy/bench/common/enums/GroupKind.java => java-sdk/src/main/java/org/apache/iggy/stream/EncryptionKeySource.java} (52%)
 create mode 100644 foreign/java/java-sdk/src/main/java/org/apache/iggy/stream/EncryptionKeys.java
 create mode 100644 foreign/java/java-sdk/src/main/java/org/apache/iggy/stream/EncryptionProjection.java
 create mode 100644 foreign/java/java-sdk/src/main/java/org/apache/iggy/stream/StreamOptionKey.java
 create mode 100644 foreign/java/java-sdk/src/main/java/org/apache/iggy/stream/StreamOptions.java
 create mode 100644 foreign/java/java-sdk/src/main/java/org/apache/iggy/stream/StreamUpdate.java
 create mode 100644 foreign/java/java-sdk/src/main/java/org/apache/iggy/system/OptionKey.java
 copy foreign/java/java-sdk/src/main/java/org/apache/iggy/topic/{Durability.java => PartitionResizePolicy.java} (83%)
 create mode 100644 foreign/java/java-sdk/src/main/java/org/apache/iggy/topic/TopicOptionKey.java
 create mode 100644 foreign/java/java-sdk/src/main/java/org/apache/iggy/topic/TopicSettings.java
 create mode 100644 foreign/java/java-sdk/src/main/java/org/apache/iggy/topic/TopicUpdate.java
 copy foreign/java/{bench/src/main/java/org/apache/iggy/bench/common/enums/ActorKind.java => java-sdk/src/main/java/org/apache/iggy/user/UserOptionKey.java} (63%)
 create mode 100644 foreign/java/java-sdk/src/main/java/org/apache/iggy/user/UserOptions.java
 create mode 100644 foreign/java/java-sdk/src/main/java/org/apache/iggy/user/UserUpdate.java
 create mode 100644 foreign/java/java-sdk/src/test/java/org/apache/iggy/ProtocolParityTest.java
 create mode 100644 foreign/java/java-sdk/src/test/java/org/apache/iggy/ResourceOptionsFixture.java
 copy foreign/java/java-sdk/src/test/java/org/apache/iggy/{exception/IggyConnectionExceptionTest.java => RustSources.java} (52%)
 create mode 100644 foreign/java/java-sdk/src/test/java/org/apache/iggy/client/async/ResourceOptionsTest.java
 create mode 100644 foreign/java/java-sdk/src/test/java/org/apache/iggy/client/async/tcp/AsyncIggyTcpClientBuilderConnectionStringTest.java
 create mode 100644 foreign/java/java-sdk/src/test/java/org/apache/iggy/client/async/tcp/AsyncIggyTcpClientCredentialChangeTest.java
 create mode 100644 foreign/java/java-sdk/src/test/java/org/apache/iggy/client/async/tcp/AsyncIggyTcpClientFailoverSignInTest.java
 create mode 100644 foreign/java/java-sdk/src/test/java/org/apache/iggy/client/async/tcp/AsyncIggyTcpClientLockOrderTest.java
 create mode 100644 foreign/java/java-sdk/src/test/java/org/apache/iggy/client/async/tcp/AsyncIggyTcpClientLostLinkReplayTest.java
 create mode 100644 foreign/java/java-sdk/src/test/java/org/apache/iggy/client/async/tcp/AsyncIggyTcpClientNamespaceMissTest.java
 create mode 100644 foreign/java/java-sdk/src/test/java/org/apache/iggy/client/async/tcp/AsyncIggyTcpClientPartitionWriteTest.java
 create mode 100644 foreign/java/java-sdk/src/test/java/org/apache/iggy/client/async/tcp/AsyncIggyTcpClientRecoveryTest.java
 create mode 100644 foreign/java/java-sdk/src/test/java/org/apache/iggy/client/async/tcp/AsyncIggyTcpClientSessionRulesTest.java
 create mode 100644 foreign/java/java-sdk/src/test/java/org/apache/iggy/client/async/tcp/vsr/ConsensusSessionTest.java
 create mode 100644 foreign/java/java-sdk/src/test/java/org/apache/iggy/client/async/tcp/vsr/VsrOperationTest.java
 create mode 100644 foreign/java/java-sdk/src/test/java/org/apache/iggy/client/blocking/http/HttpOptionValueTest.java
 create mode 100644 foreign/java/java-sdk/src/test/java/org/apache/iggy/client/blocking/http/InternalHttpClientLoggingTest.java
 create mode 100644 foreign/java/java-sdk/src/test/java/org/apache/iggy/config/TcpConnectionStringTest.java
 create mode 100644 foreign/java/java-sdk/src/test/java/org/apache/iggy/serde/ResourceOptionsTest.java
 create mode 100644 foreign/java/java-sdk/src/test/resources/resource_options.json
 create mode 100644 foreign/node/src/bdd/resource-options.ts
 create mode 100644 foreign/node/src/bdd/session.ts
 create mode 100644 foreign/node/src/client/client.operation.test.ts
 create mode 100644 foreign/node/src/client/client.operation.ts
 copy foreign/node/src/e2e/{test-client.utils.ts => resource-options.e2e.ts} (64%)
 create mode 100644 foreign/node/src/e2e/resource-options.suite.ts
 create mode 100644 foreign/node/src/wire/fixtures/resource_options.json
 create mode 100644 foreign/node/src/wire/stream/stream-options.test.ts
 create mode 100644 foreign/node/src/wire/stream/stream-options.ts
 create mode 100644 foreign/node/src/wire/system/update-resource.command.test.ts
 create mode 100644 foreign/node/src/wire/system/update-resource.command.ts
 create mode 100644 foreign/php/src/options.rs
 create mode 100644 foreign/php/src/sensitive_parameters.rs
 create mode 100644 foreign/php/tests/ResourceOptionsTest.php
 create mode 100644 foreign/php/tests/SensitiveParameterTest.php
 create mode 100644 foreign/php/tests/fixtures/resource_options.json
 create mode 100644 foreign/python/src/resource_options.rs
 create mode 100644 foreign/python/tests/fixtures/resource_options.json
 create mode 100644 foreign/python/tests/test_cleanup.py
 create mode 100644 foreign/python/tests/test_resource_options.py
 create mode 100644 foreign/swift/Package.resolved
 create mode 100644 foreign/swift/Sources/Iggy/Client/ClientConfiguration.swift
 create mode 100644 foreign/swift/Sources/Iggy/Client/ClientCore.swift
 create mode 100644 foreign/swift/Sources/Iggy/Client/ConsumerGroupState.swift
 create mode 100644 foreign/swift/Sources/Iggy/Client/IggyClient+Messages.swift
 create mode 100644 foreign/swift/Sources/Iggy/Client/IggyClient+Resources.swift
 create mode 100644 foreign/swift/Sources/Iggy/Client/IggyClient.swift
 create mode 100644 foreign/swift/Sources/Iggy/Client/PollRouter.swift
 create mode 100644 foreign/swift/Sources/Iggy/Models/EncryptionKey.swift
 create mode 100644 foreign/swift/Sources/Iggy/Models/StreamOptions.swift
 create mode 100644 foreign/swift/Sources/Iggy/Models/UserOptions.swift
 create mode 100644 foreign/swift/Sources/Iggy/Transport/Endpoint.swift
 create mode 100644 foreign/swift/Sources/Iggy/Transport/TCPConnection.swift
 create mode 100644 foreign/swift/Sources/Iggy/Transport/TLSOptions.swift
 create mode 100644 foreign/swift/Sources/Iggy/Utilities/AsyncMutex.swift
 create mode 100644 foreign/swift/Tests/IggyE2ETests/ClientE2ETests.swift
 create mode 100644 foreign/swift/Tests/IggyE2ETests/ResourceOptionsE2ETests.swift
 create mode 100644 foreign/swift/Tests/IggyE2ETests/Support/E2EEnvironment.swift
 create mode 100644 foreign/swift/Tests/IggyTests/ClientTransportTests.swift
 create mode 100644 foreign/swift/Tests/IggyTests/ConcurrencyTests.swift
 create mode 100644 foreign/swift/Tests/IggyTests/ConfigurationTests.swift
 create mode 100644 foreign/swift/Tests/IggyTests/ConsumerGroupStateTests.swift
 create mode 100644 foreign/swift/Tests/IggyTests/Fixtures/resource_options.json
 create mode 100644 foreign/swift/Tests/IggyTests/MessagingTests.swift
 create mode 100644 foreign/swift/Tests/IggyTests/ResourceOptionsTests.swift
 create mode 100644 foreign/swift/Tests/IggyTests/Support/FakeVSRServer.swift
 create mode 100644 foreign/swift/Tests/IggyTests/Support/ResourceOptionsFixture.swift
 create mode 100644 foreign/swift/Tests/IggyTests/Support/TestHelpers.swift
 create mode 100644 gateways/kafka/src/bridge/iggy_bridge/cluster_id.rs
 create mode 100644 gateways/kafka/src/bridge/iggy_bridge/group_index.rs
 create mode 100644 gateways/kafka/src/cluster_id.rs
 create mode 100644 gateways/kafka/src/group/offset_work.rs
 create mode 100644 gateways/kafka/src/listener.rs
 create mode 100644 gateways/kafka/src/protocol/auto_topic_creation.rs
 create mode 100644 gateways/kafka/src/protocol/handlers/create_partitions.rs
 create mode 100644 gateways/kafka/src/protocol/handlers/delete_groups.rs
 create mode 100644 gateways/kafka/src/protocol/handlers/describe_cluster.rs
 copy gateways/kafka/src/protocol/handlers/{alter_configs.rs => incremental_alter_configs.rs} (62%)
 create mode 100644 gateways/kafka/src/protocol/handlers/offset_delete.rs
 create mode 100644 gateways/kafka/src/tls/identity.rs
 create mode 100644 gateways/kafka/src/tls/mod.rs
 create mode 100644 gateways/kafka/tests/cluster_id_real_bridge_tests.rs
 create mode 100644 gateways/kafka/tests/common/certs.rs
 create mode 100644 gateways/kafka/tests/create_partitions_real_bridge_tests.rs
 create mode 100644 gateways/kafka/tests/java/OffsetsForTimesProbe.java
 create mode 100644 gateways/kafka/tests/offset_groups_real_bridge_tests.rs
 create mode 100644 gateways/kafka/tests/tls_listener_tests.rs
 copy scripts/{dashboard/build_release.sh => ci/restore-runtime.sh} (60%)
 create mode 100644 scripts/ci/test-runtime-artifacts.py
 create mode 100644 web/src/lib/api/resourceOptions.test.mjs
 create mode 100644 web/src/lib/api/resourceOptions.ts