Skip to content

v0.2.0

Choose a tag to compare

@TFMV TFMV released this 08 Mar 19:36
· 26 commits to main since this release
f5a6098

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 godirwalk with filepath.WalkDir
    • Migrated to the standard library’s more efficient filepath.WalkDir function, resulting in up to 70% faster performance for core find operations.
  • 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 entirely
      • SymlinkReport – Process symlinks as regular files/directories without following them
      • SymlinkFollow – Follow symlinks and process their targets
  • 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!