Releases - issinoho/veetee GitHub Wiki

Releases

Releases are published on the GitHub releases page.

Versions

Up to 1.0 the minor version followed the newest milestone reached: 0.3.0 is milestone M3 (VT420), 0.4.0 is M4 (VT510/VT520/VT525), 0.6.0 is M6 (keyboard and DEC applications, with the first M7 fonts and the first Windows build), 0.7.0 is M7 (Set-Up, sound, smooth scroll and the CRT look), 0.7.1 completes M7 (VT500 menu Set-Up, Display Controls and the remaining fonts), 0.8.0 is the first release of M8 (saved connections, logs, history search, copy and paste translation), 0.8.1 completes M8's planned work (screen readers, faster output, Flatpak), 0.8.2 fixes local shells and SSH in the Flatpak, 0.8.9 brings LAT, which completes all of M5 but the proving of RFC 2217, 0.8.10 says what to do when LAT cannot open a socket, and 0.8.11 proves RFC 2217 against ser2net, closing M5 and with it every milestone. Patch releases (0.6.1, …) fixed bugs between milestones.

1.0.0 (17 September 2026) is the finished project. From 1.0 the version follows Semantic Versioning: a breaking change to the crates' public API or to saved settings takes the major, new terminal behaviour takes the minor, fixes take the patch. Changes are listed in CHANGELOG.md.

1.1.0 (18 September 2026) is the first release after it: a LAT session survives a wire that loses frames, and a window with two sessions can get back to one. The first was a real fault found because it was looked for -- LAT sessions were suspected of failing over long periods and they were, silently, whenever a frame was dropped; see Troubleshooting for what it looked like and how to watch for it. The minor rather than the patch, because Close Session and the unsplitting are new behaviour.

1.1.2 (18 September 2026) is the one to take if you use LAT: 1.1.0 and 1.1.1 should both be avoided, and 1.1.1 kills a session within minutes of any login. veetee took a new sequence number for every message it sent, acknowledgements included, while a host acknowledges only the messages carrying slots — so the gap grew by one every keepalive until it passed MYI64's queue limit of 24, after which the host stopped accepting anything: typing unechoed, SET TERM/INQUIRE reporting an unknown terminal type, the screen frozen on a healthy circuit. Confirmed fixed against the same node over half an hour of MONITOR SYSTEM. See Troubleshooting for the whole sequence of faults, which took four releases to work through.

1.1.1 (18 September 2026) undoes the harm 1.1.0 did to LAT and should be taken in preference to it. 1.1.0 read every one of the host's acknowledgements as a lost message and granted credit to make up for traffic that had never existed, which took veetee past its own allowance and got the circuit dropped — and nothing then noticed the circuit had gone, so the terminal froze with the keys still clicking rather than saying it had been disconnected. All three were found from a trace of a real session, the tracing added in 1.1.0 being the part of it that worked.

1.9.1 (10 October 2026) is the current release: fixes for Windows. SSH ran the OpenSSH client on a Windows pseudo console, which re-draws what passes through it: SET TERMINAL/WIDTH=132 never reached the screen, MONITOR SYSTEM showed letters where DEC line drawing belongs, and keypad keys such as ENTER arrived at the host as a carriage return. The session now runs over pipes. The numeric keypad stays the keypad whatever the Num Lock state, so EDT's GOLD 4 works first time, and keypad Enter is ENTER. See Windows.

1.9.0 (27 September 2026): the stored-only Set-Up settings act. The zero style draws an oval, slashed or dotted zero; the transmit rate limit paces what veetee sends; modem control watches a serial line's DSR and carrier; overscan, host wake-up and the energy saver do what the VT500 series does. Two defaults change to DEC's: a VT500 model's zero is oval, and host wake-up is on. See Set-Up.

1.8.0 (27 September 2026): four sessions. A VT520 or VT525 window holds four sessions, each on a connection of its own — New Session asks where — with two on the screen at once, Ctrl+F4 for one window or two, Alt+1 to Alt+4 to go to one, and session icons that blink when one out of sight has news; accepted on OpenVMS. A serial line shows a character received with a parity or framing error as the error character, and a keymap saved before a function existed now gains it.

1.7.0 (26 September 2026): manual pages and --version. man veetee and man vt-headless come with the .deb, the .rpm, the PPA package and the tarball, both programs print their version with -v (--version), and the About box names its author and gives the licence as MIT or Apache-2.0.

1.6.0 (26 September 2026): Set-Up drives the line and the printer. Communications Set-Up sets a serial line's speed, data format and flow control, as on the terminal: --serial opens with the saved Set-Up, leaving Set-Up changes the line at once, and a host can change it with DECSCS, DECSPP and DECSFC at VT500 level. It was proved on a USB serial adapter to an OpenVMS terminal port, autobaud included, and against ser2net for a terminal server. Printer Set-Up gains print mode, print extent and print terminator; Ctrl+F2 turns auto print on and off; and on the VT420 F2 now prints the full page, its factory Print Extent. See Connections and Printing.

1.5.0 (25 September 2026): printing. veetee has the printer port a DEC terminal has — what the host prints on the terminal's printer, and the screen from the Print Screen key, go to a PDF or a real printer; see Printing. Until now, what a host printed in printer controller mode was painted over the screen instead. XOFF from the host now also stops what veetee sends, so with SET TERMINAL/HOSTSYNC on OpenVMS a long paste arrives whole.

