Releases: krabka-io/krabka-broker
Releases · krabka-io/krabka-broker
Release list
Ecosystem qualification 34642435338
Ecosystem qualification
Candidate: sha256:b389b35f1786c88be30581f19688d3b7c6f4ce41e0a2d4bd37fb78b83491df07
- installation: 11 executed checks;
sha256:f3fa220ec615fe5633d612bdbaf384fe24500fb6ecac82b4ecf31e3dc38b82f7. - operator-lifecycle: 5 executed checks;
sha256:f46992037d9f7627f1fa33714f2eec09440b3b7923d05b63e6fbc9700d430d71. - cli-admin: 3 executed checks;
sha256:b863fadddaf4baf2c9571a6c94ba7efd60386effbd6a7b028938f24cd7f0f6d9. - observability-recovery: 12 executed checks;
sha256:a10ae6d4250c22f5a5a6e350cca98527e88f7ad807f22ef6f135b6b96dcc1a82.
Each bundle contains the candidate, exact commands, complete log, named executed checks and bound receipt.
Ecosystem qualification 34628945317
Ecosystem qualification
Candidate: sha256:9a94c7456f2c8e8c5d9dd8519ab237bc8ad265e285d7ad4c2554699942355160
- installation: 11 executed checks;
sha256:78961e107d90925b3c044247ccf7f1a8b637d885abce8d36870e69e1d2236a2f. - operator-lifecycle: 5 executed checks;
sha256:0e7327f8486447e65babfc005c83bae4b2872205f9c74631cbbb0b029a3e73ec. - cli-admin: 3 executed checks;
sha256:2da6d40bbb3be233894b94aab60920a0bc95c3dbb36799563141f12e37cd0e2e. - observability-recovery: 12 executed checks;
sha256:bc726b9c7db5a7d5f4ce6e057af527698a8e3bf989ae52b1ee2a6763b804055d.
Each bundle contains the candidate, exact commands, complete log, named executed checks and bound receipt.
v0.5.4
What's Changed
- Record releases in a root changelog and stop the crate changelogs lying by @robot-head in #155
- Ship the operator binaries in the broker container image by @robot-head in #157
- Add a broker-side produce hot-path bench by @robot-head in #158
- Consolidate the broker's fourteen MetadataSource fakes into one by @robot-head in #159
- Upgrade object_store to 0.14 and reqwest to 0.13 by @robot-head in #356
- Instrument the fetch drain path and measure the sendfile crossover by @robot-head in #168
- Serve /healthz and /readyz, and ship reference Kubernetes manifests by @robot-head in #169
- Evict per-partition and per-topic metric series on removal by @robot-head in #167
- Pick the fetch-session eviction victim in O(1) and benchmark the cache by @robot-head in #170
- Measure both documented PERF deferrals and record a keep decision at each by @robot-head in #189
- Hand one fetch read to the pool without allocating a task for it by @robot-head in #190
- Hold metric topic labels as Arc shared with the partition registry by @robot-head in #192
- Publish replica-lag and consumer-group-lag gauges by @robot-head in #191
- Build the operator and contributor documentation surface (milestone 6) by @robot-head in #357
- Release 0.5.4 by @robot-head in #358
- ci: run the timing-sensitive suites and image_binaries_test on every PR by @robot-head in #433
- Raise UnknownPartition when a bound names a partition the archive lacks by @robot-head in #434
- fix(mutants): repair crates/log exclude_re rot and cover verified's creusot fns by @robot-head in #435
- Resign a KRaft leader whose check-quorum window expires by @robot-head in #436
- Rewrite every host-side script as an .axl task, with tests and a ratchet by @robot-head in #437
- Point a pruned observer fetch at the metadata snapshot by @robot-head in #438
- Snapshot and prune metadata on every voter, extend the KIP-630 trigger by @robot-head in #439
- Run local retention on follower replicas of tiered topics by @robot-head in #441
- Stamp the snapshot header timestamp and keep the previous checkpoint through a roll by @robot-head in #442
- Fit CI inside the 20-job cap and stop paying for work nothing reads by @robot-head in #446
- Persist the data log start offset across a restart by @robot-head in #444
- Read a restore output back through the broker, a JVM consumer, and a restart by @robot-head in #440
- Expire diskless WAL ranges by retention and DeleteRecords by @robot-head in #445
- Split the log start into a global and a local floor on tiered topics by @robot-head in #443
- Run the clippy aspect on BuildBuddy RBE by @robot-head in #447
- Run the container suites on BuildBuddy Firecracker microVMs by @robot-head in #448
- Correct what triggers the remote codegen failure by @robot-head in #451
- Close milestone 10: secure the cluster and prove who did what by @robot-head in #450
- Test the security paths milestone 10 added by @robot-head in #452
- M9: run a stock Streams, Connect or share-consumer deployment against krabka by @robot-head in #449
- ci(benchmarks): add automated storage microbenchmarks workflow and parser crate by @petermodracee in #10
- Update Swatinem/rust-cache digest to f0deed1 by @renovate[bot] in #455
- Update actions/upload-artifact digest to 4cec3d8 by @renovate[bot] in #454
- Update Swatinem/rust-cache action to v2.9.2 by @renovate[bot] in #458
- Update actions/upload-artifact action to v4.6.2 by @renovate[bot] in #457
- Update actions/upload-artifact action to v7 by @renovate[bot] in #459
- M12: is what ships the thing that was tested? by @robot-head in #456
- Update rules_rs_mutants digest to 63bb99c by @renovate[bot] in #460
- Update dependency package_metadata to v0.0.13 by @renovate[bot] in #466
- Update dependency rules_java to v9.9.0 by @renovate[bot] in #465
- Update dependency buildifier_prebuilt to v8.5.1.4 by @renovate[bot] in #461
- Update Rust to v1.98.1 by @renovate[bot] in #463
- Update dependency aspect_rules_lint to v2.9.0 by @renovate[bot] in #464
- Milestone 11: cluster operability, rolling restarts, quorum repair, and tenant isolation by @robot-head in #453
- Milestone 13: does an acknowledged record survive a kill, and does anything page when the broker starts failing? by @robot-head in #501
- Update Rust crate tokio-rustls to v0.26.5 by @renovate[bot] in #504
- docs: add the milestone roadmap for M13 through M16 by @robot-head in #500
- Bound compaction by the high watermark, and compact every hosted log by @robot-head in #502
- Milestone 14: is the tiered archive a complete copy, and can a cluster be rebuilt from it? by @robot-head in #505
- Lock file maintenance by @renovate[bot] in #503
- Collect coverage from the integration suites by @robot-head in #320
- Milestone 15: can the clients and tools a stranger already runs talk to krabka, and does the matrix they read say so? by @robot-head in #506
- Close the gaps milestone 15 left recorded by @robot-head in #507
- Move M11 through M15 into Delivered by @robot-head in #511
- Update dependency jemalloc to v5.3.0-bcr.alpha.5 by @renovate[bot] in #509
- Update dependency rules_img to v0.3.20 by @renovate[bot] in #510
- Implement Milestone 16 production readiness by @robot-head in #527
- Update helm/kind-action action to v1.15.0 by @renovate[bot] in #528
- Cover Milestone 16 configuration paths by @robot-head in #529
- feat: implement milestone 17 semantics by @robot-head in #530
- Qualify broker performance and scale by @robot-head in #535
- Reduce compressed produce CPU overhead by @robot-head in #536
- test(schema): add live registry failover by @robot-head in #533
- Add Milestone 20 ecosystem qualification gate by @robot-head in #534
- Ship optimized broker images by @robot-head in #538
- Optimize all broker image delivery commands by @robot-head in #539
- feat(schema): authenticate registry validation by @robot-head in #540
- ci: complete M19 and M20 qualification by @robot-head in #541
- Update Rust crate jsonschema to 0.55 by @renovate[bot] in #543
- fix(release): validate workspace SBOM by @robot-head in #544
New Contributors
- @petermodracee made their first contribution in #10
Full Changelog: v0.5.3...v0.5.4
v0.5.3
What's Changed
- Run mutation testing across all workspace packages by @robot-head in #175
- chore(deps): update aspect-build/setup-aspect action to 2026.34 by @renovate[bot] in #176
- Move mutation testing to sharded manual workflow by @robot-head in #181
- Replace deprecated kafkacat with kcat in librdkafka conformance by @robot-head in #180
- fix(deps): update rust crate quick-xml to 0.42 by @renovate[bot] in #184
- Bound mutation integration replay disk usage by @robot-head in #197
- Fence ListOffsets on the request leader epoch by @robot-head in #163
- Re-derive the Kafka error-code table from the pinned image by @robot-head in #165
- chore(deps): update actions/cache action to v6 by @renovate[bot] in #188
- chore(deps): update actions/upload-artifact action to v7 by @renovate[bot] in #200
- Stabilize broker mutation integration baseline by @robot-head in #201
- Report offline replicas in Metadata and DescribeTopicPartitions by @robot-head in #164
- Return typed config metadata from DescribeConfigs by @robot-head in #166
- Break request latency into local, remote and throttle phases by @robot-head in #160
- Integrate verified kernels across broker paths by @robot-head in #179
- Update docker/login-action action to v4 by @renovate[bot] in #202
- Fix rustdoc intra-doc links in broker crate by @robot-head in #289
- Pin the controller ApiVersions table to schema constants by @robot-head in #173
- fix(test): rename leader_tail -> leader_batch to satisfy Clippy by @robot-head in #292
- test(raft): initialize vote identity fields in API version tests by @robot-head in #293
- Update Rust to v1.98.0 by @renovate[bot] in #183
- fix(heartbeat): send BrokerHeartbeat to the controller listener by @robot-head in #288
- fix(raft): prove metadata record coordinates by @robot-head in #297
- Gate JVM container suites with an Aspect-based CI selector by @robot-head in #302
- Audit the KIP-219 throttle echo against every response schema by @robot-head in #172
- Mark every broker-owned topic internal by @robot-head in #204
- DescribeConfigs: an empty key list asks for every config by @robot-head in #300
- produce: answer a refused partition with base_offset = -1 by @robot-head in #301
- Advertise a reachable broker as controller_id, not the quorum leader by @robot-head in #303
- Expire committed offsets for groups that went empty by @robot-head in #198
- Route the whole Kafka controller-listener Admin surface by @robot-head in #203
- Advertise a reachable broker as controller_id by @robot-head in #174
- Assert the advertised ApiVersions table against real Kafka by @robot-head in #195
- Expire idle and terminal transactional ids out of __transaction_state by @robot-head in #247
- Reclaim runner disk before the coverage build by @robot-head in #307
- Answer UNSTABLE_OFFSET_COMMIT for an open transaction's offsets by @robot-head in #294
- Report ELR columns from the metadata image in DescribeTopicPartitions by @robot-head in #304
- Send the response before applying the KIP-219 throttle delay by @robot-head in #193
- Correct the coverage reclaim comment to the measured numbers by @robot-head in #310
- Serve KIP-590 Envelope on the controller listener by @robot-head in #305
- Deflake three load-sensitive broker tests, and fix the bug one found by @robot-head in #312
- Close connections idle past connections.max.idle.ms by @robot-head in #287
- Enforce max.message.bytes and refuse oversized batches by @robot-head in #295
- ci: reuse Bazel caches with rules_img images by @robot-head in #319
- Maintain KIP-966 eligible leader replicas in the controller by @robot-head in #306
- Drop ELR membership when a restart cannot prove it was clean by @robot-head in #328
- Deflake the empty-group reap test, and unbreak the Bazel CI surface by @robot-head in #324
- Unbreak docgen: de-link a private item from public docs by @robot-head in #331
- Tag the broker's wall-clock suites timing-sensitive by @robot-head in #322
- Replace the advertised-liveness fencing sleep with a condition by @robot-head in #327
- fix(ci): copy the Creusot layer from its container by @robot-head in #333
- Support the BROKER_LOGGER resource for dynamic log levels by @robot-head in #296
- Elect an eligible leader replica before the longest log by @robot-head in #311
- Stop a returning broker being re-derived into the ELR from a stale ISR by @robot-head in #330
- Give coverage its own runner, and stop it linking tests it never runs by @robot-head in #339
- Cache the Creusot proof image in a registry, not the disk cache by @robot-head in #338
- test(broker): gate the broker-logger and role-separated JVM suites in CI by @robot-head in #340
- Report a failed disk's partition as leaderless, the way kafka-topics reads it by @robot-head in #342
- Replace AsyncSleeper with Timer for cadence loops by @robot-head in #341
- Close epic 27's last three gaps: two ungated tools, one selection hole by @robot-head in #343
- Stop the coverage job carrying a disk cache it cannot use by @robot-head in #344
- test(broker): cover the dead-timer shutdown of every cadence loop by @robot-head in #345
- Guard the Kafka error-table oracle against an image bump by @robot-head in #347
- test(model): check the ELR rule, not the rule it superseded by @robot-head in #351
- fix(produce): report the partition's real log start offset on accepted rows by @robot-head in #349
- KIP-966: elect the ELR on failover, and call an in-ISR recovery winner clean by @robot-head in #352
- Release 0.5.3 by @robot-head in #353
- feat(verification): complete safety-critical algorithm proofs by @robot-head in #348
- Bump WORKSPACE_VERSION to 0.5.3 by @robot-head in #354
- Document verification evidence and mutation testing by @robot-head in #355
New Contributors
Full Changelog: v0.5.2...v0.5.3
v0.5.2
What's Changed
- Resynchronize diskless log offsets after partial append failures by @robot-head in #141
- Add quorum WAL recovery and boundary tests by @robot-head in #142
- Require distributed identity and registry for diskless WALs by @robot-head in #145
- Authenticate KIP-595 WAL fetch requests by @robot-head in #143
- Accept
krabka.disklessas a topic config so diskless topics work by @robot-head in #147 - Implement WAL quorum replica I/O and follower reconciliation by @robot-head in #144
- fix(diskless): gate the first flush on the index projection catching up by @robot-head in #146
- Add an end-to-end diskless integration suite across brokers by @robot-head in #148
- ci: gate merges on one
gatejob that checks every other job by @robot-head in #152 - Wait for diskless WAL projection through the index log by @robot-head in #149
- Honor fetch byte limits in diskless WAL reads by @robot-head in #150
- Compact the diskless WAL index and reclaim stale objects by @robot-head in #151
- Bound diskless WAL hot-tail cache by configurable byte size by @robot-head in #153
- Add missing diskless WAL index unit coverage by @robot-head in #156
- Fix diskless WAL batching, fetch limits, and index event sizing by @robot-head in #154
- Instrument diskless WAL health by @robot-head in #161
- Reject unplaceable diskless WAL topics by @robot-head in #162
- Release 0.5.2 by @robot-head in #171
Full Changelog: v0.5.1...v0.5.2
v0.5.1
What's Changed
- Forbid truncated model checks by @robot-head in #128
- Rollback log appends after write or sync failures by @robot-head in #125
- Prevent orphaned multipart uploads during archive verification by @robot-head in #122
- Add CI markdown link checking and verification documentation by @robot-head in #123
- Restore segment position after partial append failure by @robot-head in #121
- Include sealed-segment transaction indexes in fetches by @robot-head in #124
- Validate inputs before invoking verified kernels by @robot-head in #133
- Move producer sequencing and deduplication into verified crate by @robot-head in #135
- Verify sparse offset and time index lookups by @robot-head in #136
- Move throttle proof kernel into krabka-verified by @robot-head in #129
- Implement diskless crash recovery and verified quorum watermark proofs by @robot-head in #134
- Enforce API version bounds before dispatch by @robot-head in #132
- Implement broker audit logging and verification by @robot-head in #138
- Restore cluster metadata from controller snapshots by @robot-head in #131
- Implement WORM storage verification and reporting by @robot-head in #130
- Verify leader epoch divergence lookup by @robot-head in #137
- Fix milestone 2 blockers by @robot-head in #139
- Release 0.5.1 by @robot-head in #140
Full Changelog: v0.5.0...v0.5.1
v0.5.0
What's Changed
- chore(deps): bump krabka-client-rs to dbea469 by @robot-head in #6
- refactor: delete the hand-rolled stdlib, the dead flexibility and the banned compat shim by @robot-head in #1
- feat(barrier): consistent cross-topic snapshots through log-embedded barrier markers by @robot-head in #2
- feat(remote-storage): WORM archive mode with signed integrity manifests by @robot-head in #3
- feat: point-in-time restore from tiered-storage archives by @robot-head in #4
- feat: data-bearing witness broker role and three-site stretch profile by @robot-head in #8
- feat: deliver-at-time visibility, records that become readable when their time comes by @robot-head in #9
- docs: KFC-3, point-in-time restore from a tiered-storage archive by @robot-head in #11
- docs: KFC-4, consistent cross-topic snapshots through barrier markers by @robot-head in #12
- docs: KFC-5, WORM archive mode with integrity manifests by @robot-head in #13
- docs: KFC-6, coordination primitives as a client API by @robot-head in #14
- docs: KFC-8, clock confidence as a first-class signal by @robot-head in #15
- feat(broker): KFC-7, broker-side schema validation by @robot-head in #16
- refactor: rename the crabka namespace to krabka by @robot-head in #18
- KFC-9: topic write-freeze and break-glass workflows by @robot-head in #17
- refactor: break files over 500 lines into cohesive modules by @robot-head in #19
- Replace literal JSON and collection constructors with
serde_json::json!andmaplitmacros by @robot-head in #110 - Run log differential tests in the Kafka integration container by @robot-head in #112
- Remove timeouts from exhaustive state model scans by @robot-head in #111
- Route Docker-backed broker tests through the Bazel Docker lane by @robot-head in #114
- ci: run GSSAPI acceptance suites by @robot-head in #115
- Add librdkafka-based Kafka conformance test images by @robot-head in #113
- Harden CI gates and supply-chain verification by @robot-head in #116
- Fix librdkafka conformance test configuration type by @robot-head in #117
- Move KIP-631 JVM checkpoint validation into Docker test lane by @robot-head in #118
- Include workspace crates in Bazel SBOM metadata by @robot-head in #119
- Aspectifty SBOM by @robot-head in #120
- Enforce milestone 1 exit gates by @robot-head in #126
- Preserve the signed digest when publishing release tags by @robot-head in #127
New Contributors
- @robot-head made their first contribution in #6
Full Changelog: https://github.com/krabka-io/krabka-broker/commits/v0.5.0