Release Notes
v0.5.1
v0.5.0
Class Support in WAT/WASM
Extended WATCodeGenerator to lower class methods to standalone WAT functions.
Added lowering for constructor-style calls (ClassName(...)) to class __init__ with implicit self.
Added lowering for class attribute calls (Class.method(...)) and simple instance method calls (obj.method(...)) when object type can be inferred from local assignments.
Added targeted regressions for class lowering and call lowering in tests/wat_generator_test.py.
Complete Features: Real WASM Executability Gate
Added tests/complete_features_wasm_execution_test.py to validate all examples/complete_features_*.ml end-to-end:
parse multilingual source
generate WAT
compile WAT to binary WASM
write .wat and .wasm artifacts
instantiate and execute __main in Wasmtime
Added Wasmtime fuel metering in this test to bound runtime for heavy complete-feature programs while preserving executable validation.
Unicode Identifier Reliability
Added deterministic WAT symbol sanitization for generated function/local/parameter identifiers.
Preserved original exported function names while using WAT-safe internal $symbols.
Fixed previously failing WAT→WASM compilation paths for non-ASCII identifiers (for example Arabic identifiers in complete-feature examples).
CI Workflow Updates
Updated .github/workflows/wasm-backends-test.yml to include a primary-job gate that runs complete-feature WAT/WASM artifact + execution validation.
This adds a dedicated regression barrier for executable WASM quality, not just WAT text validity.
Quality and Stability
Full test suite status after integration: 1778 passed, 2 skipped.
Pylint checks on touched files remain clean (10.00/10 in targeted runs).
v0.4.0
WAT/WASM Code Generation
New WATCodeGenerator compiles the multilingual AST directly to WebAssembly Text (WAT).
Browser playground shows the generated WAT and executes it via wabt.js + native WebAssembly.instantiate().
Playground also shows the generated Rust/Wasmtime bridge scaffold for local compilation.
Regression tests validate WAT output across all 17 languages (tests/complete_features_wat_test.py).
WASM Backend
WebAssembly compilation target with performance gains on compute-intensive operations.
Python ↔ WASM bridge for type conversion and memory management.
Smart backend selector for auto-detection and transparent fallback to Python.
25+ pure Python fallback implementations for guaranteed cross-platform compatibility.
20 multilingual WASM corpus projects in 4 languages each.
Documentation suite: WASM architecture overview, installation guides, performance tuning, troubleshooting, and FAQ.
REPL Code-View Commands
:wat (:wasm) — toggle display of generated WAT before execution.
:rust (:wasmtime) — toggle display of generated Rust/Wasmtime bridge code before execution.
--show-wat and --show-rust startup flags for the repl subcommand mirror the interactive toggles.
Extends the existing :python / --show-python pattern uniformly across all three backends.
Python 3.12 Feature Completion
All 17 complete_features_XX.ml example files now cover the full Python 3.12 feature checklist: numeric literals, augmented and bitwise assignments, chained assignment, type annotations, ternary expressions, default/variadic parameters, lambdas, list/dict/generator/nested/filtered comprehensions, try/except/else, exception chaining, multiple handlers, match/case/default, decorators, multiple inheritance, static/class methods, properties, and docstrings.
Keyword-variable name clashes (Spanish y = AND, Danish/Swedish i = IN) resolved in example files.
Quality and Fixes
Fixed broken relative links (../CHANGELOG.md, ../USAGE.md, ../examples/README.md) in docs/reference.md and docs/fr/programmation.md.
CLI multilingual run <file>.ml correctly handles .ml file execution.
New tests: language_completeness_cli_test.py, operators_cli_test.py.
1671 tests passing, 2 skipped (WASM Rust compile requires rustc wasm32 target).
v0.3.0
Complete Features Repository
Created comprehensive examples/complete_features_XX.ml files for all 17 supported languages.
Each file demonstrates full language feature set: imports, functions, closures, classes, control flow, generators, exceptions, comprehensions, and advanced constructs.
Ensures feature parity across all languages—if code works in English, equivalent translated code works identically in all other 16 languages.
Frontend Equivalence
Added an all-language full-pipeline regression test that starts from one core template, renders per-language keywords, transpiles, and executes for every supported language.
Expanded equivalence validation to check deterministic transpiled Python parity across language frontends.
Cross-Language Imports
Added import-hook support for loading .ml modules and packages (__init__.ml) via Python import machinery.
Enabled multilingual imports automatically in executor and REPL runtime paths.
Added integration tests for English/French cross-imports, package imports, and manual enable/disable flow.
Language Coverage
Added five new European language packs: Polish (pl), Dutch (nl), Swedish (sv), Danish (da), and Finnish (fi).
Localized keyword mappings, parser/semantic error messages, REPL help/messages/aliases, operator descriptions, and runtime builtin aliases for the new languages.
Fixed legacy keyword placeholders surfaced by full-pipeline testing (Italian IS, Tamil NOT).
All 17 languages now have complete feature coverage with working examples.
Language Onboarding
Added a contributor-ready onboarding checklist/template for new language packs.
Added a multilingual smoke language-pack validation path and wired it into workflows.
Strengthened CI gates with packaging sanity checks and CLI smoke runs in addition to tests/lint.
Added cross-language import examples under examples/ and updated docs (README.md, USAGE.md, examples/README.md).
Test suite: 85 tests passing with zero regressions.
v0.2.0
Core Language
Added a surface-normalization layer for selected alternate phrasing patterns.
Expanded frontend equivalence coverage, including iterable-first loop variants.
Added support for advanced constructs such as async flows, walrus operator, set literals, and dict unpacking.
REPL and Execution
Improved multilingual REPL usage with language switching and optional generated-Python display.
Strengthened end-to-end parity across language frontends targeting one core execution path.
Documentation and Positioning
Refined README project positioning around "one programming model, many human languages."
Added focused docs for naturalness, CNL scope, stdlib localization boundaries, and translation governance.
Quality and Validation
Expanded regression and equivalence tests across parser, core IR, runtime, and surface normalization.
Updated package metadata and released as 0.2.0.
v0.1.0
Core Language
Expanded supported programming languages to 12: en, fr, es, de, it, pt, hi, ar, bn, ta, zh, ja.
Added full keyword coverage for Italian and Portuguese in the USM keyword registry.
Added parser/semantic error message coverage for Italian and Portuguese.
REPL
Reworked REPL command handling to be data-driven via resources/repl/commands.json.
Added multilingual command aliases and localized help/messages.
Added discovery commands:
:kw [XX] for language keywords
:ops [XX] for operators/symbols
Localized REPL listing messages across supported languages.
Runtime Builtins
Introduced data-driven localized builtin aliases via resources/usm/builtins_aliases.json.
Kept universal builtin names available while adding localized aliases (e.g., French intervalle for range).
Runtime builtin alias loading is now dynamic in RuntimeBuiltins.
Documentation
Simplified and reorganized top-level documentation.
Updated README.md with a clearer multilingual-first introduction and improved REPL guidance.
Added extensive multilingual REPL smoke-test examples in docs/reference.md.
Added docs/language_onboarding.md documenting the data-driven process for adding new languages.
Improved cross-linking between README.md, USAGE.md, and docs/reference.md.
Moved detailed execution/AST examples and full example command list into USAGE.md.
Quality and Validation
Addressed lint issues in touched files and normalized line endings.
Test suite status at latest run: 602 passed, 1 skipped.
Back to top