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