Repository navigation
Releases
Grid9 2026.1.1
- Added binary multiplication, binary division, and Rule30 examples; they are by far the most complex Grid9 scripts created.
- Improved macOS uninstaller dialogs and failure reporting.
- Hardened uninstall cleanup: validates identities and paths, preserves symlinked data folders, and leaves the macOS installation intact if user-data cleanup fails.
- Strengthened packaging checks and tests.
- Switched CLI errors to Scorched logging.
- Updated TOML dependencies.
Full Changelog: v2026.1.0...v2026.1.1
Grid9 2026.1.0
First Rust Release
Grid9 2026.1.0 is the first Rust release, replacing the original Nim implementation. This release brings compound conditions, updated preprocessing and configuration, redesigned documentation, and installers for more platforms.
The language still revolves around the same 3×3 grid of binary cells, but existing scripts and configuration files should be checked against the migration notes before upgrading.
Main additions and improvements
- Compound conditions:
ifandwhilenow support AND (&) and OR (|). For example,i1=1&2=0checks both comparisons. AND takes precedence over OR. - Updated preprocessing and caching: SHA-256-based cache keys include the preprocessing revision and optimization mode. Validation happens before optimization, and missing closing brackets can be added after confirmation.
- Preprocessing fixes: empty while loops are preserved, and Back arguments with leading zeros—such as
b010—are handled correctly. - Runtime error handling: failures report an error and return exit status
1, including whenno_logis enabled. - Command-line tools: run scripts, convert individual glyphs, open documentation, and clean cached files through the CLI. The interpreter accepts script names with or without
.g9. - Redesigned documentation: updated command references, examples, configuration information, and an interactive grid for exploring glyphs.
- Bundled resources: documentation and examples are included with the executable and initialized in the user’s data folder. Missing bundled files are restored, and shipped resources are refreshed when their contents change.
- Custom data location:
GRID9_DATA_DIRcan override the normal user-data directory.
More supported platforms
| Platform | Architecture | Download |
|---|---|---|
| Windows | x64 | .exe installer |
| Linux — Debian/Ubuntu-compatible | x64 / ARM64 | .deb package |
| macOS | ARM64 | .pkg installer or .dmg |
Use the macOS .pkg for terminal access; the .dmg provides the app-only installation. Linux packages require glibc 2.35 or newer. Windows ARM64 and Intel macOS do not have separate native builds in this release.
Installation and uninstallation
- Windows setup configures the user’s PATH and requests administrator permission. Uninstall removes Grid9’s registered PATH entry while preserving unrelated entries.
- The macOS PKG includes Uninstall Grid9.app and the
grid9-uninstallterminal command. - Linux packages include removal cleanup through
sudo apt remove grid9andsudo apt purge grid9.
macOS and supported Linux removal flows delete the invoking user’s entire Grid9 data folder, including documentation, examples, personal scripts, logs, and preprocessor cache. Move anything you want to keep elsewhere before uninstalling.
Custom GRID9_DATA_DIR locations and other users’ data are left untouched. Linux cleanup is skipped when the invoking user cannot be verified.
Breaking changes and migration notes
Configuration keys now use snake_case:
| Previous key | New key |
|---|---|
showmetadata |
show_metadata |
minGrid9Ver |
min_grid9_ver |
advancedParse |
advanced_preprocess |
dontCache |
dont_cache |
echoGridMod |
echo_grid_mod |
noLog |
no_log |
- Old key names are not migrated automatically. Unknown keys are silently ignored, so leaving an old name in place uses the corresponding default instead.
- Malformed TOML and incorrect value types now stop script loading instead of resetting the entire configuration to defaults.
- The
[experiments]table no longer has any effect. - Keep configuration alongside its script:
script.tomlconfiguresscript.g9. - Review scripts that depend on exact preprocessing or Back offsets. Back counts characters after preprocessing, and optimizations can change those positions.
- Uppercase comments are stripped character by character, not as whole lines. Digits and lowercase letters remain executable.
ggexpects exactly nine binary digits on one input line.
Builds and testing
Every supported target runs formatting checks, Clippy with warnings treated as errors, debug/release tests, and runtime checks before installer generation begins.
Generated packages then undergo installation, reinstall, removal, and resource checks before upload. Both Linux architectures are tested on Ubuntu 22.04 and 24.04.
Cargo builds and the compiled packaging tool are cached to speed up subsequent runs. Release downloads include SHA256SUMS for file verification.
Known limitations
- The installers are not signed/notarized for public distribution, so Windows or macOS may display security prompts. See the installation guide for details.
- The macOS uninstaller may briefly lag when interacting with its confirmation dialog, although removal has been tested successfully.
no_logandverbositydo not consistently control every CLI or preprocessing message.- Readable but corrupted preprocessor-cache entries are not automatically detected; clear them with
grid9 clean preprocessor_cacheif needed.
Documentation and detailed changes
- Language documentation and examples
- Detailed behavior and changes from the Nim implementation
- Configuration migration guide
- Installation, platform support, data paths, and uninstallation
- Full changelog since 2023-003
Full Changelog: 2023-003...v2026.1.0
Idk Its An Update Update 2023-003
Changes and additions:
- Changed where min ver can be equal to current ver without warning about being out of date.
- Fixed false positives where back command being marked as incorrect in advanced parse.
- Added optimization to parser to strip any code after a nu-nested terminate.
- Overhauled the back command to allow going back any number ex: b16.
- Updated the description of the back command in the documentation.
- Updated j query to 3.6.3 from 3.4.1 in the documentation.
- Fixed issues with while loops giving unknown error.
- Added delay command to the documentation.
- Heavily epitomized the text to grid9 output.
- Added converter into the documentation.
- Created delay command to delay actions.
- Better error message for unknown error.
- Created the delay command example.
Other important info:
- This is one of the last feature updates. The final feature update will allow the use of & inside if and while statements which I have put off for a long time. The two main reasons why there will be no more / less feature updates is because I plan on moving on to using more widespread languages like C# and rust this was a great learning experience for me and allowed me to make something that was originally a idea in my head. The second reason is that I don't want to make the language to bloated because I feel lots of the new things i'm adding that are not fixes are just adding needed things to the language that I add only because i'm not sure what else to do with this project.
Working Re Update 2023-002
Changes and additions:
- Fixed major issue with re breaking code from being executed.
- Changed foundchar message in the Grid9Converter.
Other important info:
- This release is small because I have realized recently that Grid9 was seriously broken from the re optimizations and I wanted to post a release that works.
RetroGadget Update 2023-001
Changes and additions:
- The advanced parse now removes more unnecessary commands and combines some commands together to optimize it.
- Grid9 Converter now converts if and while statements correctly for grid9 to retro gadget Grid9.
- Install scripts now also install the Grid9 converter.
- Created a dedicated icon for the Grid9 converter.
- Finished the Retro Gadget Grid9.
Other important info:
- This is first full release of the Retro Gadget.
- This is first release of 2023.
Conversion Update 2022-024
Changes and additions:
- Created min version metadata tag for converter or just showing what version your scripts support. In future versions this will automatically tell you if your grid9 is not supported the the script you are running.
- Created grid9 converter to convert ascii text to grid9 or grid9 to retro gadget grid9.
- Created beta icon which will be used in first few 2023 builds.
- Added min version tag to all non legacy example scripts.
- Improved documentation description of commands.
Other important info:
- Most of the time for this update was on retro gadget implementation which is almost done so that is why the lack of changes.
- Linux build tar now has renamed main to Grid9 binary and also now contains the Grid9Converter binary.
Fluency Update 2022-023
Changes and additions:
- Fixed windows permission issue with logs and parser cache for innosetup.
- Fixed Grammar issues inside the readme and the documentation.
- Added a category for the grid commands in the documentation.
- Inno setup now installs the legacy examples with the examples.
- Fixed invisible text issue in info warnings errors and metadata.
- Added error solution message to Linux build and install script.
- Added experiments category to the toml config system.
- Changed description of components in innosetup.
- Changed code execution completion message.
- Fixed install scripts for apt package manager.
- Created experimental options to toml config.
- Added logthis to other commands in the cli.
- Renamed build scripts to build and install.
- Improved error message for invalid path.
- Added bleachbit cleaner to innosetup.
- Improved unknown error message.
- Improved queue command errors.
- Added 2 new examples.
User Friendliness Update 2022-022
Changes and additions:
- Colorized error message for examples not being found and component not being installed.
- Changed mobile letter spacing for titles on documentation for better readability.
- Browser protocol option only appears if documentation component is selected.
- Fixed memory overflow issue with exit command never finding a place to exit.
- Added grid mask command for masking a saved grid onto your current grid.
- Added grid xor command for flipping the current or a saved grids values.
- Removed some false flags from advanced parse detecting exit command.
- Customized page scroll bar and removed scrollbars in code blocks.
- Switched to md5 hashing algorithm for parser caching.
- Added ARIA support to the documentation sidebar.
- Fixed memory overflow issue with exit command.
- Fixed error output spacing for advanced parsing.
- Fixed grammar mistake in the inno setup file.
- Better mobile detection for documentation.
- Added grid9 protocol handler for browsers.
- Optimized images in the documentation.
- Created invalid operator error message.
- Created grid mask command example.
Other important info:
- This is one of the largest updates yet and it is highly recommended to update because all the bug fixes.
Quality Of Life Update 2022-021
Changes and additions:
- Sidebar in documentation now does not go over docs if screen to small.
- Added colored outputs for errors, warnings, info, and metadata.
- Config options can now only be set with config toml files.
- Added discord integration with documentation embed.
- Fixed dll issue on windows for if Nim is not installed.
- Many visual bugs fixed inside the documentation.
- Added verbosity config to all example's configs.
- Made verbosity config effect log files outputs.
- Better sidebar sizing in the documentation.
- Added verbosity config.
Toml Config Update 2022-020
Changes and additions:
- Added metadata for toml config for versions and author and descriptions for scripts.
- Repair and update components option added to innosetup.
- Added documentation on toml and grid command.
- Added smooth scrolling to the documentation.
- Replaced bad yaml config system with toml.
- Enhanced code block and sidebar visuals.