Skip to content

feat: add migrate subcommand#2679

Merged
Yuan325 merged 7 commits into
mainfrom
cli-migrate
Mar 19, 2026
Merged

feat: add migrate subcommand#2679
Yuan325 merged 7 commits into
mainfrom
cli-migrate

Conversation

@Yuan325

@Yuan325 Yuan325 commented Mar 9, 2026

Copy link
Copy Markdown
Contributor

Add a migrate subcommand to help migrate all configuration files to flat format.

This PR also updates the LoadConfig() function in options.go by extracting the custom config path logic into a new function. This removes duplication and makes the logic reusable for the migrate subcommand.

@Yuan325 Yuan325 requested a review from a team as a code owner March 9, 2026 17:04
@gemini-code-assist

Copy link
Copy Markdown
Contributor

Summary of Changes

Hello, 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 significantly enhances the genai-toolbox CLI by adding a new migrate subcommand. This command provides a streamlined way for users to update their existing configuration files to a new, improved v2 format, addressing potential compatibility issues and simplifying future maintenance. The changes also include a substantial refactoring of the core configuration loading logic, making it more robust and adaptable for various command-line operations, and ensuring that the serve command can operate more flexibly regarding configuration presence.

Highlights

  • New migrate subcommand: Introduced a new migrate subcommand to the CLI, allowing users to convert their configuration files to a new v2 format.
  • Configuration file migration: The migrate command supports migrating single files, multiple files specified by a comma-separated list, or all YAML files within a designated folder.
  • Dry-run functionality: A --dry-run flag has been added to the migrate command, enabling users to preview the converted configuration format without making actual changes to their files.
  • Refactored configuration loading: The internal LoadConfig function has been refactored into GetCustomConfigFiles and LoadConfig, improving modularity and allowing for more flexible handling of missing configuration files across different commands.
  • Updated serve command: The serve command now correctly loads configuration files by utilizing the refactored LoadConfig with allowMissingConfig set to true, ensuring it can start even without a default tools.yaml.
Changelog
  • cmd/internal/invoke/command.go
    • Modified the call to opts.LoadConfig to include the allowMissingConfig parameter, setting it to false.
  • cmd/internal/migrate/command.go
    • Added a new file defining the migrateCmd struct and its NewCommand and runMigrate functions, implementing the logic for configuration file migration.
  • cmd/internal/migrate/command_test.go
    • Added a new file containing comprehensive unit tests for the migrate subcommand, covering single file, multiple files, folder migration, and dry-run scenarios.
  • cmd/internal/options.go
    • Introduced GetCustomConfigFiles to separate the logic for retrieving custom configuration file paths.
    • Updated LoadConfig to accept an allowMissingConfig boolean and utilize GetCustomConfigFiles.
    • Added logic to GetCustomConfigFiles to enforce exclusivity among --tools-file, --tools-files, and --tools-folder flags.
    • Modified default tools.yaml handling to check for file existence when allowMissingFile is true.
  • cmd/internal/serve/command.go
    • Added internal.ConfigFileFlags to the serve command to enable configuration file flags.
    • Modified the call to opts.LoadConfig to include the allowMissingConfig parameter, setting it to true.
  • cmd/internal/skills/command.go
    • Modified the call to opts.LoadConfig to include the allowMissingConfig parameter, setting it to false.
  • cmd/internal/tools_file.go
    • Renamed the internal convertToolsFile function to ConvertToolsFile and made it public.
    • Refactored LoadAndMergeToolsFolder into GetPathsFromToolsFolder to return a slice of file paths instead of merging them directly.
    • Adjusted LoadAndMergeToolsFiles to handle cases with a single file more directly.
  • cmd/internal/tools_file_test.go
    • Updated test calls from convertToolsFile to ConvertToolsFile.
  • cmd/root.go
    • Imported the new migrate package.
    • Added the migrate.NewCommand to the root Cobra command.
    • Updated the LoadConfig call in the root command's run function to pass false for allowMissingConfig.
    • Modified watchChanges to use internal.GetPathsFromToolsFolder for retrieving file paths when watching a folder.
