Kalgoorlie Retro Docs

Documentation for the Kalgoorlie Retro BBS, its games and servers

User Tools

Site Tools


saltbush:history

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Next revision
Previous revision
saltbush:history [2026-11-09 14:40] – Saltbush Terminal 1.3.1 guides slatermsaltbush:history [2026-11-11 14:59] (current) – Saltbush Terminal 1.9.2 guides slaterm
Line 1: Line 1:
 ====== Saltbush Terminal: version history ====== ====== Saltbush Terminal: version history ======
 +
 +===== 1.9.2 (2026-11-11) =====
 +
 +Fixes from a review of the whole program.
 +
 +==== Security ====
 +  * Scripting on Windows: the script API's password (token) was always the same (all zeros), so any program on the computer could type into your sessions or read the clipboard through it. It is now random, and scripting does not start without a random source.
 +  * BBS Directory and SyncTERM import: a BBS from a list was given the default session's logins, so an RLogin credential, an SSH key, agent forwarding or an expect/send password set there could be sent to someone else's BBS. These are now left out.
 +  * Updates: a download is refused unless it is https (also after redirects) and the release gives its full SHA-256 checksum.
 +  * SFTP downloads on Windows: a server could name a file ''C:something'' and have it written outside the download folder.
 +  * A host could switch to the alternate screen, set the window title or ask for the cursor position past the session's settings by doubling the escape character (''ESC ESC ['').
 +
 +==== Fixed ====
 +  * Crashes and freezes: narrowing the window (or a host switching to 80 columns) through a wide character, then writing in the last column; a host sending ''ESC[65535@''; a non-ASCII colour such as ''#1é234''; uploading a file dated before 1970.
 +  * SSH Agent > Add Key with a wrong passphrase hung the whole program; it now says the passphrase is wrong.
 +  * SSH port forwards: a program that stopped reading from a forward froze the session and every other forward; a program that half-closes its connection (as HTTP clients and ''nc -N'' do) now gets the reply; agent Remove always removes the key you chose.
 +  * Settings: if settings.json or bbs-directory.json could not be read, the next save replaced it with defaults. An unreadable file is now never overwritten, and a damaged BBS directory is kept as a ''.bad-'' copy first.
 +  * Sync: when the same session was made on two computers, the second one lost its own local settings for it (key file, shell, log folder); a failed retry no longer leaves the settings half changed.
 +  * SFTP: uploads to servers without OpenSSH's fsync extension always failed; a read-only file could not be uploaded again; replacing a file on an older server now moves the old one aside instead of deleting it first; folder copies no longer follow links to folders (a link loop filled the disk), and Cancel works between folders.
 +  * Zmodem: files over 4 GiB; a ZFILE resent without its file information; a confused receiver (ZACK, ZNAK) could stall or break an upload; a repeated file header left a stray ''.part'' file.
 +  * Kermit: long file names no longer need packets the receiver did not agree to.
 +  * Telnet: a server could make the subnegotiation buffer grow without limit.
 +  * Terminal: leaving a full-screen program (such as ''less'' or ''vim'') threw a scrolled-back view to the top of the history; VPA moved the cursor right in origin mode with margins; a sixel image could show an earlier picture after a reset; SCO ANSI colours ''38;5;n'' were read as font switches; automatic reconnect never stopped for a server that closes at once.
 +  * Copy Public Key: closing the window during the login left the connection open; a commented-out copy of the key counted as already installed.
 +  * RLogin sends the current window size; on Windows, closing a serial session frees the COM port at once.
 +  * A multi-line paste confirmed after switching tabs went into the wrong tab; closing a split pane could leave the active tab off screen; editing several sessions at once no longer changes their custom ports or clears their button bars; importing a SyncTERM list never overwrites an existing credential's password.
 +  * Scripting: recorded Lua scripts could send the wrong bytes after a control character; relative script paths work; Python ''app.Screen'' keeps its read position; Lua ''write_file'' keeps the file's permissions and writes through links.
 +  * RDP: Shift+Insert and a held Ctrl+Alt+End could leave keys held down on the remote desktop; copied text with Windows line ends got a blank line between lines.
 +  * Log file names are made safe for Windows ('':'' and the other characters it refuses).
 +
 +==== Changed ====
 +  * Sync no longer makes the window wait while the sync folder (perhaps a network drive) is read and written; it runs in the background.
 +  * Small speed-ups in terminal output and drawing.
 +
 +===== 1.9.1 (2026-11-11) =====
 +
 +==== Fixed ====
 +  * BBS Directory: **Save as session** put the BBS at the top of the Session Manager, above the Sessions folder. It now goes in the **Sessions** folder, like a session made with **New Session**. To move a session saved by 1.9.0, right-click it, choose **Properties…** and set the folder to Sessions.
 +
 +===== 1.9.0 (2026-11-11) =====
 +
 +==== Added ====
 +  * The BBS Directory (toolbar button, **Tools → BBS Directory…** or the command palette): download the Synchronet BBS List (Telnet first, from the Kalgoorlie Retro BBS) and the Telnet BBS Guide, call any BBS in a tab with the BBS settings, keep the BBSes you call at the top, add your own, and save any of them as a session. List updates never change a BBS you have called. See [[saltbush:bbs#the_bbs_directory|The BBS Directory]].
 +  * Script requests ''bbsdir.*'' (the same as Lantern Terminal's), see [[saltbush:scripting|scripting]].
 +
 +===== 1.8.2 (2026-11-10) =====
 +
 +==== Added ====
 +  * Copy Public Key to Server: like ''ssh-copy-id'', from the Tools menu, the session's right-click menu or the key generator. See [[saltbush:sftp#copy_public_key_to_server|Copy Public Key to Server]].
 +
 +==== Changed ====
 +  * Clearer window edges: windows inside Saltbush have a darker border and a shadow, the SFTP browser's two sides are each in an outlined box, and each new browser opens offset from the last.
 +
 +===== 1.8.1 (2026-11-10) =====
 +
 +**Tried on real computers:** tear-off tabs and RDP sessions (new in 1.8.0) have been tried on a Linux desktop and on Windows with several monitors, including two RDP sessions at once.
 +
 +==== Fixed ====
 +  * Tear-off tabs on Windows with several monitors: a tab dragged out could open its window off the screen (it looked minimised), and dragging it back often did not dock. Window positions are now worked out in screen pixels, and a new window opens where the tab was dropped.
 +
 +===== 1.8.0 (2026-11-10) =====
 +
 +**Not yet tested on a real computer:** tear-off tabs and RDP sessions are new in 1.8.0. They have only been tested with automated tests and on a virtual X display, not yet on a real Windows or Linux computer.
 +
 +==== Added ====
 +  * Tear-off tabs: drag a tab out to give it its own window, and dock it back with **Dock to Main Window**, by closing the window or by dragging it onto the tab bar (not on Wayland). See [[saltbush:sessions#tear-off_tabs|Tear-off tabs]].
 +  * RDP sessions (Windows Remote Desktop) in a tab, built on IronRDP: TLS with Network Level Authentication, fit-to-tab resizing, keyboard and mouse, text clipboard, certificate check, and optionally the system RDP program. See [[saltbush:sessions#rdp_windows_remote_desktop|RDP]].
 +
 +==== Changed ====
 +  * Terminal-only actions are greyed out or explain that they are not available on RDP tabs.
 +  * The program is about 7 MB larger.
 +
 +===== 1.7.0 (2026-11-10) =====
 +
 +==== Added ====
 +  * Function keys: F1 Help, F2 Session Options, F3 / Shift+F3 Find next / previous, F4 Quick Connect, F5 Reconnect, F6 next split pane, F7 SFTP Browser, F8 send a file, F9 start/stop logging, F11 full screen, F12 Script → Run, Shift+F12 cancel the script, Ctrl+F12 run the last script again. F10 stays with the remote program; Alt+F1 to Alt+F12 send the plain key, and the Input page option **Function keys go to the remote program** gives them all back. Key mappings win.
 +  * Script → Run remembers the last script, its arguments and folder after a restart.
 +  * After an update, Restart Now brings the window back as it was (size, position except on Wayland, maximised, minimised, full screen); size and maximised state are also remembered between normal starts.
 +  * Highlighting and Key Mappings are edited in tables.
 +  * Sync between computers through a shared folder (see [[saltbush:sessions#sync_between_computers|Sync]]).
 +  * SSH: jump hosts and Ed25519 certificates in the built-in engine, about 40 OpenSSH ''-o'' options handled by it, and **Use FIPS-approved algorithms only**.
 +  * Terminal: sixel graphics, double-width and double-height lines, left/right margins, real 132-column mode, selective erase and 8-bit C1 controls.
 +  * macOS support in the source and ''scripts/build-macos.sh'' (not yet tried on a Mac).
 +
 +==== Changed ====
 +  * Menu paths in labels use ">" and the Button Bars dialog has Up and Remove buttons (the interface font has no arrow characters).
 +  * With ServerAliveCountMax, a session whose server stops answering keepalives is closed.
 +  * A host key of a different type than the one in known_hosts gets the normal new-host question instead of the changed-key refusal.
 +
 +===== 1.6.1 (2026-11-10) =====
 +
 +==== Fixed ====
 +  * Scripts ran slowly, especially SyncTERM-Lua bots such as lordbot.lua, and almost stopped while the window was minimised or hidden: every script request waited for the window to draw its next frame. Requests are now answered by a background thread, and waits for text return as soon as text arrives. A full-screen read (as lordbot.lua does after each move) went from about 0.37 s to under 0.02 s on a test display.
 +  * Text in the Activity pane could not be copied while a script was writing to it. The selection now stays as lines arrive, Ctrl+C copies it after you click or drag in the pane, and right-click offers **Copy** and **Copy All**. A **Copy All** button was added.
 +
 +===== 1.6.0 (2026-11-10) =====
 +
 +==== Added ====
 +  * SFTP browser: two panes, this computer on the left and the server on the right. **Upload >>** and **<< Download** copy the selected files and folders across; double-clicking a file copies it to the other side. New Folder, Rename and Delete work on both sides (deleting on this computer asks first and is permanent). Shift+click selects a range.
 +  * Interrupted transfers resume: an unfinished download is kept as ''name.part'' on this computer and an unfinished upload as ''name.part'' on the server. Sending the same file again continues where it stopped, as long as the original has not changed since.
 +  * **Permissions…**: tick read, write and run for owner, group and others on the selected server files and folders.
 +  * Transfers keep the file's modification time. Uploads from Linux keep the file's permissions.
 +
 +==== Changed ====
 +  * The local pane replaces the **Upload Files…** and **Upload Folder…** buttons and the download folder chooser. Downloads go to the folder shown on the left, which starts at the session's download folder. Dropping files on the window still uploads them.
 +
 +===== 1.5.0 (2026-11-10) =====
 +
 +==== Added ====
 +  * Update notifications: once a day Saltbush checks the website and says when a new version is out, with **Update Now**, **Not Now** and **Skip This Version**. Update Now installs the new Debian package (asks for your password) or runs the new Windows installer; other copies open the download page. **Help → Check for Updates…** checks at any time. On by default; turn it off in the update window or **Options → Global Options**. See [[saltbush:installing#updates|Updates]].
 +
 +==== Fixed ====
 +  * Pasting on Wayland desktops (KDE Plasma and others): **Edit → Paste**, the right-click menu, the toolbar button, Shift+Insert, middle-click and script clipboard reads pasted nothing; only Ctrl+Shift+V worked. They now read the Wayland clipboard.
 +
 +===== 1.4.0 (2026-11-09) =====
 +
 +==== Added ====
 +  * SSH: the built-in engine now does X11 forwarding (fake cookie swapped locally; untrusted mode uses an xauth untrusted cookie like ''ssh -X''), agent forwarding (Linux), OpenSSH certificate logins (RSA and ECDSA), Kerberos (GSSAPI) logins with optional credential delegation, and compression. These no longer need the OpenSSH client.
 +  * Tools → SSH Agent: list the agent's keys, add key files (passphrase, lifetime, confirm-on-use), add or remove smartcard/token keys through PKCS#11, remove one or all keys, lock and unlock, and start an agent for Saltbush's sessions (stopped when Saltbush exits).
 +  * SFTP browser: Transfer → SFTP Browser or right-click an SSH session. Browse folders, upload files and folders (or drop them on the window), download, new folder, rename, delete, progress and Cancel. Login questions appear in the window.
 +  * Built-in Xmodem (checksum, CRC, 1K), Ymodem batch and Kermit (long packets, CRC, 8th-bit prefixing, repeat counts) uploads and downloads, on Linux and Windows. Kermit downloads start by themselves. The lrzsz programs are no longer needed.
 +  * Terminal emulation: DEC Special Graphics and G0–G3 character sets, tab stops (HTS, TBC, CHT, CBT), IND/NEL, DECALN, REP, CNL/CPL, HPA/HPR/VPR/HVP, insert and newline modes, auto-wrap control (the "Wrap long terminal lines" option now works), reverse-video screen, alternate screen 1047/1048, DECSTR soft reset, ED 3, cursor shapes set by programs (DECSCUSR), dim, hidden and strikethrough text, VT220 and xterm device-attribute replies and mode reports (DECRQM). IL/DL respect the scroll region.
 +  * New terminal types Wyse 60 and SCO ANSI, with their own keys; VT220 sessions send VT220 function and editing keys.
 +  * Split panes: View → Split Left/Right (Ctrl+Shift+E) and Split Top/Bottom (Ctrl+Shift+O) show several sessions at once. Click a pane to give it the keyboard; drag the divider to resize. A tab chosen in the tab bar shows in the active pane, or its pane becomes active if it is already on screen. View → Close Pane and Single Pane undo the split. Each pane's terminal gets its own size.
 +  * Linux: the Debian package now includes AppStream information, so Saltbush Terminal shows up in Discover and other software centres after it is installed.
 +
 +==== Changed ====
 +  * X/Ymodem use the built-in engines instead of lrzsz; the package no longer recommends lrzsz.
  
 ===== 1.3.1 (2026-11-09) ===== ===== 1.3.1 (2026-11-09) =====
Line 21: Line 149:
   * Scripts could connect to the session's port instead of the application when a session had a port number set (the variable names clashed).   * Scripts could connect to the session's port instead of the application when a session had a port number set (the variable names clashed).
  
-1.3.1 is the first public release. Earlier builds were private test versions.+1.3.1 was the first public release. Earlier builds were private test versions.
  
saltbush/history.1794235237.txt.gz · Last modified: by slaterm