v0.63.0
What's Changed
- Remove support for namespace attribute by @IGI-111 in #6279
- Make module name mandatory and private by @jjcnn in #6271
- Cache Build Plans in language server by @JoshuaBatty in #6281
- Forbid configurables in pattern matching and shadowing by @ironcev in #6289
- feat: Enhance forc-deploy UX with dialoguer by @sdankel in #6278
- cache pid lock files to reduce IO operations by @JoshuaBatty in #6297
- Add documentation about Undefined Behavior by @IGI-111 in #6302
- fix: update the document link for Manual Storage Management. by @dima-safin-2025 in #6301
- Add
core
andstd
dependency test filtering to the test runner by @tritao in #6299 - chore: correction typos index.md by @osrm in #6303
- Re-pin LSP tests to published version of
std
and re-enable commented out tests by @JoshuaBatty in #6315 - chore: bump forc-pkg deps and fix clippy warnings by @JoshuaBatty in #6311
- Fix range OOB bug in the language server by @JoshuaBatty in #6314
- Additionally test associated constants by @ironcev in #6349
- Support for slice new syntax &[T] by @xunilrj in #6307
- Correct code_size function implementation by @SwayStar123 in #6304
- Introduce a new symbol resolving pass by @tritao in #5809
- Revert when loading 0 size typed storagevec by @SwayStar123 in #6358
- Slice/Array intrinsics:
__slice
and__elem_at
by @xunilrj in #6282 - Move std-lib
StorageKey
tests to in-language tests by @bitzoic in #6363 - feat: create and deploy a reference proxy contract for contracts with
[proxy]
enabled by @kayagokalp in #6069 - Fixes assert in type_check_encode_buffer_empty. by @esdrubal in #6364
- Fixes crash on encode_buffer_append with wrong args. by @esdrubal in #6365
- docs: Update docs for forc-client by @sdankel in #6403
- fix size of configurable buffer for enums by @xunilrj in #6366
- Add error for duplicate struct field initialization by @IGI-111 in #6401
- Fixes unreachable macro crashing compiler. by @esdrubal in #6362
- ASM blocks handling: inlining, DCE, ASM returns without return register by @ironcev in #6404
- Fix broken documentation link by @IGI-111 in #6400
- Fix bugs in memcpyopt by @vaivaswatha in #6359
- Revert when overflow using pow for u8, u16, u32 by @SwayStar123 in #6340
- Allow forc deploy to submit transaction without waiting for commit confirmation by @luisburigo in #6294
- Filter ABI supertrait methods from contract entry generation by @tritao in #6402
- Fix
impl self
node order dependency pass key collision issue. by @tritao in #6407 - Implement mutability checks for references to aggregate type fields. by @tritao in #6415
- Updates JSON ABI, LDC, BSIZ, BLDD and ED19. by @esdrubal in #6254
- Implement Typed Module Caching by @JoshuaBatty in #6280
- Better checks at
type_check_analyze
by @xunilrj in #6410 - Update README.md by @sdankel in #6423
- Allow variable length message in ed_verify by @SwayStar123 in #6419
- Increase Safety when introspecting transaction inputs by @bitzoic in #6405
- Increase Safety when introspecting transactions by @bitzoic in #6418
- Increase Safety when introspecting transaction outputs by @bitzoic in #6414
- Update rust version in forc docker image by @Voxelot in #6422
- chore: bump sdk version by @sdankel in #6430
- feat: Implement ldc based automatic contract chunking by @kayagokalp in #6250
- fix: use proxy bin with storage slots in a namespace by @kayagokalp in #6429
- Fix broken forc command docs by @JoshuaBatty in #6424
- Fix
scwq
instruction and "phantom" error in purity checks by @ironcev in #6432 - chore: bump to 0.63.0 by @sdankel in #6421
New Contributors
- @dima-safin-2025 made their first contribution in #6301
- @osrm made their first contribution in #6303
- @luisburigo made their first contribution in #6294
Breaking changes
- the
#[namespace()]
attribute is no longer supported. The new namespace syntax is preferred moving forward and the newin
keyword usage can be used for backwards compatibility - Configurables are no longer allowed in pattern matching and shadowing
- There have been significant changes the the ABI specification format
ed_verify
has been changed to support variable length messages- some
std
functions now return anOption
instead or reverting - some
std
functions now return types updated to match the specification - some
std
functions have been made private are will no longer be available
Full Changelog: v0.62.0...v0.63.0