Releases: FuelLabs/sway
v0.70.3
What's Changed
- feat: add support for patching registry dependencies by @kayagokalp in #7469
- docs: fix a/an grammar errors in documentation by @serikssonn in #7491
- Deterministic printing of IR values by @vaivaswatha in #7490
- feat: forc-call abi backtracing by @zees-dev in #7502
- Introduce
allocintrinsic to avoid usingasmby @vaivaswatha in #7499 - Optionally remove test gas limit in
forc testby @ironcev in #7495 - Migrate
forc-tracingandforc-cryptoto forc monorepo by @JoshuaBatty in #7507 - Forbid types with const generics on configurables by @xunilrj in #7494
- Forbid const generics log by @xunilrj in #7510
- Fix size of ZSTs by @xunilrj in #7509
- Convert const generics todos to ice by @xunilrj in #7511
- Enable const generics as true by default by @xunilrj in #7512
- Enable references tests and adjust them for zero sized unit type by @ironcev in #7513
- Trait coherence: disallow inherent impls on external types by @tritao in #7385
- Trivial fns allowing control if a type is trivially encoded/decoded by @xunilrj in #7501
New Contributors
- @serikssonn made their first contribution in #7491
Full Changelog: v0.70.2...v0.70.3
v0.70.2
What's Changed
- Add docs for ABI Backtracing by @ironcev in #7435
- Excute E2E tests in parallel by @ironcev in #7456
- Cost of contract calls snapshot tests by @xunilrj in #7440
- Improve diff between generic argument generic type argument by @xunilrj in #7453
- Improve Contract Call by not encoding fuelvm protocol args by @xunilrj in #7447
- Add
--perfoption totestto collect and diff performance data by @ironcev in #7459 - Fix "Transaction collided" issue when running
run_on_nodetests by @ironcev in #7461 - Fix build warnings in
in-languagetests by @ironcev in #7464 - Improve Contract Call by not encoding method name by @xunilrj in #7455
- SROA: Do not generate GEPs when direct address is available by @vaivaswatha in #7457
- Add
--gas-costsoption toforc-testand E2E test runner by @ironcev in #7471 - Collect more storage access performance data from tests by @ironcev in #7476
- Fix default
--gas-costsoption to bebuilt-inby @ironcev in #7475 - Do not read from state when writing aligned, slot sized values by @vaivaswatha in #7470
- Fix CI issue by relaxing typo checker for "aloc". by @tritao in #7479
- Add
perf-diff-statsjustrecipe by @ironcev in #7480 - Improve method selector on contracts by @xunilrj in #7458
- Optimize
slot_calculatorfor bytecode size and gas usage by @ironcev in #7481 - Reduce storage API byte allocation by @bitzoic in #7430
- Coins analysis for const generics by @xunilrj in #7473
- Add event support via
#[event]and#[indexed]attributes by @tritao in #7158 - Add relative jump instructions to
asmblocks by @ironcev in #7485 - Remove unchecked new methods from
VirtualImmediate*by @vaivaswatha in #7484 - Update to latest
fuels-rsdependency by @tritao in #7468 - Add a new memcpy propagation pass by @vaivaswatha in #7443
- Forbid const generics on abis by @xunilrj in #7483
- Trivially encoded types by @xunilrj in #7488
Full Changelog: v0.70.1...v0.70.2
v0.70.1
What's Changed
- Remove workarounds based on
asmblocks fromstd::hashby @ironcev in #7446 - Bump fuel-core v0.46.0 by @zees-dev in #7445
- Revert feat: introduce fuel-telemetry macros (#7295) by @kayagokalp in #7451
- Compile runtime backtracing to ASM and compile-time to ABI JSON by @ironcev in #7387
- Remove
fuelspatches from workspace'sCargo.tomlby @ironcev in #7452 - Removing todo const generics by @xunilrj in #7391
- chore: bump version to v0.70.1 by @kayagokalp in #7454
Full Changelog: v0.70.0...v0.70.1
v0.70.0
What's Changed
- Fix register allocator non-deterministic output across platforms by @tritao in #7422
- Allow trait impls to inherit default associated constants by @tritao in #7409
- fix: various typos around codebase to unblock ci by @kayagokalp in #7432
- Symptom-fix associated const shadowing itself by @ironcev in #7429
- fix: also create deployment artifacts for chunked deployments by @kayagokalp in #7426
- chore: bumpt rust version to 1.90 by @kayagokalp in #7427
- fix: formatter use newline interference by @kayagokalp in #7431
- feat: introduce fuel-telemetry macros by @kayagokalp in #7295
- forc-node wasm32 removal by @zees-dev in #7436
- Stabilize
new_hashingby @IGI-111 in #7437 - Bump to 0.70.0 by @IGI-111 in #7438
Breaking Changes
Hashing has received a significant change to alleviate security issues as detailed in #7256.
The new_hashing feature is now enabled by default which will result in dynamically sized collections now producing hashes that include size to reflect their shape.
If you have code that uses canonical hashes as part of its logic or relies on the stability of sway produced hashes you may be affected.
Make sure to use forc migrate to check if you are. If necessary you may disable the change for now with --no-experimental new_hashing, however this option will be removed in a future release.
Full Changelog: v0.69.6...v0.70.0
v0.69.6
What's Changed
- chore: bump version to v0.69.6 by @kayagokalp in #7425
Full Changelog: v0.69.5...v0.69.6
v0.69.5
What's Changed
- fix:
build-and-release-forc-binariesCI by @zees-dev in #7413 - Add "Experimental Features" chapter to The Sway Book by @ironcev in #7416
- Improve method resolution by allowing placeholder unification under ConstraintSubset by @xunilrj in #7411
- fix: migrate to warpbuild and github runner by @mchristopher in #7415
- Bump to v0.69.5 by @IGI-111 in #7417
- fix: change runners for publish workflows by @mchristopher in #7424
Full Changelog: v0.69.4...v0.69.5
v0.69.4
What's Changed
- Add
#[abi_name(name = "foo")]attribute to rename ABI items. by @tritao in #7057 - Add migration for
new_hashingby @ironcev in #7287 - Better observability for the compiler by @xunilrj in #7250
- Fix type check for variables in const generics by @xunilrj in #7273
- Clone implementation for string arrays by @xunilrj in #7290
- feat: add preliminary local checks for forc-publish by @kayagokalp in #7253
- Represent
RawUntypedPtrAST type using a newPointerIR type by @vaivaswatha in #7272 - Fix const generics standalone fns by @xunilrj in #7292
- feat: forc mcp server - with forc-call tool integration by @zees-dev in #7284
- docs: fix broken sway-libs GitHub link to use official documentation URL by @MozirDmitriy in #7298
- Add parallel processing to
forc-docusing rayon to improve performance by @JoshuaBatty in #7296 - feat: check file descriptor limits before running forc node by @mchristopher in #7302
- feat: forc-mcp auth for mcp server hosting by @zees-dev in #7300
- Remove some uses of
ptr_to_intandint_to_ptr, usingptrinstead by @vaivaswatha in #7297 - chore: fix broken link in libraries.md by @Galoretka in #7309
- Hash for string arrays by @xunilrj in #7293
- abiencode and abidecode for str array by @xunilrj in #7313
- bugfix: forc-call list-functions and script output by @zees-dev in #7312
- feat: forc-debug as lib by @zees-dev in #7320
- feat: fallback into s3 cache in forc-pkg for failed ipfs fetch by @kayagokalp in #7310
- feat: forc-call debugger integration by @zees-dev in #7323
- Add wrapping operations to standard library by @IGI-111 in #7329
- docs:Remove duplicate words by @RiceChuan in #7336
- Optimize initialization of array repeat when the initial value is zero by @xunilrj in #7299
- forc-run debugger integration by @IGI-111 in #7337
- fix(docs): update Fuel VM instruction set link to new docs site by @sashass1315 in #7319
- Don't duplicate source pointers in spans by @IGI-111 in #7339
- Add detailed diagnostics for Rust-style enums by @kfastov in #7047
- refactor(u128): rename as_u64 to try_as_u64 for naming consistency by @crStiv in #7332
argandretdemotion passes should be module passes by @vaivaswatha in #7343- Remove
cargo-run-e2e-test-evmjob from CI by @ironcev in #7349 - chore: fix typos by @Elaela22soL in #7350
- Eliminate
mem_copy_vals when accessing global constants by @ironcev in #7348 - Enable
storage_vec_iter_testsin-language test by @ironcev in #7356 - Implement a command to dump impls for a given type by @tritao in #7322
- chore: fix typos by @Elaela22soL in #7358
- Apply Clippy's
uninlined_format_argslint by @ironcev in #7361 - compile string constants to global rather than local memory by @vaivaswatha in #7359
- Optimize storage access compilation by @ironcev in #7357
- fix: correct GitHub Pages deployment path for std library docs by @JoshuaBatty in #7362
- bugfix: forc call explicit support for no external contracts by @zees-dev in #7367
- fix: move std library assets into docs directory to fix GitHub Pages deployment by @JoshuaBatty in #7365
- docs: improve docs around proxy contract deployments by @kayagokalp in #7352
- One
justfileto run them all by @xunilrj in #7369 - Iterator trait for arrays by @xunilrj in #7370
- refactor: forc-node as lib by @zees-dev in #7353
- Remove emitting of
ConvertParseThreeError::SelfImplForContractby @ironcev in #7375 - Improve array decode by @xunilrj in #7342
- Import indirect trait impls when handling item use statements. by @tritao in #7347
- feat: improved reliability for failing fetches through forc-pkg by @kayagokalp in #7377
- feat: forc node account funding by @zees-dev in #7378
- forc-doc: Preserve all doc links when merging parallel results by @JoshuaBatty in #7379
- gh-pages workflow update to remove archived actions-rs by @zees-dev in #7380
- Add expressive diagnostics for
Warning::UnusedReturnValueby @ironcev in #7382 - fix: forc-call variable output default estimation with override by @zees-dev in #7384
- Improve method resolution for trait method name bindings by @tritao in #7364
- Argument Mutability Analysis - and its applications by @vaivaswatha in #7368
- Allow CEI analysis with const generics by @xunilrj in #7392
- Fix trait-bound method lookup ambiguity by @tritao in #7397
- When demoting aggregate returns, no need to return back the new argument pointer by @vaivaswatha in #7381
- Update nightly toolchain for cargo-udeps CI job by @JoshuaBatty in #7400
- Fix SourceEngine cache to refresh buffers after file edits by @JoshuaBatty in #7399
- Bump to v0.69.2 by @IGI-111 in #7403
- Add wasm32 target to publish step by @IGI-111 in #7405
- Move method lookup logic to
method_lookup.rs. by @tritao in #7402 - symlink docs dirs for forc-mcp resources for publish CI by @zees-dev in #7406
- Bump to v0.69.3 by @IGI-111 in #7407
- Skip returning a value when the type is unit by @vaivaswatha in #7401
- rocksdb compilation error fix by @zees-dev in #7408
- Bump to v0.69.4 by @IGI-111 in #7410
New Contributors
- @MozirDmitriy made their first contribution in #7298
- @mchristopher made their first contribution in #7302
- @Galoretka made their first contribution in #7309
- @RiceChuan made their first contribution in #7336
- @sashass1315 made their first contribution in #7319
- @kfastov made their first contribution in #7047
- @crStiv made their first contribution in #7332
- @Elaela22soL made their first contribution in #7350
Full Changelog: v0.69.1...v0.69.4
v0.69.1
What's Changed
- support
__addr_offor all types by @vaivaswatha in #7255 - remove archived
forc-exploreplugin from CI and docs by @JoshuaBatty in #7257 - forc-call detailed vm-interpreter call traces by @zees-dev in #7251
- Add criterion benchmark to forc-doc + initial code quality pass by @JoshuaBatty in #7242
- treat string array values as if it were
[u8; N]by @vaivaswatha in #7258 - fix: typo in comment for
forc-migrateby @kayagokalp in #7269 - chore: use wildcard include for
forc-pluginsinCargo.tomlby @kayagokalp in #7265 - Fix broken link to test data directory in README by @GarmashAlex in #7266
- Add workspace support to
forc-docby @JoshuaBatty in #7268 - feat: forc-call inline abi support by @zees-dev in #7270
- Fix Typo in Yanked Version Message by @leopardracer in #7274
- feat: add mdbook preprocessing for forc-publish to flatten include directives by @kayagokalp in #7264
- Implement new hashing by @ironcev in #7259
- Contract self impl by @xunilrj in #7275
- Add
#[trace]attribute by @ironcev in #7277 - Subroutine calls using the new JAL instruction by @Dentosal in #7085
- Partially revert #6795 by @vaivaswatha in #7288
- Add
backtracebuild option by @ironcev in #7285 - Bump to v0.69.1 by @IGI-111 in #7289
New Contributors
- @GarmashAlex made their first contribution in #7266
- @leopardracer made their first contribution in #7274
Full Changelog: v0.69.0...v0.69.1
v0.69.0
What's Changed
- Bump fuel deps by @Dentosal in #7228
- Stabilize ABI errors by @IGI-111 in #7241
- Add docs for error handling (ABI errors,
panic,error_type,error) by @ironcev in #7249 - Bump/0.69.0 by @zees-dev in #7248
Breaking Changes
panicis now a keyword- fuel-vm, fuel-core fuels-rs and forc-wallet dependencies have been updated to latest versions
Full Changelog: v0.68.9...v0.69.0
v0.68.9
What's Changed
- Trait coherence fixes by @tritao in #7211
- Update Merkle library link to current documentation by @VolodymyrBg in #7244
- minor adjustment to inliner heuristic by @vaivaswatha in #7232
- fix(forc-pkg): Resolve runtime panic in registry dependency fetching by @JoshuaBatty in #7246
- bump to 0.68.9 by @JoshuaBatty in #7247
New Contributors
- @VolodymyrBg made their first contribution in #7244
Full Changelog: v0.68.8...v0.68.9