Commit Graph

16638 Commits

Author SHA1 Message Date
Chris Marchesi
e8525c0fd9 Update to Zig 0.16.0
This commit represents the majority of the work necessary to upgrade
Ghostty to use Zig 0.16.0.

Key parts:

* In addition to its previous responsibilities, the global state now
  houses state for global I/O implementations and the process
  environment. It is now also utilized in the main application along
  with the C library. Where necessary, global state is isolated from key
  parts of the implementation (e.g., in libghostty subsystems), and it's
  expected that this list will grow.

* We currently manage our own C translation layer where necessary. In
  these cases, cImport has been removed in favor of the new external
  translate-c package. Due to fixes that have needed be made to properly
  translate the dependencies that were swapped out, as mentioned, we
  have had to backport fixes from the current translate-c package (and
  the upstream Arocc dependency). We will host this ourselves until Zig
  0.17.0 is released with these fixes.

* Where necessary (only a small number of cases), some stdlib code from
  0.15.2 (and even from 0.17.0) has been taken, adopted, and vendored in
  lib/compat.

Co-authored-by: Leah Amelia Chen <hi@pluie.me>
2026-07-21 12:35:05 -07:00
ghostty-vouch[bot]
74d0c72fd9 Update VOUCHED list (#13401)
Triggered by [discussion
comment](https://github.com/ghostty-org/ghostty/discussions/13400#discussioncomment-17706483)
from @jcollie.

Vouch: @Ragnoroct

Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2026-07-20 20:54:17 +00:00
Mitchell Hashimoto
ea7dc5c000 terminal: handle page capacity errors in eraseRow (#13397)
Re: #13160 (related but not that issue)

PageList eraseRow and eraseRowBounded have the same issue previously
fixed for cursorScrollAbove: when shifting rows up across a page
boundary, the top row of the next page is cloned into the last row of
the previous page, and that clone can fail if the destination page lacks
capacity for the row's managed memory.

Handle the errors the same way the other cross-page copies do: increase
the destination page capacity for the dimension that ran out and retry
the row copy.

This type of logic was repeated EVERYWHERE so I extracted this into a
helper in PageList and Screen. They're slightly different due to the
extra accounting that Screen has to do for the cursor.

Don't know of any scenario this actually happened in the real world but
it was trivially reproducible with tests.
2026-07-20 09:33:09 -07:00
Mitchell Hashimoto
ee9d5b352f terminal: handle page capacity errors in eraseRow
Re: #13160 (related but not that issue)

PageList eraseRow and eraseRowBounded have the same issue previously
fixed for cursorScrollAbove: when shifting rows up across a page boundary,
the top row of the next page is cloned into the last row of the
previous page, and that clone can fail if the destination page lacks
capacity for the row's managed memory.

Handle the errors the same way the other cross-page copies do:
increase the destination page capacity for the dimension that ran
out and retry the row copy.

This type of logic was repeated EVERYWHERE so I extracted this into a
helper in PageList and Screen. They're slightly different due to the extra
accounting that Screen has to do for the cursor.

Don't know of any scenario this actually happened in the real world but
it was trivially reproducible with tests.
2026-07-20 09:25:37 -07:00
Mitchell Hashimoto
ff8457b70f macOS: hide visible NSScrollPocket for hidden title bar (#13393)
Fixes https://github.com/ghostty-org/ghostty/issues/13390

Technically it would be safe to remove `#available(macOS 27, *)` check,
but I haven't tested all the os versions, so I kept it there.

### AI Disclosure

No AI is used for this one.
2026-07-20 08:17:19 -07:00
Mitchell Hashimoto
18d8303972 kitty images: add support for transient usage hints (#13389)
Kitty 0.48 added support for usage hints in the image protocol,
specifically for marking images as "transient", meaning that they should
be prioritized for eviction if there is memory pressure.

https://sw.kovidgoyal.net/kitty/graphics-protocol/#image-usage-hints

Also changed the eviction algorithm to use an allocated array for
organizing the images to be evicted rather than using an ArrayList to
minimize the number of allocations made (no real memory savings though).
2026-07-20 08:16:52 -07:00
Mitchell Hashimoto
56b086bd93 terminal: handle page capacity errors in cursorScrollAbove (#13394)
Re: #13160

When cursorScrollAbove rotates rows across a page boundary, the last row
of the previous page is cloned into the destination page. That can cause
capacity failures we didn't previously handle.

The error propagated out of the operation after rows had already been
rotated, leaving the page list half-mutated. Subsequent operations on
the corrupted state can cause crashes since the state was incoherent.

Handle these errors the same way insertLines and deleteLines already do
for their cross-page copies: increase the destination page capacity for
the dimension that ran out and retry the row copy.
2026-07-20 08:16:09 -07:00
Mitchell Hashimoto
0433262493 terminal: handle page capacity errors in cursorScrollAbove
Re: #13160

When cursorScrollAbove rotates rows across a page boundary, the last
row of the previous page is cloned into the destination page. That can
cause capacity failures we didn't previously handle.

The error propagated out of the operation after rows had already been rotated, 
leaving the page list half-mutated. Subsequent operations on the corrupted state
can cause crashes since the state was incoherent.

Handle these errors the same way insertLines and deleteLines already
do for their cross-page copies: increase the destination page capacity
for the dimension that ran out and retry the row copy.
2026-07-20 08:03:57 -07:00
Lukas
2104e0749c macOS: hide visible NSScrollPocket for hidden title bar
Fixes https://github.com/ghostty-org/ghostty/issues/13390
2026-07-20 14:30:43 +02:00
Jeffrey C. Ollie
a65e11cc92 kitty images: add support for transient usage hints
Kitty 0.48 added support for usage hints in the image protocol,
specifically for marking images as "transient", meaning that they
should be prioritized for eviction if there is memory pressure.

https://sw.kovidgoyal.net/kitty/graphics-protocol/#image-usage-hints

Also changed the eviction algorithm to use an allocated array for
organizing the images to be evicted rather than using an ArrayList to
minimize the number of allocations made (no real memory savings though).
2026-07-19 23:28:50 -05:00
Leah Amelia Chen
2511abe3dd config: update background-blur to reflect growing adoption (#13384)
`ext-background-effect-v1` is finally seeing major adoption throughout
KWin, Mutter, cosmic-comp, Niri, etc. and we should update our comments
on that.
2026-07-20 01:06:58 +08:00
Leah Amelia Chen
2da02f4d28 config: update background-blur to reflect growing adoption
`ext-background-effect-v1` is finally seeing major adoption throughout
KWin, Mutter, cosmic-comp, Niri, etc. and we should update our comments
on that.
2026-07-20 00:34:56 +08:00
ghostty-vouch[bot]
c9c017e8e5 Update VOUCHED list (#13383)
Triggered by [discussion
comment](https://github.com/ghostty-org/ghostty/discussions/13376#discussioncomment-17684953)
from @jcollie.

Vouch: @bousii

Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2026-07-19 15:34:29 +00:00
Mitchell Hashimoto
77c65cb5fe Update iTerm2 colorschemes (#13377)
Upstream release:
https://github.com/mbadolato/iTerm2-Color-Schemes/releases/tag/release-20260713-155359-c3968b3
2026-07-19 06:16:05 -07:00
mitchellh
b513f1b209 deps: Update iTerm2 color schemes 2026-07-19 00:28:19 +00:00
Mitchell Hashimoto
f3c9a2b726 terminal: move cursor defaults into terminal state (#13370)
Cursor defaults were duplicated across stream handlers and it was a
pretty significant amount of simple and yet non-trivial logic to
understand.

Store these on Terminal itself and have methods to route things like
DECSCUSR through for consistent behaviors.

No AI usage here.
2026-07-17 20:16:21 -07:00
Mitchell Hashimoto
c594031d50 terminal: move cursor defaults into terminal state
Cursor defaults were duplicated across stream handlers and it was a
pretty significant amount of simple and yet non-trivial logic to
understand.

Store these on Terminal itself and have methods to route things like
DECSCUSR through for consistent behaviors.
2026-07-17 15:27:34 -07:00
Mitchell Hashimoto
6711672dec libghostty: mark semantic stream failures (#13369)
The libghostty-vt stream is made to be infallible: in the case of any
error it just logs and moves on. That's because a terminal can't
really... stop, under normal operations. But, under special operations
(fuzzing, replays, etc.) it can and should stop!

Rather than make the operation fallible, its simply enough for me at
least to know that something went wrong. This is a simple change that
adds a simple flag that is flagged to true when such a scenario happens.

For normal Ghostty GUI operations, this isn't used at all. For
libghostty consumers they can choose to read it if they want, but don't
have to.

This also adds a C API to read it.
2026-07-17 12:51:41 -07:00
Mitchell Hashimoto
439d35e27c libghostty: mark semantic stream failures
The libghostty-vt stream is made to be infallible: in the case of any error
it just logs and moves on. That's because a terminal can't really... stop,
under normal operations. But, under special operations (fuzzing, replays,
etc.) it can and should stop!

Rather than make the operation fallible, its simply enough for me at least
to know that something went wrong. This is a simple change that adds a simple
flag that is flagged to true when such a scenario happens.

For normal Ghostty GUI operations, this isn't used at all. For libghostty
consumers they can choose to read it if they want, but don't have to.

This also adds a C API to read it.
2026-07-17 12:29:11 -07:00
Mitchell Hashimoto
d7e9773329 terminal: make resize handling error-safe, handle more logic (#13367)
This makes error returns in `Screen.resize` and `Terminal.resize` safe:
they leave the terminal/screen in its prior state (with one exception,
noted below). Previously, both were documented as leaving the terminal
in a garbage stage on error.

Unit tests with tripwire added to verify errdefer behaviors.

This also includes a refactor: the common behaviors that resize needs
such as updating cell size in pixels, disabling synchronized output,
handling mode 2048, are now pulled into libghostty-vt. This will make it
easier for downstream libghostty users to make proper terminals.

**The one perfect undo exception:** If the primary screen can resize but
the alt screen cannot, then we try our best to do something reasonable,
in order:

1. If we're on the primary screen, we just deallocate the alt screen.
It'll be reallocated lazily (and may fail) in the future. Worst case
here is we lose screen data if the future TUI doesn't expect a clear on
enter/exit.

2. If we're on the alt screen, we deallocate to try recover memory, then
reinitialize eagerly at the new size hoping to at least have a blank alt
screen. Similar to 1, we lose screen data here, but its likely screen
data that mattered since we were actively on the alt screen.

3. If the eager reinit fails, we switch to the primary screen. This is
the biggest issue, cause the TUI program won't know this happened and
probably do some crazy stuff on the primary screen. But, its also a
super exceptional situation.

In every case though, the terminal is consistent and safe to use.

**LLM notes:** Only used as a judge and to assist with test writing, not
used at all for commit messages, PR, or non-test logic.
2026-07-17 10:39:38 -07:00
ghostty-vouch[bot]
f21d376883 Update VOUCHED list (#13368)
Triggered by [discussion
comment](https://github.com/ghostty-org/ghostty/discussions/13366#discussioncomment-17675218)
from @jcollie.

Vouch: @AprilNEA

Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2026-07-17 17:36:17 +00:00
Mitchell Hashimoto
a3c1caba54 terminal: resize failures are now almost fully safe
Terminal resize could leave tab stops, pixel geometry, synchronized output, 
or screen dimensions partially updated when a later allocation failed. This
is now safe. There is one exception, see the code comments.
2026-07-17 10:21:01 -07:00
Mitchell Hashimoto
dde3d4d6b0 terminal: screen resize failures are now safe 2026-07-17 10:20:35 -07:00
Mitchell Hashimoto
89b103dd5e terminal: more full featured resize (cell geo, sync rendering, etc.)
This makes the Terminal.resize handle more of the common elements that
a core terminal emulator should: cell geoemtry handling (if exists),
updates synchronized output modes.

This adds a new TerminalStream.resize that also handles the side effects
for more easy integration into downstream libghostty-vt consumers, namely
mode 2048 in-band signaling handling.
2026-07-17 10:20:14 -07:00
Mitchell Hashimoto
e9ffb2579d build(deps): bump namespacelabs/nscloud-cache-action from 1.6.0 to 1.6.1 (#13361)
Bumps
[namespacelabs/nscloud-cache-action](https://github.com/namespacelabs/nscloud-cache-action)
from 1.6.0 to 1.6.1.
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/namespacelabs/nscloud-cache-action/releases">namespacelabs/nscloud-cache-action's
releases</a>.</em></p>
<blockquote>
<h2>v1.6.1</h2>
<h2>What's Changed</h2>
<ul>
<li>Bump the minor-actions-dependencies group across 1 directory with 6
updates by <a
href="https://github.com/dependabot"><code>@​dependabot</code></a>[bot]
in <a
href="https://redirect.github.com/namespacelabs/nscloud-cache-action/pull/154">namespacelabs/nscloud-cache-action#154</a></li>
<li>Remove Tuist cache mode test by <a
href="https://github.com/rcrowe"><code>@​rcrowe</code></a> in <a
href="https://redirect.github.com/namespacelabs/nscloud-cache-action/pull/156">namespacelabs/nscloud-cache-action#156</a></li>
<li>Bump the minor-npm-dependencies group across 1 directory with 9
updates by <a
href="https://github.com/dependabot"><code>@​dependabot</code></a>[bot]
in <a
href="https://redirect.github.com/namespacelabs/nscloud-cache-action/pull/155">namespacelabs/nscloud-cache-action#155</a></li>
</ul>
<p><strong>Full Changelog</strong>: <a
href="https://github.com/namespacelabs/nscloud-cache-action/compare/v1...v1.6.1">https://github.com/namespacelabs/nscloud-cache-action/compare/v1...v1.6.1</a></p>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="c5f8dab756"><code>c5f8dab</code></a>
Bump the minor-npm-dependencies group across 1 directory with 9 updates
(<a
href="https://redirect.github.com/namespacelabs/nscloud-cache-action/issues/155">#155</a>)</li>
<li><a
href="0820eca039"><code>0820eca</code></a>
ci: remove tuist cache mode test (<a
href="https://redirect.github.com/namespacelabs/nscloud-cache-action/issues/156">#156</a>)</li>
<li><a
href="fa75731ea7"><code>fa75731</code></a>
Bump the minor-actions-dependencies group across 1 directory with 6
updates (...</li>
<li>See full diff in <a
href="58bf6e0889...c5f8dab756">compare
view</a></li>
</ul>
</details>
<br />


[![Dependabot compatibility
score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=namespacelabs/nscloud-cache-action&package-manager=github_actions&previous-version=1.6.0&new-version=1.6.1)](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>
2026-07-17 06:48:16 -07:00
dependabot[bot]
0f0ede81d5 build(deps): bump namespacelabs/nscloud-cache-action from 1.6.0 to 1.6.1
Bumps [namespacelabs/nscloud-cache-action](https://github.com/namespacelabs/nscloud-cache-action) from 1.6.0 to 1.6.1.
- [Release notes](https://github.com/namespacelabs/nscloud-cache-action/releases)
- [Commits](58bf6e0889...c5f8dab756)

---
updated-dependencies:
- dependency-name: namespacelabs/nscloud-cache-action
  dependency-version: 1.6.1
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2026-07-17 00:12:40 +00:00
Mitchell Hashimoto
73534c4680 build(deps): bump cachix/install-nix-action from 31.10.7 to 31.11.0 (#13351)
Bumps
[cachix/install-nix-action](https://github.com/cachix/install-nix-action)
from 31.10.7 to 31.11.0.
<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.11.0</h2>
<h2>What's Changed</h2>
<ul>
<li>nix: 2.34.8 -&gt; 2.35.1 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/279">cachix/install-nix-action#279</a>
Release notes: <a
href="https://discourse.nixos.org/t/nix-2-35-0-released/78914">https://discourse.nixos.org/t/nix-2-35-0-released/78914</a></li>
</ul>
<p><strong>Full Changelog</strong>: <a
href="https://github.com/cachix/install-nix-action/compare/v31.10.7...v31.11.0">https://github.com/cachix/install-nix-action/compare/v31.10.7...v31.11.0</a></p>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="630ae543ea"><code>630ae54</code></a>
Merge pull request <a
href="https://redirect.github.com/cachix/install-nix-action/issues/279">#279</a>
from cachix/create-pull-request/patch</li>
<li><a
href="0247906e3a"><code>0247906</code></a>
nix: 2.34.8 -&gt; 2.35.1</li>
<li>See full diff in <a
href="a49548c11d...630ae543ea">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.7&new-version=31.11.0)](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>
2026-07-15 17:13:25 -07:00
dependabot[bot]
68376f5acc build(deps): bump cachix/install-nix-action from 31.10.7 to 31.11.0
Bumps [cachix/install-nix-action](https://github.com/cachix/install-nix-action) from 31.10.7 to 31.11.0.
- [Release notes](https://github.com/cachix/install-nix-action/releases)
- [Changelog](https://github.com/cachix/install-nix-action/blob/master/RELEASE.md)
- [Commits](a49548c11d...630ae543ea)

---
updated-dependencies:
- dependency-name: cachix/install-nix-action
  dependency-version: 31.11.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2026-07-16 00:12:41 +00:00
Jeffrey C. Ollie
b094737834 cleanup: remove dead code line (#13349)
Pointed out on Discord, this code is dead, `std.debug.assert` is
imported, but never used.
2026-07-15 15:56:11 -05:00
Bartosz Sokorski
42b4c5972d cleanup: remove dead code line 2026-07-15 22:32:06 +02:00
Mitchell Hashimoto
c5a21edfcb build(deps): bump softprops/action-gh-release from 3.0.1 to 3.0.2 (#13336)
Bumps
[softprops/action-gh-release](https://github.com/softprops/action-gh-release)
from 3.0.1 to 3.0.2.
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/softprops/action-gh-release/releases">softprops/action-gh-release's
releases</a>.</em></p>
<blockquote>
<h2>v3.0.2</h2>
<p><code>3.0.2</code> is a patch release focused on release reliability
and compatibility. It
reuses existing draft releases when publishing prereleases, supports
replacing
release assets on Gitea, hardens streamed asset uploads, and provides
clearer
release-creation diagnostics. It also includes TypeScript, coverage, and
tooling
maintenance merged since <code>3.0.1</code>.</p>
<p>This release fixes <a
href="https://redirect.github.com/softprops/action-gh-release/issues/795">#795</a>,
<a
href="https://redirect.github.com/softprops/action-gh-release/issues/438">#438</a>,
and <a
href="https://redirect.github.com/softprops/action-gh-release/issues/803">#803</a>.
The upload transport hardening covers the
historical failure reported in <a
href="https://redirect.github.com/softprops/action-gh-release/issues/790">#790</a>,
although current hosted Node 24 runners did
not reproduce it naturally. The diagnostics work is related to <a
href="https://redirect.github.com/softprops/action-gh-release/issues/786">#786</a>
and does not
claim a reproducible release-creation fix.</p>
<h2>What's Changed</h2>
<h3>Exciting New Features 🎉</h3>
<ul>
<li>feat: improve release error reporting and test coverage by <a
href="https://github.com/chenrui333"><code>@​chenrui333</code></a> in <a
href="https://redirect.github.com/softprops/action-gh-release/pull/813">softprops/action-gh-release#813</a></li>
</ul>
<h3>Bug fixes 🐛</h3>
<ul>
<li>fix: publish existing draft releases as prereleases by <a
href="https://github.com/godfengliang"><code>@​godfengliang</code></a>
in <a
href="https://redirect.github.com/softprops/action-gh-release/pull/801">softprops/action-gh-release#801</a></li>
<li>fix: upload small checksum assets reliably by <a
href="https://github.com/chenrui333"><code>@​chenrui333</code></a> in <a
href="https://redirect.github.com/softprops/action-gh-release/pull/815">softprops/action-gh-release#815</a></li>
<li>fix: replace existing release assets on Gitea by <a
href="https://github.com/chenrui333"><code>@​chenrui333</code></a> in <a
href="https://redirect.github.com/softprops/action-gh-release/pull/816">softprops/action-gh-release#816</a></li>
<li>fix: clarify release creation 404 errors by <a
href="https://github.com/chenrui333"><code>@​chenrui333</code></a> in <a
href="https://redirect.github.com/softprops/action-gh-release/pull/817">softprops/action-gh-release#817</a></li>
</ul>
<h3>Other Changes 🔄</h3>
<ul>
<li>chore(deps): upgrade TypeScript to 7 by <a
href="https://github.com/chenrui333"><code>@​chenrui333</code></a> in <a
href="https://redirect.github.com/softprops/action-gh-release/pull/812">softprops/action-gh-release#812</a></li>
<li>chore(deps): remove unused TypeScript tooling by <a
href="https://github.com/chenrui333"><code>@​chenrui333</code></a> in <a
href="https://redirect.github.com/softprops/action-gh-release/pull/814">softprops/action-gh-release#814</a></li>
<li>dependency, Node 24 pin, and CI maintenance merged since
<code>3.0.1</code></li>
</ul>
</blockquote>
</details>
<details>
<summary>Changelog</summary>
<p><em>Sourced from <a
href="https://github.com/softprops/action-gh-release/blob/master/CHANGELOG.md">softprops/action-gh-release's
changelog</a>.</em></p>
<blockquote>
<h2>3.0.2</h2>
<p><code>3.0.2</code> is a patch release focused on release reliability
and compatibility. It
reuses existing draft releases when publishing prereleases, supports
replacing
release assets on Gitea, hardens streamed asset uploads, and provides
clearer
release-creation diagnostics. It also includes TypeScript, coverage, and
tooling
maintenance merged since <code>3.0.1</code>.</p>
<p>This release fixes <a
href="https://redirect.github.com/softprops/action-gh-release/issues/795">#795</a>,
<a
href="https://redirect.github.com/softprops/action-gh-release/issues/438">#438</a>,
and <a
href="https://redirect.github.com/softprops/action-gh-release/issues/803">#803</a>.
The upload transport hardening covers the
historical failure reported in <a
href="https://redirect.github.com/softprops/action-gh-release/issues/790">#790</a>,
although current hosted Node 24 runners did
not reproduce it naturally. The diagnostics work is related to <a
href="https://redirect.github.com/softprops/action-gh-release/issues/786">#786</a>
and does not
claim a reproducible release-creation fix.</p>
<h2>What's Changed</h2>
<h3>Exciting New Features 🎉</h3>
<ul>
<li>feat: improve release error reporting and test coverage by <a
href="https://github.com/chenrui333"><code>@​chenrui333</code></a> in <a
href="https://redirect.github.com/softprops/action-gh-release/pull/813">softprops/action-gh-release#813</a></li>
</ul>
<h3>Bug fixes 🐛</h3>
<ul>
<li>fix: publish existing draft releases as prereleases by <a
href="https://github.com/godfengliang"><code>@​godfengliang</code></a>
in <a
href="https://redirect.github.com/softprops/action-gh-release/pull/801">softprops/action-gh-release#801</a></li>
<li>fix: upload small checksum assets reliably by <a
href="https://github.com/chenrui333"><code>@​chenrui333</code></a> in <a
href="https://redirect.github.com/softprops/action-gh-release/pull/815">softprops/action-gh-release#815</a></li>
<li>fix: replace existing release assets on Gitea by <a
href="https://github.com/chenrui333"><code>@​chenrui333</code></a> in <a
href="https://redirect.github.com/softprops/action-gh-release/pull/816">softprops/action-gh-release#816</a></li>
<li>fix: clarify release creation 404 errors by <a
href="https://github.com/chenrui333"><code>@​chenrui333</code></a> in <a
href="https://redirect.github.com/softprops/action-gh-release/pull/817">softprops/action-gh-release#817</a></li>
</ul>
<h3>Other Changes 🔄</h3>
<ul>
<li>chore(deps): upgrade TypeScript to 7 by <a
href="https://github.com/chenrui333"><code>@​chenrui333</code></a> in <a
href="https://redirect.github.com/softprops/action-gh-release/pull/812">softprops/action-gh-release#812</a></li>
<li>chore(deps): remove unused TypeScript tooling by <a
href="https://github.com/chenrui333"><code>@​chenrui333</code></a> in <a
href="https://redirect.github.com/softprops/action-gh-release/pull/814">softprops/action-gh-release#814</a></li>
<li>dependency, Node 24 pin, and CI maintenance merged since
<code>3.0.1</code></li>
</ul>
<h2>3.0.1</h2>
<ul>
<li>maintenance release with updated dependencies</li>
</ul>
<h2>3.0.0</h2>
<p><code>3.0.0</code> is a major release that moves the action runtime
from Node 20 to Node 24.
Use <code>v3</code> on GitHub-hosted runners and self-hosted fleets that
already support the
Node 24 Actions runtime. <code>v2.6.2</code> was the final Node
20-compatible release and is
no longer maintained or supported.</p>
<h2>What's Changed</h2>
<h3>Other Changes 🔄</h3>
<ul>
<li>Move the action runtime and bundle target to Node 24</li>
<li>Update <code>@types/node</code> to the Node 24 line and allow future
Dependabot updates</li>
<li>Keep the floating major tag on <code>v3</code>; freeze
<code>v2</code> at the final <code>v2.6.2</code> release</li>
</ul>
<!-- raw HTML omitted -->
</blockquote>
<p>... (truncated)</p>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="3d0d9888cb"><code>3d0d988</code></a>
release 3.0.2 (<a
href="https://redirect.github.com/softprops/action-gh-release/issues/818">#818</a>)</li>
<li><a
href="7e13ed4ac5"><code>7e13ed4</code></a>
fix: clarify release creation 404 errors (<a
href="https://redirect.github.com/softprops/action-gh-release/issues/817">#817</a>)</li>
<li><a
href="e6c70a53cf"><code>e6c70a5</code></a>
fix: replace existing release assets on Gitea (<a
href="https://redirect.github.com/softprops/action-gh-release/issues/816">#816</a>)</li>
<li><a
href="f345337888"><code>f345337</code></a>
fix: publish existing draft releases as prereleases (<a
href="https://redirect.github.com/softprops/action-gh-release/issues/801">#801</a>)</li>
<li><a
href="d8a89a2066"><code>d8a89a2</code></a>
fix: upload small checksum assets reliably (<a
href="https://redirect.github.com/softprops/action-gh-release/issues/815">#815</a>)</li>
<li><a
href="45ece40c31"><code>45ece40</code></a>
chore(deps): remove unused TypeScript tooling (<a
href="https://redirect.github.com/softprops/action-gh-release/issues/814">#814</a>)</li>
<li><a
href="f6b913c3f9"><code>f6b913c</code></a>
feat: improve release error reporting and test coverage (<a
href="https://redirect.github.com/softprops/action-gh-release/issues/813">#813</a>)</li>
<li><a
href="15f193d7d8"><code>15f193d</code></a>
chore(deps): upgrade TypeScript to 7 (<a
href="https://redirect.github.com/softprops/action-gh-release/issues/812">#812</a>)</li>
<li><a
href="cc8268d46a"><code>cc8268d</code></a>
chore(deps): bump actions/checkout in the github-actions group (<a
href="https://redirect.github.com/softprops/action-gh-release/issues/810">#810</a>)</li>
<li><a
href="fd0ed1e85b"><code>fd0ed1e</code></a>
chore(deps): bump the npm group with 3 updates (<a
href="https://redirect.github.com/softprops/action-gh-release/issues/811">#811</a>)</li>
<li>Additional commits viewable in <a
href="718ea10b13...3d0d9888cb">compare
view</a></li>
</ul>
</details>
<br />


[![Dependabot compatibility
score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=softprops/action-gh-release&package-manager=github_actions&previous-version=3.0.1&new-version=3.0.2)](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>
2026-07-14 20:12:12 -07:00
dependabot[bot]
59c3a08366 build(deps): bump softprops/action-gh-release from 3.0.1 to 3.0.2
Bumps [softprops/action-gh-release](https://github.com/softprops/action-gh-release) from 3.0.1 to 3.0.2.
- [Release notes](https://github.com/softprops/action-gh-release/releases)
- [Changelog](https://github.com/softprops/action-gh-release/blob/master/CHANGELOG.md)
- [Commits](718ea10b13...3d0d9888cb)

---
updated-dependencies:
- dependency-name: softprops/action-gh-release
  dependency-version: 3.0.2
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2026-07-15 00:12:37 +00:00
ghostty-vouch[bot]
f8041e849b Update VOUCHED list (#13330)
Triggered by [discussion
comment](https://github.com/ghostty-org/ghostty/discussions/13329#discussioncomment-17638470)
from @rockorager.

Vouch: @aymanbagabas

Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2026-07-14 16:52:59 +00:00
Mitchell Hashimoto
cf60af281b build(deps): bump mitchellh/vouch/action/manage-by-issue from 1.4.2 to 1.5.0 (#13312)
Bumps
[mitchellh/vouch/action/manage-by-issue](https://github.com/mitchellh/vouch)
from 1.4.2 to 1.5.0.
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/mitchellh/vouch/releases">mitchellh/vouch/action/manage-by-issue's
releases</a>.</em></p>
<blockquote>
<h2>v1.5.0</h2>
<h2>What's New</h2>
<h3>Improvements</h3>
<p>-<strong><code>action/check-issue</code></strong> has a new option
<code>auto-lock</code> to automatically lock closed issues. (<a
href="https://redirect.github.com/mitchellh/vouch/pull/90">#90</a>)</p>
<ul>
<li><strong><code>gh-manage-by-discussion</code></strong> supports
numerical IDs. (<a
href="https://redirect.github.com/mitchellh/vouch/pull/77">#77</a>)</li>
</ul>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="d66fa29a64"><code>d66fa29</code></a>
Merge pull request <a
href="https://redirect.github.com/mitchellh/vouch/issues/93">#93</a>
from mitchellh/dependabot/github_actions/actions/check...</li>
<li><a
href="c22b93d0e8"><code>c22b93d</code></a>
Bump actions/checkout from 6.0.2 to 7.0.0</li>
<li><a
href="baeb3bf7c7"><code>baeb3bf</code></a>
Merge pull request <a
href="https://redirect.github.com/mitchellh/vouch/issues/90">#90</a>
from trag1c/lock-issues</li>
<li><a
href="52aec3d646"><code>52aec3d</code></a>
add an option to lock closed issues</li>
<li><a
href="3dbc69c691"><code>3dbc69c</code></a>
Merge pull request <a
href="https://redirect.github.com/mitchellh/vouch/issues/87">#87</a>
from freepicheep/example-attribute</li>
<li><a
href="a6933466b4"><code>a693346</code></a>
Update VOUCHED list</li>
<li><a
href="21177c0fec"><code>21177c0</code></a>
Merge pull request <a
href="https://redirect.github.com/mitchellh/vouch/issues/74">#74</a>
from pavelzw/vouch-cli</li>
<li><a
href="527cdc3488"><code>527cdc3</code></a>
Merge pull request <a
href="https://redirect.github.com/mitchellh/vouch/issues/81">#81</a>
from mitchellh/dependabot/github_actions/hustcer/setup...</li>
<li><a
href="1895e9c54f"><code>1895e9c</code></a>
feat: use <a
href="https://github.com/example"><code>@​example</code></a> attribute
for command examples</li>
<li><a
href="8c80ada45b"><code>8c80ada</code></a>
Update README</li>
<li>Additional commits viewable in <a
href="c6d80ead49...d66fa29a64">compare
view</a></li>
</ul>
</details>
<br />


[![Dependabot compatibility
score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=mitchellh/vouch/action/manage-by-issue&package-manager=github_actions&previous-version=1.4.2&new-version=1.5.0)](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>
2026-07-14 09:02:36 -07:00
Mitchell Hashimoto
e758e2b9ee build(deps): bump mitchellh/vouch/action/check-pr from 1.4.2 to 1.5.0 (#13313)
Bumps
[mitchellh/vouch/action/check-pr](https://github.com/mitchellh/vouch)
from 1.4.2 to 1.5.0.
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/mitchellh/vouch/releases">mitchellh/vouch/action/check-pr's
releases</a>.</em></p>
<blockquote>
<h2>v1.5.0</h2>
<h2>What's New</h2>
<h3>Improvements</h3>
<p>-<strong><code>action/check-issue</code></strong> has a new option
<code>auto-lock</code> to automatically lock closed issues. (<a
href="https://redirect.github.com/mitchellh/vouch/pull/90">#90</a>)</p>
<ul>
<li><strong><code>gh-manage-by-discussion</code></strong> supports
numerical IDs. (<a
href="https://redirect.github.com/mitchellh/vouch/pull/77">#77</a>)</li>
</ul>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="d66fa29a64"><code>d66fa29</code></a>
Merge pull request <a
href="https://redirect.github.com/mitchellh/vouch/issues/93">#93</a>
from mitchellh/dependabot/github_actions/actions/check...</li>
<li><a
href="c22b93d0e8"><code>c22b93d</code></a>
Bump actions/checkout from 6.0.2 to 7.0.0</li>
<li><a
href="baeb3bf7c7"><code>baeb3bf</code></a>
Merge pull request <a
href="https://redirect.github.com/mitchellh/vouch/issues/90">#90</a>
from trag1c/lock-issues</li>
<li><a
href="52aec3d646"><code>52aec3d</code></a>
add an option to lock closed issues</li>
<li><a
href="3dbc69c691"><code>3dbc69c</code></a>
Merge pull request <a
href="https://redirect.github.com/mitchellh/vouch/issues/87">#87</a>
from freepicheep/example-attribute</li>
<li><a
href="a6933466b4"><code>a693346</code></a>
Update VOUCHED list</li>
<li><a
href="21177c0fec"><code>21177c0</code></a>
Merge pull request <a
href="https://redirect.github.com/mitchellh/vouch/issues/74">#74</a>
from pavelzw/vouch-cli</li>
<li><a
href="527cdc3488"><code>527cdc3</code></a>
Merge pull request <a
href="https://redirect.github.com/mitchellh/vouch/issues/81">#81</a>
from mitchellh/dependabot/github_actions/hustcer/setup...</li>
<li><a
href="1895e9c54f"><code>1895e9c</code></a>
feat: use <a
href="https://github.com/example"><code>@​example</code></a> attribute
for command examples</li>
<li><a
href="8c80ada45b"><code>8c80ada</code></a>
Update README</li>
<li>Additional commits viewable in <a
href="c6d80ead49...d66fa29a64">compare
view</a></li>
</ul>
</details>
<br />


[![Dependabot compatibility
score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=mitchellh/vouch/action/check-pr&package-manager=github_actions&previous-version=1.4.2&new-version=1.5.0)](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>
2026-07-14 09:02:26 -07:00
Mitchell Hashimoto
07a87067f5 build(deps): bump mitchellh/vouch/action/check-issue from baeb3bf7c7e6c12d6e33bab3870b7e936580a934 to d66fa29a64600490892131ad87597c30c91fcac4 (#13314)
Bumps
[mitchellh/vouch/action/check-issue](https://github.com/mitchellh/vouch)
from baeb3bf7c7e6c12d6e33bab3870b7e936580a934 to
d66fa29a64600490892131ad87597c30c91fcac4.
<details>
<summary>Commits</summary>
<ul>
<li><a
href="d66fa29a64"><code>d66fa29</code></a>
Merge pull request <a
href="https://redirect.github.com/mitchellh/vouch/issues/93">#93</a>
from mitchellh/dependabot/github_actions/actions/check...</li>
<li><a
href="c22b93d0e8"><code>c22b93d</code></a>
Bump actions/checkout from 6.0.2 to 7.0.0</li>
<li>See full diff in <a
href="baeb3bf7c7...d66fa29a64">compare
view</a></li>
</ul>
</details>
<br />


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>
2026-07-14 09:02:16 -07:00
Mitchell Hashimoto
4862e73419 build(deps): bump mitchellh/vouch/action/manage-by-discussion from 1.4.2 to 1.5.0 (#13315)
Bumps
[mitchellh/vouch/action/manage-by-discussion](https://github.com/mitchellh/vouch)
from 1.4.2 to 1.5.0.
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/mitchellh/vouch/releases">mitchellh/vouch/action/manage-by-discussion's
releases</a>.</em></p>
<blockquote>
<h2>v1.5.0</h2>
<h2>What's New</h2>
<h3>Improvements</h3>
<p>-<strong><code>action/check-issue</code></strong> has a new option
<code>auto-lock</code> to automatically lock closed issues. (<a
href="https://redirect.github.com/mitchellh/vouch/pull/90">#90</a>)</p>
<ul>
<li><strong><code>gh-manage-by-discussion</code></strong> supports
numerical IDs. (<a
href="https://redirect.github.com/mitchellh/vouch/pull/77">#77</a>)</li>
</ul>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="d66fa29a64"><code>d66fa29</code></a>
Merge pull request <a
href="https://redirect.github.com/mitchellh/vouch/issues/93">#93</a>
from mitchellh/dependabot/github_actions/actions/check...</li>
<li><a
href="c22b93d0e8"><code>c22b93d</code></a>
Bump actions/checkout from 6.0.2 to 7.0.0</li>
<li><a
href="baeb3bf7c7"><code>baeb3bf</code></a>
Merge pull request <a
href="https://redirect.github.com/mitchellh/vouch/issues/90">#90</a>
from trag1c/lock-issues</li>
<li><a
href="52aec3d646"><code>52aec3d</code></a>
add an option to lock closed issues</li>
<li><a
href="3dbc69c691"><code>3dbc69c</code></a>
Merge pull request <a
href="https://redirect.github.com/mitchellh/vouch/issues/87">#87</a>
from freepicheep/example-attribute</li>
<li><a
href="a6933466b4"><code>a693346</code></a>
Update VOUCHED list</li>
<li><a
href="21177c0fec"><code>21177c0</code></a>
Merge pull request <a
href="https://redirect.github.com/mitchellh/vouch/issues/74">#74</a>
from pavelzw/vouch-cli</li>
<li><a
href="527cdc3488"><code>527cdc3</code></a>
Merge pull request <a
href="https://redirect.github.com/mitchellh/vouch/issues/81">#81</a>
from mitchellh/dependabot/github_actions/hustcer/setup...</li>
<li><a
href="1895e9c54f"><code>1895e9c</code></a>
feat: use <a
href="https://github.com/example"><code>@​example</code></a> attribute
for command examples</li>
<li><a
href="8c80ada45b"><code>8c80ada</code></a>
Update README</li>
<li>Additional commits viewable in <a
href="c6d80ead49...d66fa29a64">compare
view</a></li>
</ul>
</details>
<br />


[![Dependabot compatibility
score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=mitchellh/vouch/action/manage-by-discussion&package-manager=github_actions&previous-version=1.4.2&new-version=1.5.0)](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>
2026-07-14 09:02:05 -07:00
Mitchell Hashimoto
728134f3fb build(deps): bump mitchellh/vouch/action/sync-codeowners from 1.4.2 to 1.5.0 (#13316)
Bumps
[mitchellh/vouch/action/sync-codeowners](https://github.com/mitchellh/vouch)
from 1.4.2 to 1.5.0.
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/mitchellh/vouch/releases">mitchellh/vouch/action/sync-codeowners's
releases</a>.</em></p>
<blockquote>
<h2>v1.5.0</h2>
<h2>What's New</h2>
<h3>Improvements</h3>
<p>-<strong><code>action/check-issue</code></strong> has a new option
<code>auto-lock</code> to automatically lock closed issues. (<a
href="https://redirect.github.com/mitchellh/vouch/pull/90">#90</a>)</p>
<ul>
<li><strong><code>gh-manage-by-discussion</code></strong> supports
numerical IDs. (<a
href="https://redirect.github.com/mitchellh/vouch/pull/77">#77</a>)</li>
</ul>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="d66fa29a64"><code>d66fa29</code></a>
Merge pull request <a
href="https://redirect.github.com/mitchellh/vouch/issues/93">#93</a>
from mitchellh/dependabot/github_actions/actions/check...</li>
<li><a
href="c22b93d0e8"><code>c22b93d</code></a>
Bump actions/checkout from 6.0.2 to 7.0.0</li>
<li><a
href="baeb3bf7c7"><code>baeb3bf</code></a>
Merge pull request <a
href="https://redirect.github.com/mitchellh/vouch/issues/90">#90</a>
from trag1c/lock-issues</li>
<li><a
href="52aec3d646"><code>52aec3d</code></a>
add an option to lock closed issues</li>
<li><a
href="3dbc69c691"><code>3dbc69c</code></a>
Merge pull request <a
href="https://redirect.github.com/mitchellh/vouch/issues/87">#87</a>
from freepicheep/example-attribute</li>
<li><a
href="a6933466b4"><code>a693346</code></a>
Update VOUCHED list</li>
<li><a
href="21177c0fec"><code>21177c0</code></a>
Merge pull request <a
href="https://redirect.github.com/mitchellh/vouch/issues/74">#74</a>
from pavelzw/vouch-cli</li>
<li><a
href="527cdc3488"><code>527cdc3</code></a>
Merge pull request <a
href="https://redirect.github.com/mitchellh/vouch/issues/81">#81</a>
from mitchellh/dependabot/github_actions/hustcer/setup...</li>
<li><a
href="1895e9c54f"><code>1895e9c</code></a>
feat: use <a
href="https://github.com/example"><code>@​example</code></a> attribute
for command examples</li>
<li><a
href="8c80ada45b"><code>8c80ada</code></a>
Update README</li>
<li>Additional commits viewable in <a
href="c6d80ead49...d66fa29a64">compare
view</a></li>
</ul>
</details>
<br />


[![Dependabot compatibility
score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=mitchellh/vouch/action/sync-codeowners&package-manager=github_actions&previous-version=1.4.2&new-version=1.5.0)](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>
2026-07-14 09:01:55 -07:00
Jon Parise
55a3e33ab2 nushell: add complete attribute (#13310)
Added correct attribute so nushell can generate completions for ghostty
redefined commands (i.e., `ssh` and `sudo`).

Fixes #12008
2026-07-12 21:03:20 -04:00
Mitchell Hashimoto
89621a194c terminal/search: don't clear storage when updating fingerprint (#13311)
Using `clearRetainingCapacity` as it was being used in
Fingerprint.update produces undefined behavior; both the old "copy" and
current version of the fingerprint would still be using the same
storage.

This commit changes the function so that the storage is more clearly
re-used, and shrunk at the end if need be.
2026-07-12 18:00:11 -07:00
dependabot[bot]
0ac423d57b build(deps): bump mitchellh/vouch/action/sync-codeowners
Bumps [mitchellh/vouch/action/sync-codeowners](https://github.com/mitchellh/vouch) from 1.4.2 to 1.5.0.
- [Release notes](https://github.com/mitchellh/vouch/releases)
- [Commits](c6d80ead49...d66fa29a64)

---
updated-dependencies:
- dependency-name: mitchellh/vouch/action/sync-codeowners
  dependency-version: 1.5.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2026-07-13 00:15:06 +00:00
dependabot[bot]
97f70cccfa build(deps): bump mitchellh/vouch/action/manage-by-discussion
Bumps [mitchellh/vouch/action/manage-by-discussion](https://github.com/mitchellh/vouch) from 1.4.2 to 1.5.0.
- [Release notes](https://github.com/mitchellh/vouch/releases)
- [Commits](c6d80ead49...d66fa29a64)

---
updated-dependencies:
- dependency-name: mitchellh/vouch/action/manage-by-discussion
  dependency-version: 1.5.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2026-07-13 00:15:04 +00:00
dependabot[bot]
3f6b9a16bc build(deps): bump mitchellh/vouch/action/check-issue
Bumps [mitchellh/vouch/action/check-issue](https://github.com/mitchellh/vouch) from baeb3bf7c7e6c12d6e33bab3870b7e936580a934 to d66fa29a64600490892131ad87597c30c91fcac4.
- [Release notes](https://github.com/mitchellh/vouch/releases)
- [Commits](baeb3bf7c7...d66fa29a64)

---
updated-dependencies:
- dependency-name: mitchellh/vouch/action/check-issue
  dependency-version: d66fa29a64600490892131ad87597c30c91fcac4
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <support@github.com>
2026-07-13 00:15:02 +00:00
dependabot[bot]
8093d2d437 build(deps): bump mitchellh/vouch/action/check-pr from 1.4.2 to 1.5.0
Bumps [mitchellh/vouch/action/check-pr](https://github.com/mitchellh/vouch) from 1.4.2 to 1.5.0.
- [Release notes](https://github.com/mitchellh/vouch/releases)
- [Commits](c6d80ead49...d66fa29a64)

---
updated-dependencies:
- dependency-name: mitchellh/vouch/action/check-pr
  dependency-version: 1.5.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2026-07-13 00:14:58 +00:00
dependabot[bot]
76222008eb build(deps): bump mitchellh/vouch/action/manage-by-issue
Bumps [mitchellh/vouch/action/manage-by-issue](https://github.com/mitchellh/vouch) from 1.4.2 to 1.5.0.
- [Release notes](https://github.com/mitchellh/vouch/releases)
- [Commits](c6d80ead49...d66fa29a64)

---
updated-dependencies:
- dependency-name: mitchellh/vouch/action/manage-by-issue
  dependency-version: 1.5.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2026-07-13 00:14:57 +00:00
Chris Marchesi
bc8bb6c0f0 terminal/search: don't clear storage when updating fingerprint
Using `clearRetainingCapacity` as it was being used in
Fingerprint.update produces undefined behavior; both the old "copy" and
current version of the fingerprint would still be using the same
storage.

This commit changes the function so that the storage is more clearly
re-used, and shrunk at the end if need be.
2026-07-12 17:09:00 -07:00
Ruoyou Zhang
71522c3114 remove unneeded comments 2026-07-12 17:25:55 -05:00
Ruoyou Zhang
7fa43764b0 add nushell complete attribute 2026-07-12 16:09:36 -05:00
ghostty-vouch[bot]
a3ac713b77 Update VOUCHED list (#13309)
Triggered by [discussion
comment](https://github.com/ghostty-org/ghostty/discussions/13308#discussioncomment-17614846)
from @jcollie.

Vouch: @ruoyouz

Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2026-07-12 20:23:11 +00:00
Mitchell Hashimoto
c4c61c5a80 terminal/search: reuse viewport fingerprint storage (#13307)
Retain the existing fingerprint's storage instead of allocating a fresh
owned slice on every update. The previous approach built a replacement
fingerprint before it knew whether the viewport changed, discarding it
for unchanged viewports.

The fingerprint now rebuilds in place after reserving viewport-sized
capacity and reports whether its contents changed. Unchanged viewport
updates skip the allocation, while changed viewports will usually reuse
the existing buffer for the lifetime of the active search.
2026-07-12 12:41:06 -07:00