| Name | Modified | Size | Downloads / Week |
|---|---|---|---|
| Parent folder | |||
| README.md | 2025-11-29 | 3.5 kB | |
| Tranquility source code.tar.gz | 2025-11-29 | 35.3 MB | |
| Tranquility source code.zip | 2025-11-29 | 35.6 MB | |
| Totals: 3 Items | 70.8 MB | 2 | |
Big bag of changes for everyone.
🚀 Release Notes
✨ New Features & Apps
- New Todo App: Added a simple Todo application.
- New
sedApp: Introduced a simplesedcommand-line tool. Includes-xmode for matching and replacing submatches using$0-$9syntax. - Editor Debugging:
- Added Service RPC actions to the Editor. The Debug app can now request file loading and display the current breakpoint.
- Added rudimentary auto-debug breakpoint helpers: Launch debug, toggle breakpoint, remove, enable all, disable all, and remove all. Note: This only removes auto-named breakpoints, preserving user-named ones.
- Files Widget: Introduced a new Files widget.
- Includes Tool: New
includescommand for auto-creation of.vpfile header includes to save time and improve checking. - Memory Streams: New
class/mstream/class.incVP class for in-memory stream buffers (a seekable list of string objects). Lisp binding:(memory-stream) -> stream.
🛠 UI & Widget Improvements
- Stack Widget: Now uses the Radiobar widget for tab navigation.
- UI Macros: Added the ability to erase a property from a widget using the
:erasevalue. - Images App: Upgraded to include file selection capabilities.
⚡ Core, VM & Performance
- Native VP Implementations:
- Lowered
hex-encodeandhex-decodeto VP functions (replacing all uses ofid-encodeandid-decode). - Lowered
(split str [cls])to VP code, serving as the basis for improved file scanning. - Moved
vp-min,vp-max, andvp-absinto the VP VM proper. Note: ARM64/x64 nativecmovandcseloperations can be used to implement these.
- Lowered
- File Encoding: Smarter string encoding for
.trefiles.
📚 API & Language Changes
- New Builtins & Macros:
- New
(read-blk stream bytes) -> :nil | strand(write-blk stream str) -> bytesbuiltin VP functions. - New
(getf-> obj field|(field offset) ...) -> (val ...)macro (counterpart tosetf->). - Added
(path-to-relative target [current]) -> pathto complementpath-to-absolute. Defaults to(first (repl-info))if current is not provided. - Fleshed out
(set-xxx str idx val)macros to match(get-xxx str idx). - Fleshed out
(read-xxx stream) -> valand(write-xxx stream val) -> streammacros.
- New
- Object & Class Handling:
- Updated
(obj-get ...)and(obj-set ...)to treat sub-structmembers as strings. Updatedgetfandsetfmacros to support this API. - Added
(type-of obj)support to all classes inclass/.
- Updated
- Stream & IO:
(read-char stream [width])update: Now defaults to unsigned byte. Positive widths imply signed values; negative widths imply unsigned.- New generic file line scanner:
(scan-files files handler [split_class comment_char]) -> files.
- CLI Options:
- New
-c codebookoption forhuffandunhuffcommands to select static codebook mode. - New
-s script_nameoption for batch/shell files to ease LLM tests (e.g.,./run_tui.sh -n 1 -f -s script_name).
- New
🐛 Bug Fixes
- Editor: Fixed an off-by-one issue in the Edit buffer left bracket matching.
- Terminal: Fixed an issue causing one extra line to appear in the history buffer.
- Audio Service: Now properly shares and reference counts resource handles.
Enjoy
Chris