From dc51412bcbb6fe1bc2a2b412ff15d70d846fd00f Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" <41898282+github-actions[bot]@users.noreply.github.com> Date: Wed, 16 Sep 2026 19:41:10 +0000 Subject: [PATCH] chore: prepare release 2.11.0 --- .changeset/allow_concurrent_database_reads.md | 5 ---- .changeset/fix_slow_sector_pruning_scan.md | 5 ---- .changeset/fix_stored_sectors_table_bloat.md | 9 ------ .changeset/index_unreferenced_sectors.md | 13 -------- .changeset/migrate_outside_write_lock.md | 5 ---- .changeset/remove_sector_cache.md | 5 ---- ...everted_back_to_encodingjson_from_sonic.md | 5 ---- ...equires_all_prices_or_none_to_be_pinned.md | 5 ---- .../update_gosiatechcoreutils_to_v0241.md | 5 ---- CHANGELOG.md | 30 +++++++++++++++++++ go.mod | 2 +- 11 files changed, 31 insertions(+), 58 deletions(-) delete mode 100644 .changeset/allow_concurrent_database_reads.md delete mode 100644 .changeset/fix_slow_sector_pruning_scan.md delete mode 100644 .changeset/fix_stored_sectors_table_bloat.md delete mode 100644 .changeset/index_unreferenced_sectors.md delete mode 100644 .changeset/migrate_outside_write_lock.md delete mode 100644 .changeset/remove_sector_cache.md delete mode 100644 .changeset/reverted_back_to_encodingjson_from_sonic.md delete mode 100644 .changeset/the_ui_now_requires_all_prices_or_none_to_be_pinned.md delete mode 100644 .changeset/update_gosiatechcoreutils_to_v0241.md diff --git a/.changeset/allow_concurrent_database_reads.md b/.changeset/allow_concurrent_database_reads.md deleted file mode 100644 index e9bbb51a..00000000 --- a/.changeset/allow_concurrent_database_reads.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -default: patch ---- - -# Allow concurrent database reads diff --git a/.changeset/fix_slow_sector_pruning_scan.md b/.changeset/fix_slow_sector_pruning_scan.md deleted file mode 100644 index 804c1953..00000000 --- a/.changeset/fix_slow_sector_pruning_scan.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -default: patch ---- - -# Fix high CPU usage during sector pruning diff --git a/.changeset/fix_stored_sectors_table_bloat.md b/.changeset/fix_stored_sectors_table_bloat.md deleted file mode 100644 index edc6aca1..00000000 --- a/.changeset/fix_stored_sectors_table_bloat.md +++ /dev/null @@ -1,9 +0,0 @@ ---- -default: patch ---- - -# Fix the merkle cache bloating the stored sectors table - -The cache kept 32 KiB of subtree roots inline on every sector row, which slowed -sector reads, pruning and contract root lookups. Cached roots are discarded on -upgrade and rebuilt on the next read. diff --git a/.changeset/index_unreferenced_sectors.md b/.changeset/index_unreferenced_sectors.md deleted file mode 100644 index b21c2b4c..00000000 --- a/.changeset/index_unreferenced_sectors.md +++ /dev/null @@ -1,13 +0,0 @@ ---- -default: minor ---- - -# Index unreferenced sectors for pruning - -Sectors now track how many contract and temp storage references they have, and -a location holds a lock while a sector is being written to it. The prune sweep -reads unreferenced sectors from an index instead of scanning every stored -sector, which on a 100 TiB host held the database for about six seconds every -five minutes. The last access timestamp is removed. The upgrade computes the -counts for existing sectors and rewrites the sector table, which takes about a -minute at that size. diff --git a/.changeset/migrate_outside_write_lock.md b/.changeset/migrate_outside_write_lock.md deleted file mode 100644 index c4bf0b37..00000000 --- a/.changeset/migrate_outside_write_lock.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -default: patch ---- - -# Sector migration no longer holds the database lock while copying data diff --git a/.changeset/remove_sector_cache.md b/.changeset/remove_sector_cache.md deleted file mode 100644 index 9a4653e0..00000000 --- a/.changeset/remove_sector_cache.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -default: patch ---- - -# Removed the in-memory sector cache, the sectorCacheSize setting is now ignored diff --git a/.changeset/reverted_back_to_encodingjson_from_sonic.md b/.changeset/reverted_back_to_encodingjson_from_sonic.md deleted file mode 100644 index 4c4be350..00000000 --- a/.changeset/reverted_back_to_encodingjson_from_sonic.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -default: patch ---- - -# Reverted back to encoding/json from sonic. diff --git a/.changeset/the_ui_now_requires_all_prices_or_none_to_be_pinned.md b/.changeset/the_ui_now_requires_all_prices_or_none_to_be_pinned.md deleted file mode 100644 index 1c44209f..00000000 --- a/.changeset/the_ui_now_requires_all_prices_or_none_to_be_pinned.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -default: patch ---- - -# The UI now requires all prices or none to be pinned diff --git a/.changeset/update_gosiatechcoreutils_to_v0241.md b/.changeset/update_gosiatechcoreutils_to_v0241.md deleted file mode 100644 index ec247f79..00000000 --- a/.changeset/update_gosiatechcoreutils_to_v0241.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -default: patch ---- - -# Update go.sia.tech/coreutils to v0.24.1 diff --git a/CHANGELOG.md b/CHANGELOG.md index 066a4388..7e6db10b 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,3 +1,33 @@ +## 2.11.0 (2026-09-16) + +### Features + +#### Index unreferenced sectors for pruning + +Sectors now track how many contract and temp storage references they have, and +a location holds a lock while a sector is being written to it. The prune sweep +reads unreferenced sectors from an index instead of scanning every stored +sector, which on a 100 TiB host held the database for about six seconds every +five minutes. The last access timestamp is removed. The upgrade computes the +counts for existing sectors and rewrites the sector table, which takes about a +minute at that size. + +### Fixes + +- Allow concurrent database reads +- Fix high CPU usage during sector pruning +- Sector migration no longer holds the database lock while copying data +- Removed the in-memory sector cache, the sectorCacheSize setting is now ignored +- Reverted back to encoding/json from sonic. +- The UI now requires all prices or none to be pinned +- Update go.sia.tech/coreutils to v0.24.1 + +#### Fix the merkle cache bloating the stored sectors table + +The cache kept 32 KiB of subtree roots inline on every sector row, which slowed +sector reads, pruning and contract root lookups. Cached roots are discarded on +upgrade and rebuilt on the next read. + ## 2.10.3 (2026-09-01) ### Fixes diff --git a/go.mod b/go.mod index f458eb12..f3b7c235 100644 --- a/go.mod +++ b/go.mod @@ -1,4 +1,4 @@ -module go.sia.tech/hostd/v2 // v2.10.3 +module go.sia.tech/hostd/v2 // v2.11.0 go 1.27.0