Merge branch 'main' into litellm_docs_rc_fixes_

This commit is contained in:
Ishaan Jaffer 2026-02-07 13:32:01 -08:00
commit 5fc72f78bb
2 changed files with 65 additions and 8 deletions

View file

@ -51,6 +51,7 @@ pip install litellm==1.81.9
## MCP Servers on the Public Internet
<<<<<<< HEAD
<Image
img={require('../img/release_notes/mcp_internet.png')}
style={{ maxWidth: '900px', width: '100%' }}
@ -58,10 +59,18 @@ style={{ maxWidth: '900px', width: '100%' }}
&nbsp;
=======
>>>>>>> main
This release makes it safe to expose MCP servers on the public internet by adding public/private visibility and IP-based access control. You can now run internet-facing MCP services while restricting access to trusted networks and keeping internal tools private.
[Get started](../../docs/mcp_public_internet)
<<<<<<< HEAD
=======
{/* TODO: Add screenshot - save as mcp_public_internet.png */}
{/* <Image img={require('../../img/mcp_public_internet.png')} style={{ maxWidth: '900px', width: '100%' }} /> */}
>>>>>>> main
Let's dive in.
---
@ -70,6 +79,7 @@ Let's dive in.
#### New Model Support (13 new models)
<<<<<<< HEAD
| Provider | Model | Context Window | Input ($/1M tokens) | Output ($/1M tokens) |
| -------- | ----- | -------------- | ------------------- | -------------------- |
| Anthropic | `claude-opus-4-6` | 1M | $5.00 | $25.00 |
@ -85,12 +95,35 @@ Let's dive in.
| Together AI | `together_ai/moonshotai/Kimi-K2.5` | 256K | $0.50 | $2.80 |
| ElevenLabs | `elevenlabs/eleven_v3` | - | $0.18/1K chars | - |
| ElevenLabs | `elevenlabs/eleven_multilingual_v2` | - | $0.18/1K chars | - |
=======
| Provider | Model | Context Window | Input ($/1M tokens) | Output ($/1M tokens) | Features |
| -------- | ----- | -------------- | ------------------- | -------------------- | -------- |
| Anthropic | `claude-opus-4-6` | 1M | $5.00 | $25.00 | Chat, vision, reasoning, function calling, computer use, PDF, prompt caching |
| AWS Bedrock | `anthropic.claude-opus-4-6-v1` | 1M | $5.00 | $25.00 | Chat, vision, reasoning, function calling, computer use, PDF, prompt caching |
| Azure AI | `azure_ai/claude-opus-4-6` | 200K | $5.00 | $25.00 | Chat, vision, reasoning, function calling, computer use, PDF, prompt caching |
| Vertex AI | `vertex_ai/claude-opus-4-6` | 1M | $5.00 | $25.00 | Chat, vision, reasoning, function calling, computer use, PDF, prompt caching |
| Google Gemini | `gemini/deep-research-pro-preview-12-2025` | 65K | $2.00 | $12.00 | Deep research |
| Vertex AI | `vertex_ai/deep-research-pro-preview-12-2025` | 65K | $2.00 | $12.00 | Deep research |
| Moonshot | `moonshot/kimi-k2.5` | 262K | $0.60 | $3.00 | Chat, vision, function calling |
| OpenRouter | `openrouter/qwen/qwen3-235b-a22b-2507` | 262K | $0.07 | $0.10 | Chat, function calling |
| OpenRouter | `openrouter/qwen/qwen3-235b-a22b-thinking-2507` | 262K | $0.11 | $0.60 | Chat, function calling, reasoning |
| Together AI | `together_ai/zai-org/GLM-4.7` | 200K | $0.45 | $2.00 | Chat, function calling, reasoning |
| Together AI | `together_ai/moonshotai/Kimi-K2.5` | 256K | $0.50 | $2.80 | Chat, vision, function calling, reasoning |
| ElevenLabs | `elevenlabs/eleven_v3` | - | $0.18/1K chars | - | Text-to-speech, 70+ languages |
| ElevenLabs | `elevenlabs/eleven_multilingual_v2` | - | $0.18/1K chars | - | Text-to-speech, 29 languages |
>>>>>>> main
#### Features
- **[Anthropic](../../docs/providers/anthropic)**
- Full Claude Opus 4.6 support with adaptive thinking across all regions (us, eu, apac, au) - [PR #20506](https://github.com/BerriAI/litellm/pull/20506), [PR #20508](https://github.com/BerriAI/litellm/pull/20508), [PR #20514](https://github.com/BerriAI/litellm/pull/20514), [PR #20551](https://github.com/BerriAI/litellm/pull/20551)
<<<<<<< HEAD
- Map reasoning content to anthropic thinking block (streaming + non-streaming) - [PR #20254](https://github.com/BerriAI/litellm/pull/20254)
=======
- Add unsupported claude code beta headers filtering - [PR #20578](https://github.com/BerriAI/litellm/pull/20578)
- Map reasoning content to anthropic thinking block (streaming + non-streaming) - [PR #20254](https://github.com/BerriAI/litellm/pull/20254)
- Fix inconsistent response format in `anthropic.messages.acreate()` when using non-Anthropic providers - [PR #20442](https://github.com/BerriAI/litellm/pull/20442)
>>>>>>> main
- **[AWS Bedrock](../../docs/providers/bedrock)**
- Add 1hr tiered caching costs for long-context models - [PR #20214](https://github.com/BerriAI/litellm/pull/20214)
@ -152,6 +185,7 @@ Let's dive in.
---
<<<<<<< HEAD
## LLM API Endpoints
#### Features
@ -160,6 +194,16 @@ Let's dive in.
- Filter unsupported Claude Code beta headers for non-Anthropic providers - [PR #20578](https://github.com/BerriAI/litellm/pull/20578)
- Fix inconsistent response format in `anthropic.messages.acreate()` when using non-Anthropic providers - [PR #20442](https://github.com/BerriAI/litellm/pull/20442)
- Fix 404 on `/api/event_logging/batch` endpoint that caused Claude Code "route not found" errors - [PR #20504](https://github.com/BerriAI/litellm/pull/20504)
=======
## LLM API Endpoints (2 new endpoints)
#### Features
| Endpoint | Method | Description | Documentation |
| -------- | ------ | ----------- | ------------- |
| `/chat/completions` | POST | A2A agent invocation via standard completions API | [Docs](../../docs/a2a) |
| `/files` | GET/DELETE | Gemini file retrieval and deletion by `file_id` | [Docs](../../docs/providers/gemini) |
>>>>>>> main
- **[A2A Agent Gateway](../../docs/a2a)**
- Allow calling A2A agents through LiteLLM `/chat/completions` API - [PR #20358](https://github.com/BerriAI/litellm/pull/20358)
@ -223,6 +267,10 @@ Let's dive in.
- Fix `/key/list` `user_id` Empty String Edge Case - [PR #20623](https://github.com/BerriAI/litellm/pull/20623)
- Add array type checks for model, agent, and MCP hub data to prevent UI crashes - [PR #20469](https://github.com/BerriAI/litellm/pull/20469)
- Fix unique constraint on daily tables + logging when updates fail - [PR #20394](https://github.com/BerriAI/litellm/pull/20394)
<<<<<<< HEAD
=======
- Fix 404 Not Found on `/api/event_logging/batch` endpoint - [PR #20504](https://github.com/BerriAI/litellm/pull/20504)
>>>>>>> main
---
@ -315,6 +363,10 @@ Let's dive in.
## Documentation Updates (15 updates)
<<<<<<< HEAD
=======
- Update v1.81.6 release notes - Logs v2 with Tool Call Tracing - [PR #20225](https://github.com/BerriAI/litellm/pull/20225)
>>>>>>> main
- Add FAQ for setting up and verifying LITELLM_LICENSE - [PR #20284](https://github.com/BerriAI/litellm/pull/20284)
- Model request tags documentation - [PR #20290](https://github.com/BerriAI/litellm/pull/20290)
- Add Prisma migration troubleshooting guide - [PR #20300](https://github.com/BerriAI/litellm/pull/20300)

View file

@ -4942,13 +4942,17 @@ class ProxyStartupEvent:
"""Initialize MCP semantic tool filter if configured"""
from litellm.proxy.hooks.mcp_semantic_filter import SemanticToolFilterHook
verbose_proxy_logger.info(
f"Initializing semantic tool filter: llm_router={llm_router is not None}, "
f"litellm_settings keys={list(litellm_settings.keys())}"
)
mcp_semantic_filter_config = litellm_settings.get("mcp_semantic_tool_filter", None)
verbose_proxy_logger.debug(f"Semantic filter config: {mcp_semantic_filter_config}")
# Only proceed if the feature is configured and enabled
if not mcp_semantic_filter_config or not mcp_semantic_filter_config.get("enabled", False):
verbose_proxy_logger.debug("Semantic tool filter not configured or not enabled, skipping initialization")
return
verbose_proxy_logger.debug(
f"Initializing semantic tool filter: llm_router={llm_router is not None}, "
f"config={mcp_semantic_filter_config}"
)
hook = await SemanticToolFilterHook.initialize_from_config(
config=mcp_semantic_filter_config,
@ -4956,10 +4960,11 @@ class ProxyStartupEvent:
)
if hook:
verbose_proxy_logger.debug("Semantic tool filter hook registered")
verbose_proxy_logger.debug("Semantic tool filter hook registered")
litellm.logging_callback_manager.add_litellm_callback(hook)
else:
verbose_proxy_logger.warning("❌ Semantic tool filter hook not initialized")
# Only warn if the feature was configured but failed to initialize
verbose_proxy_logger.warning("Semantic tool filter hook was configured but failed to initialize")
@classmethod
def _initialize_jwt_auth(