Releases: FuelLabs/sway
Releases · FuelLabs/sway
v0.68.7
What's Changed
- feat: return failed to fetch message for invalid registry lookups by @kayagokalp in #7205
const-generics
for 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
len
methods 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
Hash
forVec<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
v0.68.6
What's Changed
- Use a workspace level
TokenMap
andEngines
by @JoshuaBatty in #7139 - ci: install Forc plugins by iterating the plugins in the forc-plugins directory by @grandima in #7183
- fix: Prevent panic in semantic highlighting for unknown token types by @JoshuaBatty in #7189
- Check for typed program errors before unwrapping to prevent panics. by @JoshuaBatty in #7190
- feat: implement
forc add
andforc remove
to add/remove dependencies by @JoE11-y in #7143 - const generics for standalone fns by @xunilrj in #7175
- fix: ensure forc-node ignition fetches ignition chain config by @kayagokalp in #7194
- fix: typo in
Cargo.toml
by @gap-editor in #7199 - Compile panic expression to ABI error codes by @ironcev in #7118
- Bump to 0.68.6 by @IGI-111 in #7200
- Update Rust in dockerfile to 1.87 by @IGI-111 in #7201
New Contributors
- @grandima made their first contribution in #7183
- @gap-editor made their first contribution in #7199
Full Changelog: v0.68.5...v0.68.6
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