Previously, get_ssl_configuration() created a new SSL context on every
call, even when the configuration was identical. This caused continuous
memory allocation from ssl.create_default_context(), especially during:
- Proxy server startup
- Background health checks
- HTTP client creation
Solution:
- Added _ssl_context_cache to cache SSL contexts by configuration
parameters (cafile, ssl_security_level, ssl_ecdh_curve)
- Refactored SSL context creation into _create_ssl_context() helper
- Modified get_ssl_configuration() to reuse cached contexts when
configuration matches
This significantly reduces memory allocation while maintaining backward
compatibility. SSL contexts are now reused instead of being recreated
repeatedly, eliminating the memory leak observed in memray profiling.
Fixes memory allocation issue where create_default_context was allocating
6.282MB+ continuously even without any requests.
This fix addresses the same issue that was resolved for OpenAI video in PR #16708.
The GeminiVideoConfig class was importing BaseVideoConfig only within TYPE_CHECKING,
causing it to be 'Any' at runtime. This prevented the async_transform_video_content_response
method from being available during video content downloads.
Changes:
- Moved BaseVideoConfig import from TYPE_CHECKING to top-level imports
- Added test_gemini_video_config_has_async_transform() to verify the fix
- Ensures GeminiVideoConfig properly inherits BaseVideoConfig at runtime
Fixes video generation errors for Gemini Veo models:
'GeminiVideoConfig' object has no attribute 'async_transform_video_content_response'
Add gemini-3-pro-image-preview model configuration for Google's new
image generation model (aka "Nano Banana Pro 🍌").
Model details:
- Input: $2.00/1M tokens (text), $0.0011/image
- Output: $12.00/1M tokens (text), $0.134/image (1K/2K)
- Context: 65k input / 32k output tokens
- Capabilities: structured outputs, web search, caching, thinking
- No function calling support
- Available on both Gemini API and Vertex AI
Added variants:
- gemini-3-pro-image-preview (base, uses Vertex AI)
- gemini/gemini-3-pro-image-preview (Gemini API)
- vertex_ai/gemini-3-pro-image-preview (Vertex AI)
Source: https://ai.google.dev/gemini-api/docs/pricingFixes: #16925
Change model identifier from cerebras/openai/gpt-oss-120b to
cerebras/gpt-oss-120b to match Cerebras API requirements.
The Cerebras API only accepts 'gpt-oss-120b' as the model ID, not
'openai/gpt-oss-120b'. The previous name was causing "Model does not
exist" errors when users tried to use it.
Tested with real API calls to confirm:
- cerebras/gpt-oss-120b → sends 'gpt-oss-120b' → ✅ works
- cerebras/openai/gpt-oss-120b → sends 'openai/gpt-oss-120b' → ❌ fails
Fixes#16924
* add _get_prompt_data_from_dotprompt_content
* fix pre call hook for prompt template
* fix: get_latest_version_prompt_id
* fix get_latest_version_prompt_id
* test_get_latest_version_prompt_id
* fx info and delete lookup for prompts
* refactor prompt table
* - rename to prompt studio
* fix get_prompt_info
* fix endpoints
* add PromptCodeSnippets
* prompt info view
* add prompt info view
* show correct version for prompts
* fix version selector
* fix endpoints and version
* fix get_prompt_info
* fix version display
* Attempt CI/CD Fix
* Adding test for coverage
* Adding max depth to copilot and vertex
* Fixing mypy lint and docker database
* Fixing UI build issues
* Update playwright test
* though signature tool call id
* [stripe] refactor and tests
* [stripe] remove md and move to factory
* [stripe] remove redudant test
* [stripe] ran black formatting
* [stripe] add thought signature docs
* [stripe] remove unused import