Version History
Changelog
Every release of Vexel is documented here with a full list of what changed, what was added, and what is known to still need work. Vexel follows semantic versioning. Until v1.0, minor version bumps may include breaking changes.
v0.1.0
Initial Release April 2026First public release of the Vexel compiler. Full end-to-end pipeline: lexer, parser, type checker, LLVM codegen, and native binary output on Windows.
What's Included
- + Full lexer with all keywords, operators, string/number/bool literals, and comment stripping
- + Recursive descent parser producing a typed AST
- + Static type checker with full inference for local variables
- + LLVM IR codegen via llvmlite — compiles to native Windows x64 executables
- + JIT execution mode (vexel run) for fast iteration
- + Primitive types: int, float, str, bool, null
- + Variables with let and const, full assignment and compound operators
- + Functions with typed parameters and return types, first-class values
- + Structs with fields and methods
- + Enums with variant data
- + Interfaces with impl X for Y syntax
- + Arrays with indexing and length()
- + For loops: for-range, for-each, for-enumerate
- + While loops with break and continue
- + Match statements on enum variants and type patterns
- + Lambdas and closures
- + Generics [T] on functions and structs
- + try/catch error handling with string error values
- + assert with optional message
- + import and import...as module system
- + type alias declarations
- + Mark-and-sweep garbage collector
- + SDL2 first-class support: window, event loop, drawing, color, delay
- + Built-in functions: print, len, str_to_int, int_to_str, push, pop, rand
- + VS Code syntax highlighting extension
- + Windows standalone vexel.exe (PyInstaller bundle, no install required)
- + Line-number error messages for all type and syntax errors
Known Issues in This Release
- ! Linux and macOS binaries not yet available
- ! No standard library beyond built-in functions
- ! No package manager or project scaffolding tool
- ! Error messages for certain code patterns could be more descriptive
- ! No language server (LSP) or IDE autocomplete support yet
- ! Closures cannot capture mutable variables from outer scopes
Coming in v0.2
v0.2 is already being worked on. Here is what is planned:
- - Linux and macOS compiler binaries
- - Improved error messages with source span highlighting
- - String interpolation syntax
- - Standard library: file I/O, math, string utilities
- - Mutable closure captures
- - Optional types with ? syntax
- - Tuple types
- - Named arguments at call sites
- - vexel fmt — an automatic code formatter
- - Incremental compilation: skip unchanged modules
- - Basic LSP server for IDE integration
Follow progress on GitHub.