Ecosystem & Release Blog

Stay up to date with the latest features, releases, and guides from the Ferrite core team.

Ferrite v2.4.1: Engineering Knowledge Base

Maintenance release focusing on project documentation. We have fully published the 21-chapter Engineering Knowledge Base (EKB) detailing the compiler architecture, memory models, and future MLIR roadmap.

Ferrite v2.4.0: Module System & Namespaces

Ferrite scales up! We've introduced a robust module system with import, from, take, and pub keywords, isolating scopes and enabling 100k+ line codebases without symbol pollution.

The Semantic Analyzer now uses a multi-pass DAG resolution system to enforce strict visibility boundaries across files.


import "math"
from "utils" take { helper as my_helper }
pub fun add(a: int, b: int) -> int { return a + b; }
                  

Ferrite v2.3.1: Embedded Stdlib & Playground

The Ferrite compiler can now run entirely in your browser via WebAssembly! We embedded the standard library using include_str! to eliminate OS filesystem dependencies.

Ferrite v2.3.0: Windows Setup Wizard

Our Windows installation experience has been rewritten. The setup wizard now properly publishes vendor parameters, configures environment paths, and resolves standard SDK files directly.

Ferrite v2.2.0: Hardened Type Checks & Traits

Ferrite's compiler type check has been hardened. We've introduced explicit interfaces called Traits, which can be custom-implemented on structural Groups to support clean code architectures.

Ferrite v2.1.0: Generics & Shape Bounds

Introduced the where clause for Trait and Shape bounds, allowing functions to enforce tensor dimensionalities natively during the unification pass.

Ferrite v2.0.0: The LLVM AOT Rewrite

The biggest update in Ferrite history. We discarded the Bytecode VM and transitioned to strict static typing, compiling directly to LLVM IR for bare-metal machine learning performance.

Ferrite now guarantees zero implicit type coercion. Shape mismatch bugs are caught entirely at compile-time.

Ferrite v1.4.0: Closures, Guards & Bytecode VM

Replaced the tree-walking interpreter with a custom Stack-Based Bytecode VM. Introduced lexical closures, enum guard clauses, and skip/stop loops control.

Ferrite v1.0.0: The Genesis

The first public release of the Ferrite language, running on a dynamic Tree-Walking Interpreter written in Rust.