Releases: dojoengine/dojo
v0.7.0-alpha.3
Notable Changes
- Remove limitation for the contract byte code max size.
- Fix class hash computation while deploying on public network with upgrade of
starknet-rs
version. - Adjust starknet RPC version checks to ensure sozo can deploy on public network with backward compatible versions.
Targeted features for for the 0.7.0
(which will ends up being the first iteration for 1.0
):
- Cairo
2.6
support (currently only a CI problem to be fixed to ensure correct publication of the releases. - New storage layout [1/2] with: Nested structs,
Array<T>
,ByteArray
. - New storage layout [2/2] with: Enums rework to fully support custom enumeration without the same type limitation we currently have.
- Sozo support for constructor / initializer pattern with arguments (#1964)
- Update of Torii to support the new types + the new storage layout. (#1970)
- Starknet foundry for testing
- Namespaces to register / access models.
What's Changed
- bump alloy to 0.7.2 by @tcoratger in #1962
- fix(sozo/katana): remove max_bytecode_size limitation by @lambda-0x in #1963
- dev: general cleanup, bumping of library versions, etc... by @lambda-0x in #1939
- Remove forge-std submodule in katana by @ZaK3939 in #1974
- chore: ensure Cargo.lock is committed by @glihm in #1976
- fix: add more logic on semver check of Starknet API by @glihm in #1966
- chore(katana): ignore forked backend thread spawn test by @kariy in #1977
- test(katana): provider test utils by @kariy in #1967
- refactor(katana): encapsulate all the tx execution logic into a single function by @kariy in #1968
- Add simple benchmark for the
transact
function by @kariy in #1969 - fix(sozo): handle edge case when base_class_hash is FieldElement::ZERO by @lambda-0x in #1978
- display contract addresses in sozo migrate plan by @stevencartavia in #1926
- Prepare release: v0.7.0-alpha.3 by @tarrencev in #1979
New Contributors
- @ZaK3939 made their first contribution in #1974
- @stevencartavia made their first contribution in #1926
Full Changelog: v0.7.0-alpha.2...v0.7.0-alpha.3
v0.7.0-alpha.2
What's Changed
- Fix katana multiple origins arg by @broody in #1937
- feat(sozo): print-env subcommand by @lambda-0x in #1930
- Simplify readme, add contextual warnings to dojoup by @tarrencev in #1938
- Update devcontainer image: e95f86f by @tarrencev in #1922
- Handle scarb install in dojoup by @tarrencev in #1940
- chore(katana): clean up txn hash test by @kariy in #1941
- refactor(katana): remove
ContractInfoProvider
by @kariy in #1943 - Refactor forked provider backend APIs by @kariy in #1944
- test(katana): ensure contract non-existent is validated properly on
StateProvider::nonce()
of forked provider by @kariy in #1947 - fix(katana): include full fee info in primitive receipts by @kariy in #1948
- feat(torii-graphql): add In and Like comparison operators by @Larkooo in #1949
- dev(sozo): use
TransationOption
instead ofFeeOption
by @lambda-0x in #1927 - Prepare release: v0.7.0-alpha.2 by @tarrencev in #1959
Full Changelog: v0.7.0-alpha.1...v0.7.0-alpha.2
v0.7.0-alpha.1
Notable changes
- Cairo
2.6.3
is now the default version for Dojo. - Torii supports indexing pending blocks with
--index-pending
flag. - Torii and Katana by default do not add a CORS layer. You should enable it by passing
--allowed-origins "*"
for instance to explicitly add this CORS layer accordingly. - Sozo now attempts to automatically grant the writer permissions to all the models that are declared into the
writes
entry of an overlay manifest file. The overlay manifest file will be firstly described here and should have a dedicated section soon with all the functionalities that will depend on it.
Targeted features for for the 0.7.0
(which will ends up being the first iteration for 1.0
):
- Cairo
2.6
support (currently only a CI problem to be fixed to ensure correct publication of the releases. - New storage layout [1/2] with: Nested structs,
Array<T>
,ByteArray
. - New storage layout [2/2] with: Enums rework to fully support custom enumeration without the same type limitation we currently have.
- Update of Torii to support the new types + the new storage layout.
- Namespaces to register / access models.
- Sozo support for constructor / initializer pattern with arguments.
- Torii upgradeability of models.
What's Changed
- fix: ensure events command picks the correct manifests path for ABIs by @glihm in #1777
- style(katana-db): standardize naming for historical tables by @kariy in #1773
- refactor(katana-db): convert
StorageChangeSet
into a normal table by @kariy in #1774 - test(katana-db): ensure key/value types implement their respective traits by @kariy in #1776
- feat(katana-db): integer set using roaring bitmap by @kariy in #1775
- feat: add verification of the RPC version by @glihm in #1782
- fix(messaging): update latestBlock to pending by @ybensacq in #1743
- fix: split_u256 by @greged93 in #1793
- chore(katana): use deps from workspace by @kariy in #1795
- fix: add the transaction options to sozo migrate apply by @glihm in #1802
- Prepare release: v0.6.1-alpha.0 by @tarrencev in #1803
- fix(grpc): queries by @Larkooo in #1779
- Saya New Inputs by @neotheprogramist in #1757
- ci: bump codecov to latest version and CI fail on upload fail by @glihm in #1805
- Info trace outputs txn hash as hex by @broody in #1809
- Move class artifacts out of
katana-primitives
by @kariy in #1813 - Add account with simple
__execute__
entrypoint for testing by @kariy in #1814 - fix: incorrect assumption about migration output by @lambda-0x in #1790
- feat: add metadata section to the world contract manifest by @glihm in #1781
- feat(katana): add executor metrics by @kariy in #1791
- katana: update grafana dashboard with execution metrics by @kariy in #1818
- Prepare release: v0.6.1-alpha.1 by @tarrencev in #1824
- Strip version v prefix with release-dispatch by @tarrencev in #1825
- feat: store contract abi and source in contract metadata by @remybar in #1682
- refactor(katana-primitives): remove total supply from fee token genesis config by @kariy in #1821
- refactor: clean up bin/sozo by @lambda-0x in #1828
- Derive
Default
forGenesisJson
by @tcoratger in #1830 - Add new TypeScript bindgen by @RareSecond in #1783
- fix: calculate address of all contracts during migration by @lambda-0x in #1822
- fix: rework clean command to be more intuitive and propose a clean all by @glihm in #1784
- fix: use
fee_estimate_multiplier
on more places by @lambda-0x in #1823 - fix ci by @lambda-0x in #1836
- fix: handle invalid version validation for installation script by @bhavyagosai in #1840
- fix(katana): expected module path in json logs by @lambda-0x in #1842
- Update devcontainer on release by @tarrencev in #1843
- feat(sozo): add
--stats
flag to output stats of the build artifacts by @fabrobles92 in #1799 - Update devcontainer image: 3153a80 by @tarrencev in #1844
- Prepare release: v0.6.1-alpha.2 by @tarrencev in #1845
- fix(dojo-bindgen): typescript code gen by @Larkooo in #1847
- fix(katana-provider): temporarily invalidate cache if nonce or class hash is default value by @kariy in #1850
- Update defaults for new TypeScript bindgen by @RareSecond in #1846
- Prepare release: v0.6.1-alpha.3 by @tarrencev in #1851
- [sozo] Deploy Account by @JimmyFate in #1601
- fix(ci): exit with non-zero status code if any function call fails by @lambda-0x in #1853
- fix: ensure transaction executions are stored with fork and db providers by @glihm in #1852
- feat(torii-client): expose grpc event messages by @Larkooo in #1826
- Replace
block_time: None
bydefault
by @tcoratger in #1858 - fix(katana): wrong
from_address
value taken from the transaction trace by @kariy in #1862 - test(katana-executor): test tx execution info conversion by @kariy in #1863
- test(katana-executor): test events/messages are extracted correctly from tx execution info by @kariy in #1864
- fix: messaging tutorial data by @glihm in #1869
- feat: add raw max fee to
TransactionsOptions
by @princeibs in #1856 - Bump
katana
database version by @kariy in #1833 - feat: spawn event message subscription service by @Larkooo in #1876
- feat: enable global flag for all
commands/options
by @lambda-0x in #1875 - refactor(sozo): migration logic to be more robust and testable by @lambda-0x in #1848
- Prepare release: v0.6.1-alpha.4 by @tarrencev in #1872
- Display default values for EnvironmentOptions in katana cli by @notV4l in #1861
- docs(katana): update DB er diagram by @kariy in #1874
- Bump alloy to 0.7.0 by @tcoratger in #1881
- fix: event message subscription subscription broker by @Larkooo in #1885
- feat(torii): process pending block by @Larkooo in #1798
- fix(katana): invalid nonce values set in error by @Eikix in #1890
- fix: ensure account defaults to block pending by @glihm in #1891
- CI: add workflow_dispatch for devcontainer.yml by @glihm in #1882
- refactor(torii): don't use feature-only type in non-feature code by @kariy in #1894
- Fix
dojoup
script when installing from git by @kariy in #1895 - Torii external-url arg to support https by @broody in #1898
- fix(katana): place import inside its feature scope by @kariy in #1902
- fix(torii): fallback invalid events & flag indexing pending blocks by @Larkooo in #1897
- [sozo] add trace logs by @btirth in #1867
- fix: allow ref self until sozo can handle starknet contracts by @glihm in #1879
- feat: cli arg disable cors torii proxy server by @Larkooo in #1904
- Prepare release: v0.7.0-alpha.0 by @tarrencev in #1905
- bump alloy to 0.7.1 by @tcoratger in #1906
- feat: add allowed-origins to katana cli by @Larkooo in #1909
- [saya] demo by @neotheprogramist in #1883
- fix(sozo): events subcommand by @lambda-0x in #1915
- prompt user for double password check by @mubarak23 in https://github.com/dojoengine/dojo/pul...
v0.7.0-alpha.0
What's Changed
- Display default values for EnvironmentOptions in katana cli by @notV4l in #1861
- docs(katana): update DB er diagram by @kariy in #1874
- Bump alloy to 0.7.0 by @tcoratger in #1881
- fix: event message subscription subscription broker by @Larkooo in #1885
- feat(torii): process pending block by @Larkooo in #1798
- fix(katana): invalid nonce values set in error by @Eikix in #1890
- fix: ensure account defaults to block pending by @glihm in #1891
- CI: add workflow_dispatch for devcontainer.yml by @glihm in #1882
- refactor(torii): don't use feature-only type in non-feature code by @kariy in #1894
- Fix
dojoup
script when installing from git by @kariy in #1895 - Torii external-url arg to support https by @broody in #1898
- fix(katana): place import inside its feature scope by @kariy in #1902
- fix(torii): fallback invalid events & flag indexing pending blocks by @Larkooo in #1897
- [sozo] add trace logs by @btirth in #1867
- fix: allow ref self until sozo can handle starknet contracts by @glihm in #1879
- feat: cli arg disable cors torii proxy server by @Larkooo in #1904
- Prepare release: v0.7.0-alpha.0 by @tarrencev in #1905
New Contributors
Full Changelog: v0.6.1-alpha.4...v0.7.0-alpha.0
Important fixes:
- Torii should index correctly the pending block. There's a flag to toggle this feature.
- Katana has now a new DB version, which is not compatible with the
0.6.1-x
version⚠️ BREAKING⚠️ ref self
can now be used in some edge cases for dojo contracts, as a temporary solution until sozo can manage starknet contracts (TBD).
Targeted features for for the 0.7.0
(which will ends up being the first iteration for 1.0
):
- Cairo
2.6
support (currently only a CI problem to be fixed to ensure correct publication of the releases. - New storage layout [1/2] with: Nested structs,
Array<T>
,ByteArray
. - New storage layout [2/2] with: Enums rework to fully support custom enumeration without the same type limitation we currently have.
- Update of Torii to support the new types + the new storage layout.
- Namespaces to register / access models.
- Sozo support for constructor / initializer pattern with arguments.
- Torii upgradeability of models.
The 0.7.0
will be a version of iterations to reach the 1.0
. The target date is end of May 24 for the 1.0
.
Notes
About the versioning, we used to not stick to semver before the 1.0
. This change to 0.7.0
was mostly to clearly remark the breaking changes at all the stack level, with the new Cairo version, Katana database changes and dojo core modifications.
After the 1.0
will be out, the semver rules will be more strictly applied to the dojo versioning.
v0.6.1-alpha.4
What's Changed
- [sozo] Deploy Account by @JimmyFate in #1601
- fix(ci): exit with non-zero status code if any function call fails by @lambda-0x in #1853
- fix: ensure transaction executions are stored with fork and db providers by @glihm in #1852
- feat(torii-client): expose grpc event messages by @Larkooo in #1826
- Replace
block_time: None
bydefault
by @tcoratger in #1858 - fix(katana): wrong
from_address
value taken from the transaction trace by @kariy in #1862 - test(katana-executor): test tx execution info conversion by @kariy in #1863
- test(katana-executor): test events/messages are extracted correctly from tx execution info by @kariy in #1864
- fix: messaging tutorial data by @glihm in #1869
- feat: add raw max fee to
TransactionsOptions
by @princeibs in #1856 - Bump
katana
database version by @kariy in #1833 - feat: spawn event message subscription service by @Larkooo in #1876
- feat: enable global flag for all
commands/options
by @lambda-0x in #1875 - refactor(sozo): migration logic to be more robust and testable by @lambda-0x in #1848
- Prepare release: v0.6.1-alpha.4 by @tarrencev in #1872
New Contributors
- @JimmyFate made their first contribution in #1601
- @princeibs made their first contribution in #1856
Full Changelog: v0.6.1-alpha.3...v0.6.1-alpha.4
v0.6.1-alpha.3
What's Changed
- fix: ensure events command picks the correct manifests path for ABIs by @glihm in #1777
- style(katana-db): standardize naming for historical tables by @kariy in #1773
- refactor(katana-db): convert
StorageChangeSet
into a normal table by @kariy in #1774 - test(katana-db): ensure key/value types implement their respective traits by @kariy in #1776
- feat(katana-db): integer set using roaring bitmap by @kariy in #1775
- feat: add verification of the RPC version by @glihm in #1782
- fix(messaging): update latestBlock to pending by @ybensacq in #1743
- fix: split_u256 by @greged93 in #1793
- chore(katana): use deps from workspace by @kariy in #1795
- fix: add the transaction options to sozo migrate apply by @glihm in #1802
- Prepare release: v0.6.1-alpha.0 by @tarrencev in #1803
- fix(grpc): queries by @Larkooo in #1779
- Saya New Inputs by @neotheprogramist in #1757
- ci: bump codecov to latest version and CI fail on upload fail by @glihm in #1805
- Info trace outputs txn hash as hex by @broody in #1809
- Move class artifacts out of
katana-primitives
by @kariy in #1813 - Add account with simple
__execute__
entrypoint for testing by @kariy in #1814 - fix: incorrect assumption about migration output by @lambda-0x in #1790
- feat: add metadata section to the world contract manifest by @glihm in #1781
- feat(katana): add executor metrics by @kariy in #1791
- katana: update grafana dashboard with execution metrics by @kariy in #1818
- Prepare release: v0.6.1-alpha.1 by @tarrencev in #1824
- Strip version v prefix with release-dispatch by @tarrencev in #1825
- feat: store contract abi and source in contract metadata by @remybar in #1682
- refactor(katana-primitives): remove total supply from fee token genesis config by @kariy in #1821
- refactor: clean up bin/sozo by @lambda-0x in #1828
- Derive
Default
forGenesisJson
by @tcoratger in #1830 - Add new TypeScript bindgen by @RareSecond in #1783
- fix: calculate address of all contracts during migration by @lambda-0x in #1822
- fix: rework clean command to be more intuitive and propose a clean all by @glihm in #1784
- fix: use
fee_estimate_multiplier
on more places by @lambda-0x in #1823 - fix ci by @lambda-0x in #1836
- fix: handle invalid version validation for installation script by @bhavyagosai in #1840
- fix(katana): expected module path in json logs by @lambda-0x in #1842
- Update devcontainer on release by @tarrencev in #1843
- feat(sozo): add
--stats
flag to output stats of the build artifacts by @fabrobles92 in #1799 - Update devcontainer image: 3153a80 by @tarrencev in #1844
- Prepare release: v0.6.1-alpha.2 by @tarrencev in #1845
- fix(dojo-bindgen): typescript code gen by @Larkooo in #1847
- fix(katana-provider): temporarily invalidate cache if nonce or class hash is default value by @kariy in #1850
- Update defaults for new TypeScript bindgen by @RareSecond in #1846
- Prepare release: v0.6.1-alpha.3 by @tarrencev in #1851
New Contributors
- @ybensacq made their first contribution in #1743
- @bhavyagosai made their first contribution in #1840
Full Changelog: v0.6.0...v0.6.1-alpha.3
v0.6.1-alpha.2
What's Changed
- fix: ensure events command picks the correct manifests path for ABIs by @glihm in #1777
- style(katana-db): standardize naming for historical tables by @kariy in #1773
- refactor(katana-db): convert
StorageChangeSet
into a normal table by @kariy in #1774 - test(katana-db): ensure key/value types implement their respective traits by @kariy in #1776
- feat(katana-db): integer set using roaring bitmap by @kariy in #1775
- feat: add verification of the RPC version by @glihm in #1782
- fix(messaging): update latestBlock to pending by @ybensacq in #1743
- fix: split_u256 by @greged93 in #1793
- chore(katana): use deps from workspace by @kariy in #1795
- fix: add the transaction options to sozo migrate apply by @glihm in #1802
- Prepare release: v0.6.1-alpha.0 by @tarrencev in #1803
- fix(grpc): queries by @Larkooo in #1779
- Saya New Inputs by @neotheprogramist in #1757
- ci: bump codecov to latest version and CI fail on upload fail by @glihm in #1805
- Info trace outputs txn hash as hex by @broody in #1809
- Move class artifacts out of
katana-primitives
by @kariy in #1813 - Add account with simple
__execute__
entrypoint for testing by @kariy in #1814 - fix: incorrect assumption about migration output by @lambda-0x in #1790
- feat: add metadata section to the world contract manifest by @glihm in #1781
- feat(katana): add executor metrics by @kariy in #1791
- katana: update grafana dashboard with execution metrics by @kariy in #1818
- Prepare release: v0.6.1-alpha.1 by @tarrencev in #1824
- Strip version v prefix with release-dispatch by @tarrencev in #1825
- feat: store contract abi and source in contract metadata by @remybar in #1682
- refactor(katana-primitives): remove total supply from fee token genesis config by @kariy in #1821
- refactor: clean up bin/sozo by @lambda-0x in #1828
- Derive
Default
forGenesisJson
by @tcoratger in #1830 - Add new TypeScript bindgen by @RareSecond in #1783
- fix: calculate address of all contracts during migration by @lambda-0x in #1822
- fix: rework clean command to be more intuitive and propose a clean all by @glihm in #1784
- fix: use
fee_estimate_multiplier
on more places by @lambda-0x in #1823 - fix ci by @lambda-0x in #1836
- fix: handle invalid version validation for installation script by @bhavyagosai in #1840
- fix(katana): expected module path in json logs by @lambda-0x in #1842
- Update devcontainer on release by @tarrencev in #1843
- feat(sozo): add
--stats
flag to output stats of the build artifacts by @fabrobles92 in #1799 - Update devcontainer image: 3153a80 by @tarrencev in #1844
- Prepare release: v0.6.1-alpha.2 by @tarrencev in #1845
New Contributors
- @ybensacq made their first contribution in #1743
- @bhavyagosai made their first contribution in #1840
Full Changelog: v0.6.0...v0.6.1-alpha.2
v0.6.1-alpha.1
What's Changed
- fix: ensure events command picks the correct manifests path for ABIs by @glihm in #1777
- style(katana-db): standardize naming for historical tables by @kariy in #1773
- refactor(katana-db): convert
StorageChangeSet
into a normal table by @kariy in #1774 - test(katana-db): ensure key/value types implement their respective traits by @kariy in #1776
- feat(katana-db): integer set using roaring bitmap by @kariy in #1775
- feat: add verification of the RPC version by @glihm in #1782
- fix(messaging): update latestBlock to pending by @ybensacq in #1743
- fix: split_u256 by @greged93 in #1793
- chore(katana): use deps from workspace by @kariy in #1795
- fix: add the transaction options to sozo migrate apply by @glihm in #1802
- Prepare release: v0.6.1-alpha.0 by @tarrencev in #1803
- fix(grpc): queries by @Larkooo in #1779
- Saya New Inputs by @neotheprogramist in #1757
- ci: bump codecov to latest version and CI fail on upload fail by @glihm in #1805
- Info trace outputs txn hash as hex by @broody in #1809
- Move class artifacts out of
katana-primitives
by @kariy in #1813 - Add account with simple
__execute__
entrypoint for testing by @kariy in #1814 - fix: incorrect assumption about migration output by @lambda-0x in #1790
- feat: add metadata section to the world contract manifest by @glihm in #1781
- feat(katana): add executor metrics by @kariy in #1791
- katana: update grafana dashboard with execution metrics by @kariy in #1818
- Prepare release: v0.6.1-alpha.1 by @tarrencev in #1824
- Strip version v prefix with release-dispatch by @tarrencev in #1825
New Contributors
Full Changelog: v0.6.0...v0.6.1-alpha.1
v0.6.1-alpha.0
What's Changed
- fix: ensure events command picks the correct manifests path for ABIs by @glihm in #1777
- style(katana-db): standardize naming for historical tables by @kariy in #1773
- refactor(katana-db): convert
StorageChangeSet
into a normal table by @kariy in #1774 - test(katana-db): ensure key/value types implement their respective traits by @kariy in #1776
- feat(katana-db): integer set using roaring bitmap by @kariy in #1775
- feat: add verification of the RPC version by @glihm in #1782
- fix(messaging): update latestBlock to pending by @ybensacq in #1743
- fix: split_u256 by @greged93 in #1793
- chore(katana): use deps from workspace by @kariy in #1795
- fix: add the transaction options to sozo migrate apply by @glihm in #1802
- Prepare release: v0.6.1-alpha.0 by @tarrencev in #1803
New Contributors
Full Changelog: v0.6.0...v0.6.1-alpha.0
v0.6.0
Dojo Game Engine v0.6.0 Release Notes
Welcome to the next update of the Dojo Game Engine, version 0.6.0. This release brings a suite of enhancements and new features designed to improve performance, extend functionality, and streamline development workflows. We expect this release to be available by March 29 2024.
Let's dive into what's new:
Katana: Enhanced Execution Engine
- Multi-executor engine: Katana now supports both
blockifier
andstarknet_in_rust
as execution engines, significantly expanding our capabilities in benchmarking and performance optimization through cairo-native. - Support for RPC
0.6.0
. - Expanded RPC API namespaces (
torii
,saya
). - Metrics integration: Katana has now an integrated metrics module with prometheus an grafana dashboard.
Sozo: Streamlined World Building
-
Revamped Manifest Format. Sozo introduces a new, comprehensive manifest format in
toml
, organized across different stages of development. These manifests are designed for clarity and should be version-controlled in .git to track changes in your world efficiently.
Here are the different manifests folders, under themanifests
root directory:- base: Generated during the build phase.
- overlays: For each manifest file present in
base
, the user can create a new file with the same name and path under theoverlays
folder. Those files are meant to be edited by developers, to override some values. - deployments: Contains the intended state of the world for deployment. Two files are generated when
sozo migrate plan
is issued:manifest.toml
andmanifest.json
.
An other folder named
abis
contains all the ABIs extracted from the contracts for easy access. -
Simplified Contract Syntax. The new syntax for dojo contracts removes unnecessary boilerplate, focusing on the essentials.
#[dojo::interface] trait IActions { fn spawn(); fn move(direction: Direction); }
No more
ref self
orself
. Only the arguments that your system needs.Selective world injection in systems, you can now inject the
world
only where needed. Theworld: IWorldDispatcher
must be the first argument and with this exact casing:// Note that the world argument is only used here, not in the interface. fn spawn(world: IWorldDispatcher) { let my_model = get!(world, ...); } fn other_system() { // no world accessible here. }
-
Enhanced
sozo auth
Command. Authorizations are usually useful to setup a world and configure it. Sozo now supports multicall for those operations. Also, a new syntax aims at providing a more expressive way to configure the world:sozo auth grant writer Moves,0x1234 Position,0x1234 sozo auth grant owner model:Moves,0x2222 contract:0x1234,0x2222
Both
revoke
andgrant
are now supported. -
Binding generation for Typescript and Unity. To ease the front-end integration of dojo with
dojo.js
, sozo can now outputs bindings generated from the contracts ABI for typescript and unity.sozo build --typescript --unity
-
New
sozo clean
command for tidying up your project space and ensure old artifacts or manifests are removed effectively.
Torii: Advanced Event and State Management
- Event-Driven Models. Torii is now able to reflect the state of some entities that are not stored directly into the world's storage, but emitted as event instead. This opens door to a kind of volition that would be improved in the coming versions. You can find an example of that in the
actions.json
contract, where a new modelMoved
https://github.com/dojoengine/dojo/blob/ba1b250e18cc783a23736b894462f51ef056c016/examples/spawn-and-move/src/actions.cairo#L24-L30
https://github.com/dojoengine/dojo/blob/ba1b250e18cc783a23736b894462f51ef056c016/examples/spawn-and-move/src/actions.cairo#L87 - Integration of long polling, enhanced transaction monitoring for quicker indexing.
- Optimized Transaction Indexing from blocks for faster indexing on mainnet.
- Event query and subscriptions are now supported over gRPC.
- SNIP12 support on Torii, which allows one to send messages directly to the Torii relay. The relay will verify the signature and decode the message to store the entity inside the message. This unlock off-chain data flow, typically for chat systems embedded into an application built with Dojo.
Audit 🛡️
This version has undergone a security audit by Nethermind, ensuring the robustness and security of the core contracts. Read the full report.
What's Changed
- feat(libp2p): command to wait for the relay to be ready by @Larkooo in #1525
- fix(katana-core): crate can't be build without any feature by @kariy in #1527
- Bump Cairo dependencies to
2.5.0
by @kariy in #1522 - Prepare release: v0.5.2-alpha.0 by @tarrencev in #1528
- refactor(katana-provider): implement
transaction_in_range
for in-memory and fork providers by @kariy in #1530 - feat(saya): add config file arg for saya bin by @Jonatan-Chaverri in #1513
- Update ahash versions to fix missing feature stdsimd error by @Jonatan-Chaverri in #1534
- refactor(katana-rpc): isolate dev JSON RPC API from
katana
namespace by @makluganteng in #1544 - fix: ensure DevApi is also present in test sequencer by @glihm in #1549
- feat: merge audit branch by @glihm in #1533
- Prepare release: v0.5.2-alpha.1 by @tarrencev in #1550
- Prepare release: v0.6.0-alpha.0 by @tarrencev in #1551
- fix(sozo): wait for set_metadata txn by @tarrencev in #1554
- Torii core store u64 primitive as string in db by @broody in #1532
- feat(sozo): propose multicall format for
sozo auth writer
by @glihm in #1555 - feat(katana): add
torii_getTransactions
rpc by @tarrencev in #1529 - change sql setup to avoid torii timeout by @Cheelax in #1543
- fix(ci): codecov on main again by @tarrencev in #1573
- [Torii] Index more transaction types by @jelilat in #1452
- Show world explore url when starting Torii by @JunichiSugiura in #1565
- fix(dojo): dont assign ownership to ResourceMetadata on world creation by @tarrencev in #1566
- fix(ci): don't report codecov on main by @tarrencev in #1575
- Fix(sozo): Improve sozo migration output by @hhamud in #1571
- Feat(torii-grpc): Add total_count on RetrieveEntitiesResponse by @gianalarcon in #1545
- Katana RPC v0.6.0 by @kariy in #1568
- Prepare release: v0.6.0-alpha.1 by @tarrencev in #1578
- feat(bindgen): typescript plugin by @Larkooo in #1569
- Support grant/revoke writer/owner by @tarrencev in #1572
- fix: syncing status by @greged93 in #1582
- fix(katana): always skip validation if node is run with validation disabled by @kariy in #1589
- Prepare release: v0.6.0-alpha.2 by @tarrencev in #1588
- fix(sozo): ensure bindgen works for unity even with felts by @glihm in #1587
- Feat(torii-grpc): support Events query by @gianalarcon in #1567
- Bump
blockifier
rev for supporting higher fee transfer gas by @kariy in #1598 - fix(katana): search the inner state when sierra class not found in the cache by @kariy in #1602
- Prepare release: v0.6.0-alpha.3 by @tarrencev in #1599
- fix(katana): non-query-version fee estimates by @xJonathanLEI in #1610
- Add a script to declare standard ArgentX account contract classes by @kariy in #1579
- refactor: migrate to using toml manifest instead of json manifest by @lambda-0x in #1577
- fix: typescript plugin for non struct fields by @Larkooo in #1608
- Prepare release: v0.6.0-alpha.4 by @tarrencev in #1614
- Bump Cairo to
v2.5.4
by @kariy in #1607 - feat: add [dojo::interface] attribute by @remybar in #1594
- feat: dojoup - add a welcome message by @remybar in #1605
- fix: add flat to the event to be consistent with all world events by @glihm in #1639
- Prepare release: v0.6.0-alpha.5 by @tarrencev in #1642
- fix: handle primitive and custom types for enum introspect by @remybar in https://github.com/dojoengine/d...