v0.7.0
Mettle v0.7.0 - Rebrand & Async Runtime
Note: The project has been rebranded from Meth to Mettle. The compiler binary is now mettle / mettle.exe, source files use the .mettle extension, and the installer is updated accordingly. Update any scripts that invoke the old meth binary or reference .meth files.
Highlights
- Rebrand to Mettle: new name, binary, file extension, icon, and documentation throughout.
- Async/await runtime: bounded worker-pool executor (default) plus an experimental stackless coroutine model on a portable reactor (IOCP - on Windows, poll(2) on POSIX), with executor lifecycle management, token-routed task wakeups, and cooperative cancellation.
- Compilation speed: multiple passes of compile-time optimization across the front end and codegen.
- Runtime performance: codegen improvements for faster generated programs.
Language & Compiler
- Allowed newlines inside unclosed brackets (more forgiving parsing).
- Improved error reporting and diagnostics.
- Concurrency work and improved operand handling.
- Trait bounds / generic constraints, tagged-enum match, and namespaced imports (new test coverage added).
- Better string/cstring interop and std/conv formatting.
Stability
- Massive stability improvements and bug fixes across the compiler.
- Better POSIX support for Linux.
- Web server demo and form parser improvements.