Activity
  • No specific activity (comments, reviews, progress) has been recorded for 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.

@Yuan325 Yuan325 marked this pull request as draft March 9, 2026 17:06

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

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Code Review

This pull request introduces a new migrate command to convert configuration files to a new format, including dry-run functionality and backup creation. The configuration loading logic has been refactored by extracting GetCustomConfigFiles and GetPathsFromToolsFolder, and the ConvertToolsFile function is now public. Review feedback indicates that the LoadAndMergeToolsFiles function requires a check for empty input to prevent panics, the migrate command's error handling for file operations should be refactored for clarity using errors.Join, and a security vulnerability exists where the migrate command hardcodes file permissions to 0644, potentially exposing sensitive data by not preserving original, more restrictive permissions. Additionally, a resolved TODO comment should be removed, and a typo in the ConvertToolsFile comment needs correction.

Comment thread cmd/internal/tools_file.go
Comment thread cmd/internal/migrate/command.go
Comment thread cmd/internal/migrate/command.go Outdated
Comment thread cmd/internal/migrate/command.go Outdated
Comment thread cmd/internal/tools_file.go Outdated
@Yuan325 Yuan325 force-pushed the cli-migrate branch 2 times, most recently from ca07bcd to e74af36 Compare March 10, 2026 04:17
@Yuan325

Yuan325 commented Mar 10, 2026

Copy link
Copy Markdown
Contributor Author

/gemini review

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

Copy link
Copy Markdown
Contributor

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 introduces a new migrate command to convert configuration files to a v2 format, featuring dry-run capabilities, file backup, and error recovery. This involved refactoring the configuration loading logic by extracting file path retrieval into a new GetCustomConfigFiles function and making ConvertToolsFile public. The serve command was updated to utilize this new configuration loading mechanism, and the file watching logic in the root command was adjusted to align with the refactored path retrieval. Review feedback suggests improving the migration command's error handling to collect all errors when processing multiple files, rather than stopping on the first error, and to use opts.IOStreams.Out for dry-run output to ensure consistent I/O and testability.

Comment thread cmd/internal/migrate/command.go
Comment thread cmd/internal/migrate/command.go Outdated
@Yuan325 Yuan325 force-pushed the cli-migrate branch 2 times, most recently from 9cb8fc6 to 1a187a9 Compare March 10, 2026 16:40
@Yuan325 Yuan325 marked this pull request as ready for review March 10, 2026 16:41
Comment thread cmd/internal/migrate/command.go Outdated
Comment thread cmd/internal/migrate/command.go Outdated
Comment thread cmd/internal/migrate/command.go Outdated
@Yuan325

Yuan325 commented Mar 17, 2026

Copy link
Copy Markdown
Contributor Author

/gemini review

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

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Code Review

This pull request introduces a new migrate subcommand to facilitate the migration of configuration files to the new flat format. The implementation includes creating backup files, handling dry-run mode, and robust error handling. The changes also involve refactoring the configuration loading logic in cmd/internal/options.go and cmd/internal/tools_file.go for better modularity and reusability, which is a good improvement. The comment regarding the file restore logic has been kept to improve its robustness on different operating systems.

Comment thread cmd/internal/migrate/command.go
@Yuan325

Yuan325 commented Mar 17, 2026

Copy link
Copy Markdown
Contributor Author

/gemini review

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

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Code Review

This pull request introduces a new migrate subcommand to assist with configuration file format migration. The implementation is well-structured, with good error handling and comprehensive tests. A significant part of this PR is the refactoring of configuration loading logic in cmd/internal/options.go, which extracts file path resolution into a new reusable function GetCustomConfigFiles. This is a good improvement that reduces code duplication and supports the new migrate command. I have one suggestion to improve an error message that became less specific due to the refactoring, aligning with the goal of providing more informative user feedback.

