Skip to content

Commit 616068b

Browse files
Merge remote-tracking branch 'origin/main' into hooks/claude-code-compatible
* origin/main: (70 commits) feat: allow goose askai bot to search goose codebase (#7508) Revert "Reapply "fix: prevent crashes in long-running Electron sessions"" Reapply "fix: prevent crashes in long-running Electron sessions" Revert "fix: prevent crashes in long-running Electron sessions" fix: replace unwrap() with graceful error in scheduler execute_job (#7436) fix: Dictation API error message shows incorrect limit (#7423) fix(acp): Use ACP schema types for session/list (#7409) fix(desktop): make bundle and updater asset naming configurable (#7337) fix(openai): preserve order in Responses API history (#7500) Use the correct Goose emoji 🪿 instead of Swan in README.md (#7485) feat(ui): implement fullscreen and pip display modes for MCP Apps (#7312) fix: prevent crashes in long-running Electron sessions Disable tool pair summarization (#7481) fix: New Recipe Warning does not close on cancel (#7524) The client is not the source of truth (#7438) feat: support Anthropic adaptive thinking (#7356) copilot instructions: reword no prerelease docs (#7101) fix(acp): don't fail session creation when model listing is unavailable (#7484) feat: simplify developer extension (#7466) feat: add goose-powered release notes generator workflow (#7503) ... # Conflicts: # Cargo.lock
2 parents 9ead0de + 85c7f97 commit 616068b

File tree

450 files changed

+96454
-24948
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

450 files changed

+96454
-24948
lines changed

.cargo/config.toml

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
[target.x86_64-pc-windows-msvc]
2+
rustflags = ["-C", "link-args=/FORCE:MULTIPLE"]
3+
4+
[target.aarch64-pc-windows-msvc]
5+
rustflags = ["-C", "link-args=/FORCE:MULTIPLE"]

.github/copilot-instructions.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -34,8 +34,8 @@
3434
- Async/await misuse or blocking operations in async contexts
3535
- Improper trait implementations
3636

37-
### No Prerelease Docs
38-
- If the PR contains both code changes to features/functionality AND updates in `/documentation`: Documentation updates must be separated to keep public docs in sync with released versions. Either mark new topics with `unlisted: true` or remove/hide the documentation.
37+
### No Doc Updates with Code Changes
38+
- PRs with code changes shouldn't update `/documentation` - docs deploy on merge, code on release. Use `unlisted: true` or remove/hide docs.
3939

4040
## Project-Specific Context
4141

.github/workflows/goose-issue-solver.yml

Lines changed: 8 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -181,9 +181,11 @@ jobs:
181181
run: |
182182
echo "number=$(jq -r '.number' /tmp/issue.json)" >> $GITHUB_OUTPUT
183183
184-
echo "title<<TITLE_EOF" >> $GITHUB_OUTPUT
184+
# SECURITY: Use random delimiter to prevent injection if title contains our delimiter
185+
DELIMITER="EOF_$(openssl rand -hex 8)"
186+
echo "title<<$DELIMITER" >> $GITHUB_OUTPUT
185187
jq -r '.title' /tmp/issue.json >> $GITHUB_OUTPUT
186-
echo "TITLE_EOF" >> $GITHUB_OUTPUT
188+
echo "$DELIMITER" >> $GITHUB_OUTPUT
187189
188190
- name: Run goose
189191
id: goose
@@ -202,9 +204,11 @@ jobs:
202204
203205
if [ -n "$(git status --porcelain)" ] && [ -f /tmp/issue_summary.txt ]; then
204206
echo "has_changes=true" >> $GITHUB_OUTPUT
205-
echo "summary<<SUMMARY_EOF" >> $GITHUB_OUTPUT
207+
# SECURITY: Use random delimiter to prevent injection if summary contains our delimiter
208+
SUMMARY_DELIMITER="EOF_$(openssl rand -hex 8)"
209+
echo "summary<<$SUMMARY_DELIMITER" >> $GITHUB_OUTPUT
206210
cat /tmp/issue_summary.txt >> $GITHUB_OUTPUT
207-
echo "SUMMARY_EOF" >> $GITHUB_OUTPUT
211+
echo "$SUMMARY_DELIMITER" >> $GITHUB_OUTPUT
208212
else
209213
echo "has_changes=false" >> $GITHUB_OUTPUT
210214
fi

.github/workflows/goose-pr-reviewer.yml

Lines changed: 9 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -274,9 +274,11 @@ jobs:
274274
INSTRUCTIONS="No specific instructions - perform a general code review."
275275
fi
276276
277-
echo "instructions<<INSTRUCTIONS_EOF" >> $GITHUB_OUTPUT
277+
# SECURITY: Use random delimiter to prevent injection if comment contains our delimiter
278+
DELIMITER="EOF_$(openssl rand -hex 8)"
279+
echo "instructions<<$DELIMITER" >> $GITHUB_OUTPUT
278280
echo "$INSTRUCTIONS" >> $GITHUB_OUTPUT
279-
echo "INSTRUCTIONS_EOF" >> $GITHUB_OUTPUT
281+
echo "$DELIMITER" >> $GITHUB_OUTPUT
280282
281283
- name: Run goose review
282284
id: goose
@@ -285,14 +287,16 @@ jobs:
285287
PR_TITLE: ${{ github.event.issue.title }}
286288
PR_BODY: ${{ github.event.issue.body }}
287289
REVIEW_INSTRUCTIONS: ${{ steps.instructions.outputs.instructions }}
290+
# SECURITY: Pass issue JSON via environment variable to avoid heredoc injection
291+
# (GHSA-mm8p-57gq-3xj6) - user-controlled content could terminate heredoc early
292+
ISSUE_JSON: ${{ toJson(github.event.issue) }}
288293
run: |
289294
mkdir -p $HOME/.local/share/goose/sessions
290295
mkdir -p $HOME/.config/goose
291296
git config --global --add safe.directory "$GITHUB_WORKSPACE"
292297
293-
cat > /tmp/pr.json << 'PRJSON'
294-
${{ toJson(github.event.issue) }}
295-
PRJSON
298+
# SECURITY: Use printf with env var instead of heredoc to prevent injection
299+
printf '%s' "$ISSUE_JSON" > /tmp/pr.json
296300
297301
echo "$GOOSE_RECIPE" | envsubst '$PR_NUMBER $PR_TITLE $PR_BODY $REVIEW_INSTRUCTIONS' > /tmp/recipe.yaml
298302

0 commit comments

Comments
 (0)