Releases: dojoengine/dojo
v1.6.2
v1.6.1
Important changes
This release adds the support for nested enums are keys.
Before this release, only enums used as keys in a model would be upgradeable. But if the enums contains nested enums, it wasn't working as expected.
This release ensures that enums are always upgradeable, no matter the nested level.
pub enum E1 {
Var1: E2,
Var2,
}
pub enum E2 {
Var1,
// Adding a variant here is now supported in model upgrades.
}
#[dojo::model]
pub struct MyModel {
#[key]
pub v: E1,
pub data: u32,
}
What's Changed
New Contributors
Full Changelog: v1.6.0...v1.6.1
v1.6.0
Important changes
This release stabilizes the use of RPC 0.8
of Starknet.
Dojo core
Small changes to correctly handle the errors now that they can be match
.
Sozo
Binding generation is now a standalone command (but can still be used during the sozo build
command). This could allow some bindings updates without having to re-build the cairo project.
A new parameter for transactions max-calls
can now be used to ensure multi calls are not too big for the new network limits. By default, there is no limit and Sozo will try to send only one transaction per step during the migration. If you hit network limit because of the number of resources (models, events, contracts), playing with this value in the dojo_<profile>.toml
will help adjusting the transaction size.
SDKs
Fixes on binding generation for unreal engine and typescript targets.
What's Changed
- Update starter link after
dojoup install
by @kronosapiens in #3234 - chore(devcontainer): update image: v1.5.1 by @tarrencev in #3233
- Fix broken getting started link in README by @ritik4ever in #3235
- Update DEVELOPMENT.md by @kronosapiens in #3236
- feat: bump rpc spec to 0.8 by @kariy in #3179
- release(prepare): v1.6.0-alpha.0 by @tarrencev in #3241
- fix(dojoup): remove new line in the source cmd by @bengineer42 in #3244
- chore: edited the build badge and its link by @braveocheretovych in #3221
- chore(devcontainer): update image: v1.6.0-alpha.0 by @tarrencev in #3242
- chore: add katana 1.5.4 by @kariy in #3245
- chore: add the missing backticks in the comments by @one230six in #3243
- fix(bindgen): use world namespace for imported models in TypeScript S… by @MartianGreed in #3249
- fix(bindgen): filter out Value models by @MartianGreed in #3248
- fix(bindgen): fix ts bytearray type mapping by @MartianGreed in #3247
- chore: update katana versions by @kariy in #3253
- sozo(unrealengine): handle UE5.6 and Dojo 1.5 by @caillef in #3252
- Fix assert caller permission by @remybar in #3254
- feat(sozo): create standalone bindgen command by @MartianGreed in #3246
- feat(sozo): add MCP sever by @glihm in #3256
- refactor(types): schema json sql value by @Larkooo in #3257
- chore(versions): update torii versions by @Larkooo in #3261
- release(prepare): vv1.6.0-alpha.1 by @tarrencev in #3262
- chore(devcontainer): update image: v1.6.0-alpha.1 by @tarrencev in #3264
- chore(versions): allow katana 1.6.0 on alpha by @steebchen in #3270
- chore(versions): add Dojo 1.6.0-alpha.1 by @kariy in #3272
- refactor(sozo): check RPC spec compatibility by @kariy in #3271
- chore: fix some minor issues in the comments by @rustfix in #3268
- fix(core): allow fixed layout upgrade for class hash change by @glihm in #3274
- release(prepare): v1.6.0-alpha.2 by @tarrencev in #3276
- chore: add Katana 1.6.1 by @kariy in #3277
- chore: add Katana 1.6.2 by @kariy in #3280
- chore(devcontainer): update image: v1.6.0-alpha.2 by @tarrencev in #3278
- fix(utils): ensure the number of calls in multicall can be manually changed
New Contributors
- @ritik4ever made their first contribution in #3235
- @braveocheretovych made their first contribution in #3221
- @one230six made their first contribution in #3243
- @rustfix made their first contribution in #3268
Full Changelog: v1.5.1...v1.6.0
v1.6.0-alpha.2
Important changes
This update is mainly to add stability to the RPC upgrade. Katana 1.6.0
has been re-done, and should now support migration of Dojo worlds in all cases.
It also fixes an issue where existing worlds resources couldn't be upgraded, because the class hash changed but fields are actually the same.
What's Changed
- chore(devcontainer): update image: v1.6.0-alpha.1 by @tarrencev in #3264
- chore(versions): allow katana 1.6.0 on alpha by @steebchen in #3270
- chore(versions): add Dojo 1.6.0-alpha.1 by @kariy in #3272
- refactor(sozo): check RPC spec compatibility by @kariy in #3271
- chore: fix some minor issues in the comments by @rustfix in #3268
- fix(core): allow fixed layout upgrade for class hash change by @glihm in #3274
- release(prepare): v1.6.0-alpha.2 by @tarrencev in #3276
New Contributors
Full Changelog: v1.6.0-alpha.1...v1.6.0-alpha.2
v1.6.0-alpha.1
Important changes
Sozo:
- Bindgen fixes for several targets (unreal and typescript).
- Standalone command to generate the bindings with
sozo bindgen
if the project is already built. - A first implementation of the MCP server for Sozo which supports building, testing and migrating contracts + inspecting the project to get info about a contract. Currently, the MCP server must be started pointing to the scarb manifest path to ensure the server can explore the project's content. Sozo MCP uses a
stdio
server, which can be added to the.claude.json
this way (or using themcp add
command):
"mcpServers": {
"<PROJECT_NAME>": {
"type": "stdio",
"command": "sozo",
"args": [
"mcp",
"--manifest-path",
"/path/project/spawn-and-move/Scarb.toml"
],
"env": {}
},
}
Core
- Permissions error flow now matches the result of the starknet contract call syscall to ensure better error message.
What's Changed
- fix(dojoup): remove new line in the source cmd by @bengineer42 in #3244
- chore: edited the build badge and its link by @braveocheretovych in #3221
- chore(devcontainer): update image: v1.6.0-alpha.0 by @tarrencev in #3242
- chore: add katana 1.5.4 by @kariy in #3245
- chore: add the missing backticks in the comments by @one230six in #3243
- fix(bindgen): use world namespace for imported models in TypeScript S… by @MartianGreed in #3249
- fix(bindgen): filter out Value models by @MartianGreed in #3248
- fix(bindgen): fix ts bytearray type mapping by @MartianGreed in #3247
- chore: update katana versions by @kariy in #3253
- sozo(unrealengine): handle UE5.6 and Dojo 1.5 by @caillef in #3252
- Fix assert caller permission by @remybar in #3254
- feat(sozo): create standalone bindgen command by @MartianGreed in #3246
- feat(sozo): add MCP sever by @glihm in #3256
- refactor(types): schema json sql value by @Larkooo in #3257
- chore(versions): update torii versions by @Larkooo in #3261
- release(prepare): vv1.6.0-alpha.1 by @tarrencev in #3262
New Contributors
- @braveocheretovych made their first contribution in #3221
- @one230six made their first contribution in #3243
Full Changelog: v1.6.0-alpha.0...v1.6.0-alpha.1
v1.6.0-alpha.0
What's Changed
- Update starter link after
dojoup install
by @kronosapiens in #3234 - chore(devcontainer): update image: v1.5.1 by @tarrencev in #3233
- Fix broken getting started link in README by @ritik4ever in #3235
- Update DEVELOPMENT.md by @kronosapiens in #3236
- feat: bump rpc spec to 0.8 by @kariy in #3179
- release(prepare): v1.6.0-alpha.0 by @tarrencev in #3241
New Contributors
- @ritik4ever made their first contribution in #3235
Full Changelog: v1.5.1...v1.6.0-alpha.0
v1.5.1
Important changes
- Dojo lang: introspection is now correctly handling the unity type when explicitly used in enums variant (
()
). - World: now that the syscall to get the class hash is supported by the network, using the
dns
correctly returns the class hash relying on theget_class_hash_at
syscall.
What's Changed
- fix(lang): ensure unit type is supported for
Introspect
by @glihm in #3206 - chore(devcontainer): update image: v1.5.0 by @tarrencev in #3205
- chore(versions): 1.5.1 torii by @Larkooo in #3208
- feat(merge-options): merge attr for recursive merging by @Larkooo in #3210
- refactor(dojoup): improve instructions by @kariy in #3209
- chore(versions): add
katana 1.5.1
version by @kariy in #3214 - chore(versions): add torii 1.5.2 version by @Larkooo in #3213
- chore(versions): add torii 1.5.3 by @Larkooo in #3215
- chore(versions): torii 1.5.4 by @Larkooo in #3222
- tests(dojoup): add test suite on different OS for dojoup by @glihm in #3211
- chore: add katana 1.5.2 by @kariy in #3225
- Return class_hash properly in dns_from_selector by @kronosapiens in #3227
- chore: add
[email protected]
by @kariy in #3230 - release(prepare): v1.5.1 by @tarrencev in #3231
New Contributors
- @kronosapiens made their first contribution in #3227
Full Changelog: v1.5.0...v1.5.1
v1.5.0
Important changes
This is the first version of Dojo where katana
and torii
are moved out of the repository.
- Support for Cairo
2.10
(Dojo lang is still a built-in compiler plugin, noscarbs.xyz
at the moment). - The
world
now keeps track of the ownership counter on resources. It has a new API to verify the ownership of a resourceowners_count
. - Signed integers are now fully supported by the introspection.
New Dojoup binary
From this release and the separation of the tools, dojoup
has evolved to have the following behavior:
- You can still install the whole dojo toolchain by simply using
dojoup install
ordojoup
. This will install the latest toolchain, with all tools versions that are compatible. - Dojoup supports installing multiple toolchain versions and manages which version is active.
- When only
katana
ortorii
have changes that are not requiring a dojo update, you can use the component install:dojoup component add torii 1.5.1
.
As a note, when you use asdf
, the component installation is not supported.
What's Changed
- chore(devcontainer): update image: v1.4.2 by @tarrencev in #3177
- fix(torii-indexer): stack overflow when dealing with a high number of… by @Larkooo in #3164
- feat(katana): add fact registry arg for
init
by @cwkang1998 in #3158 - feat(sozo): unreal bindings handle int64 and ControllerConnect by @caillef in #3178
- feat: bump cairo 2.10 and remove katana and torii dependencies by @glihm in #3169
- release(prepare): v1.5.0-alpha.0 by @tarrencev in #3180
- feat(dojoup): new commands + support for components fragmentation by @kariy in #3160
- fix(ci): decouple release from docker image by @glihm in #3182
- fix(dojoup): wrong link to versions registry by @kariy in #3187
- chore: remove katana leftover by @kariy in #3191
- feat(dojoup): add to
PATH
thru script by @kariy in #3190 - release(prepare): v1.5.0-alpha.1 by @tarrencev in #3192
- fix(dojoup):
-h
not available on linux by @kariy in #3193 - release(prepare): v1.5.0-alpha.2 by @tarrencev in #3196
- refactor(dojo-types): derive ord and partial ord for primitive by @Larkooo in #3198
- feat(core): manager ownership counter in world contract by @remybar in #3194
- fix(toolchain): update scarb version to 2.10.1 in .tool-versions by @remybar in #3203
- Fix(dojo-lang): extract inner type from composite types by @remybar in #3200
- feat(dojo-lang): improve primitive type management by @remybar in #3202
- release(prepare): v1.5.0 by @tarrencev in #3204
Full Changelog: v1.4.2...v1.5.0
v1.5.0-alpha.2
What's Changed
- feat: bump cairo 2.10 and remove katana and torii dependencies by @glihm in #3169
- release(prepare): v1.5.0-alpha.0 by @tarrencev in #3180
- feat(dojoup): new commands + support for components fragmentation by @kariy in #3160
- fix(ci): decouple release from docker image by @glihm in #3182
- fix(dojoup): wrong link to versions registry by @kariy in #3187
- chore: remove katana leftover by @kariy in #3191
- feat(dojoup): add to
PATH
thru script by @kariy in #3190 - release(prepare): v1.5.0-alpha.1 by @tarrencev in #3192
- fix(dojoup):
-h
not available on linux by @kariy in #3193 - release(prepare): v1.5.0-alpha.2 by @tarrencev in #3196
Full Changelog: v1.5.0-alpha.1...v1.5.0-alpha.2
v1.5.0-alpha.0
What's Changed
- chore(devcontainer): update image: v1.4.2 by @tarrencev in #3177
- fix(torii-indexer): stack overflow when dealing with a high number of… by @Larkooo in #3164
- feat(katana): add fact registry arg for
init
by @cwkang1998 in #3158 - feat(sozo): unreal bindings handle int64 and ControllerConnect by @caillef in #3178
- feat: bump cairo 2.10 and remove katana and torii dependencies by @glihm in #3169
- release(prepare): v1.5.0-alpha.0 by @tarrencev in #3180
Full Changelog: v1.4.2...v1.5.0-alpha.0