TL;DR
- Cairo 1.0-alpha.3 was just released.
- Added new language features that will be supported in Starknet alpha v0.11.0, expected in two weeks.
New Features
Cairo 1.0 continues to move forward, providing developers with the ability to write richer applications and taking another step towards feature compatibility with Cairo 0.
Notable features in this version include:
- Snapshot type (similar to rust’s reference) — a type that creates a reference to an object at a given point in time, which can not be changed. Developers can create references to possibly non-copyable objects.
- Snapshot operator @ and de-snapping operator *
- array_at working for non-copyable elements (using the new snapshot operator):
- EC library extended: ec_point_zero, ec_point_is_zero, ec_state_finalize.
- New operators: +=, -=, *=, /=, %=.
- Traits for Neg and Not operators.
- Into and TryInto traits.
- Support for new integer types: u8, u16, u32, u64.
- Improved diagnostics.
What’s next?
We keep progressing on both Cairo 1.0 and it’s integration to Starknet. In two weeks from today, Starknet 0.11.0 will be released on Testnet, allowing for the first time to use Cairo 1.0 contracts. In the coming weeks you can expect:
- Further language improvement and docs (imagine the Cairo book)
- More Starknet system calls support. You can see here the basis for contracts interoperability.
- Feature parity with Cairo 0!
How Can I Be More Engaged?
We encourage devs to start writing with Cairo 1.0 and getting familiar with it.
For any questions — you can use the Cairo 1.0 Discord channel.
For any suggestions or feedback — don’t hesitate to open an issue in the Cairo repo.