Skip to content

Comments

fix(release): write release notes to file instead of capturing stdout#8086

Merged
jdx merged 2 commits intomainfrom
fix/release-notes-formatting
Feb 10, 2026
Merged

fix(release): write release notes to file instead of capturing stdout#8086
jdx merged 2 commits intomainfrom
fix/release-notes-formatting

Conversation

@jdx
Copy link
Owner

@jdx jdx commented Feb 10, 2026

Summary

  • Use Claude's Write tool to write release notes to a temp file instead of capturing raw stdout with --output-format text, eliminating formatting artifacts (extraneous # in titles, conversational preamble)
  • Scope the Write tool to only /tmp/release-notes-output.md using Write($output_file) path restriction
  • Upgrade model from claude-opus-4-5 to claude-opus-4-6

Test plan

  • Run mise run gen-release-notes v2026.2.9 v2026.2.7 and verify clean output with no preamble or extraneous markdown headers

🤖 Generated with Claude Code


Note

Low Risk
Low risk: only adjusts the release-notes generation script flow and CLI invocation, with no impact to runtime behavior beyond how output is captured/validated.

Overview
Switches xtasks/gen-release-notes to have Claude write release notes to a temporary markdown file via the scoped Write($output_file) tool, instead of capturing stdout, to avoid formatting artifacts.

Updates the prompt to instruct file output, upgrades the model to claude-opus-4-6, redirects Claude stdout to /dev/null, and validates the temp file exists and is non-empty before printing it; temp files are cleaned up via a single trap.

Written by Cursor Bugbot for commit 1b7e6ba. This will update automatically on new commits. Configure here.

Use Claude's Write tool to write release notes to a temp file instead
of capturing raw stdout with --output-format text. This eliminates
formatting artifacts like extraneous markdown headers in the title or
conversational preamble in the output.

Also upgrades model from claude-opus-4-5 to claude-opus-4-6.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Copilot AI review requested due to automatic review settings February 10, 2026 12:49
@gemini-code-assist
Copy link
Contributor

Summary of Changes

Hello @jdx, I'm Gemini Code Assist1! I'm currently reviewing this pull request and will post my feedback shortly. In the meantime, here's a summary to help you and other reviewers quickly get up to speed!

This pull request refines the automated release note generation process by leveraging Claude's Write tool to output content directly to a temporary file. This change is designed to produce cleaner, artifact-free release notes by bypassing the need to parse raw standard output. Additionally, the underlying AI model has been updated to a newer version, claude-opus-4-6, to potentially improve generation quality.

Highlights

  • Release Note Generation Improvement: Switched from capturing Claude's standard output to using its Write tool to generate release notes directly into a temporary file, which resolves issues with formatting artifacts and conversational preambles.
  • Tool Scoping: Scoped the Write tool to specifically allow writing only to /tmp/release-notes-output.md, enhancing security and control over file operations.
  • Model Upgrade: Upgraded the Claude model used for release note generation from claude-opus-4-5 to claude-opus-4-6.
Changelog
  • xtasks/gen-release-notes
    • Modified the Claude prompt to explicitly instruct the AI to write its output to a specified temporary file.
    • Updated the claude command to use the Write tool with a path restriction and upgraded the model to claude-opus-4-6.
    • Changed the output validation logic to check for the existence and content of the temporary output file instead of capturing stdout.
    • Added cleanup for the temporary output file using trap.
Activity
  • No human activity has been recorded on this pull request yet.
Using Gemini Code Assist

The full guide for Gemini Code Assist can be found on our documentation page, here are some quick tips.

Invoking Gemini

You can request assistance from Gemini at any point by creating a comment using either /gemini <command> or @gemini-code-assist <command>. Below is a summary of the supported commands on the current page.

Feature Command Description
Code Review /gemini review Performs a code review for the current pull request in its current state.
Pull Request Summary /gemini summary Provides a summary of the current pull request in its current state.
Comment @gemini-code-assist Responds in comments when explicitly tagged, both in pull request comments and review comments.
Help /gemini help Displays a list of available commands.

Customization

To customize Gemini Code Assist for GitHub experience, repository maintainers can create a configuration file and/or provide a custom code review style guide (such as PEP-8 for Python) by creating and adding files to a .gemini/ folder in the base of the repository. Detailed instructions can be found here.

