Changelog of @hackage/clod 0.1.4

Changelog for Clod

All notable changes to this project will be documented in this file.

The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.

[0.1.4] - 2025-03-31

Changed

  • Updated man pages with improved documentation
  • Fixed version inconsistencies across project files
  • Improved error handling for file path validation
  • Enhanced hidden file transformation logic
  • Documentation updates across the project

[0.1.3] - 2025-03-31

Changed

  • Minor performance improvements for large codebases
  • Enhanced error messages for better troubleshooting
  • Fixed edge cases in path transformation for special characters
  • Improved SVG to XML transformation reliability

[0.1.2] - 2025-03-31

Changed

  • Updated Dhall dependency to support newer versions (< 1.43)
  • Fixed compatibility issues with template-haskell 2.20.0.0

[0.1.1] - 2025-03-31

Changed

  • Removed unused dependencies (polysemy, deepseq, lens)
  • Unified file format for path manifest to use Dhall instead of JSON for consistency

[0.1.0] - 2025-03-31

Added

  • Initial release with core functionality
  • Checksum-based file tracking to detect modified files
  • Support for efficient file change detection using XXH3 (64-bit) hashes
  • Database of file checksums for tracking changes between runs
  • Rename detection using content checksums
  • Magic-based file type detection using libmagic
  • Respect for .gitignore and .clodignore patterns
  • Automatic creation of default .clodignore file
  • Case-insensitive extension matching
  • Optimized file naming for Claude AI integration
  • _path_manifest.dhall generation for mapping optimized filenames back to original paths
  • Command-line options:
    • --all: Import all files (respecting .gitignore)
    • --test: Run in test mode
    • --staging-dir: Specify a custom staging directory for test mode
    • --verbose: Enable verbose output
    • --flush: Remove missing entries from the checksum database
    • --last: Reuse the previous staging directory
  • Capability-based permission model for file system operations
  • Path-restricted file operations to prevent unauthorized access
  • Nested .gitignore file support
  • Pattern caching for performance improvements
  • Traditional monad stack (ReaderT/ExceptT/IO) for better type inference and clearer error messages
  • Comprehensive man pages (clod.1, clod.7, clod.8) installed to standard system locations
  • Cross-platform support (macOS, Linux, Windows)
  • Homebrew formula template for macOS distribution
  • Dhall serialization for configurations

Future Plans

  • Performance optimizations for large codebases
  • Parallel file processing capabilities
  • Enhanced file transformations based on file type
  • Integration with cloud storage services
  • Remote file processing capabilities
  • Optional GUI interface