Releases: StakeSquid/iTermGUI
v1.7.0
What's New
A big visual refresh built around macOS 26's Liquid Glass design language, plus quality-of-life upgrades for SSH password handling and SFTP transfers.
Liquid Glass redesign
Profile detail view
- Custom morphing tab bar — selected pill uses
.glassEffect(.regular.tint(.accentColor).interactive())withglassEffectID+@Namespace, so the indicator slides between tabs instead of jumping. - Avatar-tinted backdrop gradient — each profile gets a unique chromatic identity derived from its avatar color.
- Glass section cards with hairline dividers, plain right-aligned values, and tighter row rhythm modeled on macOS Settings.
- Polished header — back button is a glass circle, action buttons (terminal / pencil / SFTP / Connect) are wrapped in a
GlassEffectContainerwith hover-aware glass capsules and aglassProminentButtonConnect.
SFTP file transfer window
- Full-size content view under a transparent titlebar, with
isMovableByWindowBackgroundenabled. - Dual-tinted backdrop — the top-left gradient picks up the left pane's location color (green for localhost, profile avatar color for a server), the top-right does the same for the right pane.
- Glass
LocationMenupill — tinted circular icon badge, location name, and chevron in a single capsule. - Unified glass path bar — Up / Home / monospaced TextField / Refresh inside one capsule with hover-aware icon buttons.
.ultraThinMaterialpane headers and status bar; transfer arrows morph in aGlassEffectContainerand render as accent-tinted glass capsules when enabled.- Refreshed transfer queue —
TRANSFERSheader with status chips (active / completed / failed / cancelled, each tinted), 10pt-radius row cards with circular status badges and inline progress bars. - Conflict resolution sheet gets a bigger circular warning badge, monospace destination path on its own pill, and a glass-prominent Replace button.
- Drop target overlay is now a dashed accent stroke over a tinted accent fill; loading overlay uses
glassBackgroundwith a hairline border.
SSH password automation
Profiles using password auth now auto-fill their stored Keychain password via an SSH_ASKPASS helper. No more typing the password when iTerm2 launches the session.
SFTP improvements
- Drag-and-drop transfers between the two panes (cross-pane only — within-pane drops are ignored). Conflicts surface the existing batch resolution sheet.
- Cancellation for in-flight transfers — per-row stop buttons and a "Cancel All" action when at least one transfer is active.
- Fix: servers where the remote
$HOMEnever expanded would prompt for the SSH password twice when opening SFTP. Path resolution now expands~correctly on the remote side.
Installation
- Download
iTermGUI-v1.7.0.dmgbelow. - Open the DMG and drag iTermGUI.app to your Applications folder (replace if prompted).
- First launch: right-click the app → Open to bypass Gatekeeper.
Requirements
- macOS 26 (Tahoe) or later — required for Liquid Glass APIs.
Full Changelog: v1.6.1...v1.7.0
v1.6.1 - New App Icon & README Refresh
What's New
A small follow-up to v1.6.0: a new application icon and a much tighter README.
New app icon
Fresh Resources/icon.png and regenerated AppIcon.icns shipped inside the app bundle. The Dock, Finder, and Get Info panel will pick it up automatically — if you have an older copy installed, drag the new iTermGUI.app to /Applications and let macOS replace it; you may need a Finder/Dock relaunch (killall Finder Dock) for caches to flush.
README refresh
- Tightened from 217 → 124 lines.
- Fixed inaccurate keyboard shortcuts (removed
⌘KQuick Connect and⌘FFocus Search — neither are actually wired up; documented the ones that are:⌘N,⌘⇧I,⌘⇧E,⌘↩,⌘,,Esc,Delete). - Removed the "split panes" connection mode claim — the app supports
tabsandwindows. - Added a "Where things live" path table (
~/Documents/iTermGUI/profiles.json, the iTerm2 Dynamic Profiles directory, Keychain). - Documented the menu-bar Quick Connect popover, the embedded terminal's seven themes, server-to-server SFTP transfers, tags, and Smart groups.
- Added a Development section that names the actual injected protocols (
ProfileFileStore,AppleScriptRunner,ProcessRunner,KeychainStore) and points atTests/iTermGUITests/Support/. - Updated the project-layout tree to include
Extensions/,Services/Runners/, and the test directories. - Added latest-release / macOS / license shields.
No code changes
All app behavior is identical to v1.6.0. If you're already running v1.6.0 and don't care about the icon, there's nothing to update.
Installation
- Download
iTermGUI-v1.6.1.zipbelow. - Unzip and drag iTermGUI.app to your Applications folder (replace if prompted).
- First launch: right-click the app → Open to bypass Gatekeeper.
Requires macOS 13+ and iTerm2.
v1.6.0 - UI Redesign, Service Refactor & Test Suite
What's New
A major polish pass across every primary view, plus a full refactor of services for testability and a comprehensive test suite (379 tests across 99 suites).
UI Redesign
- Empty / welcome state — Layered hero with accent-tinted terminal icon, three high-contrast stat tiles (Profiles / Favorites / Recent), prominent "New Profile" CTA, and a uniform row of quick-action tiles (Localhost, Import, SFTP, Settings).
- Sidebar — Split into Smart and Groups sections with subtle tertiary count badges. The Groups header has a minimal "+" button that opens a focused popover for creating new groups.
- Profile list — Unified filter bar with a focus-ring search field and a sort menu (sort by + ascending toggle). Live profile count and a one-click "Clear filter" affordance. Contextual empty states for "no matches" vs "no profiles".
- Profile rows — 32pt gradient avatar with stable per-profile color (hashed from
profile.id, consistent everywhere it appears), compact relative timestamps (4d,2h,now), inline tag pills, hover-revealed Connect arrow. - Profile detail header — A single tighter row: back chevron → 44pt avatar → name + favorite + compact "ago" pill + monospaced connection string + via-jump pill → icon-only Localhost / Edit / SFTP buttons → prominent Connect (
⌘↩). - Profile detail tabs — Connection / Authentication / Advanced / Terminal / Commands now use native
Formrendering with prompt-based placeholders. Graceful empty states for tags ("No tags"), groups ("No custom groups yet"), and port forwarding ("None configured"). - Authentication tab — Segmented method picker, method-aware fields, and a Keychain footnote on password.
- Quick connect — Bolt header, hover-scale rows with circular tinted icons, auto-focus search;
↩connects,Escclears. - Settings — Native
Formlayout across General, Backup, Import / Export, and Defaults. Equal-weight large action buttons. Section footers explain context.
UI Bug Fixes
- Fix duplicate placeholder/value rendering (
22 22,payne payne,Default Default,30 30 seconds) caused byLabeledContent+ plainTextFieldwith a label string. NewUnitNumberFieldhelper handles value-with-unit rows; everything else uses nativeTextFieldin aForm. - Unified
ProfileAvatarbetween list, detail header, and quick connect with a shared color hash onprofile.id. - Replaced verbose relative timestamps (
4 days, 13 hr) with compact units (4d).
Service Refactor for Testability
- ProfileManager — Dependency-injected
storage/sshConfigParser/iTerm2ServicewithautoLoad/autoSaveswitches; exposedsortProfilesfor direct testing. - ITerm2Service — Extracted
ProfileFileStore,AppleScriptRunner, andProcessRunnerprotocols with Foundation/NSAppleScriptimplementations and in-memory fakes. - ProfileStorage — Pluggable
KeychainStoreprotocol so password storage can be tested without touching the real Keychain. - SFTPService and SSHConfigParser — Unit-testable seams without changing public behavior.
Test Suite (379 tests, 99 suites, all passing)
- Models —
SSHProfile, SSH config-entry round-trip,ProfileGroup,GlobalDefaults,TerminalSettings,TerminalColorPalette, SFTP models. - ViewModels —
ProfileManagerCRUD, group membership, filter & sort, defaults application, file-import persistence. - Services —
ITerm2Service(script + command + profile-dict generation),ProfileStorage(incl. Keychain),SFTPService(parse / shell / permissions / integration),SSHConfigParser. - Terminal —
TerminalColor, session state, reconnect behavior. - Views — SFTP column layout.
- Support harness — Fakes (
FakeAppleScriptRunner,FakeProcessRunner,InMemoryKeychainStore,InMemoryProfileFileStore) and Fixtures (SSHConfigFixtures,SSHProfileBuilder,TempDirectory).
CI
swift testnow runs--parallel --enable-code-coveragewith anllvm-covcoverage summary step.
Installation
- Download
iTermGUI-v1.6.0.zipbelow. - Unzip and drag iTermGUI.app to your Applications folder.
- On first launch, right-click → Open to bypass Gatekeeper.
Requires macOS 13+ and iTerm2.
v1.5.0 - UI Improvements & CI/CD
What's New
Features
- Localhost Console: Added quick access button to open local terminal directly from the home screen
- Group Management: Implemented drag-and-drop reordering for custom groups in the sidebar
- Improved Navigation: Redesigned header with persistent Home button and better layout
Developer Experience
- GitHub Actions: Added automated build workflows for releases
- Nightly Builds: Configured automatic nightly builds for testing
- DMG Creation: Automated DMG packaging for releases
Documentation
- Streamlined README with clearer structure
- Updated feature descriptions
- Improved installation instructions
Installation
Download the ZIP file below, extract it, and drag iTermGUI.app to your Applications folder.
Changes
- Add localhost console button to EmptyStateView
- Implement group reordering with drag handles
- Move Home button to dedicated header row
- Add GitHub Actions workflows for CI/CD
- Refactor README for clarity
Requirements
- macOS 13.0 (Ventura) or later
- iTerm2 (latest version recommended)
Support
Report issues at: https://github.com/StakeSquid/iTermGUI/issues
v1.4.0
Full Changelog: v1.3.0...v1.4.0
v1.3.0
Full Changelog: v1.2.0...v1.3.0
v1.2.0
Full Changelog: v1.1.0...v1.2.0
v1.1.0
Full Changelog: v1.0.0...v1.1.0
v1.0.0
Full Changelog: https://github.com/StakeSquid/iTermGUI/commits/v1.0.0