diff --git a/.editorconfig b/.editorconfig
index bfd36a15fc..5f7b4d39cf 100644
--- a/.editorconfig
+++ b/.editorconfig
@@ -38,7 +38,7 @@ max_line_length = 140
indent_size = unset
# Ignore paths
-[{.git/**/*,**/*.lock,docs/site/pnpm-lock.yaml,**/*.lock,**/Move.toml,LICENSE,docs/devnet-public/glossary.md,crates/walrus-orchestrator/assets/*,.editorconfig,venv/**/*,crates/walrus-service/*.html,crates/walrus-upload-relay/*.html,crates/walrus-upload-relay/*.yaml,crates/walrus-service/*.yaml,docs/theme/**/*,.github/workflows/issues-monitor.yaml,scripts/simtest/seed-search.py,docs/site/src/components/ImportContent/utils.js,docs/site/static/glossary.json,docs/site/static/llms.txt,docs/site/static/llms-full.txt,docs/site/static/diagrams/*.html}]
+[{.git/**/*,**/*.lock,docs/site/pnpm-lock.yaml,**/*.lock,**/Move.toml,LICENSE,docs/devnet-public/glossary.md,crates/walrus-orchestrator/assets/*,.editorconfig,venv/**/*,crates/walrus-service/*.html,crates/walrus-upload-relay/*.html,crates/walrus-upload-relay/*.yaml,crates/walrus-service/*.yaml,docs/theme/**/*,.github/workflows/issues-monitor.yaml,scripts/simtest/seed-search.py,docs/site/src/components/ImportContent/utils.js,docs/site/static/glossary.json,docs/site/static/llms.txt,docs/site/static/llms-full.txt,docs/site/static/diagrams/*.html,docs/site/src/data/changelog.json}]
charset = unset
end_of_line = unset
indent_size = unset
diff --git a/docs/content/release-notes.mdx b/docs/content/release-notes.mdx
index d2f46ea213..db39f71eb2 100644
--- a/docs/content/release-notes.mdx
+++ b/docs/content/release-notes.mdx
@@ -1,18 +1,20 @@
---
title: Release Notes
-description: 'Release notes for Walrus, Walrus Memory, and related tools.'
+description: 'Release notes for Walrus, Walrus Memory, and Walrus Sites.'
displayed_sidebar: null
hide_table_of_contents: true
questions:
- What changed in the latest Walrus release?
- Where can I find Walrus release history?
- What breaking changes should I be aware of?
-answer: 'Release notes for Walrus, Walrus Memory, and related tools.'
+answer: 'Release notes for Walrus, Walrus Memory, and Walrus Sites.'
---
# Release Notes
-- [**Walrus Platform**](release-notes/walrus-platform) — Release notes from [Walrus](https://github.com/MystenLabs/walrus/releases).
+- [**Walrus**](release-notes/walrus-platform) — Release notes from [Walrus](https://github.com/MystenLabs/walrus/releases).
- [**Walrus Memory**](release-notes/walrus-memory) — Release notes from
[Walrus Memory](https://github.com/MystenLabs/MemWal/releases),
including the MCP server, TypeScript SDK, Python SDK, and OpenClaw.
+- [**Walrus Sites**](release-notes/walrus-sites) — Release notes from
+ [Walrus Sites](https://github.com/MystenLabs/walrus-sites/releases).
diff --git a/docs/content/release-notes/walrus-memory.mdx b/docs/content/release-notes/walrus-memory.mdx
index 21d9bbb80d..292af847fc 100644
--- a/docs/content/release-notes/walrus-memory.mdx
+++ b/docs/content/release-notes/walrus-memory.mdx
@@ -1,5 +1,5 @@
---
-title: Walrus Memory Release Notes
+title: Walrus Memory release notes
description: 'Release notes for Walrus Memory, MCP, TypeScript SDK, Python SDK, and OpenClaw.'
displayed_sidebar: null
hide_table_of_contents: true
@@ -14,442 +14,191 @@ answer: 'Release notes for Walrus Memory, MCP, TypeScript SDK, Python SDK, and O
-### Walrus Memory MCP v0.0.5
+### Package v0.0.5
June 12, 2026 | [GitHub](https://github.com/MystenLabs/MemWal/releases/tag/%40mysten-incubation/memwal-mcp%400.0.5)
-
-
Adds the automatic memory plugin for Claude Code, Codex, Cursor, and Antigravity, along with new
`memwal_remember_bulk` and `memwal_health` tools and proactive memory behavior. Also fixes the
plugin bundle so it ships `.mcp.json` correctly.
-
-
-#### 0.0.5
-
-#### Added
-
-- Automatic memory plugin for Claude Code, Codex, Cursor, and Antigravity.
-- New `memwal_remember_bulk` and `memwal_health` tools.
-
-#### Fixed
-
-- Ship the plugin's `.mcp.json` in the marketplace bundle. A root gitignore rule excluded it, so plugin installs loaded the lifecycle hooks but never registered the MCP server.
-
-#### Changed
-
-- Memory tools are now proactive — agents recall and save context on their own.
-
-#### Fixed
-
-- Plugin bundle now ships its `.mcp.json` so the MCP server registers on install.
-- Automatically recover from dropped relayer connections that could hang tool calls.
-
---
-### Walrus Memory MCP v0.0.4
+### Package v0.0.4
June 5, 2026 | [GitHub](https://github.com/MystenLabs/MemWal/releases/tag/%40mysten-incubation/memwal-mcp%400.0.4)
-
-
Fixes HTTPS dashboard sign-in callbacks and credential reload after login so tools work without
restarting the MCP client.
-
-
-#### 0.0.4
-
-#### Fixed
-
-- Accept HTTPS dashboard sign-in callbacks to the local `127.0.0.1` MCP listener.
-- Reload credentials after `memwal_login` so memory tools work without restarting the MCP client.
-
---
-### Walrus Memory MCP v0.0.3
+### Package v0.0.3
June 4, 2026 | [GitHub](https://github.com/MystenLabs/MemWal/releases/tag/%40mysten-incubation/memwal-mcp%400.0.3)
-
-
Rebrands package metadata from MemWal to Walrus Memory throughout the MCP server.
-
-
-#### 0.0.3
-
-#### Changed
-
-- Rebranded package metadata and documentation from MemWal to Walrus Memory.
-
---
-### Walrus Memory MCP v0.0.2
+### Package v0.0.2
May 24, 2026 | [GitHub](https://github.com/MystenLabs/MemWal/releases/tag/%40mysten-incubation/memwal-mcp%400.0.2)
-
-
Adds relayer compatibility checks and rebrands from MemWal to Walrus Memory across the MCP server
package.
-
-
-#### 0.0.2
-
-#### Added
-
-- Added relayer compatibility metadata checks before opening the MCP bridge.
-
-#### Changed
-
-- Rebranded package metadata and documentation from MemWal to Walrus Memory.
-
---
-### Walrus Memory MCP v0.0.1
+### Package v0.0.1
May 14, 2026 | [GitHub](https://github.com/MystenLabs/MemWal/releases/tag/%40mysten-incubation/memwal-mcp%400.0.1)
-
-
Initial release of the MCP server with stdio transport, browser wallet login, and inline session
tools. Includes memory tools for remember, recall, analyze, and restore.
-
-
-#### 0.0.1
-
-#### Initial Release
-
-- Stdio MCP server for MemWal with browser-based wallet login.
-- Inline `memwal_login` and `memwal_logout` session tools.
-- Memory tools for remember, recall, analyze, and restore through the MemWal relayer.
-- Environment presets for production, dev, staging, and local relayers.
-
---
-### Walrus Memory TypeScript SDK v0.0.7
+### Package v0.0.7
June 2, 2026 | [GitHub](https://github.com/MystenLabs/MemWal/releases/tag/%40mysten-incubation/memwal%400.0.7)
-
-
Adds an optional `occurredAt` parameter to `analyze()` for temporal anchoring of extracted facts.
Relative date references are now resolved into absolute dates.
-
+#### Changes
-#### 0.0.7
-
-#### Patch Changes
-
-- [#218](https://github.com/MystenLabs/MemWal/pull/218) [`333d327`](https://github.com/MystenLabs/MemWal/commit/333d3279f59c2a033225bc99238b7586474333fb) Thanks [@hungtranphamminh](https://github.com/hungtranphamminh)! - Add optional `occurredAt` to `analyze()` and `analyzeAndWait()` for temporal anchoring of extracted facts.
-
- - New `AnalyzeOptions` overload: `analyze(text, { namespace, occurredAt })` accepts `Date` or RFC-3339 string. The legacy `analyze(text, namespace?)` signature still works unchanged.
- - When `occurredAt` is supplied, the server resolves in-turn relative references ("last Friday", "yesterday") into absolute dates inside the extracted fact text before embedding and encryption.
- - Wire format is RFC-3339 UTC with millisecond precision (e.g. `"2023-05-25T17:50:00.000Z"`).
- - Invalid `Date` instances (constructed from malformed input) now throw a diagnostic `TypeError` from the SDK rather than an opaque `RangeError` from `toISOString()`.
- - Field is omitted from the request body when not supplied — existing callers see byte-identical wire payloads.
+- [Add optional `occurredAt` to `analyze()` and `analyzeAndWait()` for temporal anchoring of extracted facts.](https://github.com/MystenLabs/MemWal/pull/218)
---
-### Walrus Memory TypeScript SDK v0.0.6
+### Package v0.0.6
May 28, 2026 | [GitHub](https://github.com/MystenLabs/MemWal/releases/tag/%40mysten-incubation/memwal%400.0.6)
-
-
Adds `RecallParams` for object-style recall calls and deprecates the positional recall overload.
Also documents `restore()` response fields.
-
-
-#### 0.0.6
-
-#### Added
-
-- Added `RecallParams` for object-style `recall(...)` calls.
-
-#### Changed
-
-- Marked the positional `recall(...)` overload as deprecated in favor of `recall({ query, limit, namespace })`.
-- Documented `restore()` response fields, default limit, pagination behavior, and performance expectations.
-
---
-### Walrus Memory TypeScript SDK v0.0.5
+### Package v0.0.5
May 24, 2026 | [GitHub](https://github.com/MystenLabs/MemWal/releases/tag/%40mysten-incubation/memwal%400.0.5)
-
-
Adds relayer compatibility checks, `RecallOptions` for `topK`/`namespace`/`maxDistance` filtering,
and prefers Sui gRPC for SEAL sessions. This release also rebrands from MemWal to Walrus Memory.
-
-
-#### 0.0.5
-
-#### Added
-
-- Added relayer compatibility metadata checks before protected requests.
-- Added `compatibility()` and exported compatibility types/errors so callers can inspect SDK/relayer support explicitly.
-- Added `RecallOptions` for `topK`, namespace override, and `maxDistance`.
-
-#### Changed
-
-- Prefer Sui gRPC for SEAL sessions, with JSON-RPC fallback.
-- Updated docs/examples for `MEMWAL_PRIVATE_KEY` and hosted relayer defaults.
-- Rebranded package metadata and documentation from MemWal to Walrus Memory.
-
-#### Fixed
-
-- Made `401` relayer errors more actionable.
-
---
-### Walrus Memory TypeScript SDK v0.0.4
+### Package v0.0.4
May 14, 2026 | [GitHub](https://github.com/MystenLabs/MemWal/releases/tag/%40mysten-incubation/memwal%400.0.4)
-
-
Adds `getRememberStatus` for polling async job state and `SealServerConfig` for manual SEAL
configuration. Manual mode validates API key pairs.
-
-
-#### 0.0.4
-
-#### Added
-
-- Added `getRememberStatus(jobId)` so clients can poll and display the full async remember state machine.
-- Added `SealServerConfig` and `sealServerConfigs` for manual-mode SEAL committee aggregator configuration.
-
-#### Changed
-
-- Manual mode now normalizes full SEAL server configs, validates optional API key pairs, and caps the default threshold to configured server weight.
-- Manual mode keeps testnet defaults on the legacy independent key servers for compatibility with hosted testnet relayer data.
-
---
-### Walrus Memory TypeScript SDK v0.0.3
+### Package v0.0.3
May 7, 2026 | [GitHub](https://github.com/MystenLabs/MemWal/releases/tag/%40mysten-incubation/memwal%400.0.3)
-
-
Updates `remember()` for the async relayer flow and introduces `rememberAsync`,
`waitForRememberJob`, `rememberAndWait`, and bulk remember helpers. Also adds async analysis with
`analyzeAndWait`.
-
-
-#### 0.0.3
-
-#### Changed
-
-- Updated `remember()` for the relayer's async `/api/remember` flow. It now returns the accepted job payload immediately.
-- Added `rememberAsync()`, `waitForRememberJob()`, and `rememberAndWait()` for callers that need the final `blob_id`.
-- Added bulk remember helpers: `rememberBulk()`, `rememberBulkAsync()`, `waitForRememberJobs()`, and `rememberBulkAndWait()`.
-- Updated `analyze()` for async fact storage and added `analyzeAndWait()`.
-
-#### Compatibility
-
-- `recall()` and `restore()` remain wire-compatible with the existing relayer responses.
-- The SDK continues to use `x-seal-session` for relayer-mode decrypt credentials.
-
---
-### Walrus Memory TypeScript SDK v0.0.2
+### Package v0.0.2
April 29, 2026 | [GitHub](https://github.com/MystenLabs/MemWal/releases/tag/%40mysten-incubation/memwal%400.0.2)
-
-
Adds per-request nonce signing to block replay attacks and replaces delegate key transport with
ephemeral SEAL sessions. SDK versions that do not include a nonce are rejected with HTTP 426.
-
-
-#### 0.0.2
-
-#### Security
-
-- Added per-request `x-nonce` signing to block replay within the timestamp window.
-- Added `x-account-id` to the canonical signed message so account hints cannot be rebound in transit.
-- Replaced relayer-mode `x-delegate-key` transport with ephemeral `x-seal-session`; manual-mode requests no longer send delegate private key material.
-- SDK versions that do not send `x-nonce` are no longer supported by the server and receive `426 Upgrade Required`.
-
---
-### Walrus Memory python v0.1.4
+### Package v0.1.4
June 2, 2026 | [GitHub](https://github.com/MystenLabs/MemWal/releases/tag/memwal-python%400.1.4)
-
-
A patch release for the Walrus Memory Python SDK.
-
-
Fixes a workspace dependency that broke npm installs outside the monorepo and switches the release
workflow to pnpm publish.
-
-
-#### 0.0.5
-
-#### Patch Changes
-
-- Fix unresolvable `workspace:*` dependency in the published package. The release
- workflow used `npm publish`, which ships `package.json` verbatim and cannot
- rewrite the `workspace:` protocol, so the published artifact carried
- `"@mysten-incubation/memwal": "workspace:*"` and failed to install outside the
- monorepo (`Unsupported URL Type 'workspace:'`). Switched the release workflows
- to `pnpm publish`, which rewrites `workspace:*` to the concrete dependency
- version at pack time.
-
---
-### Walrus Memory SDK v0.0.4
+### Package v0.0.4
June 2, 2026 | [GitHub](https://github.com/MystenLabs/MemWal/releases/tag/%40mysten-incubation/oc-memwal%400.0.4)
-
-
Adds temporal anchoring through `occurredAt` to the `memory_store` tool. The auto-capture hook now
passes the current timestamp, and the SDK is bumped for the new `AnalyzeOptions`.
-
-
-#### 0.0.4
-
-#### Patch Changes
-
-- [#218](https://github.com/MystenLabs/MemWal/pull/218) [`333d327`](https://github.com/MystenLabs/MemWal/commit/333d3279f59c2a033225bc99238b7586474333fb) Thanks [@hungtranphamminh](https://github.com/hungtranphamminh)! - Wire temporal anchoring through the agent-side memory tools.
-
- ### Added
+#### Changes
- - `memory_store` tool now accepts an optional `occurredAt` argument (RFC-3339 / ISO-8601 string) so agents can anchor recounted past events to the date they actually occurred. Description tells the LLM to omit it when unknown rather than guess.
-
- ### Changed
-
- - Auto-capture hook (`agent_end`) now passes `new Date()` as `occurredAt` to `analyze()`. Every captured conversation now gets temporal anchoring automatically — the server extractor resolves in-turn relative references ("yesterday", "last Friday") into absolute dates inside the stored fact text. Facts captured by this version now carry resolved dates.
- - SDK dependency bumped from published `^0.0.2` to `workspace:*` to consume the new `AnalyzeOptions` signature.
-
-- Updated dependencies [[`333d327`](https://github.com/MystenLabs/MemWal/commit/333d3279f59c2a033225bc99238b7586474333fb)]:
- - @mysten-incubation/memwal@0.0.7
+- [Wire temporal anchoring through the agent-side memory tools.](https://github.com/MystenLabs/MemWal/pull/218)
---
-### Walrus Memory SDK v0.0.3
+### Package v0.0.3
May 24, 2026 | [GitHub](https://github.com/MystenLabs/MemWal/releases/tag/%40mysten-incubation/oc-memwal%400.0.3)
-
-
Rebrands from MemWal to Walrus Memory across the OpenClaw memory plugin.
-
-
-#### 0.0.3
-
-#### Patch Changes
-
-- Rebrand package metadata and documentation from MemWal to Walrus Memory.
-
---
-### Walrus Memory SDK v0.0.2
+### Package v0.0.2
April 29, 2026 | [GitHub](https://github.com/MystenLabs/MemWal/releases/tag/%40mysten-incubation/oc-memwal%400.0.2)
-
-
Initial release of the OpenClaw memory plugin with automatic recall and capture hooks, session
summary, CLI commands, and LLM tools.
-
-
-#### 0.0.1
-
-#### Initial Release
-
-- NemoClaw/OpenClaw memory plugin powered by MemWal
-- Automatic memory recall via `before_prompt_build` hook
-- Automatic fact capture via `agent_end` hook
-- Session summary on `before_reset` hook
-- CLI commands: `openclaw memwal stats`, `openclaw memwal search`
-- LLM tools: `memory_search`, `memory_store`
-
---
diff --git a/docs/content/release-notes/walrus-platform.mdx b/docs/content/release-notes/walrus-platform.mdx
index 0c529fc98a..23ec55a4f2 100644
--- a/docs/content/release-notes/walrus-platform.mdx
+++ b/docs/content/release-notes/walrus-platform.mdx
@@ -1,5 +1,5 @@
---
-title: Walrus Platform Release Notes
+title: Walrus release notes
description: Release notes for the Walrus decentralized storage platform.
displayed_sidebar: null
hide_table_of_contents: true
@@ -12,2027 +12,848 @@ answer: Release notes for the Walrus decentralized storage platform.
### Walrus v1.52.1
-`Mainnet` July 22, 2026 | [GitHub](https://github.com/MystenLabs/walrus/releases/tag/mainnet-v1.52.1)
-
----
-#### Full Log: https://github.com/MystenLabs/walrus/commits/mainnet-v1.52.1
+`Mainnet` | July 22, 2026 | [GitHub](https://github.com/MystenLabs/walrus/releases/tag/mainnet-v1.52.1)
---
### Walrus v1.52.0
-`Testnet` July 15, 2026 | [GitHub](https://github.com/MystenLabs/walrus/releases/tag/testnet-v1.52.0)
-
----
-#### Full Log: https://github.com/MystenLabs/walrus/commits/testnet-v1.52.0
+`Testnet` | July 15, 2026 | [GitHub](https://github.com/MystenLabs/walrus/releases/tag/testnet-v1.52.0)
---
### Walrus v1.51.2
-`Mainnet` July 9, 2026 | [GitHub](https://github.com/MystenLabs/walrus/releases/tag/mainnet-v1.51.2)
+`Mainnet` | July 9, 2026 | [GitHub](https://github.com/MystenLabs/walrus/releases/tag/mainnet-v1.51.2)
-#### CLI
+#### Changes
-[#3479](https://github.com/MystenLabs/walrus/pull/3479): `walrus info committee` gains a `--commission-receivers` flag that prints, as CSV, the commission receiver of every node in the previous, current, and next committees (including the owning address for object receivers).
-
----
-#### Full Log: https://github.com/MystenLabs/walrus/commits/mainnet-v1.51.2
+- [`walrus info committee` gains a `--commission-receivers` flag that prints, as CSV, the commission receiver of every node in the previous, current, and next committees (including the owning address for object receivers).](https://github.com/MystenLabs/walrus/pull/3479)
---
### Walrus v1.51.1
-`Mainnet` July 8, 2026 | [GitHub](https://github.com/MystenLabs/walrus/releases/tag/mainnet-v1.51.1)
+`Mainnet` | July 8, 2026 | [GitHub](https://github.com/MystenLabs/walrus/releases/tag/mainnet-v1.51.1)
-#### CLI
+#### Changes
-[#3479](https://github.com/MystenLabs/walrus/pull/3479): `walrus info committee` gains a `--commission-receivers` flag that prints, as CSV, the commission receiver of every node in the previous, current, and next committees (including the owning address for object receivers).
-
----
-#### Full Log: https://github.com/MystenLabs/walrus/commits/mainnet-v1.51.1
+- [`walrus info committee` gains a `--commission-receivers` flag that prints, as CSV, the commission receiver of every node in the previous, current, and next committees (including the owning address for object receivers).](https://github.com/MystenLabs/walrus/pull/3479)
---
### Walrus v1.50.0
-`Mainnet` June 24, 2026 | [GitHub](https://github.com/MystenLabs/walrus/releases/tag/mainnet-v1.50.0)
-
-
+`Mainnet` | June 24, 2026 | [GitHub](https://github.com/MystenLabs/walrus/releases/tag/mainnet-v1.50.0)
A maintenance release on Testnet with no user-facing changes documented in the release notes; see
the full commit log for internal updates.
-
-
----
-#### Full Log: https://github.com/MystenLabs/walrus/commits/mainnet-v1.50.0
-
---
### Walrus v1.49.1
-`Mainnet` May 27, 2026 | [GitHub](https://github.com/MystenLabs/walrus/releases/tag/mainnet-v1.49.1)
-
-
+`Mainnet` | May 27, 2026 | [GitHub](https://github.com/MystenLabs/walrus/releases/tag/mainnet-v1.49.1)
A maintenance release on Mainnet with no user-facing changes documented in the release notes; see
the full commit log for internal updates.
-
-
----
-#### Full Log: https://github.com/MystenLabs/walrus/commits/mainnet-v1.49.1
-
---
### Walrus v1.48.1
-`Mainnet` May 13, 2026 | [GitHub](https://github.com/MystenLabs/walrus/releases/tag/mainnet-v1.48.1)
-
-
+`Mainnet` | May 13, 2026 | [GitHub](https://github.com/MystenLabs/walrus/releases/tag/mainnet-v1.48.1)
A maintenance release on Mainnet with no user-facing changes documented in the release notes; see
the full commit log for internal updates.
-
-
----
-#### Full Log: https://github.com/MystenLabs/walrus/commits/mainnet-v1.48.1
-
---
### Walrus v1.47.1
-`Mainnet` April 29, 2026 | [GitHub](https://github.com/MystenLabs/walrus/releases/tag/mainnet-v1.47.1)
-
-
+`Mainnet` | April 29, 2026 | [GitHub](https://github.com/MystenLabs/walrus/releases/tag/mainnet-v1.47.1)
Enables storage pool support in the storage node and makes the aggregator return a retryable HTTP
503 `BLOB_UNAVAILABLE` (instead of 500) when a blob is only temporarily unretrievable. Blob
attribute headers such as `Content-Type` are now correctly included on range requests when reading
by object ID.
-
-
-#### Storage node
-
-[#3256](https://github.com/MystenLabs/walrus/pull/3256): enable storage pool support in storage node
-
-#### Aggregator
+#### Changes
-[#3284](https://github.com/MystenLabs/walrus/pull/3284): The `GET /v1/blobs/{blob_id}` endpoint now returns
- HTTP 503 with reason `BLOB_UNAVAILABLE` when a blob is temporarily
- unretrievable (for example, mid-upload, mid-expiry, or when too many
- storage nodes are unreachable to reconstruct the blob or determine a
- definitive status). Previously these cases returned HTTP 500. The
- terminal 404 `BLOB_NOT_FOUND` response for blobs that do not exist
- is unchanged. Clients and CDNs should treat 503 as retryable with
- backoff.
-
-[#3084](https://github.com/MystenLabs/walrus/pull/3084): Blob attribute headers (such as Content-Type) are now correctly included on range request responses when reading blobs by object ID.
-
----
-#### Full Log: https://github.com/MystenLabs/walrus/commits/mainnet-v1.47.1
+- [enable storage pool support in storage node](https://github.com/MystenLabs/walrus/pull/3256)
+- [The `GET /v1/blobs/{blob_id}` endpoint now returns](https://github.com/MystenLabs/walrus/pull/3284)
+- [Blob attribute headers (such as Content-Type) are now correctly included on range request responses when reading blobs by object ID.](https://github.com/MystenLabs/walrus/pull/3084)
---
### Walrus v1.47.0
-`Testnet` April 22, 2026 | [GitHub](https://github.com/MystenLabs/walrus/releases/tag/testnet-v1.47.0)
-
-
+`Testnet` | April 22, 2026 | [GitHub](https://github.com/MystenLabs/walrus/releases/tag/testnet-v1.47.0)
The Testnet preview of storage pool support in the storage node, plus the aggregator's new retryable
HTTP 503 `BLOB_UNAVAILABLE` response for temporarily unretrievable blobs. Range requests by object
ID now return blob attribute headers such as `Content-Type` correctly.
-
-
-#### Storage node
-
-[#3256](https://github.com/MystenLabs/walrus/pull/3256): enable storage pool support in storage node
-
-#### Aggregator
-
-[#3284](https://github.com/MystenLabs/walrus/pull/3284): The `GET /v1/blobs/{blob_id}` endpoint now returns
- HTTP 503 with reason `BLOB_UNAVAILABLE` when a blob is temporarily
- unretrievable (for example, mid-upload, mid-expiry, or when too many
- storage nodes are unreachable to reconstruct the blob or determine a
- definitive status). Previously these cases returned HTTP 500. The
- terminal 404 `BLOB_NOT_FOUND` response for blobs that do not exist
- is unchanged. Clients and CDNs should treat 503 as retryable with
- backoff.
+#### Changes
-[#3084](https://github.com/MystenLabs/walrus/pull/3084): Blob attribute headers (such as Content-Type) are now correctly included on range request responses when reading blobs by object ID.
-
----
-#### Full Log: https://github.com/MystenLabs/walrus/commits/testnet-v1.47.0
+- [enable storage pool support in storage node](https://github.com/MystenLabs/walrus/pull/3256)
+- [The `GET /v1/blobs/{blob_id}` endpoint now returns](https://github.com/MystenLabs/walrus/pull/3284)
+- [Blob attribute headers (such as Content-Type) are now correctly included on range request responses when reading blobs by object ID.](https://github.com/MystenLabs/walrus/pull/3084)
---
### Walrus v1.46.1
-`Mainnet` April 15, 2026 | [GitHub](https://github.com/MystenLabs/walrus/releases/tag/mainnet-v1.46.1)
-
-
+`Mainnet` | April 15, 2026 | [GitHub](https://github.com/MystenLabs/walrus/releases/tag/mainnet-v1.46.1)
Adds a `reuse_resources` query parameter so the publisher and daemon can resume an existing,
unfinished upload pipeline instead of starting over.
-
-
-#### Publisher
+#### Changes
-[#3202](https://github.com/MystenLabs/walrus/pull/3202): allow publisher and daemon to add `reuse_resources` query parameters to try to reuse existing (unfinished) upload pipeline
-
----
-#### Full Log: https://github.com/MystenLabs/walrus/commits/mainnet-v1.46.1
+- [allow publisher and daemon to add `reuse_resources` query parameters to try to reuse existing (unfinished) upload pipeline](https://github.com/MystenLabs/walrus/pull/3202)
---
### Walrus v1.45.2
-`Mainnet` April 1, 2026 | [GitHub](https://github.com/MystenLabs/walrus/releases/tag/mainnet-v1.45.2)
-
-
+`Mainnet` | April 1, 2026 | [GitHub](https://github.com/MystenLabs/walrus/releases/tag/mainnet-v1.45.2)
Raises the storage node's RocksDB background threads from 2 to 16 and adds the opt-in
`garbage_collection.enable_immediate_data_deletion` parameter. Also fixes a combined-daemon body
size limit that was silently rejecting uploads with 413 errors and adds a `walrus info coin` CLI
subcommand.
-
-
-#### Storage node
+#### Changes
-[#3155](https://github.com/MystenLabs/walrus/pull/3155): Increases the number of RocksDB background threads from 2 (RocksDB default) to 16. Can be configured through the config file.
-
-[#3160](https://github.com/MystenLabs/walrus/pull/3160): Add a new configuration parameter `garbage_collection.enable_immediate_data_deletion`, which defaults to `false`. When processing a `BlobDeleted` event, data is only deleted immediately if this parameter is set to true.
-
-#### Publisher
-
-[#3072](https://github.com/MystenLabs/walrus/pull/3072): Fixed body size limit in combined daemon mode (running publisher and aggregator together). The limit was set 1024x too small, causing uploads to be silently rejected with 413 Payload Too Large. Standalone publisher mode was not affected.
-
-#### CLI
-
-[#3122](https://github.com/MystenLabs/walrus/pull/3122): Added a new `info` subcommand to the CLI. `walrus info coin` provides the StructTag of the walrus coin given the CLI's configured context.
-
----
-#### Full Log: https://github.com/MystenLabs/walrus/commits/mainnet-v1.45.2
+- [Increases the number of RocksDB background threads from 2 (RocksDB default) to 16. Can be configured through the config file.](https://github.com/MystenLabs/walrus/pull/3155)
+- [Add a new configuration parameter `garbage_collection.enable_immediate_data_deletion`, which defaults to `false`. When processing a `BlobDeleted` event, data is only deleted immediately if this parameter is set to true.](https://github.com/MystenLabs/walrus/pull/3160)
+- [Fixed body size limit in combined daemon mode (running publisher and aggregator together). The limit was set 1024x too small, causing uploads to be silently rejected with 413 Payload Too Large. Standalone publisher mode was not affected.](https://github.com/MystenLabs/walrus/pull/3072)
+- [Added a new `info` subcommand to the CLI. `walrus info coin` provides the StructTag of the walrus coin given the CLI's configured context.](https://github.com/MystenLabs/walrus/pull/3122)
---
### Walrus v1.45.1
-`Testnet` March 25, 2026 | [GitHub](https://github.com/MystenLabs/walrus/releases/tag/testnet-v1.45.1)
-
-
+`Testnet` | March 25, 2026 | [GitHub](https://github.com/MystenLabs/walrus/releases/tag/testnet-v1.45.1)
The Testnet preview that raises RocksDB background threads from 2 to 16 and adds the opt-in
`garbage_collection.enable_immediate_data_deletion` parameter. Includes the combined-daemon 413
upload fix and the new `walrus info coin` CLI subcommand.
-
+#### Changes
-#### Storage node
-
-[#3155](https://github.com/MystenLabs/walrus/pull/3155): Increases the number of RocksDB background threads from 2 (RocksDB default) to 16. Can be configured through the config file.
-
-[#3160](https://github.com/MystenLabs/walrus/pull/3160): Add a new configuration parameter `garbage_collection.enable_immediate_data_deletion`, which defaults to `false`. When processing a `BlobDeleted` event, data is only deleted immediately if this parameter is set to true.
-
-#### Publisher
-
-[#3072](https://github.com/MystenLabs/walrus/pull/3072): Fixed body size limit in combined daemon mode (running publisher and aggregator together). The limit was set 1024x too small, causing uploads to be silently rejected with 413 Payload Too Large. Standalone publisher mode was not affected.
-
-#### CLI
-
-[#3122](https://github.com/MystenLabs/walrus/pull/3122): Added a new `info` subcommand to the CLI. `walrus info coin` provides the StructTag of the walrus coin given the CLI's configured context.
-
----
-#### Full Log: https://github.com/MystenLabs/walrus/commits/testnet-v1.45.1
+- [Increases the number of RocksDB background threads from 2 (RocksDB default) to 16. Can be configured through the config file.](https://github.com/MystenLabs/walrus/pull/3155)
+- [Add a new configuration parameter `garbage_collection.enable_immediate_data_deletion`, which defaults to `false`. When processing a `BlobDeleted` event, data is only deleted immediately if this parameter is set to true.](https://github.com/MystenLabs/walrus/pull/3160)
+- [Fixed body size limit in combined daemon mode (running publisher and aggregator together). The limit was set 1024x too small, causing uploads to be silently rejected with 413 Payload Too Large. Standalone publisher mode was not affected.](https://github.com/MystenLabs/walrus/pull/3072)
+- [Added a new `info` subcommand to the CLI. `walrus info coin` provides the StructTag of the walrus coin given the CLI's configured context.](https://github.com/MystenLabs/walrus/pull/3122)
---
### Walrus v1.44.3
-`Mainnet` March 19, 2026 | [GitHub](https://github.com/MystenLabs/walrus/releases/tag/mainnet-v1.44.3)
-
-
+`Mainnet` | March 19, 2026 | [GitHub](https://github.com/MystenLabs/walrus/releases/tag/mainnet-v1.44.3)
Fixes a storage node crash caused by outdated epoch state, raises RocksDB background threads from 2
to 16, and adds the opt-in `garbage_collection.enable_immediate_data_deletion` parameter.
-
-
-#### Storage node
-
-[#3005](https://github.com/MystenLabs/walrus/pull/3005): Fixed an issue that crashed storage nodes due to outdated epoch state.
-
-[#3156](https://github.com/MystenLabs/walrus/pull/3156): Increases the number of RocksDB background threads from 2 (RocksDB default) to 16. Can be configured through the config file.
+#### Changes
-[#3161](https://github.com/MystenLabs/walrus/pull/3161): Add a new configuration parameter `garbage_collection.enable_immediate_data_deletion`, which defaults to `false`. When processing a `BlobDeleted` event, data is only deleted immediately if this parameter is set to true.
-
----
-#### Full Log: https://github.com/MystenLabs/walrus/commits/mainnet-v1.44.3
+- [Fixed an issue that crashed storage nodes due to outdated epoch state.](https://github.com/MystenLabs/walrus/pull/3005)
+- [Increases the number of RocksDB background threads from 2 (RocksDB default) to 16. Can be configured through the config file.](https://github.com/MystenLabs/walrus/pull/3156)
+- [Add a new configuration parameter `garbage_collection.enable_immediate_data_deletion`, which defaults to `false`. When processing a `BlobDeleted` event, data is only deleted immediately if this parameter is set to true.](https://github.com/MystenLabs/walrus/pull/3161)
---
### Walrus v1.44.2
-`Mainnet` March 18, 2026 | [GitHub](https://github.com/MystenLabs/walrus/releases/tag/mainnet-v1.44.2)
+`Mainnet` | March 18, 2026 | [GitHub](https://github.com/MystenLabs/walrus/releases/tag/mainnet-v1.44.2)
-#### Storage node
+#### Changes
-[#3005](https://github.com/MystenLabs/walrus/pull/3005): Fixed an issue that crashed storage nodes due to outdated epoch state.
-
----
-#### Full Log: https://github.com/MystenLabs/walrus/commits/mainnet-v1.44.2
+- [Fixed an issue that crashed storage nodes due to outdated epoch state.](https://github.com/MystenLabs/walrus/pull/3005)
---
### Walrus v1.44.1
-`Testnet` March 11, 2026 | [GitHub](https://github.com/MystenLabs/walrus/releases/tag/testnet-v1.44.1)
+`Testnet` | March 11, 2026 | [GitHub](https://github.com/MystenLabs/walrus/releases/tag/testnet-v1.44.1)
-#### Storage node
+#### Changes
-[#3005](https://github.com/MystenLabs/walrus/pull/3005): Fixed an issue that crashed storage nodes due to outdated epoch state.
-
----
-#### Full Log: https://github.com/MystenLabs/walrus/commits/testnet-v1.44.1
+- [Fixed an issue that crashed storage nodes due to outdated epoch state.](https://github.com/MystenLabs/walrus/pull/3005)
---
### Walrus v1.43.1
-`Mainnet` March 4, 2026 | [GitHub](https://github.com/MystenLabs/walrus/releases/tag/mainnet-v1.43.1)
-
-
+`Mainnet` | March 4, 2026 | [GitHub](https://github.com/MystenLabs/walrus/releases/tag/mainnet-v1.43.1)
Allows storage nodes to vote on pricing denominated in USD, a capability that becomes usable once
the contract adds support for it.
-
-
-#### Storage node
+#### Changes
-[#2960](https://github.com/MystenLabs/walrus/pull/2960): allow storage nodes to vote on pricing based on USD. This functionality can only be used after the contract supports this.
-
----
-#### Full Log: https://github.com/MystenLabs/walrus/commits/mainnet-v1.43.1
+- [allow storage nodes to vote on pricing based on USD. This functionality can only be used after the contract supports this.](https://github.com/MystenLabs/walrus/pull/2960)
---
### Walrus v1.42.1
-`Mainnet` February 18, 2026 | [GitHub](https://github.com/MystenLabs/walrus/releases/tag/mainnet-v1.42.1)
-
-
+`Mainnet` | February 18, 2026 | [GitHub](https://github.com/MystenLabs/walrus/releases/tag/mainnet-v1.42.1)
A maintenance release on Mainnet with no user-facing changes documented in the release notes; see
the full commit log for internal updates.
-
-
----
-#### Full Log: https://github.com/MystenLabs/walrus/commits/mainnet-v1.42.1
-
---
### Walrus v1.41.1
-`Mainnet` February 5, 2026 | [GitHub](https://github.com/MystenLabs/walrus/releases/tag/mainnet-v1.41.1)
-
-
+`Mainnet` | February 5, 2026 | [GitHub](https://github.com/MystenLabs/walrus/releases/tag/mainnet-v1.41.1)
Enables garbage collection by default on Mainnet and adds an alpha `/v1alpha/blobs/{blob_id}/stream`
endpoint designed to lower time to first byte when streaming blob data.
-
-
-#### Storage node
+#### Changes
-[#2851](https://github.com/MystenLabs/walrus/pull/2851): Garbage collection is now enabled by default on Mainnet.
-
-#### Aggregator
-
-[#2801](https://github.com/MystenLabs/walrus/pull/2801): There is a new alpha endpoint `/v1alpha/blobs/{blob_id}/stream` which is intended to reduce latency to first byte, and is intended to be used to stream blob data.
-
----
-#### Full Log: https://github.com/MystenLabs/walrus/commits/mainnet-v1.41.1
+- [Garbage collection is now enabled by default on Mainnet.](https://github.com/MystenLabs/walrus/pull/2851)
+- [There is a new alpha endpoint `/v1alpha/blobs/{blob_id}/stream` which is intended to reduce latency to first byte, and is intended to be used to stream blob data.](https://github.com/MystenLabs/walrus/pull/2801)
---
### Walrus v1.41.0
-`Testnet` January 28, 2026 | [GitHub](https://github.com/MystenLabs/walrus/releases/tag/testnet-v1.41.0)
-
-
+`Testnet` | January 28, 2026 | [GitHub](https://github.com/MystenLabs/walrus/releases/tag/testnet-v1.41.0)
The Testnet preview enabling garbage collection by default and introducing the alpha
`/v1alpha/blobs/{blob_id}/stream` endpoint for lower-latency blob streaming.
-
-
-#### Storage node
-
-[#2851](https://github.com/MystenLabs/walrus/pull/2851): Garbage collection is now enabled by default on Mainnet.
-
-#### Aggregator
+#### Changes
-[#2801](https://github.com/MystenLabs/walrus/pull/2801): There is a new alpha endpoint `/v1alpha/blobs/{blob_id}/stream` which is intended to reduce latency to first byte, and is intended to be used to stream blob data.
-
----
-#### Full Log: https://github.com/MystenLabs/walrus/commits/testnet-v1.41.0
+- [Garbage collection is now enabled by default on Mainnet.](https://github.com/MystenLabs/walrus/pull/2851)
+- [There is a new alpha endpoint `/v1alpha/blobs/{blob_id}/stream` which is intended to reduce latency to first byte, and is intended to be used to stream blob data.](https://github.com/MystenLabs/walrus/pull/2801)
---
### Walrus v1.40.3
-`Mainnet` January 21, 2026 | [GitHub](https://github.com/MystenLabs/walrus/releases/tag/mainnet-v1.40.3)
-
-
+`Mainnet` | January 21, 2026 | [GitHub](https://github.com/MystenLabs/walrus/releases/tag/mainnet-v1.40.3)
Enables database transactions and garbage collection by default on Testnet, both of which can be
turned off in the node configuration; operators using `experimental_use_optimistic_transaction_db`
should remove that flag.
-
-
-#### Storage node
+#### Changes
-[#2772](https://github.com/MystenLabs/walrus/pull/2772): Enables DB transactions (implemented in [#247](https://github.com/MystenLabs/walrus/pull/247)5) and garbage collection (implemented in [#2542](https://github.com/MystenLabs/walrus/pull/2542), [#2599](https://github.com/MystenLabs/walrus/pull/2599), and [#272](https://github.com/MystenLabs/walrus/pull/272)5) by default on Testnet. The features can be disabled by adding the following to your node configuration:
- ```yaml
- db_config:
- global:
- use_optimistic_transaction_db: false
- garbage_collection:
- enable_blob_info_cleanup: false
- enable_data_deletion: false
- ```
- If you have `experimental_use_optimistic_transaction_db: true` in your configuration, you should remove that.
-
----
-#### Full Log: https://github.com/MystenLabs/walrus/commits/mainnet-v1.40.3
+- [Enables DB transactions (implemented in [#247](https://github.com/MystenLabs/walrus/pull/247)5) and garbage collection (implemented in [#2542](https://github.com/MystenLabs/walrus/pull/2542), [#2599](https://github.com/MystenLabs/walrus/pull/2599), and [#272](https://github.com/MystenLabs/walrus/pull/272)5) by default on Testnet. The features can be disabled by adding the following to your node configuration:](https://github.com/MystenLabs/walrus/pull/2772)
---
### Walrus v1.39.1
-`Mainnet` January 7, 2026 | [GitHub](https://github.com/MystenLabs/walrus/releases/tag/mainnet-v1.39.1)
-
-
+`Mainnet` | January 7, 2026 | [GitHub](https://github.com/MystenLabs/walrus/releases/tag/mainnet-v1.39.1)
Storage node operators must remove the obsolete `use_legacy_event_provider` flag from their
configuration if it is still present.
-
-
-#### Storage node
-
-[#2730](https://github.com/MystenLabs/walrus/pull/2730):
-Storage nodes will need to remove the `use_legacy_event_provider` flag from their configuration if it is present.
-
----
-#### Full Log: https://github.com/MystenLabs/walrus/commits/mainnet-v1.39.1
-
---
### Walrus v1.38.3
-`Mainnet` December 10, 2025 | [GitHub](https://github.com/MystenLabs/walrus/releases/tag/mainnet-v1.38.3)
-
-
+`Mainnet` | December 10, 2025 | [GitHub](https://github.com/MystenLabs/walrus/releases/tag/mainnet-v1.38.3)
Delivers significant memory-usage reductions across the aggregator, publisher, and CLI, plus lower
upload latency from fewer Sui RPC requests. Adds a new byte-range read API and an alpha
`/v1alpha/blobs/concat` endpoint, and removes the long-unused `get_recovery_symbol` endpoint.
-
+---
+
+### Walrus v1.38.2
-#### Storage node
+`Testnet` | December 9, 2025 | [GitHub](https://github.com/MystenLabs/walrus/releases/tag/testnet-v1.38.2)
-[#2715](https://github.com/MystenLabs/walrus/pull/2715):
-remove deprecated get_recovery_symbol endpoint, which has not been used for several months
+The Testnet build with major memory-usage reductions across the aggregator, publisher, and CLI and
+reduced upload latency. Adds a byte-range read API and the alpha `/v1alpha/blobs/concat` endpoint
+while removing the deprecated `get_recovery_symbol` endpoint.
-#### Aggregator
+---
-[#2687](https://github.com/MystenLabs/walrus/pull/2687):
-Significant reduction in memory usage when reading blobs with strict consistency check.
+### Walrus v1.38.1
-[#2676](https://github.com/MystenLabs/walrus/pull/2676):
-Includes a new endpoint `/v1alpha/blobs/concat` handling `GET` and `POST` methods. This endpoint streams the given blobs back as one concatenated response. This is an alpha endpoint and is not yet stable. We're looking for feedback!
+`Testnet` | December 3, 2025 | [GitHub](https://github.com/MystenLabs/walrus/releases/tag/testnet-v1.38.1)
-[#2724](https://github.com/MystenLabs/walrus/pull/2724):
-introduce a new aggregator API to read byte ranges of a blob
+An earlier Testnet build of the memory-usage and latency improvements across the aggregator,
+publisher, and CLI, alongside the new byte-range read API and alpha `/v1alpha/blobs/concat`
+endpoint.
-#### Publisher
+---
-[#2687](https://github.com/MystenLabs/walrus/pull/2687):
-Significant reduction in memory usage and slight performance improvements when storing large blobs.
+### Walrus v1.37.0
-[#2717](https://github.com/MystenLabs/walrus/pull/2717):
-Reduce number of Sui RPC requests and slightly decrease upload latency.
+`Mainnet` | November 19, 2025 | [GitHub](https://github.com/MystenLabs/walrus/releases/tag/mainnet-v1.37.0)
-#### CLI
+Changes the default consistency check on reads; the previous strict behavior can be restored with
+the `strict_consistency_check=true` query option or the `--strict-consistency-check` CLI flag.
-[#2687](https://github.com/MystenLabs/walrus/pull/2687):
-Significant reduction in memory usage and slight performance improvements when storing blobs, computing the blob ID, and reading blobs with strict consistency check.
+---
-[#2710](https://github.com/MystenLabs/walrus/pull/2710):
-Add optional static parameters `n_shards` and `max_epochs_ahead` to the `client_config.yaml` to reduce CLI start-up time. You can obtain the latest version of the config file at http://docs.wal.app/setup/client_config.yaml.
+### Walrus v1.36.1
-[#2717](https://github.com/MystenLabs/walrus/pull/2717):
-Reduce number of Sui RPC requests and decrease latency when storing blobs.
+`Mainnet` | November 7, 2025 | [GitHub](https://github.com/MystenLabs/walrus/releases/tag/mainnet-v1.36.1)
----
-#### Full Log: https://github.com/MystenLabs/walrus/commits/mainnet-v1.38.3
+Adds a `skip_consistency_check` option (and `--skip-consistency-check` CLI flag) for use only with
+trusted writers, and trims `server_address` and `server_port` labels from request-duration metrics
+for fast, successful responses.
---
-### Walrus v1.38.2
+### Walrus v1.35.2
-`Testnet` December 9, 2025 | [GitHub](https://github.com/MystenLabs/walrus/releases/tag/testnet-v1.38.2)
+`Mainnet` | October 29, 2025 | [GitHub](https://github.com/MystenLabs/walrus/releases/tag/mainnet-v1.35.2)
-
+Brings the trusted-writer `skip_consistency_check` option and `--skip-consistency-check` CLI flag to
+Mainnet, and removes `server_address` and `server_port` labels from metrics for fast, successful
+responses.
-The Testnet build with major memory-usage reductions across the aggregator, publisher, and CLI and
-reduced upload latency. Adds a byte-range read API and the alpha `/v1alpha/blobs/concat` endpoint
-while removing the deprecated `get_recovery_symbol` endpoint.
+---
-
+### Walrus v1.35.1
-#### Storage node
+`Mainnet` | October 23, 2025 | [GitHub](https://github.com/MystenLabs/walrus/releases/tag/mainnet-v1.35.1)
-[#2715](https://github.com/MystenLabs/walrus/pull/2715):
-remove deprecated get_recovery_symbol endpoint, which has not been used for several months
+Delivers a major reduction in memory usage when reading large blobs and adds the sliver range to
+`store-quilt` output. Note the warning that the default consistency check will change in v1.37.
-#### Aggregator
+---
-[#2687](https://github.com/MystenLabs/walrus/pull/2687):
-Significant reduction in memory usage when reading blobs with strict consistency check.
+### Walrus v1.35.0
-[#2676](https://github.com/MystenLabs/walrus/pull/2676):
-Includes a new endpoint `/v1alpha/blobs/concat` handling `GET` and `POST` methods. This endpoint streams the given blobs back as one concatenated response. This is an alpha endpoint and is not yet stable. We're looking for feedback!
+`Testnet` | October 15, 2025 | [GitHub](https://github.com/MystenLabs/walrus/releases/tag/testnet-v1.35.0)
-[#2724](https://github.com/MystenLabs/walrus/pull/2724):
-introduce a new aggregator API to read byte ranges of a blob
+The Testnet preview with a major reduction in memory usage for large blobs and sliver-range
+information in `store-quilt` output, plus advance notice that the default consistency check changes
+in v1.37.
-#### Publisher
+---
-[#2687](https://github.com/MystenLabs/walrus/pull/2687):
-Significant reduction in memory usage and slight performance improvements when storing large blobs.
+### Walrus v1.34.2
-[#2717](https://github.com/MystenLabs/walrus/pull/2717):
-Reduce number of Sui RPC requests and slightly decrease upload latency.
+`Mainnet` | October 9, 2025 | [GitHub](https://github.com/MystenLabs/walrus/releases/tag/mainnet-v1.34.2)
-#### CLI
+Adds an aggregator `--max-blob-size` option to cap the size of requestable blobs. Note the warning
+that blobs are stored as deletable by default starting in v1.33; pass `permanent=true` to keep the
+old behavior.
-[#2687](https://github.com/MystenLabs/walrus/pull/2687):
-Significant reduction in memory usage and slight performance improvements when storing blobs, computing the blob ID, and reading blobs with strict consistency check.
+---
-[#2710](https://github.com/MystenLabs/walrus/pull/2710):
-Add optional static parameters `n_shards` and `max_epochs_ahead` to the `client_config.yaml` to reduce CLI start-up time. You can obtain the latest version of the config file at http://docs.wal.app/setup/client_config.yaml.
+### Walrus v1.34.1
-[#2717](https://github.com/MystenLabs/walrus/pull/2717):
-Reduce number of Sui RPC requests and decrease latency when storing blobs.
+`Testnet` | October 1, 2025 | [GitHub](https://github.com/MystenLabs/walrus/releases/tag/testnet-v1.34.1)
----
-#### Full Log: https://github.com/MystenLabs/walrus/commits/testnet-v1.38.2
+The Testnet build adding the aggregator `--max-blob-size` option, with a reminder that blobs become
+deletable by default in v1.33 unless `permanent=true` is set.
---
-### Walrus v1.38.1
+### Walrus v1.33.3
-`Testnet` December 3, 2025 | [GitHub](https://github.com/MystenLabs/walrus/releases/tag/testnet-v1.38.1)
+`Mainnet` | September 29, 2025 | [GitHub](https://github.com/MystenLabs/walrus/releases/tag/mainnet-v1.33.3)
-
+Adds the aggregator `--max-blob-size` option and marks the switch to deletable-by-default blobs;
+pass `permanent=true` (or `--permanent`) to retain permanent storage.
-An earlier Testnet build of the memory-usage and latency improvements across the aggregator,
-publisher, and CLI, alongside the new byte-range read API and alpha `/v1alpha/blobs/concat`
-endpoint.
+---
-
+### Walrus v1.33.2
-#### Storage node
+`Testnet` | September 25, 2025 | [GitHub](https://github.com/MystenLabs/walrus/releases/tag/testnet-v1.33.2)
-[#2715](https://github.com/MystenLabs/walrus/pull/2715):
-remove deprecated get_recovery_symbol endpoint, which has not been used for several months
+Marks the Testnet switch to deletable-by-default blob storage; add `permanent=true` or the
+`--permanent` CLI option to keep blobs permanent.
-#### Aggregator
+#### Changes
-[#2687](https://github.com/MystenLabs/walrus/pull/2687):
-Significant reduction in memory usage when reading blobs with strict consistency check.
+- [**Warning:** Starting with this release (`v1.33`), blobs are stored as deletable by default; if you want to keep the previous behavior, you need to add the `permanent=true` query parameter.](https://github.com/MystenLabs/walrus/pull/2523)
+- [**Warning:** Starting with this release (`v1.33`), blobs are stored as deletable by default; if you want to keep the previous behavior, you need to add the `--permanent` option when storing blobs.](https://github.com/MystenLabs/walrus/pull/2523)
-[#2676](https://github.com/MystenLabs/walrus/pull/2676):
-Includes a new endpoint `/v1alpha/blobs/concat` handling `GET` and `POST` methods. This endpoint streams the given blobs back as one concatenated response. This is an alpha endpoint and is not yet stable. We're looking for feedback!
+---
-[#2724](https://github.com/MystenLabs/walrus/pull/2724):
-introduce a new aggregator API to read byte ranges of a blob
+### Walrus v1.33.1
-#### Publisher
+`Testnet` | September 17, 2025 | [GitHub](https://github.com/MystenLabs/walrus/releases/tag/testnet-v1.33.1)
-[#2687](https://github.com/MystenLabs/walrus/pull/2687):
-Significant reduction in memory usage and slight performance improvements when storing large blobs.
+An earlier Testnet build introducing deletable-by-default blob storage, with `permanent=true` or
+`--permanent` available to preserve the previous behavior.
-[#2717](https://github.com/MystenLabs/walrus/pull/2717):
-Reduce number of Sui RPC requests and slightly decrease upload latency.
+---
-#### CLI
+### Walrus v1.32.0
-[#2687](https://github.com/MystenLabs/walrus/pull/2687):
-Significant reduction in memory usage and slight performance improvements when storing blobs, computing the blob ID, and reading blobs with strict consistency check.
+`Mainnet` | September 15, 2025 | [GitHub](https://github.com/MystenLabs/walrus/releases/tag/mainnet-v1.32.0)
-[#2710](https://github.com/MystenLabs/walrus/pull/2710):
-Add optional static parameters `n_shards` and `max_epochs_ahead` to the `client_config.yaml` to reduce CLI start-up time. You can obtain the latest version of the config file at http://docs.wal.app/setup/client_config.yaml.
+Adds an aggregator endpoint, `/quilts//patches`, that lists all patches contained in a
+quilt.
-[#2717](https://github.com/MystenLabs/walrus/pull/2717):
-Reduce number of Sui RPC requests and decrease latency when storing blobs.
+#### Changes
----
-#### Full Log: https://github.com/MystenLabs/walrus/commits/testnet-v1.38.1
+- [Added new endpoint in aggregator: /quilts/\<quilt-id\>/patches to list all patches in a quilt.](https://github.com/MystenLabs/walrus/pull/2405)
+- [*Note: This change is an internal code quality improvement and does not affect user-facing functionality. No release notes are required as the changes do not impact the external API or user experience.*](https://github.com/MystenLabs/walrus/pull/2427)
---
-### Walrus v1.37.0
+### Walrus v1.31.1
-`Mainnet` November 19, 2025 | [GitHub](https://github.com/MystenLabs/walrus/releases/tag/mainnet-v1.37.0)
+`Mainnet` | August 28, 2025 | [GitHub](https://github.com/MystenLabs/walrus/releases/tag/mainnet-v1.31.1)
-
+An advance warning that blobs become deletable by default in v1.33; operators who want to keep
+permanent storage should begin adding the `permanent=true` query parameter now.
-Changes the default consistency check on reads; the previous strict behavior can be restored with
-the `strict_consistency_check=true` query option or the `--strict-consistency-check` CLI flag.
+---
-
+### Walrus v1.30.1
-#### Aggregator
+`Mainnet` | August 14, 2025 | [GitHub](https://github.com/MystenLabs/walrus/releases/tag/mainnet-v1.30.1)
-[#2624](https://github.com/MystenLabs/walrus/pull/2624):
-**Warning:** The default consistency check changes slightly in this release (`v1.37`). The previous "strict" consistency check can be enabled by using the query option `strict_consistency_check=true`. See the [encoding documentation](https://docs.wal.app/design/encoding.html#data-integrity-and-consistency) for the details of the different consistency checks.
+Storage nodes now restart on a TLS certificate update only when the certificate is near expiry or
+its subject or extensions have changed, and they emit warning and error logs for nearly expired
+certificates.
-#### CLI
+#### Changes
-[#2624](https://github.com/MystenLabs/walrus/pull/2624):
-**Warning:** The default consistency check changes slightly in this release (`v1.37`). The previous "strict" consistency check can be enabled by using the CLI option `--strict-consistency-check`. See the [encoding documentation](https://docs.wal.app/design/encoding.html#data-integrity-and-consistency) for the details of the different consistency checks.
+- [When the TLS certificate is updated, only restart the node if the currently loaded certificate is about to expire or the subject or extensions have changed. Also, add warning and error logs for (almost) expired certificates.](https://github.com/MystenLabs/walrus/pull/2360)
---
-#### Full Log: https://github.com/MystenLabs/walrus/commits/mainnet-v1.37.0
----
+### Walrus v1.30.0
-### Walrus v1.36.1
+`Testnet` | August 6, 2025 | [GitHub](https://github.com/MystenLabs/walrus/releases/tag/testnet-v1.30.0)
-`Mainnet` November 7, 2025 | [GitHub](https://github.com/MystenLabs/walrus/releases/tag/mainnet-v1.36.1)
+The Testnet preview of smarter TLS certificate handling, where a node restarts only on meaningful
+certificate changes and logs warnings for nearly expired certificates.
-
+#### Changes
-Adds a `skip_consistency_check` option (and `--skip-consistency-check` CLI flag) for use only with
-trusted writers, and trims `server_address` and `server_port` labels from request-duration metrics
-for fast, successful responses.
+- [When the TLS certificate is updated, only restart the node if the currently loaded certificate is about to expire or the subject or extensions have changed. Also, add warning and error logs for (almost) expired certificates.](https://github.com/MystenLabs/walrus/pull/2360)
-
+---
+
+### Walrus v1.29.2
+
+`Mainnet` | July 31, 2025 | [GitHub](https://github.com/MystenLabs/walrus/releases/tag/mainnet-v1.29.2)
-#### Storage node
+Brings Quilt batch storage to Mainnet with new publisher, aggregator, and CLI support for storing
+and reading quilts, plus an `--upload-relay` option. Also fixes startup issues with deleted event
+databases and lets new nodes start beyond `MAX_EPOCHS_AHEAD`.
-[#2576](https://github.com/MystenLabs/walrus/pull/2576):
-The `http_client_request_duration_*` metrics now omit the `server_address` and `server_port` labels for fast, successful responses.
+#### Changes
-#### Aggregator
+- [Fixes an issue that can occur when a node starts with deleted `events` and `event_blob_writer` DBs.](https://github.com/MystenLabs/walrus/pull/2273)
+- [New storage nodes can start in epochs later than `MAX_EPOCHS_AHEAD` (53 on the current Testnet and Mainnet) without any additional action.](https://github.com/MystenLabs/walrus/pull/2193)
+- [Add a new configuration parameter for the event processor config to control the interval at which sampled logs are emitted, with a default of 1 hour (previously 30s).](https://github.com/MystenLabs/walrus/pull/2290)
+- [Add a `permanent` query parameter. **Warning:** In the future, blobs will be stored as deletable by default; to keep the current behavior, you need to add the `permanent=true` query parameter.](https://github.com/MystenLabs/walrus/pull/2281)
+- [Added "/v1/quilts" publisher endpoint to store quilts.](https://github.com/MystenLabs/walrus/pull/2279)
+- [use subsidies contract to proxy register blob call](https://github.com/MystenLabs/walrus/pull/2151)
+- [Add a `--permanent` option to the `store` and `store-quilt` commands. **Warning:** In the future, blobs will be stored as deletable by default; to keep the current behavior, you need to add the `--permanent` option when storing blobs.](https://github.com/MystenLabs/walrus/pull/2281)
+- [Add the `--upload-relay` option to the `store` and `store-quilt` commands to allow uploading to Walrus via an [Upload Relay](https://docs.wal.app/operator-guide/upload-relay.html).](https://github.com/MystenLabs/walrus/pull/2384)
-[#2622](https://github.com/MystenLabs/walrus/pull/2622):
-Add a new query option `skip_consistency_check=true` to skip blob consistency checks. This should only be used if the writer of the corresponding blob is trusted. See the [encoding documentation](https://docs.wal.app/design/encoding.html#data-integrity-and-consistency) for the details of the different consistency checks.
+---
-[#2576](https://github.com/MystenLabs/walrus/pull/2576):
-The `http_client_request_duration_*` metrics now omit the `server_address` and `server_port` labels for fast, successful responses.
+### Walrus v1.29.1
-#### Publisher
+`Testnet` | July 23, 2025 | [GitHub](https://github.com/MystenLabs/walrus/releases/tag/testnet-v1.29.1)
-[#2576](https://github.com/MystenLabs/walrus/pull/2576):
-The `http_client_request_duration_*` metrics now omit the `server_address` and `server_port` labels for fast, successful responses.
+Introduces Quilt, a batch storage solution for storing and accessing many small files efficiently,
+with new `store-quilt`, `read-quilt`, and quilt read endpoints across the CLI, publisher, and
+aggregator. Also fixes deleted-event-database startup issues and relaxes the `MAX_EPOCHS_AHEAD`
+constraint for new nodes.
-#### CLI
+#### Changes
-[#2622](https://github.com/MystenLabs/walrus/pull/2622):
-Add a new CLI option `--skip-consistency-check`. to skip blob consistency checks. This should only be used if the writer of the corresponding blob is trusted. See the [encoding documentation](https://docs.wal.app/design/encoding.html#data-integrity-and-consistency) for the details of the different consistency checks.
+- [Fixes an issue that can occur when a node starts with deleted `events` and `event_blob_writer` DBs.](https://github.com/MystenLabs/walrus/pull/2273)
+- [New storage nodes can start in epochs later than `MAX_EPOCHS_AHEAD` (53 on the current Testnet and Mainnet) without any additional action.](https://github.com/MystenLabs/walrus/pull/2193)
+- [Add a new configuration parameter for the event processor config to control the interval at which sampled logs are emitted with a default of 1 hour (previously 30s).](https://github.com/MystenLabs/walrus/pull/2290)
+- [Add a `permanent` query parameter. **Warning:** In the future, blobs will be stored as deletable by default; to keep the current behavior, you need to add the `permanent=true` query parameter.](https://github.com/MystenLabs/walrus/pull/2281)
+- [Added "/v1/quilts" publisher endpoint to store quilts.](https://github.com/MystenLabs/walrus/pull/2279)
+- [Use subsidies contract to proxy register blob call](https://github.com/MystenLabs/walrus/pull/2151)
+- [Add a `--permanent` option to the `store` and `store-quilt` commands. **Warning:** In the future, blobs will be stored as deletable by default; to keep the current behavior, you need to add the `--permanent` option when storing blobs.](https://github.com/MystenLabs/walrus/pull/2281)
---
-#### Full Log: https://github.com/MystenLabs/walrus/commits/mainnet-v1.36.1
----
+### Walrus v1.28.4
-### Walrus v1.35.2
+`Mainnet` | July 15, 2025 | [GitHub](https://github.com/MystenLabs/walrus/releases/tag/mainnet-v1.28.4)
-`Mainnet` October 29, 2025 | [GitHub](https://github.com/MystenLabs/walrus/releases/tag/mainnet-v1.35.2)
+Fixes an issue where a blob could be reported as non-existent immediately after certification,
+affecting both the aggregator and the CLI.
-
+---
-Brings the trusted-writer `skip_consistency_check` option and `--skip-consistency-check` CLI flag to
-Mainnet, and removes `server_address` and `server_port` labels from metrics for fast, successful
-responses.
+### Walrus v1.28.3
-
+`Testnet` | July 11, 2025 | [GitHub](https://github.com/MystenLabs/walrus/releases/tag/testnet-v1.28.3)
-#### Storage node
+#### Changes
-[#2576](https://github.com/MystenLabs/walrus/pull/2576):
-The `http_client_request_duration_*` metrics now omit the `server_address` and `server_port` labels for fast, successful responses.
+- [Fixes an issue where a blob was sometimes reported as non-existent immediately after certification.](https://github.com/MystenLabs/walrus/pull/2205)
-#### Aggregator
+---
-[#2622](https://github.com/MystenLabs/walrus/pull/2622):
-Add a new query option `skip_consistency_check=true` to skip blob consistency checks. This should only be used if the writer of the corresponding blob is trusted. See the [encoding documentation](https://docs.wal.app/design/encoding.html#data-integrity-and-consistency) for the details of the different consistency checks.
+### Walrus v1.28.2
-[#2576](https://github.com/MystenLabs/walrus/pull/2576):
-The `http_client_request_duration_*` metrics now omit the `server_address` and `server_port` labels for fast, successful responses.
+`Testnet` | July 10, 2025 | [GitHub](https://github.com/MystenLabs/walrus/releases/tag/testnet-v1.28.2)
-#### Publisher
+Fixes an issue where a blob was sometimes reported as non-existing immediately after certification.
-[#2576](https://github.com/MystenLabs/walrus/pull/2576):
-The `http_client_request_duration_*` metrics now omit the `server_address` and `server_port` labels for fast, successful responses.
+---
-#### CLI
+### Walrus v1.28.1
-[#2622](https://github.com/MystenLabs/walrus/pull/2622):
-Add a new CLI option `--skip-consistency-check`. to skip blob consistency checks. This should only be used if the writer of the corresponding blob is trusted. See the [encoding documentation](https://docs.wal.app/design/encoding.html#data-integrity-and-consistency) for the details of the different consistency checks.
+`Testnet` | July 2, 2025 | [GitHub](https://github.com/MystenLabs/walrus/releases/tag/testnet-v1.28.1)
----
-#### Full Log: https://github.com/MystenLabs/walrus/commits/mainnet-v1.35.2
+Fixes a storage node startup problem with deleted `events` and `event_blob_writer` databases, along
+with the post-certification blob existence reporting fix.
---
-### Walrus v1.35.1
-
-`Mainnet` October 23, 2025 | [GitHub](https://github.com/MystenLabs/walrus/releases/tag/mainnet-v1.35.1)
+### Walrus v1.27.2
-
+`Mainnet` | June 26, 2025 | [GitHub](https://github.com/MystenLabs/walrus/releases/tag/mainnet-v1.27.2)
-Delivers a major reduction in memory usage when reading large blobs and adds the sliver range to
-`store-quilt` output. Note the warning that the default consistency check will change in v1.37.
+Adds a `CheckpointManager` and a node admin socket for direct operator interaction with a running
+node, and fixes a crash affecting recovering nodes after restart as well as a checkpoint-lag
+miscalculation.
-
+---
-#### Aggregator
+### Walrus v1.27.1
-[#2549](https://github.com/MystenLabs/walrus/pull/2549):
-Major reduction in memory usage for large blobs.
+`Testnet` | June 18, 2025 | [GitHub](https://github.com/MystenLabs/walrus/releases/tag/testnet-v1.27.1)
-[#2592](https://github.com/MystenLabs/walrus/pull/2592):
-**Warning:** The default consistency check will change slightly in `v1.37`. The current strict consistency check can be enabled by the new query option `strict_consistency_check=true`. See the [encoding documentation](https://docs.wal.app/design/encoding.html#data-integrity-and-consistency) for the details of the different consistency checks.
+The Testnet preview adding the `CheckpointManager` component and node admin socket, plus fixes for
+recovering-node restart crashes and inflated checkpoint-lag values.
-#### CLI
+---
-[#2549](https://github.com/MystenLabs/walrus/pull/2549):
-Major reduction in memory usage when reading large blobs.
+### Walrus v1.26.4
-[#2561](https://github.com/MystenLabs/walrus/pull/2561):
-Added range of slivers for store-quilt command in the output.
+`Mainnet` | June 10, 2025 | [GitHub](https://github.com/MystenLabs/walrus/releases/tag/mainnet-v1.26.4)
-[#2592](https://github.com/MystenLabs/walrus/pull/2592):
-**Warning:** The default consistency check will change slightly in `v1.37`. The current strict consistency check can be enabled by the new CLI option `--strict-consistency-check`. See the [encoding documentation](https://docs.wal.app/design/encoding.html#data-integrity-and-consistency) for the details of the different consistency checks.
+Adds multi-URL Sui RPC configuration via `rpc_urls` and removes the implicit fallback to the public
+Testnet full node. Note the breaking change where metrics and REST API endpoints now bind to the
+configured address rather than always to `0.0.0.0`.
---
-#### Full Log: https://github.com/MystenLabs/walrus/commits/mainnet-v1.35.1
----
+### Walrus v1.26.3
-### Walrus v1.35.0
+`Mainnet` | June 5, 2025 | [GitHub](https://github.com/MystenLabs/walrus/releases/tag/mainnet-v1.26.3)
-`Testnet` October 15, 2025 | [GitHub](https://github.com/MystenLabs/walrus/releases/tag/testnet-v1.35.0)
+Rate-limits concurrent blob recovery during node recovery and adds multi-URL Sui RPC configuration.
+Includes the breaking change where services bind to the configured address instead of always to
+`0.0.0.0`.
-
+#### Changes
-The Testnet preview with a major reduction in memory usage for large blobs and sliver-range
-information in `store-quilt` output, plus advance notice that the default consistency check changes
-in v1.37.
+- [feat: rate limit concurrent blob recovery during node recovery](https://github.com/MystenLabs/walrus/pull/2159)
+- [Use the metrics and REST API address from the configuration file instead of always binding to `0.0.0.0`. Note that this bugfix may break some setups that relied on the previous incorrect behavior. To get the old behavior, set the `metrics_address` and `rest_api_address` to `0.0.0.0:` explicitly.](https://github.com/MystenLabs/walrus/pull/1630)
+- [Increase default value of `http2_max_pending_accept_reset_streams` parameter to disable warnings from the `h2` crate.](https://github.com/MystenLabs/walrus/pull/2072)
+- [Reduce verbosity levels of problems with metrics and config sync from ERROR to WARN.](https://github.com/MystenLabs/walrus/pull/2067)
+- [Allow specifying Sui RPC URL in the configuration file in addition to the CLI option.](https://github.com/MystenLabs/walrus/pull/2066)
+- [Use the metrics address specified through the CLI options file instead of always binding to `0.0.0.0`. Note that this bugfix may break some setups that relied on the previous incorrect behavior. To get the old behavior, use `--metrics-address 0.0.0.0:` when starting the aggregator.](https://github.com/MystenLabs/walrus/pull/1630)
+- [Use the metrics address specified through the CLI options file instead of always binding to `0.0.0.0`. Note that this bugfix may break some setups that relied on the previous incorrect behavior. To get the old behavior, use `--metrics-address 0.0.0.0:` when starting the aggregator.](https://github.com/MystenLabs/walrus/pull/1630)
+- [Add a new `rpc_urls` field to the client config, which allows setting multiple Sui RPC URLs. The Sui RPC URL(s) used for reads are now selected in the following order: (1) CLI argument, (2) client configuration file, (3) wallet config. If none of these are set, the client will **no longer fall back to the `fullnode.testnet.sui.io`** but instead exit with an error.](https://github.com/MystenLabs/walrus/pull/2066)
+
+---
-
+### Walrus v1.26.2
-#### Aggregator
+`Testnet` | May 28, 2025 | [GitHub](https://github.com/MystenLabs/walrus/releases/tag/testnet-v1.26.2)
-[#2549](https://github.com/MystenLabs/walrus/pull/2549):
-Major reduction in memory usage for large blobs.
+The Testnet build introducing multi-URL Sui RPC configuration and the breaking change where metrics
+and REST API endpoints bind to the configured address rather than always to `0.0.0.0`.
-[#2592](https://github.com/MystenLabs/walrus/pull/2592):
-**Warning:** The default consistency check will change slightly in `v1.37`. The current strict consistency check can be enabled by the new query option `strict_consistency_check=true`. See the [encoding documentation](https://docs.wal.app/design/encoding.html#data-integrity-and-consistency) for the details of the different consistency checks.
+---
-#### CLI
+### Walrus v1.25.1
-[#2549](https://github.com/MystenLabs/walrus/pull/2549):
-Major reduction in memory usage when reading large blobs.
+`Mainnet` | May 22, 2025 | [GitHub](https://github.com/MystenLabs/walrus/releases/tag/mainnet-v1.25.1)
-[#2561](https://github.com/MystenLabs/walrus/pull/2561):
-Added range of slivers for store-quilt command in the output.
+A bug fix adding options to tune compaction write throttling and setting a high write-stalling
+threshold on the metadata table.
-[#2592](https://github.com/MystenLabs/walrus/pull/2592):
-**Warning:** The default consistency check will change slightly in `v1.37`. The current strict consistency check can be enabled by the new CLI option `--strict-consistency-check`. See the [encoding documentation](https://docs.wal.app/design/encoding.html#data-integrity-and-consistency) for the details of the different consistency checks.
+#### Changes
----
-#### Full Log: https://github.com/MystenLabs/walrus/commits/testnet-v1.35.0
+- [add options to update compaction write throttling, and set high write stalling threshold in metadata table](https://github.com/MystenLabs/walrus/pull/2121)
---
-### Walrus v1.34.2
+### Walrus v1.25.0
-`Mainnet` October 9, 2025 | [GitHub](https://github.com/MystenLabs/walrus/releases/tag/mainnet-v1.34.2)
+`Mainnet` | May 22, 2025 | [GitHub](https://github.com/MystenLabs/walrus/releases/tag/mainnet-v1.25.0)
-
+Speeds up batch blob operations by optimizing storage selection, with no change to the user
+workflow.
-Adds an aggregator `--max-blob-size` option to cap the size of requestable blobs. Note the warning
-that blobs are stored as deletable by default starting in v1.33; pass `permanent=true` to keep the
-old behavior.
-
-
-
-#### Aggregator
-
-[#2554](https://github.com/MystenLabs/walrus/pull/2554):
-Adds a `--max-blob-size` option to limit the size of blobs that can be requested through the aggregator.
-
-#### Publisher
-
-[#2444](https://github.com/MystenLabs/walrus/pull/2444):
-**Warning:** Starting with this release (`v1.33`), blobs are stored as deletable by default; if you want to keep the previous behavior, you need to add the `permanent=true` query parameter.
-
-#### CLI
-
-[#2444](https://github.com/MystenLabs/walrus/pull/2444):
-**Warning:** Starting with this release (`v1.33`), blobs are stored as deletable by default; if you want to keep the previous behavior, you need to add the `--permanent` option when storing blobs.
-
----
-#### Full Log: https://github.com/MystenLabs/walrus/commits/mainnet-v1.34.2
-
----
-
-### Walrus v1.34.1
-
-`Testnet` October 1, 2025 | [GitHub](https://github.com/MystenLabs/walrus/releases/tag/testnet-v1.34.1)
-
-
-
-The Testnet build adding the aggregator `--max-blob-size` option, with a reminder that blobs become
-deletable by default in v1.33 unless `permanent=true` is set.
-
-
-
-#### Aggregator
-
-[#2554](https://github.com/MystenLabs/walrus/pull/2554):
-Adds a `--max-blob-size` option to limit the size of blobs that can be requested through the aggregator.
-
-#### Publisher
-
-[#2444](https://github.com/MystenLabs/walrus/pull/2444):
-**Warning:** Starting with this release (`v1.33`), blobs are stored as deletable by default; if you want to keep the previous behavior, you need to add the `permanent=true` query parameter.
-
-#### CLI
-
-[#2444](https://github.com/MystenLabs/walrus/pull/2444):
-**Warning:** Starting with this release (`v1.33`), blobs are stored as deletable by default; if you want to keep the previous behavior, you need to add the `--permanent` option when storing blobs.
-
----
-#### Full Log: https://github.com/MystenLabs/walrus/commits/testnet-v1.34.1
-
----
-
-### Walrus v1.33.3
-
-`Mainnet` September 29, 2025 | [GitHub](https://github.com/MystenLabs/walrus/releases/tag/mainnet-v1.33.3)
-
-
-
-Adds the aggregator `--max-blob-size` option and marks the switch to deletable-by-default blobs;
-pass `permanent=true` (or `--permanent`) to retain permanent storage.
-
-
-
-#### Aggregator
-
-[#2554](https://github.com/MystenLabs/walrus/pull/2554):
-Adds a `--max-blob-size` option to limit the size of blobs that can be requested through the aggregator.
-
-#### Publisher && CLI
-[#2523](https://github.com/MystenLabs/walrus/pull/2523) & [#2444](https://github.com/MystenLabs/walrus/pull/2444):
-**Warning:** Starting with this release (`v1.33`), blobs are stored as deletable by default; if you want to keep the previous behavior, you need to add the `permanent=true` query parameter.
-
----
-#### Full Log: https://github.com/MystenLabs/walrus/commits/mainnet-v1.33.3
-
----
-
-### Walrus v1.33.2
-
-`Testnet` September 25, 2025 | [GitHub](https://github.com/MystenLabs/walrus/releases/tag/testnet-v1.33.2)
-
-
-
-Marks the Testnet switch to deletable-by-default blob storage; add `permanent=true` or the
-`--permanent` CLI option to keep blobs permanent.
-
-
-
-#### Publisher
-
-[#2523](https://github.com/MystenLabs/walrus/pull/2523): **Warning:** Starting with this release (`v1.33`), blobs are stored as deletable by default; if you want to keep the previous behavior, you need to add the `permanent=true` query parameter.
-
-#### CLI
-
-[#2523](https://github.com/MystenLabs/walrus/pull/2523): **Warning:** Starting with this release (`v1.33`), blobs are stored as deletable by default; if you want to keep the previous behavior, you need to add the `--permanent` option when storing blobs.
-
----
-#### Full Log: https://github.com/MystenLabs/walrus/commits/testnet-v1.33.2
-
----
-
-### Walrus v1.33.1
-
-`Testnet` September 17, 2025 | [GitHub](https://github.com/MystenLabs/walrus/releases/tag/testnet-v1.33.1)
-
-
-
-An earlier Testnet build introducing deletable-by-default blob storage, with `permanent=true` or
-`--permanent` available to preserve the previous behavior.
-
-
-
-#### Publisher
-
-[#2523](https://github.com/MystenLabs/walrus/pull/2523):
-**Warning:** Starting with this release (`v1.33`), blobs are stored as deletable by default; if you want to keep the previous behavior, you need to add the `permanent=true` query parameter.
-
-#### CLI
-
-[#2523](https://github.com/MystenLabs/walrus/pull/2523):
-**Warning:** Starting with this release (`v1.33`), blobs are stored as deletable by default; if you want to keep the previous behavior, you need to add the `--permanent` option when storing blobs.
-
----
-#### Full Log: https://github.com/MystenLabs/walrus/commits/testnet-v1.33.1
-
----
-
-### Walrus v1.32.0
-
-`Mainnet` September 15, 2025 | [GitHub](https://github.com/MystenLabs/walrus/releases/tag/mainnet-v1.32.0)
-
-
-
-Adds an aggregator endpoint, `/quilts//patches`, that lists all patches contained in a
-quilt.
-
-
-
-#### Aggregator
-
-[#2405](https://github.com/MystenLabs/walrus/pull/2405): Added new endpoint in aggregator: /quilts/\<quilt-id\>/patches to list all patches in a quilt.
-
-#### CLI
-
-[#2427](https://github.com/MystenLabs/walrus/pull/2427): *Note: This change is an internal code quality improvement and does not affect user-facing functionality. No release notes are required as the changes do not impact the external API or user experience.*
-
----
-#### Full Log: https://github.com/MystenLabs/walrus/commits/mainnet-v1.32.0
-
----
-
-### Walrus v1.31.1
-
-`Mainnet` August 28, 2025 | [GitHub](https://github.com/MystenLabs/walrus/releases/tag/mainnet-v1.31.1)
-
-
-
-An advance warning that blobs become deletable by default in v1.33; operators who want to keep
-permanent storage should begin adding the `permanent=true` query parameter now.
-
-
-
-#### Publisher & CLI
-
-[#2424](https://github.com/MystenLabs/walrus/pull/2424):
-**Warning:** In `v1.33`, blobs will be stored as deletable by default; if you want to keep the current behavior, you should already start to add the `permanent=true` query parameter.
-
----
-#### Full Log: https://github.com/MystenLabs/walrus/commits/mainnet-v1.31.1
-
----
-
-### Walrus v1.30.1
-
-`Mainnet` August 14, 2025 | [GitHub](https://github.com/MystenLabs/walrus/releases/tag/mainnet-v1.30.1)
-
-
-
-Storage nodes now restart on a TLS certificate update only when the certificate is near expiry or
-its subject or extensions have changed, and they emit warning and error logs for nearly expired
-certificates.
-
-
-
-#### Storage node
-
-[#2360](https://github.com/MystenLabs/walrus/pull/2360): When the TLS certificate is updated, only restart the node if the currently loaded certificate is about to expire or the subject or extensions have changed. Also, add warning and error logs for (almost) expired certificates.
-
----
-#### Full Log: https://github.com/MystenLabs/walrus/commits/mainnet-v1.30.1
-
----
-
-### Walrus v1.30.0
-
-`Testnet` August 6, 2025 | [GitHub](https://github.com/MystenLabs/walrus/releases/tag/testnet-v1.30.0)
-
-
-
-The Testnet preview of smarter TLS certificate handling, where a node restarts only on meaningful
-certificate changes and logs warnings for nearly expired certificates.
-
-
-
-#### Storage node
-
-[#2360](https://github.com/MystenLabs/walrus/pull/2360): When the TLS certificate is updated, only restart the node if the currently loaded certificate is about to expire or the subject or extensions have changed. Also, add warning and error logs for (almost) expired certificates.
-
----
-#### Full Log: https://github.com/MystenLabs/walrus/commits/testnet-v1.30.0
-
----
-
-### Walrus v1.29.2
-
-`Mainnet` July 31, 2025 | [GitHub](https://github.com/MystenLabs/walrus/releases/tag/mainnet-v1.29.2)
-
-
-
-Brings Quilt batch storage to Mainnet with new publisher, aggregator, and CLI support for storing
-and reading quilts, plus an `--upload-relay` option. Also fixes startup issues with deleted event
-databases and lets new nodes start beyond `MAX_EPOCHS_AHEAD`.
-
-
-
-#### Storage node
-
-[#2273](https://github.com/MystenLabs/walrus/pull/2273): Fixes an issue that can occur when a node starts with deleted `events` and `event_blob_writer` DBs.
-
-[#2193](https://github.com/MystenLabs/walrus/pull/2193): New storage nodes can start in epochs later than `MAX_EPOCHS_AHEAD` (53 on the current Testnet and Mainnet) without any additional action.
-
-[#2290](https://github.com/MystenLabs/walrus/pull/2290): Add a new configuration parameter for the event processor config to control the interval at which sampled logs are emitted, with a default of 1 hour (previously 30s).
-
-#### Aggregator
-
-[#2222](https://github.com/MystenLabs/walrus/pull/2222):
-- Added `/v1/blobs/by-quilt-patch-id/{quilt_patch_id}` endpoint to read a blob from a quilt by its `QuiltPatchId`
-- Added `/v1/blobs/by-quilt-id/{quilt_id}/{identifier}` endpoint to read a blob from a quilt by its `quilt_id and identifier`
-
-#### Publisher
-
-[#2281](https://github.com/MystenLabs/walrus/pull/2281): Add a `permanent` query parameter. **Warning:** In the future, blobs will be stored as deletable by default; to keep the current behavior, you need to add the `permanent=true` query parameter.
-
-[#2279](https://github.com/MystenLabs/walrus/pull/2279): Added "/v1/quilts" publisher endpoint to store quilts.
-
-#### CLI
-
-[#2197](https://github.com/MystenLabs/walrus/pull/2197):
-- Added walrus store-quilt command, to store multiple blobs as a single Quilt to Walrus
-- Added walrus read-quilt command to read one or more blobs in a Quilt from Walrus
-- Added walrus list-patches-in-quilt to check the blobs in a quilt
-
-[#2151](https://github.com/MystenLabs/walrus/pull/2151): use subsidies contract to proxy register blob call
-
-[#2281](https://github.com/MystenLabs/walrus/pull/2281): Add a `--permanent` option to the `store` and `store-quilt` commands. **Warning:** In the future, blobs will be stored as deletable by default; to keep the current behavior, you need to add the `--permanent` option when storing blobs.
-
-[#2384](https://github.com/MystenLabs/walrus/pull/2384): Add the `--upload-relay` option to the `store` and `store-quilt` commands to allow uploading to Walrus via an [Upload Relay](https://docs.wal.app/operator-guide/upload-relay.html).
-
----
-#### Full Log: https://github.com/MystenLabs/walrus/commits/mainnet-v1.29.2
-
----
-
-### Walrus v1.29.1
-
-`Testnet` July 23, 2025 | [GitHub](https://github.com/MystenLabs/walrus/releases/tag/testnet-v1.29.1)
-
-
-
-Introduces Quilt, a batch storage solution for storing and accessing many small files efficiently,
-with new `store-quilt`, `read-quilt`, and quilt read endpoints across the CLI, publisher, and
-aggregator. Also fixes deleted-event-database startup issues and relaxes the `MAX_EPOCHS_AHEAD`
-constraint for new nodes.
-
-
-
-📣📣📣
-As part of this release we are introducing Quilt - a batch storage solution with an intuitive API, designed to make storing and accessing large numbers of small files on Walrus both incredibly convenient, efficient, and cost-effective. For more details please see https://www.walrus.xyz/blog/introducing-quilt.
-
-#### Storage node
-
-[#2273](https://github.com/MystenLabs/walrus/pull/2273): Fixes an issue that can occur when a node starts with deleted `events` and `event_blob_writer` DBs.
-
-[#2193](https://github.com/MystenLabs/walrus/pull/2193): New storage nodes can start in epochs later than `MAX_EPOCHS_AHEAD` (53 on the current Testnet and Mainnet) without any additional action.
-
-[#2290](https://github.com/MystenLabs/walrus/pull/2290): Add a new configuration parameter for the event processor config to control the interval at which sampled logs are emitted with a default of 1 hour (previously 30s).
-
-#### Aggregator
-
-[#2222](https://github.com/MystenLabs/walrus/pull/2222):
-- Added `/v1/blobs/by-quilt-patch-id/{quilt_patch_id}` endpoint to read a blob from a quilt by its `QuiltPatchId`
-- Added `/v1/blobs/by-quilt-id/{quilt_id}/{identifier}` endpoint to read a blob from a quilt by its `quilt_id and identifier`
-
-#### Publisher
-
-[#2281](https://github.com/MystenLabs/walrus/pull/2281): Add a `permanent` query parameter. **Warning:** In the future, blobs will be stored as deletable by default; to keep the current behavior, you need to add the `permanent=true` query parameter.
-
-[#2279](https://github.com/MystenLabs/walrus/pull/2279): Added "/v1/quilts" publisher endpoint to store quilts.
-
-#### CLI
-
-[#2197](https://github.com/MystenLabs/walrus/pull/2197):
-- Added walrus store-quilt command, to store multiple blobs as a single Quilt to Walrus
-- Added walrus read-quilt command to read one or more blobs in a Quilt from Walrus
-- Added walrus list-patches-in-quilt to check the blobs in a quilt
-
-[#2151](https://github.com/MystenLabs/walrus/pull/2151): Use subsidies contract to proxy register blob call
-
-[#2281](https://github.com/MystenLabs/walrus/pull/2281): Add a `--permanent` option to the `store` and `store-quilt` commands. **Warning:** In the future, blobs will be stored as deletable by default; to keep the current behavior, you need to add the `--permanent` option when storing blobs.
-
----
-#### Full Log: https://github.com/MystenLabs/walrus/commits/testnet-v1.29.1
-
----
-
-### Walrus v1.28.4
-
-`Mainnet` July 15, 2025 | [GitHub](https://github.com/MystenLabs/walrus/releases/tag/mainnet-v1.28.4)
-
-
-
-Fixes an issue where a blob could be reported as non-existent immediately after certification,
-affecting both the aggregator and the CLI.
-
-
-
-#### Aggregator
-
-[#2205](https://github.com/MystenLabs/walrus/pull/2205):
-Fixes an issue where a blob was sometimes reported as non-existing immediately after certification.
-
-#### CLI
-
-[#2205](https://github.com/MystenLabs/walrus/pull/2205):
-Fixes an issue where a blob was sometimes reported as non-existing immediately after certification.
-
----
-#### Full Log: https://github.com/MystenLabs/walrus/commits/mainnet-v1.28.4
-
----
-
-### Walrus v1.28.3
-
-`Testnet` July 11, 2025 | [GitHub](https://github.com/MystenLabs/walrus/releases/tag/testnet-v1.28.3)
-
-#### Aggregator and CLI
-
-[#2205](https://github.com/MystenLabs/walrus/pull/2205): Fixes an issue where a blob was sometimes reported as non-existent immediately after certification.
-
----
-#### Full Log: https://github.com/MystenLabs/walrus/commits/testnet-v1.28.3
-
----
-
-### Walrus v1.28.2
-
-`Testnet` July 10, 2025 | [GitHub](https://github.com/MystenLabs/walrus/releases/tag/testnet-v1.28.2)
-
-#### Aggregator
-
-[#2205](https://github.com/MystenLabs/walrus/pull/2205):
-Fixes an issue where a blob was sometimes reported as non-existing immediately after certification.
-
----
-#### Full Log: https://github.com/MystenLabs/walrus/commits/testnet-v1.28.2
-
----
-
-### Walrus v1.28.1
-
-`Testnet` July 2, 2025 | [GitHub](https://github.com/MystenLabs/walrus/releases/tag/testnet-v1.28.1)
-
-
-
-Fixes a storage node startup problem with deleted `events` and `event_blob_writer` databases, along
-with the post-certification blob existence reporting fix.
-
-
-
-#### Storage node
-
-[#2274](https://github.com/MystenLabs/walrus/pull/2274):
-Fixes an issue that can occur when a node starts with deleted `events` and `event_blob_writer` DBs.
-
-[#2274](https://github.com/MystenLabs/walrus/pull/2274):
-Fixes an issue that can occur when a node starts with deleted `events` and `event_blob_writer` DBs.
-
-[#2274](https://github.com/MystenLabs/walrus/pull/2274):
-Fixes an issue that can occur when a node starts with deleted `events` and `event_blob_writer` DBs.
-
-[#2274](https://github.com/MystenLabs/walrus/pull/2274):
-Fixes an issue that can occur when a node starts with deleted `events` and `event_blob_writer` DBs.
-
-[#2274](https://github.com/MystenLabs/walrus/pull/2274):
-Fixes an issue that can occur when a node starts with deleted `events` and `event_blob_writer` DBs.
-
-#### Aggregator
-
-[#2205](https://github.com/MystenLabs/walrus/pull/2205):
-Fixes an issue where a blob was sometimes reported as non-existing immediately after certification.
-
-#### CLI
-
-[#2205](https://github.com/MystenLabs/walrus/pull/2205):
-Fixes an issue where a blob was sometimes reported as non-existing immediately after certification.
-
----
-#### Full Log: https://github.com/MystenLabs/walrus/commits/testnet-v1.28.1
-
----
-
-### Walrus v1.27.2
-
-`Mainnet` June 26, 2025 | [GitHub](https://github.com/MystenLabs/walrus/releases/tag/mainnet-v1.27.2)
-
-
-
-Adds a `CheckpointManager` and a node admin socket for direct operator interaction with a running
-node, and fixes a crash affecting recovering nodes after restart as well as a checkpoint-lag
-miscalculation.
-
-
-
-#### Storage node
-
-[#2020](https://github.com/MystenLabs/walrus/pull/2020):
-* Added a `CheckpointManager` component, which provides
- * Periodic checkpoint of the main database
- * Interface for manual checkpoint
-* Introduced a `node admin socket` so that operators can interact directly with a running node
- * Added Checkpoint commands in walrus-node command tool
-
-[#2179](https://github.com/MystenLabs/walrus/pull/2179):
-Fixes an issue where recovering nodes crash after being restarted.
-
-[#2188](https://github.com/MystenLabs/walrus/pull/2188):
-Fixes a bug in computing checkpoint lag that sometimes resulted in very high values.
-
-#### CLI
-
-[#2140](https://github.com/MystenLabs/walrus/pull/2140):
-Adds node-admin command to compute package digest
-
----
-#### Full Log: https://github.com/MystenLabs/walrus/commits/mainnet-v1.27.2
-
----
-
-### Walrus v1.27.1
-
-`Testnet` June 18, 2025 | [GitHub](https://github.com/MystenLabs/walrus/releases/tag/testnet-v1.27.1)
-
-
-
-The Testnet preview adding the `CheckpointManager` component and node admin socket, plus fixes for
-recovering-node restart crashes and inflated checkpoint-lag values.
-
-
-
-#### Storage node
-
-[#2020](https://github.com/MystenLabs/walrus/pull/2020):
-* Added a `CheckpointManager` component, which provides
- * Periodic checkpoint of the main database
- * Interface for manual checkpoint
-* Introduced a `node admin socket` so that operators can interact directly with a running node
- * Added Checkpoint commands in walrus-node command tool
-
-[#2179](https://github.com/MystenLabs/walrus/pull/2179):
-Fixes an issue where recovering nodes crash after being restarted.
-
-[#2188](https://github.com/MystenLabs/walrus/pull/2188):
-Fixes a bug in computing checkpoint lag that sometimes resulted in very high values.
-
-#### CLI
-
-[#2140](https://github.com/MystenLabs/walrus/pull/2140):
-Adds node-admin command to compute package digest
-
----
-#### Full Log: https://github.com/MystenLabs/walrus/commits/testnet-v1.27.1
-
----
-
-### Walrus v1.26.4
-
-`Mainnet` June 10, 2025 | [GitHub](https://github.com/MystenLabs/walrus/releases/tag/mainnet-v1.26.4)
-
-
-
-Adds multi-URL Sui RPC configuration via `rpc_urls` and removes the implicit fallback to the public
-Testnet full node. Note the breaking change where metrics and REST API endpoints now bind to the
-configured address rather than always to `0.0.0.0`.
-
-
-
-#### Storage node
-
-[#1630](https://github.com/MystenLabs/walrus/pull/1630):
-Use the metrics and REST API address from the configuration file instead of always binding to `0.0.0.0`. Note that this bugfix may break some setups that relied on the previous incorrect behavior. To get the old behavior, set the `metrics_address` and `rest_api_address` to `0.0.0.0:` explicitly.
-
-[#2072](https://github.com/MystenLabs/walrus/pull/2072):
-Increase default value of `http2_max_pending_accept_reset_streams` parameter to disable warnings from the `h2` crate.
-
-[#2067](https://github.com/MystenLabs/walrus/pull/2067):
-Reduce verbosity levels of problems with metrics and config sync from ERROR to WARN.
-
-[#2182](https://github.com/MystenLabs/walrus/pull/2182):
-Fixes an issue where recovering nodes crash after being restarted.
-
-#### Aggregator
-
-[#2066](https://github.com/MystenLabs/walrus/pull/2066):
-Allow specifying Sui RPC URL in the configuration file in addition to the CLI option.
-
-[#1630](https://github.com/MystenLabs/walrus/pull/1630):
-Use the metrics address specified through the CLI options file instead of always binding to `0.0.0.0`. Note that this bugfix may break some setups that relied on the previous incorrect behavior. To get the old behavior, use `--metrics-address 0.0.0.0:` when starting the aggregator.
-
-#### Publisher
-
-[#1630](https://github.com/MystenLabs/walrus/pull/1630):
-Use the metrics address specified through the CLI options file instead of always binding to `0.0.0.0`. Note that this bugfix may break some setups that relied on the previous incorrect behavior. To get the old behavior, use `--metrics-address 0.0.0.0:` when starting the aggregator.
-
-#### CLI
-
-[#2066](https://github.com/MystenLabs/walrus/pull/2066):
-Add a new `rpc_urls` field to the client config, which allows setting multiple Sui RPC URLs. The Sui RPC URL(s) used for reads are now selected in the following order: (1) CLI argument, (2) client configuration file, (3) wallet config. If none of these are set, the client will **no longer fall back to the `fullnode.testnet.sui.io`** but instead exit with an error.
-
----
-#### Full Log: https://github.com/MystenLabs/walrus/commits/mainnet-v1.26.4
-
----
-
-### Walrus v1.26.3
-
-`Mainnet` June 5, 2025 | [GitHub](https://github.com/MystenLabs/walrus/releases/tag/mainnet-v1.26.3)
-
-
-
-Rate-limits concurrent blob recovery during node recovery and adds multi-URL Sui RPC configuration.
-Includes the breaking change where services bind to the configured address instead of always to
-`0.0.0.0`.
-
-
-
-#### Storage node
-
-[#2159](https://github.com/MystenLabs/walrus/pull/2159): feat: rate limit concurrent blob recovery during node recovery
-
-[#1630](https://github.com/MystenLabs/walrus/pull/1630): Use the metrics and REST API address from the configuration file instead of always binding to `0.0.0.0`. Note that this bugfix may break some setups that relied on the previous incorrect behavior. To get the old behavior, set the `metrics_address` and `rest_api_address` to `0.0.0.0:` explicitly.
-
-[#2072](https://github.com/MystenLabs/walrus/pull/2072): Increase default value of `http2_max_pending_accept_reset_streams` parameter to disable warnings from the `h2` crate.
-
-[#2067](https://github.com/MystenLabs/walrus/pull/2067): Reduce verbosity levels of problems with metrics and config sync from ERROR to WARN.
-
-#### Aggregator
-
-[#2066](https://github.com/MystenLabs/walrus/pull/2066): Allow specifying Sui RPC URL in the configuration file in addition to the CLI option.
-
-[#1630](https://github.com/MystenLabs/walrus/pull/1630): Use the metrics address specified through the CLI options file instead of always binding to `0.0.0.0`. Note that this bugfix may break some setups that relied on the previous incorrect behavior. To get the old behavior, use `--metrics-address 0.0.0.0:` when starting the aggregator.
-
-#### Publisher
-
-[#1630](https://github.com/MystenLabs/walrus/pull/1630): Use the metrics address specified through the CLI options file instead of always binding to `0.0.0.0`. Note that this bugfix may break some setups that relied on the previous incorrect behavior. To get the old behavior, use `--metrics-address 0.0.0.0:` when starting the aggregator.
-
-#### CLI
+#### Changes
-[#2066](https://github.com/MystenLabs/walrus/pull/2066): Add a new `rpc_urls` field to the client config, which allows setting multiple Sui RPC URLs. The Sui RPC URL(s) used for reads are now selected in the following order: (1) CLI argument, (2) client configuration file, (3) wallet config. If none of these are set, the client will **no longer fall back to the `fullnode.testnet.sui.io`** but instead exit with an error.
-
----
-#### Full Log: https://github.com/MystenLabs/walrus/commits/mainnet-v1.26.3
-
----
-
-### Walrus v1.26.2
-
-`Testnet` May 28, 2025 | [GitHub](https://github.com/MystenLabs/walrus/releases/tag/testnet-v1.26.2)
-
-
-
-The Testnet build introducing multi-URL Sui RPC configuration and the breaking change where metrics
-and REST API endpoints bind to the configured address rather than always to `0.0.0.0`.
-
-
-
-#### Storage node
-
-[#1630](https://github.com/MystenLabs/walrus/pull/1630):
-Use the metrics and REST API address from the configuration file instead of always binding to `0.0.0.0`. Note that this bugfix may break some setups that relied on the previous incorrect behavior. To get the old behavior, set the `metrics_address` and `rest_api_address` to `0.0.0.0:` explicitly.
-
-[#2072](https://github.com/MystenLabs/walrus/pull/2072):
-Increase default value of `http2_max_pending_accept_reset_streams` parameter to disable warnings from the `h2` crate.
-
-[#2067](https://github.com/MystenLabs/walrus/pull/2067):
-Reduce verbosity levels of problems with metrics and config sync from ERROR to WARN.
-
-#### Aggregator
-
-[#2066](https://github.com/MystenLabs/walrus/pull/2066):
-Allow specifying Sui RPC URL in the configuration file in addition to the CLI option.
-
-[#1630](https://github.com/MystenLabs/walrus/pull/1630):
-Use the metrics address specified through the CLI options file instead of always binding to `0.0.0.0`. Note that this bugfix may break some setups that relied on the previous incorrect behavior. To get the old behavior, use `--metrics-address 0.0.0.0:` when starting the aggregator.
-
-#### Publisher
-
-[#1630](https://github.com/MystenLabs/walrus/pull/1630):
-Use the metrics address specified through the CLI options file instead of always binding to `0.0.0.0`. Note that this bugfix may break some setups that relied on the previous incorrect behavior. To get the old behavior, use `--metrics-address 0.0.0.0:` when starting the aggregator.
-
-#### CLI
-
-[#2066](https://github.com/MystenLabs/walrus/pull/2066):
-Add a new `rpc_urls` field to the client config, which allows setting multiple Sui RPC URLs. The Sui RPC URL(s) used for reads are now selected in the following order: (1) CLI argument, (2) client configuration file, (3) wallet config. If none of these are set, the client will **no longer fall back to the `fullnode.testnet.sui.io`** but instead exit with an error.
-
----
-#### Full Log: https://github.com/MystenLabs/walrus/commits/testnet-v1.26.2
-
----
-
-### Walrus v1.25.1
-
-`Mainnet` May 22, 2025 | [GitHub](https://github.com/MystenLabs/walrus/releases/tag/mainnet-v1.25.1)
-
-
-
-A bug fix adding options to tune compaction write throttling and setting a high write-stalling
-threshold on the metadata table.
-
-
-
-#### Bug Fix
-
-[#2121](https://github.com/MystenLabs/walrus/pull/2121): add options to update compaction write throttling, and set high write stalling threshold in metadata table
-
----
-#### Full Log: https://github.com/MystenLabs/walrus/commits/mainnet-v1.25.1
-
----
-
-### Walrus v1.25.0
-
-`Mainnet` May 22, 2025 | [GitHub](https://github.com/MystenLabs/walrus/releases/tag/mainnet-v1.25.0)
-
-
-
-Speeds up batch blob operations by optimizing storage selection, with no change to the user
-workflow.
-
-
-
-#### CLI
-
-[#2010](https://github.com/MystenLabs/walrus/pull/2010): Improved performance for batch blob operations by optimizing storage selection. Operations with multiple blobs are now significantly faster with no change to the user workflow.
-
----
-#### Full Log: https://github.com/MystenLabs/walrus/commits/mainnet-v1.25.0
+- [Improved performance for batch blob operations by optimizing storage selection. Operations with multiple blobs are now significantly faster with no change to the user workflow.](https://github.com/MystenLabs/walrus/pull/2010)
---
### Walrus v1.24.2
-`Mainnet` May 12, 2025 | [GitHub](https://github.com/MystenLabs/walrus/releases/tag/mainnet-v1.24.2)
-
-
+`Mainnet` | May 12, 2025 | [GitHub](https://github.com/MystenLabs/walrus/releases/tag/mainnet-v1.24.2)
Adds a publisher `force` store option and a CLI `completion` command, and substantially reduces SUI
gas costs when registering multiple blobs at once.
-
-
-#### Aggregator
-
-[#2005](https://github.com/MystenLabs/walrus/pull/2005): Improved documentation for shared blob retrieval.
+#### Changes
-#### Publisher
-
-[#2015](https://github.com/MystenLabs/walrus/pull/2015): Adds the possibility to `force` a store operation, like with the CLI.
-
-#### CLI
-
-[#2004](https://github.com/MystenLabs/walrus/pull/2004): Major reduction of SUI gas cost when registering multiple blobs simultaneously.
-
-[#2003](https://github.com/MystenLabs/walrus/pull/2003): Add new `completion` command to generate completion scripts for various shells.
-
----
-#### Full Log: https://github.com/MystenLabs/walrus/commits/mainnet-v1.24.2
+- [Improved documentation for shared blob retrieval.](https://github.com/MystenLabs/walrus/pull/2005)
+- [Adds the possibility to `force` a store operation, like with the CLI.](https://github.com/MystenLabs/walrus/pull/2015)
+- [Major reduction of SUI gas cost when registering multiple blobs simultaneously.](https://github.com/MystenLabs/walrus/pull/2004)
+- [Add new `completion` command to generate completion scripts for various shells.](https://github.com/MystenLabs/walrus/pull/2003)
---
### Walrus v1.24.1
-`Testnet` May 6, 2025 | [GitHub](https://github.com/MystenLabs/walrus/releases/tag/testnet-v1.24.1)
-
-
+`Testnet` | May 6, 2025 | [GitHub](https://github.com/MystenLabs/walrus/releases/tag/testnet-v1.24.1)
The Testnet preview adding a publisher `force` store option and CLI `completion` command, with a
major SUI gas reduction for registering multiple blobs simultaneously.
-
-
-#### Aggregator
+#### Changes
-[#2005](https://github.com/MystenLabs/walrus/pull/2005): Improved documentation for shared blob retrieval.
-
-#### Publisher
-
-[#2015](https://github.com/MystenLabs/walrus/pull/2015): Adds the possibility to `force` a store operation, like with the CLI.
-
-#### CLI
-
-[#2004](https://github.com/MystenLabs/walrus/pull/2004): Major reduction of SUI gas cost when registering multiple blobs simultaneously.
-
-[#2003](https://github.com/MystenLabs/walrus/pull/2003): Add new `completion` command to generate completion scripts for various shells.
-
----
-#### Full Log: https://github.com/MystenLabs/walrus/commits/testnet-v1.24.1
+- [Improved documentation for shared blob retrieval.](https://github.com/MystenLabs/walrus/pull/2005)
+- [Adds the possibility to `force` a store operation, like with the CLI.](https://github.com/MystenLabs/walrus/pull/2015)
+- [Major reduction of SUI gas cost when registering multiple blobs simultaneously.](https://github.com/MystenLabs/walrus/pull/2004)
+- [Add new `completion` command to generate completion scripts for various shells.](https://github.com/MystenLabs/walrus/pull/2003)
---
### Walrus v1.22.1
-`Mainnet` April 25, 2025 | [GitHub](https://github.com/MystenLabs/walrus/releases/tag/mainnet-v1.22.1)
-
-
+`Mainnet` | April 25, 2025 | [GitHub](https://github.com/MystenLabs/walrus/releases/tag/mainnet-v1.22.1)
Reduces SUI gas costs for simultaneous blob registration, surfaces storage node checkpoint progress
in the `health` command, and fixes default-location Sui wallet creation. Operators must remove the
`experimental_batch_symbol_recovery` config field.
-
+#### Changes
-#### Storage node
-
-[#1976](https://github.com/MystenLabs/walrus/pull/1976): Remove the `experimental_batch_symbol_recovery` config variable; operators must ensure that the field is not present in their configs.
-
-#### CLI
-
-[#1973](https://github.com/MystenLabs/walrus/pull/1973): Fetch the checkpoint progress info for storage nodes, in the health command.
-
-[#1943](https://github.com/MystenLabs/walrus/pull/1943): Fix a bug that prevented the creation of a Sui wallet at the default location through `walrus generate-sui-wallet`.
-
-[#2008](https://github.com/MystenLabs/walrus/pull/2008): Major reduction of SUI gas cost when registering multiple blobs simultaneously.
-
----
-#### Full Log: https://github.com/MystenLabs/walrus/commits/mainnet-v1.22.1
+- [Remove the `experimental_batch_symbol_recovery` config variable; operators must ensure that the field is not present in their configs.](https://github.com/MystenLabs/walrus/pull/1976)
+- [Fetch the checkpoint progress info for storage nodes, in the health command.](https://github.com/MystenLabs/walrus/pull/1973)
+- [Fix a bug that prevented the creation of a Sui wallet at the default location through `walrus generate-sui-wallet`.](https://github.com/MystenLabs/walrus/pull/1943)
+- [Major reduction of SUI gas cost when registering multiple blobs simultaneously.](https://github.com/MystenLabs/walrus/pull/2008)
---
### Walrus v1.21.2
-`Mainnet` April 17, 2025 | [GitHub](https://github.com/MystenLabs/walrus/releases/tag/mainnet-v1.21.2)
-
-#### Storage node
+`Mainnet` | April 17, 2025 | [GitHub](https://github.com/MystenLabs/walrus/releases/tag/mainnet-v1.21.2)
-[#1934](https://github.com/MystenLabs/walrus/pull/1934): Optimized default parameters for shard transfer and recovery.
+#### Changes
----
-#### Full Log: https://github.com/MystenLabs/walrus/commits/mainnet-v1.21.2
+- [Optimized default parameters for shard transfer and recovery.](https://github.com/MystenLabs/walrus/pull/1934)
---
### Walrus v1.21.1
-`Testnet` April 15, 2025 | [GitHub](https://github.com/MystenLabs/walrus/releases/tag/testnet-v1.21.1)
-
-#### Storage node
+`Testnet` | April 15, 2025 | [GitHub](https://github.com/MystenLabs/walrus/releases/tag/testnet-v1.21.1)
-[#1934](https://github.com/MystenLabs/walrus/pull/1934): Optimized default parameters for shard transfer and recovery.
+#### Changes
----
-#### Full Log: https://github.com/MystenLabs/walrus/commits/testnet-v1.21.1
+- [Optimized default parameters for shard transfer and recovery.](https://github.com/MystenLabs/walrus/pull/1934)
---
### Walrus v1.20.2
-`Mainnet` April 10, 2025 | [GitHub](https://github.com/MystenLabs/walrus/releases/tag/mainnet-v1.20.2)
-
-
+`Mainnet` | April 10, 2025 | [GitHub](https://github.com/MystenLabs/walrus/releases/tag/mainnet-v1.20.2)
Adds the latest checkpoint sequence number and an estimated checkpoint lag to the CLI `health`
output.
-
+#### Changes
-#### CLI
-
-[#1805](https://github.com/MystenLabs/walrus/pull/1805): Added `Latest checkpoint sequence number` and `Estimated checkpoint lag` in health output.
-
----
-#### Full Log: https://github.com/MystenLabs/walrus/commits/mainnet-v1.20.2
+- [Added `Latest checkpoint sequence number` and `Estimated checkpoint lag` in health output.](https://github.com/MystenLabs/walrus/pull/1805)
---
### Walrus v1.18.2
-`Mainnet` March 25, 2025 | [GitHub](https://github.com/MystenLabs/walrus/releases/tag/mainnet-v1.18.2)
-
-
+`Mainnet` | March 25, 2025 | [GitHub](https://github.com/MystenLabs/walrus/releases/tag/mainnet-v1.18.2)
Adds TLS certificate monitoring with automatic reboot, new `--network-key-path` and
`--certificate-path` setup options, and a configurable checkpoint request timeout. The publisher's
JWT token now includes a `size` field.
-
+#### Changes
-#### Storage node
-
-[#1703](https://github.com/MystenLabs/walrus/pull/1703): Storage node monitors TLS certificate and reboots storage node upon changes.
-
-[#1715](https://github.com/MystenLabs/walrus/pull/1715): Added optional `--network-key-path` and `--certificate-path` options to the `setup` command, removed `--use-legacy-event-provider` and `--disable-event-blob-writer`. Adjusted defaults for storage prices and commission rates.
-
-[#1793](https://github.com/MystenLabs/walrus/pull/1793): Adds a configurable timeout to checkpoint requests.
-
-#### Publisher
-
-[#1613](https://github.com/MystenLabs/walrus/pull/1613): Add `size` field of JWTToken
-
----
-#### Full Log: https://github.com/MystenLabs/walrus/commits/mainnet-v1.18.2
+- [Storage node monitors TLS certificate and reboots storage node upon changes.](https://github.com/MystenLabs/walrus/pull/1703)
+- [Added optional `--network-key-path` and `--certificate-path` options to the `setup` command, removed `--use-legacy-event-provider` and `--disable-event-blob-writer`. Adjusted defaults for storage prices and commission rates.](https://github.com/MystenLabs/walrus/pull/1715)
+- [Adds a configurable timeout to checkpoint requests.](https://github.com/MystenLabs/walrus/pull/1793)
+- [Add `size` field of JWTToken](https://github.com/MystenLabs/walrus/pull/1613)
---
### Walrus v1.18.1
-`Testnet` March 20, 2025 | [GitHub](https://github.com/MystenLabs/walrus/releases/tag/testnet-v1.18.1)
-
-
+`Testnet` | March 20, 2025 | [GitHub](https://github.com/MystenLabs/walrus/releases/tag/testnet-v1.18.1)
The Testnet preview of TLS certificate monitoring with automatic reboot and the new key and
certificate setup options, plus the publisher JWT token `size` field.
-
+#### Changes
-#### Storage node
-
-[#1703](https://github.com/MystenLabs/walrus/pull/1703): Storage node monitors TLS certificate and reboots storage node upon changes.
-
-[#1715](https://github.com/MystenLabs/walrus/pull/1715): Added optional `--network-key-path` and `--certificate-path` options to the `setup` command, removed `--use-legacy-event-provider` and `--disable-event-blob-writer`. Adjusted defaults for storage prices and commission rate.
-
-#### Publisher
-
-[#1613](https://github.com/MystenLabs/walrus/pull/1613): Add `size` field of JWTToken
-
----
-#### Full Log: https://github.com/MystenLabs/walrus/commits/testnet-v1.18.1
+- [Storage node monitors TLS certificate and reboots storage node upon changes.](https://github.com/MystenLabs/walrus/pull/1703)
+- [Added optional `--network-key-path` and `--certificate-path` options to the `setup` command, removed `--use-legacy-event-provider` and `--disable-event-blob-writer`. Adjusted defaults for storage prices and commission rate.](https://github.com/MystenLabs/walrus/pull/1715)
+- [Add `size` field of JWTToken](https://github.com/MystenLabs/walrus/pull/1613)
---
### Walrus v1.17.2
-`Testnet` March 14, 2025 | [GitHub](https://github.com/MystenLabs/walrus/releases/tag/testnet-v1.17.2)
-
-
+`Testnet` | March 14, 2025 | [GitHub](https://github.com/MystenLabs/walrus/releases/tag/testnet-v1.17.2)
Adds `--network-key-path` and `--certificate-path` options to the `setup` command, removes legacy
event-provider flags, and adjusts default storage prices and commission rates.
-
-
-#### Storage node
-
-[#1717](https://github.com/MystenLabs/walrus/pull/1717):
-Added optional `--network-key-path` and `--certificate-path` options to the `setup` command, removed `--use-legacy-event-provider` and `--disable-event-blob-writer`. Adjusted defaults for storage prices and commission rate.
-
----
-#### Full Log: https://github.com/MystenLabs/walrus/commits/testnet-v1.17.2
-
---
### Walrus v1.17.1
-`Testnet` March 12, 2025 | [GitHub](https://github.com/MystenLabs/walrus/releases/tag/testnet-v1.17.1)
+`Testnet` | March 12, 2025 | [GitHub](https://github.com/MystenLabs/walrus/releases/tag/testnet-v1.17.1)
-#### CLI
+#### Changes
-[#1685](https://github.com/MystenLabs/walrus/pull/1685): Fixes a bug where an explicitly set wallet path through the `--wallet` CLI option was ignored.
-
----
-#### Full Log: https://github.com/MystenLabs/walrus/commits/testnet-v1.17.1
+- [Fixes a bug where an explicitly set wallet path through the `--wallet` CLI option was ignored.](https://github.com/MystenLabs/walrus/pull/1685)
---
### Walrus v1.16.1
-`Testnet` March 5, 2025 | [GitHub](https://github.com/MystenLabs/walrus/releases/tag/testnet-v1.16.1)
-
-
+`Testnet` | March 5, 2025 | [GitHub](https://github.com/MystenLabs/walrus/releases/tag/testnet-v1.16.1)
Lets the CLI `delete` command accept multiple files, blob IDs, or object IDs (a breaking change to
the delete JSON API) and adds multi-context configuration with a `--context` override. The publisher
now keeps created `Blob` objects by default, replacing `--keep` with `--burn-after-store`.
-
-
-#### Storage node
-
-[#1592](https://github.com/MystenLabs/walrus/pull/1592):
-Enabling updating storage node metadata via local storage node config file.
-
-[#1640](https://github.com/MystenLabs/walrus/pull/1640):
-Fixes a bug in the blob info tracking, where the initial certified epoch was not updated correctly.
-
-#### Publisher
-
-[#1628](https://github.com/MystenLabs/walrus/pull/1628):
-Changes the default post-store behavior of the publisher to keeping the created `Blob` objects in the main publisher wallet, instead of burning them immediately. Replaces the `--keep` flag with a `--burn-after-store` flag.
-
-#### CLI
-
-[#1644](https://github.com/MystenLabs/walrus/pull/1644):
-Allow passing multiple files/blob IDs/object IDs to the walrus delete command.
- There is a breaking change for the `delete` json API,
-
-The current syntax is:
-```
-{
- "command": {
- "delete": {
- "file": [...],
- "blobId": [...],
- "objectId": [...],
- "yes": true,
- "noStatusCheck": false,
- }
- }
-}
-```
-
-While one previous example could be:
-```
-{
- "command": {
- "delete": {
- "file": "/path/to/file.txt",
- "blobId": "VWr-EVsFCJCl1mdPM8cBZ_c4LkRcpUbmRxjGpiEPQ3w",
- "yes": true,
- "noStatusCheck": false
- }
- }
-}
-```
-
-[#1532](https://github.com/MystenLabs/walrus/pull/1532):
-support has been introduced for multiple contexts, and a default_context for walrus client invocations. Context can be overridden with the new --context <context> argument.
-
-Here is an example (with some fake addresses) multi-context config file.
-
-```
----
-contexts:
- testnet:
- system_object: 0x98ebc47370603fe81d9e15491b2f1443d619d1dab720d586e429ed233e1255c1
- staking_object: 0x20266a17b4f1a216727f3eef5772f8d486a9e3b5e319af80a5b75809c035561d
- exchange_objects:
- - 0x59ab926eb0d94d0d6d6139f11094ea7861914ad2ecffc7411529c60019133997
- - 0x89127f53890840ab6c52fca96b4a5cf853d7de52318d236807ad733f976eef7b
- - 0x9f9b4f113862e8b1a3591d7955fadd7c52ecc07cf24be9e3492ce56eb8087805
- - 0xb60118f86ecb38ec79e74586f1bb184939640911ee1d63a84138d080632ee28a
- wallet_config:
- path: ~/.sui/sui_config/client.yaml
- active_env: testnet
- devnet:
- system_object: 0xaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
- staking_object: 0xbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb
- exchange_objects:
- - 0xcccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc
- - 0xdddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddd
- - 0xeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee
- - 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
- wallet_config:
- path: ~/.sui/sui_config/client.yaml
- active_env: devnet
-
-default_context: testnet
-
-```
-
----
-#### Full Log: https://github.com/MystenLabs/walrus/commits/testnet-v1.16.1
-
---
### Walrus v1.15.4
-`Testnet` February 28, 2025 | [GitHub](https://github.com/MystenLabs/walrus/releases/tag/testnet-v1.15.4)
-
-
+`Testnet` | February 28, 2025 | [GitHub](https://github.com/MystenLabs/walrus/releases/tag/testnet-v1.15.4)
Fixes an issue where keys were not loaded into memory when on-chain config parameters were updated,
and makes the publisher use the correct default encoding type.
-
-
-#### Storage node
-
-[#1655](https://github.com/MystenLabs/walrus/pull/1655):
-Fix an issue where keys were not properly loaded into memory when updating on-chain config parameters.
-
-#### Publisher
-
-[#1655](https://github.com/MystenLabs/walrus/pull/1655):
-Use the correct encoding type by default.
-
----
-#### Full Log: https://github.com/MystenLabs/walrus/commits/testnet-v1.15.4
-
---
### Walrus v1.15.3
-`Testnet` February 27, 2025 | [GitHub](https://github.com/MystenLabs/walrus/releases/tag/testnet-v1.15.3)
-
-
+`Testnet` | February 27, 2025 | [GitHub](https://github.com/MystenLabs/walrus/releases/tag/testnet-v1.15.3)
Adds support for multiple encoding types across the storage node, publisher, and CLI, and lets the
aggregator return allow-listed blob attributes as response headers. Storage nodes can now
auto-reload configuration changes from disk, and the CLI gains `--sort-by` and `--desc` options for
`health` and `info`.
-
-
-#### Storage node
-
-[#1548](https://github.com/MystenLabs/walrus/pull/1548): Automatically reload the StorageNodeConfig from disk and update the on-chain configuration when changes are detected. Some changes may result in an automatic restart of the storage nodes.
-
-[#1608](https://github.com/MystenLabs/walrus/pull/1608): Storage node now supports multiple encoding types. Depending on features selected at compile time, it accepts a subset of them.
-
-#### Aggregator
-
-[#1591](https://github.com/MystenLabs/walrus/pull/1591): Exposed the aggregator endpoint to allow fetching blobs with associated attributes; if the attribute fields are in the allow-list, they will be included in the response headers.
- The current allow-list is:
- * "content-disposition"
- * "content-encoding"
- * "content-language"
- * "content-location"
- * "content-type"
- * "link"
-
-#### Publisher
-
-[#1608](https://github.com/MystenLabs/walrus/pull/1608): Added `encoding_type` query parameter. Added additional variants for the encoding type.
+#### Changes
-#### CLI
-
-[#1591](https://github.com/MystenLabs/walrus/pull/1591): Added the allowed-headers option for daemon commands, allowing operators to specify custom allowed headers to filter key-value pairs from the blob attribute.
-
-[#1594](https://github.com/MystenLabs/walrus/pull/1594): Added `--sort-by` and `--desc` options for `walrus health` and `walrus info` commands, to sort the storage nodes by node-id, node-name, node-status, or node-url.
-
-[#1606](https://github.com/MystenLabs/walrus/pull/1606): Fix `walrus store` behavior when blobs can be extended.
-
-[#1608](https://github.com/MystenLabs/walrus/pull/1608): The CLI supports multiple encoding types for reads and writes. Depending on features selected at compile time, it uses a different default type and accepts a subset of them for writes.
-
----
-#### Full Log: https://github.com/MystenLabs/walrus/commits/testnet-v1.16.0
+- [Automatically reload the StorageNodeConfig from disk and update the on-chain configuration when changes are detected. Some changes may result in an automatic restart of the storage nodes.](https://github.com/MystenLabs/walrus/pull/1548)
+- [Storage node now supports multiple encoding types. Depending on features selected at compile time, it accepts a subset of them.](https://github.com/MystenLabs/walrus/pull/1608)
+- [Exposed the aggregator endpoint to allow fetching blobs with associated attributes; if the attribute fields are in the allow-list, they will be included in the response headers.](https://github.com/MystenLabs/walrus/pull/1591)
+- [Added `encoding_type` query parameter. Added additional variants for the encoding type.](https://github.com/MystenLabs/walrus/pull/1608)
+- [Added the allowed-headers option for daemon commands, allowing operators to specify custom allowed headers to filter key-value pairs from the blob attribute.](https://github.com/MystenLabs/walrus/pull/1591)
+- [Added `--sort-by` and `--desc` options for `walrus health` and `walrus info` commands, to sort the storage nodes by node-id, node-name, node-status, or node-url.](https://github.com/MystenLabs/walrus/pull/1594)
+- [Fix `walrus store` behavior when blobs can be extended.](https://github.com/MystenLabs/walrus/pull/1606)
+- [The CLI supports multiple encoding types for reads and writes. Depending on features selected at compile time, it uses a different default type and accepts a subset of them for writes.](https://github.com/MystenLabs/walrus/pull/1608)
---
### Walrus v1.14.0
-`Testnet` February 19, 2025 | [GitHub](https://github.com/MystenLabs/walrus/releases/tag/testnet-v1.14.0)
-
-
+`Testnet` | February 19, 2025 | [GitHub](https://github.com/MystenLabs/walrus/releases/tag/testnet-v1.14.0)
Enables batch symbol recovery by default and adds CLI commands to set, get, and remove blob
attributes. The `walrus store` command now extends the lifetime of matching owned blobs instead of
re-registering them.
-
-
-#### Storage node
+#### Changes
-[#1568](https://github.com/MystenLabs/walrus/pull/1568): The new batch symbol recovery is enabled by default.
-
-#### CLI
-
-[#1546](https://github.com/MystenLabs/walrus/pull/1546): Added the following new commands for blob attribute:
-- `walrus set-blob-attribute `
-- `walrus get-blob-attribute [OPTIONS] `
-- `walrus remove-blob-attribute-fields [OPTIONS] `
-- `walrus remove-blob-attribute [OPTIONS] `
-
-[#1535](https://github.com/MystenLabs/walrus/pull/1535): The walrus store command now checks for matching owned Blob objects and extends their lifetime if necessary instead of registering the blob again.
-
----
-#### Full Log: https://github.com/MystenLabs/walrus/commits/testnet-v1.14.0
+- [The new batch symbol recovery is enabled by default.](https://github.com/MystenLabs/walrus/pull/1568)
+- [Added the following new commands for blob attribute:](https://github.com/MystenLabs/walrus/pull/1546)
+- [The walrus store command now checks for matching owned Blob objects and extends their lifetime if necessary instead of registering the blob again.](https://github.com/MystenLabs/walrus/pull/1535)
---
### Walrus v1.13.2
-`Testnet` February 13, 2025 | [GitHub](https://github.com/MystenLabs/walrus/releases/tag/testnet-v1.13.2)
-
-
+`Testnet` | February 13, 2025 | [GitHub](https://github.com/MystenLabs/walrus/releases/tag/testnet-v1.13.2)
Fixes the blob-certified metric so it updates only for event blobs and makes the publisher retry
when a refresh fails.
-
-
-[#1576](https://github.com/MystenLabs/walrus/pull/1576): fix: Update blob certified metric only if it is event blob
-
-[#1575](https://github.com/MystenLabs/walrus/pull/1575): fix(publisher): retry if refresh fails
+#### Changes
----
-#### Full Log: https://github.com/MystenLabs/walrus/commits/testnet-v1.13.2
+- [fix: Update blob certified metric only if it is event blob](https://github.com/MystenLabs/walrus/pull/1576)
+- [fix(publisher): retry if refresh fails](https://github.com/MystenLabs/walrus/pull/1575)
---
### Walrus v1.13.1
-`Testnet` February 12, 2025 | [GitHub](https://github.com/MystenLabs/walrus/releases/tag/testnet-v1.13.1)
-
-
+`Testnet` | February 12, 2025 | [GitHub](https://github.com/MystenLabs/walrus/releases/tag/testnet-v1.13.1)
Reworks TLS configuration by removing the `tls.pem_files` block in favor of `tls.certificate_path`
and `network_key_pair.path`, and enables automatic rotation of the protocol key pair. Adds a CLI
`--ignore-resources` flag.
-
-
-#### Storage node
-
-[#1509](https://github.com/MystenLabs/walrus/pull/1509):
-The config block `tls.pem_files` has been removed. Provide a TLS certificate path by the `tls.certificate_path` config argument, and the PKCS#8 PEM-encoded TLS private using `network_key_pair.path`.
-
-[#1461](https://github.com/MystenLabs/walrus/pull/1461):
-Storage nodes automatically update and rotate the protocol key pair. This only requires setting the `next_protocol_key_pair` in the config file.
-
-#### CLI
-
-[#1551](https://github.com/MystenLabs/walrus/pull/1551):
-introduces the `--ignore-resources` flag.
-
----
-#### Full Log: https://github.com/MystenLabs/walrus/commits/testnet-v1.13.1
-
---
### Walrus v1.12.0
-`Testnet` February 5, 2025 | [GitHub](https://github.com/MystenLabs/walrus/releases/tag/testnet-v1.12.0)
-
-
+`Testnet` | February 5, 2025 | [GitHub](https://github.com/MystenLabs/walrus/releases/tag/testnet-v1.12.0)
Lets the `walrus health` command accept a list of node IDs or URLs; this is a breaking change for
JSON mode, where `nodeId` and `nodeUrl` become `nodeIds` and `nodeUrls`.
-
-
-#### CLI
-
-[#1486](https://github.com/MystenLabs/walrus/pull/1486):
-Adds the ability to provide a list of node IDs or URLs for the `walrus health` command. This is a breaking change for the JSON mode because `nodeId` and `nodeUrl` are changed to `nodeIds` and `nodeUrls`, respectively. The "normal" CLI is backwards-compatible because `--node-id` and `--node-url` are set as aliases for the new options.
-
----
-#### Full Log: https://github.com/MystenLabs/walrus/commits/testnet-v1.12.0
-
---
### Walrus v1.11.0
-`Testnet` January 29, 2025 | [GitHub](https://github.com/MystenLabs/walrus/releases/tag/testnet-v1.11.0)
-
-
+`Testnet` | January 29, 2025 | [GitHub](https://github.com/MystenLabs/walrus/releases/tag/testnet-v1.11.0)
Adds a CLI `health` command and the ability to extend owned blobs with WAL, and lets storage node
operators change several config parameters by editing the local file and restarting. Deprecates the
recovery symbol endpoint in favor of a new one.
-
-
-#### Storage node
-
-[#1455](https://github.com/MystenLabs/walrus/pull/1455):
--- Added the feature to change storage node config parameter as following, by changing the local config file and restart node.
-
-[#1463](https://github.com/MystenLabs/walrus/pull/1463):
-Allow setting the metrics push configuration directly in the `walrus-node` setup command.
-
-[#1476](https://github.com/MystenLabs/walrus/pull/1476):
-Correctly set `walrus_current_node_status` metric during startup.
-
-[#1456](https://github.com/MystenLabs/walrus/pull/1456):
-Deprecate the recovery symbol endpoint in favour of a new endpoint. Integrations using recovery symbols should migrate to the new endpoint.
-
-#### CLI
-
-[#1406](https://github.com/MystenLabs/walrus/pull/1406):
-Add option to extend owned blobs with WAL
-
-[#1398](https://github.com/MystenLabs/walrus/pull/1398):
-adds the `health` command to the CLI.
-
-[#1428](https://github.com/MystenLabs/walrus/pull/1428):
-Add `--earliest-expiry-time` to `store` command so a unix timestamp in ms can be specified. Show human readable time in GMT for estimated expiry time in `blob-status` command.
-
-[#1474](https://github.com/MystenLabs/walrus/pull/1474):
-Allow specifying 'global' options like `--json` anywhere in the command, for example `walrus info --json`.
-
----
-#### Full Log: https://github.com/MystenLabs/walrus/commits/testnet-v1.11.0
-
---
### Walrus v1.10.0
-`Testnet` January 23, 2025 | [GitHub](https://github.com/MystenLabs/walrus/releases/tag/testnet-v1.10.0)
-
-
+`Testnet` | January 23, 2025 | [GitHub](https://github.com/MystenLabs/walrus/releases/tag/testnet-v1.10.0)
Makes storage node error responses machine-readable, adds error statuses and richer OpenAPI schemas
to the aggregator and publisher, and introduces an optional JWT auth layer for the publisher. Also
adds a `walrus-backup` entrypoint and several CLI fixes and options, including staking with multiple
nodes.
-
-
-#### Storage node
-
-[#1407](https://github.com/MystenLabs/walrus/pull/1407): Update error responses returned by storage nodes to be machine-readable and contain more details
-
-#### Aggregator
-
-[#1407](https://github.com/MystenLabs/walrus/pull/1407): Add error statuses to the responses of failed requests; update endpoint URLs; and add more detailed OpenAPI schemas.
-
-#### Publisher
-
-[#1407](https://github.com/MystenLabs/walrus/pull/1407): Add error statuses to the responses of failed requests; update endpoint URLs; and add more detailed OpenAPI schemas.
-
-[#1345](https://github.com/MystenLabs/walrus/pull/1345): Add optional JWT auth layer for the publisher
-
-#### CLI
-
-[#1402](https://github.com/MystenLabs/walrus/pull/1402): This fixes the cost computation for the `store --dry-run` command.
-
-[#1404](https://github.com/MystenLabs/walrus/pull/1404): Allows staking with multiple nodes simultaneously.
-
-[#1421](https://github.com/MystenLabs/walrus/pull/1421): Fix serialization of JSON output for the `walrus store` command.
-
-[#1425](https://github.com/MystenLabs/walrus/pull/1425): Adds the option to specify `max` as the number of epochs.
-
-[#1388](https://github.com/MystenLabs/walrus/pull/1388): changes to the syntax and output of the `info` command
-
-#### Backup node
-
-[#1397](https://github.com/MystenLabs/walrus/pull/1397): an entrypoint called walrus-backup will now be included in the build process. It has minimal (tailing Walrus-related Sui events) functionality at this point.
-
----
-#### Full Log: https://github.com/MystenLabs/walrus/commits/testnet-v1.10.0
+#### Changes
+
+- [Update error responses returned by storage nodes to be machine-readable and contain more details](https://github.com/MystenLabs/walrus/pull/1407)
+- [Add error statuses to the responses of failed requests; update endpoint URLs; and add more detailed OpenAPI schemas.](https://github.com/MystenLabs/walrus/pull/1407)
+- [Add error statuses to the responses of failed requests; update endpoint URLs; and add more detailed OpenAPI schemas.](https://github.com/MystenLabs/walrus/pull/1407)
+- [Add optional JWT auth layer for the publisher](https://github.com/MystenLabs/walrus/pull/1345)
+- [This fixes the cost computation for the `store --dry-run` command.](https://github.com/MystenLabs/walrus/pull/1402)
+- [Allows staking with multiple nodes simultaneously.](https://github.com/MystenLabs/walrus/pull/1404)
+- [Fix serialization of JSON output for the `walrus store` command.](https://github.com/MystenLabs/walrus/pull/1421)
+- [Adds the option to specify `max` as the number of epochs.](https://github.com/MystenLabs/walrus/pull/1425)
+- [changes to the syntax and output of the `info` command](https://github.com/MystenLabs/walrus/pull/1388)
+- [an entrypoint called walrus-backup will now be included in the build process. It has minimal (tailing Walrus-related Sui events) functionality at this point.](https://github.com/MystenLabs/walrus/pull/1397)
---
diff --git a/docs/content/release-notes/walrus-sites.mdx b/docs/content/release-notes/walrus-sites.mdx
new file mode 100644
index 0000000000..f799c069ea
--- /dev/null
+++ b/docs/content/release-notes/walrus-sites.mdx
@@ -0,0 +1,420 @@
+---
+title: Walrus Sites release notes
+description: Release notes for Walrus Sites.
+displayed_sidebar: null
+hide_table_of_contents: true
+questions:
+ - What changed in the latest Walrus Sites release?
+ - Where can I find Walrus Sites release history?
+answer: Release notes for Walrus Sites.
+---
+
+### Walrus Sites v2.12.0
+
+July 10, 2026 | [GitHub](https://github.com/MystenLabs/walrus-sites/releases/tag/mainnet-v2.12.0)
+
+The portal gains a glob-based route/redirect matcher behind a flag (first step of the routing migration), and the site-builder migrates off JSON-RPC-only client methods ahead of the JSON-RPC deprecation.
+
+#### Changes
+
+- [portal: Glob route/redirect matcher behind a flag, with a pattern cap](https://github.com/MystenLabs/walrus-sites/pull/720)
+- [site-builder: Migrate off JSON-RPC-only client methods and bump walrus deps to testnet-v1.51.2](https://github.com/MystenLabs/walrus-sites/pull/725)
+- [Read the release tag from the event payload](https://github.com/MystenLabs/walrus-sites/pull/724)
+- [Bump version to 2.11.1 (#726), then 2.12.0](https://github.com/MystenLabs/walrus-sites/pull/727)
+
+---
+
+### Walrus Sites v2.11.0
+
+July 6, 2026 | [GitHub](https://github.com/MystenLabs/walrus-sites/releases/tag/mainnet-v2.11.0)
+
+The portal now talks to Sui over gRPC instead of JSON-RPC, in preparation for the JSON-RPC deprecation.
+
+#### Changes
+
+- [portal: Migrate Sui reads to gRPC](https://github.com/MystenLabs/walrus-sites/pull/721)
+- [site-builder: Update Sui and Walrus deps](https://github.com/MystenLabs/walrus-sites/pull/722)
+
+---
+
+### Walrus Sites v2.10.0
+
+June 4, 2026 | [GitHub](https://github.com/MystenLabs/walrus-sites/releases/tag/mainnet-v2.10.0)
+
+Portal aggregator timing rework: a per-attempt fetch timeout plus a Bun `idleTimeout` sized from the worst-case retry budget close the gap where a slow aggregator could trip the inbound connection mid-flight and surface a generic upstream proxy error instead of the portal's own `aggregatorFail()` page. Sui and Walrus deps bumped to their current testnet releases. No Move contract changes.
+
+> ℹ️ **Portal operators**: each aggregator attempt is now bounded at 10s and fails over to the next URL; Bun's `idleTimeout` is sized from the full retry chain so the portal can return its own response. Tune via `AGGREGATOR_REQUEST_TIMEOUT_MS` (default `10000`) and `PORTAL_IDLE_TIMEOUT_MAX_S` (default `100`); resolved values logged at startup.
+
+#### Changes
+
+- [portal: Size Bun `idleTimeout` from aggregator retry budget; add per-attempt fetch timeout and sanitize-and-log resolved config at startup](https://github.com/MystenLabs/walrus-sites/pull/714)
+- [site-builder: Bump Sui to `testnet-v1.73.0`, Walrus to `testnet-v1.50.0`](https://github.com/MystenLabs/walrus-sites/pull/718)
+
+---
+
+### Walrus Sites v2.9.2
+
+May 21, 2026 | [GitHub](https://github.com/MystenLabs/walrus-sites/releases/tag/mainnet-v2.9.2)
+
+Patch release with a portal SuiNS resolution fix and a site-builder dependency bump. No new features, no breaking changes, and no Move contract changes.
+
+#### Changes
+
+- [portal: Stop counting `notExists` SuiNS lookups as FN failures; short-circuit retries and unwrap to `null`](https://github.com/MystenLabs/walrus-sites/pull/709)
+- [site-builder: Update Sui and Walrus dependencies (Walrus pinned to `f39a84f0` for walrus#3389)](https://github.com/MystenLabs/walrus-sites/pull/713)
+
+---
+
+### Walrus Sites v2.9.1
+
+May 7, 2026 | [GitHub](https://github.com/MystenLabs/walrus-sites/releases/tag/mainnet-v2.9.1)
+
+Patch release with portal observability and configuration fixes, plus dependency bumps and CI hardening. No new features, no breaking changes, and no Move contract changes.
+
+> ℹ️ **walrus-upgrade**: drop `walrus_package` from your `sites-config.yaml` (to auto-resolve), or update it to the latest package id from the Walrus `staking_object` in `~/.config/walrus/client_config.yaml`.
+
+#### Changes
+
+- [portal: Count every request in `ws_num_requests_made_counter`](https://github.com/MystenLabs/walrus-sites/pull/705)
+- [site-builder: Remove `walrus` `package_id` from `sites-config.yaml` (auto-resolved from the Walrus staking object)](https://github.com/MystenLabs/walrus-sites/pull/710)
+- [portal: Wire `bun run typecheck` across `common`, `server`, `worker` and run it in CI](https://github.com/MystenLabs/walrus-sites/pull/706)
+- [site-builder: Bump Sui and Walrus dependencies](https://github.com/MystenLabs/walrus-sites/pull/707)
+
+---
+
+### Walrus Sites v2.9.0
+
+April 23, 2026 | [GitHub](https://github.com/MystenLabs/walrus-sites/releases/tag/mainnet-v2.9.0)
+
+Site builder performance and reliability improvements: resource dynamic field fetching now uses a single batched `multi_get` call instead of chunked per-resource queries with inter-batch delays, and the `sitemap` subcommand correctly respects the active wallet environment instead of whichever env happened to be listed first in the config.
+
+#### Changes
+
+- [site-builder: Use multi_get for resource dynamic field fetching](https://github.com/MystenLabs/walrus-sites/pull/684)
+- [site-builder: Use active env, not envs.first(), for sitemap RPC](https://github.com/MystenLabs/walrus-sites/pull/704)
+- [portal: Fix local Docker portal script and suppress meta logger noise](https://github.com/MystenLabs/walrus-sites/pull/700)
+- [dev: Contract upgrade documentation](https://github.com/MystenLabs/walrus-sites/pull/692)
+- [site-builder: Bump Sui to testnet-v1.69.1, Walrus to testnet-v1.46.1](https://github.com/MystenLabs/walrus-sites/pull/701)
+- [portal: Bump vite from 5.4.21 to 8.0.8 in portal/common](https://github.com/MystenLabs/walrus-sites/pull/702)
+
+---
+
+### Walrus Sites v2.8.0
+
+April 2, 2026 | [GitHub](https://github.com/MystenLabs/walrus-sites/releases/tag/mainnet-v2.8.0)
+
+This release adds server-side redirect support to Walrus Sites. Redirect rules are stored as dynamic fields on the on-chain `Site` object, configurable via `ws-resources.json` with glob pattern matching. The portal evaluates redirects before resource fetching and serves 3xx response.
+
+**This release includes a Move contract upgrade** — the `walrus_site` package is upgraded to add redirect storage on-chain. To use the new redirects feature, update the `package_id` in your `sites-config.yaml` to point to the latest package ID, or remove the `package_id` field entirely so that MVR can resolve it automatically.
+
+**Portal config change:** `site_package` has been renamed to `original_package_id` as this is what actually matters of it.
+
+The portal has also been updated to Mysten SDK v2.
+
+#### Changes
+
+- [move/site-builder/portal: Support server-side redirects](https://github.com/MystenLabs/walrus-sites/pull/685)
+- [server-portal: Drop blobOrPatchId and path labels from aggregator histogram](https://github.com/MystenLabs/walrus-sites/pull/691)
+- [site-builder: Clear checkout credentials before pushing with automerge token](https://github.com/MystenLabs/walrus-sites/pull/693)
+- [site-builder: Auto-detect Sui version when bumping Walrus alone](https://github.com/MystenLabs/walrus-sites/pull/676)
+- [site-builder: Use automerge token for git push to trigger CI on version bump PRs](https://github.com/MystenLabs/walrus-sites/pull/681)
+- [e2e: Build site-builder from main instead of using suiup](https://github.com/MystenLabs/walrus-sites/pull/698)
+- [portal: Update portal deps to Mysten SDK v2](https://github.com/MystenLabs/walrus-sites/pull/683)
+- [testing: Add a script for testing normal snake operation](https://github.com/MystenLabs/walrus-sites/pull/689)
+- [move/site-builder: Update package ids after upgrade](https://github.com/MystenLabs/walrus-sites/pull/697)
+
+---
+
+### Walrus Sites v2.7.0
+
+March 12, 2026 | [GitHub](https://github.com/MystenLabs/walrus-sites/releases/tag/mainnet-v2.7.0)
+
+Site builder reliability improvements: large sites (500+ routes/resources) no longer fail with `InsufficientGas` errors due to PTB byte-size overflow, and Site deploying is more resilient to transient Sui object version conflicts with automatic retry and exponential backoff.
+
+#### Changes
+
+- [site-builder: Prevent PTB byte-size overflow for large sites](https://github.com/MystenLabs/walrus-sites/pull/674)
+- [site-builder: Retry on Sui object version conflicts](https://github.com/MystenLabs/walrus-sites/pull/660)
+- [ci: Use walrus-automerge app token and add reviewers to version bump PRs](https://github.com/MystenLabs/walrus-sites/pull/672)
+
+---
+
+### Walrus Sites v2.6.0
+
+February 26, 2026 | [GitHub](https://github.com/MystenLabs/walrus-sites/releases/tag/mainnet-v2.6.0)
+
+The portal configuration is now loaded from a YAML file instead of environment variables. Env vars can still be used as overrides. This simplifies deployment (single ConfigMap vs many env vars) and enables structured configuration (URL arrays with priority/retries are native YAML lists instead of pipe-delimited strings).
+
+#### Changes
+
+- [server-portal: Migrate portal configuration from env vars to YAML](https://github.com/MystenLabs/walrus-sites/pull/665)
+- [server-portal: PriorityExecutor should fallback based on priority](https://github.com/MystenLabs/walrus-sites/pull/648)
+- [server-portal: Add a local-docker-portal.sh script](https://github.com/MystenLabs/walrus-sites/pull/659)
+- [site-builder: Error gracefully on invalid glob pattern in ws-resources.json](https://github.com/MystenLabs/walrus-sites/pull/650)
+- [site-builder: Fix lowercasing issue with header mappings](https://github.com/MystenLabs/walrus-sites/pull/651)
+- [site-builder: Bump script fails when Walrus rev is a tag instead of SHA](https://github.com/MystenLabs/walrus-sites/pull/666)
+- [server-portal: Add job for server tests](https://github.com/MystenLabs/walrus-sites/pull/658)
+- [site-builder: Add automated Sui + Walrus version bump workflow](https://github.com/MystenLabs/walrus-sites/pull/663)
+- [site-builder: Add anyhow error contexts](https://github.com/MystenLabs/walrus-sites/pull/654)
+- [server-portal: Add more info to error logs](https://github.com/MystenLabs/walrus-sites/pull/662)
+- [portal: Rename priority to metric](https://github.com/MystenLabs/walrus-sites/pull/657)
+- [site-builder: Bump walrus & sui deps](https://github.com/MystenLabs/walrus-sites/pull/652)
+- [site-builder: Bump bytes from 1.11.0 to 1.11.1](https://github.com/MystenLabs/walrus-sites/pull/647)
+- [site-builder: Bump time from 0.3.46 to 0.3.47](https://github.com/MystenLabs/walrus-sites/pull/655)
+
+---
+
+### Walrus Sites v2.4.0
+
+February 9, 2026 | [GitHub](https://github.com/MystenLabs/walrus-sites/releases/tag/mainnet-v2.4.0)
+
+#### Changes
+
+- [portal: Handle aggregator 403/404 errors with better messaging](https://github.com/MystenLabs/walrus-sites/pull/646)
+- [portal: Print errors correctly in logger](https://github.com/MystenLabs/walrus-sites/pull/640)
+- [portal: Add prettier lint workflow for ts files](https://github.com/MystenLabs/walrus-sites/pull/644)
+- [portal: Use prettier to format portal](https://github.com/MystenLabs/walrus-sites/pull/645)
+- [portal: Include .cause in error log](https://github.com/MystenLabs/walrus-sites/pull/649)
+
+---
+
+### Walrus Sites v2.3.1
+
+January 29, 2026 | [GitHub](https://github.com/MystenLabs/walrus-sites/releases/tag/mainnet-v2.3.1)
+
+Requires Walrus CLI v1.37.0 or later
+
+#### Changes
+
+- [site-builder: Disabled child process uploads to fix JSON parsing errors with Walrus CLI](https://github.com/MystenLabs/walrus-sites/pull/642)
+- [ci: Simplify dockerhub workflow: use release tag](https://github.com/MystenLabs/walrus-sites/pull/641)
+
+---
+
+### Walrus Sites v2.3.0
+
+January 26, 2026 | [GitHub](https://github.com/MystenLabs/walrus-sites/releases/tag/mainnet-v2.3.0)
+
+#### Changes
+
+- [site-builder: Refine 'deploy --dry-run' output, add Sui gas estimates.](https://github.com/MystenLabs/walrus-sites/pull/614)
+- [site-builder: Add size-based file grouping.](https://github.com/MystenLabs/walrus-sites/pull/606)
+- [site-builder: Add context to the site-fields not found error.](https://github.com/MystenLabs/walrus-sites/pull/633)
+- [site-builder: Fix site updating when there are expired blobs.](https://github.com/MystenLabs/walrus-sites/pull/638)
+- [server-portal: Fix serializing error when an unexpected exception is caught.](https://github.com/MystenLabs/walrus-sites/pull/632)
+- [portal: Fix portal common strict true.](https://github.com/MystenLabs/walrus-sites/pull/634)
+
+---
+
+### Walrus Sites v2.2.1
+
+January 14, 2026 | [GitHub](https://github.com/MystenLabs/walrus-sites/releases/tag/mainnet-v2.2.1)
+
+This release introduces an optimization for site updates: files that remain unchanged during an update are no longer re-uploaded into new Quilts. Only new and modified files are uploaded.
+
+#### Changes
+
+- [site-builder: Use correct walrus package-id from Staking object when extending blobs](https://github.com/MystenLabs/walrus-sites/pull/630)
+- [site-builder: Optimize site updates by creating new Quilts only for changed resources](https://github.com/MystenLabs/walrus-sites/pull/616)
+- [site-builder: Add config path to error output](https://github.com/MystenLabs/walrus-sites/pull/548)
+- [site-builder: Add Walrus and Seal documentation builder workflow](https://github.com/MystenLabs/walrus-sites/pull/623)
+- [site-builder: Add system resource usage tracking to build scripts](https://github.com/MystenLabs/walrus-sites/pull/627)
+- [server-portal: Remove Amplitude integration](https://github.com/MystenLabs/walrus-sites/pull/620)
+
+---
+
+### Walrus Sites v2.1.2
+
+December 16, 2025 | [GitHub](https://github.com/MystenLabs/walrus-sites/releases/tag/mainnet-v2.1.2)
+
+---
+
+### Walrus Sites v2.1.1
+
+December 4, 2025 | [GitHub](https://github.com/MystenLabs/walrus-sites/releases/tag/mainnet-v2.1.1)
+
+This is a bugfix release for the Portal component and does not impact Site Builder.
+
+#### Changes
+
+- [server-portal: Treat only 5xx responses as aggregator failures.](https://github.com/MystenLabs/walrus-sites/pull/611)
+
+---
+
+### Walrus Sites v2.1.0
+
+December 1, 2025 | [GitHub](https://github.com/MystenLabs/walrus-sites/releases/tag/mainnet-v2.1.0)
+
+#### Changes
+
+- [site-builder: Support files larger than `--max-quilt-size`.](https://github.com/MystenLabs/walrus-sites/pull/602)
+- [portal: Enhance error handling with 503 and 500 responses for service unavailability and unhandled exceptions](https://github.com/MystenLabs/walrus-sites/pull/604)
+- [site-builder: Fix abort on updating sites with more than 1000 resources.](https://github.com/MystenLabs/walrus-sites/pull/603)
+- [portal: Fix full-node error metric not incrementing.](https://github.com/MystenLabs/walrus-sites/pull/605)
+- [site-builder: Partly handle invalid object version fetched by full-node.](https://github.com/MystenLabs/walrus-sites/pull/597)
+- [site-builder: Replace \ with / in full-path to resource path for Windows.](https://github.com/MystenLabs/walrus-sites/pull/607)
+- [portal: Add aggregator fetching metric](https://github.com/MystenLabs/walrus-sites/pull/595)
+- [Github Actions: Updates the migrated deploy github action](https://github.com/MystenLabs/walrus-sites/pull/601)
+
+---
+
+### Walrus Sites v2.0.0
+
+November 17, 2025 | [GitHub](https://github.com/MystenLabs/walrus-sites/releases/tag/mainnet-v2.0.0)
+
+This major release transitions the `site-builder` CLI to exclusively use **Quilts** for site data
+
+#### Changes
+
+- [Added comprehensive test coverage for `max-quilt-size` limit enforcement.](https://github.com/MystenLabs/walrus-sites/pull/591)
+- [Updated Sui and Walrus dependencies.](https://github.com/MystenLabs/walrus-sites/pull/598)
+- [Reduced code duplication in Quilt update tests, improving maintainability.](https://github.com/MystenLabs/walrus-sites/pull/590)
+- [Updated github-action, removed --check-extend.](https://github.com/MystenLabs/walrus-sites/pull/600)
+
+---
+
+### Walrus Sites v1.3.1
+
+November 3, 2025 | [GitHub](https://github.com/MystenLabs/walrus-sites/releases/tag/mainnet-v1.3.1)
+
+Work for feature flag `quilts-experimental`. Mainly testing and bug-fixes.
+
+---
+
+### Walrus Sites v1.3.0
+
+October 21, 2025 | [GitHub](https://github.com/MystenLabs/walrus-sites/releases/tag/mainnet-v1.3.0)
+
+#### Changes
+
+- [site-builder: Support list directory when deploying with quilts](https://github.com/MystenLabs/walrus-sites/pull/578)
+- [site-builder: Do not delete moved-resource's blob](https://github.com/MystenLabs/walrus-sites/pull/575)
+- [site-builder: Propagate epoch-argument in quilts implementation](https://github.com/MystenLabs/walrus-sites/pull/577)
+- [site-builder: Remove temp hack using empty path vec for publish-quilts command](https://github.com/MystenLabs/walrus-sites/pull/572)
+- [site-builder: Create new test for duplicate files for quilts publish](https://github.com/MystenLabs/walrus-sites/pull/576)
+- [site-builder: Bump versions of site-builder and portal](https://github.com/MystenLabs/walrus-sites/pull/580)
+- [vite: Bump vite from 7.0.0 to 7.1.5 in /examples/vite-react-ts](https://github.com/MystenLabs/walrus-sites/pull/553)
+- [site-builder: Blob update test with a lot of files](https://github.com/MystenLabs/walrus-sites/pull/573)
+
+---
+
+### Walrus Sites v1.2.1
+
+October 7, 2025 | [GitHub](https://github.com/MystenLabs/walrus-sites/releases/tag/mainnet-v1.2.1)
+
+#### Changes
+
+- [site-builder: Dynamically split move-commands into ptbs](https://github.com/MystenLabs/walrus-sites/pull/564)
+- [site-builder: Fix dry run throwing error for publish quilts](https://github.com/MystenLabs/walrus-sites/pull/567)
+- [portal: Fix logger typo, not passing args in getPropertiesWithContext](https://github.com/MystenLabs/walrus-sites/pull/565)
+- [Add #[ignore] in integration tests](https://github.com/MystenLabs/walrus-sites/pull/566)
+
+---
+
+### Walrus Sites v1.2.0
+
+September 22, 2025 | [GitHub](https://github.com/MystenLabs/walrus-sites/releases/tag/mainnet-v1.2.0)
+
+Further support of quilts under the `quilts-experimental` feature.
+
+> **Note**
+> Header and ignore-file matching in ws-resources.json, now uses **glob patterns** (e.g. `*.md`, `docs/**`) instead of regular expressions.
+> Regex support was never intentional, so if you were using advanced regex, please update your configs to glob style.([#556](https://github.com/MystenLabs/walrus-sites/pull/556)).
+
+#### Changes
+
+- [deploy-action: Support wallet exported keys.](https://github.com/MystenLabs/walrus-sites/pull/525)
+- [site-builder: UpdateQuilts command, deletes and re-creates all resources.](https://github.com/MystenLabs/walrus-sites/pull/552)
+- [site-builder: Use quilt patch ids in site-builder publish/update output.](https://github.com/MystenLabs/walrus-sites/pull/561)
+- [site-builder: Show quilt patch ids during sitemap.](https://github.com/MystenLabs/walrus-sites/pull/562)
+- [site-builder: Improve the print_summary docs.](https://github.com/MystenLabs/walrus-sites/pull/557)
+- [deploy-action: Fix inputs usage.](https://github.com/MystenLabs/walrus-sites/pull/550)
+- [site-builder: Use glob instead of regex for ignore files and headers assignments.](https://github.com/MystenLabs/walrus-sites/pull/556)
+- [site-builder: --list-directory and ignore files.](https://github.com/MystenLabs/walrus-sites/pull/556)
+- [common-lib: nullish coalescing for range header building.](https://github.com/MystenLabs/walrus-sites/pull/560)
+- [portal: Integrate Javascript/Typescript tests with Sonarqube.](https://github.com/MystenLabs/walrus-sites/pull/549)
+- [deploy: Remove publish_landing_page.sh script.](https://github.com/MystenLabs/walrus-sites/pull/554)
+- [site-builder: Update Walrus and Sui dependencies.](https://github.com/MystenLabs/walrus-sites/pull/555)
+- [site-builder: Remove unused .with_type() in test-setup resource-fetching.](https://github.com/MystenLabs/walrus-sites/pull/551)
+- [site-builder: Create integration test for list directory.](https://github.com/MystenLabs/walrus-sites/pull/559)
+
+---
+
+### Walrus Sites v1.1.0
+
+September 8, 2025 | [GitHub](https://github.com/MystenLabs/walrus-sites/releases/tag/mainnet-v1.1.0)
+
+This release introduces a new publishing and deployment method for Walrus Sites using [quilts](https://docs.wal.app/usage/quilt.html) instead of blobs. Multiple resources are now bundled as quilt patches on Walrus, significantly reducing the cost of site publishing.
+
+You can use this feature with: `site-builder publish-quilts --epochs=`.
+
+> ⚠️ **Important note**: This feature is only available when building `site-builder` from source with `cargo build --features quilts-experimental`.
+
+#### Changes
+
+- [site-builder: Publish using quilts.](https://github.com/MystenLabs/walrus-sites/pull/544)
+- [portal: Derive `quiltpatchid` for resource retrieval.](https://github.com/MystenLabs/walrus-sites/pull/535)
+- [portal: Retrieve quilt-based resources.](https://github.com/MystenLabs/walrus-sites/pull/536)
+- [portal: Update domain parsing logic and tests for `parse-domain@8.2.2`.](https://github.com/MystenLabs/walrus-sites/pull/538)
+- [site-builder: Add more checks for tx failure.](https://github.com/MystenLabs/walrus-sites/pull/542)
+- [site-builder: Update the site name if changed in `ws-resources.json`.](https://github.com/MystenLabs/walrus-sites/pull/529)
+- [site-builder: Override `walrus_package` from config if passed explicitly as an argument.](https://github.com/MystenLabs/walrus-sites/pull/532)
+- [site-builder: Catch errors earlier in site PTB.](https://github.com/MystenLabs/walrus-sites/pull/541)
+- [Add workflow to build and publish the server-portal Docker image.](https://github.com/MystenLabs/walrus-sites/pull/515)
+- [Create tarball for the site-builder binary in the release workflow.](https://github.com/MystenLabs/walrus-sites/pull/516)
+- [Compress the site-builder tarball with gzip and use the `.tgz` extension.](https://github.com/MystenLabs/walrus-sites/pull/519)
+- [Add a tarball creation step.](https://github.com/MystenLabs/walrus-sites/pull/521)
+- [Add ubuntu-arm64 to the site-builder build list.](https://github.com/MystenLabs/walrus-sites/pull/523)
+- [Optionally use `--check-extend` on the site deploy action.](https://github.com/MystenLabs/walrus-sites/pull/526)
+- [Clean up portal code by removing the Sentry integration.](https://github.com/MystenLabs/walrus-sites/pull/517)
+- [site-builder: Remove unused `network.rs`.](https://github.com/MystenLabs/walrus-sites/pull/527)
+- [server-portal: Remove Vercel web analytics and Sentry remnants.](https://github.com/MystenLabs/walrus-sites/pull/528)
+- [server-portal: Use mainnet as the default build-arg for suins in Dockerfile.](https://github.com/MystenLabs/walrus-sites/pull/534)
+- [site-builder: Remove unused `ResourceOpSummary`.](https://github.com/MystenLabs/walrus-sites/pull/539)
+- [portal: Use `toString` in HTML templates to fix build failures.](https://github.com/MystenLabs/walrus-sites/pull/545)
+
+---
+
+### Walrus Sites v1.0.2
+
+July 15, 2025 | [GitHub](https://github.com/MystenLabs/walrus-sites/releases/tag/mainnet-v1.0.2)
+
+---
+
+### Walrus Sites walrus_sites_v0.1.0_1751313026_mainnet_ci
+
+June 30, 2025 | [GitHub](https://github.com/MystenLabs/walrus-sites/releases/tag/walrus_sites_v0.1.0_1751313026_mainnet_ci)
+
+#### Changes
+
+- [site-builder: Setup integration tests for e2e testing.](https://github.com/MystenLabs/walrus-sites/pull/495)
+
+---
+
+### Walrus Sites walrus_sites_v0.1.0_1750076111_mainnet_ci
+
+June 16, 2025 | [GitHub](https://github.com/MystenLabs/walrus-sites/releases/tag/walrus_sites_v0.1.0_1750076111_mainnet_ci)
+
+🚀 Welcome to the very first official release of Walrus Sites! This marks the production-ready milestone for the project.
+
+Starting with this release, each version will include all the necessary components for deploying (via the site-builder) and accessing (via the portals) your Walrus Sites.
+
+We are committed to following [semantic versioning](https://semver.org/) conventions for all future releases, ensuring clarity and consistency in version updates.
+
+#### Changes
+
+- [site-builder: Added an expiration column for site resources when running the sitemap.](https://github.com/MystenLabs/walrus-sites/pull/490)
+- [site-builder: Introduced `--end-epoch` and `--earliest-expiry-time` flags for defining resource end-epochs.](https://github.com/MystenLabs/walrus-sites/pull/491)
+- [site-builder: Implemented a `deploy` command to consolidate the `publish` and `update` commands.](https://github.com/MystenLabs/walrus-sites/pull/487)
+- [portal: Added a custom 404 fallback template and integrated it into the URL fetching logic.](https://github.com/MystenLabs/walrus-sites/pull/492)
+- [site-builder: Old deletable blobs are now removed after updates.](https://github.com/MystenLabs/walrus-sites/pull/499)
+- [site-builder: Updated browsing options based on network context.](https://github.com/MystenLabs/walrus-sites/pull/493)
+- [site-builder: Ensured metadata updates when modifying an existing site.](https://github.com/MystenLabs/walrus-sites/pull/488)
+- [site-builder: Enforced the `site_name` field and improved the default naming.](https://github.com/MystenLabs/walrus-sites/pull/489)
+- [site-builder: Fixed issues with commented values in the configuration.](https://github.com/MystenLabs/walrus-sites/pull/484)
+- [portal: Restructured portal logs for better organization.](https://github.com/MystenLabs/walrus-sites/pull/496)
+- [contract: Added a README for MVR.](https://github.com/MystenLabs/walrus-sites/pull/498)
+- [Added Sonar Analyzer to the CI pipeline for improved code quality checks.](https://github.com/MystenLabs/walrus-sites/pull/497)
+
+---
+
diff --git a/docs/site/docusaurus.config.js b/docs/site/docusaurus.config.js
index ddf4ba6080..7180734fcf 100644
--- a/docs/site/docusaurus.config.js
+++ b/docs/site/docusaurus.config.js
@@ -353,8 +353,8 @@ const config = {
position: "left",
},
{
- to: "/docs/release-notes",
- label: "Release Notes",
+ to: "/changelog",
+ label: "Changelog",
position: "right",
},
{
diff --git a/docs/site/src/data/changelog.json b/docs/site/src/data/changelog.json
new file mode 100644
index 0000000000..4b6b4f7f49
--- /dev/null
+++ b/docs/site/src/data/changelog.json
@@ -0,0 +1,2183 @@
+[
+ {
+ "id": "walrus-mainnet-v1.52.1",
+ "date": "2026-07-22T17:24:03Z",
+ "category": "walrus",
+ "title": "Walrus v1.52.1",
+ "description": null,
+ "badge": "Mainnet",
+ "githubUrl": "https://github.com/MystenLabs/walrus/releases/tag/mainnet-v1.52.1",
+ "changes": []
+ },
+ {
+ "id": "walrus-testnet-v1.52.0",
+ "date": "2026-07-15T18:56:14Z",
+ "category": "walrus",
+ "title": "Walrus v1.52.0",
+ "description": null,
+ "badge": "Testnet",
+ "githubUrl": "https://github.com/MystenLabs/walrus/releases/tag/testnet-v1.52.0",
+ "changes": []
+ },
+ {
+ "id": "sites-mainnet-v2.12.0",
+ "date": "2026-07-10T10:59:27Z",
+ "category": "walrus-sites",
+ "title": "Walrus Sites v2.12.0",
+ "description": "The portal gains a glob-based route/redirect matcher behind a flag (first step of the routing migration), and the site-builder migrates off JSON-RPC-only client methods ahead of the JSON-RPC deprecation.",
+ "badge": null,
+ "githubUrl": "https://github.com/MystenLabs/walrus-sites/releases/tag/mainnet-v2.12.0",
+ "changes": [
+ {
+ "text": "portal: Glob route/redirect matcher behind a flag, with a pattern cap",
+ "url": "https://github.com/MystenLabs/walrus-sites/pull/720"
+ },
+ {
+ "text": "site-builder: Migrate off JSON-RPC-only client methods and bump walrus deps to testnet-v1.51.2",
+ "url": "https://github.com/MystenLabs/walrus-sites/pull/725"
+ },
+ {
+ "text": "Read the release tag from the event payload",
+ "url": "https://github.com/MystenLabs/walrus-sites/pull/724"
+ },
+ {
+ "text": "Bump version to 2.11.1 (#726), then 2.12.0",
+ "url": "https://github.com/MystenLabs/walrus-sites/pull/727"
+ }
+ ]
+ },
+ {
+ "id": "walrus-mainnet-v1.51.2",
+ "date": "2026-07-09T20:19:35Z",
+ "category": "walrus",
+ "title": "Walrus v1.51.2",
+ "description": null,
+ "badge": "Mainnet",
+ "githubUrl": "https://github.com/MystenLabs/walrus/releases/tag/mainnet-v1.51.2",
+ "changes": [
+ {
+ "text": "`walrus info committee` gains a `--commission-receivers` flag that prints, as CSV, the commission receiver of every node in the previous, current, and next committees (including the owning address for object receivers).",
+ "url": "https://github.com/MystenLabs/walrus/pull/3479"
+ }
+ ]
+ },
+ {
+ "id": "walrus-mainnet-v1.51.1",
+ "date": "2026-07-09T01:25:43Z",
+ "category": "walrus",
+ "title": "Walrus v1.51.1",
+ "description": null,
+ "badge": "Mainnet",
+ "githubUrl": "https://github.com/MystenLabs/walrus/releases/tag/mainnet-v1.51.1",
+ "changes": [
+ {
+ "text": "`walrus info committee` gains a `--commission-receivers` flag that prints, as CSV, the commission receiver of every node in the previous, current, and next committees (including the owning address for object receivers).",
+ "url": "https://github.com/MystenLabs/walrus/pull/3479"
+ }
+ ]
+ },
+ {
+ "id": "sites-mainnet-v2.11.0",
+ "date": "2026-07-06T13:44:46Z",
+ "category": "walrus-sites",
+ "title": "Walrus Sites v2.11.0",
+ "description": "The portal now talks to Sui over gRPC instead of JSON-RPC, in preparation for the JSON-RPC deprecation.",
+ "badge": null,
+ "githubUrl": "https://github.com/MystenLabs/walrus-sites/releases/tag/mainnet-v2.11.0",
+ "changes": [
+ {
+ "text": "portal: Migrate Sui reads to gRPC",
+ "url": "https://github.com/MystenLabs/walrus-sites/pull/721"
+ },
+ {
+ "text": "site-builder: Update Sui and Walrus deps",
+ "url": "https://github.com/MystenLabs/walrus-sites/pull/722"
+ }
+ ]
+ },
+ {
+ "id": "walrus-mainnet-v1.50.0",
+ "date": "2026-06-24T17:08:09Z",
+ "category": "walrus",
+ "title": "Walrus v1.50.0",
+ "description": "A maintenance release on Testnet with no user-facing changes documented in the release notes; see\nthe full commit log for internal updates.",
+ "badge": "Mainnet",
+ "githubUrl": "https://github.com/MystenLabs/walrus/releases/tag/mainnet-v1.50.0",
+ "changes": []
+ },
+ {
+ "id": "memwal-@mysten-incubation/oc-memwal@0.0.5",
+ "date": "2026-06-15T13:01:45Z",
+ "category": "walrus-memory",
+ "title": "Package v0.0.5",
+ "description": "Fixes a workspace dependency that broke npm installs outside the monorepo and switches the release\nworkflow to pnpm publish.",
+ "badge": null,
+ "githubUrl": "https://github.com/MystenLabs/MemWal/releases/tag/%40mysten-incubation/oc-memwal%400.0.5",
+ "changes": []
+ },
+ {
+ "id": "memwal-@mysten-incubation/memwal-mcp@0.0.5",
+ "date": "2026-06-12T06:43:44Z",
+ "category": "walrus-memory",
+ "title": "Package v0.0.5",
+ "description": "Adds the automatic memory plugin for Claude Code, Codex, Cursor, and Antigravity, along with new\n`memwal_remember_bulk` and `memwal_health` tools and proactive memory behavior. Also fixes the\nplugin bundle so it ships `.mcp.json` correctly.",
+ "badge": null,
+ "githubUrl": "https://github.com/MystenLabs/MemWal/releases/tag/%40mysten-incubation/memwal-mcp%400.0.5",
+ "changes": []
+ },
+ {
+ "id": "memwal-@mysten-incubation/memwal-mcp@0.0.4",
+ "date": "2026-06-05T09:09:44Z",
+ "category": "walrus-memory",
+ "title": "Package v0.0.4",
+ "description": "Fixes HTTPS dashboard sign-in callbacks and credential reload after login so tools work without\nrestarting the MCP client.",
+ "badge": null,
+ "githubUrl": "https://github.com/MystenLabs/MemWal/releases/tag/%40mysten-incubation/memwal-mcp%400.0.4",
+ "changes": []
+ },
+ {
+ "id": "sites-mainnet-v2.10.0",
+ "date": "2026-06-04T15:35:28Z",
+ "category": "walrus-sites",
+ "title": "Walrus Sites v2.10.0",
+ "description": "Portal aggregator timing rework: a per-attempt fetch timeout plus a Bun `idleTimeout` sized from the worst-case retry budget close the gap where a slow aggregator could trip the inbound connection mid-flight and surface a generic upstream proxy error instead of the portal's own `aggregatorFail()` page. Sui and Walrus deps bumped to their current testnet releases. No Move contract changes.\r\n\r\n> ℹ️ **Portal operators**: each aggregator attempt is now bounded at 10s and fails over to the next URL; Bun's `idleTimeout` is sized from the full retry chain so the portal can return its own response. Tune via `AGGREGATOR_REQUEST_TIMEOUT_MS` (default `10000`) and `PORTAL_IDLE_TIMEOUT_MAX_S` (default `100`); resolved values logged at startup.",
+ "badge": null,
+ "githubUrl": "https://github.com/MystenLabs/walrus-sites/releases/tag/mainnet-v2.10.0",
+ "changes": [
+ {
+ "text": "portal: Size Bun `idleTimeout` from aggregator retry budget; add per-attempt fetch timeout and sanitize-and-log resolved config at startup",
+ "url": "https://github.com/MystenLabs/walrus-sites/pull/714"
+ },
+ {
+ "text": "site-builder: Bump Sui to `testnet-v1.73.0`, Walrus to `testnet-v1.50.0`",
+ "url": "https://github.com/MystenLabs/walrus-sites/pull/718"
+ }
+ ]
+ },
+ {
+ "id": "memwal-@mysten-incubation/memwal-mcp@0.0.3",
+ "date": "2026-06-04T12:48:54Z",
+ "category": "walrus-memory",
+ "title": "Package v0.0.3",
+ "description": "Rebrands package metadata from MemWal to Walrus Memory throughout the MCP server.",
+ "badge": null,
+ "githubUrl": "https://github.com/MystenLabs/MemWal/releases/tag/%40mysten-incubation/memwal-mcp%400.0.3",
+ "changes": []
+ },
+ {
+ "id": "memwal-@mysten-incubation/oc-memwal@0.0.4",
+ "date": "2026-06-02T12:13:52Z",
+ "category": "walrus-memory",
+ "title": "Package v0.0.4",
+ "description": "Adds temporal anchoring through `occurredAt` to the `memory_store` tool. The auto-capture hook now\npasses the current timestamp, and the SDK is bumped for the new `AnalyzeOptions`.",
+ "badge": null,
+ "githubUrl": "https://github.com/MystenLabs/MemWal/releases/tag/%40mysten-incubation/oc-memwal%400.0.4",
+ "changes": [
+ {
+ "text": "Wire temporal anchoring through the agent-side memory tools.",
+ "url": "https://github.com/MystenLabs/MemWal/pull/218"
+ }
+ ]
+ },
+ {
+ "id": "memwal-memwal-python@0.1.4",
+ "date": "2026-06-02T12:13:47Z",
+ "category": "walrus-memory",
+ "title": "Package v0.1.4",
+ "description": "A patch release for the Walrus Memory Python SDK.",
+ "badge": null,
+ "githubUrl": "https://github.com/MystenLabs/MemWal/releases/tag/memwal-python%400.1.4",
+ "changes": []
+ },
+ {
+ "id": "memwal-@mysten-incubation/memwal@0.0.7",
+ "date": "2026-06-02T12:13:47Z",
+ "category": "walrus-memory",
+ "title": "Package v0.0.7",
+ "description": "Adds an optional `occurredAt` parameter to `analyze()` for temporal anchoring of extracted facts.\nRelative date references are now resolved into absolute dates.",
+ "badge": null,
+ "githubUrl": "https://github.com/MystenLabs/MemWal/releases/tag/%40mysten-incubation/memwal%400.0.7",
+ "changes": [
+ {
+ "text": "Add optional `occurredAt` to `analyze()` and `analyzeAndWait()` for temporal anchoring of extracted facts.",
+ "url": "https://github.com/MystenLabs/MemWal/pull/218"
+ }
+ ]
+ },
+ {
+ "id": "memwal-@mysten-incubation/memwal@0.0.6",
+ "date": "2026-05-28T10:21:04Z",
+ "category": "walrus-memory",
+ "title": "Package v0.0.6",
+ "description": "Adds `RecallParams` for object-style recall calls and deprecates the positional recall overload.\nAlso documents `restore()` response fields.",
+ "badge": null,
+ "githubUrl": "https://github.com/MystenLabs/MemWal/releases/tag/%40mysten-incubation/memwal%400.0.6",
+ "changes": []
+ },
+ {
+ "id": "memwal-memwal-python@0.1.3",
+ "date": "2026-05-28T10:20:50Z",
+ "category": "walrus-memory",
+ "title": "Package v0.1.3",
+ "description": "A patch release for the Walrus Memory Python SDK.",
+ "badge": null,
+ "githubUrl": "https://github.com/MystenLabs/MemWal/releases/tag/memwal-python%400.1.3",
+ "changes": []
+ },
+ {
+ "id": "walrus-mainnet-v1.49.1",
+ "date": "2026-05-27T18:04:30Z",
+ "category": "walrus",
+ "title": "Walrus v1.49.1",
+ "description": "A maintenance release on Mainnet with no user-facing changes documented in the release notes; see\nthe full commit log for internal updates.",
+ "badge": "Mainnet",
+ "githubUrl": "https://github.com/MystenLabs/walrus/releases/tag/mainnet-v1.49.1",
+ "changes": []
+ },
+ {
+ "id": "memwal-@mysten-incubation/oc-memwal@0.0.3",
+ "date": "2026-05-25T04:50:20Z",
+ "category": "walrus-memory",
+ "title": "Package v0.0.3",
+ "description": "Rebrands from MemWal to Walrus Memory across the OpenClaw memory plugin.",
+ "badge": null,
+ "githubUrl": "https://github.com/MystenLabs/MemWal/releases/tag/%40mysten-incubation/oc-memwal%400.0.3",
+ "changes": []
+ },
+ {
+ "id": "memwal-@mysten-incubation/memwal-mcp@0.0.2",
+ "date": "2026-05-25T04:50:16Z",
+ "category": "walrus-memory",
+ "title": "Package v0.0.2",
+ "description": "Adds relayer compatibility checks and rebrands from MemWal to Walrus Memory across the MCP server\npackage.",
+ "badge": null,
+ "githubUrl": "https://github.com/MystenLabs/MemWal/releases/tag/%40mysten-incubation/memwal-mcp%400.0.2",
+ "changes": []
+ },
+ {
+ "id": "memwal-@mysten-incubation/memwal@0.0.5",
+ "date": "2026-05-25T04:50:10Z",
+ "category": "walrus-memory",
+ "title": "Package v0.0.5",
+ "description": "Adds relayer compatibility checks, `RecallOptions` for `topK`/`namespace`/`maxDistance` filtering,\nand prefers Sui gRPC for SEAL sessions. This release also rebrands from MemWal to Walrus Memory.",
+ "badge": null,
+ "githubUrl": "https://github.com/MystenLabs/MemWal/releases/tag/%40mysten-incubation/memwal%400.0.5",
+ "changes": []
+ },
+ {
+ "id": "memwal-memwal-python@0.1.2",
+ "date": "2026-05-25T04:49:56Z",
+ "category": "walrus-memory",
+ "title": "Package v0.1.2",
+ "description": "A patch release for the Walrus Memory Python SDK.",
+ "badge": null,
+ "githubUrl": "https://github.com/MystenLabs/MemWal/releases/tag/memwal-python%400.1.2",
+ "changes": []
+ },
+ {
+ "id": "sites-mainnet-v2.9.2",
+ "date": "2026-05-21T14:47:20Z",
+ "category": "walrus-sites",
+ "title": "Walrus Sites v2.9.2",
+ "description": "Patch release with a portal SuiNS resolution fix and a site-builder dependency bump. No new features, no breaking changes, and no Move contract changes.",
+ "badge": null,
+ "githubUrl": "https://github.com/MystenLabs/walrus-sites/releases/tag/mainnet-v2.9.2",
+ "changes": [
+ {
+ "text": "portal: Stop counting `notExists` SuiNS lookups as FN failures; short-circuit retries and unwrap to `null`",
+ "url": "https://github.com/MystenLabs/walrus-sites/pull/709"
+ },
+ {
+ "text": "site-builder: Update Sui and Walrus dependencies (Walrus pinned to `f39a84f0` for walrus#3389)",
+ "url": "https://github.com/MystenLabs/walrus-sites/pull/713"
+ }
+ ]
+ },
+ {
+ "id": "memwal-memwal-python@0.1.0",
+ "date": "2026-05-21T08:16:26Z",
+ "category": "walrus-memory",
+ "title": "Package v0.1.0",
+ "description": "Initial release of the Walrus Memory Python SDK.",
+ "badge": null,
+ "githubUrl": "https://github.com/MystenLabs/MemWal/releases/tag/memwal-python%400.1.0",
+ "changes": []
+ },
+ {
+ "id": "memwal-@mysten-incubation/memwal@0.0.4",
+ "date": "2026-05-15T03:25:43Z",
+ "category": "walrus-memory",
+ "title": "Package v0.0.4",
+ "description": "Adds `getRememberStatus` for polling async job state and `SealServerConfig` for manual SEAL\nconfiguration. Manual mode validates API key pairs.",
+ "badge": null,
+ "githubUrl": "https://github.com/MystenLabs/MemWal/releases/tag/%40mysten-incubation/memwal%400.0.4",
+ "changes": []
+ },
+ {
+ "id": "memwal-@mysten-incubation/memwal-mcp@0.0.1",
+ "date": "2026-05-15T03:25:42Z",
+ "category": "walrus-memory",
+ "title": "Package v0.0.1",
+ "description": "Initial release of the MCP server with stdio transport, browser wallet login, and inline session\ntools. Includes memory tools for remember, recall, analyze, and restore.",
+ "badge": null,
+ "githubUrl": "https://github.com/MystenLabs/MemWal/releases/tag/%40mysten-incubation/memwal-mcp%400.0.1",
+ "changes": []
+ },
+ {
+ "id": "walrus-mainnet-v1.48.1",
+ "date": "2026-05-13T17:23:09Z",
+ "category": "walrus",
+ "title": "Walrus v1.48.1",
+ "description": "A maintenance release on Mainnet with no user-facing changes documented in the release notes; see\nthe full commit log for internal updates.",
+ "badge": "Mainnet",
+ "githubUrl": "https://github.com/MystenLabs/walrus/releases/tag/mainnet-v1.48.1",
+ "changes": []
+ },
+ {
+ "id": "memwal-@mysten-incubation/memwal@0.0.3",
+ "date": "2026-05-08T02:50:06Z",
+ "category": "walrus-memory",
+ "title": "Package v0.0.3",
+ "description": "Updates `remember()` for the async relayer flow and introduces `rememberAsync`,\n`waitForRememberJob`, `rememberAndWait`, and bulk remember helpers. Also adds async analysis with\n`analyzeAndWait`.",
+ "badge": null,
+ "githubUrl": "https://github.com/MystenLabs/MemWal/releases/tag/%40mysten-incubation/memwal%400.0.3",
+ "changes": []
+ },
+ {
+ "id": "sites-mainnet-v2.9.1",
+ "date": "2026-05-07T15:58:00Z",
+ "category": "walrus-sites",
+ "title": "Walrus Sites v2.9.1",
+ "description": "Patch release with portal observability and configuration fixes, plus dependency bumps and CI hardening. No new features, no breaking changes, and no Move contract changes.\r\n\r\n> ℹ️ **walrus-upgrade**: drop `walrus_package` from your `sites-config.yaml` (to auto-resolve), or update it to the latest package id from the Walrus `staking_object` in `~/.config/walrus/client_config.yaml`.",
+ "badge": null,
+ "githubUrl": "https://github.com/MystenLabs/walrus-sites/releases/tag/mainnet-v2.9.1",
+ "changes": [
+ {
+ "text": "portal: Count every request in `ws_num_requests_made_counter`",
+ "url": "https://github.com/MystenLabs/walrus-sites/pull/705"
+ },
+ {
+ "text": "site-builder: Remove `walrus` `package_id` from `sites-config.yaml` (auto-resolved from the Walrus staking object)",
+ "url": "https://github.com/MystenLabs/walrus-sites/pull/710"
+ },
+ {
+ "text": "portal: Wire `bun run typecheck` across `common`, `server`, `worker` and run it in CI",
+ "url": "https://github.com/MystenLabs/walrus-sites/pull/706"
+ },
+ {
+ "text": "site-builder: Bump Sui and Walrus dependencies",
+ "url": "https://github.com/MystenLabs/walrus-sites/pull/707"
+ }
+ ]
+ },
+ {
+ "id": "memwal-@mysten-incubation/oc-memwal@0.0.2",
+ "date": "2026-04-30T04:04:07Z",
+ "category": "walrus-memory",
+ "title": "Package v0.0.2",
+ "description": "Initial release of the OpenClaw memory plugin with automatic recall and capture hooks, session\nsummary, CLI commands, and LLM tools.",
+ "badge": null,
+ "githubUrl": "https://github.com/MystenLabs/MemWal/releases/tag/%40mysten-incubation/oc-memwal%400.0.2",
+ "changes": []
+ },
+ {
+ "id": "memwal-@mysten-incubation/memwal@0.0.2",
+ "date": "2026-04-30T03:23:32Z",
+ "category": "walrus-memory",
+ "title": "Package v0.0.2",
+ "description": "Adds per-request nonce signing to block replay attacks and replaces delegate key transport with\nephemeral SEAL sessions. SDK versions that do not include a nonce are rejected with HTTP 426.",
+ "badge": null,
+ "githubUrl": "https://github.com/MystenLabs/MemWal/releases/tag/%40mysten-incubation/memwal%400.0.2",
+ "changes": []
+ },
+ {
+ "id": "walrus-mainnet-v1.47.1",
+ "date": "2026-04-29T20:33:58Z",
+ "category": "walrus",
+ "title": "Walrus v1.47.1",
+ "description": "Enables storage pool support in the storage node and makes the aggregator return a retryable HTTP\n503 `BLOB_UNAVAILABLE` (instead of 500) when a blob is only temporarily unretrievable. Blob\nattribute headers such as `Content-Type` are now correctly included on range requests when reading\nby object ID.",
+ "badge": "Mainnet",
+ "githubUrl": "https://github.com/MystenLabs/walrus/releases/tag/mainnet-v1.47.1",
+ "changes": [
+ {
+ "text": "enable storage pool support in storage node",
+ "url": "https://github.com/MystenLabs/walrus/pull/3256"
+ },
+ {
+ "text": "The `GET /v1/blobs/{blob_id}` endpoint now returns",
+ "url": "https://github.com/MystenLabs/walrus/pull/3284"
+ },
+ {
+ "text": "Blob attribute headers (such as Content-Type) are now correctly included on range request responses when reading blobs by object ID.",
+ "url": "https://github.com/MystenLabs/walrus/pull/3084"
+ }
+ ]
+ },
+ {
+ "id": "sites-mainnet-v2.9.0",
+ "date": "2026-04-23T12:03:13Z",
+ "category": "walrus-sites",
+ "title": "Walrus Sites v2.9.0",
+ "description": "Site builder performance and reliability improvements: resource dynamic field fetching now uses a single batched `multi_get` call instead of chunked per-resource queries with inter-batch delays, and the `sitemap` subcommand correctly respects the active wallet environment instead of whichever env happened to be listed first in the config.",
+ "badge": null,
+ "githubUrl": "https://github.com/MystenLabs/walrus-sites/releases/tag/mainnet-v2.9.0",
+ "changes": [
+ {
+ "text": "site-builder: Use multi_get for resource dynamic field fetching",
+ "url": "https://github.com/MystenLabs/walrus-sites/pull/684"
+ },
+ {
+ "text": "site-builder: Use active env, not envs.first(), for sitemap RPC",
+ "url": "https://github.com/MystenLabs/walrus-sites/pull/704"
+ },
+ {
+ "text": "portal: Fix local Docker portal script and suppress meta logger noise",
+ "url": "https://github.com/MystenLabs/walrus-sites/pull/700"
+ },
+ {
+ "text": "dev: Contract upgrade documentation",
+ "url": "https://github.com/MystenLabs/walrus-sites/pull/692"
+ },
+ {
+ "text": "site-builder: Bump Sui to testnet-v1.69.1, Walrus to testnet-v1.46.1",
+ "url": "https://github.com/MystenLabs/walrus-sites/pull/701"
+ },
+ {
+ "text": "portal: Bump vite from 5.4.21 to 8.0.8 in portal/common",
+ "url": "https://github.com/MystenLabs/walrus-sites/pull/702"
+ }
+ ]
+ },
+ {
+ "id": "walrus-testnet-v1.47.0",
+ "date": "2026-04-22T17:29:56Z",
+ "category": "walrus",
+ "title": "Walrus v1.47.0",
+ "description": "The Testnet preview of storage pool support in the storage node, plus the aggregator's new retryable\nHTTP 503 `BLOB_UNAVAILABLE` response for temporarily unretrievable blobs. Range requests by object\nID now return blob attribute headers such as `Content-Type` correctly.",
+ "badge": "Testnet",
+ "githubUrl": "https://github.com/MystenLabs/walrus/releases/tag/testnet-v1.47.0",
+ "changes": [
+ {
+ "text": "enable storage pool support in storage node",
+ "url": "https://github.com/MystenLabs/walrus/pull/3256"
+ },
+ {
+ "text": "The `GET /v1/blobs/{blob_id}` endpoint now returns",
+ "url": "https://github.com/MystenLabs/walrus/pull/3284"
+ },
+ {
+ "text": "Blob attribute headers (such as Content-Type) are now correctly included on range request responses when reading blobs by object ID.",
+ "url": "https://github.com/MystenLabs/walrus/pull/3084"
+ }
+ ]
+ },
+ {
+ "id": "walrus-mainnet-v1.46.1",
+ "date": "2026-04-15T20:45:21Z",
+ "category": "walrus",
+ "title": "Walrus v1.46.1",
+ "description": "Adds a `reuse_resources` query parameter so the publisher and daemon can resume an existing,\nunfinished upload pipeline instead of starting over.",
+ "badge": "Mainnet",
+ "githubUrl": "https://github.com/MystenLabs/walrus/releases/tag/mainnet-v1.46.1",
+ "changes": [
+ {
+ "text": "allow publisher and daemon to add `reuse_resources` query parameters to try to reuse existing (unfinished) upload pipeline",
+ "url": "https://github.com/MystenLabs/walrus/pull/3202"
+ }
+ ]
+ },
+ {
+ "id": "sites-mainnet-v2.8.0",
+ "date": "2026-04-02T13:02:07Z",
+ "category": "walrus-sites",
+ "title": "Walrus Sites v2.8.0",
+ "description": "This release adds server-side redirect support to Walrus Sites. Redirect rules are stored as dynamic fields on the on-chain `Site` object, configurable via `ws-resources.json` with glob pattern matching. The portal evaluates redirects before resource fetching and serves 3xx response.\r\n\r\n**This release includes a Move contract upgrade** — the `walrus_site` package is upgraded to add redirect storage on-chain. To use the new redirects feature, update the `package_id` in your `sites-config.yaml` to point to the latest package ID, or remove the `package_id` field entirely so that MVR can resolve it automatically.\r\n\r\n**Portal config change:** `site_package` has been renamed to `original_package_id` as this is what actually matters of it.\r\n\r\nThe portal has also been updated to Mysten SDK v2.",
+ "badge": null,
+ "githubUrl": "https://github.com/MystenLabs/walrus-sites/releases/tag/mainnet-v2.8.0",
+ "changes": [
+ {
+ "text": "move/site-builder/portal: Support server-side redirects",
+ "url": "https://github.com/MystenLabs/walrus-sites/pull/685"
+ },
+ {
+ "text": "server-portal: Drop blobOrPatchId and path labels from aggregator histogram",
+ "url": "https://github.com/MystenLabs/walrus-sites/pull/691"
+ },
+ {
+ "text": "site-builder: Clear checkout credentials before pushing with automerge token",
+ "url": "https://github.com/MystenLabs/walrus-sites/pull/693"
+ },
+ {
+ "text": "site-builder: Auto-detect Sui version when bumping Walrus alone",
+ "url": "https://github.com/MystenLabs/walrus-sites/pull/676"
+ },
+ {
+ "text": "site-builder: Use automerge token for git push to trigger CI on version bump PRs",
+ "url": "https://github.com/MystenLabs/walrus-sites/pull/681"
+ },
+ {
+ "text": "e2e: Build site-builder from main instead of using suiup",
+ "url": "https://github.com/MystenLabs/walrus-sites/pull/698"
+ },
+ {
+ "text": "portal: Update portal deps to Mysten SDK v2",
+ "url": "https://github.com/MystenLabs/walrus-sites/pull/683"
+ },
+ {
+ "text": "testing: Add a script for testing normal snake operation",
+ "url": "https://github.com/MystenLabs/walrus-sites/pull/689"
+ },
+ {
+ "text": "move/site-builder: Update package ids after upgrade",
+ "url": "https://github.com/MystenLabs/walrus-sites/pull/697"
+ }
+ ]
+ },
+ {
+ "id": "walrus-mainnet-v1.45.2",
+ "date": "2026-04-01T23:07:37Z",
+ "category": "walrus",
+ "title": "Walrus v1.45.2",
+ "description": "Raises the storage node's RocksDB background threads from 2 to 16 and adds the opt-in\n`garbage_collection.enable_immediate_data_deletion` parameter. Also fixes a combined-daemon body\nsize limit that was silently rejecting uploads with 413 errors and adds a `walrus info coin` CLI\nsubcommand.",
+ "badge": "Mainnet",
+ "githubUrl": "https://github.com/MystenLabs/walrus/releases/tag/mainnet-v1.45.2",
+ "changes": [
+ {
+ "text": "Increases the number of RocksDB background threads from 2 (RocksDB default) to 16. Can be configured through the config file.",
+ "url": "https://github.com/MystenLabs/walrus/pull/3155"
+ },
+ {
+ "text": "Add a new configuration parameter `garbage_collection.enable_immediate_data_deletion`, which defaults to `false`. When processing a `BlobDeleted` event, data is only deleted immediately if this parameter is set to true.",
+ "url": "https://github.com/MystenLabs/walrus/pull/3160"
+ },
+ {
+ "text": "Fixed body size limit in combined daemon mode (running publisher and aggregator together). The limit was set 1024x too small, causing uploads to be silently rejected with 413 Payload Too Large. Standalone publisher mode was not affected.",
+ "url": "https://github.com/MystenLabs/walrus/pull/3072"
+ },
+ {
+ "text": "Added a new `info` subcommand to the CLI. `walrus info coin` provides the StructTag of the walrus coin given the CLI's configured context.",
+ "url": "https://github.com/MystenLabs/walrus/pull/3122"
+ }
+ ]
+ },
+ {
+ "id": "walrus-testnet-v1.45.1",
+ "date": "2026-03-25T20:06:57Z",
+ "category": "walrus",
+ "title": "Walrus v1.45.1",
+ "description": "The Testnet preview that raises RocksDB background threads from 2 to 16 and adds the opt-in\n`garbage_collection.enable_immediate_data_deletion` parameter. Includes the combined-daemon 413\nupload fix and the new `walrus info coin` CLI subcommand.",
+ "badge": "Testnet",
+ "githubUrl": "https://github.com/MystenLabs/walrus/releases/tag/testnet-v1.45.1",
+ "changes": [
+ {
+ "text": "Increases the number of RocksDB background threads from 2 (RocksDB default) to 16. Can be configured through the config file.",
+ "url": "https://github.com/MystenLabs/walrus/pull/3155"
+ },
+ {
+ "text": "Add a new configuration parameter `garbage_collection.enable_immediate_data_deletion`, which defaults to `false`. When processing a `BlobDeleted` event, data is only deleted immediately if this parameter is set to true.",
+ "url": "https://github.com/MystenLabs/walrus/pull/3160"
+ },
+ {
+ "text": "Fixed body size limit in combined daemon mode (running publisher and aggregator together). The limit was set 1024x too small, causing uploads to be silently rejected with 413 Payload Too Large. Standalone publisher mode was not affected.",
+ "url": "https://github.com/MystenLabs/walrus/pull/3072"
+ },
+ {
+ "text": "Added a new `info` subcommand to the CLI. `walrus info coin` provides the StructTag of the walrus coin given the CLI's configured context.",
+ "url": "https://github.com/MystenLabs/walrus/pull/3122"
+ }
+ ]
+ },
+ {
+ "id": "walrus-mainnet-v1.44.3",
+ "date": "2026-03-19T20:17:13Z",
+ "category": "walrus",
+ "title": "Walrus v1.44.3",
+ "description": "Fixes a storage node crash caused by outdated epoch state, raises RocksDB background threads from 2\nto 16, and adds the opt-in `garbage_collection.enable_immediate_data_deletion` parameter.",
+ "badge": "Mainnet",
+ "githubUrl": "https://github.com/MystenLabs/walrus/releases/tag/mainnet-v1.44.3",
+ "changes": [
+ {
+ "text": "Fixed an issue that crashed storage nodes due to outdated epoch state.",
+ "url": "https://github.com/MystenLabs/walrus/pull/3005"
+ },
+ {
+ "text": "Increases the number of RocksDB background threads from 2 (RocksDB default) to 16. Can be configured through the config file.",
+ "url": "https://github.com/MystenLabs/walrus/pull/3156"
+ },
+ {
+ "text": "Add a new configuration parameter `garbage_collection.enable_immediate_data_deletion`, which defaults to `false`. When processing a `BlobDeleted` event, data is only deleted immediately if this parameter is set to true.",
+ "url": "https://github.com/MystenLabs/walrus/pull/3161"
+ }
+ ]
+ },
+ {
+ "id": "walrus-mainnet-v1.44.2",
+ "date": "2026-03-19T01:20:23Z",
+ "category": "walrus",
+ "title": "Walrus v1.44.2",
+ "description": null,
+ "badge": "Mainnet",
+ "githubUrl": "https://github.com/MystenLabs/walrus/releases/tag/mainnet-v1.44.2",
+ "changes": [
+ {
+ "text": "Fixed an issue that crashed storage nodes due to outdated epoch state.",
+ "url": "https://github.com/MystenLabs/walrus/pull/3005"
+ }
+ ]
+ },
+ {
+ "id": "sites-mainnet-v2.7.0",
+ "date": "2026-03-12T14:38:34Z",
+ "category": "walrus-sites",
+ "title": "Walrus Sites v2.7.0",
+ "description": "Site builder reliability improvements: large sites (500+ routes/resources) no longer fail with `InsufficientGas` errors due to PTB byte-size overflow, and Site deploying is more resilient to transient Sui object version conflicts with automatic retry and exponential backoff.",
+ "badge": null,
+ "githubUrl": "https://github.com/MystenLabs/walrus-sites/releases/tag/mainnet-v2.7.0",
+ "changes": [
+ {
+ "text": "site-builder: Prevent PTB byte-size overflow for large sites",
+ "url": "https://github.com/MystenLabs/walrus-sites/pull/674"
+ },
+ {
+ "text": "site-builder: Retry on Sui object version conflicts",
+ "url": "https://github.com/MystenLabs/walrus-sites/pull/660"
+ },
+ {
+ "text": "ci: Use walrus-automerge app token and add reviewers to version bump PRs",
+ "url": "https://github.com/MystenLabs/walrus-sites/pull/672"
+ }
+ ]
+ },
+ {
+ "id": "walrus-testnet-v1.44.1",
+ "date": "2026-03-11T18:26:21Z",
+ "category": "walrus",
+ "title": "Walrus v1.44.1",
+ "description": null,
+ "badge": "Testnet",
+ "githubUrl": "https://github.com/MystenLabs/walrus/releases/tag/testnet-v1.44.1",
+ "changes": [
+ {
+ "text": "Fixed an issue that crashed storage nodes due to outdated epoch state.",
+ "url": "https://github.com/MystenLabs/walrus/pull/3005"
+ }
+ ]
+ },
+ {
+ "id": "walrus-mainnet-v1.43.1",
+ "date": "2026-03-04T17:10:52Z",
+ "category": "walrus",
+ "title": "Walrus v1.43.1",
+ "description": "Allows storage nodes to vote on pricing denominated in USD, a capability that becomes usable once\nthe contract adds support for it.",
+ "badge": "Mainnet",
+ "githubUrl": "https://github.com/MystenLabs/walrus/releases/tag/mainnet-v1.43.1",
+ "changes": [
+ {
+ "text": "allow storage nodes to vote on pricing based on USD. This functionality can only be used after the contract supports this.",
+ "url": "https://github.com/MystenLabs/walrus/pull/2960"
+ }
+ ]
+ },
+ {
+ "id": "sites-mainnet-v2.6.0",
+ "date": "2026-02-26T22:14:34Z",
+ "category": "walrus-sites",
+ "title": "Walrus Sites v2.6.0",
+ "description": "The portal configuration is now loaded from a YAML file instead of environment variables. Env vars can still be used as overrides. This simplifies deployment (single ConfigMap vs many env vars) and enables structured configuration (URL arrays with priority/retries are native YAML lists instead of pipe-delimited strings).",
+ "badge": null,
+ "githubUrl": "https://github.com/MystenLabs/walrus-sites/releases/tag/mainnet-v2.6.0",
+ "changes": [
+ {
+ "text": "server-portal: Migrate portal configuration from env vars to YAML",
+ "url": "https://github.com/MystenLabs/walrus-sites/pull/665"
+ },
+ {
+ "text": "server-portal: PriorityExecutor should fallback based on priority",
+ "url": "https://github.com/MystenLabs/walrus-sites/pull/648"
+ },
+ {
+ "text": "server-portal: Add a local-docker-portal.sh script",
+ "url": "https://github.com/MystenLabs/walrus-sites/pull/659"
+ },
+ {
+ "text": "site-builder: Error gracefully on invalid glob pattern in ws-resources.json",
+ "url": "https://github.com/MystenLabs/walrus-sites/pull/650"
+ },
+ {
+ "text": "site-builder: Fix lowercasing issue with header mappings",
+ "url": "https://github.com/MystenLabs/walrus-sites/pull/651"
+ },
+ {
+ "text": "site-builder: Bump script fails when Walrus rev is a tag instead of SHA",
+ "url": "https://github.com/MystenLabs/walrus-sites/pull/666"
+ },
+ {
+ "text": "server-portal: Add job for server tests",
+ "url": "https://github.com/MystenLabs/walrus-sites/pull/658"
+ },
+ {
+ "text": "site-builder: Add automated Sui + Walrus version bump workflow",
+ "url": "https://github.com/MystenLabs/walrus-sites/pull/663"
+ },
+ {
+ "text": "site-builder: Add anyhow error contexts",
+ "url": "https://github.com/MystenLabs/walrus-sites/pull/654"
+ },
+ {
+ "text": "server-portal: Add more info to error logs",
+ "url": "https://github.com/MystenLabs/walrus-sites/pull/662"
+ },
+ {
+ "text": "portal: Rename priority to metric",
+ "url": "https://github.com/MystenLabs/walrus-sites/pull/657"
+ },
+ {
+ "text": "site-builder: Bump walrus & sui deps",
+ "url": "https://github.com/MystenLabs/walrus-sites/pull/652"
+ },
+ {
+ "text": "site-builder: Bump bytes from 1.11.0 to 1.11.1",
+ "url": "https://github.com/MystenLabs/walrus-sites/pull/647"
+ },
+ {
+ "text": "site-builder: Bump time from 0.3.46 to 0.3.47",
+ "url": "https://github.com/MystenLabs/walrus-sites/pull/655"
+ }
+ ]
+ },
+ {
+ "id": "walrus-mainnet-v1.42.1",
+ "date": "2026-02-18T19:00:22Z",
+ "category": "walrus",
+ "title": "Walrus v1.42.1",
+ "description": "A maintenance release on Mainnet with no user-facing changes documented in the release notes; see\nthe full commit log for internal updates.",
+ "badge": "Mainnet",
+ "githubUrl": "https://github.com/MystenLabs/walrus/releases/tag/mainnet-v1.42.1",
+ "changes": []
+ },
+ {
+ "id": "sites-mainnet-v2.4.0",
+ "date": "2026-02-09T12:19:47Z",
+ "category": "walrus-sites",
+ "title": "Walrus Sites v2.4.0",
+ "description": null,
+ "badge": null,
+ "githubUrl": "https://github.com/MystenLabs/walrus-sites/releases/tag/mainnet-v2.4.0",
+ "changes": [
+ {
+ "text": "portal: Handle aggregator 403/404 errors with better messaging",
+ "url": "https://github.com/MystenLabs/walrus-sites/pull/646"
+ },
+ {
+ "text": "portal: Print errors correctly in logger",
+ "url": "https://github.com/MystenLabs/walrus-sites/pull/640"
+ },
+ {
+ "text": "portal: Add prettier lint workflow for ts files",
+ "url": "https://github.com/MystenLabs/walrus-sites/pull/644"
+ },
+ {
+ "text": "portal: Use prettier to format portal",
+ "url": "https://github.com/MystenLabs/walrus-sites/pull/645"
+ },
+ {
+ "text": "portal: Include .cause in error log",
+ "url": "https://github.com/MystenLabs/walrus-sites/pull/649"
+ }
+ ]
+ },
+ {
+ "id": "walrus-mainnet-v1.41.1",
+ "date": "2026-02-05T22:46:44Z",
+ "category": "walrus",
+ "title": "Walrus v1.41.1",
+ "description": "Enables garbage collection by default on Mainnet and adds an alpha `/v1alpha/blobs/{blob_id}/stream`\nendpoint designed to lower time to first byte when streaming blob data.",
+ "badge": "Mainnet",
+ "githubUrl": "https://github.com/MystenLabs/walrus/releases/tag/mainnet-v1.41.1",
+ "changes": [
+ {
+ "text": "Garbage collection is now enabled by default on Mainnet.",
+ "url": "https://github.com/MystenLabs/walrus/pull/2851"
+ },
+ {
+ "text": "There is a new alpha endpoint `/v1alpha/blobs/{blob_id}/stream` which is intended to reduce latency to first byte, and is intended to be used to stream blob data.",
+ "url": "https://github.com/MystenLabs/walrus/pull/2801"
+ }
+ ]
+ },
+ {
+ "id": "sites-mainnet-v2.3.1",
+ "date": "2026-01-29T14:51:30Z",
+ "category": "walrus-sites",
+ "title": "Walrus Sites v2.3.1",
+ "description": "Requires Walrus CLI v1.37.0 or later",
+ "badge": null,
+ "githubUrl": "https://github.com/MystenLabs/walrus-sites/releases/tag/mainnet-v2.3.1",
+ "changes": [
+ {
+ "text": "site-builder: Disabled child process uploads to fix JSON parsing errors with Walrus CLI",
+ "url": "https://github.com/MystenLabs/walrus-sites/pull/642"
+ },
+ {
+ "text": "ci: Simplify dockerhub workflow: use release tag",
+ "url": "https://github.com/MystenLabs/walrus-sites/pull/641"
+ }
+ ]
+ },
+ {
+ "id": "walrus-testnet-v1.41.0",
+ "date": "2026-01-28T18:32:05Z",
+ "category": "walrus",
+ "title": "Walrus v1.41.0",
+ "description": "The Testnet preview enabling garbage collection by default and introducing the alpha\n`/v1alpha/blobs/{blob_id}/stream` endpoint for lower-latency blob streaming.",
+ "badge": "Testnet",
+ "githubUrl": "https://github.com/MystenLabs/walrus/releases/tag/testnet-v1.41.0",
+ "changes": [
+ {
+ "text": "Garbage collection is now enabled by default on Mainnet.",
+ "url": "https://github.com/MystenLabs/walrus/pull/2851"
+ },
+ {
+ "text": "There is a new alpha endpoint `/v1alpha/blobs/{blob_id}/stream` which is intended to reduce latency to first byte, and is intended to be used to stream blob data.",
+ "url": "https://github.com/MystenLabs/walrus/pull/2801"
+ }
+ ]
+ },
+ {
+ "id": "sites-mainnet-v2.3.0",
+ "date": "2026-01-26T15:38:44Z",
+ "category": "walrus-sites",
+ "title": "Walrus Sites v2.3.0",
+ "description": null,
+ "badge": null,
+ "githubUrl": "https://github.com/MystenLabs/walrus-sites/releases/tag/mainnet-v2.3.0",
+ "changes": [
+ {
+ "text": "site-builder: Refine 'deploy --dry-run' output, add Sui gas estimates.",
+ "url": "https://github.com/MystenLabs/walrus-sites/pull/614"
+ },
+ {
+ "text": "site-builder: Add size-based file grouping.",
+ "url": "https://github.com/MystenLabs/walrus-sites/pull/606"
+ },
+ {
+ "text": "site-builder: Add context to the site-fields not found error.",
+ "url": "https://github.com/MystenLabs/walrus-sites/pull/633"
+ },
+ {
+ "text": "site-builder: Fix site updating when there are expired blobs.",
+ "url": "https://github.com/MystenLabs/walrus-sites/pull/638"
+ },
+ {
+ "text": "server-portal: Fix serializing error when an unexpected exception is caught.",
+ "url": "https://github.com/MystenLabs/walrus-sites/pull/632"
+ },
+ {
+ "text": "portal: Fix portal common strict true.",
+ "url": "https://github.com/MystenLabs/walrus-sites/pull/634"
+ }
+ ]
+ },
+ {
+ "id": "walrus-mainnet-v1.40.3",
+ "date": "2026-01-21T18:10:42Z",
+ "category": "walrus",
+ "title": "Walrus v1.40.3",
+ "description": "Enables database transactions and garbage collection by default on Testnet, both of which can be\nturned off in the node configuration; operators using `experimental_use_optimistic_transaction_db`\nshould remove that flag.",
+ "badge": "Mainnet",
+ "githubUrl": "https://github.com/MystenLabs/walrus/releases/tag/mainnet-v1.40.3",
+ "changes": [
+ {
+ "text": "Enables DB transactions (implemented in [#247](https://github.com/MystenLabs/walrus/pull/247)5) and garbage collection (implemented in [#2542](https://github.com/MystenLabs/walrus/pull/2542), [#2599](https://github.com/MystenLabs/walrus/pull/2599), and [#272](https://github.com/MystenLabs/walrus/pull/272)5) by default on Testnet. The features can be disabled by adding the following to your node configuration:",
+ "url": "https://github.com/MystenLabs/walrus/pull/2772"
+ }
+ ]
+ },
+ {
+ "id": "sites-mainnet-v2.2.1",
+ "date": "2026-01-14T14:46:23Z",
+ "category": "walrus-sites",
+ "title": "Walrus Sites v2.2.1",
+ "description": "This release introduces an optimization for site updates: files that remain unchanged during an update are no longer re-uploaded into new Quilts. Only new and modified files are uploaded.",
+ "badge": null,
+ "githubUrl": "https://github.com/MystenLabs/walrus-sites/releases/tag/mainnet-v2.2.1",
+ "changes": [
+ {
+ "text": "site-builder: Use correct walrus package-id from Staking object when extending blobs",
+ "url": "https://github.com/MystenLabs/walrus-sites/pull/630"
+ },
+ {
+ "text": "site-builder: Optimize site updates by creating new Quilts only for changed resources",
+ "url": "https://github.com/MystenLabs/walrus-sites/pull/616"
+ },
+ {
+ "text": "site-builder: Add config path to error output",
+ "url": "https://github.com/MystenLabs/walrus-sites/pull/548"
+ },
+ {
+ "text": "site-builder: Add Walrus and Seal documentation builder workflow",
+ "url": "https://github.com/MystenLabs/walrus-sites/pull/623"
+ },
+ {
+ "text": "site-builder: Add system resource usage tracking to build scripts",
+ "url": "https://github.com/MystenLabs/walrus-sites/pull/627"
+ },
+ {
+ "text": "server-portal: Remove Amplitude integration",
+ "url": "https://github.com/MystenLabs/walrus-sites/pull/620"
+ }
+ ]
+ },
+ {
+ "id": "walrus-mainnet-v1.39.1",
+ "date": "2026-01-07T19:45:17Z",
+ "category": "walrus",
+ "title": "Walrus v1.39.1",
+ "description": "Storage node operators must remove the obsolete `use_legacy_event_provider` flag from their\nconfiguration if it is still present.",
+ "badge": "Mainnet",
+ "githubUrl": "https://github.com/MystenLabs/walrus/releases/tag/mainnet-v1.39.1",
+ "changes": []
+ },
+ {
+ "id": "sites-mainnet-v2.1.2",
+ "date": "2025-12-16T10:46:56Z",
+ "category": "walrus-sites",
+ "title": "Walrus Sites v2.1.2",
+ "description": null,
+ "badge": null,
+ "githubUrl": "https://github.com/MystenLabs/walrus-sites/releases/tag/mainnet-v2.1.2",
+ "changes": []
+ },
+ {
+ "id": "walrus-mainnet-v1.38.3",
+ "date": "2025-12-10T22:03:58Z",
+ "category": "walrus",
+ "title": "Walrus v1.38.3",
+ "description": "Delivers significant memory-usage reductions across the aggregator, publisher, and CLI, plus lower\nupload latency from fewer Sui RPC requests. Adds a new byte-range read API and an alpha\n`/v1alpha/blobs/concat` endpoint, and removes the long-unused `get_recovery_symbol` endpoint.",
+ "badge": "Mainnet",
+ "githubUrl": "https://github.com/MystenLabs/walrus/releases/tag/mainnet-v1.38.3",
+ "changes": []
+ },
+ {
+ "id": "walrus-testnet-v1.38.2",
+ "date": "2025-12-09T19:15:16Z",
+ "category": "walrus",
+ "title": "Walrus v1.38.2",
+ "description": "The Testnet build with major memory-usage reductions across the aggregator, publisher, and CLI and\nreduced upload latency. Adds a byte-range read API and the alpha `/v1alpha/blobs/concat` endpoint\nwhile removing the deprecated `get_recovery_symbol` endpoint.",
+ "badge": "Testnet",
+ "githubUrl": "https://github.com/MystenLabs/walrus/releases/tag/testnet-v1.38.2",
+ "changes": []
+ },
+ {
+ "id": "sites-mainnet-v2.1.1",
+ "date": "2025-12-04T11:09:07Z",
+ "category": "walrus-sites",
+ "title": "Walrus Sites v2.1.1",
+ "description": "This is a bugfix release for the Portal component and does not impact Site Builder.",
+ "badge": null,
+ "githubUrl": "https://github.com/MystenLabs/walrus-sites/releases/tag/mainnet-v2.1.1",
+ "changes": [
+ {
+ "text": "server-portal: Treat only 5xx responses as aggregator failures.",
+ "url": "https://github.com/MystenLabs/walrus-sites/pull/611"
+ }
+ ]
+ },
+ {
+ "id": "walrus-testnet-v1.38.1",
+ "date": "2025-12-03T19:02:17Z",
+ "category": "walrus",
+ "title": "Walrus v1.38.1",
+ "description": "An earlier Testnet build of the memory-usage and latency improvements across the aggregator,\npublisher, and CLI, alongside the new byte-range read API and alpha `/v1alpha/blobs/concat`\nendpoint.",
+ "badge": "Testnet",
+ "githubUrl": "https://github.com/MystenLabs/walrus/releases/tag/testnet-v1.38.1",
+ "changes": []
+ },
+ {
+ "id": "sites-mainnet-v2.1.0",
+ "date": "2025-12-01T14:28:29Z",
+ "category": "walrus-sites",
+ "title": "Walrus Sites v2.1.0",
+ "description": null,
+ "badge": null,
+ "githubUrl": "https://github.com/MystenLabs/walrus-sites/releases/tag/mainnet-v2.1.0",
+ "changes": [
+ {
+ "text": "site-builder: Support files larger than `--max-quilt-size`.",
+ "url": "https://github.com/MystenLabs/walrus-sites/pull/602"
+ },
+ {
+ "text": "portal: Enhance error handling with 503 and 500 responses for service unavailability and unhandled exceptions",
+ "url": "https://github.com/MystenLabs/walrus-sites/pull/604"
+ },
+ {
+ "text": "site-builder: Fix abort on updating sites with more than 1000 resources.",
+ "url": "https://github.com/MystenLabs/walrus-sites/pull/603"
+ },
+ {
+ "text": "portal: Fix full-node error metric not incrementing.",
+ "url": "https://github.com/MystenLabs/walrus-sites/pull/605"
+ },
+ {
+ "text": "site-builder: Partly handle invalid object version fetched by full-node.",
+ "url": "https://github.com/MystenLabs/walrus-sites/pull/597"
+ },
+ {
+ "text": "site-builder: Replace \\ with / in full-path to resource path for Windows.",
+ "url": "https://github.com/MystenLabs/walrus-sites/pull/607"
+ },
+ {
+ "text": "portal: Add aggregator fetching metric",
+ "url": "https://github.com/MystenLabs/walrus-sites/pull/595"
+ },
+ {
+ "text": "Github Actions: Updates the migrated deploy github action",
+ "url": "https://github.com/MystenLabs/walrus-sites/pull/601"
+ }
+ ]
+ },
+ {
+ "id": "walrus-mainnet-v1.37.0",
+ "date": "2025-11-19T18:51:22Z",
+ "category": "walrus",
+ "title": "Walrus v1.37.0",
+ "description": "Changes the default consistency check on reads; the previous strict behavior can be restored with\nthe `strict_consistency_check=true` query option or the `--strict-consistency-check` CLI flag.",
+ "badge": "Mainnet",
+ "githubUrl": "https://github.com/MystenLabs/walrus/releases/tag/mainnet-v1.37.0",
+ "changes": []
+ },
+ {
+ "id": "sites-mainnet-v2.0.0",
+ "date": "2025-11-17T16:55:56Z",
+ "category": "walrus-sites",
+ "title": "Walrus Sites v2.0.0",
+ "description": "This major release transitions the `site-builder` CLI to exclusively use **Quilts** for site data",
+ "badge": null,
+ "githubUrl": "https://github.com/MystenLabs/walrus-sites/releases/tag/mainnet-v2.0.0",
+ "changes": [
+ {
+ "text": "Added comprehensive test coverage for `max-quilt-size` limit enforcement.",
+ "url": "https://github.com/MystenLabs/walrus-sites/pull/591"
+ },
+ {
+ "text": "Updated Sui and Walrus dependencies.",
+ "url": "https://github.com/MystenLabs/walrus-sites/pull/598"
+ },
+ {
+ "text": "Reduced code duplication in Quilt update tests, improving maintainability.",
+ "url": "https://github.com/MystenLabs/walrus-sites/pull/590"
+ },
+ {
+ "text": "Updated github-action, removed --check-extend.",
+ "url": "https://github.com/MystenLabs/walrus-sites/pull/600"
+ }
+ ]
+ },
+ {
+ "id": "walrus-mainnet-v1.36.1",
+ "date": "2025-11-07T15:25:40Z",
+ "category": "walrus",
+ "title": "Walrus v1.36.1",
+ "description": "Adds a `skip_consistency_check` option (and `--skip-consistency-check` CLI flag) for use only with\ntrusted writers, and trims `server_address` and `server_port` labels from request-duration metrics\nfor fast, successful responses.",
+ "badge": "Mainnet",
+ "githubUrl": "https://github.com/MystenLabs/walrus/releases/tag/mainnet-v1.36.1",
+ "changes": []
+ },
+ {
+ "id": "sites-mainnet-v1.3.1",
+ "date": "2025-11-03T09:18:38Z",
+ "category": "walrus-sites",
+ "title": "Walrus Sites v1.3.1",
+ "description": "Work for feature flag `quilts-experimental`. Mainly testing and bug-fixes.",
+ "badge": null,
+ "githubUrl": "https://github.com/MystenLabs/walrus-sites/releases/tag/mainnet-v1.3.1",
+ "changes": []
+ },
+ {
+ "id": "walrus-mainnet-v1.35.2",
+ "date": "2025-10-29T16:08:15Z",
+ "category": "walrus",
+ "title": "Walrus v1.35.2",
+ "description": "Brings the trusted-writer `skip_consistency_check` option and `--skip-consistency-check` CLI flag to\nMainnet, and removes `server_address` and `server_port` labels from metrics for fast, successful\nresponses.",
+ "badge": "Mainnet",
+ "githubUrl": "https://github.com/MystenLabs/walrus/releases/tag/mainnet-v1.35.2",
+ "changes": []
+ },
+ {
+ "id": "walrus-mainnet-v1.35.1",
+ "date": "2025-10-23T20:13:04Z",
+ "category": "walrus",
+ "title": "Walrus v1.35.1",
+ "description": "Delivers a major reduction in memory usage when reading large blobs and adds the sliver range to\n`store-quilt` output. Note the warning that the default consistency check will change in v1.37.",
+ "badge": "Mainnet",
+ "githubUrl": "https://github.com/MystenLabs/walrus/releases/tag/mainnet-v1.35.1",
+ "changes": []
+ },
+ {
+ "id": "sites-mainnet-v1.3.0",
+ "date": "2025-10-21T09:37:11Z",
+ "category": "walrus-sites",
+ "title": "Walrus Sites v1.3.0",
+ "description": null,
+ "badge": null,
+ "githubUrl": "https://github.com/MystenLabs/walrus-sites/releases/tag/mainnet-v1.3.0",
+ "changes": [
+ {
+ "text": "site-builder: Support list directory when deploying with quilts",
+ "url": "https://github.com/MystenLabs/walrus-sites/pull/578"
+ },
+ {
+ "text": "site-builder: Do not delete moved-resource's blob",
+ "url": "https://github.com/MystenLabs/walrus-sites/pull/575"
+ },
+ {
+ "text": "site-builder: Propagate epoch-argument in quilts implementation",
+ "url": "https://github.com/MystenLabs/walrus-sites/pull/577"
+ },
+ {
+ "text": "site-builder: Remove temp hack using empty path vec for publish-quilts command",
+ "url": "https://github.com/MystenLabs/walrus-sites/pull/572"
+ },
+ {
+ "text": "site-builder: Create new test for duplicate files for quilts publish",
+ "url": "https://github.com/MystenLabs/walrus-sites/pull/576"
+ },
+ {
+ "text": "site-builder: Bump versions of site-builder and portal",
+ "url": "https://github.com/MystenLabs/walrus-sites/pull/580"
+ },
+ {
+ "text": "vite: Bump vite from 7.0.0 to 7.1.5 in /examples/vite-react-ts",
+ "url": "https://github.com/MystenLabs/walrus-sites/pull/553"
+ },
+ {
+ "text": "site-builder: Blob update test with a lot of files",
+ "url": "https://github.com/MystenLabs/walrus-sites/pull/573"
+ }
+ ]
+ },
+ {
+ "id": "walrus-testnet-v1.35.0",
+ "date": "2025-10-16T00:25:09Z",
+ "category": "walrus",
+ "title": "Walrus v1.35.0",
+ "description": "The Testnet preview with a major reduction in memory usage for large blobs and sliver-range\ninformation in `store-quilt` output, plus advance notice that the default consistency check changes\nin v1.37.",
+ "badge": "Testnet",
+ "githubUrl": "https://github.com/MystenLabs/walrus/releases/tag/testnet-v1.35.0",
+ "changes": []
+ },
+ {
+ "id": "walrus-mainnet-v1.34.2",
+ "date": "2025-10-09T17:33:50Z",
+ "category": "walrus",
+ "title": "Walrus v1.34.2",
+ "description": "Adds an aggregator `--max-blob-size` option to cap the size of requestable blobs. Note the warning\nthat blobs are stored as deletable by default starting in v1.33; pass `permanent=true` to keep the\nold behavior.",
+ "badge": "Mainnet",
+ "githubUrl": "https://github.com/MystenLabs/walrus/releases/tag/mainnet-v1.34.2",
+ "changes": []
+ },
+ {
+ "id": "sites-mainnet-v1.2.1",
+ "date": "2025-10-07T11:40:43Z",
+ "category": "walrus-sites",
+ "title": "Walrus Sites v1.2.1",
+ "description": null,
+ "badge": null,
+ "githubUrl": "https://github.com/MystenLabs/walrus-sites/releases/tag/mainnet-v1.2.1",
+ "changes": [
+ {
+ "text": "site-builder: Dynamically split move-commands into ptbs",
+ "url": "https://github.com/MystenLabs/walrus-sites/pull/564"
+ },
+ {
+ "text": "site-builder: Fix dry run throwing error for publish quilts",
+ "url": "https://github.com/MystenLabs/walrus-sites/pull/567"
+ },
+ {
+ "text": "portal: Fix logger typo, not passing args in getPropertiesWithContext",
+ "url": "https://github.com/MystenLabs/walrus-sites/pull/565"
+ },
+ {
+ "text": "Add #[ignore] in integration tests",
+ "url": "https://github.com/MystenLabs/walrus-sites/pull/566"
+ }
+ ]
+ },
+ {
+ "id": "walrus-testnet-v1.34.1",
+ "date": "2025-10-01T17:03:56Z",
+ "category": "walrus",
+ "title": "Walrus v1.34.1",
+ "description": "The Testnet build adding the aggregator `--max-blob-size` option, with a reminder that blobs become\ndeletable by default in v1.33 unless `permanent=true` is set.",
+ "badge": "Testnet",
+ "githubUrl": "https://github.com/MystenLabs/walrus/releases/tag/testnet-v1.34.1",
+ "changes": []
+ },
+ {
+ "id": "walrus-mainnet-v1.33.3",
+ "date": "2025-09-29T18:31:36Z",
+ "category": "walrus",
+ "title": "Walrus v1.33.3",
+ "description": "Adds the aggregator `--max-blob-size` option and marks the switch to deletable-by-default blobs;\npass `permanent=true` (or `--permanent`) to retain permanent storage.",
+ "badge": "Mainnet",
+ "githubUrl": "https://github.com/MystenLabs/walrus/releases/tag/mainnet-v1.33.3",
+ "changes": []
+ },
+ {
+ "id": "walrus-testnet-v1.33.2",
+ "date": "2025-09-25T23:39:35Z",
+ "category": "walrus",
+ "title": "Walrus v1.33.2",
+ "description": "Marks the Testnet switch to deletable-by-default blob storage; add `permanent=true` or the\n`--permanent` CLI option to keep blobs permanent.",
+ "badge": "Testnet",
+ "githubUrl": "https://github.com/MystenLabs/walrus/releases/tag/testnet-v1.33.2",
+ "changes": [
+ {
+ "text": "**Warning:** Starting with this release (`v1.33`), blobs are stored as deletable by default; if you want to keep the previous behavior, you need to add the `permanent=true` query parameter.",
+ "url": "https://github.com/MystenLabs/walrus/pull/2523"
+ },
+ {
+ "text": "**Warning:** Starting with this release (`v1.33`), blobs are stored as deletable by default; if you want to keep the previous behavior, you need to add the `--permanent` option when storing blobs.",
+ "url": "https://github.com/MystenLabs/walrus/pull/2523"
+ }
+ ]
+ },
+ {
+ "id": "sites-mainnet-v1.2.0",
+ "date": "2025-09-22T18:56:36Z",
+ "category": "walrus-sites",
+ "title": "Walrus Sites v1.2.0",
+ "description": "Further support of quilts under the `quilts-experimental` feature.\r\n\r\n> **Note** \r\n> Header and ignore-file matching in ws-resources.json, now uses **glob patterns** (e.g. `*.md`, `docs/**`) instead of regular expressions. \r\n> Regex support was never intentional, so if you were using advanced regex, please update your configs to glob style.([#556](https://github.com/MystenLabs/walrus-sites/pull/556)).",
+ "badge": null,
+ "githubUrl": "https://github.com/MystenLabs/walrus-sites/releases/tag/mainnet-v1.2.0",
+ "changes": [
+ {
+ "text": "deploy-action: Support wallet exported keys.",
+ "url": "https://github.com/MystenLabs/walrus-sites/pull/525"
+ },
+ {
+ "text": "site-builder: UpdateQuilts command, deletes and re-creates all resources.",
+ "url": "https://github.com/MystenLabs/walrus-sites/pull/552"
+ },
+ {
+ "text": "site-builder: Use quilt patch ids in site-builder publish/update output.",
+ "url": "https://github.com/MystenLabs/walrus-sites/pull/561"
+ },
+ {
+ "text": "site-builder: Show quilt patch ids during sitemap.",
+ "url": "https://github.com/MystenLabs/walrus-sites/pull/562"
+ },
+ {
+ "text": "site-builder: Improve the print_summary docs.",
+ "url": "https://github.com/MystenLabs/walrus-sites/pull/557"
+ },
+ {
+ "text": "deploy-action: Fix inputs usage.",
+ "url": "https://github.com/MystenLabs/walrus-sites/pull/550"
+ },
+ {
+ "text": "site-builder: Use glob instead of regex for ignore files and headers assignments.",
+ "url": "https://github.com/MystenLabs/walrus-sites/pull/556"
+ },
+ {
+ "text": "site-builder: --list-directory and ignore files.",
+ "url": "https://github.com/MystenLabs/walrus-sites/pull/556"
+ },
+ {
+ "text": "common-lib: nullish coalescing for range header building.",
+ "url": "https://github.com/MystenLabs/walrus-sites/pull/560"
+ },
+ {
+ "text": "portal: Integrate Javascript/Typescript tests with Sonarqube.",
+ "url": "https://github.com/MystenLabs/walrus-sites/pull/549"
+ },
+ {
+ "text": "deploy: Remove publish_landing_page.sh script.",
+ "url": "https://github.com/MystenLabs/walrus-sites/pull/554"
+ },
+ {
+ "text": "site-builder: Update Walrus and Sui dependencies.",
+ "url": "https://github.com/MystenLabs/walrus-sites/pull/555"
+ },
+ {
+ "text": "site-builder: Remove unused .with_type() in test-setup resource-fetching.",
+ "url": "https://github.com/MystenLabs/walrus-sites/pull/551"
+ },
+ {
+ "text": "site-builder: Create integration test for list directory.",
+ "url": "https://github.com/MystenLabs/walrus-sites/pull/559"
+ }
+ ]
+ },
+ {
+ "id": "walrus-testnet-v1.33.1",
+ "date": "2025-09-17T17:50:00Z",
+ "category": "walrus",
+ "title": "Walrus v1.33.1",
+ "description": "An earlier Testnet build introducing deletable-by-default blob storage, with `permanent=true` or\n`--permanent` available to preserve the previous behavior.",
+ "badge": "Testnet",
+ "githubUrl": "https://github.com/MystenLabs/walrus/releases/tag/testnet-v1.33.1",
+ "changes": []
+ },
+ {
+ "id": "walrus-mainnet-v1.32.0",
+ "date": "2025-09-15T17:01:04Z",
+ "category": "walrus",
+ "title": "Walrus v1.32.0",
+ "description": "Adds an aggregator endpoint, `/quilts//patches`, that lists all patches contained in a\nquilt.",
+ "badge": "Mainnet",
+ "githubUrl": "https://github.com/MystenLabs/walrus/releases/tag/mainnet-v1.32.0",
+ "changes": [
+ {
+ "text": "Added new endpoint in aggregator: /quilts/\\<quilt-id\\>/patches to list all patches in a quilt.",
+ "url": "https://github.com/MystenLabs/walrus/pull/2405"
+ },
+ {
+ "text": "*Note: This change is an internal code quality improvement and does not affect user-facing functionality. No release notes are required as the changes do not impact the external API or user experience.*",
+ "url": "https://github.com/MystenLabs/walrus/pull/2427"
+ }
+ ]
+ },
+ {
+ "id": "sites-mainnet-v1.1.0",
+ "date": "2025-09-08T14:23:00Z",
+ "category": "walrus-sites",
+ "title": "Walrus Sites v1.1.0",
+ "description": "This release introduces a new publishing and deployment method for Walrus Sites using [quilts](https://docs.wal.app/usage/quilt.html) instead of blobs. Multiple resources are now bundled as quilt patches on Walrus, significantly reducing the cost of site publishing.\r\n\r\nYou can use this feature with: `site-builder publish-quilts --epochs=`.\r\n\r\n> ⚠️ **Important note**: This feature is only available when building `site-builder` from source with `cargo build --features quilts-experimental`.",
+ "badge": null,
+ "githubUrl": "https://github.com/MystenLabs/walrus-sites/releases/tag/mainnet-v1.1.0",
+ "changes": [
+ {
+ "text": "site-builder: Publish using quilts.",
+ "url": "https://github.com/MystenLabs/walrus-sites/pull/544"
+ },
+ {
+ "text": "portal: Derive `quiltpatchid` for resource retrieval.",
+ "url": "https://github.com/MystenLabs/walrus-sites/pull/535"
+ },
+ {
+ "text": "portal: Retrieve quilt-based resources.",
+ "url": "https://github.com/MystenLabs/walrus-sites/pull/536"
+ },
+ {
+ "text": "portal: Update domain parsing logic and tests for `parse-domain@8.2.2`.",
+ "url": "https://github.com/MystenLabs/walrus-sites/pull/538"
+ },
+ {
+ "text": "site-builder: Add more checks for tx failure.",
+ "url": "https://github.com/MystenLabs/walrus-sites/pull/542"
+ },
+ {
+ "text": "site-builder: Update the site name if changed in `ws-resources.json`.",
+ "url": "https://github.com/MystenLabs/walrus-sites/pull/529"
+ },
+ {
+ "text": "site-builder: Override `walrus_package` from config if passed explicitly as an argument.",
+ "url": "https://github.com/MystenLabs/walrus-sites/pull/532"
+ },
+ {
+ "text": "site-builder: Catch errors earlier in site PTB.",
+ "url": "https://github.com/MystenLabs/walrus-sites/pull/541"
+ },
+ {
+ "text": "Add workflow to build and publish the server-portal Docker image.",
+ "url": "https://github.com/MystenLabs/walrus-sites/pull/515"
+ },
+ {
+ "text": "Create tarball for the site-builder binary in the release workflow.",
+ "url": "https://github.com/MystenLabs/walrus-sites/pull/516"
+ },
+ {
+ "text": "Compress the site-builder tarball with gzip and use the `.tgz` extension.",
+ "url": "https://github.com/MystenLabs/walrus-sites/pull/519"
+ },
+ {
+ "text": "Add a tarball creation step.",
+ "url": "https://github.com/MystenLabs/walrus-sites/pull/521"
+ },
+ {
+ "text": "Add ubuntu-arm64 to the site-builder build list.",
+ "url": "https://github.com/MystenLabs/walrus-sites/pull/523"
+ },
+ {
+ "text": "Optionally use `--check-extend` on the site deploy action.",
+ "url": "https://github.com/MystenLabs/walrus-sites/pull/526"
+ },
+ {
+ "text": "Clean up portal code by removing the Sentry integration.",
+ "url": "https://github.com/MystenLabs/walrus-sites/pull/517"
+ },
+ {
+ "text": "site-builder: Remove unused `network.rs`.",
+ "url": "https://github.com/MystenLabs/walrus-sites/pull/527"
+ },
+ {
+ "text": "server-portal: Remove Vercel web analytics and Sentry remnants.",
+ "url": "https://github.com/MystenLabs/walrus-sites/pull/528"
+ },
+ {
+ "text": "server-portal: Use mainnet as the default build-arg for suins in Dockerfile.",
+ "url": "https://github.com/MystenLabs/walrus-sites/pull/534"
+ },
+ {
+ "text": "site-builder: Remove unused `ResourceOpSummary`.",
+ "url": "https://github.com/MystenLabs/walrus-sites/pull/539"
+ },
+ {
+ "text": "portal: Use `toString` in HTML templates to fix build failures.",
+ "url": "https://github.com/MystenLabs/walrus-sites/pull/545"
+ }
+ ]
+ },
+ {
+ "id": "walrus-mainnet-v1.31.1",
+ "date": "2025-08-28T16:49:02Z",
+ "category": "walrus",
+ "title": "Walrus v1.31.1",
+ "description": "An advance warning that blobs become deletable by default in v1.33; operators who want to keep\npermanent storage should begin adding the `permanent=true` query parameter now.",
+ "badge": "Mainnet",
+ "githubUrl": "https://github.com/MystenLabs/walrus/releases/tag/mainnet-v1.31.1",
+ "changes": []
+ },
+ {
+ "id": "walrus-mainnet-v1.30.1",
+ "date": "2025-08-14T17:32:03Z",
+ "category": "walrus",
+ "title": "Walrus v1.30.1",
+ "description": "Storage nodes now restart on a TLS certificate update only when the certificate is near expiry or\nits subject or extensions have changed, and they emit warning and error logs for nearly expired\ncertificates.",
+ "badge": "Mainnet",
+ "githubUrl": "https://github.com/MystenLabs/walrus/releases/tag/mainnet-v1.30.1",
+ "changes": [
+ {
+ "text": "When the TLS certificate is updated, only restart the node if the currently loaded certificate is about to expire or the subject or extensions have changed. Also, add warning and error logs for (almost) expired certificates.",
+ "url": "https://github.com/MystenLabs/walrus/pull/2360"
+ }
+ ]
+ },
+ {
+ "id": "walrus-testnet-v1.30.0",
+ "date": "2025-08-06T17:17:17Z",
+ "category": "walrus",
+ "title": "Walrus v1.30.0",
+ "description": "The Testnet preview of smarter TLS certificate handling, where a node restarts only on meaningful\ncertificate changes and logs warnings for nearly expired certificates.",
+ "badge": "Testnet",
+ "githubUrl": "https://github.com/MystenLabs/walrus/releases/tag/testnet-v1.30.0",
+ "changes": [
+ {
+ "text": "When the TLS certificate is updated, only restart the node if the currently loaded certificate is about to expire or the subject or extensions have changed. Also, add warning and error logs for (almost) expired certificates.",
+ "url": "https://github.com/MystenLabs/walrus/pull/2360"
+ }
+ ]
+ },
+ {
+ "id": "walrus-mainnet-v1.29.2",
+ "date": "2025-07-31T16:20:59Z",
+ "category": "walrus",
+ "title": "Walrus v1.29.2",
+ "description": "Brings Quilt batch storage to Mainnet with new publisher, aggregator, and CLI support for storing\nand reading quilts, plus an `--upload-relay` option. Also fixes startup issues with deleted event\ndatabases and lets new nodes start beyond `MAX_EPOCHS_AHEAD`.",
+ "badge": "Mainnet",
+ "githubUrl": "https://github.com/MystenLabs/walrus/releases/tag/mainnet-v1.29.2",
+ "changes": [
+ {
+ "text": "Fixes an issue that can occur when a node starts with deleted `events` and `event_blob_writer` DBs.",
+ "url": "https://github.com/MystenLabs/walrus/pull/2273"
+ },
+ {
+ "text": "New storage nodes can start in epochs later than `MAX_EPOCHS_AHEAD` (53 on the current Testnet and Mainnet) without any additional action.",
+ "url": "https://github.com/MystenLabs/walrus/pull/2193"
+ },
+ {
+ "text": "Add a new configuration parameter for the event processor config to control the interval at which sampled logs are emitted, with a default of 1 hour (previously 30s).",
+ "url": "https://github.com/MystenLabs/walrus/pull/2290"
+ },
+ {
+ "text": "Add a `permanent` query parameter. **Warning:** In the future, blobs will be stored as deletable by default; to keep the current behavior, you need to add the `permanent=true` query parameter.",
+ "url": "https://github.com/MystenLabs/walrus/pull/2281"
+ },
+ {
+ "text": "Added \"/v1/quilts\" publisher endpoint to store quilts.",
+ "url": "https://github.com/MystenLabs/walrus/pull/2279"
+ },
+ {
+ "text": "use subsidies contract to proxy register blob call",
+ "url": "https://github.com/MystenLabs/walrus/pull/2151"
+ },
+ {
+ "text": "Add a `--permanent` option to the `store` and `store-quilt` commands. **Warning:** In the future, blobs will be stored as deletable by default; to keep the current behavior, you need to add the `--permanent` option when storing blobs.",
+ "url": "https://github.com/MystenLabs/walrus/pull/2281"
+ },
+ {
+ "text": "Add the `--upload-relay` option to the `store` and `store-quilt` commands to allow uploading to Walrus via an [Upload Relay](https://docs.wal.app/operator-guide/upload-relay.html).",
+ "url": "https://github.com/MystenLabs/walrus/pull/2384"
+ }
+ ]
+ },
+ {
+ "id": "walrus-testnet-v1.29.1",
+ "date": "2025-07-23T16:45:31Z",
+ "category": "walrus",
+ "title": "Walrus v1.29.1",
+ "description": "Introduces Quilt, a batch storage solution for storing and accessing many small files efficiently,\nwith new `store-quilt`, `read-quilt`, and quilt read endpoints across the CLI, publisher, and\naggregator. Also fixes deleted-event-database startup issues and relaxes the `MAX_EPOCHS_AHEAD`\nconstraint for new nodes.",
+ "badge": "Testnet",
+ "githubUrl": "https://github.com/MystenLabs/walrus/releases/tag/testnet-v1.29.1",
+ "changes": [
+ {
+ "text": "Fixes an issue that can occur when a node starts with deleted `events` and `event_blob_writer` DBs.",
+ "url": "https://github.com/MystenLabs/walrus/pull/2273"
+ },
+ {
+ "text": "New storage nodes can start in epochs later than `MAX_EPOCHS_AHEAD` (53 on the current Testnet and Mainnet) without any additional action.",
+ "url": "https://github.com/MystenLabs/walrus/pull/2193"
+ },
+ {
+ "text": "Add a new configuration parameter for the event processor config to control the interval at which sampled logs are emitted with a default of 1 hour (previously 30s).",
+ "url": "https://github.com/MystenLabs/walrus/pull/2290"
+ },
+ {
+ "text": "Add a `permanent` query parameter. **Warning:** In the future, blobs will be stored as deletable by default; to keep the current behavior, you need to add the `permanent=true` query parameter.",
+ "url": "https://github.com/MystenLabs/walrus/pull/2281"
+ },
+ {
+ "text": "Added \"/v1/quilts\" publisher endpoint to store quilts.",
+ "url": "https://github.com/MystenLabs/walrus/pull/2279"
+ },
+ {
+ "text": "Use subsidies contract to proxy register blob call",
+ "url": "https://github.com/MystenLabs/walrus/pull/2151"
+ },
+ {
+ "text": "Add a `--permanent` option to the `store` and `store-quilt` commands. **Warning:** In the future, blobs will be stored as deletable by default; to keep the current behavior, you need to add the `--permanent` option when storing blobs.",
+ "url": "https://github.com/MystenLabs/walrus/pull/2281"
+ }
+ ]
+ },
+ {
+ "id": "walrus-mainnet-v1.28.4",
+ "date": "2025-07-15T22:10:23Z",
+ "category": "walrus",
+ "title": "Walrus v1.28.4",
+ "description": "Fixes an issue where a blob could be reported as non-existent immediately after certification,\naffecting both the aggregator and the CLI.",
+ "badge": "Mainnet",
+ "githubUrl": "https://github.com/MystenLabs/walrus/releases/tag/mainnet-v1.28.4",
+ "changes": []
+ },
+ {
+ "id": "sites-mainnet-v1.0.2",
+ "date": "2025-07-15T15:53:25Z",
+ "category": "walrus-sites",
+ "title": "Walrus Sites v1.0.2",
+ "description": null,
+ "badge": null,
+ "githubUrl": "https://github.com/MystenLabs/walrus-sites/releases/tag/mainnet-v1.0.2",
+ "changes": []
+ },
+ {
+ "id": "walrus-testnet-v1.28.3",
+ "date": "2025-07-11T20:55:15Z",
+ "category": "walrus",
+ "title": "Walrus v1.28.3",
+ "description": null,
+ "badge": "Testnet",
+ "githubUrl": "https://github.com/MystenLabs/walrus/releases/tag/testnet-v1.28.3",
+ "changes": [
+ {
+ "text": "Fixes an issue where a blob was sometimes reported as non-existent immediately after certification.",
+ "url": "https://github.com/MystenLabs/walrus/pull/2205"
+ }
+ ]
+ },
+ {
+ "id": "walrus-testnet-v1.28.2",
+ "date": "2025-07-10T21:43:25Z",
+ "category": "walrus",
+ "title": "Walrus v1.28.2",
+ "description": "Fixes an issue where a blob was sometimes reported as non-existing immediately after certification.",
+ "badge": "Testnet",
+ "githubUrl": "https://github.com/MystenLabs/walrus/releases/tag/testnet-v1.28.2",
+ "changes": []
+ },
+ {
+ "id": "walrus-testnet-v1.28.1",
+ "date": "2025-07-02T23:19:28Z",
+ "category": "walrus",
+ "title": "Walrus v1.28.1",
+ "description": "Fixes a storage node startup problem with deleted `events` and `event_blob_writer` databases, along\nwith the post-certification blob existence reporting fix.",
+ "badge": "Testnet",
+ "githubUrl": "https://github.com/MystenLabs/walrus/releases/tag/testnet-v1.28.1",
+ "changes": []
+ },
+ {
+ "id": "sites-walrus_sites_v0.1.0_1751313026_mainnet_ci",
+ "date": "2025-06-30T19:56:23Z",
+ "category": "walrus-sites",
+ "title": "Walrus Sites walrus_sites_v0.1.0_1751313026_mainnet_ci",
+ "description": null,
+ "badge": null,
+ "githubUrl": "https://github.com/MystenLabs/walrus-sites/releases/tag/walrus_sites_v0.1.0_1751313026_mainnet_ci",
+ "changes": [
+ {
+ "text": "site-builder: Setup integration tests for e2e testing.",
+ "url": "https://github.com/MystenLabs/walrus-sites/pull/495"
+ }
+ ]
+ },
+ {
+ "id": "walrus-mainnet-v1.27.2",
+ "date": "2025-06-26T20:19:03Z",
+ "category": "walrus",
+ "title": "Walrus v1.27.2",
+ "description": "Adds a `CheckpointManager` and a node admin socket for direct operator interaction with a running\nnode, and fixes a crash affecting recovering nodes after restart as well as a checkpoint-lag\nmiscalculation.",
+ "badge": "Mainnet",
+ "githubUrl": "https://github.com/MystenLabs/walrus/releases/tag/mainnet-v1.27.2",
+ "changes": []
+ },
+ {
+ "id": "walrus-testnet-v1.27.1",
+ "date": "2025-06-18T18:13:06Z",
+ "category": "walrus",
+ "title": "Walrus v1.27.1",
+ "description": "The Testnet preview adding the `CheckpointManager` component and node admin socket, plus fixes for\nrecovering-node restart crashes and inflated checkpoint-lag values.",
+ "badge": "Testnet",
+ "githubUrl": "https://github.com/MystenLabs/walrus/releases/tag/testnet-v1.27.1",
+ "changes": []
+ },
+ {
+ "id": "sites-walrus_sites_v0.1.0_1750076111_mainnet_ci",
+ "date": "2025-06-16T12:28:03Z",
+ "category": "walrus-sites",
+ "title": "Walrus Sites walrus_sites_v0.1.0_1750076111_mainnet_ci",
+ "description": "🚀 Welcome to the very first official release of Walrus Sites! This marks the production-ready milestone for the project.\r\n\r\nStarting with this release, each version will include all the necessary components for deploying (via the site-builder) and accessing (via the portals) your Walrus Sites.\r\n\r\nWe are committed to following [semantic versioning](https://semver.org/) conventions for all future releases, ensuring clarity and consistency in version updates.",
+ "badge": null,
+ "githubUrl": "https://github.com/MystenLabs/walrus-sites/releases/tag/walrus_sites_v0.1.0_1750076111_mainnet_ci",
+ "changes": [
+ {
+ "text": "site-builder: Added an expiration column for site resources when running the sitemap.",
+ "url": "https://github.com/MystenLabs/walrus-sites/pull/490"
+ },
+ {
+ "text": "site-builder: Introduced `--end-epoch` and `--earliest-expiry-time` flags for defining resource end-epochs.",
+ "url": "https://github.com/MystenLabs/walrus-sites/pull/491"
+ },
+ {
+ "text": "site-builder: Implemented a `deploy` command to consolidate the `publish` and `update` commands.",
+ "url": "https://github.com/MystenLabs/walrus-sites/pull/487"
+ },
+ {
+ "text": "portal: Added a custom 404 fallback template and integrated it into the URL fetching logic.",
+ "url": "https://github.com/MystenLabs/walrus-sites/pull/492"
+ },
+ {
+ "text": "site-builder: Old deletable blobs are now removed after updates.",
+ "url": "https://github.com/MystenLabs/walrus-sites/pull/499"
+ },
+ {
+ "text": "site-builder: Updated browsing options based on network context.",
+ "url": "https://github.com/MystenLabs/walrus-sites/pull/493"
+ },
+ {
+ "text": "site-builder: Ensured metadata updates when modifying an existing site.",
+ "url": "https://github.com/MystenLabs/walrus-sites/pull/488"
+ },
+ {
+ "text": "site-builder: Enforced the `site_name` field and improved the default naming.",
+ "url": "https://github.com/MystenLabs/walrus-sites/pull/489"
+ },
+ {
+ "text": "site-builder: Fixed issues with commented values in the configuration.",
+ "url": "https://github.com/MystenLabs/walrus-sites/pull/484"
+ },
+ {
+ "text": "portal: Restructured portal logs for better organization.",
+ "url": "https://github.com/MystenLabs/walrus-sites/pull/496"
+ },
+ {
+ "text": "contract: Added a README for MVR.",
+ "url": "https://github.com/MystenLabs/walrus-sites/pull/498"
+ },
+ {
+ "text": "Added Sonar Analyzer to the CI pipeline for improved code quality checks.",
+ "url": "https://github.com/MystenLabs/walrus-sites/pull/497"
+ }
+ ]
+ },
+ {
+ "id": "walrus-mainnet-v1.26.4",
+ "date": "2025-06-10T17:28:49Z",
+ "category": "walrus",
+ "title": "Walrus v1.26.4",
+ "description": "Adds multi-URL Sui RPC configuration via `rpc_urls` and removes the implicit fallback to the public\nTestnet full node. Note the breaking change where metrics and REST API endpoints now bind to the\nconfigured address rather than always to `0.0.0.0`.",
+ "badge": "Mainnet",
+ "githubUrl": "https://github.com/MystenLabs/walrus/releases/tag/mainnet-v1.26.4",
+ "changes": []
+ },
+ {
+ "id": "walrus-mainnet-v1.26.3",
+ "date": "2025-06-05T16:44:11Z",
+ "category": "walrus",
+ "title": "Walrus v1.26.3",
+ "description": "Rate-limits concurrent blob recovery during node recovery and adds multi-URL Sui RPC configuration.\nIncludes the breaking change where services bind to the configured address instead of always to\n`0.0.0.0`.",
+ "badge": "Mainnet",
+ "githubUrl": "https://github.com/MystenLabs/walrus/releases/tag/mainnet-v1.26.3",
+ "changes": [
+ {
+ "text": "feat: rate limit concurrent blob recovery during node recovery",
+ "url": "https://github.com/MystenLabs/walrus/pull/2159"
+ },
+ {
+ "text": "Use the metrics and REST API address from the configuration file instead of always binding to `0.0.0.0`. Note that this bugfix may break some setups that relied on the previous incorrect behavior. To get the old behavior, set the `metrics_address` and `rest_api_address` to `0.0.0.0:` explicitly.",
+ "url": "https://github.com/MystenLabs/walrus/pull/1630"
+ },
+ {
+ "text": "Increase default value of `http2_max_pending_accept_reset_streams` parameter to disable warnings from the `h2` crate.",
+ "url": "https://github.com/MystenLabs/walrus/pull/2072"
+ },
+ {
+ "text": "Reduce verbosity levels of problems with metrics and config sync from ERROR to WARN.",
+ "url": "https://github.com/MystenLabs/walrus/pull/2067"
+ },
+ {
+ "text": "Allow specifying Sui RPC URL in the configuration file in addition to the CLI option.",
+ "url": "https://github.com/MystenLabs/walrus/pull/2066"
+ },
+ {
+ "text": "Use the metrics address specified through the CLI options file instead of always binding to `0.0.0.0`. Note that this bugfix may break some setups that relied on the previous incorrect behavior. To get the old behavior, use `--metrics-address 0.0.0.0:` when starting the aggregator.",
+ "url": "https://github.com/MystenLabs/walrus/pull/1630"
+ },
+ {
+ "text": "Use the metrics address specified through the CLI options file instead of always binding to `0.0.0.0`. Note that this bugfix may break some setups that relied on the previous incorrect behavior. To get the old behavior, use `--metrics-address 0.0.0.0:` when starting the aggregator.",
+ "url": "https://github.com/MystenLabs/walrus/pull/1630"
+ },
+ {
+ "text": "Add a new `rpc_urls` field to the client config, which allows setting multiple Sui RPC URLs. The Sui RPC URL(s) used for reads are now selected in the following order: (1) CLI argument, (2) client configuration file, (3) wallet config. If none of these are set, the client will **no longer fall back to the `fullnode.testnet.sui.io`** but instead exit with an error.",
+ "url": "https://github.com/MystenLabs/walrus/pull/2066"
+ }
+ ]
+ },
+ {
+ "id": "walrus-testnet-v1.26.2",
+ "date": "2025-05-28T20:52:49Z",
+ "category": "walrus",
+ "title": "Walrus v1.26.2",
+ "description": "The Testnet build introducing multi-URL Sui RPC configuration and the breaking change where metrics\nand REST API endpoints bind to the configured address rather than always to `0.0.0.0`.",
+ "badge": "Testnet",
+ "githubUrl": "https://github.com/MystenLabs/walrus/releases/tag/testnet-v1.26.2",
+ "changes": []
+ },
+ {
+ "id": "walrus-mainnet-v1.25.1",
+ "date": "2025-05-22T23:53:57Z",
+ "category": "walrus",
+ "title": "Walrus v1.25.1",
+ "description": "A bug fix adding options to tune compaction write throttling and setting a high write-stalling\nthreshold on the metadata table.",
+ "badge": "Mainnet",
+ "githubUrl": "https://github.com/MystenLabs/walrus/releases/tag/mainnet-v1.25.1",
+ "changes": [
+ {
+ "text": "add options to update compaction write throttling, and set high write stalling threshold in metadata table",
+ "url": "https://github.com/MystenLabs/walrus/pull/2121"
+ }
+ ]
+ },
+ {
+ "id": "walrus-mainnet-v1.25.0",
+ "date": "2025-05-22T16:39:20Z",
+ "category": "walrus",
+ "title": "Walrus v1.25.0",
+ "description": "Speeds up batch blob operations by optimizing storage selection, with no change to the user\nworkflow.",
+ "badge": "Mainnet",
+ "githubUrl": "https://github.com/MystenLabs/walrus/releases/tag/mainnet-v1.25.0",
+ "changes": [
+ {
+ "text": "Improved performance for batch blob operations by optimizing storage selection. Operations with multiple blobs are now significantly faster with no change to the user workflow.",
+ "url": "https://github.com/MystenLabs/walrus/pull/2010"
+ }
+ ]
+ },
+ {
+ "id": "walrus-mainnet-v1.24.2",
+ "date": "2025-05-12T15:20:02Z",
+ "category": "walrus",
+ "title": "Walrus v1.24.2",
+ "description": "Adds a publisher `force` store option and a CLI `completion` command, and substantially reduces SUI\ngas costs when registering multiple blobs at once.",
+ "badge": "Mainnet",
+ "githubUrl": "https://github.com/MystenLabs/walrus/releases/tag/mainnet-v1.24.2",
+ "changes": [
+ {
+ "text": "Improved documentation for shared blob retrieval.",
+ "url": "https://github.com/MystenLabs/walrus/pull/2005"
+ },
+ {
+ "text": "Adds the possibility to `force` a store operation, like with the CLI.",
+ "url": "https://github.com/MystenLabs/walrus/pull/2015"
+ },
+ {
+ "text": "Major reduction of SUI gas cost when registering multiple blobs simultaneously.",
+ "url": "https://github.com/MystenLabs/walrus/pull/2004"
+ },
+ {
+ "text": "Add new `completion` command to generate completion scripts for various shells.",
+ "url": "https://github.com/MystenLabs/walrus/pull/2003"
+ }
+ ]
+ },
+ {
+ "id": "walrus-testnet-v1.24.1",
+ "date": "2025-05-06T23:29:05Z",
+ "category": "walrus",
+ "title": "Walrus v1.24.1",
+ "description": "The Testnet preview adding a publisher `force` store option and CLI `completion` command, with a\nmajor SUI gas reduction for registering multiple blobs simultaneously.",
+ "badge": "Testnet",
+ "githubUrl": "https://github.com/MystenLabs/walrus/releases/tag/testnet-v1.24.1",
+ "changes": [
+ {
+ "text": "Improved documentation for shared blob retrieval.",
+ "url": "https://github.com/MystenLabs/walrus/pull/2005"
+ },
+ {
+ "text": "Adds the possibility to `force` a store operation, like with the CLI.",
+ "url": "https://github.com/MystenLabs/walrus/pull/2015"
+ },
+ {
+ "text": "Major reduction of SUI gas cost when registering multiple blobs simultaneously.",
+ "url": "https://github.com/MystenLabs/walrus/pull/2004"
+ },
+ {
+ "text": "Add new `completion` command to generate completion scripts for various shells.",
+ "url": "https://github.com/MystenLabs/walrus/pull/2003"
+ }
+ ]
+ },
+ {
+ "id": "walrus-mainnet-v1.22.1",
+ "date": "2025-04-25T15:31:59Z",
+ "category": "walrus",
+ "title": "Walrus v1.22.1",
+ "description": "Reduces SUI gas costs for simultaneous blob registration, surfaces storage node checkpoint progress\nin the `health` command, and fixes default-location Sui wallet creation. Operators must remove the\n`experimental_batch_symbol_recovery` config field.",
+ "badge": "Mainnet",
+ "githubUrl": "https://github.com/MystenLabs/walrus/releases/tag/mainnet-v1.22.1",
+ "changes": [
+ {
+ "text": "Remove the `experimental_batch_symbol_recovery` config variable; operators must ensure that the field is not present in their configs.",
+ "url": "https://github.com/MystenLabs/walrus/pull/1976"
+ },
+ {
+ "text": "Fetch the checkpoint progress info for storage nodes, in the health command.",
+ "url": "https://github.com/MystenLabs/walrus/pull/1973"
+ },
+ {
+ "text": "Fix a bug that prevented the creation of a Sui wallet at the default location through `walrus generate-sui-wallet`.",
+ "url": "https://github.com/MystenLabs/walrus/pull/1943"
+ },
+ {
+ "text": "Major reduction of SUI gas cost when registering multiple blobs simultaneously.",
+ "url": "https://github.com/MystenLabs/walrus/pull/2008"
+ }
+ ]
+ },
+ {
+ "id": "walrus-mainnet-v1.21.2",
+ "date": "2025-04-17T17:50:26Z",
+ "category": "walrus",
+ "title": "Walrus v1.21.2",
+ "description": null,
+ "badge": "Mainnet",
+ "githubUrl": "https://github.com/MystenLabs/walrus/releases/tag/mainnet-v1.21.2",
+ "changes": [
+ {
+ "text": "Optimized default parameters for shard transfer and recovery.",
+ "url": "https://github.com/MystenLabs/walrus/pull/1934"
+ }
+ ]
+ },
+ {
+ "id": "walrus-testnet-v1.21.1",
+ "date": "2025-04-15T23:48:06Z",
+ "category": "walrus",
+ "title": "Walrus v1.21.1",
+ "description": null,
+ "badge": "Testnet",
+ "githubUrl": "https://github.com/MystenLabs/walrus/releases/tag/testnet-v1.21.1",
+ "changes": [
+ {
+ "text": "Optimized default parameters for shard transfer and recovery.",
+ "url": "https://github.com/MystenLabs/walrus/pull/1934"
+ }
+ ]
+ },
+ {
+ "id": "walrus-mainnet-v1.20.2",
+ "date": "2025-04-10T17:41:07Z",
+ "category": "walrus",
+ "title": "Walrus v1.20.2",
+ "description": "Adds the latest checkpoint sequence number and an estimated checkpoint lag to the CLI `health`\noutput.",
+ "badge": "Mainnet",
+ "githubUrl": "https://github.com/MystenLabs/walrus/releases/tag/mainnet-v1.20.2",
+ "changes": [
+ {
+ "text": "Added `Latest checkpoint sequence number` and `Estimated checkpoint lag` in health output.",
+ "url": "https://github.com/MystenLabs/walrus/pull/1805"
+ }
+ ]
+ },
+ {
+ "id": "walrus-mainnet-v1.18.2",
+ "date": "2025-03-25T15:31:45Z",
+ "category": "walrus",
+ "title": "Walrus v1.18.2",
+ "description": "Adds TLS certificate monitoring with automatic reboot, new `--network-key-path` and\n`--certificate-path` setup options, and a configurable checkpoint request timeout. The publisher's\nJWT token now includes a `size` field.",
+ "badge": "Mainnet",
+ "githubUrl": "https://github.com/MystenLabs/walrus/releases/tag/mainnet-v1.18.2",
+ "changes": [
+ {
+ "text": "Storage node monitors TLS certificate and reboots storage node upon changes.",
+ "url": "https://github.com/MystenLabs/walrus/pull/1703"
+ },
+ {
+ "text": "Added optional `--network-key-path` and `--certificate-path` options to the `setup` command, removed `--use-legacy-event-provider` and `--disable-event-blob-writer`. Adjusted defaults for storage prices and commission rates.",
+ "url": "https://github.com/MystenLabs/walrus/pull/1715"
+ },
+ {
+ "text": "Adds a configurable timeout to checkpoint requests.",
+ "url": "https://github.com/MystenLabs/walrus/pull/1793"
+ },
+ {
+ "text": "Add `size` field of JWTToken",
+ "url": "https://github.com/MystenLabs/walrus/pull/1613"
+ }
+ ]
+ },
+ {
+ "id": "walrus-testnet-v1.18.1",
+ "date": "2025-03-20T22:30:27Z",
+ "category": "walrus",
+ "title": "Walrus v1.18.1",
+ "description": "The Testnet preview of TLS certificate monitoring with automatic reboot and the new key and\ncertificate setup options, plus the publisher JWT token `size` field.",
+ "badge": "Testnet",
+ "githubUrl": "https://github.com/MystenLabs/walrus/releases/tag/testnet-v1.18.1",
+ "changes": [
+ {
+ "text": "Storage node monitors TLS certificate and reboots storage node upon changes.",
+ "url": "https://github.com/MystenLabs/walrus/pull/1703"
+ },
+ {
+ "text": "Added optional `--network-key-path` and `--certificate-path` options to the `setup` command, removed `--use-legacy-event-provider` and `--disable-event-blob-writer`. Adjusted defaults for storage prices and commission rate.",
+ "url": "https://github.com/MystenLabs/walrus/pull/1715"
+ },
+ {
+ "text": "Add `size` field of JWTToken",
+ "url": "https://github.com/MystenLabs/walrus/pull/1613"
+ }
+ ]
+ },
+ {
+ "id": "walrus-testnet-v1.17.2",
+ "date": "2025-03-15T02:42:43Z",
+ "category": "walrus",
+ "title": "Walrus v1.17.2",
+ "description": "Adds `--network-key-path` and `--certificate-path` options to the `setup` command, removes legacy\nevent-provider flags, and adjusts default storage prices and commission rates.",
+ "badge": "Testnet",
+ "githubUrl": "https://github.com/MystenLabs/walrus/releases/tag/testnet-v1.17.2",
+ "changes": []
+ },
+ {
+ "id": "walrus-testnet-v1.17.1",
+ "date": "2025-03-12T19:37:32Z",
+ "category": "walrus",
+ "title": "Walrus v1.17.1",
+ "description": null,
+ "badge": "Testnet",
+ "githubUrl": "https://github.com/MystenLabs/walrus/releases/tag/testnet-v1.17.1",
+ "changes": [
+ {
+ "text": "Fixes a bug where an explicitly set wallet path through the `--wallet` CLI option was ignored.",
+ "url": "https://github.com/MystenLabs/walrus/pull/1685"
+ }
+ ]
+ },
+ {
+ "id": "walrus-testnet-v1.16.1",
+ "date": "2025-03-05T21:11:26Z",
+ "category": "walrus",
+ "title": "Walrus v1.16.1",
+ "description": "Lets the CLI `delete` command accept multiple files, blob IDs, or object IDs (a breaking change to\nthe delete JSON API) and adds multi-context configuration with a `--context` override. The publisher\nnow keeps created `Blob` objects by default, replacing `--keep` with `--burn-after-store`.",
+ "badge": "Testnet",
+ "githubUrl": "https://github.com/MystenLabs/walrus/releases/tag/testnet-v1.16.1",
+ "changes": []
+ },
+ {
+ "id": "walrus-testnet-v1.15.4",
+ "date": "2025-02-28T09:10:45Z",
+ "category": "walrus",
+ "title": "Walrus v1.15.4",
+ "description": "Fixes an issue where keys were not loaded into memory when on-chain config parameters were updated,\nand makes the publisher use the correct default encoding type.",
+ "badge": "Testnet",
+ "githubUrl": "https://github.com/MystenLabs/walrus/releases/tag/testnet-v1.15.4",
+ "changes": []
+ },
+ {
+ "id": "walrus-testnet-v1.15.3",
+ "date": "2025-02-27T21:56:56Z",
+ "category": "walrus",
+ "title": "Walrus v1.15.3",
+ "description": "Adds support for multiple encoding types across the storage node, publisher, and CLI, and lets the\naggregator return allow-listed blob attributes as response headers. Storage nodes can now\nauto-reload configuration changes from disk, and the CLI gains `--sort-by` and `--desc` options for\n`health` and `info`.",
+ "badge": "Testnet",
+ "githubUrl": "https://github.com/MystenLabs/walrus/releases/tag/testnet-v1.15.3",
+ "changes": [
+ {
+ "text": "Automatically reload the StorageNodeConfig from disk and update the on-chain configuration when changes are detected. Some changes may result in an automatic restart of the storage nodes.",
+ "url": "https://github.com/MystenLabs/walrus/pull/1548"
+ },
+ {
+ "text": "Storage node now supports multiple encoding types. Depending on features selected at compile time, it accepts a subset of them.",
+ "url": "https://github.com/MystenLabs/walrus/pull/1608"
+ },
+ {
+ "text": "Exposed the aggregator endpoint to allow fetching blobs with associated attributes; if the attribute fields are in the allow-list, they will be included in the response headers.",
+ "url": "https://github.com/MystenLabs/walrus/pull/1591"
+ },
+ {
+ "text": "Added `encoding_type` query parameter. Added additional variants for the encoding type.",
+ "url": "https://github.com/MystenLabs/walrus/pull/1608"
+ },
+ {
+ "text": "Added the allowed-headers option for daemon commands, allowing operators to specify custom allowed headers to filter key-value pairs from the blob attribute.",
+ "url": "https://github.com/MystenLabs/walrus/pull/1591"
+ },
+ {
+ "text": "Added `--sort-by` and `--desc` options for `walrus health` and `walrus info` commands, to sort the storage nodes by node-id, node-name, node-status, or node-url.",
+ "url": "https://github.com/MystenLabs/walrus/pull/1594"
+ },
+ {
+ "text": "Fix `walrus store` behavior when blobs can be extended.",
+ "url": "https://github.com/MystenLabs/walrus/pull/1606"
+ },
+ {
+ "text": "The CLI supports multiple encoding types for reads and writes. Depending on features selected at compile time, it uses a different default type and accepts a subset of them for writes.",
+ "url": "https://github.com/MystenLabs/walrus/pull/1608"
+ }
+ ]
+ },
+ {
+ "id": "walrus-testnet-v1.14.0",
+ "date": "2025-02-19T19:09:47Z",
+ "category": "walrus",
+ "title": "Walrus v1.14.0",
+ "description": "Enables batch symbol recovery by default and adds CLI commands to set, get, and remove blob\nattributes. The `walrus store` command now extends the lifetime of matching owned blobs instead of\nre-registering them.",
+ "badge": "Testnet",
+ "githubUrl": "https://github.com/MystenLabs/walrus/releases/tag/testnet-v1.14.0",
+ "changes": [
+ {
+ "text": "The new batch symbol recovery is enabled by default.",
+ "url": "https://github.com/MystenLabs/walrus/pull/1568"
+ },
+ {
+ "text": "Added the following new commands for blob attribute:",
+ "url": "https://github.com/MystenLabs/walrus/pull/1546"
+ },
+ {
+ "text": "The walrus store command now checks for matching owned Blob objects and extends their lifetime if necessary instead of registering the blob again.",
+ "url": "https://github.com/MystenLabs/walrus/pull/1535"
+ }
+ ]
+ },
+ {
+ "id": "walrus-testnet-v1.13.2",
+ "date": "2025-02-13T19:28:17Z",
+ "category": "walrus",
+ "title": "Walrus v1.13.2",
+ "description": "Fixes the blob-certified metric so it updates only for event blobs and makes the publisher retry\nwhen a refresh fails.",
+ "badge": "Testnet",
+ "githubUrl": "https://github.com/MystenLabs/walrus/releases/tag/testnet-v1.13.2",
+ "changes": [
+ {
+ "text": "fix: Update blob certified metric only if it is event blob",
+ "url": "https://github.com/MystenLabs/walrus/pull/1576"
+ },
+ {
+ "text": "fix(publisher): retry if refresh fails",
+ "url": "https://github.com/MystenLabs/walrus/pull/1575"
+ }
+ ]
+ },
+ {
+ "id": "walrus-testnet-v1.13.1",
+ "date": "2025-02-12T19:52:26Z",
+ "category": "walrus",
+ "title": "Walrus v1.13.1",
+ "description": "Reworks TLS configuration by removing the `tls.pem_files` block in favor of `tls.certificate_path`\nand `network_key_pair.path`, and enables automatic rotation of the protocol key pair. Adds a CLI\n`--ignore-resources` flag.",
+ "badge": "Testnet",
+ "githubUrl": "https://github.com/MystenLabs/walrus/releases/tag/testnet-v1.13.1",
+ "changes": []
+ },
+ {
+ "id": "walrus-testnet-v1.12.0",
+ "date": "2025-02-06T00:20:46Z",
+ "category": "walrus",
+ "title": "Walrus v1.12.0",
+ "description": "Lets the `walrus health` command accept a list of node IDs or URLs; this is a breaking change for\nJSON mode, where `nodeId` and `nodeUrl` become `nodeIds` and `nodeUrls`.",
+ "badge": "Testnet",
+ "githubUrl": "https://github.com/MystenLabs/walrus/releases/tag/testnet-v1.12.0",
+ "changes": []
+ },
+ {
+ "id": "walrus-testnet-v1.11.0",
+ "date": "2025-01-29T19:57:12Z",
+ "category": "walrus",
+ "title": "Walrus v1.11.0",
+ "description": "Adds a CLI `health` command and the ability to extend owned blobs with WAL, and lets storage node\noperators change several config parameters by editing the local file and restarting. Deprecates the\nrecovery symbol endpoint in favor of a new one.",
+ "badge": "Testnet",
+ "githubUrl": "https://github.com/MystenLabs/walrus/releases/tag/testnet-v1.11.0",
+ "changes": []
+ },
+ {
+ "id": "walrus-testnet-v1.10.0",
+ "date": "2025-01-23T23:00:35Z",
+ "category": "walrus",
+ "title": "Walrus v1.10.0",
+ "description": "Makes storage node error responses machine-readable, adds error statuses and richer OpenAPI schemas\nto the aggregator and publisher, and introduces an optional JWT auth layer for the publisher. Also\nadds a `walrus-backup` entrypoint and several CLI fixes and options, including staking with multiple\nnodes.",
+ "badge": "Testnet",
+ "githubUrl": "https://github.com/MystenLabs/walrus/releases/tag/testnet-v1.10.0",
+ "changes": [
+ {
+ "text": "Update error responses returned by storage nodes to be machine-readable and contain more details",
+ "url": "https://github.com/MystenLabs/walrus/pull/1407"
+ },
+ {
+ "text": "Add error statuses to the responses of failed requests; update endpoint URLs; and add more detailed OpenAPI schemas.",
+ "url": "https://github.com/MystenLabs/walrus/pull/1407"
+ },
+ {
+ "text": "Add error statuses to the responses of failed requests; update endpoint URLs; and add more detailed OpenAPI schemas.",
+ "url": "https://github.com/MystenLabs/walrus/pull/1407"
+ },
+ {
+ "text": "Add optional JWT auth layer for the publisher",
+ "url": "https://github.com/MystenLabs/walrus/pull/1345"
+ },
+ {
+ "text": "This fixes the cost computation for the `store --dry-run` command.",
+ "url": "https://github.com/MystenLabs/walrus/pull/1402"
+ },
+ {
+ "text": "Allows staking with multiple nodes simultaneously.",
+ "url": "https://github.com/MystenLabs/walrus/pull/1404"
+ },
+ {
+ "text": "Fix serialization of JSON output for the `walrus store` command.",
+ "url": "https://github.com/MystenLabs/walrus/pull/1421"
+ },
+ {
+ "text": "Adds the option to specify `max` as the number of epochs.",
+ "url": "https://github.com/MystenLabs/walrus/pull/1425"
+ },
+ {
+ "text": "changes to the syntax and output of the `info` command",
+ "url": "https://github.com/MystenLabs/walrus/pull/1388"
+ },
+ {
+ "text": "an entrypoint called walrus-backup will now be included in the build process. It has minimal (tailing Walrus-related Sui events) functionality at this point.",
+ "url": "https://github.com/MystenLabs/walrus/pull/1397"
+ }
+ ]
+ }
+]
\ No newline at end of file
diff --git a/docs/site/src/pages/changelog.js b/docs/site/src/pages/changelog.js
new file mode 100644
index 0000000000..69ca65c30d
--- /dev/null
+++ b/docs/site/src/pages/changelog.js
@@ -0,0 +1,182 @@
+// Copyright (c) Walrus Foundation
+// SPDX-License-Identifier: Apache-2.0
+
+import React, { useState } from "react";
+import Layout from "@theme/Layout";
+import Head from "@docusaurus/Head";
+import styles from "./changelog.module.css";
+
+import ENTRIES from "../data/changelog.json";
+
+const CATEGORIES = [
+ { value: "all", label: "ALL" },
+ { value: "walrus", label: "WALRUS" },
+ { value: "walrus-memory", label: "WALRUS MEMORY" },
+ { value: "walrus-sites", label: "WALRUS SITES" },
+];
+
+const CATEGORY_LABELS = {
+ walrus: "WALRUS",
+ "walrus-memory": "WALRUS MEMORY",
+ "walrus-sites": "WALRUS SITES",
+};
+
+function formatTimelineDate(isoDate) {
+ if (!isoDate) return "";
+ const d = new Date(isoDate);
+ const months = [
+ "JAN", "FEB", "MAR", "APR", "MAY", "JUN",
+ "JUL", "AUG", "SEP", "OCT", "NOV", "DEC",
+ ];
+ const year = String(d.getUTCFullYear()).slice(2);
+ return `${months[d.getUTCMonth()]} ${String(d.getUTCDate()).padStart(2, " ")}, '${year}`;
+}
+
+function SearchIcon({ className }) {
+ return (
+
+ );
+}
+
+export default function Changelog() {
+ const [active, setActive] = useState("all");
+ const [query, setQuery] = useState("");
+
+ const visible = [];
+ for (let i = 0; i < ENTRIES.length; i++) {
+ const entry = ENTRIES[i];
+ if (active !== "all" && entry.category !== active) {
+ continue;
+ }
+ if (query) {
+ const q = query.toLowerCase();
+ const text = (entry.title + " " + (entry.description || "")).toLowerCase();
+ if (!text.includes(q)) {
+ continue;
+ }
+ }
+ visible.push(entry);
+ }
+
+ return (
+
+
+
+
+