Repository navigation
Releases: webanion/termi
Releases · webanion/termi
Release list
v0.1.4
Upgrading on macOS
This release changes Termi's macOS app ID from work.jawad.termi to com.webanion.termi (#82), so macOS treats Termi as a new app the first time you open it:
- If macOS asks again whether Termi may use folders such as Desktop, Documents or Downloads, allow it as before.
- If you had Open at Login on, turn it on again in Settings (⌘,).
Your settings and saved commands stay, because Termi keeps them under its name, not its app ID.
Features
- settings: add the Wrap long lines switch to the settings panel (da262a1, #85)
- terminal: toggle word wrap in the focused terminal with a shortcut (917b553, #85)
- ipc: let the page set the check mark on the Word Wrap menu item (530dc6a, #85)
- settings: add whether a new terminal wraps long lines (71a2f98, #85)
- settings: add the smooth scrolling switch to the settings panel (b769544, #84)
- terminal: scroll smoothly with a mouse wheel, with a setting to turn it off (02c7219, #84)
- settings: add a settings panel, opened with Cmd+, or Ctrl+, (0b456ed, #78)
- ipc: let the page read and set Open at Login on macOS (805cc49, #78)
- settings: add the cursor settings and range check each setting (bac2559, #78)
- mcp: set the view of a saved command (45723db, #77)
- tabs: show a tab's terminals one at a time as tabs (b0b8412, #77)
- settings: save a view on each saved command (9d7492a, #77)
Fixes
- pty: write mouse reports in the X10 encoding to the shell as bytes (e9a8ed6, #83)
- release: start the release jobs only for a branch in this repository (3da2cfa, #80)
Refactoring
Documentation
- terminal: describe word wrap in the README and the guide (eef0201, #85)
- settings: describe smooth scrolling in the README and the guide (65dd8ff, #84)
- settings: describe the settings panel in the README and the guide (a6391dd, #78)
- tabs: describe tab view in the README and the guide (23676b3, #77)
Tests
Other
Contributors
v0.1.3
Features
- renderer: leave text drags to the browser so text still drops into a field (792f0c8, #67)
- e2e: check that a saved command's closed terminal reopens in its place (69c520a, #69)
- guide: explain terminal titles (db20773, #70)
- dialog: call the pane head a header in the title hint (243d8ed, #70)
- guide: explain how to reopen a saved command's closed terminals (4f72ce5, #69)
- guide: explain how to resize split terminals (f036173, #68)
- mcp: keep terminal titles through edits and list them (3542537, #70)
- terminals: reach the resize handles with Tab before the terminals (c3e6262, #68)
- sidebar: show how many of a saved command's terminals are open (4099d6c, #69)
- renderer: let the drop tests' terminals fit, as a real one does (0a5ed09, #67)
- terminals: resize split panes by dragging the line between them (77159be, #68)
- header: add a Reopen menu that lists a saved command's closed terminals (eafe8c0, #69)
- renderer: show a terminal's title in its pane head (d6558ea, #70)
- guide: explain dropping files and folders (29f1bc2, #67)
- sidebar: open a terminal in a folder dropped on the sidebar (5c6ce5d, #67)
- dialog: add a title field to each terminal of a saved command (fbf5c68, #70)
- guide: explain the layout picker in the saved command dialog (dfb34a6, #65)
- guide: explain how to run a saved command from the keyboard (35a3783, #66)
- renderer: search and start saved commands from a panel on Cmd+P (0f34425, #66)
- dialog: pick the layout in the saved command dialog (915fe76, #65)
- shortcuts: add a Reopen Closed Terminals action to the menu, palette and keys (7c47789, #69)
- renderer: type a dropped file's path into the terminal under the pointer (e946dea, #67)
- terminals: add the track math for resizing split panes (544f35f, #68)
- renderer: reopen a saved command's closed terminals in their places (422bed7, #69)
- shared: add an optional title to each terminal of a saved command (150ccd2, #70)
- header: share the layout radio group and select a layout with the arrow keys (ef2f4bc, #65)
- renderer: share the command palette's search field and list (a8db198, #66)
- renderer: drop a saved layout that no longer fits the number of terminals (21ac85a, #65)
- preload: give the page the path of a dropped file (21c284b, #67)
- guide: explain the terminal right-click menu (fa666ef, #64)
- terminals: show a copy and paste menu on right-click (8e346ab, #64)
- guide: explain how to split a tab (b96d41b, #48)
- header: add a split button next to the layout control (627e5e0, #48)
- terminals: split a tab to add a plain shell to it (f318f51, #48)
Fixes
- e2e: ask for SGR mouse reports in the right-click test, as tmux and vim do (88ffa6e, #74)
- guide: say which right-click opens the menu over a program that takes the mouse (1e085d0, #74)
- terminals: leave a right-click to a program that takes the mouse (34db0a4, #74)
- renderer: inset the command palette search field (849eb88, #62)
- sidebar: size the speed column for the widest speed (ac0c08a, #47)
- stats: pick the byte unit after rounding (551d43d, #47)
Refactoring
- import the context menu and its tests through @/ (d840bd1, #72)
- lint: refuse a ../ import that @/ could replace (a5370c2, #72)
- import from other folders of src through @/ (db526df, #72)
- build: resolve @/ to src in the builds, the typecheck and the tests (5a1f662, #72)
Tests
- renderer: give the terminal menu test's fake runtime fit and focus (c011293, #73)
- e2e: drop on the first pane past the resize handles (6c0bef1, #68)
Contributors
v0.1.2
v0.1.1
v0.1.0
Features
- docs: describe the in-app help, its shortcuts and the guideSeen setting (d519088, #31)
- help: add the guide, the shortcut sheet, the command palette and Report an Issue (5bb2ee9, #31)
- menu: name every action in one list, and add a Help menu (f066380, #31)
- add MCP server for saved commands (34592c6)
- add split terminals to saved commands (0c947c0)
- add Termi terminal app (1965bf8)
Fixes
- linux: name the desktop entry after the app id, so the dock shows Termi's icon (42b037a, #33)
- pty: learn the shell's name while it has its terminal, whatever $SHELL started (1a563f3, #30)
- e2e: leave xterm's idle task timing notice out of the page's problems (497ab61, #28)
- dev: download Electron on install, which its package no longer does (d116756, #28)
- e2e: press the Linux shortcut keys through Electron's input, which main sees (1c8c790, #28)
- docs: describe the Linux shortcuts, window controls and AppArmor script (0cecf99, #28)
- renderer: label shortcuts with the keys of the platform (79a8b40, #28)
- shortcuts: take Linux shortcuts before the terminal sees them (6ee38ff, #28)
- shortcuts: keep every shortcut in one table for macOS and Linux (1ff5dc5, #28)
- theme: add the common Linux monospace fonts to the font stacks (e500248, #28)
- header: leave a header double-click to the system outside macOS (fd3acf4, #28)
- window: use the system's window controls on Linux (1c02166, #28)
- dev: add a script that installs an AppArmor profile for the development Electron (1258d3e, #28)
- icons: write the PNGs and skip the icns where iconutil is missing (e5870ab, #28)
- pty: leave out what npm and electron-vite add to the shell environment (a3ce1ba, #28)
- main: compare the base name of the foreground program with the shell (574a605, #13)
Refactoring
- docs: describe the React renderer in AGENTS.md and the README (7359443, #16)
- renderer: render the window with React components (1986dd5, #16)
- renderer: hold the state and the terminals outside the page code (2a740a0, #16)
- renderer: split the stylesheet into sections in its original order (d6cd8ae, #16)
- build: add React to the renderer build and lint (93aeaf8, #16)
- agents: add AGENTS.md for contributors and coding assistants (3e55d0e, #12)
- renderer: take layouts and the terminal limit from shared (3728e45, #12)
- mcp: split the MCP server and use the shared rules (e485515, #12)
- preload: build window.termi from the IPC contract (08899e8, #12)
- main: split the main process by job and check every IPC message (913da6c, #12)
- shared: add the IPC contract, settings schema, saved command rules and layouts (bbf596c, #12)
- rename main process modules and the icon script to camelCase (f01046f)
- renderer: format index.html with Prettier (ac81c4b)
- readme: document the dev, start and check commands (e820674)
- mcp: convert the MCP server to TypeScript and bundle its guide (d56c89e)
- renderer: convert the renderer to TypeScript and bundle xterm (7de9c2f)
- preload: convert the preload bridge to TypeScript (2049520)
- main: convert the main process to TypeScript (15ccb5a)
- build: build with electron-vite and check with TypeScript, ESLint and Prettier (60337b7)
Documentation
- readme: show a four-terminal saved command in the screenshot (10b8f02, #27)
- ci: drop the private repository note from the workflow header (0257e19, #20)
- package: add the repository, homepage, bugs and keywords fields (88697c5, #20)
- repo: add weekly dependabot updates and an editorconfig (eb3213e, #20)
- github: add issue forms, a pull request template and code owners (c279f69, #20)
- conduct: adopt the Contributor Covenant 2.1 (24526d3, #20)
- license: add the MIT license (813d4f5, #20)
- security: add the security policy, with reports through private vulnerability reporting (c95e59e, #20)
- contributing: add the contribution guide and point AGENTS.md at it ([c8ca697](c8...