You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Bump version to 2.9.0.0 with container runtime detection fixes
- Version bump from 2.8.0.0 to 2.9.0.0
- Updated RELEASE_NOTES.md with comprehensive container runtime fixes
- Fixed mypy type issues in test files
- All linting passes (ruff, black, mypy)
🤖 Generated with [Claude Code](https://claude.ai/code)
Co-Authored-By: Claude <noreply@anthropic.com>
-**Fixed Critical Flaw**: Resolved systemic failure where commands hardcoded `"docker" if self.force_docker else "podman"` patterns without checking if podman was actually available
9
+
-**Universal Runtime Detection**: All commands now use centralized `_get_available_runtime()` method with proper fallback from Podman to Docker
10
+
-**Zero Manual Flags**: Commands now work without requiring `--force-docker` flag on Docker-only systems
11
+
-**10+ Location Fix**: Systematically identified and fixed container runtime detection across the entire codebase
12
+
13
+
#### **Enhanced Docker Manager**
14
+
-**Centralized Detection**: All container engine selection now goes through `DockerManager._get_available_runtime()`
15
+
-**Intelligent Fallback**: Proper detection of available container runtimes with graceful fallback
16
+
-**Error Handling**: Clear error messages when neither Podman nor Docker is available
17
+
-**Subprocess Fixes**: Resolved `capture_output=True` conflicts with explicit `stderr` arguments
18
+
19
+
#### **Migration Decorator Improvements**
20
+
-**Consistent Runtime Detection**: Fixed migration operations to use proper container engine detection
21
+
-**Legacy Support**: Enhanced legacy container detection with correct runtime selection
22
+
-**Error Recovery**: Improved error handling for container runtime issues during migrations
23
+
24
+
#### **Technical Implementation**
25
+
-**Removed Hardcoded Patterns**: Eliminated all instances of hardcoded container engine selection
26
+
-**Standardized API**: Consistent use of `_get_available_runtime()` across all services
27
+
-**Subprocess Optimization**: Fixed argument conflicts in container engine detection methods
28
+
-**Comprehensive Testing**: All 885 tests pass with new runtime detection logic
29
+
30
+
### 🧪 Quality Assurance
31
+
-**100% CI Success Rate**: All tests pass with zero failures after systematic fixes
32
+
-**Docker-Only Compatibility**: Verified all commands work correctly on systems with only Docker installed
33
+
-**Podman Priority**: Maintains preference for Podman when available while providing seamless Docker fallback
34
+
-**No Breaking Changes**: All existing functionality preserved with enhanced reliability
35
+
36
+
### 🚀 User Experience Improvements
37
+
-**Seamless Runtime Selection**: Users no longer need to manually specify `--force-docker` on Docker-only systems
38
+
-**Automatic Detection**: Container runtime selection is now fully automatic and intelligent
39
+
-**Clear Error Messages**: Better feedback when container runtimes are unavailable
40
+
-**Universal Compatibility**: Works consistently across different container engine installations
41
+
42
+
---
43
+
44
+
## Version 2.8.0.0 (2025-07-27)
45
+
46
+
### 🔧 Enhanced Data Cleanup & Container Orchestration
47
+
48
+
#### **Docker Root Permission Cleanup**
49
+
-**Data-Cleaner Container**: Added specialized container for cleaning root-owned files in `.code-indexer/qdrant/` directory
50
+
-**Privileged Cleanup**: Uses Docker privileged mode to handle root-owned files that standard user permissions cannot remove
51
+
-**Orchestrated Uninstall**: Enhanced `uninstall` command with automatic data-cleaner orchestration for complete cleanup
52
+
-**Mount Path Consistency**: Fixed Qdrant mount paths from `/data/qdrant/*` to `/qdrant/storage/*` for proper data-cleaner operation
53
+
54
+
#### **Enhanced Uninstall Process**
55
+
-**Complete Data Removal**: `cidx uninstall` now automatically removes all data including root-owned files
56
+
-**Service Coordination**: Properly stops all services before initiating cleanup process
57
+
-**Container Management**: Uses dedicated data-cleaner container for privileged file operations
58
+
-**User Experience**: Single command now handles complete system cleanup without manual intervention
59
+
60
+
#### **Technical Implementation**
61
+
-**DockerManager Integration**: Added `cleanup(remove_data=True)` method for orchestrated data removal
62
+
-**Container Orchestration**: Intelligent container lifecycle management for cleanup operations
63
+
-**Volume Management**: Proper handling of Docker volumes and bind mounts during cleanup
64
+
-**Error Handling**: Comprehensive error handling for cleanup operations with clear user feedback
65
+
66
+
#### **CLI Documentation**
67
+
-**Enhanced Help Text**: Updated `cidx uninstall --help` with detailed explanation of data-cleaner functionality
68
+
-**Process Documentation**: Clear explanation of orchestrated cleanup process and privileged operations
69
+
-**User Guidance**: Comprehensive documentation of what gets removed during uninstall
0 commit comments