Limitations & Feedback

Gemini Code Assist may make mistakes. Please leave feedback on any instances where its feedback is incorrect or counter productive. You can react with 👍 and 👎 on @gemini-code-assist comments. If you're interested in giving your feedback about your experience with Gemini Code Assist for Github and other Google products, sign up here.

You can also get AI-powered code generation, chat, as well as code reviews directly in the IDE at no cost with the Gemini Code Assist IDE Extension.

Footnotes

  1. Review the Privacy Notices, Generative AI Prohibited Use Policy, Terms of Service, and learn how to configure Gemini Code Assist in GitHub here. Gemini can make mistakes, so double check it and use code with caution.

Copy link
Contributor

@gemini-code-assist gemini-code-assist bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Code Review

The pull request effectively addresses the issue of formatting artifacts by switching Claude's output mechanism from stdout capture to direct file writing. The changes correctly update the prompt instructions for Claude, modify the command-line arguments for the claude CLI tool to use the Write tool with a scoped path, and adjust the script's logic for temporary file management and output validation. The model upgrade is also applied as described. The implementation is clean and directly achieves the stated goals of the pull request.

Copy link
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Updates the release-notes generation task to have Claude write markdown output to a file (via the Write tool) instead of relying on captured stdout, and upgrades the model identifier.

Changes:

  • Instruct Claude to write release notes to /tmp/release-notes-output.md and read that file back for output
  • Allow the Write tool scoped to the output file path and clean up temp artifacts via trap
  • Change the model from claude-opus-4-5-20251101 to claude-opus-4-6

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

Comment on lines 65 to 66
Write your output to the file: /tmp/release-notes-output.md
Do not output anything else — just write to the file.
Copy link

Copilot AI Feb 10, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Using a predictable, fixed filename in /tmp is vulnerable to symlink/hardlink tricks and can lead to clobbering or reading unexpected files. Use a unique temp path (e.g., via mktemp) for output_file and reference that same variable in the prompt so the Write tool is still constrained to exactly that file.

Copilot uses AI. Check for mistakes.
Comment on lines 78 to 82
output_file="/tmp/release-notes-output.md"
rm -f "$output_file"

stderr_file=$(mktemp)
trap 'rm -f "$stderr_file"' EXIT

if ! output=$(
printf '%s' "$prompt" | claude -p \
--model claude-opus-4-5-20251101 \
--permission-mode bypassPermissions \
--output-format text \
--allowedTools "Read,Grep,Glob" 2>"$stderr_file"
); then
trap 'rm -f "$stderr_file" "$output_file"' EXIT
Copy link

Copilot AI Feb 10, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Using a predictable, fixed filename in /tmp is vulnerable to symlink/hardlink tricks and can lead to clobbering or reading unexpected files. Use a unique temp path (e.g., via mktemp) for output_file and reference that same variable in the prompt so the Write tool is still constrained to exactly that file.

Copilot uses AI. Check for mistakes.
Comment on lines 65 to 66
Write your output to the file: /tmp/release-notes-output.md
Do not output anything else — just write to the file.
Copy link

Copilot AI Feb 10, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The output path is duplicated (hard-coded in the prompt and separately in output_file). This can drift if one changes. Prefer constructing the prompt using the output_file variable so there’s a single source of truth.

Copilot uses AI. Check for mistakes.
echo "Changelog length: ${#changelog} chars" >&2

# Capture stderr separately to avoid polluting output
output_file="/tmp/release-notes-output.md"
Copy link

Copilot AI Feb 10, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The output path is duplicated (hard-coded in the prompt and separately in output_file). This can drift if one changes. Prefer constructing the prompt using the output_file variable so there’s a single source of truth.

Copilot uses AI. Check for mistakes.
if ! printf '%s' "$prompt" | claude -p \
--model claude-opus-4-6 \
--permission-mode bypassPermissions \
--allowedTools "Read,Grep,Glob,Write($output_file)" 2>"$stderr_file"; then
Copy link

