* fix(cost_calculator.py): support custom pricing for image gen
Allow user to set custom pricing on azure image gen models
* test(test_cost_calculator.py): add unit test
* test(test_litellm_logging.py): add more unit testing
* fix(litellm_logging.py): fix ruff check
* add session id in spendLogs
* fix log proxy server request as independant field
* use trace id for SpendLogs
* add _ENTERPRISE_ResponsesSessionHandler
* use _ENTERPRISE_ResponsesSessionHandler
* working session_ids
* working session management
* working session_ids
* test_async_gcs_pub_sub_v1
* test_spend_logs_payload_e2e
* working session_ids
* test_get_standard_logging_payload_trace_id
* test_get_standard_logging_payload_trace_id
* test_gcs_pub_sub.py
* fix all linting errors
* test_spend_logs_payload_with_prompts_enabled
* _ENTERPRISE_ResponsesSessionHandler
* _ENTERPRISE_ResponsesSessionHandler
* expose session id on ui
* get spend logs by session
* add sessionSpendLogsCall
* add session handling
* session logs
* ui session details
* fix on rowExpandDetails
* ui working sessions
* test(test_auth_checks.py): add unit tests for ExperimentalUIJWTToken
* test: add appropriate flag
* fix: fix ruff check
* test: add autouse fixture to test salt key
* fix(user_api_key_auth.py): fix auth flow logic
* test: skip flaky test - anthropic does not reliably return 'redacted_thinking'
* fix(ui_sso.py): add info statements for litellm sso
* fix(ui_sso.py): use correct user id on existing user sso login
* refactor(ui_sso.py): break down function for easier testing
* test(test_ui_sso.py): add unit testing
* fix(ui_sso.py): fix passing user id from openid
* fix(ui_sso.py): fix returning user email
* fix(ui_sso.py): pass sso id on new sso user create
better tracking of when user is an sso user
* fix(ui_sso.py): don't auto create key for sso user
* docs(internal_user_endpoints.py): add 'sso_user_id' docstring
* test(test_router.py): add unit test confirming fallbacks with tag based routing works as expected
* test: update testing
* test: update test to not use gemini-pro
google removed it
* fix(conditional_public_model_name.tsx): edit azure public model name
Fixes https://github.com/BerriAI/litellm/issues/10093
* fix(model_info_view.tsx): migrate to patch model updates
Enables changing model name easily
* fix(view_users.tsx): add time tracking logic to debounce search - prevent new queries from being overwritten by previous ones
* fix(internal_user_endpoints.py): add sort functionality to user list endpoint
* feat(internal_user_endpoints.py): support sort by on `/user/list`
* fix(view_users.tsx): enable global sorting
allows finding user with highest spend
* feat(view_users.tsx): support filtering by sso user id
* test(search_users.spec.ts): add tests to ensure filtering works
* test: add more unit testing
* feat(sidebars): add new item for agentops integration in Logging & Observability category
* Update agentops_integration.md to enhance title formatting and remove redundant section
* Enhance AgentOps integration in documentation and codebase by removing LiteLLMCallbackHandler references, adding environment variable configurations, and updating logging initialization for AgentOps support.
* Update AgentOps integration documentation to include instructions for obtaining API keys and clarify environment variable setup.
* Add unit tests for AgentOps integration and improve error handling in token fetching
* Add unit tests for AgentOps configuration and token fetching functionality
* Corrected agentops test directory
* Linting fix
* chore: add OpenTelemetry dependencies to pyproject.toml
* chore: update OpenTelemetry dependencies and add new packages in pyproject.toml and poetry.lock
* fix(router.py): handle edge case where user sets 'model_group' inside 'model_info'
* fix(key_management_endpoints.py): security fix - return hashed token in 'token' field
Ensures when creating a key on UI - only hashed token shown
* test(test_key_management_endpoints.py): add unit test
* test: update test
* fix(common_daily_activity.py): support empty entity id field
allows returning empty response when user is not admin and does not belong to any team
* test(test_common_daily_activity.py): add unit testing
* fix(triton/completion/transformation.py): remove bad_words / stop words from triton call
parameter 'bad_words' has invalid type. It should be either 'int', 'bool', or 'string'.
* fix(proxy_track_cost_callback.py): add debug logging for track cost callback error
* feat(fireworks_ai/chat): handle tool calling with fireworks ai correctly
Fixes https://github.com/BerriAI/litellm/issues/7209
* fix(utils.py): handle none type in message
* fix: fix model name in test
* fix(utils.py): fix validate check for openai messages
* fix: fix model returned
* fix(main.py): fix text completion routing
* test: update testing
* test: skip test - cohere having RBAC issues
* build(model_prices_and_context_window.json): add vertex ai gemini-2.5-flash pricing
* build(model_prices_and_context_window.json): add gemini reasoning token pricing
* fix(vertex_and_google_ai_studio_gemini.py): support counting thinking tokens for gemini
allows accurate cost calc
* fix(utils.py): add reasoning token cost calc to generic cost calc
ensures gemini-2.5-flash cost calculation is accurate
* build(model_prices_and_context_window.json): mark gemini-2.5-flash as 'supports_reasoning'
* feat(gemini/): support 'thinking' + 'reasoning_effort' params + new unit tests
allow controlling thinking effort for gemini-2.5-flash models
* test: update unit testing
* feat(vertex_and_google_ai_studio_gemini.py): return reasoning content if given in gemini response
* test: update model name
* fix: fix ruff check
* test(test_spend_management_endpoints.py): update tests to be less sensitive to new keys / updates to usage object
* fix(vertex_and_google_ai_studio_gemini.py): fix translation
* initial commit for azure responses api support
* update get complete url
* fixes for responses API
* working azure responses API
* working responses API
* test suite for responses API
* azure responses API test suite
* fix test with complete url
* fix test refactor
* test fix metadata checks
* fix code quality check
* feat(llm_passthrough_endpoints.py): expose new `/vertex_ai/discovery/` endpoint
Allows calling vertex ai discovery endpoints via passthrough
For agentbuilder api calls
* refactor(llm_passthrough_endpoints.py): use common _base_vertex_proxy_route
Prevents duplicate code
* feat(llm_passthrough_endpoints.py): add vertex endpoint specific passthrough handlers
* Add litellm_call_id passing to aim guardrails on pre and post-hooks
* Add test that ensures that pre_call_hook receives litellm call id when common_request_processing called
* fix(pub_sub.py): fix passing project id in pub sub call
Fixes issue where GCS_PUBSUB_PROJECT_ID was not being used
* test(test_pub_sub.py): add unit test to prevent future regressions
* test: fix test
* fix(azure/common_utils.py): check for azure tenant id, client id, client secret in env var
Fixes https://github.com/BerriAI/litellm/issues/9598#issuecomment-2801966027
* fix(azure/gpt_transformation.py): fix passing response_format to azure when api year = 2025
Fixes https://github.com/BerriAI/litellm/issues/9703
* test: monkeypatch azure api version in test
* test: update testing
* test: fix test
* test: update test
* docs(config_settings.md): document env vars
* fix typo on UI
* fix for edit user tab
* fix for user spend
* add /team/permissions_list to management routes
* fix auth check for team member permissions
* fix team endpoints test
* fix(model_info_view.tsx): cleanup text
* fix(key_management_endpoints.py): fix filtering litellm-dashboard keys for internal users
* fix(proxy_track_cost_callback.py): prevent flooding spend logs with admin endpoint errors
* test: add unit testing for logic
* test(test_auth_exception_handler.py): add more unit testing
* fix(router.py): correctly handle retrieving model info on get_model_group_info
fixes issue where model hub was showing None prices
* fix: fix linting errors
* fix(factory.py): correct indentation for message index increment in ollama_pt function
* test: add unit tests for ollama_pt function handling various message types
* fix(openai.py): ensure openai file object shows up on logs
* fix(managed_files.py): return unified file id as b64 str
allows retrieve file id to work as expected
* fix(managed_files.py): apply decoded file id transformation
* fix: add unit test for file id + decode logic
* fix: initial commit for litellm_proxy support with CRUD Endpoints
* fix(managed_files.py): support retrieve file operation
* fix(managed_files.py): support for DELETE endpoint for files
* fix(managed_files.py): retrieve file content support
supports retrieve file content api from openai
* fix: fix linting error
* test: update tests
* fix: fix linting error
* feat(managed_files.py): support reading / writing files in DB
* feat(managed_files.py): support deleting file from DB on delete
* test: update testing
* fix(spend_tracking_utils.py): ensure each file create request is logged correctly
* fix(managed_files.py): fix storing / returning managed file object from cache
* fix(files/main.py): pass litellm params to azure route
* test: fix test
* build: add new prisma migration
* build: bump requirements
* test: add more testing
* refactor: cleanup post merge w/ main
* fix: fix code qa errors