Releases: FuelLabs/sway
Releases · FuelLabs/sway
v0.68.5
What's Changed
- fix: Print full error in forc-publish by @sdankel in #7173
- Refactor jump label realization by @Dentosal in #7088
- chore: move test deps to dev-dependencies by @sdankel in #7181
- Refactor: Move
SyncWorkspace
fromSession
intoServerState
by @JoshuaBatty in #7166 - feat: use SSE in forc-publish for long-running uploads by @sdankel in #7178
- chore: bump to 0.68.5 by @sdankel in #7185
Full Changelog: v0.68.4...v0.68.5
v0.68.4
v0.68.3
What's Changed
- sway-book: fix forc call examples by @zees-dev in #7133
- Better
Debug
tests and impls for primitives and std lib types by @xunilrj in #7119 - sway-lsp: Fix the double read-lock bug in session by @Chain-Fox in #7145
- Add documentation for the
abi
keyword for LSP by @JoshuaBatty in #7148 - codegen optimization: symbolic fuel-vm interpretation by @Dentosal in #7109
- Replace Tokio Thread File Watcher with LSP Client File Watcher by @JoshuaBatty in #7147
- Rename AllocatedOpcode to AllocatedInstruction to follow fuel-spec/fuel-asm terminology by @Sendi0011 in #7122
- Remove
AbiEncode
impl forraw_ptr
by @tritao in #7160 - Support new expiry policy in std-lib by @bitzoic in #7155
- Optimize
crypto
module for bytecode size and gas usage by @ironcev in #7151 - ci: Ensure that std-lib version matches forc version by @sdankel in #7154
- Support doc comments and attributes on nested items by @saimeunt in #7146
- Optimize
vec
andbytes
modules for bytecode size and gas usage by @ironcev in #7162 - feat: forc call json output by @zees-dev in #7156
- ci: publish lib-std on release by @sdankel in #7165
- Remove double IR-compilation of contract methods by @ironcev in #7164
- chore: bump to 0.68.3 by @sdankel in #7167
New Contributors
- @Chain-Fox made their first contribution in #7145
- @Sendi0011 made their first contribution in #7122
Full Changelog: v0.68.2...v0.68.3
v0.68.2
What's Changed
- fix: add
implicit-std = false
to fix failing LSP test by @JoshuaBatty in #7116 - forc-call: missing contract retrieval refactor by @zees-dev in #7115
- Make update-contract-ids.sh macOS-compatible by @Dentosal in #7120
- Add support for experimental features in the parsing phase by @ironcev in #7124
- Add
str
conversion methods tostd::string::String
insway-lib-std
by @camden-smallwood in #7121 - Upgrade CI and fix Clippy issues with Rust 1.86.0 by @tritao in #7127
- Support for const generics in structs by @xunilrj in #7076
- chore: bump fuel-core v0.43.2 by @kayagokalp in #7130
- chore: update codeowners from swayex to onchain team by @luizstacio in #7128
- Add forc-publish to release binaries by @sdankel in #7129
- Rework and fix associated const visibility for impl items by @tritao in #6785
- Implement
panic
expression by @ironcev in #7073 - improve dbg intrinsic with fflush by @xunilrj in #7126
- Parse raw identifiers (
r#<identifier>
) in expressions by @ironcev in #7137 - chore: bump to 0.68.2 by @kayagokalp in #7140
New Contributors
- @camden-smallwood made their first contribution in #7121
- @luizstacio made their first contribution in #7128
Full Changelog: v0.68.1...v0.68.2
v0.68.1
What's Changed
- chore: bump fuel-core to 0.43.1 and fuels to 0.72 by @kayagokalp in #7110
- Fix relative path resolution with temp manifests in LSP by @JoshuaBatty in #7079
- chore: bump version to 0.68.1 by @kayagokalp in #7112
Full Changelog: v0.68.0...v0.68.1
v0.68.0
What's Changed
- Improve snapshot testing by @ironcev in #7020
- chore: update templates to use newer fuels SDK by @sdankel in #7024
- chore: add more information to lib-std project manifest by @sdankel in #7003
- Fix trait constraint type checking order for supertraits. by @tritao in #7022
- forc-call list functions support with example call usage by @zees-dev in #7018
- AbiDecode for arrays using
const_generics
by @xunilrj in #7008 - Separate prelude imports from star imports by @jjcnn in #6971
- Implements deref in reassignment for projections. by @esdrubal in #6941
- Import codec to all files that define new types in std lib by @SwayStar123 in #7028
- Refactor: Access to externals moved from
Root
toNamespace
by @jjcnn in #6999 - Defining, parsing, and checking
#[attribute]
s by @ironcev in #6986 - impl PartialEq, Eq, Hash, Clone for array by @xunilrj in #7037
- Cleanup stale lock files in the .lsp-locks directory by @JoshuaBatty in #6816
- Merge type and const generics by @xunilrj in #7044
- TypeArgument as enum to support const generics by @xunilrj in #7052
- Allow decimal/binary/octal u256 literals by @saimeunt in #7043
- chore: improve
test_cleanup_stale_files
test & addmark-flaky-tests
crate by @JoshuaBatty in #7055 - Check for redundant
.gitignore
files in tests by @ironcev in #7059 - move codspeed benchmarks to buildjet by @Voxelot in #7062
- Update fuels version by @zees-dev in #7053
- fix: run forc-publish tarball tests sequentially to remove flakiness by @kayagokalp in #7064
- Forc call transfers by @zees-dev in #7056
- Add
#[error_type]
and#[error]
attributes by @ironcev in #7058 - Fix compiler panic on configurable initialization by @ironcev in #7068
- ci: include forc-node binaries in releases by @kayagokalp in #7069
- Add
--generate-hexfile
flag toforc build
for hex-encoded output by @JoE11-y in #7032 - forc call verbosity levels by @zees-dev in #7074
- feat: registry source resolution and builds by @kayagokalp in #7038
- feat: yanking support for registry packages by @kayagokalp in #7081
- forc-pkg: add guards to ensure proper fetch cleanups by @kayagokalp in #7049
- ci: add a step to reject x.y.z versioning for dependencies by @kayagokalp in #7082
- Cache and restore namespace module for cached modules by @tritao in #7078
- Implement
Eq
forSignature
and add missingcodec
tests by @bitzoic in #7084 - Optimize
tx
module for bytecode size and gas usage by @ironcev in #7087 - Sway compiler optimizations by @xunilrj in #7080
- Optimize
inputs
andoutputs
modules for bytecode size and gas usage by @ironcev in #7092 - feat: limit registry nesting to 2 levels for registry sources by @kayagokalp in #7094
- Improved trait coherence checking by @tritao in #6844
- Optimize
auth
module for bytecode size and gas usage by @ironcev in #7096 - More Sway compiler optimizations by @xunilrj in #7093
Debug
trait and its auto implementation by @xunilrj in #7015- chore: bump to 0.67.1 by @kayagokalp in #7090
- ci: move build binaries step to ubuntu-22.04 by @kayagokalp in #7099
- chore: bump to 0.67.2 by @kayagokalp in #7100
- fix(ci): update Docker actions to fix GitHub cache deprecation error by @JoshuaBatty in #7104
assert_eq
requiresPartialEq
instead ofEq
by @ironcev in #7105- Fix
Eq
constraint in vec.swimpl<T> PartialEq for Vec<T>
. by @tritao in #7106 - Bump to 0.68.0 by @IGI-111 in #7108
Breaking Changes
Implementation coherence is now enforced by the compiler through static checks of orphan rules and implementation overlap, invalid implementations that either overlap with existing functionality or implement types from other packages were always considered illegal but will now result in explicit errors instead of undefined behavior.
New Contributors
Full Changelog: v0.67.0...v0.68.0
v0.67.0
What's Changed
- Trait map optimizations by @tritao in #7007
- Merge std and core libraries by @SwayStar123 in #6729
- Promote experimental features by @ironcev in #7016
- Bump to v0.67.0 by @IGI-111 in #7017
Breaking Changes
core
andstd
libraries have been merged- Storage keys are now calculated differently
- The
Eq
trait has been split intoEq
andPartialEq
- conversions from
Bytes
tob256
are now fallible
We recommend using the new forc migrate
tool to address these breaking changes in your codebase.
Full Changelog: v0.66.10...v0.67.0
v0.66.10
v0.66.9
What's Changed
- Implement
TryFrom<Bytes>
forb256
by @bitzoic in #6958 - chore: Change blob ID calculation in forc-deploy to use configurables offset by @sdankel in #6991
- Check for type aliases when implementing traits by @jjcnn in #6875
impl
trait for "const generics" by @xunilrj in #6946- Refactor CONTRACT_ID injection logic to only occur in LSP mode by @JoshuaBatty in #7001
- Add inline tests for all arithmetic cases in
u8
,u16
,u32
,u64
,U128
, andu256
by @bitzoic in #6995 - Update trait map to track fully resolved impl type parameters. by @tritao in #6963
- Introduce
GlobalVar
akin toLocalVar
and introduceget_global
instruction similar toget_local
. by @vaivaswatha in #6928 - Implement trees visitors and migrations for
TryFrom<Bytes>
forb256
by @ironcev in #7005 - Add migration for
Bytes::into(self) -> b256
toBytes::try_into
by @ironcev in #7009 - Add migration for merging
core
andstd
libraries by @ironcev in #7010 - Bump to 0.66.9 by @IGI-111 in #7011
- Fix source dependencies preventing release by @IGI-111 in #7012
- fix fallback compilation on new encoding by @xunilrj in #6998
- Add description to forc-node by @IGI-111 in #7013
Full Changelog: v0.66.8...v0.66.9
v0.66.8
What's Changed
- Function selector collision check by @jjcnn in #6869
- plugin: forc-call by @zees-dev in #6791
- CompileError::ContractIdConstantNotAConstDecl by @mo-hak in #6842
- Implement marker traits by @ironcev in #6871
- Fixes double call of get_items_for_type. by @esdrubal in #6626
- Fixes argument errors not displayed. by @esdrubal in #5909
- feat: disallow dependency package name collision in forc-pkg by @kayagokalp in #6888
- fix: remove invalid unpacking logic for IPFS pinned pkg sources by @kayagokalp in #6902
- feat: Add forc-publish plugin by @sdankel in #6890
- Implement array repeat without repeating item at the AST/CST trees by @xunilrj in #6901
- Implement partial equivalence and extend
forc migrate
tool by @ironcev in #6900 - Removes redundant checks from unifier. by @esdrubal in #6912
- Removes TraitMap::insert_for_type. by @esdrubal in #6867
- Respect variable type ascription when initializer has type Never by @jjcnn in #6911
- minor: Migrate forc-call node_url by @zees-dev in #6920
- chore: cargo update by @sdankel in #6929
- feat: add forc-node command for easily bootstrapping a node by @kayagokalp in #6473
- Const generic feature toggle, parser and errors. by @xunilrj in #6926
- Fix bug in conditional-const-prop when targets of cbr are same by @vaivaswatha in #6936
- docs: added a twitter shield by @Olexandr88 in #6939
- Fix issue with
__transmute
type checking by @xunilrj in #6940 - unique constants in the IR by @vaivaswatha in #6896
- Add test of never type in arrays by @jjcnn in #6943
- ECAL opcode support by @zees-dev in #6947
- Extend
#[deprecated]
support by @IGI-111 in #6944 - Add
bldd
case toOp::parse_opcode()
by @ironcev in #6957 - Add as_u256 for U128 by @SwayStar123 in #6951
- Allow
ldc
opcode in predicates by @ironcev in #6964 - Add
ProgramId
to root module. by @tritao in #6959 - Implement Iteration for Bytes by @SwayStar123 in #6953
- chore: move dev dependencies to workspace by @sdankel in #6966
- fix extract_type_parameters regarding primitive types by @xunilrj in #6965
- forc-call logs support by @zees-dev in #6968
- fix: resolve UB in _add, __sub, _mul for u8, u16, u32 by @K1-R1 in #6654
- Fully resolve trait constraints call paths. by @tritao in #6962
- Fix typos in CI. by @tritao in #6972
- feat: Support categories and keywords in forc manifest by @sdankel in #6974
- ci: Install forc-node in gh-pages.yml by @sdankel in #6978
- Update mdbook to 0.4.45 in CI by @IGI-111 in #6973
- ci: upgrade to rust 1.85.0 by @sdankel in #6979
- Add "Breaking Release Checklist" to internal docs by @ironcev in #6980
- chore: bump to 0.66.8 by @sdankel in #6989
New Contributors
Full Changelog: v0.66.7...v0.66.8