Copilot AI Feb 10, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Now that stdout is no longer captured, any unexpected stdout from the claude CLI (preamble, warnings, formatting, etc.) will leak into this script’s stdout and corrupt the intended output. Since the release notes are read from $output_file, redirect Claude’s stdout away (e.g., to /dev/null) and rely solely on the file + captured stderr for diagnostics.

Suggested change
--allowedTools "Read,Grep,Glob,Write($output_file)" 2>"$stderr_file"; then
--allowedTools "Read,Grep,Glob,Write($output_file)" >/dev/null 2>"$stderr_file"; then

Copilot uses AI. Check for mistakes.
@github-actions
Copy link

github-actions bot commented Feb 10, 2026

Hyperfine Performance

mise x -- echo

Command Mean [ms] Min [ms] Max [ms] Relative
mise-2026.2.9 x -- echo 22.7 ± 0.6 21.4 28.3 1.00 ± 0.04
mise x -- echo 22.6 ± 0.8 21.3 28.5 1.00

mise env

Command Mean [ms] Min [ms] Max [ms] Relative
mise-2026.2.9 env 21.4 ± 0.6 20.5 28.8 1.00
mise env 22.1 ± 0.6 20.8 24.2 1.03 ± 0.04

mise hook-env

Command Mean [ms] Min [ms] Max [ms] Relative
mise-2026.2.9 hook-env 22.2 ± 0.5 21.2 24.0 1.00
mise hook-env 23.0 ± 1.0 21.5 34.7 1.04 ± 0.05

mise ls

Command Mean [ms] Min [ms] Max [ms] Relative
mise-2026.2.9 ls 20.9 ± 0.5 19.6 23.4 1.00
mise ls 21.3 ± 0.7 19.8 23.6 1.02 ± 0.04

xtasks/test/perf

Command mise-2026.2.9 mise Variance
install (cached) 120ms 119ms +0%
ls (cached) 74ms 73ms +1%
bin-paths (cached) 78ms 78ms +0%
task-ls (cached) 536ms 538ms +0%

Address PR feedback:
- Use mktemp instead of a fixed /tmp path to avoid symlink attacks
- Redirect Claude's stdout to /dev/null since we read from the file
- Reference output_file variable in prompt instead of hardcoding path

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Copy link

@cursor cursor bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Cursor Bugbot has reviewed your changes and found 1 potential issue.

Bugbot Autofix is ON, but a Cloud Agent failed to start.

exit 1
fi

output_file=$(mktemp /tmp/release-notes-XXXXXX.md)
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

mktemp suffix breaks on macOS BSD mktemp

Medium Severity

mktemp /tmp/release-notes-XXXXXX.md uses a template with characters after the trailing Xs, which is a GNU coreutils extension. macOS ships with BSD mktemp, which requires the Xs to be at the very end of the template. On macOS, this command will fail (or worse, create a file literally named release-notes-XXXXXX.md with no randomization). Since the script uses set -euo pipefail, it will abort immediately with a cryptic error on macOS. Dropping the .md suffix (e.g., mktemp /tmp/release-notes-XXXXXX) would be portable across both platforms.

Fix in Cursor Fix in Web

@jdx jdx merged commit d6f7f61 into main Feb 10, 2026
35 checks passed
@jdx jdx deleted the fix/release-notes-formatting branch February 10, 2026 14:05
jdx pushed a commit that referenced this pull request Feb 12, 2026
### 🚀 Features