Comment thread cmd/internal/tools_file.go
@Yuan325 Yuan325 requested a review from averikitsch March 17, 2026 20:05
Base automatically changed from cli-serve to main March 17, 2026 21:46
@Yuan325 Yuan325 enabled auto-merge (squash) March 19, 2026 00:26
@Yuan325 Yuan325 merged commit 12171f7 into main Mar 19, 2026
19 checks passed
@Yuan325 Yuan325 deleted the cli-migrate branch March 19, 2026 00:43
github-actions Bot pushed a commit to xaas-cloud/genai-toolbox that referenced this pull request Mar 19, 2026
Add a `migrate` subcommand to help migrate all configuration files to
flat format.

This PR also updates the `LoadConfig()` function in `options.go` by
extracting the custom config path logic into a new function. This
removes duplication and makes the logic reusable for the migrate
subcommand. 12171f7
Yuan325 added a commit that referenced this pull request Mar 20, 2026
🤖 I have created a release *beep* *boop*
---


##
[0.30.0](v0.29.0...v0.30.0)
(2026-03-20)


### Features

* **cli:** Add migrate subcommand
([#2679](#2679))
([12171f7](12171f7))
* **cli:** Add serve subcommand
([#2550](#2550))
([1e2c7c7](1e2c7c7))
* **skill:** One skill per toolset
([#2733](#2733))
([5b85c65](5b85c65))
* **source/oracledb:** Add Oracle DB for MCP tools and configurations,
updated tools and documentation
([#2625](#2625))
([e350fc7](e350fc7))
* **tools/looker:** Support git_branch tools for looker.
([#2718](#2718))
([70ed8a0](70ed8a0))
* **tools/dataplex-search-entries:** Add `scope` support to
search_entries tool
([#2740](#2740))
([10af468](10af468))


### Bug Fixes

* **cloudloggingadmin:** Increase log injesting time and add auth test
([#2772](#2772))
([50b4457](50b4457))
* **oracle:** Normalize encoded proxy usernames in go-ora DSN
([#2469](#2469))
([b1333cd](b1333cd))
* **postgres:** Update execute-sql tool to avoid multi-statements
parameter
([#2707](#2707))
([58bc772](58bc772))
* **skills:** Improve flag validation and silence unit test output
([#2759](#2759))
([f3da6aa](f3da6aa))
* **test:** Address flaky healthcare integration test run
([#2742](#2742))
([9590821](9590821))


### Reverts

* **ci:** Implement conditional sharding logic in integration tests
([#2763](#2763))
([1528d7c](1528d7c))

---
This PR was generated with [Release
Please](https://github.com/googleapis/release-please). See
[documentation](https://github.com/googleapis/release-please#release-please).

---------

Co-authored-by: release-please[bot] <55107282+release-please[bot]@users.noreply.github.com>
Co-authored-by: Yuan Teoh <45984206+Yuan325@users.noreply.github.com>
github-actions Bot pushed a commit that referenced this pull request Mar 20, 2026
🤖 I have created a release *beep* *boop*
---

##
[0.30.0](v0.29.0...v0.30.0)
(2026-03-20)

### Features

* **cli:** Add migrate subcommand
([#2679](#2679))
([12171f7](12171f7))
* **cli:** Add serve subcommand
([#2550](#2550))
([1e2c7c7](1e2c7c7))
* **skill:** One skill per toolset
([#2733](#2733))
([5b85c65](5b85c65))
* **source/oracledb:** Add Oracle DB for MCP tools and configurations,
updated tools and documentation
([#2625](#2625))
([e350fc7](e350fc7))
* **tools/looker:** Support git_branch tools for looker.
([#2718](#2718))
([70ed8a0](70ed8a0))
* **tools/dataplex-search-entries:** Add `scope` support to
search_entries tool
([#2740](#2740))
([10af468](10af468))

### Bug Fixes

* **cloudloggingadmin:** Increase log injesting time and add auth test
([#2772](#2772))
([50b4457](50b4457))
* **oracle:** Normalize encoded proxy usernames in go-ora DSN
([#2469](#2469))
([b1333cd](b1333cd))
* **postgres:** Update execute-sql tool to avoid multi-statements
parameter
([#2707](#2707))
([58bc772](58bc772))
* **skills:** Improve flag validation and silence unit test output
([#2759](#2759))
([f3da6aa](f3da6aa))
* **test:** Address flaky healthcare integration test run
([#2742](#2742))
([9590821](9590821))

### Reverts

* **ci:** Implement conditional sharding logic in integration tests
([#2763](#2763))
([1528d7c](1528d7c))

---
This PR was generated with [Release
Please](https://github.com/googleapis/release-please). See
[documentation](https://github.com/googleapis/release-please#release-please).

---------

Co-authored-by: release-please[bot] <55107282+release-please[bot]@users.noreply.github.com>
Co-authored-by: Yuan Teoh <45984206+Yuan325@users.noreply.github.com> 5ef1c0d
github-actions Bot pushed a commit to renovate-bot/googleapis-_-genai-toolbox that referenced this pull request Mar 20, 2026
🤖 I have created a release *beep* *boop*
---

##
[0.30.0](googleapis/mcp-toolbox@v0.29.0...v0.30.0)
(2026-03-20)

### Features

* **cli:** Add migrate subcommand
([googleapis#2679](googleapis#2679))
([12171f7](googleapis@12171f7))
* **cli:** Add serve subcommand
([googleapis#2550](googleapis#2550))
([1e2c7c7](googleapis@1e2c7c7))
* **skill:** One skill per toolset
([googleapis#2733](googleapis#2733))
([5b85c65](googleapis@5b85c65))
* **source/oracledb:** Add Oracle DB for MCP tools and configurations,
updated tools and documentation
([googleapis#2625](googleapis#2625))
([e350fc7](googleapis@e350fc7))
* **tools/looker:** Support git_branch tools for looker.
([googleapis#2718](googleapis#2718))
([70ed8a0](googleapis@70ed8a0))
* **tools/dataplex-search-entries:** Add `scope` support to
search_entries tool
([googleapis#2740](googleapis#2740))
([10af468](googleapis@10af468))

### Bug Fixes

* **cloudloggingadmin:** Increase log injesting time and add auth test
([googleapis#2772](googleapis#2772))
([50b4457](googleapis@50b4457))
* **oracle:** Normalize encoded proxy usernames in go-ora DSN
([googleapis#2469](googleapis#2469))
([b1333cd](googleapis@b1333cd))
* **postgres:** Update execute-sql tool to avoid multi-statements
parameter
([googleapis#2707](googleapis#2707))
([58bc772](googleapis@58bc772))
* **skills:** Improve flag validation and silence unit test output
([googleapis#2759](googleapis#2759))
([f3da6aa](googleapis@f3da6aa))
* **test:** Address flaky healthcare integration test run
([googleapis#2742](googleapis#2742))
([9590821](googleapis@9590821))

### Reverts

* **ci:** Implement conditional sharding logic in integration tests
([googleapis#2763](googleapis#2763))
([1528d7c](googleapis@1528d7c))

---
This PR was generated with [Release
Please](https://github.com/googleapis/release-please). See
[documentation](https://github.com/googleapis/release-please#release-please).

---------

Co-authored-by: release-please[bot] <55107282+release-please[bot]@users.noreply.github.com>
Co-authored-by: Yuan Teoh <45984206+Yuan325@users.noreply.github.com> 5ef1c0d
github-actions Bot pushed a commit to xaas-cloud/genai-toolbox that referenced this pull request Mar 20, 2026
🤖 I have created a release *beep* *boop*
---

##
[0.30.0](googleapis/mcp-toolbox@v0.29.0...v0.30.0)
(2026-03-20)

### Features

* **cli:** Add migrate subcommand
([googleapis#2679](googleapis#2679))
([12171f7](googleapis@12171f7))
* **cli:** Add serve subcommand
([googleapis#2550](googleapis#2550))
([1e2c7c7](googleapis@1e2c7c7))
* **skill:** One skill per toolset
([googleapis#2733](googleapis#2733))
([5b85c65](googleapis@5b85c65))
* **source/oracledb:** Add Oracle DB for MCP tools and configurations,
updated tools and documentation
([googleapis#2625](googleapis#2625))
([e350fc7](googleapis@e350fc7))
* **tools/looker:** Support git_branch tools for looker.
([googleapis#2718](googleapis#2718))
([70ed8a0](googleapis@70ed8a0))
* **tools/dataplex-search-entries:** Add `scope` support to
search_entries tool
([googleapis#2740](googleapis#2740))
([10af468](googleapis@10af468))

### Bug Fixes

* **cloudloggingadmin:** Increase log injesting time and add auth test
([googleapis#2772](googleapis#2772))
([50b4457](googleapis@50b4457))
* **oracle:** Normalize encoded proxy usernames in go-ora DSN
([googleapis#2469](googleapis#2469))
([b1333cd](googleapis@b1333cd))
* **postgres:** Update execute-sql tool to avoid multi-statements
parameter
([googleapis#2707](googleapis#2707))
([58bc772](googleapis@58bc772))
* **skills:** Improve flag validation and silence unit test output
([googleapis#2759](googleapis#2759))
([f3da6aa](googleapis@f3da6aa))
* **test:** Address flaky healthcare integration test run
([googleapis#2742](googleapis#2742))
([9590821](googleapis@9590821))

### Reverts

* **ci:** Implement conditional sharding logic in integration tests
([googleapis#2763](googleapis#2763))
([1528d7c](googleapis@1528d7c))

---
This PR was generated with [Release
Please](https://github.com/googleapis/release-please). See
[documentation](https://github.com/googleapis/release-please#release-please).

---------

Co-authored-by: release-please[bot] <55107282+release-please[bot]@users.noreply.github.com>
Co-authored-by: Yuan Teoh <45984206+Yuan325@users.noreply.github.com> 5ef1c0d
github-actions Bot pushed a commit to Jaleel-zhu/genai-toolbox that referenced this pull request Mar 20, 2026
🤖 I have created a release *beep* *boop*
---

##
[0.30.0](googleapis/mcp-toolbox@v0.29.0...v0.30.0)
(2026-03-20)

### Features

* **cli:** Add migrate subcommand
([googleapis#2679](googleapis#2679))
([12171f7](googleapis@12171f7))
* **cli:** Add serve subcommand
([googleapis#2550](googleapis#2550))
([1e2c7c7](googleapis@1e2c7c7))
* **skill:** One skill per toolset
([googleapis#2733](googleapis#2733))
([5b85c65](googleapis@5b85c65))
* **source/oracledb:** Add Oracle DB for MCP tools and configurations,
updated tools and documentation
([googleapis#2625](googleapis#2625))
([e350fc7](googleapis@e350fc7))
* **tools/looker:** Support git_branch tools for looker.
([googleapis#2718](googleapis#2718))
([70ed8a0](googleapis@70ed8a0))
* **tools/dataplex-search-entries:** Add `scope` support to
search_entries tool
([googleapis#2740](googleapis#2740))
([10af468](googleapis@10af468))

### Bug Fixes

* **cloudloggingadmin:** Increase log injesting time and add auth test
([googleapis#2772](googleapis#2772))
([50b4457](googleapis@50b4457))
* **oracle:** Normalize encoded proxy usernames in go-ora DSN
([googleapis#2469](googleapis#2469))
([b1333cd](googleapis@b1333cd))
* **postgres:** Update execute-sql tool to avoid multi-statements
parameter
([googleapis#2707](googleapis#2707))
([58bc772](googleapis@58bc772))
* **skills:** Improve flag validation and silence unit test output
([googleapis#2759](googleapis#2759))
([f3da6aa](googleapis@f3da6aa))
* **test:** Address flaky healthcare integration test run
([googleapis#2742](googleapis#2742))
([9590821](googleapis@9590821))

### Reverts

* **ci:** Implement conditional sharding logic in integration tests
([googleapis#2763](googleapis#2763))
([1528d7c](googleapis@1528d7c))

---
This PR was generated with [Release
Please](https://github.com/googleapis/release-please). See
[documentation](https://github.com/googleapis/release-please#release-please).

---------

Co-authored-by: release-please[bot] <55107282+release-please[bot]@users.noreply.github.com>
Co-authored-by: Yuan Teoh <45984206+Yuan325@users.noreply.github.com> 5ef1c0d
github-actions Bot pushed a commit to bhardwajRahul/genai-toolbox that referenced this pull request Mar 20, 2026
Add a `migrate` subcommand to help migrate all configuration files to
flat format.

This PR also updates the `LoadConfig()` function in `options.go` by
extracting the custom config path logic into a new function. This
removes duplication and makes the logic reusable for the migrate
subcommand. 12171f7
github-actions Bot pushed a commit to pepe57/genai-toolbox that referenced this pull request Mar 20, 2026
🤖 I have created a release *beep* *boop*
---

##
[0.30.0](googleapis/mcp-toolbox@v0.29.0...v0.30.0)
(2026-03-20)

### Features

* **cli:** Add migrate subcommand
([googleapis#2679](googleapis#2679))
([12171f7](googleapis@12171f7))
* **cli:** Add serve subcommand
([googleapis#2550](googleapis#2550))
([1e2c7c7](googleapis@1e2c7c7))
* **skill:** One skill per toolset
([googleapis#2733](googleapis#2733))
([5b85c65](googleapis@5b85c65))
* **source/oracledb:** Add Oracle DB for MCP tools and configurations,
updated tools and documentation
([googleapis#2625](googleapis#2625))
([e350fc7](googleapis@e350fc7))
* **tools/looker:** Support git_branch tools for looker.
([googleapis#2718](googleapis#2718))
([70ed8a0](googleapis@70ed8a0))
* **tools/dataplex-search-entries:** Add `scope` support to
search_entries tool
([googleapis#2740](googleapis#2740))
([10af468](googleapis@10af468))

### Bug Fixes

* **cloudloggingadmin:** Increase log injesting time and add auth test
([googleapis#2772](googleapis#2772))
([50b4457](googleapis@50b4457))
* **oracle:** Normalize encoded proxy usernames in go-ora DSN
([googleapis#2469](googleapis#2469))
([b1333cd](googleapis@b1333cd))
* **postgres:** Update execute-sql tool to avoid multi-statements
parameter
([googleapis#2707](googleapis#2707))
([58bc772](googleapis@58bc772))
* **skills:** Improve flag validation and silence unit test output
([googleapis#2759](googleapis#2759))
([f3da6aa](googleapis@f3da6aa))
* **test:** Address flaky healthcare integration test run
([googleapis#2742](googleapis#2742))
([9590821](googleapis@9590821))

### Reverts

* **ci:** Implement conditional sharding logic in integration tests
([googleapis#2763](googleapis#2763))
([1528d7c](googleapis@1528d7c))

---
This PR was generated with [Release
Please](https://github.com/googleapis/release-please). See
[documentation](https://github.com/googleapis/release-please#release-please).

---------

Co-authored-by: release-please[bot] <55107282+release-please[bot]@users.noreply.github.com>
Co-authored-by: Yuan Teoh <45984206+Yuan325@users.noreply.github.com> 5ef1c0d
github-actions Bot pushed a commit to bhardwajRahul/genai-toolbox that referenced this pull request Mar 21, 2026
🤖 I have created a release *beep* *boop*
---

##
[0.30.0](googleapis/mcp-toolbox@v0.29.0...v0.30.0)
(2026-03-20)

### Features

* **cli:** Add migrate subcommand
([googleapis#2679](googleapis#2679))
([12171f7](googleapis@12171f7))
* **cli:** Add serve subcommand
([googleapis#2550](googleapis#2550))
([1e2c7c7](googleapis@1e2c7c7))
* **skill:** One skill per toolset
([googleapis#2733](googleapis#2733))
([5b85c65](googleapis@5b85c65))
* **source/oracledb:** Add Oracle DB for MCP tools and configurations,
updated tools and documentation
([googleapis#2625](googleapis#2625))
([e350fc7](googleapis@e350fc7))
* **tools/looker:** Support git_branch tools for looker.
([googleapis#2718](googleapis#2718))
([70ed8a0](googleapis@70ed8a0))
* **tools/dataplex-search-entries:** Add `scope` support to
search_entries tool
([googleapis#2740](googleapis#2740))
([10af468](googleapis@10af468))

### Bug Fixes

* **cloudloggingadmin:** Increase log injesting time and add auth test
([googleapis#2772](googleapis#2772))
([50b4457](googleapis@50b4457))
* **oracle:** Normalize encoded proxy usernames in go-ora DSN
([googleapis#2469](googleapis#2469))
([b1333cd](googleapis@b1333cd))
* **postgres:** Update execute-sql tool to avoid multi-statements
parameter
([googleapis#2707](googleapis#2707))
([58bc772](googleapis@58bc772))
* **skills:** Improve flag validation and silence unit test output
([googleapis#2759](googleapis#2759))
([f3da6aa](googleapis@f3da6aa))
* **test:** Address flaky healthcare integration test run
([googleapis#2742](googleapis#2742))
([9590821](googleapis@9590821))

### Reverts

* **ci:** Implement conditional sharding logic in integration tests
([googleapis#2763](googleapis#2763))
([1528d7c](googleapis@1528d7c))

---
This PR was generated with [Release
Please](https://github.com/googleapis/release-please). See
[documentation](https://github.com/googleapis/release-please#release-please).

---------

Co-authored-by: release-please[bot] <55107282+release-please[bot]@users.noreply.github.com>
Co-authored-by: Yuan Teoh <45984206+Yuan325@users.noreply.github.com> 5ef1c0d
github-actions Bot pushed a commit to CrazyForks/genai-toolbox that referenced this pull request Mar 22, 2026
🤖 I have created a release *beep* *boop*
---

##
[0.30.0](googleapis/mcp-toolbox@v0.29.0...v0.30.0)
(2026-03-20)

### Features

* **cli:** Add migrate subcommand
([googleapis#2679](googleapis#2679))
([12171f7](googleapis@12171f7))
* **cli:** Add serve subcommand
([googleapis#2550](googleapis#2550))
([1e2c7c7](googleapis@1e2c7c7))
* **skill:** One skill per toolset
([googleapis#2733](googleapis#2733))
([5b85c65](googleapis@5b85c65))
* **source/oracledb:** Add Oracle DB for MCP tools and configurations,
updated tools and documentation
([googleapis#2625](googleapis#2625))
([e350fc7](googleapis@e350fc7))
* **tools/looker:** Support git_branch tools for looker.
([googleapis#2718](googleapis#2718))
([70ed8a0](googleapis@70ed8a0))
* **tools/dataplex-search-entries:** Add `scope` support to
search_entries tool
([googleapis#2740](googleapis#2740))
([10af468](googleapis@10af468))

### Bug Fixes

* **cloudloggingadmin:** Increase log injesting time and add auth test
([googleapis#2772](googleapis#2772))
([50b4457](googleapis@50b4457))
* **oracle:** Normalize encoded proxy usernames in go-ora DSN
([googleapis#2469](googleapis#2469))
([b1333cd](googleapis@b1333cd))
* **postgres:** Update execute-sql tool to avoid multi-statements
parameter
([googleapis#2707](googleapis#2707))
([58bc772](googleapis@58bc772))
* **skills:** Improve flag validation and silence unit test output
([googleapis#2759](googleapis#2759))
([f3da6aa](googleapis@f3da6aa))
* **test:** Address flaky healthcare integration test run
([googleapis#2742](googleapis#2742))
([9590821](googleapis@9590821))

### Reverts

* **ci:** Implement conditional sharding logic in integration tests
([googleapis#2763](googleapis#2763))
([1528d7c](googleapis@1528d7c))

---
This PR was generated with [Release
Please](https://github.com/googleapis/release-please). See
[documentation](https://github.com/googleapis/release-please#release-please).

---------

Co-authored-by: release-please[bot] <55107282+release-please[bot]@users.noreply.github.com>
Co-authored-by: Yuan Teoh <45984206+Yuan325@users.noreply.github.com> 5ef1c0d
NirajNandre pushed a commit to NirajNandre/genai-toolbox-fork that referenced this pull request Mar 24, 2026
Add a `migrate` subcommand to help migrate all configuration files to
flat format.

This PR also updates the `LoadConfig()` function in `options.go` by
extracting the custom config path logic into a new function. This
removes duplication and makes the logic reusable for the migrate
subcommand.
NirajNandre pushed a commit to NirajNandre/genai-toolbox-fork that referenced this pull request Mar 24, 2026
🤖 I have created a release *beep* *boop*
---


##
[0.30.0](googleapis/mcp-toolbox@v0.29.0...v0.30.0)
(2026-03-20)


### Features

* **cli:** Add migrate subcommand
([googleapis#2679](googleapis#2679))
([12171f7](googleapis@12171f7))
* **cli:** Add serve subcommand
([googleapis#2550](googleapis#2550))
([1e2c7c7](googleapis@1e2c7c7))
* **skill:** One skill per toolset
([googleapis#2733](googleapis#2733))
([5b85c65](googleapis@5b85c65))
* **source/oracledb:** Add Oracle DB for MCP tools and configurations,
updated tools and documentation
([googleapis#2625](googleapis#2625))
([e350fc7](googleapis@e350fc7))
* **tools/looker:** Support git_branch tools for looker.
([googleapis#2718](googleapis#2718))
([70ed8a0](googleapis@70ed8a0))
* **tools/dataplex-search-entries:** Add `scope` support to
search_entries tool
([googleapis#2740](googleapis#2740))
([10af468](googleapis@10af468))


### Bug Fixes

* **cloudloggingadmin:** Increase log injesting time and add auth test
([googleapis#2772](googleapis#2772))
([50b4457](googleapis@50b4457))
* **oracle:** Normalize encoded proxy usernames in go-ora DSN
([googleapis#2469](googleapis#2469))
([b1333cd](googleapis@b1333cd))
* **postgres:** Update execute-sql tool to avoid multi-statements
parameter
([googleapis#2707](googleapis#2707))
([58bc772](googleapis@58bc772))
* **skills:** Improve flag validation and silence unit test output
([googleapis#2759](googleapis#2759))
([f3da6aa](googleapis@f3da6aa))
* **test:** Address flaky healthcare integration test run
([googleapis#2742](googleapis#2742))
([9590821](googleapis@9590821))


### Reverts

* **ci:** Implement conditional sharding logic in integration tests
([googleapis#2763](googleapis#2763))
([1528d7c](googleapis@1528d7c))

---
This PR was generated with [Release
Please](https://github.com/googleapis/release-please). See
[documentation](https://github.com/googleapis/release-please#release-please).

---------

Co-authored-by: release-please[bot] <55107282+release-please[bot]@users.noreply.github.com>
Co-authored-by: Yuan Teoh <45984206+Yuan325@users.noreply.github.com>
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