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

(iggy) branch cluster-chaos-monkey updated (a666a891d -> cd6e7afce)

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

hubcio pushed a change to branch cluster-chaos-monkey
in repository https://gitbox.apache.org/repos/asf/iggy.git


    omit a666a891d test(integration): add chaos monkey to catch data loss under node kills
     add f6dfbdbb3 feat(server): store offsets of groups managed outside Iggy (#4392)
     add 56e109a58 feat(consensus): persist retry receipts and shared sessions (#4387)
     add 07d2a2136 chore(deps): Bump the github-actions group with 3 updates (#4426)
     add 651ccea4e chore(deps): Bump postcss-selector-parser from 7.1.4 to 7.1.6 in /web (#4425)
     add 50a0db603 chore(deps): Bump mako from 1.4.1 to 1.4.2 in /bdd/python (#4423)
     add 0ce152402 chore(deps): Bump joi from 17.13.7 to 17.13.8 in /web (#4422)
     add a263a813d fix(ci): skip unaffected license checks (#4428)
     add 4843593b1 chore(deps): Bump source-map-js from 1.2.1 to 1.2.2 in /web (#4424)
     add 2c1f70b53 chore(repo): bump Rust toolchain to 1.99.0 (#4430)
     add 5da16eba2 chore(deps): Bump the java group across 3 directories with 6 updates (#4427)
     add 43fb44364 feat(node): wire up snapshot command in system client (#4389)
     add af706e68e perf(partitions): keep shard traffic moving during file I/O (#4311)
     add 789c2e045 feat(gateways): answer OffsetCommit and OffsetFetch (#4415)
     add 09420cf4d test(gateways): cover Kafka consumer groups end to end (#4431)
     add 2eac34938 test(server): expect per-topic size and message count on /metrics (#4475)
     add 875699426 ci(repo): move jobs off ubuntu-latest to cut runner queue time (#4479)
     add 5753d4958 refactor!: remove the purge API and its server machinery (#4477)
     add 5ded8ff62 feat(configs): list configuration environment variables (#4350)
     add b7576e580 chore(deps): Bump cucumber-cpp from 0.8.0.bcr.1 to 0.9.0 in /foreign/cpp in the cpp group across 1 directory (#4469)
     add 69a1bcc16 chore(deps): Bump the node group across 1 directory with 12 updates (#4470)
     add ed7e251dc chore(deps): Bump the csharp group with 2 updates (#4406)
     add 8efc3e1e6 chore(deps): Bump the python group across 3 directories with 3 updates (#4435)
     add 9536916bd feat(csharp): implement connection string parsing (#4363)
     add 89921bf48 docs(repo): add the RFC process and template (#4385)
     add b4e357cc9 chore(deps): Bump the web group across 1 directory with 8 updates (#4468)
     add 09183950a feat(connectors): add Google BigQuery sink connector (#4394)
     add 5a030bf69 test(integration): add chaos monkey to catch data loss under node kills
     add cd6e7afce test(cluster): preserve chaos run reports and restart logs

This update added new revisions after undoing existing revisions.
That is to say, some revisions that were in the old version of the
branch are not in the new version.  This situation occurs
when a user --force pushes a change and generates a repository
containing something like this:

 * -- * -- B -- O -- O -- O   (a666a891d)
            \
             N -- N -- N   refs/heads/cluster-chaos-monkey (cd6e7afce)

You should already have received notification emails for all of the O
revisions, and so the following emails describe only the N revisions
from the common base, B.

Any revisions marked "omit" are not gone; other references still
refer to them.  Any revisions marked "discard" are gone forever.

No new revisions were added by this update.

Summary of changes:
 .config/nextest.toml                               |     1 +
 .devcontainer/Dockerfile                           |     2 +-
 .github/actions/php/pre-merge/action.yml           |    16 +-
 .github/actions/rust/pre-merge/action.yml          |     9 +-
 .github/actions/utils/setup-swift/action.yml       |    55 +-
 .github/workflows/_build_python_wheels.yml         |    12 +-
 .github/workflows/_build_rust_artifacts.yml        |    17 +-
 .github/workflows/_common.yml                      |    42 +-
 .github/workflows/_detect.yml                      |    29 +-
 .github/workflows/_publish_rust_crates.yml         |     2 +-
 .github/workflows/_test.yml                        |     6 +-
 .github/workflows/_test_bdd.yml                    |     2 +-
 .github/workflows/_test_examples.yml               |    14 +-
 .github/workflows/codecov-notify.yml               |     2 +-
 .github/workflows/coverage-baseline.yml            |    24 +-
 .github/workflows/edge-release.yml                 |     2 +-
 .github/workflows/issue-labeler-assigner.yml       |     2 +-
 .github/workflows/post-merge.yml                   |     4 +-
 .github/workflows/pr-skill-review-post.yml         |     2 +-
 .github/workflows/pr-skill-review-run.yml          |     2 +-
 .github/workflows/pr-title.yml                     |     3 +-
 .github/workflows/pr-triage-apply.yml              |     2 +-
 .github/workflows/pr-triage-collect.yml            |     2 +-
 .github/workflows/pre-merge.yml                    |     5 +-
 .github/workflows/publish.yml                      |    20 +-
 .github/workflows/stale-prs-unmark-on-activity.yml |     2 +-
 .github/workflows/stale-prs-unmark.yml             |     2 +-
 .github/workflows/stale-prs.yml                    |     2 +-
 .pr4372-comments.json                              |     0
 CONTRIBUTING.md                                    |     5 +
 Cargo.lock                                         |   154 +-
 Cargo.toml                                         |    14 +-
 Dockerfile                                         |     2 +-
 bdd/java/Dockerfile                                |     2 +-
 bdd/java/build.gradle.kts                          |     6 +-
 bdd/java/gradle/wrapper/gradle-wrapper.properties  |     2 +-
 bdd/java/gradlew                                   |     4 +-
 bdd/php/Dockerfile                                 |     2 +-
 bdd/python/Dockerfile                              |     2 +-
 bdd/python/uv.lock                                 |    76 +-
 bdd/rust/Dockerfile                                |     2 +-
 core/ai/mcp/Cargo.toml                             |     1 +
 core/ai/mcp/Dockerfile                             |     2 +-
 core/ai/mcp/README.md                              |     6 +-
 core/ai/mcp/src/error.rs                           |     2 +
 core/ai/mcp/src/main.rs                            |    34 +-
 core/ai/mcp/src/service/mod.rs                     |    25 -
 core/ai/mcp/src/service/requests.rs                |    15 -
 core/bench/dashboard/frontend/src/api/mod.rs       |     9 +-
 .../frontend/src/components/app_content.rs         |    28 +-
 .../frontend/src/components/chart/trend_chart.rs   |     4 +-
 .../frontend/src/components/layout/sidebar.rs      |     4 +-
 .../dashboard/frontend/src/state/benchmark.rs      |    22 +-
 core/bench/dashboard/server/Dockerfile             |     2 +-
 core/bench/report/Cargo.toml                       |     1 -
 core/bench/report/src/types/hardware.rs            |     2 +-
 core/bench/src/utils/client_factory.rs             |    20 +-
 core/binary_protocol/src/codes.rs                  |    13 +-
 core/binary_protocol/src/consensus/command.rs      |     8 +-
 .../src/consensus/consumer_session.rs              |    32 +-
 core/binary_protocol/src/consensus/error.rs        |     8 +-
 core/binary_protocol/src/consensus/header.rs       |   121 +-
 core/binary_protocol/src/consensus/operation.rs    |    55 +-
 core/binary_protocol/src/dispatch.rs               |    74 +-
 core/binary_protocol/src/framing.rs                |     6 +-
 core/binary_protocol/src/lib.rs                    |     4 +-
 core/binary_protocol/src/primitives/consumer.rs    |    29 +-
 core/binary_protocol/src/requests/streams/mod.rs   |     2 -
 .../src/requests/streams/purge_stream.rs           |    60 -
 .../src/requests/system/attach_consumer_session.rs |    87 -
 .../src/requests/system/bind_session.rs            |   155 +
 core/binary_protocol/src/requests/system/mod.rs    |     6 +-
 .../src/requests/system/retire_sessions.rs         |   117 +
 core/binary_protocol/src/requests/topics/mod.rs    |     2 -
 .../src/requests/topics/purge_topic.rs             |    86 -
 .../src/requests/users/login_register.rs           |    60 +-
 .../src/requests/users/login_register_with_pat.rs  |    17 +-
 .../src/responses/messages/poll_routing.rs         |     8 +-
 .../src/responses/messages/send_messages.rs        |    14 +-
 core/binary_protocol/src/responses/streams/mod.rs  |     2 -
 .../src/responses/streams/purge_stream.rs          |    19 -
 core/binary_protocol/src/responses/topics/mod.rs   |     2 -
 .../src/responses/topics/purge_topic.rs            |    19 -
 core/binary_protocol/src/version.rs                |   145 +-
 core/cli/src/args/consumer_offset.rs               |     6 +-
 core/cli/src/args/stream.rs                        |    18 -
 core/cli/src/args/topic.rs                         |    27 -
 .../binary_consumer_offsets/get_consumer_offset.rs |     1 +
 core/cli/src/commands/binary_streams/mod.rs        |     1 -
 .../src/commands/binary_streams/purge_stream.rs    |    59 -
 core/cli/src/commands/binary_topics/mod.rs         |     1 -
 core/cli/src/commands/binary_topics/purge_topic.rs |    67 -
 core/cli/src/main.rs                               |     9 +-
 core/common/src/error/iggy_error.rs                |     8 +
 core/common/src/http/streams/mod.rs                |     1 -
 core/common/src/http/streams/purge_stream.rs       |    37 -
 core/common/src/http/topics/mod.rs                 |     1 -
 core/common/src/http/topics/purge_topic.rs         |    41 -
 core/common/src/lib.rs                             |     1 +
 core/common/src/traits/binary_impls/mod.rs         |     2 +-
 .../traits/binary_impls/personal_access_tokens.rs  |    25 +-
 core/common/src/traits/binary_impls/streams.rs     |    16 +-
 core/common/src/traits/binary_impls/topics.rs      |    26 +-
 core/common/src/traits/binary_impls/users.rs       |    25 +-
 core/common/src/traits/binary_transport.rs         |    46 +
 core/common/src/traits/consumer_offset_client.rs   |    11 +-
 core/common/src/traits/message_client.rs           |     1 +
 core/common/src/traits/mod.rs                      |     1 +
 core/common/src/traits/stream_client.rs            |     4 -
 core/common/src/traits/topic_client.rs             |     8 -
 core/common/src/types/consumer/consumer_kind.rs    |    78 +-
 core/common/src/types/streaming_stats.rs           |     4 +-
 core/configs/src/configs_impl/env_listing.rs       |   102 +
 core/configs/src/configs_impl/env_mapping.rs       |   111 +
 core/configs/src/configs_impl/file_provider.rs     |    11 +-
 core/configs/src/configs_impl/mod.rs               |     9 +-
 .../configs/src/configs_impl/typed_env_provider.rs |    41 +-
 core/configs/src/lib.rs                            |     5 +-
 core/configs/src/server_config/cluster.rs          |    19 +
 core/configs/src/server_config/metadata.rs         |    12 +-
 core/configs/src/server_config/partition.rs        |    11 +-
 core/configs/src/server_config/server.rs           |    65 +-
 core/configs/src/server_config/sharding.rs         |    79 +-
 core/configs_derive/src/config_env.rs              |   225 +-
 core/connectors/runtime/Dockerfile                 |     2 +-
 core/connectors/runtime/README.md                  |     4 +
 .../example_config/connectors/bigquery_sink.toml   |    63 +
 core/connectors/runtime/src/configs/connectors.rs  |     2 +-
 .../src/configs/connectors/local_provider.rs       |    27 +-
 core/connectors/runtime/src/error.rs               |     4 +
 core/connectors/runtime/src/main.rs                |   106 +-
 core/connectors/sinks/README.md                    |     1 +
 .../{influxdb_sink => bigquery_sink}/Cargo.toml    |    26 +-
 core/connectors/sinks/bigquery_sink/README.md      |   263 +
 core/connectors/sinks/bigquery_sink/config.toml    |    63 +
 core/connectors/sinks/bigquery_sink/src/client.rs  |   445 +
 core/connectors/sinks/bigquery_sink/src/encode.rs  |  2129 ++
 core/connectors/sinks/bigquery_sink/src/error.rs   |   210 +
 core/connectors/sinks/bigquery_sink/src/lib.rs     |   534 +
 core/connectors/sinks/bigquery_sink/src/schema.rs  |   866 +
 core/connectors/sinks/bigquery_sink/src/sink.rs    |   407 +
 .../sinks/bigquery_sink/tests/bigquery_sink.rs     |   566 +
 .../sinks/bigquery_sink/tests/common/mod.rs        |   393 +
 core/consensus/Cargo.toml                          |     1 +
 core/consensus/src/client_table.rs                 |  3844 +--
 core/consensus/src/impls.rs                        |   397 +-
 core/consensus/src/lib.rs                          |    28 +-
 core/consensus/src/metadata_helpers.rs             |   421 +-
 core/consensus/src/observability.rs                |     4 +-
 core/consensus/src/plane_helpers.rs                |   152 +-
 core/consensus/src/state_manifest.rs               |     5 +-
 core/integration/src/harness/config/resolve.rs     |    17 +-
 core/integration/src/harness/config/server.rs      |    10 +
 core/integration/src/harness/disk.rs               |   178 +-
 core/integration/src/harness/handle/server.rs      |   218 +-
 core/integration/tests/cli/consumer_offset/mod.rs  |     1 +
 .../test_consumer_offset_external_group_command.rs |   149 +
 .../test_consumer_offset_get_command.rs            |     6 +-
 .../test_consumer_offset_set_command.rs            |     6 +-
 core/integration/tests/cli/stream/mod.rs           |     1 -
 .../tests/cli/stream/test_stream_help_command.rs   |     1 -
 .../tests/cli/stream/test_stream_purge_command.rs  |   223 -
 core/integration/tests/cli/topic/mod.rs            |     1 -
 .../tests/cli/topic/test_topic_help_command.rs     |     1 -
 .../tests/cli/topic/test_topic_purge_command.rs    |   295 -
 core/integration/tests/cluster/chaos_monkey.rs     |   700 +-
 .../tests/cluster/chaos_monkey/report.rs           |   151 +
 .../tests/cluster/client_table_adversarial.rs      |   112 +-
 .../tests/cluster/client_table_restart.rs          |   308 +-
 .../tests/cluster/consumer_offset_quota.rs         |    74 +-
 core/integration/tests/cluster/crash_durability.rs |    56 +
 .../tests/cluster/crash_recovery_corruption.rs     |    30 +-
 .../tests/cluster/fast_primary_rejoin.rs           |     1 +
 core/integration/tests/cluster/partition_dedup.rs  |   508 +-
 .../tests/cluster/partition_primary_routing.rs     |   121 +-
 .../tests/cluster/partition_state_transfer.rs      |    54 +-
 core/integration/tests/config_env_listing/mod.rs   |   312 +
 .../tests/connectors/runtime/http_state.rs         |     2 +-
 .../tests/data_integrity/storage_compat.rs         |   264 +-
 .../verify_consumer_group_partition_assignment.rs  |   136 +-
 core/integration/tests/mcp/mod.rs                  |    24 +-
 core/integration/tests/mod.rs                      |    28 +-
 core/integration/tests/sdk/producer/mod.rs         |    52 +
 core/integration/tests/sdk/protocol_version.rs     |    25 +
 core/integration/tests/server/cg.rs                |    10 +-
 .../tests/server/consumer_offset_quota_vsr.rs      |     4 +
 .../server/{purge_delete.rs => delete_segments.rs} |    22 +-
 .../tests/server/descriptor_exhaustion_vsr.rs      |    71 +-
 core/integration/tests/server/http_rbac.rs         |    91 +
 core/integration/tests/server/http_vsr.rs          |   216 +-
 core/integration/tests/server/mod.rs               |    11 +-
 core/integration/tests/server/purge_vsr.rs         |   142 -
 core/integration/tests/server/raw_tcp.rs           |    22 +-
 .../server/scenarios/authentication_scenario.rs    |    40 +-
 ...umer_group_auto_commit_reconnection_scenario.rs |     2 +
 ...er_group_new_messages_after_restart_scenario.rs |     1 +
 ...ete_scenario.rs => delete_segments_scenario.rs} |   464 -
 .../scenarios/delete_stats_rollback_scenario.rs    |     8 +-
 .../scenarios/external_group_offsets_scenario.rs   |   142 +
 core/integration/tests/server/scenarios/mod.rs     |     5 +-
 .../tests/server/scenarios/permissions_scenario.rs |    11 +-
 .../scenarios/reconnect_after_restart_scenario.rs  |    29 +-
 .../stale_client_consumer_group_scenario.rs        |     7 +-
 .../scenarios/stream_size_validation_scenario.rs   |    52 +-
 .../tests/server/scenarios/system_scenario.rs      |    78 -
 core/integration/tests/server/topic_metrics_vsr.rs |   114 +
 core/integration/tests/server/unknown_code_vsr.rs  |   136 +-
 core/journal/src/durable_storage.rs                |    57 +-
 core/journal/src/file_storage.rs                   |    37 +-
 core/journal/src/local_gate.rs                     |    75 +-
 core/journal/src/partition_journal.rs              |   350 +-
 core/journal/src/partition_journal/segments.rs     |   142 +-
 core/journal/src/prepare_journal.rs                |   248 +-
 core/journal/src/superblock.rs                     |    49 +-
 core/message_bus/src/connection_cap.rs             |     2 +-
 core/message_bus/src/replica/auth.rs               |    25 +-
 core/message_bus/src/replica/handshake.rs          |   230 +-
 core/message_bus/tests/common/mod.rs               |     2 +
 core/message_bus/tests/head_of_line.rs             |    47 +-
 core/message_bus/tests/replica_auth_handshake.rs   |    68 +
 core/metadata/Cargo.toml                           |     4 +-
 core/metadata/src/applied_frontier.rs              |    37 +-
 core/metadata/src/impls/metadata.rs                |  2519 +-
 core/metadata/src/impls/recovery.rs                |   491 +-
 .../src/permissioner/permissioner_rules/streams.rs |     4 -
 .../src/permissioner/permissioner_rules/topics.rs  |     9 -
 core/metadata/src/stm/authz.rs                     |    28 +-
 core/metadata/src/stm/mux.rs                       |     2 +-
 core/metadata/src/stm/result.rs                    |    41 +-
 core/metadata/src/stm/snapshot.rs                  |   114 +-
 core/metadata/src/stm/stream.rs                    |   616 +-
 core/metadata/src/stm/user.rs                      |    33 +-
 core/partitions/Cargo.toml                         |     1 -
 core/partitions/src/consumer_offset_capacity.rs    |    31 +-
 core/partitions/src/iggy_index_writer.rs           |    31 +-
 core/partitions/src/iggy_partition.rs              | 31999 +++++++++++--------
 core/partitions/src/iggy_partitions.rs             |   278 +-
 core/partitions/src/io.rs                          |  1582 +
 core/partitions/src/journal.rs                     |   438 +-
 core/partitions/src/lib.rs                         |    21 +-
 core/partitions/src/log.rs                         |    28 +-
 core/partitions/src/messages_writer.rs             |    23 +-
 core/partitions/src/offset_recovery.rs             |    23 +-
 core/partitions/src/offset_storage.rs              |   519 +-
 core/partitions/src/partition_storage.rs           |   288 +-
 core/partitions/src/persistence.rs                 |   351 +-
 core/partitions/src/poll_plan.rs                   |    14 +-
 core/partitions/src/segment_recovery.rs            |   376 +-
 core/partitions/src/state_transfer.rs              |  3298 +-
 core/partitions/src/types.rs                       |    20 +-
 core/partitions/tests/consumer_offset_history.rs   |   529 -
 core/sdk/Cargo.toml                                |     2 +
 core/sdk/README.md                                 |    13 +-
 .../src/client_wrappers/binary_stream_client.rs    |    10 -
 .../sdk/src/client_wrappers/binary_topic_client.rs |    14 -
 core/sdk/src/clients/binary_streams.rs             |     4 -
 core/sdk/src/clients/binary_topics.rs              |    12 -
 core/sdk/src/clients/client.rs                     |    13 +-
 core/sdk/src/clients/producer.rs                   |    93 +-
 core/sdk/src/clients/producer_builder.rs           |    25 +-
 core/sdk/src/clients/producer_dispatcher.rs        |     1 +
 core/sdk/src/http/consumer_offsets.rs              |    72 +-
 core/sdk/src/http/messages.rs                      |     1 +
 core/sdk/src/http/streams.rs                       |     9 -
 core/sdk/src/http/topics.rs                        |    13 -
 core/sdk/src/lib.rs                                |     3 +-
 core/sdk/src/poll_routing.rs                       |   170 +-
 core/sdk/src/quic/quic_client.rs                   |   647 +-
 core/sdk/src/session.rs                            |   248 +-
 .../stream_builder/build/build_iggy_consumer.rs    |     3 +
 .../stream_builder/build/build_iggy_producer.rs    |     1 +
 .../stream_builder/config/config_iggy_consumer.rs  |    41 +-
 .../stream_builder/config/config_iggy_producer.rs  |    20 +-
 core/sdk/src/stream_builder/iggy_stream.rs         |    35 +-
 .../sdk/src/stream_builder/iggy_stream_consumer.rs |    28 +-
 core/sdk/src/tcp/tcp_client.rs                     |   747 +-
 core/sdk/src/vsr.rs                                |   240 +-
 core/sdk/src/websocket/websocket_client.rs         |   986 +-
 core/server/Cargo.toml                             |     1 +
 core/server/Dockerfile                             |     2 +-
 core/server/README.md                              |   121 +-
 core/server/config.toml                            |    62 +-
 core/server/server.http                            |     8 -
 core/server/src/args.rs                            |    39 +
 core/server/src/boot/listeners.rs                  |     2 +
 core/server/src/boot/mod.rs                        |   213 +-
 core/server/src/boot/recovery.rs                   |     1 +
 core/server/src/boot/threads.rs                    |    16 +-
 core/server/src/consumer_group.rs                  |    41 +-
 core/server/src/consumer_group/lease.rs            |   207 +-
 core/server/src/consumer_group/liveness.rs         |   969 +-
 core/server/src/dispatch/authz.rs                  |    12 +-
 core/server/src/dispatch/failure.rs                |   137 +-
 core/server/src/dispatch/host.rs                   |    41 +-
 core/server/src/dispatch/login_error.rs            |    10 +-
 core/server/src/dispatch/mod.rs                    |   545 +-
 core/server/src/dispatch/partition.rs              |   790 +-
 core/server/src/dispatch/reads.rs                  |    82 +-
 core/server/src/dispatch/session_ops.rs            |   313 +-
 core/server/src/dispatch/submit.rs                 |    29 +-
 core/server/src/dispatch/test_support.rs           |     6 +
 core/server/src/http.rs                            |    13 +-
 core/server/src/http/admission.rs                  |    11 +-
 core/server/src/http/error.rs                      |    23 +
 core/server/src/http/extractor.rs                  |     1 +
 core/server/src/http/handlers.rs                   |   164 +-
 core/server/src/http/metrics.rs                    |     2 +-
 core/server/src/http/session.rs                    |   246 +-
 core/server/src/http/state.rs                      |   155 +-
 core/server/src/http/submit.rs                     |   188 +-
 core/server/src/http/wire.rs                       |     2 +-
 core/server/src/main.rs                            |    17 +-
 core/server/src/namespace.rs                       |    18 +-
 core/server/src/partition_helpers.rs               |   795 +-
 core/server/src/partition_reconciler.rs            |   530 +-
 core/server/src/responses.rs                       |     7 +-
 core/server/src/server_error.rs                    |    32 +
 core/server/src/session_manager.rs                 |   659 +-
 core/server/src/sysinfo_printer.rs                 |    21 +-
 core/server/src/sysinfo_probe.rs                   |   159 +-
 core/server/src/wire.rs                            |    11 +-
 core/server_common/src/consensus_message.rs        |    34 +-
 core/server_common/src/fs_utils.rs                 |   126 +-
 core/server_common/src/iobuf.rs                    |    37 +-
 core/server_common/src/poll.rs                     |     4 +-
 core/server_common/src/segment_storage/mod.rs      |     2 +-
 core/server_common/src/sharding/mod.rs             |     3 +
 core/shard/Cargo.toml                              |     3 +
 core/shard/src/builder.rs                          |    12 +
 core/shard/src/lib.rs                              |  1072 +-
 core/shard/src/metrics.rs                          |   191 +-
 core/shard/src/partition_io.rs                     |  2783 ++
 core/shard/src/poll.rs                             |    96 +-
 core/shard/src/poll/completion.rs                  |     2 +-
 core/shard/src/poll/completion_tests.rs            |   544 +-
 core/shard/src/poll/test_support.rs                |    30 +-
 core/shard/src/poll/timeout_tests.rs               |    17 +-
 core/shard/src/router.rs                           |   337 +-
 core/simulator/README.md                           |     5 +-
 core/simulator/src/bin/workload-fuzz.rs            |    13 -
 core/simulator/src/client.rs                       |    81 +-
 .../simulator/src/consumer_offset_history_tests.rs |   220 -
 core/simulator/src/executor/time.rs                |     4 +-
 core/simulator/src/lib.rs                          |   344 +-
 core/simulator/src/packet.rs                       |     3 +-
 core/simulator/src/replica.rs                      |     9 +-
 core/simulator/src/storage.rs                      |     2 +-
 .../src/storage/{purge.rs => bookmark_recovery.rs} |   210 +-
 core/simulator/src/storage/tests.rs                |   368 +-
 core/simulator/src/workload/actions.rs             |     4 +-
 core/simulator/src/workload/invariants.rs          |     2 +-
 core/simulator/src/workload/ops/mod.rs             |    29 +-
 core/simulator/src/workload/ops/purge_stream.rs    |    74 -
 core/simulator/src/workload/ops/purge_topic.rs     |    83 -
 .../src/workload/ops/store_consumer_offset.rs      |     2 +-
 core/simulator/src/workload/options.rs             |     6 +-
 core/simulator/src/workload/state_checker.rs       |     1 +
 examples/java/build.gradle.kts                     |     2 +-
 .../java/gradle/wrapper/gradle-wrapper.properties  |     2 +-
 examples/java/gradlew                              |     4 +-
 .../iggy/examples/MultiTenantAccessTest.java       |     4 +-
 examples/python/pyproject.toml                     |     4 +-
 examples/python/uv.lock                            |    68 +-
 examples/rust/src/new-sdk/consumer/main.rs         |     1 +
 foreign/cpp/MODULE.bazel                           |     4 +-
 foreign/cpp/MODULE.bazel.lock                      |     4 +-
 foreign/cpp/include/iggy.hpp                       |    28 -
 foreign/cpp/src/client.cpp                         |     8 -
 foreign/cpp/src/client.rs                          |    37 -
 foreign/cpp/src/lib.rs                             |     2 -
 foreign/cpp/tests/e2e/stream.cpp                   |   372 -
 foreign/cpp/tests/e2e/topic.cpp                    |   331 -
 foreign/cpp/tests/unit/unit_tests.cpp              |     2 -
 foreign/csharp/Directory.Packages.props            |     4 +-
 .../ConnectionStringTests.cs                       |   104 +
 .../Fixtures/IggyServerFixture.cs                  |     4 +-
 .../Iggy_SDK.Tests.Integration/HeartbeatTests.cs   |     5 +-
 .../Helpers/Eventually.cs                          |    43 -
 .../IggyTlsConnectionTests.cs                      |    16 +
 .../Iggy_SDK.Tests.Integration/StreamsTests.cs     |    32 -
 .../Iggy_SDK.Tests.Integration/TopicsTests.cs      |    32 -
 .../Iggy_SDK/Configuration/ConnectionString.cs     |   250 +
 .../Configuration/IggyClientConfigurator.cs        |    38 +
 .../csharp/Iggy_SDK/Contracts/Tcp/TcpContracts.cs  |     7 -
 .../csharp/Iggy_SDK/Factory/IggyClientFactory.cs   |    21 +-
 foreign/csharp/Iggy_SDK/IggyClient/IIggyStream.cs  |    12 -
 foreign/csharp/Iggy_SDK/IggyClient/IIggyTopic.cs   |    13 -
 .../Implementations/HttpMessageStream.cs           |    20 -
 .../TcpMessageStream.PollRouting.cs                |    32 +-
 .../Implementations/TcpMessageStream.Vsr.cs        |    64 +-
 .../IggyClient/Implementations/TcpMessageStream.cs |    33 +-
 foreign/csharp/Iggy_SDK/Utils/CommandCodes.cs      |     4 +-
 .../csharp/Iggy_SDK/Utils/IggyDurationParser.cs    |   394 +
 foreign/csharp/Iggy_SDK/Vsr/ConsensusSession.cs    |    50 +-
 foreign/csharp/Iggy_SDK/Vsr/LoginRegister.cs       |    52 +-
 foreign/csharp/Iggy_SDK/Vsr/VsrConnection.cs       |    22 +-
 foreign/csharp/Iggy_SDK/Vsr/VsrError.cs            |     3 +
 foreign/csharp/Iggy_SDK/Vsr/VsrOperation.cs        |    30 +-
 .../ClientTests/ConnectionStringTests.cs           |   441 +
 .../ClientTests/HttpTopicOptionsTests.cs           |    17 -
 .../UtilityTests/IggyDurationParserTests.cs        |   227 +
 .../VsrTests/ConsensusSessionTests.cs              |    68 +-
 .../VsrTests/EndpointFailoverTests.cs              |   257 +-
 .../Iggy_SDK_Tests/VsrTests/LoginRegisterTests.cs  |    38 +-
 foreign/csharp/Iggy_SDK_Tests/VsrTests/MockNode.cs |     7 +-
 .../Iggy_SDK_Tests/VsrTests/PrimaryPollingTests.cs |    78 +-
 .../Iggy_SDK_Tests/VsrTests/VsrHeaderTests.cs      |     4 +-
 .../Iggy_SDK_Tests/VsrTests/VsrOperationTests.cs   |     6 +-
 .../VsrTests/VsrProtocolDriftTests.cs              |    33 +-
 foreign/csharp/README.md                           |    86 +-
 foreign/go/README.md                               |    15 +-
 foreign/go/client/tcp/tcp_connect_test.go          |    47 +-
 foreign/go/client/tcp/tcp_core.go                  |    30 +-
 foreign/go/client/tcp/tcp_core_test.go             |    34 +-
 foreign/go/client/tcp/tcp_failover_test.go         |    99 +-
 foreign/go/client/tcp/tcp_poll_routing.go          |    33 +-
 foreign/go/client/tcp/tcp_poll_routing_test.go     |   114 +-
 foreign/go/client/tcp/tcp_session_management.go    |    77 +-
 foreign/go/client/tcp/tcp_testing_test.go          |     5 +
 foreign/go/errors/errors.yaml                      |    15 +
 foreign/go/errors/errors_gen.go                    |    52 +
 foreign/go/errors/errors_test.go                   |     6 +
 foreign/go/internal/command/code.go                |     4 +-
 foreign/go/internal/vsr/header_test.go             |     1 -
 foreign/go/internal/vsr/operation.go               |    14 +-
 foreign/go/internal/vsr/operation_test.go          |     6 +-
 foreign/go/internal/vsr/protocol_parity_test.go    |    21 +-
 foreign/go/internal/vsr/register.go                |    42 +-
 foreign/go/internal/vsr/register_test.go           |    40 +-
 foreign/go/internal/vsr/session.go                 |    13 +-
 foreign/java/README.md                             |    14 +
 foreign/java/gradle/libs.versions.toml             |     6 +-
 .../java/gradle/wrapper/gradle-wrapper.properties  |     2 +-
 foreign/java/gradlew                               |     4 +-
 .../iggy/client/async/tcp/AsyncTcpConnection.java  |   111 +-
 .../apache/iggy/client/async/tcp/PollRouter.java   |    51 +-
 .../client/async/tcp/vsr/ConsensusSession.java     |    79 +-
 .../iggy/client/async/tcp/vsr/VsrLoginCodec.java   |    43 +-
 .../iggy/client/async/tcp/vsr/VsrOperation.java    |    12 +-
 .../client/async/tcp/vsr/VsrRequestEncoder.java    |    25 +-
 .../client/async/tcp/vsr/VsrResponseHandler.java   |     2 +-
 .../org/apache/iggy/exception/IggyErrorCode.java   |     3 +
 .../java/org/apache/iggy/serde/CommandCode.java    |     5 +-
 .../test/java/org/apache/iggy/TestConstants.java   |     9 +
 .../client/async/AsyncClientIntegrationTest.java   |    25 +-
 .../client/async/AsyncConnectionPoolAuthTest.java  |     7 +-
 .../AsyncIggyTcpClientEndpointFailoverTest.java    |     2 +-
 .../tcp/AsyncIggyTcpClientEventLoopGroupTest.java  |     2 +-
 .../AsyncIggyTcpClientTransientFailoverTest.java   |   194 +-
 .../tcp/AsyncTcpConnectionConcurrencyTest.java     |     2 +-
 .../client/async/tcp/ClientRoutingStateTest.java   |     5 +-
 .../client/async/tcp/vsr/VsrLoginCodecTest.java    |    58 +-
 .../async/tcp/vsr/VsrRequestEncoderTest.java       |    25 +-
 .../async/tcp/vsr/VsrResponseHandlerTest.java      |     7 +-
 .../iggy/client/blocking/IntegrationTest.java      |     4 +-
 .../client/blocking/tcp/MessagesTcpClientTest.java |     9 +-
 .../apache/iggy/exception/IggyErrorCodeTest.java   |     2 +
 foreign/node/README.md                             |    19 +-
 foreign/node/package-lock.json                     |   197 +-
 foreign/node/package.json                          |     2 +-
 foreign/node/scripts/check-vsr-protocol.mjs        |    30 +-
 foreign/node/src/client/client.socket.test.ts      |   241 +-
 foreign/node/src/client/client.socket.ts           |    78 +-
 foreign/node/src/e2e/tcp.stream.e2e.ts             |     4 -
 foreign/node/src/e2e/tcp.system.e2e.ts             |     7 +
 foreign/node/src/e2e/tcp.topic.e2e.ts              |     4 -
 foreign/node/src/wire/command-set.ts               |     6 +-
 foreign/node/src/wire/command.code.ts              |     6 +-
 foreign/node/src/wire/error.code.test.ts           |     4 +
 foreign/node/src/wire/error.code.ts                |     3 +
 foreign/node/src/wire/stream/index.ts              |     1 -
 .../node/src/wire/stream/purge-stream.command.ts   |    49 -
 foreign/node/src/wire/system/index.ts              |     1 +
 .../node/src/wire/system/snapshot.command.test.ts  |   107 +
 foreign/node/src/wire/system/snapshot.command.ts   |   103 +
 foreign/node/src/wire/topic/index.ts               |     1 -
 foreign/node/src/wire/topic/purge-topic.command.ts |    54 -
 foreign/node/src/wire/vsr/index.ts                 |    33 +-
 foreign/node/src/wire/vsr/operation.test.ts        |     9 +-
 foreign/node/src/wire/vsr/operation.ts             |    15 +-
 foreign/node/src/wire/vsr/register.test.ts         |    41 +-
 foreign/node/src/wire/vsr/register.ts              |    40 +-
 foreign/node/src/wire/vsr/session.test.ts          |    15 +-
 foreign/node/src/wire/vsr/session.ts               |    17 +-
 foreign/node/src/wire/vsr/vsr.test.ts              |    10 +-
 foreign/php/Dockerfile.test                        |     2 +-
 foreign/python/README.md                           |    30 +-
 foreign/python/apache_iggy.pyi                     |    58 +-
 foreign/python/src/client.rs                       |    76 +-
 foreign/python/src/send_message.rs                 |    13 +-
 foreign/python/tests/test_producer.py              |    76 +-
 foreign/python/tests/test_stream.py                |    97 +-
 foreign/python/tests/test_topic.py                 |   119 -
 foreign/python/uv.lock                             |    64 +-
 .../swift/Sources/Iggy/Errors/IggyErrorCode.swift  |     6 +
 foreign/swift/Tests/IggyTests/Fixtures/golden.json |    16 +-
 foreign/swift/Tools/golden-vectors/src/main.rs     |    34 +-
 gateways/kafka/Cargo.toml                          |     3 +
 gateways/kafka/Dockerfile                          |     2 +-
 gateways/kafka/README.md                           |    77 +-
 gateways/kafka/docs/ACL_MAPPING.md                 |     5 +-
 gateways/kafka/docs/CONSUMER_GROUPS.md             |    24 +-
 gateways/kafka/docs/MANUAL_TESTING.md              |    20 +-
 gateways/kafka/docs/OFFSET_STORAGE.md              |   297 +-
 gateways/kafka/docs/SCOPE.md                       |    23 +-
 gateways/kafka/docs/TEST_SUITE.md                  |     3 +-
 gateways/kafka/docs/kafka_api_keys_reference.md    |    14 +-
 gateways/kafka/scripts/ci-wire-fixtures.sh         |     2 +-
 gateways/kafka/src/bridge/error.rs                 |    32 +-
 gateways/kafka/src/bridge/iggy_bridge/fetch.rs     |    33 +-
 .../kafka/src/bridge/iggy_bridge/group_offsets.rs  |   686 +
 gateways/kafka/src/bridge/iggy_bridge/mod.rs       |    29 +-
 gateways/kafka/src/bridge/iggy_bridge/produce.rs   |     9 +-
 gateways/kafka/src/bridge/iggy_bridge/topics.rs    |    25 +-
 gateways/kafka/src/bridge/mod.rs                   |    12 +-
 gateways/kafka/src/group/mod.rs                    |    68 +-
 gateways/kafka/src/group/state.rs                  |   298 +-
 gateways/kafka/src/protocol/acl.rs                 |     4 +-
 gateways/kafka/src/protocol/api.rs                 |    39 +-
 gateways/kafka/src/protocol/bounds_guard.rs        |   264 +-
 gateways/kafka/src/protocol/handlers/fetch.rs      |     7 +-
 gateways/kafka/src/protocol/handlers/heartbeat.rs  |    13 +-
 gateways/kafka/src/protocol/handlers/metadata.rs   |     2 +-
 gateways/kafka/src/protocol/handlers/mod.rs        |    38 +-
 .../kafka/src/protocol/handlers/offset_commit.rs   |   321 +
 .../kafka/src/protocol/handlers/offset_fetch.rs    |   564 +
 .../kafka/tests/bridge_iggy_integration_tests.rs   |     2 +-
 gateways/kafka/tests/common/scope.rs               |     2 +
 gateways/kafka/tests/common/wire.rs                |   103 +-
 gateways/kafka/tests/consumer_group_tests.rs       |    10 +-
 gateways/kafka/tests/fetch_real_bridge_tests.rs    |    41 +-
 gateways/kafka/tests/golden_wire_fixtures_tests.rs |    16 +-
 gateways/kafka/tests/kafka_client_e2e_tests.rs     |   450 +-
 gateways/kafka/tests/metadata_real_bridge_tests.rs |     2 +-
 gateways/kafka/tests/offsets_real_bridge_tests.rs  |   364 +
 gateways/kafka/tests/produce_real_bridge_tests.rs  |     2 +-
 gateways/kafka/tests/server_e2e_tests.rs           |     8 +-
 gateways/kafka/tests/version_firewall_tests.rs     |    16 +-
 gateways/kafka/tools/kafka-tool/src/main.rs        |    15 +-
 justfile                                           |     6 +-
 rfcs/README.md                                     |   250 +
 rfcs/rfc-template.md                               |    74 +
 rust-toolchain.toml                                |     2 +-
 web/README.md                                      |     2 +-
 web/eslint.config.js                               |     4 +-
 web/package-lock.json                              |  1054 +-
 web/package.json                                   |    23 +-
 web/src/ambient.d.ts                               |     2 +-
 .../frontend/src/hooks/mod.rs => web/src/env.ts    |     6 +-
 web/src/hooks.client.ts                            |     2 +-
 web/src/lib/api/ApiSchema.ts                       |     4 +-
 web/src/lib/api/clientApi.ts                       |    18 +-
 web/src/lib/api/fetchApi.ts                        |     8 +-
 web/src/lib/api/fetchRouteApi.ts                   |     6 +-
 web/src/lib/api/handleFetchErrors.ts               |    18 +-
 web/src/lib/auth/authStore.svelte.ts               |     8 +-
 web/src/lib/components/Breadcrumbs.svelte          |    12 +-
 web/src/lib/components/Button.svelte               |     2 +-
 web/src/lib/components/Combobox.svelte             |     2 +-
 .../components/DeleteButtonWithConfirmation.svelte |     2 +-
 .../components/DropdownMenu/DropdownMenu.svelte    |     2 +-
 web/src/lib/components/DurationInput.svelte        |     2 +-
 web/src/lib/components/Header.svelte               |     6 +-
 .../lib/components/Layouts/SettingsLayout.svelte   |    12 +-
 web/src/lib/components/LoadingIndicator.svelte     |     4 +-
 web/src/lib/components/Logo/Logo.svelte            |    10 +-
 .../MessageDecoder/MessageDecoder.svelte           |     2 +-
 .../decoders/BuiltInDecoders/jsonDecoder.ts        |     2 +-
 web/src/lib/components/ModalConfirmation.svelte    |     2 +-
 .../components/Modals/AddPartitionsModal.svelte    |     6 +-
 .../lib/components/Modals/AddStreamModal.svelte    |     4 +-
 web/src/lib/components/Modals/AddTopicModal.svelte |     8 +-
 web/src/lib/components/Modals/AddUserModal.svelte  |     6 +-
 web/src/lib/components/Modals/AppModals.svelte     |     4 +-
 .../components/Modals/DeletePartitionsModal.svelte |     8 +-
 .../lib/components/Modals/DeleteUserModal.svelte   |     2 +-
 web/src/lib/components/Modals/EditUserModal.svelte |     2 +-
 .../Modals/EditUserPermissionsModal.svelte         |     2 +-
 .../lib/components/Modals/InspectMessage.svelte    |     8 +-
 web/src/lib/components/Modals/ModalBase.svelte     |     2 +-
 .../components/Modals/StreamSettingsModal.svelte   |    14 +-
 .../components/Modals/TopicSettingsModal.svelte    |    12 +-
 web/src/lib/components/Navbar.svelte               |    23 +-
 web/src/lib/components/Paginator.svelte            |     4 +-
 web/src/lib/components/PasswordInput.svelte        |     2 +-
 web/src/lib/components/PeriodicInvalidator.svelte  |     6 +-
 web/src/lib/components/PermissionsManager.svelte   |    12 +-
 .../RouteComponents/Settings/UsersTab.svelte       |    16 +-
 .../Settings/UsersTabActions.svelte                |     4 +-
 web/src/lib/components/SlimSortableList.svelte     |     2 +-
 web/src/lib/components/SortableList.svelte         |     9 +-
 web/src/lib/components/StopPropagation.svelte      |     2 +-
 web/src/lib/components/ThemeController.svelte      |     4 +-
 web/src/lib/domain/Message.ts                      |     2 +-
 web/src/lib/domain/Partition.ts                    |     2 +-
 web/src/lib/domain/Stats.ts                        |     2 +-
 web/src/lib/domain/Topic.ts                        |     6 +-
 web/src/lib/domain/User.ts                         |     2 +-
 web/src/lib/hooks/useGoPrev.ts                     |    10 +-
 web/src/lib/types/appRoutes.ts                     |     4 +-
 .../utils/base64Utils.test.mjs => params.test.mjs} |    18 +-
 .../frontend/src/hooks/mod.rs => web/src/params.ts |     6 +-
 web/src/params/i32.ts                              |    20 -
 web/src/routes/+layout.svelte                      |     4 +-
 web/src/routes/+layout.ts                          |    27 +-
 web/src/routes/auth/+layout.svelte                 |     2 +-
 web/src/routes/auth/logout/+page.svelte            |     6 +-
 web/src/routes/auth/sign-in/+page.svelte           |    22 +-
 web/src/routes/auth/sign-in/+page.ts               |     8 +-
 web/src/routes/dashboard/+layout.svelte            |     8 +-
 web/src/routes/dashboard/+layout.ts                |    12 +-
 web/src/routes/dashboard/overview/+page.ts         |     4 +-
 .../routes/dashboard/settings/server/+page.svelte  |     8 +-
 web/src/routes/dashboard/settings/server/+page.ts  |     4 +-
 .../dashboard/settings/terminal/+page.svelte       |     2 +-
 .../routes/dashboard/settings/users/+page.svelte   |    18 +-
 web/src/routes/dashboard/settings/users/+page.ts   |     8 +-
 .../routes/dashboard/settings/webUI/+page.svelte   |    10 +-
 web/src/routes/dashboard/streams/+layout.svelte    |    17 +-
 web/src/routes/dashboard/streams/+layout.ts        |     4 +-
 .../dashboard/streams/[streamId=i32]/+page.svelte  |    14 +-
 .../dashboard/streams/[streamId=i32]/+page.ts      |     4 +-
 .../streams/[streamId=i32]/topics/+page.svelte     |     4 +-
 .../topics/[topicId=i32]/+page.svelte              |    18 +-
 .../[streamId=i32]/topics/[topicId=i32]/+page.ts   |     4 +-
 .../partitions/[partitionId=i32]/+page.svelte      |     4 +-
 .../[partitionId=i32]/messages/+page.svelte        |    25 +-
 .../partitions/[partitionId=i32]/messages/+page.ts |     6 +-
 web/svelte.config.js                               |    46 -
 web/tsconfig.json                                  |    15 +-
 web/vite.config.ts                                 |    31 +-
 631 files changed, 61867 insertions(+), 32466 deletions(-)
 delete mode 100644 .pr4372-comments.json
 delete mode 100644 core/binary_protocol/src/requests/streams/purge_stream.rs
 delete mode 100644 core/binary_protocol/src/requests/system/attach_consumer_session.rs
 create mode 100644 core/binary_protocol/src/requests/system/bind_session.rs
 create mode 100644 core/binary_protocol/src/requests/system/retire_sessions.rs
 delete mode 100644 core/binary_protocol/src/requests/topics/purge_topic.rs
 delete mode 100644 core/binary_protocol/src/responses/streams/purge_stream.rs
 delete mode 100644 core/binary_protocol/src/responses/topics/purge_topic.rs
 delete mode 100644 core/cli/src/commands/binary_streams/purge_stream.rs
 delete mode 100644 core/cli/src/commands/binary_topics/purge_topic.rs
 delete mode 100644 core/common/src/http/streams/purge_stream.rs
 delete mode 100644 core/common/src/http/topics/purge_topic.rs
 create mode 100644 core/configs/src/configs_impl/env_listing.rs
 create mode 100644 core/connectors/runtime/example_config/connectors/bigquery_sink.toml
 copy core/connectors/sinks/{influxdb_sink => bigquery_sink}/Cargo.toml (71%)
 create mode 100644 core/connectors/sinks/bigquery_sink/README.md
 create mode 100644 core/connectors/sinks/bigquery_sink/config.toml
 create mode 100644 core/connectors/sinks/bigquery_sink/src/client.rs
 create mode 100644 core/connectors/sinks/bigquery_sink/src/encode.rs
 create mode 100644 core/connectors/sinks/bigquery_sink/src/error.rs
 create mode 100644 core/connectors/sinks/bigquery_sink/src/lib.rs
 create mode 100644 core/connectors/sinks/bigquery_sink/src/schema.rs
 create mode 100644 core/connectors/sinks/bigquery_sink/src/sink.rs
 create mode 100644 core/connectors/sinks/bigquery_sink/tests/bigquery_sink.rs
 create mode 100644 core/connectors/sinks/bigquery_sink/tests/common/mod.rs
 create mode 100644 core/integration/tests/cli/consumer_offset/test_consumer_offset_external_group_command.rs
 delete mode 100644 core/integration/tests/cli/stream/test_stream_purge_command.rs
 delete mode 100644 core/integration/tests/cli/topic/test_topic_purge_command.rs
 create mode 100644 core/integration/tests/cluster/chaos_monkey/report.rs
 create mode 100644 core/integration/tests/config_env_listing/mod.rs
 rename core/integration/tests/server/{purge_delete.rs => delete_segments.rs} (68%)
 delete mode 100644 core/integration/tests/server/purge_vsr.rs
 rename core/integration/tests/server/scenarios/{purge_delete_scenario.rs => delete_segments_scenario.rs} (68%)
 create mode 100644 core/integration/tests/server/scenarios/external_group_offsets_scenario.rs
 create mode 100644 core/integration/tests/server/topic_metrics_vsr.rs
 create mode 100644 core/partitions/src/io.rs
 delete mode 100644 core/partitions/tests/consumer_offset_history.rs
 create mode 100644 core/shard/src/partition_io.rs
 delete mode 100644 core/simulator/src/consumer_offset_history_tests.rs
 rename core/simulator/src/storage/{purge.rs => bookmark_recovery.rs} (60%)
 delete mode 100644 core/simulator/src/workload/ops/purge_stream.rs
 delete mode 100644 core/simulator/src/workload/ops/purge_topic.rs
 create mode 100644 foreign/csharp/Iggy_SDK.Tests.Integration/ConnectionStringTests.cs
 delete mode 100644 foreign/csharp/Iggy_SDK.Tests.Integration/Helpers/Eventually.cs
 create mode 100644 foreign/csharp/Iggy_SDK/Configuration/ConnectionString.cs
 create mode 100644 foreign/csharp/Iggy_SDK/Utils/IggyDurationParser.cs
 create mode 100644 foreign/csharp/Iggy_SDK_Tests/ClientTests/ConnectionStringTests.cs
 create mode 100644 foreign/csharp/Iggy_SDK_Tests/UtilityTests/IggyDurationParserTests.cs
 delete mode 100644 foreign/node/src/wire/stream/purge-stream.command.ts
 create mode 100644 foreign/node/src/wire/system/snapshot.command.test.ts
 create mode 100644 foreign/node/src/wire/system/snapshot.command.ts
 delete mode 100644 foreign/node/src/wire/topic/purge-topic.command.ts
 create mode 100644 gateways/kafka/src/bridge/iggy_bridge/group_offsets.rs
 create mode 100644 gateways/kafka/src/protocol/handlers/offset_commit.rs
 create mode 100644 gateways/kafka/src/protocol/handlers/offset_fetch.rs
 create mode 100644 gateways/kafka/tests/offsets_real_bridge_tests.rs
 create mode 100644 rfcs/README.md
 create mode 100644 rfcs/rfc-template.md
 copy core/bench/dashboard/frontend/src/hooks/mod.rs => web/src/env.ts (82%)
 copy web/src/{lib/utils/base64Utils.test.mjs => params.test.mjs} (60%)
 copy core/bench/dashboard/frontend/src/hooks/mod.rs => web/src/params.ts (83%)
 delete mode 100644 web/src/params/i32.ts
 delete mode 100644 web/svelte.config.js