- **(activate)** add shims directory as fallback when auto-install is
enabled by @ctaintor in [#8106](#8106)
- **(env)** add `tools` variable to tera template context by @jdx in
[#8108](#8108)
- **(set)** add --stdin flag for multiline environment variables by @jdx
in [#8110](#8110)

### 🐛 Bug Fixes

- **(backend)** improve conda patchelf and dependency resolution for
complex packages by @jdx in
[#8087](#8087)
- **(ci)** fix validate-new-tools grep pattern for test field by @jdx in
[#8100](#8100)
- **(config)** make MISE_OFFLINE work correctly by gracefully skipping
network calls by @jdx in [#8109](#8109)
- **(github)** skip v prefix for "latest" version by @jdx in
[#8105](#8105)
- **(gitlab)** resolve tool options from config for aliased tools by
@jdx in [#8084](#8084)
- **(install)** use version_expr for Flutter to fix version resolution
by @jdx in [#8081](#8081)
- **(registry)** add Linux support for tuist by @fortmarek in
[#8102](#8102)
- **(release)** write release notes to file instead of capturing stdout
by @jdx in [#8086](#8086)
- **(upgrade)** tools are not uninstalled properly due to outdated
symlink by @roele in [#8099](#8099)
- **(upgrade)** ensure uninstallation failure does not leave invalid
symlinks by @roele in [#8101](#8101)
- SLSA for in-toto statement with no signatures by @gerhard in
[#8094](#8094)
- Vfox Plugin Auto-Installation for Environment Directives by @pose in
[#8035](#8035)

### 📚 Documentation

- use mise activate for PowerShell in getting-started by @rileychh in
[#8112](#8112)

### 📦 Registry

- add conda backend for mysql by @jdx in
[#8080](#8080)
- add conda backends for 10 asdf-only tools by @jdx in
[#8083](#8083)
- added podman-tui by @tony-sol in
[#8098](#8098)

### Chore

- sort settings.toml alphabetically and add test by @jdx in
[#8111](#8111)

### New Contributors

- @ctaintor made their first contribution in
[#8106](#8106)
- @rileychh made their first contribution in
[#8112](#8112)
- @fortmarek made their first contribution in
[#8102](#8102)
- @pose made their first contribution in
[#8035](#8035)
- @gerhard made their first contribution in
[#8094](#8094)

## 📦 Aqua Registry Updates

#### New Packages (2)

- [`entireio/cli`](https://github.com/entireio/cli)
-
[`rmitchellscott/reManager`](https://github.com/rmitchellscott/reManager)

#### Updated Packages (1)

- [`atuinsh/atuin`](https://github.com/atuinsh/atuin)
jdx pushed a commit that referenced this pull request Feb 12, 2026
### 🚀 Features

- **(activate)** add shims directory as fallback when auto-install is
enabled by @ctaintor in [#8106](#8106)
- **(env)** add `tools` variable to tera template context by @jdx in
[#8108](#8108)
- **(set)** add --stdin flag for multiline environment variables by @jdx
in [#8110](#8110)

### 🐛 Bug Fixes

- **(backend)** improve conda patchelf and dependency resolution for
complex packages by @jdx in
[#8087](#8087)
- **(ci)** fix validate-new-tools grep pattern for test field by @jdx in
[#8100](#8100)
- **(config)** make MISE_OFFLINE work correctly by gracefully skipping
network calls by @jdx in [#8109](#8109)
- **(github)** skip v prefix for "latest" version by @jdx in
[#8105](#8105)
- **(gitlab)** resolve tool options from config for aliased tools by
@jdx in [#8084](#8084)
- **(install)** use version_expr for Flutter to fix version resolution
by @jdx in [#8081](#8081)
- **(registry)** add Linux support for tuist by @fortmarek in
[#8102](#8102)
- **(release)** write release notes to file instead of capturing stdout
by @jdx in [#8086](#8086)
- **(upgrade)** tools are not uninstalled properly due to outdated
symlink by @roele in [#8099](#8099)
- **(upgrade)** ensure uninstallation failure does not leave invalid
symlinks by @roele in [#8101](#8101)
- SLSA for in-toto statement with no signatures by @gerhard in
[#8094](#8094)
- Vfox Plugin Auto-Installation for Environment Directives by @pose in
[#8035](#8035)

### 📚 Documentation

- use mise activate for PowerShell in getting-started by @rileychh in
[#8112](#8112)

### 📦 Registry

- add conda backend for mysql by @jdx in
[#8080](#8080)
- add conda backends for 10 asdf-only tools by @jdx in
[#8083](#8083)
- added podman-tui by @tony-sol in
[#8098](#8098)

### Chore

- sort settings.toml alphabetically and add test by @jdx in
[#8111](#8111)

### New Contributors

- @ctaintor made their first contribution in
[#8106](#8106)
- @rileychh made their first contribution in
[#8112](#8112)
- @fortmarek made their first contribution in
[#8102](#8102)
- @pose made their first contribution in
[#8035](#8035)
- @gerhard made their first contribution in
[#8094](#8094)

## 📦 Aqua Registry Updates

#### New Packages (2)

- [`entireio/cli`](https://github.com/entireio/cli)
-
[`rmitchellscott/reManager`](https://github.com/rmitchellscott/reManager)

#### Updated Packages (1)

- [`atuinsh/atuin`](https://github.com/atuinsh/atuin)
lucasew pushed a commit to lucasew/CONTRIB-mise that referenced this pull request Feb 18, 2026
…jdx#8086)

## Summary
- Use Claude's `Write` tool to write release notes to a temp file
instead of capturing raw stdout with `--output-format text`, eliminating
formatting artifacts (extraneous `#` in titles, conversational preamble)
- Scope the `Write` tool to only `/tmp/release-notes-output.md` using
`Write($output_file)` path restriction
- Upgrade model from `claude-opus-4-5` to `claude-opus-4-6`

## Test plan
- [ ] Run `mise run gen-release-notes v2026.2.9 v2026.2.7` and verify
clean output with no preamble or extraneous markdown headers

🤖 Generated with [Claude Code](https://claude.com/claude-code)

<!-- CURSOR_SUMMARY -->
---

> [!NOTE]
> **Low Risk**
> Low risk: only adjusts the release-notes generation script flow and
CLI invocation, with no impact to runtime behavior beyond how output is
captured/validated.
> 
> **Overview**
> Switches `xtasks/gen-release-notes` to have Claude write release notes
to a temporary markdown file via the scoped `Write($output_file)` tool,
instead of capturing stdout, to avoid formatting artifacts.
> 
> Updates the prompt to instruct file output, upgrades the model to
`claude-opus-4-6`, redirects Claude stdout to `/dev/null`, and validates
the temp file exists and is non-empty before printing it; temp files are
cleaned up via a single trap.
> 
> <sup>Written by [Cursor
Bugbot](https://cursor.com/dashboard?tab=bugbot) for commit
1b7e6ba. This will update automatically
on new commits. Configure
[here](https://cursor.com/dashboard?tab=bugbot).</sup>
<!-- /CURSOR_SUMMARY -->

---------

Co-authored-by: Claude Opus 4.6 <noreply@anthropic.com>
lucasew pushed a commit to lucasew/CONTRIB-mise that referenced this pull request Feb 18, 2026
### 🚀 Features

- **(activate)** add shims directory as fallback when auto-install is
enabled by @ctaintor in [jdx#8106](jdx#8106)
- **(env)** add `tools` variable to tera template context by @jdx in
[jdx#8108](jdx#8108)
- **(set)** add --stdin flag for multiline environment variables by @jdx
in [jdx#8110](jdx#8110)

### 🐛 Bug Fixes

- **(backend)** improve conda patchelf and dependency resolution for
complex packages by @jdx in
[jdx#8087](jdx#8087)
- **(ci)** fix validate-new-tools grep pattern for test field by @jdx in
[jdx#8100](jdx#8100)
- **(config)** make MISE_OFFLINE work correctly by gracefully skipping
network calls by @jdx in [jdx#8109](jdx#8109)
- **(github)** skip v prefix for "latest" version by @jdx in
[jdx#8105](jdx#8105)
- **(gitlab)** resolve tool options from config for aliased tools by
@jdx in [jdx#8084](jdx#8084)
- **(install)** use version_expr for Flutter to fix version resolution
by @jdx in [jdx#8081](jdx#8081)
- **(registry)** add Linux support for tuist by @fortmarek in
[jdx#8102](jdx#8102)
- **(release)** write release notes to file instead of capturing stdout
by @jdx in [jdx#8086](jdx#8086)
- **(upgrade)** tools are not uninstalled properly due to outdated
symlink by @roele in [jdx#8099](jdx#8099)
- **(upgrade)** ensure uninstallation failure does not leave invalid
symlinks by @roele in [jdx#8101](jdx#8101)
- SLSA for in-toto statement with no signatures by @gerhard in
[jdx#8094](jdx#8094)
- Vfox Plugin Auto-Installation for Environment Directives by @pose in
[jdx#8035](jdx#8035)

### 📚 Documentation

- use mise activate for PowerShell in getting-started by @rileychh in
[jdx#8112](jdx#8112)

### 📦 Registry

- add conda backend for mysql by @jdx in
[jdx#8080](jdx#8080)
- add conda backends for 10 asdf-only tools by @jdx in
[jdx#8083](jdx#8083)
- added podman-tui by @tony-sol in
[jdx#8098](jdx#8098)

### Chore

- sort settings.toml alphabetically and add test by @jdx in
[jdx#8111](jdx#8111)

### New Contributors

- @ctaintor made their first contribution in
[jdx#8106](jdx#8106)
- @rileychh made their first contribution in
[jdx#8112](jdx#8112)
- @fortmarek made their first contribution in
[jdx#8102](jdx#8102)
- @pose made their first contribution in
[jdx#8035](jdx#8035)
- @gerhard made their first contribution in
[jdx#8094](jdx#8094)

## 📦 Aqua Registry Updates

#### New Packages (2)

- [`entireio/cli`](https://github.com/entireio/cli)
-
[`rmitchellscott/reManager`](https://github.com/rmitchellscott/reManager)

#### Updated Packages (1)

- [`atuinsh/atuin`](https://github.com/atuinsh/atuin)
lucasew pushed a commit to lucasew/CONTRIB-mise that referenced this pull request Feb 18, 2026
### 🚀 Features

- **(activate)** add shims directory as fallback when auto-install is
enabled by @ctaintor in [jdx#8106](jdx#8106)
- **(env)** add `tools` variable to tera template context by @jdx in
[jdx#8108](jdx#8108)
- **(set)** add --stdin flag for multiline environment variables by @jdx
in [jdx#8110](jdx#8110)

### 🐛 Bug Fixes

- **(backend)** improve conda patchelf and dependency resolution for
complex packages by @jdx in
[jdx#8087](jdx#8087)
- **(ci)** fix validate-new-tools grep pattern for test field by @jdx in
[jdx#8100](jdx#8100)
- **(config)** make MISE_OFFLINE work correctly by gracefully skipping
network calls by @jdx in [jdx#8109](jdx#8109)
- **(github)** skip v prefix for "latest" version by @jdx in
[jdx#8105](jdx#8105)
- **(gitlab)** resolve tool options from config for aliased tools by
@jdx in [jdx#8084](jdx#8084)
- **(install)** use version_expr for Flutter to fix version resolution
by @jdx in [jdx#8081](jdx#8081)
- **(registry)** add Linux support for tuist by @fortmarek in
[jdx#8102](jdx#8102)
- **(release)** write release notes to file instead of capturing stdout
by @jdx in [jdx#8086](jdx#8086)
- **(upgrade)** tools are not uninstalled properly due to outdated
symlink by @roele in [jdx#8099](jdx#8099)
- **(upgrade)** ensure uninstallation failure does not leave invalid
symlinks by @roele in [jdx#8101](jdx#8101)
- SLSA for in-toto statement with no signatures by @gerhard in
[jdx#8094](jdx#8094)
- Vfox Plugin Auto-Installation for Environment Directives by @pose in
[jdx#8035](jdx#8035)

### 📚 Documentation

- use mise activate for PowerShell in getting-started by @rileychh in
[jdx#8112](jdx#8112)

### 📦 Registry

- add conda backend for mysql by @jdx in
[jdx#8080](jdx#8080)
- add conda backends for 10 asdf-only tools by @jdx in
[jdx#8083](jdx#8083)
- added podman-tui by @tony-sol in
[jdx#8098](jdx#8098)

### Chore

- sort settings.toml alphabetically and add test by @jdx in
[jdx#8111](jdx#8111)

### New Contributors

- @ctaintor made their first contribution in
[jdx#8106](jdx#8106)
- @rileychh made their first contribution in
[jdx#8112](jdx#8112)
- @fortmarek made their first contribution in
[jdx#8102](jdx#8102)
- @pose made their first contribution in
[jdx#8035](jdx#8035)
- @gerhard made their first contribution in
[jdx#8094](jdx#8094)

## 📦 Aqua Registry Updates

#### New Packages (2)

- [`entireio/cli`](https://github.com/entireio/cli)
-
[`rmitchellscott/reManager`](https://github.com/rmitchellscott/reManager)

#### Updated Packages (1)

- [`atuinsh/atuin`](https://github.com/atuinsh/atuin)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant