Skip to content

chore(release): release version 1.27.0 (minor)#7611

Merged
jamadeo merged 6 commits intomainfrom
release/1.27.0
Mar 5, 2026
Merged

chore(release): release version 1.27.0 (minor)#7611
jamadeo merged 6 commits intomainfrom
release/1.27.0

Conversation

@github-actions
Copy link
Contributor

@github-actions github-actions bot commented Mar 2, 2026

Release v1.27.0

How to Release

Push the release tag to trigger the release:

git fetch && git tag v1.27.0 origin/release/1.27.0
git push origin v1.27.0

This PR will auto-merge once the tag is pushed.

Important Notes

  • All commits in this release should have corresponding cherry-picks in main
  • This PR can be closed if the release is not needed.

Changes in This Release

Comparing: v1.26.0...v1.27.0


This release PR was generated automatically.

@github-actions
Copy link
Contributor Author

github-actions bot commented Mar 2, 2026

goose Release Manual Testing Checklist

Version: 1.27.0

Make a copy of this document for each version and check off as steps are verified.

Provider Testing

  • Run ./scripts/test_providers.sh locally from the release branch and verify all providers/models work
  • Launch goose, click reset providers, choose databricks and a model

Starting Conversations

Test various ways to start a conversation:

  • Open home and start a new conversation with "Hello"
    • Agent responds
    • Token count is updated after agent finishes
    • Go to history and see there is a new entry
  • Go back to the main screen, start a new conversation from the hub and see that it opens a new conversation
  • Open history and click the Hello conversation - verify it loads
  • Add a new message to this conversation and see that it is added
  • Change the working directory of an existing conversation
    • Ask "what is your working directory?"
    • Response should match the new directory
  • Open a new window, click chat in left side for new chat
  • Click "create a tamagotchi game" in popular chat topics to test developer extension

Recipes

Create Recipe from Session

  • Start a simple chat conversation like "hi"
  • Click "create a recipe from this session" in the bottom chat bar
    • Recipe title, description and instructions should be filled in with details from the chat
    • Add a few activities and params (params unused indicator should update if added to instructions/prompts or activities)
    • Can launch create and run recipe - launches in a new window showing as a recipe agent chat with parameters filled in and interact with it
    • Recipe should be saved in recipe library

Use Existing Recipe

  • Pick trip planner from recipe hub (go/gooserecipes)
    • See the warning whether to trust this recipe (only on fresh install)
    • See the form pop up
    • Fill in the form with "Africa" and "14 days"
    • Check results are reasonable
    • Ask how many days the trip is for - should say 14

Recipe Management

  • Go to recipe manager and enter a new recipe to generate a joke
    • See that it works if you run it
    • Edit the recipe by bottom bar and click "View/Edit Recipe"
    • Make it generate a limerick instead
    • Check that the updated recipe works
    • Delete the recipe from the recipe manager
    • Verify recipe is actually deleted

Recipe from File

  • Create a file ~/.config/goose/recipes/test-recipe.yaml with the following content:
recipe:
  title: test recipe again
  description: testing recipe again
  instructions: The value of test_param is {{test_param}}
  prompt: What is the value of test_param?
  parameters:
    - key: test_param
      input_type: string
      requirement: required
      description: Enter value for test_param
  • See that it shows up in the list of installed recipes
  • Launch the recipe, see that it asks for test_param
  • Enter a number, see that it pre-fills the prompt and tells you the value after you hit submit
  • Go to hub and enter "what is the value of test_param"
  • See a new chat that says it has no idea (recipe is no longer active)

Extensions

Manual Extension Addition

  • Can manually add an extension using random quotes from project
    • Add new custom stdio extension with the following command and save:
      • node /ABSOLUTE/PATH/TO/goose/ui/desktop/tests/e2e/basic-mcp.ts (use your actual project path)
      • Should add and can chat to ask for a random quote

Playwright Extension

  • Install the playwright extension from the extensions hub
    • Tell it to open a browser and search on Google for cats
    • Verify that the browser opens and navigates

