Skip to content

v0.2.1

Choose a tag to compare

@spatulari spatulari released this 15 Jul 17:11
· 246 commits to main since this release

Azin 0.2.1 ๐Ÿ› ๏ธ

The first patch release for Azin is here!

This release focuses on stability, compiler correctness, and improved diagnostics. No new language features have been added. 0.2.1 is all about making the existing experience more reliable.

Highlights

  • Improved parser error recovery
  • Better handling of unexpected end and else
  • Parenthesized expressions ((expr))
  • Improved type parsing diagnostics
  • Better semantic analysis for binary operators
  • if conditions are now required to be bool
  • Improved function call validation
  • Better unknown identifier diagnostics
  • Improved immutable field assignment checking
  • More robust function return analysis
  • CI improvements
  • Numerous bug fixes and compiler polish

Example

importc "stdio"

fn square(x: int): int do
    return x * x
end

fn main: int do
    var result = square(5)

    if result > 20 then
        printf("Large\n")
    else
        printf("Small\n")
    end

    return 0
end

Downloads

Choose the appropriate archive for your platform from the release assets below.

Notes

This is a maintenance release focused entirely on fixing bugs and improving compiler stability.

If you encounter any issues, please report them on GitHub so they can be addressed before the 0.3.0 release.

What's Next?

Development now continues towards Azin 0.3.0, which is planned to include:

  • Enums
  • Modules
  • A basic standard library
  • Pattern matching
  • More optimizations
  • Improved diagnostics
  • Language Server Protocol (LSP)
  • Additional editor integrations

Thanks to everyone testing, contributing to, and following the Azin project. ๐Ÿ’™