Skip to content

dive/ghostty-tip-changelog

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

615 Commits
 
 
 
 
 
 
 
 

Repository files navigation

Tip

Subscribe to Releases: In GitHub, use Watch -> Custom -> Releases for this repository to get a daily notification with the previous day's Ghostty tip changes.

Note

This changelog summarizes Ghostty tip nightly builds. It is auto-updated every 3 hours by GitHub Actions and shows a rolling 7-day window by default.

Entries are grouped by UTC day and combine commits across all successful runs for each day.

Last updated: May 6, 2026 at 15:46 UTC.

May 5, 2026

Runs: 1, 2
Summary: 2 runs • 7 commits • 5 authors

Changes

  • 248df8e docs(input): document copy_to_clipboard arguments (@claude)
  • b1b0174 docs(input): document navigate_search arguments (@claude)
  • df44c6d docs(input): document close_tab arguments (@claude)
  • 5874ce6 Apply suggestions from code review (@bo2themax)
  • f9a9d33 docs(input): add documentation for missing action parameters (#12579) (@00-kat)
    ### AI Disclosure
    
    Claude generated all the commits, I reviewed it and created this PR
    
  • 81e399c build(deps): bump cachix/install-nix-action from 31.10.5 to 31.10.6 (@dependabot[bot])
    Bumps [cachix/install-nix-action](https://github.com/cachix/install-nix-action) from 31.10.5 to 31.10.6.
    - [Release notes](https://github.com/cachix/install-nix-action/releases)
    - [Changelog](https://github.com/cachix/install-nix-action/blob/master/RELEASE.md)
    - [Commits](https://github.com/cachix/install-nix-action/compare/ab739621df7a23f52766f9ccc97f38da6b7af14f...8aa03977d8d733052d78f4e008a241fd1dbf36b3)
    
    ---
    updated-dependencies:
    - dependency-name: cachix/install-nix-action
      dependency-version: 31.10.6
      dependency-type: direct:production
      update-type: version-update:semver-patch
    ...
    
  • ac48a9b build(deps): bump cachix/install-nix-action from 31.10.5 to 31.10.6 (#12584) (@jcollie)
    Bumps
    [cachix/install-nix-action](https://github.com/cachix/install-nix-action)
    from 31.10.5 to 31.10.6.
    <details>
    <summary>Release notes</summary>
    <p><em>Sourced from <a
    href="https://github.com/cachix/install-nix-action/releases">cachix/install-nix-action's
    releases</a>.</em></p>
    <blockquote>
    <h2>v31.10.6</h2>
    <h2>What's Changed</h2>
    <ul>
    <li>nix: 2.34.6 -&gt; 2.34.7 by <a
    href="https://github.com/github-actions"><code>@​github-actions</code></a>[bot]
    in <a
    href="https://redirect.github.com/cachix/install-nix-action/pull/275">cachix/install-nix-action#275</a>
    <strong><a
    href="https://github.com/NixOS/nix/security/advisories/GHSA-vh5x-56v6-4368">GHSA-vh5x-56v6-4368</a></strong>:
    Fixes a coroutine stack-to-heap overflow via unbounded recursion in the
    NAR directory parser. <strong>Severity: High.</strong>
    <strong><a
    href="https://github.com/NixOS/nix/security/advisories/GHSA-gr92-w2r5-qw5p">GHSA-gr92-w2r5-qw5p</a></strong>:
    Fixes an absolute path traversal vulnerability when unpacking archives
    to disk. Severity: Moderate.</li>
    </ul>
    <p><strong>Full Changelog</strong>: <a
    href="https://github.com/cachix/install-nix-action/compare/v31...v31.10.6">https://github.com/cachix/install-nix-action/compare/v31...v31.10.6</a></p>
    </blockquote>
    </details>
    <details>
    <summary>Commits</summary>
    <ul>
    <li><a
    href="https://github.com/cachix/install-nix-action/commit/8aa03977d8d733052d78f4e008a241fd1dbf36b3"><code>8aa0397</code></a>
    Merge pull request <a
    href="https://redirect.github.com/cachix/install-nix-action/issues/275">#275</a>
    from cachix/create-pull-request/patch</li>
    <li><a
    href="https://github.com/cachix/install-nix-action/commit/21d0b780f08a47ae2baf9814c722ef3884db92aa"><code>21d0b78</code></a>
    nix: 2.34.6 -&gt; 2.34.7</li>
    <li>See full diff in <a
    href="https://github.com/cachix/install-nix-action/compare/ab739621df7a23f52766f9ccc97f38da6b7af14f...8aa03977d8d733052d78f4e008a241fd1dbf36b3">compare
    view</a></li>
    </ul>
    </details>
    <br />
    
    
    [![Dependabot compatibility
    score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=cachix/install-nix-action&package-manager=github_actions&previous-version=31.10.5&new-version=31.10.6)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)
    
    Dependabot will resolve any conflicts with this PR as long as you don't
    alter it yourself. You can also trigger a rebase manually by commenting
    `@dependabot rebase`.
    
    [//]: # (dependabot-automerge-start)
    [//]: # (dependabot-automerge-end)
    
    ---
    
    <details>
    <summary>Dependabot commands and options</summary>
    <br />
    
    You can trigger Dependabot actions by commenting on this PR:
    - `@dependabot rebase` will rebase this PR
    - `@dependabot recreate` will recreate this PR, overwriting any edits
    that have been made to it
    - `@dependabot show <dependency name> ignore conditions` will show all
    of the ignore conditions of the specified dependency
    - `@dependabot ignore this major version` will close this PR and stop
    Dependabot creating any more for this major version (unless you reopen
    the PR or upgrade to it yourself)
    - `@dependabot ignore this minor version` will close this PR and stop
    Dependabot creating any more for this minor version (unless you reopen
    the PR or upgrade to it yourself)
    - `@dependabot ignore this dependency` will close this PR and stop
    Dependabot creating any more for this dependency (unless you reopen the
    PR or upgrade to it yourself)
    
    
    </details>
    

May 4, 2026

Runs: 1
Summary: 1 runs • 4 commits • 2 authors

Changes

  • 28767f6 deps: Update iTerm2 color schemes (@mitchellh)
  • c20fcfa Fix zero-width grapheme attachment during pending wrap (@noib3)
    This PR fixes an issue where a zero-width combining mark could attach to
    the wrong cell when the preceding character was written in the final
    column and the cursor had a pending wrap.
    
  • c2c0901 Update iTerm2 colorschemes (#12562) (@mitchellh)
    Upstream release:
    https://github.com/mbadolato/iTerm2-Color-Schemes/releases/tag/release-20260427-153600-5e4d1de
    
  • 563b085 Fix zero-width grapheme attachment during pending wrap (#12581) (@mitchellh)
    This PR fixes an issue where a zero-width combining mark could attach to
    the wrong cell when the preceding character was written in the final
    column and the cursor had a pending wrap.
    
    The test I added used to fail before the fix, but it passes now.
    

May 3, 2026

Runs: 1
Summary: 1 runs • 1 commits • 1 authors

Changes

  • 1547dd6 Update VOUCHED list (#12564) (@ghostty-vouch[bot])
    Triggered by [discussion
    comment](https://github.com/ghostty-org/ghostty/discussions/12563#discussioncomment-16793038)
    from @jcollie.
    
    Vouch: @agoodkind
    

May 2, 2026

Runs: 1, 2
Summary: 2 runs • 8 commits • 4 authors

Changes

  • d60a16c macos: avoid replaying keys that commit preedit (@knu)
    Refs #10460
    Related: #12518
    
    When an input method commits all or part of marked text during keyDown,
    AppKit returns the committed text through insertText. Treat that as
    text committed by the input method instead of replaying the original key
    event to the terminal.
    
    Previously this path only handled arrow-key commits specially. A
    control-key shortcut that commits preedit text could still be encoded as
    the original control input after composition, such as ctrl+j becoming LF.
    
    Send committed preedit text as a text-only event for any key that causes
    the commit. Only replay arrow navigation keys that the existing Korean
    IME handling expects, and keep plain left-arrow suppressed because AppKit
    already leaves the caret in place.
    
    AI usage: OpenAI Codex helped investigate, implement, test, and refine
    this change. I reviewed and tested the resulting code.
    
  • a971bf1 libghostty-vt: support building nix derivation on darwin (@sandydoo)
  • 9df670c build: skip unnecessary steps for libghostty-vt (@sandydoo)
  • d17e551 libghostty-vt: fix dependency path resolution errors (@sandydoo)
    Zigs build infra computes relatives paths to build-time executables that use `setCwd.`
    The logic is purely lexical and doesn't take into account symlinks, unlike `chdir` that follows symlinks.
    
    If the `cwd` resolves to a different depth, then the relative path becomes incorrect.
    
  • 7123bdd libghostty-vt: fix linker tests for darwin (@sandydoo)
  • 058d054 libghostty-vt: support building on macOS with Nix (#12548) (@mitchellh)
    Adds support for building libghostty-vt on macOS with Nix.
    
    Tested on aarch64-darwin. Tests pass as well.
    
    _Claude used to speed up debugging process. All comments, commit
    messages, and final code authored by me._
    
  • f0bb6ed macos: avoid replaying keys that commit preedit (#12547) (@mitchellh)
    Refs #10460
    Related: #12518
    
    When an input method commits all or part of marked text during keyDown,
    AppKit returns the committed text through insertText. Treat that as text
    committed by the input method instead of replaying the original key
    event to the terminal.
    
    Previously this path only handled arrow-key commits specially. A
    control-key shortcut that commits preedit text could still be encoded as
    the original control input after composition, such as ctrl+j becoming
    LF.
    
    Send committed preedit text as a text-only event for any key that causes
    the commit. Only replay arrow navigation keys that the existing Korean
    IME handling expects, and keep plain left-arrow suppressed because
    AppKit already leaves the caret in place.
    
    Before:
    <img width="375" height="375" alt="before"
    src="https://github.com/user-attachments/assets/1073b93f-625a-4881-8f95-67adefe9d3da"
    />
    
    After:
    <img width="375" height="375" alt="after"
    src="https://github.com/user-attachments/assets/3e4be2a5-4df9-4cdd-bc95-e178ca44c7e7"
    />
    
    AI usage: OpenAI Codex helped investigate, implement, test, and refine
    this change. I reviewed and tested the resulting code.
    
  • f27aa86 Update VOUCHED list (#12552) (@ghostty-vouch[bot])
    Triggered by [discussion
    comment](https://github.com/ghostty-org/ghostty/discussions/12542#discussioncomment-16785276)
    from @00-kat.
    
    Denounce: @MorgenGeluk
    

May 1, 2026

Runs: 1
Summary: 1 runs • 1 commits • 1 authors

Changes

  • 35c0e25 Update VOUCHED list (#12545) (@ghostty-vouch[bot])
    Triggered by
    [comment](https://github.com/ghostty-org/ghostty/issues/12544#issuecomment-4359105411)
    from @trag1c.
    
    Vouch: @erral
    

April 30, 2026

Runs: 1, 2
Summary: 2 runs • 11 commits • 5 authors

Changes

  • a43cc02 macos: suppress control-char input while composing (@knu)
    When AppKit delivers a single C0 control character during
    marked-text composition, Ghostty should treat it as input consumed by
    the composing state instead of forwarding it to the terminal.
    
    This prevents control-key IME actions, such as Japanese input
    shortcuts like ctrl+h/j/m/n, from leaking into the terminal while
    composition is still active. Printable text and non-composing control
    input continue through the normal key path.
    
    AI usage: OpenAI Codex helped investigate, implement, test, and refine
    this change. I reviewed and tested the resulting code.
    
  • dbffe99 chore: remove Ghostty.xctestplan in project tree. (@bo2themax)
    `lastKnownFileType = file` will change to `text` if you checking out branches with Xcode opened. But this was generated by Xcode in the first place.
    
    Anyway we don't need it to be in the project tree to run the tests, and you can still open the test plan in scheme editor.
    
  • 6fdca6b macOS: enable copy only when there’s actual selected text (@bo2themax)
  • 61595b5 macOS: fix focus state when toggling command palette from inline title editor (@bo2themax)
  • f8f3b6f Fall back to Zig-bundled Darwin headers when an SDK can't be found (@Samasaur1)
    Currently, cross to Darwin uses the Darwin headers bundled with Zig.
    However, if you're running a build _on_ Darwin, an error is thrown if
    the SDK can't be found, even though the bundled headers are still
    available.
    
    Now, we continue to search for and prefer the installed SDK, but if it
    can't be found, we fall back to the bundled headers rather than failing
    the build.
    
  • 83ae471 Fall back to Zig-bundled Darwin headers when an SDK can't be found (#12534) (@mitchellh)
    Currently, cross to Darwin uses the Darwin headers bundled with Zig.
    However, if you're running a build _on_ Darwin, an error is thrown if
    the SDK can't be found, even though the bundled headers are still
    available.
    
    Now, we continue to search for and prefer the installed SDK, but if it
    can't be found, we fall back to the bundled headers rather than failing
    the build.
    
  • 25cd206 chore(macOS): remove Ghostty.xctestplan in project tree. (#12520) (@mitchellh)
    `lastKnownFileType = file` will change to `text` if you checking out
    branches with Xcode opened. But this was generated by Xcode in the first
    place.
    
    Anyway we don't need it to be in the project tree to run the tests, and
    you can still open the test plan in scheme editor.
    
  • 1623daf macOS: enable copy only when there’s actual selected text (#12521) (@mitchellh)
    This matches the `peformable` definition and the default behaviors of
    text editing on macOS.
    
  • 95b56eb macOS: fix focus state when toggling command palette from inline title editor (#12524) (@mitchellh)
    A bug found while recording that menu fix.
    > ~~Will link to an open issue if there is one.~~
    
    When toggling the command palette from the inline title editor, the
    first responder state of the surface is changed quickly from true to
    false.
    
    `makeFirstResponder:` is called by the title editor when finishing, but
    it happens **after** the command palette is shown, so the `focused` is
    set to `true` while the command palette is shown. (Could be an AppKit
    issue as well, since the resign is not called after but the command
    palette is receiving `keyDown`.)
    
    Since `performKeyEquivalent(with:)` is called on all of the subviews
    until one of the return `true` so the paste action is consumed by the
    surface instead of the first responder (command palette).
    
  • 4dcb09a macos: suppress control-char input while composing (#12518) (@mitchellh)
    macos: suppress control-char input while composing
    
    When AppKit delivers a single C0 control character during marked-text
    composition, Ghostty should treat it as input consumed by the composing
    state instead of forwarding it to the terminal.
    
    This prevents control-key IME actions, such as Japanese input shortcuts
    like ctrl+h/j/m/n, from leaking into the terminal while composition is
    still active. Printable text and non-composing control input continue
    through the normal key path.
    
    Refs #10460
    Related: #2628, #4539
    Vouched in #12169
    
    Testing:
    - xcodebuild test -scheme Ghostty -destination platform=macOS
    -only-testing:GhosttyTests/SurfaceViewAppKitTests
    - Manually tested Japanese IME control-key shortcuts on macOS
    
    AI usage:
    - OpenAI Codex helped investigate, implement, test, and refine this
    change. I reviewed and tested the resulting code.
    
  • f5664cd Update VOUCHED list (#12533) (@ghostty-vouch[bot])
    Triggered by [discussion
    comment](https://github.com/ghostty-org/ghostty/discussions/12530#discussioncomment-16765566)
    from @jcollie.
    
    Vouch: @Samasaur1
    

About

A friendly changelog for Ghostty’s tip (nightly) version releases

Topics

Resources

License

Stars

Watchers

Forks

Contributors

Languages