Skip to content

Releases: jordanhubbard/nanolang

v3.1.9

02 Mar 05:47

Choose a tag to compare

NanoLang v3.1.9

Statistics

  • Commits since v3.1.8: 1
  • Test Status: NSType checking failed

Changes

  • docs: update origin story closing to reference all four projects

Links


Full Changelog: v3.1.8...v3.1.9

v3.1.8

02 Mar 00:37

Choose a tag to compare

NanoLang v3.1.8

Statistics

  • Commits since v3.1.7: 1
  • Test Status: NSType checking failed

Changes

  • docs: add origin story with provenance preamble and cross-references

Links


Full Changelog: v3.1.7...v3.1.8

v3.1.7

02 Mar 00:00

Choose a tag to compare

What's Changed

Added

  • Forth SEE word with NanoISA decompilationSEE <word> now decompiles any built-in Forth word down to the NanoISA bytecode that implements it inside the interpreter. New modules/forth_see/ module provides a self-contained NVM file reader and block-level disassembler. Built-in words show an annotated NanoISA listing; user-defined words show their Forth body; control words (if, do, loop) note they are handled in exec_tokens.
  • SDL Forth IDE (make -C examples forth-ide) — split-pane SDL window with an interactive Forth REPL on the right (full PTY-backed terminal emulator via libtmt) and a file chooser on the left that loads .fs files directly into the REPL. New modules/pty/ and modules/sdl_term/ modules are reusable components.
  • ANS Forth test suite (280 tests) — make -C examples test-forth runs a comprehensive FIG Forth 83 / ANS subset test suite using the standard T{ ... -> ... }T harness. Test files live in examples/language/forth/.
  • Interactive REPL (make -C examples run-forth) — readline-based Forth REPL with history.
  • Implicit function return values — functions can return the value of their final expression without an explicit return statement.

Fixed

  • SDL Forth IDE file path handling for include commands
  • +loop negative step termination condition
  • Floored division and symmetric remainder semantics in Forth arithmetic

v3.1.6

25 Feb 08:13

Choose a tag to compare

What's Changed

Fixed

  • Eliminate const-qualifier warnings across build pipeline

The self-hosted transpiler mapped NanoLang's string type to C's char* while the C reference transpiler used const char*. This mismatch caused hundreds of -Wdiscarded-qualifiers warnings. Fixed by making all string type mappings consistently use const char* across both compilers, the bootstrap hashmap runtime, and module forward declarations.

Also fixes unused variables, removes unused function parameters in self-hosted compiler code, suppresses shadow test warnings in nanovirt test harness, and fixes the check_shadow_tests.sh regex.


Full Changelog: v3.1.5...v3.1.6

v3.1.5

24 Feb 05:39

Choose a tag to compare

🎉 NanoLang v3.1.5

📊 Statistics

  • Commits since v3.1.4: 1
  • Test Status: 🎉 All tests passed!

📝 Changes

  • feat(editor): add inline source editor with text input and syntax highlighting

🔗 Links


Full Changelog: v3.1.4...v3.1.5

v3.1.4

24 Feb 05:31

Choose a tag to compare

🎉 NanoLang v3.1.4

📊 Statistics

  • Commits since v3.1.3: 1
  • Test Status: 🎉 All tests passed!

📝 Changes

  • feat(launcher): add default args support for examples

🔗 Links


Full Changelog: v3.1.3...v3.1.4

v3.1.3

24 Feb 03:58

Choose a tag to compare

🎉 NanoLang v3.1.3

📊 Statistics

  • Commits since v3.1.2: 2
  • Test Status: 🎉 All tests passed!

📝 Changes

  • fix(launcher): run from repo root so icons and source code resolve
  • docs: Update CHANGELOG for v3.1.2 release

🔗 Links


Full Changelog: v3.1.2...v3.1.3

v3.1.2

23 Feb 21:34

Choose a tag to compare

🎉 NanoLang v3.1.2

📊 Statistics

  • Commits since v3.1.1: 2
  • Test Status: 🎉 All tests passed!

📝 Changes

  • refactor: gate verbose/debug output behind --verbose flag
  • docs: Update CHANGELOG for v3.1.1 release

🔗 Links


Full Changelog: v3.1.1...v3.1.2

v3.1.1

23 Feb 01:14

Choose a tag to compare

🎉 NanoLang v3.1.1

📊 Statistics

  • Commits since v3.1.0: 15
  • Test Status: 🎉 All tests passed!

📝 Changes

  • chore: sync beads and add cursor gitignore
  • refactor: rewrite SDL launcher with modular architecture
  • chore: commit pending work from previous sessions
  • fix: resolve conflicting types and missing nl_get_time_ms in stdlib
  • docs: add planning/CHANGELOG.md for release script
  • chore: ignore .beads/ephemeral.sqlite3 runtime data
  • fix: eliminate all -Wdiscarded-qualifiers warnings from clean build and bootstrap
  • fix: resolve remaining TODOs in self-hosted compiler
  • chore: bd sync
  • fix: implement outstanding TODOs across compiler and examples
  • feat: infer anonymous struct literal names from function parameter types
  • refactor: replace str_concat with + operator in stdlib/timing.nano, update stale TODOs
  • tests: complete shadow test audit, add ~167 missing shadows across all files
  • fix: reject pure expression statements, validate function arg types in self-hosted typechecker
  • tests: add headers to 89 test files, delete 10 redundant, consolidate generic_union

🔗 Links


Full Changelog: v3.1.0...v3.1.1

v3.1.0 — Documentation Overhaul

20 Feb 22:30

Choose a tag to compare

I Found My Voice

This release is about documentation, not code. I now speak in the first person — as the language I am, not as a project described by others.

What Changed

Persona & Voice

  • I defined my personality in docs/PERSONA.md — direct, precise, unhurried
  • All 55 user-facing docs rewritten in my voice
  • AGENTS.md updated so all future contributors write as me

Comprehensive Machine Reference

  • MEMORY.md rewritten as a complete machine distillation of my codebase
  • Any LLM can now come up to speed on every feature I have

Major Cleanup

  • Deleted 127 completed internal and planning docs
  • Consolidated all remaining work items into docs/CONSOLIDATED_TODOS.md
  • planning/ directory reduced from 125 to 43 active documents
  • planning/README.md rewritten as a categorized index

Also Included

  • fix(compiler): Fixed stage1 infinite loop on from...import statements
  • feat(examples): Added test runner driver with timeout and output verification
  • refactor(examples): Standardized metadata headers across all 169 example files

Stats

  • 12 commits since v3.0.2
  • 127 files deleted, 55 files rewritten, 1 new consolidated TODO file