Release Notes - v0.6.0
🎯 Major Features
Global Permission System with Keycloak Integration
- Enhanced Authorization: Implemented comprehensive permission system integrated with Keycloak for resource-based authorization
- Project-Level Permissions: Added support for project-specific user permissions with hierarchy support
- Endpoint Scope Hierarchy: Introduced endpoint-based permission scoping for fine-grained access control
- API Coverage: Added permission checks across all major routes:
- Model operations
- Cluster management
- User management
- Benchmark operations
- Project operations
Metrics Integration
- New Metrics Module: Added dedicated metrics operations module (metric_ops) for monitoring and analytics
- Analytics Routes: Implemented new analytics endpoints for system monitoring
🔧 Improvements
Permission Management
- Added API to update global permissions
- Added API to list project-specific permissions for users
- Integrated Keycloak permission sync during database seeding
- Automatic cleanup of Keycloak resources when projects are deleted
- Explicit view permissions added for user registration and management operations
Project Management
- Enhanced project listing with permission filtering
- Improved user management within projects with Keycloak integration
- Added user listing API with Keycloak integration
🐛 Bug Fixes
- Fixed model onboarding issue with HuggingFace license handling
- Fixed invalid authentication returning 403 status code in permission handler
- Fixed missing imports in user routes
- Fixed Redis update issues
- Fixed analytics routes functionality
- Fixed request format errors
- Fixed nested loop performance issues
- Added missing name fields for project/model/endpoint entities
🔄 Refactoring
- Improved global permission update API
- Refactored project creation to remove redundant permission database inserts
- Updated create project API to support user modifications