Skip to content

Releases: dojoengine/katana

v1.8.0-rc.3

18 Jun 13:48

Choose a tag to compare

v1.8.0-rc.3 Pre-release
Pre-release

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_getConfig method by @kariy in #600
  • rpc(cli): add starknet messages-status subcommand by @kariy in #602
  • messaging: add --messaging.force-refetch to 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

18 Jun 13:59

Choose a tag to compare

katana-v1.8.0-rc.3 Pre-release
Pre-release

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-vm

The 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

11 Jun 14:37
7cfa9b9

Choose a tag to compare

v1.8.0-rc.2 Pre-release
Pre-release

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

10 Jun 21:41
15a7100

Choose a tag to compare

v1.8.0-rc.1 Pre-release
Pre-release

What's Changed

  • feat(rpc): implement starknet_getCompiledCasm method 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 Sampler enum with trait-based impls by @kariy in #342
  • refactor(rpc): pending block abstraction by @kariy in #345
  • refactor(rpc): use katana-rpc-client in ForkedClient by @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-rpc crate to katana-rpc-server by @kariy in #351
  • fix(gateway): broadcasted transaction serialization by @kariy in #353
  • feat(bin): RPC subcommand for starknet_getEvents by @kariy in #354
  • refactor(rpc): remove Backend from StarknetApi by @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 rpc command 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_loop future on tip change by @kariy in #368
  • fix(rpc): forked provider return invalid proofs by @kariy in #369
  • refactor(node): include metrics server in Node by @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-crypto by @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 blockifier to v0.16.0-rc.0 by @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_setStorageAt endpoint by @kariy in #400
  • chore: update jsonrpsee to 0.26 by @kariy in #405
  • refactor(provider): move ProviderRO and ProviderRW traits to katana-provider by @kariy in #404
  • refactor(cli): rename --db-dir to --data-dir by @kariy in #407
  • feat(grpc): add gRPC server with Starknet API parity by @kariy in #408
  • feat(utils): add migrate methods to TestNode by @kariy in #412
  • feat(utils): feature-gate node module behind node feature 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 TestNode databases 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 sozo 1.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 TxnHashNotFound in db-compat test by @kariy in #435
  • Add tee-sev-snp target 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
    *...
Read more

v1.7.1

29 Jan 15:05

Choose a tag to compare

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

  • feat(rpc): implement dev_setStorageAt endpoint by @kariy in #400

v1.7.0

06 Oct 20:48
3135f78

Choose a tag to compare

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-tracing by @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-rs crate dependency by @kariy in #209
  • refactor(rpc-types): local function call request definition by @kariy in #211
  • chore: bump starknet crate to 0.16.0 by @kariy in #212
  • chore(utils): remove dependency on dojo-utils by @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 scarb dependency 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.toml changes by @kariy in #253
  • feat(bin): enable client feature 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 ExplorerLayer by @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_sdk by @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 TaskManager by @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-dispatch workflow 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

09 Sep 14:49
c4403da

Choose a tag to compare

v1.7.0-alpha.4 Pre-release
Pre-release

What's Changed

  • ci(test): trigger on Cargo.toml changes by @kariy in #253
  • feat(bin): enable client feature 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 ExplorerLayer by @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_sdk by @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

30 Aug 01:13

Choose a tag to compare

v1.7.0-alpha.3 Pre-release
Pre-release

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

15 Aug 16:14
1b50ea8

Choose a tag to compare

v1.7.0-alpha.2 Pre-release
Pre-release

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

13 Aug 18:07

Choose a tag to compare

v1.7.0-alpha.1 Pre-release
Pre-release

What's Changed

  • chore(docker): multi step build for dev container by @kariy in #202
  • chore(rpc-types): incremental removal of the starknet-rs crate dependency by @kariy in #209
  • refactor(rpc-types): local function call request definition by @kariy in #211
  • chore: bump starknet crate to 0.16.0 by @kariy in #212
  • chore(utils): remove dependency on dojo-utils by @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 scarb dependency 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