Releases: DeWebProtocol/malt
Release list
MALT v0.0.6
MALT v0.0.6
Release date: 2026-07-14
v0.0.6 establishes DeWebProtocol/malt as an SDK-only core. It keeps the
protocol, commitment, proof, semantic, mutation, execution, and verifier
building blocks required by clients and gateways, while removing product and
application implementations from the module.
Boundary changes
Core retains:
- module-root resolve/read/query and verification values;
malt.resolve/v0alpha1andmalt.read/v0alpha1schemas;- ProofList, KZG/IPA, typed CID, map/list semantics, resolver/writer algorithms;
- portable mutation/receipt values and untrusted
execution.Executor; - local Go/WASM verifier surfaces;
- the frozen
malt.artifact/v0alpha2compatibility verifier.
Core removes:
cmd/malt,cmd/cas,cmd/eval;- daemon, config, HTTP API/server, reference executor;
- CAS/KV adapters and concrete ArcTable implementations;
- UnixFS model/client/runtime packages;
- evaluator plans, commands, and schemas.
DeWebProtocol/gateway now owns persistent ArcTable/KV/CAS and generic
resolve/read/apply service execution. DeWebProtocol/malt-client owns the
trusted CLI/daemon, accepted roots, UnixFS planning, local verification, and
payload-byte binding. Web remains a browser client using the WASM verifier.
ArcSet capability
Proof-generation algorithms accept auth/arcset/materializer.Store. This is a
narrow algorithmic capability over ArcSet views and commitment nodes, not an
ArcTable implementation or persistence contract. A small in-memory
implementation remains for conformance tests and examples.
Compatibility
This is an intentional pre-v1 source-breaking release. There are no forwarding
packages for removed product/application paths. The serialized resolve/read
profiles, ProofList format, typed root codecs, and frozen artifact profile are
not revised by this release.
Validation checklist
git diff --checkgofmtcleango test ./...go vet ./...go build -buildvcs=false ./...- native and WASM verifier builds
- external consumer compile against the SDK packages
- gateway and malt-client full test/vet suites
- Web test and production build
The GitHub release identifies the exact tag commit and final validation result.
Documentation erratum
After publication, PR #166 corrected SECURITY.md to identify v0.0.6 as the current supported experimental release and aligned its scope with the SDK-only core boundary. The immutable v0.0.6 tag remains at 841c22415a54810006d6640a24c54566b6ba3f39.
MALT v0.0.5 — Resolve/Read Client Boundary
MALT v0.0.5
Status: released on 2026-07-13
MALT v0.0.5 tightens the boundary between the portable authentication core,
trusted clients, untrusted gateway/executor work, immutable CAS payloads, and
application models such as UnixFS. It is an experimental source release, not a
stable API line or production managed service.
Release Contract
- Go module:
github.com/dewebprotocol/malt@v0.0.5 - resolve profile:
malt.resolve/v0alpha1 - primitive-read profile:
malt.read/v0alpha1 - frozen compatibility profile:
malt.artifact/v0alpha2 - schemas:
protocol/schemas/*.schema.json - reference routes:
POST /v1/resolvePOST /v1/readPOST /v1/verify/resolve(diagnostic only)POST /v1/verify/read(diagnostic only)
Highlights
- The module-root
maltpackage exposes application-neutral
ResolveRequest/ResolveResultand typed primitive-read contracts together
with portableVerifyResolveandVerifyReadfunctions. execution.Executorperforms untrusted resolve/read/apply work over injected
resolver, semantic prover, and mutation-applier capabilities. It never makes
the client trust decision.protocolpublishes operation-specific request, result, verification, and
JSON Schema contracts. ProofList is evidence carried by those results, not a
generic operation envelope.mutationowns namespace-free semantic mutation, delta, commit-descriptor,
and write-receipt values. Receipts and candidate roots are not cryptographic
state-transition proofs.- UnixFS is split across
model/unixfs,sdk/unixfs, andruntime/unixfsso
application semantics, client planning/body verification, and reference
execution are not treated as MALT core. sdk/verifier,malt verify, and the browser/WASM build bind a
caller-selected request to an untrusted result before portable ProofList
verification.- The process managed by
malt startis documented as an all-in-one reference
executor. Remote verify routes are diagnostic/conformance helpers, not trust
authorities.
Resolution And Payload Semantics
Clients submit canonical segment arrays without discovering authenticated arc
boundaries. Resolution authenticates one complete returned derivation and does
not claim longest-prefix maximality, uniqueness, or application preference.
An empty segment array is strict root identity. Payload selection uses the
explicit reserved @payload segment. A verified payload resolve authenticates
a CID; clients must additionally bind returned full or ranged bytes to that CID
using ordinary CID verification or sdk/unixfs.VerifyRangeBody as appropriate.
Compatibility
The v0.0.4 malt.artifact/v0alpha2 resolve/prove/verify operation set remains
frozen. New integrations should use malt.resolve/v0alpha1 and
malt.read/v0alpha1 rather than adding operations to that compatibility
profile.
This release intentionally removes the former layout/unixfs Go package path.
Consumers should import the model, SDK, or runtime package matching their role.
All current profiles and Go APIs remain experimental before v1.0.0.
Security Boundary
Resolvers, ArcTable indexes, gateways, caches, CAS availability, and reference
execution are untrusted for correctness. Clients accept results only after
local verification against an explicit trusted root and caller-constructed
request. Root freshness, authority, rollback prevention, tenant policy, and
multi-writer arbitration remain application or managed-gateway concerns.
Validation Gate
The release commit is validated with:
git diff --check
gofmt -l .
go test ./...
go vet ./...
go build -buildvcs=false ./...
scripts/build-verifier-wasm.sh dist/verifier
bin/malt-eval run --plan examples/eval-smoke-plan.json --run-id v0.0.5-smokeAdditional gates cover an external consumer of the root facade and protocol
schemas, native and WASM builds, local verifier accept/tamper rejection, and
gateway/Web integration against the exact release source.
Published Tags
v0.0.5-rc.1: validated candidate source tagv0.0.5: final experimental source release
Both tags identify the same approved source tree. Source tags are authoritative;
native binaries remain build-from-source. Published browser verifier artifacts
must identify their exact MALT source commit and SHA-256 checksum.
Related Documents
MALT v0.0.4
MALT v0.0.4 publishes canonical segment-path composition and the transport-neutral malt.artifact/v0alpha2 contract for resolve, primitive prove, and verify.
Highlights:
- immutable
SegmentPathAPI with/as the canonical textual projection - proof-carrying multi-arc resolution without a longest-or-unique verifier claim
- unversioned Go
artifactpackage with embedded JSON Schemas and conformance fixtures - stable
/v1/artifacts/{resolve,prove,verify}reference endpoints - gateway/web product smoke covering upload, resolve, prove, verify, content read, and tamper rejection
See docs/releases/v0.0.4.md for the contract and validation boundary.
MALT v0.0.3 — Portable Arc Authentication Core
MALT v0.0.3 is an experimental source release that exposes MALT as a general, arc-granularity graph data-authentication library. UnixFS is now one layout built on the core rather than the definition of the core.
Highlights
- Adds the module-root
maltfacade with typedQuery,ReadRequest,ReadResult,Engine.Read,Apply, andVerifyReadcontracts. - Adds portable
auth/verifierverification for radix maps, tree lists, and measured ranges without ArcTable, CAS, runtime, server, daemon, or network access. - Keeps
graph/verifieras a thin reference-runtime adapter and treats ArcTable as untrusted execution/materialization state. - Allows generic relation-only maps to omit or delete
@payload; UnixFS continues to require payload bindings as a layout invariant. - Splits the UnixFS Reader and Writer facades around explicit CAS capabilities.
- Finalizes MIP-1011 and the experimental
v0alpha1typed read/result and ProofList binding profile.
Install
go get github.com/dewebprotocol/malt@v0.0.3This release publishes source tags only. Build with Go 1.25.7 or newer.
Security hardening
The release audit added fail-closed validation for malformed typed commitment roots and KZG proofs. KZG verification now rejects invalid commitment lengths, out-of-domain proof indices, and non-canonical proof lengths instead of truncating input or panicking.
Validation
Release commit: ba41f3d63cbd062bcd21c05137ca61a26e31379e
git diff --checkgo test ./...go vet ./...- builds for
cmd/cas,cmd/malt, andcmd/eval/malt-eval - evaluator smoke plan
- isolated CAS/daemon add, resolve, and ProofList verification smoke
- external Go module import/run against
v0.0.3-rc.1, with noserverdependency - targeted race, negative, and fuzz coverage for the portable verifier and KZG parser
The candidate tag v0.0.3-rc.1 and final tag v0.0.3 identify the same commit.
Experimental limits
- APIs, query labels, ProofList fields, root codecs, and verifier interfaces may change before v1.0.0.
- ProofList and resolve JSON do not yet have stable named JSON Schema files or an embedded envelope version.
- Range ProofLists authenticate range metadata and segment CIDs; UnixFS callers must additionally bind returned bytes with
layout/unixfs.VerifyRangeBodyor an equivalent check. - The KZG batch API currently encodes one primitive proof per index; native multi-opening remains an optimization.
- Managed tenancy, authorization, publication, freshness, quotas, billing, pinning, garbage collection, and backend operations remain outside MALT core.
See the v0.0.3 release record, MIP-1011, and compatibility policy for details.
v0.0.1 — Initial Public Release
What is MALT
MALT is an authenticated mutable structure layer over immutable content-addressed storage. It introduces Explicit Arcs — verifiable bindings independent of immutable object content — with map and list semantic primitives for unified path traversal and range verification.
⚠️ Research prototype. This is an early release for the paper submission. APIs, storage formats, and proof schemas may change without notice until a stable version is tagged.
Highlights
- Root-centric verification:
Read(root, query) → result + ProofList— clients verify correctness against the root, not the server - Semantic mutation:
ApplyMutation(baseRoot, delta) → newRoot + writeReceipt - UnixFS compatibility: add, resolve, and verify files/directories over the MALT structure layer
- Local daemon: single-binary
maltdaemon with HTTP API on127.0.0.1:4317 - Evaluation CLI:
malt-evalfor benchmarking read latency, write amplification, and proof overhead across MALT-flat, IPLD UnixFS, and HAMT baselines
Quick Start
# Requires Go 1.25.7+
go build -buildvcs=false -o bin/malt ./cmd/malt
go build -buildvcs=false -o bin/malt-eval ./cmd/eval/malt-eval
# Start daemon
./bin/malt daemon start
# Add a file
./bin/malt add ./README.md
# Resolve and verify
./bin/malt resolve <root> README.md
Documentation
- Architecture (https://github.com/DeWebProtocol/malt/blob/main/ARCHITECTURE.md)
- Evaluation guide (https://github.com/DeWebProtocol/malt/blob/main/docs/evaluation.md)
- Design docs (https://dewebprotocol.github.io/malt-web/)
What's Included
┌───────────────────────────────────┬──────────────────────┐
│ Component │ Path │
├───────────────────────────────────┼──────────────────────┤
│ Data authentication core │ auth/ │
├───────────────────────────────────┼──────────────────────┤
│ Graph resolver/writer │ graph/ │
├───────────────────────────────────┼──────────────────────┤
│ Runtime (ArcTable, metrics, node) │ runtime/ │
├───────────────────────────────────┼──────────────────────┤
│ UnixFS layout │ layout/unixfs/ │
├───────────────────────────────────┼──────────────────────┤
│ Storage (CAS, KV) │ storage/ │
├───────────────────────────────────┼──────────────────────┤
│ Server + SDK │ server/, sdk/ │
├───────────────────────────────────┼──────────────────────┤
│ CLI tools │ cmd/malt/, cmd/eval/ │
└───────────────────────────────────┴──────────────────────┘
Known Limitations
- ProofList step schema is intentionally deferred (see MIP-1003)
- KZG commitment backend uses looped encoding pending upstream batch proof support
- No release workflow yet — this is a source-only tag