fix: use v1beta for migrated google nano banana provider (#53757) (thanks @mahopan)

This commit is contained in:
Peter Steinberger 2026-03-24 09:46:06 -07:00
parent 2f238b5d7d
commit 700ec2f25d
No known key found for this signature in database
3 changed files with 4 additions and 3 deletions

View File

@ -21,6 +21,7 @@ Docs: https://docs.openclaw.ai
### Fixes
- Doctor/image generation: seed migrated legacy Nano Banana Google provider config with the `/v1beta` API root and an empty model list so `openclaw doctor --fix` completes and the migrated native Google image path keeps hitting the correct endpoint. (#53757) Thanks @mahopan.
- Security/skills: validate skill installer metadata against strict regex allowlists per package manager, sanitize skill metadata for terminal output, add URL protocol allowlisting in markdown preview and skill homepage links, warn on non-bundled skill install sources, and remove unsafe `file://` workspace links. (#53471) Thanks @BunsDev.
- Feishu/docx block ordering: preserve the document tree order from `docx.document.convert` when inserting blocks, fixing heading/paragraph/list misordering in newly written Feishu documents. (#40524) Thanks @TaoXieSZ.
- Agents/cron: suppress the default heartbeat system prompt for cron-triggered embedded runs even when they target non-cron session keys, so cron tasks stop reading `HEARTBEAT.md` and polluting unrelated threads. (#53152) Thanks @Protocol-zero-0.

View File

@ -319,7 +319,7 @@ describe("normalizeCompatibilityConfigValues", () => {
id: "GEMINI_API_KEY",
});
expect(res.config.models?.providers?.google?.baseUrl).toBe(
"https://generativelanguage.googleapis.com",
"https://generativelanguage.googleapis.com/v1beta",
);
expect(res.config.models?.providers?.google?.models).toEqual([]);
expect(res.config.skills?.entries).toBeUndefined();
@ -346,7 +346,7 @@ describe("normalizeCompatibilityConfigValues", () => {
expect(res.config.models?.providers?.google?.apiKey).toBe("env-gemini-key");
expect(res.config.models?.providers?.google?.baseUrl).toBe(
"https://generativelanguage.googleapis.com",
"https://generativelanguage.googleapis.com/v1beta",
);
expect(res.config.models?.providers?.google?.models).toEqual([]);
expect(res.changes).toContain(

View File

@ -580,7 +580,7 @@ export function normalizeCompatibilityConfigValues(cfg: OpenClawConfig): {
if (!hasGoogleApiKey && legacyApiKey) {
rawGoogle.apiKey = legacyApiKey;
if (!rawGoogle.baseUrl) {
rawGoogle.baseUrl = "https://generativelanguage.googleapis.com";
rawGoogle.baseUrl = "https://generativelanguage.googleapis.com/v1beta";
}
if (!Array.isArray(rawGoogle.models)) {
rawGoogle.models = [];