Releases
Every version documented. What was added, what was fixed, what was deprecated — no sugarcoating.
Major language expansion. Axon now supports first-class functional programming — named functions, closures, recursion, arrow syntax, and higher-order functions — alongside a full import system with private symbol isolation. HTTP client and environment variable access enable real API integrations. OCR via Tesseract and automatic tool detection at build time round out the release.
func name(params) { } with return, recursion, and nested functionsfunc(p) { } and arrow syntax (p) => exprimport "./file.axon" with circular import guard_ prevents a symbol from being exported on importflow {} blocks with cross-flow property access (FlowName.input)http->get(url, headers) and http->post(url, body, headers) — native HTTP client via raw socketshttp->json(url) — GET and auto-parse JSON responseenv("VAR") — read system environment variables; returns null if not setocr->read(path, lang) — text extraction from images via Tesseract CLIocr->installed() and ocr->languages() — runtime Tesseract introspectionstring[i] character access with negative index support (s[-1] = last char)pdf->parse(path) for text, pdf->parse(path, "i") for imagesFlateDecode + DCTDecode compound streamsfunc bodiesdebug mode of the main programN M obj) to avoid cross-stream contamination from nested /DecodeParms dictsprint()prompt and prompts both accepted in task definitions and in imported agentsFlateDecode streams that decompress to JPEG are now correctly identified and saved as .jpghttp-> — use HTTP endpoints or wait for libcurl integration in v0.5.0*args and **kwargs variadic syntax planned for v0.4.1import "./f.axon" { fn1, fn2 } planned for v0.4.1Consolidation release. The native File I/O system is complete with support for PDF (MuPDF), XLSX, DOCX, CSV and JSON — with automatic type detection by extension. The 5-type memory system is introduced including semantic HNSW memory with native embeddings via Ollama. Multi-flow architecture is complete with imports and flow composition.
file->read() with auto-detection by extension: .pdf .xlsx .docx .csv .jsonsemantic — native HNSW index, memory->index() y memory->search(top_k)import "./flows/x.axon" { Flow } y composición Flow1()->Flow2(Flow1.output)date-> module: now() format() add() diff() before() after()csv->parse() csv->stringify() with custom delimitermemory->sem_persist() and memory->sem_load() — portable semantic index as a single .idx fileimportstring[i] now works correctly with negative indicesparallel {}.match() → .find() to avoid collision with match keyword; both accepted temporarilyoutput = text in tasks — deprecated, silently ignored. Use the task's return value directly.First release with the complete actor model. Introduces agent {}, task {}, the pipeline operator >>, invocation Actor->Task(), and the validation {} block with automatic retries. The C++17 runtime is stable with its actor FSM (IDLE → RUNNING → SUCCESS/FAILED/FLAGGED).
agent {} task {} with FSM lifecycleActor(input) · Actor->Task(input) · input >> A >> B >> Ctask_graph {} with on_success and on_fail per edgevalidation {} with confidence max_retries on_fail = retry/skipcompute = auto/gpu/cpu con gpu_fallback = trueruntime session shared persistent — complete APIparallel {} with thread pool C++17, true multi-core executionshell { cmd } with shell.stdout y shell.exitcodeAgent.TaskName without re-executingfile:line context on all runtime and syntax errorsnull no longer throw — treated as a valid assignable valueFirst public release of the runtime. Functional language core: data types, operators, control flow, f-strings, try/catch, and the main {} entry point. The C++17 runtime compiles and executes basic flows without agents.
string number bool null list dict>>, invocation ->if/else if/else for while match try/catch raisef"text {expr}" with arbitrary expressions inside {}main {} — single entry pointtypeof(val) — runtime type inspection# and block comments /* */Upcoming versions
These are the planned phases. Dates are estimates — we ship when the code is ready and the tests pass.