1.4.0 (25 September 2026) is the one to take if you use LAT. In 1.3.0 a LAT session froze for good the moment one frame to the host went missing — within minutes over Wi-Fi — and a message from the host that went missing left a hole in the text on the screen. veetee now sends again what the host has not acknowledged, takes the host's messages in order, and packs its data five slots to a LAT message. Kermit gains long packets, up to 9 KB where the other Kermit offers them. Together, a 20 MB transfer to OpenVMS over LAT, which 1.3.0 could not finish, took 31 minutes on the cable and 16 over Wi-Fi. All of it was found and confirmed with VEETEE_LAT_TRACE against a real OpenVMS system.

1.3.0 (24 September 2026): Kermit file transfer, with Send File… and Receive File… in the window and vt-headless kermit on the command line, over whatever connection a session has — see File Transfer. It is tested against C-Kermit on OpenVMS over Telnet and LAT, and against C-Kermit and G-Kermit on Linux. It also fixes LAT for anyone who pastes: a paste over 255 characters ended the session, because veetee filled a LAT slot to 255 bytes and OpenVMS, which never sends more than 254, dropped the circuit. That was found through Kermit, the first time a transfer over LAT had to recover.

1.2.0 (24 September 2026): a saved connection can be made the default, which veetee opens when it is started without being told where to connect — from the application launcher, say — instead of your login shell. It is the star beside a connection in Connections…, or a switch in the connection editor; see Connections. It is a minor release because it is new behaviour, and it carries the LAT fixes of 1.1.2.

Where veetee is published

Channel Covers
GitHub releases .deb, .rpm, tarball, Flatpak bundle and the Windows zip
ppa:issinoho/veetee Ubuntu 26.04 (resolute) only; see Getting Started
winget Issinoho.veetee, a portable package — 1.9.1 in review as winget-pkgs#453859; not yet installable

1.9.0 merged as issinoho.veetee (winget-pkgs#436670) but never reached the published index: Issinoho.Loadbearer was already there under a capital I, and winget identifiers are case-insensitive. From 1.9.1 the package is Issinoho.veetee; see packaging/winget/README.md.

The PPA covers 26.04 alone because the gtk-rs crates need Rust 1.92 and 24.04's archive stops at 1.91. The packaging and the reasoning are in packaging/ubuntu in the repository.

Downloads

File Contents
veetee_VERSION-1_amd64.deb Debian/Ubuntu package: /usr/bin/veetee, /usr/bin/vt-headless, desktop entry, documentation
veetee-VERSION-1.x86_64.rpm RPM for Fedora, RHEL and openSUSE, the same contents; dependencies by soname, from 0.8.12
veetee-VERSION-x86_64-linux.tar.gz bin/veetee, bin/vt-headless, desktop entry, licences, README, CHANGELOG
veetee-VERSION-x86_64.flatpak Flatpak bundle for any distribution (GNOME 50 runtime), from 0.8.1
veetee-VERSION-x86_64-windows.zip bin\veetee.exe, bin\vt-headless.exe, the GTK 4 and libadwaita runtime, licences, README
SHA256SUMS Checksums of the files above
sha256sum -c SHA256SUMS --ignore-missing
sudo apt install ./veetee_1.9.1-1_amd64.deb

The Linux binaries are built on Ubuntu 24.04 and need GTK 4.14+ and libadwaita 1.5+ at run time. The Debian package, the RPM and the tarball include the application icon and AppStream metadata. The Windows zip is built with MSYS2 (UCRT64) and runs on Windows 10 1809 or later; see Windows.

Making a release

  1. Update version in the workspace Cargo.toml and the workspace dependency versions.

  2. Move the Unreleased notes in CHANGELOG.md under a heading for the new version.

  3. Commit, then tag and push: git tag -a v1.9.1 -m "veetee 1.9.1" && git push origin v1.9.1.

  4. The Release workflow runs three jobs:

    • linux checks that the tag matches the crate version, runs the tests and builds the tarball, .deb and .rpm with cargo xtask dist;
    • windows builds with MSYS2 and bundles the zip with packaging/windows/bundle.sh;
    • flatpak builds the Flatpak bundle from packaging/flatpak in the GNOME 50 container;
    • publish, once all succeed, writes SHA256SUMS and publishes the GitHub release with the changelog section as its notes.
  5. On a Windows computer signed in to Certum SimplySign, sign the published Windows build: pwsh -File packaging\windows\sign-release.ps1 -Version VERSION. It signs veetee.exe and vt-headless.exe, rebuilds the zip with identical contents and replaces it and SHA256SUMS on the release; see packaging/windows/SIGNING.md.

  6. After signing, and not before, point the winget manifests at the release: cargo xtask winget VERSION. Signing replaces both the zip and SHA256SUMS, so manifests generated first pin a file that is no longer there -- which is exactly what happened to 1.0.0, and would have failed the validation bot's hash check had it been submitted.

After changing dependencies, regenerate the Flatpak's offline crate list with flatpak-cargo-generator.py Cargo.lock -o packaging/flatpak/cargo-sources.json (from flatpak-builder-tools); the CI Flatpak job fails if it is out of date.

cargo xtask dist builds the Linux files locally under target/dist/ (the .deb needs cargo install cargo-deb and the .rpm needs cargo install cargo-generate-rpm; --no-deb and --no-rpm skip them); packaging/windows/bundle.sh does the same for Windows in an MSYS2 shell. CI builds all three on every push, so packaging does not break unnoticed between releases.