Project
Changelog
Notable user-facing changes to Genzimnify are documented here. Entries are organized by release and follow the Added, Changed, Fixed, and Removed categories where applicable.
Historical releases
Versions 1.0 and 1.1 predate the current release series. The original 1.0 source remains available in the archived repository.
2.0.3 — 2026-09-27
Added
gzim convert <file> --to <py|gzim>with sibling output, custom-opaths, explicit--forcereplacement, and source-file protection.- A limited Python-to-Genzimnify preview using Python's AST parser, lexical builtin mapping, escaped conflicting names, and source-located errors for unsupported syntax. Conversion parses input without executing it and validates generated Genzimnify before writing.
- Conversion integration tests covering native and Python execution, overwrite protection, failure recovery, and CLI validation; Windows CI also runs the conversion suite.
Changed
- The new conversion command reuses Python export and stages output before replacement. Existing
emit-pythonandbuildcommands retain their behavior.
Preview limitations
- Python-to-Genzimnify conversion requires Python 3.8+ and supports a limited syntax subset. Imports, classes, decorators, async, comprehensions, and chained comparisons are not yet supported.
- Conversion normalizes formatting and does not preserve comments. Generated programs follow native Genzimnify semantics; conversion is not a lossless round trip.
See conversion commands and supported syntax and builtin forms for details.
View the 2.0.3 release and downloads →
2.0.2 — 2026-09-27
Changed
- The REPL now preserves session state while executing only newly submitted code, preventing earlier output and side effects from being replayed.
- Package updates are staged before installation and replace an existing dependency only after the new copy has been resolved successfully.
- CLI commands now reject unexpected trailing arguments instead of silently ignoring them.
- The runtime, language server, and Python emitter now use a shared native version constant.
Fixed
- Failed dependency additions now restore the previous project manifest, lockfile, and installed package.
- The Nimble package manifest now uses a valid dependency declaration and correctly maps the
gzimlspsource module to thegzim-lspexecutable. - The Windows installer now uses a unique temporary archive path to avoid conflicts between concurrent installations.
Removed
- Prebuilt Intel Mac (
macOS x86_64) artifacts are no longer published. Version 2.0.1 is the final Intel Mac release; macOS support now targets Apple Silicon.
Quality assurance
- Language-server integration tests now run in continuous integration.
- Windows CI now compiles and starts
gzim-lsp. - Release builds verify that the binary version matches the Git tag before artifacts are published.
View the 2.0.2 release and downloads →
2.0.1 — 2026-09-27
Added
- Introduced explicit Python interoperability through the
py.*namespace, including positional and keyword arguments and JSON-compatible value conversion. - Added project manifests, reproducible lockfiles, Git dependencies, local-path dependencies, and the
add,install,remove, andpackagescommands. - Added package-aware module resolution under
.gzim/packages. - Introduced the Genzimnify language mark and expanded Python-to-Genzimnify syntax comparisons.
Changed
- Reorganized the documentation and README around installation, language usage, tooling, packages, and interoperability.
- Replaced the documentation search modal with an inline search-results interface.
Fixed
- Corrected release version metadata and refined release documentation.
2.0.0 — 2026-09-26
Added
- Introduced the standalone
gzimruntime, implemented in Nim and distributed as a native executable. - Added native values, collections, functions, generators, classes, exceptions, local modules, file operations, and standard-library modules.
- Added
gzim doctorfor runtime and platform diagnostics. - Added optional Python export through
gzim emit-python. - Added automated release archives, checksum generation, shell and PowerShell installers, and a Homebrew formula.
Changed
- Normal program execution moved from Python source generation to direct evaluation by the native runtime.
gzimreplacedgenzimcas the primary user-facing command; the compiler remained available for compatibility and export workflows.- Python was no longer required for ordinary Genzimnify programs.
1.1.0 — 2026-09-25
Added
- Replaced the original browser playground with Genzimnify Studio, including examples, live diagnostics, syntax highlighting, code completion, formatting, import and export, share links, autosave, themes, and a resizable console.
- Introduced the first full documentation portal and reorganized generated API documentation.
- Added regression coverage for invalid assignments, malformed control-flow blocks, parameter validation, argument ordering, multiline strings, and nested scopes.
Fixed
- Improved multiline string emission and nested-function scope validation.
- Improved compile-time diagnostics for invalid assignment targets, malformed
tryandmatchblocks, invalid parameter lists, and duplicate or misordered call arguments. - Made language-server tests portable across development environments.
1.0.0 — 2026-09-22
Added
- Published the initial Genzimnify language implementation in Nim, including the lexer, parser, abstract syntax tree, semantic analyzer, Python emitter, source maps, and command-line interface.
- Introduced the core language: bindings and constants, control flow, functions and generators, collections and comprehensions, classes and inheritance, exceptions, pattern matching, context managers, asynchronous syntax, type annotations, modules, and glow strings.
- Added
run,build,check,repl, andinitworkflows throughgenzimc. - Added a Tree-sitter grammar, syntax-highlighting queries,
gzim-lsp, and a Zed development extension. - Added the original static browser playground, powered by the JavaScript transpiler and Pyodide.
- Added language, compiler, and language-server test suites together with prebuilt development binaries.
Runtime model
- Version 1.0 transpiled
.gzimsource to Python and required Python 3.10 or newer to execute programs.