Extension with Environment Variables

  • Install an extension from deeplink that needs env variables:
    • Use: goose://extension?cmd=npx&arg=-y&arg=%40upstash%2Fcontext7-mcp&id=context7&name=Context7&description=Use%20up-to-date%20code%20and%20docs&env=TEST_ACCESS_TOKEN
    • Extension page should load with env variables modal showing
    • Allow form input and saving extension

Speech-to-Text (Local Model)

  • Go to Settings > Chat > Voice dictation provider and select the small model
  • Run a quick test that speech-to-text is working (click the mic button, speak, verify transcription)
  • Also try OpenAI using your OpenAI key

Settings

  • Settings page loads and all tabs load
  • Can change dark mode setting

Follow-up Issues

Link any GitHub issues filed during testing:


Tested by: _____
Date: _____
Notes: _____

@lifeizhou-ap lifeizhou-ap reopened this Mar 4, 2026
@github-actions
Copy link
Contributor Author

github-actions bot commented Mar 4, 2026

macOS ARM64 Desktop App (Apple Silicon)

📱 Download macOS Desktop App (arm64, unsigned)

Instructions:

The easiest way is to just run the following script:

./scripts/pre-release.sh

script which will download the latest release (or you can specify the release you need), does the
unzip, xattr to get it out of quarantine and signs it.

If you need to do this manually:

  • Download the file
  • Unzip
  • run xattr -r -d com.apple.quarantine '/path/to/Goose.app'
  • optionally run codesign --force --deep --sign - --entitlements ui/desktop/entitlements.plist '/path/to/Goose.app'
  • start the app

The signing step is only needed if you do something that uses mac entitlements like speech to text

@github-actions
Copy link
Contributor Author

github-actions bot commented Mar 4, 2026

macOS ARM64 Desktop App (Apple Silicon)

📱 Download macOS Desktop App (arm64, unsigned)

Instructions:

The easiest way is to just run the following script:

./scripts/pre-release.sh

script which will download the latest release (or you can specify the release you need), does the
unzip, xattr to get it out of quarantine and signs it.

If you need to do this manually:

  • Download the file
  • Unzip
  • run xattr -r -d com.apple.quarantine '/path/to/Goose.app'
  • optionally run codesign --force --deep --sign - --entitlements ui/desktop/entitlements.plist '/path/to/Goose.app'
  • start the app

The signing step is only needed if you do something that uses mac entitlements like speech to text

@github-actions
Copy link
Contributor Author

github-actions bot commented Mar 4, 2026

macOS ARM64 Desktop App (Apple Silicon)

📱 Download macOS Desktop App (arm64, unsigned)

Instructions:

The easiest way is to just run the following script:

./scripts/pre-release.sh

script which will download the latest release (or you can specify the release you need), does the
unzip, xattr to get it out of quarantine and signs it.

If you need to do this manually:

  • Download the file
  • Unzip
  • run xattr -r -d com.apple.quarantine '/path/to/Goose.app'
  • optionally run codesign --force --deep --sign - --entitlements ui/desktop/entitlements.plist '/path/to/Goose.app'
  • start the app

The signing step is only needed if you do something that uses mac entitlements like speech to text

@github-actions
Copy link
Contributor Author

github-actions bot commented Mar 4, 2026

macOS ARM64 Desktop App (Apple Silicon)

📱 Download macOS Desktop App (arm64, unsigned)

Instructions:

The easiest way is to just run the following script:

./scripts/pre-release.sh

script which will download the latest release (or you can specify the release you need), does the
unzip, xattr to get it out of quarantine and signs it.

If you need to do this manually:

  • Download the file
  • Unzip
  • run xattr -r -d com.apple.quarantine '/path/to/Goose.app'
  • optionally run codesign --force --deep --sign - --entitlements ui/desktop/entitlements.plist '/path/to/Goose.app'
  • start the app

The signing step is only needed if you do something that uses mac entitlements like speech to text

@github-actions
Copy link
Contributor Author

github-actions bot commented Mar 4, 2026

macOS ARM64 Desktop App (Apple Silicon)

