Release notes
Tiza v0.2.0
Draw on top of code in your terminal to explain, debug and teach.
This release adds enter effects, the scroll move and a better presentation mode. It also adds defaults and personal styles in the config file, and many images to the docs. A document of v0.1.2 opens in v0.2.0. See Before you update for one exception.

Report a bug that you can reproduce with the bug report form. Put feedback, ideas and terminal reports in Discussions.
What is new
- Enter effects (experimental). An annotation can come in with an effect.
drawdraws the stroke of a box, a callout, an arrow, an underline, brackets or a strike, then its text comes in.fadefades the annotation in. On a spotlight,fadefades the dim in and out. Set"effect": "draw"or"effect": "fade"in the document, or addeffect=drawat the end of an annotation command. The GIF, WebP, MP4 and WebM exports show the effects. See Enter effects. - The
scrollmove. A step can move the view to a line, a text or an annotation, before its annotations come in. Thus an effect never plays out of the view. A step with only ascrollmove is a camera step.:scrolladds one at the step on screen. See Scroll. - Presentation mode.
- The step counter has its own row, so it never covers the code.
- When you go to a step, its new annotations come into the view.
- With the live pointer off,
j,k,J,K,gandGmove the view, as in a web browser. Tabgoes through the annotations that the view shows, and the view does not move.- Each frame goes to the terminal in one update. In a terminal that supports it, a big move of the view never shows half of the old frame.
- Defaults and personal styles.
[defaults]in the config file sets the values that each session starts with, for examplenumbers,mouse,layoutand thewidthoftiza render.[styles]holds your own mark styles for all your documents.tiza configshows the file, each value and its source. See Config file. - Follow mode pauses only at a step that applies a
code.patch. The status bar shows⟳ paused, and one message tells you the step that loads the change. - Files from a newer version open. Tiza skips a move or an effect that this version does not know, and
tiza checknames each one. - The docs show more. Real exports show the moves, the enter effects, the spotlights, the kinds and the colors. Images of the TUI show presentation mode, the live pointer, the panels, the status bar and a
scrollmove. - Exports use less memory. A GIF of 22 frames of a 300-line document uses 163 MB of memory, not 2.2 GB, and less than half of the time.
Changes and fixes
- A spotlight with lines also dims the annotations that do not touch its lines. The annotations in
ids, and the annotations on the lines of the live pointer, keep their colors. - A label of a highlight or a mark that goes under its line starts under its span. When the code column has room, the label of an arrow goes beside the code of the line that the arrow goes to.
bracketson a span of one column with no space on either side draws⊔. Before, it looked the same asunderline.- In a terminal that draws
⚠,↪,⏸or▶two cells wide, the status bar fits its row. Tiza shows!,>or||in their place outside the code. - Without a width,
tiza renderof the live instance,:exportandexport_imagedraw at the width of the code area of the screen. tiza checkgives the warningclipped_codewhen a code line is cut at the width of the check, sotiza check --strictfails.get_codenames the characters that the screen does not show as they are, for example a zero-width space, with their column.- A position or a move with a key that Tiza does not know is an error over the socket and MCP. The message names the key that is near, for example
Did you mean `col`?.
The CHANGELOG has the full list.
Install
On macOS, and on Linux x86_64 with glibc 2.35 or later, run this command:
curl -fsSL https://raw.githubusercontent.com/luiscarlosjayk/tiza/main/install.sh | sh
The script checks the SHA-256 checksum of the download. Then it puts tiza in ~/.local/bin. To update from an earlier version, run the same command.
To install an archive yourself, use the file for your system:
| System | File |
|---|---|
| macOS, Apple Silicon | tiza-v0.2.0-aarch64-apple-darwin.tar.gz |
| macOS, Intel | tiza-v0.2.0-x86_64-apple-darwin.tar.gz |
| Linux x86_64 (glibc 2.35 or later: Ubuntu 22.04, Debian 12, Fedora 36 or later) | tiza-v0.2.0-x86_64-unknown-linux-gnu.tar.gz |
- Download the file for your system and its
.sha256file. - Check the file:
shasum -a 256 -c tiza-v0.2.0-<target>.tar.gz.sha256. On Linux, you can usesha256sum -c. - Extract the file:
tar -xzf tiza-v0.2.0-<target>.tar.gz - Make a folder in your PATH if you do not have one:
mkdir -p ~/.local/bin - Copy
tizato that folder:cp tiza-v0.2.0-<target>/tiza ~/.local/bin/
macOS: The binaries do not have an Apple Developer ID signature. If you download the file with a web browser, macOS stops Tiza the first time and shows "tiza" Not Opened. To fix this, run this command one time: xattr -d com.apple.quarantine ~/.local/bin/tiza. A download with curl or with the install script does not have this problem.
From source (Rust 1.88 or later): run cargo install tiza. The tiza binary contains libwebp, a C library, so cargo install also needs a C compiler. On macOS, install the Xcode Command Line Tools. On Debian and Ubuntu, install the build-essential package.
Tiza does not support Windows in version 0.x.
Before you update
- A document that has a
scrollmove does not open in Tiza 0.1.2 or older. - A
findof aselector arebindis now an error when its text starts or ends inside a character (a grapheme). Then the document does not open, andtiza checknames the move. Before, Tiza made a guess. - Tiza 0.1.2 and older open a document with an enter effect, but they show no effect and remove it when they save.
Known limits
- Enter effects are an experiment. They can change or go away in a later version.
- We tested Tiza on macOS in the Zed terminal and in Herdr. Other terminals with 24-bit color and box-drawing characters should work. We did not test tmux and other terminals (Terminal support).
- Use
findto target a code change in a step, not a line number. If you edit the file while Tiza is closed, a change by line number applies to the lines that are at that number now.
More information
To get a notice of new versions, watch the repository on GitHub (Watch → Custom → Releases).
Docs · README · Agent setup · CHANGELOG