litellm/tests/test_litellm/proxy/management_endpoints
Ishaan Jaff 81dadb698a
Ishaan - March 18th changes (#24056)
* add DD Tracing (#24033)

* feat(models): add Azure GPT-5.4 mini and nano variants (#24045)

Add `azure/gpt-5.4-mini` and `azure/gpt-5.4-nano` to the model
database with official pricing from Azure OpenAI:

- GPT-5.4 mini: $0.75/M input, $0.075/M cached, $4.5/M output
- GPT-5.4 nano: $0.20/M input, $0.02/M cached, $1.25/M output

Both models support:
- 1.05M input / 128K output context window
- Chat, batch, and responses endpoints
- Function calling, tools, vision, reasoning
- Prompt caching with automatic tiered pricing

Co-authored-by: Claude Opus 4.6 <noreply@anthropic.com>

* Add new model pricing details for volcengine Doubao-Seed-2.0 series (#23871)

Add entries for volcengine Doubao-Seed-2.0 series

* fix(mcp): support refresh_token grant type in OAuth token endpoint (#23701)

* fix(mcp): support refresh_token grant type in OAuth token endpoint (#23700)

The .well-known/oauth-authorization-server metadata advertises
refresh_token as a supported grant type, but the token endpoint
rejected it with HTTP 400. This adds refresh_token grant support
so MCP clients can refresh expired tokens without re-authenticating.

* test(mcp): add tests for refresh_token grant type in OAuth token endpoint

* fix(mcp): move code_verifier guard into authorization_code branch

code_verifier is only relevant for authorization_code grants (PKCE).
Move it inside the else branch so it doesn't apply to refresh_token.

* fix(mcp): guard None client_secret and forward scope in token exchange

- Conditionally include client_secret in form data to prevent httpx
  from sending the literal string "None" (applies to both
  authorization_code and refresh_token branches)
- Forward optional scope parameter per RFC 6749 §6, allowing clients
  to request a subset of originally-granted scopes on refresh

* fix(mcp): validate code param in authorization_code grant

Guard against None code being form-encoded as literal string "None"
by httpx, symmetric with the existing refresh_token guard.

* docs: add incident report for guardrail logging secret exposure (#24059)

Add blog post documenting the guardrail logging path exposing internal
request data (e.g. Authorization headers) in spend logs and OTEL traces.
Fix available in LiteLLM 1.82.3+.

Made-with: Cursor

* [Fix] Datadog LLM Observability tags format (env, service, version missing) (#23673)

* tag fix

* greptile comment

* fix(ci): stabilize 6 failing CI jobs

1. mypy: remove duplicate type annotation for token_data in discoverable_endpoints.py
2. integrations tests: add parameterized to CI test deps
3. doc quality: document OTEL_IGNORE_CONTEXT_PROPAGATION env key
4. security: allowlist CVE-2026-2673, CVE-2026-3644, CVE-2026-4224 (no fix available)
5. proxy_store_model_in_db: fix missing x-litellm-call-id header on error responses
6. google tests: add --retries 3 for transient Vertex AI rate limits

Co-authored-by: Ishaan Jaff <ishaan-jaff@users.noreply.github.com>

* fix(streaming): handle RuntimeError during model_copy in streaming handler

The race condition occurs when model_copy(deep=True) tries to deepcopy
_hidden_params dict while it's being concurrently modified by logging
callbacks. Fall back to shallow copy if the deep copy fails.

Co-authored-by: Ishaan Jaff <ishaan-jaff@users.noreply.github.com>

* fix(cost): handle non-string traffic_type in cost calculator + add retries

1. Fix AttributeError in _map_traffic_type_to_service_tier when traffic_type
   is an integer (cast to str before calling .upper()). This was causing
   pass-through vertex spend logging to fail silently.
2. Add --retries to llm_translation_testing for flaky external API calls.

Co-authored-by: Ishaan Jaff <ishaan-jaff@users.noreply.github.com>

---------

Co-authored-by: Emerson Gomes <emerson.gomes@thalesgroup.com>
Co-authored-by: Claude Opus 4.6 <noreply@anthropic.com>
Co-authored-by: ExMatics HydrogenC <33123710+HydrogenC@users.noreply.github.com>
Co-authored-by: Jack Venberg <jack.venberg@rover.com>
Co-authored-by: milan-berri <milan@berri.ai>
Co-authored-by: Shivam Rawat <161387515+shivamrawat1@users.noreply.github.com>
Co-authored-by: Cursor Agent <cursoragent@cursor.com>
Co-authored-by: Ishaan Jaff <ishaan-jaff@users.noreply.github.com>
2026-03-19 10:20:35 -07:00
..
policy_endpoints feat(policy): test playground for AI policy suggestions (#21608) 2026-02-19 14:09:20 -08:00
scim [Feature] UI - Default Team Settings: Modernize page and fix defaults application 2026-03-14 00:01:25 -07:00
search_endpoints masking sensitive values 2026-02-03 16:09:37 -08:00
usage_endpoints [Feat] UI - Allow using AI to understand Usage patterns (#22042) 2026-02-24 16:40:04 -08:00
test_access_group_endpoints.py fix: normalize null list fields to [] in update_data before DB write 2026-02-26 20:53:30 -08:00
test_access_group_management.py fix(proxy): add model_ids param to access group endpoints for precise deployment tagging (#21655) 2026-02-21 00:39:57 -08:00
test_budget_endpoints.py [Release - 02/10/2026] v1.81.10-nightly 2026-02-10 16:26:30 -08:00
test_cache_settings_endpoints.py
test_callback_management_endpoints.py
test_common_daily_activity.py added comments 2026-03-10 13:56:15 -04:00
test_common_utils.py allow team and org admins to call invitation/new 2026-02-11 11:23:27 -08:00
test_compliance_endpoints.py Add compliance checker endpoints + UI panel (#21432) 2026-02-17 18:22:26 -08:00
test_config_override_endpoints.py feat: Hashicorp Vault config override backend endpoints 2026-03-05 16:57:08 -08:00
test_cost_tracking_settings.py fix: resolve base_model in /cost/estimate for Azure custom deployments (#22724) 2026-03-03 15:43:02 -08:00
test_customer_budget.py merge: resolve conflicts between main and litellm_oss_staging_03_11_2026 2026-03-12 09:38:31 -03:00
test_customer_endpoints.py
test_delete_callbacks_endpoint.py
test_delete_verification_tokens_failed.py fix(key management): populate failed_tokens for admin partial-delete path 2026-02-19 19:28:03 -03:00
test_entraid_app_roles.py
test_internal_user_endpoints.py [Fix] Allow team admins to query /user/filter/ui when scope_user_search_to_org is enabled 2026-03-14 16:38:34 -07:00
test_key_management_endpoints.py Revert "fix: prevent body 'key' field from overriding Authorization header in auth" 2026-03-17 23:02:54 -07:00
test_mcp_management_endpoints.py Ishaan - March 18th changes (#24056) 2026-03-19 10:20:35 -07:00
test_model_management_endpoints.py Fix same stale-overwrite bug in update_useful_links 2026-03-12 17:45:03 -07:00
test_org_admin_team_access.py feat: org admin access to team management — backend auth, UI visibility, tests 2026-03-07 22:43:09 -08:00
test_organization_endpoints.py feat: expose user_email in organization members response 2026-02-20 21:41:53 -08:00
test_policy_endpoints.py feat: AI policy template suggestions (#21589) 2026-02-19 12:00:26 -08:00
test_router_settings_endpoints.py
test_tag_management_endpoints.py [Fix] Fix tag/list 500 error from invalid Prisma group_by kwargs 2026-03-13 21:38:20 -07:00
test_team_default_params.py [Feature] UI - Default Team Settings: Modernize page and fix defaults application 2026-03-14 00:01:25 -07:00
test_team_endpoints.py fix: document org scope behavior, fix test mocks, add org admin tests 2026-03-17 21:56:57 -07:00
test_tool_management_endpoints.py Fix tool management tests using wrong field name call_policy 2026-03-04 11:20:17 -03:00
test_ui_sso.py fix(tests): update remaining PKCE SSO tests to mock get_async_httpx_client 2026-03-13 09:13:05 -07:00