* Add comprehensive GitHub Copilot + LiteLLM integration tutorial
- Complete setup guide from installation to production deployment
- Multiple configuration examples including authentication, load balancing, and cost tracking
- Docker and Kubernetes deployment configurations
- Troubleshooting section with common issues and solutions
- Best practices for security, monitoring, and reliability
- Usage examples for code completion, chat interface, and direct API integration
* Add concise GitHub Copilot + LiteLLM tutorial
- Create focused tutorial matching Gemini CLI style
- Step-by-step guide from installation to production deployment
- Multi-provider configuration examples (OpenAI, Anthropic, Bedrock)
- Load balancing and fallback configuration
- Docker deployment instructions
- Troubleshooting section with common issues
- Updated sidebar with clean title 'Use LiteLLM with GitHub Copilot'
* Refactor GitHub Copilot integration tutorial
- Removed outdated production deployment and direct API usage sections
- Streamlined troubleshooting steps for clarity
- Ensured documentation aligns with current best practices and configurations
* Add proper credit to Sergio Pino for GitHub Copilot tutorial
- Reference original DEV.to article in info box
- Add credits section acknowledging foundational work
- Maintain attribution to original author's guide
* fix: Handle circular references in spend tracking metadata JSON serialization
- Fixes issue #12634 where circular references in metadata caused
ValueError: Circular reference detected when logging spend data
- Adds _safe_json_dumps() function that detects and handles circular
references by replacing them with placeholder strings
- Maintains full functionality for normal objects while preventing
crashes from circular references
- Adds comprehensive tests for circular reference handling
- Critical fix for v1.74.3 stable release
* fix: Replace bare except clauses with specific Exception handling
- Fixes E722 linting errors in _safe_json_dumps function
- Maintains same error handling behavior while following best practices
- All tests continue to pass
* refactor: Use existing safe_dumps utility instead of custom implementation
- Replace custom _safe_json_dumps() with existing safe_dumps() from litellm_core_utils
- Remove duplicate code and leverage existing circular reference handling
- Update tests to use safe_dumps function
- Maintains same functionality while reducing code duplication
- All tests continue to pass
* fix(proxy_server.py): fixes for handling team only models via `/v2/model/info`
ensures team only models show up on the correct team on `Models + Endpoints`
* test: update tests
* fix(router.py): use more descriptive error message
* fix(proxy/_types.py): note `/team/member_update` is a self-managed route
route has it's own logic for rbac - enables team admins to update member permissions
Fixes issue where team admins on UI could not update member permissions
* fix(token_counter.py): move log line to being '.debug' instead of '.error'
Fixes https://github.com/BerriAI/litellm/issues/12269
* (#11794) use upsert for managed object table rather than create to avoid UniqueViolationError
* (#11794) use upsert for managed object table rather than create to avoid UniqueViolationError
* fix(bedrock): auto-generate session name when only aws_role_name is provided
Fixes#12583 - AWS role assumption not working correctly when aws_role_name
is provided without aws_session_name.
Previously, if only aws_role_name was provided in the config without
aws_session_name, the code would fall back to using environment credentials
instead of assuming the specified role. This was problematic in EKS/IRSA
environments where users want to assume a different role.
The fix:
- When aws_role_name is provided without aws_session_name, we now
auto-generate a session name with format 'litellm-session-{timestamp}'
- This ensures role assumption happens as expected
- Added comprehensive test coverage for this scenario
* style: format test file with black
---------
Co-authored-by: openhands <openhands@all-hands.dev>
The hardcoded hyphen (-) used as a tool name separator is now configurable via the MCP_TOOL_PREFIX_SEPARATOR environment variable.
- Replaced all hardcoded '-' instances with the MCP_TOOL_PREFIX_SEPARATOR constant.
- Updated error messages and docstrings to dynamically reference the new constant.
Tested and working fine.
Hope that helps!
* added the mcp_connect copy button to key_info_view
* user id copy button
* copy button on session view
* model id copy
* more copy buttons
* icon size