Releases: FuelLabs/sway
Releases · FuelLabs/sway
v0.52.0
What's Changed
- Refactor scoped namespace accesses and clones in type check context by @tritao in #5642
- Fix type check and inference issues in references, structs, and enums by @ironcev in #5643
- Provide
__jmpb_ssp
intrinsic by @vaivaswatha in #5576 - fix: several typos in the documentation by @tudorpintea999 in #5362
- Fix ICE in relation to local declarations with erroneous initializers by @jjcnn in #5631
- Make
replace_decl
s to know when a change was introduced by @xunilrj in #5677 - Encapsulation for std-lib by @bitzoic in #5658
- Replace
__jmpb_ssp
with__jmp_mem
by @vaivaswatha in #5674 - Fixes dummy method while using where clause in trait impl. by @esdrubal in #5684
- Add client heartbeat to shutdown LSP zombie processes by @sdankel in #5690
- Add docs about forc debug by @sdankel in #5683
- Rename
predicate_id()
topredicate_address()
and additional Predicate docs by @bitzoic in #5596 - Add --version to forc-debug by @sdankel in #5687
- New encoding for contract calls by @xunilrj in #5427
- Implement Pid file locking by @crodas in #5676
- Correctly export the main fn in the json abi by @xunilrj in #5707
- Refactor: Imports must use absolute paths by @jjcnn in #5697
- Enable LSP Garbage Collection test for CI by @JoshuaBatty in #5704
- Port
TraitItem::TraitFn
to be stored in the parsed declaration engine. by @tritao in #5714 - more impls for abi_encode for tuples by @xunilrj in #5716
- References to mutable values by @ironcev in #5688
- Use an explicit module id when generating auto impl declarations by @tritao in #5712
- Introduce the symbol collection context and a symbol collection step. by @tritao in #5661
- docs: add type conversions page by @sarahschwartz in #5708
- Implement
DebugWithEngines
andDeclUniqueId
forParsedDeclId
by @tritao in #5718 - Fix decode for u16/u32 by @xunilrj in #5719
- Adds unification of method application type params with impl self type params. by @esdrubal in #5694
- Improves error handling of method application args type checking. by @esdrubal in #5717
- feat: change default script and predicate program generated at init by @kayagokalp in #5720
- Advanced Storage Docs by @bitzoic in #5715
- make source id optional when auto impl for new encoding by @xunilrj in #5721
- fix predicate entry fn by @xunilrj in #5723
- Initial DWARF debug symbols output code. by @vaivaswatha in #5521
- Remove warning comments by @JoshuaBatty in #5730
- Tweak the
did_change_stress_test_random_wait
test by @JoshuaBatty in #5724 - fallback when all contract selectors fail by @xunilrj in #5703
- fix auto impl removing method name log by @xunilrj in #5733
- Update Rust version in deployment Dockerfile by @IGI-111 in #5732
- Only copy sway relevant files into LSP tmp memory by @JoshuaBatty in #5725
- remove repetitive words by @thirdkeyword in #5699
- fix typo to beta-5 by @great9 in #5731
- Remove U256 by @SwayStar123 in #5738
- Do not initialise zero-sized types by @vaivaswatha in #5741
- Continue even if the lsp cannot acquire an exclusive lock by @crodas in #5740
- feat: Add predicate and script templates by @calldelegation in #5238
- stdlib: Fix temp alloc size in
try_as_str_array
. by @vaivaswatha in #5753 - New encoding fixes by @xunilrj in #5745
- Enable commented tests for references and enums in
match
expressions by @ironcev in #5755 - refactor:
forc init
generate unexpected project_name when project dir contains dot by @Halimao in #5455 - Optimizing AST Traversal with Adaptive Iteration by @JoshuaBatty in #5754
- Expose external code loading with
std::execution::run_external
by @IGI-111 in #5685 - Improve execution time of
should_pass
E2E tests by @ironcev in #5757 - Enhance LSP Testing Strategy for Better Reliability by @JoshuaBatty in #5764
- Improve execution time of E2E tests by @ironcev in #5763
- Fix LSP initialisation bug. by @JoshuaBatty in #5771
- Add DevRel request item to PR checklist by @IGI-111 in #5783
- Refactor module evaluation order handling. by @tritao in #5784
- Bump to v0.52.0 by @IGI-111 in #5791
New Contributors
- @tudorpintea999 made their first contribution in #5362
- @thirdkeyword made their first contribution in #5699
- @great9 made their first contribution in #5731
Full Changelog: v0.51.1...v0.52.0
v0.49.3-patch.1
This release is going to be used to patch the forc-lsp binary for beta-5. All of the other forc binaries will remain the same, but forc-lsp will be manually updated to the latest version. This is due to a critical bug in forc-lsp in this version.
Full Changelog: v0.49.3...v0.49.3-patch.1
v0.49.3
What's Changed
- Enable LSP Garbage Collection test for CI by @JoshuaBatty in #5704
Full Changelog: v0.49.2...v0.49.3
v0.51.1
What's Changed
Full Changelog: v0.51.0...v0.51.1
v0.51.0
What's Changed
- Fix build-mdbook CI failure by @sdankel in #5574
- Turn struct field privacy warnings into errors by @ironcev in #5569
- u256: log, log2 and sqrt impl (#5329) by @sudhackar in #5565
- Fixes issue of missing type annotations on explicit returns. by @esdrubal in #5575
- Remove
DeRef
andDeRefMut
implementations in thenamespace
module by @jjcnn in #5577 - Implements Iterator trait and for loops. by @esdrubal in #5557
- Enforce deterministic order in hashmaps by @IGI-111 in #5584
- Moves for loop handling to a function. by @esdrubal in #5587
- Improve cli_examples macro by @crodas in #5589
- Fix
balance_of()
andthis_balance()
inline docs by @bitzoic in #5586 - Refactor
TypeCheckContext::scoped
to take a closure by @tritao in #5592 - Run LSP benchmarks in CI by @sdankel in #5546
- Support for register push and pop instructions by @vaivaswatha in #5177
- swayfmt: fix indentation after where in fn (#5468) by @sudhackar in #5578
- Format release targets output by @sdankel in #5608
- Introduce lexical scopes to namespace modules by @tritao in #5600
- Add instructions for LSP on Code OSS by @sdankel in #5624
- Make forc-deploy create release builds by default by @sdankel in #5609
- Storage namespace annotation by @IGI-111 in #5601
- Replace unmaintained generational-arena with slotmap by @IGI-111 in #5629
- Implements the Never
!
types as a TypeInfo bottom type. by @esdrubal in #5602 - Adds a DAP server with support for debugging sway unit tests by @sdankel in #5477
- Fixes method application argument type checking. by @esdrubal in #5632
- Temporarily disable
test_server_launch_mode
by @sdankel in #5635 - Re-enable test_server_launch_mode by @sdankel in #5638
- Refactor forc-pkg with generic manifest trait by @sdankel in #5625
- cfei: don't generate if frame size is zero by @sudhackar in #5588
- Bump to v0.51.0 by @IGI-111 in #5647
New Contributors
- @sudhackar made their first contribution in #5565
Full Changelog: v0.50.0...v0.51.0
v0.50.0
What's Changed
- feat: implement
-o
flags for disabling optimizations by @kayagokalp in #5385 - Forbid configurables in constants by @IGI-111 in #5497
- Change auto_import test to use git tag of std lib by @JoshuaBatty in #5501
- Add support recover key by @crodas in #5419
- Remove token library from book libraries.md by @tritao in #5505
- Optimizes
TraitMap
insert
to not useTypeEngine
by @esdrubal in #5503 - Fixes error while using From trait that returns a tuple. by @esdrubal in #5470
- feat: update
AbiEncode
implementations by @hal3e in #5506 - feat: add Tuple
AbiEncode
impls by @danielbate in #5517 - LSP Optimization: Remove
ParseResult
and write to session types directly by @JoshuaBatty in #5516 - Significant
TokenMap
optimisation by removing clones and returning refs instead. by @JoshuaBatty in #5509 - Fixes for auto impl of AbiEncode; encoding version and better tests by @xunilrj in #5481
- Redesign From trait into From/Into pair by @IGI-111 in #5259
- Introduce TerminatorValue to force handling of divergence by @jjcnn in #5496
- Refactor parsed declaration storage by @tritao in #5443
- Struct field privacy by @ironcev in #5508
- Explicitly use
u64
operations for safeu8
arithmetic by @vaivaswatha in #5510 - Fixes associated type not found in libraries. by @esdrubal in #5526
- Fix typo in plugins.rs by @eltociear in #5529
- Fix ABI when logging generic types by @xunilrj in #5528
- Dereferencing operator index
[]
by @ironcev in #5530 - Fix missing shadowing errors due to error deduplication by @ironcev in #5532
- Cleanup parsed AST by @tritao in #5464
- Support for criterion-compare-prs gh action by @sdankel in #5547
- Fix typo in generic_types.md by @smoelius in #5535
- Dereferencing operator
.
on struct field access by @ironcev in #5538 - Separate forc-debug CI tests by @sdankel in #5544
- Remove Arcs from QE by @JoshuaBatty in #5548
- Fixes
ReplaceDecls
to no longer depend on filter hack. by @esdrubal in #5541 - Adds test case that covers PR #3818. by @esdrubal in #5553
- ci: use buildjet cache for steps using buildjet runners by @kayagokalp in #5545
- Add page for LSP troubleshooting by @sdankel in #5554
- Dereferencing operator
.
on tuple element access by @ironcev in #5552 - Only run docs CI checks when docs have changed by @sdankel in #5556
- Disable DCA and writing diagnostics on did_change events by @JoshuaBatty in #5555
- Bump to v0.50.0 by @IGI-111 in #5564
New Contributors
- @danielbate made their first contribution in #5517
- @smoelius made their first contribution in #5535
Full Changelog: v0.49.1...v0.50.0
v0.49.2
v0.49.1
What's Changed
- Remove Subcurrency from examples by @bitzoic in #5475
- ci: switch katyo/publish-crates@v2 to xgreenx/publish-crates@v1 by @kayagokalp in #5494
- Use filter_map instead of filter() and map() by @crodas in #5493
- ci: get fuel-core version from an env variable by @levisyin in #5486
- chore: bump version to 0.49.1 by @kayagokalp in #5495
New Contributors
Full Changelog: v0.49.0...v0.49.1
v0.49.0
What's Changed
- Use Jemalloc in
forc-lsp
and LSP benchmarks for greater performance. by @JoshuaBatty in #5373 - Check test consistency by @ironcev in #5375
- Update LSP tests to use std lib v0.48.1 by @JoshuaBatty in #5371
- Add
InstructionInserter
and make a block's instruction list private by @vaivaswatha in #5365 - Implement order-independent module evaluation by @tritao in #5300
- Refactor Language Server I/O to Use Tokio Async Primitives by @JoshuaBatty in #5378
- Ignore Forc.lock in LSP tests by @sdankel in #5389
- Add fuel-debugger as a forc plugin by @sdankel in #5390
- Improve error message for illegal enum variants by @jjcnn in #5397
- docs: configure spell check, minor improvements by @sarahschwartz in #5369
- Refactor forc-test to expose VM interpreter by @sdankel in #5409
- Fix broken link in access_control.md by @sdankel in #5420
- Improve forc-fmt to format std lib and core by @crodas in #5410
- Fmt std core by @crodas in #5405
- Fix resolution of local items that shadow imported ones by @ironcev in #5418
- Implements the
Hash
trait forEvmAddress
by @brandonsurh in #5422 - Make sure that list of plugins is sorted and unique by @crodas in #5395
- Added tests for the
sqrt()
method inmath.sw
by @brandonsurh in #5423 - Added
assert_ne(x, y)
function by @brandonsurh in #5426 - Run
forc fmt
on std-lib by @crodas in #5404 - Introduce
predicate_id()
to the std-lib by @bitzoic in #5425 - Changes
ConcurrentSlab
to store values in map. by @esdrubal in #5400 - Add references to Sway by @ironcev in #5406
- ci: use rust 1.75 in CI by @kayagokalp in #5435
- Check errors related to return as an expression by @jjcnn in #5416
- Major Performance Boost in
line_col
Function withbytecount
Integration by @JoshuaBatty in #5440 - chore: use sdk v0.54.0 to enable forc-client deployments to beta5 by @kayagokalp in #5433
- Implement a more responsive compilation thread in the the language server. by @JoshuaBatty in #5429
- Create the
asset_id.sw
file and moveAssetId
out ofcontract_id.sw
by @bitzoic in #5439 - Large integers in aggregates cannot be scalarised by @vaivaswatha in #5442
- Add examples to cli --help by @crodas in #5388
- refactor: update error message for
forc deploy
when password is mismatch by @Halimao in #5446 - fix:
forc build
panic when sway package folder contains dot by @Halimao in #5448 - Fix Internal Compiler Error related to
break
andcontinue
by @jjcnn in #5451 - fix: point std to local version for forc-client cli tests by @kayagokalp in #5457
- Add
try_insert
to storage map by @SwayStar123 in #5441 - chore: replaced
filter().map()
withfilter_map()
insway-core
. by @bogdiw in #5466 - feat: add beta-5 network to supported networks by @kayagokalp in #5460
- refactor: improve the flow of
forc deploy
when selecting an account that doesn't exist by @Halimao in #5447 - Formalize Asset and Coin Terminology in the std-lib by @bitzoic in #5461
- __log outputting encoded values by @xunilrj in #5306
- Fix broken link to book in README by @IGI-111 in #5471
- LSP Optimization: Wrap
programs_cache
in anArc
by @JoshuaBatty in #5472 - Convert numeric literals to U256 based on inferred expression type by @vaivaswatha in #5489
- LSP Optimization: Use rayon for
parse_ast_to_typed_tokens
function by @JoshuaBatty in #5473 - fix: depend on std via path for forc-doc, forc-fmt and forc-tx cli tests by @kayagokalp in #5483
- LSP Optimization: Add par_iters to the
traverse::typed_tree
module by @JoshuaBatty in #5487 - chore: bump to v0.49.0 by @kayagokalp in #5452
New Contributors
- @jjcnn made their first contribution in #5397
- @Halimao made their first contribution in #5446
- @bogdiw made their first contribution in #5466
Full Changelog: v0.48.1...v0.49.0