Skip to content

Commit

Permalink
Compile release notes
Browse files Browse the repository at this point in the history
  • Loading branch information
cburgdorf committed Apr 5, 2023
1 parent a2037b2 commit b5185fb
Show file tree
Hide file tree
Showing 6 changed files with 68 additions and 48 deletions.
70 changes: 68 additions & 2 deletions docs/src/release_notes.md
Original file line number Diff line number Diff line change
Expand Up @@ -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<T: Computable>(_ 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)


Expand Down
16 changes: 0 additions & 16 deletions newsfragments/807.feature.md

This file was deleted.

1 change: 0 additions & 1 deletion newsfragments/853.doc.md

This file was deleted.

17 changes: 0 additions & 17 deletions newsfragments/861.bugfix.md

This file was deleted.

8 changes: 0 additions & 8 deletions newsfragments/863.feature.md

This file was deleted.

4 changes: 0 additions & 4 deletions newsfragments/864.feature.md

This file was deleted.

0 comments on commit b5185fb

Please sign in to comment.