📱 Download macOS Desktop App (arm64, unsigned)

Instructions:

The easiest way is to just run the following script:

./scripts/pre-release.sh

script which will download the latest release (or you can specify the release you need), does the
unzip, xattr to get it out of quarantine and signs it.

If you need to do this manually:

  • Download the file
  • Unzip
  • run xattr -r -d com.apple.quarantine '/path/to/Goose.app'
  • optionally run codesign --force --deep --sign - --entitlements ui/desktop/entitlements.plist '/path/to/Goose.app'
  • start the app

The signing step is only needed if you do something that uses mac entitlements like speech to text

Copy link

@chatgpt-codex-connector chatgpt-codex-connector bot left a comment

Choose a reason for hiding this comment

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

💡 Codex Review

Here are some automated review suggestions for this pull request.

Reviewed commit: 9fbd3c4439

ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".

Comment on lines 53 to 55
`;; Protect sandbox config from the sandboxed process`,
`(deny file-write* (subpath "${h}/.config/goose/sandbox"))`,
`(deny file-write* (literal "${h}/.config/goose/config.yaml"))`,
];

Choose a reason for hiding this comment

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

P1 Badge Reintroduce config.yaml write deny in sandbox profile

Removing the config.yaml deny rule means the macOS seatbelt profile now runs with (allow default) and no explicit write block for ~/.config/goose/config.yaml, so any sandboxed shell/file operation can persistently modify Goose configuration. In practice, a prompt-influenced command can now alter provider/extension settings for future sessions, which breaks the previous boundary that sandboxed execution could not tamper with host agent config.

Useful? React with 👍 / 👎.

@github-actions
Copy link
Contributor Author

github-actions bot commented Mar 4, 2026

macOS ARM64 Desktop App (Apple Silicon)

📱 Download macOS Desktop App (arm64, unsigned)

Instructions:

The easiest way is to just run the following script:

./scripts/pre-release.sh

script which will download the latest release (or you can specify the release you need), does the
unzip, xattr to get it out of quarantine and signs it.

If you need to do this manually:

  • Download the file
  • Unzip
  • run xattr -r -d com.apple.quarantine '/path/to/Goose.app'
  • optionally run codesign --force --deep --sign - --entitlements ui/desktop/entitlements.plist '/path/to/Goose.app'
  • start the app

The signing step is only needed if you do something that uses mac entitlements like speech to text

@jamadeo jamadeo merged commit 3c28fbe into main Mar 5, 2026
44 of 46 checks passed
@jamadeo jamadeo deleted the release/1.27.0 branch March 5, 2026 20:22
wpfleger96 added a commit that referenced this pull request Mar 6, 2026
…e-issue

