Skip to content

Commit b5185fb

Browse files
committed
Compile release notes
1 parent a2037b2 commit b5185fb

File tree

6 files changed

+68
-48
lines changed

6 files changed

+68
-48
lines changed

docs/src/release_notes.md

+68-2
Original file line numberDiff line numberDiff line change
@@ -7,9 +7,75 @@
77

88
Fe is moving fast. Read up on all the latest improvements.
99

10-
**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.**
11-
1210
[//]: # (towncrier release notes start)
11+
## 0.22.0 "Vulcanite" (2023-04-05)
12+
13+
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.
14+
15+
### Features
16+
17+
18+
- Support for tests.
19+
20+
example:
21+
22+
```
23+
#test
24+
fn my_test() {
25+
assert 26 + 16 == 42
26+
}
27+
```
28+
29+
Tests can be executed using the `test` subcommand.
30+
31+
example:
32+
33+
`$ fe test foo.fe` ([#807](https://github.com/ethereum/fe/issues/807))
34+
- Fixed broken trait orphan rule
35+
36+
Fe has an orphan rule for Traits similar to Rust's that requires
37+
that either the trait or the type that we are implementing the trait for
38+
are located in the same ingot as the `impl`. This rule was implemented
39+
incorrectly so that instead of requiring them to be in the same ingot,
40+
they were required to be in the same module. This change fixes this
41+
so that the orphan rule is enforced correctly.
42+
([#863](https://github.com/ethereum/fe/issues/863))
43+
44+
- `address` values can now be specified with a number literal, with no explicit
45+
cast. So instead of `let t: address = address(0xfe)`, one can now write
46+
`let t: address = 0xfe`. This also means that it's possible to define `const`
47+
addresses: `const SOME_KNOWN_CONTRACT: address = 0xfefefefe`
48+
([#864](https://github.com/ethereum/fe/issues/864))
49+
50+
51+
### Bugfixes
52+
53+
54+
- Fixed resolving of generic arguments to associated functions.
55+
56+
For example, this code would previously crash the compiler:
57+
58+
```rust
59+
...
60+
// This function doesn't take self
61+
pub fn run_static<T: Computable>(_ val: T) -> u256 {
62+
return val.compute(val: 1000)
63+
}
64+
...
65+
66+
// Invoking it would previously crash the compiler
67+
Runner::run_static(Mac())
68+
...
69+
```
70+
([#861](https://github.com/ethereum/fe/issues/861))
71+
72+
73+
### Improved Documentation
74+
75+
76+
- Changed the Deployment tutorial to use foundry and the Sepolia network ([#853](https://github.com/ethereum/fe/issues/853))
77+
78+
1379
## 0.21.0-alpha (2023-02-28)
1480

1581

newsfragments/807.feature.md

-16
This file was deleted.

newsfragments/853.doc.md

-1
This file was deleted.

newsfragments/861.bugfix.md

-17
This file was deleted.

newsfragments/863.feature.md

-8
This file was deleted.

newsfragments/864.feature.md

-4
This file was deleted.

0 commit comments

Comments
 (0)