Docs for the latest release, v0.2.0.
Tiza GitHub

Release notes

Tiza v0.1.2

Draw on top of code in your terminal to explain, debug and teach.

This release fixes the bugs that we found after v0.1.1. Most of them are in the TUI, in the exports and in the messages. It has few new features. It changes how Tab, :set text= on a callout and tiza render work. A document of v0.1.1 opens in v0.1.2 with no change.

Tiza explains Rust ownership step by step

Report a bug that you can reproduce with the bug report form. Put feedback, ideas and terminal reports in Discussions.

What is new

  • Tab selects only what the screen draws. The cursor goes to the line where Tiza draws each annotation. To select an annotation of another file or a spotlight of an earlier step, press L, go to its row and press Enter. Before, Tab also selected them. The cursor went to their line number in the file on the screen.
  • :set ID text=… changes the paragraph of a callout. label= and title= change its title. Before, text= changed the title of a callout. On a note, text= still changes its text.
  • tiza render FILE:A-B draws the document of that range. When FILE.A-B.tiza exists, the export shows its annotations, as tiza FILE:A-B does. Tiza tells you so on stderr. Before, the export showed only the lines.
  • tiza render FILE with no --step exports the last step. If the last step has a spotlight, the export shows it. Before, the export showed all the annotations of the document, with no spotlight.
  • The status reply has save_error. tiza api status and the MCP tool status tell why the last save of the document failed. The value is null when the last save worked. Thus an agent can see that its changes are not saved.
  • The docs site. The navigation has one entry, "Release notes", for the notes of all the releases. The pages of the : commands are in a group. Each page has a link preview with the Tiza card and the title of the page.

Fixes

  • A paste while the help, the annotation list or the review is open changes nothing. A paste in presentation mode also changes nothing. The status bar tells you what to do. Before, the paste replaced the code under the panel.
  • A paste on the command line adds only the first line of the pasted text. Before, the next lines also went into the command.
  • In a terminal narrower than about 80 columns, the footer of the review shows y/n one · a/d all · j/k. Before, a narrow terminal cut d reject all and then a accept all from the footer.
  • When a command or an MCP tool gets no reply from the live instance, the message tells why. The instance did not answer within 75 s, or it closed the connection. Before, the message was no Tiza instance is listening for these cases too.
  • tiza --version of the Linux release archive shows the commit of the release. Before, it showed unknown in place of the commit.
  • --margin-cols also changes a GIF, an animated WebP, an MP4, a WebM and a .cast. Before, only the export of one step used it.
  • A .tape with --skip-zero starts the TUI at step 1. A .tape also passes --theme, --theme-file and --lang to the TUI. It refuses --numbers, --no-numbers and --margin-cols when they change the document, because the TUI takes these from the document. Before, the tape dropped all these flags.
  • tiza render --all-steps refuses an --out with an extension, such as talk.pdf, because --out is a folder. Give a folder, for example steps/. Before, Tiza made a folder of that name for some extensions.
  • With skip_zero, the reply of export_image gives steps from step 1, for example 1-7. On the new empty step after the last one, step_label says step 2/2. Before, they said 0-7 and step 2/1.

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:

SystemFile
macOS, Apple Silicontiza-v0.1.2-aarch64-apple-darwin.tar.gz
macOS, Inteltiza-v0.1.2-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.1.2-x86_64-unknown-linux-gnu.tar.gz
  1. Download the file for your system and its .sha256 file.
  2. Check the file: shasum -a 256 -c tiza-v0.1.2-<target>.tar.gz.sha256. On Linux, you can use sha256sum -c.
  3. Extract the file: tar -xzf tiza-v0.1.2-<target>.tar.gz
  4. Make a folder in your PATH if you do not have one: mkdir -p ~/.local/bin
  5. Copy tiza to that folder: cp tiza-v0.1.2-<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.

Known limits

  • 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 find to 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