* origin/main:
  Fix max turns configuration (#7612)
  feat: add base path field to custom provider configuration (#7614)
  fix: compare extension configs before skipping add_extension (#7650)
  chore(release): release version 1.27.0 (minor) (#7611)
  feat: better private channel detection, bot version debugging (#7680)
  chore(deps): bump svgo from 3.3.2 to 3.3.3 in /documentation (#7667)
  fix: only add viewable channels to bot context (#7678)
  chore: added a recipe to help identify high risk change prs for testing (#7651)
  fix: make sure platform binary exists (#7676)
wpfleger96 added a commit that referenced this pull request Mar 6, 2026
* origin/main: (29 commits)
  Update to rmcp 1.1.0 (#7619)
  Fix max turns configuration (#7612)
  feat: add base path field to custom provider configuration (#7614)
  fix: compare extension configs before skipping add_extension (#7650)
  chore(release): release version 1.27.0 (minor) (#7611)
  feat: better private channel detection, bot version debugging (#7680)
  chore(deps): bump svgo from 3.3.2 to 3.3.3 in /documentation (#7667)
  fix: only add viewable channels to bot context (#7678)
  chore: added a recipe to help identify high risk change prs for testing (#7651)
  fix: make sure platform binary exists (#7676)
  fix(shell): replace global static output buffer with per-instance TempDir (#7632)
  opt: remove timestamped config file backup (#7618)
  chore(deps): bump @hono/node-server from 1.19.9 to 1.19.10 in /ui/desktop (#7662)
  chore(deps): bump hono from 4.12.3 to 4.12.5 in /evals/open-model-gym/mcp-harness (#7661)
  chore(deps): bump hono from 4.12.2 to 4.12.5 in /ui/desktop (#7660)
  fix: resolve parameters in initial message with autosubmit (#7659)
  fix: this should not be blocked (#7656)
  Relax the assertion for the model list ACP test (#7653)
  fix: add analyzer extension in recipe to maintain backwards compatibility  (#7652)
  docs: add GOOSE_INPUT_LIMIT environment variable documentation (#7299)
  ...
michaelneale added a commit that referenced this pull request Mar 6, 2026
* origin/main: (40 commits)
  fix: make TLS configurable in goosed agent via GOOSE_TLS env var (#7686)
  Update to rmcp 1.1.0 (#7619)
  Fix max turns configuration (#7612)
  feat: add base path field to custom provider configuration (#7614)
  fix: compare extension configs before skipping add_extension (#7650)
  chore(release): release version 1.27.0 (minor) (#7611)
  feat: better private channel detection, bot version debugging (#7680)
  chore(deps): bump svgo from 3.3.2 to 3.3.3 in /documentation (#7667)
  fix: only add viewable channels to bot context (#7678)
  chore: added a recipe to help identify high risk change prs for testing (#7651)
  fix: make sure platform binary exists (#7676)
  fix(shell): replace global static output buffer with per-instance TempDir (#7632)
  opt: remove timestamped config file backup (#7618)
  chore(deps): bump @hono/node-server from 1.19.9 to 1.19.10 in /ui/desktop (#7662)
  chore(deps): bump hono from 4.12.3 to 4.12.5 in /evals/open-model-gym/mcp-harness (#7661)
  chore(deps): bump hono from 4.12.2 to 4.12.5 in /ui/desktop (#7660)
  fix: resolve parameters in initial message with autosubmit (#7659)
  fix: this should not be blocked (#7656)
  Relax the assertion for the model list ACP test (#7653)
  fix: add analyzer extension in recipe to maintain backwards compatibility  (#7652)
  ...
Abhijay007 pushed a commit to Abhijay007/goose that referenced this pull request Mar 6, 2026
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
Co-authored-by: Jack Amadeo <jackamadeo@block.xyz>
Co-authored-by: Lifei Zhou <lifei@squareup.com>
Co-authored-by: Michael Neale <michael.neale@gmail.com>
wpfleger96 added a commit that referenced this pull request Mar 6, 2026
* origin/main: (59 commits)
  fix: restore smart-approve mode (#7690)
  fix: make TLS configurable in goosed agent via GOOSE_TLS env var (#7686)
  Update to rmcp 1.1.0 (#7619)
  Fix max turns configuration (#7612)
  feat: add base path field to custom provider configuration (#7614)
  fix: compare extension configs before skipping add_extension (#7650)
  chore(release): release version 1.27.0 (minor) (#7611)
  feat: better private channel detection, bot version debugging (#7680)
  chore(deps): bump svgo from 3.3.2 to 3.3.3 in /documentation (#7667)
  fix: only add viewable channels to bot context (#7678)
  chore: added a recipe to help identify high risk change prs for testing (#7651)
  fix: make sure platform binary exists (#7676)
  fix(shell): replace global static output buffer with per-instance TempDir (#7632)
  opt: remove timestamped config file backup (#7618)
  chore(deps): bump @hono/node-server from 1.19.9 to 1.19.10 in /ui/desktop (#7662)
  chore(deps): bump hono from 4.12.3 to 4.12.5 in /evals/open-model-gym/mcp-harness (#7661)
  chore(deps): bump hono from 4.12.2 to 4.12.5 in /ui/desktop (#7660)
  fix: resolve parameters in initial message with autosubmit (#7659)
  fix: this should not be blocked (#7656)
  Relax the assertion for the model list ACP test (#7653)
  ...
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.

3 participants