What's Changed
- test(heal): cover MRF manifest CAS legacy transition by @houseme in #7443
- fix(ci): enable release branch checks and repair test imports by @overtrue in #7441
- test(scanner): structure heal release evidence lanes by @houseme in #7442
- fix(scanner): require segment producer identities by @houseme in #7444
- fix(scanner): expose recovery intent identity by @houseme in #7445
- test(scanner): summarize failed heal perf reports by @houseme in #7446
- fix(common): retain unmatched MRF repair proofs by @houseme in #7447
- fix(ci): route replication read plan through boundary by @cxymds in #7448
- test(scanner): cover flat-bucket quantum fairness by @houseme in #7449
- fix(heal): reuse same admission request id by @houseme in #7451
- test(scanner): require perf summary evidence fields by @houseme in #7453
- test(scanner): bind release evidence fields by @houseme in #7452
- fix(scanner): tag dirty usage producer identities by @houseme in #7454
- test(scanner): gate release evidence bundles by @houseme in #7457
- test(scanner): require hard evidence ABBA manifest by @houseme in #7459
- feat(heal): add MRF committed snapshot writer by @houseme in #7458
- test(heal): cover EC8+4 restart shard rebuild by @houseme in #7461
- test(scanner): echo measured release evidence in ABBA fake adapter by @houseme in #7460
- test(scanner): require complete ABBA summary matrix by @houseme in #7462
- heal: replay committed MRF checkpoints durably by @houseme in #7465
- test(scanner): bind hard evidence bundle provenance by @houseme in #7467
- test(heal): cover bucket object repair receipts by @houseme in #7468
- test(scanner): add EC8+4 heal restart evidence by @houseme in #7469
- heal: verify replacement pool metadata repair by @houseme in #7471
- heal: verify admin recreate pool metadata by @houseme in #7474
- test(heal): preserve EC84 restart semantics by @houseme in #7478
- test(heal): write EC84 distributed restart oracle by @houseme in #7481
- fix(heal): harden MRF replay boundaries by @houseme in #7483
- test(ecstore): bind MRF manifest CAS dirsync recovery by @houseme in #7482
- test(scanner): derive evidence runner profile from registry by @houseme in #7484
- test(scanner): require mixed-version evidence roles by @houseme in #7485
- fix(heal): publish committed MRF runtime checkpoints by @houseme in #7490
- test(scanner): bind profile artifacts in release evidence by @houseme in #7487
- test(scanner): harden measured ABBA evidence claims by @houseme in #7491
- fix(e2e): group scanner heal evidence payload by @houseme in #7494
- test(scanner): require MRF replay bundle fields by @houseme in #7486
- test(scanner): profile EC84 evidence case runs by @houseme in #7495
- test(scanner): reject empty release evidence artifacts by @houseme in #7496
- test(scanner): require G14 same-window field coverage by @houseme in #7489
- test(scanner): require two-hour measured ABBA windows by @houseme in #7493
- test(heal): cover MRF idle checkpoint cleanup by @houseme in #7497
- fix(e2e): ignore untracked files in build identity by @houseme in #7498
- test(scanner): require MRF disk-full evidence fields by @houseme in #7499
- test(scanner): bind release JSON artifact provenance by @houseme in #7500
- test(heal): cover MRF rollback mirror filtering by @houseme in #7501
- test(scanner): require segment activation evidence by @houseme in #7504
- test(scanner): require MRF crash matrix cases by @houseme in #7505
- test(scanner): require release bundle domain evidence by @houseme in #7502
- test(scanner): require MRF retention GC evidence by @houseme in #7506
- test(scanner): require MRF cleanup GC soak evidence by @houseme in #7507
- test(heal): cover MRF disk-full commit anchors by @houseme in #7509
- test(e2e): report port allocator bind errors by @houseme in #7510
- fix(sse): resolve 1.0.0 SSE/KMS blockers and P1 findings by @reatang in #7511
- test(storage): cover MRF cleanup delete ENOSPC anchor by @houseme in #7513
- test(scanner): require heal retry stats evidence by @houseme in #7514
- test(scanner): add release bundle dry-run fixture by @houseme in #7515
- fix(scanner): confirm recovery intent accept readback by @houseme in #7516
- test(scanner): require MRF cleanup delete ENOSPC evidence by @houseme in #7518
- test(scanner): require bounded retry window evidence by @houseme in #7517
- test(e2e): emit scanner heal G09 upgrade evidence by @houseme in #7519
- test(heal): persist MRF rollback mirror boundary by @houseme in #7520
- test(scanner): add G09 upgrade evidence runner by @houseme in #7522
- feat(scanner): implement V2 evidence preflights by @houseme in #7523
- test(scanner): assemble release evidence bundles by @houseme in #7526
- test(scanner): add G09 upgrade evidence runner by @houseme in #7524
- fix(scanner): replay recovery intents while disabled by @houseme in #7521
- test(scanner): preflight G09 evidence disk space by @houseme in #7527
- fix(scanner): respect cargo target dir in G09 runner by @houseme in #7528
- test(e2e): add G09 upgrade evidence runner by @houseme in #7525
- test(scanner): emit G09 release bundle gate evidence by @houseme in #7530
- fix(scanner): reject invalid G09 runner test selection by @houseme in #7531
- fix(scanner): keep G09 source binary path clean by @houseme in #7532
- test(heal): cover MRF replay proof cleanup by @houseme in #7534
- feat(scanner): carry segment activation preflight evidence by @houseme in #7535
- feat(scanner): surface cold segment reuse oracle by @houseme in #7536
- test(scanner): require hard evidence artifact payloads by @houseme in #7537
- feat(scanner): bind producer evidence to dirty generations by @houseme in #7538
- feat(scanner): persist segment invalidation proof metadata by @houseme in #7539
- test(scanner): wait for EC8+4 heal control readiness by @houseme in #7540
- test(scanner): list full P4 release evidence fields by @houseme in #7542
- test(scanner): add W16 release evidence runner by @houseme in #7543
- fix: address release acceptance regressions by @overtrue in #7541
- feat(scanner): admit durable segment proof replay by @houseme in #7544
- test(scanner): bind MRF release artifacts to evidence kinds by @houseme in #7545
- feat(scanner): enable segment reuse activation gate by @houseme in #7546
- test(scanner): run scoped fallback cases on dedicated stack by @houseme in #7550
- test(scanner): roll out distributed e2e selection by @houseme in #7549
- test(scanner): add W13 MRF evidence runner by @houseme in #7547
- ci(test): enable local KMS for s3 compatibility tests by @houseme in #7553
- fix(scanner): bind segment proof to typed dirty suffix by @houseme in #7564
- fix(scanner): validate scoped ACK clear receipts by @houseme in #7563
- fix(scanner): bind cold scoped cache reuse by @houseme in #7565
- fix(s3): preserve delete marker read error headers by @cxymds in #7558
- chore(release): sync configurable nightly build workflow from main by @majinghe in #7567
- docs(obs): correct metric export interval and explain alert timing by @cxymds in #7571
- fix(heal): persist scoped admin admission handoff by @houseme in #7569
- fix(scanner): mark committed replication and tier mutations by @houseme in #7568
- fix(ecstore): recover expansion buckets and resume retirement by @overtrue in #7574
- fix(ci): align S3 KMS fixtures and default key expectations by @cxymds in #7573
- fix(heal): prune retained root terminal receipts by @houseme in #7576
- fix(storage): preserve retryable publication guard errors by @cxymds in #7561
- fix(health): report storage quorum in node readiness by @cxymds in #7566
- fix: preserve scanner backlog during pool retirement by @overtrue in #7555
- test(scanner): bind profile artifact provenance by @houseme in #7577
- fix(scanner): persist dirty producer journal by @houseme in #7580
- test: add scanner heal scheduler pressure evidence by @houseme in #7584
- test: add scanner heal G14 multiset evidence by @houseme in #7583
- fix(nightly): push assets with plain git on release — the build fleet has no gh CLI by @majinghe in #7586
- fix(scanner): stabilize retired backlog survivor commits by @houseme in #7585
- fix(metrics): prevent duplicate drive reporting across nodes by @cxymds in #7582
- fix(ecstore): avoid Windows batch-delete cleanup sharing conflicts by @cxymds in #7579
- feat(ilm): inspect legacy transition version state by @cxymds in #7581
- test(scanner): add release evidence ingestion gates by @houseme in #7588
- fix: reuse admin error boundary for legacy tier reconciliation by @overtrue in #7587
- fix(test): stabilize release CI heal fixtures by @houseme in #7589
- feat(nightly): publish packages as assets of the rolling 'nightly' release by @majinghe in #7592
- test(scanner): add release bundle evidence descriptors by @houseme in #7595
- feat(ilm): backfill proven legacy transition state by @cxymds in #7591
- test(ecstore): remove redundant transition clone by @houseme in #7597
- fix(scanner): seed current backlog members before committing by @cxymds in #7594
- test(scanner): bind raw profile artifacts by @houseme in #7598
- fix(heal): surface first failed object in status by @houseme in #7599
- test(heal): cover retry budget across attempts by @houseme in #7600
- test(scanner): harden durable producer evidence gate by @houseme in #7601
- test(scanner): harden scoped ack evidence proof by @houseme in #7602
- test(scanner): bind status outcome raw provenance by @houseme in #7603
- fix(heal): retry fully recoverable batch failures by @houseme in #7604
- fix(scanner): avoid movement debt for stale remote lease by @houseme in #7605
- chore(deps): refresh workspace dependencies by @houseme in #7606
- test(scanner): bind G14 case artifacts by @houseme in #7611
- fix(ecstore): retry contended decommission cancel target locks by @cxymds in #7612
- test: align transition fixtures and KMS context expectations by @overtrue in #7610
- test(scanner): stabilize W13 release gate evidence by @houseme in #7613
- fix(scanner): bound native backlog fixture resources by @houseme in #7609
- fix(ci): align release E2E gate and repair regression tests by @overtrue in #7607
- fix(scanner): harden heal release gates by @houseme in #7614
- test(scanner): reject synthetic heal evidence inputs by @houseme in #7617
- test(scanner): collect status outcome raw evidence by @houseme in #7618
- fix(scanner): bind scoped ack confirmation to generation by @houseme in #7619
- test: report tier reference proof setup failures without hanging by @overtrue in #7608
- test(scanner): plan Linux evidence validation by @houseme in #7620
- test(e2e): select G14 replacement drive by evidence by @houseme in #7622
- test(scanner): report Linux evidence plan status by @houseme in #7624
- test(scanner): add G14 multi-pool background heal evidence by @houseme in #7628
- test(scanner): verify deferred multipool outage evidence by @houseme in #7629
- fix(ecstore): allow metadata snapshots at read quorum by @houseme in #7627
- chore(deps): refresh release dependencies by @houseme in #7632
- fix(ecstore): use pool lock quorum for set writes by @houseme in #7630
- test(e2e): keep G14 multi-set restart graceful by @houseme in #7633
- test(e2e): record deferred G14 outage writes by @houseme in #7637
- test(scanner): bound G14 multi-pool evidence size by @houseme in #7640
- fix(scanner): find nextest junit fallback for evidence cases by @houseme in #7643
- fix(ilm): preserve cleanup ownership on tiered overwrites by @cxymds in #7639
- test(ilm): restore noncurrent compensation tests to serial CI by @cxymds in #7645
- fix(heal): preserve null-version tags and encoded object paths by @cxymds in #7644
- fix(e2e): record EC8+4 drive restart set size by @houseme in #7648
- test(e2e): target multi-set outage heal candidate by @houseme in #7653
- fix(heal): reuse API error boundary for decoding failures by @cxymds in #7647
- fix(scanner): wait for ABBA telemetry window by @houseme in #7660
- Revert "feat(ci): add fault-tolerance degradation suite to the functional chain" by @majinghe in #7666
- fix(ecstore): preserve multi-pool version histories by @cxymds in #7658
- fix(heal): recover stale peer state after restart by @cxymds in #7665
- fix(heal): select writable recovery intent owner by @cxymds in #7668
- feat(ci): add fault-tolerance degradation suite to the functional chain by @majinghe in #7669
- fix(get): reject pre-header read quorum failures by @cxymds in #7670
- ci: stop defaulting suite dispatches to a pinned release by @majinghe in #7681
- ci: manage backlog issues by signal instead of per-run filing by @majinghe in #7680
- fix(storage): alias legacy meta bucket over internode rpc by @houseme in #7685
- test(ecstore): stabilize cancelled rename test by @cxymds in #7684
- test(scanner): report Linux descriptor drift ledger by @houseme in #7692
- test(heal): retry recovery readback SlowDownRead by @houseme in #7695
- fix(pool): default the node-endpoints fallback to the 4-node fleet by @majinghe in #7696
- fix(scanner): require ABBA collector credentials by @houseme in #7700
- test(heal): label G14 recovery read failures by @houseme in #7701
- fix(heal): preserve settings in token status by @cxymds in #7691
- ci: green runs for case failures; red only for harness breakdowns by @majinghe in #7698
- test(heal): retry G14 deferred outage put by @houseme in #7703
- test(heal): retry G14 outage put probes by @houseme in #7704
- test(heal): remove unused G14 put helper by @houseme in #7705
- fix(tables): authorize reserved metadata reads by @GatewayJ in #7672
- ci: harden report steps after first full new-semantics run by @majinghe in #7708
- ci: tolerate ANSI reset escapes in security verdicts; fix tier product counts by @majinghe in #7712
- fix(heal): reject overlapping admin heal owners by @cxymds in #7723
- fix(heal): reject invalid admin selectors before admission by @cxymds in #7724
- fix(heal): pass endpoints to overlap receipt test by @houseme in #7738
- fix(heal): verify inline shard bitrot during deep scans by @cxymds in #7731
- fix(heal): persist and retry partial-write repairs by @cxymds in #7729
- fix(scanner): prove dirty ACK after confirmed root write by @houseme in #7732
- fix(heal): rebuild truncated xl.meta from healthy quorum by @cxymds in #7730
- fix(heal): prove completed historical version cleanup by @cxymds in #7736
- fix(tables): retain dropped warehouse protection by @GatewayJ in #7675
- fix(ecstore): gate shard integrity and preserve legacy recovery by @cxymds in #7741
- fix(heal): retire stale delete markers after bucket recreation by @cxymds in #7743
- fix(heal): preserve historical null version identity by @cxymds in #7749
- fix(s3): preserve version identities on suspended reads by @cxymds in #7751
- fix(rebalance): retry contended runtime metadata access by @cxymds in #7752
- fix(heal): bind bucket recovery to its original incarnation by @cxymds in #7744
- fix(s3): classify copy source part read failures by @houseme in #7746
- fix(tier): classify invalid remote credentials by @houseme in #7753
- test(ecstore): serialize tier cleanup owner matrix by @houseme in #7765
- fix(scanner): run bootstrap usage rebuild promptly by @houseme in #7758
- fix(tier): preserve cleanup scheduling for overwrites by @houseme in #7766
- fix(release): backport main fixes and stabilize tier cleanup tests by @overtrue in #7793
- fix(ci): restore release test compilation and e2e membership by @cxymds in #7799
- fix(s3): return stored content language on local GET by @cxymds in #7755
- fix(s3): return resolved object tagging version identities by @cxymds in #7757
- fix(tables): bound warehouse index recovery by @GatewayJ in #7677
- fix(upgrade): probe legacy IAM namespace before migration by @cxymds in #7816
- fix(release): backport IAM migration startup fixes and recent main fixes by @overtrue in #7825
- fix(auth): reject unsigned x-amz headers on header-signed SigV4 requests (release) by @overtrue in #7813
- fix(s3): preserve missing version errors on object reads by @cxymds in #7800
- fix(heal): bind admin traversal to bucket incarnation by @cxymds in #7802
- fix(ecstore): capture failed object lock acquisitions by @cxymds in #7803
- fix(heal): retain terminal outcomes across restart by @cxymds in #7805
- fix(heal): recover replacement ownership across VM restarts by @cxymds in #7810
- fix(tables): isolate protected S3 listings by @GatewayJ in #7676
- fix(ci): restore Linux E2E selection and split offline enrollment by @cxymds in #7843
- fix(heal): assign stable identities to scanner repair requests by @cxymds in #7823
- fix(heal): backport pool metadata scope to release by @cxymds in #7846
- fix(heal): persist pool/set outcomes and recovery scope by @cxymds in #7839
- fix(ecstore): scope recursive walks to object prefixes by @cxymds in #7850
- fix(heal): scope nested walks and reject admin read-repair by @cxymds in #7851
- test: cover overlapped multipart staging copy by @houseme in #7865
- fix(release): repair acceptance checks and prepare 1.0.0 by @overtrue in #7866
- test(scanner): stabilize W13 release evidence gates by @houseme in #7870
- ci: add the S3 Tables (Iceberg REST Catalog) functional suite workflow by @majinghe in #7873
- test(ecstore): tolerate slow read-repair diagnostics CI by @cxymds in #7892
- fix(heal): report verified normal shard repairs by @cxymds in #7890
- fix(ecstore): hide pending purge entries from listings by @houseme in #7895
- test(ecstore): scope pending purge listing regression by @houseme in #7897
- feat(obs): expose scanner usage freshness metrics by @houseme in #7896
- fix(ecstore): backport delete quorum rollback to release by @overtrue in #7902
- ci: rotate the shared functional-tests concurrency group to -v2 by @majinghe in #7900
- fix(s3): render null write version IDs consistently by @GatewayJ in #7904
- fix(heal): quarantine corrupt root recovery records by @cxymds in #7905
- fix(heal): fence canonical repair receipts by @cxymds in #7909
- fix(heal): persist replacement intent on remote survivor by @GatewayJ in #7912
- chore(release): merge main into release by @overtrue in #7913
- fix(list): reconcile split overwrite metadata by @GatewayJ in #7910
- fix(heal): persist explicit delete-marker purges by @cxymds in #7908
- ci(table): pass --outcome to the backlog issue manager by @majinghe in #7914
- fix(list): reconcile encoded directory objects by @GatewayJ in #7915
- fix(ci): restore release checks after marker purge changes by @overtrue in #7918
- fix(rpc): recover tier reloads after peer capability revocation by @overtrue in #7920
- test(ecstore): drain expiry workers before restart by @cxymds in #7923
- test: report tier cleanup recovery progress on timeout by @overtrue in #7922
- fix(heal): resume replacement generation after target restart by @cxymds in #7926
- ci(release): use sm-standard-4 for Linux builds by @overtrue in #7925
Full Changelog: 1.0.0-rc.6...1.0.0