# iTerm2 v3.7.0 new iOS companion app, it2* utilities, Session Status API and more

> Source: <https://iterm2.com/downloads.html>
> Published: 2026-09-09 00:07:19+00:00

### Stable Releases

Stable releases update rarely but have no serious bugs.

#### [iTerm2 3.7.0 (macOS 13+)](https://iterm2.com/downloads/stable/iTerm2-3_7_0.zip)

This is the recommended build for most users.
Built on September 8, 2026.

[▾ Hide Changelog](<javascript:hideId('5011592911330320792')>)

```
Version 3.7.0 was built on June 8, 2026

Major New Features:
- Companion App: a new iOS app, iTerm2 Buddy,
  pairs with your Mac by scanning a QR code
  (iTerm2 > Companion Device Settings) and
  connects over an encrypted Noise channel so you
  can interact with iTerm2 via AI chat from your
  phone.
  Devices connect through an encrypted relay, so
  they work even when the Mac and phone are on
  different
  networks, and end-to-end encryption ensures that
  your data is only visible to you.
  First-time setup is now a guided wizard: it
  installs the AI and companion plugins, turns on
  both features with a single password prompt,
  takes your API key, and walks you through
  pairing your phone.

- There's a new kind of AI chat called
  "orchestration" which can view all your
  sessions and operate iTerm2 for you.

- A new Session Status system was added. Sessions
  can now report status that appears on their tab
  with a custom subtitle, color, and dot icon.
  Status can be set by a control sequence, the it2
  command, or by triggers. The Session Status tool
  lets you view the status of all sessions in a
  window at a glance and the new Cockpit window
  lets you browse status across windows.

- Claude Code integration was added. It enables
  the new Session Status feature for claude code
  sessions so you can see at a glance which
  instance is waiting for you. It also ties in
  with the new Workflows feature to facilitate
  viewing diffs and performing code reviews. It
  ties in with clippings so that AI-authored code
  review comments can easily be sent back to
  Claude code.

- Session Notes were added: floating,
  draggable, resizable, collapsible multiline
  text notes attached to a session that
  persist across restarts.

- The new Workgroups feature let you define how to
  transform a session into a cluster of related
  sessions. When a session enters a Workgroup, the
  cluster of related sessions is created. They can 
  be in split panes, separate tabs, or "peers"
  which are like tabs within a split pane.
  Sessions in a workgroup have a unique name, a
  custom command, a customizable toolbar, and can
  even have custom behavior such as to drive AI
  code review or perform in-terminal diffs of a
  git repo.
  When a Workgroup spawns extra tabs, they are
  now collected into a tab group together with
  the session you entered from, and each spawned
  split or tab takes the name you gave it in the
  Workgroup so its tab title is recognizable.

- Added tab groups: right-click a tab and choose
  Add Tab to Group to group Chrome/Firefox-style
  tabs. A named, colored chip heads each group;
  right-click it to rename, recolor, duplicate,
  move to a new window, ungroup, or close the
  group. Drag the chip to move the whole group,
  within a window or into another one; drag
  single tabs into, around, or out of a group.
  Groups persist their name and color with the
  member tabs.

- You can now create screenshots including
  highlights and redactions using the Make
  Screenshot menu item.

- Session archives were added. The new Session >
  Archives menu has “Save Archive of Current
  Session…” and “Restore Archive…” commands, and
  remembers your ten most recent archives. A
  per-profile setting can automatically archive a
  session to a configured directory when it
  closes.  Restoring an archive reopens the
  session’s scrollback in a new window.

New Features in Terminal Sessions:
- Right-to-left script support (bidi
  reordering plus Arabic and Persian
  cursive joining) is now enabled by
  default. You can turn it off in
  Settings > General > Experimental.
- Double-width and double-height lines
  (DECDWL, DECDHL, DECSWL) are now supported
  via ESC #3, #4, #5, and #6.
- Custom in-terminal buttons with SF Symbol
  icons that emit a user-defined escape code
  when clicked. To add one, send
  OSC 1337 ; Button=type=custom;code=N;
  icon= ST. The code must be
  positive. To invalidate all custom buttons,
  send OSC 1337 ; Button=type=custom ST.
- A control sequence to programmatically
  fold and unfold blocks of output. Send
  OSC 1337 ; UpdateBlock=id=;
  action=fold ST (or action=unfold) where
  blockID matches a previously declared
  block ID (see custom escape sequence docs
  "Blocks" section for details).
- A new SetProfileProperty control sequence
  lets you change profile properties at
  runtime. Send
  OSC 1337 ; SetProfileProperty==
  [;=...] ST,
  e.g. set “Cursor Type” to 2 by encoding
  the JSON value 2 as base64.
- OSC 52 clipboard query responses now work
  with tmux 3.6+ in tmux integration.
- Added OSC 21337 for session status. Send
  OSC 21337 ; indicator=<#rrggbb> ;
  status= ; status-color=<#rrggbb> ST
  to set the tab’s dot indicator, subtitle,
  and subtitle color. Send the same sequence
  with empty values to clear.
- Smooth-typing animation for underscore and
  vertical-bar cursors can be enabled in
  Settings > Profiles > Text.
- Relative timestamps (set via the Set
  Baseline for Relative Timestamps menu)
  now use Go-style unit suffixes such as
  +1m23s and +2h5m, giving sub-minute
  precision in the 1m–1h range that was
  previously rounded to whole minutes.
- The new Fold All menu item folds everything
  (aside from folds at the very top of history).
  This makes it easy to keep history around
  without it getting in the way.
- Added support for the Kitty drag-and-drop
  protocol (OSC 72). A program running in the
  terminal can accept files, text, and images
  dropped onto the window, and (when it has mouse
  reporting on, e.g. a full-screen TUI) can offer
  its own data to be dragged out to other apps.
  For a program on a remote host, dropped files
  are transferred to it over the connection. Hold
  Option while dropping to use the old
  paste/upload behavior instead.
- Clippings is a new side panel that contains a
  list of items formatted as markdown. They're a
  useful place to store text that you need
  temporarily.
  The Claude Code integration uses Clippings to
  store code review comments so they can be shared
  between related sessions in a Workgroup.

New Features in Tabs, Windows, and UI:
- Left and right tabs in the Minimal theme are now
  as tall as top tabs, giving subtitles room to
  render legibly. The height follows the existing
  Minimal tab bar height advanced setting.
- Most window types support initial size as a
  percentage of the screen (used to be only number
  of rows and columns).
- Tabs can be pinned so they stay put and are
  protected from reordering.
- New Lock Size menu item and per-profile
  preference to prevent window resizing.
- New Lock Layout menu item (in the Window
  menu, next to Lock Size) that freezes a
  window’s layout: it prevents splitting,
  adding or closing tabs, reordering tabs,
  closing or dragging panes, and moving
  panes or tabs to other windows. Resizing
  panes, opening new windows, and closing
  the window still work.
- Panes can be locked to prevent accidental drag
  and drop.
- Tabs can now be placed on the right side
  of the window.
- The control-sequence-controlled progress
  indicator is now shown in the tab bar.
- An active pane border can be displayed to
  highlight the focused pane.
- You can now choose to show a Proxy icon in
  Compact and Minimal themes.
- The tab color menu now has a color picker,
  recent colors, and an eyedropper tool.
- Asymmetrical broadcasting via a per-session
  broadcast-source flag lets you prevent
  accidental typing in non-designated sessions
  from being broadcast.
- New key binding action to send text without
  broadcasting.
- Nerd Font glyphs are now rendered in pane title
  bars and tabs.
- A unified dock badge combines bell count and tab
  status, and the old 999 cap on the bell count
  was removed.
- Split pane icons were added to the context
  menu.
- Hold Option when clicking a Split button in the
  Profiles panel to open the selected profiles as
  splits in a new window instead of the current
  one.
- Background images can now rotate through a
  folder of images at a configurable interval.
  Pick a folder instead of a file in
  Settings > Profiles > Window > Background.
- In the Jobs view (toolbelt and status bar
  popover) hovering on a row shows the full
  command as a tooltip, and pressing space
  opens a popover with the full command,
  process ID, start time, working
  directory, environment variables, and a
  list of open files and network
  connections.
- The status bar can now draw a separator line
  between itself and the terminal content. Enable
  it in the status bar layout’s advanced settings.
- Improve tab dragging: keep Metal enabled
  for normal tab drags, switch reorder
  slots near tab midpoints, and stabilize
  split-pane target highlights.

Triggers Improvements:
- Event-based triggers can fire on events such as
  a session ending or a hostname change.
- A trigger can now match when a session variable
  changes to a value matching a regex.
- Triggers can be imported and exported as
  .it2triggers files.
- A regex can now be used to define word
  characters for a trigger.
- Nulls are now treated as spaces in trigger regex
  matching.
- You can now assign a "job" to a trigger, which
  ensures the trigger is only active when that job
  is running. This makes it possible, for example,
  to write triggers that are only active while
  Claude Code is running.

AI Improvements:
- The AI chat “View History” permission is now
  “View Contents”. When it is set to provide
  contents automatically, a session-bound chat
  includes the terminal’s visible screen with
  each message, not just on-request history
  tools.
- An AI chat linked to a terminal session now
  stays linked when the session's shell restarts
  (which happens often with the Claude Code
  integration). Previously the link, its command
  permissions, and orchestrator @-mentions of the
  session were lost on every restart.
- Chats in the AI chat list now get an icon
  drawn by your AI model from the chat
  title. Chats without one show a default
  icon. The prompt can be edited in
  Settings > General > AI > Prompts.
- The AI command safety check now uses your
  configured AI model. It runs deterministic
  terminal rules first and only asks the model
  when those rules cannot decide. It can send
  commands to your (possibly cloud) provider, so
  it is opt-in. Users who already enabled it keep
  using free on-device Apple Intelligence and are
  asked once whether to switch to their model.
- AI chat can connect to LAN-hosted models
  over HTTP.
- Anthropic prompt caching now also covers the
  conversation history, not just the system
  prompt and tools. A rolling cache breakpoint
  on the latest message lets long chats reread
  the prior turns from cache instead of paying
  full input price every turn.
- AI models updated.
- The built-in AI model list is now data-driven
  and refreshes in the background, so new models
  appear without updating iTerm2.
- DeepSeek v4 thinking mode is now supported.
  Toggle the lightbulb in the chat toolbar to
  enable. Reasoning summaries appear live in
  the conversation and round-trip correctly
  on multi-turn tool calls (fixes a 400 from
  the API when reasoning_content was missing).
- The “Configure AI Model Manually…” popover
  now has a section for custom HTTP headers
  that are appended to every AI request (chat,
  vector store, and file upload). Useful for
  proxy auth or routing tags. Custom headers
  override built-in headers with the same
  name. Values are stored unencrypted in
  iTerm2’s preferences.
- PDF chat attachments now work on Anthropic.
- When AI chat types into a terminal, a newline
  is now sent as Return (carriage return) so it
  submits the line in programs like Claude Code
  instead of inserting a literal newline. The
  tool also reports how many characters were
  inserted.
- Added a Zero Data Retention setting under
  Settings > General > AI. Turn it on if your
  OpenAI organization has Zero Data Retention
  enabled. iTerm2 then stops sending
  previous_response_id and sets store=false, so
  chats no longer fail on the second message.
- AI chat can now restart a session for you.
  The “Type for You” permission was renamed
  “Control Terminal” and now also gates this.
- AI chat linked to a terminal session can now
  watch that session and tell you when it reaches
  a state or a described condition, without
  polling. Previously only orchestration chats
  could set watches. If your phone is paired it
  can also push you a notification when the watch
  fires.
- The manual AI model editor now offers presets
  for OpenAI-compatible providers (Ollama,
  OpenRouter, z.ai, Qwen, MiniMax) that fill in
  the endpoint for you, plus a Test Connection
  button that verifies your settings and API key
  before you save.
- AI chat history entries can now be deleted
  from the chat list.
- AI chats now keep the provider chosen at
  creation time. Settings choose the default
  provider for new chats, while existing
  chats only offer models from their saved
  provider.

Python API Improvements:
- Move sessions to new tabs or windows via the
  Python API.
- Load URLs in browser sessions from the Python
  API.
- The Open URL API now supports a per-domain
  allowlist.
- App.async_apply_layout atomically reshapes
  one or more tabs to a target layout in a
  single transaction. Supports swapping panes,
  rearranging the split tree, and moving
  sessions across tabs and windows. New
  sessions can be created in place with
  new_session leaves.
- The API server no longer lets a client flood it
  with frames to exhaust memory: it bounds how
  much unparsed inbound data it buffers, and a
  client that floods pings but stops reading the
  pongs is disconnected as misbehaving rather than
  having its pongs buffered without limit. The it2
  command-line client handles a flood of ping
  frames iteratively instead of recursively.
  Credit to NSEcho for the find
- The Script Console has a Clear Terminated
  button that removes stopped sessions from the
  list, so it no longer grows without bound when
  you repeatedly restart a script.
- The warning that a script’s pinned Python
  version will be bumped for the new uv runtime
  now has an Upgrade Now button that migrates
  those scripts immediately, instead of only
  when each one next runs.

Password Manager Improvements:
- Bitwarden is now a supported password manager.
- Keeper Security is also supported.

Shell Integration Improvements:
- xonsh is now a supported shell.
- Better interop with Fish 4.3, which builds in
  some of shell integration.
- A new it2 command-line utility lets you perform
  common actions like creating a window at the
  command line. Run `it2 --help` for details.
  It's automatically in your path.

SSH Integration Improvements:
- Better passphrase handling for SCP and
  private keys. Wrong passphrases now retry
  instead of falling through to an empty
  password, and encrypted-key detection was
  improved.

Tmux Improvements:
- Bracketed paste state is restored on attach
  (prep for tmux’s upcoming bracket_paste_flag
  format).
- The per-pane modifyOtherKeys state is now
  restored on attach (using tmux 3.5+’s
  pane_key_mode format), so reattaching while
  nvim or another app is running keeps the
  correct key reporting mode active.
- Saner defaults for which window and tab a tmux
  attach uses.
- The advanced setting for where tmux windows
  created outside iTerm2 open is now a three-way
  choice: a new window, the focused window, or
  the topmost window already hosting that tmux
  session.
- A new tmux window opened with Command-T now
  picks up the profile’s custom tab title, if
  one is set.

Expressions and Variables:
- Arithmetic expressions and comparisons are
  now supported in interpolated strings.
- You can right click on a color in settings and
  choose "Bind to Expression" so that it will
  takes its value from an expression (e.g., a
  user-defined Variable or registered function:
  see the Scripting Fundamentals section of the
  documentation for details). The value should
  be a string like #ff8844.
- Same for checkbox settings. The value should be
  a boolean.
- A new global variable iterm2.appBundlePath
  exposes the path to iTerm2.app for use in
  interpolated strings.
- A new window variable window.title holds the
  rendered window title, alongside the existing
  session.presentationName and tab.title.

UI Improvements:
- A new setting in Settings > Appearance makes
  the tab bar scrollable. When the tab bar has
  more tabs than fit, instead of moving the
  extras into the “More tabs” overflow menu they
  stay in the bar and you scroll to reach them.
  Works for top, bottom, left, and right tab
  bars. A horizontal bar scrolls with a trackpad
  swipe or shift + mouse wheel. On by default;
  turn it off to restore the overflow menu.
  The “Tab width when the tab bar is scrollable”
  advanced setting sets the scrolled tab size.
- A new preference hides the session status
  text from tab subtitles while keeping the
  colored dot. Toggle it from the gear menu
  in the Session Status toolbelt tool.
- Right-click a row in the Session Status
  toolbelt tool and choose Snooze to move it
  below a divider at the bottom of the list
  and dim it. A snoozed entry un-snoozes
  automatically the next time its status
  changes.
- Contextual alternates (calt) are enabled by
  default for ligature-capable fonts.
- Rename dialogs, the pane menu, and the context
  menu now respect dark/light mode.
- Tab colors are written to all appearance
  variants so they survive light/dark switches.
- Customizable IME color.
- Cleaner glass material on the jobs popover.
- Scroll command marks to top (instead of
  centering) on Next/Previous Mark.
- A new profile setting, “Use ANSI colors
  for marks” (Settings > Profiles > Colors),
  draws command-prompt mark indicators using
  the color preset’s ANSI blue, red, and
  yellow instead of the built-in colors, so
  they harmonize with any theme. Off by
  default.
- ⌘-click now linkifies very long URLs in
  full. Previously only the first couple
  thousand characters were clickable; the
  linkifier now scans onward to the next
  separator so the whole URL is detected.

Input and Accessibility:
- VoiceOver now announces terminal output and
  deleted characters.
- Voice dictation now works.
- A repair button was added to fix key bindings
  corrupted by a 3.4.x-3.5.x migration bug.
- Ctrl/Option-modified function keys now work with
  third-party global shortcuts.
- 3-finger drag is now treated like a regular drag
  for mouse reporting.
- Offer to reset the key reporting mode when it
  gets stuck on.

Search and Selection Improvements:
- Folded content is searched in global search.
- URL search results extend across soft boundaries
  such as tmux pane dividers.
- “$” is now considered part of a URL. Used when
  detecting URL boundaries for cmd-click.
- Search results refresh after window resize.
- New “Copy or Paste” pointer action. If there's a
  selection, it copies. Otherwise, it pastes.
- New pointer action to copy link address.

Menus and Miscellaneous:
- New menu item to open new tabs next to the
  current tab or at the end (opposite of the
  default).
- New “Always show alerts with remembered
  selections” option. This temporarily turns off
  the "Remember my selection" feature of alert
  boxes that you already saved in case you change
  your mind and want to make a different
  selection.
- New “Buffer input by default” profile setting
  with menu item, indicator, and trigger
  integration. Buffering causes text you type to
  be stored until buffering is disabled by
  selecting Shell > Toggle Buffer Input.
- "Copy" menu item on status bar components to
  copy relevant information.
- Smart selection action URL is shown on hover.
- Offer to restore titles when an ssh session
  ends.
- New "Suppress notifications from the active
  session" setting.
- Undo Close now has the ⌘⇧T shortcut. Show
  Tabs in Fullscreen moved to ⌘⇧U. The first
  time you press ⌘⇧T in full screen, an alert
  explains the change and can restore ⌘⇧T to
  Show Tabs in Fullscreen with a key binding.
- Added Edit > Marks and Annotations >
  Annotate Selection, so annotating a
  selection can now be given a keyboard
  shortcut. Previously this was only on the
  right-click menu.
- The job name shown in titles, the session
  icon, and automatic profile switching now
  reflect the foreground job actually attached
  to the terminal, hiding helper subprocesses
  that run in the foreground process group but
  are piped to their parent (for example an MCP
  server spawned by claude, or caffeinate). The
  raw deepest job is still available as the
  deepestJob variable. Note that automatic
  profile switching now matches the tty-attached
  job, so a rule keyed on such a helper name will
  no longer fire for it.

Core Improvements:
- Significant Metal rendering speedups for
  non-ASCII text should result in higher frame
  rates.
- Faster rendering of text with many colors (e.g.
  syntax-highlighted code) by reusing attribute
  dictionaries across runs instead of rebuilding
  one per color span.
- Framerate is capped at 30 fps in low-power mode.
- Crash-log search was moved off the main thread
  so app launch does not hang when there are a
  huge number of crash logs.
- Prompt for local-network permission on launch.
- New iTerm2 menu item, Save Retrospective Debug
  Logs, writes recently captured low-frequency
  diagnostics to a file you choose, even when
  debug logging was never turned on.
- iTerm2 now probes the local network on
  every launch so macOS keeps it in the
  Local Network privacy list. This recovers
  the permission after a tccutil reset or an
  OS upgrade, fixing commands like
  “ping 10.0.0.1” failing with “no route to
  host”.
- Added support for light/dark color scheme
  detection and reporting (DECSET 2031 and
  DSR 996/997). Programs can query whether the
  terminal is light or dark and ask to be
  notified when it changes, so tools like vim
  and delta can adapt automatically.
- You can now run multiple concurrent
  instances of iTerm2 side by side with
  independent settings. Launch with
  arguments:
  -suite com.iterm2.unique-id-of-your-choice.

Settings Improvements:
- Window frames are remembered per-profile rather
  than globally. When you open a window, the
  default frame will come from a previous window
  with that profile, if possible.
- Font zoom is preserved during Automatic Profile
  Switching.
- User-set colors are remembered separately
  from control-sequence-set colors so that they
  don't get reset by control sequence.
- Special Exceptions has a new Add Preset
  button with common Unicode ranges such as
  Han, Hangul, and Cyrillic.
- Profiles using a custom Command can now opt
  to run the command through the user’s login
  shell so dotfiles set $PATH and exported
  variables (API keys, GEM_HOME, etc.) before
  the command starts.
- A linked AI chat can be hosted inline in
  its session’s right margin. Use the chat
  menu’s “Put Chat in Linked Session” item
  and toggle visibility from View > Show
  Inline Chat.
- Open Quickly now uses recency as a
  tiebreaker, so the session list (whether
  the query is empty or matches several
  panes) is ordered most-recently-used
  first across tabs and windows. The
  current session is omitted from results
  since it is never a useful jump target,
  so Cmd-Shift-O followed by Enter now
  jumps to the most-recently-used other
  pane. A new preview side panel shows a
  snapshot of the highlighted session.
  Open Quickly can also be assigned a
  system-wide hotkey in Settings > Keys
  that works while another app is in
  front, without activating iTerm2 until
  you commit a selection.
- Blinking cursors can now fade smoothly
  in and out instead of toggling abruptly.
  Turn on “Smooth blink” in Settings >
  Profiles > Text, where you can tune the
  fade-in and fade-out durations, easing
  curves, and how long the cursor dwells
  fully visible and fully hidden between
  fades. Off by default.
- When you load settings from a custom
  folder, snippets, global notes, and
  session icon customizations can now sync
  along with your other settings. Because
  notes and snippets can hold sensitive
  text, iTerm2 asks once before including
  them. If the same item changed both on
  this Mac and in the folder, it asks which
  copy to keep rather than overwriting your
  changes.
- Added Window > Tab > Select Tab > Select
  Next Tab Group (⌃⇧⌘]) and Select Previous
  Tab Group (⌃⇧⌘[). When the current tab is
  in a group, these skip over the rest of
  that group. For an ungrouped tab they
  behave like Select Next/Previous Tab.
- Added Window > Tab > Add Tab to New Group
  and Remove Tab from Group, mirroring the
  tab bar’s right-click menu but acting on
  the current tab.

Bug Fixes:
- The selected tab’s bright HDR outline on
  macOS Tahoe is now off by default. It is
  gated behind a new “Allow HDR effects”
  advanced setting because forcing the
  display into HDR could hang some systems.
- In the tmux Dashboard, “Open in Tabs” is now
  enabled when a single hidden window is
  selected, matching “Open in Window.” Issue
  12994.
- Companion Device Settings no longer prompts
  for Touch ID on its own. Opening the window
  or unpairing a device now shows a “Show QR
  Code” button, and authentication happens only
  after you click it.
- Cmd-W now closes the Companion Device
  Settings window instead of beeping.
- Fixed a beachball that could occur when the
  tab style preference changed: every session’s
  announcement view was re-fitted synchronously,
  each fit re-running an expensive text-layout
  search. Measurements are now cached and reused,
  and a resize to the same size no longer
  re-fits.
- Fixed a multi-second hang that could occur
  when a window changed appearance (for example
  when another app or a second iTerm2 instance
  stole focus) while in traditional fullscreen.
  Setting a window to its current appearance no
  longer re-triggers a refresh loop.
- On macOS Tahoe, dark-theme selected tabs no
  longer draw their chrome at a fixed image
  height while the tab cell uses a different
  height (for example left tabs with a custom
  Default tab bar height). Cap images scale to
  the pill so the dual-layer look goes away
  without needing a custom tab color.
- Toggling Caps Lock no longer inserts an “A”
  in programs that use the Kitty keyboard
  protocol with “report all keys as escape
  codes.” Now it reports the key’s own code
  (57358) instead of a stray modifier value
  that got read as an “A.” Issue 12922.
- Split-pane dividers in different rows or columns
  can now be dragged into alignment: a divider
  snaps to a matching divider elsewhere in the tab
  when it comes within half a cell, fixing a
  sub-cell misalignment that whole-cell steps
  could not correct. Double-clicking a horizontal
  divider to equalize the two panes also no
  longer computes the wrong size.
- The Centered window style now looks and behaves
  just like a normal window (title bar,
  close/minimize/zoom buttons, and the same chrome
  in the Minimal and Compact themes), except that
  it stays centered. It also no longer changes
  size when you minimize and restore it.
- In tmux -CC sessions with pane-border-status set
  to top or bottom, the pane no longer ends up a
  row too tall. Previously the bottom line went
  unused and the cursor landed a row high after
  reattaching.
- Retrospective debug logging no longer fills its
  in-memory ring so quickly on busy hosts. Several
  high-frequency sites that logged large payloads
  (window descriptions, view hierarchies, and stack
  traces) were trimmed or moved back to regular
  debug logging, extending how far back the ring
  reaches.
- The proxy icon in Compact and Minimal theme
  windows now hides and reveals along with the
  stoplight buttons instead of staying visible
  when they are hidden.
- Hiding a hotkey window on macOS 26 no longer
  briefly flashes background iTerm2 windows to
  the front. The window now waits for the
  previously active app to come forward before
  ordering out.
- Global search no longer shows blank snippets
  for results found on the main screen while an
  alternate-screen app (such as a full-screen TUI)
  is running. Snippets are now extracted from the
  same snapshot the search ran against instead of
  a freshly captured one that could drift.
- Smart tab-title truncation no longer flickers
  between head and tail truncation when a tab
  title begins with an animated status glyph
  (such as a Claude Code spinner). The glyph is
  no longer counted when deciding which end of
  the title to truncate.
- Session Status tool: with “Merge workgroup
  statuses” on, a merged row now shows the status
  of the peer you’re actually looking at (the
  visible peer of the switcher) instead of
  whichever peer changed most recently. A busy
  code-review peer holding a steady “working”
  status no longer loses the row to a sibling
  chat peer the moment it goes idle.
- Tab subtitle: when a tab is split into
  multiple panes, the status of the pane you’re
  focused on now drives the subtitle instead of a
  background pane winning on status priority. For
  example, an idle pane no longer overrides the
  working pane you’re looking at. A focused pane
  with no status falls back to the highest
  priority sibling pane.
- Code review and diff workgroup sessions now
  restore showing their last output instead of
  launching a stray replacement shell when the
  original program is gone. The code review prompt
  panel reappears only if it was open when you
  quit, and its reload button remembers the prompt
  you last submitted.
- Session restoration no longer breaks when iTerm2
  receives a signal (such as ^C when it was
  started from a terminal): the background process
  server is now insulated from signals sent to
  iTerm2, so your running programs survive to be
  reattached on the next launch.
- Fixed a rare case where a Claude Code workgroup
  was torn down even though its claude process was
  still running, due to a momentary misread of the
  foreground job ancestor list.
- Fixed a case where a Claude Code workgroup pane
  (such as Diff or Code Review) could close itself
  when its command exited and take the whole
  workgroup down with it. Spawned workgroup panes
  now pin their end action so the profile’s “Close
  Sessions On End” setting can no longer flip them
  to close on their own.
- AI chat: fixed a race where a streamed tool
  call could be dispatched with empty arguments
  when the response completed before its argument
  chunks were consumed. The agent would loop
  retrying the same call, and the turn could end
  with an empty message. Finalization now
  reconciles against the full response body.
- SSH integration now runs the ssh command
  through your login shell, so dotfiles set up
  your environment first. A custom SSH_AUTH_SOCK
  (pointing at an agent that holds your keys) is
  now honored, fixing “Permission denied
  (publickey)” failures that only happened with
  the SSH command type.
- On macOS Tahoe the tab activity/progress
  indicator now draws as an outline around the
  pill-shaped tab instead of a bar that crowded
  the tab title and status text.
- Fixed a crash in Replace Selection (e.g.,
  Replace with Pretty-Printed JSON) when the
  replacement had more lines than the selection.
  Also, saved locations (marks, prompt ranges)
  inside the replaced region are now invalidated
  instead of drifting onto unrelated lines.
- tmux integration now parses pane state
  correctly on macOS 26 and later. A new
  system NSString method had shadowed ours
  and caused numeric fields to be dropped.
- The companion device no longer triggers a
  keychain confirmation prompt when it connects
  or when a notification is sent. The paired
  identity is now read once at launch, while you
  are present, instead of mid-connection.
- When a companion device is paired, your AI
  API keys are now loaded at launch, and when a
  phone pairs, so a query sent from your phone
  while you are away never has to prompt for
  keychain access.
- Opening Settings no longer reads the keychain
  or prompts for access. The AI API key row no
  longer shows an “N of 4 configured” count.
- Restoring a window with an open inline AI chat
  panel now reopens the panel on the chat it was
  showing, instead of widening the terminal.
- Chat lists now mark orchestrator chats with a
  wand glyph. The inline chat switcher bolds chats
  linked to the current session.
- Orchestrator chats now handle full-screen apps
  on the alternate screen (like Claude Code)
  better: they see just the current screen and
  can use a new scroll-wheel tool to page back
  through the app’s own history.
- Saved and copied screenshots now fill margins
  and other uncovered areas with the session’s
  background (including a background image, with
  its blend and scaling) instead of leaving them
  transparent.
- The session-logging and archive folder
  pickers now use the folder you select rather
  than its parent when you don’t open it first.
- SSH integration no longer leaves Ctrl+C unable
  to interrupt programs on remote hosts whose
  Python is older than 3.7 (e.g. CentOS 7,
  AlmaLinux 8). The login shell handoff was
  leaving signal generation disabled on the tty.
- Clicking a notification posted by a background
  tab of a dedicated hotkey window now selects the
  source tab and pane instead of leaving the
  previously-selected tab in front.
- AI chat with DeepSeek no longer fails with an
  "insufficient tool messages" error after a tool
  call that was interrupted or left unapproved.
- A live filter no longer drops content that
  arrives while it is mid-search; such lines
  could previously be missing from the filtered
  view until more output came in.
- Copying selected text from a porthole (such as
  rendered markdown) now works in apps that
  prefer rich text.
- Clicking in a porthole in an inactive split
  pane now activates that pane.
- Fixed several crashes: registering a profile
  hotkey for a profile with no GUID, loading a
  profile whose default-bookmark value is a
  boolean, listing processes over SSH when a
  process has an empty command, drawing margin
  background colors with a nil color, a crash when
  macOS rejected presentation options during a
  Spaces transition (now retried once it settles),
  and a divide-by-zero when the Metal view has a
  zero-size drawable.
- iTerm2 no longer spuriously offers to reset
  terminal state or restore the tab and window
  title when the local hostname changes (for
  example when mDNS renames your .local host)
  or when you run sudo. Any two localhosts are
  now treated as the same host.
- AI chat no longer fails with a tool_use_id
  error after an auto-approved command. The
  tool call was dropped from saved history
  while its result was kept; the prompt is now
  repaired when reloaded, healing chats saved
  by earlier versions too.
- Session notes now keep their distance from
  the top-right corner of a session when it
  is resized, instead of from the bottom-left.
- A tab no longer shows a stale or missing
  session status (such as “waiting”) when a
  pane carrying a status is closed, moved
  between tabs, or reparented (for example by
  entering or exiting a workgroup). The tab’s
  aggregated status is now recomputed whenever
  its set of sessions changes.
- Full-screen programs that don’t use the
  alternate screen buffer (such as Claude
  Code) no longer destroy on-screen content
  when, on startup, they move the cursor to
  the top of the screen and repaint over it.
  The visible screen is now scrolled into
  history first. Requires shell integration.
- When such a program moves the cursor above
  a fold and repaints, the fold is now
  scrolled into history instead of being
  overwritten and left with an orphaned
  unfold icon in the margin. This works even
  without shell integration installed.
- The “taking a long time to check state
  restoration” prompt no longer appears so
  readily right after login, when the system
  is busy and disk I/O is slow. The integrity
  check timeout is now extended in the first
  ten minutes after boot, the prompt's
  wording is friendlier, and it defaults to
  continuing rather than discarding windows.
  Issue 11809.
- Editing a color in a color well no longer
  silently switches the picker from sRGB to
  P3 (or back). The color space the well is
  showing is now preserved across the edit
  roundtrip. Issue 12720.
- The Python API server now takes an
  advisory lock on its socket directory at
  startup. A second iTerm2 instance sharing
  the same application-support directory
  (e.g. two non-suited copies launched from
  different .app bundles) will refuse to
  start the API server instead of silently
  unlinking and rebinding the original
  instance’s socket.
- Localhost detection no longer breaks when
  your computer's hostname changes (for
  example after switching networks). Whether
  a session is on the local machine is now
  recorded when the host is first reported,
  rather than recomputed later by comparing
  names. This fixes the git status bar, the
  workgroup diff list, opening local files,
  and uploads/downloads going stale after a
  rename.
- Pressing Enter to commit an IME
  composition (e.g. Chinese, Japanese,
  Korean) in the AI Chat input no longer
  prematurely submits the unfinalized
  candidate text.
- Command-clicking links in terminal output
  no longer crashes when command-mark data
  is unavailable.
- Open Quickly now updates the MRU order
  when you jump to a session, so repeated
  Cmd-Shift-O Enter cycles between the two
  most-recently-used panes instead of
  drifting onto a sibling pane that
  happened to be active in the destination
  tab. Issue 12799.
- Open Quickly recency now strictly follows
  focus order. Jumping to a pane no longer
  bumps the previously-active sibling in the
  destination window, and structural changes
  (closing a pane, splitting, restoring) in
  background windows no longer reorder the
  list, so Cmd-Shift-O Enter reliably
  toggles between the last two focused
  panes. Issue 12799.
- OSC color overrides (foreground, background,
  cursor, selection, palette, and the iTerm2
  SetColors variants) now survive macOS Light
  / Dark appearance switches and toggles of
  the separate light / dark colors profile
  setting. The override is written to every
  appearance variant of the profile key so
  it persists until OSC 110/111 or a manual
  reset clears it.
- In an AI orchestration chat, @-mentioning a
  session or workgroup now grants the chat
  standing permission to control it, so the
  agent acts there without the one-time
  approval prompt. A notice with a Revoke
  button is posted so you can take the
  permission back whenever you want.
- The orchestrator’s send_text tool
  now routes payloads containing control bytes
  (ESC, Ctrl-C, etc.) as raw keystrokes instead
  of bracketed pastes. The previous wrap turned
  embedded control bytes into literal pasted
  data, so e.g. sending ESC :q ENTER to a vim
  session inserted “^[:q” as text instead of
  quitting. Pure prompt-style text still goes
  through as a paste, as Ink-based TUIs expect.
- The orchestrator’s get_screen_contents
  tool now marks faint text with ⟨dim⟩…⟨/dim⟩ and
  the cursor with ⟨cursor⟩. Inline shell
  suggestions and ghost completions are rendered
  faint and used to be indistinguishable from
  text the user actually typed, so the agent
  would sometimes mistake a suggestion for an
  entered command.
- Showing the clippings panel in a window
  zoomed to fit the display no longer grows
  the window horizontally. The tab content
  area absorbs the panel’s width instead,
  mirroring the toolbelt’s behavior.
- The Install Claude Code Integration intro is
  now presented as a real sheet attached to the
  installer panel, rather than a subview
  overlay. Enter now correctly activates
  Continue instead of the Install/Next button
  it was visually covering.
- Workgroup peer-switch and toolbar shortcuts
  now fire no matter which view in the terminal
  window has keyboard focus, including the Diff
  peer’s Run Anyway button, the Code Review
  prompt’s text view, and the clippings table.
  They are now dispatched centrally instead of
  relying on the focused view to forward them.
- The Claude Code installer now reliably adds
  Enter/Exit Workgroup triggers to divorced
  sessions whose original profile was picked.
  The previous pass matched on the dict’s
  KEY_ORIGINAL_GUID, which could be stale
  after an arrangement reload. The walk now
  also consults each live or buried session’s
  runtime originalProfile reference.
- The Code Review prompt overlay no longer
  drifts out of sync with light/dark mode. The
  panel cached a CGColor snapshot of
  windowBackgroundColor resolved against an
  arbitrary NSAppearance.current, so its
  background could disagree with its own text
  view. It now uses the existing layer-backed
  solid color view, which refreshes the color
  in updateLayer under the correct drawing
  appearance.
- The heavy window border no longer leaves its
  corners unbordered on low-opacity windows. The
  corner-radius detector failed on transparent
  windows (their interior is not opaque enough),
  so the border fell back to a wrong radius and
  the corner arc was clipped away. Detection now
  works at any opacity, with a better per-OS
  fallback radius. Issue 12882.
- The heavy window border now stays flush with
  the window edges instead of sometimes drawing
  as a smaller inner rounded rectangle. Its view
  could be left at a stale size and was not kept
  in sync with the window. Issue 12882.
- The heavy window border now has a uniform
  width: its corners no longer look thinner than
  its edges and no longer pick up semi-
  transparent pixels. It is drawn entirely
  inside the window instead of straddling the
  window edge and relying on the system mask to
  clip its outer half. Issue 12882.
- The window border color advanced settings now
  accept a four-part color like #rrggbbaa (or
  p3#rrggbbaa) to set the border opacity. A
  color without an alpha component is still
  drawn at 75% opacity. Issue 12882.
- The legacy (non-GPU) renderer now invalidates
  only the lines that actually changed, instead
  of repainting the entire view on every cell
  update. Heavy TUI animations (e.g. spinners
  that rewrite a single line at high frequency)
  use significantly less CPU on hosts where the
  GPU renderer is disabled. Issue 12790.
- Anthropic tool calls reloaded from a chat
  transcript would fail with HTTP 400 because
  the function output got serialized as plain
  text instead of a tool_result block. The
  parser stored the tool_use id only on the
  inner FunctionCall while the serializer
  looked on the outer wrapper, so the id was
  lost on round-trip. Both fields are now
  populated so persisted tool calls survive
  the round-trip.
- Anthropic requests no longer 400 when a
  stray user message gets persisted between a
  tool_use and its matching tool_result. The
  request builder reorders so the tool_result
  is always emitted immediately after the
  tool_use, with any intervening messages
  bumped to after it.
- Fix a launch crash when a saved status bar
  layout referenced an RPC-provided text
  component whose configuration was missing
  the registration request (for example, from
  a partial profile restoration). The base64
  decoder dereferenced a NULL pointer instead
  of returning nil. Issue 12861.
- The “Respect shortcuts from System Settings >
  Keyboard > Keyboard Shortcuts > Keyboard”
  option used subset matching on modifier keys,
  so a system shortcut bound to Ctrl+Right (or
  any other strict subset of an event’s
  modifiers) would also intercept
  Ctrl+Shift+Right and similar keystrokes.
  Modifier comparison is now exact. Issue 12859.
- When launched with -suite, orphan adoption
  could no longer reattach to surviving
  multi-server daemons after a state-database
  loss. The application-support directory is
  already isolated per suite, but daemon
  sockets were also being named with the
  suite in the filename, while the orphan
  adopter (and the settings-export exclusion
  list) still expected the plain
  iterm2-daemon- prefix. The suite is now
  carried only by the containing directory,
  matching how the dotdir fallback already
  worked. A transitional fallback accepts
  the {suite}-daemon-N.socket form so betas
  that wrote that name don't strand their
  daemons across the upgrade. Issue 12860.
- Fix a crash when a Python API client invoked
  a function whose argument string contained
  non-BMP characters (for example, emoji). The
  expression tokenizer’s optional-path
  recognizer indexed by Unicode scalar while
  the surrounding tokenizer tracks UTF-16
  positions, so the offset could run past the
  scalar count and trap. Issue 12856.
- When ESC #3, #4, or #6 (DECDHL/DECDWL) was
  received mid-line, characters already on the
  line were correctly doubled in size but the
  cursor was not advanced to compensate, so
  text printed afterward overwrote the right
  half of the existing characters. The cursor
  is now repositioned when the line’s width
  class changes.
- ssh:// URL handling and Bonjour-discovered
  host profiles now find ssh through the user’s
  login shell PATH, so Homebrew’s ssh (or any
  ssh outside /usr/bin) is used. The advanced
  setting SshSchemePath, when changed from its
  default, still wins. Issue 3415.
- The faint-text opacity slider in Profiles >
  Colors now has a minimum of 0.1, and existing
  profiles with a stored value below 0.1 are
  clamped at runtime. A value of 0 caused SGR 2
  text to render in exactly the background
  color, making it invisible. The slider’s
  tooltip was also incorrect (it described
  minimum contrast); it now describes faint
  text opacity.
- The “open password manager automatically”
  feature no longer triggers when a shell
  script briefly disables terminal echo to
  suppress the visible echo of an OSC report
  response (e.g. it2getvar, it2profile -g).
  ECHO must now stay off for at least 0.2
  seconds — tunable via the
  DetectPasswordInputDebounce advanced
  setting — before iTerm2 treats it as a
  password prompt.
- Fix the Minimal-theme tab bar overlapping the
  terminal in fullscreen when adding a second
  tab with “Hide tab bar when there is only
  one tab” enabled. The titlebar accessory
  hosting the tab bar grew from zero to its
  full height but the content view was not
  re-laid out to leave room for it. Issue
  12811.
- The Touch ID for sudo offer no longer relies on
  AppleScript admin elevation, which fails on
  macOS 26 with EPERM when writing to
  /etc/pam.d/. Accepting the offer now lets you
  copy the install command or run it in a new
  iTerm2 window where you can enter your sudo
  password.
- Fix a bug where suppressing a warning would
  not stick across launches when prefs are
  loaded from a custom folder with “Save
  changes: Automatically.” The debounced save
  could lose the race against app exit, so
  the next launch overwrote the just-saved
  suppression with the stale remote copy.
  applicationWillTerminate now flushes
  synchronously when Automatic mode is on.
- Fix Ctrl-letter keystrokes appearing as
  literal text (e.g., “0x4” for Ctrl-D) in
  tmux -CC mode when the tmux server has
  extended-keys enabled and an inner app
  has turned on modifyOtherKeys. Control
  bytes 0x00–0x1F are now sent through
  send-keys with the -H flag on tmux
  3.0a or newer, which bypasses tmux 3.5’s
  silent literal-text fallthrough for
  unmodified C0 bytes. Issue 12845.
- Fix dragging a tab or split pane onto a
  window with only one tab. The destination
  window’s tab bar is hidden in that case, so
  AppKit could not deliver drag events to it
  and a brand-new window was created instead.
  Tab bars are now temporarily shown for the
  duration of any tab or session drag.
  Issue 12846.
- Fix a latent use-after-free in Core Text run
  enumeration when the font does not return
  contiguous glyph or string-index pointers.
  The fallback NSMutableData backing buffers
  could be released before the closure ran.
- Fix the cursor jumping to the end while
  typing in an annotation when the caret was
  not already at the end. The optimistic
  main-thread write echoed back through the
  delegate and reassigned the text view’s
  string, which resets the selection.
- Fix a crash when invoking Undo after closing
  a split pane that contained an annotation,
  session note, or chat input. These text
  views now own their own undo manager so
  text-edit undo actions can’t outlive the
  text view in the window’s undo stack.
- Fix UI hangs when opendirectoryd is slow or
  wedged. The user’s login shell is now
  fetched in the pidinfo XPC service (so a
  daemon hang only burns the helper, never
  the main app) and cached in-process. Every
  call still kicks off a fresh background
  lookup so the cache stays current after
  chsh, but a slow lookup no longer stalls
  the UI — the cached value is returned if a
  fresh result doesn’t arrive in time.
- Fix a multi-second hang when closing the
  Settings window. PreferenceInfo now only
  registers a notification observer when an
  observer block is set, avoiding O(N²)
  teardown across the many controls in the
  panel.
- Fix a state-restoration crash where the
  recovery path could leave records with no
  rowid in the in-memory tree, causing the
  next save to abort with MissingRowID. The
  recovery now operates on a deep copy of
  the failed save’s tree so it can’t corrupt
  records other code still holds, and it
  dedupes siblings by (key, identifier) so
  every record gets a fresh rowid.
- Fix the window growing wider when a
  clippings panel appears in a non-current
  tab. Window resize now happens only when
  the visible tab needs the space.
- Fix Code Review (and any other long
  command) failing immediately with a zsh
  "unmatched '" error. The shell-arg
  splitter used by startProgram was running
  every unquoted argv element through
  -stringByExpandingTildeInPath, which
  silently truncates at 1024 chars. Long
  arguments now skip the expansion when
  there's no leading ~.
- Fix shell escaping of embedded apostrophes
  and CR/LF in single-quote (POSIX) and
  $'...' (bash) modes. Apostrophes now use
  the close-escape-reopen idiom ('\''), and
  control chars round-trip cleanly through
  the receiving shell instead of either
  injecting a literal backslash or producing
  an unmatched-quote parse error.
- Fix the password-manager CLI picker
  greying out interpreter scripts (such as
  the Homebrew-installed Bitwarden ‘bw’,
  which is a Node.js script). Also accept
  the symlink target name (e.g. bw.js).
- Improved energy efficiency.
- Fix bell and other user notifications not being
  posted when iTerm2 is not hidden behind another
  app. Notifications now post whenever iTerm2 is
  not the active app or the session’s window is
  not frontmost.
- Fix ⌥Y and the Character Viewer inserting
  a backslash instead of ¥ on non-JIS
  keyboards. Restore ⌥+¥ sending ESC+\
  (with Option=Esc+) on JIS keyboards.
- Fix a bug where a restored session whose
  working directory was on an unmounted drive
  could fail to relaunch, closing the tab. The
  session now starts in your home directory and
  shows a notice. Issue 12955.
- Fix various crashes.
- Fix wrong terminal size after exiting
  fullscreen with multiple tabs.
- Fix tmux window shrink when a pre-tmux
  session is buried after attach.
- Fix theme not updating when changed via
  the Python API.
- Fix legacy hotkey window profiles
  defaulting to 100% width and height.
- Fix NSTextInputClient to use consistent
  absolute coordinates.
- Work around a macOS SVG bug that dropped
   elements referencing IDs nested in
   wrappers inside .
- Fix trigger color wells not prefilling
  with the trigger’s actual colors.
- Fix session tab color across appearance
  changes.
- Fix GPU renderer not respecting a custom
  underline color for non-ASCII text.
- Fix the color space of the block cursor
  in Metal.
- Fix wrong session used for GPU frame
  capture.
- Fix tmux italic rewriting not being
  skipped when TERM matches *tmux*.
- Fix cursor shape being reset to a block
  instead of the profile default when
  programs use the terminfo Se capability
  (e.g. Neovim 0.12+).
- Fix paste bracketing race that could
  cause out-of-order chunks.
- Fix posix_spawn failing with “disclaim
  children” enabled.
- Fix async_set_profile() failing with
  REQUEST_MALFORMED on certain keys.
- Fix tmux close dialog Cancel button not
  preventing window close.
- Fix shell integration not working with
  Login Shell mode.
- Fix Nerd Font Bundle not persisting
  after restart.
- Fix full-bleed drawing of unfilled
  Powerline arrow glyphs.
- Fix multipart Kitty image transmission
  where independently-encoded padded
  chunks did not decode.
- Fix Kitty image transmission rejecting
  paths containing /dev/.
- Fix a “not clearing enough of character
  images” rendering bug.
- Fix adaptive framerate always overriding
  the non-adaptive setting.
- Fix status bar hidden behind the tab bar
  in fullscreen.
- Fix clearing a filter in a maximized
  pane causing the window to shrink.
- Fix divorced session drag-to-split
  losing divorce state.
- Fix a background-tab token execution
  hang when tabs were not rescheduled.
- Fix a per-window settings save bug.
- Fix “dynamic” tag being added to dynamic
  profiles when unwanted.
- Migrate legacy dynamic profiles that
  remained in user defaults.
- Mark navigation now visits marks created
  by triggers, not just prompt marks.
- Fix tmux -CC alternate screen not showing
  in apps like vim.
- Fix memory leaks.
- Prompt before opening a .iterm2arrangement
  file that has been downloaded from the
  internet, because arrangements can embed
  profiles that run arbitrary commands.
  Reported by @naxus-audit.
- Fix “Save Current Window to File with
  Contents…” producing a file that had no
  contents.
- Add dual-mode SGR colors so programs can
  emit different fg/bg colors for light vs
  dark mode, keeping scrollback readable
  across appearance toggles. Use CSI
  38:12:Rl:Gl:Bl:Rd:Gd:Bd m for 24-bit and
  CSI 38:13:Nl:Nd m for 256-color (and 48
  for backgrounds).
- Extend dual-mode SGR to underline color
  via CSI 58:12:Rl:Gl:Bl:Rd:Gd:Bd m and
  CSI 58:13:Nl:Nd m.
- Fix tab graphic matching when the
  foreground binary is a versioned symlink
  target (e.g., claude → 2.1.121) by also
  consulting argv0 and the command line,
  and by walking up to a non-shell ancestor
  when the deepest foreground job has no
  icon match.
- Fix the session’s hostname variable
  going stale when gethostname() at session
  init returned a value (e.g., from a
  transient DHCP-provided name) that
  differed from the OSC RemoteHost the
  shell later sent. Now a host change is
  also detected when the new value differs
  from the most recently pushed one, not
  only from the interval tree’s last-line
  host.
- Add an advanced setting (off by default)
  to set IT2_APP_PATH on new sessions, so
  the “it2” CLI targets this iTerm2 build
  via AppleScript when multiple iTerm2
  builds are running. Useful for iTerm2
  developers.
- Fix memory leaks in the doubly-linked
  list backing iTermCache and the Swift
  LRUDictionary: every cached entry was
  retained forever once the cache was
  dropped. Also fix LRU bump leaving a
  stale node reference, which corrupted
  eviction order after a re-insert.
- Fix paste-history scores using a
  different epoch for freshly saved entries
  vs. entries loaded from disk, which could
  cause inconsistent ordering if score-
  based sorting/eviction were used.
- Request the badge authorization option
  from UNUserNotificationCenter so the
  dock-tile bell-count badge actually
  renders and the “Badge application
  icon” toggle appears in System
  Settings › Notifications › iTerm.
- Hide a top-right status indicator while
  the mouse is hovering an inline button
  it overlaps, so the button stays
  reachable.
- Honor IT2_APP_PATH in the iterm2
  Python library’s AppleScript cookie
  request, matching the “it2” CLI. Lets
  external scripts targeting a -suite
  dev build get a cookie from the right
  iTerm2 instance instead of whichever
  one macOS routes to. Issue 12850.
- Honor IT2_SUITE when checking for
  disable-automation-auth in the iterm2
  Python library, so external scripts
  targeting a -suite instance no longer
  silently fail with 401 when stock
  iTerm2 has “Always Allow All Apps”
  enabled. Issue 12864.
- Add advanced settings to customize
  the window border color for focused
  and unfocused windows (requires
  “Show border around windows” with
  no title bar).
- Add a per-profile “Contextual Alternates”
  toggle to the font picker’s options menu,
  for fonts that expose calt. Lets you keep
  calt-based coding ligatures on for one
  profile while turning off surprising
  substitutions (e.g. Monaspace rendering
  [] as a checkbox) on another. Issue 12847.
- Add an Erase All Settings and Data
  button in Settings > General >
  Settings. It offers to export first,
  then erases preferences, profiles,
  saved sessions, scripts, and the
  contents of ~/.iterm2 and the app
  support folder, then quits
  immediately. Issue 12852.
- Add keyboard shortcut bindings to
  workgroup toolbar items. Navigation
  cluster (back, forward, reload) and
  the standalone reload toolbar item
  each support a per-action shortcut,
  with defaults of ctrl-cmd-left,
  ctrl-cmd-right, and cmd-R. Shortcuts
  take precedence over profile key
  bindings and main menu items but
  defer to global key bindings.
- Add an optional per-peer shortcut
  for jumping to a peer in a workgroup.
  Configurable in the workgroup
  session settings; when unset, the
  built-in opt-shift-cmd-number
  fallback still works. Custom peer
  shortcuts route through the same
  pipeline as workgroup toolbar
  shortcuts, so they beat profile
  bindings and the main menu but
  defer to global key bindings.
- Fix vertical window resize being
  silently rejected when the window
  sits partly below the screen.
- Coalesce pending re-evaluations of
  interpolated strings. Previously,
  every dependency change enqueued a
  fresh dispatch_async on the main
  queue, so a tmux -CC pane title that
  changed many times per second could
  pile millions of blocks onto the main
  queue and exhaust memory. Issue
  12857.
- Built-in browser: hide our message
  handlers and skip the page-world
  Notification, geolocation, console,
  and audio bridges inside Cloudflare
  Turnstile, hCaptcha, and similar
  challenge frames so the captcha
  probe sees an unmodified Safari
  surface.
- Built-in browser geolocation: stop
  silently dropping requests when
  permission is not granted; the page
  now receives a PERMISSION_DENIED
  error instead of hanging. Push the
  decision to the calling frame so
  navigator.permissions.query reflects
  reality, and route success and error
  callbacks back to the originating
  iframe instead of always the main
  frame. Stop persisting system-level
  denials (Location Services off, OS
  prompt declined) as per-site
  decisions; only an explicit Allow
  or Block in the per-site dialog is
  remembered. The same fix applies to
  notification permissions.
- Honor the option-modified “Quit and
  Close All Windows” menu item. iTerm2
  now samples the option modifier at
  quit time and erases saved state when
  the user picked the option-modified
  menu item, so it actually closes all
  windows on the next launch. Issue
  12852.
- Clear tab status when a session’s
  program terminates (broken pipe or
  tmux detach) so stale status text
  and indicators no longer linger.
- Fix a stall after large output bursts
  when the main thread was reading every
  line of the burst to announce it for
  VoiceOver. Two changes: the LineBlock
  metadata provider no longer allocates
  a heap block per inner-loop iteration
  (which was churning through the objc
  associated-objects table on release),
  and the new-output announcement is
  capped to the most recent 256 lines so
  giant floods stop overwhelming
  VoiceOver’s speech queue.
- Fix Session Status toolbelt rows
  appearing in arbitrary order when
  the toolbelt is first opened. The
  initial population now sorts by
  priority like every other update
  path.
- Add a Diff workgroup session mode
  that defers running the configured
  command until there are staged or
  unstaged changes to show. The Claude
  Code workgroup’s Diff peer uses it,
  so the peer no longer launches
  difftool on a clean tree. Existing
  Claude Code workgroups are migrated
  on first launch so the Diff peer
  picks up the new mode automatically;
  flip it back to Regular in Settings
  if you prefer the old behavior.
- Add a urlHandlerCommand advanced
  setting. When set, clicking a URL
  (including OSC 8 hyperlinks and
  auto-detected URLs) runs it as a
  /bin/sh -c task with the URL in
  \(url) and a background-open flag in
  \(background), instead of handing the
  URL to the system. Its output goes to
  the Script Console. Lets you route
  links through your own script, e.g. to
  open in the background or pick a
  browser mode. Empty by default, so
  normal URL opening is unchanged.
  Issue 12878.
- Script Console no longer jumps to the
  top when a new entry arrives. The
  script list keeps its scroll position
  and selection, and a filtered log view
  stays put as new lines come in.
- Fix black, unreadable text in the
  Script Console Logs tab in dark mode.
- Session Stats now shows the correct
  keyboard shortcut for workgroup peers
  that have a custom peer-switch
  shortcut configured, instead of always
  showing the built-in ⌥⇧⌘ number.
- Jobs toolbelt and the status bar job
  popover gain a “Notify on Termination”
  right-click option. Monitored jobs show
  a bell next to their name, and when the
  chosen process exits a modal alert names
  the job and process ID.
- The badge no longer hides behind the
  clippings panel. It now right-aligns
  at the inner edge of the right-gutter
  panel area in both the legacy and GPU
  renderers.
- AI text-typing tools (send_text in
  orchestration mode and
  insert_text_at_cursor in
  session-bound mode) now accept a
  small backslash-escape vocabulary so
  the agent can drive control keys.
  Recognized: \\ for a literal
  backslash, \n, \r, \t, and \uXXXX
  (four hex digits) for any Unicode
  scalar. Set append_newline to false
  for a standalone control key (e.g.
  Escape) so iTerm2 doesn’t tack a
  newline onto it. Lets the agent
  send things
  like  for Ctrl-D,  for
  Ctrl-Z,  for Ctrl-L, and
   for Escape.
- Implement start_session for the
  orchestrator. The agent can now
  spawn a new window, tab, or
  vertical split via the existing
  start_session tool. Every spawn
  prompts for user approval inline
  in the chat, with the placement
  and command (if any) shown in the
  prompt. Returns the new session’s
  synthetic workgroup_id so the
  agent can immediately drive the
  new session with the other tools.
- Dropping a file onto the AI chat
  text field now offers to attach it
  when the current backend supports
  that file type, instead of always
  inserting its path as text. The
  choice can be remembered.
- AI chat can now attach images to
  OpenAI models (vision), and audio
  to OpenAI audio models on the
  chat-completions API. Attachment
  support is now decided by modality
  rather than a per-format allow
  list: if a backend can carry an
  image, PDF, audio, or video block,
  you can attach it, and an
  unsupported file is reported by the
  model instead of being silently
  refused.
- Announcements now become narrower
  when the clippings panel is visible
  so they no longer overlap it.
- Python API: GetPromptResponse now
  has excluded_subranges, listing the
  cell regions inside the command
  range that the shell marked as
  non-input via OSC 133;A;k=s|c|r
  (PS2 prefixes, right-prompt cells).
  Available on responses to
  async_get_last_prompt and
  async_get_prompt_by_id. Always
  empty on PromptMonitor.PROMPT
  notifications — fetch via the RPC
  after a COMMAND_END notification
  for the populated value.
- OSC 133 aid= now tracks nested
  shell-integration sessions: a local
  shell that runs ssh into a remote
  shell with shell integration (or a
  REPL that emits its own A/B/C/D)
  no longer confuses iTerm2's mark
  bookkeeping when the inner D's
  arrive before the outer's. Each
  mark carries the aid from its
  A/B/C/D markers and a parentAid
  pointing at the open mark it
  nested under. D;aid=X closes the
  matching command instead of the
  topmost. If an outer command dies
  (ssh tunnel drop, etc.) without
  the inner ever closing, the outer
  D cascade-closes every still-open
  mark whose parentAid chain leads
  back to it so no inner mark leaks
  as still-running.
- Disable automatic text substitutions
  in the AI chat input field, so things
  like -- no longer turn into an em
  dash and smart quotes, autocorrect,
  and text replacements stay off.
- Fix a bug where installing the Claude
  Code integration added its workgroup
  triggers to the settings UI but never
  wrote them back to user defaults, so
  they vanished on the next launch.
  Uninstalling had the mirror bug. Both
  now flush the profile model to disk.
- The default AI timeout is now 5 minutes
  instead of 30 seconds, giving slow
  models and long responses more time to
  complete before giving up.
- AI orchestration: opening a new session
  with no command no longer prompts for
  permission. When the agent supplies a
  command, the auto-mode safety check
  vets it and approves automatically if
  it passes, only prompting otherwise.
- The Claude Code integration setup
  wizard is easier to navigate. Show
  Toolbelt can now be skipped, the
  default button reflects whether each
  step is already done (Install when it
  is not, Next/Close when it is), and
  the Before You Start sheet has an
  always-visible link to a web page
  explaining the whole integration.
- The orchestrator can now
  watch sessions that report no
  status (plain TUIs, coding agents
  that don't emit status, bare
  shells). register_watch falls back
  to reading the screen with a quiet
  background AI poller and delivers
  the usual status_update when the
  target state is reached, instead of
  noisily polling in the chat. It
  gives up after five minutes with a
  watch_timed_out update.
- The orchestrator's watchers
  can now watch for a plain-English
  condition (e.g. “emacs has exited”),
  judged by reading the screen, in
  addition to idle/working/waiting
  states. Sessions also report whether
  their status is announced by the
  program or merely inferred, so the
  agent picks the reliable watch form
  instead of misreading a splash
  screen as “idle”.
- An orchestrator watcher waiting on a
  session's reported status no longer
  hangs forever if that status gets
  stuck. After five minutes without the
  expected change it falls back to
  reading the screen to confirm the
  real state.
- Workgroup code-review/diff sessions no
  longer hang on “waiting for changes” in
  a checkout full of untracked files. The
  per-file diff list now excludes
  untracked files, so git rename detection
  no longer hashes every untracked file in
  the tree and the poll finishes within
  the git timeout.
- The Workgroups settings pane has a
  help button in the bottom-right
  corner that opens the Workgroups
  documentation.
- Next/Previous Pane (cmd-[ and cmd-])
  work again after using Session >
  Restart Session on a maximized pane.
  Restart gives the session a new GUID,
  and the maximized reading-order list
  was keyed by GUID, so it could no
  longer find the restarted pane. The
  order now tracks panes in a way that
  survives a restart and other in-place
  session swaps.
- Fix a bug where Fold All and Clear
  Buffer left inline views (such as
  imgcat images) behind. Folded views
  are now hidden and restored on
  unfold.
- Fix a bug where the Jobs toolbelt was
  empty after restoring a session until
  the next job or shell prompt. Restored
  sessions now populate it immediately.
- The Session Status toolbelt tool has a
  bell toggle in its bottom-left corner.
  When armed, the next time any session’s
  status (waiting/idle/busy) changes it
  shows an alert and turns itself back
  off. A brief flicker that returns to
  the original status does not count.
  Window > Notify on Status Change
  (shift-cmd-X) toggles the same thing
  from the menu.
- The Cockpit window now shows each
  session’s detail string under its
  name when grouping by status.
- The Cockpit window has a bell button
  that arms notify-on-status-change for
  the selected window or session, and
  rows show a bell when armed. The
  per-window watch is shared with the
  Window menu and the Session Status
  tool; per-session watches are new.
  Notify-on-status-change now works
  whether or not the Session Status
  toolbelt tool is open.
- Killing or reloading claude in a Claude
  Code workgroup peer (such as the Code
  Review or Diff peer) no longer exits the
  whole workgroup. The Exit Workgroup
  trigger has a new leader-only option, set
  by the Claude Code installer, so only the
  main session's claude ending tears the
  workgroup down. Existing setups are
  upgraded automatically.
- Job Ended triggers now fire reliably
  when a foreground job exits, including
  when it exits together with the
  session. Job started/ended detection is
  now event driven (from the process
  monitor) rather than inferred from the
  periodic title poll, which could miss a
  job's termination.
- The notify-on-status-change alert has a
  Reveal button that jumps to the session
  whose status changed. A window watch
  now covers every session in the window,
  including ones created after it was
  armed.
- Workgroups are now tracked by a stable
  identifier, so a workgroup whose main
  session had already closed can still
  be exited and torn down instead of
  leaking and stranding its remaining
  sessions invisibly.
- Session lookup now also searches
  buried sessions' workgroup peer ports
  and the workgroup registry, so a peer
  whose only visible sibling was buried
  can still be found and revealed, e.g.
  from the Session Status tool.
- A Session Status row whose session
  cannot be found renders blank instead
  of showing a recycled row's content.
- Switching between workgroup peers no
  longer wipes a session's entry from
  the Session Status tool. The per-tab
  status rollup was borrowing the
  session's identity and clearing it
  when the visible peer changed.
- Sort JSON keys in the Responses API
  request so OpenAI prompt caching gets
  a stable prefix and reliably hits the
  cache.
- Terminal-initiated downloads (it2dl)
  now ask whether to save to the
  Downloads folder or to choose a
  destination. The choice is
  silenceable, so you can make it
  always save to Downloads or always
  show a save panel. Issue 12897.
- Settings > Keys > “Force keyboard” gains
  an option to only force the keyboard
  locale once per session, the first time
  a newly created terminal receives
  keyboard focus, instead of forcing it
  continuously. Restored sessions are not
  affected.
- Fix a bug where a pane could restore
  in your home directory instead of its
  previous working directory after
  restarting iTerm2. Sessions that used
  automatic profile switching saved a
  value that could not be read back,
  which silently dropped the rest of
  the restored session state.
- OSC 9;4 progress bars now draw over
  the profile's background color
  instead of a fixed black or white
  background, so they blend with your
  theme. Issue 12916.
- Fix OSC 8 file:// hyperlinks whose
  path mixes percent-encoding with raw
  non-ASCII characters (such as
  ripgrep's --hyperlink-format=file
  output) opening the wrong file. The
  percent signs were being double-
  encoded on macOS 14 and later. Issue
  12914.
- Fix a bug where a dashed underline on
  screen, with ligatures enabled, could
  make box-drawing lines (such as a TUI
  input box) render dashed instead of
  solid. Issue 12907.
- In the Minimal theme, when panes in a
  tab have two or more different tab
  colors, each pane's title bar is now
  tinted with its own tab color so you
  can tell them apart. When the panes
  share one color (or none) the title
  bar keeps blending with the terminal
  background as before. Issue 12903.
- Fix dead-key composition (such as US
  International apostrophe then e) losing
  its accent under the Kitty keyboard
  protocol when both “report all keys as
  escape codes” and “report associated
  text” are enabled. Issue 12906.
- AI Chat messages now use a narrower,
  more readable layout with clearer
  command and error formatting.
- AI Chat permission prompts now show
  proposed commands in code blocks.
- AI Chat command output now renders
  as rounded Markdown code blocks.
- AI Chat terminal-command transcripts
  now render captured output as rounded
  code blocks.
- AI Chat's floating toolbar now omits
  the chat title and resizes when model
  controls appear or disappear.
- AI Chat can select model-supported
  reasoning effort and OpenAI service
  tier from the chat toolbar.
- AI Chat now hides reasoning effort
  and OpenAI service tier choices for
  models that do not declare support
  for them.
- AI Chat can hide and show its chat
  list without reopening the window.
- AI Chat's chat-list toggle now stays
  at the top of the chat area when a
  window is first restored.
- AI Chat history entries can now be
  selected in groups and deleted with a
  single confirmation.
- AI Chat history entries can now be
  renamed from the chat list.
- AI Chat no longer sends unsupported
  low reasoning effort to OpenAI Pro
  models.
- AI Chat now reloads past tool runs as
  transcript text, preventing OpenAI
  reasoning models from rejecting old
  function calls after a chat is
  reopened.
- AI Chat now closes OpenAI Responses
  tool calls with an explicit tool
  output on local tool failures, which
  prevents follow-up turns from failing
  with missing function output errors.
- AI Chat no longer crashes while opening
  if the toolbar refreshes before the chat
  view is loaded.
- AI Chat now keeps API keys separate per
  provider, so Claude is not sent a key
  saved for another AI service.
- AI Chat no longer asks for an API key
  when the active provider already has
  one saved in Keychain.
- AI Chat now checks saved API keys
  before showing plugin setup warnings.
- AI Chat now sends Gemini-compatible
  function schemas for tool arguments
  that accept multiple JSON types.
- AI Chat now renders orchestration
  session command tool calls as command
  blocks instead of exposing raw session
  GUIDs and JSON arguments.
- AI Chat now lets new chats choose their
  AI provider from the chat toolbar, while
  keeping the provider fixed after the
  conversation starts.
- AI Chat's provider picker now includes
  local Llama models and a manual model
  configuration option when configured.
- AI Chat can now manage multiple manual
  AI model configurations and select them
  from the chat model picker.
- A manual AI model now takes precedence
  over a built-in model with the same
  name, so you can proxy a known model
  through a custom URL by reusing its
  name.
- Manual AI models now have a “Supports
  temperature” checkbox, set from the
  preset, so a manual model cloned from
  Anthropic Opus 4.7+ no longer sends a
  temperature the API rejects. Existing
  manual models inherit this from the
  matching built-in. The OpenAI and
  DeepSeek request paths now honor this
  setting too, not just Anthropic.
- Manual AI models now have a
  “Configurable thinking” checkbox, set
  from the preset, so a manual reasoning
  model (such as a GPT-5 or DeepSeek model
  behind a proxy) keeps its thinking
  toggle. Same-named clones also inherit
  the built-in’s reasoning-effort and
  service-tier choices.
- Manual AI model settings now show saved
  models in a list instead of a pop-up
  menu.
- AI Chat now locks the provider picker
  immediately after a conversation starts.
- AI Chat now locks the model picker
  immediately after a conversation starts.
- AI Chat now shows orchestration terminal
  command results as raw code blocks and
  keeps session GUIDs out of user-facing
  tool summaries.
- AI settings now choose the default
  model for new chats from one selector,
  including saved manual AI models.
- You can now designate a manual AI model
  as the “economy” model (leaf toggle in
  Manual AI Models). It is used for cheap
  background jobs like command-safety
  checks and screen-idle detection instead
  of your main model.
- Fixed a crash when using Undo after
  closing a split pane that contained a
  command composer.
- Closing the inline AI chat panel now
  returns keyboard focus to the terminal.
- Companion relay connections now retry
  with capped backoff after failures,
  instead of reconnecting (and, during
  pairing, regenerating the QR code) many
  times per second when the relay is
  unreachable, for example due to a bad
  TLS certificate. Connection errors
  during pairing are now shown in the
  pairing window.
- Companion pairing connection failures
  now report the underlying error (for
  example the TLS or HTTP problem)
  instead of an unhelpful generic
  PluginError message.
- The Claude Code integration's session status
  now stays “working” while background agents
  or background tasks are still running, so
  AI chat watchers no longer fire on the idle
  lulls between subagent phases. Requires
  Claude Code 2.1.198 or later.
- AI orchestration: workgroups and sessions in
  the agent's snapshot now carry provenance,
  such as which trigger entered a workgroup
  and which chat's agent created a session,
  so an agent is not confused by workgroups
  that other windows or chats created.
- AI orchestration: session snapshots, screen
  contents, and watcher status updates now
  report how long ago the screen last
  changed, so agents can tell stale content
  from fresh activity.
- The AI chat wire log now redacts API keys
  (in request headers, URLs, and bodies),
  keeping only a short fingerprint.
- Chats can now be muted from the iTerm2
  Buddy app. A muted chat sends no push
  notifications to the phone, even for
  permission requests, until it is
  unmuted. The muted set is remembered
  on the Mac so it applies even while
  the phone is unreachable.
- AI chats reopened after a restart now
  replay their tool-call history to the
  model faithfully. Reasoning state
  (OpenAI encrypted reasoning, Gemini
  thought signatures) is saved with the
  chat and replayed, so reasoning models
  no longer reject reopened chats or
  invent fake tool results. Chats from
  older versions keep working through a
  compatibility path.
- A chat is now locked to the AI
  provider it started with, enforced in
  the model layer as well as the UI.
  Messages sent from the iTerm2 Buddy
  app now run on the chat's own model
  instead of the global default.
- The iTerm2 companion relay servers moved
  to new addresses. If you paired an iPhone
  on an earlier build, pair it again so it
  keeps working.
- AI orchestration: commands the agent runs in
  a session now go through the same automatic
  safety check as regular AI chat, instead of
  running once a session is approved. This
  covers both execute_command and commands the
  agent types at a shell prompt and submits.
  Risky commands are held for your approval
  rather than run automatically.
- AI orchestration: keystrokes the agent sends
  into a full-screen program (vim, less, htop,
  a coding agent, etc.) are now safety-checked
  too. The AI reads the current screen and the
  conversation to judge whether the keystroke
  is safe given what you asked for, and holds
  anything dangerous or unrequested for your
  approval.
- AI orchestration: the automatic command
  safety check no longer hard-blocks anything.
  Refusing a command outright could dead-end a
  task you asked for (like deleting a directory
  you had just created). Instead the AI now
  judges each command against what you asked
  for, and a scary-but-legitimate one is held
  for one-tap approval rather than refused.
  Deleting a subdirectory you requested just
  runs; only a real root or home wipe, or a
  suspicious command, stops to ask first.
- Companion: a paired device that still worked
  no longer nags you to re-pair on every launch
  after installing a new version.
- Companion: when the relay hits its daily
  data limit, the Mac now shows “Daily relay
  data limit reached” in Companion settings
  and backs off instead of retrying in a
  tight loop until the limit resets.
- Companion: push notifications to a paired
  iPhone are now coalesced and more accurate.
  A burst of agent activity no longer sends a
  wakeup for each step, and the generic “Your
  agent has an update.” placeholder is gone
  for ordinary replies. A permission request
  that blocks the agent now shows what it
  needs and plays a sound instead of a silent
  placeholder, while the agent’s own automatic
  tool calls stay quiet.
- The it2 command-line tool now works on hosts
  you reach through SSH integration. Its API
  requests are routed back to your local iTerm2
  over the conductor and run there, gated by a
  per-session permission prompt naming the host.
  it2 is installed automatically wherever shell
  integration loads. Shell > SSH > “Remote host
  can control iTerm2” toggles this permission for
  the current connection and shows a checkmark
  while it is granted.
- Session-bound AI chats can now read the
  visible screen on request with the same
  get_screen_contents tool the orchestrator
  uses, gated by the “View Contents”
  permission. In a full-screen app it returns
  just the current screen, with no scrollback.
- AI chats linked to only a web browser now
  use a browser-appropriate system prompt
  instead of one that described a terminal
  they were not attached to.
- Workgroups: reloading a diff session now
  re-runs the command matching the file
  picker’s current selection. Previously, if
  the file you were viewing stopped having
  changes and the picker snapped back to “All
  Files”, reload would rerun the old per-file
  diff, find nothing, and exit immediately,
  closing the session.
- The built-in web browser now prompts for a
  user name and password when a site returns
  an HTTP authentication challenge (Basic,
  Digest, or NTLM) instead of failing to load.
- The keychain permission prompt that appeared
  after upgrading, for AI API keys and for a
  paired companion device, no longer recurs on
  every update. Those secrets now live in an
  entitlement-scoped keychain group that stays
  readable across signed builds. Upgrading to
  this version prompts once more to move them.
- The Companion Device Settings window now
  shows the paired device’s relay room name
  in hex, so you can match it against the
  phone and the relay logs when reporting a
  problem.
- Companion pairing moved to the new sharded
  relay resolver. Older iPhone apps can no
  longer pair and are told to update. A
  pairing made before the move must be made
  again.
- Fixed a bug where flag emoji (such as a
  country flag) rendered as blank cells or
  flickered under the GPU renderer. The two
  regional indicators that make up a flag are
  now shaped together, matching the non-GPU
  renderer.
- Debug logging now caps memory use at about
  200MB (discarding the oldest entries when it
  grows past that) and no longer freezes the
  app while saving the log when you turn it
  off.
- Companion: if you never paired a device,
  iTerm2 no longer touches the companion
  keychain items at launch. This stops a
  spurious keychain permission prompt for
  people who alternate differently-signed
  builds (such as a released build and one
  built from source).
- A saved status bar layout whose RPC-provided
  text component is missing its registration
  request is now dropped instead of showing up
  as a blank “ghost” cell.
- Fix a memory corruption bug that could crash
  iTerm2 intermittently, most often when
  closing a tmux window caused surviving
  sessions to resize while output was still
  streaming. Lazily cached line-wrapping info
  could be written into scrollback storage
  shared with another thread. Issue 12941.
- Reduced redundant preference reads on hot
  paths (margins, dimming, and per-pane
  background image). Idle windows no longer
  read these settings thousands of times per
  second, which quiets excessive CoreFoundation
  logging and saves a little CPU.
- Fixed modified keys such as Ctrl-J and
  Shift-Enter not reaching some apps (for
  example Codex) running under tmux
  integration (tmux -CC). iTerm2 now hands
  these keys to tmux by name so tmux encodes
  them just as it does outside control mode,
  honoring its extended-keys-format.
- Fixed a three-finger drag over a mouse-
  reporting app (such as tmux with mouse
  mode on, or vim with mouse=a) producing
  both an iTerm2 selection and the app's own
  selection at once. Three-finger drags are
  now forwarded to the app like one-finger
  drags when mouse reporting is active, so
  the app owns the selection. Hold Option
  during the drag to make a local iTerm2
  selection instead. Issues 12953 and 12950.
- Added a Copy URL context menu item that
  copies the URL under the cursor, stitching
  wrapped URLs back together so you can paste
  a clean link into a browser other than your
  default. Issue 12944.
- Fix VoiceOver QuickNav navigation not
  engaging after interacting with the
  terminal, which previously required
  toggling QuickNav off and on.
- Fix VoiceOver reading stale terminal
  text when the screen was cleared and
  new output arrived while interacting.
- Fix VoiceOver focus jumping to the top
  of the terminal when new output
  arrived, and make new output reachable
  without re-interacting.
- Web links handed to iTerm2 by the system
  (for example when it’s your default
  browser, or via “open -a iTerm2 ”)
  now open in the built-in web browser
  instead of a terminal, unless you’ve
  bound the scheme to a specific profile.
  Issue 12431.
- Fixed the iPhone companion connection
  getting stuck after the relay dropped an
  idle socket. A keepalive ping that never
  got a reply could hang forever, so the Mac
  kept believing it was connected and never
  reconnected. The ping now times out and
  forces a reconnect.
- AI chats that control or coordinate your
  terminal sessions now use far fewer tokens
  on long conversations. The live snapshot of
  session state sent each turn is no longer
  part of the cached prompt prefix, so the
  conversation history is reused from cache
  instead of being reprocessed every turn.
- Fixed a bug where a tab reshaped by the
  Python API’s apply_layout could end up with
  no focused pane, so typing went nowhere until
  you clicked a pane. Focus is now restored
  after the layout is applied.
- AI chat history is now replayed to the model
  from the exact bytes previously sent rather
  than rebuilt each turn, so the prompt cache
  stays valid across turns (including turns
  that ran a tool) and long conversations keep
  getting cheaper and faster.
- Sending a message in a long AI chat is now
  faster: when the whole history is already
  stored as sent-bytes, it is no longer
  reprocessed to build each request, so the
  per-message work stays small no matter how
  long the conversation gets.
- Fix “Save contents…” suggesting a
  filename containing colons/slashes in
  the timestamp, which macOS shows as “/”
  and disallows. Issue 12931.
- The command info popover’s “Started at”
  time now honors the system 24-Hour Time
  setting instead of always using a
  12-hour clock. Issue 12929.
- A new advanced setting,
  CompactTabBarStoplightButtonsWidth, lets
  you adjust the width reserved for the
  window buttons before the inline tab bar
  in the Compact and Minimal themes.
- Fixed a bug where Undo Close (⌘Z) could
  leave behind an invisible empty window when
  the closed session could not be restored.
  Besides being a leak, these phantom windows
  crashed Python API scripts with a
  RecursionError. Empty windows are now closed,
  and the Python API no longer reports a
  selected tab for a window that has none.
- Fixed a bug where a Python API script
  launched from the Scripts menu of a
  secondary iTerm2 instance (one started with
  -suite) connected to the main instance's API
  server instead of its own, controlling the
  wrong app.
- Fixed a bug where Make Screenshot did not
  render ASCII ligatures (like -> or =>) even
  when the profile enabled them and the font
  supported them. Screenshots now ligate the
  same way the terminal does.
- Fixed a bug where tmux panes received stray
  focus-report escape sequences on focus
  changes even when no program in the pane had
  turned on focus reporting. Reports now go
  only to panes whose app requested them (by
  emitting DECSET 1004), matching how non-tmux
  sessions behave.
- Fixed Semantic History (Cmd-Click) failing
  to open files in JetBrains IDEs such as
  IntelliJ IDEA, WebStorm, and Rider. iTerm2
  now runs the IDE’s command-line launcher
  directly (forwarding to the already-running
  instance) and passes the path before the
  --line option, which the current launcher
  requires. Issue 12958.
- Fixed a bug where the OSC 9;4 progress
  bar was hidden by the border around the
  active pane. The bar now draws on top of
  the border's top edge. Issue 12960.
- Fixed a bug where some profile settings
  that apply to all profile types (such as
  “Border around active pane”, “Use custom
  tab color”, and Color Presets) could not
  be found with the preferences search box
  while editing a profile.
- Added iTerm2 > Suppressed Alerts, which lists
  warnings that are being answered automatically
  because you chose to remember your response
  (for example, declining terminal-initiated
  image display, which silently stops inline
  images from appearing). You can select an
  alert and un-suppress it so it will be shown
  again. The old View > Always Show Alerts with
  Remembered Selections command now lives in
  this panel as a checkbox.
- Scripts > Manage can install and update
  the uv-based Python runtime when the uv
  advanced setting is enabled.
- On macOS 27, which removes Rosetta, no
  longer prompt to install Rosetta for
  Python scripts, and rebuild or replace
  Intel-only Python environments for
  Apple Silicon instead of failing.
- Fix a full-environment Python script run
  from Open Quickly (or before its
  environment finished installing) launching
  on the shared runtime and failing to
  import its own dependencies.
- Fix the Script Dependency Editor showing
  [Error] for a package’s installed version
  when its dependency has a version
  constraint (e.g. aiohttp>=3.14.3).
- The Script Dependency Editor can now
  change a uv script’s Python version to any
  version uv provides, rebuilding its
  environment, not just the installed one.
- A failed Python version change (e.g. to a
  version where a pinned dependency has no
  wheel) no longer destroys a uv script’s
  working environment; the new one is built
  aside and swapped in only if it succeeds.
- Replacing an installed script during import
  no longer deletes the existing script if you
  cancel the Python download; the original is
  kept and the cancellation is reported.
- uv runtime updates no longer fail on slow
  connections (the download is no longer capped
  at a fixed total time).
- Legacy scripts whose setup.cfg has no exact
  Python pin now get the same version-change
  warning as pinned ones when migrating to uv.
- On macOS without Rosetta, iTerm2 now asks
  before replacing an Intel-only Python runtime
  with the Apple Silicon build, and stays quiet
  if you decline.
- A script whose replacement is interrupted by
  a crash mid-install is now restored on the
  next launch instead of being lost.
- The Scripts menu no longer lists files or
  folders whose names begin with a dot.
- Migrating a script to the new Python runtime
  no longer runs Intel Python interpreters
  found on your PATH, which could trigger a
  macOS “Intel-only binary” warning.
- When a keyboard shortcut stops matching
  because your input method changed the
  character a key produces, iTerm2 now offers
  to interpret key bindings by physical key.
- Fixed a bug where decomposed Hangul, such
  as Korean filenames stored by HFS+, was
  drawn as separate jamo letters with the
  wrong width, which corrupted cursor
  movement. Conjoining jamo now compose
  into a single syllable cell.
- OSC 9;4;4, the ConEmu progress protocol’s
  paused state, now works when the percentage
  is left out, which the protocol allows. The
  bar keeps the percentage it was showing and
  changes color instead of doing nothing. If
  there was none, it shows a small one so the
  paused state is visible.
- Advanced Paste with bracketed paste on but
  “Wait for shell prompt” off now pastes a
  multi-line block as one editable buffer on
  zsh, bash, and fish, so you can review it and
  press Return once, instead of running each
  line as it arrives.
- When a paste is paused waiting for a shell
  prompt, the paste indicator now has a keyboard
  button that sends your typing straight to the
  terminal instead of queueing it, so you can
  answer a prompt the paste is stuck on (such as
  a password or zsh’s spelling correction).
- Exiting a workgroup, or closing one of its
  tabs, no longer leaves the main session’s tab
  showing a blank pane when a non-main peer was
  the visible one.
- Fixed a workgroup whose tab (or split) hosts
  its own peer group coming up with no toolbar
  and no peer switcher.
- Workgroup peers nested inside a tab or split
  now inherit their profile and directory from
  the session the workgroup was opened on, so a
  workgroup opened on a remote host keeps every
  peer on that host.
- Closing a workgroup session that would exit the
  whole workgroup now warns you that its other
  sessions will close too, naming the workgroup
  and how many more sessions will end.
- Tab groups can be collapsed: click a group's
  chip (or use its menu) to hide its tabs behind
  the chip, which shows a member count. Selecting
  a hidden tab reveals the group. Collapsed state
  persists across restarts.
- Collapsing and expanding a tab group now
  animates: the member tabs slide shut and open.
  Works on horizontal and vertical tab bars in
  every theme.
- Dropping a file on a local terminal no longer
  offers to upload it when the machine answers to
  more than one name (for example .local versus a
  DHCP-assigned name). Localhost is now recognized
  by any of the machine's names.
- Fixed a bug on macOS 26 (Tahoe) where the tab
  bar's overflow menu left out the first hidden
  tab, so clicking the chevron with a single
  overflowed tab opened an empty menu.
- Refreshed the built-in AI model list: added
  Claude Sonnet 5, GPT-5.6 (Sol/Terra/Luna),
  and Gemini 3.7/3.6 Flash and 3.5/3.1
  Flash-Lite. Removed retired Claude Opus
  4.1 and older Gemini models.
- AI Settings can now automatically update the
  built-in model list from iterm2.com (off by
  default), with an Update Now button to check
  on demand.
- In orchestration chats, a session reference
  the AI writes without a leading @ now still
  renders as a clickable session link.
- Fixed a bug where the Keys > General tab in
  the Edit Session window could appear empty
  for a terminal session after editing a
  browser session, because previously hidden
  controls were not restored.
- Fixed the color of the locale description in
  Settings > Profiles > Terminal so it adapts
  correctly when switching between light and
  dark mode.
- Fixed a white rectangle that appeared to the
  right of a collapsed tab group in the Minimal
  theme when the group was the rightmost item
  in the tab bar.
- The Shell > Workgroups menu now shows a
  checkmark next to the workgroup the current
  session belongs to.
- Fixed a crash that could occur when doing a
  global search that included a browser session.
- Fixed a bug where the top-right session
  indicators left a horizontal smear while
  swiping between tabs with two fingers.
- Fixed a bug where an SGR sequence or SGR
  trigger with more parameters than fit
  attached the extra parameters’
  subparameters to the last parameter that
  did fit, changing its meaning: underline
  could turn into dashed underline. SGR
  triggers also silently dropped their 16th
  parameter.
- Fixed a bug where toolbelt lists
  (Command History, Recent Directories,
  Captured Output) could stay blank until
  the window was resized when a new window
  was opened with the toolbelt showing.
- Fixed a bug where modified function keys (such
  as Shift-F5) lost their modifier in a tmux
  integration session, sending the unmodified
  sequence instead of the xterm form like
  ^[[15;2~.
- Fixed a bug where a sixel image whose
  terminator had a doubled escape (ESC ESC \
  instead of ESC \) was discarded entirely,
  leaving a stray backslash on the screen. The
  image now renders.
- Fixed a bug where a left- or right-of-screen
  window could suddenly change width (growing or
  shrinking to a second tab’s profile size) after
  a display-configuration change, instead of
  keeping its own width.
- Fixed AI chat failing on OpenAI models with an
  error about an invalid tool schema. Also fixed
  a crash while parsing AI responses that
  contained a null value inside an array.
- Fixed a bug where, on OpenAI models, the second
  and later messages in an orchestration or
  terminal-linked AI chat were ignored: the model
  received only the terminal/workgroups context
  and replied as if you had said nothing.
- Fix Cmd+G skipping matches sometimes.

You can use the following to verify the zip file on https://keybase.io/verify:

-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA256

14b5131e9134d0012466574fba6d69fb9ef84eee66660ee861e2da483089574a
-----BEGIN PGP SIGNATURE-----

iQJPBAEBCAA5FiEEoSV4Xzv7YY5VD+aYJiz+XnkavhsFAmqgczEbFIAAAAAABAAO
bWFudTIsMi41KzEuMTIsMCwzAAoJECYs/l55Gr4bjDoP/1+lPhE6sx1ncoztt1Wo
sGt4+nevX3AGWCzsPbmEwZv3mWf6FTuceL1TQQnTSdHDaAIVZj76dJ/b0vc++LGe
G/CLvuFJf/2O3Uv+EOwNgKZwKPOYFUFU/1SZuekBBtkryhSIa2zBaMLKGurEc3Qq
sPOZgbPqwf/lJSsGAO2kwISvr7t0rHIODJdbSrY5iT2nxUSNvrHsmU8b1aOARqiC
i1cEOI7WJ71Mj0kFJfENqzdD05Se8c1p5TeItqAp/M8lcbsqgGE7QCSmkfKEQ8xo
PXQD+Rmm9qMzFA4HESET/1uTUTpPDMU5frs41wvEvW9/N987NqFxEb58hLlAFcFh
KcxHdmBN0JY0/WsuJGHOCp1MMyxtaY7XjmPXdY3PeYznquWyzPbcpirQ39+nh/nU
rKFEhscH0hd22ZviQ7Pr7jMUcroY77XkVjpwe2arhQFdtUVHXm+8EangQ0A0p6CZ
yN73j9855BkkE0eMJhclFiBhs4yIeheo2QZWuRpv/r6uTMIh4jUo3VnagYMWQFUn
NmtVfsxURz79LZYGiRxSxZCgyofCgJZnhe7LtYaEAcHO21rwxaTGDMfntDZ755Gk
x1YvAXaF4Qnf9eCqBY9eBvqWtE3NVDJ6r8kPnr7bTd4iVpEr6PRgz30H/O7bAp13
IhlPg8odUC1HZSI/STyAgc4i
=GjPY
-----END PGP SIGNATURE-----
```

### Older Stable Releases

#### [iTerm2 3.6.11 (macOS 12.4+)](https://iterm2.com/downloads/stable/iTerm2-3_6_11.zip)

This is the recommended build for most users.
Built on June 2, 2026.

[▾ Hide Changelog](<javascript:hideId('4091589368709200566')>)

```
Version 3.6.11 was built on June 2, 2026

- Fix a number of bugs that caused crashes.
- Update AI models.

You can use the following to verify the zip file on https://keybase.io/verify:

-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA256

36e78c5049560eaa8e122224f6652eb4b229c61cd5e7332d6d25b5c36f7398e7
-----BEGIN PGP SIGNATURE-----

iQIzBAEBCAAdFiEEoSV4Xzv7YY5VD+aYJiz+XnkavhsFAmofOroACgkQJiz+Xnka
vhtfbA//bMypr0WCAmB+nPDl9pG7tYn+UdmBeEtrPs8AgvrL8gRW/3vSs5+b0z/L
ihcGDSSUujSr6gZh92xmszoV7NRHj4Ko/b0eRH5V6/helzpGBBCiSBIn9TwqLVMv
vRinEbm7INmeIl80BHR+SdGhQayhjA5+2391dk/Fkn3l5gFCXpSXUiuTM2EYSG5l
d+e+nHhyFBj57Ru334JNUciuY4xwaJS4vTwaeIAYiPEN1ZjMGAg0GYuRF7yMUF2o
a+4vknznOY+gAhQBB++P6o9EBd+rAmv9cKuGafAfnajgYAFir+FJYSuRVKmn6Zb2
JgLUoWhDVWg+YKkIH8AA54ICah62jqQ5+q7GGiTTfTkqsfWAandWgJ8XHwJSXJTL
8mVzoW5w6JfZZ+rAqphSZ1z4n5ioPOArqJF6ZhFXJTOHL9/2e9mK8ELZ8bWtVa+g
BEOwW/KWtoHD/hg2USDsCQRRPCyao4klp9EWMXq9hQYDxLYD2kT/jKMT9fQVYB+F
tkAtr+S1dHNimg9OefqEQG3tofFSlenwenHEgwcf7z7SK3e69uA1IoS67qKdN2fh
4v2XIB6DC3ni/2mTAUGuxaZBy6Wsr6Diqagt3hwa7QKlyUVuKca7TM6EFwU5w3kl
z74/jazxyNutYRrJlSc3ckA+JQRlKrAWgfjFs7wOXEeHAX8S5Rc=
=fEx0
-----END PGP SIGNATURE-----
```

#### [iTerm2 3.6.10 (macOS 12.4+)](https://iterm2.com/downloads/stable/iTerm2-3_6_10.zip)

This is the recommended build for most users.
Built on April 20, 2026.

[▾ Hide Changelog](<javascript:hideId('5912208836655696377')>)

```
Version 3.6.10 was built on April 20, 2026.

Security:
- Harden SSH integration against
  hypothetical in-band signaling abuse in
  the conductor handshake and it2ssh
  shutdown sequence.

New Features:
- Added support for Bitwarden as a password
  manager.
- Added support for Keeper Security as a
  password manager.

Bug Fixes:
- Fix a crash in the password manager when
  copying a password.

You can use the following to verify the zip file on https://keybase.io/verify:

-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA256

f62ce1cb28ac85a99b17447bebebbc2b2e4f6dd59ad7d64a612e39e07ce223ca
-----BEGIN PGP SIGNATURE-----

iQIzBAEBCAAdFiEEoSV4Xzv7YY5VD+aYJiz+XnkavhsFAmnmsZsACgkQJiz+Xnka
vhuUOQ/+L4p5JPvBIssuvsxogptcRF8Fw+A7GWysEfZhDfJGUVXxnCQKmW4ge7Rv
yu0s7UMB4+2Aj7L1bxumHxlAVoYc0CynBrd6BPaNyAPz6zenL2X+fzwPoHxP1yKN
XOWVl6w1A0GULTG3SEQKf6QKddZxy9eCzaVz19hZJpzwLMm3PNrrz8eXxBwDemCN
zpRIb7CITNIINuzAUdhFRPMuWYPaNmlTBj6UlKhiQh51fiV70DcXdFfZ1oZUtDOe
hCrzwGW6EzhGoHhng/FFSiCRvrPdka9MtFEYqTh9Nu8HqS43jTPXXj3P3pdAErue
6JwYEnvgqKuIwr/0tAkRK/rt6KqdWLe/TBKaNm72qvhubN5cF4kQetqMGWgA6/Vu
aTg1T0tLG8S2yf4pQpS9KurNC5JhWshUkJbyP4CY1iSDB8NyVzuGxNCaf5ymMByw
Pkk/Lyo5/KChr9dyv2F8NaYMZhJbOvhxaqQT8WhqZa2gChqMiDCGiuna+orUHQ5D
x3FR3udUgS1Y4NaEHCYDZGxQ3k+nmGBSnaICG3sOO0AVBMUqdO99GLFzlL7/4Bm/
hsBmPq1W7U7TNLlR8xnzvKfI4Oh/QeHTzEOqqoserSl5Ya1gELkzAhdLlzrk5w8q
eQfX7vFIP0aJj9ESFYVYgylVcBgwC3PU4Pfg4ib+o3wVqrHbVis=
=05HQ
-----END PGP SIGNATURE-----
```

#### [iTerm2 3.6.9 (macOS 12.4+)](https://iterm2.com/downloads/stable/iTerm2-3_6_9.zip)

This is the recommended build for most users.
Built on March 10, 2026.

[▾ Hide Changelog](<javascript:hideId('2778908285278049544')>)

```
Version 3.6.9 was built on March 10, 2026.

Bug Fixes:
- Fix a number of crashes.
- Fix rendering of Powerline chevron characters.
- Fix a bug where background colors were sometimes
  incorrect.

You can use the following to verify the zip file on https://keybase.io/verify:

-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA256

27c00f476978c0a243144a0e03f01345facd0812ce4112fabaa54168c050b19e
-----BEGIN PGP SIGNATURE-----

iQIzBAEBCAAdFiEEoSV4Xzv7YY5VD+aYJiz+XnkavhsFAmmwgTUACgkQJiz+Xnka
vhtgLQ/+JHBTQSXs863hFGPpvohNy+fxpnI8XDOnX/cY+2KQYtXiAmjN8qWxy19R
gOVDZ/XEzmcm1SeqbTzpaYrDBOQA6dbJx4Mj+HtCoPIEmJwDRcMH+dFL/uEWZY0J
bxBfum6RU9uTLqgr9MsIcBI7Z5M8wFRyELK4NGONM9luGFK/jXkKMLdDb+EWFM6E
ofn1ElAzUohOHSc1Hc76IadD0Er4hEvaS48O+Q+5SerKwN+AOxAnWe8TqNwMS+1s
NbKpYSmoVTvrvY22V9y5ufIYJl9FvDBsz1B6V3tjJfm+bf5EGHuDjCg9v28Q1K42
fosA8DSAsPFC+EEtggbeQVdQOxsX1ArBsAWFjvw4oBccQnaNE+JUrKb4a8htS6an
O5nX9U+CKUO4REsaAJyHSoSYWvY73ebM9w4bmGhOcqakd+08VPK3NTki3aj33u5g
U7K1l5hieuWzs6XrWFPyFrA9TFoL7b6R7adP4nefEpiVczo3EhZ9LF3EV8KXXIHw
+3f/NbEf9i0k9sAhRLN0QBHl6xpdrD5rn21E4KRIzHXO6WH5fVU1J+/3dWmT2HLK
DW0S4SGfouUAV2eHiGpa15tN9EAboJ6+JvNt7nx/j/Ui2hHV3e3Nlh2qaZHq4N+O
oDUJIODp9hvye4CH5X9ApMh2niJ1RpOldZ2+yUvmek+H+RoG8vs=
=Glxq
-----END PGP SIGNATURE-----
```

#### [iTerm2 3.6.8 (macOS 12.4+)](https://iterm2.com/downloads/stable/iTerm2-3_6_8.zip)

This is the recommended build for most users.
Built on February 26, 2026.

[▾ Hide Changelog](<javascript:hideId('7224889920086847273')>)

```
Version 3.6.8 was built on February 26, 2026.

Note that 3.6.7 was a short-lived release. Its
release notes can be found below.

Bug fixes:
- Fix a crash during app update.
- Fix a bug where the status bar was not visible
  in full screen.

Release notes for version 3.6.7 follow:

Version 3.6.7 was built on February 19, 2026.

New Features:
- There is a new window style of "Centered".
- You can now switch 1password accounts in the
  password manager using the ... menu next to the
  search field.
- Added profile settings to disable and configure
  progress bars.
- Added support for macOS "text replacements".
- Added session archiving. You can manually or
  automatically archive a session, which writes
  a full-fidelity copy of it to disk.
- OSC 8 hyperlinks can take a target= parameter to
  cause them to reuse an in-app browser.
  Example:
  OSC 8;target=example;https://example.com/ ST
- Added a new trigger type, Buffer Input, which
  you can use to defer sending keyboard input (for
  example, while waiting for a program to launch).

Improvements:
- AI models updated.
- Web browser can now list directories with
  file:/// urls.
- Status bar search component is now
  color-configurable.
- Visual improvements to tab bar.
- Put snippets before folders in toolbelt and
  don't add top level snippets that have a folder.
- Add browser setting for where terminal links
  should open.
- Use default colors rather than current SGR color
  when scrolling lines into view.
- The SSH file panels now pick up favorites on
  Tahoe from Finder properly.
- Various small improvements to the Jobs status bar
  component.
- Cmd-shift-click on OSC 8 URL opens it in a split
  pane.
- Visual improvements to some status bar
  components.
- Improve performance when timestamps are visible.
- Visual improvements for timestamps.
- Added many new natively rendered characters.
- Added support for dotted and dashed underline
  styles.
- Improve behavior of certain items in the context
  menu for very narrow windows.
- Natively rendered code gets a more legible
  comment color.
- Improved file type detection for native
  rendering of text (e.g., imgcat foo.yaml).
- Improve the appearance of terminal buttons.
- Improved contrast for the mono app icon style.
- Make determinate progress indicator in tab bar
  go clockwise from 12 o'clock.
- Text replacement now matches macOS behavior.
- Improve position and spacing of stoplight
  buttons in Minimal theme on macOS 26.
- The Open Profiles window now moves to the
  current Space instead of switching spaces.
- Offer to restore the tab and window title when
  the remote host changes.
- Reduced app size.
- Add progress bars to $TERM_FEATURES as P.
- Update AI models.

Bug Fixes:
- Fix a bug where pastes could be corrupted.
- Fix a bug where the tab bar would be invisible
  in full screen.
- Fix crashes
- Fix a bug where edge drags on Minimal tabbars
  dragged both the window and the tab.
- Fix crash on OSC 9;4 without parameter.
- Fix bugs in Kitty image protocol.
- Fix various visual issues with tab bars.
- Fix a bug where non-native mouse cursors had the
  wrong hotspot.
- Fix a problem where a modal alert could get
  hidden by a hotkey window.
- Fixed a bug where tabs would switch unexpectedly
  in tmux integration.
- Fix tab switch rendering glitch on multi-monitor
  setups.
- Fix a bug where italics in tmux integration were
  displayed as reverse video when TERM contains
  "tmux".
- Fix a bug where the wrong session could be used
  for GPU frame capture.
- Fix incorrect truncation of Tahoe-style tab
  labels.
- Fix drawing of horizontal lines on non-retina
  displays in the tab bar.
- Fix a bug where the Web menu wasn't added when
  a browser session was active.
- Fix a bug where canceling entering a passphrase
  for SCP could cause an empty password to be
  tried.

You can use the following to verify the zip file on https://keybase.io/verify:

-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA256

dffa21e268b162988e50603d93f8e26fa84e4d1d42e693d7fd2d1d10a54e9540
-----BEGIN PGP SIGNATURE-----

iQIzBAEBCAAdFiEEoSV4Xzv7YY5VD+aYJiz+XnkavhsFAmmg0iIACgkQJiz+Xnka
vhsduxAAskXG7RCuTZKCJX2eeN1cm7aULT9Da67AbvXrpqeJl1iGDI4KI2cV0XbF
58Gvq7YkG5EUcVBMiwT0Ag/gRC1013oyhc/MFtcXZjuxd83fwlnK3wXPLBiGhH0a
xUiI92VxmpzH0Jw4L4cgncFs31Z4eQzuu1Dwo0UbLtPM056tGRNKt6zICbO44A5H
R4bCjHAGWNJpBKUxDNP3SnimcuJGPQo3VLjFvdR/CEBGp2aOnrOXsUBUWWk/IM0g
ubMKkAp/HDLzO9gQXTL09Ogq1WjhsK7UCw3ij/y8wJP7Cn92JtGLNtcXMHhVcaWA
lPVPLowba7tbn7LtotqQDAo2VrA0uwNzFpEM5fjBTTtmyBygpERr/YDrpK0L3M19
51A19ubr3j07gEERgORI8H6qw6tA0KfIuEDHeuegQZxZm6rg/E6c62gFoKYMGbgR
ltIx1pXSQRKbJ3UnS1PsfowCwAzwindLIOaRA/GRchZQU5L4yzOWMEl9PFrD6qXH
c+sdm4EsrLRJotmAFoH+AjdqAxJa/ajCNk/gLA3gdcrUaCMJbNpxjBHXx46Dl+JJ
ySlBAAu7HevYg1MaGAv8UeG1qn3z8NpBS+gesY4xxUNteiLhpzM55qZOeosyLnTP
/0bS9RNmNKp6r5I73rmW/S/BlkBO/+nTGQ7etNeioZ/lpLtpxRk=
=o9Bl
-----END PGP SIGNATURE-----
```

#### [iTerm2 3.6.7 (macOS 12.4+)](https://iterm2.com/downloads/stable/iTerm2-3_6_7.zip)

This is the recommended build for most users.
Built on February 20, 2026.

[▾ Hide Changelog](<javascript:hideId('339720621978291118')>)

```
Version 3.6.7 of iTerm2 was built on February 20, 2026.

New Features:
- There is a new window style of "Centered".
- You can now switch 1password accounts in the
  password manager using the ... menu next to the
  search field.
- Added profile settings to disable and configure
  progress bars.
- Added support for macOS "text replacements".
- Added session archiving. You can manually or
  automatically archive a session, which writes
  a full-fidelity copy of it to disk.
- OSC 8 hyperlinks can take a target= parameter to
  cause them to reuse an in-app browser.
  Example:
  OSC 8;target=example;https://example.com/ ST
- Added a new trigger type, Buffer Input, which
  you can use to defer sending keyboard input (for
  example, while waiting for a program to launch).

Improvements:
- AI models updated.
- Web browser can now list directories with
  file:/// urls.
- Status bar search component is now
  color-configurable.
- Visual improvements to tab bar.
- Put snippets before folders in toolbelt and
  don't add top level snippets that have a folder.
- Add browser setting for where terminal links
  should open.
- Use default colors rather than current SGR color
  when scrolling lines into view.
- The SSH file panels now pick up favorites on
  Tahoe from Finder properly.
- Various small improvements to the Jobs status bar
  component.
- Cmd-shift-click on OSC 8 URL opens it in a split
  pane.
- Visual improvements to some status bar
  components.
- Improve performance when timestamps are visible.
- Visual improvements for timestamps.
- Added many new natively rendered characters.
- Added support for dotted and dashed underline
  styles.
- Improve behavior of certain items in the context
  menu for very narrow windows.
- Natively rendered code gets a more legible
  comment color.
- Improved file type detection for native
  rendering of text (e.g., imgcat foo.yaml).
- Improve the appearance of terminal buttons.
- Improved contrast for the mono app icon style.
- Make determinate progress indicator in tab bar
  go clockwise from 12 o'clock.
- Text replacement now matches macOS behavior.
- Improve position and spacing of stoplight
  buttons in Minimal theme on macOS 26.
- The Open Profiles window now moves to the
  current Space instead of switching spaces.
- Offer to restore the tab and window title when
  the remote host changes.
- Reduced app size.
- Add progress bars to $TERM_FEATURES as P.
- Update AI models.

Bug Fixes:
- Fix a bug where pastes could be corrupted.
- Fix a bug where the tab bar would be invisible
  in full screen.
- Fix crashes
- Fix a bug where edge drags on Minimal tabbars
  dragged both the window and the tab.
- Fix crash on OSC 9;4 without parameter.
- Fix bugs in Kitty image protocol.
- Fix various visual issues with tab bars.
- Fix a bug where non-native mouse cursors had the
  wrong hotspot.
- Fix a problem where a modal alert could get
  hidden by a hotkey window.
- Fixed a bug where tabs would switch unexpectedly
  in tmux integration.
- Fix tab switch rendering glitch on multi-monitor
  setups.
- Fix a bug where italics in tmux integration were
  displayed as reverse video when TERM contains
  "tmux".
- Fix a bug where the wrong session could be used
  for GPU frame capture.
- Fix incorrect truncation of Tahoe-style tab
  labels.
- Fix drawing of horizontal lines on non-retina
  displays in the tab bar.
- Fix a bug where the Web menu wasn't added when
  a browser session was active.
- Fix a bug where canceling entering a passphrase
  for SCP could cause an empty password to be
  tried.

You can use the following to verify the zip file on https://keybase.io/verify:

-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA256

e1f0801888a36ff26b916e4f320cbde1305f3df0ba77c2c368bba367fedd7c02
-----BEGIN PGP SIGNATURE-----

iQIzBAEBCAAdFiEEoSV4Xzv7YY5VD+aYJiz+XnkavhsFAmmYlh4ACgkQJiz+Xnka
vhv8mg//QTHqRsnaiHAnyOhcoC7gsmiqjCU9LGsnO8j6Wt9t65Velx5OZbayyCEj
wu7Ufj1WYa+BGwqp/iq7XuwQn/kHVtrdOXl0Ivce14MBI+Lf0XgQVOdfOZ27hcy4
kIVQV86vQab3GkCvV7Zwt2lojbCiObW5cvt//JX13aFJrwDPNIO2K9EshKhdpGGB
TF9eopqkQ1QGZwyyMMrahVKi5l9YMapGxUme1TfZvNTIk4vKXx3aNlPGgYdWWorK
qxjzLNXLRQepkB64Dlgv00/3XjxQS/8BHsf53J1f99R81Lw1xxWnvgGmCVbMz20D
jlwM7d5IoDycDi7G79tWfBeZMkYKVd9jvYoE/gEhmwq0Hf/T0Scpkr7XrPfQTBqD
MVxJnmhrdvC45WsfErADDBmjDDbGSOuIDjXnuXnBdzZSWQrshmWxBNgAK9F9AlLe
wXs7uZGNg/7hgiVyjLGkp5YvSpU7X1GfyxNs7JZHn/eUKorArucyOLziv0MqVcOn
+7SJidIi/6Kec/OweYXozTkM+Afup/LUetQ3ktcGBg1Ej55fxLeczIhQbvZlfJtb
J3OR20JliR7zZX7mSFiA6euTRTCWjMDVytFK/GLyIFOX2hTa32Phb/nE7k2JkBeO
7k33REO8dNoPaJU7gkZ7m/YTJZcn5kBmg04voHGkztGPUb6u1cY=
=RKlQ
-----END PGP SIGNATURE-----
```

#### [iTerm2 3.6.6 (macOS 12.4+)](https://iterm2.com/downloads/stable/iTerm2-3_6_6.zip)

This is the recommended build for most users.
Built on November 17, 2025.

[▾ Hide Changelog](<javascript:hideId('8782682490594946461')>)

```
iTerm2 version 3.6.6 was released on
November 17, 2025.

New Features:
- Added setting to show per-pane title bars when
  there is only one pane.
- If the previous release left you with red tabs
  in a tmux window, this one will offer to fix
  them.
- Add KeePassXC integration in password manager.
- There's a new key binding action to toggle a
  checkbox of your choosing in settings.
- Add support for OSC 9;4 progress bars.
- Add support for DECDSR 997 and DECSET/DECRESET
  2031 for dark mode reporting.
- Cursor animation can now be enabled always.
  Previously it only happened in interactive apps.

Improvements:
- Reduce an occasional jitter after a command
  prompt.
- Add support for symbolic hotkeys to older macOS
  versions.
- You can now switch between color spaces in the
  color picker.
- Added support for the device colorspace in the
  color picker.
- Added support for OSC 52 in DA response.
- Provide useful information when a profile's
  command fails to start.
- Improve visibility of selected tab in Tahoe when
  using tab colors.
- Improve performance of moving cursor a long
  distance with option-click.
- Fix performance issue after using search.
- When doing bracketed paste from advanced paste
  with "wait for prompt" enabled, do not include
  brackets around newlines. That way the commands
  will be sent for shells like zsh and fish.
- When a force touch could do either quicklook or
  dictionary lookup, show a disambiguation menu.
- Add support for undo/redo in "engage AI" dialog
  box.
- Add more options for how to position and size
  windows. Make the default more like 3.5.x, which
  respsected the profile's size, but using Smart
  Placement.
- AI commands can now optionally be run through
  Apple Intelligence as a safety check. If ChatGPT
  decides it wants to pwn you, this makes it a
  little harder.
- Command info now shows the number of lines of
  output.
- Baseline-relative timestamps are now
  color-coded.
- Browser will show better SSL errors.
- In tmux integration, terminal reports in
  response to OSC 1337 codes are now sent.
- Tooltips in Minimal now use the proper
  light/dark theme.
- All AI chat messages are now copyable.
- AI models updated.

Bug Fixes:
- Automatically unbury tmux integration clients
  when we can't restore the tmux session on
  attach. If you get a zillion windows on first
  launch of this version, that could be why (they
  tended to pile up).
- Fix various crashes.
- Fix $$HOST$$ and $$USER$$ substitution.
- The colorpicker's eyedropper is now smarter
  about color spaces.
- Fix a bug where images would disappear after
  folding and unfolding a region.
- Fix various graphical imperfections in Tahoe.
- Disable menu item "Move to new window" when
  there is only one tab.
- Fixed a bug where you couldn't delete
  annotations.
- Fix bugs in the status bar filter component.
- Fix UI bugs in editing triggers.
- Fix a bug where the context menu incorrectly
  characterized ssh integration downloads as scp.
- Make the stoplight buttons behave better on
  macOS 26.
- Fix a bug where ssh integration downloads would
  sometimes happen over scp.
- Fix a bug where some items were missing from the
  list of key binding actions.

You can use the following to verify the zip file on https://keybase.io/verify:

-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA256

68293d89ddf2140407879a651b42d9d05e12f403f69633ec635a96a29d90b4f3
-----BEGIN PGP SIGNATURE-----

iHUEAREIAB0WIQSAPIQGkYVsjnBRo2J0Et0TaFtKrAUCaRvfogAKCRB0Et0TaFtK
rPLgAQCvQ5PuLWVJ2aU+of2R3Pq2lSEe2OqDJ5jLI8Ry+HgHbAD+MbOA4bqoR5sO
T26myWv79GyrzS2JTUv7qubcEfbPeqM=
=b803
-----END PGP SIGNATURE-----
```

#### [iTerm2 3.6.5 (macOS 12.4+)](https://iterm2.com/downloads/stable/iTerm2-3_6_5.zip)

This is the recommended build for most users.
Built on October 19, 2025.

[▾ Hide Changelog](<javascript:hideId('2793677105073635188')>)

```
iTerm2 version 3.6.5 was released on
October 19, 2025

Improvements:
- Improve legibility of Open Quickly against
  certain backgrounds.
- Tweak app icon to look better on older versions
  of macOS.

Bug Fixes:
- Fix a bug where tabs were red after attaching to
  tmux.
- Fix a bug where web pages didn't draw a cursor.
- Fix downloads in ssh integration using it2dl.
- Fix bugs in Kitty image protocol.
- Fix variuos crashes.
- Fix bugs with restoring full screen windows.
- Fix certain shift+optional function keys that
  sent the wrong code.
- Fix a bug where AI didn't always detect a
  command finishing if it executed quickly.
- Improve reliability of detecting paste
  bracketing echoing control characters.
- Fix bugs where browser zoom got messed up.
- Fix drag-drop of tabs or sessions over browser
  sessions.

You can use the following to verify the zip file on https://keybase.io/verify:

-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA256

3e480cf0b94c9eadde3d870a49ef62c2a75d3d00d2dd17e6676880dbe9a64ec4
-----BEGIN PGP SIGNATURE-----

iHUEAREIAB0WIQSAPIQGkYVsjnBRo2J0Et0TaFtKrAUCaPVBngAKCRB0Et0TaFtK
rKofAQCLIe1PRTL9tfunEhKcKxAyGOlgNjnd9ypZTDuXtRWBcQEAgqXmAKUb5mkC
So22rLRo23QavI2IjpeGEI/1vYTn0eQ=
=bgkE
-----END PGP SIGNATURE-----
```

#### [iTerm2 3.6.4 (macOS 12.4+)](https://iterm2.com/downloads/stable/iTerm2-3_6_4.zip)

This is the recommended build for most users.
Built on October 7, 2025.

[▾ Hide Changelog](<javascript:hideId('7210105100051261309')>)

```
iTerm2 version 3.6.4 was released on
October 6, 2025

3.6.3 was short-lived. Its release notes may be
found below.

Bug Fixes:
- Fix crashes
- Repair saved arrangements that somehow ended up
  with invisible windows.
- Fix UI bugs in SSH save panel
- Fix UI bugs in smart selection settings

Release notes for 3.6.3:

Improvements:
- Update Open Quickly and AI Chat UIs to use
  liquid glass effects.
- Distinguish main from alternate menu items in
  Open Quickly.
- Add context menu items to open a URL in a split
  pane when you right click on a URL.
- Triggers settings panel is now resizable.
- Don't push the browser plugin when installing
  the AI plugin.
- Offer to open files in built-in browser from
  Semantic History.
- Remove OpenAI-specific verbiage.
- Don't require an API key for self-hosted AI
  models.
- When opening the composer, we clear the command
  prompt by sending some control characters but a
  shell may echo them instead. Detect that and
  backspace over them.
- Only extend background into margins in soft
  alternate screen mode
- Make changes to smart selection settings take
  effect immediately.
- Fix a bug where trigger regex was not
  prepopulated when selecting Add Trigger from the
  context menu.
- Cmd-shift-click on a URL can now open it in a
  split pane.

Bug Fixes:
- Fix many crashes.
- Fix a bug where the scroll position did not
  remain locked as new input was received.
- Show warnings before crashing if the app bundle
  is corrupted.
- Turn off "remember the size and position of
  previously closed windows" by default.
  Fixes a problem where windows had unexpected
  sizes.
- Fix a bug where windows would have the wrong
  number of rows.
- Fix crashes.
- Work around Tahoe bug with autofill heuristic
  controller.
- Try to fix a bug where users experience slow
  performance/jitters on repeated keys.
- Fix UI alignment bug in Open Quickly.
- Deduplicate URLs in Open Quickly.
- Fix turning off proxy in browser settings not
  working.
- Unbreak prompt triggers in non-integration tmux.
- Fix dynamic profiles wrongly ignoring "use
  seprate colors for light and dark mode" setting.
- Fix UI problems in color picker in Tahoe.
- Fix how XTGETTCAP errors are reported to fix
  some vim plugins.
- Fix a bug where Tahoe would wrongly blur the top
  of a window after it was moved to a window from
  being a split pane.
- Fix bugs where keyboard shortcuts didn't work in
  input fields in alerts in buggy buggy Tahoe.
- Fix bugs in Kitty image protocol that prevented
  display.
- Fix UI bugs in filter field in status bar.
- Bring back arrangements to Open Quickly.
- Fix a bug where there could be multiple add-tab
  and overflow buttons.
- Don't crash if you try to download a non-file
  non-directory in ssh integration.
- Fix a bug where settings search results could
  contain unreachable items.

You can use the following to verify the zip file on https://keybase.io/verify:

-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA256

b42f689cdd6330166dc504dd0b4733db16961365de2bb6a7e21369020c916a95
-----BEGIN PGP SIGNATURE-----

iHUEAREIAB0WIQSAPIQGkYVsjnBRo2J0Et0TaFtKrAUCaOVK8AAKCRB0Et0TaFtK
rOfeAP0TwBuv15oNXh1L8fyffaMFkYEMy+Dt4E0z99FDnuAx4QD/XjkbE45jAQG7
YjPlsPduHcPmkvg8E05O5eSd7kl8NKc=
=dJZp
-----END PGP SIGNATURE-----
```

#### [iTerm2 3.6.3 (macOS 12.4+)](https://iterm2.com/downloads/stable/iTerm2-3_6_3.zip)

This is the recommended build for most users.
Built on October 2, 2025.

[▾ Hide Changelog](<javascript:hideId('354505441997877162')>)

```
iTerm2 version 3.6.3 was released on
October 2, 2025

Improvements:
- Update Open Quickly and AI Chat UIs to use
  liquid glass effects.
- Distinguish main from alternate menu items in
  Open Quickly.
- Add context menu items to open a URL in a split
  pane when you right click on a URL.
- Triggers settings panel is now resizable.
- Don't push the browser plugin when installing
  the AI plugin.
- Offer to open files in built-in browser from
  Semantic History.
- Remove OpenAI-specific verbiage.
- Don't require an API key for self-hosted AI
  models.
- When opening the composer, we clear the command
  prompt by sending some control characters but a
  shell may echo them instead. Detect that and
  backspace over them.
- Only extend background into margins in soft
  alternate screen mode
- Make changes to smart selection settings take
  effect immediately.
- Fix a bug where trigger regex was not
  prepopulated when selecting Add Trigger from the
  context menu.
- Cmd-shift-click on a URL can now open it in a
  split pane.

Bug Fixes:
- Fix many crashes.
- Fix a bug where the scroll position did not
  remain locked as new input was received.
- Show warnings before crashing if the app bundle
  is corrupted.
- Turn off "remember the size and position of
  previously closed windows" by default.
  Fixes a problem where windows had unexpected
  sizes.
- Fix a bug where windows would have the wrong
  number of rows.
- Fix crashes.
- Work around Tahoe bug with autofill heuristic
  controller.
- Try to fix a bug where users experience slow
  performance/jitters on repeated keys.
- Fix UI alignment bug in Open Quickly.
- Deduplicate URLs in Open Quickly.
- Fix turning off proxy in browser settings not
  working.
- Unbreak prompt triggers in non-integration tmux.
- Fix dynamic profiles wrongly ignoring "use
  seprate colors for light and dark mode" setting.
- Fix UI problems in color picker in Tahoe.
- Fix how XTGETTCAP errors are reported to fix
  some vim plugins.
- Fix a bug where Tahoe would wrongly blur the top
  of a window after it was moved to a window from
  being a split pane.
- Fix bugs where keyboard shortcuts didn't work in
  input fields in alerts in buggy buggy Tahoe.
- Fix bugs in Kitty image protocol that prevented
  display.
- Fix UI bugs in filter field in status bar.
- Bring back arrangements to Open Quickly.
- Fix a bug where there could be multiple add-tab
  and overflow buttons.
- Don't crash if you try to download a non-file
  non-directory in ssh integration.
- Fix a bug where settings search results could
  contain unreachable items.

You can use the following to verify the zip file on https://keybase.io/verify:

-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA256

d79f3d105c7ddfb41c570d8637aebf95c2bd4785bdcd9b45f11be764bbb3b0b6
-----BEGIN PGP SIGNATURE-----

iHUEAREIAB0WIQSAPIQGkYVsjnBRo2J0Et0TaFtKrAUCaN8CywAKCRB0Et0TaFtK
rGj5AQDPODSBvJxhQF6gdNR5ZksopDdybJCnu/OqoIul/4lGNgEAo7ZC3tbDoKVb
bvCCugidh1oFURj+wJGCJMvj0o39RHY=
=Mv8D
-----END PGP SIGNATURE-----
```

#### [iTerm2 3.6.2 (macOS 12.4+)](https://iterm2.com/downloads/stable/iTerm2-3_6_2.zip)

This is the recommended build for most users.
Built on September 24, 2025.

[▾ Hide Changelog](<javascript:hideId('8797451310358531881')>)

```
iTerm2 version 3.6.2 was released on September 24, 2025

The release notes for 3.6.0 may be found below.

New Features:
- Added a setting to control whether modifier
  remapping is done globally. Turn this off if it
  interferes with your use of AltTab.
- Support file and shared memory sources for Kitty
  image protocol.
- Added "Move Tab to New Window" menu item.

Other Improvements:
- Default arrangement names now use the current
  date instead of a counter.
- Handle antiviruses deleting random parts of the
  app more gracefully.
- Reduced the size of saved state when a browser
  is present.
- Improve rendering of colored tabs in Tahoe to
  make it easier to tell which is selected.
- Improve handling of error message in OpenAI
  protocol.
- If no logging folder is specified default to the
  user's home directory. Fix a bug where the
  invalid folder warning icon was not visible.
- Add an option to respect system shortcuts (e.g.,
  control-F2 to activate the menu).
- If the cursor guide's alpha value is high, draw
  it beneath text. This makes Powerline ugly but
  at least it is legible.
- Add a button to manually locate the browser
  plugin, which helps you debug why it isn't
  working.

Bug Fixes:
- Fix a bug where the password manager's controls
  were not clickable.
- Fix various crashes.
- Fix a bug where DECRC changed the unicode
  version if DECSC was not previous received.
- Fix a bug where browser downloads were sometimes
  referred to as uploads.
- Fix a bug in decoding Kitty image protocol in
  streaming mode where some images failed to
  decode.
- Fix a bug where tab bar icons could be the wrong
  size.
- Fix cursor jumping bug when editing an AI
  prompt.
- Fix various UI layout issues in Tahoe.
- Fix a bug where a tab with split pane browsers
  could not resize the window.
- Fix a bug where saving an arrangement with
  content didn't work.
- Fix a bug where some deep seek models didn't
  work right.
- Fix settings search returning browser results
  when the browser feature is disabled.
- Fix a bug where capital letters in open quickly
  prevented matching.
- Ensure browsers don't keep playing audio after
  closing.
- Fix a bug where selecting a command's output
  could select the wrong range.
- Fix a bug where the mouse cursor's hotspot was
  in the wrong place when reporting mouse events.
- Disable parallel tool use by Claude since it
  isn't supported.
- Improve audio muting in browser.
- Fix a bug where the add tab button was missing
  in macOS 15 and earlier.
- Fix add/remove automatic profile switching
  buttons in settings.
- Fix janky behavior in triggers UI in settings.

-------------------------------------------------

Release notes for 3.6.0

Major New Features:
- A new AI Chat feature was added. The assistant
  can interact with the terminal, subject to your
  permission. It can also explain command output,
  adding annotations right in the terminal.

- You can now configure a profile to be a web
  browser. In Settings > Profiles >
  General, set "Profile Type" to "Web Browser".
  Many existing features already work in browser
  sessions, such as key bindings, smart selection,
  navigation, open quickly, focus follows mouse,
  and the password manager.

New Features in Terminal Sessions:
- The context menu now shows how strings would be
  base64 (en/de)coded.
- Added "Settings > Profiles > Terminal >
  Click on a path in a shell prompt to open
  Navigator" to provide a new way to navigate the
  filesystem.
- Timestamps can now be shown adjacent to terminal
  content rather than overlapping. They can also
  be configured to be relative to a particular
  line by right-clicking and selecting "Set
  Baseline for Relative Timestamps".
- Navigating to the next or previous mark now
  selects the command if command selection is
  enabled.
- Added the option to hide the cursor when
  keyboard focus is lost.
- You can now select a block of JSON and select
  "Edit > Replace Selection > Replace with
  Pretty-Printed JSON" to make it legible.
  Same with encoding and decoding base64.

Settings Improvements:
- Tildes are now expanded in the folder for
  automatic logging.
- Background image path can now be interpolated
  strings.
- Dimming is temporarily disabled while in colors
  settings.
- You can now right click on a text field in
  settings and select "Reset to default value".
- Settings search now uses a Porter stemmer for
  better recall. You can quote words or
  phrases to do literal search.
- When opening settings the default profile is now
  automatically selected.
- Added Settings > General > Experimental for
  features that are almost but not quite ready for
  prime time. Right-to-left text support and SSH
  Integration for ssh: URLs is there.

New Key Binding Actions:
- There is a new key binding action, Copy Mode
  Commands, that lets you perform copy mode
  actions (e.g., enter copy mode, move the cursor
  around, make a selection, and so on).
- Add a new key binding action "Copy Interpolated
  String".
- Add a new key action, Bypass Terminal, that
  allows systemwide shortcuts to be handled
  without the terminal window taking them.

Triggers Improvements:
- Added a new trigger that lets you modify any
  stylistic attribute of text by using SGR codes.
- The triggers and smart selection settings UIs
  were revamped.

UI Improvements:
- The Snippets Toolbelt tool was revamped to show
  hierarchy (tags with slashes define
  directories).
- If you try to set a hotkey to a commonly used
  shortcut, you'll be asked to confirm it.
- Improve appearances of some natively rendered
  powerline glyphs.
- Improve the appearance of in-terminal buttons
  when they overlap text.
- The UI for setting "send text at start" in
  settings now has an expanding text box if you
  feel like writing a lot.
- Some menu items now show a floating window that
  explains their purpose when you hover over them.
- Improvements to the appearance of the Composer.
- Added a settings button to the selected command
  buttons so you can disable command selection.
- Menu items were moved around to make the Window
  menu less absurdly large.
- The appearance of announcements has been
  updated.
- Add support for macOS 15's feature where double
  clicking a title bar can be set in system
  settings to fill the screen.
- Detect when there is a non-default background
  color and extend it into the margins. In
  Minimal, it is also extended into window chrome.

Open Quickly Improvements:
- Esc now closes the Open Quickly window.
- In Open Quickly, you can now use /A to restrict
  results to open arrangements in tabs.
- Menu items are now accessible through Open
  Quickly, making it into a command palette.
- Named marks are now accessible through Open
  Quickly.

AI Improvements:
- You can now configure AI to use the recommended
  model which will update for you automatically
  when new models are released.

Core Improvements:
- Performance improvements when showing lots of
  text (provided there are no triggers).
- Automatic profile switching job rules now match
  against the full command line as well as just
  the job name

Semantic History Improvements:
- Semantic history now searches ancestors of the
  working directory if the path you click has a
  prefix in common with a suffix of the working
  directory.
- Semantic history can now be configured to send
  text instead of opening a file.
- Windsurf added to Semantic History editors.

Terminal Emulation Improvements:
- Saved cursor position from DECSC is now reflowed
  when resizing.
- Detect when mouse reporting and DEC 2048
  reporting was accidentally left on by watching
  for characters being echoed back.
- DEC 2048 is turned off automatically when
  the current hostname is detected to have
  changed.
- There is a new profile setting to automatically
  turn on alternate mouse scroll in alternate
  screen mode and another to restrict it to
  vertical movement.

SSH Integration Improvements:
- SSH integration now lets you set the path to
  ssh. You can set it in the UI under Settings >
  Profiles > General > Configure or by setting the
  SSH environment variable if you use it2ssh.
- File open/save panels now have the option to
  show SSH hosts when you are connected with SSH
  integration. So, for example, when you use
  `it2ul` to upload a file, you could pick a file on
  a different host that you're already connected
  to.
- When using SSH integration, there is a new menu
  item "Shell > ssh > Download Files" that opens a
  file picker that lists files on the remote host
  to download. Transfers go over ssh integration
  so no new connection needs to be made.

Security Improvements:
- Secure settings are now used to record which
  hostnames can have URLs opened by control
  sequence.

Bug fixes:
- Fix various crashes.
- Fix a bug where "send text at start" didn't work
  when a profile's windows are full screen.
- Draw cursor guide over powerline glyphs when
  native powerling glyphs are enabled.
- Fix bad animations when animating cursor
  movement.
- Make "fold to named mark" pick the last mark
  with a given name.
- Fix a bug where folding to named mark would
  sometimes place the collapsed line in the wrong
  place.
- Fix a bug where an invisible composer window
  could be left behind, preventing you from
  clicking on the top of the terminal.
- Don't add snippets to the top level menu if they
  have tags.
- Secure settings are now stored in /usr/local if
  your home directory is a network mount.
- Fix a bug when copying a session's settings to a
  profile where the per-session hotkey was also
  copied over.
- Fix a bug where an empty cd command was issued
  when running a command from an iterm: URL in an
  existing session..
- Fix a bug where an empty "gray" window could be
  left behind.
- Fix a bug where jump to selection didn't work.
- Systemwide hotkey is now hopefully more
  reliable.
- Fix a bug where silent coprocesses didn't work
  right with ssh integration.
- Fix a bug where restoring a window arrangement
  could cause windows to appear on the wrong
  screen.
- Fix some bugs in key reporting that differed
  from Kitty's behavior.
- Inline HEIC images now work.
- Fix a visual bug when selecting half of a
  double-width character.
- Fix many bugs in SIXEL image decoding.
- Fix a bug where reattaching to tmux integration
  after relaunching the app didn't work.
- Rich text is de-richified when pasting into
  Codecierge.
- Fix a bug with fish were you could end up with
  two prompt marks on adjacent lines.
- Fix various bugs with fold/unfold in conjunction
  with auto composer.
- Fix a bug where selecting a title provider
  vended by a Python API script sometimes did not
  work.
- Fix a bug where SSH Integration tabs would have
  an activity indicator when they were idle.
- Fix it2dl over ssh integration.
- Fix a bug where you could do Move Pane to Tab
  more than once concurrently.
- Prevent the accent menu from appearing behind
  hotkey windows.

Things Made Worse:
- Stylstic alternatives are now only available when
  ligatures are enabled to avoid taking a slow code
  path that most people don't want.

Changes in 3.6.1:
- You can now configure modifier remapping to be
  done only locally, not affecting external apps
  such as AltTab.
- Improve DECRC's behavior if DECSC was not called
  by not updating wraparound or unicode version.
- File and shared memory transfer for Kitty image
  protocol is now supported.
- Fix a bug in kitty image decoding where
  streaming mode didn't always work.
- Fix a bug where browser downloads were called
  uploads.
- Default arrangement names now use dates rather
  than a counter.
- Fix a crash when restoring sessions after a
  restart.
- Fix a bug where tab icons could be too large.
- Fix a crash on macOS 15 in browser profiles.
- Fix a bug where the cursor jumped in AI prompt
  settings when making an edit.
- Fix layout of Profiles window in Tahoe.
- Fix various other crashes

You can use the following to verify the zip file on https://keybase.io/verify:

-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA256

65b7473d207e0cb3aa4dd2d468a2eaa8a84e71e16fc1f602da42f67fc923b211
-----BEGIN PGP SIGNATURE-----

iHUEAREIAB0WIQSAPIQGkYVsjnBRo2J0Et0TaFtKrAUCaNSCRQAKCRB0Et0TaFtK
rA3SAP4xBH+oFATahq4iZR4L4aNYnRaWTpErKd7SX6lyoNXU+wEAoE/9Ysn4a020
qY10MME6a8IPC5Lc40uqsugTu3fCc2Y=
=8GY/
-----END PGP SIGNATURE-----
```

#### [iTerm2 3.6.1 (macOS 12.4+)](https://iterm2.com/downloads/stable/iTerm2-3_6_1.zip)

This is the recommended build for most users.
Built on September 18, 2025.

[▾ Hide Changelog](<javascript:hideId('2084674221253881200')>)

```
Version 3.6.1 of iTerm2 was built on September 18, 2025.

These are the release notes for 3.6.0. Version
3.6.1 contains additional bug fixes listed at the
bottom.

Major New Features:
- A new AI Chat feature was added. The assistant
  can interact with the terminal, subject to your
  permission. It can also explain command output,
  adding annotations right in the terminal.

- You can now configure a profile to be a web
  browser. In Settings > Profiles >
  General, set "Profile Type" to "Web Browser".
  Many existing features already work in browser
  sessions, such as key bindings, smart selection,
  navigation, open quickly, focus follows mouse,
  and the password manager.

New Features in Terminal Sessions:
- The context menu now shows how strings would be
  base64 (en/de)coded.
- Added "Settings > Profiles > Terminal >
  Click on a path in a shell prompt to open
  Navigator" to provide a new way to navigate the
  filesystem.
- Timestamps can now be shown adjacent to terminal
  content rather than overlapping. They can also
  be configured to be relative to a particular
  line by right-clicking and selecting "Set
  Baseline for Relative Timestamps".
- Navigating to the next or previous mark now
  selects the command if command selection is
  enabled.
- Added the option to hide the cursor when
  keyboard focus is lost.
- You can now select a block of JSON and select
  "Edit > Replace Selection > Replace with
  Pretty-Printed JSON" to make it legible.
  Same with encoding and decoding base64.

Settings Improvements:
- Tildes are now expanded in the folder for
  automatic logging.
- Background image path can now be interpolated
  strings.
- Dimming is temporarily disabled while in colors
  settings.
- You can now right click on a text field in
  settings and select "Reset to default value".
- Settings search now uses a Porter stemmer for
  better recall. You can quote words or
  phrases to do literal search.
- When opening settings the default profile is now
  automatically selected.
- Added Settings > General > Experimental for
  features that are almost but not quite ready for
  prime time. Right-to-left text support and SSH
  Integration for ssh: URLs is there.

New Key Binding Actions:
- There is a new key binding action, Copy Mode
  Commands, that lets you perform copy mode
  actions (e.g., enter copy mode, move the cursor
  around, make a selection, and so on).
- Add a new key binding action "Copy Interpolated
  String".
- Add a new key action, Bypass Terminal, that
  allows systemwide shortcuts to be handled
  without the terminal window taking them.

Triggers Improvements:
- Added a new trigger that lets you modify any
  stylistic attribute of text by using SGR codes.
- The triggers and smart selection settings UIs
  were revamped.

UI Improvements:
- The Snippets Toolbelt tool was revamped to show
  hierarchy (tags with slashes define
  directories).
- If you try to set a hotkey to a commonly used
  shortcut, you'll be asked to confirm it.
- Improve appearances of some natively rendered
  powerline glyphs.
- Improve the appearance of in-terminal buttons
  when they overlap text.
- The UI for setting "send text at start" in
  settings now has an expanding text box if you
  feel like writing a lot.
- Some menu items now show a floating window that
  explains their purpose when you hover over them.
- Improvements to the appearance of the Composer.
- Added a settings button to the selected command
  buttons so you can disable command selection.
- Menu items were moved around to make the Window
  menu less absurdly large.
- The appearance of announcements has been
  updated.
- Add support for macOS 15's feature where double
  clicking a title bar can be set in system
  settings to fill the screen.
- Detect when there is a non-default background
  color and extend it into the margins. In
  Minimal, it is also extended into window chrome.

Open Quickly Improvements:
- Esc now closes the Open Quickly window.
- In Open Quickly, you can now use /A to restrict
  results to open arrangements in tabs.
- Menu items are now accessible through Open
  Quickly, making it into a command palette.
- Named marks are now accessible through Open
  Quickly.

AI Improvements:
- You can now configure AI to use the recommended
  model which will update for you automatically
  when new models are released.

Core Improvements:
- Performance improvements when showing lots of
  text (provided there are no triggers).
- Automatic profile switching job rules now match
  against the full command line as well as just
  the job name

Semantic History Improvements:
- Semantic history now searches ancestors of the
  working directory if the path you click has a
  prefix in common with a suffix of the working
  directory.
- Semantic history can now be configured to send
  text instead of opening a file.
- Windsurf added to Semantic History editors.

Terminal Emulation Improvements:
- Saved cursor position from DECSC is now reflowed
  when resizing.
- Detect when mouse reporting and DEC 2048
  reporting was accidentally left on by watching
  for characters being echoed back.
- DEC 2048 is turned off automatically when
  the current hostname is detected to have
  changed.
- There is a new profile setting to automatically
  turn on alternate mouse scroll in alternate
  screen mode and another to restrict it to
  vertical movement.

SSH Integration Improvements:
- SSH integration now lets you set the path to
  ssh. You can set it in the UI under Settings >
  Profiles > General > Configure or by setting the
  SSH environment variable if you use it2ssh.
- File open/save panels now have the option to
  show SSH hosts when you are connected with SSH
  integration. So, for example, when you use
  `it2ul` to upload a file, you could pick a file on
  a different host that you're already connected
  to.
- When using SSH integration, there is a new menu
  item "Shell > ssh > Download Files" that opens a
  file picker that lists files on the remote host
  to download. Transfers go over ssh integration
  so no new connection needs to be made.

Security Improvements:
- Secure settings are now used to record which
  hostnames can have URLs opened by control
  sequence.

Bug fixes:
- Fix various crashes.
- Fix a bug where "send text at start" didn't work
  when a profile's windows are full screen.
- Draw cursor guide over powerline glyphs when
  native powerling glyphs are enabled.
- Fix bad animations when animating cursor
  movement.
- Make "fold to named mark" pick the last mark
  with a given name.
- Fix a bug where folding to named mark would
  sometimes place the collapsed line in the wrong
  place.
- Fix a bug where an invisible composer window
  could be left behind, preventing you from
  clicking on the top of the terminal.
- Don't add snippets to the top level menu if they
  have tags.
- Secure settings are now stored in /usr/local if
  your home directory is a network mount.
- Fix a bug when copying a session's settings to a
  profile where the per-session hotkey was also
  copied over.
- Fix a bug where an empty cd command was issued
  when running a command from an iterm: URL in an
  existing session..
- Fix a bug where an empty "gray" window could be
  left behind.
- Fix a bug where jump to selection didn't work.
- Systemwide hotkey is now hopefully more
  reliable.
- Fix a bug where silent coprocesses didn't work
  right with ssh integration.
- Fix a bug where restoring a window arrangement
  could cause windows to appear on the wrong
  screen.
- Fix some bugs in key reporting that differed
  from Kitty's behavior.
- Inline HEIC images now work.
- Fix a visual bug when selecting half of a
  double-width character.
- Fix many bugs in SIXEL image decoding.
- Fix a bug where reattaching to tmux integration
  after relaunching the app didn't work.
- Rich text is de-richified when pasting into
  Codecierge.
- Fix a bug with fish were you could end up with
  two prompt marks on adjacent lines.
- Fix various bugs with fold/unfold in conjunction
  with auto composer.
- Fix a bug where selecting a title provider
  vended by a Python API script sometimes did not
  work.
- Fix a bug where SSH Integration tabs would have
  an activity indicator when they were idle.
- Fix it2dl over ssh integration.
- Fix a bug where you could do Move Pane to Tab
  more than once concurrently.
- Prevent the accent menu from appearing behind
  hotkey windows.

Things Made Worse:
- Stylstic alternatives are now only available when
  ligatures are enabled to avoid taking a slow code
  path that most people don't want.

Changes in 3.6.1:
- You can now configure modifier remapping to be
  done only locally, not affecting external apps
  such as AltTab.
- Improve DECRC's behavior if DECSC was not called
  by not updating wraparound or unicode version.
- File and shared memory transfer for Kitty image
  protocol is now supported.
- Fix a bug in kitty image decoding where
  streaming mode didn't always work.
- Fix a bug where browser downloads were called
  uploads.
- Default arrangement names now use dates rather
  than a counter.
- Fix a crash when restoring sessions after a
  restart.
- Fix a bug where tab icons could be too large.
- Fix a crash on macOS 15 in browser profiles.
- Fix a bug where the cursor jumped in AI prompt
  settings when making an edit.
- Fix layout of Profiles window in Tahoe.
- Fix various other crashes
You can use the following to verify the zip file on https://keybase.io/verify:

-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA256

16bee0727108521656a188eb600e4fa0f73c020521c703f8eb1617c20d01433b
-----BEGIN PGP SIGNATURE-----

iHUEAREIAB0WIQSAPIQGkYVsjnBRo2J0Et0TaFtKrAUCaMyE9gAKCRB0Et0TaFtK
rIi3AP9HK5KOyySW3AC6jbghDgX8tpgqiFZgnFxHeipT6E7S6AEA5iG5qQAbvYkS
r+3c0pIPCWlk4bla2bs9JNBfec7CESQ=
=udqw
-----END PGP SIGNATURE-----
```

#### [iTerm2 3.6.0 (macOS 12.4+)](https://iterm2.com/downloads/stable/iTerm2-3_6_0.zip)

This is the recommended build for most users.
Built on September 15, 2025.

[▾ Hide Changelog](<javascript:hideId('6358271647090773599')>)

```
iTerm2 version 3.6.0 was released on September 16, 2025

Major New Features:
- A new AI Chat feature was added. The assistant
  can interact with the terminal, subject to your
  permission. It can also explain command output,
  adding annotations right in the terminal.

- You can now configure a profile to be a web
  browser. In Settings > Profiles >
  General, set "Profile Type" to "Web Browser".
  Many existing features already work in browser
  sessions, such as key bindings, smart selection,
  navigation, open quickly, focus follows mouse,
  and the password manager.

New Features in Terminal Sessions:
- The context menu now shows how strings would be
  base64 (en/de)coded.
- Added "Settings > Profiles > Terminal >
  Click on a path in a shell prompt to open
  Navigator" to provide a new way to navigate the
  filesystem.
- Timestamps can now be shown adjacent to terminal
  content rather than overlapping. They can also
  be configured to be relative to a particular
  line by right-clicking and selecting "Set
  Baseline for Relative Timestamps".
- Navigating to the next or previous mark now
  selects the command if command selection is
  enabled.
- Added the option to hide the cursor when
  keyboard focus is lost.
- You can now select a block of JSON and select
  "Edit > Replace Selection > Replace with
  Pretty-Printed JSON" to make it legible.
  Same with encoding and decoding base64.

Settings Improvements:
- Tildes are now expanded in the folder for
  automatic logging.
- Background image path can now be interpolated
  strings.
- Dimming is temporarily disabled while in colors
  settings.
- You can now right click on a text field in
  settings and select "Reset to default value".
- Settings search now uses a Porter stemmer for
  better recall. You can quote words or
  phrases to do literal search.
- When opening settings the default profile is now
  automatically selected.
- Added Settings > General > Experimental for
  features that are almost but not quite ready for
  prime time. Right-to-left text support and SSH
  Integration for ssh: URLs is there.

New Key Binding Actions:
- There is a new key binding action, Copy Mode
  Commands, that lets you perform copy mode
  actions (e.g., enter copy mode, move the cursor
  around, make a selection, and so on).
- Add a new key binding action "Copy Interpolated
  String".
- Add a new key action, Bypass Terminal, that
  allows systemwide shortcuts to be handled
  without the terminal window taking them.

Triggers Improvements:
- Added a new trigger that lets you modify any
  stylistic attribute of text by using SGR codes.
- The triggers and smart selection settings UIs
  were revamped.

UI Improvements:
- The Snippets Toolbelt tool was revamped to show
  hierarchy (tags with slashes define
  directories).
- If you try to set a hotkey to a commonly used
  shortcut, you'll be asked to confirm it.
- Improve appearances of some natively rendered
  powerline glyphs.
- Improve the appearance of in-terminal buttons
  when they overlap text.
- The UI for setting "send text at start" in
  settings now has an expanding text box if you
  feel like writing a lot.
- Some menu items now show a floating window that
  explains their purpose when you hover over them.
- Improvements to the appearance of the Composer.
- Added a settings button to the selected command
  buttons so you can disable command selection.
- Menu items were moved around to make the Window
  menu less absurdly large.
- The appearance of announcements has been
  updated.
- Add support for macOS 15's feature where double
  clicking a title bar can be set in system
  settings to fill the screen.
- Detect when there is a non-default background
  color and extend it into the margins. In
  Minimal, it is also extended into window chrome.

Open Quickly Improvements:
- Esc now closes the Open Quickly window.
- In Open Quickly, you can now use /A to restrict
  results to open arrangements in tabs.
- Menu items are now accessible through Open
  Quickly, making it into a command palette.
- Named marks are now accessible through Open
  Quickly.

AI Improvements:
- You can now configure AI to use the recommended
  model which will update for you automatically
  when new models are released.

Core Improvements:
- Performance improvements when showing lots of
  text (provided there are no triggers).
- Automatic profile switching job rules now match
  against the full command line as well as just
  the job name

Semantic History Improvements:
- Semantic history now searches ancestors of the
  working directory if the path you click has a
  prefix in common with a suffix of the working
  directory.
- Semantic history can now be configured to send
  text instead of opening a file.
- Windsurf added to Semantic History editors.

Terminal Emulation Improvements:
- Saved cursor position from DECSC is now reflowed
  when resizing.
- Detect when mouse reporting and DEC 2048
  reporting was accidentally left on by watching
  for characters being echoed back.
- DEC 2048 is turned off automatically when
  the current hostname is detected to have
  changed.
- There is a new profile setting to automatically
  turn on alternate mouse scroll in alternate
  screen mode and another to restrict it to
  vertical movement.

SSH Integration Improvements:
- SSH integration now lets you set the path to
  ssh. You can set it in the UI under Settings >
  Profiles > General > Configure or by setting the
  SSH environment variable if you use it2ssh.
- File open/save panels now have the option to
  show SSH hosts when you are connected with SSH
  integration. So, for example, when you use
  `it2ul` to upload a file, you could pick a file on
  a different host that you're already connected
  to.
- When using SSH integration, there is a new menu
  item "Shell > ssh > Download Files" that opens a
  file picker that lists files on the remote host
  to download. Transfers go over ssh integration
  so no new connection needs to be made.

Security Improvements:
- Secure settings are now used to record which
  hostnames can have URLs opened by control
  sequence.

Bug fixes:
- Fix various crashes.
- Fix a bug where "send text at start" didn't work
  when a profile's windows are full screen.
- Draw cursor guide over powerline glyphs when
  native powerling glyphs are enabled.
- Fix bad animations when animating cursor
  movement.
- Make "fold to named mark" pick the last mark
  with a given name.
- Fix a bug where folding to named mark would
  sometimes place the collapsed line in the wrong
  place.
- Fix a bug where an invisible composer window
  could be left behind, preventing you from
  clicking on the top of the terminal.
- Don't add snippets to the top level menu if they
  have tags.
- Secure settings are now stored in /usr/local if
  your home directory is a network mount.
- Fix a bug when copying a session's settings to a
  profile where the per-session hotkey was also
  copied over.
- Fix a bug where an empty cd command was issued
  when running a command from an iterm: URL in an
  existing session..
- Fix a bug where an empty "gray" window could be
  left behind.
- Fix a bug where jump to selection didn't work.
- Systemwide hotkey is now hopefully more
  reliable.
- Fix a bug where silent coprocesses didn't work
  right with ssh integration.
- Fix a bug where restoring a window arrangement
  could cause windows to appear on the wrong
  screen.
- Fix some bugs in key reporting that differed
  from Kitty's behavior.
- Inline HEIC images now work.
- Fix a visual bug when selecting half of a
  double-width character.
- Fix many bugs in SIXEL image decoding.
- Fix a bug where reattaching to tmux integration
  after relaunching the app didn't work.
- Rich text is de-richified when pasting into
  Codecierge.
- Fix a bug with fish were you could end up with
  two prompt marks on adjacent lines.
- Fix various bugs with fold/unfold in conjunction
  with auto composer.
- Fix a bug where selecting a title provider
  vended by a Python API script sometimes did not
  work.
- Fix a bug where SSH Integration tabs would have
  an activity indicator when they were idle.
- Fix it2dl over ssh integration.
- Fix a bug where you could do Move Pane to Tab
  more than once concurrently.
- Prevent the accent menu from appearing behind
  hotkey windows.

Things Made Worse:
- Stylstic alternatives are now only available when
  ligatures are enabled to avoid taking a slow code
  path that most people don't want.

You can use the following to verify the zip file on https://keybase.io/verify:

-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA256

e6df715afcbed8742c6783bc506ad721163b7bbf8601edb957dbff6b4bc3e44a
-----BEGIN PGP SIGNATURE-----

iHUEAREIAB0WIQSAPIQGkYVsjnBRo2J0Et0TaFtKrAUCaMS03AAKCRB0Et0TaFtK
rIT8AQDGTzI4jSxbJNr21/IPIb5VQ032xutuMq8O0nSwxBbbIwD/ey/+3lD8JjdO
n8eBon8kdI+lun21PZQoKiJ46cN0YRc=
=Zx8i
-----END PGP SIGNATURE-----
```

#### [iTerm2 3.5.14 (OS 10.15+)](https://iterm2.com/downloads/stable/iTerm2-3_5_14.zip)

This is the recommended build for most users.
Built on May 15, 2025.

[▾ Hide Changelog](<javascript:hideId('4731822922039327206')>)

```
Version 3.5.14 of iTerm2 was built on May 15, 2025

This is a quick bugfix release.

- Fix a bug where the background color of the
  rightmost column was not always rendered
  properly.
- Fix a bug where reattaching to tmux on restart
  didn't work.
- Fix a bug where jump to selection didn't work.
- Fix a bug where empty windows would sometimes
  appear.
- Fix a crash when the GPU is under high memory
  pressure.

You can use the following to verify the zip file on https://keybase.io/verify:

-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA256

585bd119e4cf3a5e6bfa6f3b6afecf416f02e28f8d81a3a1e949855da058cbdd
-----BEGIN PGP SIGNATURE-----

iHUEAREIAB0WIQSAPIQGkYVsjnBRo2J0Et0TaFtKrAUCaCaAIQAKCRB0Et0TaFtK
rCbYAQC6aexf2PmaLacHJJfprGl1FKB3bX8wKACsAppHF86NdAD/XzoyRoJpbWi5
7GboRDsFS8gZacDlAvqf/zOabr+3BRI=
=UVaj
-----END PGP SIGNATURE-----
```

#### [iTerm2 3.5.13 (OS 10.15+)](https://iterm2.com/downloads/stable/iTerm2-3_5_13.zip)

This is the recommended build for most users.
Built on April 10, 2025.

[▾ Hide Changelog](<javascript:hideId('7696370126557742187')>)

```
Version 3.5.13 of iTerm2 was built on April 10, 2025

Version 3.5.13 fixes a number of crashing bugs in
3.5.12 and also fixes a bug where window tiling
shortcuts didn't work properly.

Release notes for 3.5.12 follow:
Version 3.5.12 of iTerm2 was built on April 3, 2025

New Features:
- In apps that support the new key reporting
  protocol (notably neovim) you can now map
  keys to Hyper, Super, and Meta. Look in
  Settings > Profiles > Keys > General.
- You can now opt to highlight non-default values
  in settings. Toggle it with the dropdown menu on
  the loupe in the settings search bar.
- You can now share triggers. Select one or more
  triggers in Settings and click the Share button
  on the bottom.
- You can now modify a profile in a saved
  arrangement with
  Session > Change Profile in Arrangement.
- Cursor movement can now be animated, making it
  easier to track cursor location. Enable Animate
  Movement in profiles text settings.
- You can now drag the composer window vertically.
- Added a new trigger to set a named mark.
- Added a new trigger to fold a section of
  terminal contents.

Other Improvements:
- Fix a hang on machines with contested GPU memory
  when using the GPU renderer.
- The zoom button menu is now enabled by default.
- Improve performance when uploading large files
  or pasting enormous strings.
- Some menu items moved around to reduce the size
  of the Window menu.
- You can now disable the secure keyboard input
  indicator by clicking on it and then following a
  link in the popover.
- When using a directory from Directory History at
  the prompt, escape characters like space.
- There's a new advanced setting to enable
  right-to-left text in alternate screen mode.
- The Terminal.app Compatibility key presets have
  been updated for parity.
- The Command field in profile settings can now be
  expanded so you have more room to edit long
  commands.
- OpenAI's reasoning models are now supported.
- Fix wrong hash algorithm name in "known host"
  message when using scp.
- If tmux doesn't respond to a request to
  disconnect in a reasonable amount of time, offer
  to forcibly disconnect.
- If you pick a Leader shortcut that's likely to
  conflict with regular app usage, warn about it.
- UI update for settings.

Bug Fixes:
- Fix a bug where filter didn't work when you have
  a status bar.
- Fix crashes.
- Add a setting to Profiles > Terminal to use
  newline rather than carriage return for tmux
  integration. This fixes a hang when starting
  tmux integration on old/weird unixes.
- Fix a bug where the session hangs after a failed
  download.
- Fix a bug where all tmux connections in a window
  were detached when only a single one should have
  been.
- Fix various key reporting bugs, which mostly
  affects neovim.
- Fix a bug in the Jobs tool where entering an
  illegal signal name made the signal name combo
  box disabled.
- Fix a bug where the search result and mark
  indicators under the scroll bar didn't always
  fill the entire scrollbar region.
- Fix a bug in focus follows mouse mode where
  window order was unexpected and activating a
  window might switch desktops.
- Fix a bug where the initial window's size might
  be wrong on macOS 15.
- Fix a bug where shell integration injection
  didn't work in the presence of a custom shell if
  you have .hushlogin in your home directory.
- Fix a bug where advanced GPU settings could
  appear outside of settings.
- Fix a bug where opening a command from a URL
  could add an empty `cd` command.
- Fix a bug where empty windows could sometimes
  remain visible after changing window style.
- Fix a bug where emoji did not render properly
  with the GPU renderer.
- Fix some discrepancies in key reporting when
  using the Kitty protocol.
- Fix a bug when replacing text in history (such
  as when rendering content natively).
- Fix a bug where control-arrow keys didn't always
  work.
- Make Tip of the Day look better in dark mode.

You can use the following to verify the zip file on https://keybase.io/verify:

-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA256

87f8f6ca41a8af5fa9ea38bdea2e51881311e7fac241a2c79d7630bc509a374d
-----BEGIN PGP SIGNATURE-----

iHUEAREIAB0WIQSAPIQGkYVsjnBRo2J0Et0TaFtKrAUCZ/gvjQAKCRB0Et0TaFtK
rJv3AP4mviS/IMxVIPd6/uUjUBWzUoRr3H+x9utlifT6B2yWjAD9FNf9U8S0H8nL
b3AbGpExeOzKCaDRebGk1TELxdWruOE=
=cuhj
-----END PGP SIGNATURE-----
```

#### [iTerm2 3.5.12 (OS 10.15+)](https://iterm2.com/downloads/stable/iTerm2-3_5_12.zip)

This is the recommended build for most users.
Built on April 3, 2025.

[▾ Hide Changelog](<javascript:hideId('2307412078791154852')>)

```
Version 3.5.12 of iTerm2 was built on April 3, 2025

New Features:
- In apps that support the new key reporting
  protocol (notably neovim) you can now map
  keys to Hyper, Super, and Meta. Look in
  Settings > Profiles > Keys > General.
- You can now opt to highlight non-default values
  in settings. Toggle it with the dropdown menu on
  the loupe in the settings search bar.
- You can now share triggers. Select one or more
  triggers in Settings and click the Share button
  on the bottom.
- You can now modify a profile in a saved
  arrangement with
  Session > Change Profile in Arrangement.
- Cursor movement can now be animated, making it
  easier to track cursor location. Enable Animate
  Movement in profiles text settings.
- You can now drag the composer window vertically.
- Added a new trigger to set a named mark.
- Added a new trigger to fold a section of
  terminal contents.

Other Improvements:
- Fix a hang on machines with contested GPU memory
  when using the GPU renderer.
- The zoom button menu is now enabled by default.
- Improve performance when uploading large files
  or pasting enormous strings.
- Some menu items moved around to reduce the size
  of the Window menu.
- You can now disable the secure keyboard input
  indicator by clicking on it and then following a
  link in the popover.
- When using a directory from Directory History at
  the prompt, escape characters like space.
- There's a new advanced setting to enable
  right-to-left text in alternate screen mode.
- The Terminal.app Compatibility key presets have
  been updated for parity.
- The Command field in profile settings can now be
  expanded so you have more room to edit long
  commands.
- OpenAI's reasoning models are now supported.
- Fix wrong hash algorithm name in "known host"
  message when using scp.
- If tmux doesn't respond to a request to
  disconnect in a reasonable amount of time, offer
  to forcibly disconnect.
- If you pick a Leader shortcut that's likely to
  conflict with regular app usage, warn about it.
- UI update for settings.

Bug Fixes:
- Fix a bug where filter didn't work when you have
  a status bar.
- Fix crashes.
- Add a setting to Profiles > Terminal to use
  newline rather than carriage return for tmux
  integration. This fixes a hang when starting
  tmux integration on old/weird unixes.
- Fix a bug where the session hangs after a failed
  download.
- Fix a bug where all tmux connections in a window
  were detached when only a single one should have
  been.
- Fix various key reporting bugs, which mostly
  affects neovim.
- Fix a bug in the Jobs tool where entering an
  illegal signal name made the signal name combo
  box disabled.
- Fix a bug where the search result and mark
  indicators under the scroll bar didn't always
  fill the entire scrollbar region.
- Fix a bug in focus follows mouse mode where
  window order was unexpected and activating a
  window might switch desktops.
- Fix a bug where the initial window's size might
  be wrong on macOS 15.
- Fix a bug where shell integration injection
  didn't work in the presence of a custom shell if
  you have .hushlogin in your home directory.
- Fix a bug where advanced GPU settings could
  appear outside of settings.
- Fix a bug where opening a command from a URL
  could add an empty `cd` command.
- Fix a bug where empty windows could sometimes
  remain visible after changing window style.
- Fix a bug where emoji did not render properly
  with the GPU renderer.
- Fix some discrepancies in key reporting when
  using the Kitty protocol.
- Fix a bug when replacing text in history (such
  as when rendering content natively).
- Fix a bug where control-arrow keys didn't always
  work.
- Make Tip of the Day look better in dark mode.

SHA-256 of the zip file is
You can use the following to verify the zip file on https://keybase.io/verify:

-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA256

87b297803b492a877d33f8961a77e85b2e4f1206ea604f8c51f5f9b08dec3af6
-----BEGIN PGP SIGNATURE-----

iHUEAREIAB0WIQSAPIQGkYVsjnBRo2J0Et0TaFtKrAUCZ+7ucQAKCRB0Et0TaFtK
rMLMAQCBVQIsNExvW39bjbqnsa8EIySDAZRiD/J96fy7E1HXAwEAi32It/+9H+8L
M0HlCqdTPFetRbGWenEdT5IGhe60dqA=
=XeI9
-----END PGP SIGNATURE-----
```

#### [iTerm2 3.5.11 (OS 10.15+)](https://iterm2.com/downloads/stable/iTerm2-3_5_11.zip)

This is the recommended build for most users.
Built on January 2, 2025.

[▾ Hide Changelog](<javascript:hideId('8296417464312466379')>)

```
Version 3.5.11 of iTerm2 was built on January 2, 2025.

This release contains a critical security fix. I
strongly recommend updating immediately.

Who is affected?
----------------
You may be affected if you used the SSH
integration feature in any of the following
versions:

* 3.5.6
* 3.5.7
* 3.5.8
* 3.5.9
* 3.5.10
* Any beta versions of 3.5.6 and later.

What is the issue?
------------------
A bug in the SSH integration feature caused input
and output to be logged to a file on the remote
host. This file, /tmp/framer.txt, may be readable
by other users on the remote host.

When does this occur?
---------------------
The issue occurs if both of the following conditions are true:

1. Either:
   a) You used the it2ssh command, or
   b) In Settings > Profiles > General, the
      Command popup menu was set to "SSH" (not
      "Login Shell", "Command", or "Custom
      Command") AND "SSH Integration" was checked
      in the SSH configuration dialog. That dialog
      is shown when you click the Configure button
      next to the ssh arguments field in Settings.
2. The remote host has Python 3.7 or later
   installed in its default search path.

What should you do?
-------------------
* Upgrade immediately to version 3.5.11.
* Delete /tmp/framer.txt on affected hosts.

How I'm addressing this
-----------------------
I deeply regret this mistake and will take steps
to ensure it never happens again.

The code to write to log files in SSH integration
has been deleted and will not be publicly released
again.

If you have questions you can contact me at
[email protected].

SHA-256 of the zip file is
You can use the following to verify the zip file on https://keybase.io/verify:

-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA256

655e32b4a9466104f1b0d8847e852515bc332bdf434801762e01b9625caa43e2
-----BEGIN PGP SIGNATURE-----

iHUEAREIAB0WIQSAPIQGkYVsjnBRo2J0Et0TaFtKrAUCZ3br8gAKCRB0Et0TaFtK
rLntAQDqPcKkRA23Wo5/XuB2lymF8n+0GK3E+ZT3MYbTNgsnSQD/Xgt7V9QhP42n
QmQpnmb804FrHkCnqIJMvcBAim6AbBM=
=Zlrw
-----END PGP SIGNATURE-----
```

#### [iTerm2 3.5.10 (OS 10.15+)](https://iterm2.com/downloads/stable/iTerm2-3_5_10.zip)

This is the recommended build for most users.
Built on November 18, 2024.

[▾ Hide Changelog](<javascript:hideId('146544404272188998')>)

```
Version 3.5.10 of iTerm2 was built on November 18, 2024.

This build fixes a bug in reporting repeated
keypresses.

Version 3.5.9 was short-lived and its release
notes follow.

Version 3.5.9 introduces a few important fixes:

- Fix a bug where certain keys didn't work
  properly in certain applications (specifically,
  in disambiguate escapes mode). This affected
  neovim in particular.
- Adds a UI to repair saved arrangements that were
  broken by a bug in 3.5.7.
- Fixes a new crash introduced by version 3.5.7.

Version 3.5.7 had a possible data loss bug that
could break the saved copy of a profile in a saved
arrangement when migrating key bindings. The only
change in 3.5.8 is to fix this issue.

It is almost the same as version 3.5.6, but with
one crashing bug fixed. Version 3.5.6 was not
widely released. The release notes for 3.5.6
follow.

New Features
- You can now "fold" a section, which collapses it
  down to a single line. If you use shell
  integration, you can fold by clicking on the blue
  arrow next to the shell prompt. Alternately,
  select the command by clicking it once and then
  click the new fold button at the top of the
  selected region. If you don't use shell
  integration, you can select a range of lines and
  choose Fold from the context menu or Edit > Fold
  Selected Lines.

  To unfold, click the arrow in the margin or
  right click on the line and select Unfold or
  select Edit > Unfold in Selection.

- When saving a window arrangement you can now
  choose to save it to a file including the
  windows' contents. You can load an arrangement
  file with Window > Load Arrangement from File.

- Added `Window > Lock Split Pane Width` which
  tries to preserve the width of a split pane as
  the window's geometry changes.

- You can now choose to play a sound when the next
  mark is received, under Edit > Marks and
  Annotations > Alerts.

Other Improvements
- Some silly default key bindings interfered with
  macOS Sequoia's window tiling shortcuts. A new
  migration process offers to remove them for you.
- SentinelOne users will be warned when upgrading
  from this version to the next if the update
  would be classified as malware.
- Show a warning when a Codecierge session goes on
  for a long time.
- Change how the status bar measures memory used
  to more closely match Activity Monitor.
- Add Gemini to the list of supported AI models.
- Scroll events now get reported when you mouse
  over an inactive window and use the scroll
  wheel/scroll gesture.
- Upgrade libssh2 to version 1.11.1. This affects
  the Download with scp feature.
- When you drag a window by its titlebar in the
  Minimal or Compact themese, bring the window to
  the front immediately.
- Global Search now searches the main screen of a
  session even if it is currently displaying the
  alternate screen.
- When mouse reporting is on and you click in a
  window that is not currently active, that click
  will not be reported.
- Add zed to the list of Semantic History editors.
- When you manually reset, clear the stack of
  hostnames to avoid incorrectly changing the key
  reporting mode.
- In macOS 15, if control-return would be
  reported, don't show the context menu.
- If you run iTerm2 from the command line, the
  --help argument now gives usage info.
- Remove special support for control-page up/down
  to scroll, which interfered with window tiling
  shortcuts. It was only there because of a
  misunderstanding 14 years ago.

Bug Fixes
- Fix some very common crashes.
- Fix a bug where colors in a dynamic profile
  might not be respected if the parent/default
  profile uses separate light/dark mode colors
  but the dynamic profile does not.
- Don't report option+keystrokes when using the
  Unicode Hex Input keyboard.
- Fix a bug where the offscreen command line could
  be wrong sometimes.
- Fix a bug where non-ANSI colors showed up in the
  hue/chroma visualization in colors settings.
- Hopefully fixed accessing machines on the local
  network and bonjour hosts on macOS Sequoia.
- Fix a bug where locale settings didn't correctly
  update arrangements sometimes.
- Fix a bug where the number 100 sometimes didn't
  fit in numeric fields in settings.
- Fix accessibility bugs in macOS 15.
- Ignore empty host or user in OSC 7 URLs.
- Don't show that CSI u mode is enabled when key
  reporting flags are set.
- Fix minor drawing bugs.

SHA-256 of the zip file is
You can use the following to verify the zip file on https://keybase.io/verify:

-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA256

4e42bb79ed285bc6aaea45f01bfe5c65d2d418bc7860a8e22a1313252f768fbb
-----BEGIN PGP SIGNATURE-----

iHUEAREIAB0WIQSAPIQGkYVsjnBRo2J0Et0TaFtKrAUCZzur5AAKCRB0Et0TaFtK
rF2ZAP4vvCVJDdntyyhPOT6BjsueFkT66I7/6UBeyecneUj6FQD/SPzNtmMlEpWx
dDxTNCYZvMnrx3w//ZV4hyxkszmOpEM=
=yIoy
-----END PGP SIGNATURE-----
```

#### [iTerm2 3.5.9 (OS 10.15+)](https://iterm2.com/downloads/stable/iTerm2-3_5_9.zip)

This is the recommended build for most users.
Built on November 15, 2024.

[▾ Hide Changelog](<javascript:hideId('3725134617352376779')>)

```
Version 3.5.9 of iTerm2 was built on November 15, 2024.

Bug fixes:
- Fix a bug where certain keys didn't work
  properly in certain applications (specifically,
  in disambiguate escapes mode). This affected
  neovim in particular.
- Adds a UI to repair saved arrangements that were
  broken by a bug in 3.5.7.
- Fixes a new crash introduced by version 3.5.7.

SHA-256 of the zip file is
You can use the following to verify the zip file on https://keybase.io/verify:

-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA256

fead780226ea604d96ba59fbddce9cda06f9c0e18e65949b0d26636c17c603a0
-----BEGIN PGP SIGNATURE-----

iHUEAREIAB0WIQSAPIQGkYVsjnBRo2J0Et0TaFtKrAUCZzfjtwAKCRB0Et0TaFtK
rEdrAQCu6b+cSnYWwanIAdJ6K1NI0hf6CoPslFrNZ2gmoOerrgEA7fkWTyJW0Hjz
u2Hwo82bQ+qp4Uw/ztFxadLHJ3AHGto=
=hCxh
-----END PGP SIGNATURE-----
```

#### [iTerm2 3.5.8 (OS 10.15+)](https://iterm2.com/downloads/stable/iTerm2-3_5_8.zip)

This is the recommended build for most users.
Built on November 12, 2024.

[▾ Hide Changelog](<javascript:hideId('6278647587708519526')>)

```
Version 3.5.8 of iTerm2 was built on November 12, 2024.

Version 3.5.7 had a possible data loss bug that
could break the saved copy of a profile in a saved
arrangement when migrating key bindings. The only
change in 3.5.8 is to fix this issue.

It is almost the same as version 3.5.6, but with
one crashing bug fixed. Version 3.5.6 was not
widely released. The release notes for 3.5.6
follow.

New Features
- You can now "fold" a section, which collapses it
  down to a single line. If you use shell
  integration, you can fold by clicking on the blue
  arrow next to the shell prompt. Alternately,
  select the command by clicking it once and then
  click the new fold button at the top of the
  selected region. If you don't use shell
  integration, you can select a range of lines and
  choose Fold from the context menu or Edit > Fold
  Selected Lines.

  To unfold, click the arrow in the margin or
  right click on the line and select Unfold or
  select Edit > Unfold in Selection.

- When saving a window arrangement you can now
  choose to save it to a file including the
  windows' contents. You can load an arrangement
  file with Window > Load Arrangement from File.

- Added `Window > Lock Split Pane Width` which
  tries to preserve the width of a split pane as
  the window's geometry changes.

- You can now choose to play a sound when the next
  mark is received, under Edit > Marks and
  Annotations > Alerts.

Other Improvements
- Some silly default key bindings interfered with
  macOS Sequoia's window tiling shortcuts. A new
  migration process offers to remove them for you.
- SentinelOne users will be warned when upgrading
  from this version to the next if the update
  would be classified as malware.
- Show a warning when a Codecierge session goes on
  for a long time.
- Change how the status bar measures memory used
  to more closely match Activity Monitor.
- Add Gemini to the list of supported AI models.
- Scroll events now get reported when you mouse
  over an inactive window and use the scroll
  wheel/scroll gesture.
- Upgrade libssh2 to version 1.11.1. This affects
- When you drag a window by its titlebar in the
  Minimal or Compact themese, bring the window to
  the front immediately.
- Global Search now searches the main screen of a
  session even if it is currently displaying the
  alternate screen.
- When mouse reporting is on and you click in a
  window that is not currently active, that click
  will not be reported.
- Add zed to the list of Semantic History editors.
- When you manually reset, clear the stack of
  hostnames to avoid incorrectly changing the key
  reporting mode.
- In macOS 15, if control-return would be
  reported, don't show the context menu.
- If you run iTerm2 from the command line, the
  --help argument now gives usage info.
- Remove special support for control-page up/down
  to scroll, which interfered with window tiling
  shortcuts. It was only there because of a
  misunderstanding 14 years ago.
  the Download with scp feature.

Bug Fixes
- Fix some very common crashes.
- Fix a bug where colors in a dynamic profile
  might not be respected if the parent/default
  profile uses separate light/dark mode colors
  but the dynamic profile does not.
- Don't report option+keystrokes when using the
  Unicode Hex Input keyboard.
- Fix a bug where the offscreen command line could
  be wrong sometimes.
- Fix a bug where non-ANSI colors showed up in the
  hue/chroma visualization in colors settings.
- Hopefully fixed accessing machines on the local
  network and bonjour hosts on macOS Sequoia.
- Fix a bug where locale settings didn't correctly
  update arrangements sometimes.
- Fix a bug where the number 100 sometimes didn't
  fit in numeric fields in settings.
- Fix accessibility bugs in macOS 15.
- Ignore empty host or user in OSC 7 URLs.
- Don't show that CSI u mode is enabled when key
  reporting flags are set.
- Fix minor drawing bugs.

SHA-256 of the zip file is
You can use the following to verify the zip file on https://keybase.io/verify:

-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA256

b6adb611421754f4e5eebafae3f045d835a7184d05ef6e79ac7eb7b35805f94c
-----BEGIN PGP SIGNATURE-----

iHUEAREIAB0WIQSAPIQGkYVsjnBRo2J0Et0TaFtKrAUCZzPPQgAKCRB0Et0TaFtK
rAvFAP9QGY0E/bchhvBccUPaNOiw0PDA6+UICg9s1/0KTVc2rAEAmN0Fp7mARo+7
Qt4UCVFh46N7bUE9LaHiIs+YFPsY/MA=
=gwlG
-----END PGP SIGNATURE-----
```

#### [iTerm2 3.5.7 (OS 10.15+)](https://iterm2.com/downloads/stable/iTerm2-3_5_7.zip)

This is the recommended build for most users.
Built on November 11, 2024.

[▾ Hide Changelog](<javascript:hideId('3478968700259993089')>)

```
Version 3.5.7 of iTerm2 was built on November 11, 2024.

It is almost the same as version 3.5.6, but with
one crashing bug fixed. Version 3.5.6 was not
widely released. The release notes for 3.5.6
follow.

New Features
- You can now "fold" a section, which collapses it
  down to a single line. If you use shell
  integration, you can fold by clicking on the blue
  arrow next to the shell prompt. Alternately,
  select the command by clicking it once and then
  click the new fold button at the top of the
  selected region. If you don't use shell
  integration, you can select a range of lines and
  choose Fold from the context menu or Edit > Fold
  Selected Lines.

  To unfold, click the arrow in the margin or
  right click on the line and select Unfold or
  select Edit > Unfold in Selection.

- When saving a window arrangement you can now
  choose to save it to a file including the
  windows' contents. You can load an arrangement
  file with Window > Load Arrangement from File.

- Added `Window > Lock Split Pane Width` which
  tries to preserve the width of a split pane as
  the window's geometry changes.

- You can now choose to play a sound when the next
  mark is received, under Edit > Marks and
  Annotations > Alerts.

Other Improvements
- Some silly default key bindings interfered with
  macOS Sequoia's window tiling shortcuts. A new
  migration process offers to remove them for you.
- SentinelOne users will be warned when upgrading
  from this version to the next if the update
  would be classified as malware.
- Show a warning when a Codecierge session goes on
  for a long time.
- Change how the status bar measures memory used
  to more closely match Activity Monitor.
- Add Gemini to the list of supported AI models.
- Scroll events now get reported when you mouse
  over an inactive window and use the scroll
  wheel/scroll gesture.
- Upgrade libssh2 to version 1.11.1. This affects
- When you drag a window by its titlebar in the
  Minimal or Compact themese, bring the window to
  the front immediately.
- Global Search now searches the main screen of a
  session even if it is currently displaying the
  alternate screen.
- When mouse reporting is on and you click in a
  window that is not currently active, that click
  will not be reported.
- Add zed to the list of Semantic History editors.
- When you manually reset, clear the stack of
  hostnames to avoid incorrectly changing the key
  reporting mode.
- In macOS 15, if control-return would be
  reported, don't show the context menu.
- If you run iTerm2 from the command line, the
  --help argument now gives usage info.
- Remove special support for control-page up/down
  to scroll, which interfered with window tiling
  shortcuts. It was only there because of a
  misunderstanding 14 years ago.
  the Download with scp feature.

Bug Fixes
- Fix some very common crashes.
- Fix a bug where colors in a dynamic profile
  might not be respected if the parent/default
  profile uses separate light/dark mode colors
  but the dynamic profile does not.
- Don't report option+keystrokes when using the
  Unicode Hex Input keyboard.
- Fix a bug where the offscreen command line could
  be wrong sometimes.
- Fix a bug where non-ANSI colors showed up in the
  hue/chroma visualization in colors settings.
- Hopefully fixed accessing machines on the local
  network and bonjour hosts on macOS Sequoia.
- Fix a bug where locale settings didn't correctly
  update arrangements sometimes.
- Fix a bug where the number 100 sometimes didn't
  fit in numeric fields in settings.
- Fix accessibility bugs in macOS 15.
- Ignore empty host or user in OSC 7 URLs.
- Don't show that CSI u mode is enabled when key
  reporting flags are set.
- Fix minor drawing bugs.

SHA-256 of the zip file is
You can use the following to verify the zip file on https://keybase.io/verify:

-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA256

9082e8b7f38764e7e74bb488035c82cf552c132345f233c309ccc37d9f7f2f08
-----BEGIN PGP SIGNATURE-----

iHUEAREIAB0WIQSAPIQGkYVsjnBRo2J0Et0TaFtKrAUCZzJ2hQAKCRB0Et0TaFtK
rCnLAP9xaEDc7KW08eBB7Ju6vnyvpLAMBArUKIhCaohr8OHfoQEA1bzMhA+GkHqW
0aa7+JL/Z7zhCd9wsOv0XLL1d6/RxHw=
=WGlm
-----END PGP SIGNATURE-----
```

#### [iTerm2 3.5.6 (OS 10.15+)](https://iterm2.com/downloads/stable/iTerm2-3_5_6.zip)

This is the recommended build for most users.
Built on November 2, 2024.

[▾ Hide Changelog](<javascript:hideId('6524829505104903728')>)

```
Version 3.5.6 of iTerm2 was built on November 2, 2024.

New Features
- You can now "fold" a section, which collapses it
  down to a single line. If you use shell
  integration, you can fold by clicking on the blue
  arrow next to the shell prompt. Alternately,
  select the command by clicking it once and then
  click the new fold button at the top of the
  selected region. If you don't use shell
  integration, you can select a range of lines and
  choose Fold from the context menu or Edit > Fold
  Selected Lines.

  To unfold, click the arrow in the margin or
  right click on the line and select Unfold or
  select Edit > Unfold in Selection.

- When saving a window arrangement you can now
  choose to save it to a file including the
  windows' contents. You can load an arrangement
  file with Window > Load Arrangement from File.

- Added `Window > Lock Split Pane Width` which
  tries to preserve the width of a split pane as
  the window's geometry changes.

- You can now choose to play a sound when the next
  mark is received, under Edit > Marks and
  Annotations > Alerts.

Other Improvements
- Some silly default key bindings interfered with
  macOS Sequoia's window tiling shortcuts. A new
  migration process offers to remove them for you.
- SentinelOne users will be warned when upgrading
  from this version to the next if the update
  would be classified as malware.
- Show a warning when a Codecierge session goes on
  for a long time.
- Change how the status bar measures memory used
  to more closely match Activity Monitor.
- Add Gemini to the list of supported AI models.
- Scroll events now get reported when you mouse
  over an inactive window and use the scroll
  wheel/scroll gesture.
- Upgrade libssh2 to version 1.11.1. This affects
- When you drag a window by its titlebar in the
  Minimal or Compact themese, bring the window to
  the front immediately.
- Global Search now searches the main screen of a
  session even if it is currently displaying the
  alternate screen.
- When mouse reporting is on and you click in a
  window that is not currently active, that click
  will not be reported.
- Add zed to the list of Semantic History editors.
- When you manually reset, clear the stack of
  hostnames to avoid incorrectly changing the key
  reporting mode.
- In macOS 15, if control-return would be
  reported, don't show the context menu.
- If you run iTerm2 from the command line, the
  --help argument now gives usage info.
- Remove special support for control-page up/down
  to scroll, which interfered with window tiling
  shortcuts. It was only there because of a
  misunderstanding 14 years ago.
  the Download with scp feature.

Bug Fixes
- Fix some very common crashes.
- Fix a bug where colors in a dynamic profile
  might not be respected if the parent/default
  profile uses separate light/dark mode colors
  but the dynamic profile does not.
- Don't report option+keystrokes when using the
  Unicode Hex Input keyboard.
- Fix a bug where the offscreen command line could
  be wrong sometimes.
- Fix a bug where non-ANSI colors showed up in the
  hue/chroma visualization in colors settings.
- Hopefully fixed accessing machines on the local
  network and bonjour hosts on macOS Sequoia.
- Fix a bug where locale settings didn't correctly
  update arrangements sometimes.
- Fix a bug where the number 100 sometimes didn't
  fit in numeric fields in settings.
- Fix accessibility bugs in macOS 15.
- Ignore empty host or user in OSC 7 URLs.
- Don't show that CSI u mode is enabled when key
  reporting flags are set.
- Fix minor drawing bugs.

SHA-256 of the zip file is
You can use the following to verify the zip file on https://keybase.io/verify:

-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA256

a026eadaffe893b76e0401ff3f38b2a5d90834a138bb9b4c35343c56350171c9
-----BEGIN PGP SIGNATURE-----

iHUEAREIAB0WIQSAPIQGkYVsjnBRo2J0Et0TaFtKrAUCZyZ/qAAKCRB0Et0TaFtK
rMPHAQDXI/rsUkRoEYj2sBxt/gf8B5cuAFl6Gs0+g/oEEOrojAEAotfjW0gf8UCK
hxwN66B8aWvm+3b8TQJhaX6e63Oq31k=
=8+JW
-----END PGP SIGNATURE-----
```

#### [iTerm2 3.5.5 (OS 10.15+)](https://iterm2.com/downloads/stable/iTerm2-3_5_5.zip)

This is the recommended build for most users.
Built on September 19, 2024.

[▾ Hide Changelog](<javascript:hideId('1039789036992234679')>)

```
3.5.5, build September 19, 2024.

This release fixes a number of crashes present in
3.5.4.

You can use the following to verify the zip file on https://keybase.io/verify:

-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA256

ac04449446db746db04aa2616a8ce5945e4577599d51a9ec624a7dc28fa27eac
-----BEGIN PGP SIGNATURE-----

iHUEAREIAB0WIQSAPIQGkYVsjnBRo2J0Et0TaFtKrAUCZuzEcgAKCRB0Et0TaFtK
rF1gAP91UxUIZ4EJoNO3NaoBzgMTlZRWfFOGxLk731y8nxHsOQEAnW0aJ/OLPtJU
pQdvy0ZCiFSVmBoF+JPFMHCz8OkVB1U=
=Pjce
-----END PGP SIGNATURE-----
```

#### [iTerm2 3.5.4 (OS 10.15+)](https://iterm2.com/downloads/stable/iTerm2-3_5_4.zip)

This is the recommended build for most users.
Built on August 10, 2024.

[▾ Hide Changelog](<javascript:hideId('8964009168356662218')>)

```
3.5.4

New Features
- Added a menu item "Literal Mode", that shows
  control characters (e.g., as ^C) rather than
  interpreting them.
- Composer now makes suggestions for executables
  by searching $PATH, including in ssh
  integration.
- In tmux integration, remember window sizes.
- Add a menu item, Clear Find, to remove search
  results.

Improvements
- Improve performance when you have lots of OSC 8
  URLs.
- Prevent a bunch of garbage from being written
  when you run tmux -CC with an argument besides
  new or attach.
- Rename Prefs to Settings in many places.
- Improve performance of search when there are
  thousands of results.
- Improve how focus follows mouse interacts with
  the Composer and the Find panel.
- If AI is disabled by MDM, disable it in the
  menu.
- Support more kinds of keyboards in Copy mode.
- Don't dismiss the hotkey window when an
  authentication window appears.
- Performance improvements.
- You can now elect to have no components in
  session titles. This is useful if you always set
  titles with a control sequence and don't want
  other stuff to appear.

Bug Fixes
- Fix a number of crashes.
- Fix a bug where there "create script" dialog had
  two cancel buttons.
- Fix broken ligature suport for MenloNF.
- Fix searching profiles by tag.
- Fix a bug where cmd-tab didn't play nicely with
  remapping modifiers, making cmd-tab unreliable.
- Fix a bug where there were stray pixels above
  letters in the GPU renderer on some fonts.
- Fix a bug where filter could miss updates to the
  last line prior to a newline.

SHA-256 of the zip file is
You can use the following to verify the zip file on https://keybase.io/verify:

-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA256

acfb8f93550277c231c572a488cd0290e74bce538354a5f5515a889ea4b44bd5
-----BEGIN PGP SIGNATURE-----

iHUEAREIAB0WIQSAPIQGkYVsjnBRo2J0Et0TaFtKrAUCZre1wgAKCRB0Et0TaFtK
rO4iAP9FM8/6kWoBC1aCAgK6Kp3YZNmqcuZ6sJmHqY3jhZbprQEAhOrBqvCv9cfN
maCrsQIqBNXQYPIcA5IA39Y5HUutAx8=
=7cZQ
-----END PGP SIGNATURE-----
```

#### [iTerm2 3.5.3 (OS 10.15+)](https://iterm2.com/downloads/stable/iTerm2-3_5_3.zip)

This is the recommended build for most users.
Built on July 2, 2024.

[▾ Hide Changelog](<javascript:hideId('1399654627843525923')>)

```
3.5.3

New Features
- You can now run iTerm2 from a script with
  --command=xxx to open a window running the
  specified command.
- If you make a selection in the composer prior to
  pressing shift-enter, only the selection is sent
  (and no newline is appended).
- Add support for multi-line search queries.
- Add support for DECRQDE.

Improvements
- Saved arrangements with invalid locales can now
  be updated by the same UI that helps you pick a
  valid locale.
- When using focus follows mouse and the mouse
  exits the search panel give the terminal
  keyboard focus.
- Add "share command output" to the command share
  menu (the share button visible when using auto
  composer).
- Add option to copy both command and output to
  the command share menu.
- Reorganize command share menu to make mroe sense.
- When navigating to a mark, select its command
  automatically.
- Improve appearance of cursor guide.
- Fix a bug where cmd-0 didn't reset the font
  correctly when a non-ASCII font isn't in use.
- When you do cmd-E and the search mode is regex,
  escape the string so it matches.
- Don't show offscreen command line if the cursor
  is under it.
- Improve locale-picking dialog. You can now
  choose a minimal locale if you just want UTF-8
  support but no localizations.
- Add Info button to past commands when auto
  composer is in use.
- Make snippet search work like profile search.

Bug Fixes
- Fix crashes
- Fix a bug where the customized terminfo provided
  by iTerm2 had compatibility problems.
- Fix a bug where colors in background images were
  wrong.
- Fix a bug where cmd-hover didn't alwasy show a
  link preview.
- Fix a bug where $PATH was sometimes missing
  expected values.
- Fix a bug where OSC 8 URLs didn't always work.
- Fix a bug where the Auto Composer's height was
  too short.
- Fix a bug where sending a snippet with a tag
  filter from the Toolbelt could send the wrong
  snippet.
- Fix a bug where 'Terminal may report window
  title' was not honored.
- Fix crashes.
- Fix autocomplete, which was completely broken.
- Don't trim whitespace when copying with control
  sequences.
- Greatly improve the appearance of selected
  commands when a background image is present.
- Improve appearance of offscreen command line in
  GPU renderer.
- Fix incorrectly drawn powerline symbols.
- Fix incorrectly drawn box characters.
- Fix a bug where triggers that match on the bell
  didn't work.
- Fix performance problems some users experienced
  with ssh.
- Fix a bug where some programs weren't correctly
  detected as the active job (e.g., in session
  titles).
- Fix a bug where the composer didn't get keyboard
  focus when AI produces a command.
- Fix nonstandard behavior when dragging a window.
- Fix Copy when auto composer is in use and the
  terminal has a selection but the composer does
  not.
- Fix a bug where modifier remapping didn't do the
  right thing when releasing a key, causing
  problems with cmd-tab.
- Fix a bug where cmd-0 didn't reset the font
  correctly when a non-ascii font isn't in use.
- Fix a bug where some controls were the wrong
  colors against dark backgrounds.
- Fix discrepancy in box drawing characters gpu vs
  legacy.
- Fix bug in escaping regexes that have
  backslashes.
- Improve IME support in Composer.
- Fix font selection visual bugs in macOS 10.15.

SHA-256 of the zip file is
You can use the following to verify the zip file on https://keybase.io/verify:

-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA256

5f789abff55ff2f69f6d51964c5fb7fd8599fcde113604b7a0e6ea39414ad4a9
-----BEGIN PGP SIGNATURE-----

iHUEAREIAB0WIQSAPIQGkYVsjnBRo2J0Et0TaFtKrAUCZoSWqQAKCRB0Et0TaFtK
rGEEAP9/5SbawMfD8LRxrbzunu+mzog4foRWZ5QEZKZQ7+/mgwEA6mhdoGeTyd/k
/l9tyACmsIL3q1fNJCPcjUH0P9YaGE0=
=A0dj
-----END PGP SIGNATURE-----
```

#### [iTerm2 3.5.2 (OS 10.15+)](https://iterm2.com/downloads/stable/iTerm2-3_5_2.zip)

This is the recommended build for most users.
Built on June 13, 2024.

[▾ Hide Changelog](<javascript:hideId('7043307240741129324')>)

```
3.5.2

This version of iTerm2 patches a security issue
present in previous builds of 3.5, including
betas. Please upgrade right away.

Bug Fixes
---------
- Fix a bug where the "Terminal may report window
  title" setting was not respected. This makes a
  remote code execution attack possible.
- Disable controls in Settings when generative AI
  is disabled in advanced settings or by MDM.

Since 3.5.1 was a short-lived release, the release
notes for 3.5.1 follow:

3.5.1

This release adds some safety valves to eliminate
the risk of private information leaving the
terminal via the AI endpoints. While an API key
and explicit user action were always needed to use
AI features, some users asked for an impenetrable
firewall for safety and regulatory purposes.

To that end, there are three relevant changes:

1. Code that communicates with AI providers such
as OpenAI has been moved into a plugin that you
must install separately. Enterprise system admins
can block bundle id com.googlecode.iterm2.iTermAI
to prevent it from being installed in the first
place.

See here for details:
https://iterm2.com/ai-plugin.html

2. In addition, you must manually enable AI
features in Settings. Doing so requires admin
access.

3. Enterprise administrators who wish to disable
iTerm2's AI access may set the user default
GenerativeAIAllowed to False in their MDM systems.

New Features
------------
- Cmd-shift-click on a command's output to select
  it.

Improvements
------------
- Previously it was easy to choose a locale
  without the right character encoding. Detect
  this and offer a chance to try again. For users
  who did fall into this trap, ask them to try
- Add an option to use LC_CTYPE=UTF-8 as your
  locale.
- Keypresses in SSH integration no longer wait for
  one to ACK before the next is sent.
- Move OpenAI API key to the keychain.
- Add gpt-4o model.
- Fix drag-drop to upload with SSH integration
  when using ~/.ssh/config where Host isn't equal
  to Hostname.
- Prompts for Codecierge are now in advanced
  settings.
- Scroll-to-end keybindings are now broadcast when
  input broadcasting is on.
- Various controls for AI have been moved to the
  main Settings panel so it's easier to use a
  local model.
- Add an advanced setting to disable the secure
  keyboard entry indicator.
- Indicators get an outline to make them stand out
  from the background.
- Codecierge gets a larger text box to enter your
  goal.
- Various powerline characters no longer respond
  to minimum contrast so their colors can match
  adjacent background colors.
- Improve error reporting in AI code.
- Make canceling an AI request work faster.
- Only ask for accessibility permission once per
  app version.
- Use selection color to outline selected command.
- Add a setting to disable horizontal scroll
  reporting. This fixes a problem where swiping to
  switch tabs didn't work when mouse reporting was
  on.

Bug Fixes
- Fix a bug where adding items to the password
  manager would overwrite other items.
- Fix a bug where the background image could
  overflow the bounds of the image control and
  fill the settings window. It was a very pretty
  bug.
- Fix a bug where autocomplete didn't work at all.
- Fix a bug in it2ssh when connecting to hosts
  that don't use bash as /bin/sh.
- Fix crashes.
- Fix a performance problem with long scrollback
  history. Existing history will need to be
  cleared before the benefit is seen.
- Fix double-paste when drag-dropping text.
- Fix support for non-OpenAI LLMs.
- Typing while it2ssh is connecting no longer
  breaks it.
- Fix performance issue with very long window
  titles.
- Fix gpt-4o support which had too many response
  tokens.
- Support responses from LLMs without an index
  field.
- Fix a bug where there were stray pixels above
  some characters.
- Fix alignment of box-drawing characters in GPU
  renderer.
- Control-[ closes the find bar when it's in the
  status bar.
- Fix a bug where modifier remapping didn't work
  with some actions such as cmd-clicking links.
- The "offscreen command line" shown at the top
  when part of a command's output is truncated now
  includes the background colors of the command
  line.
- Fix a bug where focus-follows-mouse didn't
  activate a window when the cursor only enters
  the scrollbar.
- Fix discrepancies between GPU and legacy
  renderers that drew things in different orders.
- Fix a crash with the smart selection action "run
  command in window".
- Fix bugs in dragging dividers between tools in
  Toolbelt.
- Fix a bug where scroll-to-end keybindings didn't
  work.
- Fix a bug where tab or window titles sometimes
  wouldn't show the current job's name.
- Rename preferences to settings in tip of the
  day.

SHA-256 of the zip file is
You can use the following to verify the zip file on https://keybase.io/verify:

-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA256

76ae9203144ca2b72ea699b47f3337ede88aabb06a0e2424b64196e60813385a
-----BEGIN PGP SIGNATURE-----

iHUEAREIAB0WIQSAPIQGkYVsjnBRo2J0Et0TaFtKrAUCZmsfCgAKCRB0Et0TaFtK
rBOIAQCyxYffIe16QYQN2jEQJDBuDvDomsn1n3nZyxx2PJd9VAEAh6FQSwTA0f4Q
Mn+cZ/3lCEr4Gu/dY34X7UwFywZxhVA=
=n0mV
-----END PGP SIGNATURE-----
```

#### [iTerm2 3.5.1 (OS 10.15+)](https://iterm2.com/downloads/stable/iTerm2-3_5_1.zip)

This is the recommended build for most users.
Built on June 11, 2024.

[▾ Hide Changelog](<javascript:hideId('71498655755037629')>)

```
3.5.1

This release adds some safety valves to eliminate
the risk of private information leaving the
terminal via the AI endpoints. While an API key
and explicit user action were always needed to use
AI features, some users asked for an impenetrable
firewall for safety and regulatory purposes.

To that end, there are three relevant changes:

1. Code that communicates with AI providers such
as OpenAI has been moved into a plugin that you
must install separately. Enterprise system admins
can block bundle id com.googlecode.iterm2.iTermAI
to prevent it from being installed in the first
place.

See here for details:
https://iterm2.com/ai-plugin.html

2. In addition, you must manually enable AI
features in Settings. Doing so requires admin
access.

3. Enterprise administrators who wish to disable
iTerm2's AI access may set the user default
GenerativeAIAllowed to False in their MDM systems.

New Features
------------
- Cmd-shift-click on a command's output to select
  it.

Improvements
------------
- Previously it was easy to choose a locale
  without the right character encoding. Detect
  this and offer a chance to try again. For users
  who did fall into this trap, ask them to try
- Add an option to use LC_CTYPE=UTF-8 as your
  locale.
- Keypresses in SSH integration no longer wait for
  one to ACK before the next is sent.
- Move OpenAI API key to the keychain.
- Add gpt-4o model.
- Fix drag-drop to upload with SSH integration
  when using ~/.ssh/config where Host isn't equal
  to Hostname.
- Prompts for Codecierge are now in advanced
  settings.
- Scroll-to-end keybindings are now broadcast when
  input broadcasting is on.
- Various controls for AI have been moved to the
  main Settings panel so it's easier to use a
  local model.
- Add an advanced setting to disable the secure
  keyboard entry indicator.
- Indicators get an outline to make them stand out
  from the background.
- Codecierge gets a larger text box to enter your
  goal.
- Various powerline characters no longer respond
  to minimum contrast so their colors can match
  adjacent background colors.
- Improve error reporting in AI code.
- Make canceling an AI request work faster.
- Only ask for accessibility permission once per
  app version.
- Use selection color to outline selected command.
- Add a setting to disable horizontal scroll
  reporting. This fixes a problem where swiping to
  switch tabs didn't work when mouse reporting was
  on.

Bug Fixes
- Fix a bug where adding items to the password
  manager would overwrite other items.
- Fix a bug where the background image could
  overflow the bounds of the image control and
  fill the settings window. It was a very pretty
  bug.
- Fix a bug where autocomplete didn't work at all.
- Fix a bug in it2ssh when connecting to hosts
  that don't use bash as /bin/sh.
- Fix crashes.
- Fix a performance problem with long scrollback
  history. Existing history will need to be
  cleared before the benefit is seen.
- Fix double-paste when drag-dropping text.
- Fix support for non-OpenAI LLMs.
- Typing while it2ssh is connecting no longer
  breaks it.
- Fix performance issue with very long window
  titles.
- Fix gpt-4o support which had too many response
  tokens.
- Support responses from LLMs without an index
  field.
- Fix a bug where there were stray pixels above
  some characters.
- Fix alignment of box-drawing characters in GPU
  renderer.
- Control-[ closes the find bar when it's in the
  status bar.
- Fix a bug where modifier remapping didn't work
  with some actions such as cmd-clicking links.
- The "offscreen command line" shown at the top
  when part of a command's output is truncated now
  includes the background colors of the command
  line.
- Fix a bug where focus-follows-mouse didn't
  activate a window when the cursor only enters
  the scrollbar.
- Fix discrepancies between GPU and legacy
  renderers that drew things in different orders.
- Fix a crash with the smart selection action "run
  command in window".
- Fix bugs in dragging dividers between tools in
  Toolbelt.
- Fix a bug where scroll-to-end keybindings didn't
  work.
- Fix a bug where tab or window titles sometimes
  wouldn't show the current job's name.
- Rename preferences to settings in tip of the
  day.

You can use the following to verify the zip file on https://keybase.io/verify:

-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA256

745a6f90795e5f0910379e979f5a2298d44267430ca8334202cb5e65be497b58
-----BEGIN PGP SIGNATURE-----

iHUEAREIAB0WIQSAPIQGkYVsjnBRo2J0Et0TaFtKrAUCZmjQ9AAKCRB0Et0TaFtK
rMwEAQDxyoZrpWtlTz8YKyowJ6G0G9swkjK6/HK+2VxLXH5oRgEAysnhZRGePBua
4amwFf6ZEFFOewpr5I70PqPaNkRuPa4=
=xNSU
-----END PGP SIGNATURE-----
```

#### [iTerm2 3.5.0 (OS 10.15+)](https://iterm2.com/downloads/stable/iTerm2-3_5_0.zip)

This is the recommended build for most users.
Built on May 17, 2024.

[▾ Hide Changelog](<javascript:hideId('8371463212605616818')>)

```
3.5.0

This version of iTerm2 represents over two years
of work and it has an awful lot of changes.

Here are the most important improvements:

- If you use shell integration and the output of a
  command goes past the top of the screen, the
  command will be shown at the top.

- A new menu item, Edit > Find > Filter, lets you
  hide lines not matching a substring or regular
  expression. This is useful for analyzing logs.

- You can click a command to select it. Search,
  Filter, and Select All will then be restricted
  to the selected command. You can disable this
  feature in Settings > General > Selection.

- Add support for separate light/dark mode colors.

- Using OpenAI's ChatGPT API, iTerm2 can now write
  commands for you, interpret the output of
  commands, and guide you towards a goal. See the
  AI section below for details.

- Add "Render Selection", which replaces a chunk
  of selected text with a natively rendered view.
  For example, JSON gets pretty-printed and syntax
  highlighted. Rendered selections have the option
  of scrolling horizontally to make navigating
  logs easier. They are searchable. Over 150
  different languages are supported for syntax
  highlighting. Markdown gets special treatment
  and displays its rendered format.

- The password manager can now use LastPass or
  1Password rather than the keychain. Use the (⋯)
  menu next to the search field to configure it.

There are some new experimental features. There
are not fully baked, but feedback on them is
welcome.

- There is a nascent SSH integration feature
  available for testing. You can try it by setting
  a profile's command to SSH. The integration lets
  you export environment variables and copy files
  to the remote host. If Python 3.7 or later is
  available on the remote host, various features
  such as the Jobs status bar and toolbar
  components will reflect data from the remote
  rather than the local.

- Add an experimental "auto composer" feature that
  replaces the command line with a native control.
  This is still a work in progress.

The full list of new features follows:

Performance Improvements
========================
- Highlight triggers evaluate much faster now.
- Input is now handled off the main thread. This
  increases throughput and decreases latency. We
  can now redraw at a higher frame rate without
  impacting throughput significantly.
- Selecting a bunch of text used to lock up the UI
  for a long time, but it is now instant. The hard
  work is deferred until you actually paste the
  text.
- Semantic history (cmd-clicking on a filename)
  used to search the filesystem on the main thread
  which could cause hangs (such as on slow network
  filesystems). This work has been moved to a
  separate process to keep the UI responsive.
- Trigger evaluation, especially when you have
  many triggers, is significantly faster now.

AI
==
- Add AI-powered natural language command
  generation. Enter a prompt in the composer and
  select Edit > Engage Artificial Intelligence.
  You will need to provide an OpenAI API key since
  GPT costs money to use.
- A new AI feature in the Toolbelt, "Codecierge",
  lets you set a goal and then walks you
  step-by-step to completing it by watching the
  terminal contents. It requires you to supply an
  OpenAI API key.

UI
==
- Tabs now have a separate configurable subtitle
  under the main title.
- The tab bar in the Minimal theme now uses the
  same transparency as the rest of the window.
- Add support for 120hz.
- The vertical line and horizontal line cursors
  now have a subtle shadow to improve their
  visibility.
- Add "Convert Matches to Selections" menu item.
- Make menu items searchable in key bindings and
  pointer bindings.
- The P3 color space is now supported. The color
  picker uses P3 and control sequences that accept
  a color space now accept p3.
- Selecting URLs (cmd-opt-u) now enables shortcuts
  to jump to them by number.
- Use the running program's first letter as the
  tab icon if there is no built-in icon.
- Add "Find All Smart Selection Matches", which
  searches for any string matching a smart
  selection. Those that are initially visible can be
  copied with a keystroke or immediately sent with
  option+keystroke.

Quality-of-Life Improvements
============================
- Add "named marks" which make it easier to find
  your spot in history.
- Clear Buffer can now be broadcast like keyboard
  input.
- Add "Add tab on right" to tab context menu.
- Option-cmd-click now selects the second smart
  selection action.
- Add "Duplicate Session". It supports ssh
  integration, even with jump hosts!
- Add Shell > Duplicate Window.
- Add "Add Alert on Marks in Offscreen Sessions"
  which is a sticky setting that lets you know
  when a command in a not-currently-visible
  session finishes. Requires shell integration.
- Add "Move session to tab" to context menu.
- Add Window > Move session to tab
- Right-clicking on a number in scientific
  notation like 6.022e23 shows its expanded form
  in the context menu.
- You can now search the tty and foreground job
  process ID in the Open Quickly window.
- Add key binding actions for next/previous pane.
- There are new key binding actions for Windows
  refugees who want to use Control-C and Control-V
  to copy and paste. "Copy or Send ^C" and "Paste
  or Send ^V" will copy (if there's a selection)
  or paste (if the clibpoard has text)
  and otherwise send the control character.
- Squelch audible beeps when focus reporting is
  the likely cause.
- Offer to turn off mouse reporting for BEL when
  they seem to be correlated.
- Add a menu item to install an already-downloaded
  Python runtime.
- Informative values in context menu (e.g.,
  hex-to-decimal conversions) are now copyable.
- Add option to enable GPU renderer in low power
  mode.
- The paste history tool now has a context menu.

Text
====
- Add Unicode 15 emoji.
- Emoji flags now draw as double-width.
- You can now assign fonts to specific ranges of
  unicode. There is a built-in shortcut to get all
  the powerline symbols, including downloading the
  requisite fonts.
- Make certain powerline symbols draw wider.
- Add support for native rendering of the
  following powerline extended symbols:
    U+E0A3: column-number
    U+E0B0: Powerline_normal-left
    U+E0B2: Powerline_normal-right
    U+E0B4: right-half-circle-thick
    U+E0B5: right-half-circle-thin
    U+E0B6: left-half-circle-thick
    U+E0B7: left-half-circle-thin
    U+E0B8: lower-left-triangle
    U+E0C0: flame-thick
    U+E0C1: flame-thin
    U+E0CE: lego_separator
    U+E0CF: lego_separator_thin
    U+E0D0: lego_block_facing_WIP
    U+E0D1: lego_block_sideways
    U+E0D3: lego_block_facing_WIP-3d-good
- Support variation selector 16 except in
  alternate screen mode.
- The font picker now supports stylistic
  alternatives.
- Add setting to select opacity of faint text.

Settings
========
- Add View > Disable transparency in key window.
  This lets you have transparency/blur in
  background windows.
- Add a preference to force creating a new window
  on launch, even if there is a hotkey window.
- You can now bind "select menu item" to pointer
  events (clicks and gestures).
- Add a setting to preserve windows' spaces on
  restoration.
- You can configure a shortcut to be a "leader".
  This allows you to define two-keystroke
  shortcuts, composed of leader + some other
  shortcut. For example, if you make cmd-B the
  leader then you can create a key binding for
  leader+h/j/k/l to navigate among split panes.
- Add "copy" as a new smart selection action.
- Add a new kind of key binding action called
  "sequence" that performs any number of other key
  binding actions in order.
- You can now remap the fn key if you have a
  MacBook.
- You can now import and export *all* the
  iTerm2-related data in Settings > General >
  Preferences > Export/Import All Settings And
  Data.
- Key bindings can now be applied to multiple
  sessions (e.g., all sessions in this window).
- You can now customize copy mode shortcuts by
  placing a file in ~/Library/Application
  Support/iTerm2/CopyModeKeyBindings.dict.
  See the similarly named file in the app bundle
  for a reference.
- Add menu item to clear instant replay.
- Code points 0xf000-0xf003 can now be rendered.
  These are sometimes used in nerd fonts.
- Add a reset button to the modifier remapping UI.
- Add ability to remap the right control key.
- Having a separate color for selected text is now
  optional.
- Add a preference to avoid blocking system
  shutdown.
- There's a new key binding action to alert on the
  next mark.
- Add 'interpret key bindings based on physical
  key, ignoring input language' setting so your
  key bindings stay the same when changing
  keyboard layout.
- Add option to notify of noncritical shell
  integration updates.

Terminal
========
- Claim to be xterm version 314 and a vt220. This
  will enable new features in various programs,
  such as better key reporting in vim and emacs.
  It may introduce new incompatibilities too!
  Please let me know if something breaks.
- Add support for various control sequences that
  affect colors (OSC 12, 17, 19, 104, 110, 111,
  112, 117, and 119).
- Add support for OSC 22 to set mouse cursor. The
  following styles are supported:
    X_cursor, arrow, based_arrow_down,
    based_arrow_up, cross, cross_reverse,
    crosshair, hand1, hand2, left_ptr, left_side,
    right_side, sb_h_double_arrow, sb_left_arrow,
    sb_right_arrow, sb_up_arrow,
    sb_v_double_arrow, tcross, xterm

- Add support for colored underlines.
- Add support for SGR 8 (invisible text).
- Function keys now send modifier flags as long as
  TERM begins with `xterm`.
- Compatibility improvements to "modifyOtherKeys"
  mode.
- Add support for various control sequences:
  - CSI ^
  - CSI a
  - DEC(RE)SET 1007
  - DEC(RE)SET 1016
  - DEC(RE)SET 1047
  - DEC(RE)SET 1048
  - DEC(RE)SET 12 (blinking cursor: disabled by
    default in new pref)
  - DEC(RE)SET 66
  - DECBI
  - DECCARA
  - DECCRA
  - DECDC
  - DECDSR
  - DECERA
  - DECFI
  - DECFRA
  - DECIC
  - DECNCSM
  - DECRARA (yeah! let's go!)
  - DECRQPSR
  - DECRQSS
  - DECRSPS
  - DECSACE
  - DECSCA
  - DECSCPP
  - DECSED
  - DECSEL
  - DECSERA
  - DECSLPP
  - DECSNLS
  - EPA
  - HPA
  - SGR 21 (double underline)
  - SL
  - SPA
  - SR
  - Tertiary DA
  - XTPOPSGR
  - XTPUSHSGR
  - XTSETTCAP
  - XTSMGRAPHICS
  - push/pop/report colors
- Provide a modified termcap that advertises
  Setulc (underline color support) for
  xterm-256color.
- Clipboard content reporting via control sequence
  OSC 52 is now supported, but requires user
  consent to enable.
- There's a new control sequence for rich
  notifications:
[esc]1337;Notification=[params][control-G]
  Where params is a semicolon-delimited list of
  key value pairs:
  message=[text]
    The text to display.
  title=[text]
    Optional notification title.
  subtitle=[text]
    Optional notification subtitle.
  image=[data]
    Optional base64-encoded image.
- Add support for inline SVGs.
- Mouse reporting now supports horizontal
  scrolling and more mouse buttons.
- Add DECSET 2026 for synchronized updates.
- Add support for mouse reporting buttons 10 and
  11 and horizontal scrolling.
- Stop parsing OSC control sequences after 1
  megabyte.
- Add OSC 1337 OpenURL=:(base64-encoded URL)
- Control sequences that set color values accept
  4-digit hex values now.
- Enabling CSI u mode in your profile does not
  enable Disambiguate Escapes now. This additional
  setting is now exposed in the Terminal State menu.

Triggers
========
- Add Inject trigger. It injects input to the
  terminal as though it had been read from the
  running app.
- Add a new trigger action to set a user-defined
  variable.
- Add Triggers status bar component to make it
  easier to manage your triggers.
- Add a variable "line" when evaluating a
  trigger's interpolated string, giving the line
  number since the start of history.

Titles
======
- Add session size as a feature you can show in
  tab titles.

Scripting
=========
- Add a mouseInfo variable that exposes info about
  the last button event to Python API scripts.
- You can now invoke API-registered functions from
  Open Quickly.
- Set ITERM2_COOKIE in coprocesses so they can use
  the Python API without an extra authentication
  step. All other environment variables that
  sessions have are also now provided to
  coprocesses.
- Add a setting for the location of Python API
  scripts.
- Add builtin functions "iterm2.paste()" and
  "iterm2.focus()".
- You can now invoke script functions from mouse
  bindings.
- Script invocations can use semicolons to call
  multiple functions.
- Allow multiple selections for importing and
  exporting scripts.
- Notify Python API clients of resizes.

Snippets
========
- Snippets now have configurable escaping modes so
  you can use literal text without worrying about
  backslashes.
- Hold option when sending a snippet to open it in
  Advanced Paste for editing.
- Hold shift when selecting a snippet to open it
  in the composer.
- Add a search field to the snippets toolbelt tool.
- Large snippets won't cause problems saving
  settings any more. They are now stored
  separately.

Logging
=======
- You can now save logs in HTML.
- Automatic logging filename is now a profile
  setting instead of an advanced setting.
- The folder for automatic logging is now an
  interpolated string.
- Enable logging as asciicast, which is playable
  by asciinema.
- Add option to include timestamps in saved
  content.
- Use only ASCII spaces in plain-text logs.

Password Manager
================
- You can now disable probing for a password
  prompt in the settings menu of the password
  manager.
- Add option not to require a password to open the
  password manager.
- Improve how the password manager stores
  passwords in keychain so they make more sense in
  Keychain Access.
- The password manager can now generate passwords.

Shell Integration
=================
- There's a new Utility, it2tip, which implements
  the tip of the day as a command line app.
  Install shell integration and utilities to get
  it.
- Shell integration can now be injected
  automatically as part of creating a login shell.
  Explicit installation is no longer needed on
  localhost (except for tcsh users, who are still
  stuck in 1995. Sorry).
- You can now cmd-click on the command prompt to
  get info about the command.
- imgcat has a bunch of new options. You'll need
  to reinstall shell integration utilities to get
  it.

tmux
====
- Offer to detach after closing the last tmux tab.
- Enable focus reporting in tmux integration.
- In tmux integration, key bindings are
  automatically created to emulate tmux's
  shortcuts with the leader in place of tmux's
  prefix key.
  You can set up the leader in Prefs > Keys >
  Leader.
- In tmux 3.4 you'll be able to mirror its paste
  buffer to the local clipboard.
- Make "Adjust window when changing font size"
  work in tmux integration.
- Make the tmux-256color terminfo available by
  default. Improves various problems in tmux
  integration such as function keys sending the
  wrong codes.

Composer
========
- The composer (cmd-shift-.) now supports multiple
  cursors. Use ctrl-shift-up/down or option-drag to
  create them. You can also convert search results
  to cursors with Edit > Find > Select Matches.
- Selecting Advanced Paste while in the composer
  moves the composer's content into the advanced
  paste window.
- The composer now supports search.
- You can resize the composer's height by dragging
  its bottom edge.
- Cmd-click in the composer opens the command in
  explainshell.com.
- In the composer, option-shift-enter sends the
  command at the cursor and removes it from the
  composer.
- Add a "compose" action (prefs > shortcuts >
  actions).
- Add ability for composer to enqueue a command.
- ssh integration is now easily usable from the
  command line. Use it2ssh instead of ssh.

Profiles
========
- Searches for profiles now allow you to exclude
  terms using the minus operator. For example:
  -tag:dynamic
- Remember the order of dynamic profiles after you
  hand-edit them in settings, even if they are
  later removed and re-added.

Semantic History
================
- Add IntelliJ UE support to semantic history.
- Fix support for VSCode Insiders in semantic
  history.
- Add support for the new VSCodium bundle ID.
- Add support for the Nova editor to semantic
  history.
- Add support for WebStorm and Rider to semantic
  history.
- Semantic history now supports "[filename](line
  number])" and "[filename] line [line number]"
- Semantic history can now open to line number in
  Xcode.

Copy Mode
=========
- Copy mode now supports previous/next mark
  navigation.
- Add new copy mode commands: ^e and ^y to scroll
  by one line, ^d and ^u to scroll by half a
  screen, and you can now precede a command with a
  number to apply it repeatedly.

Other
=====
- You can now reveal a session by opening a URL
  like iterm2:///reveal?sessionid=w0t0p0.guid
  where the parameter comes from the
  ITERM_SESSION_ID environment variable.
- Add handlers for titan and gemini schemes.

Other Improvements
------------------

UI
==
- When you drag a top statusbar in a no-titlebar
  window with a single tab and no split panes drag
  the window instead of the tab.
- Use session font for timestamps.
- Make font configurable in text status bar
  components.
- Use fixed-pitch fonts in various places in
  settings where they make sense.
- Show an indicator in all sessions when debug
  logging is enabled.
- Clicking on indicator icons in the top right of
  a session now shows help text.
- Broadcast to all panes/tabs is now a toggle.
- Double clicking on the tabbar now behaves the
  same as double clicking on the title bar: it
  respects the system setting for title bar double
  clicks.
- Improve legibility of tab labels in the Minimal
  theme.
- Support resolutions larger than 4k pixels per
  dimension in GPU renderer.
- Up/down arrows wrap around in open quickly
  window.
- Emacs and Python now get the correct tab icons.
- Rate limit alerts and notification triggers to
  avoid spamming you to death.
- Make the tab bar look prettier in Monterey.
- Tweak sorting of command history to make age a
  slightly stronger factor.
- Visual improvements to the toolbelt.
- Warn about changes in macOS 12 when secure
  keyboard entry is enabled.
- Show an indicator in the current session when
  secure keyboard input is enabled.
- Add text labels to the macOS-style color
  picker's custom icons.
- Visual improvements to profile list views.
- Visual improvements to the Jobs tool.
- Ensure the URL preview box does not overlap the
  hyperlink being previewed.
- Avoid causing the window contents to jump when
  colors change.
- Visual improvements to minimal theme with
  transparent windows.
- UI improvements to the password manager for
  adding a new password.
- Tweak status bar colors to look nicer in the
  Minimal theme.
- Tweak the status icon (shown in the menu bar
  when you've excluded iTerm2 from the dock) to
  have a more modern design.
- GPU renderer is now usable when background
  images are shared across panes.
- Improve readability of preferences search in
  dark mode.
- Improve appearance of status bar search field
  with non-default background colors.
- Double-clicking a pane splitter equalizes the
  sizes of views adjacent to it.
- Window transparency can now be set to 100%.
- Improve appearance of password-prompt cursor.
- The status bar icon now includes the full main
  menu.
- In Ventura, the tab bar now remains visible in
  native full screen mode when revealing the title
  bar.
- Increase width of font picker panel to avoid
  truncation.
- Make Window>Arrange spit panes preserve
  horizontality of splits in common cases.
- Tip of the day is now draggable.
- Non-fullscreen floating hotkey windows now
  appear under notifications.
- The background color of search results is now
  configurable.

Terminal
========
- Add modified terminfo for xterm, xterm-256color,
  and xterm-new that support Smulx (undercurl).
- Add support for HTML-style #rrggbb colors in OSC
  4 and related sequences.
- Limit REP to 64k to avoid DOS.
- Increase max size of OSC 8 URLs.

Performance
===========
- Prompt to delete the restoration db if verifying
  its integrity takes over 10 seconds.
- Limit CPU usage of helper tasks to 50%.
- Reduce energy usage when a progress indicator is
  visible in the tab bar.
- Reduce frame rate of animated status bar
  components to reduce WindowServer's CPU usage.
- Defer database janitorial work until after app
  launch to avoid blocking it.

Quality of Life
===============
- If a session is short lived, uses a login shell,
  the shell does not exist, and the profile can be
  changed offer to change the shell to /bin/zsh
  which will always exist to get the user unstuck.
- Make captured output tool remember the line you
  cleared at so when more output appears the
  previously cleared items do not reappear. Also
  make it look nicer.
- Provide a more helpful error if a profile's
  command cannot be found.
- Strip control characters from RemoteHost.
- Exclude loopback interfaces in network status
  bar component.
- You can now turn on smart cursor color even if
  the default cursor is not a box since it could
  be changed to a box by a control sequence.
- Use XDG_CONFIG_HOME for .iterm2 folder when set.
- When the country+language do not match a valid
  POSIX locale, present a UI to select one.
- Don't sync the most recent coprocess commands
  with remote prefs.
- Show tilde in place of local home directory in
  tab/window titles.

tmux
====
- tmux integration now remembers which windows had
  the toolbelt open.
- tmux integration now remembers tab title
  overrides.
- Synchronize selected window, tab, and pane in
  tmux integration when another client changes it.
- When attaching to tmux, if a window is 95%
  offscreen move it onto the nearest display as
  much as possible.
- Optimize bandwidth for sending keystrokes to
  tmux in tmux integration mode.

Settings
========
- Saving prefs no longer clobbers symlinks.
- The list of displays in profile window settings
  now uses meaningful names for screens.

Selection
=========
- Smart selection action parameters are now
  interpolated strings.

Search
======
- Don't reset the start location for search when a
  search finds zero results.
- Performing find next/previous without a search
  bar open will highlight all search results now.
- Automatically highlight matches when the search
  UI is open and the query changes because another
  app changed the value to be searched for.
- Search history completion now works on words
  instead of entire phrases.
- A find indicator now displays search results to
  highlight the current one with an animation.
- Control-C in Find on Page now focuses terminal.

Profiles
========
- "Save all profiles as JSON" now preserves the
  order of profiles.
- Changes to dynamic profiles are now detected
  more quickly.

Hotkey Windows
==============
- Pressing a non-modifier key will now cancel a
  double-tap of a modifier key that opens a hotkey
  window.
- Double-tap modifier hotkeys now activate on key
  up rather than key down to avoid false
  activations.
- When a hotkey window rolls out restore the
  previously active app only if it was rolled out
  because of a keypress.

General
=======
- Allow apps running in the terminal to request
  bluetooth access.
- Add NSPhotoLibraryUsageDescription so apps that
  use your photo library get a proper permission
  dialog.

Scripting
=========
- Data injected by the Python API during a silent
  coprocess is now made visible.
- Add isHotkeyWindow variable to window scope.

File Transfer
=============
- Offer to replace an existing file when
  downloading.
- When using ssh integration, file transfers no
  longer require a new connection. They share the
  existing channel.
- Support id_ed25519 for secure copy via semantic
  history.
- Warn before connecting via scp to a
  never-before-seen host.

Semantic History
================
- Update it2ul to avoid sending xattrs to GNU tar.
- Make it2dl more reliable in tmux integration.

Bug fixes
---------

Security fixes
==============
Thanks to vin01 for discovering these issuse:
* Sanitize paths in x-man-page URLs.
* Sanitize ssh hostnames in URLs to guard against
  malicious URLs.
* Prevent hang on enormous OSC sequences.

Other bug fixes
===============
- When global search finds a result in a hidden
  pane because a sibling is maximized an d you
  select it, change which pane is maximized.
- Fix memory leaks.
- Mouse reporting now reports mouse up more than
  once when multiple buttons were pressed at the
  same time.
- Fix a bug where the scroll wheel could stop
  working after a session terminates.
- Fix a bug when overwriting the second half of a
  double-width character.
- Fix a bug in mouse reporting with tmux.
- Fix how colors are reported to improve
  compatibility with emacs.
- Terminate buried sessions when quitting.
- Fix a bug where some apps would use the wrong
  colors because of a terminfo problem.
- Fix a bug where using the contextual menu to
  hide a Python API-provided status bar component
  could hide the wrong one.
- Fix a bug where fish could be confused about the
  size of a new session.
- Fix a bug where expanding a disclosure triangle
  in an alert box didn't increase its size,
  leaving the text unreadable.
- Widen prefs panel so legacy scrollbars don't
  overlap controls.
- ESC c (RIS) now restores colors from the
  underlying profile, including those changed by
  OSC 4.
- Fix a bug where cmd-enter wouldn't toggle
  fullscreen for a hotkey window when native
  fullscreen was enabled.
- Control-backspace now sends ^H.
- Fix DECRQCRA interpretation of params (first is
  now request ID).
- Fix corrupted scroll regions after a resize.
- Fix DECCOLM to reset margins on change and to
  preserve the cursor's position.
- Work around a bug in old versions of tmux where
  they didn't accept control-space like other
  keys, causing 0x0 to be printed.
- Fix tmux integration for tmux 1.8.
- Turn off smart substitution in the snippets
  value text view.
- Open hotkey windows beneath menu bar when
  opening over another app's fullscreen window.
- Fix the appearance of dragged tabs.
- Fix flashing white line at top of screen in dark
  mode full screen.
- Fix discrepancy between GPU and non-GPU renderer
  in the presence of blending.
- OSC no longer requires a semicolon after the
  mode if there is no argument.
- Fix a bug where both a per-pane and per-window
  background image could be visible at the same
  time.
- Turn off mouse movement tracking when it isn't
  needed to reduce idle CPU.
- Fix discrepancy in rendering of composed
  characters in GPU renderer vs legacy renderer.
- When "Enable full keyboard access" is turned on
  in system prefs, iTerm2 now accepts the spacebar
  as input.
- Restore window title when unburying a session
  that causes the window to be resurrected.
- Fix cmd-clicking on URLs without a scheme but
  with a fragment.
- Fix a bug where windows would restore with the
  wrong width when scroller style changes.
- Fix occasional disconnect when typing in tmux
  integration.
- SGR 4 with no subparameter now resets the
  underline style to single.
- Ensure Rosetta is installed before running the
  Python API.
- Fix a bug where clicking the dock icon while the
  tip of the day was open wouldn't open a new
  window.
- Fix bugs in positioning the badge, indicators,
  and broadcast stripes when a per-pane status bar
  or per-pane title bar is present.
- Fix a bug where the Jobs toolbelt would show a
  process with pid 0 after the login shell
  terminates.
- Fix bugs in handling newlines in control
  sequences that set the title.
- Fix a bug where marks were sometimes not removed
  when the screen was cleared.
- Fix memory leaks.
- Fix a bug where marks were drawn upside-down
  in the GPU renderer.
- Fix a bug where faint text could render
  incorrectly.
- Fix a bug where window transparency could be
  wrong when the window is first created.
- Improve appearance of tabs being dragged.
- Select Current Command now selects past the
  cursor if needed.
- Fix a bug where crash reports weren't sent on
  macOS 12.
- Fix a bug where errors were shown after an
  upload finished.
- When a session needs a Python API script to be
  running but it hasn't started yet, retry for
  five seconds.
- Fix rendering of background images in non-GPU
  renderer when toggling "separate background
  images per pane".
- Fix a bug where output on stderr could be lost.
- Fix a bug in rendering marks on non-retina
  displays.
- Fix a bug where split panes can't be dragged
  after moving them.
- Temporarily disable secure keyboard entry when
  exiting a hotkey window so the other app's
  window can be revealed.
- Tolerate errors in tmux.conf when starting tmux
  integration.
- Fix a bug where find could select the wrong
  range on new input.
- Fix a bug where combining marks sometimes didn't
  appear.
- Work around tmux's new limit on passthrough
  control sequences to fix copy to pasteboard in
  tmux integration.
- Fix file descriptor leak in pidinfo helper job.
- Fix a bug in the shell integration installer
  where it assumed .bash_profile ends with a
  newline.
- Fix a discrepancy between GPU and non-GPU
  renderers for image drawing.
- Fix drawing of inline images when the machine's
  main display is non-Retina.
- Fix a bug where compact opaque windows with
  image backgrounds and 1 tab and no tabbar showed
  the image under the titlebar.
- Fix a bug where it2copy didn't work sometimes.
- Fix a bug in handling of zero-width spaces.
- Fix a bug where changing the type of scroller
  could cause a window to move away from a
  screen's edge.
- Fix bugs with zoomed panes in tmux integration
  causing the window to resize itself.
- The Open Quickly feature now includes terminal
  windows in search results.
- Fix bugs in the status bar layout algorithm that
  could create too-small components.
- Fix a bug where dragging from Fork, or other
  apps that treat dragging a file as dragging
  a link, that caused the drop to be rejected.
- Fix a bug where images disappear prematurely.
- Remap modifiers on mouse clicks like we do for
  keypresses.
- Fix cursor color in reverse video mode. It
  should also be reversed.
- Fix a bug where mouse reporting sometimes
  wouldn't work until switching to another app and
  back.
- Improve appearance of powerline glyphs and box
  drawing characters.
- Fix non-standard mouse cursors, like Mousecape.
- Fix support for combining marks in reverse
  non-regex search where the wrong region was
  highlighted.
- Fix truncation in fullscreen hotkey windows over
  spitscreen fullscreen windows of other apps.
- Fix a bug where the first keystroke in copy mode
  could be ignored.
- Performance improvements for nushell.
- Make new tab/window with current profile respect
  tmux integration.
- Fix appearance of the pane titlebar menu button
  in Minimal mode with dark background.
- Fix support for x-man-page URLs.
- Avoid ordering windows forward with focus
  follows mouse when closing a popup.
- Work around a macOS bug where focus follows
  mouse could activate the wrong pane.
- Fix a bug in opening menus in status bar
  components that caused them to appear twice.
- Support multi-line prompts when showing an
  offscreen command line at the top of the screen.
- Fix a bug where double-tapping a modifier to
  open a hotkey window doesn't work on macOS
  Sonoma.
- Fix a bug where profiles with a Python API-based
  status bar component could not be exported as
  JSON.
- Fix drawing of status bar items with graphs in
  Sonoma.
- Fix link to open system settings in Sonoma.
- Fix a bug where searching for a URL doesn't do
  anything sometimes.
- Fix bug where dock is hidden after exiting
  fullscreen mode sometimes.
- Fix a bug where panes' dimmed status is not
  updated after switching panes sometimes.
- Fix a bug where Window > Move to [screen]
  sometimes didn't work.
- Fix a bug where certain powerline symbols
  weren't drawn on macOS Sonoma.
- Fix wrong light/dark mode in status bar
  popovers.
- Enable the autolaunch folder in the script
  export file picker.
- Fix bug where job name in jobs tool overlapped
  the pid column.
- Fix disclosable view accessories in alerts on
  Sonoma.
- Fix a flash when toggling GPU rendering.
- Fix a bug where accessibility coordinates were
  wrong, leading to various issues.
- Fix a bug where changing whether non-ascii
  characters are anti-aliased wouldn't update the
  display if GPU rendering was on.
- Use zsh as the default shell when OpenDirectory
  doesn't provide one.
- Handle pasing from remote clipboards (handoff)
  better.
- Fix a bug where the split pane shortcut numbers
  were wrong after moving them.
- Fix a bug where scrollbar background colors
  could be wrong sometimes.
- Fix About window rendering in Ventura.
- Fix a bug where long lines in the input method
  editor didn't draw correctly.
- Fix the response for XTGETTCAP when requiesting
  the number of colors and direct color width.
- Don't prompt to disable mouse reporting in emacs
  when scrolling too far.
- Fix a bug where the status bar font would change
  to Times Roman.
- Round timestamps to the nearest second to make
  them stable.
- Fix a bug where the hyperlink trigger used the
  wrong range of cells sometimes.
- Fix bug where swiping horizontally on pane
  titlebar didn't change tabs.
- Fix memory leak when onscreen images are
  overwritten.
- Fix UI glitch in background image blending
  controls.
- Fix a bug where quitting didn't always kill
  sessions.
- Fix drawing issues with fonts that have very
  wide ASCII glyphs.
- VPN traffic is no longer double counted in the
  network status bar component.

Breaking Changes
----------------
- Change XTGETTCAP's response to "TN" to give
  $TERM rather than the name of the terminal
  emulator. This will probably break your code if
  you relied on it.
- The response to Primary DA now indicates VT
  level 400. Hopefully this doesn't break
  anything, but it's hard to test!  Please let me
  know if programs start misbehaving.
- The response to Secondary DA now gives xterm
  patch level 2500. This unlocks features in some
  apps (like better key handling in Emacs) but
  will probably break things I don't know exist.

You can use the following to verify the zip file on https://keybase.io/verify:

-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA256

052cc8243ed7c23805394dd99848b7df09f4b4034820da0f92383f9ed8bbb4a8
-----BEGIN PGP SIGNATURE-----

iHUEAREIAB0WIQSAPIQGkYVsjnBRo2J0Et0TaFtKrAUCZkfL3AAKCRB0Et0TaFtK
rEtTAP9+CW2Mw9CweQpU1OgMR10heavHWFfSgLnja1uh8yo+yQEAmkBgtduYQXaF
23mCOB8FODsyzacvV89o6at+FyfdBe8=
=r8jE
-----END PGP SIGNATURE-----
```

#### [iTerm2 3.4.23 (OS 10.15+)](https://iterm2.com/downloads/stable/iTerm2-3_4_23.zip)

This is the recommended build for most users.
Built on December 26, 2023.

[▾ Hide Changelog](<javascript:hideId('8635937617738802523')>)

```
3.4.23

Bug fixes:
- Fix a bug where windows may not be restored
  properly.
- Fix a bug where modifier double-tap hotkeys
  don't work in macOS Sonoma.

You can use the following to verify the zip file on https://keybase.io/verify:

-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA256

82ee82369d14d452c2d3c8886d460e2466e46dc517eb3d96b2b04c97b0c23d49
-----BEGIN PGP SIGNATURE-----

iHUEAREIAB0WIQSAPIQGkYVsjnBRo2J0Et0TaFtKrAUCZYt9pgAKCRB0Et0TaFtK
rB82AP9DTv8vD3cDkg0p9tWmdCAbMYs79RoKr6DWwcH9e4fTbQEA70v29oZMj4BV
DDM0/Q4qTPcF4L5wFCmbKd+Ap7k5deM=
=/Ez+
-----END PGP SIGNATURE-----
```

#### [iTerm2 3.4.22 (OS 10.15+)](https://iterm2.com/downloads/stable/iTerm2-3_4_22.zip)

This is the recommended build for most users.
Built on November 3, 2023.

[▾ Hide Changelog](<javascript:hideId('192975749346147722')>)

```
3.4.22

- Fixes a memory leak in the Minimal theme.
- Fixes a bug where the preferences dialog
  sometimes lost its toolbar.

You can use the following to verify the zip file on https://keybase.io/verify:

-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA256

d2864b5df79f8be383c4ed2d2307595ded6298168c03bf4991b61467cd13f338
-----BEGIN PGP SIGNATURE-----

iHUEAREIAB0WIQSAPIQGkYVsjnBRo2J0Et0TaFtKrAUCZUWH/QAKCRB0Et0TaFtK
rCnRAP4qD+oOVRntGPbn0DGWGqbcMXjwLKs1JejE3rGE6ZG6dQEAnUHEkXCgQTaW
Rmp9bLKIEdnqKSVRpd3nhm5N1sxPU5c=
=IaDq
-----END PGP SIGNATURE-----
```

#### [iTerm2 3.4.21 (OS 10.15+)](https://iterm2.com/downloads/stable/iTerm2-3_4_21.zip)

This is the recommended build for most users.
Built on October 5, 2023.

[▾ Hide Changelog](<javascript:hideId('1303365807019940645')>)

```
3.4.21

Fixes a hang for Logitech mouse users.

You can use the following to verify the zip file on https://keybase.io/verify:

-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA256

9241c286c32322b3223cd45a69815a68a06242523d0be4287d0aed68d466e486
-----BEGIN PGP SIGNATURE-----

iHUEAREIAB0WIQSAPIQGkYVsjnBRo2J0Et0TaFtKrAUCZSNJFQAKCRB0Et0TaFtK
rJsrAP9muUMsKNmh0i0lG3qiIgxQcY8JDljrdZkogAnr1CqEqgEAsA4mYXCjFx7r
KiIVveHP1LbEU7yJIDObF8qlggeBrPg=
=wOIU
-----END PGP SIGNATURE-----
```

#### [iTerm2 3.4.20 (OS 10.15+)](https://iterm2.com/downloads/stable/iTerm2-3_4_20.zip)

This is the recommended build for most users.
Built on August 10, 2023.

[▾ Hide Changelog](<javascript:hideId('7139596061596714700')>)

```
3.4.20

This release fixes a couple security problems. You
are encouraged to upgrade right away. More details
here: https://iterm2.com/news.html

In addition to the security fix, this release also
fixes a few crashes.

You can use the following to verify the zip file on https://keybase.io/verify:

-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA256

981a5b47de0c5ebd965b46a1db633c33e0117494a567c7c9e65456a1f95ccac5
-----BEGIN PGP SIGNATURE-----

iHUEAREIAB0WIQSAPIQGkYVsjnBRo2J0Et0TaFtKrAUCZNP+2wAKCRB0Et0TaFtK
rHEwAP9kSZfN/M0kwtIu4s6+R7EaRo8avIrB7RszW8w9rTaqPAD/dzz93+YdA119
OJ+8f9wfLKgpvDtLAr581FWy/TR1OTI=
=rehz
-----END PGP SIGNATURE-----
```

#### [iTerm2 3.4.19 (OS 10.15+)](https://iterm2.com/downloads/stable/iTerm2-3_4_19.zip)

This is the recommended build for most users.
Built on January 2, 2023.

[▾ Hide Changelog](<javascript:hideId('6479462223928830176')>)

```
3.4.19

- Fix a crash when moving a window or dragging a
  tab.
- Fix a bug where the status bar would switch to
  Times Roman.
- Fix a crash when a profile's font is missing.
- Fix a bug with the "full keyboard access"
  feature that broke the space bar.

You can use the following to verify the zip file on https://keybase.io/verify:

-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA256

e06563714ea0582f8a69653ef5024957483c174d7387b0e8d70369db98406832
-----BEGIN PGP SIGNATURE-----

iHUEAREIAB0WIQSAPIQGkYVsjnBRo2J0Et0TaFtKrAUCY7M2XQAKCRB0Et0TaFtK
rIWFAP0TcIERUlm54r+jTpTLHjZSPEmn4b+a92fe+F2HAizg9QD/a0KppUrMoCvQ
IDsvN7lKc9SU2xFEtm25lyHEu/sqZwI=
=Ztko
-----END PGP SIGNATURE-----
```

#### [iTerm2 3.4.18 (OS 10.15+)](https://iterm2.com/downloads/stable/iTerm2-3_4_18.zip)

This is the recommended build for most users.
Built on November 15, 2022.

[▾ Hide Changelog](<javascript:hideId('1963483644431824545')>)

```
3.4.18

- Change DECRQSS response to patch a security
  hole.
- Fix crash when dragging a tab out of a window.
- Improve crash reporting to include Objective-C
  exceptions, which Apple broke.

You can use the following to verify the zip file on https://keybase.io/verify:

-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA256

76727347acb1f2856f9b6702c6ba486594da87f857afec3ee4cba48f7cac219c
-----BEGIN PGP SIGNATURE-----

iHUEAREIAB0WIQSAPIQGkYVsjnBRo2J0Et0TaFtKrAUCY3PpqgAKCRB0Et0TaFtK
rM3nAPwKEzceSXPcIy+ztpYPw7tIjLF2tTj4iHNJnhJ7piP7twD8CGKEBXFwZ4R7
qy5O5iTBjNB5QiFrEi0QE6/waT1pWs0=
=nzKy
-----END PGP SIGNATURE-----
```

#### [iTerm2 3.4.17 (OS 10.15+)](https://iterm2.com/downloads/stable/iTerm2-3_4_17.zip)

This is the recommended build for most users.
Built on October 24, 2022.

[▾ Hide Changelog](<javascript:hideId('1354936980236929614')>)

```
3.14.7

- Rebuild using macOS Ventura SDK.
- Fix crash on macOS 10.15 when using eyedropper.
- Fix bug where transparency is lost when profile
  changes while in Lion fullscreen with legacy
  renderer.
- When prepending a default scheme to a
  user-supplied URL for URL actions, include //.

You can use the following to verify the zip file on https://keybase.io/verify:

-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA256

583bc015015cdace7d90e9a717a79e6d7ddb5091556ae64c8ec1abb55f243543
-----BEGIN PGP SIGNATURE-----

iHUEAREIAB0WIQSAPIQGkYVsjnBRo2J0Et0TaFtKrAUCY1a3wQAKCRB0Et0TaFtK
rFqIAPsEQKwksDV+Gku02DczAZSV8cm0IgSLpcWK2LzsyFVHrQD/b+98Yks16cIV
AjW3G17V8Q8jdC+6Ni3XriE7q1FsXGg=
=a/qr
-----END PGP SIGNATURE-----
```

#### [iTerm2 3.4.16 (OS 10.14+)](https://iterm2.com/downloads/stable/iTerm2-3_4_16.zip)

This is the recommended build for most users.
Built on June 27, 2022.

[▾ Hide Changelog](<javascript:hideId('7088024888379725731')>)

```
3.4.16

- Fix a problem where performance gradually
  degrades.
- Fix a possible crash when detaching from tmux
  integration.
- Fix a bug where crash reports were not detected
  in macOS 12.
- Fix tmux integration for tmux 3.3

If you use tmux 3.3 and have shell integration
installed, please update your shell integration
scripts. The old ones fail to recognize tmux 3.3
correctly.

You can use the following to verify the zip file on https://keybase.io/verify:

-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA256

b0941a008ead9f680e9f4937698b9b849acbb4e30ed1f3f100e3616cd6d49c0b
-----BEGIN PGP SIGNATURE-----

iHUEAREIAB0WIQSAPIQGkYVsjnBRo2J0Et0TaFtKrAUCYrnrwQAKCRB0Et0TaFtK
rJiBAQC2xbBvUsYgStnB5PyUuTavdaWP4BQKmlit9dCQ5sUhsAD/aISrBGc6+OW8
gxiOHeK+rwUyeaDkTtMiYYMQ5ZX0QQM=
=f29M
-----END PGP SIGNATURE-----
```

#### [iTerm2 3.4.15 (OS 10.14+)](https://iterm2.com/downloads/stable/iTerm2-3_4_15.zip)

This is the recommended build for most users.
Built on December 14, 2021.

[▾ Hide Changelog](<javascript:hideId('3794116643504687876')>)

```
3.4.15

This is a bug fix release for 3.4.14 and 3.4.13,
which were not long-lived. Their combined release
notes may be found below.

- Fix transparent open quickly and shell
  integration intaller windows on macOS 12.
- Fix incorrect inset on full screen displays on a
  screen with a notch.

Bug fixes from 3.4.14 and 3.4.13:

- Fix a bug where the title bar color was wrong.
- Fix a periodic beachball that some users
  experienced.
- Fix a bug where non-native fullscreen windows
  overlapped the notch.
- Fix a bug where hotkey windows overlapped the
  menu bar on notch displays.
- Fix a flashing white line in full screen mode
  while in dark mode.
- Fix a bug where the action picker for key
  bindings didn't draw its background correctly on
  macOS 12.
- Fix a hang experienced by users of the git
  status bar component.

You can use the following to verify the zip file on https://keybase.io/verify:

-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA256

32594ee038efdda96b5d7a325c11219bac667f69ca952a5ff080b26079871b78
-----BEGIN PGP SIGNATURE-----

iHUEAREIAB0WIQSAPIQGkYVsjnBRo2J0Et0TaFtKrAUCYbjsMwAKCRB0Et0TaFtK
rDJ/AQDcG3OZG8rHqNBENynr9omKi19yXFkxQcSKZYggCscslQEA1X9eMRtCtPbi
xrb7iOFxeytdCMsEnurDQ5pzWVww/jM=
=6MLs
-----END PGP SIGNATURE-----
```

#### [iTerm2 3.4.14 (OS 10.14+)](https://iterm2.com/downloads/stable/iTerm2-3_4_14.zip)

This is the recommended build for most users.
Built on November 27, 2021.

[▾ Hide Changelog](<javascript:hideId('4648845225079967245')>)

```
3.4.14

This is a bugfix release for 3.4.13, which was
short-lived. Its release notes may be found below.

Bug fixes
- Fix a bug where the title bar color was wrong.
- Fix a periodic beachball that some users
  experienced.
- Fix a bug where non-native fullscreen windows
  overlapped the notch.
- Fix a bug where hotkey windows overlapped the
  menu bar on notch displays.

3.4.13
Bug Fixes
- Fix a flashing white line in full screen mode
  while in dark mode.
- Fix a bug where the action picker for key
  bindings didn't draw its background correctly on
  macOS 12.
- Fix a hang experienced by users of the git
  status bar component.

You can use the following to verify the zip file on https://keybase.io/verify:

-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA256

70b00efb2f3f732aef7a8dacbec3d199046ce63e9b776a82259788501309bb63
-----BEGIN PGP SIGNATURE-----

iHUEAREIAB0WIQSAPIQGkYVsjnBRo2J0Et0TaFtKrAUCYaMpRQAKCRB0Et0TaFtK
rM0GAQCFz8FpHXAURxVXWrMUlgzbKk2L+4ZTX+yFCn5c/fQQLAD/SAkF9vZtqATK
6EFMggcTsdLLDaLuhyfNupAn8l5PBB4=
=QG3O
-----END PGP SIGNATURE-----
```

#### [iTerm2 3.4.13 (OS 10.14+)](https://iterm2.com/downloads/stable/iTerm2-3_4_13.zip)

This is the recommended build for most users.
Built on November 22, 2021.

[▾ Hide Changelog](<javascript:hideId('243649287489657154')>)

```
3.4.13

Bug Fixes
- Fix a flashing white line in full screen mode
  while in dark mode.
- Fix a bug where the action picker for key
  bindings didn't draw its background correctly on
  macOS 12.
- Fix a hang experienced by users of the git
  status bar component.

You can use the following to verify the zip file on https://keybase.io/verify:

-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA256

b3c28d4e207e400baebbbfc7021ffb001fef1432b72b3ade69689fab7c498013
-----BEGIN PGP SIGNATURE-----

iHUEAREIAB0WIQSAPIQGkYVsjnBRo2J0Et0TaFtKrAUCYZvbQwAKCRB0Et0TaFtK
rGCnAP0SSucDZ4a7TLPcftRkjfmiOLZrRyZB3ACi66Y9Q7T+GAEAkKGFw1Y2rHTV
LcHryMqQMKhlHrxcu7wP+NLQj+kxTg4=
=2Ykp
-----END PGP SIGNATURE-----
```

#### [iTerm2 3.4.12 (OS 10.14+)](https://iterm2.com/downloads/stable/iTerm2-3_4_12.zip)

This is the recommended build for most users.
Built on October 26, 2021.

[▾ Hide Changelog](<javascript:hideId('8199552582390999823')>)

```
3.4.12

This is a bugfix release to correct a problem with
version 3.4.11 on Macs with a notch.

Version 3.4.11 was short-lived and its release
notes are included below.

Bug fixes:
- Don't cause the whole machine's UI to shrink
  when launching the app.
- Fix a crash during window restoration.

3.4.11

This version of iTerm2 was built with Xcode 13 for
macOS Monterey.

Bug Fixes
- The menu items that select a broadcast mode are
  now toggles. This fixes a bug introduced in
  3.4.10 where they lost the ability to turn
  broadcasting off.
- Fix a bug where cmd-enter wouldn't toggle full
  screen mode for hotkey windows when native full
  screen mode was enabled.
- Fix a bug where control-space would not work
  correctly in tmux integration.
- Improve visibility of non-selected tabs when one
  tab has a custom tab color.
- Enable compatibility mode for displays with
  notches.

You can use the following to verify the zip file on https://keybase.io/verify:

-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA256

2083a4d0a37e62a7c18fca5eafdaea246bca8cccc98094c33b38e9946342fb2a
-----BEGIN PGP SIGNATURE-----

iHUEAREIAB0WIQSAPIQGkYVsjnBRo2J0Et0TaFtKrAUCYXhk4AAKCRB0Et0TaFtK
rMRNAQC/tyK3PoHRtSnQvg+uzoTfwQ7VY7BTsDhD20NPv+6lWQEAsuYmgMyC0HVf
b4oAFh3AUsKz4YylkXjSjQc7fG3DMTA=
=v2UJ
-----END PGP SIGNATURE-----
```

#### [iTerm2 3.4.11 (OS 10.14+)](https://iterm2.com/downloads/stable/iTerm2-3_4_11.zip)

This is the recommended build for most users.
Built on October 25, 2021.

[▾ Hide Changelog](<javascript:hideId('1084506684598831144')>)

```
3.4.11

This version of iTerm2 was built with Xcode 13 for
macOS Monterey.

Bug Fixes
- The menu items that select a broadcast mode are
  now toggles. This fixes a bug introduced in
  3.4.10 where they lost the ability to turn
  broadcasting off.
- Fix a bug where cmd-enter wouldn't toggle full
  screen mode for hotkey windows when native full
  screen mode was enabled.
- Fix a bug where control-space would not work
  correctly in tmux integration.
- Improve visibility of non-selected tabs when one
  tab has a custom tab color.
- Enable compatibility mode for displays with
  notches.

You can use the following to verify the zip file on https://keybase.io/verify:

-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA256

0d27df194a23f1c7fa13fb0e1319afa687c7c8816647af0f6754bb82a7055d6b  build/Deployment/iTerm2-3_4_11.zip
-----BEGIN PGP SIGNATURE-----

iHUEAREIAB0WIQSAPIQGkYVsjnBRo2J0Et0TaFtKrAUCYXbw2QAKCRB0Et0TaFtK
rG6zAQDlX3a7V4jaVzQS/UD3AKImes/Inl/Mx154JLGtO+PZVwEAwlbivArexJP9
Ivl+iDBj64i9LLJsCqsWAlvy/2xGA14=
=puG7
-----END PGP SIGNATURE-----
```

#### [iTerm2 3.4.10 (OS 10.14+)](https://iterm2.com/downloads/stable/iTerm2-3_4_10.zip)

This is the recommended build for most users.
Built on September 13, 2021.

[▾ Hide Changelog](<javascript:hideId('5760116917859240041')>)

```
3.4.10

This is a minor update over 3.4.9, whose release
notes are below.

Bug fixes:
- Fix a bug where annotations were not visible.
- Fix a bug where row highlighting when navigating
  among marks didn't work sometimes.

3.4.9

New Features
- Add support for new keyboard reporting mode
  control sequences:
  - CSI > u  Push key reporting mode
  - CSI < u  Pop key reporting mode
  - CSI ? u  Query key reporting mode
- When you select hex characters and open the
  context menu their base-10 equivalent is shown.
- Add Undo Close to menu so that you can bind a
  keystroke to it. It undoes closing the last
  session/tab/window.
- You can now enable and disable triggers both on
  a per-profile basis and per-session. You can do
  this through the usual prefs UIs and also
  through the Session > Triggers menu.
- Add "Clear to Last Mark" and "Clear to Start of
  Selection" menu items.
- Add an option to disable triggers in interactive
  applications.
- You can now importa nd export snippets.
- Add a profile preference to open the password
  manager automatically when a password prompt is
  detected.
- Dynamic profiles may now name a "Dynamic Profile
  Parent GUID" rather than "Dynamic Profile Parent
  Name" to avoid breaking things when you rename a
  profile with children.
- Timestamps can now be configured to show when
  the mouse hovers over the right edge of the
  window.

Other Improvements
- In tmux integration the tmux server will now
  remember user-set tab titles.
- Preserve existing percent encoding when
  cmd-clicking a URL.
- Avoid setting TTY's size when switching away
  from a tab.
- Verbiage improvements to tmux dashboard.
- Improvements to escaping when sending text via
  key binding action or snippets. Backaslashes can
  now reliably be sent by escaping them as \\.
  Existing key bindings and snippets will not
  change behavior until edited.
- Sliders in prefs now include a text field
  showing the actual value.
- The window menu now indicates windows'
  shortcuts.
- Don't select tabs on mouse-down when option is
  pressed so that you can option-drag a
  non-selected tab.
- Set COPYFILE_DISABLE before creating an archive
  to send with it2ul to not include extended
  attributes files.
- Add Edit Triggers to Session menu.
- If the current directory is a symlink remember
  it more reliably when creating a new session
  that reuses the previous session's directory.
- Upload and download colors in the network usage
  status bar component configurable.
- Prevent triggers that run commands from eating
  infinite CPU if there are too many of them by
  limiting the number that can run concurrently.
- Detect when triggers create a performance
  problem and offer to disable them in interactive
  apps.
- Page up, page down, home, and end now scroll
  when you are not in an interactive app. There is
  a new preference in Profiles > Keys to control
  this.
- In tmux integration (for tmux 3.2 and later) tab
  icons now reflect the current app in the tmux
  pane.
- Add showingAlternateScreen as a session-scoped
  variable.
- Add tmuxWindowPaneIndex as a session-scoped
  variable (requires tmux 3.2+ and tmux
  integration).
- Add logFilename variable to session scope.
- When a status bar is present without a composer
  component and you open the composer, open the
  big one instead of creating a temporary one in
  the status bar.
- Include default environment variables when
  launching a Python API script (e.g. so TMPDIR is
  set).
- Tmux integration now uses #{pane_title} for the
  tab title in most cases.
- Remove selection when pasting.
- Change the full screen mode shortcut to the mac
  standard cmd-ctrl-F unless you have a profile
  whose shortcut is set to this. Continue to
  acccept cmd-enter as well.
- Minor performance improvements to legacy
  renderer.
- Aesthetic improvements to the tabbar on big sur
  to look more like system tabs.
- Make "movement keys scroll outside interactive
  apps" into a profile preference.
- When dragging a window by the tabbar make it key
  and front on mousedown.
- Order a window front when dragging begins.
- Add support for encrypted OpenSSH private keys
  to upload/download with secure copy.
- Disable GPU renderer when macOS Monterey is in
  low-power mode.

Bug Fixes
- Fix a bug where some input was dropped in tmux
  integration.
- macOS Monterey support.
- Make "broadcast to panes in current tab" saner.
  It is now a per-tab rather than per-window
  setting. Toggling it will enable/disable the
  setting only for the current tab.
- Don't highlight the area next to the search
  field in the preferences pane on mouse-over.
- Fix a bug where windows could be created a bit
  narrower than they should have been.
- When the standard "tmux" profile is created,
  ensure it doesn't have a hotkey.
- Fix improper truncation in git status bar
  component.
- Fix cmd-clicking on URLs with ipv6 addresses.
- Fix URL changing in various cases when
  cmd-clicking on it.
- Fix discrepancy between legacy and GPU
  renderer's drawing of tiled background images.
- Fix a bug where toolbelt tables could be
  truncated on the bottom.
- Move cursor to first column after adding
  'session contents restored' banner.
- Fix bug where inline images were scaled
  incorrectly.
- Fix insets of inline images to be mroe sensible.
- Fix a bug where a shadow could appear under the
  tabbar in full screen mode on Big Sur and also
  in the minimal theme.
- Disable paste bracketing when sending 'cd
  directory' due to a drag being dropped.
- Fix the expand arrow button in the status bar
  composer component.
- Allow focus to stay on search field when a
  terminal window becomes key.
- Don't let a control sequence take you out of
  CSI u mode.
- Fix overly long underlines in GPU renderer.
- Prevent excessive CPU usage when the git status
  bar component is enabled and the repo in the
  current directory is enormous.
- Fix incorrect network throughput in network
  status bar component when the set of NICs
  changes.
- Update full-environment Python scripts'
  setup.cfg after editing dependencies.
- Fixes a bug where the window shrinks when
  splitting a tab in a 1-tab window.
- Fix various crashes.
- Fix a bug where prompt marks could survive the
  screen being cleared (this happened a lot in
  tmux integration).
- Respect zero-width joiners and allow them to
  prevent ligatures.
- Fix a bug where restoring windows from an
  arrangement via the dock menu could put them on
  the wrong screen.
- Avoid sending focus reports when the password
  manager is open.
- Fix a bug where tabs opened from the tmux
  dashboard would open in the current window
  instead of in a new window.
- Fix a bug where content would jump around when
  scrolled up into history and new input is being
  received.
- Fix a bug where it was impossible to make a
  selection while scrolled into history and new
  input is being received.
- Fix a bug where content was duplicated when
  restoring a window on app launch.
- Fix a bug where buried sessions remained hidden
  when the password manager was opened by a
  trigger.
- Fix opening emacs in an existing window when
  cmd-clicking on a text file.
- Unset SHLVL when launching a session to avoid it
  being greater than 1.
- Control-J in CSI u mode now sends a control
  sequence.

SHA-256 of the zip file is
40a62193582dd7c54e6f27e509bdb887ec864513b53d4003763d9e167e44a921
```

#### [iTerm2 3.4.9 (OS 10.14+)](https://iterm2.com/downloads/stable/iTerm2-3_4_9.zip)

This is the recommended build for most users.
Built on August 20, 2021.

[▾ Hide Changelog](<javascript:hideId('363194814567136306')>)

```
3.4.9

New Features
- Add support for new keyboard reporting mode
  control sequences:
  - CSI > u  Push key reporting mode
  - CSI < u  Pop key reporting mode
  - CSI ? u  Query key reporting mode
- When you select hex characters and open the
  context menu their base-10 equivalent is shown.
- Add Undo Close to menu so that you can bind a
  keystroke to it. It undoes closing the last
  session/tab/window.
- You can now enable and disable triggers both on
  a per-profile basis and per-session. You can do
  this through the usual prefs UIs and also
  through the Session > Triggers menu.
- Add "Clear to Last Mark" and "Clear to Start of
  Selection" menu items.
- Add an option to disable triggers in interactive
  applications.
- You can now importa nd export snippets.
- Add a profile preference to open the password
  manager automatically when a password prompt is
  detected.
- Dynamic profiles may now name a "Dynamic Profile
  Parent GUID" rather than "Dynamic Profile Parent
  Name" to avoid breaking things when you rename a
  profile with children.
- Timestamps can now be configured to show when
  the mouse hovers over the right edge of the
  window.

Other Improvements
- In tmux integration the tmux server will now
  remember user-set tab titles.
- Preserve existing percent encoding when
  cmd-clicking a URL.
- Avoid setting TTY's size when switching away
  from a tab.
- Verbiage improvements to tmux dashboard.
- Improvements to escaping when sending text via
  key binding action or snippets. Backaslashes can
  now reliably be sent by escaping them as \\.
  Existing key bindings and snippets will not
  change behavior until edited.
- Sliders in prefs now include a text field
  showing the actual value.
- The window menu now indicates windows'
  shortcuts.
- Don't select tabs on mouse-down when option is
  pressed so that you can option-drag a
  non-selected tab.
- Set COPYFILE_DISABLE before creating an archive
  to send with it2ul to not include extended
  attributes files.
- Add Edit Triggers to Session menu.
- If the current directory is a symlink remember
  it more reliably when creating a new session
  that reuses the previous session's directory.
- Upload and download colors in the network usage
  status bar component configurable.
- Prevent triggers that run commands from eating
  infinite CPU if there are too many of them by
  limiting the number that can run concurrently.
- Detect when triggers create a performance
  problem and offer to disable them in interactive
  apps.
- Page up, page down, home, and end now scroll
  when you are not in an interactive app. There is
  a new preference in Profiles > Keys to control
  this.
- In tmux integration (for tmux 3.2 and later) tab
  icons now reflect the current app in the tmux
  pane.
- Add showingAlternateScreen as a session-scoped
  variable.
- Add tmuxWindowPaneIndex as a session-scoped
  variable (requires tmux 3.2+ and tmux
  integration).
- Add logFilename variable to session scope.
- When a status bar is present without a composer
  component and you open the composer, open the
  big one instead of creating a temporary one in
  the status bar.
- Include default environment variables when
  launching a Python API script (e.g. so TMPDIR is
  set).
- Tmux integration now uses #{pane_title} for the
  tab title in most cases.
- Remove selection when pasting.
- Change the full screen mode shortcut to the mac
  standard cmd-ctrl-F unless you have a profile
  whose shortcut is set to this. Continue to
  acccept cmd-enter as well.
- Minor performance improvements to legacy
  renderer.
- Aesthetic improvements to the tabbar on big sur
  to look more like system tabs.
- Make "movement keys scroll outside interactive
  apps" into a profile preference.
- When dragging a window by the tabbar make it key
  and front on mousedown.
- Order a window front when dragging begins.
- Add support for encrypted OpenSSH private keys
  to upload/download with secure copy.
- Disable GPU renderer when macOS Monterey is in
  low-power mode.

Bug Fixes
- Fix a bug where some input was dropped in tmux
  integration.
- macOS Monterey support.
- Make "broadcast to panes in current tab" saner.
  It is now a per-tab rather than per-window
  setting. Toggling it will enable/disable the
  setting only for the current tab.
- Don't highlight the area next to the search
  field in the preferences pane on mouse-over.
- Fix a bug where windows could be created a bit
  narrower than they should have been.
- When the standard "tmux" profile is created,
  ensure it doesn't have a hotkey.
- Fix improper truncation in git status bar
  component.
- Fix cmd-clicking on URLs with ipv6 addresses.
- Fix URL changing in various cases when
  cmd-clicking on it.
- Fix discrepancy between legacy and GPU
  renderer's drawing of tiled background images.
- Fix a bug where toolbelt tables could be
  truncated on the bottom.
- Move cursor to first column after adding
  'session contents restored' banner.
- Fix bug where inline images were scaled
  incorrectly.
- Fix insets of inline images to be mroe sensible.
- Fix a bug where a shadow could appear under the
  tabbar in full screen mode on Big Sur and also
  in the minimal theme.
- Disable paste bracketing when sending 'cd
  directory' due to a drag being dropped.
- Fix the expand arrow button in the status bar
  composer component.
- Allow focus to stay on search field when a
  terminal window becomes key.
- Don't let a control sequence take you out of
  CSI u mode.
- Fix overly long underlines in GPU renderer.
- Prevent excessive CPU usage when the git status
  bar component is enabled and the repo in the
  current directory is enormous.
- Fix incorrect network throughput in network
  status bar component when the set of NICs
  changes.
- Update full-environment Python scripts'
  setup.cfg after editing dependencies.
- Fixes a bug where the window shrinks when
  splitting a tab in a 1-tab window.
- Fix various crashes.
- Fix a bug where prompt marks could survive the
  screen being cleared (this happened a lot in
  tmux integration).
- Respect zero-width joiners and allow them to
  prevent ligatures.
- Fix a bug where restoring windows from an
  arrangement via the dock menu could put them on
  the wrong screen.
- Avoid sending focus reports when the password
  manager is open.
- Fix a bug where tabs opened from the tmux
  dashboard would open in the current window
  instead of in a new window.
- Fix a bug where content would jump around when
  scrolled up into history and new input is being
  received.
- Fix a bug where it was impossible to make a
  selection while scrolled into history and new
  input is being received.
- Fix a bug where content was duplicated when
  restoring a window on app launch.
- Fix a bug where buried sessions remained hidden
  when the password manager was opened by a
  trigger.
- Fix opening emacs in an existing window when
  cmd-clicking on a text file.
- Unset SHLVL when launching a session to avoid it
  being greater than 1.
- Control-J in CSI u mode now sends a control
  sequence.

SHA-256 of the zip file is
30f947466c28a4e4514cb298be725324772b05c3632eccd8cf5430277e99e95a
```

#### [iTerm2 3.4.8 (OS 10.14+)](https://iterm2.com/downloads/stable/iTerm2-3_4_8.zip)

This is the recommended build for most users.
Built on May 24, 2021.

[▾ Hide Changelog](<javascript:hideId('8079767053793518141')>)

```
3.4.8
This is a bugfix release over 3.4.7.

- Fix a bug where background images didn't appear
  correctly when subpixel antialiasing was
enabled.

3.4.7
This is a bugfix release over 3.4.6.

- Fix a bug where the GPU renderer would draw the
  wrong part of history when receiving input.
- Fix a regression where clicking on an inactive
  split pane while iTerm2 is not the active app
  didn't focus it.
- Fix performance problems because of a timer
  leak.
- Fix performance problems on certain systems that
  constantly issue screen change notifications.
- Fix a crash when using Undo in the composer.
- Fix poor performance in full screen mode.
- Fix drawing bug in non-GPU renderer when
  scrolled to the bottom while receiving input
  quickly.

3.4.6

This is a minor bugfix release over 3.4.5, which
was not widely distributed.

- Fix crashing bugs.
- Fix a bug where the git status bar didn't work
  when outside the root of a repo.

The release notes for 3.4.5 follow:

3.4.5

New Features:
- Add preference to allow/disallow apps changing
  the function of the option keys with a control
  sequence.
- Add a menu item to pop the current session into
  a new window.
- The git status bar now indicates the repo state
  (merging, reverting, cherrypicking, bisecting,
  rebasing, or applying).
- When you right click on a hex color like #ffeedd
  show a preview of the color in sRGB in the
  context menu.
- Add a new type of trigger to highlight the whole
  line. This is useful because matching .*foo.* is
  very slow. With this trigger you can simply
  match foo and the whole line changes color.

Improvements
- The git status bar component no longer shells
  out to the system git. It uses libgit2 instead
  (nicely named!) and should be faster and more
  reliable now.
- When known, the current git branch is used as a
  search feature in Open Quickly.
- Don't show a line between the titlebar and
  tabbar in Big Sur.
- Increase max allowed blur on macOS 10.14.
- When you move a window to a different screen by
  selecting the Move To Screen menu item, it will
  lose its affinity for the window assigned to it
  in Prefs > Profiles > Window and stay where it
  was put when screens are added or removed.
- Buttons in modal alerts now accept cmd+letter
  shortcuts.
- Ignore dynamic profiles whose filename ends in a
  tilde.
- Reset terminal when relaunching a session (e.g.,
  paste bracketing and mouse reporting).
- The composer window now uses the terminal's
  font.
- Scrolling with the trackpad should be more
  responsive now.
- Change how text is drawn when not using GPU
  renderer to avoid artifacts.
- When doing selection respecting soft boundaries,
  treat a backslash in the last column as a
  continuation mark and don't include it.
- By default, save terminal contents to history
  when there is a scrolling region that touches
  the top of the screen.
- Newly saved window arrangements will restore to
  the right size when scroller style changes after
  they were created (unless there are side-by-side
  split panes).
- Treat soft hyphens as unicode punctuation in
  Advanced Paste.

Bug Fixes
- Fix a bug where doublecliking on a session
  titlebar didn't maximize tmux panes correctly.
- Fix clipped button next to status bar search
  field.
- Blur is now correct after changing window type
  or theme.
- Fix a bug where a window forgot it was blurred
  when toggling traditional fullscreen in Minimal
  theme.
- Fix a bug where windows would restore on the
  wrong desktop.
- Fixes a bug where the GPU renderer gets stuck
  "off" when the "Reduce motion" accessibility
  setting is enabled and a window is maximized.
- Fix a bug where control+shift+function/arrow key
  sent the wrong code.
- Fix a bug where the app could hang after certain
  trackpad touches.
- Fix a bug where copy on selection didn't always
  work.
- Fix a bug where transparent windows changed
  colors in native full screen mode.
- Fix a bug where keystrokes bound to menu items
  didn't always work.
- Fix crashes.
- Fix a bug where disabling
  middle-click-to-close-a-tab also breaks the tab
  close button.
- Fix keystroke filtering in the Python APi which
  seems have been broken for some time.
- Fix various bugs with HTML tab titles: remove
  HTML for window title and tooltips.
- Fix a bug where inline images downscaled
  with artifacts in the GPU renderer.
- Fix a crash on launch if ~/.config/iterm2 is not
  able to be created and is not already a
  directory.
- Fix a bug where tab icons were flipped
  vertically on macOS 10.14.
- Fix a bug where the GPU renderer would sometimes
  use the wrong thickness for text.
- Fix various bugs around snippets with the same
  title.
- Don't crash if ~/.config/iterm2, ~/.iterm2, and
  ~/.iterm2-1 cannot be created/used as writable
  directories.
- Fix rendering bugs in background images with
  transparency.
- When HTML titles are enabled, remove the tags
  from various places like notifications.
- Don't crash when pseudoterminals are exhausted.
- Fix a bug where windows would be empty after
  changing screen.
- Fix a bug where no terminal content was shown
  when dragging a tab.
- Fix a bug where underlines appeared offset.
- Fix a bug where transparency and blur would
  sometimes be wrong.
- Fix a bug where smart cursor color didn't use
  the right neighbors as input.
- Fix a bug where the tty pixel size didn't take
  retina scale into account.
- Fix blurry timestamps.
- Fix a hang when using a status bar with the
  "stable layout" algorithm and a fixed-size
  spacer.
- Fix a bug where scroll wheel mice could need
  more than one click to scroll.
- Fix a bug where tmux integration was broken on
  OpenBSD 6.8.
- Fix a flash when the metal renderer is enabled
  or disabled.
- Fix bugs where tiled background images didn't
  look right.
- Fix bug where the last command in the command
  history toolbelt tool was cut off.

You can use the following to verify the zip file on https://keybase.io/verify:

-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA256

29e1cf80dff3cd63e23e42d781969d74a7fed3aadebc756d0001942e40bb376f
-----BEGIN PGP SIGNATURE-----

iHUEAREIAB0WIQSAPIQGkYVsjnBRo2J0Et0TaFtKrAUCYKyUNQAKCRB0Et0TaFtK
rNidAP49cUAQ+sVC+aXGP0QDOgIzqq3ocK+noYaBvNSgF19xFgD+KrLAXHivpyan
u+UFakSmwo4gYZjl04xKmvglnEUcU1Q=
=Fc1R
-----END PGP SIGNATURE-----
```

#### [iTerm2 3.4.7 (OS 10.14+)](https://iterm2.com/downloads/stable/iTerm2-3_4_7.zip)

This is the recommended build for most users.
Built on May 19, 2021.

[▾ Hide Changelog](<javascript:hideId('2076248850012623528')>)

```
3.4.7
This is a bugfix release over 3.4.6.

- Fix a bug where the GPU renderer would draw the
  wrong part of history when receiving input.
- Fix a regression where clicking on an inactive
  split pane while iTerm2 is not the active app
  didn't focus it.
- Fix performance problems because of a timer
  leak.
- Fix performance problems on certain systems that
  constantly issue screen change notifications.
- Fix a crash when using Undo in the composer.
- Fix poor performance in full screen mode.
- Fix drawing bug in non-GPU renderer when
  scrolled to the bottom while receiving input
  quickly.

3.4.6

This is a minor bugfix release over 3.4.5, which
was not widely distributed.

- Fix crashing bugs.
- Fix a bug where the git status bar didn't work
  when outside the root of a repo.

The release notes for 3.4.5 follow:

3.4.5

New Features:
- Add preference to allow/disallow apps changing
  the function of the option keys with a control
  sequence.
- Add a menu item to pop the current session into
  a new window.
- The git status bar now indicates the repo state
  (merging, reverting, cherrypicking, bisecting,
  rebasing, or applying).
- When you right click on a hex color like #ffeedd
  show a preview of the color in sRGB in the
  context menu.
- Add a new type of trigger to highlight the whole
  line. This is useful because matching .*foo.* is
  very slow. With this trigger you can simply
  match foo and the whole line changes color.

Improvements
- The git status bar component no longer shells
  out to the system git. It uses libgit2 instead
  (nicely named!) and should be faster and more
  reliable now.
- When known, the current git branch is used as a
  search feature in Open Quickly.
- Don't show a line between the titlebar and
  tabbar in Big Sur.
- Increase max allowed blur on macOS 10.14.
- When you move a window to a different screen by
  selecting the Move To Screen menu item, it will
  lose its affinity for the window assigned to it
  in Prefs > Profiles > Window and stay where it
  was put when screens are added or removed.
- Buttons in modal alerts now accept cmd+letter
  shortcuts.
- Ignore dynamic profiles whose filename ends in a
  tilde.
- Reset terminal when relaunching a session (e.g.,
  paste bracketing and mouse reporting).
- The composer window now uses the terminal's
  font.
- Scrolling with the trackpad should be more
  responsive now.
- Change how text is drawn when not using GPU
  renderer to avoid artifacts.
- When doing selection respecting soft boundaries,
  treat a backslash in the last column as a
  continuation mark and don't include it.
- By default, save terminal contents to history
  when there is a scrolling region that touches
  the top of the screen.
- Newly saved window arrangements will restore to
  the right size when scroller style changes after
  they were created (unless there are side-by-side
  split panes).
- Treat soft hyphens as unicode punctuation in
  Advanced Paste.

Bug Fixes
- Fix a bug where doublecliking on a session
  titlebar didn't maximize tmux panes correctly.
- Fix clipped button next to status bar search
  field.
- Blur is now correct after changing window type
  or theme.
- Fix a bug where a window forgot it was blurred
  when toggling traditional fullscreen in Minimal
  theme.
- Fix a bug where windows would restore on the
  wrong desktop.
- Fixes a bug where the GPU renderer gets stuck
  "off" when the "Reduce motion" accessibility
  setting is enabled and a window is maximized.
- Fix a bug where control+shift+function/arrow key
  sent the wrong code.
- Fix a bug where the app could hang after certain
  trackpad touches.
- Fix a bug where copy on selection didn't always
  work.
- Fix a bug where transparent windows changed
  colors in native full screen mode.
- Fix a bug where keystrokes bound to menu items
  didn't always work.
- Fix crashes.
- Fix a bug where disabling
  middle-click-to-close-a-tab also breaks the tab
  close button.
- Fix keystroke filtering in the Python APi which
  seems have been broken for some time.
- Fix various bugs with HTML tab titles: remove
  HTML for window title and tooltips.
- Fix a bug where inline images downscaled
  with artifacts in the GPU renderer.
- Fix a crash on launch if ~/.config/iterm2 is not
  able to be created and is not already a
  directory.
- Fix a bug where tab icons were flipped
  vertically on macOS 10.14.
- Fix a bug where the GPU renderer would sometimes
  use the wrong thickness for text.
- Fix various bugs around snippets with the same
  title.
- Don't crash if ~/.config/iterm2, ~/.iterm2, and
  ~/.iterm2-1 cannot be created/used as writable
  directories.
- Fix rendering bugs in background images with
  transparency.
- When HTML titles are enabled, remove the tags
  from various places like notifications.
- Don't crash when pseudoterminals are exhausted.
- Fix a bug where windows would be empty after
  changing screen.
- Fix a bug where no terminal content was shown
  when dragging a tab.
- Fix a bug where underlines appeared offset.
- Fix a bug where transparency and blur would
  sometimes be wrong.
- Fix a bug where smart cursor color didn't use
  the right neighbors as input.
- Fix a bug where the tty pixel size didn't take
  retina scale into account.
- Fix blurry timestamps.
- Fix a hang when using a status bar with the
  "stable layout" algorithm and a fixed-size
  spacer.
- Fix a bug where scroll wheel mice could need
  more than one click to scroll.
- Fix a bug where tmux integration was broken on
  OpenBSD 6.8.
- Fix a flash when the metal renderer is enabled
  or disabled.
- Fix bugs where tiled background images didn't
  look right.
- Fix bug where the last command in the command
  history toolbelt tool was cut off.

You can use the following to verify the zip file on https://keybase.io/verify:

-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA256

29cdf5874307a1fe73e3c44933e31b2c060475204ce67eb4c28b0b809c164c5f
-----BEGIN PGP SIGNATURE-----

iHUEAREIAB0WIQSAPIQGkYVsjnBRo2J0Et0TaFtKrAUCYKX64wAKCRB0Et0TaFtK
rMEhAPwITFAC+x+jfXT5UKZbAue0dg5NqIEy4Kl7ryjbZjo1ngEAroQmvoQuQcPq
HFEi6YQpqvkSPDxa3LOcwCq/C2I37nQ=
=m/Fp
-----END PGP SIGNATURE-----
```

#### [iTerm2 3.4.6 (OS 10.14+)](https://iterm2.com/downloads/stable/iTerm2-3_4_6.zip)

This is the recommended build for most users.
Built on April 25, 2021.

[▾ Hide Changelog](<javascript:hideId('7927549355096272521')>)

```
3.4.6

This is a minor bugfix release over 3.4.5, which
was not widely distributed.

- Fix crashing bugs.
- Fix a bug where the git status bar didn't work
  when outside the root of a repo.

The release notes for 3.4.5 follow:

3.4.5

New Features:
- Add preference to allow/disallow apps changing
  the function of the option keys with a control
  sequence.
- Add a menu item to pop the current session into
  a new window.
- The git status bar now indicates the repo state
  (merging, reverting, cherrypicking, bisecting,
  rebasing, or applying).
- When you right click on a hex color like #ffeedd
  show a preview of the color in sRGB in the
  context menu.
- Add a new type of trigger to highlight the whole
  line. This is useful because matching .*foo.* is
  very slow. With this trigger you can simply
  match foo and the whole line changes color.

Improvements
- The git status bar component no longer shells
  out to the system git. It uses libgit2 instead
  (nicely named!) and should be faster and more
  reliable now.
- When known, the current git branch is used as a
  search feature in Open Quickly.
- Don't show a line between the titlebar and
  tabbar in Big Sur.
- Increase max allowed blur on macOS 10.14.
- When you move a window to a different screen by
  selecting the Move To Screen menu item, it will
  lose its affinity for the window assigned to it
  in Prefs > Profiles > Window and stay where it
  was put when screens are added or removed.
- Buttons in modal alerts now accept cmd+letter
  shortcuts.
- Ignore dynamic profiles whose filename ends in a
  tilde.
- Reset terminal when relaunching a session (e.g.,
  paste bracketing and mouse reporting).
- The composer window now uses the terminal's
  font.
- Scrolling with the trackpad should be more
  responsive now.
- Change how text is drawn when not using GPU
  renderer to avoid artifacts.
- When doing selection respecting soft boundaries,
  treat a backslash in the last column as a
  continuation mark and don't include it.
- By default, save terminal contents to history
  when there is a scrolling region that touches
  the top of the screen.
- Newly saved window arrangements will restore to
  the right size when scroller style changes after
  they were created (unless there are side-by-side
  split panes).
- Treat soft hyphens as unicode punctuation in
  Advanced Paste.

Bug Fixes
- Fix a bug where doublecliking on a session
  titlebar didn't maximize tmux panes correctly.
- Fix clipped button next to status bar search
  field.
- Blur is now correct after changing window type
  or theme.
- Fix a bug where a window forgot it was blurred
  when toggling traditional fullscreen in Minimal
  theme.
- Fix a bug where windows would restore on the
  wrong desktop.
- Fixes a bug where the GPU renderer gets stuck
  "off" when the "Reduce motion" accessibility
  setting is enabled and a window is maximized.
- Fix a bug where control+shift+function/arrow key
  sent the wrong code.
- Fix a bug where the app could hang after certain
  trackpad touches.
- Fix a bug where copy on selection didn't always
  work.
- Fix a bug where transparent windows changed
  colors in native full screen mode.
- Fix a bug where keystrokes bound to menu items
  didn't always work.
- Fix crashes.
- Fix a bug where disabling
  middle-click-to-close-a-tab also breaks the tab
  close button.
- Fix keystroke filtering in the Python APi which
  seems have been broken for some time.
- Fix various bugs with HTML tab titles: remove
  HTML for window title and tooltips.
- Fix a bug where inline images downscaled
  with artifacts in the GPU renderer.
- Fix a crash on launch if ~/.config/iterm2 is not
  able to be created and is not already a
  directory.
- Fix a bug where tab icons were flipped
  vertically on macOS 10.14.
- Fix a bug where the GPU renderer would sometimes
  use the wrong thickness for text.
- Fix various bugs around snippets with the same
  title.
- Don't crash if ~/.config/iterm2, ~/.iterm2, and
  ~/.iterm2-1 cannot be created/used as writable
  directories.
- Fix rendering bugs in background images with
  transparency.
- When HTML titles are enabled, remove the tags
  from various places like notifications.
- Don't crash when pseudoterminals are exhausted.
- Fix a bug where windows would be empty after
  changing screen.
- Fix a bug where no terminal content was shown
  when dragging a tab.
- Fix a bug where underlines appeared offset.
- Fix a bug where transparency and blur would
  sometimes be wrong.
- Fix a bug where smart cursor color didn't use
  the right neighbors as input.
- Fix a bug where the tty pixel size didn't take
  retina scale into account.
- Fix blurry timestamps.
- Fix a hang when using a status bar with the
  "stable layout" algorithm and a fixed-size
  spacer.
- Fix a bug where scroll wheel mice could need
  more than one click to scroll.
- Fix a bug where tmux integration was broken on
  OpenBSD 6.8.
- Fix a flash when the metal renderer is enabled
  or disabled.
- Fix bugs where tiled background images didn't
  look right.
- Fix bug where the last command in the command
  history toolbelt tool was cut off.

You can use the following to verify the zip file on https://keybase.io/verify:
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA256

008625d1a917ae4a2cdbee572bddf37ddd6bb2a9880ce1082f2e5a977e4bcb57
-----BEGIN PGP SIGNATURE-----

iHUEAREIAB0WIQSAPIQGkYVsjnBRo2J0Et0TaFtKrAUCYIYG5gAKCRB0Et0TaFtK
rKcvAQCHZH+ExBEEg3e6TsDW4EqEhocGap2Et9Q/iIM2+ZCo8wEA7qyHD32DEVZp
/UnaW9ToqBW7Fg0Ho0KWKy2E6Jia62w=
=zWyd
-----END PGP SIGNATURE-----
```

#### [iTerm2 3.4.5 (OS 10.14+)](https://iterm2.com/downloads/stable/iTerm2-3_4_5.zip)

This is the recommended build for most users.
Built on April 14, 2021.

[▾ Hide Changelog](<javascript:hideId('4515428513328382082')>)

```
3.4.5

New Features:
- Add preference to allow/disallow apps changing
  the function of the option keys with a control
  sequence.
- Add a menu item to pop the current session into
  a new window.
- The git status bar now indicates the repo state
  (merging, reverting, cherrypicking, bisecting,
  rebasing, or applying).
- When you right click on a hex color like #ffeedd
  show a preview of the color in sRGB in the
  context menu.
- Add a new type of trigger to highlight the whole
  line. This is useful because matching .*foo.* is
  very slow. With this trigger you can simply
  match foo and the whole line changes color.

Improvements
- The git status bar component no longer shells
  out to the system git. It uses libgit2 instead
  (nicely named!) and should be faster and more
  reliable now.
- When known, the current git branch is used as a
  search feature in Open Quickly.
- Don't show a line between the titlebar and
  tabbar in Big Sur.
- Increase max allowed blur on macOS 10.14.
- When you move a window to a different screen by
  selecting the Move To Screen menu item, it will
  lose its affinity for the window assigned to it
  in Prefs > Profiles > Window and stay where it
  was put when screens are added or removed.
- Buttons in modal alerts now accept cmd+letter
  shortcuts.
- Ignore dynamic profiles whose filename ends in a
  tilde.
- Reset terminal when relaunching a session (e.g.,
  paste bracketing and mouse reporting).
- The composer window now uses the terminal's
  font.
- Scrolling with the trackpad should be more
  responsive now.
- Change how text is drawn when not using GPU
  renderer to avoid artifacts.
- When doing selection respecting soft boundaries,
  treat a backslash in the last column as a
  continuation mark and don't include it.
- By default, save terminal contents to history
  when there is a scrolling region that touches
  the top of the screen.
- Newly saved window arrangements will restore to
  the right size when scroller style changes after
  they were created (unless there are side-by-side
  split panes).
- Treat soft hyphens as unicode punctuation in
  Advanced Paste.

Bug Fixes
- Fix a bug where doublecliking on a session
  titlebar didn't maximize tmux panes correctly.
- Fix clipped button next to status bar search
  field.
- Blur is now correct after changing window type
  or theme.
- Fix a bug where a window forgot it was blurred
  when toggling traditional fullscreen in Minimal
  theme.
- Fix a bug where windows would restore on the
  wrong desktop.
- Fixes a bug where the GPU renderer gets stuck
  "off" when the "Reduce motion" accessibility
  setting is enabled and a window is maximized.
- Fix a bug where control+shift+function/arrow key
  sent the wrong code.
- Fix a bug where the app could hang after certain
  trackpad touches.
- Fix a bug where copy on selection didn't always
  work.
- Fix a bug where transparent windows changed
  colors in native full screen mode.
- Fix a bug where keystrokes bound to menu items
  didn't always work.
- Fix crashes.
- Fix a bug where disabling
  middle-click-to-close-a-tab also breaks the tab
  close button.
- Fix keystroke filtering in the Python APi which
  seems have been broken for some time.
- Fix various bugs with HTML tab titles: remove
  HTML for window title and tooltips.
- Fix a bug where inline images downscaled
  with artifacts in the GPU renderer.
- Fix a crash on launch if ~/.config/iterm2 is not
  able to be created and is not already a
  directory.
- Fix a bug where tab icons were flipped
  vertically on macOS 10.14.
- Fix a bug where the GPU renderer would sometimes
  use the wrong thickness for text.
- Fix various bugs around snippets with the same
  title.
- Don't crash if ~/.config/iterm2, ~/.iterm2, and
  ~/.iterm2-1 cannot be created/used as writable
  directories.
- Fix rendering bugs in background images with
  transparency.
- When HTML titles are enabled, remove the tags
  from various places like notifications.
- Don't crash when pseudoterminals are exhausted.
- Fix a bug where windows would be empty after
  changing screen.
- Fix a bug where no terminal content was shown
  when dragging a tab.
- Fix a bug where underlines appeared offset.
- Fix a bug where transparency and blur would
  sometimes be wrong.
- Fix a bug where smart cursor color didn't use
  the right neighbors as input.
- Fix a bug where the tty pixel size didn't take
  retina scale into account.
- Fix blurry timestamps.
- Fix a hang when using a status bar with the
  "stable layout" algorithm and a fixed-size
  spacer.
- Fix a bug where scroll wheel mice could need
  more than one click to scroll.
- Fix a bug where tmux integration was broken on
  OpenBSD 6.8.
- Fix a flash when the metal renderer is enabled
  or disabled.
- Fix bugs where tiled background images didn't
  look right.
- Fix bug where the last command in the command
  history toolbelt tool was cut off.

You can use the following to verify the zip file on https://keybase.io/verify:

-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA256

2fead9e50cf8d6b1604306acc3ad83791fda234e2583c26d02f59d0a8664426a
-----BEGIN PGP SIGNATURE-----

iHUEAREIAB0WIQSAPIQGkYVsjnBRo2J0Et0TaFtKrAUCYCtcDwAKCRB0Et0TaFtK
rNV7AQCvTEEIq1DArq1zpZKEbOZKVnpCVBCyWiNY3WI84vsilgD7BmmhrBZIcjOt
3wWI1DoucA++txeTFFTi+7ObvcK1AMk=
=6od5
-----END PGP SIGNATURE-----
```

#### [iTerm2 3.4.4 (OS 10.14+)](https://iterm2.com/downloads/stable/iTerm2-3_4_4.zip)

This is the recommended build for most users.
Built on February 7, 2021.

[▾ Hide Changelog](<javascript:hideId('595233545945413183')>)

```
3.4.4

Annoying things I'm sorry about
- You'll be asked to re-install the Python
  runtime. This fixes a problem where pip3 would
  sometimes fail. Instead of creating a symlink
  of ~/Library/ApplicationSupport we will now use
  ~/.config/iterm2/AppSupport.

New Features
- Tab titles now parse very basic HTML tags for
  bold, italic, and underline. Less-than and
  ampersand entites are also recognized.
- Margins are now adjustable in Prefs >
  Appearance > Panes.
- Add an option to save prefs to a custom folder
  automatically.
- The composer now integrates with command history
  and makes completion suggestions.
- When you right click on text with a hyperlink,
  "Copy Link Address" is now available in the
  context menu.

Improvements
- The changelog now has a PGP signature.
- Improve performance of opening lots of tabs at
  once.
- Improve performance when changing prefs that
  affect many tabs.
- Tabs are now selected on mouse down rather than
  on mouse up.
- Hide tab close button on small tabs to prevent
  accidental closure.
- Confirm deleting entries in the password
  manager.
- Tab icons are now always left aligned and get
  replaced with the close button on hover.
- Plain-text logs now include timestamps.
- Recognize U+251C and U+2524 as column dividers
  for selection's soft boundaries.
- Reduce minimum dimming amount allowed in Prefs >
  Appearance > Dimming.
- Use terminal background color to determine
  appearance of composer.
- You can now use Cmd-W to dismiss the composer.
- Don't show an alert if the initial tmux
  integration command fails.
- When you split a pane in tmux integration and
  focus follows mouse is on, don't make the pane
  under the mouse active. Make the new pane
  active.
- New tmux windows created outside iTerm2 (e.g.,
  by running `tmux new-window`) will become tabs
  in the current window.
- Give backpressure to commands run in the
  background (e.g., from triggers) to keep them
  from hogging CPU.
- Improve performance of creating a new session in
  a custom directory.
- Improve performance when there are big
  background images.
- The composer now clears the existing command by
  sending C-U C-K.
- Handle "Default_Ignorable" unicode characters
  correctly.
- Use the background color of inactive sessions to
  determine the split pane divider color.
- Improve performance of decoding inline images.
- Allow emoji picker to be added to the touch bar.
- Add "Send Snippet" as a key binding action.
- Remove the popover composer UI; use the large
  composer UI regardless of whether there is a
  status bar.
- Add a button in the composer UI to open
  explainshell.com.
- When you hold down cmd while dragging in a file
  from Finder, insert a command to cd to its
  containing folder.
- The GPU renderer now draws a frame at least
  every half second to prevent a brief hang after
  inactivity.

Bug Fixes
- Fix various crashes.
- Fix a bug where tab labels would be white in
  light mode when there was a colored tab.
- Fix alignment of underlines in GPU renderer.
- Fix various drawing bugs in legacy renderer.
- Fix a bug where on Big Sur transparency doesn't
  work with background images.
- Fix $$$$ in profile commands, which should be
  replaced with $$.
- Fix a bug in key reporting for arrow keys when
  application cursor mode is on. This caused
  problems in vim.
- Improve how background colors are blended with
  background images in GPU renderer to be
  consistent with legacy renderer.
- Fix a bug where Window > Move to (display) was
  disabled.
- Fix a bug where tmux panes would get killed when
  switching sessions.
- Don't show the "short-lived session" warning in
  tmux integration when creating a new tmux
  session.
- Fix a problem where BBEdit couldn't find the
  parent iTerm2 app.
- Tolerate missing profiles when restoring a
  window arrangement.
- Don't show swipe-between-tabs animation when
  there is only one tab.
- Give minimal windows an invisible proxy icon so
  that accessibility can tell what the current
  directory is.
- Tmux integration windows enter full screen when
  the profile specifies it.
- Fix a bug where windows were not movable after
  exiting full screen.
- Fix various bugs in the "Add Trigger" menu item.
- Fix bugs where switching tabs makes a cleared
  search field regain its previous value.
- Fix a bug where async_get_full_profile in Python
  API would throw for some profiles.
- Reduce size of saved state database.
- Fix a bug where tmux integration didn't work on
  OpenBSD.
- Fix a bug where clicking in the search field
  didn't work.
- Fix a bug where non-default background colors
  had the wrong opacity in the GPU renderer.
- Fix tiled images, which did not tile properly.
- Fix a bug where newly added snippets cannot be
  selected in the menu.
- Fix a bug where the login shell could be
  launched as x86 only.
- Fix layout bugs when resizing shortcuts prefs
  windows.
- Reduce CPU utilization when GPU resources are
  scarce.
- Fix a bug where minimum contrast didn't work
  correctly in GPU renderer sometimes.
- Make the tab color selection menu item look
  right in dark mode.
- When you drag a tab out of a window, show the
  previously selected tab. That makes it possible
  to drag another tab into a pane in the current
  tab.
- Fix a bug where the tmux initial window mode was
  not respected.
- Fix a bug where miniaturized windows were
  restored non-miniaturized.
- Fix a bug where the "do not remap" action didn't
  work when secure keyboard input was turned on.
- Fix a file descriptor leak in the main app and
  also the server.
- Fix crash when opening session title bar menu.
- Fix a bug where advanced working directory
  settings were not editable.
- Fix a bug where sessions could have a line of
  the wrong color near the top when empty.
- Fix color of tab bar text on Big Sur.
- Fix a bug where double-clicking on a session's
  title bar didn't maximize tmux panes correctly.
- Fix truncated button in status bar search field.
- Update window blur when changing window styles.
- Turn off paste bracketing and other undesirable
  terminal state when relaunching a session.

You can use the following to verify the zip file on https://keybase.io/verify:

-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA256

cdf6dce864e53f60445f012cf6e4fb8113ed0ae28532921a0dec835565eb4b13
-----BEGIN PGP SIGNATURE-----

iHUEAREIAB0WIQSAPIQGkYVsjnBRo2J0Et0TaFtKrAUCYCDcUgAKCRB0Et0TaFtK
rESGAP9iNU5aZUk+FmJ750vbsViJzXSQUVzFWDsb0YlFWaqCcgEAyVXtKyDnkniL
t5B07vm/YtpS7Qnwm+aJvd2nVUSeDNk=
=1pnj
-----END PGP SIGNATURE-----
```

#### [iTerm2 3.4.3 (OS 10.14+)](https://iterm2.com/downloads/stable/iTerm2-3_4_3.zip)

This is the recommended build for most users.
Built on December 6, 2020.

[▾ Hide Changelog](<javascript:hideId('6599007751006309300')>)

```
3.4.3

- Fix crashes.
- Don't allow programs to turn on
  "modifyOtherKeys" key reporting mode, which
  caused problems in vim for many users.
  This default can be changed in 
  Prefs > Profiles > Keys.
- Fix a bug where "Move Session to Window" was
  disabled in the context menu.
- Fix a bug where long URLs couldn't be
  cmd-clicked on.
- If Application Support is not writable, copy the
  server binary to ~/.iterm2
- Save restorable state when upgrading, even if
  it's normally not used.
- Fix a bug where custom status bar components
  didn't work.
- Fix a bug where the python runtime couldn't be
  downloaded.
- Bring back the ApplicationSupport symlink
  because pip3 can't handle spaces in paths.
- Fix a crash when the scripting console was open.

3.4.2

- Fix a bug where sessions ended immediately.
- Fix a bug where tmux integration would
  disconnect immediately.
- Fix crashes.
- Fix a bug where smart selection actions in the
  context menu were disabled.
- Fix Prefs > General > Magic > Allow all apps to
  connect, which gave an error every time.
- Fix right click to open context menu for
  two-button mice.
- Improve performance when resizing windows with
  background images.
- Fix shortcut for Composer in tip of the day.
- Fix support for control keys that include option
  on non-US keyboard in modifyOtherKeys mode 2.
- Fix a bug where the tab title was used in place
  of the window title.

3.4.1:

- Make downloads of Python runtime more reliable.
- Fix a bug in Big Sur where the content of alert
  boxes could be cut off.
- Fix a bug in Big Sur where the tabbar could
  overlap terminal contents in full screen mode.

3.4.0 Release Notes:

New Features
- You can now set a custom tab title on a profile
- There is a new profile preference to configure
  whether mouse reporting of clicks and drags are
  allowed.
- Search results, marks, and annotations are now
  indicated in the scroll bar.
- There's a new preference to focus a window when
  you right- or middle-click in it.
- Add support for IntelliJ IDEA, VSCodium, and
  Sublime Text 4 as Semantic History editors.
- There's a new "Composer" feature that lets you
  quickly open a scratchpad to enter a command.
- You can now swipe with two or three fingers
  between tabs, like in Safari.
- Curly underlines are now supported.
- Adds support for DECRQSS.
- DECSCUSR 0 now resets the cursor to its default
  setting.
- Adds support for flow control in tmux 3.2 and
  "pause mode" that will automatically pause
  sessions in tmux integration that get very far
  behind with the ability to catch up quickly.
  NOTE: tmux 3.2 has not yet been released.
- tmux integration windows will now keep their
  size the same as you create or destroy split
  panes.
- Adds a preference to exclude iTerm2 from the
  dock and cmd-tab app switcher only if all
  windows are hotkey windows.
- In the Minimal and Compact themes, you can now
  drag the window by grabbing the edge of the tab
  bar near the window border.
- Show local time in the context menu when you
  right click on a timestamp in microseconds since
  epoch.
- Add a menu item "copy with control sequences".

Improvements
- Various performance improvements.
- The Python API now uses a Unix Domain Socket
  instead of a TCP socket for better performance.
  The security model has also changed: apps can
  authenticate via Applescript or you can choose
  to allow all programs running locally to use the
  API.
- Use a single daemon process for all sessions
  instead of one per session. This reduces the
  number of process IDs used and also improves the
  time to launch a new session.
- Background images are significantly faster when
  not using the GPU renderer.
- Most tables now allow multiple selection.
- The number of search results is now shown in the
  Find on Page UI.
- Dynamic profiles now works with symlinks. Even
  the DynamicProfiles folder itself may be a
  symlink.
- Exported scripts now have a more secure
  container format that signs the entire file
  except the signature itself.
- Improve cold launch time.
- Countless minor improvements and polishing.
- Big Sur supported.
- Permission is now requested before various
  possibly destructive or annoying activities are
  done in response to control sequences.
- Don't snap window size to the cell grid when it
  gets resized by an Accessibility API.
- Only use touch bar mitigations for keypresses
  originating from the built-in keyboard.
- The profile preference "Send text at start" is
  now an interpolated string.
- The profile preference "Custom command" is
  now an interpolated string.
- The feature where the scroll wheel sends arrow
  keys when in alternate screen mode now works
  even when alternate screen mode is disabled.
- Enable window shadow for transparent windows.
- When resizing the window while scrolled up in to
  history, keep the text in the top left locked in
  position.
- Show a brief message when automatic profile
  switching takes effect.
- Send a newline before sending the curl command
  to install shell integration to clear out any
  existing command.
- Disable GPU renderer for obscured windows when
  using the integrated GPU.
- When a tmux pane fails to split, don't detach.
- Remember tmux window sizes when reattaching.
- When disintering a buried tmux tab, put it back
  in the right position in the same window it came
  from.
- Draw outline on right hand side of last tab in
  minimal theme.
- Hide subpixel antialiasing UI on big sur because
  Apple took it away from us :(

Bug Fixes
- Full screen windows in the Minimal or Compact
  theme did not used to get restored properly and
  now they do.
- Fix how 24-bit colors are reported to work with
  vim.
- Saved arrangements that contain local changes
  (such as those made with Edit Session) will now
  pick up changes to the original profile.
- Fix a bug where inline images and OSC 8
  hyperlinks didn't get restored reliably when
  restarting the app.
- Improve support for zero-width joiners in Emoji.
- Fix a memory leak of inline images when
  restoring windows after restarting the app.
- Fix a bug where Swap With Session didn't work on
  tmux panes.
- Fix a bug where quickly resizing tmux windows
  would increase the bottom margin.
- Fix a bug where Window > Resize Window would
  cause tmux windows to resie incorrectly.
- Fix a bug where windows are not movable after
  exiting native full screen.
- Add crlf after sixel image.
- Fix shift-return in profiles window to open a
  window instead of a tab.
- Fix a bug where tmux windows would change sizes
  unexpectedly when using horizontal/vertical
  character spacing.

Things Made Worse
- Support for macOS 10.12 and 10.13 dropped.

SHA-256 of the zip file is
9ed73844838bddf797eadf37e5f7da3771308c3f74d38cd422c18eebaaa8f6b9
```

#### [iTerm2 3.4.2 (OS 10.14+)](https://iterm2.com/downloads/stable/iTerm2-3_4_2.zip)

This is the recommended build for most users.
Built on November 24, 2020.

[▾ Hide Changelog](<javascript:hideId('1843954117354345147')>)

```
3.4.2

- Fix a bug where sessions ended immediately.
- Fix a bug where tmux integration would
  disconnect immediately.
- Fix crashes.
- Fix a bug where smart selection actions in the
  context menu were disabled.
- Fix Prefs > General > Magic > Allow all apps to
  connect, which gave an error every time.
- Fix right click to open context menu for
  two-button mice.
- Improve performance when resizing windows with
  background images.
- Fix shortcut for Composer in tip of the day.
- Fix support for control keys that include option
  on non-US keyboard in modifyOtherKeys mode 2.
- Fix a bug where the tab title was used in place
  of the window title.

3.4.1:

- Make downloads of Python runtime more reliable.
- Fix a bug in Big Sur where the content of alert
  boxes could be cut off.
- Fix a bug in Big Sur where the tabbar could
  overlap terminal contents in full screen mode.

3.4.0 Release Notes:

New Features
- You can now set a custom tab title on a profile
- There is a new profile preference to configure
  whether mouse reporting of clicks and drags are
  allowed.
- Search results, marks, and annotations are now
  indicated in the scroll bar.
- There's a new preference to focus a window when
  you right- or middle-click in it.
- Add support for IntelliJ IDEA, VSCodium, and
  Sublime Text 4 as Semantic History editors.
- There's a new "Composer" feature that lets you
  quickly open a scratchpad to enter a command.
- You can now swipe with two or three fingers
  between tabs, like in Safari.
- Curly underlines are now supported.
- Adds support for DECRQSS.
- DECSCUSR 0 now resets the cursor to its default
  setting.
- Adds support for flow control in tmux 3.2 and
  "pause mode" that will automatically pause
  sessions in tmux integration that get very far
  behind with the ability to catch up quickly.
  NOTE: tmux 3.2 has not yet been released.
- tmux integration windows will now keep their
  size the same as you create or destroy split
  panes.
- Adds a preference to exclude iTerm2 from the
  dock and cmd-tab app switcher only if all
  windows are hotkey windows.
- In the Minimal and Compact themes, you can now
  drag the window by grabbing the edge of the tab
  bar near the window border.
- Show local time in the context menu when you
  right click on a timestamp in microseconds since
  epoch.
- Add a menu item "copy with control sequences".

Improvements
- Various performance improvements.
- The Python API now uses a Unix Domain Socket
  instead of a TCP socket for better performance.
  The security model has also changed: apps can
  authenticate via Applescript or you can choose
  to allow all programs running locally to use the
  API.
- Use a single daemon process for all sessions
  instead of one per session. This reduces the
  number of process IDs used and also improves the
  time to launch a new session.
- Background images are significantly faster when
  not using the GPU renderer.
- Most tables now allow multiple selection.
- The number of search results is now shown in the
  Find on Page UI.
- Dynamic profiles now works with symlinks. Even
  the DynamicProfiles folder itself may be a
  symlink.
- Exported scripts now have a more secure
  container format that signs the entire file
  except the signature itself.
- Improve cold launch time.
- Countless minor improvements and polishing.
- Big Sur supported.
- Permission is now requested before various
  possibly destructive or annoying activities are
  done in response to control sequences.
- Don't snap window size to the cell grid when it
  gets resized by an Accessibility API.
- Only use touch bar mitigations for keypresses
  originating from the built-in keyboard.
- The profile preference "Send text at start" is
  now an interpolated string.
- The profile preference "Custom command" is
  now an interpolated string.
- The feature where the scroll wheel sends arrow
  keys when in alternate screen mode now works
  even when alternate screen mode is disabled.
- Enable window shadow for transparent windows.
- When resizing the window while scrolled up in to
  history, keep the text in the top left locked in
  position.
- Show a brief message when automatic profile
  switching takes effect.
- Send a newline before sending the curl command
  to install shell integration to clear out any
  existing command.
- Disable GPU renderer for obscured windows when
  using the integrated GPU.
- When a tmux pane fails to split, don't detach.
- Remember tmux window sizes when reattaching.
- When disintering a buried tmux tab, put it back
  in the right position in the same window it came
  from.
- Draw outline on right hand side of last tab in
  minimal theme.
- Hide subpixel antialiasing UI on big sur because
  Apple took it away from us :(

Bug Fixes
- Full screen windows in the Minimal or Compact
  theme did not used to get restored properly and
  now they do.
- Fix how 24-bit colors are reported to work with
  vim.
- Saved arrangements that contain local changes
  (such as those made with Edit Session) will now
  pick up changes to the original profile.
- Fix a bug where inline images and OSC 8
  hyperlinks didn't get restored reliably when
  restarting the app.
- Improve support for zero-width joiners in Emoji.
- Fix a memory leak of inline images when
  restoring windows after restarting the app.
- Fix a bug where Swap With Session didn't work on
  tmux panes.
- Fix a bug where quickly resizing tmux windows
  would increase the bottom margin.
- Fix a bug where Window > Resize Window would
  cause tmux windows to resie incorrectly.
- Fix a bug where windows are not movable after
  exiting native full screen.
- Add crlf after sixel image.
- Fix shift-return in profiles window to open a
  window instead of a tab.
- Fix a bug where tmux windows would change sizes
  unexpectedly when using horizontal/vertical
  character spacing.

Things Made Worse
- Support for macOS 10.12 and 10.13 dropped.

SHA-256 of the zip file is
0ac49f8f5df0c28f8a3400952d3baf6e40233b62a1cec23ad9266f0019484e99
```

#### [iTerm2 3.4.1 (OS 10.14+)](https://iterm2.com/downloads/stable/iTerm2-3_4_1.zip)

This is the recommended build for most users.
Built on November 15, 2020.

[▾ Hide Changelog](<javascript:hideId('4159828087962551578')>)

```
3.4.1

Bug fixes:
- Work around a bug in Big Sur where downloads of
  the Python API are interrupted.
- Work around a bug in Big Sur where modal alerts
  don't resize when expanding their contents.
- Fix a bug where full screen tabbars would
  overlap terminal contents.

3.4.0

New Features
- There's a new pane in Preferences calls
  Shortcuts where you can define Snippets and
  Actions. A Snippet is a piece of text that you
  can paste from the toolbelt, status bar, or from
  the Edit menu. Actions are similar to key
  binding actions, but can be invoked from the
  toolbelt, status bar, or Edit menu.
- Search results, marks, and annotations are now
  indicated in the scroll bar.
- There's a new "Composer" feature that lets you
  quickly open a scratchpad to enter a command.
- Adds support for flow control in tmux 3.2 and
  "pause mode" that will automatically pause
  sessions in tmux integration that get very far
  behind with the ability to catch up quickly.
  NOTE: tmux 3.2 has not yet been released.
- In the Minimal and Compact themes, you can now
  drag the window by grabbing the edge of the tab
  bar near the window border.
- Add "Add Trigger" menu item, which lets you
  quickly create a highlight trigger.
- You can now set a custom tab title on a profile
- There is a new profile preference to configure
  whether mouse reporting of clicks and drags are
  allowed.
- There's a new preference to focus a window when
  you right- or middle-click in it.
- Add support for IntelliJ IDEA, VSCodium, and
  Sublime Text 4 as Semantic History editors.
- You can now swipe with two or three fingers
  between tabs, like in Safari.
- Curly underlines are now supported.
- Adds support for DECRQSS.
- DECSCUSR 0 now resets the cursor to its default
  setting.
- tmux integration windows will now keep their
  size the same as you create or destroy split
  panes.
- Adds a preference to exclude iTerm2 from the
  dock and cmd-tab app switcher only if all
  windows are hotkey windows.
- Show local time in the context menu when you
  right click on a timestamp in microseconds since
  epoch.
- Add a menu item "copy with control sequences".

Improvements
- Various performance improvements.
- Window restoration made more reliable.
- The Python API now uses a Unix Domain Socket
  instead of a TCP socket for better performance.
  The security model has also changed: apps can
  authenticate via Applescript or you can choose
  to allow all programs running locally to use the
  API.
- Use a single daemon process for all sessions
  instead of one per session. This reduces the
  number of process IDs used and also improves the
  time to launch a new session.
- Background images are significantly faster when
  not using the GPU renderer.
- Most table views now allow multiple selection.
- The number of search results is now shown in the
  Find on Page UI.
- Dynamic profiles now works with symlinks. Even
  the DynamicProfiles folder itself may be a
  symlink.
- Exported scripts now have a more secure
  container format that signs the entire file
  except the signature itself.
- Improve cold launch time.
- Countless minor improvements and polishing.
- Big Sur supported.
- Permission is now requested before various
  possibly destructive or annoying activities are
  done in response to control sequences.
- Don't snap window size to the cell grid when it
  gets resized by an Accessibility API.
- Only use touch bar mitigations for keypresses
  originating from the built-in keyboard.
- The profile preference "Send text at start" is
  now an interpolated string.
- The profile preference "Custom command" is
  now an interpolated string.
- The feature where the scroll wheel sends arrow
  keys when in alternate screen mode now works
  even when alternate screen mode is disabled.
- Enable window shadow for transparent windows.
- When resizing the window while scrolled up in to
  history, keep the text in the top left locked in
  position.
- Show a brief message when automatic profile
  switching takes effect.
- Send a newline before sending the curl command
  to install shell integration to clear out any
  existing command.
- Disable GPU renderer for obscured windows when
  using the integrated GPU.
- When a tmux pane fails to split, don't detach.
- Remember tmux window sizes when reattaching.
- When disintering a buried tmux tab, put it back
  in the right position in the same window it came
  from.
- Draw outline on right hand side of last tab in
  minimal theme.
- Hide subpixel antialiasing UI on big sur because
  Apple took it away from us :(
- Draw window borders on big sur in light theme.

Bug Fixes
- Fix a discrepancy between the legacy and GPU
  renderers. When an emoji with default text
  presentation follows an emoji with default emoji
  presentation, CoreText renders the emoji with
  the emoji presentation while the GPU does not.
  Use the default presentation always.
- Detect hostname changes. Fixes the git status
  bar component breaking.
- Fix support for multiple broadcast domains in
  Python API.
- Full screen windows in the Minimal or Compact
  theme did not used to get restored properly and
  now they do.
- Fix how 24-bit colors are reported to work with
  vim.
- Saved arrangements that contain local changes
  (such as those made with Edit Session) will now
  pick up changes to the original profile.
- Fix a bug where inline images and OSC 8
  hyperlinks didn't get restored reliably when
  restarting the app.
- Improve support for zero-width joiners in Emoji.
- Fix a memory leak of inline images when
  restoring windows after restarting the app.
- Fix a bug where Swap With Session didn't work on
  tmux panes.
- Fix a bug where quickly resizing tmux windows
  would increase the bottom margin.
- Fix a bug where Window > Resize Window would
  cause tmux windows to resie incorrectly.
- Fix a bug where windows are not movable after
  exiting native full screen.
- Add crlf after sixel image.
- Fix shift-return in profiles window to open a
  window instead of a tab.
- Fix a bug where tmux windows would change sizes
  unexpectedly when using horizontal/vertical
  character spacing.

Things Made Worse
- Support for macOS 10.12 and 10.13 dropped.

SHA-256 of the zip file is
3b817cc0985e250359b37167f63d26bbc97ffafa2926d0eb64e664e095852ae4
```

#### [iTerm2 3.4.0 (OS 10.14+)](https://iterm2.com/downloads/stable/iTerm2-3_4_0.zip)

This is the recommended build for most users.
Built on November 12, 2020.

[▾ Hide Changelog](<javascript:hideId('4283133780686103733')>)

```
3.4.0

New Features
- There's a new pane in Preferences calls
  Shortcuts where you can define Snippets and
  Actions. A Snippet is a piece of text that you
  can paste from the toolbelt, status bar, or from
  the Edit menu. Actions are similar to key
  binding actions, but can be invoked from the
  toolbelt, status bar, or Edit menu.
- Search results, marks, and annotations are now
  indicated in the scroll bar.
- There's a new "Composer" feature that lets you
  quickly open a scratchpad to enter a command.
- Adds support for flow control in tmux 3.2 and
  "pause mode" that will automatically pause
  sessions in tmux integration that get very far
  behind with the ability to catch up quickly.
  NOTE: tmux 3.2 has not yet been released.
- In the Minimal and Compact themes, you can now
  drag the window by grabbing the edge of the tab
  bar near the window border.
- Add "Add Trigger" menu item, which lets you
  quickly create a highlight trigger.
- You can now set a custom tab title on a profile
- There is a new profile preference to configure
  whether mouse reporting of clicks and drags are
  allowed.
- There's a new preference to focus a window when
  you right- or middle-click in it.
- Add support for IntelliJ IDEA, VSCodium, and
  Sublime Text 4 as Semantic History editors.
- You can now swipe with two or three fingers
  between tabs, like in Safari.
- Curly underlines are now supported.
- Adds support for DECRQSS.
- DECSCUSR 0 now resets the cursor to its default
  setting.
- tmux integration windows will now keep their
  size the same as you create or destroy split
  panes.
- Adds a preference to exclude iTerm2 from the
  dock and cmd-tab app switcher only if all
  windows are hotkey windows.
- Show local time in the context menu when you
  right click on a timestamp in microseconds since
  epoch.
- Add a menu item "copy with control sequences".

Improvements
- Various performance improvements.
- Window restoration made more reliable.
- The Python API now uses a Unix Domain Socket
  instead of a TCP socket for better performance.
  The security model has also changed: apps can
  authenticate via Applescript or you can choose
  to allow all programs running locally to use the
  API.
- Use a single daemon process for all sessions
  instead of one per session. This reduces the
  number of process IDs used and also improves the
  time to launch a new session.
- Background images are significantly faster when
  not using the GPU renderer.
- Most table views now allow multiple selection.
- The number of search results is now shown in the
  Find on Page UI.
- Dynamic profiles now works with symlinks. Even
  the DynamicProfiles folder itself may be a
  symlink.
- Exported scripts now have a more secure
  container format that signs the entire file
  except the signature itself.
- Improve cold launch time.
- Countless minor improvements and polishing.
- Big Sur supported.
- Permission is now requested before various
  possibly destructive or annoying activities are
  done in response to control sequences.
- Don't snap window size to the cell grid when it
  gets resized by an Accessibility API.
- Only use touch bar mitigations for keypresses
  originating from the built-in keyboard.
- The profile preference "Send text at start" is
  now an interpolated string.
- The profile preference "Custom command" is
  now an interpolated string.
- The feature where the scroll wheel sends arrow
  keys when in alternate screen mode now works
  even when alternate screen mode is disabled.
- Enable window shadow for transparent windows.
- When resizing the window while scrolled up in to
  history, keep the text in the top left locked in
  position.
- Show a brief message when automatic profile
  switching takes effect.
- Send a newline before sending the curl command
  to install shell integration to clear out any
  existing command.
- Disable GPU renderer for obscured windows when
  using the integrated GPU.
- When a tmux pane fails to split, don't detach.
- Remember tmux window sizes when reattaching.
- When disintering a buried tmux tab, put it back
  in the right position in the same window it came
  from.
- Draw outline on right hand side of last tab in
  minimal theme.
- Hide subpixel antialiasing UI on big sur because
  Apple took it away from us :(
- Draw window borders on big sur in light theme.

Bug Fixes
- Fix a discrepancy between the legacy and GPU
  renderers. When an emoji with default text
  presentation follows an emoji with default emoji
  presentation, CoreText renders the emoji with
  the emoji presentation while the GPU does not.
  Use the default presentation always.
- Detect hostname changes. Fixes the git status
  bar component breaking.
- Fix support for multiple broadcast domains in
  Python API.
- Full screen windows in the Minimal or Compact
  theme did not used to get restored properly and
  now they do.
- Fix how 24-bit colors are reported to work with
  vim.
- Saved arrangements that contain local changes
  (such as those made with Edit Session) will now
  pick up changes to the original profile.
- Fix a bug where inline images and OSC 8
  hyperlinks didn't get restored reliably when
  restarting the app.
- Improve support for zero-width joiners in Emoji.
- Fix a memory leak of inline images when
  restoring windows after restarting the app.
- Fix a bug where Swap With Session didn't work on
  tmux panes.
- Fix a bug where quickly resizing tmux windows
  would increase the bottom margin.
- Fix a bug where Window > Resize Window would
  cause tmux windows to resie incorrectly.
- Fix a bug where windows are not movable after
  exiting native full screen.
- Add crlf after sixel image.
- Fix shift-return in profiles window to open a
  window instead of a tab.
- Fix a bug where tmux windows would change sizes
  unexpectedly when using horizontal/vertical
  character spacing.

Things Made Worse
- Support for macOS 10.12 and 10.13 dropped.

SHA-256 of the zip file is
5f78331d4786ead6fff49c86738be8fab3a1777346c3e35e6bb9c6cad52c1a47
```

#### [iTerm2 3.3.12 (OS 10.12+)](https://iterm2.com/downloads/stable/iTerm2-3_3_12.zip)

This is the recommended build for most users.
Built on July 2, 2020.

[▾ Hide Changelog](<javascript:hideId('6269053326441030598')>)

```
3.3.12

This is a bugfix release for 3.3.11, which was
short-lived. The release notes for 3.3.11 are
included below.

Bugs Fixed
- Fix a bug where the tab bar was translucent in
  dark mode when any pane has transparency.
- Fix a bug where new full screen windows weren't
  created properly in macOS 10.15.5.
- Fix the vertical alignment of tmux split panes
  when the GPU renderer is enabled.
- Reduce lag when activating the app while the GPU
  renderer is enabled.
- Fix a bug where plain-text session logs could be
  corrupted.

SHA-256 of the zip file is
6811b520699e8331b5d80b5da1e370e0ed467e68bc56906f08ecfa986e318167
```

#### [iTerm2 3.3.11 (OS 10.12+)](https://iterm2.com/downloads/stable/iTerm2-3_3_11.zip)

This is the recommended build for most users.
Built on June 8, 2020.

[▾ Hide Changelog](<javascript:hideId('4627865024982967829')>)

```
3.3.11

This is a bugfix release for 3.3.10, which was
short-lived. The release notes for 3.3.10 are
included below.

- Fixes a bug introduced in 3.3.10 where the dock
  and menu bar would sometimes remain hidden after
  exiting non-native fullscreen.
- Works around a possible macOS bug where Metal
  drops frames occasionally.
- Fixes a bug where the advanced setting to not
  create an ApplicationSupport symlink was
  ignored.

3.3.10

Security Improvements
- Improves the method for gaining authorization
  to run Python scripts launched from outside
  iTerm2.

  Version 3.3.9 deprecated the older auth
  mechanism based on the command line, requiring
  the user to consent to every connection. That
  was annoying.

  There are now two ways to get permission:

  1. The UI prompts on every connection.
  2. The app requests a cookie using Applescript.
     Therefore, Applescript permission is
     required. This requires the user to
     consent only once per app that originates the
     connection.

  Note that this does not affect scripts launched
  by iTerm2, such as those opened from the Scripts
  menu.

  For more information, including details on how
  to use osascript to get a cookie, please see:
  https://iterm2.com/python-api-security-model

New Features:
- Updated shell integration installer UI, now with
  internet-free install option.
- Add a setting to Edit Session to prevent
  Automatic Profile Switching from changing the
  profile.
- Add support for opening files to line number
  with IntelliJ.
- Applescript can now launch a Python API script
  from an absolute path.

Improvements:
- Add a delay before previewing a color preset to
  make it easier to navigate the menu quickly.
- Set SSL_CERT_FILE and SSL_CERT_DIR when running
  Python scripts so they can use TLS.
- Change "Broken Pipe" to "Session Ended" and make
  it a soothing blue color.
- Network filesystems can not hang the UI any
  more. Calls to proc_pidinfo are now made in an
  XPC server.
- Default to built-in mouse cursor on Catalina
  since it is now visible against a black
  background.
- Updated internet access policy for all outgoing
  connections.
- Improve appearance of items in the Uploads and
  Downloads menus.
- "Flash tab bar in full screen" is now off by
  default since it is now a titlebar accessory.
- Add keyboard shortcuts for some announcements.
- The foreground and background color are shown in
  the context menu when exactly one cell is
  selected.
- Automatically detect when mouse reporting
  control sequences are getting printed and offer
  to turn it off.
- Automatically detect when paste bracketing
  control sequences are getting printed and offer
  to turn it off.
- Tab label font size is now customizable in an
  advanced setting.
- Improve legibility of highlighted search results
  in the profile list in dark mode.
- Restore tmux window locations better when
  burying the attaching window.
- Improve UI for selecting a key binding action.
- Close the man page window (opened when tapping
  the man page button on the touch bar) when man
  quits.
- You can now close the crash reporter with cmd-w.
- Improve the appearance of window borders (when
  enabled in Appearance settings) on macOS 10.14+.
- Improve usability of Arrangement prefs. You can
  now do multiple selection, rename, and undo.
- Improve legibility of window titles in Minimal
  theme with light tab colors.
- Improve legibility of autocomplete popup text.
- Improve the tab color menu item UX.
- Make clearing command history faster.

Bug Fixes:
- Fix a bug where hotkey windows could appear
  under the menu bar on secondary display.
- Fix session restoration with custom shells.
- Fix various crashes.
- Fix a bug where a keypress with the option key
  in the very first keypress in a session could be
misinterpreted.
- Fix a bug where URLs with ports were sometimes
  not recognized.
- Fix a bug where closing a tmux integration
  window with many tabs would send garbage to the
command line of the
  attaching session.
- Fix Shell>Close Terminal Window in tmux
  integration.
- Fix support for ligatures with spaces when the
  advanced pref "Prefer speed to accuracy for
  characters with
  combining marks" is off.
- Fix bugs with it2git
- Fix bugs in tmux dashboard for session names
  containing nonbreaking spaces.
- Fix bug where you couldn't map a keystroke to
  increase height.
- Fix high CPU utilization in some situations.
- Fix a bug where attaching to tmux could restore
  a window to a different position than where it
  was before detaching.
- Respect key action of "Ignore" when there is no
  terminal window.
- Prevent annoying system log messages from
  IIONumber.
- Fix a bug where applescript launched from
  Scripts menu would timeout improperly.
- Fix escaping of single quotes in semantic
  history commands.
- Fix a bug where new tabs created in Applescript
  weren't always usable right away.
- Disable performance statistics to try to
  find cause of memory corruption bug.
- Fix memory leaks.
- Fix a bug where the arrow icon was missing from
  tmux tabs.
- Replace calls to calloc() with a safer wrapper
  function.
- Fix a bug where the zsh command line could be
  pushed into history unnecessarily.
- Fix icon alignment in New Python Script window.

SHA-256 of the zip file is
7b65a5712cf9f14bedabb6281b96291118c1c007274bc66ad86cb3dff242a73b
```

#### [iTerm2 3.3.10 (OS 10.12+)](https://iterm2.com/downloads/stable/iTerm2-3_3_10.zip)

This is the recommended build for most users.
Built on May 14, 2020.

[▾ Hide Changelog](<javascript:hideId('3815096843377686748')>)

```
3.3.10

Security Improvements
- Improves the method for gaining authorization
  to run Python scripts launched from outside
  iTerm2.

  Version 3.3.9 deprecated the older auth
  mechanism based on the command line, requiring
  the user to consent to every connection. That
  was annoying.

  There are now two ways to get permission:

  1. The UI prompts on every connection.
  2. The app requests a cookie using Applescript.
     Therefore, Applescript permission is
     required. This requires the user to
     consent only once per app that originates the
     connection.

  Note that this does not affect scripts launched
  by iTerm2, such as those opened from the Scripts
  menu.

  For more information, including details on how
  to use osascript to get a cookie, please see:
  https://iterm2.com/python-api-security-model

New Features:
- Updated shell integration installer UI, now with
  internet-free install option.
- Add a setting to Edit Session to prevent
  Automatic Profile Switching from changing the
  profile.
- Add support for opening files to line number
  with IntelliJ.
- Applescript can now launch a Python API script
  from an absolute path.

Improvements:
- Add a delay before previewing a color preset to
  make it easier to navigate the menu quickly.
- Set SSL_CERT_FILE and SSL_CERT_DIR when running
  Python scripts so they can use TLS.
- Change "Broken Pipe" to "Session Ended" and make
  it a soothing blue color.
- Network filesystems can not hang the UI any
  more. Calls to proc_pidinfo are now made in an
  XPC server.
- Default to built-in mouse cursor on Catalina
  since it is now visible against a black
  background.
- Updated internet access policy for all outgoing
  connections.
- Improve appearance of items in the Uploads and
  Downloads menus.
- "Flash tab bar in full screen" is now off by
  default since it is now a titlebar accessory.
- Add keyboard shortcuts for some announcements.
- The foreground and background color are shown in
  the context menu when exactly one cell is
  selected.
- Automatically detect when mouse reporting
  control sequences are getting printed and offer
  to turn it off.
- Automatically detect when paste bracketing
  control sequences are getting printed and offer
  to turn it off.
- Tab label font size is now customizable in an
  advanced setting.
- Improve legibility of highlighted search results
  in the profile list in dark mode.
- Restore tmux window locations better when
  burying the attaching window.
- Improve UI for selecting a key binding action.
- Close the man page window (opened when tapping
  the man page button on the touch bar) when man
  quits.
- You can now close the crash reporter with cmd-w.
- Improve the appearance of window borders (when
  enabled in Appearance settings) on macOS 10.14+.
- Improve usability of Arrangement prefs. You can
  now do multiple selection, rename, and undo.
- Improve legibility of window titles in Minimal
  theme with light tab colors.
- Improve legibility of autocomplete popup text.
- Improve the tab color menu item UX.
- Make clearing command history faster.

Bug Fixes:
- Fix a bug where hotkey windows could appear
  under the menu bar on secondary display.
- Fix session restoration with custom shells.
- Fix various crashes.
- Fix a bug where a keypress with the option key
  in the very first keypress in a session could be
misinterpreted.
- Fix a bug where URLs with ports were sometimes
  not recognized.
- Fix a bug where closing a tmux integration
  window with many tabs would send garbage to the
command line of the
  attaching session.
- Fix Shell>Close Terminal Window in tmux
  integration.
- Fix support for ligatures with spaces when the
  advanced pref "Prefer speed to accuracy for
  characters with
  combining marks" is off.
- Fix bugs with it2git
- Fix bugs in tmux dashboard for session names
  containing nonbreaking spaces.
- Fix bug where you couldn't map a keystroke to
  increase height.
- Fix high CPU utilization in some situations.
- Fix a bug where attaching to tmux could restore
  a window to a different position than where it
  was before detaching.
- Respect key action of "Ignore" when there is no
  terminal window.
- Prevent annoying system log messages from
  IIONumber.
- Fix a bug where applescript launched from
  Scripts menu would timeout improperly.
- Fix escaping of single quotes in semantic
  history commands.
- Fix a bug where new tabs created in Applescript
  weren't always usable right away.
- Disable performance statistics to try to
  find cause of memory corruption bug.
- Fix memory leaks.
- Fix a bug where the arrow icon was missing from
  tmux tabs.
- Replace calls to calloc() with a safer wrapper
  function.
- Fix a bug where the zsh command line could be
  pushed into history unnecessarily.
- Fix icon alignment in New Python Script window.

SHA-256 of the zip file is
ec50ecd509942d2d800e1c4672223e47504b05e64aebf687f24c4a29d9f534a0
```

#### [iTerm2 3.3.9 (OS 10.12+)](https://iterm2.com/downloads/stable/iTerm2-3_3_9.zip)

This is the recommended build for most users.
Built on February 12, 2020.

[▾ Hide Changelog](<javascript:hideId('5817551272307318477')>)

```
3.3.9

This release fixes a number of crashes and adds a security
improvement to the Python API.

Security Improvements
- The security model for the Python API has changed. Any
  process attempting to use the API that was not launched by
  iTerm2 will require explicit user approval.

  The previous technique, which relied on inferring the job
  name from its command line, could be subverted.

  Consequently, the UI for authorizing particular scripts
  has been removed.

  For more information, please see
  https://iterm2.com/python-api-security-model

Bug Fixes
- Fix a bug where the character accent menu would appear
  when holding down a key.
- Fix crash when restoring window arrangement.
- Fix crash when a download finishes.
- Fix crash when a downloaded file has disappeared.
- Fix crash after closing a window that completely obscures
  another window and the GPU renderer is enabled.
- Fix crash when there is no default fixed-pitch font.
- Fix crash when removing invalid automatic profile
  switching rule.
- Fix crash when a bonjour host appears/disappears and the
  default profile has a hotkey and you're switched to a
  different user account than the one iTerm2 is in.
- Enable same-origin policy for webkit popovers.
- Fix a crash when a shortcut is configured to invoke a menu
  item that has a submenu.
- Fix a crash when a tab icon is 0x0 pixels.
- Fix a crash when there's a process ID cycle.
- Fix a bug where shortcuts are shown in tabs when
  navigation by modifiers+number is disabled.
- Fix various other crashes.

Version 3.3.8 was a short-lived release. Its release notes
follow:

3.3.8

New Features
- You can now specify that a profile should use a "custom
  shell". With this option, you can ask to use a particular
  shell (e.g., /usr/local/bin/fish) without having to update
  your Unix account with chsh. Such sessions are launched through
  /usr/bin/login, which initializes them properly.
- Add a new status bar component that opens a menu with a
  list of actions. Actions are defined by the toolbelt
  Actions tool.
- You can now log plain text, both for automatic logging and
  for one-off logging from the menu.
- Adds a new built-in color preset, Smoooooth. Works around
  bloom issues on Pro Display XDR.
- Add "Send Selection" to context menu.
- Dynamic Profiles now log errors to the scripting
  console.

Improvements
- Add reordering and multiple selection to the Actions
  toolbelt tool.
- Add actions in the Actions tool to the Open Quickly
  window.
- Speed up Open Quickly window animation.
- Change how shortcuts in the Open Quickly window work to
  not require a space. For example, /afoo will now find
  window arrangements matching the search query "foo".
  Previously, you'd need to put a space after "/a".
- Save search history outside of user defaults for better
  privacy.
- Tighten up image decoding sandboxes. There were some
  permissions that aren't needed by the currently supported
  versions of macOS.
- Copy mode now supports moving forward and back by a vim
  "WORD" with W and B. A WORD can contain symbols, as
  opposed to a word which is approximately alphanumeric.
- Be more paranoid about parsing imported recording files.
- Sandbox sixel image decoding.
- Improve the reliability of three-finger-drag-to-select.
- Downloaded files (e.g., with it2dl) are now quarantined.
- When a session's current directory is fetched from the OS,
  rewrite root-firmlinked paths to their more familiar
  aliases.
- Add more advanced preferences to tame the dumpster fire
  that is Consolas.
- Restore tmux windows' positions more consistently in tmux
  integration mode.
- As you select items in the color presets menu, temporarily
  apply them so you can see the effect.
- Signed script archives now sign the entire file (other
  than the signature itself) to prevent tampering with
  embedded certs. For now older archives are still accepted
  as input.
- Require user permission for various control sequences that
  could possibly be abused for evil purposes.
- Separate next/previous mark and next/previous annotation
  into separate menu items.
- Various performance improvements.
- Three-finger drags are now reported when three finger
  drags are configured to act as regular left mouse drags.
- Use momentum scrolling for mouse reporting the scroll
  wheel.
- Remove various unneeded entitlements for extra security.
- Changes to custom touch bar items are now reflected
  immediately.
- Deal with attempting to attach twice to the same tmux
  session more nicely.
- User-defined variables are now saved in the tmux server
  and restored upon attaching in tmux integration mode.
- Add "Ignore" as a new pointer action.
- If Paste is waiting for a prompt and you press either
  control-C or esc, the paste will be aborted.
- Add an advanced pref to force antialiasing on retina
  displays, even when AA is disabled in Text prefs.[
- Use hardened runtimes in helper programs.
- Use secure timestamps everywhere.

Bug Fixes
- Voice dictation now works!
- Fix incorrect handling of three finger taps that caused
  the dictionary to open.
- Fix gray bar that appeared when in native full screen with
  one tab and no tab bar.
- Fix a bug where the title could be misaligned in the
  Minimal theme.
- Fix off-center red/yellow/green buttons in Minimal theme.
- Fix various crashes.
- Improve argument parsing for identifying Python scripts
  that use the API.
- Fix improper text alignment in font picker.
- Duplicate Tab now respects the advanced pref that controls
  where new tabs are added.
- Fix a bug where the shorcut for switching
  panes/tabs/window by number could show the wrong modifiers
  in the settings UI.
- Don't convert control sequences from screen to xterm in
  tmux integration if the default-terminal tmux option is
  set to something not including 'screen'.
- Fix a bug where tmux integration would get confused about
  which tab is which after reordering them.
- Fix a bug where editing a trigger's regex could update the
  first row instead of the one you were editing.
- Don't show the "document edited" dot in the close button
  when the profile has a custom command, which tricked us
  into thinking it was always edited.
- Fix a bug where the tab title could become empty after
  popping a title from the stack (such as when exiting vim). 
- Don't hang when importing a script with a self-signed
  cert.
- Improve how the git status bar component truncates text.
- The GPU renderer drew selected tab characters incorrectly.
  Fix it.
- Disable quicklook for http, since it won't work anyway due
  to ATS.
- Fix bugs in restoring annotations that would cause them to
  change what text was annotated.
- Fix the git status bar tool in directories with tildes in
  their names.
- Fix crazy big mouse cursor when screen sharing.
- Don't do crazy things if you try to mouse report past the
  223rd row/column in xterm mouse reporting mode.
- Fix printing of images in black-and-white mode.
- Fix a bug where "select menu item" actions got performed
  twice.
- Fix a bug where the dock got hidden on the wrong screen
  when entering full screen.
- You can now assign force click to smart select and it'll
  work the way you'd expect.
- .its files now have proper icons and are bound to iTerm2.
- Fix a bug where background images would sometimes not
  update right away when using the GPU renderer.
- Make highlighted search results in the profile list more
  legible in dark mode.

Things Made Worse
- Remove the CPU profiling feature. It was never very good
  and the command line "sample" program is better.
- Tab icons are no longer supported on macOS 10.12 because
  Apple made a dog's breakfast of drawing images in the
  10.15 SDK.

SHA-256 of the zip file is
4aff009d2695f9921708f9927af1578be37d12ecab28aaca27646f02842ebede
```

#### [iTerm2 3.3.8 (OS 10.12+)](https://iterm2.com/downloads/stable/iTerm2-3_3_8.zip)

This is the recommended build for most users.
Built on February 2, 2020.

[▾ Hide Changelog](<javascript:hideId('4186230932753577828')>)

```
3.3.8

New Features
- You can now specify that a profile should use a "custom
  shell". With this option, you can ask to use a particular
  shell (e.g., /usr/local/bin/fish) without having to update
  your Unix account with chsh. Such sessions are launched through
  /usr/bin/login, which initializes them properly.
- Add a new status bar component that opens a menu with a
  list of actions. Actions are defined by the toolbelt
  Actions tool.
- You can now log plain text, both for automatic logging and
  for one-off logging from the menu.
- Adds a new built-in color preset, Smoooooth. Works around
  bloom issues on Pro Display XDR.
- Add "Send Selection" to context menu.
- Dynamic Profiles now log errors to the scripting
  console.

Improvements
- Add reordering and multiple selection to the Actions
  toolbelt tool.
- Add actions in the Actions tool to the Open Quickly
  window.
- Speed up Open Quickly window animation.
- Change how shortcuts in the Open Quickly window work to
  not require a space. For example, /afoo will now find
  window arrangements matching the search query "foo".
  Previously, you'd need to put a space after "/a".
- Save search history outside of user defaults for better
  privacy.
- Tighten up image decoding sandboxes. There were some
  permissions that aren't needed by the currently supported
  versions of macOS.
- Copy mode now supports moving forward and back by a vim
  "WORD" with W and B. A WORD can contain symbols, as
  opposed to a word which is approximately alphanumeric.
- Be more paranoid about parsing imported recording files.
- Sandbox sixel image decoding.
- Improve the reliability of three-finger-drag-to-select.
- Downloaded files (e.g., with it2dl) are now quarantined.
- When a session's current directory is fetched from the OS,
  rewrite root-firmlinked paths to their more familiar
  aliases.
- Add more advanced preferences to tame the dumpster fire
  that is Consolas.
- Restore tmux windows' positions more consistently in tmux
  integration mode.
- As you select items in the color presets menu, temporarily
  apply them so you can see the effect.
- Signed script archives now sign the entire file (other
  than the signature itself) to prevent tampering with
  embedded certs. For now older archives are still accepted
  as input.
- Require user permission for various control sequences that
  could possibly be abused for evil purposes.
- Separate next/previous mark and next/previous annotation
  into separate menu items.
- Various performance improvements.
- Three-finger drags are now reported when three finger
  drags are configured to act as regular left mouse drags.
- Use momentum scrolling for mouse reporting the scroll
  wheel.
- Remove various unneeded entitlements for extra security.
- Changes to custom touch bar items are now reflected
  immediately.
- Deal with attempting to attach twice to the same tmux
  session more nicely.
- User-defined variables are now saved in the tmux server
  and restored upon attaching in tmux integration mode.
- Add "Ignore" as a new pointer action.
- If Paste is waiting for a prompt and you press either
  control-C or esc, the paste will be aborted.
- Add an advanced pref to force antialiasing on retina
  displays, even when AA is disabled in Text prefs.[
- Use hardened runtimes in helper programs.
- Use secure timestamps everywhere.

Bug Fixes
- Voice dictation now works!
- Fix incorrect handling of three finger taps that caused
  the dictionary to open.
- Fix gray bar that appeared when in native full screen with
  one tab and no tab bar.
- Fix a bug where the title could be misaligned in the
  Minimal theme.
- Fix off-center red/yellow/green buttons in Minimal theme.
- Fix various crashes.
- Improve argument parsing for identifying Python scripts
  that use the API.
- Fix improper text alignment in font picker.
- Duplicate Tab now respects the advanced pref that controls
  where new tabs are added.
- Fix a bug where the shorcut for switching
  panes/tabs/window by number could show the wrong modifiers
  in the settings UI.
- Don't convert control sequences from screen to xterm in
  tmux integration if the default-terminal tmux option is
  set to something not including 'screen'.
- Fix a bug where tmux integration would get confused about
  which tab is which after reordering them.
- Fix a bug where editing a trigger's regex could update the
  first row instead of the one you were editing.
- Don't show the "document edited" dot in the close button
  when the profile has a custom command, which tricked us
  into thinking it was always edited.
- Fix a bug where the tab title could become empty after
  popping a title from the stack (such as when exiting vim). 
- Don't hang when importing a script with a self-signed
  cert.
- Improve how the git status bar component truncates text.
- The GPU renderer drew selected tab characters incorrectly.
  Fix it.
- Disable quicklook for http, since it won't work anyway due
  to ATS.
- Fix bugs in restoring annotations that would cause them to
  change what text was annotated.
- Fix the git status bar tool in directories with tildes in
  their names.
- Fix crazy big mouse cursor when screen sharing.
- Don't do crazy things if you try to mouse report past the
  223rd row/column in xterm mouse reporting mode.
- Fix printing of images in black-and-white mode.
- Fix a bug where "select menu item" actions got performed
  twice.
- Fix a bug where the dock got hidden on the wrong screen
  when entering full screen.
- You can now assign force click to smart select and it'll
  work the way you'd expect.
- .its files now have proper icons and are bound to iTerm2.
- Fix a bug where background images would sometimes not
  update right away when using the GPU renderer.
- Make highlighted search results in the profile list more
  legible in dark mode.

Things Made Worse
- Remove the CPU profiling feature. It was never very good
  and the command line "sample" program is better.
- Tab icons are no longer supported on macOS 10.12 because
  Apple made a dog's breakfast of drawing images in the
  10.15 SDK.

SHA-256 of the zip file is
6e6755d857c8f30bd0efcd60719a78a8cf4142a91e28fd89377ad5a37cc36a68
```

#### [iTerm2 3.3.7 (OS 10.12+)](https://iterm2.com/downloads/stable/iTerm2-3_3_7.zip)

This is the recommended build for most users.
Built on November 17, 2019.

[▾ Hide Changelog](<javascript:hideId('2626036229574813521')>)

```
iTerm2 version 3.3.7

New Features
- Adds a preference to specify whether you want
  each tab to control the window title
  separately, or if all tabs in a window should
  share a single window title. This affects window
  title set by control sequences like OSC 2.
- Separate 'use custom bold color' from 'brighten
  bold colors', which previously were confusingly
  grouped into a single setting.
- Password manager now has a column for user
  names.
- Add support for 2-factor codes appended to
  password in password manager.

Improvements
- Various performance improvements.
- When the window title is changed by a control
  sequence, set the window title to exactly that
  string.
- Remember whether "tags" view of profile list is
  expanded in toolbelt.
- Move selection-related settings into General >
  Selection.
- Add advanced pref to disable tabbar tooltips.
- Set pixel size in TTY.
- Don't show a warning when modifying a session's
  copy of its profile when that profile is backed
  by a dynamic profile.
- When prefs from a remote location fail to load,
  offer to reveal the responsible preference.
- The toolbelt now uses a dark background in the
  Minimal theme when the terminal window's
  background is dark.
- Add Unicode 12 width tables for emoji.
- Add "Edit Account Name" and "Edit User Name" to
  password manager context menu.
- Variable-size tmux windows are now pretty
  usable. Try turning on Prefs>Advanced>Allow
  variable window sizes in tmux integration.
- Put a dot in the close button when there is an
  active job running.
- You can now drag the window using the New Tab +
  button.
- When selecting a tag from the "tags" view, use
  the tag: operator to restrict the search term to
  tags.
- Add advanced pref to enable italic in tmux
  integration. It uses the "screen" terminal where
  the control sequence normally used for italics
  instead does reverse video.

Bug Fixes
- Disable quicklook if it's disabled systemwide.
- Fix drawing of "tags" view of profile list.
- Fix bug where users with spaces in their names
  couldn't log in.
- Fix a bug where windows with a left-side tab bar
  had the wrong number of columns when first
  created.
- Fix a bug where activating a session via API in
  an inactive tab would activate the wrong session
  in that tab.
- Fix a bug where setting the icon title when
  showing Profile + Session name caused the
  profile name to go away.
- Fix padding of "broken pipe" message.
- Fix bugs in updating session list in tmux
  dashboard.
- Fix a bug where window buttons were hidden when
  entering native full screen.
- Disable selection scroll if it begins in the
  mutable area while reporting mouse clicks.
- Fix a bug where option-clicking the zoom button
  after exiting full screen doesn't zoom.
- Fix a bug where selection by dragging three
  fingers selects too much text.
- Fix imgcat in Catalina.
- Fix dragging folders to iTerm2 icon.
- Remove a brittle performance hack for scroll
  views that may have been causing crashes.
- Fix a bug when changing tabs while selecting
  text causing future selections to be wrong.
- Fix a few crashes.
- Fix manpage viewer in touch bar.
- If you use the CurrentDir control sequence
  without the rest of shell integration, it will
  now work reliably.
- Fix escaping of smart selection "run command in
  window" commands.
- Fix some integer overflow bugs.
- In secure copy, keyboard-interactive and private
  key passpharse input deadlocked. Fix it.
- Preserve the selected weight when changing
  typeface, when possible.
- Respect the desired popover size for custom
  status bar components. This fix may cause some
  popovers to have different-sized popovers than
  expected, and may require updating the script to
  correct.
- Fix a bug where Find Next would not navigate to
  the very first word in history.
- Fix a runaway CPU issue when initializing GPU
  renderer.
- Touch bar in full screen now shows correct tab
  titles. Fixes a bug where they would get out of
  sync with reality.
- Fixes a bug where adding a new password in the
  password manager could hang.

Scripting
- Python 3.8.0 is now available. It requires
  3.3.7beta3 or later, so keep that in mind when
  distributing scripts.
- Add support for delta updates of the Python
  runtime.
- Add Session.async_get_contents to docs.
- Add Profile.async_get_default and
  PartialProfile.async_get_default.

SHA-256 of the zip file is
a993e66119b8ddf97e6b50a03a8aa6fbf3954f66a3f896a7503876c06702e724
```

#### [iTerm2 3.3.6 (OS 10.12+)](https://iterm2.com/downloads/stable/iTerm2-3_3_6.zip)

This build contains an important security fix and all users should install it.
Built on October 9, 2019.

[▾ Hide Changelog](<javascript:hideId('2049574003685595374')>)

```
iTerm2 version 3.3.6

This build fixes a serious security issue. All
users should upgrade.

The Mozilla Foundation has generously sponsored a
security audit of the iTerm2 source code. As part
of this audit, a problem was discovered which
could cause iTerm2 to issue commands in response
to receiving certain input. This is a serious
security issue because in some circumstances it
could allow an attacker to execute commands on
your machine when you view a file or otherwise
receive input they have crafted in iTerm2.

For more information, please visit the
iterm2-discuss group.

https://groups.google.com/forum/#!forum/iterm2-discuss

Improvements
- Visual improvements to minimal and compact
  themes' titlebar.
- Make overlay scrollbars dark in dark theme with
  light terminal background so they're more
  visible.
- Various UI improvements to the Composer status
  bar component.

Bug Fixes
- Fix a bug where you couldn't import an .its file
  requiring the latest runtime version.
- Fix a bug where exporting an autolaunch script
  wouldn't work if there was a symlink in the
  path.
- Fix the frame of the hotkey window when there's
  another terminal window in lion fullscreen on a
  different desktop.
- Fix a bug where three-finger drag was broken.
- Prevent very wide/tall images from disappearing.
- Make the color picker remember hue and
  saturation when the color passes through pure
  black or white.
- Don't get confused about the working directory
  when only a subset of the shell integration
  control sequences are used.
- Fix a bug where changing the badge and the title
  in quick succession would only affect the badge.
- Ensure all file descriptors are closed when
  launching a coprocess (before only 0-255 were
  closed).
- Fixes a crash-on-launch problem for some users
  in corporate environments.

Scripting
- Add Session.async_get_contents

SHA-256 of the zip file is
31fe60529974761a198d127c4d246c59a418e3508dcc4f172a51ab07b0a65373
```

#### [iTerm2 3.3.5 (OS 10.12+)](https://iterm2.com/downloads/stable/iTerm2-3_3_5.zip)

This is the recommended build for most users.
Built on October 6, 2019.

[▾ Hide Changelog](<javascript:hideId('3954192201663301831')>)

```
iTerm2 version 3.3.5

This build uses the "hardened runtime", which makes the app
more secure. It is also notarized so it will run on Catalina.

New Features
- You can now import and export key bindings from the
  Presets... menu under the list of key bindings.
- Add an advanced pref to allow paste history to work while
  secure keyboard entry is on.
- New advanced pref to disable bottom line of
  tabbar for low-budget Minimal theme on 10.12 and
  10.13.
- New advanced pref to tweak the initial alpha
  value of flashing indicators, like the bell.
- New advanced pref to escape with quotes instead
  of backslashes for xonsh users.
- Add two new Applescript commands:
  1. invoke API function "f()"
  2. lauch API script with name "scriptname"
  This gives you a bridge to the modern world.
- New window style "Maximized" that is an
  always-maximized window.

Improvements
- Clear the selection when the scroll wheel sends
  an arrow key.
- Improve performance of creating sessions with
  the Python API.
- Update the "xterm" keyboard presets to include
  control+function keys.
- tmux integration will now enable the "Session
  Name" title component by default when using the
  "tmux" profile.
- Double-clicking on a profile in the panel shown when you
  do Shell > Split Horizontally/Vertically... will now split
  with that profile.
- Paste history, command history, and captured output
  toolbelt tools now use a fixed-pitch font.
- Show a warning in Paste History UIs that it is disabled
  when secure keyboard entry is on.
- Don't redraw the whole window every time the mouse moves.
- Update window and tab titles immediately after getting an
  OSC 0, 1, or 2 control sequence.
- Reduce CPU usage for miniaturized windows.
- Add "Stop Coprocess" to context menu.
- Improve reliability of semantic history in
  interactive apps.
- Improve performance of splitting panes with
  Python API.
- Improve git state status bar component's ability
  to detect Xcode license-related issues that
  prevent it from using git.
- Replace "copy profile as JSON" with
  functionality that saves it to a file.
- Visual improvements to Prefs.
- Require user confirmation of downloads over 1
  gb.
- Various security improvements to the Python API:
  - Make it harder for a web browser to connect by
    requiring a special HTTP header.
  - Detect when two processes hold the file
    descriptor to the websocket and deny the
    connection.

Bug Fixes
- Don't open files as URLs when you cmd-click a
  file in a network mount.
- Fix a bug where git commands invoked by clicking
  the git status bar component wouldn't work if
  there was a space in the path to iTerm2.
- Hide a gray line under the title bar that
  occasionally appears in native full screen
  windows with the minimal theme.
- Show the tab color in per-pane title bars.
- Fix a bug where the window shadow would
  disappear after exiting native full screen.
- Sometimes, "show next/previous tab" would appear
  as a grayed out menu item under Window. macOS
  kindly adds this at random for no discernable
  reason. It is no longer grayed out.
- The selection is now cleared on mouse-down.
- The local copy of the profile is no longer
  modified when the cursor shape is changed by a
  control sequence. This fixes a bug where
  splitting a window where the cursor shape had
  been changed caused the new session to have that
  cursor shape.
- Fix a race condition that caused the initial
  directory to sometimes be wrong when creating a
  bunch of new sessions quickly.
- Fix layout bug when resizing triggers window.
- Don't treat force touch as quicklook if disabled in system
  prefs.
- Fix a bug in rendering inline images that are a fixed
  number of cells tall.
- Fix the "broken pipe" divider, which rendered incorrectly.
- If you click on a selection, wait until mouse-up to remove
  it so it can be dragged.
- Fix a bug where the window buttons and window shortcut
  titlebar accessory remained visible after exiting native
  full screen.
- Fix a bug when performing two consecutive searches for
  URLs where the second search had no effect.
- Make text field first responder when opening "send command
  to tmux" window.
- Fix a bug where you couldn't always write to a
  session after creating it in applescript.
- Fix a bug where secure copy drop targets were
  not visible when using the GPU renderer.
- Suport system preference for three-finger tap
  Quicklook.
- Fix incorrect tip of the day about compact
  window style, which was replaced by the compact
  theme.
- Fix rounding error in color picker.
- Fix various memory errors.
- Fix a bug where blinking text didn't redraw
  correctly when scrolled up with legacy renderer.

Scripting
- New APIs for coprocesses.
- Adds a 'title' variable to the tab scope that has the
  tab's actual title.

SHA-256 of the zip file is
116f5f349f08fcfac8934c43704a80a8c55c2f85be288ec176c32c9b6b58d5b9
```

#### [iTerm2 3.3.4 (OS 10.12+)](https://iterm2.com/downloads/stable/iTerm2-3_3_4.zip)

This is the recommended build for most users.
Built on September 15, 2019.

[▾ Hide Changelog](<javascript:hideId('4489009668217355144')>)

```
iTerm2 version 3.3.4

New Features
- There's a new pref for whether you want to
  be asked to confirm quitting the app when there
  are no windows.

Improvements
- Infer current job name (for status bar, title
  bar, etc.) when using tmux integration locally.
- Append to automatic log output files by default,
  instead of replacing them.
- Search history is no longer opened by default
  when you type in a Find field. Press the down
  arrow to see your recent searches.
- Control sequences that set the window or icon
  title now cause that title to become visible.
- Preserve the exact dimensions of sixel images
  when possible.
- Translate italic to reverse video in tmux
  integration.
- The git status bar component now truncates long
  branch names instead of disappearing because
  it's too big to fit.
- Python API scripts are now run through the
  user's shell so they'll have the right PATH,
  in case they want to spawn subprocesses.
- Use dark appearance for scrollbars in minimal
  theme when the terminal background color is
  dark.
- When you create a tab with the Python API,
  iTerm2 will no longer get activated
  automatically.
- Add "disable status bar" to the status bar
  context menu.

Bug fixes
- Fixes a bug when clicking on an iTerm2 window
  with a selection while another app is active:
  the selected text is no longer copied to the
  pasteboard.
- Fix many crashes.
- Fix a bug where two custom status bar components
  or title providers could not run concurrently if
  their callbacks had the same signature.
- Fix a regression where control-| stopped sending
  control-backslash on Japenese keyboards.
- Fix flickering job name when using tmux
  integration locally.
- Show a context menu when right clicking on the
  titlebar in minimal or compact mode when there
  is no tab bar.
- Fix colors of graph-based status bar components
  in dark mode.
- Fix a crash when a shell integration-reported
  hostname has a leading dot or two consecutive
  dots in its name.
- Use the right color for the window shortcut
  number in minimal theme when the first tab is
  colored.
- Fix various rendering bugs with inline images in
  both the GPU and legacy renderers.
- Fix a bug where popping an icon or window title
  from the stack didn't always work.
- Fix a bug that caused hotkey windows to
  immediately hide after showing when two of them
  had the same shortcut.
- Fix GPU rendering of ASCII text when the font
  includes glyphs that spill outside their bounds
  to the left, like AnonymousPro.
- When stealing key focus is enabled, make the
  session that's receiving stolen keys first
  responder.
- Fix a bug where the cursor was advanced one
  position more than it should have been after
  showing an image.
- Fix a bug where resizing panes by the Window >
  Resize Split Pane menu items would not always
  work if the panes had different fonts.
- Don't expose the existence of the placeholder
  status bar component (used in empty status bars)
  in the context menu.

SHA-256 of the zip file is
c053efa721ab0f6311144d2e3f06ffd88cafb2cd23132cdd7929c12610b3ddf9
```

#### [iTerm2 3.3.3 (OS 10.12+)](https://iterm2.com/downloads/stable/iTerm2-3_3_3.zip)

This is the recommended build for most users.
Built on September 3, 2019.

[▾ Hide Changelog](<javascript:hideId('7504659557678332549')>)

```
iTerm2 version 3.3.3

New Features
- Holding Option while dragging a tab now drags
  the window. This makes it easier to move windows
  in the Minimal and Compact themes.

Improvements
- Change the default tab/window title to show the
  job name.
- The hostname status bar component now has the
  ability to abbreviate the local host name to a
  configurable string.
- Make uploading files with it2ul much faster.
- More process -> icon mappings.
- "Split Horizontally/Vertically" in the context
  menu reuses the session's profile rather than
  always using the default profile.
- The default tabstops are now configurable in
  advanced prefs.
- There's a new advanced pref to use black for the
  filler color in tmux integration for full screen
  windows.
- Increased the timeout for the git status bar
  component data fetch to four seconds.
- Selection is not cleared on mouse-up any more.
  When clicking on an inactive window, the
  selection will not be removed.
- Tweak insets of stoplight buttons.
- Performance improvements for non-GPU renderer.
- You can now move tmux windows between sessions
  in the tmux dashboard by holding Opt while
  dragging.
- Replace control characters in titles with
  caret+letter instead of ?.
- Make dark high contrast theme more readable for
  people with poor eyesight.
- Allow top-of-screen hotkey windows to overlap
  the menu bar.

Bug fixes
- Fix a crash when showing a hotkey from a full
  screen window.
- Fix various other crashes.
- Fix some memory leaks.
- Fix a bug where a window would be covered with
  an opaque rectangle after exiting full screen.
- Fix a bug where the flashing full-screen tab bar
  would leave behind an opaque rectangle.
- Enforce a minimum left-side tabbar width so
  stoplight buttons and window shortcut will fit.
- Fix a bug where selecting case-insensitive regex
  in search would incorrectly put a checkmark next
  to "erase search history."
- Fix a bug where the working directory wasn't
  detected if insecure control sequences were
  disabled.
- Fix a bug where a full screen window in tmux
  integration with legacy scroll bars enabled
  would have an empty margin on the right.
- Fix a bug where blinking text might not always
  blink.
- Improve escaping of URLs in smart selection
  actions.
- Fix escaping of tildes in secure copy paths.
- Fix a bug where "set name" in Applescript didn't
  work.
- Fix a bug where double-clicking a window's
  shortcut label didn't work to zoom when there
  was no tabbar in the minimal or compact theme.
- Fix an exception in Python API scripts when fetching a profile with a hotkey
  with control characters.
- Fix a bug where the coordinates in
  the AddHiddenAnnotation control sequence were
  not respsected.

SHA-256 of the zip file is
be7ee93b73e759a7e14dd5587826c4703df2e0f86df0c7015f5a7e98318abcd9
```

#### [iTerm2 3.3.2 (OS 10.12+)](https://iterm2.com/downloads/stable/iTerm2-3_3_2.zip)

This version contains a fix for a security issue, and all users should upgrade.
Built on August 18, 2019.

[▾ Hide Changelog](<javascript:hideId('938302310906322570')>)

```
iTerm2 version 3.3.2

NOTE: This build contains a bug fix for the secure
keyboard entry feature. Please see the bug fixes
section for details. The bug was present in 3.3.0
and 3.3.1.

New Features
- Custom status bar components can now show an
  "unread count".
- Custom status bar components can now provide an
  icon.

Improvements
- Status bar setup window size increased.
- Help button added to status bar setup window.
- Improve reliability of detecting the current
  directory.
- Improve colors of tabs in Dark (High Contrast)
  theme.
- Initialize username and hostname variables from
  $$USER$$ and $$HOST$$.
- Change color of filler area in tmux integration
  to look better with status bars.
- When a window has a single tab and the theme is
  minimal and the tabbar is shown treat dragging
  the tab as dragging the window.
- Keep the "current directory" status bar
  component up to date in tmux integration.
- Add setting to control whether the native or
  tmux status bar is used in tmux integration
  mode.
- Adds a "number" variable to the window scope.
- Show the tab title or tmux window name in the
  Open Quickly UI when it difers from the session
  name.
- Add an advanced pref to tweak the size of the
  window dragging area in minimal and compact
  windows.
- Don't offer to reset paste bracketing/mouse
  mode when the username changes but the hostname
  does not.
- Changes to the status bar are now applied
  immediately. Cancel undoes them.

Bug fixes
- Fix a bug where secure keyboard entry was not
  enabled immediately after the app launches. It
  was enabled the first time iTerm2 was activated
  or the menu was opened.
- Fix a bug where underlined text has wrong colors
  when the GPU renderer was on for 2015+ iMacs.
- Fix a bug where restoring a saved arrangement
  with a hotkey window could leave you with a
  transparent window.
- Fix a bug where using $$ macros in profile names
  didn't always work.
- Fix handling telnet: URLs with ports.
- Fix a bug where underlines on non-ascii text
  could have the wrong offset or thickness.
- Fix a bug where a session titlebar's label could
  have the wrong background color.
- Respect soft boundaries for determining the
  "before" and "after" text reported by semantic
  history, since they are respected for finding
  file names/URLs.
- Fix a bug where the Composer status bar
  component's popover would have white-on-white
  text on macOS 10.12 and 10.13.
- Fix a bug where a restored session's cursor
  would be on the same line as the the "session
  restored" banner.
- Fix a bug where Find stops working after moving
  a session into a split pane when there is a
  status bar.
- When entering non-native fullscreen, don't
  auto-hide the dock if it's not on the same
  screen as the window.
- Fix a bug where windows jump to the first screen
  when entering or exiting full screen mode and
  the theme is Minimal or Compact.
- Fix a bug where a floating hotkey window appears
  beneath other apps' fullscreen windows after
  toggling full screen.
- Fix a bug where automatic log files had the
  wrong tab number in the filename.
- Fix a bug where exiting full screen after
  changing the theme could leave some junk behind
  where the title bar was.
- Python scripts that set a variable without
  changing its value will no longer raise an
  exception.
- Fix a bug where the window size after exiting
  non-native full screen was different than before
  entering it.
- Fix a bug where a non-native fullscreen window
  didn't go all the way to the top of the screen.
- Update the session "path" variable when the
  working directory is updated (when shell
  integration is not installed).
- Fix a bug where a window could not be made full
  screen twice when native full screen is enabled
  and the app is excluded from the dock.

For the full release notes for version 3.3, please
see:
https://iterm2.com/downloads/stable/iTerm2-3_3_0.changelog

SHA-256 of the zip file is
e36b30bfa480ce7d4eca601b60e0e0e5a8b96f94617b584085e969d65d282b47
```

#### [iTerm2 3.3.1 (OS 10.12+)](https://iterm2.com/downloads/stable/iTerm2-3_3_1.zip)

This is the recommended build for most users.
Built on August 6, 2019.

[▾ Hide Changelog](<javascript:hideId('5065479894410574283')>)

```
iTerm2 3.3.1

New Features
- Support binary control characters (aka C1
  control codes) when the text encoding is ASCII
  or Latin-1.
- Show the window size in an overlay during live
  resizing when there is no title bar.

Improvements
- Improve readability of advanced prefs.

Bug Fixes
- Fix a bug where closing a full screen window
  would cause another window to appear.
- Fix a crash when switching from Dark/Light theme
  to Minimal or Compact.
- Fix a bug where automatic logging created files
  with the wrong tab number.
- Fix a bug where floating hotkey windows did not
  overlap the menu bar.
- Fix a bug where opening the Open Quickly window
  would hide a hotkey window.
- Fix a bug where an alert box could cause a
  hotkey window to hide.
- Fix a bug where the git status bar component
  would fail to update.
- Fix a crash when setting the badge height to 0.
- Fix a bug where adjusting the badge size didn't
  always work right away.
- Improve the accuracy of the badge preview when
  editing its size and position.

For the full release notes for version 3.3, please
see:
https://iterm2.com/downloads/stable/iTerm2-3_3_0.changelog

SHA-256 of the zip file is
86dd784d54923fde6be6cadd37127e9b91c4dcde4fb2a26a3b62d94cae74ad1c
```

#### [iTerm2 3.3.0 (OS 10.12+)](https://iterm2.com/downloads/stable/iTerm2-3_3_0.zip)

This is the recommended build for most users.
Built on July 31, 2019.

[▾ Hide Changelog](<javascript:hideId('3377481974206081060')>)

```
iTerm2 3.3.0

This is a major release that contains a number of
new features.

Major New Features

- A Python scripting API has been added to enable
  extensive configuration and customization. See
  https://iterm2.com/python-api for details.
- A scriptable status bar has been added with 13
  built-in configurable components.
- Two new themes:
    Minimal: Reduces visual clutter. Modernist.
    Compact: Moves tabs into the title bar to save
      space, while preserving the general
      appearance of a macOS app.

Other New Features

- Session, tab, and window titles have been
  revamped to be more flexible and comprehensible.
  You can now configure them separately and select
  what information is shown per profile. They are
  integrated with the new Python scripting API.
- Tabs may now have icons: either an icon
  indicating the running app, or a fixed icon per
  profile.
- The display of Sixel images is now supported.
- Add menu item to arrange split panes evenly. In
  tmux, this uses the tiled layout.
- Greatly improved support for background images:
  they may now span split panes and you can adjust
  how they are scaled to avoid stretching.
- Add support for reporting keystrokes with CSI u.
- New type of trigger added that turns text into a
  hyperlink.
- New type of trigger added that adds annotations
  to the matching text.
- You can now export a recording of your screen
  from the Instant Replay panel.
- A new toolbelt tool, Actions, provides shortcuts
  to frequent actions like sending a snippet of
  text.
- You can now search preferences. There's a search
  bar in the top right of the window.
- Add a new utility, "it2git", which allows the
  git status bar component to show git state on a
  remote host. Install the utilities and then view
  ~/.iterm2/it2git for further instructions.
- Add touch bar mitigations: haptic feedback, key
  click, and blink cursor when touching esc.
- Replace the system font picker with an easier-
  to-use custom one.
- Search now remembers your 10 most recent queries
  and offers them as suggestions.
- Adds support for crossed-out text (SGR 9)
- Add support for automatically restarting a
  session when it ends.

Other Improvements

- Numerous visual improvements.
- Update app icon.
- You can now change the color preset from the
  Open Quickly window.
- Added an advanced pref for the height of the
  underline cursor.
- The state of various terminal emulation flags is
  now exposed in Session > Terminal State.
- Remove the bell icon from tabs more
  aggressively.
- Various pages of preferences have been
  rearranged to make more sense or be more
  visually pleasing.
- A new menu item lets you configure cmd-+ and
  cmd-- to adjust the underlying profile rather
  than only the current session.
- By default the tab bar now stretches to fill the
  available width so it looks more like a native
  tab bar. You can change this in Prefs >
  Appearance.
- Add a new proprietary control sequence to bounce
  the app icon only one time.
- Add support for setting the proxy icon by
  control sequence.
- Add support for broadcasting passwords to
  multiple sessions from the password manager. Off
  by default.
- Update "Terminal.app Compatibility" key mapping
  for option left and right arrows.
- Add support for natively drawn Powerline glyphs,
  allowing you to use any font and still get the
  fancy arrows. They also align properly with
  other elements, which the Powerline fonts do not
  always do.
- Cmd-clicking on filename[line,column] will now
  open the file to the specified line and column.
- Add "use transparency" as a profile setting for
  newly created windows.
- Adjust how underlines are drawn to have a more
  correct baseline offset.
- Add an advanced pref to swap find next/find
  previous behavior (since the default does not
  conform to macOS norms)
- The default scheme for URLs when you cmd-click
  is now https rather than http. You can change it
  with an advanced pref.
- Sparkle updates now use EdDSA signatures. DSA
  signatures will be phased out soon.
- Add an advanced preference to show a hint with
  split pane direction in menu items.
- Add an option to preserve window size when tab
  bar shows or hides
- You can now use the password manager when
  entering a password for secure copy.
- Adds support for the DECRQM control sequence.
- Performance improvements for long scrollback
  history.
- iTerm reports itself as a VT200 supporting
  Sixel in response to DA1.
- Doesn't block the main thread when checking if the
  text under the cursor is an existing file.
- Avoid blocking the main thread when creating a
  new session.
- Performance improvements for box drawing
  characters when not using GPU renderer.
- Performance improvements for opening long lists
  of color presets.
- Change natural text editing keyboard preset to
  include cmd-left and cmd-right.
- Work around a bug in tmux 2.9 that would crash
  the tmux server when changing panes.
- When the current tab is closed select the one to
  its right, like standard macOS tabs.
- Work around a macOS quirk where the equals sign
  on the numeric keypad is not treated as a
  numeric keypad key.
- When tabs are very narrow, prefer to show the
  tab label over the new-output/bell icon.
- Add an advanced setting to handle spacing
  combining marks properly ("Detect base unicode
  characters with lookup table").
- Respect System "Prefs>Dock>Prefer tabs when
  opening documents".
- Reduce default fast paste speed.
- Revamp titles in tmux integration mode. Pane
  titles and window names are now distinct when
  using tmux 2.6 or later. set-titles and
  set-titles-string is now respected. 
- Allow Highlight triggers with "Instant" enabled
  to fire more than once per line.
- Add a profile preference to disable paste
  bracketing.
- When semantic history is configured to run a
  command and the command fails, you can now see
  the output.
- Add an option to log Automatic Profile Switching
  messages to the scripting console.
- Use Menlo in advanced paste and in the notes
  tool.

SHA-256 of the zip file is
30cdb093764684a65efdf98afde393fcbef0bee985a415346ae4186d72c893c8
```

#### [iTerm2 3.2.9 (OS 10.12+)](https://iterm2.com/downloads/stable/iTerm2-3_2_9.zip)

This is the recommended build for most users. It contains a security fix, and all users on 3.2.8 should upgrade.
Built on April 20, 2019.

[▾ Hide Changelog](<javascript:hideId('7330916824228127372')>)

```
The only change in version 3.2.9 vs 3.2.8 is that
it was built with libssh2 1.8.2 because of a
security vulnerability. iTerm2 version 3.2.8 was
built with libssh2 1.8.0.

More information on the vulnerability in libssh2
may be found here:

https://nvd.nist.gov/vuln/detail/CVE-2019-3855

SHA-256 of the zip file is
de36881fea3b4ff4c9c421a3db68292ad1f6a467af3b7f84b8455b000314c191
```

#### [iTerm2 3.2.8 (OS 10.12+)](https://iterm2.com/downloads/stable/iTerm2-3_2_8.zip)

This is the recommended build for most users.
Built on March 23, 2019.

[▾ Hide Changelog](<javascript:hideId('2672865380864768773')>)

```
Bug fixes
---------
- Fixes a bug where sessions become unusable after
  switching users and then switching back.
- Ignore hotkey while an app-modal window is open
  to prevent a hang.
- Fix some crashes.
- Improve how language is determined by ignoring
  3-letter language codes.
- Fix a bug where annotations were not visible
  when using the GPU renderer.
- Fix a bug where two concurrent downloads with
  the same filename would both write to the same
  file.
- Disable window shadow when there's a transparent
  pane to prevent "ghosts" of characters
  persisting.

Other improvements
------------------
- Don't ask for full disk access on startup.
  Instead, request admin permissions when needed.
- The bell icon is now cleared when a session
  becomes active (used to require a keypress).
- Make toolbelta width and tools' heights more
  stable.
- Improve tab colors in dark mode when there is a
  colored tab.
- If you select a hidden pane in a maximized tab
  with open quickly switch to it without
  unmaximizing.
- Prevent sessions from resizing while dragging a
  split pane over a maximized window.
- Adds a public EdDSA key to begin the migration
  to a more secure app update algorithm.

SHA-256 of the zip file is
e1a659c8041bb765f1a71dcec8d2bd34e598f9c433ecd15c53fdb15fb1db5148
```

#### [iTerm2 3.2.7 (OS 10.12+)](https://iterm2.com/downloads/stable/iTerm2-3_2_7.zip)

This is the recommended build for most users.
Built on January 21, 2019.

[▾ Hide Changelog](<javascript:hideId('5991286005789523830')>)

```
iTerm2 3.2.7

Bug fixes
---------
- Fix a crash on launch if Safari has never been
  run before. This happened because of a bug in
  checking if full disk access was already granted.
- Fix the alpha blending of timestamps with GPU
  renderer.
- Fix various crash bugs.
- Fix a bug where the GPU renderer was not used
  when a split pane was maximized.
- Improve opening a password manager from a
  trigger: it would fail if the trigger fired
  twice quickly.
- Improve various wrong colors in Mojave.
- Fix a bug wher elink underlines could be
  misaligned in the presence of double-width
  characters.
- Add support for detecting column and line number
  in semantic history when formatted as:
  filename.ext(column, line number)
- Fix a bug where control+page up/page down
  scrolls the wrong split pane.
- Fix a bug where minimum contrast was not
  respected after a box-drawing character.
- Fix a bug where a hotkey window would forget it
  was a hotkey window when you launched tmux -CC
  from it.

Other improvements
------------------
- Performance improvements for large history.
- Remember the "use transparency" setting when
  restoring a window.
- Issue a vociferous warning when you try to use
  non-antialiased PragmataPro, which doesn't work
  well at all.
- Show a second alert to remind you of the steps
  to perform to grant full disk access.
- When you drag a pane over a tab with a maximized
  pane, unmaximize it temporarily but do not send
  window-resize notifications to those 
  pseudoterminals.
- Change how the secure keyboard entry menu item
  works. It now indicates enabled (check) disabled
  (no accessory view) or "another app is enablign
  it" (a hyphen). Selecting it toggles whether
  iTerm2 wants it set. Previously, selecting it had
  no effect if another app was keeping it on.
- Fix weird behavior when downgrading from 3.3 to
  3.2.
- Adds a CPU profiler to the iTerm2 menu to aid in
  debugging performance issues.
- Improve the appearance of underlines when not
  using the GPU renderer.
- Allow input of surrogate pairs with the hex
  keyboard.
- Improve editing of number of lines of scrollback
  to tolerate invalid inputs more gracefully.

SHA-256 of the zip file is
ac71ddf4b9378fb87a30c64aa9bde543300728ed5e5ab996f1687f40fd7e2ae1
```

#### [iTerm2 3.2.6 (OS 10.12+)](https://iterm2.com/downloads/stable/iTerm2-3_2_6.zip)

This is the recommended build for most users.
Built on November 25, 2018.

[▾ Hide Changelog](<javascript:hideId('2451659862827131657')>)

```
Bug fixes:

- Improve the tab bar colors.
- Fix a bug where the password manager would
  reveal a password when you switch to another app
  and back while editing the password. The table
  view no longer has the ability to show a 
  password; all editing and revealing is done in
  modal alerts to avoid the complexity of table
  views.
- Fix some crashes.
- Improve the appearance of background color
  blending with the GPU renderer.
- Improve appearance of per-pane title bars when
  subpixel antialiasing is on.
- Fix a bug where a window changes screen when
  entering full screen mode.
- Improve disable animations for password manager
  (it didn't always work).
- Fix a bug where the dock would not reappear when
  exiting non-native full screen mode when the
  appearance is set to dark and the system 
  appearance is light. 
- Fix a bug where windows didn't have shadows when
  the visual effect view advanced setting was on.
- Fix a crash when saving a window arrangement
  when a pane is maximized. 
- Fix rendering of ASCII text with the GPU
  renderer for fonts whose descenders go unusually
  low, like Iosevka Light. 
- Fix rendering of images > 256 columns wide with
  GPU renderer. 
- Don't resize window vertically when scroller
  style changes.
- Fix mark highlighting in the GPU renderer (the
  highlight was drawn slightly off vertically).
- Improve the appearance of dragging a tab.
- Fix a bug where blinking text might stop
  blinking. 
- Fix a bug where window size would change too
  much when adjusting font size when there were
  multiple tabs.
  
Other improvements:

- Do not use any language but the most preferred
  system language in LANG 
- Performance improvements.
- Add emacs to the supported editors for semantic
  history.
- Improve the appearance of the no-man's land
  between panes in tmux integration in some cases.
- Temporarily unmaximize tab while dragging 
  another session in to it.
- Improve performance of toggling GPU renderer,
  which will make switching tabs faster.
- Update libssh to version 1.8.
- Improve launch time when using the GPU renderer.

SHA-256 of the zip file is
dbc44180c2de9c741fdd8f96750f3502d79aa1c53ed884538648bdb558abd884
```

#### [iTerm2 3.2.5 (OS 10.12+)](https://iterm2.com/downloads/stable/iTerm2-3_2_5.zip)

This is the recommended build for most users.
Built on October 29, 2018.

[▾ Hide Changelog](<javascript:hideId('8430465668785281296')>)

```
- Fix a memory leak when blinking text is enabled.
- Fix a crash when waking from sleep.
- Fix a bug in the size of the prefs window on
  10.13 and earlier.
- Fix a bug where box-drawing characters would sometimes not
  appear.
- Disable GPU renderer when the window is more
  than 50% occluded.
- Tweak tab colors.
- Trim spaces from background image filenames in
  control sequences.
- Improve the appearance of box drawing characters
  with the GPU renderer.
- Improve the appearance of tab titles on
  non-retina displays in Mojave when subpixel
  antialiasing is enabled.
- Don't try to use the GPU renderer on enormous
  windows (over 8k pixels in any one dimension).
  It should work but not all GPUs are created
  equal.

SHA-256 of the zip file is
ec1ee603de1f8665d67781df98857c7feeb72461729f7cab2fabcecc19cf7268
```

#### [iTerm2 3.2.4 (OS 10.12+)](https://iterm2.com/downloads/stable/iTerm2-3_2_4.zip)

This is the recommended build for most users.
Built on October 23, 2018.

[▾ Hide Changelog](<javascript:hideId('12480199559373247')>)

```
- Major performance improvements on Mojave.
- Fix locale setting on macOS Mojave.
- Ask for full disk access on startup.
- Fix some memory leaks.
- Fix some crashes.
- Fix the appearance of the input method editor in
  the GPU renderer.
- Fix a bug where antialiasing would sometimes not
  be used.
- Fix a bug where transparent windows would leave
  behind a ghost of the text that was once in
  them in Mojave.
- Fix a bug where imgcat couldn't show PDFs
  sometimes.
- Improve performance when blinking text is
  enabled.
- Improve the appearance of underlined text.
- Improve the appearance of the window title bar.
- Fix a bug where the prefs panel would open under
  other apps' windows when using a floating hotkey
  window.
- Fix typing non-ascii characters in tmux
  integration on tmux 2.2.

SHA-256 of the zip file is
584274f5ba3d3660931fe7a1e1d9169a2a708d36aa5cb4c79dd41bce4dcff101
```

#### [iTerm2 3.2.3 (OS 10.12+)](https://iterm2.com/downloads/stable/iTerm2-3_2_3.zip)

This is the recommended build for most users.
Built on October 5, 2018.

[▾ Hide Changelog](<javascript:hideId('4880014313042251250')>)

```
iTerm2 version 3.2.3

Bug fixes:
----------
- Fix bug that broke subpixel antialiasing on
  macOS 10.13.
- Fix support for subpixel antialiasing on Mojave.
  Previously, if you had enabled this hidden OS
  feature, text would be very hard to read.
- Fix rendering of double-struck bold with GPU
  renderer.
- Get thin strokes working on macOS 10.14 with and
  without GPU renderer.
- Fix a nasty memory leak.
- Improve the appearance of translucent tmux
  integration windows on Mojave.
- Fix a bug where left/right-of-screen hotkey
  windows floating over another app's full screen
  window did not go all the way to the top of the
  screen.
- Add usage descriptions so programs running
  within iTerm2 that use the camera, contacts,
  location, the microphone, or contacts can
  request permission to do so.

Other improvements:
-------------------
- Expose English keyboard emulation setting in
  Prefs>Keys. If switching panes/tabs/windows by
  pressing modifier+number stopped working and you
  have a non-English keyboard, go flip the switch
  there.
- Add a setting to toggle subpixel antialiasing in
  Mojave in Prefs>Profiles>Text.

SHA-256 of the zip file is
5ec9d0cbd085bc226fdce6d26b8fa7158c268e9555577264bf92994faf087a6f
```

#### [iTerm2 3.2.2 (OS 10.12+)](https://iterm2.com/downloads/stable/iTerm2-3_2_2.zip)

This build fixes serious bugs in 3.2.1 and is recommended for all users.
Built on October 1, 2018.

[▾ Hide Changelog](<javascript:hideId('3562947555574404221')>)

```
iTerm2 version 3.2.2

This release fixes serious bugs in 3.2.1. All users are urged to upgrade.

Critical Bug Fixes:
- Fix various crashing bugs.
- Fix a serious memory leak when displaying
  non-ASCII characters.
- Fix a bug that caused notification triggers not
  to work.

Other Bug Fixes:
- Improve legibility of text on Mojave with GPU
  renderer.
- Fix a bug where scrollbars could be transparent.
- Fix a bug where the title bar was not opaque on
  Mojave.
- Fix a bug where toggling transparency did not
  take effect immediately.
- Fix a bug where the hotkey window would always
  be opened when opening a file with iTerm2.
- Fix temporarily incorrect drawing in new
  sessions on Mojave.
- Fix resizing split panes on Mojave via menu or
  keyboard shortcut.
- Add a usage description for Apple Events so
  programs run within iTerm2 can use Applescript.
- Fix a bug where a "ghost" of text would remain
  behind in transparent windows.
- Fix a bug where sessions might temporarily turn
  transparent after being created.

SHA-256 of the zip file is
c97702eba2b943e800fd8417b780596c35cfccef2e579a6b6a6203efea40e745
```

#### [iTerm2 3.2.1 (OS 10.12+)](https://iterm2.com/downloads/stable/iTerm2-3_2_1.zip)

This build adds support for macOS Mojave.
Built on September 24, 2018.

[▾ Hide Changelog](<javascript:hideId('3552114342457765036')>)

```
iTerm2 3.2.1

This version adds support for macOS Mojave.

Mojave-specific Changes
-----------------------

- The GPU renderer supports transparent windows.
- The GPU renderer is no longer disabled temporarily while
  other views (such as the find bar) are visible.
- Your theme will be changed to "Automatic" and will follow
  the system's light/dark theme. You can change it back to
  Light or Dark if you prefer.

Bug Fixes
---------
- Fixes a number of crashes.
- Fixes cases hotkey windows would be overlapped by the
  menu.
- Improves rendering of box drawing characters on non-retina
  displays with GPU renderer.
- Fixes a bug where a modal dialog could be overlapped by a
  floating hotkey window.
- Reduced CPU usage when blinking text exists but blinking
  is disabled and the GPU renderer is on.
- Fix appearance of copy mode cursor with GPU renderer.
- Fix a problem where tmux window panes might not always
  have per-pane title bars when they ought to.
- Fix a bug where terminal side margins could not exceed 100
  points.
- Fixes a bug where the frame right could be double what it
  ought to be during scrolling.
- Fixes cases where non-hotkey windows would be raised above
  other apps' windows when activating the hotkey window.
- Fix a performance issue when using fast user switching and
  a hotkey window is registered.
- Fix a bug where announcements' frames could be wrong.
- Do not use virtual keycodes to detect digits because it
  causes problems with certain keyboards.
- Fix a bug where the split pane panel did not resize
  properly.
- Improve menu detection so non-native full screen windows
  can adjust their vertical position properly.
- Escape the user name for compatibility with active
  directory usernames that have a backslash.
- Fix a bug where mouse reporting of the scroll wheel would
  sometimes reverse direction for one line when scrolling
  ends.
- Fix a bug where hotkey windows would sometimes
  hide when a modal alert was presented. Many
  modal alerts are now window-modal rather than
  app-modal.
- Fix a crash when dragging a color well.
- Fix a bug where the wrong text could be used
  when you right click on an existing selection,
  the text under that selection changes, and then
  you pick an action from the menu.

New Features
------------
- Add support for macOS 10.14.
- Add support for CSI CHT control sequence.
- New advanced pref to set the prominence of the outline on
  the selected tab when there is a colored tab present.
- New advanced pref to adjust the prominence of text in
  non-selected tabs when a colored tab is present.
- New advanced pref to adjust the prominence the outline of
  the current tab when colored tabs are present.
- New advanced preference to set fallback value of LC_CTYPE
  when LANG can't be set because it would be an unrecognized
  locale.

Other Improvements
------------------
- When focus reporting is set or unset, the announcement
  asking if you want to turn it off is removed.
- Improved performance for memory-starved GPUs with GPU
  renderer.
- Performance improvents when there is a badge and GPU
  renderer is on.
- Show "key" cursor icon at password prompt when GPU
  renderer is on.
- Confirm before running a script that iTerm2 handles (e.g.,
  by double clicking a .sh file)
- Improve vertical alignment of new-output indicator in
  tabs.
- Improve contrast of tab titles in non-selected tabs when a
  colored tab is present.
- Ignore trailing ] on URLs for semantic history.
- Minimum Contrast no longer applies to box- and
  block-drawing characters.
- Improve how advanced preferences are implemented for
  better performance.
- Releases are now notarized for offline initial launch on
  macOS Mojave.
- Performance improvements for long scrollback
  history.
- Move "use bright colors for bold text" to Colors
  pane to make its true purpose clear: it actually
  has always controlled whether the bold color you
  specify gets used.

Things Made Worse
-----------------
- Support for Growl has been removed because it cannot be
  notarized under macOS Mojave.

SHA-256 of the zip file is
00d6bd333ea5819c6a2e8139ea63a28d1b44e7a07da2fde537c7516e3353c31d
```

#### [iTerm2 3.2.0 (OS 10.12+)](https://iterm2.com/downloads/stable/iTerm2-3_2_0.zip)

This is the recommended build for most users.
Built on August 7, 2018.

[▾ Hide Changelog](<javascript:hideId('4890847525870889443')>)

```
iTerm2 3.2.0

The big new feature in iTerm2 version 3.2 is a new rendering
engine that uses Metal. It provides much higher drawing
performance. Its availability is subject to some
configuration settings. For details, see
https://gitlab.com/gnachman/iterm2/wikis/Metal-Renderer.

New Features
------------
- Metal renderer
- Show inline images in Retina resolution.
- There is a new key binding action to toggle mouse
  reporting.
- Semantic history now recognizes visual studio code-style
  "filename[line, column]" references.
- There's a new type of trigger that turns text into a
  hyperlink.
- Add support for VS Code Insiders to semantic history's
  editors.
- Warn if the terminal tries to access the clipboard when it
  lacks permission rather than silently denying it.
- Change ReportCellSize to include a scale factor, which
  gives how much images will be downscaled by because of
  Retina support.
- New advanced pref: Fraction of character’s width on its
  right side that can be used to select the character to its
  right.
- New advanced pref: Open a new window when you click the
  dock icon and no windows are already open?
- New advanced pref: When Focus Follows Mouse is enabled,
  activate the window under the cursor when iTerm2 becomes
  active?
- New advanced pref: Underline Semantic History-selectable
  items under the cursor while holding cmd?
- You can now escape $$ in an Applescript profile command
  with $$$$
- New advanced pref (affecting semantic history's URL
  detection): URLs must contain a scheme?
- New advanced pref: Minimum weight difference between
  regular and bold font.

Bug Fixes
---------
- Triggers and Find now recognize tab characters.
- Fix a bug where Triggers and Find would sometimes not see
  past a double-width character that was wrapped to the next
  line.
- When you drag a session onto itself in a window with split
  panes, do not move the window.
- Don't allow fullscreen or edge-attached windows to be
  moved with cmd-opt-shift-drag.
- Fix the color picker's eyedropper feature to respect color
  spaces.
- If multiple hotkey windows are open, do not return to the
  previously active app when one is closed.
- When changing the number of lines of scrollback, do not
  apply the change until focus leaves the text field. This
  solves a problem where erasing the value would erase your
  history.
- Scrolling with wheel mice is no longer oversensitive.
- Change behavior of prompt-before-closing for tmux
  integration. Since the list of jobs is not visible, always
  prompt when a whitelist of jobs is specified.
- Fix a bug where changing the cursor shape by escape
  sequence could be reverted by changing any profile
  property.
- When the password manager fails to get a password because
  the system Keychain denied access, show an alert
  explaining what happened.
- Ignore modifier+number when there's no matching
  pane/tab/window to switch to rather than passing it to the
  terminal as a keypress.
- Fix a bug where cmd-0 did not restore the original font
  size in tmux integration.
- Ignore malformed OSC 11.
- Fixes a bug where images could be drawn in the wrong
  column.
- Improved behavior of Yen key sending backslash for
  Japanese keyboards.
- "Select Current Command" works while the command
   is running
- Fix a bug where the offer to turn off paste bracketing
  didn't actually turn off paste bracketing.
- Fix a bug where a floating hotkey window overlapped the
  emoji panel.
- Improve reliability of entering native full screen.

Other improvements
------------------
- When a split pane in tmux integration mode closes the
  nearest neighbor gets keyboard focus rather than the first
  split pane in the tab.
- When not in alternate screen mode, tab will change the
  background color of cells the cursor skipped over. This
  violates tradition but is more sensible behavior for
  printing syntax-highlighted code with tabs.
- Inset marks by one pixel on the left margin.
- The rendering of faint text has been changed to take the
  background color into account.
- The toolbelt tools look nicer in the dark schemes.
- The pointing hand cursor will show only while over a
  clickable item while holding cmd.
- Tab name truncation no longer takes a parenthesized (job)
  name at the end into account when deciding whether to
  truncate the head or tail.
- Add an option to share the tip of the day.
- Treat { and } as shell characters to escape.

SHA-256 of the zip file is
7d4862976f6e5dbf29a7193dc090d6c17c549daf47a373a8a97ae306870a22a4
```

#### [iTerm2 3.1.7 (OS 10.10+)](https://iterm2.com/downloads/stable/iTerm2-3_1_7.zip)

This is the recommended build for most users.
Built on July 3, 2018.

[▾ Hide Changelog](<javascript:hideId('2782083215013742491')>)

```
This version patches a security issue in 3.1.6 where a
password in the password manager could be displayed in
the clear during editing when you click on another row in
the table.

SHA-256 of the zip file is
d5496b3c42fe2eaf65befef7d6d6682cde3e8cd1f042f63343f821e8582b1ede
```

#### [iTerm2 3.1.6 (OS 10.10+)](https://iterm2.com/downloads/stable/iTerm2-3_1_6.zip)

This is the recommended build for most users.
Built on April 22, 2018.

[▾ Hide Changelog](<javascript:hideId('5660878653602912852')>)

```
iTerm2 3.1.6

New features:
- Add item to help menu to show third party licenses.
- Add buried sessions to status bar icon menu.
- Add option to suppress restart session confirmation.
- Add support for OSC 10 and OSC 11 (querying colors).
- Add an advanced pref that prevents wraparound when
  changing the active split pane directionally.
- Add an advanced pref to allow tabs to wrap around.
- Add a new advacned pref to disable middle-click closes a
  tab.
- Add F21-F24 to touch bar.
- Add GPU-based Metal renderer. It's off by default and
  still in development, but you can try it out if you like.
  More details here:
  https://gitlab.com/gnachman/iterm2/wikis/Metal-Renderer

Bug fixes:
- Fix crash when deleting a password manager entry.
- Fix crash when saving an arrangement.
- Fix crash when searching a regex of $.
- Update Solarized color schemes to use SRGB and match the
  spec.
- Improve appearance of tab color menu item with dark
  scheme.
- Fix advanced preference for suppressing tab-to-spaces
  conversion.
- Fix bug in Zoom where the last line was not included.
- Improve support for tab color in tmux integration. New
  tmux tabs use the tmux profile's tab color.
- Update touch bar when color presets change.
- Fix a bug where hotkey windows on an external display
  would not receive focus.
- Terminate jobs more aggressively when you quit iTerm2
  so you don't get "broken pipe" sessions next time you
  launch the app.
- Fix a bug where tab titles were truncated when tabs are on
  the left.
- Disable paste bracketing for uploads.
- Don't save uploads to paste history.
- Fix bug where floating hotkey windows could have the wrong
  geometry when app is excluded from dock.
- Enable binding actions to function keys on touch bar.
- Don't unmaximize a tab when switching to its active
  session from Open Quickly.
- Fix a crash on exit in the server process.
- Remove dynamic tag when duplicating a profile.
- Fix a bug where tags in the profile list were not visible.
- Fix a bug where text after inline images was misaligned.
- Fix a bug where scp error messages showed the wrong port
  number.
- Fix a bug where non-hotkey windows appeared when you press
  the hotkey to hide it and activate another app.
- Fix a crash when a trigger is missing message text.
- Prevent a crash when performing smart selection while
  scrolling.
- Unburying a session or undoing close of a session restores
  the correct window type now.

Other improvements:
- Use Unicode 9 widths by default.
- When you create a new tmux window in tmux integration mode
  and it is configured to "Open tmux windows as tabs in
  existing window" they now open in their own window. The
  mode setting now affects only the initial windows when you
  attach.
- Touch bar icon for Add Mark made smaller.
- Add Edit Session to the tab context menu.
- Reset exits alternate screen mode.
- Improve appearance of find bar in dark theme.
- If you use focus follows mouse and activate another app
  and then come back to iTerm2 and the mouse hasn't moved,
  don't change the key window.
- Support inline images wider than 256 columns.
- Only show key icon at password prompt if the terminal has
  keyboard focus.
- Disable Smart Cursor Color checkbox if cursor shape is not
  box.
- Improve performance when there are many profiles.
- Fix support for CSI 38:2, whicih ought to take a color
  type and color space.
- Rate limit changes to window title for performance.
- Improve performance when window titles are extremely long.
- When opening a new window, wait for the app to become
  active before making the new window key.
- Don't offer to turn off mouse reporting, paste bracketing,
  or focus reporting when we transition from no hostname to
  having a hostname
- Sort files in Scripts menu.
- Show tab title and session name in tab tooltip.
- Show only geometry in window title during live resize when
  the window is very narrow.
- Improve performance when you have an enormous number of
  empty lines in history.
- Warn when minimum contrast is over 97%.
- Disable hotkey in new profile when duplicating.
- Make three-finger tap recognizer more conservative.

SHA-256 of the zip file is
4acf012b48f99edb49bb4eb9e45a939fc88f69e7c43a2a36ea33556bc46b0087
```

#### [iTerm2 3.1.5 (OS 10.10+)](https://iterm2.com/downloads/stable/iTerm2-3_1_5.zip)

This is the recommended build for most users.
Built on November 6, 2017.

[▾ Hide Changelog](<javascript:hideId('5221262878089500309')>)

```
New features:
- When excluded from dock and app switcher, add Check for
  Updates to status icon in menu bar.
- Adds an advanced preference to change how line height is
  calculated, which improves results for Input Mono
  Condensed and acts more like Terminal.app.
- When at a password prompt and the key icon is showing,
  you can now click the key icon to open the password
  manager.
- Add support for the REP escape sequence, but it's off by
  default.

Bug fixes:
- Fix a very frequent crash for users of the Jobs tool.
- Fixes some crashes, including a very frequent crash caused
  by a bad interaction between Sparkle and user defaults.
- Prevent high sierra tabs the "right" way, by overriding a
  method in NSWindow, rather than just setting a user
  default.
- Fix a bug where double-tap shift to open a hotkey window
  didn't work.
- Prevent a crash when the window size is incorrectly
  reported as 0x0.
- Allow key bindings with the action "Select Menu Item",
  "New Window", "New Tab" and "Undo" to work when there is
  no terminal window.
- If the password manager is opened by a trigger but you
  have to authenticate to open the password manager,
  autoselect the proper account after auth.
- Require a minimum delay between taps of a modifier key to
  open a hotkey window.
- Don't store more than 1000 recently used directories.
- Prevent descenders from lines above the screen from
  hanging down into the screen area.
- Add opt-forward delete as a shortcut for delete word
  forward in the Natrual Text Editing preset.
- Accept ~ in HTTP URLs for smart selection for new
  installs.
- If you press Fn+Ctrl+Key send Ctrl+Key, not Key. A strange
  behavior dating back to the old iTerm.
- The tab control character no longer changes the background
  color of cells it skips over.
- Don't send two newlines when you launch iTerm2 with a
  shell script (e.g., by double clicking one in Finder)
- Show Services in the context menu when more than one line
  of text is selected (up to 10k lines).

SHA-256 of the zip file is
7159ce6c96fe5c61653a6d6a9a45facfe4a9abff5bfa063e361efd70f89fd769
```

#### [iTerm2 3.1.4 (OS 10.10+)](https://iterm2.com/downloads/stable/iTerm2-3_1_4.zip)

This is the recommended build for most users.
Built on October 22, 2017.

[▾ Hide Changelog](<javascript:hideId('3221698990303154234')>)

```
Bug fixes:
- Fix navigating to split pane above/below/left right not
  wrapping around.
- Prevent blur values over 24 to prevent hitting a bug in
  high sierra (values over 26 make the blur funny colors and
  values over 24 are too slow).
- Fix line wrapping of multi-line badges.
- Allow windows to be larger than a screen when displays
  have separate spaces is turned off.
- Reduce the impact of proc_pidinfo and statfs hanging.
- Tweak position of paste button in advanced paste.
- Fix bug in high sierra where eydropper in color picker
  didn't go away after selecting a color.
- Remember the size of a hotkey window after resizing it and
  then adding a new tab.
- Fix a bug where opening an autocomplete window could cause
  a hotkey window to hide.
- If you scroll up to the top of a window and then clear the
  buffer and then new output arrives, it now begins
  autoscrolling when the cursor reaches the bottom.
- Fix some crashes, including a very frequent one because of
  a bad interaction between Sparkle and user defaults.
- Disable tabs in High Sierra when you've got them set to
  Always in preferences.

New features:
- Add an advanced preference to use the typeface's box
  drawing glyphs instead of the custom box drawing code.

SHA-256 of the zip file is
202b2803b514eedd942dac94640cfaee45668e3e6939f88eb29730890dc6d66c
```

#### [iTerm2 3.1.3 (OS 10.10+)](https://iterm2.com/downloads/stable/iTerm2-3_1_3.zip)

This is the recommended build for most users.
Built on October 6, 2017.

[▾ Hide Changelog](<javascript:hideId('6989676259228878249')>)

```
Bug fixes:
- Fix a bug that broke subpixel antialiasing for non-retina
  users.
- Do not require biometric authentication for the password
  manager: allow password input.
- Draw arcs and diagonal lines in favor of the glyphs in the
  typeface so everything lines up nice and pretty.
- Fix a bug where closing a tab in applescript would always
  close the current tab, not the one you wanted.
- Restore native fullscreen windows on the proper screen.
- Show fullscreen windows under the menubar when in
  UIElement mode.
- Treat halfwidth katakana sound marks as non-combining
  marks to emulate Terminal's funny behavior.
- Fix a bug where keyboard input would break after holding
  down a key to make it repeat, for some users.
- Fix a bug where tags weren't visible in toolbelt profiles
  on 10.13.
- Don't open a short-lived window when showing a manpage
  from the touch bar.
- Make the outline of the selected tab when colored tabs are
  present more subtle.
- Handle reuse current directory in tmux 1.8 by ignoring it
  instead of opening new tabs in the root directory
- Ignore new notifications from tmux 2.5
- Fix white-on-white buttons in the butterbar.
- Fix a bug where the password manager wouldn't open in
  macOS 10.11.
- Fix a bug where stray underlines would appear.

New features:
- Add an advanced preference to disable the status bar icon.
- Add an advanced preference to increase the sensitivity of
  the scroll wheel.

SHA-256 of the zip file is
4f35d70f4420fa736ed158663ecf114baeb61836b5a8b30652595ab4fcf68544
```

#### [iTerm2 3.1.2 (OS 10.10+)](https://iterm2.com/downloads/stable/iTerm2-3_1_2.zip)

This is the recommended build for most users.
Built on September 24, 2017.

[▾ Hide Changelog](<javascript:hideId('3014121946136018568')>)

```
Security updates:
- All the code to perform DNS requests on hover has been removed. It
  is no longer an option. It had been turned off by default in 3.1.1.
  Please see this URL for more information:
  https://gitlab.com/gnachman/iterm2/wikis/dnslookupissue

New features:
- Add a "Copy Password" item to the password manager's right-click
  menu

Bug fixes:
- Prevents High Sierra's native tabs from affecting iTerm2 windows.
- Restore hotkey windows to the proper screen.
- Fix a bug where tabs would tag without the user intending to drag
  them.
- Recognize non-ASCII URLs as cmd-clickable. All characters encodable
  by IDN are now considered part of a URL.
- Fix a bug where you couldn't togle the left side of the "blinking
  cursor" button.
- Fix a bug where hotkey windows that had double-taps but no hotkeys
  could be toggled by pressing "a"

Other changes:
- Performance improvements when there is a lot of scrollback history
- Move a bunch of advanced prefs out of the Experimental category
  since they're now on by default.

SHA-256 of the zip file is
720eccece544ae8765f91c4c0348bb2819e47a2b794ce0adabc14934c00fee38
```

#### [iTerm2 3.1.1 (OS 10.10+)](https://iterm2.com/downloads/stable/iTerm2-3_1_1.zip)

This is the recommended stable build. It fixes an important security issue.
Built on September 19, 2017.

[▾ Hide Changelog](<javascript:hideId('342895551713984033')>)

```
iTerm2 version 3.1 offers a number of new features and bug fixes.
Please see below for all the details.

Version 3.1.1 is almost the same as 3.1.0, but includes a
security patch to disable undesirable DNS requests that
could leak user data. See the details here:
https://gitlab.com/gnachman/iterm2/wikis/dnslookupissue

New features:
-------------

Marquee Features
- Add touch bar support.
  * Use the touch bar to select tabs in full screen
  * Assign labels to function keys with a shell script
  * Create custom touch bar items in Prefs > Keys
- Add support for ligature fonts.
- Rework how hotkey windows work:
  * You can have multiple hotkey windows. Each profile may
    have a hotkey window associated with it.
  * Multiple hotkeys can be bound to a single profile.
  * Double-tap of a modifier key can open a hotkey window.
  * Hotkey windows can be made to float over other apps'
    fullscreen windows.
- Shell integration utilities have a lot of new programs.
  Reinstall shell integration to get the run-down.
- Add the ability to "bury" sessions. They get hidden in
  Session > Buried Sessions. Changes Prefs > General >
  Automatically hide the tmux client session to
  automatically bury instead.
- Add support for OSC 8 to do hypertext links. The syntax
  is:
    OSC 8 ; params ; url ST
  params is zero or more colon-delimited key=value strings.
  The only defined key is "id". Two adjacent hyperlinks with
  the same URL but different "id"s will not highlight
  together on hover. id is optional.
  As usual, OSC is 'esc ]' and st is 'esc \'.
- Add copy mode, like tmux's.
  https://iterm2.com/documentation-copymode.html

Applescript
- Adds new applescript support for hotkey windows.

Arrangements
- Add the ability to save a single tab as an arrangement.
- Add the ability to restore an arrangement as one or more
  tabs.
- Hotkey windows are now saved in saved arrangements.

Find on Page
- Add smart case sensitivity to find on page as the default
  option.

General
- Allow windows to snap to the full size of the display.
- Add a menu item to the Toolbelt menu to save the current
  toolbelt's width as the default.
- Extend tip of the day to allow selection between daily or
  weekly tips.
- Make the "screen with cursor" window setting update the
  window's screen each time a hotkey window is opened.
- Non-edge-spanning X-of-screen windows are now centered.
- Add setting to disable mouse wheel in mouse reporting
  mode.
- Add keybindings for swap pane with left/right/above/below.
- Add keybindings for find next/previous.
- Improve performance of deleting profiles when you have
  lots of them.
- Add support for finder services. You can right click in
  Finder to launch iTerm2 in that location.
- Offer to abort a download when you press ^C while it's
  downloading.
- Flash the tab bar on entering fullscreen.
- Show an announcement when a session restored from an
  arrangement can't find the profile associated with it.
- Improve performance of creating a tab if you've increased
  the maximum number of file descriptors.
- Redraw windows during resize.
- Add an optional "proxy" icon to the titlebar. Configurable
  in Prefs > Appearance.
- Merge captured output when successive captures are closely
  related.
- Add an advanced setting to disable send text at start when
  launching iTerm2 with a script
- Add an off-by-default websocket server that enables
  advanced scripting features.
- Change "Open in current space" for hotkey windows to move
  the hotkey window to the current space if it's already
  open on another space when the hotkey is pressed.
- Add an advanced preference to make auto logs filenames'
  formattable.

Shell Integration
- Offer to turn off focus reporting when host changes.
- Offer to turn off paste bracketing on host change.
- Keep track of how many lines are in the prompt so the
  whole thing can be preserved when you clear the buffer.

Terminal Emulation
- Add support for Unicode 9 (off by default)
- Set COLORTERM=truecolor to advertise 24-bit capability.
- Make the unicode normalization form configurable to None,
  NFC, NFD, or HFS+. Change the defualt to None.

tmux Integration
- Tmux integration now supports the "initial directory"
  setting of the tmux profile.
- Clear tmux history when you do Clear Buffer or Clear
  Scrollback Buffer.
- Add an advanced preference to allow different tmux
  sessions to have different profiles and to base the
  profile of the tmux sessions on the session that attached
  to tmux.

Semantic History
- Allow hyphens in schemes when looking for clickable URLs
  so semantic history will accept chrome-devtools: schemes.
- Semantic history can now open file:line:column in VSCode.
- Use secure copy to download files selected with cmd-click
  on a filename on a remote host and OSC 8 URLs with a file:
  scheme and a host part.

Tab Bar
- Improve accessibility of the tab bar--tabs are now
  selectable with accessibility.
- Make the tab bar's minimum drag distance configurable.

Terminal emulation changes:
- Add a new proprietary escape sequence to copy embedded
  base64 data to pasteboard.
- Add a new proprietary escape sequence to report the value
  of system- and user-defined variables (as used in badges).
- Add a new proprietary escape sequence to show fireworks at
  the cursor.
- Add a new proprietary escape sequence to prompt the user
  to select one or more files and then upload them as a
  base64-encoded tar.gz file.
- Add a new proprietary escape sequence to customize touch
  bar function key labels.
- Add a new proprietary escape sequence to set individual
  colors or load a preset.
- Add a new proprietary escape sequence to set unicode
  version.
- Accept OSC 7 as a synonym for 1337;RemoteHost and
  1337;CurrentDir.
- Add support for CSI 12 h and CSI 12 l to set local echo on
  or off.
- Move cursor to the origin on DECSET 1049.

Triggers
- Add a trigger to set the session title.
- Add a Prompt Detected trigger action to improve shell
  integration emulation with triggers.
- Trigger highlighting colors in a dynamic profile may use
  #rrggbb notation.

Visuals
- Underlines can now have a custom color.
- Add advanced prefs to change the margins.
- Descenders interrupt underlines.
- Improve the appearance of dimmed sessions
- Improve tab bar colors to look more native.
- Add a preference to disable the line between the title bar
  and the tab bar.
- Respect the current keyboard layout when showing a
  shortcut (e.g., the keypress for a hotkey window).
- Windows with light backgrounds now get dark borders, if
  window borders are enabled.
- Add an advanced pref to tweak the height of the underline
  cursor.
- Add an experimental feature to draw an outline around
  underline and vertical bar cursors to improve distinction
  from text.

Bug fixes:
----------
- Fix a bug where surrogate pairs would get corrupted when
  pasting.
- Use SRGB colors internally. Fixes a bug where hex values
  in the color picker weren't stable.
- Rate limit window size change notifications.
- Improve performance when there is a network mount.
- Disconnect dead ssh sessions during tmux integration.
- Improve how focus follows mouse behaves when you split a
  pane.
- Improve how network automounts are detected. This helps us
  avoid stat()ing files on the network, which can cause
  hangs when semantic history tries to discover if a file exsts.
- Keep process monitoring from eating too much CPU.
- Validate secure copy hostname and user name to ensure
  legal characters only are present.
- Fix a crash when the font is broken and reports a 0 size.
- Allow the password manager to open even if another sheet
  is already open.
- Draw the default background color behind inline images.
- Fix a bug where the "Edit password" button in the password
  manager would change your password into dots.
- Fix a bug where the wrong job name would be shown in the
  titlebar when there were two jobs that considered
  themselves foreground jobs.
- Fix a bug where the order of windows in applescript was
  random, not back to front.

SHA-256 of the zip file is
45d07fd4d15bdee021a9174ecc44a9641ab2fc12b202ec4f995b03ea3fa6d881
```

#### [iTerm2 3.1.0 (OS 10.10+)](https://iterm2.com/downloads/stable/iTerm2-3_1_0.zip)

This is the recommended build for most users.
Built on September 18, 2017.

[▾ Hide Changelog](<javascript:hideId('5453301609451777250')>)

```
iTerm2 version 3.1 offers a number of new features and bug fixes.
Please see below for all the details.

New features:
-------------

Marquee Features
- Add touch bar support.
  * Use the touch bar to select tabs in full screen
  * Assign labels to function keys with a shell script
  * Create custom touch bar items in Prefs > Keys
- Add support for ligature fonts.
- Rework how hotkey windows work:
  * You can have multiple hotkey windows. Each profile may have a
    hotkey window associated with it.
  * Multiple hotkeys can be bound to a single profile.
  * Double-tap of a modifier key can open a hotkey window.
  * Hotkey windows can be made to float over other apps' fullscreen windows.
- Shell integration utilities have a lot of new programs.
  Reinstall shell integration to get the run-down.
- Add the ability to "bury" sessions. They get hidden in Session > Buried
  Sessions. Changes Prefs > General > Automatically hide the tmux client
  session to automatically bury instead.
- Add support for OSC 8 to do hypertext links. The syntax is:
  OSC 8 ; params ; url ST
    params is zero or more colon-delimited key=value strings. The only
  defined key is "id". Two adjacent hyperlinks with the same URL but
  different "id"s will not highlight together on hover. id is
  optional.
    As usual, OSC is 'esc ]' and st is 'esc \'.
- Add copy mode, like tmux's.
  https://iterm2.com/documentation-copymode.html

Applescript
- Adds new applescript support for hotkey windows.

Arrangements
- Add the ability to save a single tab as an arrangement.
- Add the ability to restore an arrangement as one or more tabs.
- Hotkey windows are now saved in saved arrangements.

Find on Page
- Add smart case sensitivity to find on page as the default option.

General
- Allow windows to snap to the full size of the display.
- Add a menu item to the Toolbelt menu to save the current toolbelt's
  width as the default.
- Extend tip of the day to allow selection between daily or weekly tips.
- Make the "screen with cursor" window setting update the window's
  screen each time a hotkey window is opened.
- Non-edge-spanning X-of-screen windows are now centered.
- Add setting to disable mouse wheel in mouse reporting mode.
- Add keybindings for swap pane with left/right/above/below.
- Add keybindings for find next/previous.
- Improve performance of deleting profiles when you have lots of them.
- Add support for finder services. You can right click in Finder to
  launch iTerm2 in that location.
- Offer to abort a download when you press ^C while it's downloading.
- Flash the tab bar on entering fullscreen.
- Show an announcement when a session restored from an arrangement
  can't find the profile associated with it.
- Improve performance of creating a tab if you've increased the
  maximum number of file descriptors.
- Redraw windows during resize.
- Add an optional "proxy" icon to the titlebar. Configurable in
  Prefs > Appearance.
- Merge captured output when successive captures are closely related.
- Add an advanced setting to disable send text at start when launching
  iTerm2 with a script
- Add an off-by-default websocket server that enables advanced
  scripting features.
- Change "Open in current space" for hotkey windows to move the hotkey
  window to the current space if it's already open on another space
  when the hotkey is pressed.
- Add an advanced preference to make auto logs filenames' formattable.

Shell Integration
- Offer to turn off focus reporting when host changes.
- Offer to turn off paste bracketing on host change.
- Keep track of how many lines are in the prompt so the whole thing
  can be preserved when you clear the buffer.

Terminal Emulation
- Add support for Unicode 9 (off by default)
- Set COLORTERM=truecolor to advertise 24-bit capability.
- Make the unicode normalization form configurable to None, NFC, NFD,
  or HFS+. Change the defualt to None.

tmux Integration
- Tmux integration now supports the "initial directory" setting of the
  tmux profile.
- Clear tmux history when you do Clear Buffer or Clear Scrollback
  Buffer.
- Add an advanced preference to allow different tmux sessions to have
  different profiles and to base the profile of the tmux sessions on the
  session that attached to tmux.

Semantic History
- Allow hyphens in schemes when looking for clickable URLs so semantic
  history will accept chrome-devtools: schemes.
- Semantic history can now open file:line:column in VSCode.
- Use secure copy to download files selected with cmd-click on a
  filename on a remote host and OSC 8 URLs with a file: scheme and a
  host part.

Tab Bar
- Improve accessibility of the tab bar--tabs are now selectable with
  accessibility.
- Make the tab bar's minimum drag distance configurable.

Terminal emulation changes:
- Add a new proprietary escape sequence to copy embedded base64 data
  to pasteboard.
- Add a new proprietary escape sequence to report the value of system-
  and user-defined variables (as used in badges).
- Add a new proprietary escape sequence to show fireworks at the
  cursor.
- Add a new proprietary escape sequence to prompt the user to select
  one or more files and then upload them as a base64-encoded tar.gz
  file.
- Add a new proprietary escape sequence to customize touch bar
  function key labels.
- Add a new proprietary escape sequence to set individual colors or
  load a preset.
- Add a new proprietary escape sequence to set unicode version.
- Accept OSC 7 as a synonym for 1337;RemoteHost and 1337;CurrentDir.
- Add support for CSI 12 h and CSI 12 l to set local echo on or off.
- Move cursor to the origin on DECSET 1049.

Triggers
- Add a trigger to set the session title.
- Add a Prompt Detected trigger action to improve shell integration
  emulation with triggers.
- Trigger highlighting colors in a dynamic profile may use #rrggbb
  notation.

Visuals
- Underlines can now have a custom color.
- Add advanced prefs to change the margins.
- Descenders interrupt underlines.
- Improve the appearance of dimmed sessions
- Improve tab bar colors to look more native.
- Add a preference to disable the line between the title bar and the tab bar.
- Respect the current keyboard layout when showing a shortcut (e.g.,
  the keypress for a hotkey window).
- Windows with light backgrounds now get dark borders, if window borders are enabled.
- Add an advanced pref to tweak the height of the underline cursor.
- Add an experimental feature to draw an outline around underline and
  vertical bar cursors to improve distinction from text.

Bug fixes:
----------
- Fix a bug where surrogate pairs would get corrupted when pasting.
- Use SRGB colors internally. Fixes a bug where hex values in the
  color picker weren't stable.
- Rate limit window size change notifications.
- Improve performance when there is a network mount.
- Disconnect dead ssh sessions during tmux integration.
- Improve how focus follows mouse behaves when you split a pane.
- Improve how network automounts are detected. This helps us avoid
  stat()ing files on the network, which can cause hangs when semantic
  history tries to discover if a file exsts.
- Keep process monitoring from eating too much CPU.
- Validate secure copy hostname and user name to ensure legal characters
  only are present.
- Fix a crash when the font is broken and reports a 0 size.
- Allow the password manager to open even if another sheet is already
  open.
- Draw the default background color behind inline images.
- Fix a bug where the "Edit password" button in the password manager
  would change your password into dots.
- Fix a bug where the wrong job name would be shown in the titlebar when
  there were two jobs that considered themselves foreground jobs.
- Fix a bug where the order of windows in applescript was random, not
  back to front.
SHA-256 of the zip file is
2837aced993add874a5972fa36a58ead2fa1e348da63480192ea6d52f7bed5eb
```

#### [iTerm2 3.0.15 (OS 10.8+)](https://iterm2.com/downloads/stable/iTerm2-3_0_15.zip)

This is the current stable version. It contains some important bug fixes.
Built on March 25, 2017.

[▾ Hide Changelog](<javascript:hideId('2318679067061858768')>)

```
Bug fixes:
- Escape newlines in tabs in various places that we escape shell
  characters.
- Do not crash when a paste escape sequence is received with an
  invalid base64 argument.
- Fix a bug where EPS files displayed by imgcat did not include text
  on macOS 10.10.
- Update fish shell integration version since fish 2.2 support was
  dropped.
- Fix a bad interaction between "Open tmux windows as tabs in existing
  window" and "Automatically hide the tmux client session after
  connecting" where the gateway.
- Fix a bug where tmux integration window states were lost when
  detaching.
- Fix a bug where ~/Library/Application Support/iTerm/ssh_config was
  not used.
- Fix a crash in lines with just the right number of fullwidth marks.

New features:
- Support the "frontmost" applescript property.
- Double click a window in the tmux dashboard to reveal it.

SHA-256 of the zip file is
90e6f2bd3eb2d245f4ab2c9f856c627c8a1536bac024fb3989db417bc3147565
```

#### [iTerm2 3.0.14 (OS 10.8+)](https://iterm2.com/downloads/stable/iTerm2-3_0_14.zip)

This is the recommended build for most users. It contains a bunch of bug fixes.
Built on February 11, 2017.

[▾ Hide Changelog](<javascript:hideId('6124266801298795953')>)

```
- Fix a bug where where tmux integration windows would silently fail to
  open when tmux was not in UTF-8 mode.
- Fix a bug where you could get stuck in secure input mode.
- Fix a bug where Let's Move would not remember the preference to
  suppress its offer.
- Fix a bug where maximized panes in tmux integration mode would get
  confused when the window resized.
- Show a bell emoji in the window title when there's only one tab and it
  would have a bell icon.
- Add more menu items to adjust multiline paste warnings.
- Fix a bug where automatic profile switching didn't work in fullscreen
  windows.

SHA-256 of the zip file is
bed63a85d48d4e0ec2f49858aa4a6ce5dcb7bb3eaf78f87124ed5239b6a7e936
```

#### [iTerm2 3.0.13 (OS 10.8+)](https://iterm2.com/downloads/stable/iTerm2-3_0_13.zip)

This is the recommended build for most users. It contains a bunch of bug fixes, including fixes for some crashers.
Built on December 23, 2016.

[▾ Hide Changelog](<javascript:hideId('4758122731897619366')>)

```
- When the password manager checks if you're at a password prompt,
  accept asterisks echoed back.
- Fix a crash when characters have a crazy number of combining marks.
- Fix a bug with restoring minimized windows.
- Fix a bug where row heights did not change properly in profile
  lists.
- Fix an exception at startup when saved state is corrupted.
- Add an advanced preference to disable DNS lookups on text in the
  terminal window.
- Fix imgcat support for PDFs.
- Fix a bug where secure input could get stuck.
- Mitigate a leak of web views.
- Fix a crash when using the color picker's eyedropper.
- Prevent a crash when resizing a session.
- Fix a crash when the prefs window is closed while the file picker is
  open.
- Fix a bug where a maximized tmux pane's contents would appear behind
  a per-pane titlebar.
- Explain why you're being prompted to confirm quitting behind a
  disclosure triangle.
- When closing a tmux tab that requires the kill/hide confirmation and
  the session-closing confirmation, only show the kill/hide confirmation.
- When creating a new tab using the default profile when the current
  tab is a tmux tab, refer to the gateway session's current directory
  for the purposes of recycling the working directory.
- Fix a bug where focus reporting misbehaved when there were multiple
  panes in a tab.

SHA-256 of the zip file is
b32cb66bf7fafd22c92adca4ea2d10c23e58d1398627aea5b15f1c396495b574
```

#### [iTerm2 3.0.12 (OS 10.8+)](https://iterm2.com/downloads/stable/iTerm2-3_0_12.zip)

This is the recommended build for most users.
Built on November 14, 2016.

[▾ Hide Changelog](<javascript:hideId('3684839136687035883')>)

```
- Reduce system log spam
- Fix a bug where maximize split panes in a fullscreen window in tmux
  integration could cause the session to be the wrong size.
- Fix a bug where imgcat was broken on macOS 10.10 and earlier.
- Don't send anti-idle codes to the connecting tmux session in
  integration mode.
- Adjust the color of the border for fullscreen tmux integration
  windows to be less obtrusive.
- Fix a bug where window restoration would give a "stuck" session when
  restoring a tmux integration session.
- Load Patreon patron names at runtime.
- Fix a bug where session restoration failed on macOS 10.12 because
  Apple broke syslog.

SHA-256 of the zip file is
d500c5e376a05df6896f92504961142b7721efb9e235232d39545c7a3c5b7507
```

#### [iTerm2 3.0.10 (OS 10.8+)](https://iterm2.com/downloads/stable/iTerm2-3_0_10.zip)

This is the recommended build for most users. It contains fixes for macOS Sierra, security improvements, bug fixes, and it fixes a crash.
Built on October 2, 2016.

[▾ Hide Changelog](<javascript:hideId('5012995108551523381')>)

```
- Decode images in a sandboxed process to improve security. Remove the
  prompt before displaying an image since they no longer expose significant
  attack surface.
- Fix a performance issue when saving state for very long lived sessions.
- Change the : in automatic session logs to a . because Finder shows : in
  filenames as a /
- Fix a crash when closing the "Edit current profile" window.
- Offer to move the app if it's not in Applications or $HOME/Applications.
  Sierra won't allow auto-update from the Downloads folder.

SHA-256 of the zip file is
434f52c5d554005a94e1f471018d1480a029155205644dadd65377f5eeff3624
```

#### [iTerm2 3.0.9 (OS 10.8+)](https://iterm2.com/downloads/stable/iTerm2-3_0_9.zip)

This is the recommended build for most users. It contains a bunch of bug fixes, including fixes for some crashers.
Built on September 11, 2016.

[▾ Hide Changelog](<javascript:hideId('2284787664543564398')>)

```
- Fix crashes in preferences panel.
- Add advanced preference to make adaptive framerate FPS adjustable.
- Fix bugs with copying tab characters.
- Fix a bug where which tabs go with which windows got messed up when you quit
  iTerm2 while tmux integration was running.
- Fix a bug where pasting a string with surrogate pairs could paste nothing at
  all if the pair was split when chunking.
- When a custom paste action extends the selection, it now copies to the
  pasteboard (if so configured).
- Remember the profiles panel's frame when restarting.
- Fix a bug where the color picker's eyedropper didn't work on other displays
  than the main one.
- Show a warning before decoding images for security purposes.
- If you had hit a bug earlier where a preference was saved that broke
  pasting, unset that preference automatically.

SHA-256 of the zip file is
4e4b9decbc2327c795fa114156213d95482a882eab188825dfeb8df1ed13b9ab
```

#### [iTerm2 3.0.8 (OS 10.8+)](https://iterm2.com/downloads/stable/iTerm2-3_0_8.zip)

This is the recommended build for most users. It contains bug fixes.
Built on September 1, 2016.

[▾ Hide Changelog](<javascript:hideId('2390822568716844497')>)

```
- Fix a bug where iTerm2 would hang if a profile's command terminated quickly,
  or could not be executed.
- When a profile's command can't be executed, print the reason for the failure
  to the session.
- Fix a bug where you could remember the "cancel" action when prompted about
  pasting.
- Make Japanese keyboards produce a backslash when Yen is pressed so long as
  shift is not also pressed.

SHA-256 of the zip file is
fae85a7fd1c0c7706031b103dab6c2cf65bb6a82b4d0fbb0be9f75467875ae64
```

#### [iTerm2 3.0.7 (OS 10.8+)](https://iterm2.com/downloads/stable/iTerm2-3_0_7.zip)

This build fixes many bugs including a frequent crash.
Built on August 11, 2016.

[▾ Hide Changelog](<javascript:hideId('3951017271895608804')>)

```
- Fix a crash when toggling the "hotkey window hides when focus is lost" box.
- Fix a crash when switching away from the prefs window after closing the color
  picker.
- Fix a crash when you close prefs window while editing an untokenized value in
  the tags field.
- Support ipv6 DNS lookups for determining if a hostname is legit for semantic
  history. Don't cache temporary DNS failures.
- Fix a bug where the cursor position is not correctly restored in the main
  screen when attaching to a tmux integration session in the alternate screen.

Changes from the beta-only 3.0.6:

Bug fixes:
- Fix a crash on 10.9 and earlier when tabs don't have close buttons and a tab
  has a long title.
- Fix a crash when you paste into the textview where you press a global
  shortcut.
- Fix a crash on OS 10.8 when using the color picker.
- Fix a crash when a monitor is unplugged while using tmux integration.
- Fix a bug where tmux windows restore the wrong size when scrollbars are
  disabled.
- Fix a crash when searching for word boundaries on double-click or cmd-hover.
- Fix bug where the range of underlined text was wrong when holding cmd and
  hovering over text with backslashes.
- Fix a bug where split pane titlebars would disappear after exiting Back In
  Time.
- Fix a bug where seeking while in Back In Time would jump to the earliest
  timestamp.
- Fix a bug where windows in the Window menu could not be assigned hotkeys.
- Fix a bug where pressing esc in a search field would not allow its containing
  panel to close (such as prefs).
- Fix a bug where unused space was left at the bottom of a fullscreen window
  with a horizontal split in tmux integration windows.
- Fix a bug where a fullscreen window with a horizontal split would cycle between
  two different sizes forever.
- Fix typo in 'See Tips of the Day?' prompt.
- Fix a bug where semantic history would not work on very long lines (or when
  ignoring hard newlines caused a line to appear very long)
- Fix a bug where split panes in tmux integration windows would sometimes not be
  aligned to the top of their containers.

Minor enhancements:
- Make "Keep background colors opaque" apply to the background color of selected
  text.
- Trim trailing newline and adjacent whitespace when selecting the output of the
  last command.
- Reduce minimum adaptive frame rate to 20 fps.
- Send prefs as XML in crash reports to make it easier to reproduce.
- Improve performance of finding word boundaries. This should fix occasional
  hangs when pressing cmd while the mouse hovers over a very long word.
- Dim the cursor when dimming a window's contents.
- Add an advanced preference to make the "session restored" banner optional.

SHA-256 of the zip file is
d4fae6dd9e7f3173791bd7b56bc4fd3520fb197a374776833735e0f95fd6fa20
```

#### [iTerm2 3.0.5 (OS 10.8+)](https://iterm2.com/downloads/stable/iTerm2-3_0_5.zip)

This build contains a number of bug fixes.
Built on July 27, 2016.

[▾ Hide Changelog](<javascript:hideId('7163410992375082722')>)

```
Bug fixes:
- Improve support for URLs with non-ASCII characters in various places.
- Make clicking in a per-pane titlebar make the session first responder.
- Fix bug where hotkey window is not properly restored.
- Change permissions on paste and command history files to be only
  user-readable.
- Update current prompt's Shell Integration mark when clearing the screen.
- Respect vim special characters in advanced paste regex substitution string.
- Improve cold start time and memory usage by only creating preferences panel
  when needed.
- Fix a bug with focus follows mouse where the window whose textview was under
  the cursor would be made key, even if a higher-ordered window was under the
  cursor (just not the textview part).
- Improve performance when selecting by word on giant strings, which happens on
  right click, smart selection, and pressing or releasing the cmd key.
- Show a "no image" character when image display is disabled and an image is
  received.
- Visual improvements to the Appearance prefs tab.
- Offer to paste without newline when you're warned while pasting at shell
  prompt.
- Indicate the command that will be run before running it when the user asks to
  install shell integration.
- Reduce CPU utilization when idle.
- Make check marks in the popup list for selecting a profile's schemes more
  accurate.
- Allow the badge font in advanced prefs to specify a style, like
  Courier-Oblique.
- Improve distinction between selected and unselected tabs in high contrast
  themes.
- Don't crash if the badge is set by escape sequence to empty string.
- Properly center tab labels when the close button is hidden.

New features:
- Add an off-by-default advanced pref to draw yellow marks for commands stopped
  by a signal.

SHA-256 of the zip file is
a0081635383a7a1eda12c99c2800979168bfa757b737b0b15a2639bdb2ce6f95
```

#### [iTerm2 3.0.4 (OS 10.8+)](https://iterm2.com/downloads/stable/iTerm2-3_0_4.zip)

This is the recommended build for most users.
Built on July 4, 2016.

[▾ Hide Changelog](<javascript:hideId('1279550875985571853')>)

```
Version 3.0.4 of iTerm2

This is a major new version of iTerm2, and the first "stable" release in the
3.0 series. It contains hundreds of bug fixes and many new features since
2.1.4. All the details are at http://iterm2.com/version3.html

SHA-256 of the zip file is
0cb3dc26a47ea7f76ac43156ff1c88163726c13154d695b254161a91ce948ad6
```

#### [iTerm2 2.1.4 (OS 10.7+, Intel-only)](https://iterm2.com/downloads/stable/iTerm2-2_1_4.zip)

This is the recommended build for most users. It is updated to work well with El Capitan.

[▾ Hide Changelog](<javascript:hideId('4562296581579436341')>)

```
- Fixes a bug where split screen in El Capitan had black bars around the window.
- Fixes a bug where closing a tab in tmux integration would cause the connection to close with a tmux protocol error.
```

#### [iTerm2 2.1.3 (OS 10.7+, Intel-only)](https://iterm2.com/downloads/stable/iTerm2-2_1_3.zip)

This is the recommended build for most users. It contains a bug fixes for El Capitan.

[▾ Hide Changelog](<javascript:hideId('2355411650905956136')>)

```
- Bug fixes for El Capitan. Properly restore multiple fullscreen windows and avoid a flash when
  switching spaces with split fullscreen windows.
```

#### [iTerm2 2.1.1 (OS 10.7+, Intel-only)](https://iterm2.com/downloads/stable/iTerm2-2_1_1.zip)

iTerm2 v2.1.1: This is the recommended for most users. It requires OS X 10.7+ and an Intel CPU.

[▾ Hide Changelog](<javascript:hideId('4794591314221714690')>)

```
- Change URLs for credits and bug filing. RIP Google Code.
- Add a method to notify users when iTerm2 3.0 enters Beta so they can opt in.
- Support multiple parameters to DECSET (fixes a bug with tmux 2.0 where the cursor disappears, among others).
- Fix a bug where copying a string ending in a surrogate pair fails to copy at all.
- Fix a bug where paste didn't work on 32-bit machines.
- Change role for URL handling from editor to shell.
- Option-click in scrollback history should not try to move the cursor.
- Fix bug where some emoji don’t render on 10.10.3.
- Change how the highlight is rendered in the profiles table to look better on 10.10.
```

#### [iTerm2 2.0 (OS 10.7+, Intel-only)](https://iterm2.com/downloads/stable/iTerm2_v2_0.zip)

iTerm2 v2.0: this is the recommended for most users. It requires OS X 10.7+ and an Intel CPU.

[▾ Hide Changelog](<javascript:hideId('1020684951754796022')>)

```
Major New Features
------------------
- Deep tmux integration!
  Have you ever had an ssh session lost because you had to reboot, had a network
  failure, or the power went out? Are you tired of giving up a keystroke to tmux
  or screen? Suffer no longer! iTerm2 and tmux are now deeply integrated. By
  installing a special version of tmux, it gains the ability to speak directly to
  iTerm2. When you run tmux with -CC, iTerm2 will open real, native windows or
  tabs for each tmux window. The whole state of your tmux session is reflected in
  native iTerm2 windows. As you interact with a window, your typing is sent back
  to tmux. Any time you resize a window, add a split pane, close a split pane,
  close a window, or open a window (with Shell->tmux->new window), that
  action happens in tmux as well as in iTerm2.
  All the details are at https://code.google.com/p/iterm2/wiki/TmuxIntegration

- A "Toolbelt" has been added. It's a drawer that opens to the right of a
  window and shows running jobs, paste history, a field for taking notes, and
  lets you open new windows/tabs/splits. Look for the Toolbelt menu.

- Add "triggers." A trigger is an action that is performed when text matching
  some regular expression is received in a terminal session. More info here:
  http://www.iterm2.com/triggers.html

- Add "coprocesses." A coprocess is a process, such as a script, that receives
  input from a terminal and whose output is fed into the terminal session as
  though the user were typing it. You can use them to automate interaction with
  scripts, download files with ZModem, and more. More info here:
  http://iterm2.com/coprocesses.html

- You can now edit the smart selection regexes in
  Prefs>Profiles>Advanced. You can also assign actions that are added to
  the context menu when you right click on text that matches a smart selection
  rule.  More info here:
  http://www.iterm2.com/smartselection.html

- Support for OS 10.7 features including fullscreen, retina graphics, and
  window restoration.

New Preferences
---------------
- Add support for tiled background images (Foy Savas)
- Add a preference to toggle hiding of the menu bar in non-Lion fullscreen.
  Useful in Mavericks multi-monitor setups.
- Make tabview toggleable in fullscreen.
- Add option to dim background windows.
- Add option to dim only foreground colors.
- Add UI for adjusting dimming amount.
- Add UI to make blur radius configurable.
- Add hidden pref MaxPasteHistoryEntries.
- Add preference to hide tab's activity indicator.
- Add option to draw red stripes in the background to indicate input being sent
  to all terminals.
- Add preference to disable dimming animation.
- Add option to profiles to send text to shell at startup.
- Add option to disable session-initiated printing.
- Add support for loading prefs from a custom folder (e.g., Dropbox) or URL.
  This makes it easy to share a config between multiple machines or people.
- Add auto logging of sessions. When enabled (per-profile), all input received
  from the host in a session is saved to a file tagged with the window, tag,
  and pane number, plus the time and date of initiation.
- Add next/previous pane action.
- Change around prompt-to-quit options, adding "always/never/only if jobs
  besides ... are running" to profiles-sessions.
- Add option to copy trailing newlines when making a selection that includes a
  whole line at its end.
- Add preference to disable transparency when entering fullscreen mode.
- Improve "Terminal.app Compatibility" key preset to more accurately emulate
  Terminal.
- You can now configure what happens when you cmd-click on a filename in
  Prefs>Profiles>Advanced.
- Add key action to move tab left/right.
- Add "advanced" directory settings for separate tab, window, and pane settings.
- Add preference for setting locale vars.
- Add preference to disable saving lines to the scrollback buffer while in
  alternate screen mode.
- Add option to always copy preferences to prefs stored in a custom folder.
- Add a new panel to prefs to make mouse actions configurable.
- Add option to make triple-click select a whole wrapped line rather than just
  one row.
- Add hidden option AutocompleteMaxOptions to adjust number of autocomplete
  entries.
- Add hidden option PasteHistoryMaxOptions to adjust number of paste history
  entries.
- Add hidden variable URLCharacterSet that defines characters that are part of
  a URL.
- Disable title reporting unless hidden pref AllowInsecureTitleReporting is set
  to true.
- Add general preference "Adjust window for font size change". Turn it off so
  that the window size stays fixed as the font grows or shrinks (thanks,
  keeyipchan!).
- Add hidden preference PinchToChangeFontSizeDisabled to turn off pinch to
  change font size
- Ask for confirmation before deleting a profile.
- Add boolean hidden pref, OpenFileInNewWindows. When you open a file (e.g., a
  shell script) in finder with iTerm2, this controls whether it opens in a new
window or tab.
- Additional window styles: bottom and left of screen.

New Terminal Features
---------------------
- Add support for italics (Stefan Schüßler)
- Change RIS code to move the cursor to the origin (saitoha).
- Convert text to NFC form more aggressively, which should lead to latin
  characters with accents rendering more consistently with certain fonts like
  Inconsolata, which lacks some combining marks.
- Add ITERM_SESSION_ID environment variable that identifiers the window, tab,
  and pane number of each session.
- Add escape code "Esc c" to reset terminal.
- Add new escape code ESC ]6;1;bg;*;default^G to restore tab color to default.
- Add support for reporting focus lost/gained. esc[?1004h turns it on; then the
  terminal sends esc[I when focusing, esc[O when de-focusing. Send esc[?1004l
  to disable.
- Implemented bracketed paste mode (this is cool, see vim script here:
  http://stackoverflow.com/questions/5585129
- Define VLNEXT and VDISCARD in the term by default.
- Add support for the "screen" terminal's way of setting the window title.
- Support SGR (1006) mouse reporting.
- Allow OSC 4 to set color of first 16 palette entries.
- Add support for OSC 52 (clipboard integration--thanks, saitoha!).
- Add support for DECSCUSR which lets the terminal change the cursor shape and
  blink.
- Add support for DECSTR (esc [!p)

Other Features
--------------
- Improve rendering on glyphs with multiple combining marks.
- When you cmd-click on a filename in a diff, remove the a/ or b/ prefix and
  replace with the real directory to open the file.
- Cmd-opt click on a URL to open it without bringing the browser to the front.
- Improve "send input to all sessions", adding new modes: 1) send to all panes
  in current tab, 2) to all sessions in current window, and 3) to an arbitrary
  collection of panes (toggled with context menu).
- You can toggle send input to all tabs/panes by re-pressing the keystroke that
  got you into that mode.
- Draw a dotted line around maximized sessions.
- Add support for multiple saved window arrangements.
- Add decimal <-> hex conversion to right-click context menu when a number is
  selected.
- Add new cmd-opt-shift-H and cmd-opt-shift-v interface for opening a split
  pane with a particular profile.
- Allow pinch gesture to change font size.
- Make cmd-[ and cmd-] work when a pane is maximized.
- Add "find cursor" feature (cmd-/) that highlights the cursor location. Useful
  when you have a huge terminal, this makes it easy to quickly find a lost
  cursor. If activated with the shortcut cmd-/, continuing to hold cmd will keep
  the highlighting active.
- Add ability to drag split panes around by pressing cmd-opt-shift and drgging.
- Add ability to split a pane by dragging a tab into a terminal session.
- Add "move session to split pane" option to context menu.
- Add "restore arrangement" to dock menu.
- Add cmd-= as shortcut for duplicating a profile
- By default, a three-finger click on a trackpad emulates the middle button
  (which by default performs Paste).
- Add ability to change profile from Edit Current Session.
- Change mouse cursor to indicate that mouse reporting is on.
- Add cmd-shift-opt-T to open a new tab using the current session's profile.
- Change default global key bindings to cmd-shift-arrows to move tab left/right.
- Add menu item to move tab left/right.
- Add title bars to split panes that show the title. You can drag panes by
  their titles, and there is a menu and a close button in it as well.
- If no window is open, you can now select multiple items in the profiles and
  window and choose split horizontally/vertically to open a new window with the
  split.
- Add tab colors to view menu and tab context menu (thanks, andreax79)
- Add 'move session to window' context menu item.
- When closing a session, free its scrollback buffer in a background thread to
  avoid hanging.
- Alt-click moves the cursor to the click position.
- Press cmd-9 to go to the last tab.
- Add menu item to toggle broadcasting input to the current pane (make
  pane-by-pane toggling available to focus-follows-mouse users who couldn't
  open a context menu in a deselected pane)
- "Find" continues to search as new text appears.

System Integration
------------------
- In Mavericks, when system prefs are set such that multiple screens share one
  space, we only hide the dock and menu when a fullscreen iTerm2 window is on
  the first screen.
- Handle inserting emoji text in mavericks with cmd-ctrl-space.
- Make dock and menu bar appear by moving mouse to top/bottom of screen in
  non-Lion fullscreen mode. Remove hold-cmd-for-tabs.
- Make it possible to launch iTerm2 from Applescript so it won't open any
  windows automatically.
- Add support for Growl 1.3.
- Support Lion's Restore functionality.
- For new users under Lion, xterm-256color will be the default terminal.
- Add ability to open .itermcolors files by double clicking on them.
- Add 'New Window (Default Profile)' to dock menu.
- Make growl alerts clickable (thanks, soul.cake.tuesday.duck and bauerb).
- Make find text typed in one tab appear in all tabs' find bars.
- App bundle is now signed.
- When a file or folder is dragged onto the dock icon, open it in a new tab
  (not a new window).
- Retina graphics

Proprietary Escape Codes
------------------------
- Add escape code ]50;SetMark^G to perform Edit > Set Mark command.
- Add escape code to steal focus: ESC ]50;StealFocus^G  (thanks, gordolio).
- Add proprietary escape code esc]50;ClearScrollback^G to erase screen and
  scrollback buffer.
- Add proprietary escape code esc]50;CurrentDir=/Path/To/Directory^G to notify
  iTerm2 of the current directory (so you can cmd-click on relative filenames
  and we'll know where they are).
- Add proprietary escape code ]50;SetProfile=X^G to set the current
  session's profile to the one named X.- Add proprietary escape code to send
  text to clipboard. To use, send esc]50;CopyToClipboard=X^G followed by text
  followed by esc]50;EndCopy^G, where X is a clipboard name from the set: ruler,
  find, font, or general. If not specified, general is used.
- Add esc]50;RequestAttention=x^G, where if x=1 the dock icon bounces and if
  x=0 it stops.
```

#### [iTerm2 1.0.0 - first stable version](https://iterm2.com/downloads/stable/iTerm2_v1_0_0.zip)

This is iTerm2 version 1.0.0, the first full releases of iTerm2.

#### [iTerm2 2.0 (OS 10.5, Intel, PPC)](https://iterm2.com/downloads/stable/iTerm2_v2_0-LeopardPPC.zip)

This build has a limited set of features but supports OS 10.5 and PowerPC. If you have an Intel Mac that runs OS 10.6 or newer, you don't want this.

### Test Releases

Test releases update many times a year and are occasionally unstable.

#### [iTerm2 3.7.0beta12 (macOS 12.4+)](https://iterm2.com/downloads/beta/iTerm2-3_7_0beta12.zip)

This is the recommended beta build for most users.
Built on September 1, 2026.

[▾ Hide Changelog](<javascript:hideId('601596241716005982')>)

```
Version 3.7.0beta12 was built on September 1, 2026.

Changes since 3.7.0beta11:

Improvements:
- iTerm2 uses far less memory and CPU when a
  full-screen program repaints the screen
  rapidly, such as a TUI or an AI agent that
  redraws every frame. This fixes runaway
  memory growth that could reach several
  gigabytes. Issue 12992.
- When you enter a Workgroup, its tabs are now
  gathered into one tab group and given the
  names from the Workgroup configuration, so
  they are easy to tell apart. Leaving the
  Workgroup restores the tab you started from to
  its previous name and group. Issue 12967.
- A new tab opened next to a tab that belongs to
  a tab group now joins that group, so it stays
  with the set you are working in. The tab group
  menu also gained a New Tab in Group command.
- Tab Groups gained Window menu commands: Select
  Tab > Select Next Tab Group (⌃⇧⌘]) and Select
  Previous Tab Group (⌃⇧⌘[), plus Add Tab to New
  Group and Remove Tab from Group. The selection
  commands skip over the rest of a group. For
  an ungrouped tab they behave like Select
  Next/Previous Tab.
- The Password Manager now has a single Edit
  panel that changes an entry's name, user name,
  and password, available whenever a row is
  selected. On backends that support it the edit
  is made in place, so renaming an entry keeps
  its other fields, such as one-time passwords,
  intact.
- You can now create and edit 1Password entries
  from the Password Manager. The password you
  choose is sent securely and never appears on
  the command line. This needs the 1Password
  command-line tool version 2.23 or later.
- The Keeper backend now supports Nested Shared
  Folders alongside the classic vault, both in
  one list labeled (Classic) or (Nested), and
  the Add Account panel offers a “Use classic
  permission model” choice.
- In AI chat, a session reference the assistant
  writes without a leading @ now still renders
  as a clickable session link.

Bug Fixes:
- Programs that ask whether iTerm2 is in light
  or dark mode (the DSR 996 query) now receive
  a reply. The query was being ignored, so
  tools that check it before drawing, such as
  delta, saw no response.
- Right-to-left text no longer scrambles when a
  full-screen program scrolls part of the
  screen, and wrapped right-to-left lines shown
  from scrollback keep their correct display
  order.
- The selected tab's bright HDR outline on
  macOS Tahoe is now off by default. It is
  gated behind a new “Allow HDR effects”
  advanced setting because forcing the display
  into HDR could hang some systems.
- Fixed various crashes.

You can use the following to verify the zip file on https://keybase.io/verify:

-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA256

ef046779b5b97390d752d93e0a3046ec941567d049fca638f08b1241e6f0a77d
-----BEGIN PGP SIGNATURE-----

iQJPBAEBCAA5FiEEoSV4Xzv7YY5VD+aYJiz+XnkavhsFAmqXQbkbFIAAAAAABAAO
bWFudTIsMi41KzEuMTIsMCwzAAoJECYs/l55Gr4bVYkP/RTp6dxStKA/oHLQTfKq
za0Jl5tsbtwu3ZDiXH4qkjOb6gexree3nCao+PCh++GxLN8BjAC8GGE8i4nC45dg
i9MlqbIiYhxG06syOCvkEo8Br5NFijg77N8N6VS6p8j8Xot9Yee4J7aPKTgDvX3/
9cV7vsCa7p/Ljzs5be7t+rN4KTLOEb1pSn8efpMf7gfHnL1U65zywStbN5RXmU/q
Za+a0/PdLSWPhBglZu6qyAEHM8bCgVOTZw3xQW6O1EGwnPzq5b42q0sqPuhDcpKq
vb9kp2skE4+abE3Dh6ODVY0CJVfbOUo0laWGaLpzQvl91UqRtxG8Cgisj8yqpWdL
74R+uAFpxKkhGJaqrhFj9A4+s8UWNE2sQ6vR1F29RSpyh/u5r0UAFhso3V/R7/ax
Gfbj+d9T4oXEjc0PM787+sy+AHdNURzo7HcPU+NqKy+4uHxDor8eKpQwOGJ4ZzGk
atb4AWa/P3Q+x0/nXPve5OdMkwseHF2cJQHshT21yazyVcuxyb7V8iKY+8kxA2tL
dLhFBvd1ZgtdV0ta6CLSItv4153xAx0ZvfMo+SksxmSDv4AAquWysNp+Zxw/rrvY
Y9EP7wl2TOsDJkC5RrPnLB0Jz/WaKTWpPMDg9NL81TacupaKsdLVcAdIjDp2OBev
UohbjZ82KKpwYEOlz7KZVgjS
=YGvT
-----END PGP SIGNATURE-----
```

### Older Test Releases

#### [iTerm2 3.7.0beta11 (macOS 12.4+)](https://iterm2.com/downloads/beta/iTerm2-3_7_0beta11.zip)

This is the recommended beta build for most users.
Built on August 19, 2026.

[▾ Hide Changelog](<javascript:hideId('6605362446744902091')>)

```
Version 3.7.0beta11 was built on August 19, 2026.

Changes since 3.7.0beta10:

Improvements:
- Scrollable tab bars are now on by default. Tabs
  that don't fit stay in the bar and are reached
  by scrolling instead of the "More tabs" overflow
  menu. You can turn this off in Settings.
- The built-in AI model list now includes Claude
  Sonnet 5, GPT-5.6, and the Gemini 3.x flash
  models, and the recommended defaults move to
  GPT-5.6 for OpenAI and Gemini 3.7 Flash for
  Gemini. Retired models (Opus 4.1, Gemini 2.0
  flash) are removed.
- Settings > General > AI has a new "Automatically
  update available AI models" checkbox and an
  Update Now button. The model catalog can refresh
  itself from iterm2.com so new models appear
  without updating iTerm2; these controls let you
  turn the automatic check on or off and run a
  check on demand.
- The startup warning that a legacy script's
  pinned Python version will be bumped for the uv
  runtime now has an Upgrade Now button that
  migrates the affected scripts immediately, so a
  script you never launch no longer re-nags every
  launch.
- The tmux Dashboard's Open in Tabs button now
  works with a single selected window, matching
  Open in Window. Issue 12994.
- Dropping a local file on the terminal no longer
  offers to upload it over scp when your machine
  answers to more than one name (for example a
  .local name versus a DHCP-assigned name).

Bug Fixes:
- Fixed several AI chat request bugs on the
  OpenAI Responses API: every turn after the
  first could reach the model as bare context
  with the user's newest message dropped; some
  tool schemas were rejected with an HTTP 400
  under strict mode; and a JSON null inside an
  array could crash the response parser.
- A selected tab in a scrollable tab bar no
  longer paints over the tab bar's rounded
  border.
- On macOS Tahoe, the tab bar overflow menu no
  longer drops the first hidden tab: with one
  hidden tab the chevron opened an empty menu,
  and with more the first was missing.
- Cmd-W now closes the Companion Device Settings
  window instead of beeping.
- The Companion Device Settings window no longer
  fires the Touch ID / password prompt on its
  own when opened or after unpairing. It shows a
  "Show QR Code" button and authenticates only
  after you click it.
- Fixed various crashes.

You can use the following to verify the zip file on https://keybase.io/verify:

-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA256

63914e1529b6726fcff7eee140f59b0866dcee9eb0acc9456f033cb761467838
-----BEGIN PGP SIGNATURE-----

iQIzBAEBCAAdFiEEoSV4Xzv7YY5VD+aYJiz+XnkavhsFAmqGU/wACgkQJiz+Xnka
vhtN9hAAnz/ko36dG1cIO8xkAIU6o8nrdcZV3VGksRJ90ftDnQyoIufFsmXp7s/O
ctHmpo/R87z2lUwpnDZufAwnDpJ+WKqdd7eTkf0k1Jm3nsDRl/T+nBafhl5CdudV
p6cF7G8cUR7Y6cTAIiJX/MJlKtGboocrPILZiFCiOwSzyJABq/fldCI9hqrvXyVo
bJRSuFiJdO7Gb9e4ir4crykjhusJx7vXFHHz0YGb3hPGRIPnXb5YJUFGTEIPzoKf
0TolqB0Wzq/DdceolQ9xAkYS2BnQBB/HEcFzAaOMnRsHtGKyleGeoqVwnuaJLZQw
/ixLpinsH3bCbg9nplaD5189/XkyCKwK9gdjXLNrymp6LN+ux4isy4lbl0X2iX2c
8f4y2T/8z152UFN3p/17L0mA+1+Eyu9zxumUi75BmXHJPXjuT4Hn5APMQic8ngth
0UVxZq/aOiso6RvyxeqeEBRW5S2QExZbXOKb3PQtK/w3FKkOR4X2JT3lStjB8Nrt
5yGdtXmwRe1oCaGwL6nPCrIQv+EZYnDN9I6eIdn4ZiWc2nceN9ShVN3vjDqyslZ0
Y/a+aqaIGMwAnCCEnL9SVcCa0x4f5WMZkrkFoiTiVuldjJjnjqljAU5SijOxSIkP
BlhhznnKqM4OMKB+sp7+sZodC9Wp5O1RqOfL0CK0+py//J3Ju6c=
=PXtU
-----END PGP SIGNATURE-----
```

#### [iTerm2 3.7.0beta10 (macOS 12.4+)](https://iterm2.com/downloads/beta/iTerm2-3_7_0beta10.zip)

This is the recommended beta build for most users.
Built on August 17, 2026.

[▾ Hide Changelog](<javascript:hideId('1837583421599752580')>)

```
Version 3.7.0beta10 was built on August 16, 2026.

Changes since 3.7.0beta9:

This version requires macOS 13 (Ventura) or later.
macOS 12 is no longer supported. Sorry for the
inconvenience!

New Features:
- Tab groups. Select tabs and gather them into a
  named, colored group marked by a chip on the
  tab bar. Groups stay contiguous, can be
  collapsed and expanded with an animation, and
  can be dragged as a unit within a window or out
  to a new or existing window. A right-click chip
  menu and a Firefox-style "Add Tab to Group" tab
  menu let you rename, recolor, close, or ungroup.
  Works on horizontal and vertical tab bars.
- Kitty terminal drag-and-drop (OSC 72). Programs
  that speak the protocol can accept files dropped
  onto the terminal window and can start a drag of
  their own content out to other apps, including
  across an SSH connection when using it2ssh.
- The left/right (vertical) tab bar can now be
  made scrollable: turn on the new setting and
  tabs that don't fit stay in the bar and are
  reached by scrolling instead of the "More tabs"
  overflow menu. This also works on horizontal
  tab bars.
- The uv-based Python runtime is now on by
  default. Newly created, imported, and migrated
  API scripts get a faster, self-managing
  interpreter instead of the bundled Python
  runtime. You can still override this in Advanced
  Settings, and already-provisioned scripts are
  unaffected.

Improvements:
- A new per-profile "Use ANSI colors for marks"
  setting (Profiles > Colors, off by default)
  draws command-prompt mark indicators using the
  color preset's ANSI blue, red, and yellow so
  they harmonize with your theme.
- The Advanced Paste indicator now has a keyboard
  toggle so you can switch a running paste between
  waiting for the shell prompt and sending
  keystrokes straight through, which lets you
  answer a password or other non-standard prompt
  mid-paste. Issue 5749.
- When a keystroke with a modifier matches no key
  binding by character but does match one for the
  same physical key (for example after switching
  keyboard layout or when an input method changes
  the character a key reports), iTerm2 now offers
  to turn on "Interpret key bindings based on
  physical key".
- The confirmation for closing a workgroup session
  now warns that the rest of the workgroup, its
  peers and their tabs, will close too.
- The ConEmu progress protocol's paused state
  (OSC 9;4;4) is now honored even when the
  percentage is omitted. Issue 723.

Bug Fixes:
- Restoring a session whose saved working
  directory no longer exists (for example a
  network drive that is not mounted at launch) no
  longer fails to relaunch the shell and silently
  closes the tab. Issue 12955.
- Decomposed Hangul jamo are now recomposed into a
  single cell instead of being split into separate
  cells. Issue 3063.
- The 16th parameter of an SGR trigger is no
  longer dropped by an off-by-one in the parameter
  store. Issue 722.
- Toolbelt list tools (Command History, Recent
  Directories, Captured Output) no longer draw
  their rows at zero width when a window opens
  with the toolbelt showing. Issue 12964.
- On macOS Tahoe dark themes, selected left/right
  tab chrome is drawn at the tab's real height
  again instead of a fixed cap-image height, so a
  custom tab bar height looks right. Issue 715.
- The top-right session indicators no longer smear
  while swiping between tabs.
- Fixed a window leak from the frame
  canonicalizer.
- A workgroup no longer shows a blank pane when it
  tears down while a non-main peer is on screen,
  and a peer host's toolbar now refreshes after
  its nested port is wired.
- Fixed word-boundary punctuation typos in the
  default settings. Issue 720.
- Fixed two format-string bugs in logging calls.
  Issue 712.
- Fixed various crashes.

You can use the following to verify the zip file on https://keybase.io/verify:

-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA256

c6abd726bf0b6d70276c801cc773e7b14766069a62262763ee10c6f279dbe867
-----BEGIN PGP SIGNATURE-----

iQIzBAEBCAAdFiEEoSV4Xzv7YY5VD+aYJiz+XnkavhsFAmqDaZcACgkQJiz+Xnka
vhuxoA/+L3ByTbOFZUqk9taTRbjoBgQ1XWqTKt8CPsF5eD1puzCBaZPlQTes/YyA
bsq0x+0hcrHhm3mNg4YShHbxnCuJ20tztl+XNFFM+EYozhbCutNwl1BL8AgmMpIi
zbQU+lUsssLYaitrRFW9SXut6H9RA1J9xz7bFRW/OJm/wDMpsaKXr5mS86iRYLdB
3BupMx6gMNt700iZCGx7Pn9BEeZqMYcq4ROtTl8Nu9cWKwMUbY2zlg9b/KYXu4tS
LcYwomvte8cndyL71XzjJPgxM8/8b21+KeggKIco8vZN8lvxX+hA1O4iezj75mOu
yElMQBo5+sQBRrBME4c+rXa/D1Ep/A3wUJWZFU1qRRz6NnlsEdn1IeV0VayW0SQF
NfWKpvdk9/Zk8Jus17PknMyhQPkVE3vgHc690hmgrQHzblNBuXXIO3sDrTD93OmE
L88acfhVd8qyfgotVU6K77ZWoCFDn+S9uVAaMYR8KFPW6RY7oFANChImW6SI2DyR
XkFU/nYn8bUhHk6ajF7z1PfMKC8ICQY4QAyQ6zJW7zPZRLQYKKCkLWSQluu0512J
0KcqjarYq5+5k3Z/PXexZGNOg7rN93tJCzveMwFSocWmAzJ6XJz35Q1N3bkpcjyJ
HbrvtoL55aPueNfKiorkGW06X2h4SF0rgiabTtoq4hEeoes82f0=
=3NVv
-----END PGP SIGNATURE-----
```

#### [iTerm2 3.7.0beta9 (macOS 12.4+)](https://iterm2.com/downloads/beta/iTerm2-3_7_0beta9.zip)

This is the recommended beta build for most users.
Built on August 3, 2026.

[▾ Hide Changelog](<javascript:hideId('3279691241249990275')>)

```
Version 3.7.0beta9 was built on August 3, 2026.

Changes since 3.7.0beta8:

Heads up: future betas will require macOS 13
(Ventura) or later. This is the last version to
support macOS 12. Sorry for the inconvenience!

New Features:
- iTerm2 > Suppressed Alerts is a new panel that
  lists warnings you silenced with "remember my
  choice" so you can turn them back on. For
  example, answering No and checking the box on
  the prompt that asks before displaying a
  terminal-initiated image silently disabled all
  inline images with no obvious way to undo it;
  now you can find that choice and clear it. The
  old "Always Show Alerts with Remembered
  Selections" command moves into this panel.
  Issue 12963.
- The manual AI model editor now offers one-tap
  presets for OpenAI-compatible providers
  (Ollama, OpenRouter, z.ai, Qwen, MiniMax) that
  fill in the endpoint for you, plus a Test
  Connection button that verifies your settings
  and API key before you save.

Improvements:
- Web URLs handed to iTerm2 (by the OS as your
  default browser, by "open -a iTerm2 ", by
  Velja, or by vim's gx) now open in the built-in
  web browser instead of launching a terminal,
  unless you have bound the scheme to a specific
  profile. If the browser plugin is not
  installed, iTerm2 offers it once. Issue 12431.
- Right-clicking an auto-detected URL (the kind
  ⌘-click opens) now offers Copy URL, which
  removes the hard line breaks from a wrapped URL
  so a clean link lands on the clipboard.
  Issue 12944.
- Right-to-left script support (bidi reordering
  plus Arabic and Persian cursive joining) is now
  enabled by default. You can turn it off in
  Settings > General > Experimental. Issue 4361.
- AI chat history is now replayed to the model
  from the exact bytes previously sent rather
  than rebuilt each turn, so the prompt cache
  stays valid across turns (including turns that
  ran a tool) and long conversations keep getting
  cheaper and faster.
- Added a Zero Data Retention setting under
  Settings > General > AI. Turn it on if your
  OpenAI organization has Zero Data Retention
  enabled. iTerm2 then stops sending
  previous_response_id and sets store=false, so
  chats no longer fail on the second message.
  Issue 12521.
- An AI chat linked to a terminal session can now
  watch that session and tell you when it reaches
  a described state or condition, without
  polling. Previously only orchestration chats
  could set watches.
- ⌘-click now linkifies very long URLs in full.
  Previously only the first couple thousand
  characters were clickable; the linkifier now
  scans onward to the next separator, handles
  internationalized (IDN) hostnames, and no
  longer joins a URL to unrelated text across a
  hard line break.
- When AI chat types into a terminal with the
  insert-at-cursor tool, a newline is now sent as
  Return so it submits the line in programs like
  Claude Code instead of inserting a literal
  newline.
- Preferences search now finds several Colors-tab
  settings that were previously unsearchable,
  such as Border around active pane, Use custom
  tab color, and the light/dark color controls.
- The Script Console has a Clear Terminated
  button that removes stopped script and
  connection entries, so it no longer grows
  without bound (and slows the app) when you
  repeatedly restart a script. Issue 12942.
- A new tmux window opened with ⌘T now picks up
  the profile's custom tab title, if one is set.
- iTerm2 now probes the local network on every
  launch so macOS keeps it in the Local Network
  privacy list. This recovers the permission
  after a tccutil reset or an OS upgrade, fixing
  commands like "ping 10.0.0.1" failing with "no
  route to host". Issue 12956.
- Faster rendering of text with many colors (such
  as syntax-highlighted code) by reusing
  attribute dictionaries across color spans
  instead of rebuilding one per span. Issue
  12763.

Bug Fixes:
- Fixed a local privilege issue where the
  orphaned-session server adopter connected to a
  socket in a world-writable directory without
  checking who owned it. A local attacker could
  pre-create the socket and man-in-the-middle a
  restored session, capturing keystrokes and
  output. The peer's identity is now
  authenticated before anything it sends is
  trusted.
- Fixed a way for an authenticated Python API
  client to exhaust iTerm2's memory by flooding
  it with WebSocket ping frames while never
  reading the replies. Inbound buffering is now
  bounded and such a client is disconnected.
  Credit to NSEcho.
- A sixel image whose String Terminator was
  written as ESC ESC \ instead of ESC \ is no
  longer discarded, leaving a stray backslash on
  screen. The image now renders. Issue 12259.
- ⌘-click again opens files in JetBrains IDEs
  (IntelliJ IDEA, WebStorm, Rider). iTerm2 now
  invokes the IDE's launcher directly so the file
  opens in the already-running instance instead
  of silently starting a new one. Issue 12958.
- Toggling Caps Lock under the Kitty keyboard
  protocol with "report all keys as escape codes"
  no longer sends an "A". It now reports the Caps
  Lock key's own code. Issue 12922.
- Fixed the Kitty keyboard protocol SET request
  destroying the whole flag stack instead of
  modifying only the current frame.
- The OSC 9;4 progress bar drawn in the tab is no
  longer hidden by the active-pane border when
  both are enabled. Issue 12960.
- In tmux -CC sessions with pane-border-status
  set to top or bottom, panes are no longer one
  row too tall (the bottom line went unused and
  the cursor landed a row high after
  reattaching). Issue 12925.
- tmux panes no longer receive stray focus-report
  escape sequences when the server's focus-events
  option is on. Focus reporting now turns on only
  when the pane's own program requests it, so it
  no longer pollutes the shell prompt or flips
  bash's vi mode. Issue 12933.
- Make Screenshot no longer drops ASCII
  programming ligatures (-> => != and so on) when
  the profile and font support them.
- The Centered window style now looks and behaves
  like a normal window (title bar, the close,
  minimize, and zoom buttons, and the merged
  chrome of the
  Minimal and Compact themes), except that it
  stays centered. It also no longer changes size
  when you minimize and restore it. Issue 12918.
- A left- or right-of-screen window no longer
  changes width when you add a tab whose profile
  has a different width. Issue 12917.
- Split-pane dividers in different rows or columns
  can now be dragged into alignment: a divider
  snaps to a matching divider elsewhere in the
  tab when it comes within half a cell, fixing a
  sub-cell misalignment that whole-cell drag
  steps could not correct. Issue 12932.
- Modified function keys (such as Shift-F5) no
  longer lose their modifier in a tmux
  integration (tmux -CC) session, which sent the
  unmodified sequence instead of the xterm form.
  Issue 10717.
- The suggested filename for Save contents no
  longer contains colons or slashes, which macOS
  rendered as "/" in the save panel and Finder.
  Issue 12931.
- The command info popover's "Started at" time
  now honors the system 24-Hour Time setting
  instead of always using a 12-hour clock.
  Issue 12929.
- Fixed several VoiceOver problems in the
  terminal: QuickNav now engages without toggling
  it off and on, content no longer goes stale
  when output arrives during an interaction, and
  the review cursor no longer jumps to the top.
  Issue 12920.
- Reshaping a tab through the Python API's
  apply-layout call no longer leaves the window
  with no focused pane, so typing works without
  first clicking a pane.
- Switching between the main and alternate screen
  buffers no longer resets a manual key-reporting
  choice when both screens report the same flags.
- Pressing Undo Close when the last closed
  session cannot be revived no longer leaves an
  invisible empty window behind, which also
  crashed Python API scripts with a runaway
  refresh loop.
- Fixed a black-holed companion relay connection
  that could leave the Mac believing it was
  connected for hours over a socket the relay had
  already dropped. A keepalive ping that gets no
  response within ten seconds now tears the
  socket down and reconnects.
- A three-finger drag over an app with mouse
  reporting on (tmux with mouse on, or vim with
  mouse=a) no longer produces both the app's own
  selection and a native iTerm2 selection at
  once.
- Fixed various crashes.

You can use the following to verify the zip file on https://keybase.io/verify:

-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA256

959e5d7fa7ba5d7d6ce2803da223a6762a3e1e0e4535e1e4b1aae4332e19835d
-----BEGIN PGP SIGNATURE-----

iQIzBAEBCAAdFiEEoSV4Xzv7YY5VD+aYJiz+XnkavhsFAmpxSyIACgkQJiz+Xnka
vhuAyQ//WM1WY/ZQl1A6bW7g60KSrqe0sFbhfG6y7T+sfp9a9RW5tNSBQRf2Junz
g2cJr6MbZDdlTiBNY1ZGxGJ0+OPgu6uSFi9g7IV4YtS4EUPutvNI/YPsPz5TXpmp
ceJitx5nMULwn/O0wegevUIeJACHKAV2w/GEm5nm3RGP5YBSqDNUZ101F5AihBqk
Ut1DVKjaIsiF6NEwuVDDnbn/9T3LW/ES8J3aozNKhPK2YDtM3+UoPy146kwyBfhn
ZV48n9P08BlUrP2olY9p3UCnsK4Fr7PzXRZAQvU7H7B5vpuWlaR96b8sjH7FBPLS
6gcbee0AcKjGM6H47eKMbUvcJAydb+R8nu2MehONA38R940p/Mo8EZl6ZaMZ72pi
OOnFGrMN8fB7dT2RLVTIxJKMABT1ib2Dnb6zDn0dWIstoqLxCE+UGoB5lTMhRpQz
9jMDOp5e2cfE7olwO21wl6Wg5M4MDRVJ8PIquKWZBv7US2kjqs7fylOhqqoNFpZO
K5eRIkRfv+5K6LEJwurH0cltn8puDfhhf85/UWhFckyXTaO2eYwSiSxqjx6gL2zJ
EAfa5Nr9QggC4UinhAUy+OV+CrigdQF6u0vjPuYKcW+XB3CHN3HXbjmMcUlS8EGe
xExqShEZuLWtlKDrtEwCeEvXhZN1OuvtkwxR6D/XvzXmbim6qK4=
=4q8g
-----END PGP SIGNATURE-----
```

#### [iTerm2 3.7.0beta8 (macOS 12.4+)](https://iterm2.com/downloads/beta/iTerm2-3_7_0beta8.zip)

This is the recommended beta build for most users.
Built on July 27, 2026.

[▾ Hide Changelog](<javascript:hideId('6724106964114906540')>)

```
Version 3.7.0beta8 was built on July 26, 2026.

Note: if you are beta testing the iPhone companion
app iTerm2 Buddy, you'll need to update it after
upgrading iTerm2 to this version.

New Features:
- The it2 command-line tool now works on hosts
  you reach through SSH integration.

Improvements:
- Session-bound AI chats can now include your
  terminal’s visible screen and state with each
  message automatically, and read the screen on
  request with the same get_screen_contents tool
  the orchestrator uses (in a full-screen app it
  returns just the current screen, with no
  scrollback). The “View History” permission is
  now “View Contents” and gates both. iTerm2 asks
  once before it starts sharing your screen
  automatically, so a permission left at “Always”
  from an earlier version shares nothing until
  you confirm.
- AI chat can now restart a session for you. The
  “Type for You” permission was renamed “Control
  Terminal” and now also gates this.
- An AI chat linked to a terminal session now
  stays linked when the session’s shell restarts
  (which happens often with the Claude Code
  integration). Previously the link, its command
  permissions, and orchestrator @-mentions of the
  session were lost on every restart.
- AI chat orchestration is now much less chatty.
  While it runs a loop (for example, waiting for
  a Code Review to finish and then telling a
  session to continue), it reports one line per
  real outcome instead of narrating every step
  and asking what to do next each time.
- Companion push notifications are now coalesced
  so you get fewer notifications.
- The keychain permission prompt that appeared
  after upgrading, for AI API keys and for a
  paired companion device, no longer recurs on
  every update. Those secrets now live in an
  entitlement-scoped keychain group that stays
  readable across signed builds. Upgrading to
  this version prompts once more to move them.
- Tab dragging is smoother: Metal stays enabled
  for normal drags, reorder slots switch near tab
  midpoints, and split-pane drop targets are more
  stable.
- Performance improvements.
- The retrospective debug log no longer
  retains typed characters, command lines,
  passwords, tokens, or AI chat content. These
  could previously accumulate in memory even with
  debug logging off.
- The screenshot window’s Copy to Clipboard
  button now flashes a “Copied!” confirmation so
  you get feedback that the image was copied.
- The settings search field again uses the system
  focus ring on macOS 26.5.1 and later, where a
  workaround for an earlier OS bug otherwise left
  stray fragments below the capsule.

Bug Fixes:
- An AI chat linked only to a web browser now
  uses a browser-appropriate system prompt
  instead of one that described a terminal it was
  not attached to.
- Fixed a memory corruption bug that could crash
  iTerm2 intermittently, most often when closing
  a tmux window caused surviving sessions to
  resize while output was still streaming. Lazily
  cached line-wrapping info could be written into
  scrollback storage shared with another thread.
  Issue 12941.
- Fixed a hang where a modal sheet (such as an
  alert) whose parent window was destroyed before
  it was dismissed left the main thread frozen in
  the modal run loop forever.
- Fixed key reporting using stale flags after
  switching between the main and alternate screen
  buffers, which could leave modified-key input
  wrong for some full-screen apps. Issue 704.
- OSC 22 pointer shapes are now honored while
  mouse reporting is on, instead of always
  forcing the I-beam-with-circle cursor. Added
  the fleur, watch, plus, and minus shapes and
  mapped X_cursor to the not-allowed cursor.
  Issue 700.
- Fixed flag emoji (such as a country flag)
  rendering as blank cells or flickering under
  the GPU renderer. The two regional indicators
  that make up a flag are now shaped together,
  matching the non-GPU renderer.
- Command-clicking links in terminal output no
  longer crashes when command-mark data is
  unavailable.
- Hiding a hotkey window on macOS 26 no longer
  briefly flashes background iTerm2 windows to
  the front. The window now waits for the
  previously active app to come forward before
  ordering out.
- Global search no longer shows blank snippets
  for results found on the main screen while an
  alternate-screen app (such as a full-screen
  TUI) is running. Snippets are extracted from
  the same snapshot the search ran against.
- Fixed a case where a Claude Code workgroup pane
  (such as Diff or Code Review) could close
  itself when its command exited and take the
  whole workgroup down with it. Spawned workgroup
  panes now pin their end action so the profile’s
  “Close Sessions On End” setting can no longer
  flip them to close on their own.
- Reloading a diff session in a workgroup now
  re-runs the command matching the file picker’s
  current selection. Previously, if the file you
  were viewing stopped having changes and the
  picker snapped back to “All Files”, reload
  reran the old per-file diff, found nothing, and
  exited, closing the session.
- Fixed a black bar and off-by-a-row click
  hit-testing when filtering, taking a
  screenshot, or zooming lines in a session that
  carries extra chrome such as the workgroup
  peer-mode toolbar. Instant replay also restores
  the window to its original size on exit.
- The built-in web browser now prompts for a user
  name and password when a site returns an HTTP
  authentication challenge (Basic, Digest, or
  NTLM) instead of failing to load.
- A saved status bar layout whose RPC-provided
  text component is missing its registration
  request is now dropped instead of showing up as
  a blank “ghost” cell.
- Fixed modified keys such as Ctrl-J and
  Shift-Enter not reaching some apps (for example
  Codex) running under tmux integration
  (tmux -CC). iTerm2 now hands these keys to tmux
  by name so tmux encodes them just as it does
  outside control mode.
- Fixed auto-sending code review results to the
  main session sometimes failing to submit
  because the Return arrived too soon after the
  paste. The Return now waits a moment (see the
  workgroupAutoSendSubmitDelay advanced setting).
- If you never paired a companion device, iTerm2
  no longer touches the companion keychain items
  at launch, avoiding a spurious keychain
  permission prompt for people who alternate
  differently-signed builds (such as a released
  build and one built from source).
- Fixed various crashes.

You can use the following to verify the zip file on https://keybase.io/verify:

-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA256

27c191988ba4c4854f500243ed4a98f86b6132327bc5b9e47788e56fca784010
-----BEGIN PGP SIGNATURE-----

iQIzBAEBCAAdFiEEoSV4Xzv7YY5VD+aYJiz+XnkavhsFAmpnoWsACgkQJiz+Xnka
vhvT8w//eBiYkVnoHMGS1lW65xQEhUcVYXaGWmyRzaSnl/STmkN+s0a6RV0Eq3M9
fbAo/yUcBek2oZLnvc9yUK7h911EjuWtmvIkrbtwWmw48Jl0RtdWJkPj6brQSuEw
jd0TUsWcf4tJqBjHoGGxI6R3rTd4/S78I5ZroyfjOTb+JMsTSdVtITIlq9K8lBM4
ueEywtQdtqqkcXLGFzz4kxt1VlOwqd7uOHw1qxF/RvATdLUPxYa5bQuvPw8F2VfW
xHTWzToZrtCm9SgE7W5RxD0p8zqoiu3fwmqalbMzrUEBIC6eg8Y2V1lD/oMPlerR
OpLUUQJNo93DbpGgFlG5E5FHZEFAzHMBhG/a+xb+MIbYBvS+XXOt2Uv4jlFMFPi2
6eYCWso/TfgFNmXYdw/oS67ahmMry6tdF5lPxY/3cESpB+VG7RClvO+7GPFll0eG
cN7+9NyHKVWUoywQStBp16WVH57WDlwNewEa3JYa/voBbjz37mNwkkwCDeOHu0CD
3ew5aHgqeiYl4lHj7KXhXqgQ/0U1tnx0dCJBUvAnaEHfoinvRACuzvOmYAXr88d3
1B0PV8NR+t4F4UgxryIvXNzQ3nRb7aXDH5/B0Ruh2KqvD/NI8ZZjRJ4Cd+UBCnog
WXe6m0uY+4grBdzEv2iEWHMm7W1H1yIhym7GiT2sM+HafDwLD5g=
=8rWi
-----END PGP SIGNATURE-----
```

#### [iTerm2 3.7.0beta7 (macOS 12.4+)](https://iterm2.com/downloads/beta/iTerm2-3_7_0beta7.zip)

This is the recommended beta build for most users.
Built on July 15, 2026.

[▾ Hide Changelog](<javascript:hideId('840503577950231849')>)

```
Version 3.7.0beta7 was built on July 15, 2026.

Note: if you are beta testing the iPhone companion
app iTerm2 Buddy, you'll need to update it after
upgrading iTerm2 to this version.

Changes since 3.7.0beta6:

New Features:
- Added support for multiple AI providers at
  once.
- AI orchestration now safety-checks everything
  the agent does in a session, not just once
  when you first approve the session. Commands
  it runs, commands it types at a shell prompt
  and submits, and keystrokes it sends into a
  full-screen program (vim, less, a coding
  agent, and so on) are each judged against
  what you asked for. The check no longer hard-
  blocks anything: a scary-but-legitimate
  action, such as deleting a directory you just
  created, is held for one-tap approval instead
  of being refused, while a real root or home
  wipe, or an unrequested dangerous command,
  stops to ask first.
- Code Review sessions in a Claude Code
  integration workgroup have an Auto-Send
  Clippings When Idle toolbar toggle. When on, the
  review session’s clippings are pasted into the
  workgroup’s main session each time the review
  finishes. The Claude Code workgroup’s review
  peer includes it by default; the toggle
  itself starts off.
- The main session in a Claude Code integration
  workgroup has a companion Auto-Request
  Review When Idle toolbar toggle. When on, a
  code review is requested from the workgroup’s
  sole code-review session each time the main
  session goes idle. It is disabled unless the
  workgroup has exactly one code-review
  session. The Claude Code workgroup’s main
  session includes it by default; the toggle
  starts off.
- Chats can now be muted from the iTerm2 Buddy
  app. A muted chat sends no push notifications
  to the phone, even for permission requests,
  until it is unmuted. The muted set is
  remembered on the Mac so it applies even
  while the phone is unreachable.
- When you load settings from a custom folder,
  snippets, global notes, and session icon
  customizations can now sync along with your
  other settings. Because notes and snippets
  can hold sensitive text, iTerm2 asks once
  before including them. If the same item
  changed both on this Mac and in the folder,
  it asks which copy to keep rather than
  overwriting your changes.

Improvements:
- The built-in AI model list is now data-driven
  and refreshes in the background, so new
  models appear without updating iTerm2.
- AI chat messages have a cleaner layout:
  proposed commands, command output, and
  terminal-command transcripts now render as
  rounded Markdown code blocks, and
  orchestration tool calls show as command
  blocks instead of raw session GUIDs and JSON.
  The chat list can be hidden and shown without
  reopening the window, and history entries can
  be selected in groups and deleted, or renamed
  in place.
- The Companion app’s live video feed now
  scales its bitrate to the window’s
  resolution, so large windows stay sharp
  instead of being pinned to a fixed low rate.
  Very large windows trade frame rate for
  sharpness so bandwidth stays reasonable.
  Advanced settings can tune the bitrate
  multiplier and the flow-control thresholds.
- A Diff workgroup session now waits to run its
  diff until you first switch to it, so the
  diff reflects your changes at that moment
  instead of from whenever they first began. It
  is not re-run when you switch away and back.

Bug Fixes:
- Smart tab-title truncation no longer flickers
  between head and tail truncation when a tab
  title begins with an animated status glyph
  (such as a Claude Code spinner). The glyph is
  no longer counted when deciding which end of
  the title to truncate.
- Session Status tool: with “Merge workgroup
  statuses” on, a merged row now shows the
  status of the peer you’re actually looking at
  (the visible peer of the switcher) instead of
  whichever peer changed most recently. A busy
  code-review peer holding a steady “working”
  status no longer loses the row to a sibling
  chat peer the moment it goes idle.
- Tab subtitle: when a tab is split into
  multiple panes, the status of the pane you’re
  focused on now drives the subtitle instead of
  a background pane winning on status priority.
  A focused pane with no status falls back to
  the highest-priority sibling pane.
- Code review and diff workgroup sessions now
  restore showing their last output instead of
  launching a stray replacement shell when the
  original program is gone. The code review
  prompt panel reappears only if it was open
  when you quit, and its reload button
  remembers the prompt you last submitted.
- Session restoration no longer breaks when
  iTerm2 receives a signal (such as ^C when it
  was started from a terminal): the background
  process server is now insulated from signals
  sent to iTerm2, so your running programs
  survive to be reattached on the next launch.
- Fixed a rare case where a Claude Code
  workgroup was torn down even though its
  claude process was still running, due to a
  momentary misread of the foreground job
  ancestor list.
- The Claude Code integration’s session status
  now stays “working” while background agents
  or tasks are still running, so AI chat
  watchers no longer fire during the idle lulls
  between subagent phases. Requires Claude Code
  2.1.198 or later.
- AI chat: fixed a race where a streamed tool
  call could be dispatched with empty arguments
  when the response completed before its
  argument chunks were consumed. The agent
  would loop retrying the same call, and the
  turn could end with an empty message.
  Finalization now reconciles against the full
  response body.
- AI chats reopened after a restart now replay
  their tool-call history to the model
  faithfully. Reasoning state (OpenAI encrypted
  reasoning, Gemini thought signatures) is
  saved with the chat and replayed, so
  reasoning models no longer reject reopened
  chats or invent fake tool results. A chat is
  also locked to the provider it started with,
  and messages sent from the iTerm2 Buddy app
  run on the chat’s own model instead of the
  global default.
- The AI chat wire log now redacts API keys in
  request headers, URLs, and bodies, keeping
  only a short fingerprint.
- In AI orchestration, pressing Stop now halts
  the whole pipeline: it cancels the in-flight
  reply, drops any queued turns, and cancels
  the chat’s registered watchers, so a session
  going idle can no longer restart the loop
  after you asked it to stop. A message you
  type also jumps ahead of pending status
  updates instead of waiting behind them.
- Closing the inline AI chat panel now returns
  keyboard focus to the terminal.
- Switching to a Diff peer for the first time
  now keeps the terminal focused once its
  command starts. Previously keystrokes went
  nowhere (and beeped) until you clicked the
  terminal.
- Companion pairing now retries with capped
  backoff instead of reconnecting (and, during
  pairing, regenerating the QR code) many times
  per second when the relay is unreachable, for
  example because of a bad TLS certificate.
  Connection failures during pairing now report
  the underlying error instead of an unhelpful
  generic message.
- The iTerm2 companion relay servers moved to
  new addresses. If you paired an iPhone on an
  earlier build, iTerm2 now asks you to pair it
  again so it keeps working.
- Companion: when the relay hits its daily data
  limit, the Mac now shows “Daily relay data
  limit reached” in Companion settings and
  backs off instead of retrying in a tight loop
  until the limit resets.
- When a companion device is paired, your AI
  API keys are now loaded at launch, and when a
  phone pairs, so a query sent from your phone
  while you are away never has to prompt for
  keychain access. Opening Settings no longer
  reads the keychain or prompts for access.
- SSH integration now loads shell integration
  for a remote login shell running bash or zsh.
  A remote /bin/bash is injected (only macOS’s
  own un-injectable /bin/bash stays excluded),
  and a remote zsh login shell no longer starts
  with its integration skipped because of a
  double shell wrapper.
- Fixed various crashes.

You can use the following to verify the zip file on https://keybase.io/verify:

-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA256

f9ee89ae4d74d0f15b10c40891627ccaf1a24bef3055c01b6f6288026d5ea38f
-----BEGIN PGP SIGNATURE-----

iQIzBAEBCAAdFiEEoSV4Xzv7YY5VD+aYJiz+XnkavhsFAmpX+CMACgkQJiz+Xnka
vhsOPQ//Z3kWFAv0HNRYUveHJjkW5EOu3FCsTfVZvYFYjhe5a38AHN+zVodMfc/R
JgEKNOMWwoTBHE0wTUFaJObYUg+NYRd19bYnb5QvKd88BKHG0XIGTin3PaJCjvQ7
p2rO4XMnpurIRcuvuTG0V38ZM+6Kt55tn6BEPn4GRPjtQzHI+81BtZVzDSdprg+9
Nrvj1P/ReQx51MwkIt8tEBhrhn1vxGtiw0Ryi6OUOJqCS/jW0/hT8miFtMF/D79A
BkUR6ZLYvCM8Y0bl6ZuFv7EIjXMOdfltPMm8PNBab319ZLxRvJLWgitZq46xNDsU
SoJ7fbN29WU3ONcUwV6Cde7LYmljD/FEp4OXvPpMN/d+DxAZ3rm8yiXqaNfAykTw
pJxUdaUJeIF1lU9xAjK4ksEyPJ//QRwKSbNHC5yNzYA6J9c9pd0ChaJwQB23gFLo
QkWBcA3DO/zW4QFxmNVOj/F1HOpcN3/G+QkpWqZfd+sL9saRKqj0C/tzOkv+jVTV
8ygZOKn3figoexXg1kU6ukYd7pQV2CEvn5A7NuJccpGNU1KjLHoJWp2+MHrGMuLN
VTc3raNbsziCb2rtLRbUGGu11M9THiZluoEPkU7vQ7kSPYEn9ees1ujr5MoG7bTd
8aHbZdnjfeUWStcHPhOoMJC+dq5te0IYoBydfmwG0eugr9/FrBo=
=a7Ay
-----END PGP SIGNATURE-----
```

#### [iTerm2 3.7.0beta6 (macOS 12.4+)](https://iterm2.com/downloads/beta/iTerm2-3_7_0beta6.zip)

This is the recommended beta build for most users.
Built on July 3, 2026.

[▾ Hide Changelog](<javascript:hideId('9163278627142664422')>)

```
Version 3.7.0beta6 was built on July 3, 2026.

Note: if you are beta testing the iPhone companion
app iTerm2 Buddy, you'll need to update it after
upgrading iTerm2 to this version.

Changes since 3.7.0beta5:

New Features:
- The iPhone companion app, iTerm2 Buddy, can now
  stream to your phone as video, so you can watch
  output live, scroll back through history, zoom,
  and select, copy, and paste text, without
  re-implementing the terminal on the phone.
- Push notifications to iTerm2 Buddy now use
  end-to-end encryption so Apple can't see
  anything about them.
- Companion app setup was made hopefully simpler.
- The Make Screenshot window has a new “Save As…”
  button to choose where the image is saved,
  alongside the existing Save button that writes
  to your configured location.

Improvements:
- The iTerm2 Buddy iPhone app now supports
  landscape orientation.
- Settings > Keys > “Force keyboard” can now
  force the keyboard layout only once per
  session, the first time a newly created
  terminal receives keyboard focus, instead of
  continuously. This lets you switch layouts
  within a session without iTerm2 snapping it
  back. Restored sessions are not affected.
- A new iTerm2 > Save Retrospective Debug Logs
  menu item writes recently captured low-
  frequency diagnostics to a file you choose,
  even when debug logging was never turned on.
- Launching processes no longer briefly blocks
  the main thread, since child processes are now
  forked on a background thread.
- Newly downloaded Python runtimes are now
  ARM-only on macOS 27 beta and later.

Bug Fixes:
- Updated the bundled libsixel to fix a security
  vulnerability in SIXEL image decoding
  (CVE-2026-44637).
- tmux integration now parses pane state
  correctly on macOS 26 and later. A new system
  NSString method had shadowed one of ours and
  caused numeric fields to be dropped, which
  could also crash.
- Fixed a crash in Replace Selection (for
  example Replace with Pretty-Printed JSON) when
  the replacement had more lines than the
  selection. Saved locations inside the replaced
  region are now invalidated instead of drifting
  onto unrelated lines.
- SSH integration now runs the ssh command
  through your login shell, so a custom
  SSH_AUTH_SOCK (pointing at an agent that holds
  your keys) is honored. This fixes “Permission
  denied (publickey)” failures that only happened
  with the SSH command type. Issue 12909.
- Fixed dead-key composition (such as US
  International apostrophe then e) losing its
  accent under the Kitty keyboard protocol when
  both “report all keys as escape codes” and
  “report associated text” are enabled.
  Issue 12906.
- Fixed OSC 8 file:// hyperlinks whose path mixes
  percent-encoding with raw non-ASCII characters
  (such as ripgrep’s --hyperlink-format=file
  output) opening the wrong file. Issue 12914.
- Fixed a dashed underline on screen, with
  ligatures enabled, making box-drawing lines
  (such as a TUI input box) render dashed instead
  of solid. Issue 12907.
- On macOS Tahoe the tab activity/progress
  indicator now draws as a ring around the
  pill-shaped tab instead of a bar that crowded
  the tab title and status text.
- OSC 9;4 progress bars now draw over the
  profile’s background color instead of a fixed
  black or white background, so they blend with
  your theme. Issue 12916.
- In the Minimal theme, when panes in a tab have
  two or more different tab colors, each pane’s
  title bar is now tinted with its own tab color
  so you can tell them apart. Issue 12903.
- Saved and copied screenshots now fill margins
  and other uncovered areas with the session’s
  background (including a background image)
  instead of leaving them transparent.
- Fixed dead space in tabs when tab numbers are
  hidden.
- Lock Layout is now enforced more thoroughly.
  Opening a URL or file that would split or add a
  tab to a locked window now opens a new window
  instead, and menu items for blocked operations
  (split, close, move, swap, and duplicate) are
  disabled.
- AI orchestration chats now handle full-screen
  apps that use the alternate screen (such as
  Claude Code): they read the current screen and
  can use a new scroll-wheel tool to page back
  through the app’s own history.
- Fixed oversized gaps between messages when the
  inline chat panel first reveals an existing
  chat.
- Reinstalling the Claude Code integration now
  corrects a stale cc-status hook path left
  behind by a named instance.

You can use the following to verify the zip file on https://keybase.io/verify:

-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA256

5970f32cf603536ab82927b25d4e26e49ab8322522022c084ff4663d8ad5950e
-----BEGIN PGP SIGNATURE-----

iQIzBAEBCAAdFiEEoSV4Xzv7YY5VD+aYJiz+XnkavhsFAmpIC/IACgkQJiz+Xnka
vhtIOg//X4BCbarbxmzu1WI+Y4Gp57Ls4HwOlyHvu1WcpgMCiXDNyGjvQBJYlGMt
3ySCOec9FJfSUcERoprdDdEfDjPffOLhg/AD4FvbmfYG3svdHr8lrbie1gxzXb3N
PPYJnXHRebvcfdq1XC5+2Ybpd8ejbnXumf80xavCHbujHX7KBkIZVGkNkeonwsLs
4ws0PxxmhkNTJoonelYb73m/7LVhRWBw1Pq4UOclffFsCtlr4RzlpEIKB73IKdHV
cMX/cEch0IC/Mc+1DX37ubd2nDrNUQp0U4UWNOtzIMJXLnKJw2nviToNKgpPgCKa
dDu4VQ8ZHZXpSD3R2HcaH1zDLza5hyjK93zW7oi9gK7LMQPKQBkY0wp0vEsUdL66
AhtnA7nju7ewLl9y7L/8eghrXISxi4rOlfgGKo9BTOfpbwW4eBUBVRvJjQMmSCRX
6+xr8b6qxUiuIs9T8+dUGA/dF3EfgJ7y+3gvZWwXXc1qJgrOj1ReBlnusxIBoErr
WhHVMyUSmlMJJ5w7xzxZEk4Z3LlXgmfcb6Cnw5NeytVgaWxZn66xbsQNynL85C78
lvxut0eebc8YNnQJZDd3HZ2RLNA74VCWBrjqSHGFYth65mZLmfRhLLzQSvhEO+2G
wG74cV9ObBXFAaondxDAnY7esC967jUWxEgP3jtQteCF1bZax8E=
=3BR6
-----END PGP SIGNATURE-----
```

#### [iTerm2 3.7.0beta5 (macOS 12.4+)](https://iterm2.com/downloads/beta/iTerm2-3_7_0beta5.zip)

This is the recommended beta build for most users.
Built on June 23, 2026.

[▾ Hide Changelog](<javascript:hideId('3294460061045575927')>)

```
Version 3.7.0beta5 was built on June 23, 2026.

Note: if you are beta testing the iPhone companion
app iTerm2 Buddy, you'll need to update it after
upgrading iTerm2 to this version.

Changes since 3.7.0beta4:

New Features:
- Blinking cursors can now fade smoothly in and
  out instead of toggling abruptly. Turn on
  “Smooth blink” in Settings > Profiles > Text,
  where you can tune the fade-in and fade-out
  durations, easing curves, and how long the
  cursor stays fully visible and fully hidden
  between fades. Off by default.
- The status bar can now draw a separator line
  between itself and the terminal content. Turn
  it on in the status bar layout’s settings.

Improvements:
- The job name shown in titles, the session
  icon, and automatic profile switching now
  reflects the foreground job actually attached
  to the terminal, hiding helper subprocesses
  that run in the foreground process group but
  are piped to their parent (for example an MCP
  server spawned by claude, or caffeinate). The
  raw deepest job is still available as the
  deepestJob variable. Note that automatic
  profile switching now matches the tty-attached
  job, so a rule keyed on such a helper name
  will no longer fire for it.
- You can now choose where tmux windows created
  outside iTerm2 open: a new window, the focused
  window, or the topmost window already hosting
  that tmux session.
- Terminal-initiated downloads (it2dl) now ask
  whether to save to the Downloads folder or to
  choose a destination. The choice is
  silenceable, so you can always save to
  Downloads or always show a save panel.
  Issue 12897.
- Added Edit > Marks and Annotations > Annotate
  Selection, so annotating a selection can now
  be given a keyboard shortcut. Previously it
  was only on the right-click menu.
- In an AI orchestration chat, @-mentioning a
  session or workgroup now grants the chat
  standing permission to control it, so the
  agent acts there without the one-time approval
  prompt. A notice with a Revoke button lets you
  take the permission back whenever you want.
- Anthropic prompt caching now also covers the
  conversation history, not just the system
  prompt and tools, so long chats reread the
  earlier turns from cache instead of paying
  full input price every turn.
- Right-click a row in the Session Status
  toolbelt tool and choose Snooze to move it
  below a divider at the bottom of the list
  and dim it. A snoozed entry un-snoozes
  automatically the next time its status
  changes.
- The inline chat panel now has a toolbar to
  create a new chat, switch chats, open the
  session/link menu, and hide the panel. New
  inline chats ask whether to link to the
  session or become an orchestrator instead
  of linking automatically.
- Chat lists now mark orchestrator chats with a
  wand glyph. The inline chat switcher bolds chats
  linked to the current session.

Bug Fixes:
- Fixed a bug where a pane could restore in your
  home directory instead of its previous working
  directory after restarting iTerm2. Sessions
  that used automatic profile switching saved a
  value that could not be read back, which
  silently dropped the rest of the restored
  session state.
- SSH integration no longer leaves Ctrl+C unable
  to interrupt programs on remote hosts whose
  Python is older than 3.7 (e.g. CentOS 7,
  AlmaLinux 8). The login shell handoff was
  leaving signal generation disabled on the tty.
- The heavy window border now has a uniform
  width: its corners no longer look thinner than
  its edges or pick up semi-transparent pixels.
  It is now drawn entirely inside the window
  instead of straddling the window edge.
  Issue 12882.
- The session-logging and archive folder pickers
  now use the folder you select rather than its
  parent when you don’t open it first.
- Clicking a notification posted by a background
  tab of a dedicated hotkey window now selects
  the source tab and pane instead of leaving the
  previously-selected tab in front. Issue 12902.
- A full-screen program that does not use the
  alternate screen (such as Claude Code) and
  repaints from the top no longer overwrites a
  fold above the cursor. The fold is scrolled
  into history instead of being clobbered and
  left with an orphaned unfold icon in the
  margin. This works even without shell
  integration installed.
- AI chat with DeepSeek no longer fails with an
  “insufficient tool messages” error after a
  tool call that was interrupted or left
  unapproved.
- The AI orchestrator’s get_screen_contents tool
  now marks faint text and the cursor position.
  Inline shell suggestions and ghost completions
  are drawn faint, so the agent used to mistake
  a suggestion for a command you actually typed.
- An AI orchestrator watcher waiting on a
  session’s reported status no longer hangs
  forever if that status gets stuck. After five
  minutes without the expected change it falls
  back to reading the screen to confirm the real
  state.
- OpenAI prompt caching is more reliable: the
  Responses API request now sorts its JSON keys
  so the cached prefix stays stable.
- Restoring a window with an open inline AI chat
  panel now reopens the panel on the chat it was
  showing, instead of widening the terminal.
- The companion device no longer triggers a
  keychain confirmation prompt when it connects
  or when a notification is sent. The paired
  identity is now read once at launch, while you
  are present, instead of mid-connection.

You can use the following to verify the zip file on https://keybase.io/verify:

-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA256

988deba4b2944a6ddabebe6ad104c780703af6d3b27b55fffc3f2019cac3b5f5
-----BEGIN PGP SIGNATURE-----

iQIzBAEBCAAdFiEEoSV4Xzv7YY5VD+aYJiz+XnkavhsFAmo7bfAACgkQJiz+Xnka
vhutbQ//ThBbmlMOox50AdYkKnpiHhTgARpXB+AleDJolDZapzo57EPx3F+ZQaTC
n3a4QH5kSQcIy5OXUz3XzCXxRaAdHZ5P9mcl+eb0XqPNujagwWhfjoPCUjkj3jQS
rk8rhFMchvfz91ZFKmstn5POzxjO/zHcmXeRswSd+wTaitLSZs6qv4MAhdzeW0WO
NWGi3Mza7zuSGzuLj04nBZGnWeJ2+f0flzKxKnkJMUgk9tw0sih6aD9SDLzJ1XkD
ENuqDM81HdqmFDYseVSC453p2xw46JmJziGPU0CF0qzjGU/C75qnrz3UiEuzLZEM
7AC1R/v5T8Jt4/UPwhjhi9RCwm3s5obg+9PwIW83O7iqUuMlL9/CwwdBDyHVTY/V
gUxoeQNW/9kuP3/eixKAHuBIZhIUtJf4v8CN/7DSMn8fV1+9tanmKNgx7SDUvHwE
LHvYiJwqsSYfxCdmDuCnl3cRyRWeduaZ2DouVut4fHyYtcU3Dql7V0Fsvx733IgT
qw3/I9nwFrQtifYnvYPe+Uixg7DIp7pZjJy7vOAn/F53fGR3fKjzVf0GuWGCTZ8R
+Nfa+wDeEcuhvClT7IRNmB3PYfCV6eUyh/qn7fTGqJU1SzRXPKoH5hDd6Nbs+bGc
64b4EnK2YJFAXBr7eoQToqikTFnLUDP/ktlRvfWAMZ0jXwtgpvo=
=OfUq
-----END PGP SIGNATURE-----
```

#### [iTerm2 3.7.0beta4 (macOS 12.4+)](https://iterm2.com/downloads/beta/iTerm2-3_7_0beta4.zip)

This is the recommended beta build for most users.
Built on June 18, 2026.

[▾ Hide Changelog](<javascript:hideId('6709322144079320568')>)

```
Version 3.7.0beta4 was built on June 18, 2026.

Changes since 3.7.0beta3:

Major New Features:
- Companion App: the new iOS app, iTerm2 Buddy,
  is now functional. Pair your Mac with your
  phone by scanning a QR code (iTerm2 >
  Companion Device Settings). Devices connect
  through a relay using end-to-end encryption, so
  they work even when the Mac and phone are on
  different networks, and end-to-end encryption
  ensures your data is visible only to you. From
  your phone you can interact with iTerm2 via AI
  chat.

New Features:
- New Lock Layout menu item (in the Window
  menu, next to Lock Size) that freezes a
  window’s layout: it prevents splitting,
  adding or closing tabs, reordering tabs,
  closing or dragging panes, and moving panes
  or tabs to other windows. Resizing panes,
  opening new windows, and closing the window
  still work.
- A new Variable Changed trigger match type
  fires when a named session variable changes
  to a value matching an optional regex.
- A process inspector popover was added to the
  Jobs view (toolbelt and status bar popover).
  Hover a row to see the full command as a
  tooltip, or press space to open a popover
  with the full command, process ID, start
  time, working directory, environment
  variables, and a list of open files and
  network connections.
- Chats in the AI chat list now get an icon
  drawn by your AI model from the chat title.
  Chats without one show a default icon. The
  prompt can be edited in Settings > General >
  AI > Prompts.
- You can @-mention terminal sessions in
  orchestration chats to bring them into the
  conversation.
- The Session Status tool can notify you when a
  watched session or window changes status. The
  alert offers a Reveal button that jumps to
  the session, and the same control is now
  available in the Cockpit and the Window menu.
- The Session Status tool can merge workgroup
  statuses, collapsing each workgroup into a
  single row that shows its highest-priority
  status.
- The Python API’s create_tab can now create a
  tab in the background. Set select_tab=false on
  CreateTabRequest to add a tab without
  selecting it or raising its window.
- App.async_apply_layout can now create
  brand-new sessions in place via new_session
  leaves, instead of only rearranging existing
  ones.
- A new window.title variable holds the
  rendered window title, alongside the existing
  session.presentationName and tab.title.

Improvements:
- The default AI request timeout was raised from
  30 seconds to 5 minutes.
- The AI command safety check now uses your
  configured AI model. It runs deterministic
  terminal rules first and only asks the model
  when those rules cannot decide. Because it can
  send commands to your (possibly cloud)
  provider, it is opt-in. Users who already
  enabled it keep using free on-device Apple
  Intelligence and are asked once whether to
  switch to their model.
- Auto-approved AI tool requests are now
  persisted instead of squelched, so they
  survive reloading a chat.
- AI models were updated. Support for Claude
  Opus 4 was removed and the latest models were
  added; temperature is omitted for Opus 4.7
  and newer.
- Orchestration chats auto-approve safe session
  spawns, render tool-call activity inline, and
  show @-prefixed session and workgroup ids as
  name links. AI chat now offers orchestration
  when there is no session to link.
- The Claude Code setup wizard has clearer
  navigation and highlighting.
- The code review overlay now defaults to the
  last-used prompt when reloaded.
- Workgroup peers are persisted and restored
  across app restarts. The peer switcher spins
  an activity indicator while a peer is working,
  and the Workgroups settings pane gained a help
  button.
- The Cockpit can watch statusless sessions by
  observing their screen, shows session detail
  under the name when grouping by status, and no
  longer dims when it loses key status.
- The Settings window title now shows the suite
  name when running a named instance.
- The Git diff menu excludes untracked files
  from its per-file statuses.
- Automatic text substitutions are now disabled
  in the AI chat input field.
- Auto-launched API scripts no longer warn about
  __pycache__ directories, and context menu
  items registered via the Python API are now
  sorted by display name for a stable order.

Bug Fixes:
- A key bound to “Bypass Terminal” now reaches
  macOS for function, arrow, and numeric-keypad
  keys, so global shortcuts in other apps work
  again. Issue 12884.
- A live filter no longer drops content that
  arrives while it is mid-search.
- A tab no longer shows a stale or missing
  session status when a pane carrying a status
  is closed, moved between tabs, or reparented
  (for example by entering or exiting a
  workgroup).
- Fold All and Clear Buffer no longer leave
  portholes behind.
- Copying selected text from a porthole now
  works in apps that prefer rich text, and
  clicking a porthole in an inactive split pane
  now activates that pane.
- Next Pane and Previous Pane work again while
  maximized after restarting a session.
- The grid and scroll view are now re-fit when
  entering or leaving instant replay.
- The Jobs toolbelt is now populated immediately
  for restored sessions.
- Installing or uninstalling the Claude Code
  integration now persists its trigger changes,
  so they are no longer lost on the next launch.
- Fixed a threading issue in AI chat streaming.
- Fixed several low-risk crashes seen in 3.6.10
  reports.

You can use the following to verify the zip file on https://keybase.io/verify:

-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA256

43c73cd11485a95f2653321d44de61e93d5c9af874b1414471146c8edf42af70
-----BEGIN PGP SIGNATURE-----

iQIzBAEBCAAdFiEEoSV4Xzv7YY5VD+aYJiz+XnkavhsFAmo0ioQACgkQJiz+Xnka
vhu1oBAAlLFd7l+80kpqg23cuYi38Kt1WEkBChpIpDzf5CrX+Es2aZk7ipGmvtRP
p+zqq+rwqUofdaFcOdaU0kD01c55EC6FDLiiKyZ3quKnXVtzs3yaN3FE7wfUZDxB
ke5VZ7T4fUbg+3HdGV0ZwJ3Z3NJCblZiLU8TIXRctRJcR7fPI/mKtxka8T/V9k+z
LLYL8jWS9QSVk9y25W1d+gRvQ5X0MKScSFJiZQO7iuQfxIbpxzCUi0Bv2dMnpb84
oV7myh02Lg6uTctonlbNGXw5W60grHWEO4BhHFr1JhIkoPnTk6Jjq19JksOtjBMe
0EunBg2stYwtzDNASxSYigQEW8C/NBZLsrMK4Dy4ijfq2Ei+Tqg7lGN0HqyN6zyw
sno9Yb4B5EAVBVt2vfaPx88M0eNr13n2lkt1prE8J5yHO+NUJUuHFqkSbcfxFSHn
omC8MVSkBjjn9MbKrd55yf7oSf0X5tBn6aVo/coO+eI+2HRENEg+/dTXGE/xP0XX
z2ncGPS65gUDXGo44L0Xwxqm5WbEtnlZjV22cEpzCD+0s/Ei5SBBYAGTBjdkqoFj
zM8e6IYx+pokBfT1Bd3iqwFT54u1MSx1bVNX2obFqJ2mzI9cL+TjcTKO1GFagxYc
evRx0sL6C4Z3Q4OW7MuPl1tNB3oH7VbmS9DNCrQh8ioVNtqxIOw=
=v1w4
-----END PGP SIGNATURE-----
```

#### [iTerm2 3.7.0beta3 (macOS 12.4+)](https://iterm2.com/downloads/beta/iTerm2-3_7_0beta3.zip)

This is the recommended beta build for most users.
Built on June 2, 2026.

[▾ Hide Changelog](<javascript:hideId('855288397969817901')>)

```
You can use the following to verify the zip file on https://keybase.io/verify:

Version 3.7.0beta3 was built on June 2, 2026.

New Features:
- Tabs can now be placed on the right side
  of the window.

Improvements:
- Undo Close now has the ⌘⇧T shortcut. Show
  Tabs in Fullscreen moved to ⌘⇧U.
- Sending or copying clippings now prefixes
  each one with its title in bold Markdown and
  separates multiple clippings with a
  configurable string (default is a line of
  two dashes). See the Clipping Separator
  advanced setting.
- In a workspace session of type code review, the
  system prompt is now editable in Settings >
  General > AI > Prompts. It defaults to the
  bundled prompt and is passed to Claude Code at
  launch.
- Clippings now keep history. An archive
  button in the clippings panel snapshots
  the current list and clears it; back and
  forward buttons walk the history. The
  new `it2 session archive-clippings`
  command and matching `iterm2.archive_
  clippings` API call do the same. Claude
  Code reviews now automatically archive
  before each pass, so each review starts
  with a clean list while old findings
  remain reachable.
- The clippings and inline AI chat panels
  can now be resized by dragging their left
  edge. The chosen width is remembered per
  machine.
- Closing a pinned tab now requires
  confirmation, whether via the close
  button, middle-click, ⌘W, or quitting
  the app. The dialog identifies the tab
  as pinned so the prompt is clear.
- The Cycle Tabs Forward and Cycle Tabs
  Backward key actions now have a help
  button explaining their tap-vs-hold
  behavior.
- Add DeepSeek v4-flash and v4-pro models.
- DeepSeek v4 thinking mode is now supported.
  Toggle the lightbulb in the chat toolbar to
  enable. Reasoning summaries appear live in
  the conversation and round-trip correctly
  on multi-turn tool calls (fixes a 400 from
  the API when reasoning_content was missing).
- The “Configure AI Model Manually…” popover
  now has a section for custom HTTP headers
  that are appended to every AI request (chat,
  vector store, and file upload). Useful for
  proxy auth or routing tags. Custom headers
  override built-in headers with the same
  name. Values are stored unencrypted in
  iTerm2’s preferences.
- PDF chat attachments now work on Anthropic.
  Previously the bytes were mangled into a
  UTF-8 approximation; PDFs are now sent as
  native document content blocks. The chat
  attachment picker also disables files the
  current AI provider cannot accept, and
  rejected drag-and-drop attachments now show
  an explanatory alert instead of vanishing
  silently.
- In ttmux, the per-pane modifyOtherKeys state is
  now restored on attach (using tmux 3.5+’s
  pane_key_mode format), so reattaching while nvim
  or another app is running keeps the correct key
  reporting mode active.
- Open Quickly now uses recency as a
  tiebreaker, so the session list (whether
  the query is empty or matches several
  panes) is ordered most-recently-used
  first across tabs and windows. The
  current session is omitted from results
  since it is never a useful jump target,
  so Cmd-Shift-O followed by Enter now
  jumps to the most-recently-used other
  pane. A new preview side panel shows a
  snapshot of the highlighted session.
  Open Quickly can also be assigned a
  system-wide hotkey in Settings > Keys
  that works while another app is in
  front, without activating iTerm2 until
  you commit a selection.

Bug Fixes:
- iTerm2 no longer spuriously offers to reset
  terminal state or restore the tab and window
  title when the local hostname changes (for
  example when mDNS renames your .local host)
  or when you run sudo. Any two localhosts are
  now treated as the same host.
- AI chat no longer fails with a tool_use_id
  error after an auto-approved command. The
  tool call was dropped from saved history
  while its result was kept; the prompt is now
  repaired when reloaded, healing chats saved
  by earlier versions too.
- Session notes now keep their distance from
  the top-right corner of a session when it
  is resized, instead of from the bottom-left.
- A tab no longer shows a stale or missing
  session status (such as “waiting”) when a
  pane carrying a status is closed, moved
  between tabs, or reparented (for example by
  entering or exiting a workgroup). The tab’s
  aggregated status is now recomputed whenever
  its set of sessions changes.
- Full-screen programs that don’t use the
  alternate screen buffer (such as Claude
  Code) no longer destroy on-screen content
  when, on startup, they move the cursor to
  the top of the screen and repaint over it.
  The visible screen is now scrolled into
  history first. Requires shell integration.
- The “taking a long time to check state
  restoration” prompt no longer appears so
  readily right after login, when the system
  is busy and disk I/O is slow. The integrity
  check timeout is now extended in the first
  ten minutes after boot, the prompt's
  wording is friendlier, and it defaults to
  continuing rather than discarding windows.
  Issue 11809.
- Editing a color in a color well no longer
  silently switches the picker from sRGB to
  P3 (or back). The color space the well is
  showing is now preserved across the edit
  roundtrip. Issue 12720.
- The Python API server now takes an
  advisory lock on its socket directory at
  startup. A second iTerm2 instance sharing
  the same application-support directory
  (e.g. two non-suited copies launched from
  different .app bundles) will refuse to
  start the API server instead of silently
  unlinking and rebinding the original
  instance’s socket.
- Localhost detection no longer breaks when
  your computer's hostname changes (for
  example after switching networks). Whether
  a session is on the local machine is now
  recorded when the host is first reported,
  rather than recomputed later by comparing
  names. This fixes the git status bar, the
  workgroup diff list, opening local files,
  and uploads/downloads going stale after a
  rename.
- Pressing Enter to commit an IME
  composition (e.g. Chinese, Japanese,
  Korean) in the AI Chat input no longer
  prematurely submits the unfinalized
  candidate text.
- Open Quickly now updates the MRU order
  when you jump to a session, so repeated
  Cmd-Shift-O Enter cycles between the two
  most-recently-used panes instead of
  drifting onto a sibling pane that
  happened to be active in the destination
  tab. Issue 12799.
- Open Quickly recency now strictly follows
  focus order. Jumping to a pane no longer
  bumps the previously-active sibling in the
  destination window, and structural changes
  (closing a pane, splitting, restoring) in
  background windows no longer reorder the
  list, so Cmd-Shift-O Enter reliably
  toggles between the last two focused
  panes. Issue 12799.
- OSC color overrides (foreground, background,
  cursor, selection, palette, and the iTerm2
  SetColors variants) now survive macOS Light
  / Dark appearance switches and toggles of
  the separate light / dark colors profile
  setting. The override is written to every
  appearance variant of the profile key so
  it persists until OSC 110/111 or a manual
  reset clears it.
- The Cockpit orchestrator’s send_text tool
  now routes payloads containing control bytes
  (ESC, Ctrl-C, etc.) as raw keystrokes instead
  of bracketed pastes. The previous wrap turned
  embedded control bytes into literal pasted
  data, so e.g. sending ESC :q ENTER to a vim
  session inserted “^[:q” as text instead of
  quitting. Pure prompt-style text still goes
  through as a paste, as Ink-based TUIs expect.
- Showing the clippings panel in a window
  zoomed to fit the display no longer grows
  the window horizontally. The tab content
  area absorbs the panel’s width instead,
  mirroring the toolbelt’s behavior.
- The Install Claude Code Integration intro is
  now presented as a real sheet attached to the
  installer panel, rather than a subview
  overlay. Enter now correctly activates
  Continue instead of the Install/Next button
  it was visually covering.
- Workgroup peer-switch and toolbar shortcuts
  now fire no matter which view in the terminal
  window has keyboard focus, including the Diff
  peer’s Run Anyway button, the Code Review
  prompt’s text view, and the clippings table.
  They are now dispatched centrally instead of
  relying on the focused view to forward them.
- The Claude Code installer now reliably adds
  Enter/Exit Workgroup triggers to divorced
  sessions whose original profile was picked.
  The previous pass matched on the dict’s
  KEY_ORIGINAL_GUID, which could be stale
  after an arrangement reload. The walk now
  also consults each live or buried session’s
  runtime originalProfile reference.
- The Code Review prompt overlay no longer
  drifts out of sync with light/dark mode. The
  panel cached a CGColor snapshot of
  windowBackgroundColor resolved against an
  arbitrary NSAppearance.current, so its
  background could disagree with its own text
  view. It now uses the existing layer-backed
  solid color view, which refreshes the color
  in updateLayer under the correct drawing
  appearance.
- The heavy window border no longer leaves its
  corners unbordered on low-opacity windows. The
  corner-radius detector failed on transparent
  windows (their interior is not opaque enough),
  so the border fell back to a wrong radius and
  the corner arc was clipped away. Detection now
  works at any opacity, with a better per-OS
  fallback radius. Issue 12882.
- The heavy window border now stays flush with
  the window edges instead of sometimes drawing
  as a smaller inner rounded rectangle. Its view
  could be left at a stale size and was not kept
  in sync with the window. Issue 12882.
- The legacy (non-GPU) renderer now invalidates
  only the lines that actually changed, instead
  of repainting the entire view on every cell
  update. Heavy TUI animations (e.g. spinners
  that rewrite a single line at high frequency)
  use significantly less CPU on hosts where the
  GPU renderer is disabled. Issue 12790.
- Anthropic tool calls reloaded from a chat
  transcript would fail with HTTP 400 because
  the function output got serialized as plain
  text instead of a tool_result block. The
  parser stored the tool_use id only on the
  inner FunctionCall while the serializer
  looked on the outer wrapper, so the id was
  lost on round-trip. Both fields are now
  populated so persisted tool calls survive
  the round-trip.
- Anthropic requests no longer 400 when a
  stray user message gets persisted between a
  tool_use and its matching tool_result. The
  request builder reorders so the tool_result
  is always emitted immediately after the
  tool_use, with any intervening messages
  bumped to after it.
- Fix a launch crash when a saved status bar
  layout referenced an RPC-provided text
  component whose configuration was missing
  the registration request (for example, from
  a partial profile restoration). The base64
  decoder dereferenced a NULL pointer instead
  of returning nil. Issue 12861.
- The “Respect shortcuts from System Settings >
  Keyboard > Keyboard Shortcuts > Keyboard”
  option used subset matching on modifier keys,
  so a system shortcut bound to Ctrl+Right (or
  any other strict subset of an event’s
  modifiers) would also intercept
  Ctrl+Shift+Right and similar keystrokes.
  Modifier comparison is now exact. Issue 12859.
- When launched with -suite, orphan adoption
  could no longer reattach to surviving
  multi-server daemons after a state-database
  loss. The application-support directory is
  already isolated per suite, but daemon
  sockets were also being named with the
  suite in the filename, while the orphan
  adopter (and the settings-export exclusion
  list) still expected the plain
  iterm2-daemon- prefix. The suite is now
  carried only by the containing directory,
  matching how the dotdir fallback already
  worked. A transitional fallback accepts
  the {suite}-daemon-N.socket form so betas
  that wrote that name don't strand their
  daemons across the upgrade. Issue 12860.
- Fix a crash when a Python API client invoked
  a function whose argument string contained
  non-BMP characters (for example, emoji). The
  expression tokenizer’s optional-path
  recognizer indexed by Unicode scalar while
  the surrounding tokenizer tracks UTF-16
  positions, so the offset could run past the
  scalar count and trap. Issue 12856.
- When ESC #3, #4, or #6 (DECDHL/DECDWL) was
  received mid-line, characters already on the
  line were correctly doubled in size but the
  cursor was not advanced to compensate, so
  text printed afterward overwrote the right
  half of the existing characters. The cursor
  is now repositioned when the line’s width
  class changes.
- ssh:// URL handling and Bonjour-discovered
  host profiles now find ssh through the user’s
  login shell PATH, so Homebrew’s ssh (or any
  ssh outside /usr/bin) is used. The advanced
  setting SshSchemePath, when changed from its
  default, still wins. Issue 3415.
- The faint-text opacity slider in Profiles >
  Colors now has a minimum of 0.1, and existing
  profiles with a stored value below 0.1 are
  clamped at runtime. A value of 0 caused SGR 2
  text to render in exactly the background
  color, making it invisible. The slider’s
  tooltip was also incorrect (it described
  minimum contrast); it now describes faint
  text opacity.
- The “open password manager automatically”
  feature no longer triggers when a shell
  script briefly disables terminal echo to
  suppress the visible echo of an OSC report
  response (e.g. it2getvar, it2profile -g).
  ECHO must now stay off for at least 0.2
  seconds — tunable via the
  DetectPasswordInputDebounce advanced
  setting — before iTerm2 treats it as a
  password prompt.
- Fix the Minimal-theme tab bar overlapping the
  terminal in fullscreen when adding a second
  tab with “Hide tab bar when there is only
  one tab” enabled. The titlebar accessory
  hosting the tab bar grew from zero to its
  full height but the content view was not
  re-laid out to leave room for it. Issue
  12811.
- The Touch ID for sudo offer no longer relies on
  AppleScript admin elevation, which fails on
  macOS 26 with EPERM when writing to
  /etc/pam.d/. Accepting the offer now lets you
  copy the install command or run it in a new
  iTerm2 window where you can enter your sudo
  password.
- Fix a bug where suppressing a warning would
  not stick across launches when prefs are
  loaded from a custom folder with “Save
  changes: Automatically.” The debounced save
  could lose the race against app exit, so
  the next launch overwrote the just-saved
  suppression with the stale remote copy.
  applicationWillTerminate now flushes
  synchronously when Automatic mode is on.
- Fix Ctrl-letter keystrokes appearing as
  literal text (e.g., “0x4” for Ctrl-D) in
  tmux -CC mode when the tmux server has
  extended-keys enabled and an inner app
  has turned on modifyOtherKeys. Control
  bytes 0x00–0x1F are now sent through
  send-keys with the -H flag on tmux
  3.0a or newer, which bypasses tmux 3.5’s
  silent literal-text fallthrough for
  unmodified C0 bytes. Issue 12845.
- Fix dragging a tab or split pane onto a
  window with only one tab. The destination
  window’s tab bar is hidden in that case, so
  AppKit could not deliver drag events to it
  and a brand-new window was created instead.
  Tab bars are now temporarily shown for the
  duration of any tab or session drag.
  Issue 12846.
- Extend dual-mode SGR to underline color
  via CSI 58:12:Rl:Gl:Bl:Rd:Gd:Bd m and
  CSI 58:13:Nl:Nd m.
- Request the badge authorization option
  from UNUserNotificationCenter so the
  dock-tile bell-count badge actually
  renders and the “Badge application
  icon” toggle appears in System
  Settings › Notifications › iTerm.
- Hide a top-right status indicator while
  the mouse is hovering an inline button
  it overlaps, so the button stays
  reachable.
- Honor IT2_APP_PATH in the iterm2
  Python library’s AppleScript cookie
  request, matching the “it2” CLI. Lets
  external scripts targeting a -suite
  dev build get a cookie from the right
  iTerm2 instance instead of whichever
  one macOS routes to. Issue 12850.
- Honor IT2_SUITE when checking for
  disable-automation-auth in the iterm2
  Python library, so external scripts
  targeting a -suite instance no longer
  silently fail with 401 when stock
  iTerm2 has “Always Allow All Apps”
  enabled. Issue 12864.
- Add advanced settings to customize
  the window border color for focused
  and unfocused windows (requires
  “Show border around windows” with
  no title bar).
- Add a per-profile “Contextual Alternates”
  toggle to the font picker’s options menu,
  for fonts that expose calt. Lets you keep
  calt-based coding ligatures on for one
  profile while turning off surprising
  substitutions (e.g. Monaspace rendering
  [] as a checkbox) on another. Issue 12847.
- Add an Erase All Settings and Data
  button in Settings > General >
  Settings. It offers to export first,
  then erases preferences, profiles,
  saved sessions, scripts, and the
  contents of ~/.iterm2 and the app
  support folder, then quits
  immediately. Issue 12852.
- Add keyboard shortcut bindings to
  workgroup toolbar items. Navigation
  cluster (back, forward, reload) and
  the standalone reload toolbar item
  each support a per-action shortcut,
  with defaults of ctrl-cmd-left,
  ctrl-cmd-right, and cmd-R. Shortcuts
  take precedence over profile key
  bindings and main menu items but
  defer to global key bindings.
- Add an optional per-peer shortcut
  for jumping to a peer in a workgroup.
  Configurable in the workgroup
  session settings; when unset, the
  built-in opt-shift-cmd-number
  fallback still works. Custom peer
  shortcuts route through the same
  pipeline as workgroup toolbar
  shortcuts, so they beat profile
  bindings and the main menu but
  defer to global key bindings.
- Fix vertical window resize being
  silently rejected when the window
  sits partly below the screen.
- Coalesce pending re-evaluations of
  interpolated strings. Previously,
  every dependency change enqueued a
  fresh dispatch_async on the main
  queue, so a tmux -CC pane title that
  changed many times per second could
  pile millions of blocks onto the main
  queue and exhaust memory. Issue
  12857.
- Built-in browser: hide our message
  handlers and skip the page-world
  Notification, geolocation, console,
  and audio bridges inside Cloudflare
  Turnstile, hCaptcha, and similar
  challenge frames so the captcha
  probe sees an unmodified Safari
  surface.
- Built-in browser geolocation: stop
  silently dropping requests when
  permission is not granted; the page
  now receives a PERMISSION_DENIED
  error instead of hanging. Push the
  decision to the calling frame so
  navigator.permissions.query reflects
  reality, and route success and error
  callbacks back to the originating
  iframe instead of always the main
  frame. Stop persisting system-level
  denials (Location Services off, OS
  prompt declined) as per-site
  decisions; only an explicit Allow
  or Block in the per-site dialog is
  remembered. The same fix applies to
  notification permissions.
- Honor the option-modified “Quit and
  Close All Windows” menu item. iTerm2
  now samples the option modifier at
  quit time and erases saved state when
  the user picked the option-modified
  menu item, so it actually closes all
  windows on the next launch. Issue
  12852.
- Clear tab status when a session’s
  program terminates (broken pipe or
  tmux detach) so stale status text
  and indicators no longer linger.
- Fix a stall after large output bursts
  when the main thread was reading every
  line of the burst to announce it for
  VoiceOver. Two changes: the LineBlock
  metadata provider no longer allocates
  a heap block per inner-loop iteration
  (which was churning through the objc
  associated-objects table on release),
  and the new-output announcement is
  capped to the most recent 256 lines so
  giant floods stop overwhelming
  VoiceOver’s speech queue.
- Fix Session Status toolbelt rows
  appearing in arbitrary order when
  the toolbelt is first opened. The
  initial population now sorts by
  priority like every other update
  path.
- Add a Diff workgroup session mode
  that defers running the configured
  command until there are staged or
  unstaged changes to show. The Claude
  Code workgroup’s Diff peer uses it,
  so the peer no longer launches
  difftool on a clean tree. Existing
  Claude Code workgroups are migrated
  on first launch so the Diff peer
  picks up the new mode automatically;
  flip it back to Regular in Settings
  if you prefer the old behavior.
- Add a urlHandlerCommand advanced
  setting. When set, clicking a URL
  (including OSC 8 hyperlinks and
  auto-detected URLs) runs it as a
  /bin/sh -c task with the URL in
  \(url) and a background-open flag in
  \(background), instead of handing the
  URL to the system. Its output goes to
  the Script Console. Lets you route
  links through your own script, e.g. to
  open in the background or pick a
  browser mode. Empty by default, so
  normal URL opening is unchanged.
  Issue 12878.
- Script Console no longer jumps to the
  top when a new entry arrives. The
  script list keeps its scroll position
  and selection, and a filtered log view
  stays put as new lines come in.
- Fix black, unreadable text in the
  Script Console Logs tab in dark mode.
- Session Stats now shows the correct
  keyboard shortcut for workgroup peers
  that have a custom peer-switch
  shortcut configured, instead of always
  showing the built-in ⌥⇧⌘ number.
- Jobs toolbelt and the status bar job
  popover gain a “Notify on Termination”
  right-click option. Monitored jobs show
  a bell next to their name, and when the
  chosen process exits a modal alert names
  the job and process ID.
- The badge no longer hides behind the
  clippings panel. It now right-aligns
  at the inner edge of the right-gutter
  panel area in both the legacy and GPU
  renderers.
- AI text-typing tools (send_text in
  orchestration mode and
  insert_text_at_cursor in
  session-bound mode) now accept a
  small backslash-escape vocabulary so
  the agent can drive control keys.
  Recognized: \\ for a literal
  backslash, \n, \r, \t, and \uXXXX
  (four hex digits) for any Unicode
  scalar. Set append_newline to false
  for a standalone control key (e.g.
  Escape) so iTerm2 doesn’t tack a
  newline onto it. Lets the agent
  send things
  like  for Ctrl-D,  for
  Ctrl-Z,  for Ctrl-L, and
   for Escape.
- Implement start_session for the
  orchestrator. The agent can now
  spawn a new window, tab, or
  vertical split via the existing
  start_session tool. Every spawn
  prompts for user approval inline
  in the chat, with the placement
  and command (if any) shown in the
  prompt. Returns the new session’s
  synthetic workgroup_id so the
  agent can immediately drive the
  new session with the other tools.
- Dropping a file onto the AI chat
  text field now offers to attach it
  when the current backend supports
  that file type, instead of always
  inserting its path as text. The
  choice can be remembered.
- AI chat can now attach images to
  OpenAI models (vision), and audio
  to OpenAI audio models on the
  chat-completions API. Attachment
  support is now decided by modality
  rather than a per-format allow
  list: if a backend can carry an
  image, PDF, audio, or video block,
  you can attach it, and an
  unsupported file is reported by the
  model instead of being silently
  refused.
- Announcements now become narrower
  when the clippings panel is visible
  so they no longer overlap it.
- Python API: GetPromptResponse now
  has excluded_subranges, listing the
  cell regions inside the command
  range that the shell marked as
  non-input via OSC 133;A;k=s|c|r
  (PS2 prefixes, right-prompt cells).
  Available on responses to
  async_get_last_prompt and
  async_get_prompt_by_id. Always
  empty on PromptMonitor.PROMPT
  notifications — fetch via the RPC
  after a COMMAND_END notification
  for the populated value.
- OSC 133 aid= now tracks nested
  shell-integration sessions: a local
  shell that runs ssh into a remote
  shell with shell integration (or a
  REPL that emits its own A/B/C/D)
  no longer confuses iTerm2's mark
  bookkeeping when the inner D's
  arrive before the outer's. Each
  mark carries the aid from its
  A/B/C/D markers and a parentAid
  pointing at the open mark it
  nested under. D;aid=X closes the
  matching command instead of the
  topmost. If an outer command dies
  (ssh tunnel drop, etc.) without
  the inner ever closing, the outer
  D cascade-closes every still-open
  mark whose parentAid chain leads
  back to it so no inner mark leaks
  as still-running.

-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA256

b41788621f844afc29a1aa54e7e3d8a37b7b6243eafb6168a4c4e12086b5d76d
-----BEGIN PGP SIGNATURE-----

iQIzBAEBCAAdFiEEoSV4Xzv7YY5VD+aYJiz+XnkavhsFAmofQgEACgkQJiz+Xnka
vhvyNw/+JPQButWAzY0G4hL+B6VHO42o1K+AFsp0YQO2DfN7CAfHM53Hxbce/zdG
mDD2N4biCwbwqLlTRPf2xhmW9BJWf4BFMzPn9/f9z4FaaCfndIkvvvQk5B1sArHa
Bk8lBpuk13AMarY0NW652fG/W2LLGQs2eue8NzIkIKjNXn9Hht634TWEltiP8xIa
5ZguAHzGYERr0AksJ4oLQUd1FwEzxxDDpOjqULCTHT3HktEEDvK+vfWhgoMHNW91
EEKry4imT7mNvWRwsZ8hMVIp3LhjBcjL1EAVtPzYfPC5fE+ut4etWtzyIjhZVzmL
HqfgGp1h1ljeXfa/1ESJT4aKifFk8OBXccDB4TDemhKN8gENZQHMsSmw9gavDaEs
d2pCRTAVWqCfHD/aeORSU75vh3WwG7mnPFTf6BrpmP+waXowr2A7+cd+BjBcRxJH
SGHW5bXv7OW0BeXX4YKloMWdJIREUb2+WELFzf6cntPglYuPJOjQ9yut3qsvkUXl
bZXkEWSjD4h+1P6uja4VwApCDuNiEOSa6HCzhVaXvHOOC/QpV2Ry39GdOSjHVKwu
+IgayiRauqz3S2IPyrdn816bAd4hqg8dQS2gtAddjVMNPvZ1NjT/XQuBWWr8wXid
rMpXrPNUDuw4XRRoujc84CUlkDVGAE88b+xagYLQv1YYt8406hc=
=6xXi
-----END PGP SIGNATURE-----
```

#### [iTerm2 3.7.0beta2 (macOS 12.4+)](https://iterm2.com/downloads/beta/iTerm2-3_7_0beta2.zip)

This is the recommended beta build for most users.
Built on May 5, 2026.

[▾ Hide Changelog](<javascript:hideId('9148509807379078994')>)

```
Version 3.7.0beta2 was built on May 5, 2026.

Changes since 3.7.0beta1:

Major New Features:
- Claude Code integration is now functional (beta1
  shipped only an onboarding stub). It’s built on
  a new feature called Workgroups: a workgroup
  lets a small group of related sessions live in
  the same pane and switch between each other via
  a per-session toolbar (or open as splits or tabs
  instead). The Claude Code workgroup pairs a chat
  session with a Code Review session for reviewing
  Claude’s changes. Configure workgroups in
  Settings > Shortcuts > Workgroups; still a work
  in progress.
- The new Clippings side panel attaches a list of
  context items to a session, shown alongside the
  terminal. The Claude Code integration uses it
  for Code Review findings, command output
  snippets, and similar context. Items render as
  Markdown; press Space or click the magnifying
  glass for a Quick Look-style preview.

New Features:
- An AI chat that’s linked to a session can be
  docked into that session’s window. Use the chat
  menu’s “Put Chat in Linked Session” item; toggle
  visibility with View > Show Inline Chat.
- New Python API App.async_apply_layout reshapes
  one or more tabs in a single transaction: swap
  panes, restructure splits, move sessions across
  tabs and windows.
- New “dual-mode” SGR colors let programs emit
  different fg/bg for light vs dark mode so
  scrollback stays readable across appearance
  toggles. Use CSI 38:12:Rl:Gl:Bl:Rd:Gd:Bd m for
  24-bit and CSI 38:13:Nl:Nd m for 256-color (and
  48 for backgrounds).

Improvements:
- The it2 command-line tool can post a clipping to
  the Clippings panel via `it2 add-clipping`.
- New global variable iterm2.appBundlePath holds
  the path to the running iTerm2.app for use in
  interpolated strings.
- The Copy Smart Selection Action accepts an
  interpolated-string parameter so the copied text
  can be derived from the match (for example, a
  capture group) instead of always being the whole
  match. Also fixes Copy from the right-click
  context menu being a no-op.
- Relative timestamps now use Go-style suffixes
  such as +1m23s and +2h5m, giving sub-minute
  precision in the 1m–1h range.
- Background images can rotate through a folder of
  images at a configurable interval. Pick a folder
  instead of a file in Settings > Profiles >
  Window > Background.
- Settings > Profiles > Text > Special Exceptions
  has a new Add Preset… button that inserts
  entries for common Unicode blocks (Arabic,
  Cyrillic, Greek, Han, Hangul, Hiragana/Katakana,
  Private Use Area). You still pick the font.
- iTerm2 now overrides the Se terminfo capability
  so Neovim 0.12+ restores your profile’s default
  cursor on exit instead of a block cursor.
- Improved energy efficiency, particularly on
  Apple Silicon.

Bug Fixes:
- Fixed various hangs that could cause a beachball
  (closing the Settings window, changing tab
  style, slow or wedged opendirectoryd lookups).
- The git status bar no longer times out silently
  in large repositories such as Chromium. When a
  poll does time out, the bar shows “⚠ timed out”;
  click it to double the timeout and retry.
- Fix bell and other user notifications not being
  posted when iTerm2 is fully covered by another
  app.
- Fix the cursor jumping to the end while typing
  in the middle of an annotation.
- Fix long custom commands failing immediately
  with a zsh “unmatched '” error.
- Fix shell escaping of embedded apostrophes and
  CR/LF in single-quote (POSIX) and $'…' (bash)
  modes.
- Fix the session’s hostname variable going stale
  when the system’s initial hostname (e.g. a
  transient DHCP-provided name) differs from the
  hostname the shell later reports.
- Fix “Save Current Window to File with Contents…”
  producing a file with no contents.
- Fix tmux window shrink on first attach when a
  pre-tmux session was buried.
- Quarantined .iterm2arrangement files (downloaded
  from the internet) now require explicit
  confirmation before opening, with a summary of
  embedded risk factors (custom commands,
  triggers, SSH targets, Smart Selection Actions,
  etc.). Reported by @naxus-audit.
- Extend the state-restoration database integrity
  check timeout to 120s after an unclean shutdown
  so the “taking a long time” prompt doesn’t
  appear on every post-crash launch.
- The password-manager CLI picker now accepts
  plain files named `bw` and the `bw` symlink
  target (e.g. `bw.js`), which fixes selecting
  Bitwarden’s `bw` on machines where Homebrew
  installs it as a Node.js script.
- Fix carriage return (\r) handling in the tmux
  integration’s escape-sequence decoder.
- Fix old (deleted) iTerm installs being detected
  as the default handler for a URL scheme.
- ⌥Y and the Character Viewer no longer insert a
  backslash instead of ¥ on non-JIS keyboards. ⌥+¥
  on JIS keyboards now sends ESC+\ again.
- Fix positioning of the “Delete sends ^H” control
  in profile key settings.
- Fix the session title popup being too narrow in
  the Edit Session panel.
- The Always/Never choice in the “restore
  tab/window title when an ssh session ends”
  prompt is now broadcast to other sessions
  showing the same prompt.
- Fix orphaned quotes appearing in the Jobs
  popover when process names contain shell-special
  characters (e.g. `package@version`).
- Fix Smart Selection Rule edits not flushing the
  profile or updating running sessions until
  Settings was reopened.
- Fix a ghost divider painted inside a tool after
  a manual toolbelt splitter resize.
- Fix a stray en-space being appended to the git
  status bar when it shows rich stats.
- Fix various crashes.
- Fix various memory leaks.

You can use the following to verify the zip file on https://keybase.io/verify:

-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA256

411d8ab4c9132c4acb1874ef3f1aefc6c7c862fa5277221930a98400e387787a
-----BEGIN PGP SIGNATURE-----

iQIzBAEBCAAdFiEEoSV4Xzv7YY5VD+aYJiz+XnkavhsFAmn6YRsACgkQJiz+Xnka
vht0Ng/9FDgkXSqTjPawyxGgNRpN5JjJZgymijikKlFTLeiE4DAjJu88TJl6VcLg
9sa2NvVjaF7RsE5gVBPOj+O3rMjB3Ceu0SrcNBun60el3t3vUxLizfUICBTouTqH
LZoLkwV4w9rLbdlMewsakFmHTAHEvP4Lpd4cxVoqVrUm4y0FePkIGH4vEPBgMdKn
EP/e8Q5/YcqMSEHIdXOiChcIXeF5PgKZCJqcDus+wYufsJVsuW9oiOhq3n1CkgKs
ZEKWqDY2IWPg3W0Jqpi7zYav6hiwOC7eIdzwBVSqVsQ4G7yUXwZDdpNgr0oyj/EM
ohRtwEtKKc+vfSaPkPoapXmTvzAUcvdK0hHjdwhsG6I4Eo+eA0Dc0nTJ47VNIkdU
QI9fKBTJPfoSrve4dZJ0POSuX8B0LAEOzmr4ULT7JPWPJQN0yV6dZq8+dSn7VbBO
2ejOOyydl0ZZWEJOyUKS/gY/zu+42ufOQOXh9cVUs5Sr+NDy0mSIRKbhsEG5aCk+
111CKCnM3kyfNz/RVrkGn/bZuKopSJwtuJL53zZvcpZj7545Plr0+EmQ3Lb8pasA
5gNiXQkLt2mAZ8pWXbXwzQ94zXIq3GfhXA1b06dHwq4eZA4z0mZJkWnoLc1fqyvh
VYvmgk8PRuPmlWvj0Y3ASME0t5h7U6Tb3hC5fJ063pWap5Ao0eA=
=A8S1
-----END PGP SIGNATURE-----
```

#### [iTerm2 3.7.0beta1 (macOS 12.4+)](https://iterm2.com/downloads/beta/iTerm2-3_7_0beta1.zip)

This is the recommended beta build for most users.
Built on April 20, 2026.

[▾ Hide Changelog](<javascript:hideId('1583891265281940469')>)

```
Version 3.7.0beta1 was built on April 20, 2026

A note to beta users:
An awful lot of features have been piling up here
since the last release off the main branch was
many months ago. I decided to bump the version
number up to 3.7. The changelog below is relative
to version 3.6.7 and duplicates some items in
betas since then.

Major New Features:
- A new Tab Status system was added. Sessions
  can now report status that appears on their
  tab with a custom subtitle, color, and dot
  icon. Triggers can set tab status from
  output, a new Session Status toolbelt tool
  lets you configure priority sorting with a
  drag-to-reorder popover, status is
  aggregated across split panes, and it is
  auto-cleared on shell prompt or session
  termination.

- Session Notes were added: floating,
  draggable, resizable, collapsible multiline
  text notes attached to a session that
  persist across restarts. A global or
  per-session toggle is available in the
  Notes toolbelt tool.

- You can now run multiple concurrent
  instances of iTerm2 side by side with
  independent settings. Launch with
  --suite=com.iterm2.unique-id-of-your-choice.

- Claude Code integration was added.
  This is still a work in progress as of 3.7.0beta1.

- The new Fold All menu item folds everyting
  (aside from folds at the very top of history).
  This makes it easy to keep history around
  without it getting in the way.

- You can now create screenshots including
  highlights and redactions using the Make
  Screenshot menu item.

- Session archives were added. The new Session >
  Archives menu has “Save Archive of Current
  Session…” and “Restore Archive…” commands, and
  remembers your ten most recent archives. A
  per-profile setting can automatically archive a
  session to a configured directory when it
  closes.  Restoring an archive reopens the
  session’s scrollback in a new window.

- Panes can be locked to prevent accidental drag
  and drop.

- Tabs can be pinned so they stay put and are
  protected from reordering.

- You can now assign a "job" to a trigger, which
  ensures the trigger is only active when that job
  is running. This makes it possible, for example,
  to write triggers that are only active while
  Claude Code is running.

- Most window types support initial size as a
  percentage of the screen (used to be only number
  of rows and columns).

New Features in Terminal Sessions:
- Double-width and double-height lines
  (DECDWL, DECDHL, DECSWL) are now supported
  via ESC #3, #4, #5, and #6.
- Custom in-terminal buttons with SF Symbol
  icons that emit a user-defined escape code
  when clicked. To add one, send
  OSC 1337 ; Button=type=custom;code=N;
  icon= ST. The code must be
  positive. To invalidate all custom buttons,
  send OSC 1337 ; Button=type=custom ST.
- A control sequence to programmatically
  fold and unfold blocks of output. Send
  OSC 1337 ; UpdateBlock=id=;
  action=fold ST (or action=unfold) where
  blockID matches a previously declared
  block ID (see custom escape sequence docs
  "Blocks" section for details).
- A new SetProfileProperty control sequence
  lets you change profile properties at
  runtime. Send
  OSC 1337 ; SetProfileProperty==
  [;=...] ST,
  e.g. set “Cursor Type” to 2 by encoding
  the JSON value 2 as base64.
- OSC 52 clipboard query responses now work
  with tmux 3.6+ in tmux integration.
- Added OSC 21337 for tab status. Send
  OSC 21337 ; indicator=<#rrggbb> ;
  status= ; status-color=<#rrggbb> ST
  to set the tab’s dot indicator, subtitle,
  and subtitle color. Send the same sequence
  with empty values to clear.
- Smooth-typing animation for underscore and
  vertical-bar cursors can be enabled in
  Settings > Profiles > Text.

Tabs, Windows, and UI:
- The control-sequence-controlled progress
  indicator is now shown in the tab bar.
- An active pane border can be displayed to
  highlight the focused pane.
- New Lock Size menu item and per-profile
  preference to prevent window resizing.
- You can now choose to show a Proxy icon in
  Compact and Minimal themes.
- The tab color menu now has a color picker,
  recent colors, and an eyedropper tool.
- Asymmetrical broadcasting via a per-session
  broadcast-source flag lets you prevent
  accidental typing in some sessions from being
  broadcast.
- New key binding action to send text without
  broadcasting.
- Nerd Font glyphs are now rendered in pane title
  bars and tabs.
- A unified dock badge combines bell count
  and tab status, and the old 999 cap on the
  bell count was removed.
- Split pane icons were added to the context
  menu.
- Hold Option when clicking a Split button in the
  Profiles panel to open the selected profiles as
  splits in a new window instead of the current
  one.

Triggers Improvements:
- Event-based triggers can fire on events such as
  a session ending or a hostname change.
- Triggers can be imported and exported as
  .it2triggers files.
- A regex can now be used to define word
  characters for a trigger.
- Nulls are now treated as spaces in trigger regex
  matching.

AI Improvements:
- AI chat can connect to LAN-hosted models
  over HTTP.

Python API Improvements:
- Move sessions to new tabs or windows via the
  Python API.
- Load URLs in browser sessions from the Python
  API.
- The Open URL API now supports a per-domain
  allowlist.

Password Manager Improvements:
- Bitwarden is now a supported password manager.
- Keeper Security is also supported.

Shell Integration Improvements:
- xonsh is now a supported shell.
- Better interop with Fish 4.3, which builds in
  some of shell integration.
- A new it2 command-line utility lets you perform
  common actions like creating a window at the
  command line. Run `it2 --help` for details.

SSH Integration Improvements:
- Better passphrase handling for SCP and
  private keys. Wrong passphrases now retry
  instead of falling through to an empty
  password, and encrypted-key detection was
  improved.

Tmux Improvements:
- Bracketed paste state is restored on attach
  (prep for tmux’s upcoming bracket_paste_flag
  format).
- Saner defaults for which window and tab a tmux
  attach uses.

Expressions and Variables:
- Arithmetic expressions and comparisons are
  now supported in interpolated strings.
- You can right click on a color in settings and
  choose "Bind to Expression" so that it will
  takes its value from an expression (e.g., a
  user-defined Variable or registered function:
  see the Scripting Fundamentals section of the
  documentation for details). The value should
  be a string like #ff8844.
- Same for checkbox settings. The value should be
  a boolean.

UI Improvements:
- Contextual alternates (calt) are enabled by
  default for ligature-capable fonts.
- Prettier, animated toasts.
- Rename dialogs, the pane menu, and the context
  menu now respect dark/light mode.
- Tab colors are written to all appearance
  variants so they survive light/dark switches.
- Customizable IME color.
- Cleaner glass material on the jobs popover.
- Scroll command marks to top (instead of
  centering) on Next/Previous Mark.

Input and Accessibility:
- VoiceOver now announces terminal output and
  deleted characters.
- Voice dictation now works.
- A repair button was added to fix key bindings
  corrupted by a 3.4.x-3.5.x migration bug.
- Ctrl/Option-modified function keys now work with
  third-party global shortcuts.
- 3-finger drag is now treated like a regular drag
  for mouse reporting.
- Offer to reset the key reporting mode when it
  gets stuck on.

Search and Selection Improvements:
- Folded content is searched in global search.
- URL search results extend across soft boundaries
  such as tmux pane dividers.
- “$” is now a default URL character for detecting
  URL boundaries.
- Search results refresh after window resize.
- Fix Cmd+G skipping matches after tail find.
- New “Copy or Paste” pointer action.
- New pointer action to copy link address.

Menus and Miscellaneous:
- New menu item to open new tabs next to the
  current tab or at the end (opposite of the
  default).
- New “Always show alerts with remembered
  selections” option.
- New “Buffer input by default” profile setting
  with menu item, indicator, and trigger
  integration.
- "Copy" menu item on status bar components to
  copy relevant information.
- Smart selection action URL is shown on hover.
- Offer to restore titles when an ssh session
  ends.
- New "Suppress notifications from the active
  session" setting.

Core Improvements:
- Significant Metal rendering speedups for
  non-ASCII text should result in higher frame
  rates.
- Framerate is capped at 30 fps in low-power mode.
- Crash-log search was moved off the main thread
  so app launch does not hang when there are a
  huge number of crash logs.
- Prompt for local-network permission on launch.

Settings Improvements:
- Window frames are remembered per-profile to
  prevent cross-contamination.
- Font zoom is preserved during Automatic Profile
  Switching.
- User-set colors are remembered separately
  from control-sequence-set colors so that they
  don't get reset by control sequence.

Bug Fixes:
- Fix various crashes.
- Fix wrong terminal size after exiting
  fullscreen with multiple tabs.
- Fix tmux window shrink when a pre-tmux
  session is buried after attach.
- Fix theme not updating when changed via
  the Python API.
- Fix legacy hotkey window profiles
  defaulting to 100% width and height.
- Fix NSTextInputClient to use consistent
  absolute coordinates.
- Work around a macOS SVG bug that dropped
   elements referencing IDs nested in
   wrappers inside .
- Fix trigger color wells not prefilling
  with the trigger’s actual colors.
- Fix session tab color across appearance
  changes.
- Fix GPU renderer not respecting a custom
  underline color for non-ASCII text.
- Fix the color space of the block cursor
  in Metal.
- Fix wrong session used for GPU frame
  capture.
- Fix tmux italic rewriting not being
  skipped when TERM matches *tmux*.
- Fix paste bracketing race that could
  cause out-of-order chunks.
- Fix posix_spawn failing with “disclaim
  children” enabled.
- Fix async_set_profile() failing with
  REQUEST_MALFORMED on certain keys.
- Fix tmux close dialog Cancel button not
  preventing window close.
- Fix shell integration not working with
  Login Shell mode.
- Fix Nerd Font Bundle not persisting
  after restart.
- Fix full-bleed drawing of unfilled
  Powerline arrow glyphs.
- Fix multipart Kitty image transmission
  where independently-encoded padded
  chunks did not decode.
- Fix Kitty image transmission rejecting
  paths containing /dev/.
- Fix a “not clearing enough of character
  images” rendering bug.
- Fix adaptive framerate always overriding
  the non-adaptive setting.
- Fix status bar hidden behind the tab bar
  in fullscreen.
- Fix clearing a filter in a maximized
  pane causing the window to shrink.
- Fix divorced session drag-to-split
  losing divorce state.
- Fix a background-tab token execution
  hang when tabs were not rescheduled.
- Fix a per-window settings save bug.
- Fix “dynamic” tag being added to dynamic
  profiles when unwanted.
- Migrate legacy dynamic profiles that
  remained in user defaults.
- Mark navigation now visits marks created
  by triggers, not just prompt marks.
- Fix tmux -CC alternate screen not showing
  in apps like vim.
- Fix memory leaks.

You can use the following to verify the zip file on https://keybase.io/verify:

-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA256

25b989a1ba91b51bb01ef5d48ac78870e0fc8e1569d98decf9f2c9414b970690
-----BEGIN PGP SIGNATURE-----

iQIzBAEBCAAdFiEEoSV4Xzv7YY5VD+aYJiz+XnkavhsFAmnmxFIACgkQJiz+Xnka
vhsvpRAApYJm21stu/kYJaPcPKOndd9CsCa3BTITkHvK7rmCE29Va/nmsg+aLO2X
7FRQToAYzXQNzgzeDQVp7yTONWwxn2lrz/B2EaBos7f7cqG2XsxARiqfFo2VQ0u8
eSokeuzmW4hwnCCQ4srewzWL5dhU61mQVj7M7metjwHLlQBUAtzbbt/jkmO9/oSt
ypcFZZEhsq8sTVTS3gzy5pCtHV9DjeG0ahdlBTHMkbJw+G5hv/XI/6xK291TXMxU
qo33ZKwHnx569dbdvVTwOPnz8R6deH9NR97hbHupJUfSzgIXRjDq7fBSeg/E1sqh
gItjaiOPoF6qup2j5vRBDYLLjW1FT03kQrvi2zFfpdPnQ33EckFJvZUisjGdPmDF
I1hKF8H0prRzxg0GJzt9EGlHYcO1gNFPQyV8EqpHDe++Wh+LGcvp3IQGn+TNa5bv
1GLgwDC9iFJz+KhJzb7ygyUGBU4lqiCwQbigXNn1IG7cspOrP89WTprMGo9zY7u+
wNFeI4kelW8bZY1d0Kvm4tPdyz2Iel0/1b3ZodKn8uz4dPUAP2Xm0dVDcTGU1LZy
yu/2eCG+3ypl49GqG8QIiX9kIBWuVMGgQoaKrAWid1KPeXdq59QKOqAehpQlvKA7
QXibfSlPnp3y8/tnKqvuTxry3QDj31WOzCML2gOkFAbbQ9nsdWA=
=NrPP
-----END PGP SIGNATURE-----
```

#### [iTerm2 3.6.10beta1 (macOS 12.4+)](https://iterm2.com/downloads/beta/iTerm2-3_6_10beta1.zip)

This is the recommended beta build for most users.
Built on March 29, 2026.

[▾ Hide Changelog](<javascript:hideId('3680919936423712714')>)

```
Version 3.6.10beta1 of iTerm2 was built on March 29, 2026.

New Features:
- Add event-based triggers. These fire from events
  such as a session ending or the hostname
  changing. Issue 12735
- Add pinned tabs. Pinned tabs stay at the left
  side of the tab bar and cannot be reordered past
  other pinned tabs.
- Add support for taking screenshots.  Screenshots
  can be annotated with redactions and highlights.
  Use `Session > Make Screenshot`.
- Add smooth cursor slide animation. Enable
  `Settings > Profiles > Text > Smooth-typing
  animation`.
- Add ability to use a regex for characters
  considered part of a word in selection settings.
- Add xonsh shell integration.
- Add support for Unicode 17 character widths.
- Add a "Copy or Paste" pointer action.
- Add better options for dropped or pasted files.
- You can now click on the working directory
  status bar component to perform various actions.
- Add a color picker eyedrop option for tabs on
  right-click.
- Add an option to temporarily show alerts whose
  "do not show again" checkbox had been checked so
  you can change your mind. Use `Edit > Always
  Show Alerts with Remembered Selections`.
- Offer to reset key reporting mode when it is
  stuck on. Issue 12163

Other Improvements:
- Render at high frame rates more reliably on
  Promotion displays when `Settings > General >
  Magic > Maximize throughput at the cost of
  higher latency` is turned on.
- Big performance improvements for non-ASCII Metal
  rendering and when printing lots of non-ASCII
  text. Issue 12763
- Various performance improvements.
- Cap framerate at 30 fps in low power mode.
- Big performance improvements for restoring
  sessions with large folds.
- Big performance improvements for saving
  restorable state.
- Update Nerd Fonts to the latest version.  Issue
  12758.
- Update the ChatGPT model version for AI chat.
- Add $ as a default character in URLs.  Issue
  10338
- Render nerd font characters in tab labels.
- Allow AI chat to connect to LAN-hosted models
  via HTTP.
- Add Copy to the context menu for status bar
  components. Issue 12777
- Respect soft boundaries, such as tmux pane
  dividers, when finding URLs with Edit > Find >
  find URLs.  Issue 12778
- Filter empty args from process name display
  anywhere the jobs tree is shown.
- Add support for disabling ugly Tahoe menu item
  icons in `Settings > Appearance > General > Hide
  menu item icons`.  Issue 12780.
- VoiceOver now announces deleted characters.
- Search for crash logs in a background thread to
  avoid slow app launch.  Issue 12558
- Tweak left inset of stoplight buttons on Tahoe
  in Compact theme. Issue 12721
- Wait until the Python API socket is ready before
  launching scripts.  Issue 12776
- Enable developer extras in web views on older
  macOS versions.
- Improve Filter's behavior to avoid slowing the
  the UI while it works.
- Global search now finds results in folds.

Bug Fixes:
- Fix various crashes.
- Fix tmux -CC attach not showing the
  alternate screen (e.g., vim) correctly
  on attach.
- Fix automatic shell integration not working with
  Login Shell mode. Issue 12746.
- Fix bash shell integration failing when
  the app path contains spaces.
- Improve support for fish 4.3 in shell
  integration.
- Fix enabling Touch ID for sudo on macOS 26+.
  Issue 12753.
- Fix async_set_profile() Python API call failing
  with REQUEST_MALFORMED.  Issue 12784
- Fix smart selection actions not working when
  "cmd-click on files/urls" was off.
- Fix find next (Cmd+G) skipping matches. Issue
  12716.
- Refresh search results after window resize.
  Issue 12716.
- Fix Nerd Font Bundle not persisting after
  restart. Issue 12744.
- Fix visual glitches for some Powerline arrow
  glyphs. Issue 12745.
- Fix context menu not inheriting the window's
  dark/light mode.
- Fix Unicode escaping in quoted filenames when
  dragging files with non-ASCII paths. Issue
  12769.
- Fix overlapping controls in keyboard tab for web
  profiles in settings.
- Fix status bar layout being messed up when
  showing a find or filter field in some
  configurations.
- Fix a bug where tmux integration wouldn't always
  restore per-window settings correctly.
- Fix wrong text color in various places in dark
  mode.
- Fix a bug where a minimal window with a tab bar
  also had a visible standard title bar.
- Fix vertical misalignment in settings search
  field.
- Respect dark/light mode in rename dialogs.
- Preserve command line when switching command
  type in profile settings.  Issue 12781
- Fix bugs where AI chat couldn't always get
  command history.

You can use the following to verify the zip file on https://keybase.io/verify:

-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA256

6f3a0db049c0451185b55973fae9ad91c715a2a45e249270a41f6709d86825e9
-----BEGIN PGP SIGNATURE-----

iQIzBAEBCAAdFiEEoSV4Xzv7YY5VD+aYJiz+XnkavhsFAmnJdA8ACgkQJiz+Xnka
vhsyJRAAlPESKwYldpE8VJVR1m7MCuSOFx6ETXdU0aDuxLLFLN96QWFRKsDSWkX/
PxUFz1YuaxnFICF9U7omUtMn9G1OHTxhCgp1ta7wvbhEL7rxS0QevKhTxijGE2oF
x54csZzsYztLoSTP7+g5NKZW+gkE5TvcBuUhQbbDeERhLwveScfIOfLoUfJAqhGI
F+duE6SIIJs25O+XkW7/DnuB8fT8N148X4yGUIzrQTR8u5c/q+31FlfqL3exxbRS
4jRYnRNwp/ngg2RVNJ5o44Y9TqmNQHwLaPD5k+L3UipyU4FD38Ml7FC63gkVwGGn
9nnu73GBlF03zbuIa2wO4cRqVe4B/cpgmn3Qkhmb2PbrWkk8WOTA1VOwngAg08w6
bvBGOGMrE5lk0ChhR2WssKWT1KEY4kPT5ltnV8APdGD8jbEO35IHrxfAwyU41PW+
r1AK2qu1AjbZd6aLKAFy/knRIGTRbma0jMHbyBALH1IfsTsUTgWw3CnxjqbxLCP0
Rxp+plBSndItNSweYGQMpG2g6+kOEUjN/tylxGcyzl6LWrdeGIxPoBb39NRQxr5X
jnYa/dHHrl3HFxyptiHafdo9rsTfBZTiRR2bDmh/UaAhUz1ZL5zfKY0BAYb4x7N2
7MjhgoWgz/UYhRhsavQAeIixMazEG4ljMa0fY2g+hDg9GMd2mnE=
=YD35
-----END PGP SIGNATURE-----
```

#### [iTerm2 3.6.9beta1 (macOS 12.4+)](https://iterm2.com/downloads/beta/iTerm2-3_6_9beta1.zip)

This is the recommended beta build for most users.
Built on February 27, 2026.

[▾ Hide Changelog](<javascript:hideId('7495741542969139083')>)

```
Version 3.6.9beta1 was built on February 27, 2026.

New Features:
- Add Edit > Fold All, which makes it easy to
  collapse everything that's happened so far to
  focus on what you're working on.
- When you use sudo and get a password prompt,
  you'll get an offer to enable touch ID.
- Added "input buffering", which is a feature that
  stores what you type in a buffer temporarily.
  You can toggle it with Shell > Toggle Buffer
  Input. It can be enabled or disabled by a
  trigger, and sessions can start with input
  buffering enabled by default with a new setting
  in Settings > Profile > Session.
- Added a setting in Profiles > Colors to match
  colors in the 8-bit colorspace to your ANSI
  colors.
- The tab color menu has been extended to add a
  color picker and to recall recent colors.
- Added a pointer action to copy hyperlink
  address.
- Input method editor text color is now
  configurable.
- You can now enable an "active pane" border which
  makes it easier to tell which pane of a window
  is focused.
- There is a new control sequence to append a
  clickable button that sends a control sequence
  when activated:
  OSC 1337 ; Button=type=custom;code=N;icon=ICON ST
  Where N is a positive integer code identifying
  the button, ICON is an SF Symbol name like
  "star.fill", and ST is ESC \ or BEL.
  When clicked, iTerm2 sends back:
  ESC [ ? 1337 ; N ~
- Added control seqeunce to fold/unfold blocks.
  OSC 1337 ; UpdateBlock=id=BLOCKID;action=ACTION ST
  Where ACTION is "fold" or "unfold"
- Added the option to show offscreen command line
  for the current command.
- Add Lock Size feature to prevent window resizing
  via menu item and per-profile preference.
- Added support for Bitwarden integration in
  password manager.
- When broadcasting input you can mark a session
  as a "broadcast source" which means you can type
  in it to send to others, but those sessions not
  marked as sources ignore keyboard input.
- Add a new key binding action to send text
  without braodcasting key binding action.
- Any boolean or color profile setting can be set
  to take its value from an expression using the
  same syntax as interpolated strings. Right click
  on a checkbox in profile settings, click "bind to
  exprsesion", and enter an expression like
  "user.mySetting". See the docs on Scripting
  Fundamentals and Scripting Variables for more
  details.
- Add a new control sequence to set a profile
  property.
  ESC ] 1337 ; SetProfileProperty=KEY1=VALUE1[;KEY2=VALUE2...] ST
  KEY = profile property name (e.g., "Cursor
    Type", "Blinking Cursor")
  VALUE = base64-encoded JSON value
  ST = string terminator (ESC \ or BEL)
- Add menu item to tabbar context menu to open new
  tab next to current tab/at end.
- Most window types can now be configured to have
  an initial size that is a percentage of screen
  size rather than a fixed number of rows/columns.
- You can now run multiple instances of iTerm2
  concurrently with separate configurations by
  passing `-suite ` when
  launching iTerm2 by executing
  iTerm2.app/Contents/MacOS/iTerm2 directly with
  that command line argument.
- Move 'new tabs open at end of tabbar' out of
  advanced settings.

Improvements:
- iTerm2 now responds to OSC 52 queries when using
  tmux integration with tmux 3.6.
- Support git diff index/worktree path prefixes in
  semantic history
- Add repair button to fix key bindings corrupted
  by keycode 0 bug in versions 3.4.x-3.5.x.
- Add option to preserve window size on tab bar
  visibility change only when resizing would push
  window off-screen.
- Add session variable isBroadcastSource.
- Add a setting to suppress notifications from the
  active session.
- Add support for arithmetic expressions and
  comparison using the ternary operator ?: in
  interpolated strings.
- Add pane locking to prevent accidental
  drag/drop. You can toggle it in the terminal's
  context menu or the per-pane title bar's menu.
- Make annotations less ugly
- Treat 3 finger drag like regular drag for mouse
  reporting.
- Improve ai model protocol autodetection.
- Performance improvements for extremely long
  lines.
- Make toasts prettier and animated.
- In beta, function keys should now work as
  compose/dead keys.
- Improve detection of encrypted private keys when
  making an SCP connection.
- Update AI models to latest.
- Searching for multiline queries now works
  reliably.
- Improve the appearance of terminal buttons.
- Improve placeholder text contrast in search and
  filter fields.
- Remember user-set colors separately from those
  set by control sequences so when a control
  sequence resets colors it doesn't override the
  user's manually set value.
- Clear Script Console text views when window
  closes to prevent unbounded memory growth.
- Scroll command marks to top of view instead of
  centering when navigating with Previous/Next
  Mark.
- Show a message in settings when no profile is
  selected.
- Tab dragging is now much smoother and tabs fight
  against leaving their tabbar a little bit.
- Improved contrast for mono app icon style.
- Prevent inactive tabs from starving the active
  tab when both are very busy.
- Make tmux attaching window/tab setting sane.
- Offer to restore titles when an ssh session
  ends.
- Don't add a 'dynamic' tag to dynamic profiles.
- Show smart selection action URL on hover.
- Tweak position and spacing of stoplight buttons
  in minimal in macOS 26.
- Make the Open Profiles window move to the
  current Space to avoid switching spaces when you
  try to use it.

Bug Fixes:
- Fix traffic light position in Minimal theme
  with custom tab bar height on macOS 26, and in
 Compact theme.
- Fix disclosure button being hard to click in
  quit dialog.
- Fix color space of block cursor in Metal.
- Fix crashes.
- Fix missing statusbar in fullscreen.
- Fix missing Tahoe dividers when there are 3 tabs
  or in dark mode.
- Fix support for dictation.
- Fix clearing filter in maximized pane causing
  window to shrink and pane to become 2 columns
  wide after unmaximizing.
- Fix smart selection falling back to word
  selection when dragging into trailing nulls at
  EOL.
- Fix a bug where mark navigation would only visit
  prompt marks, not trigger-created marks.
- Try to fix bug where deepseek gets confused
  after a tool call.
- Improve UI when authenticating for SCP.
- Don't terminate automatically when closing the
  alert box asking if you want to restore.
- Fix broken focus ring in search bar in macos 26.
- Fix missing web menu after installing browser
  plugin.
- Always use the local directory when creating a
  new session that reuses the previous session's
  directory rather than one from shell integration.
- Fix text replacement to look at whole words, not
  substring prefixes.
- Fix Kitty image file transmission incorrectly
  rejecting paths containing /dev/ as a
  subdirectory.
- Fix bug with ctrl+option keypresses being
  misreported as just option in modifyOtherKeys
  mode.
- Fix overly strict base64 decoding in KittyImageController.
- Fix bugs with progress bars: they were hidden
  behind per-pane title bars and the validation
  block was wrong which prevented SetProfileProperty
  from working.
- Fix Kitty protocol a=T (transmit+display) with
  identifier=0
- Don't rewrite SGR 3 to SGR 7 in tmux integration
  when TERM matches *tmux*. This should fix
  reverse video/italics being mixed up.
- Fix tab switch rendering glitch on multi-monitor setups.
- Make determinate progress indicator in tabbar go
  clockwise from 12 o'clock.
- Fix improper truncation of tahoe tab titles.
- Fix missing window title in maximized-style windows.
- Fix a bug where close buttons might not appear
  over tabs on hover.

You can use the following to verify the zip file on https://keybase.io/verify:

-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA256

7d02db7e1a1e825b731edcb2d03c5eb94d8bf40cfbcce7e4c335c5f624c608eb
-----BEGIN PGP SIGNATURE-----

iQIzBAEBCAAdFiEEoSV4Xzv7YY5VD+aYJiz+XnkavhsFAmmiPWsACgkQJiz+Xnka
vhsJFw//fJw3tXjcTetNU6owjexiO1wuAIDED+Arus7HmIWsvBMPZAoXe9HqepMZ
DpPHiUWgxtJkTFQS5M4Z9Gsq9/stPmXQvSpIewnqprskSfheFFhAy06gynpFx7wp
vJjaGTWvUJnqr3NjPapDS3CPO5sUWew/ZL5ZQa5QB9XBIb/BKCeT1pyiHg9EVg0x
RXjZJynapbYC9wGfnLxoWkU3KT+XsUEG1I/N0miG/B+OxJ1LoBT+zryZjnDVSH+2
ZhyLWoL9lAhA5sF5FDLp2+U3vGD+MgKdcY9LVmY1Pa2VQJRXLubmP/K50CJjjbVx
KB1maMgWGtNQkn/kxclyf41PzcvaIZwBX5rbFqQsT3JAsS6GUbbQy+jr/CxBAMQA
WQi5Nw1yYu43DROu3IbR+AY5G4OdJbrfF+NGzY60NHjThQ6wQMTUllIpTj7RO3af
iUE9VloP8CP6f8WsDcs7iagXr8LMx3CI9msYosCcuwlLhrhz7YWMsABED6UII6Ah
Ph1zLc4vg6R6BHlw8pngjBGAEygkXmZ2Xtk1zu8FDHD646n3L/LbEsaNsNLlvCmA
lOzAvDSOCt3SOK00mS4Hfian+05BmVZ5YrjrRLS08VFKzPh9hrffTZGvS67kmvvC
GMfMu94rviBmQ7YeoBAQ1YFL0SP49ZntLN95Of1FZ2x+FPi/0ro=
=mbMr
-----END PGP SIGNATURE-----
```

#### [iTerm2 3.6.7beta3 (macOS 12.4+)](https://iterm2.com/downloads/beta/iTerm2-3_6_7beta3.zip)

This is the recommended beta build for most users.
Built on February 1, 2026.

[▾ Hide Changelog](<javascript:hideId('5517717069546949687')>)

```
Version 3.6.7beta3 was built on February 1, 2026.

Improvements:
- Improve the appearance of terminal buttons.
- Improved contrast for the mono app icon style.
- Make determinate progress indicator in tab bar
  go clockwise from 12 o'clock.
- Text replacement now matches macOS behavior.
- Improve position and spacing of stoplight
  buttons in Minimal theme on macOS 26.
- The Open Profiles window now moves to the
  current Space instead of switching spaces.
- Offer to restore the tab and window title when
  the remote host changes.
- Reduced app size.
- Add progress bars to $TERM_FEATURES as P.

Bug Fixes:
- Fix various bugs in the Kitty image protocol:
  file transmission with paths containing /dev/,
  multipart base64 decoding, overly strict base64
  validation, and a=T with identifier=0.
- Fix tab switch rendering glitch on multi-monitor
  setups.
- Fix a bug where italics in tmux integration were
  displayed as reverse video when TERM contains
  "tmux".
- Fix a bug where the wrong session could be used
  for GPU frame capture.
- Fix incorrect truncation of Tahoe-style tab
  labels.
- Fix drawing of horizontal lines on non-retina
  displays in the tab bar.
- Fix a bug where the Web menu wasn't added when
  a browser session was active.
- Fix typo in error message for browser SSH
  connection.

You can use the following to verify the zip file on https://keybase.io/verify:

-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA256

fa99966c805d90a2c96ef206c2504048de1573bbde0c1714be9455437254b1df
-----BEGIN PGP SIGNATURE-----

iQIzBAEBCAAdFiEEoSV4Xzv7YY5VD+aYJiz+XnkavhsFAmmAHMIACgkQJiz+Xnka
vhtDwQ//Y+J2wOMcbr83ihB0vLu331v/VJ9AX6dW3eiznPm1U0fZmgihUxVILtlP
0G5pQrEPdbHZADmGhwfRRLg4RohPieLkwvLF9OMqLV4Ac22WAxpvqC+2WzCP5Jtx
1kGSAgCd0UEIfiy5TXhi+5KI5H+wQ4FfSPyPaZd4Ky5iAQhxFHjLsn+Q+JJExDsV
0/oQxEzsbGwznOilpUCwUT4iw/eXFjZXglMhJkqPg8577Dp77dJ0eG/OyshwKlle
9aoq+wmGByaPF23Uyldw/z7d019TBgK8j1Fgz0UGhIYJH9nAiQ04r3JGPD1DXsVw
yBQRTaASENO+igx6Enr+jDEI93z+s6023ONaylngQK5SRa24ttReQRHo9f2Iy3FY
vnCok3EVzyJa1jglK0IvjCZcLfSjc5aWVCMIDJVWbb2ShImEIOm4kwrwhtg57cSB
InRQa92mCgTgDqxVcTH+F6chUJr213HVcU4ytOp6fDqgrMc3ew/ASIGPRFV3eYPx
24OBhb8Lt7KjhECcnxmT+IWVq//eayH27Fz16iDDztcPArXdExuy/eLJoZi86sDo
c5hinAUq7tYdVXVL5UsaT2Gn8zng1lF1Vu+8G2FznExxzj6zNZ9yMLWwF8+beetS
PfzBf+EwFO4rFSTd1QLPhx9U3wVug1t0awopgtvI7C+jkUk1NZY=
=CiWc
-----END PGP SIGNATURE-----
```

#### [iTerm2 3.6.7beta2 (macOS 12.4+)](https://iterm2.com/downloads/beta/iTerm2-3_6_7beta2.zip)

This is the recommended beta build for most users.
Built on December 17, 2025.

[▾ Hide Changelog](<javascript:hideId('4486065135577946552')>)

```
Version 3.6.7beta2 was built on December 17, 2025.

New Features:
- You can now switch 1password accounts in the
  password manager using the ... menu next to the
  search field.
- Added profile settings to disable and configure
  progress bars.
- Added support for macOS "text replacements".
- Added session archiving. You can manually or
  automatically archive a session, which writes
  a full-fidelity copy of it to disk.
- OSC 8 hyperlinks can take a target= parameter to
  cause them to reuse an in-app browser.
  Example:
  OSC 8;target=example;https://example.com/ ST
- Added a new trigger type, Buffer Input, which
  you can use to defer sending keyboard input (for
  example, while waiting for a program to launch).

Improvements:
- Cmd-shift-click on OSC 8 URL opens it in a split
  pane.
- Visual improvements to some status bar
  components.
- Improve performance when timestamps are visible.
- Visual improvements for timestamps.
- Added many new natively rendered characters.
- Added support for dotted and dashed underline
  styles.
- Improve behavior of certain items in the context
  menu for very narrow windows.
- Natively rendered code gets a more legible
  comment color.
- Improved file type detection for native
  rendering of text (e.g., imgcat foo.yaml).

Bug Fixes:
- Fix various crashes.
- Fix incorrect entitlements for KeePassXC
  adapter.
- Fix crash on OSC 9;4 without parameter.
- Fix bugs in Kitty image protocol.
- Fix wrong button style for "add tab" button
- Fix various visual issues with tab bars.
- Fix a bug where non-native mouse cursors had the
  wrong hotspot.
- Fix a problem where a modal alert could get
  hidden by a hotkey window.
- Fixed a bug where tabs would switch unexpectedly
  in tmux integration.

You can use the following to verify the zip file on https://keybase.io/verify:

-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA256

e4adc160269a9d31132435b20fbe1aca021e55399cc12c02645288e7eefad2e8
-----BEGIN PGP SIGNATURE-----

iHUEAREIAB0WIQSAPIQGkYVsjnBRo2J0Et0TaFtKrAUCaUMfLAAKCRB0Et0TaFtK
rKYLAQDp6CCMtnGA1AWMPmFliB3s+V5aN7bbofEI/uhR1sU4+QD7BQEGjCDjw/kN
jodyXS9gr+9rwu4A2i1coRiFzXGC5IQ=
=hF1j
-----END PGP SIGNATURE-----
```

#### [iTerm2 3.6.7beta1 (macOS 12.4+)](https://iterm2.com/downloads/beta/iTerm2-3_6_7beta1.zip)

This is the recommended beta build for most users.
Built on November 19, 2025.

[▾ Hide Changelog](<javascript:hideId('3063760586707606633')>)

```
Note: These changes are relative to 3.6.6.

New Features:
- There is a new window style of "Centered".

Improvements:
- AI models updated.
- Web browser can now list directories with
  file:/// urls.
- Status bar search component is now
  color-configurable.
- Visual improvements to tab bar.
- Put snippets before folders in toolbelt and
  don't add top level snippets that have a folder.
- Add browser setting for where terminal links
  should open.
- Use default colors rather than current SGR color
  when scrolling lines into view.
- The SSH file panels now pick up favorites on
  Tahoe from Finder properly.
- Various small improvements to the Jobs status bar
  component.

Bug Fixes:
- Fix a bug where the tab bar would be invisible
  in full screen.
- Fix crashes
- Fix a bug where edge drags on Minimal tabbars
  dragged both the window and the tab.

You can use the following to verify the zip file on https://keybase.io/verify:

-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA256

24e600e9ce856c1226110f43b2344857dcc5f44e877dfb138819d67ab79eea5d
-----BEGIN PGP SIGNATURE-----

iHUEAREIAB0WIQSAPIQGkYVsjnBRo2J0Et0TaFtKrAUCaRzxCQAKCRB0Et0TaFtK
rP3dAP4sMW7rG6vKM5Cqzac3BvfEcrZaAUofTKBQj1URFYH5YwD/ckE8Aj/l2xD8
tF42EvJRwNwJ5M8xk29Yyzodftyars0=
=YLDX
-----END PGP SIGNATURE-----
```

#### [iTerm2 3.6.6beta3 (macOS 12.4+)](https://iterm2.com/downloads/beta/iTerm2-3_6_6beta3.zip)

This is the recommended beta build for most users.
Built on November 11, 2025.

[▾ Hide Changelog](<javascript:hideId('4161632859458931518')>)

```
iTerm2 version 3.6.6beta3 was released on
November 11, 2025.

Improvements:
- The web browser now shows more detailed SSL
  errors.
- Right clicking on a non-editable AI chat message
  now opens a menu with Copy.
- Added support for "polymodal alerts" to Python
  API, which combine combo boxes, text fields, and
  checkboxes.
- In tmux integration, OSC 1337-triggered reports
  are now sent.
- Tooltips are now dark when the window is dark in
  Minimal theme.
- Animate cursor movement gets a new setting which
  lets you also animate it when not in an
  interactive app.

Bug Fixes:
- Fix crashes
- Fix file descriptor leak
- Tab height in advanced settings now affects
  left-side tab bars in Tahoe.
- Fix a bug where windows without a titlebar were
  draggable by their top region.

You can use the following to verify the zip file on https://keybase.io/verify:

-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA256

8d56164c359f6d69319babcc8a7eafcf1a7c7f6d5e03c297920a1d9d480e1b92
-----BEGIN PGP SIGNATURE-----

iHUEAREIAB0WIQSAPIQGkYVsjnBRo2J0Et0TaFtKrAUCaRPZiAAKCRB0Et0TaFtK
rAgMAQCbYmlQKcb09vrjiPgvxaG/QerT6UUAHiN9W2KuwuyAtwEAjiZYZ+7Bc0q/
usWAu8Juff8OXpA5+wSD0dn8lSJiHWc=
=AqnL
-----END PGP SIGNATURE-----
```

#### [iTerm2 3.6.6beta2 (macOS 12.4+)](https://iterm2.com/downloads/beta/iTerm2-3_6_6beta2.zip)

This is the recommended beta build for most users.
Built on November 6, 2025.

[▾ Hide Changelog](<javascript:hideId('4281313009157723971')>)

```
iTerm2 version 3.6.6beta2 was released on
November 6, 2025.

New Features:
- Add a new key binding action to toggle any
  checkbox in settings.
- Add support for OSC 9;4 progress bar control
  sequence.
- When using AI chat, the commands it wants to run
  can now be passed through Apple Intelligence for
  a safety check.
- Add support for DECDSR 997 and DECSET 2031 for
  dark mode reporting.

Improvements:
- When pasting a multi-line string using Advanced
  Paste with paste bracketing enabled and waiting
  for a shell prompt before sending subsequent
  lines, send newlines outside of brackets so it
  doesn't hang on certain shells that treat
  newlines inside brackets as part of the paste
  rather than as end-of-command.
- You can now choose case sensitivity/regex in the
  status bar filter component.
- Show a menu to disambiguate quicklook vs
  dictionary lookup.
- Enable Undo/Redo in the AI prompt box.
- Change "master" to "main" in status bar settings
  for git component.
- Clarify window positioning options and add
  "remember position" (without remembering size)
  as an option. When no recorded position exists
  it falls back to smart window placement. This is
  also the new default behavior.
- Add support for IBM Bob to semantic history.
- Unbury tmux integration clients on app start
  when those sessions cannot be resumed. This
  keeps buried sessions from piling up. If you get
  a ton of windows on your first launch of this
  version, that's probably why.
- Make download over ssh integration work more
  reliably (reducing fallbacks to scp).
- The command info view now shows number of lines
  of output.
- Timestamps are now color coded to show how far
  in the past/future they are (future happening
  only when using baseline-relative timestamps,
  typically).

Bug Fixes:
- Fix crashes.
- Fix weird behavior by regex search and filter
  when using ^ and $.
- Fix a bug where editing a regex in a trigger
  caused keyboard focus to jump.
- Fix appearance of traffic light buttons in
  Tahoe.
- Context menu now correctly indicates whether scp
  or ssh integration will be used for a download.
- Fix a bug where some actions were missing from
  key bindings.

You can use the following to verify the zip file on https://keybase.io/verify:

-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA256

dab3250451272391270f18de99c28a654a505b97ead91c99f288b7c16d8d6c47
-----BEGIN PGP SIGNATURE-----

iHUEAREIAB0WIQSAPIQGkYVsjnBRo2J0Et0TaFtKrAUCaQ1IhAAKCRB0Et0TaFtK
rAf2AQC3RFFC3zQrE2gRE13aseu+idfjM/MKikOYwKCfG1M2JAD/WccjQuqWycRI
OLWbr/NdAyeJKNaEDSaesBZgDkkT/i0=
=ai/z
-----END PGP SIGNATURE-----
```

#### [iTerm2 3.6.6beta1 (macOS 12.4+)](https://iterm2.com/downloads/beta/iTerm2-3_6_6beta1.zip)

This is the recommended beta build for most users.
Built on October 24, 2025.

[▾ Hide Changelog](<javascript:hideId('1722197194591170604')>)

```
iTerm2 version 3.6.6beta1 was released on
October 23, 2025

Please note these changes are relative to 3.6.5.

New Features:
- Add KeePass integration to password manager.
- Add option to show title bars on individual
  panes even when there's only one pane.

Improvements:
- Improve performance after using search.
- Update the app icon to fix tilted appearance on
  macOS 15.
- Improve legibility of tab text in Tahoe theme
  against dark backgrounds.
- Open Quickly appearance improvements in Tahoe
  theme.
- Color picker now supports switching between
  different color spaces and device color space.
- Better error messages when a profile's command
  fails to execute.
- Update shell integration scripts.

Bug Fixes:
- Fix hang that could occur when moving cursor
  horizontally in certain situations.
- Fix "Open Link" dialog appearing behind and
  blocking the global hotkey window.
- Fix tabs incorrectly appearing red when
  reattaching to tmux sessions.
- Fix tab appearance in Tahoe theme for compact
  windows.
- Fix missing tab separators in Tahoe.
- Fix images disappearing after folding and
  unfolding a region, or after restarting iTerm2.
- Fix Kitty protocol images not displaying
  correctly.
- Fix AI chat getting stuck on "Executing..." even
  after commands complete.
- Fix slow prompt rendering caused by shell
  integration.
- Fix it2copy outputting base64 gibberish when
  using it2ssh.
- Fix hotkey windows not working properly.
- Fix page zoom controls mixing up percentage
  values.
- Fix function keys with shift + meta modifiers.
- Fix infinite loop with "Remap Locally" option.
- Fix crashes when changing margin colors.
- Fix crashes in browser smart selection.
- Fix crash when clicking annotation delete
  buttons.
- Fix crashes when folding text without proper
  context.
- Fix drag and drop of panes and tabs into browser
  sessions.
- Fix smart selection settings losing regex
  patterns when switching rules.
- Fix smart selection row heights not updating
  when editing.
- Fix layout issues in SSH save panels.
- Fix "Save Contents" not respecting the selected
  file type.
- Fix saved window arrangements that somehow
  became 0x0 in size.
- Fix support for symbolic hotkeys on macOS 15.
- Fix various crashes throughout the application.

You can use the following to verify the zip file on https://keybase.io/verify:

-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA256

cf05a50072cbe5c767b8ac1c7882f3377f4bed664a0da64cf1b51e61c332ba2d
-----BEGIN PGP SIGNATURE-----

iHUEAREIAB0WIQSAPIQGkYVsjnBRo2J0Et0TaFtKrAUCaPrRDQAKCRB0Et0TaFtK
rL7/AP9LsRJT7AsVLiJaozJE0GINP9tNod4RMBQ167pjYu+voAD+PkBSTtvvj5NR
Jb9LdsOkMhzsyFfz4qvjpHQL4aiUtKE=
=9Rgd
-----END PGP SIGNATURE-----
```

#### [iTerm2 3.6.3beta1 (macOS 12.4+)](https://iterm2.com/downloads/beta/iTerm2-3_6_3beta1.zip)

This is the recommended beta build for most users.
Built on September 29, 2025.

[▾ Hide Changelog](<javascript:hideId('1915883919737998181')>)

```
iTerm2 version 3.6.3beta1 was released on
September 29, 2025

Please note these changes are relative to 3.6.2.
There was no beta for 3.6.1 or 3.6.2.

Improvements:
- Update Open Quickly and AI Chat UIs to use
  liquid glass effects.
- Distinguish main from alternate menu items in
  Open Quickly.
- Add context menu items to open a URL in a split
  pane when you right click on a URL.
- Triggers settings panel is now resizable.
- Don't push the browser plugin when installing
  the AI plugin.
- Offer to open files in built-in browser from
  Semantic History.
- Remove OpenAI-specific verbiage.
- Don't require an API key for self-hosted AI
  models.

Bug Fixes:
- Turn off "remember the size and position of
  previously closed windows" by default.
  Fixes a problem where windows had unexpected
  sizes.
- Fix a bug where windows would have the wrong
  number of rows.
- Fix crashes.
- Work around Tahoe bug with autofill heuristic
  controller.
- Try to fix a bug where users experience slow
  performance/jitters on repeated keys.
- Fix UI alignment bug in Open Quickly.
- Deduplicate URLs in Open Quickly.
- Fix turning off proxy in browser settings not
  working.
- Unbreak prompt triggers in non-integration tmux.
- Fix dynamic profiles wrongly ignoring "use
  seprate colors for light and dark mode" setting.
- Fix UI problems in color picker in Tahoe.
- Fix how XTGETTCAP errors are reported to fix
  some vim plugins.
- Fix a bug where Tahoe would wrongly blur the top
  of a window after it was moved to a window from
  being a split pane.
- Fix bugs where keyboard shortcuts didn't work in
  input fields in alerts in buggy buggy Tahoe.
- Fix bugs in Kitty image protocol that prevented
  display.
- Fix UI bugs in filter field in status bar.
- Bring back arrangements to Open Quickly.

You can use the following to verify the zip file on https://keybase.io/verify:

-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA256

d1ddf7b3c04c10d72f931e729a4cfbe4ad8fb9d98b36b79788a09014abca4112
-----BEGIN PGP SIGNATURE-----

iHUEAREIAB0WIQSAPIQGkYVsjnBRo2J0Et0TaFtKrAUCaNsg3AAKCRB0Et0TaFtK
rGWjAQCnPWhfy93KCtj6YbonNKvhQHu+HX84vRL0v/BdHdrhVgEAgClCRIQqZFhL
GWmqNJ3JtgkZpc58nCC16H7iqUcSDcY=
=6Ghx
-----END PGP SIGNATURE-----
```

#### [iTerm2 3.6.0beta9 (macOS 12.4+)](https://iterm2.com/downloads/beta/iTerm2-3_6_0beta9.zip)

This is the recommended beta build for most users.
Built on August 3, 2026.

[▾ Hide Changelog](<javascript:hideId('4915128138722788906')>)

```
Version 3.7.0beta9 was built on August 3, 2026.

Changes since 3.7.0beta8:

Heads up: future betas will require macOS 13
(Ventura) or later. This is the last version to
support macOS 12. Sorry for the inconvenience!

New Features:
- iTerm2 > Suppressed Alerts is a new panel that
  lists warnings you silenced with "remember my
  choice" so you can turn them back on. For
  example, answering No and checking the box on
  the prompt that asks before displaying a
  terminal-initiated image silently disabled all
  inline images with no obvious way to undo it;
  now you can find that choice and clear it. The
  old "Always Show Alerts with Remembered
  Selections" command moves into this panel.
  Issue 12963.
- The manual AI model editor now offers one-tap
  presets for OpenAI-compatible providers
  (Ollama, OpenRouter, z.ai, Qwen, MiniMax) that
  fill in the endpoint for you, plus a Test
  Connection button that verifies your settings
  and API key before you save.

Improvements:
- Web URLs handed to iTerm2 (by the OS as your
  default browser, by "open -a iTerm2 ", by
  Velja, or by vim's gx) now open in the built-in
  web browser instead of launching a terminal,
  unless you have bound the scheme to a specific
  profile. If the browser plugin is not
  installed, iTerm2 offers it once. Issue 12431.
- Right-clicking an auto-detected URL (the kind
  ⌘-click opens) now offers Copy URL, which
  removes the hard line breaks from a wrapped URL
  so a clean link lands on the clipboard.
  Issue 12944.
- Right-to-left script support (bidi reordering
  plus Arabic and Persian cursive joining) is now
  enabled by default. You can turn it off in
  Settings > General > Experimental. Issue 4361.
- AI chat history is now replayed to the model
  from the exact bytes previously sent rather
  than rebuilt each turn, so the prompt cache
  stays valid across turns (including turns that
  ran a tool) and long conversations keep getting
  cheaper and faster.
- Added a Zero Data Retention setting under
  Settings > General > AI. Turn it on if your
  OpenAI organization has Zero Data Retention
  enabled. iTerm2 then stops sending
  previous_response_id and sets store=false, so
  chats no longer fail on the second message.
  Issue 12521.
- An AI chat linked to a terminal session can now
  watch that session and tell you when it reaches
  a described state or condition, without
  polling. Previously only orchestration chats
  could set watches.
- ⌘-click now linkifies very long URLs in full.
  Previously only the first couple thousand
  characters were clickable; the linkifier now
  scans onward to the next separator, handles
  internationalized (IDN) hostnames, and no
  longer joins a URL to unrelated text across a
  hard line break.
- When AI chat types into a terminal with the
  insert-at-cursor tool, a newline is now sent as
  Return so it submits the line in programs like
  Claude Code instead of inserting a literal
  newline.
- Preferences search now finds several Colors-tab
  settings that were previously unsearchable,
  such as Border around active pane, Use custom
  tab color, and the light/dark color controls.
- The Script Console has a Clear Terminated
  button that removes stopped script and
  connection entries, so it no longer grows
  without bound (and slows the app) when you
  repeatedly restart a script. Issue 12942.
- A new tmux window opened with ⌘T now picks up
  the profile's custom tab title, if one is set.
- iTerm2 now probes the local network on every
  launch so macOS keeps it in the Local Network
  privacy list. This recovers the permission
  after a tccutil reset or an OS upgrade, fixing
  commands like "ping 10.0.0.1" failing with "no
  route to host". Issue 12956.
- Faster rendering of text with many colors (such
  as syntax-highlighted code) by reusing
  attribute dictionaries across color spans
  instead of rebuilding one per span. Issue
  12763.

Bug Fixes:
- Fixed a local privilege issue where the
  orphaned-session server adopter connected to a
  socket in a world-writable directory without
  checking who owned it. A local attacker could
  pre-create the socket and man-in-the-middle a
  restored session, capturing keystrokes and
  output. The peer's identity is now
  authenticated before anything it sends is
  trusted.
- Fixed a way for an authenticated Python API
  client to exhaust iTerm2's memory by flooding
  it with WebSocket ping frames while never
  reading the replies. Inbound buffering is now
  bounded and such a client is disconnected.
  Credit to NSEcho.
- A sixel image whose String Terminator was
  written as ESC ESC \ instead of ESC \ is no
  longer discarded, leaving a stray backslash on
  screen. The image now renders. Issue 12259.
- ⌘-click again opens files in JetBrains IDEs
  (IntelliJ IDEA, WebStorm, Rider). iTerm2 now
  invokes the IDE's launcher directly so the file
  opens in the already-running instance instead
  of silently starting a new one. Issue 12958.
- Toggling Caps Lock under the Kitty keyboard
  protocol with "report all keys as escape codes"
  no longer sends an "A". It now reports the Caps
  Lock key's own code. Issue 12922.
- Fixed the Kitty keyboard protocol SET request
  destroying the whole flag stack instead of
  modifying only the current frame.
- The OSC 9;4 progress bar drawn in the tab is no
  longer hidden by the active-pane border when
  both are enabled. Issue 12960.
- In tmux -CC sessions with pane-border-status
  set to top or bottom, panes are no longer one
  row too tall (the bottom line went unused and
  the cursor landed a row high after
  reattaching). Issue 12925.
- tmux panes no longer receive stray focus-report
  escape sequences when the server's focus-events
  option is on. Focus reporting now turns on only
  when the pane's own program requests it, so it
  no longer pollutes the shell prompt or flips
  bash's vi mode. Issue 12933.
- Make Screenshot no longer drops ASCII
  programming ligatures (-> => != and so on) when
  the profile and font support them.
- The Centered window style now looks and behaves
  like a normal window (title bar, the close,
  minimize, and zoom buttons, and the merged
  chrome of the
  Minimal and Compact themes), except that it
  stays centered. It also no longer changes size
  when you minimize and restore it. Issue 12918.
- A left- or right-of-screen window no longer
  changes width when you add a tab whose profile
  has a different width. Issue 12917.
- Split-pane dividers in different rows or columns
  can now be dragged into alignment: a divider
  snaps to a matching divider elsewhere in the
  tab when it comes within half a cell, fixing a
  sub-cell misalignment that whole-cell drag
  steps could not correct. Issue 12932.
- Modified function keys (such as Shift-F5) no
  longer lose their modifier in a tmux
  integration (tmux -CC) session, which sent the
  unmodified sequence instead of the xterm form.
  Issue 10717.
- The suggested filename for Save contents no
  longer contains colons or slashes, which macOS
  rendered as "/" in the save panel and Finder.
  Issue 12931.
- The command info popover's "Started at" time
  now honors the system 24-Hour Time setting
  instead of always using a 12-hour clock.
  Issue 12929.
- Fixed several VoiceOver problems in the
  terminal: QuickNav now engages without toggling
  it off and on, content no longer goes stale
  when output arrives during an interaction, and
  the review cursor no longer jumps to the top.
  Issue 12920.
- Reshaping a tab through the Python API's
  apply-layout call no longer leaves the window
  with no focused pane, so typing works without
  first clicking a pane.
- Switching between the main and alternate screen
  buffers no longer resets a manual key-reporting
  choice when both screens report the same flags.
- Pressing Undo Close when the last closed
  session cannot be revived no longer leaves an
  invisible empty window behind, which also
  crashed Python API scripts with a runaway
  refresh loop.
- Fixed a black-holed companion relay connection
  that could leave the Mac believing it was
  connected for hours over a socket the relay had
  already dropped. A keepalive ping that gets no
  response within ten seconds now tears the
  socket down and reconnects.
- A three-finger drag over an app with mouse
  reporting on (tmux with mouse on, or vim with
  mouse=a) no longer produces both the app's own
  selection and a native iTerm2 selection at
  once.
- Fixed various crashes.

You can use the following to verify the zip file on https://keybase.io/verify:

-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA256

9e22d52ebe7a49d07807053c6ab0fe0b4b5e804b9d10fa57a9432aade72a91cf
-----BEGIN PGP SIGNATURE-----

iQIzBAEBCAAdFiEEoSV4Xzv7YY5VD+aYJiz+XnkavhsFAmpxPYMACgkQJiz+Xnka
vhu6MBAAgQ3X4kCI2maboQKNtubV9ULVRZnWvtkTL3g5IfVyGfICK2v39KE9TyZJ
UPTSJPQIkp11pSoa7AloVPtAbPsJPs0qonbNmbg5hicohumSeQEV9CRe2h9439zD
UnZuf5Y1+SeuVR/oZ29F9nP2qNU8AhsO2KPwigMTSJ3f/YiFokHPnxjO5HpEuMY+
yMaIbBrTW975kHNb/TbHCfBKatTfcGeC4cRTjnmDgd+gHyj/Ye1KWrVI7rnPekvf
sSxG9JP4ZH3OUwCqowndT81uPk06HfUrqvJH5xITfcO1apy9bmF0symuoDnqp2X+
m+UAKfVZiIOEQAl3/7+nh/MAC6vSPQz/WZtF8wB8kK5Y8QlhpQ/KgfEEb65Lok8M
+vBKqQIcyizVcZa9yDG7CoaEnvsgZTgJnbIf4c7XLI0GwwjQsR1I61ktpe1ybCa3
L0LwazT3b96sQMOiSJDeN4c996vbUJV7XB/GZB+HRjn9n9BGaLkRnqflUqAXbhsT
Nxt8txRHBUlDfXOGLgnWErEmmiC1PUt4kvCopm/abCDPz9ZsWq0l4HmIKB/c7VOr
oV07CVnVnYbT+bTs8V4zFMblD8SEZPPtg5gMrYFDWLcR4BJaZ14qzs0wvNdwHsTJ
9bf3/nwMqbW5D1J/twngNHK62WUJKKcLmNakcPl2kuF3JGbF/Qg=
=Drgq
-----END PGP SIGNATURE-----
```

#### [iTerm2 3.6.0beta4 (OS 10.15+)](https://iterm2.com/downloads/beta/iTerm2-3_6_0beta4.zip)

This is a release candidate.
Built on September 9, 2025.

[▾ Hide Changelog](<javascript:hideId('3977382373894835481')>)

```
Version 3.6.0beta4 of iTerm2 was built on September 9, 2025

New Features:
- You can now fork an AI chat conversation by
  right clicking on a message and selecting Fork.

Other improvements:
- Update SSH find panel to use liquid glass.
- Make tab bar look better in Tahoe.
- Use system open/save panel with button to switch
  to SSH panel.
- Use compact controls in settings.
- Update autoupdate UI for Tahoe.
- Require a plugin to use web browser feature.
- Update control spacing for Tahoe appwide.

Bug fixes:
- Fix a bug where the window title was off center
  in Compact theme.
- Fix position of New Tab button in tab bar
- Don't show subtitles in Compact theme.
- Fix various crashes.
- Ensure tmux profile is not a browser profile.

You can use the following to verify the zip file on https://keybase.io/verify:

-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA256

e8258b35fd1c84f38b935275aa9b3b4e64e6ef6bbf5382cb2b3febcc9852746f
-----BEGIN PGP SIGNATURE-----

iHUEAREIAB0WIQSAPIQGkYVsjnBRo2J0Et0TaFtKrAUCaMCsrgAKCRB0Et0TaFtK
rOoTAP9AeMrRHhSCFion9bOcSLOl8ssdiaLNj+X93wrqqVzQAQD+MFfP5xwn5I6M
5T4XyWyA6CBn+AlNcQfb//6zaDimswY=
=jS+s
-----END PGP SIGNATURE-----
```

#### [iTerm2 3.6.0beta3 (OS 10.15+)](https://iterm2.com/downloads/beta/iTerm2-3_6_0beta3.zip)

This is the recommended beta build for most users.
Built on September 3, 2025.

[▾ Hide Changelog](<javascript:hideId('209661106473113804')>)

```
Version 3.6.0beta3 of iTerm2 was built on September 3, 2025

New features:

- In Edit Session, triggers now show a performance
  histogram to help you diagnose slow triggers.
- Unicode 16 support.
- Add Tahoe-style tab bar.

Other improvements:
- This version was built with Xcode 26 and should
  be a good citizen of macOS 26.
- Updated app icon for macOS 26.
- Add icons to menus for macOS 26.
- Add help text for hard-to-understand key binding
  actions.
- When search is restricted because a command is
  selected, indicate that this is the case in the
  find panel.

Bug fixes:
- Fix a bug where navigating to a split pane by
  numeric shortcut when there was a maximized pane
  did not reveal the active pane.
- Fix a bug where search results would sometimes
  be found outside a selected command.

You can use the following to verify the zip file on https://keybase.io/verify:

-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA256

22c85495a30206c1bdd07a26259c7c7eacfa723aea4faaa7567010d97a3819e6
-----BEGIN PGP SIGNATURE-----

iHUEAREIAB0WIQSAPIQGkYVsjnBRo2J0Et0TaFtKrAUCaLjUcQAKCRB0Et0TaFtK
rHCRAQDDuI+5gFjNvlfke1mHPLTWHb8YAXllSDHvBSInzIvXRQD7BJEJECZtj4aq
zKI/FyH6crZ9DBd7ppQbFCGERAYOQCo=
=tWqv
-----END PGP SIGNATURE-----
```

#### [iTerm2 3.6.0beta2 (OS 10.15+)](https://iterm2.com/downloads/beta/iTerm2-3_6_0beta2.zip)

This is the recommended beta build for most users.
Built on August 20, 2025.

[▾ Hide Changelog](<javascript:hideId('8233284761871540869')>)

```
Version 3.6.0beta2 of iTerm2 was built on August 20, 2025

New features:

- Filter now supports regular expressions.
- If you connect to a remote host with ssh
  integration, you can view files there in the
  in-app browser by cmd-clicking on them.
- Most save and open dialogs now let you pick
  files on remote hosts you are connected to using
  ssh integration.
- AI chat can now interact with the browser.
- All iTerm2 features that make sense are now
  available in browser profiles.
- Add support for gpt-5

Other improvements:
- Inactive sessions can not resize the window.
  Mitigates an nvim bug.
- http is now allowed in Quicklook
- Illegal values are allowed temporarily while
  editing numeric fields in settings.
- AI chat gained a stop button, a model selector,
  and a button to toggle reasoning.

Bug fixes:
- Fix a bug in replacing content with decoded
  base64 where it sometimes was not available when
  it should have been.
You can use the following to verify the zip file on https://keybase.io/verify:

-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA256

6b2e4364c776b2101acabfd4cb70ec2dcc52622587f934b6fff1f5587be65d86
-----BEGIN PGP SIGNATURE-----

iHUEAREIAB0WIQSAPIQGkYVsjnBRo2J0Et0TaFtKrAUCaKYIKAAKCRB0Et0TaFtK
rLQGAQDtBq8ISv254rpdva5T+3EVqzfyuEECELyPdCSHMzrK5gEAka+gxbSsf+3M
MN5kxE0gmI1/+09fPmth9fcrACHY1dM=
=2iW3
-----END PGP SIGNATURE-----
```

#### [iTerm2 3.6.0beta1 (OS 10.15+)](https://iterm2.com/downloads/beta/iTerm2-3_6_0beta1.zip)

This is the recommended beta build for most users.
Built on July 28, 2025.

[▾ Hide Changelog](<javascript:hideId('2648840769804872414')>)

```
Version 3.6.0beta1 of iTerm2 was built on July 28, 2025

Only macOS 11 and later are supported for this
release. Sorry :(

New Features:
- iTerm2 is now a web browser as well as a
  terminal emulator! In Settings > Profiles >
  General, set "Profile Type" to "Web Browser".
  Many existing features already work in browser
  sessions, such as key bindings, smart selection,
  navigation, open quickly, focus follows mouse,
  and the password manager. Form filling, adblock,
  reader mode, and removal of distracting elements
  are already there. More will come as we progress
  towards a stable release of 3.6.0.

Other Improvements:
- Anthropic is now available as an AI provider.
- Delay sending text at start until the window
  finishes entering full screen mode.
- Tildes are now expanded in the folder for
  automatic logging.
- Various performance improvements.
- Automatic profile switching job rules now match
  against the full command line as well as just
  the job name.
- Draw cursor guide over powerline glyphs when
  native powerling glyphs are enabled.
- Don't require keychain access to open settings
  window.
- Background colors now extend all the way to the
  edges by default. You can disable this with
  Settings > Advanced > Extend background color into
  margins in alternate screen mode.

Bug Fixes:
- Fix crashes.
- Fix a bug where relative timestamps could be
  incorrect.
- Fix a crashw hen right clicking in some text
  fields in settings.
- Fix crazy weird animations when animating cursor
  movement.
- Make "fold to named mark" pick the last mark
  with a given name.
- Fix a bug where folding to named mark would
  sometimes place the collapsed line in the wrong
  place.
- Fix a bug where an invisible composer window
  could be left behind, preventing you from
  clicking on the top of the terminal.
- Don't add snippets to the top level menu if they
  have tags.
- Fix a crash when modifying a dynamic profile
  through the settings UI.

You can use the following to verify the zip file on https://keybase.io/verify:

-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA256

007bd3bd6b495ea587362946cf998033b6533893064ee060b3188fe28bab5289
-----BEGIN PGP SIGNATURE-----

iHUEAREIAB0WIQSAPIQGkYVsjnBRo2J0Et0TaFtKrAUCaIf83wAKCRB0Et0TaFtK
rFZZAPwMXiCQbMBJpePGolpapSgM5zANmx33r3YJJb+Rr/kcaAEAn6k1KJAd9LF6
RSDjVwP+75UTHheZnUaesOSYKBY73Js=
=u7B+
-----END PGP SIGNATURE-----
```

#### [iTerm2 3.5.15beta1 (OS 10.15+)](https://iterm2.com/downloads/beta/iTerm2-3_5_15beta1.zip)

This is the recommended beta build for most users.
Built on June 16, 2025.

[▾ Hide Changelog](<javascript:hideId('6452588660102125114')>)

```
Version 3.5.15beta1 of iTerm2 was built on June 16, 2025

New Features:
- Huge improvement in throughput for printing
  ASCII text (when there are no triggers).
- Timestamps can now be shown adjacent to session
  content rather than overlapping it. You can
  configure this in Settings > Profiles > Session >
  Timestamps.
- A conversational UI for chatting with LLMs has
  been added under Window > AI Chats.
- Added Edit > Replace Selection > Replace with
  Pretty-Printed JSON. This is useful to improve
  readability of JSON and lets you hide/show
  subsections.
- Added Edit > Replace Selction > Replace with
  Base64-(En/De)code value.
- Added a new trigger that lets you modify any
  stylistic attribute of text by using SGR codes.
- The Snippets Toolbelt tool was revamped to show
  the tag-defined hierarchy.
- Menu items are now accessible through Open
  Quickly, making it into a command palette.
- There is a new key binding action, Copy Mode
  Commands, that lets you perform copy mode
  actions (e.g., enter copy mode, move the cursor
  around, make a selection, and so on).
- Added Settings > General > Experimental for
  features that are almost but not quite ready for
  prime time. Right-to-left text support and SSH
  Integration for ssh: URLs is there.
- AI settings were revamped. You can now set it to
  always use the recommended model for your
  provider so you don't have to constantly update
  it.
- When using SSH integration, there is a new menu
  item "Shell > ssh > Download Files" that opens a
  file picker that lists files on the remote host
  to download. Transfers go over ssh integration
  so no new connection needs to be made.

Other Improvements:
- If you try to set a hotkey to a commonly used
  shortcut, request confirmation.
- If you have right-to-left support enabled, it is
  now on by default in alternate screen   mode.
- Improve appearance of key bindings in settings.
- Improve appearances of some natively rendered
  powerline glyphs.
- Whitespace is now automatically trimmed from AI
  API keys.
- Add a new key binding action "Copy Interpolated
  String".
- Secure settings are now stored in /usr/local if
  your home directory is a network mount.
- Saved cursor position from DECSC is now reflowed
  when resizing.
- Background image path can now be interpolated
  strings.
- Dimming is temporarily disabled while in colors
  settings.
- The context menu now shows how strings would be
  base64 (en/de)coded.
- Navigating to the next or previous mark now
  selects the command if command selection is
  enabled.
- Improve the appearance of in-terminal buttons
  when they overlap text.
- The UI for setting "send text at start" in
  settings now has an expanding text box if you
  feel like writing a lot.
- Detect when mouse reporting and DEC 2048
  reporting was accidentally left on by watching
  for characters being echoed back.
- Semantic history now searches ancestors of the
  working directory if the path you click has a
  prefix in common with a suffix of the working
  directory.
- Some menu items now show a floating window that
  explains their purpose when you hover over them.
- Minor improvements to the appearance of the
  Composer.
- Named marks are now accessible through Open
  Quickly.
- Added a settings button to the selected command
  buttons so you can disable command selection.
- SSH integration now lets you set the path to
  ssh. You can set it in the UI under Settings >
  Profiles > General > Configure or by setting the
  SSH environment variable if you use it2ssh.
- The UI for setting up triggers and smart
  selection rules has been reworked.
- Menu items were moved around to make the Window
  menu less absurdly large.
- DEC 2048 is turned off automatically when
  the current hostname is detected to have
  changed.
- The appearance of announcements has been
  updated.
- Prevent the accent menu from appearing behind
  hotkey windows.
- Added "Settings > Profiles > Terminal >
  Click on a path in a shell prompt to open
  Navigator" to provide a new way to navigate the
  filesystem.
- Secure settings are now used to record which
  hostnames can have URLs opened by control
  sequence.
- Esc now closes the Open Quickly window.
- Added the option to hide the cursor when
  keyboard focus is lost.
- You can now right click on timestamps to set a
  baseline (but due to a bug it doesn't work with
  the GPU renderer. That will be fixed in the next
  beta).
- You can now right click on a text field in
  settings and select "Reset to default value".
- Settings search now uses a Porter stemmer for
  better recall. You can quote words or
  phrases to do literal search.
- Triggers and Smart Selection settings now show a
  beautiful railroad diagram of your regex.
- Add a new key action, Bypass Terminal, that
  allows systemwide shortcuts to be handled
  without the terminal window taking them.
- Semantic history can now be configured to send
  text instead of opening a file.
- Add support for macOS 15's feature where double
  clicking a title bar can be set in system
  settings to fill the screen.
- There is a new profile setting to automatically
  turn on alternate mouse scroll in alternate
  screen mode and another to restrict it to
  vertical movement.
- When opening settings the default profile is now
  automatically selected.
- In open quickly, you can now use /A to restrict
  results to open arrangements in tabs.
- Windsurf added to Semantic History editors.
- Detect when there is a non-default background
  color and extend it into the margins. In
  Minimal, it is also extended into window chrome.

Bug Fixes:
- Fix a bug when copying a session's settings to a
  profile where the per-session hotkey was also
  copied over.
- Fix a bug where an empty cd command was issued
  when running a command from an iterm: URL in an
  existing session..
- Fix a bug where an empty "gray" window could be
  left behind.
- Fix a bug where jump to selection didn't work.
- Systemwide hotkey is now hopefully more
  reliable.
- Fix a bug where silent coprocesses didn't work
  right with ssh integration.
- Fix a bug where restoring a window arrangement
  could cause windows to appear on the wrong
  screen.
- Fix some bugs in key reporting that differed
  from Kitty's behavior.
- Inline HEIC images now work.
- Fix a visual bug when selecting half of a
  double-width character.
- Fix many bugs in SIXEL image decoding.
- Fix a bug where reattaching to tmux integration
  after relaunching the app didn't work.
- Rich text is de-richified when pasting into
  Codecierge.
- Fix a bug with fish were you could end up with
  two prompt marks on adjacent lines.
- Fix various bugs with fold/unfold in conjunction
  with auto composer.
- Fix a bug where selecting a title provider
  vended by a Python API script sometimes did not
  work.
- Fix a bug where SSH Integration tabs would have
  an activity indicator when they were idle.
- Fix it2dl over ssh integration.
- Fix a bug where you could do Move Pane to Tab
  more than once concurrently.

Things Made Worse:
- Stylstic alternatives are now only available when
  ligatures are enabled to avoid taking a slow code
  path that most people don't want.

You can use the following to verify the zip file on https://keybase.io/verify:

-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA256

8e31cb83cf41a4ee8d9edfab0acf194d14cb5bb9422b5617194ab11c8663a24f
-----BEGIN PGP SIGNATURE-----

iHUEAREIAB0WIQSAPIQGkYVsjnBRo2J0Et0TaFtKrAUCaFD0oAAKCRB0Et0TaFtK
rCQRAP0fBzkKOZ0rf1RT5PZnEaL84gViyrhfLoVtWAoYf2I3KQD9GmzDIKLtuLK1
vTQyNgZZu5ED+t5F4xRIO5DqO4Qja/E=
=7d1N
-----END PGP SIGNATURE-----
```

#### [iTerm2 3.5.13beta1 (OS 10.15+)](https://iterm2.com/downloads/beta/iTerm2-3_5_13beta1.zip)

This is the recommended beta build for most users.
Built on April 7, 2025.

[▾ Hide Changelog](<javascript:hideId('1892038136003454996')>)

```
Version 3.5.13 of iTerm2 was built on April 7, 2025

Bug Fixes:
- Fixes a number of crashes.
- Fixes a bug where shortcuts for window tiling
  menu items did not work.

You can use the following to verify the zip file on https://keybase.io/verify:

-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA256

0fa409b56033543fa46ecafcdf4f1b676029ea47f89a0f45cbb3c905c7bc31a9
-----BEGIN PGP SIGNATURE-----

iHUEAREIAB0WIQSAPIQGkYVsjnBRo2J0Et0TaFtKrAUCZ/Q8bAAKCRB0Et0TaFtK
rESgAQDNYIcBebxZd7WCEmmhfd+VZnLxQmW9d8fdCIhlK5Gs1AEAlbf95PPJndGE
I81aAGf4hxbJH4l+aldhYaZCleFMKSU=
=6hV+
-----END PGP SIGNATURE-----
```

#### [iTerm2 3.5.12beta4 (OS 10.15+)](https://iterm2.com/downloads/beta/iTerm2-3_5_12beta4.zip)

This is the recommended beta build for most users.
Built on April 1, 2025.

[▾ Hide Changelog](<javascript:hideId('4946864796002525014')>)

```
Version 3.5.12beta4 of iTerm2 was built on April 1, 2025

Bug Fixes:
- Fixes a crash in beta3.

Release notes for 3.5.12beta3 follow:

- Fix a bug where advanced GPU settings could
  appear outside of settings.
- Fix a bug where opening a command from a URL
  could add an empty `cd` command.
- Fix a bug where empty windows could sometimes
  remain visible after changing window style.
- Fix a bug where emoji did not render properly
  with the GPU renderer.
- Fix some discrepancies in key reporting when
  using the Kitty protocol.
- Fix a bug when replacing text in history (such
  as when rendering content natively).

You can use the following to verify the zip file on https://keybase.io/verify:

-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA256

5390c683782ef792556d4b2f368e82a5957ae8966a166a7dc0c14f1babfeb813
-----BEGIN PGP SIGNATURE-----

iHUEAREIAB0WIQSAPIQGkYVsjnBRo2J0Et0TaFtKrAUCZ+whsQAKCRB0Et0TaFtK
rBgKAQCVS/isjDb4jcJXk3KLN5m56ECuCfbq1agJPo/CGk9QmgEAzF6Asgyck+dB
qoFlaGAt50+K072qzApvjRUxhI1U64Y=
=ubRx
-----END PGP SIGNATURE-----
```

#### [iTerm2 3.5.12beta3 (OS 10.15+)](https://iterm2.com/downloads/beta/iTerm2-3_5_12beta3.zip)

This is the recommended beta build for most users.
Built on March 31, 2025.

[▾ Hide Changelog](<javascript:hideId('1071686229109957467')>)

```
Version 3.5.12beta3 of iTerm2 was built on March 31, 2025

Bug Fixes:
- Fix a bug where advanced GPU settings could
  appear outside of settings.
- Fix a bug where opening a command from a URL
  could add an empty `cd` command.
- Fix a bug where empty windows could sometimes
  remain visible after changing window style.
- Fix a bug where emoji did not render properly
  with the GPU renderer.
- Fix some discrepancies in key reporting when
  using the Kitty protocol.
- Fix a bug when replacing text in history (such
  as when rendering content natively).

You can use the following to verify the zip file on https://keybase.io/verify:

-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA256

5d7193ae2569071c62442336b4df43a4a18ba01191e7025e3bc99b91b88ec4bb
-----BEGIN PGP SIGNATURE-----

iHUEAREIAB0WIQSAPIQGkYVsjnBRo2J0Et0TaFtKrAUCZ+rnrQAKCRB0Et0TaFtK
rGvrAP0XO3dEwJlTu+pDNoCZLmYMY7376zYHs98wJy3C5rHFoQEAoGM+6H9dxNr+
2SfzQ2MyYoYGiSn2iqS7QuEGCM4AvpE=
=jX62
-----END PGP SIGNATURE-----
```

#### [iTerm2 3.5.12beta2 (OS 10.15+)](https://iterm2.com/downloads/beta/iTerm2-3_5_12beta2.zip)

This is the recommended beta build for most users.
Built on January 27, 2025.

[▾ Hide Changelog](<javascript:hideId('7371259639234697332')>)

```
Version 3.5.12beta2 of iTerm2 was built on January 27, 2025.

New Features:
- In apps that support the new key reporting
  protocol (notably neovim) you can now map
  keys to Hyper, Super, and Meta.
- You can now opt to highlight non-default values
  in settings. Toggle it with the dropdown menu on
  the loupe in the settings search bar.

Other Improvements:
- Fix a hang on machines with contested GPU memory
  when using the GPU renderer.
- The zoom button menu is now enabled by default.
- Improve performance when uploading large files
  or pasting enormous strings.
- Some menu items moved around to reduce the size
  of the Window menu.
- You can now disable the secure keyboard input
  indicator by clicking on it and then following a
  link in the popover.
- When using a directory from Directory History at
  the prompt, escape characters like space.
- There's a new advanced setting to enable
  right-to-left text in alternate screen mode.

Bug Fixes:
- Fix crashes.
- Add a setting to Profiles > Terminal to use
  newline rather than carriage return for tmux
  integration. This fixes a hang when starting
  tmux integration on old/weird unixes.
- Fix a bug where the session hangs after a failed
  download.
- Fix a bug where all tmux connections in a window
  were detached when only a single one should have
  been.
- Fix various key reporting bugs, which mostly
  affects neovim.
- Fix a bug in the Jobs tool where entering an
  illegal signal name made the signal name combo
  box disabled.
- Fix a bug where the search result and mark
  indicators under the scroll bar didn't always
  fill the entire scrollbar region.
- Fix a bug in focus follows mouse mode where
  window order was unexpected and activating a
  window might switch desktops.
- Fix a bug where the initial window's size might
  be wrong on macOS 15.
- Fix a bug where shell integration injection
  didn't work in the presence of a custom shell if
  you have .hushlogin in your home directory.

You can use the following to verify the zip file on https://keybase.io/verify:

-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA256

7c6774e4fa07c0b6071955c0533ca5323293624248551c495abf0e8c92f4c5ce
-----BEGIN PGP SIGNATURE-----

iHUEAREIAB0WIQSAPIQGkYVsjnBRo2J0Et0TaFtKrAUCZ5hARAAKCRB0Et0TaFtK
rL11AP4pJgN2bI8RaSdrJp3hdBJb7uvpKhJNunxEQANtlGft7QEA5g8tzaQdcN7T
uSgvSg/skWdShv1JGgtwS9YIugtWPmU=
=ul/n
-----END PGP SIGNATURE-----
```

#### [iTerm2 3.5.12beta1 (OS 10.15+)](https://iterm2.com/downloads/beta/iTerm2-3_5_12beta1.zip)

This is the recommended beta build for most users.
Built on January 2, 2025.

[▾ Hide Changelog](<javascript:hideId('3510865892377715757')>)

```
Version 3.5.12beta1 of iTerm2 was built on January 2, 2025.

This release contains a critical security fix. I
strongly recommend updating immediately.

Who is affected?
----------------
You may be affected if you used the SSH
integration feature in any of the following
versions:

* 3.5.6
* 3.5.7
* 3.5.8
* 3.5.9
* 3.5.10
* Any beta versions of 3.5.6 and later.

What is the issue?
------------------
A bug in the SSH integration feature caused input
and output to be logged to a file on the remote
host. This file, /tmp/framer.txt, may be readable
by other users on the remote host.

When does this occur?
---------------------
The issue occurs if both of the following conditions are true:

1. Either:
   a) You used the it2ssh command, or
   b) In Settings > Profiles > General, the
      Command popup menu was set to "SSH" (not
      "Login Shell", "Command", or "Custom
      Command") AND "SSH Integration" was checked
      in the SSH configuration dialog. That dialog
      is shown when you click the Configure button
      next to the ssh arguments field in Settings.
2. The remote host has Python 3.7 or later
   installed in its default search path.

What should you do?
-------------------
* Upgrade immediately to version 3.5.11.
* Delete /tmp/framer.txt on affected hosts.

How I'm addressing this
-----------------------
I deeply regret this mistake and will take steps
to ensure it never happens again.

The code to write to log files in SSH integration
has been deleted and will not be publicly released
again.

If you have questions you can contact me at
[email protected].

You can use the following to verify the zip file on https://keybase.io/verify:

-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA256

825414c7aee75ee191a543f4b3d4fc25dfd1682c2d441d6038211f67dee5c5cd
-----BEGIN PGP SIGNATURE-----

iHUEAREIAB0WIQSAPIQGkYVsjnBRo2J0Et0TaFtKrAUCZ3btcwAKCRB0Et0TaFtK
rPA8AQDww2gyGXo0Q+vsiQ74RePN4jHYzWlCQK5XE0gBtEeVWQEAqcgg2e5B/hoi
7adZIEAIfeaLROYs+CQm9o8I5C8XD5I=
=Qmg8
-----END PGP SIGNATURE-----
```

#### [iTerm2 3.5.11beta2 (OS 10.15+)](https://iterm2.com/downloads/beta/iTerm2-3_5_11beta2.zip)

This is the recommended beta build for most users.
Built on December 17, 2024.

[▾ Hide Changelog](<javascript:hideId('4592104824749530589')>)

```
Version 3.5.11beta2 of iTerm2 was built on December 17, 2024.

New Features
- Session > Change Profile in Arrangement lets you
  edit an existing arrangement.
- Settings > Profiles > Text > Animate Cursor
  Movement was added. This makes it easier to keep
  track of the cursor as it jumps around in
  interactive apps.

Improvements
- You can now share triggers.
- The triggers settings panel now supports
  multiple selection.
- The custom xterm-* terminfos that ship with
  iTerm2 now define rmxx and smxx.
- Terminal.app compatibility key binding presets
  updated for current Terminal.app behavior.
- When you change the app's theme in Appearance
  settings, this now behaves like the whole app is
  in light/dark mode.
- You can now expand the profile command text
  field to enter a really long command more
  easily.
- When activating iTerm2 when focus follows mouse
  is on and a window that isn't frontmost has
  keyboard focus, prevent it from being reordered
  to the front.
- Fonts with contextual alternates will now use
  them by default.

Bug Fixes
- Fix a truly horrific memory leak.
- Fix a bug where Copy of a multi-line string
  would pick up the first line over and over.
- Fix various crashing bugs.
- Fix a bug where AI didn't work right when using
  the status bar composer component.
- Allow MonacoLigaturizedNFM to have ligatures.
- Fix a bug where the status bar filter component
  didn't work.
- Fix a bug where control+arrow key didn't work.
- Fix a bug where search highlights were the wrong
  color in dark mode.
- Fix bugs in dynamic profile rewriting that
  messed up colors.
- The OpenAI O1 models didn't work. Fixed.
- Fix a bug where menu items in the status bar
  Find component were disabled.
- Fix a bug in Natural Text Editing for
  option-delete.
- Fix a bug where secure copy's UI claimed that
  fingerprints used DSA, which was never true.

You can use the following to verify the zip file on https://keybase.io/verify:

-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA256

9fae83e7fb0e52dbcd89621eb985e49d0e7a22bf292581e8ab3010c8a6dfa41f
-----BEGIN PGP SIGNATURE-----

iHUEAREIAB0WIQSAPIQGkYVsjnBRo2J0Et0TaFtKrAUCZ2HvqgAKCRB0Et0TaFtK
rEo8AQC4SGNZfQvKZRKcQ4RpiVZuhw14OyCVYuQZyADRytG/7AD/bkZ7342zWtW7
3du9rQEZuzg8pAwg/TimgqBx6tDn+XI=
=7Jbf
-----END PGP SIGNATURE-----
```

#### [iTerm2 3.5.11beta1 (OS 10.15+)](https://iterm2.com/downloads/beta/iTerm2-3_5_11beta1.zip)

This is the recommended beta build for most users.
Built on November 26, 2024.

[▾ Hide Changelog](<javascript:hideId('7850873043611124086')>)

```
Version 3.5.11beta1 of iTerm2 was built on November 26, 2024.

New Features
- Right-to-left text is now rendered properly.
  Enable it in Advanced Settings by searching for
  "right-to-left". Please file bugs for any
  problems you find.
- Dynamic profiles can now be written to when you
  make changes in the Settings UI. You'll need to
  add a property named "Rewritable" to dynamic
  profiles that you wish to have this ability,
  and set it to True. When you attempt to change a
  dynamic profile in settings, you'll be prompted
  to have this done for you automatically.

Improvements
- AI now gets the output of `uname -s` rather than
  `uname`. The other info uname provided was not
  useful.
- If you have enabled "^-Click reported to apps,
  does not open menu", control-click will now work
  normally when mouse reporting is off.
- When alternate screen mode is disabled, scroll
  the current screen contents into history when an
  app attempts to enter alternate screen mode.
- Short drags of the "new tab" button now act as a
  click.
- UI improvements for the "disable transparency
  for fullscreen windows by default" setting.
- If you use the 1password integration, you can
  now right-click on an account to toggle whether
  an OTP will be sent.
- Added a new button to reveal the location of
  the AI plugin, and another button to force
  iTerm2 to re-check if it is installed.
- Add support for DEC private mode 80 (sixel
  scrolling).
- Move some files from application support to
  caches.
- Cancel hiding a hotkey window if it has a modal
  sheet attached.
- In advanced paste, turn off "wait for prompt
  before pasting each line" for shells that use
  paste bracketing because that would deadlock.
- Various minor improvements to AI UIs.
- Add a UI to fix broken saved arrangements.
- When an app tries to resize the window but is
  denied, notify the user.

Bug Fixes
- Fix various crashes.
- Fix the delete key, function keys,
  option+letter, and repeated keys in nvim.
- Don't snap to grid when using macOS's new tiling
  features.
- Fix a bug that screwed up saved arrangements,
  deleting their profiles.
- Fix a bug in sending inband resize
  notifications where the terminal letter of the
  control sequence was missing.
- Fix a bug where the cursor was in the wrong
  place after showing a Sixel image.

You can use the following to verify the zip file on https://keybase.io/verify:

-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA256

332ee330698c8190994a2d2a30cf76e2377f62f5305ddcd533a8a6627168138e
-----BEGIN PGP SIGNATURE-----

iHUEAREIAB0WIQSAPIQGkYVsjnBRo2J0Et0TaFtKrAUCZ0ZoXwAKCRB0Et0TaFtK
rOEyAP0TzEIHHWgQXgZ6MUCt4Yl+AaOELI0FOx1DrROH7uGRBQD/b16FDajtbjWx
tZo7UclJiDOItaRy26DjPL6oREAoWpc=
=QdJG
-----END PGP SIGNATURE-----
```

#### [iTerm2 3.5.6beta3 (OS 10.15+)](https://iterm2.com/downloads/beta/iTerm2-3_5_6beta3.zip)

This is the recommended beta build for most users.
Built on October 23, 2024.

[▾ Hide Changelog](<javascript:hideId('9032819635805369109')>)

```
3.5.6beta3, built on October 23, 2024.

3.5.6beta2 was inadvertently the same as 3.5.6beta1.

3.5.6beta1 was short-lived so its release notes
appear below.

New Features

Improvements
- SentinelOne users will be warned when upgrading
  from this version to the next if the update
  would be classified as malware. Hopefully.
- Show a warning when a Codecierge session goes on
  for a long time.
- Change how the status bar measures memory used
  to more closely match Activity Monitor.
- Add Gemini to the list of supported AI models.
- Scroll events now get reported when you mouse
  over an inactive window and use the scroll
  wheel/scroll gesture.
- Upgrade libssh2 to version 1.11.1. This affects
  the Download with scp feature.

Bug Fixes
- Fix some very common crashes.
- Fix a bug where colors in a dynamic profile
  might not be respected if the parent/default
  profile uses separate light/dark mode colors
  but the dynamic profile does not.
- Don't report option+keystrokes when using the
  Unicode Hex Input keyboard.
- Fix a bug where the offscreen command line could
  be wrong sometimes.
- Fix a bug where non-ANSI colors showed up in the
  hue/chroma visualization in colors settings.

Release notes for 3.5.6beta1, built on October 11,
2024, follow:

New Features
- You can now "fold" a section, which collapses it
  down to a single line. If you use shell
  integration, you can fold by clicking on the blue
  arrow next to the shell prompt. Alternately,
  select the command by clicking it once and then
  click the new fold button at the top of the
  selected region. If you don't use shell
  integration, you can select a range of lines and
  choose Fold from the context menu or Edit > Fold
  Selected Lines.

  To unfold, click the arrow in the margin or
  right click on the line and select Unfold or
  select Edit > Unfold in Selection.

- When saving a window arrangement you can now
  choose to save it to a file including the
  windows' contents. You can load an arrangement
  file with Window > Load Arrangement from File.

- Added `Window > Lock Split Pane Width` which
  tries to preserve the width of a split pane as
  the window's geometry changes.

- You can now choose to play a sound when the next
  mark is received, under Edit > Marks and
  Annotations > Alerts.

Improvements
- When you drag a window by its titlebar in the
  Minimal or Compact themese, bring the window to
  the front immediately.
- Global Search now searches the main screen of a
  session even if it is currently displaying the
  alternate screen.
- When mouse reporting is on and you click in a
  window that is not currently active, that click
  will not be reported.
- Add zed to the list of Semantic History editors.
- When you manually reset, clear the stack of
  hostnames to avoid incorrectly changing the key
  reporting mode.
- In macOS 15, if control-return would be
  reported, don't show the context menu.
- If you run iTerm2 from the command line, the
  --help argument now gives usage info.
- Some silly default key bindings interfered with
  macOS Sequoia's window tiling shortcuts. A new
  migration process offers to remove them for you.
- Remove special support for control-page up/down
  to scroll, which interfered with window tiling
  shortcuts. It was only there because of a
  misunderstanding 14 years ago.

Bug Fixes
- Hopefully fixed accessing machines on the local
  network and bonjour hosts on macOS Sequoia.
- Fix crashes.
- Fix a bug where locale settings didn't correctly
  update arrangements sometimes.
- Fix a bug where the number 100 sometimes didn't
  fit in numeric fields in settings.
- Fix accessibility bugs in macOS 15.
- Ignore empty host or user in OSC 7 URLs.
- Don't show that CSI u mode is enabled when key
  reporting flags are set.
- Fix minor drawing bugs.

You can use the following to verify the zip file on https://keybase.io/verify:

-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA256

dcb5e44fbb5bbefde3774f3b19b7a54fb0a5b5f68e041ce91d17a712b409074f
-----BEGIN PGP SIGNATURE-----

iHUEAREIAB0WIQSAPIQGkYVsjnBRo2J0Et0TaFtKrAUCZxlXggAKCRB0Et0TaFtK
rGKhAQCbp2F8WAZkIx8mMLXClq4cotJg46ETj7rFQfAJE+YoEQD+KqqIpSRIbePY
ibJHydSNv9GkQUuWlfNQs5rMxNqjVhs=
=MOy3
-----END PGP SIGNATURE-----
```

#### [iTerm2 3.5.6beta2 (OS 10.15+)](https://iterm2.com/downloads/beta/iTerm2-3_5_6beta2.zip)

This is the recommended beta build for most users.
Built on October 17, 2024.

[▾ Hide Changelog](<javascript:hideId('4738314204643773610')>)

```
3.5.6beta2, built on October 17, 2024.

3.5.6beta1 was short-lived so its release notes
appear below.

New Features

Improvements
- SentinelOne users will be warned when upgrading
  from this version to the next if the update
  would be classified as malware. Hopefully.
- Show a warning when a Codecierge session goes on
  for a long time.
- Change how the status bar measures memory used
  to more closely match Activity Monitor.
- Add Gemini to the list of supported AI models.
- Scroll events now get reported when you mouse
  over an inactive window and use the scroll
  wheel/scroll gesture.
- Upgrade libssh2 to version 1.11.1. This affects
  the Download with scp feature.

Bug Fixes
- Fix some very common crashes.
- Fix a bug where colors in a dynamic profile
  might not be respected if the parent/default
  profile uses separate light/dark mode colors
  but the dynamic profile does not.
- Don't report option+keystrokes when using the
  Unicode Hex Input keyboard.
- Fix a bug where the offscreen command line could
  be wrong sometimes.
- Fix a bug where non-ANSI colors showed up in the
  hue/chroma visualization in colors settings.

Release notes for 3.5.6beta1, built on October 11,
2024, follow:

New Features
- You can now "fold" a section, which collapses it
  down to a single line. If you use shell
  integration, you can fold by clicking on the blue
  arrow next to the shell prompt. Alternately,
  select the command by clicking it once and then
  click the new fold button at the top of the
  selected region. If you don't use shell
  integration, you can select a range of lines and
  choose Fold from the context menu or Edit > Fold
  Selected Lines.

  To unfold, click the arrow in the margin or
  right click on the line and select Unfold or
  select Edit > Unfold in Selection.

- When saving a window arrangement you can now
  choose to save it to a file including the
  windows' contents. You can load an arrangement
  file with Window > Load Arrangement from File.

- Added `Window > Lock Split Pane Width` which
  tries to preserve the width of a split pane as
  the window's geometry changes.

- You can now choose to play a sound when the next
  mark is received, under Edit > Marks and
  Annotations > Alerts.

Improvements
- When you drag a window by its titlebar in the
  Minimal or Compact themese, bring the window to
  the front immediately.
- Global Search now searches the main screen of a
  session even if it is currently displaying the
  alternate screen.
- When mouse reporting is on and you click in a
  window that is not currently active, that click
  will not be reported.
- Add zed to the list of Semantic History editors.
- When you manually reset, clear the stack of
  hostnames to avoid incorrectly changing the key
  reporting mode.
- In macOS 15, if control-return would be
  reported, don't show the context menu.
- If you run iTerm2 from the command line, the
  --help argument now gives usage info.
- Some silly default key bindings interfered with
  macOS Sequoia's window tiling shortcuts. A new
  migration process offers to remove them for you.
- Remove special support for control-page up/down
  to scroll, which interfered with window tiling
  shortcuts. It was only there because of a
  misunderstanding 14 years ago.

Bug Fixes
- Hopefully fixed accessing machines on the local
  network and bonjour hosts on macOS Sequoia.
- Fix crashes.
- Fix a bug where locale settings didn't correctly
  update arrangements sometimes.
- Fix a bug where the number 100 sometimes didn't
  fit in numeric fields in settings.
- Fix accessibility bugs in macOS 15.
- Ignore empty host or user in OSC 7 URLs.
- Don't show that CSI u mode is enabled when key
  reporting flags are set.
- Fix minor drawing bugs.

You can use the following to verify the zip file on https://keybase.io/verify:

-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA256

922e7a07b654ac9b8ba1463328351838575cbfca863bb9b2676b657f3937d683
-----BEGIN PGP SIGNATURE-----

iHUEAREIAB0WIQSAPIQGkYVsjnBRo2J0Et0TaFtKrAUCZxF5IAAKCRB0Et0TaFtK
rKf9AP9Eh43OKTX2zJ1QRjLssY9H7TfU+ViSZjRG22jk9lL2kAD/ZJYvCmriKc4n
voXv2iR85hxZ2P2/b3PSRe7O4rhCtxg=
=/4C6
-----END PGP SIGNATURE-----
```

#### [iTerm2 3.5.6beta1 (OS 10.15+)](https://iterm2.com/downloads/beta/iTerm2-3_5_6beta1.zip)

This is the recommended beta build for most users.
Built on October 11, 2024.

[▾ Hide Changelog](<javascript:hideId('6593383971273609331')>)

```
3.5.6beta1, built on October 11, 2024.

New Features
- You can now "fold" a section, which collapses it
  down to a single line. If you use shell
  integration, you can fold by clicking on the blue
  arrow next to the shell prompt. Alternately,
  select the command by clicking it once and then
  click the new fold button at the top of the
  selected region. If you don't use shell
  integration, you can select a range of lines and
  choose Fold from the context menu or Edit > Fold
  Selected Lines.

  To unfold, click the arrow in the margin or
  right click on the line and select Unfold or
  select Edit > Unfold in Selection.

- When saving a window arrangement you can now
  choose to save it to a file including the
  windows' contents. You can load an arrangement
  file with Window > Load Arrangement from File.

- Added `Window > Lock Split Pane Width` which
  tries to preserve the width of a split pane as
  the window's geometry changes.

- You can now choose to play a sound when the next
  mark is received, under Edit > Marks and
  Annotations > Alerts.

Improvements
- When you drag a window by its titlebar in the
  Minimal or Compact themese, bring the window to
  the front immediately.
- Global Search now searches the main screen of a
  session even if it is currently displaying the
  alternate screen.
- When mouse reporting is on and you click in a
  window that is not currently active, that click
  will not be reported.
- Add zed to the list of Semantic History editors.
- When you manually reset, clear the stack of
  hostnames to avoid incorrectly changing the key
  reporting mode.
- In macOS 15, if control-return would be
  reported, don't show the context menu.
- If you run iTerm2 from the command line, the
  --help argument now gives usage info.
- Some silly default key bindings interfered with
  macOS Sequoia's window tiling shortcuts. A new
  migration process offers to remove them for you.
- Remove special support for control-page up/down
  to scroll, which interfered with window tiling
  shortcuts. It was only there because of a
  misunderstanding 14 years ago.

Bug Fixes
- Hopefully fixed accessing machines on the local
  network and bonjour hosts on macOS Sequoia.
- Fix crashes.
- Fix a bug where locale settings didn't correctly
  update arrangements sometimes.
- Fix a bug where the number 100 sometimes didn't
  fit in numeric fields in settings.
- Fix accessibility bugs in macOS 15.
- Ignore empty host or user in OSC 7 URLs.
- Don't show that CSI u mode is enabled when key
  reporting flags are set.
- Fix minor drawing bugs.

You can use the following to verify the zip file on https://keybase.io/verify:

-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA256

84e92a44827df3b09164a91db2e54036fd407c0db7214fd029c1b768bb7d33b4
-----BEGIN PGP SIGNATURE-----

iHUEAREIAB0WIQSAPIQGkYVsjnBRo2J0Et0TaFtKrAUCZwmFeAAKCRB0Et0TaFtK
rCY8AQChmmLuXfMnoa4Cra9knJ3MpblTVOmuUOsSZHbPx/2l5wD/fA/j6v53Lbsu
JzyLXztFBs5wI/DOaZ5a5Hk+OgOtgZc=
=Irup
-----END PGP SIGNATURE-----
```

#### [iTerm2 3.5.5beta2 (OS 10.15+)](https://iterm2.com/downloads/beta/iTerm2-3_5_5beta2.zip)

This is the recommended beta build for most users.
Built on September 19, 2024.

[▾ Hide Changelog](<javascript:hideId('789321121608683081')>)

```
3.5.5beta2, built on September 19, 2024.

New Features
- Snippet search now supports using | as logical
  OR.

Improvements
- The option key now acts as Alt rather than Meta
  for keystrokes like function keys and arrows.
  This fixes some things like option-arrow in
  Emacs and probably breaks other workflows.
  You can revert to the old behavior with the
  profile setting "Treat ⌥ as Alt".
- Improvements to how tmux window sizing works.
  This is the new behavior:

  When attaching to an existing session:
    If "When attaching, restore windows as" is set
    to "Tabs in the attaching window", the window
    will not resize. Tabs are just added.

    Otherwise, restore previous tmux window sizes.

  When creating a new tab:
    The window will not to resize (unless a tab
    bar comes or goes).

  When creating a new window:
    The window size in the profile under the
    Window tab is respected.
- 1Password Credentials with the tag iTerm2 are
  now usable in the password manager when the
  1Password integration is enabled.
- Disable the menu shown when you hover or
  right-click on the window's zoom button because
  it caused a lot of hangs. You can reenable it
  with an advanced setting.
- Asciicast logs now include resize events.
- o1-preview and o1-mini OpenAI models added.

Bug Fixes
- Fix a very frequent crash.
- Fix a bug where "apps can change how keys are
  reported" was not always respected.

You can use the following to verify the zip file on https://keybase.io/verify:

-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA256

9733c921e072f030b02c456839ce965ebea7e956e80bfe191e93269b1f7e1e6d
-----BEGIN PGP SIGNATURE-----

iHUEAREIAB0WIQSAPIQGkYVsjnBRo2J0Et0TaFtKrAUCZuyyjAAKCRB0Et0TaFtK
rP+SAPwJS1U36Yj6ubbJB2hwwc4ovJXJ3zU0zPmQdFSMGyWciwEAtvNYwlVV6C71
SC7Tnuf67qjvdQNE26y+TOQEKhoMm/k=
=0YDv
-----END PGP SIGNATURE-----
```

#### [iTerm2 3.5.5beta1 (OS 10.15+)](https://iterm2.com/downloads/beta/iTerm2-3_5_5beta1.zip)

This is the recommended beta build for most users.
Built on September 9, 2024.

[▾ Hide Changelog](<javascript:hideId('7886305111651725784')>)

```
3.5.4beta2, built on September 9, 2024.

New Features
- Add support for the Kitty key reporting
  protocol.
- Add support for the Kitty graphics protocol
  (except animation).
- Show a warning in the settings window's titlebar
  when there are unsaved changes and manual saving
  was selected.
- Custom working directory now supports $$
  variables.
- XTGETTCAP now supports all terminfo keys.
- Add support for DECSET 2048 (send in-band resize
  notifications).
- There is a new search operator for Profile
  search. Prefix a term with command: to search
  only the profile's custom command for that word.
- Add support for VT levels. You can now use
  DECSCL to set the current VT level and commands
  with higher levels will be ignored. Fixes a
  problem VMS users noticed.
- Add a hue/chroma visualization to the colors
  panel so you can see if you have a nice spread
  for the ANSI colors.
- If you use a / in a snippet tag, that creates a
  tag hierarchy as reflected in the main menu's
  snippets.
- Add a setting to disable alternate mouse scroll
  (sending arrow keys when using the scroll wheel
  while in the alternate screen).

Improvements
- Open Quickly now shows search results even with
  an empty query.
- Add a menu item to save color presets.
- Move selection when the selected text scrolls
  within a scroll region.
- Improve filename suggestions in auto composer to
  include subdirectories.
- When focus follows mouse is on in tmux
  integration don't automatically raise windows.
- Upload and download colors for the network
  status bar component are customizable now.
- When exporting a Python API script the UI now
  offers a checkbox to make it offer to
  autolaunch.
- Show cert expiration dates in Python API script
  export UI.
- All the shell integration utilities are now in
  the default $PATH.
- The new AI model is gpt-4o-mini.
- Cmd-clicking on a link or semantic history match
  will not report it via mouse reporting.
- Add "Move session to split pane" to the Window
  menu to enable keybindings.
- Add extended powerline symbols u+0ed6 and
  u+e0d7.
- When saving a window arrangement with multiple
  windows, save them in the same order as their
  shortcut numbers so they can be restored and
  preserve the shortcuts.
- Add Cursor editor support to semantic history.
- Improve appearance of various settings screens.
- Hide offscreen command line when the last
  command line is just above the screen to avoid
  blocking its output when you do clear;something
- When you change the AI model, automatically
  update the URL in settings. Add ollama to
  default models.
- The snippet editing UI now has a right click
  menu to simplify editing actions.

Bug Fixes
- Fix various crashes.
- Fix performance issues.
- Fix file transfers in ssh integration when the
  directory uses tilde for home.
- Fix failing transfers in ssh integration when
  using a host alias defined in ssh config.
- Fix a bug where underlines were sometimes wrong
  in the GPU renderer.
- Fix a bug when duplicating a session that broke
  working directory recycling.
- Fix a bug where windows in tmux integration
  could be the wrong size of the tmux connecting
  session is automatically buried.
- Fix a bug where the cursor in the terminal
  blinked despite the composer having focus.
- Fix a bug where we offered to turn off focus
  reporting even when the user asked not to do so.
- Fix a bug where we responded to DECRQDE with the
  wrong sequence.
- Fix a bug where VS16 was ignored if it was not
  immediately after the base character.
- Fix a bug where pressing cmd-F didn't select the
  find text in the status bar search bar.
- Remove option to compress history in background,
  which didn't do anything (the feature was
  removed for performance reasons).
- Fix meta-return in Emacs.
- Fix a bug where bulk copy for colors didn't work
  when using different colors for light and dark
  mode.
- Fix a bug where box-drawing characters could
  have gaps between lines.

You can use the following to verify the zip file on https://keybase.io/verify:

-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA256

f43576fa813c562b7c4ab96564f943567b1bcf5a4671a84ff4bdba21a7352d1b
-----BEGIN PGP SIGNATURE-----

iHUEAREIAB0WIQSAPIQGkYVsjnBRo2J0Et0TaFtKrAUCZt+TIwAKCRB0Et0TaFtK
rALTAQCPpJFcg89yMV7d4AeGUTwybvBStGlN+uTBrbJNhW9qQAD+OXKU0F6pG/E/
JgNEtuQhMmA8v9OQhgX2Q/svTgXaOcI=
=yrvt
-----END PGP SIGNATURE-----
```

#### [iTerm2 3.5.4beta2 (OS 10.15+)](https://iterm2.com/downloads/beta/iTerm2-3_5_4beta2.zip)

This is the recommended beta build for most users.
Built on July 19, 2024.

[▾ Hide Changelog](<javascript:hideId('178248659500750332')>)

```
3.5.4beta2

New Features
- Added a menu item "Literal Mode", that shows
  control characters (e.g., as ^C) rather than
  interpreting them.

Improvements
- Improve performance when you have lots of OSC 8
  URLs.
- Prevent a bunch of garbage from being written
  when you run tmux -CC with an argument besides
  new or attach.
- Rename Prefs to Settings in many places.

Bug Fixes
- Fix a number of crashes.
- Fix a bug where there "create script" dialog had
  two cancel buttons.
- Fix broken ligature suport for MenloNF.
- Fix searching profiles by tag.

You can use the following to verify the zip file on https://keybase.io/verify:

-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA256

1b4a161d67b964b6a4d633b9d3ac9d30bfa867987f5da01be86bb6a37fe8344c
-----BEGIN PGP SIGNATURE-----

iHUEAREIAB0WIQSAPIQGkYVsjnBRo2J0Et0TaFtKrAUCZpsCgQAKCRB0Et0TaFtK
rFxOAQCTzxceLMdvBKkt4rF21+ng2xQymoI007m8GlD0EezvngEAycDOZcLdvEsZ
nJ/C4mUHjL7ZhtKga27nBLyvyNb+F/E=
=zVTV
-----END PGP SIGNATURE-----
```

#### [iTerm2 3.5.4beta1 (OS 10.15+)](https://iterm2.com/downloads/beta/iTerm2-3_5_4beta1.zip)

This is the recommended beta build for most users.
Built on July 2, 2024.

[▾ Hide Changelog](<javascript:hideId('6182014864593646507')>)

```
3.5.4beta1

New Features
- Composer now makes suggestions for executables
  by searching $PATH, including in ssh
  integration.
- In tmux integration, remember window sizes.
- Add a menu item, Clear Find, to remove search
  results.

Improvements
- Improve performance of search when there are
  thousands of results.
- Improve how focus follows mouse interacts with
  the Composer and the Find panel.
- If AI is disabled by MDM, disable it in the
  menu.
- Support more kinds of keyboards in Copy mode.
- Don't dismiss the hotkey window when an
  authentication window appears.
- Performance improvements.
- You can now elect to have no components in
  session titles. This is useful if you always set
  titles with a control sequence and don't want
  other stuff to appear.

Bug Fixes
- Fix crashes.
- Fix a bug where cmd-tab didn't play nicely with
  remapping modifiers, making cmd-tab unreliable.
- Fix a bug where there were stray pixels above
  letters in the GPU renderer on some fonts.
- Fix a bug where filter could miss updates to the
  last line prior to a newline.

You can use the following to verify the zip file on https://keybase.io/verify:

-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA256

510c84bd52e90dcbfa803ff28578812c9c8e3d7a31f119bf627e6e80adca76ea
-----BEGIN PGP SIGNATURE-----

iHUEAREIAB0WIQSAPIQGkYVsjnBRo2J0Et0TaFtKrAUCZoSbXQAKCRB0Et0TaFtK
rHYYAQCz2QmmwitbQKs4lIVWmJD2t8oa4Tk11Fh8aXDPsAneHwD+IDIwqN12biz6
gKMjqVohejG5H+cNECW4W2Q6DtbLFGQ=
=JuJ2
-----END PGP SIGNATURE-----
```

#### [iTerm2 3.5.3beta2 (OS 10.15+)](https://iterm2.com/downloads/beta/iTerm2-3_5_3beta2.zip)

This is the recommended beta build for most users.
Built on June 25, 2024.

[▾ Hide Changelog](<javascript:hideId('449453664215043263')>)

```
3.5.3beta2

Improvements
- Saved arrangements with invalid locales can now
  be updated by the same UI that helps you pick a
  valid locale.

Bug Fixes
- Fix crashes
- Fix a bug where the customized terminfo provided
  by iTerm2 had compatibility problems.
- Fix a bug where colors in background images were
  wrong.
- Fix a bug where cmd-hover didn't alwasy show a
  link preview.
- Fix a bug where $PATH was sometimes missing
  expected values.
- Fix a bug where OSC 8 URLs didn't always work.
- Fix a bug where the Auto Composer's height was
  too short.
- Fix a bug where sending a snippet with a tag
  filter from the Toolbelt could send the wrong
  snippet.

You can use the following to verify the zip file on https://keybase.io/verify:

-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA256

3c490bef90e0398bd8535f920855d3d6be80e85915c4c917ca85f0e6a2f7bf92
-----BEGIN PGP SIGNATURE-----

iHUEAREIAB0WIQSAPIQGkYVsjnBRo2J0Et0TaFtKrAUCZntGgQAKCRB0Et0TaFtK
rHPoAQDaymqfMx5yRkLwkdc/bq/ZV5XegF3tGtsghPkPerQ5ewD+IdgkEG9cQ1AZ
PvItD4DPaYC4Ngyb4QM0Uu34wQ/i/Rg=
=F193
-----END PGP SIGNATURE-----
```

#### [iTerm2 3.5.3beta1 (OS 10.15+)](https://iterm2.com/downloads/beta/iTerm2-3_5_3beta1.zip)

This is the recommended beta build for most users.
Built on June 13, 2024.

[▾ Hide Changelog](<javascript:hideId('7115148877866095262')>)

```
3.5.3beta1

This beta fixes a security issue. There was a bug
where the 'Terminal may report window title'
setting was not honored. This can lead to remote
code execution. Please upgrade right away if you
are on an older beta.

New Features
- You can now run iTerm2 from a script with
  --command=xxx to open a window running the
  specified command.
- If you make a selection in the composer prior to
  pressing shift-enter, only the selection is sent
  (and no newline is appended).
- Add support for multi-line search queries.
- Add support for DECRQDE.

Improvements
- When using focus follows mouse and the mouse
  exits the search panel give the terminal
  keyboard focus.
- Add "share command output" to the command share
  menu (the share button visible when using auto
  composer).
- Add option to copy both command and output to
  the command share menu.
- Reorganize command share menu to make mroe sense.
- When navigating to a mark, select its command
  automatically.
- Improve appearance of cursor guide.
- Fix a bug where cmd-0 didn't reset the font
  correctly when a non-ascii font isn't in use.
- When you do cmd-E and the search mode is regex,
  escape the string so it matches.
- Don't show offscreen command line if the cursor
  is under it.
- Improve locale picking dialog. You can now
  choose a minimal locale if you just want UTF-8
  support but no localizations.
- Add info button to past commands when auto
  composer is in use.
- Make snippet search work like profile search.

Bug Fixes
- Fix a bug where 'Terminal may report window
  title' was not honored.
- Fix crashes.
- Fix autocomplete, which was completely broken.
- Don't trim whitespace when copying with control
  sequences.
- Greatly improve the appearance of selected
  commands when a background image is present.
- Improve appearance of offscreen command line in
  GPU renderer.
- Fix incorrectly drawn powerline symbols.
- Fix incorrectly drawn box characters.
- Fix a bug where triggers that match on the bell
  didn't work.
- Fix performance problems some users experienced
  with ssh.
- Fix a bug where some programs weren't correctly
  detected as the active job (e.g., in session
  titles).
- Fix a bug where the composer didn't get keyboard
  focus when AI produces a command.
- Fix nonstandard behavior when dragging a window.
- Fix Copy when auto composer is in use and the
  terminal has a selection but the composer does
  not.
- Fix a bug where modifier remapping didn't do the
  right thing when releasing a key, causing
  problems with cmd-tab.
- Fix a bug where cmd-0 didn't reset the font
  correctly when a non-ascii font isn't in use.
- Fix a bug where some controls were the wrong
  colors against dark backgrounds.
- Fix discrepancy in box drawing characters gpu vs
  legacy.
- Fix bug in escaping regexes that have
  backslashes.
- Improve IME support in Composer.
- Fix font selection visual bugs in macOS 10.15.

You can use the following to verify the zip file on https://keybase.io/verify:

-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA256

2ef0bdca361458fa21a2cf9be753d809c500e76648bb99dfb65bfae6828669fd
-----BEGIN PGP SIGNATURE-----

iHUEAREIAB0WIQSAPIQGkYVsjnBRo2J0Et0TaFtKrAUCZmt26QAKCRB0Et0TaFtK
rBDQAP9yfw7sEdrV3drXgWY8KtGS8DnEpR8ZnsTiz7klxRjeJAEA0cc5upJLjTQm
HxF4CEfkqcNKmBr1IVtNOeNqcPMG+BE=
=ClVG
-----END PGP SIGNATURE-----
```

#### [iTerm2 3.5.1beta4 (OS 10.15+)](https://iterm2.com/downloads/beta/iTerm2-3_5_1beta4.zip)

This is the recommended beta build for most users.
Built on June 3, 2024.

[▾ Hide Changelog](<javascript:hideId('5439026792758936439')>)

```
3.5.1beta4

Improvements
- Use selection color to outline selected command.
- Add a setting to disable horizontal scroll
  reporting. This fixes a problem where swiping to
  switch tabs didn't work when mouse reporting was
  on.
- Improve security of AI plugin so a malicious
  program cannot replace it and receive sensitive
  data.

Bug Fixes
- Fix a performance problem with long scrollback
  history. Existing history will need to be
  cleared before the benefit is seen.
- Fix a bug in it2ssh when connecting to hosts
  that don't use bash as /bin/sh.
- Fix a bug where tab or window titles sometimes
  wouldn't show the current job's name.

You can use the following to verify the zip file on https://keybase.io/verify:

-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA256

71e892c8ee07eb45d3275ece652c358c9318b341cc29e2ac69ab8b8062c6d24a
-----BEGIN PGP SIGNATURE-----

iHUEAREIAB0WIQSAPIQGkYVsjnBRo2J0Et0TaFtKrAUCZl6pWAAKCRB0Et0TaFtK
rN03AP4/aHFiNBmymoOKz/j9NWS+owZmXHfb3w5xpFdvqjJw2wD/Y/g7qW9IWlaJ
peqLmGSViT9FDRgNi2tQ7UUpsPxMcGw=
=TY0a
-----END PGP SIGNATURE-----
```

#### [iTerm2 3.5.1beta3 (OS 10.15+)](https://iterm2.com/downloads/beta/iTerm2-3_5_1beta3.zip)

This is the recommended beta build for most users.
Built on May 28, 2024.

[▾ Hide Changelog](<javascript:hideId('7003943075665718482')>)

```
3.5.1beta3

Beta 2 was short-lived so its release notes
follow.

Improvements
- Move OpenAI API key to the keychain.
- Improve error reporting in AI code.
- Make canceling an AI request work faster.
- Only ask for accessibility permission once per
  app version.

Bug Fixes
- Fix a bug where scroll-to-end keybindings didn't
  work.
- Fix a bug where adding items to the password
  manager would overwrite other items.
- Fix some race conditions in certificate checking
  of AI plugin.

---------------------------------------------------
Release notes for 3.5.1beta2:

This beta adds some safety valves to eliminate the
risk of private information leaving the terminal
via the AI endpoints. While an API key and
explicit user action were always needed to use AI
features, some users asked for an impenetrable
firewall for safety and regulatory purposes.

To that end, there are three relevant changes:

1. Code that communicates with AI providers has
been moved into a plugin that you must install
separately. Enterprise system admins can block
bundle id com.googlecode.iterm2.iTermAI to prevent
it from being installed in the first place.

See here for details:
https://iterm2.com/ai-plugin.html

2. In addition, you must manually enable AI
features in Settings. Doing so requires admin
access.

3. Administrators who wish to disable iTerm2's AI
access may set the user default GenerativeAIAllowed
to False in their MDM systems.

New Features
- Cmd-shift-click on a command's output to select
  it.

Improvements
- Prompts for Codecierge are now in advanced
  settings.
- Scroll-to-end keybindings are now broadcast when
  input broadcasting is on.
- Previously it was easy to choose a locale
  without the right character encoding. Detect
  this and offer a chance to try again.
- For users who did fall into this trap, ask them
  to try again.
- Various controls for AI have been moved to the
  main Settings panel so it's easier to use a
  local model.
- Add an advanced setting to disable the secure
  keyboard entry indicator.
- Indicators get an outline to make them stand out
  from the background.
- Codecierge gets a larger text box to enter your
  goal.
- Various powerline characters no longer respond
  to minimum contrast so their colors can match
  adjacent background colors.

Bug Fixes
- Fix gpt-4o support which had too many response
  tokens.
- Support responses from LLMs without an index
  field.
- Fix a bug where there were stray pixels above
  some characters.
- Fix alignment of box-drawing characters in GPU
  renderer.
- Control-[ closes the find bar when it's in the
  status bar.
- Fix a bug where modifier remapping didn't work
  with some actions such as cmd-clicking links.
- The "offscreen command line" shown at the top
  when part of a command's output is truncated now
  includes the background colors of the command
  line.
- Fix a bug where focus-follows-mouse didn't
  activate a window when the cursor only enters
  the scrollbar.
- Fix a bug where the background image could
  overflow the bounds of the image control and
  fill the settings window. It was a very pretty
  bug.
- Fix discrepancies between GPU and legacy
  renderers that drew things in different orders.
- Fix a crash with the smart selection action "run
  command in window".
- Fix bugs in dragging dividers between tools in
  Toolbelt.

You can use the following to verify the zip file on https://keybase.io/verify:

-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA256

0ea6d8175683994eadf77ff124295a0c313006472fd7aff58d43486771da6714
-----BEGIN PGP SIGNATURE-----

iHUEAREIAB0WIQSAPIQGkYVsjnBRo2J0Et0TaFtKrAUCZlbHGAAKCRB0Et0TaFtK
rAojAP4xVj3zftUBy4KjppvjfzMgeQsdKZuXqxUZGkUjoiQeKgEAsO/e/lkP6b8k
Rj9d6qcXhiGw3T4FjiDWJKq31laELjs=
=cxWg
-----END PGP SIGNATURE-----
```

#### [iTerm2 3.5.1beta2 (OS 10.15+)](https://iterm2.com/downloads/beta/iTerm2-3_5_1beta2.zip)

This is the recommended beta build for most users.
Built on May 23, 2024.

[▾ Hide Changelog](<javascript:hideId('2999855129683178413')>)

```
3.5.1beta2

This beta adds some safety valves to eliminate the
risk of private information leaving the terminal
via the AI endpoints. While an API key and
explicit user action were always needed to use AI
features, some users asked for an impenetrable
firewall for safety and regulatory purposes.

To that end, there are three relevant changes:

1. Code that communicates with AI providers has
been moved into a plugin that you must install
separately. Enterprise system admins can block
bundle id com.googlecode.iterm2.iTermAI to prevent
it from being installed in the first place.

See here for details:
https://iterm2.com/ai-plugin.html

2. In addition, you must manually enable AI
features in Settings. Doing so requires admin
access.

3. Administrators who wish to disable iTerm2's AI
access may set the user default GenerativeAIAllowed
to False in their MDM systems.

New Features
- Cmd-shift-click on a command's output to select
  it.

Improvements
- Prompts for Codecierge are now in advanced
  settings.
- Scroll-to-end keybindings are now broadcast when
  input broadcasting is on.
- Previously it was easy to choose a locale
  without the right character encoding. Detect
  this and offer a chance to try again.
- For users who did fall into this trap, ask them
  to try again.
- Various controls for AI have been moved to the
  main Settings panel so it's easier to use a
  local model.
- Add an advanced setting to disable the secure
  keyboard entry indicator.
- Indicators get an outline to make them stand out
  from the background.
- Codecierge gets a larger text box to enter your
  goal.
- Various powerline characters no longer respond
  to minimum contrast so their colors can match
  adjacent background colors.

Bug Fixes
- Fix gpt-4o support which had too many response
  tokens.
- Support responses from LLMs without an index
  field.
- Fix a bug where there were stray pixels above
  some characters.
- Fix alignment of box-drawing characters in GPU
  renderer.
- Control-[ closes the find bar when it's in the
  status bar.
- Fix a bug where modifier remapping didn't work
  with some actions such as cmd-clicking links.
- The "offscreen command line" shown at the top
  when part of a command's output is truncated now
  includes the background colors of the command
  line.
- Fix a bug where focus-follows-mouse didn't
  activate a window when the cursor only enters
  the scrollbar.
- Fix a bug where the background image could
  overflow the bounds of the image control and
  fill the settings window. It was a very pretty
  bug.
- Fix discrepancies between GPU and legacy
  renderers that drew things in different orders.
- Fix a crash with the smart selection action "run
  command in window".
- Fix bugs in dragging dividers between tools in
  Toolbelt.

You can use the following to verify the zip file on https://keybase.io/verify:

-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA256

a50701b18b3e15ee49e9cdfc84756f35b37485fe9dea0c84785cbce3949c5b10
-----BEGIN PGP SIGNATURE-----

iHUEAREIAB0WIQSAPIQGkYVsjnBRo2J0Et0TaFtKrAUCZk/E8QAKCRB0Et0TaFtK
rK7DAP9ogU1UQzFgN3m8kDMuTLPSYB9Brf9WlZK+PphdDlhXgwD/YQ+I5PlgKRE+
jB7ggWfvAg5K+huDDEw0oXAbBrZ1Ycs=
=jLgQ
-----END PGP SIGNATURE-----
```

#### [iTerm2 3.5.1beta1 (OS 10.15+)](https://iterm2.com/downloads/beta/iTerm2-3_5_1beta1.zip)

This is the recommended beta build for most users.
Built on May 20, 2024.

[▾ Hide Changelog](<javascript:hideId('9003621334776074844')>)

```
3.5.1beta1

Improvements
- Add gpt-4o model.
- Fix drag-drop to upload with SSH integration
  when using ~/.ssh/config where Host isn't equal
  to Hostname.
- Keypresses in SSH integration no longer wait for
  one to ACK before the next is sent.

Bug Fixes
- Fix crashes.
- Rename preferences to settings in tip of the
  day.
- Fix double-paste when drag-dropping text.
- Fix support for non-OpenAI LLMs.
- Typing while it2ssh is connecting no longer
  breaks it.
- Fix performance issue with very long window
  titles.

You can use the following to verify the zip file on https://keybase.io/verify:

You can use the following to verify the zip file on https://keybase.io/verify:

-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA256

0c7dae1b88b3e5bbe729b436492991ccde1698750bc0ee09420585c67f0dd66a
-----BEGIN PGP SIGNATURE-----

iHUEAREIAB0WIQSAPIQGkYVsjnBRo2J0Et0TaFtKrAUCZkuc1wAKCRB0Et0TaFtK
rNITAQDOPA0hev5s9bG1ABzO1IDFcFz5qPCiJTGYdrOKy1AADwD+L8UocJ9wjJpw
qfSNdrOwj3Dn37qc6qqTGmYTpStqVvg=
=DAWT
-----END PGP SIGNATURE-----
```

#### [iTerm2 3.5.0beta26 (OS 10.15+)](https://iterm2.com/downloads/beta/iTerm2-3_5_0beta26.zip)

This is the recommended beta build for most users.
Built on May 12, 2024.

[▾ Hide Changelog](<javascript:hideId('7362268089292048179')>)

```
3.5.0beta26

This is a release candidate.

Improvements
- Give the terminal keyboard focus when you click
  the copy button in Codecierge.
- Make it harder to accidentally select a command
  when clicking in the terminal
- New app icon.
- Add support for silent command URLs like
  iterm2:///command?silent&c=command%20to%20run.
- Add a built-in function
  iterm2.urlEncode(string:).
- Don't default to using SSH integration for ssh:
  URL opening.
- When you click on a command to select it, show
  buttons like in auto composer mode.

Bug Fixes
- Remove search results after you make a selection
  in Find URLs/Find all smart selection
  matches/Pick result to open.
- Disable rich text for AI prompt textview.
- Reduce delay when hiding a hotkey window before
  you can type in the newly activated app.
- Make floating hotkey windows stay above other
  terminal windows but not above non-terminal
  windows like alerts and settings.
- Prevent horizontal scrolling in preferences
- Fix it2ssh not allowing you to interact with
  prompts prior to connection (e.g., unknown host
  permission).
- Fix named marks tool not working when you select
  an item.
- Fix a bunch of UI bugs in the iterm2:/command
  handler.

You can use the following to verify the zip file on https://keybase.io/verify:

-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA256

b6256a9b10ed3a63871b657c02fdc4b952e1815df21646c4e5c704b4250347a7
-----BEGIN PGP SIGNATURE-----

iHUEAREIAB0WIQSAPIQGkYVsjnBRo2J0Et0TaFtKrAUCZkFMGgAKCRB0Et0TaFtK
rDsfAP9eU+gDD6n6zhZyX3UZ2mfhJNrppiXfV7hiuTE890prWgD/Wk0moHZgsjpw
Nq17qIW/dIr3Gx6H4DljkAeUzeWI6No=
=g5+p
-----END PGP SIGNATURE-----
```

#### [iTerm2 3.5.0beta25 (OS 10.15+)](https://iterm2.com/downloads/beta/iTerm2-3_5_0beta25.zip)

This is the recommended beta build for most users.
Built on May 6, 2024.

[▾ Hide Changelog](<javascript:hideId('1358501884007151430')>)

```
3.5.0beta25

This is a release candidate.

Improvements
- Make AI mode request a prompt when shell
  integration and the Composer are not in use.
- Use VS0 and VS1 to disambiguate width of U+2018,
  U+2019, U+201C, and U+201D.
- Indicators (icons that appear in the top right
  of the window to indicate status) modernized.
- The first time you click to select a command,
  show a popover with a link to disable the
  command selecion feature.

Bug Fixes
- Fix crashes.
- Fix bugs in color picker when dragging in colors
  while it's open.
- Fix hang when showing shell integration
  information alert box.

You can use the following to verify the zip file on https://keybase.io/verify:

-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA256

247b3a7e4126389f0487e57332f38b02313443e3167de09c121762a9516efed7
-----BEGIN PGP SIGNATURE-----

iHUEAREIAB0WIQSAPIQGkYVsjnBRo2J0Et0TaFtKrAUCZjlMdwAKCRB0Et0TaFtK
rIiGAQCUYh5SWTMUCdzLFmFfbsaA2F38QM2di4S7gxlHc6d9vwEAsFnOFxc2EQxz
vP58w++E9ngAOKMj0XiJnZ581uEvCP4=
=KBFK
-----END PGP SIGNATURE-----
```

#### [iTerm2 3.5.0beta24 (OS 10.15+)](https://iterm2.com/downloads/beta/iTerm2-3_5_0beta24.zip)

This is the recommended beta build for most users.
Built on April 24, 2024.

[▾ Hide Changelog](<javascript:hideId('3751904173474641019')>)

```
3.5.0beta23

New Features
- You can click a command to select it. Search,
  Filter, and Select All will then be restricted
  to the selected command. You can disable this
  feature in Settings > General > Selection.
- Add "Find All Smart Selection Matches", which
  searches for any string matching a smart
  selection. Those that are initially visible can be
  copied with a keystroke or immediately sent with
  option+keystroke.
- Add support for OSC 22 to set mouse cursor. The
  following styles are supported:
    X_cursor, arrow, based_arrow_down,
    based_arrow_up, cross, cross_reverse,
    crosshair, hand1, hand2, left_ptr, left_side,
    right_side, sb_h_double_arrow, sb_left_arrow,
    sb_right_arrow, sb_up_arrow,
    sb_v_double_arrow, tcross, xterm

Improvements
- New tips of the day added
- Minimum contrast now applies to box drawing
  characters except those that are solid blocks.
- Visual improvements to auto composer with
  transparency.
- Add polish to audo composer.
- Increase maximum searchable single line length
  from 500K to 30M characters.
- Restore keyboard mode when current host changes.
- When dragging a tab finishes, ensure the dragged
  tab is selected.
- Improve default prompt for AI.
- Update list of GPT models to be current.
- The profiles window now remembers whether the
  tags panel is open even if window restoration is
  off.

Bug Fixes
- Fix crashes
- Fix appearance of inline buttons in GPU renderer
- Fix incorrect rendering of background stripes in
  GPU renderer.
- Fix wrong default $PATH
- Fix spurious connection failures in scp
  integration.
- Improve formatting of time in context menu in 24
  hour locales.
- Fix a bug in sequence keybindings where a pane
  swap would always occur after the sequence
  finish.

You can use the following to verify the zip file on https://keybase.io/verify:

-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA256

c596ad3b9719308cb0eb574628ff1305af7662a999f743277d71db6e4813fc9d
-----BEGIN PGP SIGNATURE-----

iHUEAREIAB0WIQSAPIQGkYVsjnBRo2J0Et0TaFtKrAUCZilTjQAKCRB0Et0TaFtK
rP4zAP9W011VZ5GRwWZhkQ42HfGVXCBokiYHBs9ak6UpYYrBQwEA1R6lcO/fYx0f
yGiARF0Bdb8aV86GIj7N3z6o7HQqkhg=
=ptGR
-----END PGP SIGNATURE-----
```

#### [iTerm2 3.5.0beta22 (OS 10.15+)](https://iterm2.com/downloads/beta/iTerm2-3_5_0beta22.zip)

This is the recommended beta build for most users.
Built on March 18, 2024.

[▾ Hide Changelog](<javascript:hideId('1312716510174882433')>)

```
3.5.0beta22

Improvements
- Many usability improvements to auto composer.
- Remove dock menu "recents" form a failed
  experiment in a previous beta.

Bug Fixes
- Fix crashes.
- Fix bugs where clickable buttons in the terminal
  window could disappear or be in the wrong place.
- Fix incorrect location of underline in some
  fonts.

You can use the following to verify the zip file on https://keybase.io/verify:

-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA256

d6e3f0a37967555eb4a6fde832e7749f825c7346aa8b15dd0356fe7b1b2b0398
-----BEGIN PGP SIGNATURE-----

iHUEAREIAB0WIQSAPIQGkYVsjnBRo2J0Et0TaFtKrAUCZfiJMgAKCRB0Et0TaFtK
rBrSAP9Y7Q4SXpP7/4b5QfObfQA4olE5UolNQX09OJvGOipEpAD/QcJ8hJqMCj/r
gpp8DS5txRIZkZPkAhIrepQlQckWW0s=
=/TUc
-----END PGP SIGNATURE-----
```

#### [iTerm2 3.5.0beta21 (OS 10.15+)](https://iterm2.com/downloads/beta/iTerm2-3_5_0beta21.zip)

This is the recommended beta build for most users.
Built on March 6, 2024.

[▾ Hide Changelog](<javascript:hideId('7316498715491779422')>)

```
3.5.0beta21

New Features
- The background color of Find results is now
  configurable.
- The password manager can now generate random
  passwords.
- Show the "what's new" window when upgrading from
  3.4.x to 3.5.x.

Other Improvements
- Performance improvements.
- Fix a crash.
- If the app's theme is Light or Dark warn when
  trying to configure automatic color switching.
- Force Keyboard is faster and will only set the
  input source when the app is activated so you
  can override it manually temporarily.
- In network usage status bar component exclude
  utun interfaces, which cause double-counting of
  VPN traffic.
- Don't show new-output indicator if the new
  output is caused by something like a color
  change forcing a redaw.
- Control-[ now closes the find view.
- Snippets are now stored in a file under
  Application Support rather than in user defaults
  to avoid the 4 meg user defaults limit.
- Make Search and Filter status bar components
  larger if the status bar is tall enough to
  support a large-size control.
- Queue input while connecting to SSH.
- Add a built-in Neovim icon.
- Set TERM_FEATURES. A spec for terminal emulator
  feature discovery will be forthcoming.

Bug Fixes
- Fix incorrect shortcut in composer help.

Things made worse
- Support for history compression was removed
  because it imposed too much overhead.

You can use the following to verify the zip file on https://keybase.io/verify:

-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA256

821c5b65a0f9a71b314e8e14dc34a3c91fdf882d9971d9e7147aa5ae7786b91d
-----BEGIN PGP SIGNATURE-----

iHUEAREIAB0WIQSAPIQGkYVsjnBRo2J0Et0TaFtKrAUCZejz8gAKCRB0Et0TaFtK
rFfdAP0b9E/PIp8umw2E2kS9FUkvJ1xuwyKA+z5sBDaAMM2p+wEA7WgqWY5+F0yE
cFK/pCfo5dgTQSPMb6Ucku3m8hTPCbs=
=3oCD
-----END PGP SIGNATURE-----
```

#### [iTerm2 3.5.0beta20 (OS 10.15+)](https://iterm2.com/downloads/beta/iTerm2-3_5_0beta20.zip)

This is the recommended beta build for most users.
Built on February 6, 2024.

[▾ Hide Changelog](<javascript:hideId('1126463152900875377')>)

```
3.5.0beta20

New Features

Other Improvements
- Performance improvements.
- Finish renaming Preferences to Settings.
- libssh upgraded to 1.11.0
- The user agent for web views (e.g., QuickLook)
  is now like Safari's to defeat stupid websites
  using user agent to detect unsupported browsers.
- In ssh integration, you can now download
  folders.
- When you do Cmd-E results will immediately be
  highlighted.
- Snippets in settings gets a search field.
- Hotkey windows now show an indicator in the
  session if they are pinned.
- Various minor visual improvements.
- Triggers are now prevented from creating
  annotations in alternate screen mode because
  doing so is cursed.
- More kinds of status bar components support
  being hidden when empty.
- Automatic profile switching will now match
  /foo/bar against a rule like /*/bar
- Automatic profile switching folders do not need
  to end in a slash any more.
- If you run the `open` command and nothing
  happens and secure keyboard entry is on, show a
  nag explaining what happened.

Bug Fixes
- Fix various crashes.
- Fixed a memory leak.
- Fix wrong margins for tab color menu items in
  Sonoma.
- Make internet-free shell integration install
  work in more BSDs.
- Fix a bug where light/dark theme changes didn't
  always work in the Minimal theme.
- Don't crash if a file download has an empty
  name.
- Fix compose sequences in DefaultKeyBindings
  handler.
- Fix drawing bugs when double clicking on split
  pane dividers.
- Better error handling for AI features.
- Fix bugs where annotations didn't always appear
  when they should have.
- Fix the button in settings to browse for the
  custom Python API scripts folder.
- Fix a bug where restoring settings and data
  failed to restore settings.

You can use the following to verify the zip file on https://keybase.io/verify:

-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA256

088694a52b1cffecf51cb243df3048438a2e86db17a7043b54dd1fecb0f5cbd3
-----BEGIN PGP SIGNATURE-----

iHUEAREIAB0WIQSAPIQGkYVsjnBRo2J0Et0TaFtKrAUCZcKMAgAKCRB0Et0TaFtK
rOl6AP9s4CVyddZPGTCBrUr4KNft59PyIIXKKlhkgeu+HQ1OuwEAwAH35IU1fjlX
t445Y7RqdDJ7RgB9vHIIA1Ub95A8AYM=
=p+/X
-----END PGP SIGNATURE-----
```

#### [iTerm2 3.5.0beta19 (OS 10.15+)](https://iterm2.com/downloads/beta/iTerm2-3_5_0beta19.zip)

This is the recommended beta build for most users.
Built on January 20, 2024.

[▾ Hide Changelog](<javascript:hideId('1726676430702383371')>)

```
3.5.0beta19

New Features
- Semantic history can now open to line number in
  Xcode.

Other Improvements
- Change shortcut for AI to Cmd-Y because Cmd-B is
  reserved for the Leader key.
- Control sequences that set color values accept
  4-digit hex values now.
- The paste history tool now has a context menu.
- Enabling CSI u mode in your profile does not
  enable Disambiguate Escapes now. This additional
  setting is now exposed in the Terminal State menu.
- Use only ASCII spaces in plain-text logs.
- Make counting ChatGPT tokens more conservative.
- Prevent Codecierge from seeing terminal contents
  when the tool is not visible.

Bug Fixes
- Fix various crashes.
- Fix a bug where quitting didn't always kill
  sessions.
- Fix drawing issues with fonts that have very
  wide ASCII glyphs.
- Fix a bug where light/dark color modes
  misbehaved in Minimal when the light theme had a
  dark background.
- Fix a bug where "interpret key bindings based on
  physical key" disregarded key bindings without a
  keycode, which is all old key bindings including
  factory defaults.

You can use the following to verify the zip file on https://keybase.io/verify:

-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA256

6e6ae37394c79ccbecde882183d4fc79da4fcbd31e535732afb83daab4a9428d
-----BEGIN PGP SIGNATURE-----

iHUEAREIAB0WIQSAPIQGkYVsjnBRo2J0Et0TaFtKrAUCZaxJnQAKCRB0Et0TaFtK
rHBfAP9xZfkXXI19M6citDsQ5J8ggkLmFC5lhLbBzdzIIfsYbwEAgr+M6TittFJi
aoEhQysnEh7aCfJFoG4AOEH72FM4SKY=
=peMc
-----END PGP SIGNATURE-----
```

#### [iTerm2 3.5.0beta18 (OS 10.15+)](https://iterm2.com/downloads/beta/iTerm2-3_5_0beta18.zip)

This is the recommended beta build for most users.
Built on December 13, 2023.

[▾ Hide Changelog](<javascript:hideId('5276486152731935946')>)

```
3.5.0beta18

New Features
- A new AI feature in the Toolbelt, "Codecierge",
  lets you set a goal and then walks you
  step-by-step to completing it by watching the
  terminal contents. It requires you to supply an
  OpenAI API key.
- You can now invoke API-registered functions from
  Open Quickly.
- Add "Move session to tab" to context menu.
- You can now cmd-click on the command prompt to
  get info about the command.
- Add IntelliJ UE support to semantic history.
- Fix support for VSCode Insiders in semantic
  history.
- Add Shell > Duplicate Window.

Other Improvements
- Performance improvements.
- Work better when using both control sequences
  and triggers to do shell integration.
- Exclude loopback interfaces in network status
  bar component.
- Make Window>Arrange spit panes preserve
  horizontality of splits in common cases.
- When a hotkey window rolls out restore the
  previously active app only if it was rolled out
  because of a keypress.
- Tip of the day is now draggable.
- Remove recents from dock menu because it
  misbehaved mysteriously.
- Non-fullscreen floating hotkey windows now
  appear under notifications.
- You can now turn on smart cursor color even if
  the default cursor is not a box.

Bug Fixes
- Fix layout issues when toolbar is open.
- Fix wrong light/dark mode in status bar
  popovers.
- Fix missing prefs toolbar.
- Fix bugs when resizing with natively rendered
  sections.
- Fix how ssh integration handles missing Python.
- Enable the autolaunch folder in the script
  export file picker.
- Fix bug where offscreen command line rendered
  the wrong line when the session is scrolled all
  the way up.
- Fix bug where job name in jobs tool overlapped
  the pid column.
- Fix crashes.
- Fix memory leaks.
- Fix disclosable view accessories in alerts on
  Sonoma.
- Fix a bug where dimming didn't always update
  when changing panes.
- Fix a flash when toggling GPU rendering.
- Fix a bug where accessibility coordinates were
  wrong, leading to various issues.
- Fix a bug where changing whether non-ascii
  characters are anti-aliased wouldn't update the
  display if GPU rendering was on.

You can use the following to verify the zip file on https://keybase.io/verify:

-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA256

46303c50a0b4bae3978409eb2fa3049142ffcdde3176c951fddb2cf3101d1aea
-----BEGIN PGP SIGNATURE-----

iHUEAREIAB0WIQSAPIQGkYVsjnBRo2J0Et0TaFtKrAUCZXpYVwAKCRB0Et0TaFtK
rAU1AQDQopXh9vbjDZ6TesFLqJfuknw4quZklJaQo6mBYFTnHQEAn/KscBnp+d0r
Qc3zWOO0rQMX0syzdDvNnnZEEDzVcN4=
=LiSR
-----END PGP SIGNATURE-----
```

#### [iTerm2 3.5.0beta17 (OS 10.15+)](https://iterm2.com/downloads/beta/iTerm2-3_5_0beta17.zip)

This is the recommended beta build for most users.
Built on October 24, 2023.

[▾ Hide Changelog](<javascript:hideId('9044463421609659689')>)

```
3.5.0beta17

This is the same as beta 16 but fixes the
following bugs:

* Don't turn debug logging on by default.
* Ensure Window > Move to [display] always works.

Release notes from 3.5.0beta16 follow:

Improvements:
- Remember the order of dynamic profiles after you
  hand-edit them in settings, even if they are
  later removed and re-added.
- When using auto-composer, add buttons above the
  command line for frequent actions.
- Add a search field to the snippets tool.

Bug Fixes:
- Fix a bug where double-tapping a modifier to
  open a hotkey window doesn't work on macOS
  Sonoma.
- Fix crashes
- Fix a bug where profiles with a Python API-based
  status bar component could not be exported as
  JSON.
- Fix drawing of status bar items with graphs in
  Sonoma.
- Fix link to open system settings in Sonoma.
- Fix a bug where searching for a URL doesn't do
  anything sometimes.
- Fix bug where dock is hidden after exiting
  fullscreen mode sometimes.
- Fix a bug where panes' dimmed status is not
  updated after switching panes sometimes.
- Fix x86 support.
- Fix a bug where Window > Move to [screen]
  sometimes didn't work.
- Fix a bug where certain powerline symbols
  weren't drawn on macOS Sonoma.

You can use the following to verify the zip file on https://keybase.io/verify:

-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA256

8ca7e428371676aeeb2097fe203a3b619b59e1e3ce6446e29d282a54de7b3aef
-----BEGIN PGP SIGNATURE-----

iHUEAREIAB0WIQSAPIQGkYVsjnBRo2J0Et0TaFtKrAUCZThjbAAKCRB0Et0TaFtK
rDnKAP97Bx3b3/RPxKB1bEoefTKJ5FS+2Ru6Anvo7MC7xffMigEAn5T1WqdrlVTb
XsgeZjea2fMBc6jwUqlZveYXU5rQtgo=
=acgz
-----END PGP SIGNATURE-----
```

#### [iTerm2 3.5.0beta16 (OS 10.15+)](https://iterm2.com/downloads/beta/iTerm2-3_5_0beta16.zip)

This is the recommended beta build for most users.
Built on October 22, 2023.

[▾ Hide Changelog](<javascript:hideId('959318783451236360')>)

```
3.5.0beta16

Improvements:
- Remember the order of dynamic profiles after you
  hand-edit them in settings, even if they are
  later removed and re-added.
- When using auto-composer, add buttons above the
  command line for frequent actions.
- Add a search field to the snippets tool.

Bug Fixes:
- Fix a bug where double-tapping a modifier to
  open a hotkey window doesn't work on macOS
  Sonoma.
- Fix crashes
- Fix a bug where profiles with a Python API-based
  status bar component could not be exported as
  JSON.
- Fix drawing of status bar items with graphs in
  Sonoma.
- Fix link to open system settings in Sonoma.
- Fix a bug where searching for a URL doesn't do
  anything sometimes.
- Fix bug where dock is hidden after exiting
  fullscreen mode sometimes.
- Fix a bug where panes' dimmed status is not
  updated after switching panes sometimes.
- Fix x86 support.
- Fix a bug where Window > Move to [screen]
  sometimes didn't work.
- Fix a bug where certain powerline symbols
  weren't drawn on macOS Sonoma.

You can use the following to verify the zip file on https://keybase.io/verify:

-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA256

7ac78dc9eadc7ffbc8e005dff516b120063aabef7a070b60b9861b4868770be0
-----BEGIN PGP SIGNATURE-----

iHUEAREIAB0WIQSAPIQGkYVsjnBRo2J0Et0TaFtKrAUCZTWykAAKCRB0Et0TaFtK
rLDJAQCxwvD183uAelIGqI0bRBeUmNgpVo9wsTx8f7oL5+YRJQD9HXmQc3xmL4qz
FtPFkYHq4QFjWUhJ9Xetzi3rxgysRpM=
=BBeo
-----END PGP SIGNATURE-----
```

#### [iTerm2 3.5.0beta15 (OS 10.15+)](https://iterm2.com/downloads/beta/iTerm2-3_5_0beta15.zip)

This is the recommended beta build for most users.
Built on October 1, 2023.

[▾ Hide Changelog](<javascript:hideId('1711891610666797399')>)

```
3.5.0beta15

Beta 15 fixes some crashes.

It also adds a new "blocks" feature for quoting
blocks of code, including an in-the-terminal
button to copy code to the pasteboard.

-- Begin self-promotion --
Try it out with my new ChatGPT command-line
client, gptline. Install with:

  pip3 install gptline

You'll need an OpenAI API key that works with
gpt-4. Set it in environment variable OPENAI_KEY.
-- End self-promotion --

You can use the following to verify the zip file on https://keybase.io/verify:

-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA256

d6fc6e02bf23064fda4f0b4c07849c8748b0413a489823ed039e3e771de1a9f6
-----BEGIN PGP SIGNATURE-----

iHUEAREIAB0WIQSAPIQGkYVsjnBRo2J0Et0TaFtKrAUCZRm2twAKCRB0Et0TaFtK
rAeeAP9VgtTGKfHvmxxhNGY0W+cVibZ9a9bwlh5rKL5g3/OraAEA03SxzWXWhH4f
kOBdrWH44VI4u9VFYnbx6iAVo8rfxNM=
=cwIZ
-----END PGP SIGNATURE-----
```

#### [iTerm2 3.5.0beta14 (OS 10.15+)](https://iterm2.com/downloads/beta/iTerm2-3_5_0beta14.zip)

This is the recommended beta build for most users.
Built on September 28, 2023.

[▾ Hide Changelog](<javascript:hideId('8291890594426098874')>)

```
3.5.0beta14

Beta 14 fixes bugs in Sonoma.

* Fixes drawing errors where sessions are invisible
  or washed out.
* Performance improvements.
* Fix crash on start.
* Fix incorrect background colors in scrollback
  history.

You can use the following to verify the zip file on https://keybase.io/verify:

-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA256

07ea8939b97d191b97ca9f41b57cdd82809ff4f90b1432a002dee556b0bbe29b
-----BEGIN PGP SIGNATURE-----

iHUEAREIAB0WIQSAPIQGkYVsjnBRo2J0Et0TaFtKrAUCZRXElQAKCRB0Et0TaFtK
rBR/AQDfFJa6oCEqcSv/Uo56wZOh/KhfKwhb0cLpzSMsVDtdpwD+Pl1dUXr+eeLz
cB8oxtWtWcMOs/CzGG9PgM89KFAzpss=
=dMei
-----END PGP SIGNATURE-----
```

#### [iTerm2 3.5.0beta13 (OS 10.14+)](https://iterm2.com/downloads/beta/iTerm2-3_5_0beta13.zip)

This is the recommended beta build for most users.
Built on September 23, 2023.

[▾ Hide Changelog](<javascript:hideId('4523913325724375659')>)

```
3.5.0beta13

Beta 13 is exactly the same as beta 12 except for
it doesn't crash on launch in Sonoma.

This release was built using XCode 15, which will
either make it work better in Sonoma or introduce
inexplicable bugs. Probably both, come to think of
it.

New featuers:
* Recently used profiles are added to the dock
  menu as recent documents.
* Add Unicode 15 emoji.
* Use the running program's first letter as the
  tab icon if there is no built-in icon.

Bug fixes:
* Fix a memory corruption bug that caused a lot of
  crashes.
* Fix various crashes.
* Fix a memory leak.
* Update minimum contrast when dark mode changes.
* Support multi-line prompts when showing an
  offscreen command line at the top of the screen.
* Fix wrong underlines in offscreen command
  lines.
* Sanitize paths in x-man-page URLs.

Other improvements:
* Increase width of font picker panel to avoid
  truncation.
* Provide a more helpful error if a profile's
  command cannot be found.
* Strip control characters from RemoteHost.
* Warn before connecting via scp to a
  never-before-seen host.
* Add NSPhotoLibraryUsageDescription so apps that
  use your photo library get a proper permission
  dialog.
* Don't close or clear composer when executing a
  command and auto composer is not enabled.
* Use more modern OpenAI APIs.
* Improve performance of window title setting.

You can use the following to verify the zip file on https://keybase.io/verify:

-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA256

346a67e329e284fa106971ff3ffc8cf01ea0e8d957eb55e85f9c880dc9763e1a
-----BEGIN PGP SIGNATURE-----

iHUEAREIAB0WIQSAPIQGkYVsjnBRo2J0Et0TaFtKrAUCZQ/NlgAKCRB0Et0TaFtK
rB+lAP99JunyaNQQ8lm8WdIQqPeqtFEX8h4xh5znpJp4HbJrCQD+Ngi3azxEyH+v
almTc+KLsyarYDpnDSEnULCdKrXNBYk=
=sxS5
-----END PGP SIGNATURE-----
```

#### [iTerm2 3.5.0beta12 (OS 10.14+)](https://iterm2.com/downloads/beta/iTerm2-3_5_0beta12.zip)

This is the recommended beta build for most users.
Built on September 21, 2023.

[▾ Hide Changelog](<javascript:hideId('3919032542876279908')>)

```
3.5.0beta12

This release was built using XCode 15, which will
either make it work better in Sonoma or introduce
inexplicable bugs. Probably both, come to think of
it.

New featuers:
* Recently used profiles are added to the dock
  menu as recent documents.
* Add Unicode 15 emoji.
* Use the running program's first letter as the
  tab icon if there is no built-in icon.

Bug fixes:
* Fix a memory corruption bug that caused a lot of
  crashes.
* Fix various crashes.
* Fix a memory leak.
* Update minimum contrast when dark mode changes.
* Support multi-line prompts when showing an
  offscreen command line at the top of the screen.
* Fix wrong underlines in offscreen command
  lines.

Security fixes:
Thanks to vin01 for discovering these issuse:
* Sanitize paths in x-man-page URLs.
* Sanitize ssh hostnames in URLs to guard against
  malicious URLs.
* Prevent hang on enormous OSC sequences.

Other improvements:
* Increase width of font picker panel to avoid
  truncation.
* Provide a more helpful error if a profile's
  command cannot be found.
* Strip control characters from RemoteHost.
* Warn before connecting via scp to a
  never-before-seen host.
* Add NSPhotoLibraryUsageDescription so apps that
  use your photo library get a proper permission
  dialog.
* Don't close or clear composer when executing a
  command and auto composer is not enabled.
* Use more modern OpenAI APIs.
* Improve performance of window title setting.

You can use the following to verify the zip file on https://keybase.io/verify:

-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA256

147ab108da0360a2207fc6382a703de52949340bbfa0caa55d7625a644d22043
-----BEGIN PGP SIGNATURE-----

iHUEAREIAB0WIQSAPIQGkYVsjnBRo2J0Et0TaFtKrAUCZQzn8gAKCRB0Et0TaFtK
rB7nAP9rJU9IMnesFoMIM8XWIBD2uL++OWTvKvMVqlcCPJLVLQEA07ahRGxUPRTn
8QenAsmKyU+DzV+uPb7FmP/U+NeSLQY=
=Kgub
-----END PGP SIGNATURE-----
```

#### [iTerm2 3.5.0beta11 (OS 10.14+)](https://iterm2.com/downloads/beta/iTerm2-3_5_0beta11.zip)

This is the recommended beta build for most users.
Built on August 10, 2023.

[▾ Hide Changelog](<javascript:hideId('6963092988800133501')>)

```
3.5.0beta11

This release fixes a couple security problems. You
are encouraged to upgrade right away. More details
here: https://iterm2.com/news.html

New Features:
- If you use shell integration and the output of a
  command goes past the top of the screen, the
  command will be shown at the top.
- Scrollback history is now lazily compressed to
  save memory.
- You can now assign fonts to specific ranges of
  unicode. There is a built-in shortcut to get all
  the powerline symbols, including downloading the
  requisite fonts.
- You can now import and export *all* the
  iTerm2-related data in Settings > General >
  Preferences > Export/Import All Settings And
  Data.
- Add "named marks" which make it easier to find
  your spot in history.

Other Improvements:
- Add isHotkeyWindow variable to window scope.
- Add a reset button to the modifier remapping UI.
- Add ability to remap the right control key.
- Semantic history now supports "[filename](line
  number])" and "[filename] line [line number]"
- Update it2ul to avoid sending xattrs to GNU tar.
- Double-clicking a pane spliter equalizes the
  sizes of views adjacent to it.
- Make "Adjust window when changing font size"
  work in tmux integration.
- Add support for mouse reporting buttons 10 and
  11 and horizontal scrolling.
- Add handlers for titan and gemini schemes.
- Add support for MFA in 1password integration.
- Having a separate color for selected text is now
  optional.
- Add a menu item to install an already-downloaded
  Python runtime.
- Window transparency can now be set to 100%.
- Add a pref for the location of Python API
  scripts.
- Add a variable "line" when evaluating a
  trigger's interpolated string, giving the line
  number since the start of history.
- Make it2dl more reliable in tmux integration.
- Add option to include timestamps in saved
  content.
- Add an experimental "auto composer" feature that
  replaces the command line with a native control.
  This is still a work in progress.
- Add builtin functions "iterm2.paste()" and
  "iterm2.focus()".
- You can now invoke script functions from mouse
  bindings.
- Script invocations can use semicolons to call
  multiple functions.
- Improve default AI prompt.
- Add mode=wide to OSC 1337;File to force wide
  mode.
- Clearing the buffer while broadcasting
  keystrokes now gives the option to clear all
  broadcasted-to sessions.
- Add support for the new VSCodium bundle ID.
- Add setting to select opacity of faint text.
- Add new copy mode commands: ^e and ^y to scroll
  by one line, ^d and ^u to scroll by half a
  screen, and you can now precede a command with a
  number to apply it repeatedly.
- Make captured output tool remember the line you
  cleared at so when more output appears the
  previously cleared items do not reappear. Also
  make it look nicer.
- CPU usage status bar component now gets values
  over ssh on mac and linux remotes when using ssh
  integration.
- Improve appearance of password-prompt cursor.
- Support id_ed25519 for secure copy via semantic
  history.
- Informative values in context menu (e.g.,
  hex-to-decimal conversions) are now copyable.
- Control-C in Find on Page now focuses terminal.
- Improve how the password manager stores
  passwords in keychain so they make more sense in
  Keychain Access.
- The status bar icon now includes the full main
  menu.
- Stop parsing OSC after 1 megabyte.
- Add OSC 1337 OpenURL=:(base64-encoded URL)
- In Ventura, the tab bar now remains visible in
  native full screen mode when revealing the title
  bar.

Bug Fixes:
- Fix crashes.
- Fix memory leaks.
- Fix a bug where mouse reporting sometimes
  wouldn't work until switching to another app and
  back.
- Improve appearance of powerline glyphs and box
  drawing characters.
- Fix non-standard mouse cursors, like Mousecape.
- Fix support for combining marks in reverse
  non-regex search where the wrong region was
  highlighted.
- Fix truncation in fullscreen hotkey windows over
  spitscreen fullscreen windows of other apps.
- Fix clicking ssh: links to open ssh integration.
- Fix a bug where the first keystroke in copy mode
  could be ignored.
- Performnace improvements when mouse tracking is
  on.
- Performance improvements if you have lots of OSC
  8 URLs in restorable history.
- Performance improvements for nushell.
- Make new tab/window with current profile respect
  tmux integration.
- Fix appearance of the pane titlebar menu button
  in Minimal mode with dark background.
- Fix support for x-man-page URLs.
- Avoid ordering windows forward with focus
  follows mouse when closing a popup.
- Work around a macOS bug where focus follows
  mouse could activate the wrong pane.
- Fix a bug in opening menus in status bar
  components that caused them to appear twice.
- Fix a bug where session colors didn't respond to
  dark mode/light mode changing when in the
  Minimal theme.

You can use the following to verify the zip file on https://keybase.io/verify:

-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA256

027a1fe75df97018e04a24cc765b72460c50998a89f3575da2abef1958597a3a
-----BEGIN PGP SIGNATURE-----

iHUEAREIAB0WIQSAPIQGkYVsjnBRo2J0Et0TaFtKrAUCZNHc/AAKCRB0Et0TaFtK
rIOdAQDyhJf1yM5wxPyJ6rynrE9UsKRML/VQeOFR3qQybIj9HAD/Zycs58G3NAkr
Bzq/Ppof8jLmxfgTrfcritdsCdZqx08=
=3Ofz
-----END PGP SIGNATURE-----
```

#### [iTerm2 3.5.11 (OS 10.15+)](https://iterm2.com/downloads/beta/iTerm2-3_5_11.zip)

This is the recommended beta build for most users.
Built on November 26, 2024.

[▾ Hide Changelog](<javascript:hideId('356608225646368070')>)

```
Version 3.5.11beta1 of iTerm2 was built on November 26, 2024.

New Features
- Right-to-left text is now rendered properly.
  Enable it in Advanced Settings by searching for
  "right-to-left". Please file bugs for any
  problems you find.
- Dynamic profiles can now be written to when you
  make changes in the Settings UI. You'll need to
  add a property named "Rewritable" to dynamic
  profiles that you wish to have this ability,
  and set it to True. When you attempt to change a
  dynamic profile in settings, you'll be prompted
  to have this done for you automatically.

Improvements
- AI now gets the output of `uname -s` rather than
  `uname`. The other info uname provided was not
  useful.
- If you have enabled "^-Click reported to apps,
  does not open menu", control-click will now work
  normally when mouse reporting is off.
- When alternate screen mode is disabled, scroll
  the current screen contents into history when an
  app attempts to enter alternate screen mode.
- Short drags of the "new tab" button now act as a
  click.
- UI improvements for the "disable transparency
  for fullscreen windows by default" setting.
- If you use the 1password integration, you can
  now right-click on an account to toggle whether
  an OTP will be sent.
- Added a new button to reveal the location of
  the AI plugin, and another button to force
  iTerm2 to re-check if it is installed.
- Add support for DEC private mode 80 (sixel
  scrolling).
- Move some files from application support to
  caches.
- Cancel hiding a hotkey window if it has a modal
  sheet attached.
- In advanced paste, turn off "wait for prompt
  before pasting each line" for shells that use
  paste bracketing because that would deadlock.
- Various minor improvements to AI UIs.
- Add a UI to fix broken saved arrangements.
- When an app tries to resize the window but is
  denied, notify the user.

Bug Fixes
- Fix various crashes.
- Fix the delete key, function keys,
  option+letter, and repeated keys in nvim.
- Don't snap to grid when using macOS's new tiling
  features.
- Fix a bug that screwed up saved arrangements,
  deleting their profiles.
- Fix a bug in sending inband resize
  notifications where the terminal letter of the
  control sequence was missing.
- Fix a bug where the cursor was in the wrong
  place after showing a Sixel image.

You can use the following to verify the zip file on https://keybase.io/verify:

-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA256

c8f226c2774e1e876d1a7cfdcd19eecf6b5ffff38bb7093a477cf2d9acfc4c15
-----BEGIN PGP SIGNATURE-----

iHUEAREIAB0WIQSAPIQGkYVsjnBRo2J0Et0TaFtKrAUCZ0Zl7wAKCRB0Et0TaFtK
rGB1AP45h9mMpUpypIEjQ8uJr9w702q6nrP8Fq+9dKA88gr16wEAj1YVLZ4Y+G+3
EXzWnqPE+ZbNiE06hf7ZoSsEQ30weyY=
=u9J0
-----END PGP SIGNATURE-----
```

#### [iTerm2 3.5.0beta10 (OS 10.15+)](https://iterm2.com/downloads/beta/iTerm2-3_5_0beta10.zip)

This is the recommended beta build for most users.
Built on February 10, 2023.

[▾ Hide Changelog](<javascript:hideId('1479852879560521218')>)

```
3.5.0beta10

New Features:
- Add support for inline SVGs.
- Mouse reporting now supports horizontal
  scrolling and more mouse buttons.
- Add "Duplicate Session". It supports ssh
  integration, even with jump hosts!
- Add "Add Alert on Marks in Offscreen Sessions"
  which is a sticky setting that lets you know
  when a command in a not-currently-visible
  session finishes. Requires shell integration.

Other Improvements:
- The artificial intelligence feature defaults to
  GPT-3 rather than codex. While it isn't free, it
  works much better. Use the advanced setting
  "OpenAI Model name" to adjust the model.
- Changes to dynamic profiles are now detected
  more quickly.
- Fix UI glitch in background image blending
  controls.
- Upgrade libssh2 to 1.10.
- Double-tap modifier hotkeys now activate on key
  up rather than key down to avoid false
  activations.
- When using ssh integration, file transfers no
  longer require a new connection. They share the
  existing channel.

Bug Fixes:
- Fix crashes.
- Fix a bug where images disappear prematurely.
- Remap modifiers on mouse clicks like we do for
  keypresses.
- Fix cursor color in reverse video mode. It
  should also be reversed.
- Fix ssh integration on systems whose /bin/sh is
  POSIX but not Bash.

You can use the following to verify the zip file on https://keybase.io/verify:

-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA256

647252527cc2f11563994f988fcace9a1ebbd5b8602cb512d74b68353807e383
-----BEGIN PGP SIGNATURE-----

iHUEAREIAB0WIQSAPIQGkYVsjnBRo2J0Et0TaFtKrAUCY+bExwAKCRB0Et0TaFtK
rA0bAP9HVVApYI/s72fP+PV2drsuMg8fqdUfSIeEnEelVZxDTgEA9BcgMKTAXsz3
qjUei1W0QELRLTE5rSTnSA1EaPbLycU=
=84zD
-----END PGP SIGNATURE-----
```

#### [iTerm2 3.5.0beta9 (OS 10.15+)](https://iterm2.com/downloads/beta/iTerm2-3_5_0beta9.zip)

This is the recommended beta build for most users.
Built on January 2, 2023.

[▾ Hide Changelog](<javascript:hideId('2635607176875674865')>)

```
3.5.0beta9

This version of iTerm2 requires macOS 10.15.
Support for 10.14 had to be dropped.

New Features:
- Add AI-powered natural language command
  generation. Enter a prompt in the composer and
  select Edit > Engage Artificial Intelligence.
  You will need to provide an OpenAI API key since
  GPT costs money to use.
- Add Window > Move session to tab
- Key bindings can now be applied to multiple
  sessions (e.g., all sessions in this window)..
- You can now customize copy mode shortcuts by
  placing a file in ~/Library/Application
  Support/iTerm2/CopyModeKeyBindings.dict.
  See the simliarly named file in the app bundle
  for a reference.
- Add menu item to clear instant replay.
- Add ability for composer to enqueue a command.
- ssh integration is now easily usable from the
  command line. Use it2ssh instead of ssh.

Other Improvements:
- Use XDG_CONFIG_HOME for .iterm2 folder when set.
- When the country+language do not match a valid
  POSIX locale, present a UI to select one.
- There's a new key binding action to alert on the
  next mark.
- Emoji flags now draw as double-width.
- Don't sync the most recent coprocess commands
  with remote prefs.
- Make certain powerline symbols draw wider.
- Add option to enable GPU renderer in low power
  mode.
- Show tilde in place of local home directory in
  tab/window titles.
- Add 'interpret key bindings based on physical
  key, ignoring input language' setting.
- Add missing powerline extra symbols.
- Restore terminal state when an ssh session ends
  when using it2ssh.
- Make the tmux-256color terminfo available by
  default. Improves various problems in tmux
  integration such as function keys sending the
  wrong codes.
- Add option to notify of noncritical shell
  integration updates.

Bug Fixes:
- Fix crashes
- Fix a bug where long lines in the input method
  editor didn't draw correctly.
- Fix the response for XTGETTCAP when requiesting
  the number of colors and direct color width.
- Don't prompt to disable mouse reporting in emacs
  when scrolling too far.
- Work around Logitech mouse driver foolishness
  that caused hangs.
- Fix a bug where the status bar font would change
  to Times Roman.
- Round timestamps to the nearest second to make
  them stable.
- Fix a bug where the hyperlink trigger used the
  wrong range of cells sometimes.
- Fix bug where swiping horizontally on pane
  titlebar didn't change tabs.

You can use the following to verify the zip file on https://keybase.io/verify:

-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA256

486c072aa9f366fc3fcaba2052605c54dc53338d8229a7c96e24609dc42e462b
-----BEGIN PGP SIGNATURE-----

iHUEAREIAB0WIQSAPIQGkYVsjnBRo2J0Et0TaFtKrAUCY7M5rQAKCRB0Et0TaFtK
rKILAQCRCzI1/SZI5y63imK9p3W/YUJMAFMzxjq2y1/DiUuqjAEAuzxU9ibgezIT
OQhqXpYGmEb27ROdQWupif8ZuurFU5U=
=cB8X
-----END PGP SIGNATURE-----
```

#### [iTerm2 3.5.0beta8 (OS 10.15+)](https://iterm2.com/downloads/beta/iTerm2-3_5_0beta8.zip)

This is the recommended beta build for most users.
Built on November 15, 2022.

[▾ Hide Changelog](<javascript:hideId('7368175028249221630')>)

```
3.5.0beta8

This release fixes a security issue related to
DECRQSS responses. You should upgrade.

New Features:
- Add support for native rendering of the
  following powerline extended symbols:
    U+E0A3: column-number
    U+E0B0: Powerline_normal-left
    U+E0B2: Powerline_normal-right
    U+E0B4: right-half-circle-thick
    U+E0B5: right-half-circle-thin
    U+E0B6: left-half-circle-thick
    U+E0B7: left-half-circle-thin
    U+E0B8: lower-left-triangle
    U+E0C0: flame-thick
    U+E0C1: flame-thin
    U+E0CE: lego_separator
    U+E0CF: lego_separator_thin
    U+E0D0: lego_block_facing_WIP
    U+E0D1: lego_block_sideways
    U+E0D3: lego_block_facing_WIP-3d-good

Other Improvements:
- Allow multiple selections for importing and
  exporting scripts.
- Offer to turn off mouse reporting for BEL when
  they seem to be correlated.
- Add a preference to avoid blocking system
  shutdown.
- Performance improvements for saving state.
- Various performance improvements.
- Minor UI improvements to preferences related to
  shell integration injection.
- Add support for WebStorm and Rider to semantic
  history.
- Limit REP to 64k to avoid DOS.
- Increase max size of OSC 8 URLs to 2 megabytes.
- Notify Python API clients of resizes.

Bug Fixes:
- Fix capturing metal frames for debugging, which
  sometimes failed.
- Fix crash when open directory is disabled.
- Use zsh as the default shell when open directory
  doesn't provide one.
- Handle pasing from remote clipboards (handoff)
  better.
- Fix a bug where the split pane shortcut numbers
  were wrong after moving them.
- Fix crashes.
- Fix a bug where scrollbar background colors
  could be wrong sometimes.
- Fix about window rendering in Ventura.
- Fix a bug where the mouse cursor was left in the
  wrong state after using the leader shortcut.

You can use the following to verify the zip file on https://keybase.io/verify:

-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA256

9b55ffb343034ea3ec9c7ce59664a05e7c8572eb05a240d32e44b492cacd9b1a
-----BEGIN PGP SIGNATURE-----

iHUEAREIAB0WIQSAPIQGkYVsjnBRo2J0Et0TaFtKrAUCY3QHfAAKCRB0Et0TaFtK
rPt8AP9rFDuBvArUK1dNF8ZpC1SLNzfDXvdO5Zsb6XipcLoGhAD+OE4y/23u09Ap
JdFRFrlj78S2/AfW6c8VmqqRZ57q5pw=
=Dn1z
-----END PGP SIGNATURE-----
```

#### [iTerm2 3.5.0beta7 (OS 10.14+)](https://iterm2.com/downloads/beta/iTerm2-3_5_0beta7.zip)

This is the recommended beta build for most users.
Built on September 16, 2022.

[▾ Hide Changelog](<javascript:hideId('2881789094208059003')>)

```
3.5.0beta7

New features
- There is a nascent SSH integration feature
  available for testing. Warning: it definitely
  has a lot of bugs. You can try it by setting the
  profile's command to SSH. The integration lets
  you export environment variables and copy files
  to the remote host. If Python 3.7 or later is
  available on the remote host, various features
  such as the Jobs status bar and toolbar
  components will reflect data from the remote
  rather than the local. There's also a
  barely-working feature that automatically mounts
  the remote host's filesystem as a cloud
  filesystem.
- There's a new control sequence for rich
  notifications:
[esc]1337;Notification=[params][control-G]
  Where params is a semicolon-delimited list of
  key value pairs:
  message=[text]
    The text to display.
  title=[text]
    Optional notification title.
  subtitle=[text]
    Optional notification subtitle.
  image=[data]
    Optional base64-encoded image.
- You can now remap the fn key if you have a
  MacBook.

Bug fixes
- Fix memory leaks.
- Fix a bug where combining marks sometimes didn't
  appear.
- Work around tmux's new limit on passthrough
  control sequences to fix copy to pasteboard in
  tmux integration.
- Fix file descriptor leak in pidinfo helper job.
- Fix a bug where varation selector 16 didn't work
  with code points outside the basic multilingual
  plane.
- Fix various crashes.
- Fix a bug in the shell integration installer
  where it assumed .bash_profile ends with a
  newline.
- Fix a discrepancy between GPU and non-GPU
  renderers for image drawing.
- Fix drawing of inline images when the machine's
  main display is non-Retina.
- Fix a bug where compact opaque windows with
  image backgrounds and 1 tab and no tabbar showed
  the image under the titlebar.
- Fix a bug where it2copy didn't work sometimes.
- Fix a bug in handling of zero-width spaces.
- Fix a bug where changing the type of scroller
  could cause a window to move away from a
  screen's edge.
- Fix bugs with zoomed panes in tmux integration
  causing the window to resize itself.
- The Open Quickly feature now includes terminal
  windows in search results.
- Fix bugs in the status bar layout algorithm that
  could create too-small components.
- Fix a bug where dragging from Fork, or other
  apps that treat dragging a file as dragging
  a link, that caused the drop to be rejected.
- FIx occasional hang affecting only beta and
  nightly build users.
- Fix a bug where shell integration injection
  didn't work for login shells.
- Don't show the secure keyboard input warning
  more than once per app launch.
- Fix copy with control sequences, which encoded
  SGR 0 and bright ANSI colors incorrectly.

Other improvements
- There are new key binding actions for Windows
  refugees who want to use Control-C and Control-V
  to copy and paste. "Copy or Send ^C" and "Paste
  or Send ^V" will copy (if there's a selection)
  or paste (if the clibpoard has text)
  and otherwise send the control character.
- Offer to replace an existing file when
  downloading.
- Improve readability of preferences search in
  dark mode.
- Support variation selector 16 except in
  alternate screen mode.
- Many improvements to the 1password integration.
- Many performance improvements.
- Improve appearance of status bar search field
  with non-default background colors.
- The font picker now supports stylistic
  alternatives.
- Miscellaneous visual improvements.
- In the next version of tmux you'll be able to
  mirror its paste buffer to the local clipboard.
- Fix memory leak when onscreen images are
  overwritten.
- Squelch audible beeps when focus reporting is
  the likely cause.

You can use the following to verify the zip file on https://keybase.io/verify:

-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA256

19fe35cd3fba57c10bf0aa8db7a2483b6cd56191c1da2829f56402b381253375
-----BEGIN PGP SIGNATURE-----

iHUEAREIAB0WIQSAPIQGkYVsjnBRo2J0Et0TaFtKrAUCYyQePgAKCRB0Et0TaFtK
rBSvAP9oN0IxdPVz4mm2FiLUydiFDn4w3Xm1EsiZBErGjIHi2wEAgU5QYRLUK88S
6IdAV0/Vm012Ishjx6SituhE65mnzLY=
=J+jA
-----END PGP SIGNATURE-----
```

#### [iTerm2 3.5.0beta6 (OS 10.14+)](https://iterm2.com/downloads/beta/iTerm2-3_5_0beta6.zip)

This is the recommended beta build for most users.
Built on June 27, 2022.

[▾ Hide Changelog](<javascript:hideId('7122009111156837940')>)

```
New features
- Add "Render Selection", which replaces a chunk
  of selected text with a natively rendered view.
  For example, JSON gets pretty-printed and syntax
  highlighted. Rendered selections have the option
  of scrolling horizontally to make navigating
  logs easier. They are searchable. Over 150
  different languages are supported for syntax
  highlighting. Markdown gets special treatment
  and displays its rendered format.
- Enable logging as asciicast, which is playable
  by asciinema.
- Add option not to require a password to open the
  password manager.
- (Experimental) The password manager can now use
  LastPass or 1Password rather than the keychain.
  Use the (⋯) menu next to the search field to
  configure it.
- You can configure a shortcut to be a "leader".
  This allows you to define two-keystroke
  shortcuts, composed of leader + some other
  shortcut. For example, if you make cmd-B the
  leader then you can create a key binding for
  leader+h/j/k/l to navigate among split panes.
  In tmux integration, key bindings are
  automatically created to emulate tmux's
  shortcuts with the leader in place of tmux's
  prefix key.
  You can set up the leader in Prefs > Keys >
  Leader.
- The composer now supports search.
- The composer (cmd-shift-.) now supports multiple
  cursors. Use ctrl-shift-up/down or option-drag to
  create them. You can also convert search results
  to cursors with Edit > Find > Select Matches.
- You can resize the composer's height by dragging
  its bottom edge.
- Cmd-click in the composer opens the command in
  explainshell.com.
- In the composer, option-shift-enter sends the
  command at the cursor and removes it from the
  composer.
- Add "copy" as a new smart selection action.
- Option-cmd-click now selects the second smart
  selection action.
- Add a new kind of key binding action called
  "sequence" that performs any number of other key
  binding actions in order.
- Shell integration can now be injected
  automatically as part of creating a login shell.
  Explicit installation is no longer needed on
  localhost (except for tcsh users, who are still
  stuck in 1995. Sorry).
- Selecting URLs (cmd-opt-u) now enables shortcuts
  to jump to them by number.

Bug fixes
- Fix memory leak
- Fix a beachball in save panels.
- Fix a bug where errors were shown after an
  upload finished.
- Fix various crashes.
- When a session needs a Python API script to be
  running but it hasn't started yet, retry for
  five seconds.
- Fix a bug where prompt marks didn't show in the
  scrollbar.
- Fix rendering of background images in non-GPU
  renderer when togglign "separate background
  images per pane".
- Fix a bug where output on stderr could be lost.
- Fix a bug in rendering marks on non-retina
  displays.
- Fix a bug where split panes can't be dragged
  after moving them.
- Temporarily disable secure keyboard entry when
  exiting a hotkey window so the other app's
  window can be revealed.
- Tolerate errors in tmux.conf when starting tmux
  integration.
- Use x11 mouse reporting instead of SGR to fix
  curses support.
- Fix a bug where find could select the wrong
  range on new input.

Other improvements
- Set ITERM2_COOKIE in coprocesses so they can use
  the Python API without an extra authentication
  step. All other environment variables that
  sessions have are also now provided to
  coprocesses.
- Code points 0xf000-0xf003 can now be rendered.
  These are sometimes used in nerd fonts.
- GPU renderer is now usable when background
  images are shared across panes.
- Defer database janitorial work until after app
  launch to avoid blocking it.
- Performance improvements.
- If a session is short lived, uses a login shell,
  the shell does not exist, and the profile can be
  changed offer to change the shell to /bin/zsh
  which will always exist to get the user unstuck.
- A find indicator now display search results to
  highlight the current one with an animation.
- Saving prefs no longer clobbers symlinks.
- The list of displays in profile window settings
  now uses meaningful names for screens.
- Enable focus reporting in tmux integration.
- Copy mode now supports previous/next mark
  navigation.
- Add key binding actionss for next/previous pane.

You can use the following to verify the zip file on https://keybase.io/verify:

-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA256

6790a1d352598ec18a924365127589d6ddceb71b3eb3f1359377b051310a5694
-----BEGIN PGP SIGNATURE-----

iHUEAREIAB0WIQSAPIQGkYVsjnBRo2J0Et0TaFtKrAUCYrn3GwAKCRB0Et0TaFtK
rB3rAP4+QCv7YWE/LAp0JxCCFzj4rmJYYeONIsncEcQDF+5ymQEAj+8J7dbgJUlS
ppVJpCLaQ1kdufJQOnP9dNOlMFnABXc=
=1fnn
-----END PGP SIGNATURE-----
```

#### [iTerm2 3.5.0beta5 (OS 10.14+)](https://iterm2.com/downloads/beta/iTerm2-3_5_0beta5.zip)

This is the recommended beta build for most users.
Built on March 10, 2022.

[▾ Hide Changelog](<javascript:hideId('5320968757523817565')>)

```
3.5.0beta5

Performance Improvements
The major theme of version 3.5 will be performance
improvements.

- Input is now handled off the main thread. This
  increases throughput and decreases latency. We
  can now redraw at a higher frame rate without
  impacting throughput significantly.
- Selecting a bunch of text used to lock up the UI
  for a long time, but it is now instant. The hard
  work is deferred until you actually paste the
  text.
- Semantic history (cmd-clicking on a filename)
  used to search the filesystem on the main thread
  which could cause hangs (such as on slow network
  filesystems). This work has been moved to a
  separate XPC process, keeping the UI responsive
  while the search for files happens concurrently.
- Trigger evaluation, especially when you have
  many triggers, is significantly faster now.

New Features
- The P3 color space is now supported. The color
  picker uses P3 and control sequences that accept
  a color space now accept p3.
- Add a setting to preserve windows' spaces on
  restoration.
- Searches for profiles now allow you to exclude
  terms using the minus operator. For example:
  -tag:dynamic
- Clipboard content reporting via control sequence
  OSC 52 is now supported, but requires user
  consent to enable.

Other Improvements
- Allow apps running in the terminal to request
  bluetooth access.
- Optimize bandwidth for sending keystrokes to
  tmux in tmux integratino mode.
- Ensure the URL preview box does not overlap the
  hyperlink being previewed.
- Search history completion now works on words
  instead of entire phrases.
- Avoid causing the window contents to jump when
  colors change.
- Visual improvements to minimal theme with
  transparent windows.
- Add support for newest Emoji.
- UI improvements to the password manager for
  adding a new password.
- Tweak how command history is sorted. When there
  is no search query, use a purely chronological
  ordering.
- Tweak status bar colors to look nicer in the
  Minimal theme.
- Data injected by the Python API during a silent
  coprocess is now made visible.
- Add support for the Nova editor to semantic
  history.
- Tweak the status icon (shown in the menu bar
  when you've excluded iTerm2 from the dock) to
  have a more modern design.
- Right-clicking on a number in scientific
  notation like 6.022e23 shows its expanded form
  in the context menu.
- imgcat has a bunch of new options. You'll need
  to reinstall shell integration utilities to get
  it.
- You can now search the tty and foreground job
  process ID in the Open Quickly window.

Bug Fixes
- Ensure Rosetta is installed before running the
  Python API.
- Fix a bug where clicking the dock icon while the
  tip of the day was open wouldn't open a new
  window.
- Fix bugs in positioning the badge, indicators,
  and broadcast stripes when a per-pane status bar
  or per-pane title bar is present.
- Fix a bug where fullscreen windows overlapped
  the notch when the menu bar was not
  automatically hidden in fullscreen.
- Fix a bug where fullscreen windows resized
  incorrectly when changing the active display in
  the presence of a notch.
- Fix a bug where the Jobs toolbelt would show a
  process with pid 0 after the login shell
  terminates.
- Fix bugs in handling newlines in control
  sequences that set the title.
- Fix a bug where marks were sometimes not removed
  when the screen was cleared.
- Fix memory leaks.
- Fix a long-standing memory corruption bug.
- Fix a bug where marks were drawn upside-down
  in the GPU renderer.
- Fix a bug where faint text could render
  incorrectly.
- Fix a bug where window transparency could be
  wrong when the window is first created.
- Fix overlapping search results with regular
  expression queries.
- Fix a bug where "clear to last mark" misbehaved
  while at a prompt. It now clears to the mark
  before the current prompt.
- Improve appearance of tabs being dragged.
- Select Current Command now selects past the
  cursor if needed.
- Fix a bug where crash reports weren't sent on
  macOS 12.

You can use the following to verify the zip file on https://keybase.io/verify:

-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA256

e8f44be2f37f55e485da44c562b5ecc9f088c77eb412a8af8867112b7efe0f23
-----BEGIN PGP SIGNATURE-----

iHUEAREIAB0WIQSAPIQGkYVsjnBRo2J0Et0TaFtKrAUCYir2SQAKCRB0Et0TaFtK
rBFqAQDXuwAbN//BjYpbfcE70sIBaFKpK7zIV5B2X3YL93rkRgD/SOPtZhcY9ZC4
yhZF8Q70eKe6oXwNkT4P5/BOj8p4P4w=
=eR+E
-----END PGP SIGNATURE-----
```

#### [iTerm2 3.5.0beta4 (OS 10.14+)](https://iterm2.com/downloads/beta/iTerm2-3_5_0beta4.zip)

This is the recommended beta build for most users.
Built on December 14, 2021.

[▾ Hide Changelog](<javascript:hideId('4682829447825079330')>)

```
3.5.0beta4

New Features
- Add View > Disable transparency in key window.
  This lets you have transparency/blur in
  background windows.
- Add a preference to force creating a new window
  on lauch, even if there is a hotkey window.

Other Improvements
- Add text labels to the macOS-style color
  picker's custom icons.
- Visual improvements to profile list views.
- Reduce energy usage when a progress indicator is
  visible in the tab bar.
- "Save all profiles as JSON" now preserves the
  order of profiles.
- Automatically highlight matches when the search
  UI is open and the query changes because another
  app changed the value to be searched for.
- Reduce frame rate of animated status bar
  components to reduce WindowServer's CPU usage.
- Visual improvements to the Jobs tool.
- When attaching to tmux, if a window is 95%
  offscreen move it onto the nearest display as
  much as possible.

Bug fixes
- Fix a crash on launch in macOS 10.14 that was
  added by beta 3.
- Fix a bug where windows would restore with the
  wrong width when scroller style changes.
- Fix occasional disconnect when typing in tmux
  integration.
- Fix crashes.
- Fix drawing artifacts when not using the GPU
  renderer.
- SGR 4 with no subparameter now resets the
  underline style to single.

You can use the following to verify the zip file on https://keybase.io/verify:

-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA256

91792cce595cc90c1cc4be77259f75aa80f1bea084b73c4ed9d4ef478c2a6425
-----BEGIN PGP SIGNATURE-----

iHUEAREIAB0WIQSAPIQGkYVsjnBRo2J0Et0TaFtKrAUCYbjjdgAKCRB0Et0TaFtK
rC24AQC/nkgfxuVw+g2FOOKs10fEFR3l6ipqbZpp4Am7uHJyFgEAuCZR9GtqAXv/
fQfBqIAZgE43JSjqw2RCYJLaWVmeXw4=
=vXuW
-----END PGP SIGNATURE-----
```

#### [iTerm2 3.5.0beta3 (OS 10.14+)](https://iterm2.com/downloads/beta/iTerm2-3_5_0beta3.zip)

This is the recommended beta build for most users.
Built on December 1, 2021.

[▾ Hide Changelog](<javascript:hideId('7760140420535575271')>)

```
3.5.0beta3

New Features
- Add support for 120hz.
- Add support for the notch.
- Function keys now send modifier flags as long as
  TERM begins with `xterm`.
- Compatibility improvements to "modifyOtherKeys"
  mode.
- Add support for various control sequences:
  - CSI ^
  - CSI a
  - DEC(RE)SET 1007
  - DEC(RE)SET 1016
  - DEC(RE)SET 1047
  - DEC(RE)SET 1048
  - DEC(RE)SET 12 (blinking cursor: disabled by
    default in new pref)
  - DEC(RE)SET 66
  - DECBI
  - DECCARA
  - DECCRA
  - DECDC
  - DECDSR
  - DECERA
  - DECFI
  - DECFRA
  - DECIC
  - DECNCSM
  - DECRARA (yeah! let's go!)
  - DECRQPSR
  - DECRQSS
  - DECRSPS
  - DECSACE
  - DECSCA
  - DECSCPP
  - DECSED
  - DECSEL
  - DECSERA
  - DECSLPP
  - DECSNLS
  - EPA
  - HPA
  - SGR 21 (double underline)
  - SL
  - SPA
  - SR
  - Tertiary DA
  - XTPOPSGR
  - XTPUSHSGR
  - XTSETTCAP
  - XTSMGRAPHICS
  - push/pop/report colors
- HTML logs now support double underlines.
- Provide a modified termcap that advertises
  Setulc (underline color support) for
  xterm-256color.
- Add a "compose" action (prefs > shortcuts >
  actions).
- You can now disable probing for a password
  prompt in the settings menu of the password
  manager.
- Subtitles are now available in the regular theme
  after you increase the tabbar's height via a new
  button in profile general prefs.
- The vertical line and horizontal line cursors
  now have a subtle shadow to improve their
  visibility.
- Add "Add tab on right" to tab context menu.
- The folder for automatic logging is now an
  interpolated string.
- There's a new Utilitiy, it2tip, which implements
  the tip of the day as a command line app.
  Install shell integration and utilities to get
  it.
- Offer to detach after closing the last tmux tab.
- Selecting Advanced Paste while in the composer
  moves the compoer's content into the advanced
  paste window.
- Hold shift when selecting a snippet to open it
  in the composer.
- Add "Convert Matches to Selections" menu item.
- You can now bind "select menu item" to pointer
  events (clicks and gestures).
- Make menu items searchable in key bindings and
  pointer bindigns.

Other Improvements
- Increase the maximum number of URLs to bignum.
- Performing find next/previous without a search
  bar open will highlight all search results now.
- Emacs and Python now get the correct tab icons.
- Rate limit alerts and notification triggers to
  avoid spamming you to death.
- Make the tab bar look prettier in Monterey.
- Tweak sorting of command history to make age a
  slightly stronger factor. Hopefully this is a
  net improvement.
- Smart selection action parameters are now
  interpolated strings.
- Visual improvements to the toolbelt.
- Warn about changes in macOS 12 when secure
  keyboard entry is enabled.
- Show an indicator in the current session when
  secure keyboard input is enabled.

Bug fixes
- Fix a bug where cmd-enter wouldn't toggle
  fullscreen for a hotkey window when native
  fullscreen was enabled.
- Control-backspace now sends ^H.
- Fix DECRQCRA interpretation of params (first is
  now request ID).
- Fix corrupted scroll regions after a resize.
- Fix application keypad mode.
- Fix DECCOLM to reset margins on change and to
  preserve the cursor's position.
- Work around a bug in old versions of tmux where
  they didn't accept control-space like other
  keys, causing 0x0 to be printed.
- Fix tmux integration for tmux 1.8.
- Turn off smart substitution in the snippets
  value text view.
- Open hotkey windows beneath menu bar when
  opening over another app's fullscreen window.
- Fix the appearance of dragged tabs.
- Fix flashing white line at top of screen in dark
  mode full screen.
- Fix discrepancy between GPU and non-GPU renderer
  in the presence of blending.
- OSC no longer requires a semicolon after the
  mode if there is no argument.
- Fix a bug where both a per-pane and per-window
  gbackground iamge could be visible at the same
  time.
- Turn off mouse movement trac king when it isn't
  needed to reduce idle CPU.
- Fix discrepancy in rendering of composed
  characters in GPU renderer vs legacy renderer.
- When "Enable full keyboard access" is turned on
  in system prefs, iTerm2 now accepts the spacebar
  as input.
- Hotkey windows now appear beneath notification
  center messages.
- Restore window title when unburying a session
  that causes the window to be resurrected.
- Fix a bug where "Duplicate Tab" would duplicate
  the current tab, not the one belonging to the
  context menu.
- Fix cmd-clicking on URLs without a scheme but
  with a fragment.

Breaking Changes
- Change XTGETTCAP's response to "TN" to give
  $TERM rather than the name of the terminal
  emulator. This will probably break your code if
  you relied on it..
- The response to Primary DA now indicates VT
  level 400. Hopefully this doesn't break
  anything, but it's hard to test!  Please let me
  know if programs start misbehaving.
- The response to Secondary DA now gives xterm
  patch level 2500. This unlocks features in some
  apps (like better key handling in Emacs) but
  will probably break things I don't know exist.

You can use the following to verify the zip file on https://keybase.io/verify:

-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA256

73a993e070ea2bbcfebda7190f7210a22ce9986d91dfb37f80fbbca6f0c367d3
-----BEGIN PGP SIGNATURE-----

iHUEAREIAB0WIQSAPIQGkYVsjnBRo2J0Et0TaFtKrAUCYagZ+AAKCRB0Et0TaFtK
rKgoAP4+uV03oSYs7y87DpI9N/Aq/vCv/e2UEZSd2HoRkgD2sAEA6jKCwx6j4r97
AtB8tBb4ZypsKh0xezpEGKjtyeGf6PQ=
=D38E
-----END PGP SIGNATURE-----
```

#### [iTerm2 3.5.0beta2 (OS 10.14+)](https://iterm2.com/downloads/beta/iTerm2-3_5_0beta2.zip)

This is the recommended beta build for most users.
Built on October 2, 2021.

[▾ Hide Changelog](<javascript:hideId('2243641784525321032')>)

```
3.5.0beta2

New Features
- Add support for SGR 8 (invisible text).
- Clear Buffer can now be broadcast like keyboard
  input.
- The tab bar in the Minimal theme now uses the
  same transparency as the rest of the window.
- Snippets now have configurable escaping modes so
  you can use literal text without worrying about
  backslashes.
- Hold option when sending a snippet to open it in
  Advanced Paste for editing.
- Automatic logging filename is now a profile
  setting instead of an advanced setting.

Bug Fixes
- Fix a bug where some apps would use the wrong
  colors because of a terminfo problem.
- Fix a bug where using the contextual menu to
  hide a Python API-provided status bar component
  could hide the wrong one.
- Fix a bug where fish could be confused about the
  size of a new session.
- Fix a bug where expanding a disclosure triangle
  in an alert box didn't increase its size,
  leaving the text unreadable.
- Widen prefs panel so legacy scrollbars don't
  overlap controls.
- ESC c (RIS) now restores colors from the
  underlying profile, including those changed by
  OSC 4.

You can use the following to verify the zip file on https://keybase.io/verify:
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA256

e9e5d81a3fff481df88c8814834c929b621a7932921066822c175a4253df9d05
-----BEGIN PGP SIGNATURE-----

iHUEAREIAB0WIQSAPIQGkYVsjnBRo2J0Et0TaFtKrAUCYViv6wAKCRB0Et0TaFtK
rNNEAQDWyfJqGwwA9Guac1MkiubG28ylTgZdKWRUUiiriZ/KdwD/Y//79YNTT49T
Nt2Dm2gHmh5aRkv1KQLDfxt+6HfZao8=
=/VYl
-----END PGP SIGNATURE-----
```

#### [iTerm2 3.5.1.beta1 (OS 10.15+)](https://iterm2.com/downloads/beta/iTerm2-3_5_1_beta1.zip)

This is the recommended beta build for most users.
Built on May 20, 2024.

[▾ Hide Changelog](<javascript:hideId('7213127850959088736')>)

```
3.5.1beta1

Improvements
- Add gpt-4o model.
- Fix drag-drop to upload with SSH integration
  when using ~/.ssh/config where Host isn't equal
  to Hostname.
- Keypresses in SSH integration no longer wait for
  one to ACK before the next is sent.

Bug Fixes
- Fix crashes.
- Rename preferences to settings in tip of the
  day.
- Fix double-paste when drag-dropping text.
- Fix support for non-OpenAI LLMs.
- Typing while it2ssh is connecting no longer
  breaks it.
- Fix performance issue with very long window
  titles.

You can use the following to verify the zip file on https://keybase.io/verify:

You can use the following to verify the zip file on https://keybase.io/verify:

-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA256

31f62e83cf5da0de0bac516d05fb3caae56df47e2f5a5e946a16334f7830afe8
-----BEGIN PGP SIGNATURE-----

iHUEAREIAB0WIQSAPIQGkYVsjnBRo2J0Et0TaFtKrAUCZkuRFQAKCRB0Et0TaFtK
rLJ5AQCEGVXGeJBE5Z55sg5+TasuImwb7Paacduuqf7MlBa4gAEA5J0MeEXYKa4/
DR4bOtUoo6vtty6y1HM6m12L8H6Zx2o=
=RJqC
-----END PGP SIGNATURE-----
```

#### [iTerm2 3.5.0beta1 (OS 10.14+)](https://iterm2.com/downloads/beta/iTerm2-3_5_0beta1.zip)

This is the recommended beta build for most users.
Built on September 25, 2021.

[▾ Hide Changelog](<javascript:hideId('3354287843735116263')>)

```
3.5.0beta1

New Features
- Add support for filtering: this hides all lines
  not matching a search query to facilitate
  browsing logs.
- Claim to be xterm version 314 and a vt220. This
  will enable new features in various programs,
  such as better key reporting in vim and emacs.
  It may introduce new incompatibilities too!
  Please let me know if something breaks.
- Add support for separate light/dark mode colors.
- Add Inject trigger. It injects input to the
  terminal as though it had been read from the
  running app.
- Add a trigger to set a user-defined variable.
- Add Triggers status bar component.
- Add session size as a feature you can show in
  tab titles.
- Add a mouseInfo variable that exposes info about
  the last button event to Python API scripts.
- In the Minimal theme, tabs now have a separate
  configurable subtitle under the main title.
- You can now reveal a session by opening a URL
  like iterm2:///reveal?sessionid=w0t0p0.guid
  where the parameter comes from the
  ITERM_SESSION_ID environment variable.
- You can now save logs in HTML.
- Add support for various control sequences that
  affect colors (OSC 12, 17, 19, 104, 110, 111,
  112, 117, and 119).
- Add support for colored underlines.

Other Improvements
- When you drag a top statusbar in a no-titlebar
  window with a single tab and no split panes drag
  the window instead of the tab.
- Use session font for timestamps.
- Add DECSET 2026 for synchronized updates.
- Make font configurable in text status bar
  components.
- Various minor visual improvements.
- Prompt to delete the restoration db if verifying
  its integrity takes over 10 seconds.
- Use fixed-pitch fonts in various places in
  settings where they make sense.
- Show an indicator in all sessions when debug
  logging is enabled.
- tmux integration now remembers which windows had
  the toolbelt open.
- tmux integration now remembers tab title
  overrides.
- Pressing a non-modifier key will now cancel a
  double-tap of a modifier key that opens a hotkey
  window.
- Clicking on indicator icons in the top right of
  a session now shows help text.
- Broadcast to all panes/tabs is now a toggle.
- Double clicking on the tabbar now behaves the
  same as double clicking on the title bar: it
  respects the system setting for title bar double
  clicks.
- Improve legibility of tab labels in the Minimal
  theme.
- Limit CPU usage of helper tasks to 50%.
- Improve performance of highlight triggers.
- Various improvements to key reporting.
- Force apps to redraw when color settings change.
- Synchronize selected window, tab, and pane in
  tmux integration when another client changes it.
- Add modified terminfo for xterm, xterm-256color,
  and xterm-new that support Smulx (undercurl).
- Support resolutions larger than 4k pixels per
  dimension in GPU renderer.
- Up/down arrows wrap around in open quickly
  window.
- Don't reset the start location for search when a
  search finds zero results.
- Add support for HTML-style #rrggbb colors in OSC
  4 and related sequences.

Bug fixes
- When global search finds a result in a hidden
  pane because a sibling is maximized an d you
  select it, change which pane is maximized.
- Fix memory leaks.
- Mouse reporting now reports mouse up more than
  once when multiple buttons were pressed at the
  same time.
- Fix a bug where the scroll wheel could stop
  working after a session terminates.
- Fix a bug when overwriting the second half of a
  double-width character.
- Fix a bug in mouse reporting with tmux.
- Fix how colors are reported to improve
  compatibility with emacs.
- Terminate buried sessions when quitting.

You can use the following to verify the zip file on https://keybase.io/verify:

-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA256

c50b0718edb8acad04f20b1283e3add96752633c876630ed6ddaf7ebc4250e00
-----BEGIN PGP SIGNATURE-----

iHUEAREIAB0WIQSAPIQGkYVsjnBRo2J0Et0TaFtKrAUCYU/63gAKCRB0Et0TaFtK
rImWAP9l0Q1tvZ3u+1j9KOfYc9pNEQLF2RCpgR5MpC31yS1H5wEA5mIuxPnM3epz
6/axQ8+kHttB7qg4FlYUXsLz6DKHOq8=
=ubcq
-----END PGP SIGNATURE-----
```

#### [iTerm2 3.4.9beta1 (OS 10.14+)](https://iterm2.com/downloads/beta/iTerm2-3_4_9beta1.zip)

This is the recommended beta build for most users.
Built on June 12, 2021.

[▾ Hide Changelog](<javascript:hideId('5590819444167195849')>)

```
3.4.9beta1

New Features
- Add support for new keyboard reporting mode
  control sequences:
  - CSI > u  Push key reporting mode
  - CSI < u  Pop key reporting mode
  - CSI ? u  Query key reporting mode
- When you select hex characters and open the
  context menu their base-10 equivalent is shown.
- Add Undo Close to menu so that you can bind a
  keystroke to it. It undoes closing the last
  session/tab/window.
- You can now enable and disable triggers both on
  a per-profile basis and per-session. You can do
  this through the usual prefs UIs and also
  through the Session > Triggers menu.
- Add "Clear to Last Mark" and "Clear to Start of
  Selection" menu items.
- Add an option to disable triggers in interactive
  applications.
- You can now importa nd export snippets.
- Add a profile preference to open the password
  manager automatically when a password prompt is
  detected.
- Dynamic profiles may now name a "Dynamic Profile
  Parent GUID" rather than "Dynamic Profile Parent
  Name" to avoid breaking things when you rename a
  profile with children.
- Timestamps can now be configured to show when
  the mouse hovers over the right edge of the
  window.

Other Improvements
- Preserve existing percent encoding when
  cmd-clicking a URL.
- Avoid setting TTY's size when switching away
  from a tab.
- Verbiage improvements to tmux dashboard.
- Improvements to escaping when sending text via
  key binding action or snippets. Backaslashes can
  now reliably be sent by escaping them as \\.
  Existing key bindings and snippets will not
  change behavior until edited.
- Sliders in prefs now include a text field
  showing the actual value.
- The window menu now indicates windows'
  shortcuts.
- Don't select tabs on mouse-down when option is
  pressed so that you can option-drag a
  non-selected tab.
- Set COPYFILE_DISABLE before creating an archive
  to send with it2ul to not include extended
  attributes files.
- Add Edit Triggers to Session menu.
- If the current directory is a symlink remember
  it more reliably when creating a new session
  that reuses the previous session's directory.
- Upload and download colors in the network usage
  status bar component configurable.
- Prevent triggers that run commands from eating
  infinite CPU if there are too many of them by
  limiting the number that can run concurrently.
- Detect when triggers create a performance
  problem and offer to disable them in interactive
  apps.
- Page up, page down, home, and end now scroll
  when you are not in an interactive app. There is
  a new preference in Profiles > Keys to control
  this.
- In tmux integration (for tmux 3.2 and later) tab
  icons now reflect the current app in the tmux
  pane.
- Add showingAlternateScreen as a session-scoped
  variable.
- Add tmuxWindowPaneIndex as a session-scoped
  variable (requires tmux 3.2+ and tmux
  integration).
- Add logFilename variable to session scope.
- When a status bar is present without a composer
  component and you open the composer, open the
  big one instead of creating a temporary one in
  the status bar.
- Include default environment variables when
  launching a Python API script (e.g. so TMPDIR is
  set).
- Tmux integration now uses #{pane_title} for the
  tab title in most cases.
- Remove selection when pasting.
- Change the full screen mode shortcut to the mac
  standard cmd-ctrl-F unless you have a profile
  whose shortcut is set to this. Continue to
  acccept cmd-enter as well.
- Minor performance improvements to legacy
  renderer.
- Aesthetic improvements to the tabbar on big sur
  to look more like system tabs.
- Make "movement keys scroll outside interactive
  apps" into a profile preference.
- When dragging a window by the tabbar make it key
  and front on mousedown.
- Order a window front when dragging begins.
- Add support for encrypted OpenSSH private keys
  to upload/download with secure copy.
- Disable GPU renderer when macOS Monterey is in
  low-power mode.

Bug Fixes
- macOS Monterey support.
- Make "broadcast to panes in current tab" saner.
  It is now a per-tab rather than per-window
  setting. Toggling it will enable/disable the
  setting only for the current tab.
- Don't highlight the area next to the search
  field in the preferences pane on mouse-over.
- Fix a bug where windows could be created a bit
  narrower than they should have been.
- When the standard "tmux" profile is created,
  ensure it doesn't have a hotkey.
- Fix improper truncation in git status bar
  component.
- Fix cmd-clicking on URLs with ipv6 addresses.
- Fix URL changing in various cases when
  cmd-clicking on it.
- Fix discrepancy between legacy and GPU
  renderer's drawing of tiled background images.
- Fix a bug where toolbelt tables could be
  truncated on the bottom.
- Move cursor to first column after adding
  'session contents restored' banner.
- Fix bug where inline images were scaled
  incorrectly.
- Fix insets of inline images to be mroe sensible.
- Fix a bug where a shadow could appear under the
  tabbar in full screen mode on Big Sur and also
  in the minimal theme.
- Disable paste bracketing when sending 'cd
  directory' due to a drag being dropped.
- Fix the expand arrow button in the status bar
  composer component.
- Allow focus to stay on search field when a
  terminal window becomes key.
- Don't let a control sequence take you out of
  CSI u mode.
- Fix overly long underlines in GPU renderer.
- Prevent excessive CPU usage when the git status
  bar component is enabled and the repo in the
  current directory is enormous.
- Fix incorrect network throughput in network
  status bar component when the set of NICs
  changes.
- Update full-environment Python scripts'
  setup.cfg after editing dependencies.
- Fixes a bug where the window shrinks when
  splitting a tab in a 1-tab window.
- Fix various crashes.
- Fix a bug where prompt marks could survive the
  screen being cleared (this happened a lot in
  tmux integration).
- Respect zero-width joiners and allow them to
  prevent ligatures.
- Fix a bug where restoring windows from an
  arrangement via the dock menu could put them on
  the wrong screen.
- Avoid sending focus reports when the password
  manager is open.
- Fix a bug where tabs opened from the tmux
  dashboard would open in the current window
  instead of in a new window.
- Fix a bug where content would jump around when
  scrolled up into history and new input is being
  received.
- Fix a bug where it was impossible to make a
  selection while scrolled into history and new
  input is being received.
- Fix a bug where content was duplicated when
  restoring a window on app launch.
- Fix a bug where buried sessions remained hidden
  when the password manager was opened by a
  trigger.
- Fix opening emacs in an existing window when
  cmd-clicking on a text file.
- Unset SHLVL when launching a session to avoid it
  being greater than 1.
- Control-J in CSI u mode now sends a control
  sequence.

You can use the following to verify the zip file on https://keybase.io/verify:

-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA256

b80bab5a93448a170f72ccb00177809ffc89a73bc76286fdd4c5de15cd272ae6
-----BEGIN PGP SIGNATURE-----

iHUEAREIAB0WIQSAPIQGkYVsjnBRo2J0Et0TaFtKrAUCYMVGWAAKCRB0Et0TaFtK
rAbvAQC5pUyBzuGeGXmArNHqWjbS2fJXvU6u69xSSa+3X59mCgD+PvONGUZn2amG
/WC2FnZ7WnLUbfo7xlC+0YApMtSPtf4=
=isBr
-----END PGP SIGNATURE-----
```

#### [iTerm2 3.4.7beta2 (OS 10.14+)](https://iterm2.com/downloads/beta/iTerm2-3_4_7beta2.zip)

This is the recommended beta build for most users.
Built on May 19, 2021.

[▾ Hide Changelog](<javascript:hideId('1332381347356734222')>)

```
3.4.7beta2

- Fix a bug where the GPU renderer would draw the
  wrong part of history when receiving input.

3.4.7beta1
- Fix a regression where clicking on an inactive
  split pane while iTerm2 is not the active app
  didn't focus it.
- Fix performance problems because of a timer
  leak.
- Fix performance problems on certain systems that
  constantly issue screen change notifications.
- Fix a crash when using Undo in the composer.
- Fix poor performance in full screen mode.
- Fix drawing bug in non-GPU renderer when
  scrolled to the bottom while receiving input
  quickly.

You can use the following to verify the zip file on https://keybase.io/verify:

-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA256

4e4cf559c7cc150b4ef929e17d3af52b8f7660bfd0c340c57bd2d423cdf06ca7
-----BEGIN PGP SIGNATURE-----

iHUEAREIAB0WIQSAPIQGkYVsjnBRo2J0Et0TaFtKrAUCYKXhiAAKCRB0Et0TaFtK
rLCEAP93iDLEdMAAJUzH15ZOWD41okZ/74KeGadBDDaOIxhHYAEAk+a0uly4PA2P
M6BftHkfqFI7CaRF2h6qCPqOktAUpYQ=
=xGo9
-----END PGP SIGNATURE-----
```

#### [iTerm2 3.4.7beta1 (OS 10.14+)](https://iterm2.com/downloads/beta/iTerm2-3_4_7beta1.zip)

This is the recommended beta build for most users.
Built on May 14, 2021.

[▾ Hide Changelog](<javascript:hideId('8896999889453872875')>)

```
3.4.7beta1
This is a bugfix release over 3.4.6, which was
short-lived.

- Fix a regression where clicking on an inactive
  split pane while iTerm2 is not the active app
  didn't focus it.
- Fix performance problems because of a timer
  leak.
- Fix performance problems on certain systems that
  constantly issue screen change notifications.
- Fix a crash when using Undo in the composer.
- Fix poor performance in full screen mode.
- Fix drawing bug in non-GPU renderer when
  scrolled to the bottom while receiving input
  quickly.

You can use the following to verify the zip file on https://keybase.io/verify:

-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA256

2811268e61807b12643ab9e29d4c9c9e60b2de2505e9b309c37e184c9d0650c3
-----BEGIN PGP SIGNATURE-----

iHUEAREIAB0WIQSAPIQGkYVsjnBRo2J0Et0TaFtKrAUCYJ64qwAKCRB0Et0TaFtK
rMfnAP0Xy05ATyYZUt4CNdTmcGjh2vkoVajdtXPufOy27FfsbAD/cPXGB63FiuCx
jLqwxh3o5KBo7yHXI3S1grlSvl1dZmk=
=C31U
-----END PGP SIGNATURE-----
```

#### [iTerm2 3.4.5beta3 (OS 10.14+)](https://iterm2.com/downloads/beta/iTerm2-3_4_5beta3.zip)

This is the recommended beta build for most users.
Built on April 4, 2021.

[▾ Hide Changelog](<javascript:hideId('2173793518340028683')>)

```
3.4.5beta3

Bug Fixes
- Fix a hang when using a status bar with the
  "stable layout" algorithm and a fixed-size
  spacer.
- Fix a bug where scroll wheel mice could need
  more than one click to scroll.
- Fix a bug where tmux integration was broken on
  OpenBSD 6.8.
- Fix a flash when the metal renderer is enabled
  or disabled.
- Fix bugs where tiled background images didn't
  look right.
- Fix bug where the last command in the command
  history toolbelt tool was cut off.
- Fix a crash.

You can use the following to verify the zip file on
https://keybase.io/verify:

-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA256

86b42e49bff8400f090ec83f7a15b32d94573bee2c9354f5d46a73ca27290758
-----BEGIN PGP SIGNATURE-----

iHUEAREIAB0WIQSAPIQGkYVsjnBRo2J0Et0TaFtKrAUCYGqhqgAKCRB0Et0TaFtK
rFTWAQCjlWRL+UjjIzCNfMInRxthIV9eOHkOAQPoiIpxz9T+jAD+IxLJWjDD3ss7
uzHXRrozjOtZ+rbL8pgpAZpsaA/kfRA=
=Gaxz
-----END PGP SIGNATURE-----
```

#### [iTerm2 3.4.5beta2 (OS 10.14+)](https://iterm2.com/downloads/beta/iTerm2-3_4_5beta2.zip)

This is the recommended beta build for most users.
Built on March 12, 2021.

[▾ Hide Changelog](<javascript:hideId('7830004687024868132')>)

```
3.4.5beta2

Bug Fixes
- Fix various bugs around snippets with the same
  title.
- Don't crash if ~/.config/iterm2, ~/.iterm2, and
  ~/.iterm2-1 cannot be created/used as writable
  directories.
- Fix rendering bugs in background images with
  transparency.
- When HTML titles are enabled, remove the tags
  from various places like notifications.
- Don't crash when pseudoterminals are exhausted.
- Fix a bug where windows would be empty after
  changing screen.
- Fix a bug where no terminal content was shown
  when dragging a tab.
- Fix a bug where underlines appeared offset.
- Fix a bug where transparency and blur would
  sometimes be wrong.
- Fix a bug where smart cursor color didn't use
  the right neighbors as input.
- Fix a bug where the tty pixel size didn't take
  retina scale into account.
- Fix blurry timestamps.

You can use the following to verify the zip file
on https://keybase.io/verify:

-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA256

3c7b71a5d74542590a23e66132a72b1cd469218757033b722bab929216711cfb
-----BEGIN PGP SIGNATURE-----

iHUEAREIAB0WIQSAPIQGkYVsjnBRo2J0Et0TaFtKrAUCYEvnGAAKCRB0Et0TaFtK
rI79APwO0cN91LbDOiu/gBp4L6bbd0Bm+EcF4C/OdQ7AE8t0FgEA1gM1rhyZ4RWV
Iz+K0nYWB9072OCN0KT/IXGpFlZlaD4=
=Vuvi
-----END PGP SIGNATURE-----
```

#### [iTerm2 3.4.5beta1 (OS 10.14+)](https://iterm2.com/downloads/beta/iTerm2-3_4_5beta1.zip)

This is the recommended beta build for most users.
Built on February 15, 2021.

[▾ Hide Changelog](<javascript:hideId('4612973181591787053')>)

```
3.4.5beta1

New Features:
- Add preference to allow/disallow apps changing
  the function of the option keys with a control
  sequence.
- Add a menu item to pop the current session into
  a new window.
- The git status bar now indicates the repo state
  (merging, reverting, cherrypicking, bisecting,
  rebasing, or applying).
- When you right click on a hex color like #ffeedd
  show a preview of the color in sRGB in the
  context menu.
- Add a new type of trigger to highlight the whole
  line. This is useful because matching .*foo.* is
  very slow. With this trigger you can simply
  match foo and the whole line changes color.

Improvements
- The git status bar component no longer shells
  out to the system git. It uses libgit2 instead
  (nicely named!) and should be faster and more
  reliable now.
- When known, the current git branch is used as a
  search feature in Open Quickly.
- Don't show a line between the titlebar and
  tabbar in Big Sur.
- Increase max allowed blur on macOS 10.14.
- When you move a window to a different screen by
  selecting the Move To Screen menu item, it will
  lose its affinity for the window assigned to it
  in Prefs > Profiles > Window and stay where it
  was put when screens are added or removed.
- Buttons in modal alerts now accept cmd+letter
  shortcuts.
- Ignore dynamic profiles whose filename ends in a
  tilde.
- Reset terminal when relaunching a session (e.g.,
  paste bracketing and mouse reporting).
- The composer window now uses the terminal's
  font.
- Scrolling with the trackpad should be more
  responsive now.
- Change how text is drawn when not using GPU
  renderer to avoid artifacts.
- When doing selection respecting soft boundaries,
  treat a backslash in the last column as a
  continuation mark and don't include it.
- By default, save terminal contents to history
  when there is a scrolling region that touches
  the top of the screen.
- Newly saved window arrangements will restore to
  the right size when scroller style changes after
  they were created (unless there are side-by-side
  split panes).
- Treat soft hyphens as unicode punctuation in
  Advanced Paste.

Bug Fixes
- Fix a bug where doublecliking on a session
  titlebar didn't maximize tmux panes correctly.
- Fix clipped button next to status bar search
  field.
- Blur is now correct after changing window type
  or theme.
- Fix a bug where a window forgot it was blurred
  when toggling traditional fullscreen in Minimal
  theme.
- Fix a bug where windows would restore on the
  wrong desktop.
- Fixes a bug where the GPU renderer gets stuck
  "off" when the "Reduce motion" accessibility
  setting is enabled and a window is maximized.
- Fix a bug where control+shift+function/arrow key
  sent the wrong code.
- Fix a bug where the app could hang after certain
  trackpad touches.
- Fix a bug where copy on selection didn't always
  work.
- Fix a bug where transparent windows changed
  colors in native full screen mode.
- Fix a bug where keystrokes bound to menu items
  didn't always work.
- Fix crashes.
- Fix a bug where disabling
  middle-click-to-close-a-tab also breaks the tab
  close button.
- Fix keystroke filtering in the Python APi which
  seems have been broken for some time.
- Fix various bugs with HTML tab titles: remove
  HTML for window title and tooltips.
- Fix a bug where inline images downscaled
  with artifacts in the GPU renderer.
- Fix a crash on launch if ~/.config/iterm2 is not
  able to be created and is not already a
  directory.
- Fix a bug where tab icons were flipped
  vertically on macOS 10.14.
- Fix a bug where the GPU renderer would sometimes
  use the wrong thickness for text.

You can use the following to verify the zip file on https://keybase.io/verify:

-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA256

2fead9e50cf8d6b1604306acc3ad83791fda234e2583c26d02f59d0a8664426a
-----BEGIN PGP SIGNATURE-----

iHUEAREIAB0WIQSAPIQGkYVsjnBRo2J0Et0TaFtKrAUCYCtcDwAKCRB0Et0TaFtK
rNV7AQCvTEEIq1DArq1zpZKEbOZKVnpCVBCyWiNY3WI84vsilgD7BmmhrBZIcjOt
3wWI1DoucA++txeTFFTi+7ObvcK1AMk=
=6od5
-----END PGP SIGNATURE-----
```

#### [iTerm2 3.4.4beta4 (OS 10.14+)](https://iterm2.com/downloads/beta/iTerm2-3_4_4beta4.zip)

This is the recommended beta build for most users.
Built on January 25, 2021.

[▾ Hide Changelog](<javascript:hideId('1049377117856878525')>)

```
You can use the following to verify the zip file on https://keybase.io/verify:

-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA256

1cb734f3a9fb295fc78f681d5df61467207a5e7e239c181fc78bbfc849f895fa
-----BEGIN PGP SIGNATURE-----

iHUEAREIAB0WIQSAPIQGkYVsjnBRo2J0Et0TaFtKrAUCYA9pmwAKCRB0Et0TaFtK
rGwyAQC57E26RIPcGFELMq/9f9G/pAgTk/OSCcFsbCgOzOPvrAD9EAYuLd/IKODZ
uJjYuZTLmP0IJuBHVR789e4A3NhmRUM=
=Xl36
-----END PGP SIGNATURE-----
```

#### [iTerm2 3.4.4beta3 (OS 10.14+)](https://iterm2.com/downloads/beta/iTerm2-3_4_4beta3.zip)

This is the recommended beta build for most users.
Built on January 10, 2021.

[▾ Hide Changelog](<javascript:hideId('1157763814096603218')>)

```
3.4.4beta3

Improvements:
- The changelog now has a PGP signature.
- When you hold down cmd while dragging in a file
  from Finder, insert a command to cd to its
  containing folder.
- (Beta only) support DECSET 1036.

Bugs Fixed:
- When you drag a tab out of a window, show the
  previously selected tab. That makes it possible
  to drag another tab into a pane in the current
  tab.
- Fix a bug where the tmux initial window mode was
  not respected.
- Fix a bug where miniaturized windows were
  restored non-miniaturized.
- Fix a bug where the "do not remap" action didn't
  work when secure keyboard input was turned on.

SHA-256 of the zip file is
You can use the following to verify the zip file on https://keybase.io/verify:

-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA256

6ab375e293bcbd2e1c3ff2c2b95e2dc18df03ab90e4e0841e9726e682fcbf0ba
-----BEGIN PGP SIGNATURE-----

iHUEAREIAB0WIQSAPIQGkYVsjnBRo2J0Et0TaFtKrAUCX/vwYAAKCRB0Et0TaFtK
rLB4AP9sbAZqou+db3ew8mk5BneAgS4PN6LqdC2XndqYgfkhnwEA1y3shsyuI9gN
kQvRH4dk6xMMBorq/sal563Ou4vGHN0=
=g1w4
-----END PGP SIGNATURE-----
```

#### [iTerm2 3.4.4beta2 (OS 10.14+)](https://iterm2.com/downloads/beta/iTerm2-3_4_4beta2.zip)

This is the recommended beta build for most users.
Built on January 3, 2021.

[▾ Hide Changelog](<javascript:hideId('7285198054552052351')>)

```
3.4.4beta2

New Features:
- The composer now integrates with command history
  and makes completion suggestions.
- When you right click on text with a hyperlink,
  "Copy Link Address" is now available in the
  context menu.

Improvements:
- Allow emoji picker to be added to the touch bar.
- Add "Send Snippet" as a key binding action.
- Remove the popover composer UI; use the large
  composer UI regardless of whether there is a
  status bar.
- Add a button in the composer UI to open
  explainshell.com.

Bugs Fixed:
- Fix a bug introduced in the previous beta that
  prevented creating sessions when iTerm2 is
  installed in a path with a space in it.
- Fix tiled images, which did not tile properly.
- Fix a bug where newly added snippets cannot be
  selected in the menu.
- Reduce scroll speed in mouse reporting.
- Fix a bug where the login shell could be
  launched as x86 only.
- Fix layout bugs when resizing shortcuts prefs
  windows.
- Reduce CPU utilization when GPU resources are
  scarce.
- Fix a bug where minimum contrast didn't work
  correctly in GPU renderer sometimes.
- Make the tab color selection menu item look
  right in dark mode.

SHA-256 of the zip file is
4856f20dee0c209ab84a3fb38decf3eccde9dcea372e477e689113b3a47ee234

-----BEGIN PGP SIGNATURE-----

iHUEABEIAB0WIQSAPIQGkYVsjnBRo2J0Et0TaFtKrAUCX/Kj/wAKCRB0Et0TaFtK
rKT6AP4rNLcb59WCN9M0UdkyHiLtcFRVjrqJ0x0u3KLv8x71FAD7BoQr+TQ0C00C
UJ/Bts/0r2GB/204M1P9+AUBa+48QP4=
=44eO
-----END PGP SIGNATURE-----
```

#### [iTerm2 3.4.4beta1 (OS 10.14+)](https://iterm2.com/downloads/beta/iTerm2-3_4_4beta1.zip)

This is the recommended beta build for most users.
Built on December 27, 2020.

[▾ Hide Changelog](<javascript:hideId('1281671850771157664')>)

```
3.4.4beta1

Annoying things I'm sorry about
- You'll be asked to re-install the Python
  runtime. This fixes a problem where pip3 would
  sometimes fail. Instead of creating a symlink
  of ~/Library/ApplicationSupport we will now use
  ~/.config/iterm2/AppSupport.

New Features
- Tab titles now parse very basic HTML tags for
  bold, italic, and underline. Less-than and
  ampersand entites are also recognized.
- Margins are now adjustable in Prefs >
  Appearance > Panes.
- Add an option to save prefs to a custom folder
  automatically.

Improvements
- Improve performance of opening lots of tabs at
  once.
- Improve performance when changing prefs that
  affect many tabs.
- Tabs are now selected on mouse down rather than
  on mouse up.
- Hide tab close button on small tabs to prevent
  accidental closure.
- Confirm deleting entries in the password
  manager.
- Tab icons are now always left aligned and get
  replaced with the close button on hover.
- Plain-text logs now include timestamps.
- Recognize U+251C and U+2524 as column dividers
  for selection's soft boundaries.
- Reduce minimum dimming amount allowed in Prefs >
  Appearance > Dimming.
- Use terminal background color to determine
  appearance of composer.
- You can now use Cmd-W to dismiss the composer.
- Don't show an alert if the initial tmux
  integration command fails.
- When you split a pane in tmux integration and
  focus follows mouse is on, don't make the pane
  under the mouse active. Make the new pane
  active.
- New tmux windows created outside iTerm2 (e.g.,
  by running `tmux new-window`) will become tabs
  in the current window.
- Give backpressure to commands run in the
  background (e.g., from triggers) to keep them
  from hogging CPU.
- Improve performance of creating a new session in
  a custom directory.
- Improve performance when there are big
  background images.
- The composer now clears the existing command by
  sending C-U C-K.
- Handle "Default_Ignorable" unicode characters
  correctly.
- Use the background color of inactive sessions to
  determine the split pane divider color.
- Improve performance of decoding inline images.
- Make trackpads scroll faster to act more like
  other macOS apps.

Bug Fixes
- Fix various crashes.
- Fix a bug where tab labels would be white in
  light mode when there was a colored tab.
- Fix alignment of underlines in GPU renderer.
- Fix various drawing bugs in legacy renderer.
- Fix a bug where on Big Sur transparency doesn't
  work with background images.
- Fix $$$$ in profile commands, which should be
  replaced with $$.
- Fix a bug in key reporting for arrow keys when
  application cursor mode is on. This caused
  problems in vim.
- Improve how background colors are blended with
  background images in GPU renderer to be
  consistent with legacy renderer.
- Fix a bug where Window > Move to (display) was
  disabled.
- Fix a bug where tmux panes would get killed when
  switching sessions.
- Don't show the "short-lived session" warning in
  tmux integration when creating a new tmux
  session.
- Fix a problem where BBEdit couldn't find the
  parent iTerm2 app.
- Tolerate missing profiles when restoring a
  window arrangement.
- Don't show swipe-between-tabs animation when
  there is only one tab.
- Give minimal windows an invisible proxy icon so
  that accessibility can tell what the current
  directory is.
- Tmux integration windows enter full screen when
  the profile specifies it.
- Fix a bug where windows were not movable after
  exiting full screen.
- Fix various bugs in the "Add Trigger" menu item.
- Fix bugs where switching tabs makes a cleared
  search field regain its previous value.
- Fix a bug where async_get_full_profile in Python
  API would throw for some profiles.
- Reduce size of saved state database.
- Fix a bug where tmux integration didn't work on
  OpenBSD.
- Fix a bug where clicking in the search field
  didn't work.
- Fix a bug where non-default background colors
  had the wrong opacity in the GPU renderer.

SHA-256 of the zip file is
14751900bee281d52d8994ea54e0729628ecd7d78db2ff9ef0e78e2c6364136a
```

#### [iTerm2 3.4.3beta1 (OS 10.14+)](https://iterm2.com/downloads/beta/iTerm2-3_4_3beta1.zip)

This is the recommended beta build for most users.
Built on November 30, 2020.

[▾ Hide Changelog](<javascript:hideId('8972932098815164111')>)

```
3.4.3beta1

- Don't allow programs to turn on
  "modifyOtherKeys" key reporting mode, which
  caused problems in vim for many users.
  This default can be changed in 
  Prefs > Profiles > Keys.
- Fix a bug where "Move Session to Window" was
  disabled in the context menu.
- Fix a bug where long URLs couldn't be
  cmd-clicked on.
- If Application Support is not writable, copy the
  server binary to ~/.iterm2
- Save restorable state when upgrading, even if
  it's normally not used.
- Fix a bug where custom status bar components
  didn't work.
- Fix a bug where the python runtime couldn't be
  downloaded.
- Bring back the ApplicationSupport symlink
  because pip3 can't handle spaces in paths.
- Fix a crash when the scripting console was open.

3.4.2

- Fix a bug where sessions ended immediately.
- Fix a bug where tmux integration would
  disconnect immediately.
- Fix crashes.
- Fix a bug where smart selection actions in the
  context menu were disabled.
- Fix Prefs > General > Magic > Allow all apps to
  connect, which gave an error every time.
- Fix right click to open context menu for
  two-button mice.
- Improve performance when resizing windows with
  background images.
- Fix shortcut for Composer in tip of the day.
- Fix support for control keys that include option
  on non-US keyboard in modifyOtherKeys mode 2.
- Fix a bug where the tab title was used in place
  of the window title.

3.4.1:

- Make downloads of Python runtime more reliable.
- Fix a bug in Big Sur where the content of alert
  boxes could be cut off.
- Fix a bug in Big Sur where the tabbar could
  overlap terminal contents in full screen mode.

3.4.0 Release Notes:

New Features
- You can now set a custom tab title on a profile
- There is a new profile preference to configure
  whether mouse reporting of clicks and drags are
  allowed.
- Search results, marks, and annotations are now
  indicated in the scroll bar.
- There's a new preference to focus a window when
  you right- or middle-click in it.
- Add support for IntelliJ IDEA, VSCodium, and
  Sublime Text 4 as Semantic History editors.
- There's a new "Composer" feature that lets you
  quickly open a scratchpad to enter a command.
- You can now swipe with two or three fingers
  between tabs, like in Safari.
- Curly underlines are now supported.
- Adds support for DECRQSS.
- DECSCUSR 0 now resets the cursor to its default
  setting.
- Adds support for flow control in tmux 3.2 and
  "pause mode" that will automatically pause
  sessions in tmux integration that get very far
  behind with the ability to catch up quickly.
  NOTE: tmux 3.2 has not yet been released.
- tmux integration windows will now keep their
  size the same as you create or destroy split
  panes.
- Adds a preference to exclude iTerm2 from the
  dock and cmd-tab app switcher only if all
  windows are hotkey windows.
- In the Minimal and Compact themes, you can now
  drag the window by grabbing the edge of the tab
  bar near the window border.
- Show local time in the context menu when you
  right click on a timestamp in microseconds since
  epoch.
- Add a menu item "copy with control sequences".

Improvements
- Various performance improvements.
- The Python API now uses a Unix Domain Socket
  instead of a TCP socket for better performance.
  The security model has also changed: apps can
  authenticate via Applescript or you can choose
  to allow all programs running locally to use the
  API.
- Use a single daemon process for all sessions
  instead of one per session. This reduces the
  number of process IDs used and also improves the
  time to launch a new session.
- Background images are significantly faster when
  not using the GPU renderer.
- Most tables now allow multiple selection.
- The number of search results is now shown in the
  Find on Page UI.
- Dynamic profiles now works with symlinks. Even
  the DynamicProfiles folder itself may be a
  symlink.
- Exported scripts now have a more secure
  container format that signs the entire file
  except the signature itself.
- Improve cold launch time.
- Countless minor improvements and polishing.
- Big Sur supported.
- Permission is now requested before various
  possibly destructive or annoying activities are
  done in response to control sequences.
- Don't snap window size to the cell grid when it
  gets resized by an Accessibility API.
- Only use touch bar mitigations for keypresses
  originating from the built-in keyboard.
- The profile preference "Send text at start" is
  now an interpolated string.
- The profile preference "Custom command" is
  now an interpolated string.
- The feature where the scroll wheel sends arrow
  keys when in alternate screen mode now works
  even when alternate screen mode is disabled.
- Enable window shadow for transparent windows.
- When resizing the window while scrolled up in to
  history, keep the text in the top left locked in
  position.
- Show a brief message when automatic profile
  switching takes effect.
- Send a newline before sending the curl command
  to install shell integration to clear out any
  existing command.
- Disable GPU renderer for obscured windows when
  using the integrated GPU.
- When a tmux pane fails to split, don't detach.
- Remember tmux window sizes when reattaching.
- When disintering a buried tmux tab, put it back
  in the right position in the same window it came
  from.
- Draw outline on right hand side of last tab in
  minimal theme.
- Hide subpixel antialiasing UI on big sur because
  Apple took it away from us :(

Bug Fixes
- Full screen windows in the Minimal or Compact
  theme did not used to get restored properly and
  now they do.
- Fix how 24-bit colors are reported to work with
  vim.
- Saved arrangements that contain local changes
  (such as those made with Edit Session) will now
  pick up changes to the original profile.
- Fix a bug where inline images and OSC 8
  hyperlinks didn't get restored reliably when
  restarting the app.
- Improve support for zero-width joiners in Emoji.
- Fix a memory leak of inline images when
  restoring windows after restarting the app.
- Fix a bug where Swap With Session didn't work on
  tmux panes.
- Fix a bug where quickly resizing tmux windows
  would increase the bottom margin.
- Fix a bug where Window > Resize Window would
  cause tmux windows to resie incorrectly.
- Fix a bug where windows are not movable after
  exiting native full screen.
- Add crlf after sixel image.
- Fix shift-return in profiles window to open a
  window instead of a tab.
- Fix a bug where tmux windows would change sizes
  unexpectedly when using horizontal/vertical
  character spacing.

Things Made Worse
- Support for macOS 10.12 and 10.13 dropped.

SHA-256 of the zip file is
9db9b3801c90e16575d20ebc65a462fc9a119c4b9e3ad9743e4a0b47cb7bfa46
```

#### [iTerm2 3.4.2beta3 (OS 10.14+)](https://iterm2.com/downloads/beta/iTerm2-3_4_2beta3.zip)

This is the recommended beta build for most users.
Built on November 21, 2020.

[▾ Hide Changelog](<javascript:hideId('2442314624000928792')>)

```
3.4.2beta3

- Fix support for control keys that include option
  on non-US keyboard in modifyOtherKeys mode 2.
- Fix crashes.
- Fix a bug where the tab title was used in place
  of the window title.

3.4.2beta2

- Fix a crash when launching a new session.
- Fix an incorrect shortcut in the tip of the day.

3.4.2beta1

- Fix a bug where smart selection actions in the
  context menu were disabled.
- Fix a bug where tmux integration would
  disconnect immediately.
- Fix Prefs > General > Magic > Allow all apps to
  connect, which gave an error every time.
- Fix right click to open context menu for
  two-button mice.
- Fix a bug where sessions always terminate
  immediately.

3.4.1:
- Make downloads of Python runtime more reliable.
- Fix a bug in Big Sur where the content of alert
  boxes could be cut off.
- Fix a bug in Big Sur where the tabbar could
  overlap terminal contents in full screen mode.

3.4.0 Release Notes:

New Features
- You can now set a custom tab title on a profile
- There is a new profile preference to configure
  whether mouse reporting of clicks and drags are
  allowed.
- Search results, marks, and annotations are now
  indicated in the scroll bar.
- There's a new preference to focus a window when
  you right- or middle-click in it.
- Add support for IntelliJ IDEA, VSCodium, and
  Sublime Text 4 as Semantic History editors.
- There's a new "Composer" feature that lets you
  quickly open a scratchpad to enter a command.
- You can now swipe with two or three fingers
  between tabs, like in Safari.
- Curly underlines are now supported.
- Adds support for DECRQSS.
- DECSCUSR 0 now resets the cursor to its default
  setting.
- Adds support for flow control in tmux 3.2 and
  "pause mode" that will automatically pause
  sessions in tmux integration that get very far
  behind with the ability to catch up quickly.
  NOTE: tmux 3.2 has not yet been released.
- tmux integration windows will now keep their
  size the same as you create or destroy split
  panes.
- Adds a preference to exclude iTerm2 from the
  dock and cmd-tab app switcher only if all
  windows are hotkey windows.
- In the Minimal and Compact themes, you can now
  drag the window by grabbing the edge of the tab
  bar near the window border.
- Show local time in the context menu when you
  right click on a timestamp in microseconds since
  epoch.
- Add a menu item "copy with control sequences".

Improvements
- Various performance improvements.
- The Python API now uses a Unix Domain Socket
  instead of a TCP socket for better performance.
  The security model has also changed: apps can
  authenticate via Applescript or you can choose
  to allow all programs running locally to use the
  API.
- Use a single daemon process for all sessions
  instead of one per session. This reduces the
  number of process IDs used and also improves the
  time to launch a new session.
- Background images are significantly faster when
  not using the GPU renderer.
- Most tables now allow multiple selection.
- The number of search results is now shown in the
  Find on Page UI.
- Dynamic profiles now works with symlinks. Even
  the DynamicProfiles folder itself may be a
  symlink.
- Exported scripts now have a more secure
  container format that signs the entire file
  except the signature itself.
- Improve cold launch time.
- Countless minor improvements and polishing.
- Big Sur supported.
- Permission is now requested before various
  possibly destructive or annoying activities are
  done in response to control sequences.
- Don't snap window size to the cell grid when it
  gets resized by an Accessibility API.
- Only use touch bar mitigations for keypresses
  originating from the built-in keyboard.
- The profile preference "Send text at start" is
  now an interpolated string.
- The profile preference "Custom command" is
  now an interpolated string.
- The feature where the scroll wheel sends arrow
  keys when in alternate screen mode now works
  even when alternate screen mode is disabled.
- Enable window shadow for transparent windows.
- When resizing the window while scrolled up in to
  history, keep the text in the top left locked in
  position.
- Show a brief message when automatic profile
  switching takes effect.
- Send a newline before sending the curl command
  to install shell integration to clear out any
  existing command.
- Disable GPU renderer for obscured windows when
  using the integrated GPU.
- When a tmux pane fails to split, don't detach.
- Remember tmux window sizes when reattaching.
- When disintering a buried tmux tab, put it back
  in the right position in the same window it came
  from.
- Draw outline on right hand side of last tab in
  minimal theme.
- Hide subpixel antialiasing UI on big sur because
  Apple took it away from us :(

Bug Fixes
- Full screen windows in the Minimal or Compact
  theme did not used to get restored properly and
  now they do.
- Fix how 24-bit colors are reported to work with
  vim.
- Saved arrangements that contain local changes
  (such as those made with Edit Session) will now
  pick up changes to the original profile.
- Fix a bug where inline images and OSC 8
  hyperlinks didn't get restored reliably when
  restarting the app.
- Improve support for zero-width joiners in Emoji.
- Fix a memory leak of inline images when
  restoring windows after restarting the app.
- Fix a bug where Swap With Session didn't work on
  tmux panes.
- Fix a bug where quickly resizing tmux windows
  would increase the bottom margin.
- Fix a bug where Window > Resize Window would
  cause tmux windows to resie incorrectly.
- Fix a bug where windows are not movable after
  exiting native full screen.
- Add crlf after sixel image.
- Fix shift-return in profiles window to open a
  window instead of a tab.
- Fix a bug where tmux windows would change sizes
  unexpectedly when using horizontal/vertical
  character spacing.

Things Made Worse
- Support for macOS 10.12 and 10.13 dropped.

SHA-256 of the zip file is
83cc28c1441fddee9019bb08cad3a3969f0d94f4c1d897ad7e11a4486cb4f0d7
```

#### [iTerm2 3.4.2beta2 (OS 10.14+)](https://iterm2.com/downloads/beta/iTerm2-3_4_2beta2.zip)

This is the recommended beta build for most users.
Built on November 21, 2020.

[▾ Hide Changelog](<javascript:hideId('7561467581379968343')>)

```
3.4.2beta2

- Fix a crash when launching a new session.
- Fix an incorrect shortcut in the tip of the day.

3.4.2beta1

- Fix a bug where smart selection actions in the
  context menu were disabled.
- Fix a bug where tmux integration would
  disconnect immediately.
- Fix Prefs > General > Magic > Allow all apps to
  connect, which gave an error every time.
- Fix right click to open context menu for
  two-button mice.
- Fix a bug where sessions always terminate
  immediately.

3.4.1:
- Make downloads of Python runtime more reliable.
- Fix a bug in Big Sur where the content of alert
  boxes could be cut off.
- Fix a bug in Big Sur where the tabbar could
  overlap terminal contents in full screen mode.

3.4.0 Release Notes:

New Features
- You can now set a custom tab title on a profile
- There is a new profile preference to configure
  whether mouse reporting of clicks and drags are
  allowed.
- Search results, marks, and annotations are now
  indicated in the scroll bar.
- There's a new preference to focus a window when
  you right- or middle-click in it.
- Add support for IntelliJ IDEA, VSCodium, and
  Sublime Text 4 as Semantic History editors.
- There's a new "Composer" feature that lets you
  quickly open a scratchpad to enter a command.
- You can now swipe with two or three fingers
  between tabs, like in Safari.
- Curly underlines are now supported.
- Adds support for DECRQSS.
- DECSCUSR 0 now resets the cursor to its default
  setting.
- Adds support for flow control in tmux 3.2 and
  "pause mode" that will automatically pause
  sessions in tmux integration that get very far
  behind with the ability to catch up quickly.
  NOTE: tmux 3.2 has not yet been released.
- tmux integration windows will now keep their
  size the same as you create or destroy split
  panes.
- Adds a preference to exclude iTerm2 from the
  dock and cmd-tab app switcher only if all
  windows are hotkey windows.
- In the Minimal and Compact themes, you can now
  drag the window by grabbing the edge of the tab
  bar near the window border.
- Show local time in the context menu when you
  right click on a timestamp in microseconds since
  epoch.
- Add a menu item "copy with control sequences".

Improvements
- Various performance improvements.
- The Python API now uses a Unix Domain Socket
  instead of a TCP socket for better performance.
  The security model has also changed: apps can
  authenticate via Applescript or you can choose
  to allow all programs running locally to use the
  API.
- Use a single daemon process for all sessions
  instead of one per session. This reduces the
  number of process IDs used and also improves the
  time to launch a new session.
- Background images are significantly faster when
  not using the GPU renderer.
- Most tables now allow multiple selection.
- The number of search results is now shown in the
  Find on Page UI.
- Dynamic profiles now works with symlinks. Even
  the DynamicProfiles folder itself may be a
  symlink.
- Exported scripts now have a more secure
  container format that signs the entire file
  except the signature itself.
- Improve cold launch time.
- Countless minor improvements and polishing.
- Big Sur supported.
- Permission is now requested before various
  possibly destructive or annoying activities are
  done in response to control sequences.
- Don't snap window size to the cell grid when it
  gets resized by an Accessibility API.
- Only use touch bar mitigations for keypresses
  originating from the built-in keyboard.
- The profile preference "Send text at start" is
  now an interpolated string.
- The profile preference "Custom command" is
  now an interpolated string.
- The feature where the scroll wheel sends arrow
  keys when in alternate screen mode now works
  even when alternate screen mode is disabled.
- Enable window shadow for transparent windows.
- When resizing the window while scrolled up in to
  history, keep the text in the top left locked in
  position.
- Show a brief message when automatic profile
  switching takes effect.
- Send a newline before sending the curl command
  to install shell integration to clear out any
  existing command.
- Disable GPU renderer for obscured windows when
  using the integrated GPU.
- When a tmux pane fails to split, don't detach.
- Remember tmux window sizes when reattaching.
- When disintering a buried tmux tab, put it back
  in the right position in the same window it came
  from.
- Draw outline on right hand side of last tab in
  minimal theme.
- Hide subpixel antialiasing UI on big sur because
  Apple took it away from us :(

Bug Fixes
- Full screen windows in the Minimal or Compact
  theme did not used to get restored properly and
  now they do.
- Fix how 24-bit colors are reported to work with
  vim.
- Saved arrangements that contain local changes
  (such as those made with Edit Session) will now
  pick up changes to the original profile.
- Fix a bug where inline images and OSC 8
  hyperlinks didn't get restored reliably when
  restarting the app.
- Improve support for zero-width joiners in Emoji.
- Fix a memory leak of inline images when
  restoring windows after restarting the app.
- Fix a bug where Swap With Session didn't work on
  tmux panes.
- Fix a bug where quickly resizing tmux windows
  would increase the bottom margin.
- Fix a bug where Window > Resize Window would
  cause tmux windows to resie incorrectly.
- Fix a bug where windows are not movable after
  exiting native full screen.
- Add crlf after sixel image.
- Fix shift-return in profiles window to open a
  window instead of a tab.
- Fix a bug where tmux windows would change sizes
  unexpectedly when using horizontal/vertical
  character spacing.

Things Made Worse
- Support for macOS 10.12 and 10.13 dropped.

SHA-256 of the zip file is
905dcd0f9ac095f0f0381866ec483fd93baa7588dd2c581f76ccd7e07e942b2e
```

#### [iTerm2 3.4.2beta1 (OS 10.14+)](https://iterm2.com/downloads/beta/iTerm2-3_4_2beta1.zip)

This is the recommended beta build for most users.
Built on November 19, 2020.

[▾ Hide Changelog](<javascript:hideId('3770214594297414022')>)

```
3.4.2beta1

- Fix a bug where smart selection actions in the
  context menu were disabled.
- Fix a bug where tmux integration would
  disconnect immediately.
- Fix Prefs > General > Magic > Allow all apps to
  connect, which gave an error every time.
- Fix right click to open context menu for
  two-button mice.
- Fix a bug where sessions always terminate
  immediately.

3.4.1:
- Make downloads of Python runtime more reliable.
- Fix a bug in Big Sur where the content of alert
  boxes could be cut off.
- Fix a bug in Big Sur where the tabbar could
  overlap terminal contents in full screen mode.

3.4.0 Release Notes:

New Features
- You can now set a custom tab title on a profile
- There is a new profile preference to configure
  whether mouse reporting of clicks and drags are
  allowed.
- Search results, marks, and annotations are now
  indicated in the scroll bar.
- There's a new preference to focus a window when
  you right- or middle-click in it.
- Add support for IntelliJ IDEA, VSCodium, and
  Sublime Text 4 as Semantic History editors.
- There's a new "Composer" feature that lets you
  quickly open a scratchpad to enter a command.
- You can now swipe with two or three fingers
  between tabs, like in Safari.
- Curly underlines are now supported.
- Adds support for DECRQSS.
- DECSCUSR 0 now resets the cursor to its default
  setting.
- Adds support for flow control in tmux 3.2 and
  "pause mode" that will automatically pause
  sessions in tmux integration that get very far
  behind with the ability to catch up quickly.
  NOTE: tmux 3.2 has not yet been released.
- tmux integration windows will now keep their
  size the same as you create or destroy split
  panes.
- Adds a preference to exclude iTerm2 from the
  dock and cmd-tab app switcher only if all
  windows are hotkey windows.
- In the Minimal and Compact themes, you can now
  drag the window by grabbing the edge of the tab
  bar near the window border.
- Show local time in the context menu when you
  right click on a timestamp in microseconds since
  epoch.
- Add a menu item "copy with control sequences".

Improvements
- Various performance improvements.
- The Python API now uses a Unix Domain Socket
  instead of a TCP socket for better performance.
  The security model has also changed: apps can
  authenticate via Applescript or you can choose
  to allow all programs running locally to use the
  API.
- Use a single daemon process for all sessions
  instead of one per session. This reduces the
  number of process IDs used and also improves the
  time to launch a new session.
- Background images are significantly faster when
  not using the GPU renderer.
- Most tables now allow multiple selection.
- The number of search results is now shown in the
  Find on Page UI.
- Dynamic profiles now works with symlinks. Even
  the DynamicProfiles folder itself may be a
  symlink.
- Exported scripts now have a more secure
  container format that signs the entire file
  except the signature itself.
- Improve cold launch time.
- Countless minor improvements and polishing.
- Big Sur supported.
- Permission is now requested before various
  possibly destructive or annoying activities are
  done in response to control sequences.
- Don't snap window size to the cell grid when it
  gets resized by an Accessibility API.
- Only use touch bar mitigations for keypresses
  originating from the built-in keyboard.
- The profile preference "Send text at start" is
  now an interpolated string.
- The profile preference "Custom command" is
  now an interpolated string.
- The feature where the scroll wheel sends arrow
  keys when in alternate screen mode now works
  even when alternate screen mode is disabled.
- Enable window shadow for transparent windows.
- When resizing the window while scrolled up in to
  history, keep the text in the top left locked in
  position.
- Show a brief message when automatic profile
  switching takes effect.
- Send a newline before sending the curl command
  to install shell integration to clear out any
  existing command.
- Disable GPU renderer for obscured windows when
  using the integrated GPU.
- When a tmux pane fails to split, don't detach.
- Remember tmux window sizes when reattaching.
- When disintering a buried tmux tab, put it back
  in the right position in the same window it came
  from.
- Draw outline on right hand side of last tab in
  minimal theme.
- Hide subpixel antialiasing UI on big sur because
  Apple took it away from us :(

Bug Fixes
- Full screen windows in the Minimal or Compact
  theme did not used to get restored properly and
  now they do.
- Fix how 24-bit colors are reported to work with
  vim.
- Saved arrangements that contain local changes
  (such as those made with Edit Session) will now
  pick up changes to the original profile.
- Fix a bug where inline images and OSC 8
  hyperlinks didn't get restored reliably when
  restarting the app.
- Improve support for zero-width joiners in Emoji.
- Fix a memory leak of inline images when
  restoring windows after restarting the app.
- Fix a bug where Swap With Session didn't work on
  tmux panes.
- Fix a bug where quickly resizing tmux windows
  would increase the bottom margin.
- Fix a bug where Window > Resize Window would
  cause tmux windows to resie incorrectly.
- Fix a bug where windows are not movable after
  exiting native full screen.
- Add crlf after sixel image.
- Fix shift-return in profiles window to open a
  window instead of a tab.
- Fix a bug where tmux windows would change sizes
  unexpectedly when using horizontal/vertical
  character spacing.

Things Made Worse
- Support for macOS 10.12 and 10.13 dropped.

SHA-256 of the zip file is
98b77ede9b748c98ad6e24375e6c1e53fb1ca4f2cd4c127f798ee90397582fb3
```

#### [iTerm2 3.4.0beta13 (OS 10.14+)](https://iterm2.com/downloads/beta/iTerm2-3_4_0beta13.zip)

This is the recommended beta build for most users.
Built on November 3, 2020.

[▾ Hide Changelog](<javascript:hideId('5289244556713915908')>)

```
3.4.0beta13

New Features
- Add "Add Trigger" menu item, which lets you
  quickly create a highlight trigger.

Improvements
- Draw window borders on big sur in light theme.

Bug Fixes
- Fix a discrepancy between the legacy and GPU
  renderers. When an emoji with default text
  presentation follows an emoji with default emoji
  presentation, CoreText renders the emoji with
  the emoji presentation while the GPU does not.
  Use the default presentation always.
- Detect hostname changes. Fixes the git status
  bar component breaking.
- Fix support for multiple broadcast domains in
  Python API.

3.4.0 Release Notes:

New Features
- You can now set a custom tab title on a profile
- There is a new profile preference to configure
  whether mouse reporting of clicks and drags are
  allowed.
- Search results, marks, and annotations are now
  indicated in the scroll bar.
- There's a new preference to focus a window when
  you right- or middle-click in it.
- Add support for IntelliJ IDEA, VSCodium, and
  Sublime Text 4 as Semantic History editors.
- There's a new "Composer" feature that lets you
  quickly open a scratchpad to enter a command.
- You can now swipe with two or three fingers
  between tabs, like in Safari.
- Curly underlines are now supported.
- Adds support for DECRQSS.
- DECSCUSR 0 now resets the cursor to its default
  setting.
- Adds support for flow control in tmux 3.2 and
  "pause mode" that will automatically pause
  sessions in tmux integration that get very far
  behind with the ability to catch up quickly.
  NOTE: tmux 3.2 has not yet been released.
- tmux integration windows will now keep their
  size the same as you create or destroy split
  panes.
- Adds a preference to exclude iTerm2 from the
  dock and cmd-tab app switcher only if all
  windows are hotkey windows.
- In the Minimal and Compact themes, you can now
  drag the window by grabbing the edge of the tab
  bar near the window border.
- Show local time in the context menu when you
  right click on a timestamp in microseconds since
  epoch.
- Add a menu item "copy with control sequences".

Improvements
- Various performance improvements.
- The Python API now uses a Unix Domain Socket
  instead of a TCP socket for better performance.
  The security model has also changed: apps can
  authenticate via Applescript or you can choose
  to allow all programs running locally to use the
  API.
- Use a single daemon process for all sessions
  instead of one per session. This reduces the
  number of process IDs used and also improves the
  time to launch a new session.
- Background images are significantly faster when
  not using the GPU renderer.
- Most tables now allow multiple selection.
- The number of search results is now shown in the
  Find on Page UI.
- Dynamic profiles now works with symlinks. Even
  the DynamicProfiles folder itself may be a
  symlink.
- Exported scripts now have a more secure
  container format that signs the entire file
  except the signature itself.
- Improve cold launch time.
- Countless minor improvements and polishing.
- Big Sur supported.
- Permission is now requested before various
  possibly destructive or annoying activities are
  done in response to control sequences.
- Don't snap window size to the cell grid when it
  gets resized by an Accessibility API.
- Only use touch bar mitigations for keypresses
  originating from the built-in keyboard.
- The profile preference "Send text at start" is
  now an interpolated string.
- The profile preference "Custom command" is
  now an interpolated string.
- The feature where the scroll wheel sends arrow
  keys when in alternate screen mode now works
  even when alternate screen mode is disabled.
- Enable window shadow for transparent windows.
- When resizing the window while scrolled up in to
  history, keep the text in the top left locked in
  position.
- Show a brief message when automatic profile
  switching takes effect.
- Send a newline before sending the curl command
  to install shell integration to clear out any
  existing command.
- Disable GPU renderer for obscured windows when
  using the integrated GPU.
- When a tmux pane fails to split, don't detach.
- Remember tmux window sizes when reattaching.
- When disintering a buried tmux tab, put it back
  in the right position in the same window it came
  from.
- Draw outline on right hand side of last tab in
  minimal theme.
- Hide subpixel antialiasing UI on big sur because
  Apple took it away from us :(

Bug Fixes
- Full screen windows in the Minimal or Compact
  theme did not used to get restored properly and
  now they do.
- Fix how 24-bit colors are reported to work with
  vim.
- Saved arrangements that contain local changes
  (such as those made with Edit Session) will now
  pick up changes to the original profile.
- Fix a bug where inline images and OSC 8
  hyperlinks didn't get restored reliably when
  restarting the app.
- Improve support for zero-width joiners in Emoji.
- Fix a memory leak of inline images when
  restoring windows after restarting the app.
- Fix a bug where Swap With Session didn't work on
  tmux panes.
- Fix a bug where quickly resizing tmux windows
  would increase the bottom margin.
- Fix a bug where Window > Resize Window would
  cause tmux windows to resie incorrectly.
- Fix a bug where windows are not movable after
  exiting native full screen.
- Add crlf after sixel image.
- Fix shift-return in profiles window to open a
  window instead of a tab.
- Fix a bug where tmux windows would change sizes
  unexpectedly when using horizontal/vertical
  character spacing.

Things Made Worse
- Support for macOS 10.12 and 10.13 dropped.

SHA-256 of the zip file is
7a6b21c55233cc452ef3a5e5766abeb0580fb5913c1df83ccc378a4da8c4939c
```

#### [iTerm2 v3.4.0beta13 (OS 10.14+)](https://iterm2.com/downloads/beta/iTerm2-v3_4_0beta13.zip)

This is the recommended beta build for most users.
Built on November 12, 2020.

[▾ Hide Changelog](<javascript:hideId('3177760955429435815')>)

```
3.4.0beta13

New Features
- Add "Add Trigger" menu item, which lets you
  quickly create a highlight trigger.

Improvements
- Draw window borders on big sur in light theme.

Bug Fixes
- Fix a discrepancy between the legacy and GPU
  renderers. When an emoji with default text
  presentation follows an emoji with default emoji
  presentation, CoreText renders the emoji with
  the emoji presentation while the GPU does not.
  Use the default presentation always.
- Detect hostname changes. Fixes the git status
  bar component breaking.
- Fix support for multiple broadcast domains in
  Python API.

3.4.0 Release Notes:

New Features
- You can now set a custom tab title on a profile
- There is a new profile preference to configure
  whether mouse reporting of clicks and drags are
  allowed.
- Search results, marks, and annotations are now
  indicated in the scroll bar.
- There's a new preference to focus a window when
  you right- or middle-click in it.
- Add support for IntelliJ IDEA, VSCodium, and
  Sublime Text 4 as Semantic History editors.
- There's a new "Composer" feature that lets you
  quickly open a scratchpad to enter a command.
- You can now swipe with two or three fingers
  between tabs, like in Safari.
- Curly underlines are now supported.
- Adds support for DECRQSS.
- DECSCUSR 0 now resets the cursor to its default
  setting.
- Adds support for flow control in tmux 3.2 and
  "pause mode" that will automatically pause
  sessions in tmux integration that get very far
  behind with the ability to catch up quickly.
  NOTE: tmux 3.2 has not yet been released.
- tmux integration windows will now keep their
  size the same as you create or destroy split
  panes.
- Adds a preference to exclude iTerm2 from the
  dock and cmd-tab app switcher only if all
  windows are hotkey windows.
- In the Minimal and Compact themes, you can now
  drag the window by grabbing the edge of the tab
  bar near the window border.
- Show local time in the context menu when you
  right click on a timestamp in microseconds since
  epoch.
- Add a menu item "copy with control sequences".

Improvements
- Various performance improvements.
- The Python API now uses a Unix Domain Socket
  instead of a TCP socket for better performance.
  The security model has also changed: apps can
  authenticate via Applescript or you can choose
  to allow all programs running locally to use the
  API.
- Use a single daemon process for all sessions
  instead of one per session. This reduces the
  number of process IDs used and also improves the
  time to launch a new session.
- Background images are significantly faster when
  not using the GPU renderer.
- Most tables now allow multiple selection.
- The number of search results is now shown in the
  Find on Page UI.
- Dynamic profiles now works with symlinks. Even
  the DynamicProfiles folder itself may be a
  symlink.
- Exported scripts now have a more secure
  container format that signs the entire file
  except the signature itself.
- Improve cold launch time.
- Countless minor improvements and polishing.
- Big Sur supported.
- Permission is now requested before various
  possibly destructive or annoying activities are
  done in response to control sequences.
- Don't snap window size to the cell grid when it
  gets resized by an Accessibility API.
- Only use touch bar mitigations for keypresses
  originating from the built-in keyboard.
- The profile preference "Send text at start" is
  now an interpolated string.
- The profile preference "Custom command" is
  now an interpolated string.
- The feature where the scroll wheel sends arrow
  keys when in alternate screen mode now works
  even when alternate screen mode is disabled.
- Enable window shadow for transparent windows.
- When resizing the window while scrolled up in to
  history, keep the text in the top left locked in
  position.
- Show a brief message when automatic profile
  switching takes effect.
- Send a newline before sending the curl command
  to install shell integration to clear out any
  existing command.
- Disable GPU renderer for obscured windows when
  using the integrated GPU.
- When a tmux pane fails to split, don't detach.
- Remember tmux window sizes when reattaching.
- When disintering a buried tmux tab, put it back
  in the right position in the same window it came
  from.
- Draw outline on right hand side of last tab in
  minimal theme.
- Hide subpixel antialiasing UI on big sur because
  Apple took it away from us :(

Bug Fixes
- Full screen windows in the Minimal or Compact
  theme did not used to get restored properly and
  now they do.
- Fix how 24-bit colors are reported to work with
  vim.
- Saved arrangements that contain local changes
  (such as those made with Edit Session) will now
  pick up changes to the original profile.
- Fix a bug where inline images and OSC 8
  hyperlinks didn't get restored reliably when
  restarting the app.
- Improve support for zero-width joiners in Emoji.
- Fix a memory leak of inline images when
  restoring windows after restarting the app.
- Fix a bug where Swap With Session didn't work on
  tmux panes.
- Fix a bug where quickly resizing tmux windows
  would increase the bottom margin.
- Fix a bug where Window > Resize Window would
  cause tmux windows to resie incorrectly.
- Fix a bug where windows are not movable after
  exiting native full screen.
- Add crlf after sixel image.
- Fix shift-return in profiles window to open a
  window instead of a tab.
- Fix a bug where tmux windows would change sizes
  unexpectedly when using horizontal/vertical
  character spacing.

Things Made Worse
- Support for macOS 10.12 and 10.13 dropped.

SHA-256 of the zip file is
2a971ceafe5c76216e93c686db0bef3b3b7ac97aad6515256d3e3a3409f29651
```

#### [iTerm2 3.4.0beta12 (OS 10.14+)](https://iterm2.com/downloads/beta/iTerm2-3_4_0beta12.zip)

This is the recommended beta build for most users.
Built on October 26, 2020.

[▾ Hide Changelog](<javascript:hideId('4714553648650980909')>)

```
3.4.0beta12

Improvements
- Draw outline on right hand side of last tab in
  minimal theme.
- Hide subpixel antialiasing UI on big sur because
  Apple took it away from us :(
- App icon 7% snazzier
- Make shift-tab behave better in vim.
- Reset key reporting to default after restoring a
  window when the original process can't be
  attached to.

Bug Fixes
- Fix a bug where windows are not movable after
  exiting native full screen.
- Add crlf after sixel image.
- Fix shift-return in profiles window to open a
  window instead of a tab.
- Fix a bug where tmux windows would change sizes
  unexpectedly when using horizontal/vertical
  character spacing.

SHA-256 of the zip file is
294a87b54db4e4e765d222d140b9511162997d23842b55c0f56850ca5c406a48
```

#### [iTerm2 3.4.0beta11 (OS 10.14+)](https://iterm2.com/downloads/beta/iTerm2-3_4_0beta11.zip)

This is the recommended beta build for most users.
Built on October 18, 2020.

[▾ Hide Changelog](<javascript:hideId('7728424220029674598')>)

```
3.4.0beta11

Improvements
- Disable GPU renderer for obscured windows when
  using the integrated GPU.
- When a tmux pane fails to split, don't detach.
- Remember tmux window sizes when reattaching.
- When disintering a buried tmux tab, put it back
  in the right position in the same window it came
  from.

Bug Fixes
- Fix a bug where trimming whitespace when copying
  didn't work.
- Fix a bug where tux windows would sometimes have
  a discolored bar at the bottom.
- Fix a bug where Swap With Session didn't work on
  tmux panes.
- Fix crash on startup.
- Fix a bug where arrangements created with tabs
  that were created using "new tab using same
  profile" would not restore with the same
  settings.
- Fix a bug where scrollbars could overlap content
  when changing scroller style.
- Fix a bug where the tab bar could remain visible
  after exiting full screen when there is only a
  single tab.
- Fix a bug where quickly resizing tmux windows
  would increase the bottom margin.
- Fix a bug where Window > Resize Window would
  cause tmux windows to resie incorrectly.

3.4.0 Release Notes:

New Features
- You can now set a custom tab title on a profile
- There is a new profile preference to configure
  whether mouse reporting of clicks and drags are
  allowed.
- Search results, marks, and annotations are now
  indicated in the scroll bar.
- There's a new preference to focus a window when
  you right- or middle-click in it.
- Add support for IntelliJ IDEA, VSCodium, and
  Sublime Text 4 as Semantic History editors.
- There's a new "Composer" feature that lets you
  quickly open a scratchpad to enter a command.
- You can now swipe with two or three fingers
  between tabs, like in Safari.
- Curly underlines are now supported.
- Adds support for DECRQSS.
- DECSCUSR 0 now resets the cursor to its default
  setting.
- Adds support for flow control in tmux 3.2 and
  "pause mode" that will automatically pause
  sessions in tmux integration that get very far
  behind with the ability to catch up quickly.
  NOTE: tmux 3.2 has not yet been released.
- tmux integration windows will now keep their
  size the same as you create or destroy split
  panes.
- Adds a preference to exclude iTerm2 from the
  dock and cmd-tab app switcher only if all
  windows are hotkey windows.
- In the Minimal and Compact themes, you can now
  drag the window by grabbing the edge of the tab
  bar near the window border.
- Show local time in the context menu when you
  right click on a timestamp in microseconds since
  epoch.
- Add a menu item "copy with control sequences".

Improvements
- Various performance improvements.
- The Python API now uses a Unix Domain Socket
  instead of a TCP socket for better performance.
  The security model has also changed: apps can
  authenticate via Applescript or you can choose
  to allow all programs running locally to use the
  API.
- Use a single daemon process for all sessions
  instead of one per session. This reduces the
  number of process IDs used and also improves the
  time to launch a new session.
- Background images are significantly faster when
  not using the GPU renderer.
- Most tables now allow multiple selection.
- The number of search results is now shown in the
  Find on Page UI.
- Dynamic profiles now works with symlinks. Even
  the DynamicProfiles folder itself may be a
  symlink.
- Exported scripts now have a more secure
  container format that signs the entire file
  except the signature itself.
- Improve cold launch time.
- Countless minor improvements and polishing.
- Big Sur supported.
- Permission is now requested before various
  possibly destructive or annoying activities are
  done in response to control sequences.
- Don't snap window size to the cell grid when it
  gets resized by an Accessibility API.
- Only use touch bar mitigations for keypresses
  originating from the built-in keyboard.
- The profile preference "Send text at start" is
  now an interpolated string.
- The profile preference "Custom command" is
  now an interpolated string.
- The feature where the scroll wheel sends arrow
  keys when in alternate screen mode now works
  even when alternate screen mode is disabled.
- Enable window shadow for transparent windows.
- When resizing the window while scrolled up in to
  history, keep the text in the top left locked in
  position.
- Show a brief message when automatic profile
  switching takes effect.
- Send a newline before sending the curl command
  to install shell integration to clear out any
  existing command.

Bug Fixes
- Full screen windows in the Minimal or Compact
  theme did not used to get restored properly and
  now they do.
- Fix how 24-bit colors are reported to work with
  vim.
- Saved arrangements that contain local changes
  (such as those made with Edit Session) will now
  pick up changes to the original profile.
- Fix a bug where inline images and OSC 8
  hyperlinks didn't get restored reliably when
  restarting the app.
- Improve support for zero-width joiners in Emoji.
- Fix a memory leak of inline images when
  restoring windows after restarting the app.

Things Made Worse
- Support for macOS 10.12 and 10.13 dropped.

SHA-256 of the zip file is
592ae5c66b82c5f415b5db04530a9d1c6c01752bbe04ad7e3dfb66ac5e1b4e88
```

#### [iTerm2 3.4.0beta10 (OS 10.14+)](https://iterm2.com/downloads/beta/iTerm2-3_4_0beta10.zip)

This is the recommended beta build for most users.
Built on October 4, 2020.

[▾ Hide Changelog](<javascript:hideId('2618018162291881381')>)

```
3.4.0beta10

New Features
- Show local time in the context menu when you
  right click on a timestamp in microseconds since
  epoch.
- Add a menu item "copy with control sequences".

Improvements
- Improve launch performance by saving less
  scrollback restory.
- Send a newline before sending the curl command
  to install shell integration to clear out any
  existing command.

Bug Fixes
- Fix a crash on launch.
- Fix a bug where the Bury menu item was grayed
  out.
- Fix a bug where the prefs window would shrink
  when changing profiles.
- Fix a bug where fullscreen windows didn't have a
  titlebar or tabbar on 10.15.6+.
- Fix a bug where the tmux dashboard would appear
  upon attach when it oughtn't.

3.4.0 Release Notes:

Breaking Changes
- TIOCGWINSZ now reports pixels, not points.
  This makes it easier to make inline images
  pixel-perfect.
- The Python API now only uses websockets.
  Everyone has to upgrade to the newest version of
  the Python runtime. This confers security
  benefits.
- The toolbelt has a new "snippets" tool that lets
  you quickly paste saved text.
- Support for macOS 10.12 and 10.13 dropped.

New Features
- You can now set a custom tab title on a profile
- There is a new profile preference to configure
  whether mouse reporting of clicks and drags are
  allowed.
- Search results, marks, and annotations are now
  indicated in the scroll bar.
- There's a new preference to focus a window when
  you right- or middle-click in it.
- Add support for IntelliJ IDEA, VSCodium, and
  Sublime Text 4 as Semantic History editors.
- There's a new "Composer" feature that lets you
  quickly open a scratchpad to enter a command.
- You can now swipe with two or three fingers
  between tabs, like in Safari.
- Curly underlines are now supported.
- Adds support for DECRQSS.
- DECSCUSR 0 now resets the cursor to its default
  setting.
- Adds support for flow control in tmux 3.2 and
  "pause mode" that will automatically pause
  sessions in tmux integration that get very far
  behind with the ability to catch up quickly.
  NOTE: tmux 3.2 has not yet been released.
- tmux integration windows will now keep their
  size the same as you create or destroy split
  panes.
- Adds a preference to exclude iTerm2 from the
  dock and cmd-tab app switcher only if all
  windows are hotkey windows.
- In the Minimal and Compact themes, you can now
  drag the window by grabbing the edge of the tab
  bar near the window border.
- Pressing shift+arrow key when there is a
  selection now enters Copy Mode automatically.
  This can be disabled in Prefs > General >
  Selection.
- You can now change window style (top of screen,
  maximized, no title bar, etc.) for existing
  windows from the Window menu.
- There is a new control sequence to clear
  captured output (OSC 1337 ; ClearCapturedOutput
  ST).
- After editing a session's name in Edit Session,
  control sequences will no longer change it.
  There is a lock icon in Edit Session to change
  this behavior.
- Add an advanced pref to show timestamps by
  default.
- Add Snippets and Actions to a new Shortcuts tab
  in prefs, and ways to access them in various
  places throughout the app, including new status
  bar components.

Improvements
- Updates now use exclusively EdDSA. DSA-signed
  auto update appcasts are completely gone.
- The ApplicationSupport symlink under ~/Library
  is no longer needed.
- Various performance improvements.
- The Python API now uses a Unix Domain Socket
  instead of a TCP socket for better performance.
  The security model has also changed: apps can
  authenticate via Applescript or you can choose
  to allow all programs running locally to use the
  API.
- Use a single daemon process for all sessions
  instead of one per session. This reduces the
  number of process IDs used and also improves the
  time to launch a new session.
- Background images are significantly faster when
  not using the GPU renderer.
- Most tables now allow multiple selection.
- The number of search results is now shown in the
  Find on Page UI.
- Dynamic profiles now works with symlinks. Even
  the DynamicProfiles folder itself may be a
  symlink.
- Exported scripts now have a more secure
  container format that signs the entire file
  except the signature itself.
- Improve cold launch time.
- Countless minor improvements and polishing.
- Big Sur supported.
- Permission is now requested before various
  possibly destructive or annoying activities are
  done in response to control sequences.
- Don't snap window size to the cell grid when it
  gets resized by an Accessibility API.
- Only use touch bar mitigations for keypresses
  originating from the built-in keyboard.
- The profile preference "Send text at start" is
  now an interpolated string.
- The profile preference "Custom command" is
  now an interpolated string.
- The feature where the scroll wheel sends arrow
  keys when in alternate screen mode now works
  even when alternate screen mode is disabled.
- Enable window shadow for transparent windows.
- When resizing the window while scrolled up in to
  history, keep the text in the top left locked in
  position.
- Show a brief message when automatic profile
  switching takes effect.
- Postgres icon added.
- Status bar components that show graphs (CPU,
  memory, network, battery) now animate smoothly
  and use much less CPU.
- Inline images no longer scale unnecessarily.
- You'll be offered to repair saved arrangements
  with bad initial working directories.
- Add support for SSH_AUTH_SOCK with the built-in
  secure copy feature.
- You can now change a profile's icon by single
  clicking on the image.
- Don't disable metal when a window is obscured to
  improve performance when switching from another
  app to iTerm2 (e.g., with cmd-tab).
- Support u= or username= TXT records in Bonjour
  to provide a user name.
- You can press cmd-B to toggle broadcasting in
  the password manager.
- Improve error reporting for dynamic profiles.
- If a "run command" from a trigger produces too
  many errors, rate limit them to avoid spamming
  you.
- Performance improvements
- Add min/max width configuration settings to most
  status bar components.
- The prefs panel now opens centered on the
  screen.
- File URLs with fragments will now open properly
  in the browser.
- Expose a new bellCount session variable so API
  scripts can perform an action when the bell
  rings.
- Avoid saving non-syncing keys to externally
  stored preferences.
- Change Composer shortcut from cmd-. to
  cmd-shift-., to avoid breaking cmd-. acting as
  esc.
- Fix support for tmux 2.1, which was incorrectly
  detected, causing various bugs.
- Show a warning icon when system window
  restoration is disabled but your startup option
  is to use it.
- Don't confirm quitting the app when upgrading.

Bug Fixes
- Full screen windows in the Minimal or Compact
  theme did not used to get restored properly and
  now they do.
- Fix how 24-bit colors are reported to work with
  vim.
- Saved arrangements that contain local changes
  (such as those made with Edit Session) will now
  pick up changes to the original profile.
- Fix a bug where inline images and OSC 8
  hyperlinks didn't get restored reliably when
  restarting the app.
- Improve support for zero-width joiners in Emoji.
- Fix a memory leak of inline images when
  restoring windows after restarting the app.
- Shortcuts bound to Paste won't take effect when
  the find-on-page text field has focus.
- Fix a hang on certain Sixel images.
- URL escaping should be more consistent now in
  various places (search web for selection, open
  URL, etc.)
- Fix a bug where tmux windows shrink each time
  you attach.
- Fix a bug where a key bound to Ignore would not
  prevent a menu shortcut from working.
- Change how escaping works so you do not need to
  escape backslashes in profile initial text or
  command.
- Fix a bug where automatic profile switching
  could get into an infinite loop.
- Fix bad performance with status bars using
  auto-rainbow.
- Fix a bug where OSC codes would sometimes not be
  parsed correctly and would change the title
  instead.
- Fix detecting line numbers in Python tracebacks.
- Fix tmux version detection for tmux less than
  2.3.

SHA-256 of the zip file is
24d23a04c9ebeb2b931c4cd91b338d317be041905a68e74f67c033fffa424570
```

#### [iTerm2 3.4.0beta9 (OS 10.14+)](https://iterm2.com/downloads/beta/iTerm2-3_4_0beta9.zip)

This is the recommended beta build for most users.
Built on September 27, 2020.

[▾ Hide Changelog](<javascript:hideId('5211740227718767420')>)

```
3.4.0beta9

Improvements
- Show a warning icon when system window
  restoration is disabled but your startup option
  is to use it.
- Widen prefs panel in Big Sur so the search field
  remains open.
- Show a warning when the application support
  folder can't be found instead of crashing (then
  crash).

Bug Fixes
- Fix a number of crashes.
- Really fix tmux version detection for tmux less
  than 2.3.
- When system window restoration is off but you're
  logging out and have opted to restore windows
  when logging back in, respect that.
- Don't confirm quitting the app when upgrading.

3.4.0 Release Notes:

Breaking Changes
- TIOCGWINSZ now reports pixels, not points.
  This makes it easier to make inline images
  pixel-perfect.
- The Python API now only uses websockets.
  Everyone has to upgrade to the newest version of
  the Python runtime. This confers security
  benefits.
- The toolbelt has a new "snippets" tool that lets
  you quickly paste saved text.
- Support for macOS 10.12 and 10.13 dropped.

New Features
- You can now set a custom tab title on a profile
- There is a new profile preference to configure
  whether mouse reporting of clicks and drags are
  allowed.
- Search results, marks, and annotations are now
  indicated in the scroll bar.
- There's a new preference to focus a window when
  you right- or middle-click in it.
- Add support for IntelliJ IDEA, VSCodium, and
  Sublime Text 4 as Semantic History editors.
- There's a new "Composer" feature that lets you
  quickly open a scratchpad to enter a command.
- You can now swipe with two or three fingers
  between tabs, like in Safari.
- Curly underlines are now supported.
- Adds support for DECRQSS.
- DECSCUSR 0 now resets the cursor to its default
  setting.
- Adds support for flow control in tmux 3.2 and
  "pause mode" that will automatically pause
  sessions in tmux integration that get very far
  behind with the ability to catch up quickly.
  NOTE: tmux 3.2 has not yet been released.
- tmux integration windows will now keep their
  size the same as you create or destroy split
  panes.
- Adds a preference to exclude iTerm2 from the
  dock and cmd-tab app switcher only if all
  windows are hotkey windows.
- In the Minimal and Compact themes, you can now
  drag the window by grabbing the edge of the tab
  bar near the window border.
- Pressing shift+arrow key when there is a
  selection now enters Copy Mode automatically.
  This can be disabled in Prefs > General >
  Selection.
- You can now change window style (top of screen,
  maximized, no title bar, etc.) for existing
  windows from the Window menu.
- There is a new control sequence to clear
  captured output (OSC 1337 ; ClearCapturedOutput
  ST).
- After editing a session's name in Edit Session,
  control sequences will no longer change it.
  There is a lock icon in Edit Session to change
  this behavior.
- Add an advanced pref to show timestamps by
  default.
- Add Snippets and Actions to a new Shortcuts tab
  in prefs, and ways to access them in various
  places throughout the app, including new status
  bar components.

Improvements
- Updates now use exclusively EdDSA. DSA-signed
  auto update appcasts are completely gone.
- The ApplicationSupport symlink under ~/Library
  is no longer needed.
- Various performance improvements.
- The Python API now uses a Unix Domain Socket
  instead of a TCP socket for better performance.
  The security model has also changed: apps can
  authenticate via Applescript or you can choose
  to allow all programs running locally to use the
  API.
- Use a single daemon process for all sessions
  instead of one per session. This reduces the
  number of process IDs used and also improves the
  time to launch a new session.
- Background images are significantly faster when
  not using the GPU renderer.
- Most tables now allow multiple selection.
- The number of search results is now shown in the
  Find on Page UI.
- Dynamic profiles now works with symlinks. Even
  the DynamicProfiles folder itself may be a
  symlink.
- Exported scripts now have a more secure
  container format that signs the entire file
  except the signature itself.
- Improve cold launch time.
- Countless minor improvements and polishing.
- Big Sur supported.
- Permission is now requested before various
  possibly destructive or annoying activities are
  done in response to control sequences.
- Don't snap window size to the cell grid when it
  gets resized by an Accessibility API.
- Only use touch bar mitigations for keypresses
  originating from the built-in keyboard.
- The profile preference "Send text at start" is
  now an interpolated string.
- The profile preference "Custom command" is
  now an interpolated string.
- The feature where the scroll wheel sends arrow
  keys when in alternate screen mode now works
  even when alternate screen mode is disabled.
- Enable window shadow for transparent windows.
- When resizing the window while scrolled up in to
  history, keep the text in the top left locked in
  position.
- Show a brief message when automatic profile
  switching takes effect.
- Postgres icon added.
- Status bar components that show graphs (CPU,
  memory, network, battery) now animate smoothly
  and use much less CPU.
- Inline images no longer scale unnecessarily.
- You'll be offered to repair saved arrangements
  with bad initial working directories.
- Add support for SSH_AUTH_SOCK with the built-in
  secure copy feature.
- You can now change a profile's icon by single
  clicking on the image.
- Don't disable metal when a window is obscured to
  improve performance when switching from another
  app to iTerm2 (e.g., with cmd-tab).
- Support u= or username= TXT records in Bonjour
  to provide a user name.
- You can press cmd-B to toggle broadcasting in
  the password manager.
- Improve error reporting for dynamic profiles.
- If a "run command" from a trigger produces too
  many errors, rate limit them to avoid spamming
  you.
- Performance improvements
- Add min/max width configuration settings to most
  status bar components.
- The prefs panel now opens centered on the
  screen.
- File URLs with fragments will now open properly
  in the browser.
- Expose a new bellCount session variable so API
  scripts can perform an action when the bell
  rings.
- Avoid saving non-syncing keys to externally
  stored preferences.
- Change Composer shortcut from cmd-. to
  cmd-shift-., to avoid breaking cmd-. acting as
  esc.
- Fix support for tmux 2.1, which was incorrectly
  detected, causing various bugs.

Bug Fixes
- Full screen windows in the Minimal or Compact
  theme did not used to get restored properly and
  now they do.
- Fix how 24-bit colors are reported to work with
  vim.
- Saved arrangements that contain local changes
  (such as those made with Edit Session) will now
  pick up changes to the original profile.
- Fix a bug where inline images and OSC 8
  hyperlinks didn't get restored reliably when
  restarting the app.
- Improve support for zero-width joiners in Emoji.
- Fix a memory leak of inline images when
  restoring windows after restarting the app.
- Shortcuts bound to Paste won't take effect when
  the find-on-page text field has focus.
- Fix a hang on certain Sixel images.
- URL escaping should be more consistent now in
  various places (search web for selection, open
  URL, etc.)
- Fix a bug where tmux windows shrink each time
  you attach.
- Fix a bug where a key bound to Ignore would not
  prevent a menu shortcut from working.
- Change how escaping works so you do not need to
  escape backslashes in profile initial text or
  command.
- Fix a bug where automatic profile switching
  could get into an infinite loop.

- Fix bad performance with status bars using
  auto-rainbow.
- Fix a bug where OSC codes would sometimes not be
  parsed correctly and would change the title
  instead.
- Fix detecting line numbers in Python tracebacks.

SHA-256 of the zip file is
c2e5b0f50a88c21176fb52622187fc1c40e3dde90ee21b1dde208ccc8bb022f8
```

#### [iTerm2 3.4.0beta8 (OS 10.14+)](https://iterm2.com/downloads/beta/iTerm2-3_4_0beta8.zip)

This is the recommended beta build for most users.
Built on September 22, 2020.

[▾ Hide Changelog](<javascript:hideId('3231205640625887125')>)

```
3.4.0beta8

Improvements
- Fix support for tmux 2.1, which was incorrectly
  detected, causing various bugs.

Bug Fixes
- Fix a bug where automatic profile switching
  could get into an infinite loop.
- Fix a bug where two windows would open at
  launch.
- Fix bad performance with status bars using
  auto-rainbow.
- Fix a bug where you couldn't create new touch
  bar items.
- Fix a bug where OSC codes would sometimes not be
  parsed correctly and would change the title
  instead.
- Fix a crash on launch.
- Fix a bug where the window image would overlap
  the textual content.
- Fix detecting line numbers in Python tracebacks.

3.4.0 Release Notes:

Breaking Changes
- TIOCGWINSZ now reports pixels, not points.
  This makes it easier to make inline images
  pixel-perfect.
- The Python API now only uses websockets.
  Everyone has to upgrade to the newest version of
  the Python runtime. This confers security
  benefits.
- The toolbelt has a new "snippets" tool that lets
  you quickly paste saved text.
- Support for macOS 10.12 and 10.13 dropped.

New Features
- You can now set a custom tab title on a profile
- There is a new profile preference to configure
  whether mouse reporting of clicks and drags are
  allowed.
- Search results, marks, and annotations are now
  indicated in the scroll bar.
- There's a new preference to focus a window when
  you right- or middle-click in it.
- Add support for IntelliJ IDEA, VSCodium, and
  Sublime Text 4 as Semantic History editors.
- There's a new "Composer" feature that lets you
  quickly open a scratchpad to enter a command.
- You can now swipe with two or three fingers
  between tabs, like in Safari.
- Curly underlines are now supported.
- Adds support for DECRQSS.
- DECSCUSR 0 now resets the cursor to its default
  setting.
- Adds support for flow control in tmux 3.2 and
  "pause mode" that will automatically pause
  sessions in tmux integration that get very far
  behind with the ability to catch up quickly.
  NOTE: tmux 3.2 has not yet been released.
- tmux integration windows will now keep their
  size the same as you create or destroy split
  panes.
- Adds a preference to exclude iTerm2 from the
  dock and cmd-tab app switcher only if all
  windows are hotkey windows.
- In the Minimal and Compact themes, you can now
  drag the window by grabbing the edge of the tab
  bar near the window border.
- Pressing shift+arrow key when there is a
  selection now enters Copy Mode automatically.
  This can be disabled in Prefs > General >
  Selection.
- You can now change window style (top of screen,
  maximized, no title bar, etc.) for existing
  windows from the Window menu.
- There is a new control sequence to clear
  captured output (OSC 1337 ; ClearCapturedOutput
  ST).
- After editing a session's name in Edit Session,
  control sequences will no longer change it.
  There is a lock icon in Edit Session to change
  this behavior.
- Add an advanced pref to show timestamps by
  default.
- Add Snippets and Actions to a new Shortcuts tab
  in prefs, and ways to access them in various
  places throughout the app, including new status
  bar components.

Improvements
- Updates now use exclusively EdDSA. DSA-signed
  auto update appcasts are completely gone.
- The ApplicationSupport symlink under ~/Library
  is no longer needed.
- Various performance improvements.
- The Python API now uses a Unix Domain Socket
  instead of a TCP socket for better performance.
  The security model has also changed: apps can
  authenticate via Applescript or you can choose
  to allow all programs running locally to use the
  API.
- Use a single daemon process for all sessions
  instead of one per session. This reduces the
  number of process IDs used and also improves the
  time to launch a new session.
- Background images are significantly faster when
  not using the GPU renderer.
- Most tables now allow multiple selection.
- The number of search results is now shown in the
  Find on Page UI.
- Dynamic profiles now works with symlinks. Even
  the DynamicProfiles folder itself may be a
  symlink.
- Exported scripts now have a more secure
  container format that signs the entire file
  except the signature itself.
- Improve cold launch time.
- Countless minor improvements and polishing.
- Big Sur supported.
- Permission is now requested before various
  possibly destructive or annoying activities are
  done in response to control sequences.
- Don't snap window size to the cell grid when it
  gets resized by an Accessibility API.
- Only use touch bar mitigations for keypresses
  originating from the built-in keyboard.
- The profile preference "Send text at start" is
  now an interpolated string.
- The profile preference "Custom command" is
  now an interpolated string.
- The feature where the scroll wheel sends arrow
  keys when in alternate screen mode now works
  even when alternate screen mode is disabled.
- Enable window shadow for transparent windows.
- When resizing the window while scrolled up in to
  history, keep the text in the top left locked in
  position.
- Show a brief message when automatic profile
  switching takes effect.
- Postgres icon added.
- Status bar components that show graphs (CPU,
  memory, network, battery) now animate smoothly
  and use much less CPU.
- Inline images no longer scale unnecessarily.
- You'll be offered to repair saved arrangements
  with bad initial working directories.
- Add support for SSH_AUTH_SOCK with the built-in
  secure copy feature.
- You can now change a profile's icon by single
  clicking on the image.
- Don't disable metal when a window is obscured to
  improve performance when switching from another
  app to iTerm2 (e.g., with cmd-tab).
- Support u= or username= TXT records in Bonjour
  to provide a user name.
- You can press cmd-B to toggle broadcasting in
  the password manager.
- Improve error reporting for dynamic profiles.
- If a "run command" from a trigger produces too
  many errors, rate limit them to avoid spamming
  you.
- Performance improvements
- Add min/max width configuration settings to most
  status bar components.
- The prefs panel now opens centered on the
  screen.
- File URLs with fragments will now open properly
  in the browser.
- Expose a new bellCount session variable so API
  scripts can perform an action when the bell
  rings.
- Avoid saving non-syncing keys to externally
  stored preferences.
- Change Composer shortcut from cmd-. to
  cmd-shift-., to avoid breaking cmd-. acting as
  esc.

Bug Fixes
- Full screen windows in the Minimal or Compact
  theme did not used to get restored properly and
  now they do.
- Fix how 24-bit colors are reported to work with
  vim.
- Saved arrangements that contain local changes
  (such as those made with Edit Session) will now
  pick up changes to the original profile.
- Fix a bug where inline images and OSC 8
  hyperlinks didn't get restored reliably when
  restarting the app.
- Improve support for zero-width joiners in Emoji.
- Fix a memory leak of inline images when
  restoring windows after restarting the app.
- Shortcuts bound to Paste won't take effect when
  the find-on-page text field has focus.
- Fix a hang on certain Sixel images.
- URL escaping should be more consistent now in
  various places (search web for selection, open
  URL, etc.)
- Fix a bug where tmux windows shrink each time
  you attach.
- Fix a bug where a key bound to Ignore would not
  prevent a menu shortcut from working.
- Change how escaping works so you do not need to
  escape backslashes in profile initial text or
  command.

SHA-256 of the zip file is
87827accb5b6a4dfc0c64e6df48d0550faa989150f4cabcc5b89a8facb1a7d94
```

#### [iTerm2 3.4.0beta7 (OS 10.14+)](https://iterm2.com/downloads/beta/iTerm2-3_4_0beta7.zip)

This is the recommended beta build for most users.
Built on September 17, 2020.

[▾ Hide Changelog](<javascript:hideId('4965574310370383218')>)

```
3.4.0beta7

New Features
- Add Snippets and Actions to a new Shortcuts tab
  in prefs, and ways to access them in various
  places throughout the app, including new status
  bar components.

Improvements
- The prefs panel now opens centered on the
  screen.
- Modifier keys in vim should work better now. CSI
  u mode is no longer enabled by a control
  sequence. Instead, a "modifyOtherKeys" mode has
  been added which is compatible with xterm.
- File URLs with fragments will now open properly
  in the browser.
- Expose a new bellCount session variable so API
  scripts can perform an action when the bell
  rings.
- Avoid saving non-syncing keys to externally
  stored preferences.
- Change Composer shortcut from cmd-. to
  cmd-shift-., to avoid breaking cmd-. acting as
  esc.

Bug Fixes
- State restoration made more reliable.
- Many crashes fixed.
- Fix spurious activity indicator when changing
  tabs.
- Fix a bug where tmux windows would shrink by
  themselves.

3.4.0 Release Notes:

Breaking Changes
- TIOCGWINSZ now reports pixels, not points.
  This makes it easier to make inline images
  pixel-perfect.
- The Python API now only uses websockets.
  Everyone has to upgrade to the newest version of
  the Python runtime. This confers security
  benefits.
- The toolbelt has a new "snippets" tool that lets
  you quickly paste saved text.
- Support for macOS 10.12 and 10.13 dropped.

New Features
- You can now set a custom tab title on a profile
- There is a new profile preference to configure
  whether mouse reporting of clicks and drags are
  allowed.
- Search results, marks, and annotations are now
  indicated in the scroll bar.
- There's a new preference to focus a window when
  you right- or middle-click in it.
- Add support for IntelliJ IDEA, VSCodium, and
  Sublime Text 4 as Semantic History editors.
- There's a new "Composer" feature that lets you
  quickly open a scratchpad to enter a command.
- You can now swipe with two or three fingers
  between tabs, like in Safari.
- Curly underlines are now supported.
- Adds support for DECRQSS.
- DECSCUSR 0 now resets the cursor to its default
  setting.
- Adds support for flow control in tmux 3.2 and
  "pause mode" that will automatically pause
  sessions in tmux integration that get very far
  behind with the ability to catch up quickly.
  NOTE: tmux 3.2 has not yet been released.
- tmux integration windows will now keep their
  size the same as you create or destroy split
  panes.
- Adds a preference to exclude iTerm2 from the
  dock and cmd-tab app switcher only if all
  windows are hotkey windows.
- In the Minimal and Compact themes, you can now
  drag the window by grabbing the edge of the tab
  bar near the window border.
- Pressing shift+arrow key when there is a
  selection now enters Copy Mode automatically.
  This can be disabled in Prefs > General >
  Selection.
- You can now change window style (top of screen,
  maximized, no title bar, etc.) for existing
  windows from the Window menu.
- There is a new control sequence to clear
  captured output (OSC 1337 ; ClearCapturedOutput
  ST).
- After editing a session's name in Edit Session,
  control sequences will no longer change it.
  There is a lock icon in Edit Session to change
  this behavior.
- Add an advanced pref to show timestamps by
  default.

Improvements
- Updates now use exclusively EdDSA. DSA-signed
  auto update appcasts are completely gone.
- The ApplicationSupport symlink under ~/Library
  is no longer needed.
- Various performance improvements.
- The Python API now uses a Unix Domain Socket
  instead of a TCP socket for better performance.
  The security model has also changed: apps can
  authenticate via Applescript or you can choose
  to allow all programs running locally to use the
  API.
- Use a single daemon process for all sessions
  instead of one per session. This reduces the
  number of process IDs used and also improves the
  time to launch a new session.
- Background images are significantly faster when
  not using the GPU renderer.
- Most tables now allow multiple selection.
- The number of search results is now shown in the
  Find on Page UI.
- Dynamic profiles now works with symlinks. Even
  the DynamicProfiles folder itself may be a
  symlink.
- Exported scripts now have a more secure
  container format that signs the entire file
  except the signature itself.
- Improve cold launch time.
- Countless minor improvements and polishing.
- Big Sur supported.
- Permission is now requested before various
  possibly destructive or annoying activities are
  done in response to control sequences.
- Don't snap window size to the cell grid when it
  gets resized by an Accessibility API.
- Only use touch bar mitigations for keypresses
  originating from the built-in keyboard.
- The profile preference "Send text at start" is
  now an interpolated string.
- The profile preference "Custom command" is
  now an interpolated string.
- The feature where the scroll wheel sends arrow
  keys when in alternate screen mode now works
  even when alternate screen mode is disabled.
- Enable window shadow for transparent windows.
- When resizing the window while scrolled up in to
  history, keep the text in the top left locked in
  position.
- Show a brief message when automatic profile
  switching takes effect.
- Postgres icon added.
- Status bar components that show graphs (CPU,
  memory, network, battery) now animate smoothly
  and use much less CPU.
- Inline images no longer scale unnecessarily.
- You'll be offered to repair saved arrangements
  with bad initial working directories.
- Add support for SSH_AUTH_SOCK with the built-in
  secure copy feature.
- You can now change a profile's icon by single
  clicking on the image.
- Don't disable metal when a window is obscured to
  improve performance when switching from another
  app to iTerm2 (e.g., with cmd-tab).
- Support u= or username= TXT records in Bonjour
  to provide a user name.
- You can press cmd-B to toggle broadcasting in
  the password manager.
- Improve error reporting for dynamic profiles.
- If a "run command" from a trigger produces too
  many errors, rate limit them to avoid spamming
  you.
- Performance improvements
- Add min/max width configuration settings to most
  status bar components.

Bug Fixes
- Full screen windows in the Minimal or Compact
  theme did not used to get restored properly and
  now they do.
- Fix how 24-bit colors are reported to work with
  vim.
- Saved arrangements that contain local changes
  (such as those made with Edit Session) will now
  pick up changes to the original profile.
- Fix a bug where inline images and OSC 8
  hyperlinks didn't get restored reliably when
  restarting the app.
- Improve support for zero-width joiners in Emoji.
- Fix a memory leak of inline images when
  restoring windows after restarting the app.
- Shortcuts bound to Paste won't take effect when
  the find-on-page text field has focus.
- Fix a hang on certain Sixel images.
- URL escaping should be more consistent now in
  various places (search web for selection, open
  URL, etc.)
- Fix a bug where tmux windows shrink each time
  you attach.
- Fix a bug where a key bound to Ignore would not
  prevent a menu shortcut from working.
- Change how escaping works so you do not need to
  escape backslashes in profile initial text or
  command.

SHA-256 of the zip file is
f7d8293ec6dbdf8c527274b66c8154d5f4a86ab68d24843fdb5268c727a6bace
```

#### [iTerm2 3.4.0beta6 (OS 10.14+)](https://iterm2.com/downloads/beta/iTerm2-3_4_0beta6.zip)

This is the recommended beta build for most users.
Built on September 9, 2020.

[▾ Hide Changelog](<javascript:hideId('3477387558022271583')>)

```
3.4.0beta6

Improvements
- You can press cmd-B to toggle broadcasting in
  the password manager.
- Improve error reporting for dynamic profiles.
- If a "run command" from a trigger produces too
  many errors, rate limit them to avoid spamming
  you.
- Performance improvements
- Add min/max width configuration settings to most
  status bar components.

Bug Fixes
- Change how escaping works so you do not need to
  escape backslashes in profile initial text or
  command.
- Fix spurious tab activity icon/spinner.
- Fix a crash after duplicating a tab.
- Unbreak NVidia GPUs.
- Fix a crash with auto command completion.
- Fix a bug where marks and annotations weren't
  restored properly.
- Fix a hang on launch.

3.4.0 Release Notes:

Breaking Changes
- TIOCGWINSZ now reports pixels, not points.
  This makes it easier to make inline images
  pixel-perfect.
- The Python API now only uses websockets.
  Everyone has to upgrade to the newest version of
  the Python runtime. This confers security
  benefits.
- The toolbelt has a new "snippets" tool that lets
  you quickly paste saved text.
- Support for macOS 10.12 and 10.13 dropped.

New Features
- You can now set a custom tab title on a profile
- There is a new profile preference to configure
  whether mouse reporting of clicks and drags are
  allowed.
- Search results, marks, and annotations are now
  indicated in the scroll bar.
- There's a new preference to focus a window when
  you right- or middle-click in it.
- Add support for IntelliJ IDEA, VSCodium, and
  Sublime Text 4 as Semantic History editors.
- There's a new "Composer" feature that lets you
  quickly open a scratchpad to enter a command.
- You can now swipe with two or three fingers
  between tabs, like in Safari.
- Curly underlines are now supported.
- Adds support for DECRQSS.
- DECSCUSR 0 now resets the cursor to its default
  setting.
- Adds support for flow control in tmux 3.2 and
  "pause mode" that will automatically pause
  sessions in tmux integration that get very far
  behind with the ability to catch up quickly.
  NOTE: tmux 3.2 has not yet been released.
- tmux integration windows will now keep their
  size the same as you create or destroy split
  panes.
- Adds a preference to exclude iTerm2 from the
  dock and cmd-tab app switcher only if all
  windows are hotkey windows.
- In the Minimal and Compact themes, you can now
  drag the window by grabbing the edge of the tab
  bar near the window border.
- Pressing shift+arrow key when there is a
  selection now enters Copy Mode automatically.
  This can be disabled in Prefs > General >
  Selection.
- You can now change window style (top of screen,
  maximized, no title bar, etc.) for existing
  windows from the Window menu.
- There is a new control sequence to clear
  captured output (OSC 1337 ; ClearCapturedOutput
  ST).
- After editing a session's name in Edit Session,
  control sequences will no longer change it.
  There is a lock icon in Edit Session to change
  this behavior.
- Add an advanced pref to show timestamps by
  default.

Improvements
- Updates now use exclusively EdDSA. DSA-signed
  auto update appcasts are completely gone.
- The ApplicationSupport symlink under ~/Library
  is no longer needed.
- Various performance improvements.
- The Python API now uses a Unix Domain Socket
  instead of a TCP socket for better performance.
  The security model has also changed: apps can
  authenticate via Applescript or you can choose
  to allow all programs running locally to use the
  API.
- Use a single daemon process for all sessions
  instead of one per session. This reduces the
  number of process IDs used and also improves the
  time to launch a new session.
- Background images are significantly faster when
  not using the GPU renderer.
- Most tables now allow multiple selection.
- The number of search results is now shown in the
  Find on Page UI.
- Dynamic profiles now works with symlinks. Even
  the DynamicProfiles folder itself may be a
  symlink.
- Exported scripts now have a more secure
  container format that signs the entire file
  except the signature itself.
- Improve cold launch time.
- Countless minor improvements and polishing.
- Big Sur supported.
- Permission is now requested before various
  possibly destructive or annoying activities are
  done in response to control sequences.
- Don't snap window size to the cell grid when it
  gets resized by an Accessibility API.
- Only use touch bar mitigations for keypresses
  originating from the built-in keyboard.
- The profile preference "Send text at start" is
  now an interpolated string.
- The profile preference "Custom command" is
  now an interpolated string.
- The feature where the scroll wheel sends arrow
  keys when in alternate screen mode now works
  even when alternate screen mode is disabled.
- Enable window shadow for transparent windows.
- When resizing the window while scrolled up in to
  history, keep the text in the top left locked in
  position.
- Show a brief message when automatic profile
  switching takes effect.
- Postgres icon added.
- Status bar components that show graphs (CPU,
  memory, network, battery) now animate smoothly
  and use much less CPU.
- Inline images no longer scale unnecessarily.
- You'll be offered to repair saved arrangements
  with bad initial working directories.
- Add support for SSH_AUTH_SOCK with the built-in
  secure copy feature.
- You can now change a profile's icon by single
  clicking on the image.
- Don't disable metal when a window is obscured to
  improve performance when switching from another
  app to iTerm2 (e.g., with cmd-tab).
- Support u= or username= TXT records in Bonjour
  to provide a user name.

Bug Fixes
- Full screen windows in the Minimal or Compact
  theme did not used to get restored properly and
  now they do.
- Fix how 24-bit colors are reported to work with
  vim.
- Saved arrangements that contain local changes
  (such as those made with Edit Session) will now
  pick up changes to the original profile.
- Fix a bug where inline images and OSC 8
  hyperlinks didn't get restored reliably when
  restarting the app.
- Improve support for zero-width joiners in Emoji.
- Fix a memory leak of inline images when
  restoring windows after restarting the app.
- Shortcuts bound to Paste won't take effect when
  the find-on-page text field has focus.
- Fix a hang on certain Sixel images.
- URL escaping should be more consistent now in
  various places (search web for selection, open
  URL, etc.)
- Fix a bug where tmux windows shrink each time
  you attach.
- Fix a bug where a key bound to Ignore would not
  prevent a menu shortcut from working.

SHA-256 of the zip file is
33bfea412b3c918037c5f7b86a4d683978bebb5a91114f9db3ebb478eb51ad28
```

#### [iTerm2 3.4.0beta5 (OS 10.14+)](https://iterm2.com/downloads/beta/iTerm2-3_4_0beta5.zip)

This is the recommended beta build for most users.
Built on August 31, 2020.

[▾ Hide Changelog](<javascript:hideId('2526394647294625408')>)

```
3.4.0beta5

Improvements
- Windows now restore their full history instead
  of just the last 10k lines.
- Many improvements to auto command completion,
  making it actually usable.
- Actions that invoke a command such as smart
  selection "run command" actions now go through
  your shell so they have a proper PATH.
- Exposé Tabs was removed in favor of a
  lighter-weight "Find Globally" feature.
- Making a selection while viewing scrollback
  history while reciving new content is more
  reliable now.
- Job names now show the modified name if a
  process writes to its argv[0].

New Features
- You can now change window style (top of screen,
  maximized, no title bar, etc.) for existing
  windows from the Window menu.
- There is a new control sequence to clear
  captured output (OSC 1337 ; ClearCapturedOutput
  ST).
- After editing a session's name in Edit Session,
  control sequences will no longer change it.
  There is a lock icon in Edit Session to change
  this behavior.
- If you launch iTerm2 by opening a file it is
  associated with, it would create a window
  exactly where the first restored window would go,
  making it hard to find. It now goes somewhere
  else.
- Add an advanced pref to show timestamps by
  default.

Bug Fixes
- URL escaping should be more consistent now in
  various places (search web for selection, open
  URL, etc.)
- Fix flashing while scrolling.
- Fix a bug where tmux windows shrink each time
  you attach.
- Fix a bug where copy mode was sometimes entered
  when you press shift-arrow key when there was no
  existing selection.
- Fix a bug where the scrollbar would randomly
  appear for no reason.
- Fix a bug where a key bound to Ignore would not
  prevent a menu shortcut from working.

3.4.0 Release Notes:

Breaking Changes
- TIOCGWINSZ now reports pixels, not points.
  This makes it easier to make inline images
  pixel-perfect.
- The Python API now only uses websockets.
  Everyone has to upgrade to the newest version of
  the Python runtime. This confers security
  benefits.
- The toolbelt has a new "snippets" tool that lets
  you quickly paste saved text.
- Support for macOS 10.12 and 10.13 dropped.

New Features
- You can now set a custom tab title on a profile
- There is a new profile preference to configure
  whether mouse reporting of clicks and drags are
  allowed.
- Search results, marks, and annotations are now
  indicated in the scroll bar.
- There's a new preference to focus a window when
  you right- or middle-click in it.
- Add support for IntelliJ IDEA, VSCodium, and
  Sublime Text 4 as Semantic History editors.
- There's a new "Composer" feature that lets you
  quickly open a scratchpad to enter a command.
- You can now swipe with two or three fingers
  between tabs, like in Safari.
- Curly underlines are now supported.
- Adds support for DECRQSS.
- DECSCUSR 0 now resets the cursor to its default
  setting.
- Adds support for flow control in tmux 3.2 and
  "pause mode" that will automatically pause
  sessions in tmux integration that get very far
  behind with the ability to catch up quickly.
  NOTE: tmux 3.2 has not yet been released.
- tmux integration windows will now keep their
  size the same as you create or destroy split
  panes.
- Adds a preference to exclude iTerm2 from the
  dock and cmd-tab app switcher only if all
  windows are hotkey windows.
- In the Minimal and Compact themes, you can now
  drag the window by grabbing the edge of the tab
  bar near the window border.
- Pressing shift+arrow key when there is a
  selection now enters Copy Mode automatically.
  This can be disabled in Prefs > General >
  Selection.

Improvements
- Updates now use exclusively EdDSA. DSA-signed
  auto update appcasts are completely gone.
- The ApplicationSupport symlink under ~/Library
  is no longer needed.
- Various performance improvements.
- The Python API now uses a Unix Domain Socket
  instead of a TCP socket for better performance.
  The security model has also changed: apps can
  authenticate via Applescript or you can choose
  to allow all programs running locally to use the
  API.
- Use a single daemon process for all sessions
  instead of one per session. This reduces the
  number of process IDs used and also improves the
  time to launch a new session.
- Background images are significantly faster when
  not using the GPU renderer.
- Most tables now allow multiple selection.
- The number of search results is now shown in the
  Find on Page UI.
- Dynamic profiles now works with symlinks. Even
  the DynamicProfiles folder itself may be a
  symlink.
- Exported scripts now have a more secure
  container format that signs the entire file
  except the signature itself.
- Improve cold launch time.
- Countless minor improvements and polishing.
- Big Sur supported.
- Permission is now requested before various
  possibly destructive or annoying activities are
  done in response to control sequences.
- Don't snap window size to the cell grid when it
  gets resized by an Accessibility API.
- Only use touch bar mitigations for keypresses
  originating from the built-in keyboard.
- The profile preference "Send text at start" is
  now an interpolated string.
- The profile preference "Custom command" is
  now an interpolated string.
- The feature where the scroll wheel sends arrow
  keys when in alternate screen mode now works
  even when alternate screen mode is disabled.
- Enable window shadow for transparent windows.
- When resizing the window while scrolled up in to
  history, keep the text in the top left locked in
  position.
- Show a brief message when automatic profile
  switching takes effect.
- Postgres icon added.
- Status bar components that show graphs (CPU,
  memory, network, battery) now animate smoothly
  and use much less CPU.
- Inline images no longer scale unnecessarily.
- You'll be offered to repair saved arrangements
  with bad initial working directories.
- Add support for SSH_AUTH_SOCK with the built-in
  secure copy feature.
- You can now change a profile's icon by single
  clicking on the image.
- Don't disable metal when a window is obscured to
  improve performance when switching from another
  app to iTerm2 (e.g., with cmd-tab).
- Support u= or username= TXT records in Bonjour
  to provide a user name.

Bug Fixes
- Full screen windows in the Minimal or Compact
  theme did not used to get restored properly and
  now they do.
- Fix how 24-bit colors are reported to work with
  vim.
- Saved arrangements that contain local changes
  (such as those made with Edit Session) will now
  pick up changes to the original profile.
- Fix a bug where inline images and OSC 8
  hyperlinks didn't get restored reliably when
  restarting the app.
- Improve support for zero-width joiners in Emoji.
- Fix a memory leak of inline images when
  restoring windows after restarting the app.
- Shortcuts bound to Paste won't take effect when
  the find-on-page text field has focus.
- Fix a hang on certain Sixel images.

SHA-256 of the zip file is
a73381af235ba66645cb9d667e8bfae77c3770623e17aa57099c5e9aaa9ddf90
```

#### [iTerm2 3.4.0beta4 (OS 10.14+)](https://iterm2.com/downloads/beta/iTerm2-3_4_0beta4.zip)

This is the recommended beta build for most users.
Built on August 16, 2020.

[▾ Hide Changelog](<javascript:hideId('5916567221322030065')>)

```
3.4.0beta4

New Features

Breaking Changes
- TIOCGWINSZ now reports pixels, not points.
- The Python API now only uses websockets.
  Everyone has to upgrade to the newest version of
  the Python runtime. This confers security
  benefits.
- The toolbelt has a new "snippets" tool that lets
  you quickly paste saved text.

Improvements
- The ApplicationSupport symlink under ~/Library
  is no longer needed.
- Postgres icon added.
- Status bar components that show graphs (CPU,
  memory, network, battery) now animate smoothly
  and use much less CPU.
- Inline images no longer scale unnecessarily.
- You'll be offered to repair saved arrangements
  with bad initial working directories.
- Add support for SSH_AUTH_SOCK with the built-in
  secure copy feature.
- You can now change a profile's icon by single
  clicking on the image.
- Don't disable metal when a window is obscured to
  improve performance when switching from another
  app to iTerm2 (e.g., with cmd-tab).
- Support u= or username= TXT records in Bonjour
  to provide a user name.

Bug Fixes
- Fix a bug where restoring multiple windows
  instead restored one window many times.
- Fix a bug where you couldn't create new sessions
  after upgrading. You'll need to killall
  iTermServer for this to take effect.
- Fix various small memory leaks.
- Shortcuts bound to Paste won't take effect when
  the find-on-page text field has focus.
- Fix a hang on certain Sixel images.

3.4.0 Release Notes:

New Features
- You can now set a custom tab title on a profile
- There is a new profile preference to configure
  whether mouse reporting of clicks and drags are
  allowed.
- Search results, marks, and annotations are now
  indicated in the scroll bar.
- There's a new preference to focus a window when
  you right- or middle-click in it.
- Add support for IntelliJ IDEA, VSCodium, and
  Sublime Text 4 as Semantic History editors.
- There's a new "Composer" feature that lets you
  quickly open a scratchpad to enter a command.
- You can now swipe with two or three fingers
  between tabs, like in Safari.
- Curly underlines are now supported.
- Adds support for DECRQSS.
- DECSCUSR 0 now resets the cursor to its default
  setting.
- Adds support for flow control in tmux 3.2 and
  "pause mode" that will automatically pause
  sessions in tmux integration that get very far
  behind with the ability to catch up quickly.
  NOTE: tmux 3.2 has not yet been released.
- tmux integration windows will now keep their
  size the same as you create or destroy split
  panes.
- Adds a preference to exclude iTerm2 from the
  dock and cmd-tab app switcher only if all
  windows are hotkey windows.
- In the Minimal and Compact themes, you can now
  drag the window by grabbing the edge of the tab
  bar near the window border.
- Pressing shift+arrow key when there is a
  selection now enters Copy Mode automatically.
  This can be disabled in Prefs > General >
  Selection.

Improvements
- Updates now use exclusively EdDSA. DSA-signed
  auto update appcasts are completely gone.
- Various performance improvements.
- The Python API now uses a Unix Domain Socket
  instead of a TCP socket for better performance.
  The security model has also changed: apps can
  authenticate via Applescript or you can choose
  to allow all programs running locally to use the
  API.
- Use a single daemon process for all sessions
  instead of one per session. This reduces the
  number of process IDs used and also improves the
  time to launch a new session.
- Background images are significantly faster when
  not using the GPU renderer.
- Most tables now allow multiple selection.
- The number of search results is now shown in the
  Find on Page UI.
- Dynamic profiles now works with symlinks. Even
  the DynamicProfiles folder itself may be a
  symlink.
- Exported scripts now have a more secure
  container format that signs the entire file
  except the signature itself.
- Improve cold launch time.
- Countless minor improvements and polishing.
- Big Sur supported.
- Permission is now requested before various
  possibly destructive or annoying activities are
  done in response to control sequences.
- Don't snap window size to the cell grid when it
  gets resized by an Accessibility API.
- Only use touch bar mitigations for keypresses
  originating from the built-in keyboard.
- The profile preference "Send text at start" is
  now an interpolated string.
- The profile preference "Custom command" is
  now an interpolated string.
- The feature where the scroll wheel sends arrow
  keys when in alternate screen mode now works
  even when alternate screen mode is disabled.
- Enable window shadow for transparent windows.
- When resizing the window while scrolled up in to
  history, keep the text in the top left locked in
  position.
- Show a brief message when automatic profile
  switching takes effect.

Bug Fixes
- Full screen windows in the Minimal or Compact
  theme did not used to get restored properly and
  now they do.
- Fix how 24-bit colors are reported to work with
  vim.
- Saved arrangements that contain local changes
  (such as those made with Edit Session) will now
  pick up changes to the original profile.
- Fix a bug where inline images and OSC 8
  hyperlinks didn't get restored reliably when
  restarting the app.
- Improve support for zero-width joiners in Emoji.
- Fix a memory leak of inline images when
  restoring windows after restarting the app.

Things Made Worse
- Support for macOS 10.12 and 10.13 dropped.

SHA-256 of the zip file is
a3b5b980b7ba9083d8046adae14b093c26d2a655a04d9dc5ec2548546804e7f3
```

#### [iTerm2 3.4.0beta3 (OS 10.14+)](https://iterm2.com/downloads/beta/iTerm2-3_4_0beta3.zip)

This is the recommended beta build for most users.
Built on August 8, 2020.

[▾ Hide Changelog](<javascript:hideId('87206983994866822')>)

```
3.4.0beta3

New Features:
* Add control as a shortcut for navigation.
* Add checkbox to advanced prefs to exclude
  default values.
* Window state restoration is now completely
  custom. It uses a sqlite database to update
  changes instead of rewriting the whole thing
  over and over. It should be faster and more
  reliable now.

Improvements:
* You can now provide custom session icons by
  placing graphic_colors.json, graphic_icons.json,
  and graphic_xxx.png in
  ~/Library/Application Support/iTerm2.
* Enable secure keyboard input at password prompt.
* When you create a hotkey window with
  Prefs>Keys>Hotkey>Create a Dedicated Hotkey
  Window, add a keybinding to the new profile for
  cmd-t to open a new tab with that profile.
* Dismiss paste bracketing warning when a control
  sequence changes its setting.
* Remove deviations from CSI u spec.

Bug Fixes:
* Fix crashes.
* Fix a bug where a split pane could become less
  than 2 columns wide, and then crazy things
  happen.
* Fix various bugs in CSI u mode, including f1-f4
  not working in vim.
* Don't let momentum scroll in one tab affect
  another when the mouse cursor moves.
* Fix a bug where the window didn't get shorter
  when closing the last tab.
* Don't auto-enter copy mode unless there is a
  selection.
* Save and restore touch bar key labels that were
  changed by a control sequence.
* Various visual improvements.

SHA-256 of the zip file is
5951a67574fb08528e581baf9224a3a3ddf609046352f0b44b663214a1754e68
```

#### [iTerm2 3.4.0beta2 (OS 10.14+)](https://iterm2.com/downloads/beta/iTerm2-3_4_0beta2.zip)

This is the recommended beta build for most users.
Built on July 20, 2020.

[▾ Hide Changelog](<javascript:hideId('5197613041476659269')>)

```
3.4.0beta2

New Features
- Pressing shift+arrow key when there is a
  selection now enters Copy Mode automatically.
  This can be disabled in Prefs > General >
  Selection.

Improvements
- Updates now use exclusively EdDSA. DSA-signed
  auto update appcasts are completely gone.
- Make progress indicators in the tab bar animate
  in lockstep.
- Performance improvements for non-GPU renderer
  when there are lots of different colors at once.

Bug Fixes
- Fix spelling mistakes.
- Don't want about multi-line paste when stripping
  newlines with advanced paste.
- Fix various crashes.
- Fix memory leaks.

3.4.0 Release Notes:

New Features
- You can now set a custom tab title on a profile
- There is a new profile preference to configure
  whether mouse reporting of clicks and drags are
  allowed.
- Search results, marks, and annotations are now
  indicated in the scroll bar.
- There's a new preference to focus a window when
  you right- or middle-click in it.
- Add support for IntelliJ IDEA, VSCodium, and
  Sublime Text 4 as Semantic History editors.
- There's a new "Composer" feature that lets you
  quickly open a scratchpad to enter a command.
- You can now swipe with two or three fingers
  between tabs, like in Safari.
- Curly underlines are now supported.
- Adds support for DECRQSS.
- DECSCUSR 0 now resets the cursor to its default
  setting.
- Adds support for flow control in tmux 3.2 and
  "pause mode" that will automatically pause
  sessions in tmux integration that get very far
  behind with the ability to catch up quickly.
  NOTE: tmux 3.2 has not yet been released.
- tmux integration windows will now keep their
  size the same as you create or destroy split
  panes.
- Adds a preference to exclude iTerm2 from the
  dock and cmd-tab app switcher only if all
  windows are hotkey windows.
- In the Minimal and Compact themes, you can now
  drag the window by grabbing the edge of the tab
  bar near the window border.

Improvements
- Various performance improvements.
- The Python API now uses a Unix Domain Socket
  instead of a TCP socket for better performance.
  The security model has also changed: apps can
  authenticate via Applescript or you can choose
  to allow all programs running locally to use the
  API.
- Use a single daemon process for all sessions
  instead of one per session. This reduces the
  number of process IDs used and also improves the
  time to launch a new session.
- Background images are significantly faster when
  not using the GPU renderer.
- Most tables now allow multiple selection.
- The number of search results is now shown in the
  Find on Page UI.
- Dynamic profiles now works with symlinks. Even
  the DynamicProfiles folder itself may be a
  symlink.
- Exported scripts now have a more secure
  container format that signs the entire file
  except the signature itself.
- Improve cold launch time.
- Countless minor improvements and polishing.
- Big Sur supported.
- Permission is now requested before various
  possibly destructive or annoying activities are
  done in response to control sequences.
- Don't snap window size to the cell grid when it
  gets resized by an Accessibility API.
- Only use touch bar mitigations for keypresses
  originating from the built-in keyboard.
- The profile preference "Send text at start" is
  now an interpolated string.
- The profile preference "Custom command" is
  now an interpolated string.
- The feature where the scroll wheel sends arrow
  keys when in alternate screen mode now works
  even when alternate screen mode is disabled.
- Enable window shadow for transparent windows.
- When resizing the window while scrolled up in to
  history, keep the text in the top left locked in
  position.
- Show a brief message when automatic profile
  switching takes effect.

Bug Fixes
- Full screen windows in the Minimal or Compact
  theme did not used to get restored properly and
  now they do.
- Fix how 24-bit colors are reported to work with
  vim.
- Saved arrangements that contain local changes
  (such as those made with Edit Session) will now
  pick up changes to the original profile.
- Fix a bug where inline images and OSC 8
  hyperlinks didn't get restored reliably when
  restarting the app.
- Improve support for zero-width joiners in Emoji.
- Fix a memory leak of inline images when
  restoring windows after restarting the app.

Things Made Worse
- Support for macOS 10.12 and 10.13 dropped.

SHA-256 of the zip file is
b4b656714ca890e4f0f75dbe9b9b6e6838e815ba23110ce58450f5f2dfbea576
```

#### [iTerm2 3.4.0beta1 (OS 10.14+)](https://iterm2.com/downloads/beta/iTerm2-3_4_0beta1.zip)

This is the recommended beta build for most users.
Built on July 13, 2020.

[▾ Hide Changelog](<javascript:hideId('7245364826947995596')>)

```
3.4.0beta1

New Features
- You can now set a custom tab title on a profile
- There is a new profile preference to configure
  whether mouse reporting of clicks and drags are
  allowed.
- Search results, marks, and annotations are now
  indicated in the scroll bar.
- There's a new preference to focus a window when
  you right- or middle-click in it.
- Add support for IntelliJ IDEA, VSCodium, and
  Sublime Text 4 as Semantic History editors.
- There's a new "Composer" feature that lets you
  quickly open a scratchpad to enter a command.
- You can now swipe with two or three fingers
  between tabs, like in Safari.
- Curly underlines are now supported.
- Adds support for DECRQSS.
- DECSCUSR 0 now resets the cursor to its default
  setting.
- Adds support for flow control in tmux 3.2 and
  "pause mode" that will automatically pause
  sessions in tmux integration that get very far
  behind with the ability to catch up quickly.
  NOTE: tmux 3.2 has not yet been released.
- tmux integration windows will now keep their
  size the same as you create or destroy split
  panes.
- Adds a preference to exclude iTerm2 from the
  dock and cmd-tab app switcher only if all
  windows are hotkey windows.
- In the Minimal and Compact themes, you can now
  drag the window by grabbing the edge of the tab
  bar near the window border.

Improvements
- Various performance improvements.
- The Python API now uses a Unix Domain Socket
  instead of a TCP socket for better performance.
  The security model has also changed: apps can
  authenticate via Applescript or you can choose
  to allow all programs running locally to use the
  API.
- Use a single daemon process for all sessions
  instead of one per session. This reduces the
  number of process IDs used and also improves the
  time to launch a new session.
- Background images are significantly faster when
  not using the GPU renderer.
- Most tables now allow multiple selection.
- The number of search results is now shown in the
  Find on Page UI.
- Dynamic profiles now works with symlinks. Even
  the DynamicProfiles folder itself may be a
  symlink.
- Exported scripts now have a more secure
  container format that signs the entire file
  except the signature itself.
- Improve cold launch time.
- Countless minor improvements and polishing.
- Big Sur supported.
- Permission is now requested before various
  possibly destructive or annoying activities are
  done in response to control sequences.
- Don't snap window size to the cell grid when it
  gets resized by an Accessibility API.
- Only use touch bar mitigations for keypresses
  originating from the built-in keyboard.
- The profile preference "Send text at start" is
  now an interpolated string.
- The profile preference "Custom command" is
  now an interpolated string.
- The feature where the scroll wheel sends arrow
  keys when in alternate screen mode now works
  even when alternate screen mode is disabled.
- Enable window shadow for transparent windows.
- When resizing the window while scrolled up in to
  history, keep the text in the top left locked in
  position.
- Show a brief message when automatic profile
  switching takes effect.

Bug Fixes
- Full screen windows in the Minimal or Compact
  theme did not used to get restored properly and
  now they do.
- Fix how 24-bit colors are reported to work with
  vim.
- Saved arrangements that contain local changes
  (such as those made with Edit Session) will now
  pick up changes to the original profile.
- Fix a bug where inline images and OSC 8
  hyperlinks didn't get restored reliably when
  restarting the app.
- Improve support for zero-width joiners in Emoji.
- Fix a memory leak of inline images when
  restoring windows after restarting the app.

Things Made Worse
- Support for macOS 10.12 and 10.13 dropped.

SHA-256 of the zip file is
831b3e6db4f0750e6117d35d054f83d07977cec5e3322eb0b51de4e0dff858c4
```

#### [iTerm2 3.3.12beta3 (OS 10.12+)](https://iterm2.com/downloads/beta/iTerm2-3_3_12beta3.zip)

This is the recommended beta build for most users.
Built on June 29, 2020.

[▾ Hide Changelog](<javascript:hideId('4850627010214526093')>)

```
3.3.12beta3

This is a bugfix release for 3.3.11.

Bugs Fixed
- Fix a bug in 3.3.12beta2 that caused a gray bar at the top
  of the screen when entering full screen.
- Fix a bug where the tab bar would be translucent in dark
  mode when any pane is translucent.
- Fix a bug in 3.3.12beta1 where text was
  overlapped by the tab bar when there was a
  scroll bar.
- Fix a bug where new full screen windows weren't
  created properly in macOS 10.15.5.
- Fix the vertical alignment of tmux split panes
  when the GPU renderer is enabled.
- Fix lag when activating the app while the GPU
  renderer is enabled.
- Fix a bug where plain-text session logs could be
  corrupted.

SHA-256 of the zip file is
aec4141e13b58ad8a25bca6bc51cd3aedd747ba56b4497ed3639cc44b29b643f
```

#### [iTerm2 3.3.12beta2 (OS 10.12+)](https://iterm2.com/downloads/beta/iTerm2-3_3_12beta2.zip)

This is the recommended beta build for most users.
Built on June 23, 2020.

[▾ Hide Changelog](<javascript:hideId('3592318858402129394')>)

```
3.3.12beta2

This is a bugfix release for 3.3.11.

Bugs Fixed
- Fix a bug in 3.3.12beta1 where text was
  overlapped by the tab bar when there was a
  scroll bar.
- Fix a bug where new full screen windows weren't
  created properly in macOS 10.15.5.
- Fix the vertical alignment of tmux split panes
  when the GPU renderer is enabled.
- Fix lag when activating the app while the GPU
  renderer is enabled.
- Fix a bug where plain-text session logs could be
  corrupted.

SHA-256 of the zip file is
31f7c49062842a629d893872a1cf3855ad49302ef5c50b4fcbe1e912c588035e
```

#### [iTerm2 3.3.12beta1 (OS 10.12+)](https://iterm2.com/downloads/beta/iTerm2-3_3_12beta1.zip)

This is the recommended beta build for most users.
Built on June 21, 2020.

[▾ Hide Changelog](<javascript:hideId('2411447346946767675')>)

```
3.3.12beta1

This is a bugfix release for 3.3.11.

Bugs Fixed
- Fix a bug where new full screen windows weren't
  created properly in macOS 10.15.5.
- Fix the vertical alignment of tmux split panes
  when the GPU renderer is enabled.
- Fix lag when activating the app while the GPU
  renderer is enabled.
- Fix a bug where plain-text session logs could be
  corrupted.

SHA-256 of the zip file is
16f91c8c5c5d0d11a350e7c8c7b2b46973d30f6a7ca3695b64f2e4df7e6d1c4e
```

#### [iTerm2 3.3.11beta1 (OS 10.12+)](https://iterm2.com/downloads/beta/iTerm2-3_3_11beta1.zip)

This is the recommended beta build for most users.
Built on May 27, 2020.

[▾ Hide Changelog](<javascript:hideId('7993944873291042824')>)

```
3.3.11beta1

This is a bugfix release for 3.3.10, which was
short-lived. The release notes for 3.3.10 are
included below.

- Fixes a bug introduced in 3.3.10 where the dock
  and menu bar would sometimes remain hidden after
  exiting non-native fullscreen.
- Works around a possible macOS bug where Metal
  drops frames occasionally.

3.3.10

Security Improvements
- Improves the method for gaining authorization
  to run Python scripts launched from outside
  iTerm2.

  Version 3.3.9 deprecated the older auth
  mechanism based on the command line, requiring
  the user to consent to every connection. That
  was annoying.

  There are now two ways to get permission:

  1. The UI prompts on every connection.
  2. The app requests a cookie using Applescript.
     Therefore, Applescript permission is
     required. This requires the user to
     consent only once per app that originates the
     connection.

  Note that this does not affect scripts launched
  by iTerm2, such as those opened from the Scripts
  menu.

  For more information, including details on how
  to use osascript to get a cookie, please see:
  https://iterm2.com/python-api-security-model

New Features:
- Updated shell integration installer UI, now with
  internet-free install option.
- Add a setting to Edit Session to prevent
  Automatic Profile Switching from changing the
  profile.
- Add support for opening files to line number
  with IntelliJ.
- Applescript can now launch a Python API script
  from an absolute path.

Improvements:
- Add a delay before previewing a color preset to
  make it easier to navigate the menu quickly.
- Set SSL_CERT_FILE and SSL_CERT_DIR when running
  Python scripts so they can use TLS.
- Change "Broken Pipe" to "Session Ended" and make
  it a soothing blue color.
- Network filesystems can not hang the UI any
  more. Calls to proc_pidinfo are now made in an
  XPC server.
- Default to built-in mouse cursor on Catalina
  since it is now visible against a black
  background.
- Updated internet access policy for all outgoing
  connections.
- Improve appearance of items in the Uploads and
  Downloads menus.
- "Flash tab bar in full screen" is now off by
  default since it is now a titlebar accessory.
- Add keyboard shortcuts for some announcements.
- The foreground and background color are shown in
  the context menu when exactly one cell is
  selected.
- Automatically detect when mouse reporting
  control sequences are getting printed and offer
  to turn it off.
- Automatically detect when paste bracketing
  control sequences are getting printed and offer
  to turn it off.
- Tab label font size is now customizable in an
  advanced setting.
- Improve legibility of highlighted search results
  in the profile list in dark mode.
- Restore tmux window locations better when
  burying the attaching window.
- Improve UI for selecting a key binding action.
- Close the man page window (opened when tapping
  the man page button on the touch bar) when man
  quits.
- You can now close the crash reporter with cmd-w.
- Improve the appearance of window borders (when
  enabled in Appearance settings) on macOS 10.14+.
- Improve usability of Arrangement prefs. You can
  now do multiple selection, rename, and undo.
- Improve legibility of window titles in Minimal
  theme with light tab colors.
- Improve legibility of autocomplete popup text.
- Improve the tab color menu item UX.
- Make clearing command history faster.

Bug Fixes:
- Fix a bug where hotkey windows could appear
  under the menu bar on secondary display.
- Fix session restoration with custom shells.
- Fix various crashes.
- Fix a bug where a keypress with the option key
  in the very first keypress in a session could be
misinterpreted.
- Fix a bug where URLs with ports were sometimes
  not recognized.
- Fix a bug where closing a tmux integration
  window with many tabs would send garbage to the
command line of the
  attaching session.
- Fix Shell>Close Terminal Window in tmux
  integration.
- Fix support for ligatures with spaces when the
  advanced pref "Prefer speed to accuracy for
  characters with
  combining marks" is off.
- Fix bugs with it2git
- Fix bugs in tmux dashboard for session names
  containing nonbreaking spaces.
- Fix bug where you couldn't map a keystroke to
  increase height.
- Fix high CPU utilization in some situations.
- Fix a bug where attaching to tmux could restore
  a window to a different position than where it
  was before detaching.
- Respect key action of "Ignore" when there is no
  terminal window.
- Prevent annoying system log messages from
  IIONumber.
- Fix a bug where applescript launched from
  Scripts menu would timeout improperly.
- Fix escaping of single quotes in semantic
  history commands.
- Fix a bug where new tabs created in Applescript
  weren't always usable right away.
- Disable performance statistics to try to
  find cause of memory corruption bug.
- Fix memory leaks.
- Fix a bug where the arrow icon was missing from
  tmux tabs.
- Replace calls to calloc() with a safer wrapper
  function.
- Fix a bug where the zsh command line could be
  pushed into history unnecessarily.
- Fix icon alignment in New Python Script window.

SHA-256 of the zip file is
d0b4af29376417562a106b617802a02834b30254fa3a426b00542376e8b3863a
```

#### [iTerm2 3.3.10beta4 (OS 10.12+)](https://iterm2.com/downloads/beta/iTerm2-3_3_10beta4.zip)

This is the recommended beta build for most users.
Built on May 1, 2020.

[▾ Hide Changelog](<javascript:hideId('3830378365465846614')>)

```
3.3.10beta4

This is a release candidate for 3.3.10.

Improvements;
- Add an Applescript call to request a Python API
  cookie.
- Make clearing command history faster.

Bug Fixes:
- Fix a bug where the arrow icon was missing from
  tmux tabs.
- Replace calls to calloc() with a safer wrapper
  function.
- Fix a bug where the zsh command line could be
  pushed into history unnecessarily.
- Fix icon alignment in New Python Script window.

SHA-256 of the zip file is
22741afb604a20b7f15c80b6317092d1555272ebeaf0643b562bb39b649ab67f
```

#### [iTerm2 3.3.10beta3 (OS 10.12+)](https://iterm2.com/downloads/beta/iTerm2-3_3_10beta3.zip)

This is the recommended beta build for most users.
Built on March 30, 2020.

[▾ Hide Changelog](<javascript:hideId('7501311810403536369')>)

```
3.3.10beta3

Improvements;
- Set an ITERM2_COOKIE environment variable that
  enables Python API scripts launched from an
  iTerm2 session not to need a permission prompt.
- Improve legibility of window titles in Minimal
  theme with light tab colors.
- Improve legibility of autocomplete popup text.
- Improve the tab color menu item UX.
- Fix various crashes.
- Fix memory leaks.

Bug Fixes:
- Fix zoom follows cursor accessibility mode
  support.
- Fix a bug where saved arrangement previews with
  multiple monitors didn't show previews for
  secondary monitors.
- Fix a deadlock when running AutoLaunch.scpt that
  creates windows, tabs, or split panes.
- Fix a bug where the tab bar's appearance is
  wrong after changing the number of tabs in the
  Regular theme.
- Fix a bug where the advanced setting "Disable
  remapping modifiers for system shortcuts" didn't
  always work.
- Fix tab color support in minimal mode without a
  tabbar.
- Fix a bug where tmux integration would
  disconnect if a new session ends immediately
  after starting.
- Improve wording of inline image permission
  prompt.
- Fix lots of bugs in internet-free shell
  integration installer.
- Fix a bug where the "configure status bar"
  button could be enabled when the status bar is
  disabled.
- Fix a bug where a tmux integration command would
  get sent to the shell when the last session in
  it ends.
- Handle incorrect setting of custom Application
  Support symlink name (in advanced prefs) better.

SHA-256 of the zip file is
7587f540d1164345c24a34f1aa565ab23ff73d23f721ad6d5adfe0406f8f9848
```

#### [iTerm2 3.3.10beta2 (OS 10.12+)](https://iterm2.com/downloads/beta/iTerm2-3_3_10beta2.zip)

This is the recommended beta build for most users.
Built on March 3, 2020.

[▾ Hide Changelog](<javascript:hideId('2502470394945360672')>)

```
3.3.10beta2

Improvements;
- Applescript can now launch a script from an
  absolute path.
- Add a delay before previewing a color preset to
  make it easier to navigate the menu quickly.
- Set SSL_CERT_FILE and SSL_CERT_DIR when running
  Python scripts so they can use TLS.
- Change "Broken Pipe" to "Session Ended" and make
  it a soothing blue color.

Bug Fixes:
- Fix many crashes.
- Fix high CPU utilization.
- Fix a bug where compact windows had a clear
  title bar.
- Fix a bug where attaching to tmux could restore
  a window to a different position than where it
  was before detaching.
- Respect key action of "Ignore" when there is no
  terminal window.
- Prevent annoying system log messages from
  IIONumber.
- Fix a bug where applescript launched from
  Scripts menu would timeout improperly.
- Fix escaping of single quotes in semantic
  history commands.
- Fix drawing of selected tab indicator in Minimal
  theme with colored tabs.
- Fix a bug where new tabs created in Applescript
  weren't always usable right away.
- Disable performance statistics to try to
  find cause of memory corruption bug.

SHA-256 of the zip file is
7ef1e989fae13dfd8e764b8038f38f7106318779b21d499c6223ff23ac94f92b
```

#### [iTerm2 3.3.10beta1 (OS 10.12+)](https://iterm2.com/downloads/beta/iTerm2-3_3_10beta1.zip)

This is the recommended beta build for most users.
Built on February 16, 2020.

[▾ Hide Changelog](<javascript:hideId('5062132147135777855')>)

```
3.3.10beta1

Security Improvements
- The security model for the Python API has changed. Any
  process attempting to use the API that was not launched by
  iTerm2 will require explicit user approval.

  The previous technique, which relied on inferring the job
  name from its command line, could be subverted.

  Consequently, the UI for authorizing particular scripts
  has been removed.

  For more information, please see
  https://iterm2.com/python-api-security-model

New Features:
- Updated shell integration installer UI, now with
  internet-free install option.
- Add a setting to Edit Session to prevent Automatic Profile
  Switching from affecting that setting.
- Add support for opening files to line number with
  IntelliJ.

Improvements:
- Network filesystems can not hang the UI any more. Calls to
  proc_pidinfo are now made in an XPC server.
- Default to built-in mouse cursor on Catalina since it is
  now visible against a black background.
- Updated internet access policy for all outgoing
  connections.
- Improve appearance of items in the Uploads and Downloads
  menus.
- "Flash tab bar in full screen" is now off by default since
  it is now a titlebar accessory.
- Add keyboard shortcuts for some announcements.
- The foreground and background color are shown in the
  context menu when exactly one cell is selected.
- Automatically detect when mouse reporting control
  sequences are getting printed and offer to turn it off.
- Automatically detect when paste bracketing control
  sequences are getting printed and offer to turn it off.
- Tab label font size is now customizable in an advanced
  setting.
- Improve legibility of highlighted search results in the
  profile list in dark mode.
- Restore tmux window locations better when burying the
  attaching window.
- Improve UI for selecting a key binding action.
- Close the man page window (opened when tapping the man
  page button on the touch bar) when man quits.
- You can now close the crash reporter with cmd-w.
- Improve the appearance of window borders (when enabled in
  Appearance settings) on macOS 10.14+.
- Improve usability of Arrangement prefs. You can now do
  multiple selection, rename, and undo.

Bug fixes:
- Fix a bug where hotkey windows could appear under the menu
  bar on secondary display.
- Fix session restoration with custom shells.
- Fix various crashes.
- Fix a bug where a keypress with the option key in the very
  first keypress in a session could be misinterpreted.
- Fix a bug where URLs with ports were sometimes not
  recognized.
- Fix a bug where closing a tmux integration window with
  many tabs would send garbage to the command line of the
  attaching session.
- Fix Shell>Close Terminal Window in tmux integration.
- Fix support for ligatures with spaces when the advanced
  pref "Prefer speed to accuracy for characters with
  combining marks" is off.
- Fix bugs with it2git
- Fix bugs in tmux dashboard for session names containing
  nonbreaking spaces.
- Fix bug where you couldn't map a keystroke to increase
  height.

SHA-256 of the zip file is
94bdd8c177b604234df127ecc3af41b7f77c8b09953fa2b623a169eff5c85d6f
```

#### [iTerm2 3.3.9beta1 (OS 10.12+)](https://iterm2.com/downloads/beta/iTerm2-3_3_9beta1.zip)

This is the recommended beta build for most users.
Built on February 8, 2020.

[▾ Hide Changelog](<javascript:hideId('4317950667177314834')>)

```
3.3.9beta1

Bug Fixes
- Fix crash when restoring window arrangement.
- Fix crash when a download finishes.
- Fix crash when a downloaded file has disappeared.
- Fix crash after closing a window that completely obscures
  another window and the GPU renderer is enabled.
- Fix crash when there is no default fixed-pitch font.
- Fix crash when removing invalid automatic profile
  switching rule.
- Fix crash when a bonjour host appears/disappears and the
  default profile has a hotkey and you're switched to a
  different user account than the one iTerm2 is in.
- Enable same-origin policy for webkit popovers.
- Fix a crash when a shortcut is configured to invoke a menu
  item that has a submenu.
- Fix a crash when a tab icon is 0x0 pixels.
- Fix a crash when there's a process ID cycle.
- Fix a bug where shortcuts are shown in tabs when
  navigation by modifiers+number is disabled.
- Fix various other crashes.

SHA-256 of the zip file is
0f29e912ef047600a73603cf0d84a602d6e17b87a82f0e24137df3c9350c2392
```

#### [iTerm2 3.3.8beta5 (OS 10.12+)](https://iterm2.com/downloads/beta/iTerm2-3_3_8beta5.zip)

This is the recommended beta build for most users.
Built on January 20, 2020.

[▾ Hide Changelog](<javascript:hideId('1443475035824231579')>)

```
3.3.8beta5

Improvements
- Add advanced pref to force anti-aliasing on Retina
  displays.
- Improve legibility of highlighted profile search results
  in dark mode.
- Use hardened runtime for helper apps.
- Update to Sparkle 1.22.0.

Bug Fixes
- Fix voice dictation support.
- Fix vertical alignment of images in git status bar
  components on 10.15 vs previous beta.
- Fix a bug where you couldn't log in plaintext after
  logging raw data.
- Fix a bug where background image changes weren't always
  reflected immediately.
- Fix a bug introduced in beta 4 where scroll wheel events
  could be delivered to the wrong pane.
- Fix a bug where the tab bar was not visible in native full
  screen, introduced in a previous beta.
- Fix session restoration for profiles with custom shells.
- Fix crashes.
- Prevent accent menu from appearing when holding down a
  key, introduced in previous beta.

SHA-256 of the zip file is
d0d989f496fd08bcff5ca30f63f5e017425335200828a28aa76b8e572a54e065
```

#### [iTerm2 3.3.8beta4 (OS 10.12+)](https://iterm2.com/downloads/beta/iTerm2-3_3_8beta4.zip)

This is the recommended beta build for most users.
Built on January 2, 2020.

[▾ Hide Changelog](<javascript:hideId('8560323169284664468')>)

```
3.3.8beta4

New Features
- Add "Send Selection" to context menu.
- Add an advanced preference to draw solid
  underlines.
- Add "Ignore" as a new pointer action.
- Add a new advanced preference to disable copying
  background colors when copying the selection
  with styles.

Improvements
- Remove various unneeded entitlements for
  stronger security.
- Update touch bar immediately when custom touch
  bar items are modified.
- Improve UX when you try to attach twice to the
  same tmux integration session.
- Offer to force detach when tmux becomes
  unresponsive.
- Behave better when dragging past the 223rd row
  or column in xterm mouse reporting mode.
- User defined variables in tmux integration
  sessions are now saved in the tmux server.
- Improved error reporting for dynamic profiles.
- Improve URL detection in the presence of leading
  hyphens.
- Abort a long paste when you press control-C or
  esc.
- Remove option to enable tab icons on macOS
  10.12, where they don't work properly.
- Small visual improvements to new-output and
  dead-session indicators in tabs.

Bug Fixes
- Fix various bugs related to drag gestures and
  three-finger taps.
- When printing in black and white, images now
  appear correctly.
- Fix a bug where keys bound to "Select Menu
  Action" got their action performed twice. 
- Fix bug where the dock gets hidden on the wrong
  window with a fullscreen hotkey window.
- Fix upside-down tab icons on 10.15.
- Fix smart selection as pointer action for force
  click.

SHA-256 of the zip file is
cb080ea91af7a38c0ebd2b3866c827cac40b9a491523715ddcad52eabb388f47
```

#### [iTerm2 3.3.8beta3 (OS 10.12+)](https://iterm2.com/downloads/beta/iTerm2-3_3_8beta3.zip)

This is the recommended beta build for most users.
Built on December 16, 2019.

[▾ Hide Changelog](<javascript:hideId('4792345900582941255')>)

```
iTerm2 version 3.3.8beta3

Bug Fixes
- The last beta broke selection. Fixed. Oops.
- Respect momentum scrolling for mouse reporting.
- Fix a bug where the mouse cursor was huge in
  screen sharing.

3.3.8beta2 was a very short-lived release. Its
notes follow:

New Features
- You can now create session logs in plain text.
- A new built-in color preset has been added.

Improvements
- Set quarantine flag on downloaded files.
- Rewrite firmlink paths from shell integration to
  their shorter version.
- Add an advanced pref to revert Consolas
  rendering to its pre-3.3.8beta1 algorithm.
- Combine the Log>Start and Log>Stop menu items.
- Color presets are now previewed on highlight.
- .its files (signed script archives) now sign the
  entire file rather than only the payload. Legacy
  files can still be imported for now.
- Require user permission for some control
  sequences:
  - StealFocus control sequence
  - DECRQCRA
  - ReportVariable
  - File download
- Disable quicklook for URLs that are not http or
  https.
- When viewing a list of menu items (such as when
  adding a key binding) the items in the profiles
  menu now indicate if they create a new tab or
  window.
- Navigating between marks and annotations by
  keyboard has been changed. The previous
  shortcut, cmd-shift-up/down now navigates only
  marks. Cmd-shift-opt-up/down now navigates
  annotations.
- When three-finger drag is configured to make a
  selection that is now reported as a mouse drag.

Bug Fixes
- Reset the find bar's progress memter when it
  loses keyboard focus.
- Fix various bugs with three-finger drag to
  select.
- Don't hang when importing an .its file with a
  self-signed cert.
- Fix bug where git status bar component would
  unnecessarily truncate its contents.
- Fix a bug where tmux integration windows'
  positions would sometimes shift down upon
  attaching.
- Fix a crash when entering or exiting full screne
  mode.
- Fix a bunch of bugs around restoring selection
  and annotations.
- Fix a crash when undoing adding a trigger.
- Directories with non-initial tildes in their
  names now work properly with the git status bar
  component.
- Fix a bug where color wells were oval-shaped in
  Catalina. This was Apple's fault.

Things Made Worse
- Remove CPU profiling from menu bar. It never
  worked very well.

SHA-256 of the zip file is
83dcc4f469a47e893de15c13cba4c734c374c6e3986502daeedd848fe02662de
```

#### [iTerm2 3.3.8beta2 (OS 10.12+)](https://iterm2.com/downloads/beta/iTerm2-3_3_8beta2.zip)

This is the recommended beta build for most users.
Built on December 15, 2019.

[▾ Hide Changelog](<javascript:hideId('3650615968033714090')>)

```
iTerm2 version 3.3.8beta2

New Features
- You can now create session logs in plain text.
- A new built-in color preset has been added.

Improvements
- Set quarantine flag on downloaded files.
- Rewrite firmlink paths from shell integration to
  their shorter version.
- Add an advanced pref to revert Consolas
  rendering to its pre-3.3.8beta1 algorithm.
- Combine the Log>Start and Log>Stop menu items.
- Color presets are now previewed on highlight.
- .its files (signed script archives) now sign the
  entire file rather than only the payload. Legacy
  files can still be imported for now.
- Require user permission for some control
  sequences:
  - StealFocus control sequence
  - DECRQCRA
  - ReportVariable
  - File download
- Disable quicklook for URLs that are not http or
  https.
- When viewing a list of menu items (such as when
  adding a key binding) the items in the profiles
  menu now indicate if they create a new tab or
  window.
- Navigating between marks and annotations by
  keyboard has been changed. The previous
  shortcut, cmd-shift-up/down now navigates only
  marks. Cmd-shift-opt-up/down now navigates
  annotations.
- When three-finger drag is configured to make a
  selection that is now reported as a mouse drag.

Bug Fixes
- Reset the find bar's progress memter when it
  loses keyboard focus.
- Fix various bugs with three-finger drag to
  select.
- Don't hang when importing an .its file with a
  self-signed cert.
- Fix bug where git status bar component would
  unnecessarily truncate its contents.
- Fix a bug where tmux integration windows'
  positions would sometimes shift down upon
  attaching.
- Fix a crash when entering or exiting full screne
  mode.
- Fix a bunch of bugs around restoring selection
  and annotations.
- Fix a crash when undoing adding a trigger.
- Directories with non-initial tildes in their
  names now work properly with the git status bar
  component.
- Fix a bug where color wells were oval-shaped in
  Catalina. This was Apple's fault.

Things Made Worse
- Remove CPU profiling from menu bar. It never
  worked very well.

SHA-256 of the zip file is
9b07fad5549de04b88599d88c4435decb17a41ebf863195f88d0d950405e0a60
```

#### [iTerm2 3.3.8beta1 (OS 10.12+)](https://iterm2.com/downloads/beta/iTerm2-3_3_8beta1.zip)

This is the recommended beta build for most users.
Built on November 25, 2019.

[▾ Hide Changelog](<javascript:hideId('6321826362151747847')>)

```
iTerm2 version 3.3.8beta1

New Features
- New status bar component that shows a menu of
  Actions.
- If you don't want to use the default shell and
  use a custom command to launch your shell,
  there's a new option called "custom shell" that
  will launch it as a proper login shell.
- Copy mode now supports W and B to move forward
  or backward the way vim does with W and B.

Improvements
- The Actions tool now allows multiple selection
  and reordering.
- Actions defined in the Actions tool now show up
  in Open Quickly.
- Speed up Open Quickly window animation.
- Shortcuts in Open Quickly no longer require a
  space. For example, you can now type /axyz to
  restore an arrangement named "xyz".
- Search history is now stored in a separate
  preferences database for better privacy.
- Change how font metrics are computed for
  Consolas, which only looks good when values are
  rounded in a particular way.
- Duplicate Tab now respects the advanced pref
  that opens a new tab adjacent to the curren tab.
- If default-terminal is set to something other
  than screen then tmux integration won't
  translate italic to reverse video.

Bug Fixes
- Remove gray bar that appeared in native full
  screen with one tab and no tab bar.
- Fix various full-screen minimal theme artifacts.
- Fix window title alignment bugs in Minimal
  theme.
- Fix off-center red/yellow/blue buttons in full
  screen Minimal theme.
- Fix various crashes.
- Do not report a two-finger click as a left mouse
  button click.
- Fix a bug where font names were sometimes
  right-aligned in prefs.
- Fix a bug where the shortcuts to change
  window/tab/pane would sometimes not be saved.
- Fix a flash when the GPU renderer is enabled and
  a window is transparent.
- Fix a bug where you couldn't drag folders to the
  iTerm2 icon when added to the Finder's toolbar.
- Fix a bug where the triggers UI would sometimes
  modify the first row when editing another row.
- Don't show the "document edited" dot in the
  close button if the session's profile has a
  custom command.
- Fix various bugs in libsixel.
- Fix a bug when popping an empty title stack to
  restore the session name rather than make it
  and empty string.

SHA-256 of the zip file is
cc71fa2e515a74ee8d4b70b9c91ebb6627dcd409f9dded180b20fcdba454fb00
```

#### [iTerm2 3.3.7beta4 (OS 10.12+)](https://iterm2.com/downloads/beta/iTerm2-3_3_7beta4.zip)

This is the recommended beta build for most users.
Built on November 10, 2019.

[▾ Hide Changelog](<javascript:hideId('1521140460996247101')>)

```
iTerm2 version 3.3.7beta4

New Features
- Adds a preference to specify whether you want
  each tab to control the window title
  separately, or if all tabs in a window should
  share a single window title. This affects window
  title set by control sequences like OSC 2.

Improvements
- Add support for 2-factor codes appended to
  password in password manager.
- When the window title is changed by a control
  sequence, set the window title to exactly that
  string.
- Put a dot in the close button when there is an
  active job running.
- You can now drag the window using the New Tab +
  button.
- Performance improvements.

Bug Fixes
- Preserve the selected weight when changing
  typeface, when possible.
- Respect the desired popover size for custom
  status bar components. This fix may cause some
  popovers to have different-sized popovers than
  expected, and may require updating the script to
  correct.
- Fix a bug where Find Next would not navigate to
  the very first word in history.
- Fix a runaway CPU issue when initializing GPU
  renderer.
- Touch bar in full screen now shows correct tab
  titles. Fixes a bug where they would get out of
  sync with reality.
- Fixes a bug where adding a new password in the
  password manager could hang.
- Fixes a bug introduced in the previous beta
  where minimal-theme title bars were the wrong
  color and window borders sometimes didn't appear.

Scripting
- Add Session.async_get_contents to docs.
- Add Profile.async_get_default and
  PartialProfile.async_get_default.

SHA-256 of the zip file is
7237a5456b4e5a3a181d8dadbd73764eb73c92db64757c14b1b2b4dc3528c951
```

#### [iTerm2 3.3.7beta3 (OS 10.12+)](https://iterm2.com/downloads/beta/iTerm2-3_3_7beta3.zip)

This is the recommended beta build for most users.
Built on November 3, 2019.

[▾ Hide Changelog](<javascript:hideId('686000470957234642')>)

```
iTerm2 version 3.3.7beta3

Improvements
- The toolbelt now uses a dark background in the
  Minimal theme when the terminal window's
  background is dark.
- Add Unicode 12 width tables for emoji.
- Password manager now has a column for user
  names.
- Add advanced pref to enable italic in tmux
  integration. It uses the "screen" terminal where
  the control sequence normally used for italics
  instead does reverse video.
- Add "Edit Account Name" and "Edit User Name" to
  password manager context menu.
- Various performance improvements.
- Variable-size tmux windows are now pretty
  usable. Try turning on Prefs>Advanced>Allow
  variable window sizes in tmux integration.

Bug Fixes
- Fix manpage viewer in touch bar.
- If you use the CurrentDir control sequence
  without the rest of shell integration, it will
now work reliably.
- Fix escaping of smart selection "run command in
  window" commands.
- Fix some integer overflow bugs.
- In secure copy, keyboard-interactive and private
  key passpharse input deadlocked. Fix it.

Scripting
- Python 3.8.0 is now available. It requires
  3.3.7beta3 or later, so keep that in mind when
  distributing scripts.
- Add support for delta updates of the Python
  runtime.

SHA-256 of the zip file is
79e6b712b9ea513121fd3b749e40a4c77b92463dd16b6caa00ca3c91abd857e7
```

#### [iTerm2 3.3.7beta2 (OS 10.12+)](https://iterm2.com/downloads/beta/iTerm2-3_3_7beta2.zip)

This is the recommended beta build for most users.
Built on October 22, 2019.

[▾ Hide Changelog](<javascript:hideId('7756961397691420927')>)

```
iTerm2 version 3.3.7beta2

Improvements
- Remember whether "tags" view of profile list is
  expanded in toolbelt.
- Move selection-related settings into General >
  Selection.
- Add advanced pref to disable tabbar tooltips.
- Separate 'use custom bold color' from 'brighten
  bold colors', which previously were confusingly
  grouped into a single setting.
- Set pixel size in TTY.
- Don't show a warning when modifying a session's
  copy of its profile, when that profile is backed
  by a dynamic profile.
- When prefs from a remote location fail to load
  offer to reveal the responsible preference.

Bug Fixes
- Fix drawing of "tags" view of profile list.
- When selecting a tag from the "tags" view, use
  the tag: operator to restrict the search term to
  tags.
- Fix bug where users with spaces in their names
  couldn't log in.
- Fix a bug where windows with a left-side tab bar
  had the wrong number of columns when first
  created.
- Fix a bug where activating a session via API in
  an inactive tab would activate the wrong session
  in that tab.
- Fix a bug where setting the icon title when
  showing Profile + Session name caused the
  profile name to go away.
- Fix padding of "broken pipe" message.
- Disable quicklook if it's disabled systemwide.
- Fix bugs in updating session list in tmux
  dashboard.
- Fix a bug where window buttons were hidden when
  entering native full screen.
- Disable selection scroll if it begins in the
  mutable area while reporting mouse clicks.
- Fix a bug where option-clicking the zoom button
  after exiting full screen doesn't zoom.
- Fix a bug where selection by dragging three
  fingers selects too much text.
- Fix imgcat in Catalina.
- Fix dragging folders to iTerm2 icon.
- Remove a brittle performance hack for scroll
  views that may have been causing crashes.
- Fix a bug when changing tabs while selecting
  text causing future selections to be wrong.
- Fix a few crashes.

SHA-256 of the zip file is
b8dd0c8ebdecfed7ca66cf09cb1764ff19696319b10e5489377f93cfe7e9e7e8
```

#### [iTerm2 3.3.7beta1 (OS 10.12+)](https://iterm2.com/downloads/beta/iTerm2-3_3_7beta1.zip)

This build contains an important security fix and all beta users should install it.
Built on October 9, 2019.

[▾ Hide Changelog](<javascript:hideId('1753435193910526240')>)

```
iTerm2 version 3.3.7beta1

This build fixes a serious security issue. All
users should upgrade.

The Mozilla Foundation has generously sponsored a
security audit of the iTerm2 source code. As part
of this audit, a problem was discovered which
could cause iTerm2 to issue commands in response
to receiving certain input. This is a serious
security issue because in some circumstances it
could allow an attacker to execute commands on
your machine when you view a file or otherwise
receive input they have crafted in iTerm2.

For more information, please visit the
iterm2-discuss group.

https://groups.google.com/forum/#!forum/iterm2-discuss

Improvements
- Visual improvements to minimal and compact
  themes' titlebar.
- Make overlay scrollbars dark in dark theme with
  light terminal background so they're more
  visible.
- Various UI improvements to the Composer status
  bar component.

Bug Fixes
- Fix a bug where you couldn't import an .its file
  requiring the latest runtime version.
- Fix a bug where exporting an autolaunch script
  wouldn't work if there was a symlink in the
  path.
- Fix the frame of the hotkey window when there's
  another terminal window in lion fullscreen on a
  different desktop.
- Fix a bug where three-finger drag was broken.
- Prevent very wide/tall images from disappearing.
- Make the color picker remember hue and
  saturation when the color passes through pure
  black or white.
- Don't get confused about the working directory
  when only a subset of the shell integration
  control sequences are used.
- Fix a bug where changing the badge and the title
  in quick succession would only affect the badge.
- Ensure all file descriptors are closed when
  launching a coprocess (before only 0-255 were
  closed).
- Fixes a crash-on-launch problem for some users
  in corporate environments.

Scripting
- Add Session.async_get_contents

SHA-256 of the zip file is
495f5643d5d6eb80a8eb2b96a57a37283a04ce68d9e770e025c2b8fb811abe5e
```

#### [iTerm2 3.3.5beta3 (OS 10.12+)](https://iterm2.com/downloads/beta/iTerm2-3_3_5beta3.zip)

This is the recommended beta build for most users.
Built on September 29, 2019.

[▾ Hide Changelog](<javascript:hideId('3756954851544446060')>)

```
iTerm2 version 3.3.5beta3

New Features
- New advanced pref to disable bottom line of
  tabbar for low-budget Minimal theme on 10.12 and
  10.13.
- New advanced pref to tweak the initial alpha
  value of flashing indicators, like the bell.
- New advanced pref to escape with quotes instead
  of backslashes for xonsh users.
- Add two new Applescript commands:
  1. invoke API function "f()"
  2. lauch API script with name "scriptname"
  This gives you a bridge to the modern world.
- New window style "Maximized" that is an
  always-maximized window.

Improvements
- Improve reliability of semantic history in
  interactive apps.
- Improve performance of splitting panes with
  Python API.
- Improve git state status bar component's ability
  to detect Xcode license-related issues that
  prevent it from using git.
- Replace "copy profile as JSON" with
  functionality that saves it to a file.
- Visual improvements to Prefs.
- Require user confirmation of downloads over 1
  gb.
- Various security improvements to the Python API:
  - Make it harder for a web browser to connect by
    requiring a special HTTP header.
  - Detect when two processes hold the file
    descriptor to the websocket and deny the
    connection.

Bug Fixes
- Fix a bug where you couldn't always write to a
  session after creating it in applescript.
- Fix a bug where secure copy drop targets were
  not visible when using the GPU renderer.
- Suport system preference for three-finger tap
  Quicklook.
- Fix incorrect tip of the day about compact
  window style, which was replaced by the compact
  theme.
- Fix rounding error in color picker.
- Fix various memory errors.
- Fix a bug where blinking text didn't redraw
  correctly when scrolled up with legacy renderer.

SHA-256 of the zip file is
4e0b6db7d5581307acb43dca3ce86be45e3515c8b340ca72a8f60e46af3376d4
```

#### [iTerm2 3.3.5beta2 (OS 10.12+)](https://iterm2.com/downloads/beta/iTerm2-3_3_5beta2.zip)

This is the recommended beta build for most users.
Built on September 22, 2019.

[▾ Hide Changelog](<javascript:hideId('6246843353820451011')>)

```
iTerm2 version 3.3.5beta2

This build uses the "hardened runtime", which makes the app
more secure. Hopefully, that doesn't break anything, but if
it does please file an issue at https://iterm2.com/bugs.

This build is also notarized so it will run on Catalina.

New Features
- You can now import and export key bindings from the
  Presets... menu under the list of key bindings.
- Add an advanced pref to allow paste history to work while
  secure keyboard entry is on.

Improvements
- Double-clicking on a profile in the panel shown when you
  do Shell > Split Horizontally/Vertically... will now split
  with that profile.
- Paste history, command history, and captured output
  toolbelt tools now use a fixed-pitch font.
- Show a warning in Paste History UIs that it is disabled
  when secure keyboard entry is on.
- Don't redraw the whole window every time the mouse moves.
- Update window and tab titles immediately after getting an
  OSC 0, 1, or 2 control sequence.
- Reduce CPU usage for miniaturized windows.
- Add "Stop Coprocess" to context menu.

Bug fixes
- Fix layout bug when resizing triggers window.
- Don't treat force touch as quicklook if disabled in system
  prefs.
- Fix a bug in rendering inline images that are a fixed
  number of cells tall.
- Fix the "broken pipe" divider, which rendered incorrectly.
- If you click on a selection, wait until mouse-up to remove
  it so it can be dragged.
- Fix a bug where the window buttons and window shortcut
  titlebar accessory remained visible after exiting native
  full screen.
- Fix a bug when performing two consecutive searches for
  URLs where the second search had no effect.
- Make text field first responder when opening "send command
  to tmux" window.

Scripting
- New APIs for coprocesses.
- [Scripting] Adds a 'title' variable to the tab scope that
  has the tab's actual title.

SHA-256 of the zip file is
65d109685f4c2b74099ce9f893241db85555d31de18a4da366c6b52d13ef8c5f
```

#### [iTerm2 3.3.5beta1 (OS 10.12+)](https://iterm2.com/downloads/beta/iTerm2-3_3_5beta1.zip)

This is the recommended beta build for most users.
Built on September 15, 2019.

[▾ Hide Changelog](<javascript:hideId('3575360957862414182')>)

```
iTerm2 version 3.3.5beta1

Improvements
- Clear the selection when the scroll wheel sends
  an arrow key.
- Improve performance of creating sessions with
  the Python API.
- Update the "xterm" keyboard presets to include
  control+function keys.
- tmux integration will now enable the "Session
  Name" title component by default when using the
  "tmux" profile.

Bug fixes
- Don't open files as URLs when you cmd-click a
  file in a network mount.
- Fix a bug where git commands invoked by clicking
  the git status bar component wouldn't work if
  there was a space in the path to iTerm2.
- Hide a gray line under the title bar that
  occasionally appears in native full screen
  windows with the minimal theme.
- Show the tab color in per-pane title bars.
- Fix a bug where the window shadow would
  disappear after exiting native full screen.
- Sometimes, "show next/previous tab" would appear
  as a grayed out menu item under Window. macOS
  kindly adds this at random for no discernable
  reason. It is no longer grayed out.
- The selection is now cleared on mouse-down.
- The local copy of the profile is no longer
  modified when the cursor shape is changed by a
  control sequence. This fixes a bug where
  splitting a window where the cursor shape had
  been changed caused the new session to have that
  cursor shape.
- Fix a race condition that caused the initial
  directory to sometimes be wrong when creating a
  bunch of new sessions quickly.

SHA-256 of the zip file is
8ed4effefa2e0d60a1b0abe8f122893ec6be5784c774031c0f2fc4e7e179a4be
```

#### [iTerm2 3.3.4beta1 (OS 10.12+)](https://iterm2.com/downloads/beta/iTerm2-3_3_4beta1.zip)

This is the recommended beta build for most users.
Built on September 8, 2019.

[▾ Hide Changelog](<javascript:hideId('8425236546314504299')>)

```
iTerm2 version 3.3.4beta1

New Features
- There's a new pref for whether you want to
  be asked to confirm quitting the app when there
  are no windows.

Improvements
- Infer current job name (for status bar, title
  bar, etc.) when using tmux integration locally.
- Append to automatic log output files by default,
  instead of replacing them.
- Search history is no longer opened by default
  when you type in a Find field. Press the down
  arrow to see your recent searches.
- Control sequences that set the window or icon
  title now cause that title to become visible.
- Preserve the exact dimensions of sixel images
  when possible.
- Translate italc to reverse video in tmux
  integration.
- The git status bar component now truncates long
  branch names instead of disappearing because
  it's too big to fit.
- Python API scripts are now run through the
  user's shell so they'll have the right PATH,
  in case they want to spawn subprocesses.
- Use dark appearance for scrollbars in minimal
  theme when the terminal background color is
  dark.
- When you create a tab with the Python API,
  iTerm2 will no longer get activated
  automatically.
- Add "disable status bar" to the status bar
  context menu.

Bug fixes
- Fix a 16-year-old bug: if you make a selection,
  switch apps, copy to the pasteboard, and then
  click in the terminal window the selected text
  in the terminal window got copied to the
  pasteboard causing you to lose what had been
  copied from the other app.
- Fix many crashes.
- Fix a bug where two custom status bar components
  or title providers could not run concurrently if
  their callbacks had the same signature.
- Fix a regression where control-| stopped sending
  control-backslash on Japenese keyboards.
- Fix flickering job name when using tmux
  integration locally.
- Show a context menu when right clicking on the
  titlebar in minimal or compact mode when there
  is no tab bar.
- Fix colors of graph-based status bar components
  in dark mode.
- Fix a crash when a shell integration-reported
  hostname has a leading dot or two consecutive
  dots in its name.
- Use the right color for the window shortcut
  number in minimal theme when the first tab is
  colored.
- Fix various rendering bugs with inline images in
  both the GPU and legacy renderers.
- Fix a bug where popping an icon or window title
  from the stack didn't always work.
- Fix a bug that caused hotkey windows to
  immediately hide after showing when two of them
  had the same shortcut.
- Fix GPU rendering of ASCII text when the font
  includes glyphs that spill outside their bounds
  to the left, like AnonymousPro.
- When stealing key focus is enabled, make the
  session that's receiving stolen keys first
  responder.
- Fix a bug where the cursor was advanced one
  position more than it should have been after
  showing an image.
- Fix a bug where resizing panes by the Window >
  Resize Split Pane menu items would not always
  work if the panes had different fonts.
- Don't expose the existence of the placeholder
  status bar component (used in empty status bars)
  in the context menu.

SHA-256 of the zip file is
5f2f7103fd821599433a27f0d2fcb5abaab41a3d009a057a63fb6ceaaad89ce4
```

#### [iTerm2 3.3.3beta2 (OS 10.12+)](https://iterm2.com/downloads/beta/iTerm2-3_3_3beta2.zip)

This is the recommended beta build for most users.
Built on August 25, 2019.

[▾ Hide Changelog](<javascript:hideId('4725849698337290693')>)

```
iTerm2 version 3.3.3beta2

New Features
- Holding Option while dragging a tab now drags
  the window. This makes it easier to move windows
  in the Minimal and Compact themes.

Improvements
- The hostname status bar component now has the
  ability to abbreviate the local host name to a
  configurable string.
- Make uploading files with it2ul much faster.
- More process -> icon mappings.
- "Split Horizontally/Vertically" in the context
  menu reuses the session's profile rather than
  always using the default profile.
- The default tabstops are now configurable in
  advanced prefs.
- There's a new advanced pref to use black for the
  filler color in tmux integration for full screen
  windows.
- Increased the timeout for the git status bar
  component to four seconds.
- Selection is not cleared on mouse-up any more.
  When clicking on an inactive window, the
  selection will not be removed.

Bug fixes
- Fix some memory leaks.
- Fix a bug where a window would be covered with
  an opaque rectangle after exiting full screen.
- Fix a bug where the flashing full-screen tab bar
  would leave behind an opaque rectangle.
- Enforce a minimum left-side tabbar width so
  stoplight buttons and window shortcut will fit.
- Fix a bug where selecting case-insensitive regex
  in search would incorrectly put a checkmark next
  to "erase search history."
- Fix a bug where the working directory wasn't
  detected if insecure control sequences were
  disabled.
- Fix a bug where a full screen window in tmux
  integration with legacy scroll bars enabled
  would have an empty margin on the right.
- Fix a crash when showing a hotkey from a full
  screen window.
- Fix various hard-to-reproduce crashes.
- Fix a bug where blinking text might not always
  blink.

SHA-256 of the zip file is
aca17c29b3e1d6be83e2492d636f11a8e8563b0094b12ffe24e93aad2cc7b799
```

#### [iTerm2 3.3.3beta1 (OS 10.12+)](https://iterm2.com/downloads/beta/iTerm2-3_3_3beta1.zip)

This build fixes a security issue. All beta users should upgrade.
Built on August 18, 2019.

[▾ Hide Changelog](<javascript:hideId('7717128170087364172')>)

```
iTerm2 version 3.3.3beta1

New Features

Improvements
- Tweak insets of stoplight buttons.
- Performance improvement for non-GPU renderer.
- You can now move tmux windows between sessions
  in the tmux dashboard by holding Opt while
  dragging.
- Change the default title to show the job.
- Replace control characters in titles with
  caret+letter instead of ?.
- Make dark high contrast theme more readable for
  people with poor eyesight.
- Allow top-of-screen hotkey windows to overlap
  the menu bar.

Bug fixes
- Fix crashes.
- Fix a bug where secure keyboard entry is not
  enabled immediately after the app launches. It
  was enabled the first time iTerm2 was activated
  or the menu was opened.
- Fixes crashes.
- Improve escaping of URLs in smart selection
  actions.
- Fix escaping of tildes in secure copy paths.
- Fix a bug where "set name" in Applescript didn't
  work.
- Fix a bug where double-clicking a window's
  shortcut label didn't work to zoom when there
  was no tabbar in minimal/compact.
- Flashing tabs in full screen was broken. Fixed.
- Fix an exception in Python when fetching a
  profile with a hotkey with control characters.
- Fix a bug where the coordinates in
  the AddHiddenAnnotation control sequence were
  not respsected.

SHA-256 of the zip file is
95b35d949cfa249f9f09ebe3e36ab125fc4f5e3705711e21e9f8f106488d8b32
```

#### [iTerm2 3.3.2beta2 (OS 10.12+)](https://iterm2.com/downloads/beta/iTerm2-3_3_2beta2.zip)

This is the recommended beta build for most users.
Built on August 11, 2019.

[▾ Hide Changelog](<javascript:hideId('35700547528165712')>)

```
iTerm2 version 3.3.2beta2

New Features
- Custom status bar components can now show an
  "unread count".
- Custom status bar components can now provide an
  icon.

Improvements
- Status bar setup window size increased.
- Help button added to status bar setup window.
- Improve reliability of detecting the current
  directory.
- Improve colors of tabs in Dark (High Contrast)
  theme.
- Initialize username and hostname variables from
  $$USER$$ and $$HOST$$.
- Change color of filler area in tmux integration
  to look better with status bars.
- When a window has a single tab and the theme is
  minimal and the tabbar is shown treat dragging
  the tab as dragging the window.

Bug fixes
- Fix a bug where underlined text has wrong colors
  when the GPU renderer was on for 2015+ iMacs.
- Fix a bug where restoring a saved arrangement
  with a hotkey window could leave you with a
  transparent window.
- Fix a bug where using $$ macros in profile names
  didn't always work.
- Fix handling telnet: URLs with ports.
- Fix a bug where underlines on non-ascii text
  could have the wrong offset or thickness.
- Fix a bug where a session titlebar's label could
  have the wrong background color.
- Respect soft boundaries for determining the
  "before" and "after" text reported by semantic
  history, since they are respected for finding
  file names/URLs.
- Fix a bug where the Composer status bar
  component's popover would have white-on-white
  text on macOS 10.12 and 10.13.
- Fix a bug where a restored session's cursor
  would be on the same line as the the "session
  restored" banner.
- Fix a bug where Find stops working after moving
  a session into a split pane when there is a
  status bar.
- When entering non-native fullscreen, don't
  auto-hide the dock if it's not on the same
  screen as the window.
- Fix a bug where windows jump to the first screen
  when entering or exiting full screen mode and
  the theme is Minimal or Compact.
- Fix a bug where a floating hotkey window appears
  beneath other apps' fullscreen windows after
  toggling full screen.

SHA-256 of the zip file is
fd4754bc7428c7c2efd8dd1ecb34efdf897608254f2a2a1f72ca171f0b74b225
```

#### [iTerm2 3.3.2beta1 (OS 10.12+)](https://iterm2.com/downloads/beta/iTerm2-3_3_2beta1.zip)

This is the recommended beta build for most users.
Built on August 6, 2019.

[▾ Hide Changelog](<javascript:hideId('5968081657788731151')>)

```
iTerm2 version 3.3.2beta1

Improvements
- Keep the "current directory" status bar
  component up to date in tmux integration.
- Add setting to control whether the native or
  tmux status bar is used in tmux integration
  mode.
- Adds a "number" variable to the window scope.
- Show the tab title or tmux window name in the
  Open Quickly UI when it difers from the session
  name.
- Add an advanced pref to tweak the size of the
  window dragging area in minimal and compact
  windows.
- Don't offer to reset paste bracketing/mouse
  mode when the username changes but the hostname
  does not.
- Changes to the status bar are now applied
  immediately. Cancel undoes them.

Bug fixes
- Fix a bug where automatic log files had the
  wrong tab number in the filename.
- Fix a bug where exiting full screen after
  changing the theme could leave some junk behind
  where the title bar was.
- Python scripts that set a variable without
  changing its value will no longer raise an
  exception.
- Fix a bug where the window size after exiting
  non-native full screen was different than before
  entering it.
- Fix a bug where a non-native fullscreen window
  didn't go all the way to the top of the screen.
- Update the session "path" variable when the
  working directory is updated (when shell
  integration is not installed).
- Fix a bug where a window could not be made full
  screen twice when native full screen is enabled
  and the app is excluded from the dock.

SHA-256 of the zip file is
4b90b5c1a494ab203aa1a22632bb989d66a3c9f9544e50dff2153b8e8b902c93
```

#### [iTerm2 3.3.1beta1 (OS 10.12+)](https://iterm2.com/downloads/beta/iTerm2-3_3_1beta1.zip)

This is the recommended beta build for most users.
Built on August 4, 2019.

[▾ Hide Changelog](<javascript:hideId('4241977937436782598')>)

```
iTerm2 version 3.3.1beta1

Improvements
- Change wording of setting to choose beta
  channel.
- Show bezels in text fields in advanced prefs.
- Add support for C1 control codes when the
  encoding is ASCII or Latin-1.
- Show window size in overlay view when there is
  no title bar.

Bug Fixes
- Fix a bug where closing a native fullscreen
  window would cause a new window to be created
- Make floating panel hotkey windows overlap the
  menu bar.
- Fix a bug where opening the open quickly window
  would hide the hotkey window.
- Fix a bug where opening the set tab title panel
  in a floating hotkey window when another app is
  active causes the window to disappear.
- Make the git status bar component more reliable.
- Fix a crash when changing the theme.
- Don't crash when badge height set to 0.
- Fix a bug where the badge might render at the
  wrong size after adjusting its max size in
  settings.

SHA-256 of the zip file is
5b0b03de5dc2ef2ce5e35f4e269b625ce72e6be66fb33857b594cb95af483889
```

#### [iTerm2 3.3.0beta16 (OS 10.12+)](https://iterm2.com/downloads/beta/iTerm2-3_3_0beta16.zip)

This is the recommended beta build for most users.
Built on July 28, 2019.

[▾ Hide Changelog](<javascript:hideId('7930100750511011362')>)

```
iTerm2 version 3.3.0beta16

This is a release candidate for 3.3.0.

Improvements
- Use Menlo in advanced paste and in the notes
  tool.
- Use visual effect views in popup windows
  (autocomplete, paste history, etc.)
- Show tmux window title in the window title by
  default (and not only in tabs).
- Various visual improvements.

Bug Fixes
- Fix a longstanding bug where the cursor was in
  the wrong place after restoring a session.
- Disable rich text in advanced paste.
- Fix a bug where the dock could overlap a hotkey
  window.
- Fix a bug where hotkey windows might not appear
  when the find bar is open.
- Fix a bug where the window.style variable was
  not updated when exiting full screne.
- Ensure the Scripts directory exists before
  importing a script.
- Prevent various crashes.

SHA-256 of the zip file is
cb272d1ad078770c1487d73557e8300a243650cf7bae06d1335f9a8b3621fb4e
```

#### [iTerm2 3.3.0beta15 (OS 10.12+)](https://iterm2.com/downloads/beta/iTerm2-3_3_0beta15.zip)

This is the recommended beta build for most users.
Built on July 21, 2019.

[▾ Hide Changelog](<javascript:hideId('1926334545482115253')>)

```
iTerm2 version 3.3.0beta15

NOTE: beta 14 had a serious crashing bug and was
very short-lived. If you're on auto-update, you
may have missed it. Its change log is provided
below.

Improvements
- Add a "style" variable to the window scope,
  exposing its style (full screen, regular, etc.).
- Visual improvements to advanced prefs.
- Add support for scripts to subscribe to variable
  changes in all windows.

Bug Fixes
- Fix a crash when exiting full screen.
- Fix vertical alignment of box-drawing
  characters in GPU renderer when vertical spacing
  is not set to 100.
- Fix vertical alignment of images in GPU
  renderer.
- Fix height of vertical bar cursor in GPU
  renderer when vertical spacing is not 100.

iTerm2 version 3.3.0beta14

Improvements
- Allow Highlight triggers with "Instant" enabled
  to fire more than once per line.
- Add a profile preference to disable paste
  bracketing.
- Keep the git status bar component from using
  gobs of CPU and memory when you have an enormous
  repo.
- Visual improvements window border.
- Allow hotkey window to overlap the dock.
- When semantic history is configured to run a
  command and the command fails, you can now see
  the output.
- In tmux integration if a window's title is empty
  show the active session's name in the tab.
- Add an option to log Automatic Profile Switching
  messages to the scripting console.

Bug Fixes
- The Python API can now split a session that has
  terminated.
- Fix various CSI u bugs.
- Fix bugs where the cursor was in the wrong place
  after restoring a session.
- Fix a bug where downloading multiple files by
  scp would fail.
- Fix a bug where the hotkey window could overlap
  the menu bar.
- Fix crashes.
- Fix a bug where you couldn't add multiple status
  bar components in Catalina.
- Fix a bug where the font picker would have too
  large a right inset when legacy scrollbars are
  in use.
- Fix a bug where the initial working directory
  wasn't detected until you pressed a key.
- Fix a bug where the wrong command got added to
  command history when you use tab completion in
  tcsh.
- Fix a bug when switching from regular to compact
  or minimal in a window with at least two tabs
  where the titlebar gets stuck on.

Things Made Worse
- The shorcut for "Zoom" (making a window fill the
  screen) changed to Cmd-Shift-0. macOS forces it
  to take this value on some machines. Better to
  be consistent. Sorry for breaking your workflow.
  I blame Apple.

SHA-256 of the zip file is
f82b0930afdf3aa18740ea59e899924317f45f1b807d22af3342f4109e8111b8
```

#### [iTerm2 3.3.0beta14 (OS 10.12+)](https://iterm2.com/downloads/beta/iTerm2-3_3_0beta14.zip)

This is the recommended beta build for most users.
Built on July 20, 2019.

[▾ Hide Changelog](<javascript:hideId('8077463659882781692')>)

```
iTerm2 version 3.3.0beta13

Improvements
- Allow Highlight triggers with "Instant" enabled
  to fire more than once per line.
- Add a profile preference to disable paste
  bracketing.
- Keep the git status bar component from using
  gobs of CPU and memory when you have an enormous
  repo.
- Visual improvements window border.
- Allow hotkey window to overlap the dock.
- When semantic history is configured to run a
  command and the command fails, you can now see
  the output.
- In tmux integration if a window's title is empty
  show the active session's name in the tab.
- Add an option to log Automatic Profile Switching
  messages to the scripting console.

Bug Fixes
- The Python API can now split a session that has
  terminated.
- Fix various CSI u bugs.
- Fix bugs where the cursor was in the wrong place
  after restoring a session.
- Fix a bug where downloading multiple files by
  scp would fail.
- Fix a bug where the hotkey window could overlap
  the menu bar.
- Fix crashes.
- Fix a bug where you couldn't add multiple status
  bar components in Catalina.
- Fix a bug where the font picker would have too
  large a right inset when legacy scrollbars are
  in use.
- Fix a bug where the initial working directory
  wasn't detected until you pressed a key.
- Fix a bug where the wrong command got added to
  command history when you use tab completion in
  tcsh.
- Fix a bug when switching from regular to compact
  or minimal in a window with at least two tabs
  where the titlebar gets stuck on.

Things Made Worse
- The shorcut for "Zoom" (making a window fill the
  screen) changed to Cmd-Shift-0. macOS forces it
  to take this value on some machines. Better to
  be consistent. Sorry for breaking your workflow.
  I blame Apple.

SHA-256 of the zip file is
b1e44b01ff1a52d4bf6111554e7d67daa1ce31b5a34f01a376e2cb6aae0758e5
```

#### [iTerm2 3.3.0beta13 (OS 10.12+)](https://iterm2.com/downloads/beta/iTerm2-3_3_0beta13.zip)

This is the recommended beta build for most users.
Built on June 22, 2019.

[▾ Hide Changelog](<javascript:hideId('8162395483409290615')>)

```
iTerm2 version 3.3.0beta13

Improvements
- Visual improvements to minimal theme on
  non-retina displays.
- Update libssh2 to version 1.9.0.

Bug Fixes
- Fix some crashes.

-------------------------------------------------

Release notes for 3.3.0:

New Features

- A Python scripting API has been added to enable
  extensive configuration and customization. See
  https://iterm2.com/python-api for details.
- A scriptable status bar has been added with 12
  built-in configurable components.
- A new "Minimal" theme has been added to reduce
  visual clutter.
- A new window type of "Compact" combines the tab
  bar and title bar.
- Session, tab, and window titles have been
  revamped to be more flexible and comprehensible.
  You can now configure them separately and select
  what information is shown per profile. They are
  integrated with the new Python scripting API.
- Tabs may now have icons: either an icon
  indicating the running app, or a fixed icon per
  profile.
- The display of Sixel images is now supported.
- Add menu item to arrange split panes evenly. In
  tmux, this uses the tiled layout.
- Greatly improved support for background images:
  they may now span split panes and you can adjust
  how they are scaled to avoid stretching.
- Add support for reporting keystrokes with CSI u.
- New type of trigger added that turns text into a
  hyperlink.
- New type of trigger added that adds annotations
  to the matching text.
- You can now export a recording of your screen
  from the Instant Replay panel.
- A new toolbelt tool, Actions, provides shortcuts
  to frequent actions like sending a snippet of
  text.
- You can now search preferences. There's a search
  bar in the top right of the window.
- Add a new utility, "it2git", which allows the
  git status bar component to show git state on a
  remote host. Install the utilities and then view
  ~/.iterm2/it2git for further instructions.
- Add touch bar mitigations: haptic feedback, key
  click, and blink cursor when touching esc.
- Replace the system font picker with an easier to
  use custom one.
- Search now remembers your 10 most recent queries
  and offers them as suggestions.
- Adds support for crossed-out text (SGR 9)
- Add support for automatically restarting a
  session when it ends.

Other Improvements

- Numerous visual improvements.
- Update app icon.
- You can now change the color preset from the
  Open Quickly window.
- Added an advanced pref for the height of the
  underline cursor.
- The state of various terminal emulation flags is
  now exposed in Session > Terminal State.
- Remove the bell icon from tabs more
  aggressively.
- Various pages of preferences have been
  rearranged to make more sense or be more
  visually pleasing.
- A new menu item lets you configure cmd-+ and
  cmd-- to adjust the underlying profile rather
  than only the current session.
- By default the tab bar now stretches to fill the
  available width so it looks more like a native
  tab bar. You can change this in Prefs >
  Appearance.
- Add a new proprietary control sequence to bounce
  the app icon only one time.
- Add support for setting the proxy icon by
  control sequence.
- Add support for broadcasting passwords to
  multiple sessions from the password manager. Off
  by default.
- Update "Terminal.app Compatibility" key mapping
  for option left and right arrows.
- Add support for natively drawn Powerline glyphs,
  allowing you to use any font and still get the
  fancy arrows. They also align properly with
  other elements, which the Powerline fonts do not
  always do.
- Cmd-clicking on filename[line,column] will now
  open the file to the specified line and column.
- Add "use transparency" as a profile setting for
  newly created windows.
- Adjust how underlines are drawn to have a more
  correct baseline offset.
- Add an advanced pref to swap find next/find
  previous behavior (since the default does not
  conform to macOS norms)
- Buttons in modal alerts now all have keyboard
  shortcuts.
- The default scheme for URLs when you cmd-click
  is now https rather than http. You can change it
  with an advanced pref.
- Sparkle updates now use EdDSA signatures. DSA
  signatures will be gradually phased out.
- Add an advanced preference to show a hint with
  split pane direction in menu items.
- Add an option to preserve window size when tab
  bar shows or hides
- You can now use the password manager when
  entering a password for secure copy.
- Adds support for the DECRQM control sequence.
- Performance improvements for long scrollback
  history.
- iTerm reports itself as a VT200 supporting
  Sixel in response to DA1.
- Doesn't block the main thread when checking if the
  text under the cursor is an existing file.
- Avoid blocking the main thread when creating a
  new session.
- Performance improvements for box drawing
  characters when not using GPU renderer.
- Performance improvements for opening long lists
  of color presets.
- Change natural text editing keyboard preset to
  include cmd-left and cmd-right.
- Work around a bug in tmux 2.9 that would crash
  the tmux server when changing panes.
- When the current tab is closed select the one to
  its right, like standard macOS tabs.
- Work around a macOS quirk where the equals sign
  on the numeric keypad is not treated as a
  numeric keypad key.
- When tabs are very narrow, prefer to show the
  tab label over the new-output/bell icon.
- Add an advanced setting to handle spacing
  combining marks properly ("Detect base unicode
  characters with lookup table").
- Respect System "Prefs>Dock>Prefer tabs when
  opening documents".
- Reduce default fast paste speed.
- Revamp titles in tmux integration mode. Pane
  titles and window names are now distinct when
  using tmux 2.6 or later. set-titles and
  set-titles-string is now respected. 

SHA-256 of the zip file is
f195980e4602b6842e3d112de45acfdac51c8230180ee93866ebc4938f69b41f
```

#### [iTerm2 3.3.0beta12 (OS 10.12+)](https://iterm2.com/downloads/beta/iTerm2-3_3_0beta12.zip)

This is the recommended beta build for most users.
Built on June 16, 2019.

[▾ Hide Changelog](<javascript:hideId('1841386721939606426')>)

```
iTerm2 version 3.3.0beta12

Improvements
- Revamp titles in tmux integration mode. Pane
  titles and window names are now distinct when
  using tmux 2.6 or later. set-titles and
  set-titles-string is now respected. 
- Draw window borders on macOS 10.14 when using
  the light theme.

Bug Fixes
- Fix a crash on macOS 10.15 beta
- Don't draw line under tabbar when there is a
  transparent title bar.
- Fix a bug where sessions would resize briefly
  when the tabbar shows or hides.
- Fix order of parameters for function keys in CSI
  u mode.
- Handle report user/hostname trigger correctly
  when the username includes and at sign.

-------------------------------------------------

Release notes for 3.3.0:

New Features

- A Python scripting API has been added to enable
  extensive configuration and customization. See
  https://iterm2.com/python-api for details.
- A scriptable status bar has been added with 12
  built-in configurable components.
- A new "Minimal" theme has been added to reduce
  visual clutter.
- A new window type of "Compact" combines the tab
  bar and title bar.
- Session, tab, and window titles have been
  revamped to be more flexible and comprehensible.
  You can now configure them separately and select
  what information is shown per profile. They are
  integrated with the new Python scripting API.
- Tabs may now have icons: either an icon
  indicating the running app, or a fixed icon per
  profile.
- The display of Sixel images is now supported.
- Add menu item to arrange split panes evenly. In
  tmux, this uses the tiled layout.
- Greatly improved support for background images:
  they may now span split panes and you can adjust
  how they are scaled to avoid stretching.
- Add support for reporting keystrokes with CSI u.
- New type of trigger added that turns text into a
  hyperlink.
- New type of trigger added that adds annotations
  to the matching text.
- You can now export a recording of your screen
  from the Instant Replay panel.
- A new toolbelt tool, Actions, provides shortcuts
  to frequent actions like sending a snippet of
  text.
- You can now search preferences. There's a search
  bar in the top right of the window.
- Add a new utility, "it2git", which allows the
  git status bar component to show git state on a
  remote host. Install the utilities and then view
  ~/.iterm2/it2git for further instructions.
- Add touch bar mitigations: haptic feedback, key
  click, and blink cursor when touching esc.
- Replace the system font picker with an easier to
  use custom one.
- Search now remembers your 10 most recent queries
  and offers them as suggestions.
- Adds support for crossed-out text (SGR 9)
- Add support for automatically restarting a
  session when it ends.

Other Improvements

- Numerous visual improvements.
- Update app icon.
- You can now change the color preset from the
  Open Quickly window.
- Added an advanced pref for the height of the
  underline cursor.
- The state of various terminal emulation flags is
  now exposed in Session > Terminal State.
- Remove the bell icon from tabs more
  aggressively.
- Various pages of preferences have been
  rearranged to make more sense or be more
  visually pleasing.
- A new menu item lets you configure cmd-+ and
  cmd-- to adjust the underlying profile rather
  than only the current session.
- By default the tab bar now stretches to fill the
  available width so it looks more like a native
  tab bar. You can change this in Prefs >
  Appearance.
- Add a new proprietary control sequence to bounce
  the app icon only one time.
- Add support for setting the proxy icon by
  control sequence.
- Add support for broadcasting passwords to
  multiple sessions from the password manager. Off
  by default.
- Update "Terminal.app Compatibility" key mapping
  for option left and right arrows.
- Add support for natively drawn Powerline glyphs,
  allowing you to use any font and still get the
  fancy arrows. They also align properly with
  other elements, which the Powerline fonts do not
  always do.
- Cmd-clicking on filename[line,column] will now
  open the file to the specified line and column.
- Add "use transparency" as a profile setting for
  newly created windows.
- Adjust how underlines are drawn to have a more
  correct baseline offset.
- Add an advanced pref to swap find next/find
  previous behavior (since the default does not
  conform to macOS norms)
- Buttons in modal alerts now all have keyboard
  shortcuts.
- The default scheme for URLs when you cmd-click
  is now https rather than http. You can change it
  with an advanced pref.
- Sparkle updates now use EdDSA signatures. DSA
  signatures will be gradually phased out.
- Add an advanced preference to show a hint with
  split pane direction in menu items.
- Add an option to preserve window size when tab
  bar shows or hides
- You can now use the password manager when
  entering a password for secure copy.
- Adds support for the DECRQM control sequence.
- Performance improvements for long scrollback
  history.
- iTerm reports itself as a VT200 supporting
  Sixel in response to DA1.
- Doesn't block the main thread when checking if the
  text under the cursor is an existing file.
- Avoid blocking the main thread when creating a
  new session.
- Performance improvements for box drawing
  characters when not using GPU renderer.
- Performance improvements for opening long lists
  of color presets.
- Change natural text editing keyboard preset to
  include cmd-left and cmd-right.
- Work around a bug in tmux 2.9 that would crash
  the tmux server when changing panes.
- When the current tab is closed select the one to
  its right, like standard macOS tabs.
- Work around a macOS quirk where the equals sign
  on the numeric keypad is not treated as a
  numeric keypad key.
- When tabs are very narrow, prefer to show the
  tab label over the new-output/bell icon.
- Add an advanced setting to handle spacing
  combining marks properly ("Detect base unicode
  characters with lookup table").
- Respect System "Prefs>Dock>Prefer tabs when
  opening documents".
- Reduce default fast paste speed.

SHA-256 of the zip file is
bf6a5a8df5d6f8492d53eaecfab201b45b659e63b456cbd7694f0b8f85ffd73b
```

#### [iTerm2 3.3.0beta11 (OS 10.12+)](https://iterm2.com/downloads/beta/iTerm2-3_3_0beta11.zip)

This is the recommended beta build for most users.
Built on June 9, 2019.

[▾ Hide Changelog](<javascript:hideId('2952032781149401655')>)

```
iTerm2 version 3.3.0beta11

Improvements
- Git status bar component can now indicate the
  presence of unstaged adds and deletions.
- Add link to help page describing date format
  strings for clock status bar component.
- Disregard system prefs > dock > prefer tabs
  setting by default. Adds an advanced pref to
  allow it to be used.

Bug Fixes
- Change how events are reported to Python scripts
  so that focus changes will be reported after
  layout changes so that focus change monitors
  will have up-to-date layout info.
- Fix a bug where double-clicking on the tab bar
  near the last tab would open the tab name
  dialog.
- Ignore the shift key when using a shortcut that
  includes the shift key to zoom the window.
  Normally the shift key forces zoom vertically
  only.
- Fix a bug where pressing a modifier key between
  clicks of a double-click caused the selection to
  be erased.

-------------------------------------------------

Release notes for 3.3.0:

New Features

- A Python scripting API has been added to enable
  extensive configuration and customization. See
  https://iterm2.com/python-api for details.
- A scriptable status bar has been added with 12
  built-in configurable components.
- A new "Minimal" theme has been added to reduce
  visual clutter.
- A new window type of "Compact" combines the tab
  bar and title bar.
- Session, tab, and window titles have been
  revamped to be more flexible and comprehensible.
  You can now configure them separately and select
  what information is shown per profile. They are
  integrated with the new Python scripting API.
- Tabs may now have icons: either an icon
  indicating the running app, or a fixed icon per
  profile.
- The display of Sixel images is now supported.
- Add menu item to arrange split panes evenly. In
  tmux, this uses the tiled layout.
- Greatly improved support for background images:
  they may now span split panes and you can adjust
  how they are scaled to avoid stretching.
- Add support for reporting keystrokes with CSI u.
- New type of trigger added that turns text into a
  hyperlink.
- New type of trigger added that adds annotations
  to the matching text.
- You can now export a recording of your screen
  from the Instant Replay panel.
- A new toolbelt tool, Actions, provides shortcuts
  to frequent actions like sending a snippet of
  text.
- You can now search preferences. There's a search
  bar in the top right of the window.
- Add a new utility, "it2git", which allows the
  git status bar component to show git state on a
  remote host. Install the utilities and then view
  ~/.iterm2/it2git for further instructions.
- Add touch bar mitigations: haptic feedback, key
  click, and blink cursor when touching esc.
- Replace the system font picker with an easier to
  use custom one.
- Search now remembers your 10 most recent queries
  and offers them as suggestions.
- Adds support for crossed-out text (SGR 9)
- Add support for automatically restarting a
  session when it ends.

Other Improvements

- Numerous visual improvements.
- Update app icon.
- You can now change the color preset from the
  Open Quickly window.
- Added an advanced pref for the height of the
  underline cursor.
- The state of various terminal emulation flags is
  now exposed in Session > Terminal State.
- Remove the bell icon from tabs more
  aggressively.
- Various pages of preferences have been
  rearranged to make more sense or be more
  visually pleasing.
- A new menu item lets you configure cmd-+ and
  cmd-- to adjust the underlying profile rather
  than only the current session.
- By default the tab bar now stretches to fill the
  available width so it looks more like a native
  tab bar. You can change this in Prefs >
  Appearance.
- Add a new proprietary control sequence to bounce
  the app icon only one time.
-
```


