Skip to content

Releases: dojoengine/dojo

v1.6.2

26 Jul 06:19
Compare
Choose a tag to compare

Prepare Voyager verification integration.

What's Changed

New Contributors

v1.6.1

25 Jul 17:36
Compare
Choose a tag to compare

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

17 Jul 14:21
Compare
Choose a tag to compare

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

New Contributors

Full Changelog: v1.5.1...v1.6.0

v1.6.0-alpha.2

10 Jul 18:33
184a4e8
Compare
Choose a tag to compare
v1.6.0-alpha.2 Pre-release
Pre-release

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

01 Jul 21:24
054623b
Compare
Choose a tag to compare
v1.6.0-alpha.1 Pre-release
Pre-release

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 the mcp 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

New Contributors

Full Changelog: v1.6.0-alpha.0...v1.6.0-alpha.1

v1.6.0-alpha.0

11 Jun 02:09
5af0c48
Compare
Choose a tag to compare
v1.6.0-alpha.0 Pre-release
Pre-release

What's Changed

New Contributors

Full Changelog: v1.5.1...v1.6.0-alpha.0

v1.5.1

02 Jun 16:09
986c3b0
Compare
Choose a tag to compare

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 the get_class_hash_at syscall.

What's Changed

New Contributors

Full Changelog: v1.5.0...v1.5.1

v1.5.0

30 Apr 19:30
812f17c
Compare
Choose a tag to compare

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, no scarbs.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 resource owners_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:

  1. You can still install the whole dojo toolchain by simply using dojoup install or dojoup. This will install the latest toolchain, with all tools versions that are compatible.
  2. Dojoup supports installing multiple toolchain versions and manages which version is active.
  3. When only katana or torii 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

24 Apr 23:39
a0ae8ed
Compare
Choose a tag to compare
v1.5.0-alpha.2 Pre-release
Pre-release

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

22 Apr 22:42
Compare
Choose a tag to compare
v1.5.0-alpha.0 Pre-release
Pre-release

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