Changelog
v0.7.0
VM as default engine, AOT compilation, DAP debugger
- VM is now the default execution engine; interpreter available via
--interp - Auto-detection of VM-incompatible features (decorators) with graceful fallback
- Cross-file LSP: go-to-definition and find-references follow imports across files
forge test --coverage: line coverage reporting with color-coded percentagesforge build --aot: ahead-of-time compilation embeds bytecode in native binaryforge dap: Debug Adapter Protocol server for VS Code integration (breakpoints, stepping, variable inspection, call stacks)- 948+ Rust tests passing
v0.6.0
Developer experience, package ecosystem, VM parity
- Deep LSP: go-to-definition, find-references, hover (full signatures), signature help, type-check diagnostics
- Source spans with ariadne error reporting (exact line and column)
- REPL improvements: syntax highlighting, tab completion,
envcommand forge fmt: parenthesis continuation supportforge doc: variable extraction and comment captureforge publish: local filesystem registry with SHA-256 checksums- Cross-file module resolution (
resolve_import_from) - VM parity: async/await with spawn, try-catch, destructuring, full stdlib (all 18+ modules), schedule/watch
- JIT expansion: logical operators, multi-arg functions (up to 8), float operations
v0.5.0
Production-readiness hardening
- JWT key-confusion defence: algorithm pinning via optional
{ algorithm: "RS256" }argument http.download/http.crawl: timeout, max_redirects, max_bytes options- CSPRNG audit confirmed (
getrandom)
v0.4.0
JWT, MySQL, expanded stdlib
- JWT authentication module (
jwt.sign,jwt.verify,jwt.decode,jwt.valid) with HS256/384/512, RS256, ES256 - MySQL/MariaDB module (
mysql.connect,mysql.query,mysql.execute,mysql.close) with parameterized queries and connection pooling - 21 stdlib modules, 280+ functions, 862 tests
v0.3.3
Type system – natural syntax
- Added
thingkeyword as alias forstruct - Added
powerkeyword as alias forinterface - Added
givekeyword as alias forimpl - Added
give X the power Ysyntax for interface implementation - Added
craftkeyword for struct construction - Added
hascontextual parsing inside struct/thing bodies (not a reserved keyword) - Interface satisfaction checking (Go-style structural typing)
v0.3.2
Landing page and book
- Added mdBook-based language specification
- Created project landing page
- Documentation improvements across all modules
v0.3.1
Bug fixes and stabilization
- Fixed production gaps identified by architecture audit
- Comprehensive integration test suite (179 tests)
- Stability improvements for interpreter, VM, and JIT tiers
v0.3.0
Standard library expansion
- Expanded stdlib to 16 modules with 230+ functions
- Added
timemodule (25 functions: now, unix, parse, format, diff, add, sub, zone, etc.) - Added
npcmodule (16 fake data generators) - Added
csvmodule (parse, stringify, read, write with auto type inference) - Added
termmodule (25+ functions: colors, table, sparkline, bar, banner, box, gradient, menu, etc.) - Added
execmodule (run_command with stdout/stderr/status) - Expanded
httpmodule with download and crawl - Expanded
fsmodule to 20 functions - Native
Option<T>values (Some,None,is_some,is_none) - Tokio
spawnwith language-level task handles - Language-level channels (
channel,send,receive,try_send,try_receive) - GenZ debug kit (
sus,bruh,bet,no_cap,ick) - Execution helpers (
cook,yolo,ghost,slay) - 30 interactive tutorials via
forge learn - Shell integration (
sh,shell,sh_lines,sh_json,sh_ok,pipe_to) - Dual syntax (natural language keywords alongside classic syntax)
- Innovation keywords:
when,must,safe,check,retry,timeout,schedule,watch,ask,download,crawl,repeat,wait,grab,emit,hold - Pipe operator (
|>) and query-style pipe chains wherefilter syntaxfreezefor immutable values- Decorator system (
@server,@get,@post,@put,@delete,@ws) - HTTP server powered by axum + tokio
- WebSocket support
- PostgreSQL support via
pgmodule - Compound assignment operators (
+=,-=,*=,/=) - Spread operator (
...) in arrays and objects - String interpolation (
"hello, {name}") - Raw strings (
"""no interpolation""") - Destructuring (
let {a, b} = obj/unpack {a, b} from obj) - Default parameter values
- 12 example programs
- 13 CLI commands (run, repl, version, fmt, test, new, build, install, lsp, learn, chat, help, -e)
v0.2.0
VM and JIT tiers
- Register-based bytecode VM (
--vmflag) - 32-bit instruction encoding (ABC, ABx, AsBx formats)
- Mark-sweep garbage collector for VM heap
- Green thread scheduler in VM
- Cranelift JIT compiler (
--jitflag) - JIT achieves ~11x faster than Python on
fib(30) - Bytecode compiler from AST to VM instructions
- VM supports core language features (variables, functions, closures, control flow, arrays, objects)
- JIT supports integer/float arithmetic, function calls, recursion, basic control flow
v0.1.0
Initial release
- Tree-walking interpreter in Rust
- Core language: variables, functions, closures, if/else, for, while, match
- Basic type system: Int, Float, Bool, String, Array, Object, Null
- Result type (
Ok,Err) with?operator math,fs,io,crypto,db,env,json,regex,logmodules- Built-in HTTP client via
reqwest - SQLite database access via
rusqlite - REPL mode
- Formatter (
forge fmt) - Test runner (
forge test) - Project scaffolding (
forge new)