Releases: FuelLabs/sway
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
v0.68.8
What's Changed
- Remove Docker jobs from CI by @JoshuaBatty in #7221
- Support
GM_GET_CHAIN_IDGM opcode withchain_id()function by @bitzoic in #7222 - Support ABI errors in
forc testby @ironcev in #7224 - Respect CLI flags in
unit_test_passE2E tests by @ironcev in #7226 - Keep track of interface surface status for entries in trait map. by @tritao in #7210
- IR: Taking function arg address and representing references as pointers by @vaivaswatha in #6967
- Add verified assets to
AssetIdimplementation by @bitzoic in #7225 - Add migration for renaming existing
panicidentifiers tor#panicby @ironcev in #7231 - fix: add forc-call to binary stripping step in ci by @kayagokalp in #7237
- LSP: Support multiple workspaces by @JoshuaBatty in #7214
- Optimize existing and add missing
Hashimplementations by @ironcev in #7238 - Bump to 0.68.8 by @IGI-111 in #7235
- Fix forc-test dependency to include the tx feature by @IGI-111 in #7239
Full Changelog: v0.68.7...v0.68.8
v0.68.7
What's Changed
- feat: return failed to fetch message for invalid registry lookups by @kayagokalp in #7205
const-genericsfor enums by @xunilrj in #7163- feat: more descriptive publish error message for forc-publish by @kayagokalp in #7208
- feat: forc call tracing by @zees-dev in #7196
- Introduce the Time Library by @bitzoic in #7206
- Removing needless allocations (clone, to_vec, collect etc...) by @xunilrj in #7209
- Const generics for "string array" and
lenmethods by @xunilrj in #7202 - Improve error handling by avoiding unwrap for transmute expression type checking by @tritao in #7212
- Optimisation: only traverse AST's if the cache is stale. by @JoshuaBatty in #7215
- Implement
HashforVec<T>by @ironcev in #7217 - feat: implicitly depend on std from registry, not via git by @kayagokalp in #7204
- Bump to 0.68.7 by @IGI-111 in #7219
Full Changelog: v0.68.6...v0.68.7