Releases: dojoengine/katana
v1.8.0-rc.3
What's Changed
- Merge katana-tee-vm back into misc/AMDSEV with its CI workflows by @kariy in #594
- amdsev-release: trigger on every katana release, bundle its binary by @kariy in #595
- amdsev: bump pinned kernel 6.8.0-90 → 6.8.0-124 (ABI pin rot) by @kariy in #598
- amdsev: stop strip_reserved_args from glob-expanding operator args by @kariy in #597
- make: drop SNOS artifacts from fixtures (snos tests disabled) by @kariy in #599
- amdsev: default to unsealed storage; document sealed-storage limitation by @kariy in #601
- feat(rpc): add
node_getConfigmethod by @kariy in #600 - rpc(cli): add
starknet messages-statussubcommand by @kariy in #602 - messaging: add
--messaging.force-refetchto ignore stored checkpoint by @kariy in #603 - feat(blockifier): bump l1 handler max l1 gas limit by @kariy in #604
- release(prepare): v1.8.0-rc.3 by @kariy in #605
Full Changelog: v1.8.0-rc.2...v1.8.0-rc.3
katana-v1.8.0-rc.3
Katana TEE VM katana-v1.8.0-rc.3
Sealed-mode SEV-SNP confidential VM image bundling Katana v1.8.0-rc.3.
Sealed launch measurement (SHA-384)
LUKS_UUID = 00000000-0000-0000-0000-000000000001
LAUNCH_MEASUREMENT = 6bde2f9e56b56c84fb015246af7f2cefd6b50509354850d6673fb202c54fc5fdf3f19eb5cef77b1bc3db84086f863d20
This is the launch measurement that attestation verifiers should compare
against. It is bound to the canonical project-wide LUKS_UUID from
misc/AMDSEV/build-config. Operators running with a different LUKS_UUID
must recompute their expected measurement via ./verify-build.sh or
snp-tools/snp-digest.
Component checksums (SHA-256)
| Artifact | SHA-256 |
|---|---|
OVMF.fd (guest BIOS firmware) |
bdf28964b623837685a8243a35bb98fdfcaec8d867f5086d68a8304d2898e45c |
vmlinuz (kernel) |
0913dbdfb7db70d66168e1987c3f76696a8f228c5ca799e0afa12c6f4c1c6a80 |
initrd.img |
8752a82e7ccb05703250c0d3f809ce122c680c0b06a1b7ca465d9e5079d9b47e |
katana |
5537a7ce09679bcfed52db9ad0f7ebd90320c3059ad07f89b8e7f124e884f94f |
Pinned upstream sources
| Component | Source | Pin |
|---|---|---|
| OVMF (guest BIOS) | https://github.com/AMDESE/ovmf.git (branch snp-latest) |
fbe0805b2091393406952e84724188f8c1941837 |
| Linux kernel | Ubuntu linux-image-unsigned-6.8.0-124-generic .deb |
sha256 36946f21841d1194d3614929104572a4496eb9b62e2931aac854b7ee4145c3f2 |
| Katana | dojoengine/katana |
v1.8.0-rc.3 |
Verify before booting
mkdir -p /tmp/katana-tee-vm && tar xzf katana-tee-vm-katana-v1.8.0-rc.3.tar.gz -C /tmp/katana-tee-vm
misc/AMDSEV/verify-build.sh /tmp/katana-tee-vmThe verifier asserts every sha256 above and re-derives the launch measurement
from OVMF.fd + vmlinuz + initrd.img + the canonical LUKS_UUID. Exits
non-zero on any mismatch. For full from-source reproduction, see
misc/AMDSEV/reproduce-release.sh.
Full build provenance
build-info.txt
# TEE Build Information
# Generated: 2026-06-18T13:58:02Z
# Reproducibility
SOURCE_DATE_EPOCH=1781785968
# Dependencies
OVMF_GIT_URL=https://github.com/AMDESE/ovmf.git
OVMF_BRANCH=snp-latest
OVMF_COMMIT=fbe0805b2091393406952e84724188f8c1941837
OVMF_SOURCE_DATE_EPOCH=1740099036
KERNEL_VERSION=6.8.0-124
KERNEL_PKG_SHA256=36946f21841d1194d3614929104572a4496eb9b62e2931aac854b7ee4145c3f2
BUSYBOX_PKG_SHA256=944b2728f53ceb3916cec2c962873c9951e612408099601751db2a0a5d81e0ed
GLIBC_VERSION=2.39
GLIBC_RUNTIME_PACKAGES=libc6=2.39-0ubuntu8.7 libgcc-s1=14.2.0-4ubuntu2~24.04.1 libstdc++6=14.2.0-4ubuntu2~24.04.1 zlib1g=1:1.3.dfsg-3.1ubuntu2 liblzma5=5.6.1+really5.4.5-1ubuntu0.3
GLIBC_RUNTIME_PACKAGE_SHA256S=libc6=955644e8bc2930a9bf8eea5e4c2237c8a118c1e2ac2845b993b6f7f35eefd293 libgcc-s1=aa7fadbe33b78bcf99885318040601c550c208929565b179891d9a3cc2aa68cd libstdc++6=a51f8de7829211db961a31f02158058ad1a95f92ac6d0a5dff6350e2821c54c0 zlib1g=0b93d16d7498f092fa3070fbbad28cdbc6b3d640f1a7681b96fc37f20d1219f1 liblzma5=d2eabd41ca77d2c2dd9d5d4ef478cccb64ffde6279c47cf4699a857d46785a52
KERNEL_MODULES_EXTRA_PKG_SHA256=cec7de8c627588b9755de7bca54e8f5f84087a2195e80e0a9ee33168beedc6f6
KATANA_BINARY_SHA256=5537a7ce09679bcfed52db9ad0f7ebd90320c3059ad07f89b8e7f124e884f94f
# Output Checksums (SHA256)
OVMF_SHA256=bdf28964b623837685a8243a35bb98fdfcaec8d867f5086d68a8304d2898e45c
KERNEL_SHA256=0913dbdfb7db70d66168e1987c3f76696a8f228c5ca799e0afa12c6f4c1c6a80
INITRD_SHA256=8752a82e7ccb05703250c0d3f809ce122c680c0b06a1b7ca465d9e5079d9b47e
# Sealed launch measurement (canonical project-wide LUKS_UUID from build-config)
LUKS_UUID=00000000-0000-0000-0000-000000000001
LAUNCH_MEASUREMENT=6bde2f9e56b56c84fb015246af7f2cefd6b50509354850d6673fb202c54fc5fdf3f19eb5cef77b1bc3db84086f863d20
v1.8.0-rc.2
What's Changed
- Enable tee-snp and tee-mock TEE features in release builds by @kariy in #590
- release(prepare): v1.8.0-rc.2 by @kariy in #591
Full Changelog: v1.8.0-rc.1...v1.8.0-rc.2
v1.8.0-rc.1
What's Changed
- feat(rpc): implement
starknet_getCompiledCasmmethod by @kariy in #309 - refactor(provider): move state validation out of storage layer by @kariy in #310
- Revert Blacksmith runners migration by @kariy in #336
- feat(sync): Starknet syncing pipline via feeder gateway by @kariy in #338
- chore(node): remove feature flag by @kariy in #340
- feat(pipeline): add block subscription for sync progress monitoring by @kariy in #339
- refactor(gateway): split crates by @kariy in #344
- refactor(gpo): replace
Samplerenum with trait-based impls by @kariy in #342 - refactor(rpc): pending block abstraction by @kariy in #345
- refactor(rpc): use
katana-rpc-clientinForkedClientby @kariy in #347 - refactor(rpc): pool abstraction by @kariy in #348
- Add calculate_hash method to BroadcastedTxWithChainId by @kariy in #349
- chore(primitives): remove redundant intermediary type by @kariy in #350
- chore: rename
katana-rpccrate tokatana-rpc-serverby @kariy in #351 - fix(gateway): broadcasted transaction serialization by @kariy in #353
- feat(bin): RPC subcommand for
starknet_getEventsby @kariy in #354 - refactor(rpc): remove
BackendfromStarknetApiby @kariy in #355 - feat: full node by @kariy in #302
- feat(full-node): watch L2 chain tip by @kariy in #357
- feat: preserve class abi by @kariy in #356
- fix(provider): historical provider doesn't respect pinned block number by @kariy in #360
- refactor(provider): forked block data on the provider level by @kariy in #361
- test(provider): historical forked provider data by @kariy in #362
- feat(bin): add get storage proof endpoint to
rpccommand by @kariy in #366 - feat(provider): storage proofs for pre fork point blocks by @kariy in #365
- feat(db): database operations metrics by @kariy in #367
- fix(pipeline): don't restart
run_loopfuture on tip change by @kariy in #368 - fix(rpc): forked provider return invalid proofs by @kariy in #369
- refactor(node): include metrics server in
Nodeby @kariy in #363 - refactor(provider): database transaction-based provider by @kariy in #370
- feat(pipeline): add comprehensive sync metrics by @kariy in #359
- hotfix(provider): historical state update not being fetched correctly from forked provider by @kariy in #371
- refactor(stage): perform trie computation as separate task by @kariy in #373
- hotfix(provider): pre-fork point contract state not being fetched correctly by @kariy in #376
- feat(trie): add revert functionality to state tries by @kariy in #374
- feat(full-node): add state pruning mechanism to sync pipeline by @kariy in #358
- feat(tracing): output logs to file by @kariy in #377
- fix(pipeline): pipeline waits on stale tip by @kariy in #380
- feat: add migrated class hashes in state update by @kariy in #379
- fix(stage): extract execution resources from gateway type by @kariy in #381
- fix(node): preconf watcher watch latest block + 1 by @kariy in #382
- feat(primitives): deploy tx receipt by @kariy in #383
- fix(cli): merge explorer options from config file by @kariy in #384
- feat: alias contract for stateful compression by @chudkowsky in #375
- refactor(primitives): define
felt!macro locally by @kariy in #390 - chore: remove
starknet-cryptoby @kariy in #391 - refactor(primitives): remove usages of
short_string!macro by @kariy in #389 - fix: system contract no class hash by @kariy in #387
- chore: bump Rust version in Dockerfile by @kariy in #393
- ci: run in bigger storage runner by @kariy in #394
- chore: bump
blockifiertov0.16.0-rc.0by @kariy in #392 - ci: temporarily disable snos-integration-test job by @kariy in #395
- feat(rpc): update to Starknet JSON-RPC spec v0.10.0 by @kariy in #385
- feat(tee): Add Trusted Execution Environment (TEE) attestation support by @tarrencev in #378
- chore:
felt!macro cleanup by @kariy in #396 - Add database path logging for sequencer node by @kariy in #397
- ci: run test workflow on release branches by @kariy in #401
- feat(rpc): implement
dev_setStorageAtendpoint by @kariy in #400 - chore: update
jsonrpseeto 0.26 by @kariy in #405 - refactor(provider): move
ProviderROandProviderRWtraits to katana-provider by @kariy in #404 - refactor(cli): rename
--db-dirto--data-dirby @kariy in #407 - feat(grpc): add gRPC server with Starknet API parity by @kariy in #408
- feat(utils): add migrate methods to
TestNodeby @kariy in #412 - feat(utils): feature-gate
nodemodule behindnodefeature by @kariy in #414 - refactor(executor): remove tx resource logs by @kariy in #415
- chore: agentic standards by @tarrencev in #416
- ci(docker): install all required scarb versions by @kariy in #417
- feat(utils): cache migrated
TestNodedatabases as snapshots by @kariy in #418 - Add Avnu paymaster and VRF integration by @tarrencev in #399
- ci(docker): install sozo 1.7.0 via asdf by @kariy in #419
- ci(docker): install
sozo1.6.0 by @kariy in #420 - ci: add migration db generation to test db workflow by @kariy in #421
- chore(test): update test database fixtures by @glihm in #422
- feat(grpc): add integration tests for Starknet gRPC APIs by @kariy in #413
- chore(test): update test database fixtures by @glihm in #424
- chore: sync agent standards by @tarrencev in #423
- refactor(executor): simplify API by @kariy in #425
- feat(rpc): synchronous add transaction methods by @kariy in #427
- refactor(node): split into config, sequencer, and full crates by @kariy in #428
- feat: add implement-rpc-api agent skill by @kariy in #430
- feat(tee): AMD SEV-SNP supported VM image build scripts by @kariy in #388
- make: auto-install missing scarb versions for contracts by @kariy in #432
- feat(rpc): add txpool inspection API by @kariy in #433
- fix(test): handle
TxnHashNotFoundin db-compat test by @kariy in #435 - Add
tee-sev-snptarget and Katana build confirmation by @kariy in #436 - Improve AMDSEV initrd build and boot QoL by @kariy in #438
- AMDSEV: launch Katana asynchronously by @kariy in #440
- fix(test): regenerate corrupted db fixtures and fix grpc server startup race by @kariy in #437
- Add isolated AMDSEV initrd tests by @kariy in #439
- Add starknet-specs release tracker workflow by @kariy in #443
*...
v1.7.1
Release Notes
This release introduces the full implementation of the dev_setStorageAt RPC method, replacing the previous placeholder logic with functional storage state overrides.
Unfortunately, there's no build for x86 macOS due to its deprecation in Github Actions.
Full Changelog
v1.7.0
What's Changed
- ci: weekly binary size report by @kariy in #193
- refactor(contracts): feature contract types by @kariy in #191
- ci(claude): use trigger words by @kariy in #192
- chore: rename
katana-log->katana-tracingby @kariy in #194 - ci(test): run when PR goes from draft -> ready to review by @kariy in #197
- refactor(contracts): built script for compiling feature contracts by @kariy in #200
- refactor(contracts): enable correct path resolution on downstream crates by @kariy in #201
- ci(release): build contracts by @kariy in #205
- chore(docker): multi step build for dev container by @kariy in #202
- chore(rpc-types): incremental removal of the
starknet-rscrate dependency by @kariy in #209 - refactor(rpc-types): local function call request definition by @kariy in #211
- chore: bump
starknetcrate to0.16.0by @kariy in #212 - chore(utils): remove dependency on
dojo-utilsby @kariy in #213 - Bump Rust version to 1.86.0 by @kariy in #214
- fix(ci): invalid script for weekly report by @kariy in #216
- chore: bump alloy and friends by @kariy in #215
- chore: document
scarbdependency by @kariy in #218 - feat(rpc): update Starknet RPC to 0.9.0-rc.2 by @kariy in #210
- ci(release): allow specify custom version by @kariy in #220
- ci(dockerfile): trigger workflow on release by @kariy in #226
- ci(test)): save test artifacts by @kariy in #227
- ci(test): add timeouts by @kariy in #223
- fix(rpc): invalid spec version by @kariy in #224
- release(prepare): v1.7.0-alpha.2 by @glihm in #228
- ci: run when stable or prereleases publish by @kariy in #230
- ci(test): Dojo integration test by @kariy in #225
- refactor(contracts): run build script on empty dir by @kariy in #231
- ci(test): build binary in ci by @kariy in #229
- fix(rpc): unfinished error conversion by @kariy in #222
- feat(dockerfile): remove Katana binary from CI runner image by @kariy in #232
- test(reverse-proxy): run Katana and Caddy as separate processes by @kariy in #233
- fix(ci): parse negative diff as actual number by @kariy in #234
- test(node-bindings): verify process is killed on drop by @kariy in #236
- feat(init): upgrade Cartridge provider to v0.9 by @kariy in #237
- fix(rpc): return the expected error types by @kariy in #239
- test(rpc): test RPC server timeout function by @kariy in #240
- test(gpo): test Starknet gas prices sampler by @kariy in #241
- feat(tracing): format timestamp by @kariy in #242
- refactor(rpc): avoid doing double pass on fee estimation error by @kariy in #244
- ci(test): remove redundant binary build by @kariy in #245
- refactor(gpo): optimize buffer to use fixed-size array by @kariy in #246
- feat(explorer): update Explorer UI by @kariy in #251
- ci(test): trigger on
Cargo.tomlchanges by @kariy in #253 - feat(bin): enable
clientfeature by default by @kariy in #252 - feat(rpc): use stable version of RPC 0.9 by @kariy in #255
- feat(explorer): builder pattern for creating
ExplorerLayerby @kariy in #254 - chore(feeder-gateway): update feeder gateway urls by @kariy in #261
- refactor(feeder-gateway): return status code as error by @kariy in #262
- refactor(controller): remove dependency on
account_sdkby @kariy in #260 - refactor(rpc-types): define RPC types locally by @kariy in #256
- chore(cartridge): initialize git submodule in build script by @kariy in #264
- refactor(primitives): starknet util functions by @kariy in #263
- release(prepare): v1.7.0-alpha.4 by @glihm in #265
- test(rpc-types): transactions RPC <> primitives roundtrip test by @kariy in #266
- chore(cartridge): skip formatting on auto-generated code by @kariy in #267
- feat: use the actual class info by @kariy in #269
- refactor(katana): remove starknet crate dependency from RPC client by @kariy in #268
- refactor(feeder-gateway): clean up types + 0.14.0 support by @kariy in #272
- refactor(tasks): unify task execution under
TaskManagerby @kariy in #289 - fix(vrf): fetch nonce directly from vrf contract storage by @remybar in #290
- refactor(rpc): enter span context in task spawns by @kariy in #297
- fix(ci): update Dojo toolchain setup and add Katana version input in
generate-db-dispatchworkflow by @kariy in #300 - ci: enable database compatibility check for v1.6.0 by @kariy in #299
- release(prepare): v1.7.0 by @glihm in #296
New Contributors
Full Changelog: v1.6.3...v1.7.0
v1.7.0-alpha.4
What's Changed
- ci(test): trigger on
Cargo.tomlchanges by @kariy in #253 - feat(bin): enable
clientfeature by default by @kariy in #252 - feat(rpc): use stable version of RPC 0.9 by @kariy in #255
- feat(explorer): builder pattern for creating
ExplorerLayerby @kariy in #254 - chore(feeder-gateway): update feeder gateway urls by @kariy in #261
- refactor(feeder-gateway): return status code as error by @kariy in #262
- refactor(controller): remove dependency on
account_sdkby @kariy in #260 - refactor(rpc-types): define RPC types locally by @kariy in #256
- chore(cartridge): initialize git submodule in build script by @kariy in #264
- refactor(primitives): starknet util functions by @kariy in #263
- release(prepare): v1.7.0-alpha.4 by @glihm in #265
Full Changelog: v1.7.0-alpha.3...v1.7.0-alpha.4
v1.7.0-alpha.3
What's Changed
- ci: run when stable or prereleases publish by @kariy in #230
- ci(test): Dojo integration test by @kariy in #225
- refactor(contracts): run build script on empty dir by @kariy in #231
- ci(test): build binary in ci by @kariy in #229
- fix(rpc): unfinished error conversion by @kariy in #222
- feat(dockerfile): remove Katana binary from CI runner image by @kariy in #232
- test(reverse-proxy): run Katana and Caddy as separate processes by @kariy in #233
- fix(ci): parse negative diff as actual number by @kariy in #234
- test(node-bindings): verify process is killed on drop by @kariy in #236
- feat(init): upgrade Cartridge provider to v0.9 by @kariy in #237
- fix(rpc): return the expected error types by @kariy in #239
- test(rpc): test RPC server timeout function by @kariy in #240
- test(gpo): test Starknet gas prices sampler by @kariy in #241
- feat(tracing): format timestamp by @kariy in #242
- refactor(rpc): avoid doing double pass on fee estimation error by @kariy in #244
- ci(test): remove redundant binary build by @kariy in #245
- refactor(gpo): optimize buffer to use fixed-size array by @kariy in #246
- feat(explorer): update Explorer UI by @kariy in #251
Full Changelog: v1.7.0-alpha.2...v1.7.0-alpha.3
v1.7.0-alpha.2
A fix for the invalid RPC version format.
Full Changelog: v1.7.0-alpha.1...v1.7.0-alpha.2
v1.7.0-alpha.1
What's Changed
- chore(docker): multi step build for dev container by @kariy in #202
- chore(rpc-types): incremental removal of the
starknet-rscrate dependency by @kariy in #209 - refactor(rpc-types): local function call request definition by @kariy in #211
- chore: bump
starknetcrate to0.16.0by @kariy in #212 - chore(utils): remove dependency on
dojo-utilsby @kariy in #213 - Bump Rust version to 1.86.0 by @kariy in #214
- fix(ci): invalid script for weekly report by @kariy in #216
- chore: bump alloy and friends by @kariy in #215
- chore: document
scarbdependency by @kariy in #218 - feat(rpc): update Starknet RPC to 0.9.0-rc.2 by @kariy in #210
- ci(release): allow specify custom version by @kariy in #220
Full Changelog: v1.7.0-alpha.0...v1.7.0-alpha.1