From b5185fb8f99250c705f6cba5d0264454951d635f Mon Sep 17 00:00:00 2001 From: Christoph Burgdorf Date: Wed, 5 Apr 2023 16:12:25 +0200 Subject: [PATCH] Compile release notes --- docs/src/release_notes.md | 70 ++++++++++++++++++++++++++++++++++-- newsfragments/807.feature.md | 16 --------- newsfragments/853.doc.md | 1 - newsfragments/861.bugfix.md | 17 --------- newsfragments/863.feature.md | 8 ----- newsfragments/864.feature.md | 4 --- 6 files changed, 68 insertions(+), 48 deletions(-) delete mode 100644 newsfragments/807.feature.md delete mode 100644 newsfragments/853.doc.md delete mode 100644 newsfragments/861.bugfix.md delete mode 100644 newsfragments/863.feature.md delete mode 100644 newsfragments/864.feature.md diff --git a/docs/src/release_notes.md b/docs/src/release_notes.md index c89370876f..7de1f9939a 100644 --- a/docs/src/release_notes.md +++ b/docs/src/release_notes.md @@ -7,9 +7,75 @@ Fe is moving fast. Read up on all the latest improvements. -**WARNING: All Fe releases are alpha releases and only meant to share the development progress with developers and enthusiasts. It is NOT yet ready for production usage.** - [//]: # (towncrier release notes start) +## 0.22.0 "Vulcanite" (2023-04-05) + +This is the first non-alpha release of Fe. Read our [announcement](https://blog.fe-lang.org/posts/beyond-alpha-preparing-fe-for-the-future/) for more details. + +### Features + + +- Support for tests. + + example: + + ``` + #test + fn my_test() { + assert 26 + 16 == 42 + } + ``` + + Tests can be executed using the `test` subcommand. + + example: + + `$ fe test foo.fe` ([#807](https://github.com/ethereum/fe/issues/807)) +- Fixed broken trait orphan rule + + Fe has an orphan rule for Traits similar to Rust's that requires + that either the trait or the type that we are implementing the trait for + are located in the same ingot as the `impl`. This rule was implemented + incorrectly so that instead of requiring them to be in the same ingot, + they were required to be in the same module. This change fixes this + so that the orphan rule is enforced correctly. + ([#863](https://github.com/ethereum/fe/issues/863)) + +- `address` values can now be specified with a number literal, with no explicit + cast. So instead of `let t: address = address(0xfe)`, one can now write + `let t: address = 0xfe`. This also means that it's possible to define `const` + addresses: `const SOME_KNOWN_CONTRACT: address = 0xfefefefe` + ([#864](https://github.com/ethereum/fe/issues/864)) + + +### Bugfixes + + +- Fixed resolving of generic arguments to associated functions. + + For example, this code would previously crash the compiler: + + ```rust + ... + // This function doesn't take self + pub fn run_static(_ val: T) -> u256 { + return val.compute(val: 1000) + } + ... + + // Invoking it would previously crash the compiler + Runner::run_static(Mac()) + ... + ``` + ([#861](https://github.com/ethereum/fe/issues/861)) + + +### Improved Documentation + + +- Changed the Deployment tutorial to use foundry and the Sepolia network ([#853](https://github.com/ethereum/fe/issues/853)) + + ## 0.21.0-alpha (2023-02-28) diff --git a/newsfragments/807.feature.md b/newsfragments/807.feature.md deleted file mode 100644 index e43f529b4f..0000000000 --- a/newsfragments/807.feature.md +++ /dev/null @@ -1,16 +0,0 @@ -Support for tests. - -example: - -``` -#test -fn my_test() { - assert 26 + 16 == 42 -} -``` - -Tests can be executed using the `test` subcommand. - -example: - -`$ fe test foo.fe` diff --git a/newsfragments/853.doc.md b/newsfragments/853.doc.md deleted file mode 100644 index 260a5dfa13..0000000000 --- a/newsfragments/853.doc.md +++ /dev/null @@ -1 +0,0 @@ -Changed the Deployment tutorial to use foundry and the Sepolia network diff --git a/newsfragments/861.bugfix.md b/newsfragments/861.bugfix.md deleted file mode 100644 index 80cd732e1d..0000000000 --- a/newsfragments/861.bugfix.md +++ /dev/null @@ -1,17 +0,0 @@ -Fixed resolving of generic arguments to associated functions. - -For example, this code would previously crash the compiler: - -```rust -... - // This function doesn't take self - pub fn run_static(_ val: T) -> u256 { - return val.compute(val: 1000) - } -... - -// Invoking it would previously crash the compiler -Runner::run_static(Mac()) -... -``` - diff --git a/newsfragments/863.feature.md b/newsfragments/863.feature.md deleted file mode 100644 index 3d02725a7f..0000000000 --- a/newsfragments/863.feature.md +++ /dev/null @@ -1,8 +0,0 @@ -Fixed broken trait orphan rule - -Fe has an orphan rule for Traits similar to Rust's that requires -that either the trait or the type that we are implementing the trait for -are located in the same ingot as the `impl`. This rule was implemented -incorrectly so that instead of requiring them to be in the same ingot, -they were required to be in the same module. This change fixes this -so that the orphan rule is enforced correctly. diff --git a/newsfragments/864.feature.md b/newsfragments/864.feature.md deleted file mode 100644 index f111f0ae7f..0000000000 --- a/newsfragments/864.feature.md +++ /dev/null @@ -1,4 +0,0 @@ -`address` values can now be specified with a number literal, with no explicit -cast. So instead of `let t: address = address(0xfe)`, one can now write -`let t: address = 0xfe`. This also means that it's possible to define `const` -addresses: `const SOME_KNOWN_CONTRACT: address = 0xfefefefe`