Releases: dojoengine/dojo
Releases · dojoengine/dojo
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
v1.0.0-alpha.4
Mostly bug fixes in this release
- Controller integration with Sozo.
- Fix bug when testing contracts where
TEST_CLASS_HASH
wasn't found. - Katana internal refactoring and hash computation fixes.
What's Changed
- Update devcontainer image: v1.0.0-alpha.3 by @tarrencev in #2211
- refactor(katana-rpc): move API implementations from
Sequencer
to their dedicated server struct by @kariy in #2209 - refactor(katana): remove unneccessary level of abstraction due to
KatanaSequencer
by @kariy in #2214 - fix: ensure event messages are emitted with the correct selector by @glihm in #2217
- feat(dojo-core): add selector_from_names for cairo runtime by @glihm in #2219
- tests: unit tests for hash computations in transaction.rs by @g4titanx in #2216
- refactor(katana): flatten the logic of starting the node by @kariy in #2232
- update permission api by @remybar in #2224
- fix calldata issue by @ponderingdemocritus in #2213
- fix(sozo): events subcommand by @lambda-0x in #2215
- fix: ensure correct compilation unit is picked up by @glihm in #2220
- feat(katana-db): database stats by @kariy in #2235
- fix(sozo): upgrade_contract use selector instead of contract_address by @notV4l in #2234
- refactor(cli): katana cli module by @kariy in #2236
- feat(katana): db stats cli by @kariy in #2237
- refactor(sozo): fetch
writes
from events and calculate diff for that + some refactor by @lambda-0x in #2203 - Bump
account_sdk
to rev512ff89
by @kariy in #2240 - chore(katana-primitives): pleasing clippy by @kariy in #2241
- katana: include freelist in stats by @kariy in #2243
- Export
setup
module undertest-utils
feature by @kariy in #2247 - fix(sozo): block can contain multiple event of same type for same address by @lambda-0x in #2245
- refactor(sozo): deploy controller account if not exist by @kariy in #2242
- feat(torii-core): store update member by @Larkooo in #2182
- Prepare release: v1.0.0-alpha.4 by @tarrencev in #2249
Full Changelog: v1.0.0-alpha.3...v1.0.0-alpha.4
v1.0.0-alpha.3
Important changes
- Sozo now supports workspaces with packages. However, only one package with
[[target.dojo]]
is supported into a workspace. This unlock the possibility of organizing a dojo project with some packages (crates) that can be easily imported by other projects, and having the world to deploy in the same repository. - Default namespaces are now supported for libraries.
- Work on Typescript bindgen to work with namespaces and better Enum support.
What's Changed
- Remove
starknet_in_rust
executor support by @kariy in #2200 - test(katana-executor): katana to blockifier chain id invariant by @kariy in #2204
- refactor(katana-rpc): starknet rpc clean up by @kariy in #2205
- Cleaning/Refactoring of the dojo-core crate. by @remybar in #2187
- fix(dojo-lang): ensure compiler tests have unique id to not avoid output conflicts by @glihm in #2206
- refactor(katana-rpc): rename trait methods to their exact names in the api spec by @kariy in #2208
- feat(sozo): add full workspace and accept non-dojo targets by @glihm in #2207
- fix(sozo): adjust typescript bindgen to v1 by @ponderingdemocritus in #2202
- Prepare release: v1.0.0-alpha.3 by @tarrencev in #2210
Full Changelog: v1.0.0-alpha.2...v1.0.0-alpha.3
v0.7.4
v1.0.0-alpha.2
Important changes
⚠️ breaking⚠️ Support for Cairo2.7.0-rc.3
for bothdojo-lang
andkatana
.- Subscriptions with Torii can now be updated by providing an array of clauses.
What's Changed
- Update devcontainer image: v1.0.0-alpha.1 by @tarrencev in #2181
- rm useless alloy patches by @tcoratger in #2183
- move to edition 2023_11 by @remybar in #2179
- Update Katana benchmark CI by @kariy in #2184
- feat: update subscription by subscription id & multiple clauses by @Larkooo in #2176
- fix: ensure the snake case is only applied to model name by @glihm in #2185
- Bump
blockifier
to support Cairo 2.7 by @kariy in #2180 - bench(katana-executor): measure cached state concurrency by @kariy in #2190
- fix(dojo-lang): bump to cairo
2.7.0-rc.3
by @glihm in #2189 - fix: ensure scarb points to the correct plugin version by @glihm in #2194
- feat(dojo-bindgen): signed integers & typescript by @Larkooo in #2191
- Prepare release: v1.0.0-alpha.2 by @tarrencev in #2195
- fix(sozo): update some clap arguments by @lambda-0x in #2196
- fix(sozo): use
Provider
trait and avoid manifest read when possible by @glihm in #2197
Full Changelog: v1.0.0-alpha.1...v1.0.0-alpha.2