Releases: dojoengine/dojo
Releases · dojoengine/dojo
v1.0.0-alpha.14
What's Changed
- Update devcontainer image: v1.0.0-alpha.13 by @tarrencev in #2480
- fix: use name for contract interface to be consistent by @glihm in #2482
- feat(katana-rpc): add
traceTransaction
andtraceBlockTransactions
API by @kariy in #2486 - chore: implement
From<BigUint>
for address type by @kariy in #2488 - chore: replace
reth-metrics-derive
with the new standalone version by @kariy in #2487 - chore: remove unused deps by @kariy in #2489
- Bump
slot
(account_sdk
) by @kariy in #2493 - opt(torii-core): move off queryqueue for executing tx by @Larkooo in #2460
- Prepare release: v1.0.0-alpha.14 by @tarrencev in #2496
Full Changelog: v1.0.0-alpha.13...v1.0.0-alpha.14
v1.0.0-alpha.13
What's Changed
- fix(torii): only update curor when required by @lambda-0x in #2438
- Update devcontainer image: v1.0.0-alpha.12 by @tarrencev in #2437
- Bump
serde_json
to1.0.128
by @kariy in #2445 - chore(torii-core): WAL journal mode & remove max conns by @Larkooo in #2439
- opt(torii-grpc): parallelize queries by @Larkooo in #2443
- feat(torii-core): bitflags for indexing by @Larkooo in #2450
- ci(workflows) add GitHub Actions workflow for preview builds by @steebchen in #2446
- Bump
starknet
to0.12.0
by @kariy in #2454 - refactor-opt(torii-grpc): subscriptions no db fetch by @Larkooo in #2455
- feat(Dockerfile): add Tini init system for better process management by @steebchen in #2459
- fix: avoid model classhash conflicts when some models have a same name by @remybar in #2457
- fix: remove dojo plugin dep by @glihm in #2461
- Improve Katana runner macro by @kariy in #2464
- chore: use the new Katana runner proc macro by @kariy in #2465
- Walnut: Enable multi-class verification via single API request by @barabanovro in #2456
- refactor(katana-primitives): replace
HashMap
withBTreeMap
in state updates and genesis types by @kariy in #2469 - fix(torii): improve log messages by @lambda-0x in #2463
- fix(dojo-lang): add a default namespace to ensure language server support by @glihm in #2472
- refactor(torii-core): enqueue models & events by @Larkooo in #2471
- fix(dojo-core): ensure contract deployment verifies if the selector is unregistered by @glihm in #2473
- chore(katana):
address!
macro for creatingContractAddress
instance by @kariy in #2475 - Katana: Add state update DA encodings by @kariy in #2474
- fix(torii): use correct query_type by @lambda-0x in #2476
- fix: ensure
log
crate output is shown withtracing
by @glihm in #2477 - Bump
blockifier
to fixDeployAccount
tx not respecting disable fee flag by @kariy in #2478 - Prepare release: v1.0.0-alpha.13 by @tarrencev in #2479
Full Changelog: v1.0.0-alpha.12...v1.0.0-alpha.13
v1.0.0-alpha.12
What's Changed
- Update devcontainer image: v1.0.0-alpha.11 by @tarrencev in #2403
- chore(walnut): put under
walnut
feature flag by @kariy in #2407 - feat(katana): add node handle by @kariy in #2408
- opt(katana): graceful shutdown on critical tasks termination by @kariy in #2409
- refactor(dojo-lang): output debug info conditionally by @kariy in #2411
- fix(katana-tasks): ensure is cancelled before waiting on shutdown by @kariy in #2412
- refactor(katana): separate node service task by @kariy in #2413
- Bump
blockifier
tov0.8.0-rc3
by @kariy in #2414 - fix(torii-grpc): member clause should never error out if no entities by @Larkooo in #2418
- refactor(torii): update query logic for them to not block by @lambda-0x in #2397
- fix(sozo): update Controller dependencies by @kariy in #2303
- feat: filtering bytearrays with member clause by @Larkooo in #2425
- Bump
slot
to0.14.1
by @kariy in #2432 - opt-fix(torii-core): fix and optimize partial updates by @Larkooo in #2427
- Rename all remaining
FieldElement
s toFelt
for consistency by @kariy in #2433 - refactor/fix(torii-core): correctly queue entity deletions by @Larkooo in #2428
- bench: add sozo build bench for spawn and move by @glihm in #2419
- opt(katana): graceful shutdown on
SIGTERM
by @kariy in #2434 - fix: dojo-lang tests with default namespace by @remybar in #2422
- refactor: member clauses handle struct fields & operators & recursive by @Larkooo in #2420
- Handle graceful shtudown on
SIGTERM
for all binaries by @kariy in #2435 - feat(torii-core): parallelization by @Larkooo in #2423
- Prepare release: v1.0.0-alpha.12 by @tarrencev in #2436
Full Changelog: v1.0.0-alpha.11...v1.0.0-alpha.12
v1.0.0-alpha.11
Reason
- Small fix to avoid spurious logs on the pending block that slows down Torii.
What's Changed
- refactor: use debug for process pendign logs by @Larkooo in #2401
- Prepare release: v1.0.0-alpha.11 by @tarrencev in #2402
Full Changelog: v1.0.0-alpha.10...v1.0.0-alpha.11
v1.0.0-alpha.10
Important changes
- Katana now requires the
--dev
flag to enable thedev_predeployedAccounts
endpoint (previouskatana_predeployedAccounts
). - Walnut (starknet debugger) has been integrated in Dojo and is available for
sozo migrate apply --walnut
andsozo execute --walnut
. If you require an API key working with Dojo, please contact https://walnut.dev founders, they will be happy to share one with you. - Katana now returns the events for the pending block.
- Torii bug fixes.
What's Changed
- Update devcontainer image: v1.0.0-alpha.9 by @tarrencev in #2372
- Break on empty events when loading from remote by @kariy in #2376
- chore; use debug for pending tx log by @Larkooo in #2383
- fix(katana-rpc): include events from pending block in
getEvents
by @kariy in #2375 - refactor(katana): move predeployedAccounts under DevApi and remove KatanaApi by @glihm in #2310
- opt(torii): avoid re-processing of transactions in certain case by @lambda-0x in #2381
- feat(docker): add infinite-file-curtailer to image by @steebchen in #2386
- Bump
blockifier
to HEAD ofcairo-2.7
branch by @kariy in #2389 - fix system_name in bindgen by @wighawag in #2387
- fix(torii): offchain messages signature validation on first set by @edisontim in #2390
- feat(dojo-compiler): add sierra to cairo debug information by @kariy in #2392
- Bump
blockifier
to latest rev by @kariy in #2393 - opt(torii): avoid calculating poseidon hash where possible by @lambda-0x in #2394
- update default invoke max steps by @notV4l in #2395
- fix: fix sozo issues with migration on sepolia by @glihm in #2398
- Add walnut flag to sozo execute and migrate apply commands by @barabanovro in #2333
- Prepare release: v1.0.0-alpha.10 by @tarrencev in #2399
New Contributors
- @steebchen made their first contribution in #2386
- @wighawag made their first contribution in #2387
- @edisontim made their first contribution in #2390
- @barabanovro made their first contribution in #2333
Full Changelog: v1.0.0-alpha.9...v1.0.0-alpha.10
v1.0.0-alpha.9
Important changes
- Sozo now warns the user if the toolchain version installed with dojoup or asdf doesn't match the one found in
Scarb.toml
. - Torii now uses websocket for libp2p communication.
- Sozo now supports prefixes for
sozo call
to parse calldata. - Fix a bug in Sozo where already registered models were not skipped correctly.
What's Changed
- Update devcontainer image: v1.0.0-alpha.8 by @tarrencev in #2356
- chore(torii): less noise in logs by @Larkooo in #2358
- fix(dojo-bindgen): ensure typescript plugin output deterministic order by @glihm in #2359
- fix(torii-relay): remove tls for ws by @glihm in #2361
- fix(katana): per transaction validator by @kariy in #2362
- chore(katana-rpc): test cleanup by @kariy in #2363
- fix(libp2p): fix typed data from model by @Larkooo in #2357
- fix(katana): set bouncer weight to max by @kariy in #2367
- dev: pin exact rust nightly version by @kariy in #2365
- Update devcontainer image: e89ac13 by @tarrencev in #2369
- feat(sozo): ensure sozo errors with dojo-core version mismatch by @glihm in #2364
- feat: add prefixes for sozo call and better output message by @glihm in #2366
- chore(torii): remove unused parameters by @lambda-0x in #2360
- fix: ensure we check registered model and not declared models by @glihm in #2368
- refactor(katana-pool): enable ordering using
BTreeSet
by @kariy in #2370 - Prepare release: v1.0.0-alpha.9 by @tarrencev in #2371
Full Changelog: v1.0.0-alpha.8...v1.0.0-alpha.9
v1.0.0-alpha.8
Important changes
- Fix a bug preventing Sozo to update a world due to resource already registered errors.
- Fix
Store
trait generation to ensureset/delete
are available forModel
andupdate/delete
forModelEntity
. - Torii bug fixes an optimization to index worlds with numerous transactions.
- Katana has now a different behavior with the nonces. Before, if a transaction for
account A
was in the pool, the nonce would still the same and would be incremented only when the transaction is executed. Now, Katana returns the incremented nonce even if the transaction in the pool is not yet executed, which should enhance throughput and reduce nonce errors when sending transaction with small delays. - Sozo will now emit a warning if a
print
is used in the code (as this works on Katana, but not on public networks). - New macro available to deploy a world:
spawn_test_world
,sozo build
must be run before running the tests:
// Register all namespaces and models.
let world = spawn_test_world!();
// Register all models for the given namespace.
let world = spawn_test_world!(["ns1"]);
What's Changed
- Update devcontainer image: v1.0.0-alpha.7 by @tarrencev in #2329
- Rename
common
crate ->dojo-utils
by @kariy in #2332 - chore(dojo-utils): move
dojo-world::utils
module todojo-utils
by @kariy in #2334 - fix(torii-graphql): expose namespace in models query by @lambda-0x in #2331
- chore:
taplo fmt
by @kariy in #2336 - refactor(katana): relax nonce check in
estimateFee
by @kariy in #2335 - feat: add macros for testing by @glihm in #2337
- feat(dojo-lang): add warnings for migrations with prints by @jsanchez556 in #2316
- fix(schema): empty array name by @Larkooo in #2339
- fix(katana): ensure messages are ordered by @adrianvrj in #2326
- fix(dojo-core): adjust ACL to restore governance without relaxing permissions by @glihm in #2341
- feat(katana): pool validation by @kariy in #2344
- fix: ensure models generated Store trait exposes set/update/delete by @glihm in #2348
- feat(libp2p): websocket transport by @Larkooo in #2347
- fix: emit trace for unprocessed event only once by @lambda-0x in #2352
- fix(sozo): ensure already registered resources don't make migration fail by @glihm in #2350
- hotfix(katana): make sure validator state is synced with block producer by @kariy in #2353
- opt(torii): remove unused receipt from processor & reduce one rpc call per transaction by @lambda-0x in #2351
- Prepare release: v1.0.0-alpha.8 by @tarrencev in #2345
New Contributors
- @jsanchez556 made their first contribution in #2316
- @adrianvrj made their first contribution in #2326
Full Changelog: v1.0.0-alpha.7...v1.0.0-alpha.8
v1.0.0-alpha.7
What's Changed
- Update devcontainer image: v1.0.0-alpha.6 by @tarrencev in #2313
- feat(katana-tasks): task manager by @kariy in #2318
- refactor(katana): update execution error message by @kariy in #2322
- feat(dojo-core): add world test capabilities by @glihm in #2323
- opt(torii): indexing model schema retrieval by @Larkooo in #2319
- feat(torii): make poll time configurable by @Larkooo in #2327
- Prepare release: v1.0.0-alpha.7 by @tarrencev in #2324
Full Changelog: v1.0.0-alpha.6...v1.0.0-alpha.7
v1.0.0-alpha.6
Important changes
- Fix a bug that prevented contracts from other libraries to be correctly imported during testing.
- Ensure accounts during migration use the
Pending
block tag. - Torii can now be started before the world is deployed.
- Contract's manifest has now a new
systems
entry with the list of systems found in the dojo contract. - Torii should now delete correctly the entities and return an empty array of models if the entity was deleted completely.
What's Changed
- feat(torii): enable any build (not just wasm) to connect to Slot by @caillef in #2147
- fix: ensure migrators are on block pending + display contract address by @glihm in #2293
- fix(dojo-lang): add all crates to test database for Cairo test runner by @glihm in #2296
- feat: improve world contract performance by @remybar in #2287
- refactor(torii): get rid of world class hash by @Larkooo in #2298
- refactor(torii): include model in entity deletion for filter & update member broadcast by @Larkooo in #2299
- feat(torii-core): log when engine syncing has been reestablished by @Larkooo in #2301
- refactor(torii-libp2p): use is_valid_signature for different sig impls by @Larkooo in #2302
- fix(torii-core): engine update cursor when world event by @Larkooo in #2300
- fix(torii-grpc): world class hash by @Larkooo in #2307
- refactor(torii): entity deletion logic for models by @Larkooo in #2306
- fix: improve world's error messages by @glihm in #2305
- feat(dojo-lang): add systems to contract's manifest and fix
DojoAuxData
gathering by @glihm in #2309 - feat(torii-libp2p): typed data from model by @Larkooo in #2308
- Prepare release: v1.0.0-alpha.6 by @tarrencev in #2312
New Contributors
Full Changelog: v1.0.0-alpha.5...v1.0.0-alpha.6
v1.0.0-alpha.5
important changes
- New configuration file
dojo_<PROFILE_NAME>.toml
, to place all dojo specific content. Must be placed at the same level asScarb.toml
. - Bug fixes on Torii for Graphql and GRPC for some types that were failing.
- ACLs revised to protect against malicious manipulation of permissions.
- Add a new Sozo command to compute hashes:
sozo hash
that can accept a tag or felts. - Sozo init is now correctly working with pinned versions.
- Torii full support for signed integers.
- An empty clause in Torii subscriptions is now again subscribing to every entity.
- Speed up migration with pre-deployed accounts on katana locally and slot.
What's Changed
- Update devcontainer image: v1.0.0-alpha.4 by @tarrencev in #2250
- bump metrics dependencies by @kariy in #2251
- fix(torii): only retrieve metadata for world by @lambda-0x in #2252
- feat: add --tag to dojoup by @glihm in #2265
- feat: stabilize cairo to
2.7.0
by @glihm in #2257 - katana: database metrics by @kariy in #2258
- refactor(torii-client): remove deprecated model storage and subscription by @Larkooo in #2267
- fix(torii): member clause escaped table name by @Larkooo in #2255
- fix(torii-grpc): deser from db for grpc enums by @Larkooo in #2259
- refactor(torii-grpc): subscribe to all for empty clauses by @Larkooo in #2269
- feat(torii-grpc): add signed integers to grpc proto by @Larkooo in #2239
- chore(katana): remove unused sequencer code by @kariy in #2279
- fix(controller): wait for controller to be deployed by @kariy in #2278
- feat: implement sozo init versioning by @EjembiEmmanuel in #2262
- refactor(torii-grpc): correct pagination logic for grpc query member by @Larkooo in #2256
- xtask: generate katana test db by @kariy in #2271
- remove computed attribute by @remybar in #2272
- expose resources through resource() function in world API by @remybar in #2266
- feat(sozo): selector from tag command on sozo by @Larkooo in #2282
- ACL rework to avoid "man in the middle" vulnerability by @remybar in #2254
- fix(katana): handle when database is None by @kariy in #2284
- refactor(katana): move pool into its own crate by @kariy in #2281
- feat: adding profile config by @glihm in #2285
- fix(sozo): add support for new ACLs workflow by @glihm in #2288
- fix: update migration error message about world_address in Scarb.toml by @remybar in #2286
- Prepare release: v1.0.0-alpha.5 by @tarrencev in #2289
- feat(torii-graphql): event messages update & subscription by @Larkooo in #2227
Full Changelog: v1.0.0-alpha.4...v1.0.0-alpha.5