History
Changelog
Every notable change to the language, the compiler, and the tooling around it — newest first.
2.3.4
Aug 4, 2026
Fixed
Import resolution and LSP fixes
- Fixed — a Package Path Server race that could miss a newly added
.bxfile undersrc/main/borax/until the project was reopened. - Fixed —
borax/packagePathsnow returns files nested more than one folder deep. - Fixed — cached import bytecode under
.borax/tmp/imports/was occasionally reused after a whitespace-only edit changed line numbers in error output.
2.3.0
Jun 12, 2026
Added
Language Server
- Added —
borax lsp -start/-stoplaunches or stops a project-scoped Language Server as a detached background process. - Added — standard LSP framing over a local TCP socket, with
initialize,shutdown,exit, and a Borax-specificborax/packagePathsrequest for editor autocomplete. - Changed — starting a Language Server that's already running, or stopping one that isn't, now reports the existing state instead of erroring.
2.2.1
Apr 3, 2026
Fixed
NBT and validator fixes
- Fixed —
nbt readmis-parsed files written bynbt writewhen the serialized value was very small. - Fixed — the validator's "nested functions" error now points at the inner
functionline instead of the outer one. - Fixed —
input(int(...))no longer accepts non-numeric input silently as zero.
2.2.0
Feb 18, 2026
Added
Binary NBT format and typed input
- Added —
nbt write NAME to "file"andnbt read "file" into NAME, a minimal built-in binary format. - Added —
input(name, "prompt"),input(int(age, "prompt")), andinput(any())for reading user input as a string, integer, or any type. - Added — every error is now written to its own timestamped log file under
%USERPROFILE%\.borax\tmp\logs\, in addition to the console.
2.1.0
Nov 21, 2025
Added
JSON and project packaging
- Added — native Gson-backed
json parse,json get ... into, andjson saystatements. - Added —
borax package, which compiles every.bxfile undersrc/main/borax/<packagename>/and copiessrc/main/resources/on top, ready to be zipped into a.bararchive. - Added — project-local imports:
import pkg.file.bx;and the optional@import pkg.file.bx;, resolved by a new Package Path Server.
2.0.0
Aug 15, 2025
Changed
Direct-to-bytecode compiler
- Changed — the compiler now emits
.classbytecode directly via ASM. The old pipeline that generated intermediate Java source and shelled out tojavacis gone. - Added — the
.bxc("Borax ByteCode") file format: a compiled program serialized in its own binary form, needing nothing but the Borax runtime to run — no jar, no.classfiles. - Removed — the
transpilecommand, which no longer has anything to transpile to.
1.0.0
Mar 2, 2025
Added
First public build
- Added — core language:
say,set ... to value,function/run,whileloops, conditionals, andset ... to be globalscoping. - Added — lists (
list ... are [...], remove, unregister) andmath add|sub|mul|div|mod. - Added — native Java classpath imports and a first Windows installer.