Repository navigation
v0.2.0
Stride v0.2.0 Release Notes
📌 Overview
Stride v0.2.0 brings significant performance improvements, enhanced symlink handling, and a more maintainable codebase. This release focuses on:
- Optimizing core file traversal functionality
- Reducing external dependencies
- Improving error handling
🚀 Key Improvements
⚡ Performance Enhancements
- Replaced
godirwalkwithfilepath.WalkDir- Migrated to the standard library’s more efficient
filepath.WalkDirfunction, resulting in up to 70% faster performance for corefindoperations.
- Migrated to the standard library’s more efficient
- Optimized Worker Concurrency
- Benchmarks show optimal performance with 4-8 workers, with diminishing returns beyond that.
- Improved Memory Usage
- Reduced memory allocations in core operations for better efficiency.
🔗 Enhanced Symlink Handling
- Custom Symlink Implementation
- Implemented a robust symlink handling solution that supports all three modes:
SymlinkIgnore– Skip symlinks entirelySymlinkReport– Process symlinks as regular files/directories without following themSymlinkFollow– Follow symlinks and process their targets
- Implemented a robust symlink handling solution that supports all three modes:
- Cycle Detection
- Added protection against symlink cycles when following symlinks.
- Virtual Path Preservation
- When following symlinks to directories, the original symlink path is preserved in results.
🛠️ Error Handling Improvements
- Better Context Cancellation
- Improved handling of context cancellation, ensuring proper cleanup of resources.
- Detailed Error Messages
- Enhanced error messages with more context about the failure location.
- Consolidated Error Reporting
- Multiple errors are now collected and reported in a more structured way.
🚀 Upgrade to Stride v0.2.0 for improved performance, enhanced symlink support, and better error handling!