v0.4.0
2026-07-20
Phase 5–6 · Functional Programming + HTTP + Imports
latest Phase 6

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.

Tests
62 / 62
Windows binary
~52 MB
Linux binary
~46 MB
Provider
Ollama REST
Compiler
C++17 MSVC
New features
Functional programming — func name(params) { } with return, recursion, and nested functions
First-class functions — assign, pass, and return functions as values
Anonymous functions func(p) { } and arrow syntax (p) => expr
Closures — functions capture their definition scope automatically
Higher-order functions — pass functions as arguments, return functions from functions
Import system — import "./file.axon" with circular import guard
Private symbols — prefix _ prevents a symbol from being exported on import
Multi-flow architecture — multiple flow {} blocks with cross-flow property access (FlowName.input)
http->get(url, headers) and http->post(url, body, headers) — native HTTP client via raw sockets
http->json(url) — GET and auto-parse JSON response
env("VAR") — read system environment variables; returns null if not set
ocr->read(path, lang) — text extraction from images via Tesseract CLI
ocr->installed() and ocr->languages() — runtime Tesseract introspection
Automatic Tesseract discovery across 7 known install paths on Windows, Linux and macOS
Optional tool detection at CMake configure time — reports Tesseract and Ollama status
string[i] character access with negative index support (s[-1] = last char)
PDF dual-mode parsing — pdf->parse(path) for text, pdf->parse(path, "i") for images
JPEG dual-filter extraction from PDFs — handles FlateDecode + DCTDecode compound streams
Agents and tasks callable from inside func bodies
Fixes
Import arena size 4 KB → 256 KB — agents with tasks imported from external files now execute correctly
Imported flows no longer override debug mode of the main program
PDF dict detection now uses object boundary (N M obj) to avoid cross-stream contamination from nested /DecodeParms dicts
Auto-print of last expression value removed — output is fully controlled by print()
prompt and prompts both accepted in task definitions and in imported agents
OCR output path uses absolute CWD — fixes file not found when Tesseract install path contains spaces
Image FlateDecode streams that decompress to JPEG are now correctly identified and saved as .jpg
Notes
HTTPS not yet supported in http-> — use HTTP endpoints or wait for libcurl integration in v0.5.0
*args and **kwargs variadic syntax planned for v0.4.1
Selective imports import "./f.axon" { fn1, fn2 } planned for v0.4.1
v0.3.0
2026-07-05
Phase 4B · File I/O + Memory System
superseded Phase 4B

Consolidation 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.

Tests
62 / 62
Windows binary
~48 MB
Linux binary
~43 MB
Provider
Ollama REST
Compiler
C++17 MSVC
New features
file->read() with auto-detection by extension: .pdf .xlsx .docx .csv .json
Semantic memory semantic — native HNSW index, memory->index() y memory->search(top_k)
Full multi-flow: import "./flows/x.axon" { Flow } y composición Flow1()->Flow2(Flow1.output)
Complete date-> module: now() format() add() diff() before() after()
PDF with separate image and text extraction (distinct code paths)
csv->parse() csv->stringify() with custom delimiter
Auto type detection in CSV/XLSX: numbers, booleans, strings — zero configuration
memory->sem_persist() and memory->sem_load() — portable semantic index as a single .idx file
Fixes
Import guards for cycle detection in circular import
String index access string[i] now works correctly with negative indices
Scope bug in variables declared inside parallel {}
Rename .match().find() to avoid collision with match keyword; both accepted temporarily
Deprecations
output = text in tasks — deprecated, silently ignored. Use the task's return value directly.
Windows x64 Linux x64 Superseded by v0.4.0 — upgrade recommended
v0.2.0
2026-05-18
Phase 3 · Agents, Tasks and complete Runtime
superseded Phase 3

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).

Tests
41 / 41
Paradigm
CFO stable
Provider
Ollama REST
Compiler
C++17 MSVC
GPU support
compute = auto
New features
Complete actor model: agent {} task {} with FSM lifecycle
3 execution forms: Actor(input) · Actor->Task(input) · input >> A >> B >> C
task_graph {} with on_success and on_fail per edge
validation {} with confidence max_retries on_fail = retry/skip
compute = auto/gpu/cpu con gpu_fallback = true
Memory runtime session shared persistent — complete API
parallel {} with thread pool C++17, true multi-core execution
Shell interop: shell { cmd } with shell.stdout y shell.exitcode
Cached output access: Agent.TaskName without re-executing
Fixes
Error messages with file:line context on all runtime and syntax errors
Variables assigned to null no longer throw — treated as a valid assignable value
Automatic retry on GPU crash (HTTP 500) with CPU fallback
Windows x64 Linux x64 Superseded by v0.3.0 — upgrade recommended
v0.1.0
2026-03-02
Phase 1-2 · Language core
superseded Phase 1-2

First 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.

Tests
18 / 18
Core features
Types + CF
Agents
Not included
Compiler
C++17 MSVC
Plataform
Windows only
Initial features
Native types: string number bool null list dict
Operators: arithmetic, comparison, logical, pipeline >>, invocation ->
Control flow: if/else if/else for while match try/catch raise
F-strings: f"text {expr}" with arbitrary expressions inside {}
Native string, number and list methods
Entry point main {} — single entry point
typeof(val) — runtime type inspection
Line comments # and block comments /* */
Windows x64 (legacy) For historical reference only — use the lastest version

Upcoming versions

What's coming in the roadmap

These are the planned phases. Dates are estimates — we ship when the code is ready and the tests pass.

Phase 5 (complete) · comming soon
API Providers
OpenAI integration
Anthropic integration
Cohere integration
Same actor syntax, different provider
Phase 4C (complete) · comming soon
Web + HTML
Native web scraping
HTML parsing
file->read(".html")
HTTP requests
Phase 7 · in development
Learning Loop
Native RAG pipeline
LoRA fine-tuning
Learning loop
llama.cpp integration
Phase 8 · visión
Distributed Mesh
Gossip protocol
ChaCha20 encryption
Ultrasonic mesh
Consensus module
Suggest features in the Forum → View issues on GitHub →