Releases
v1.2.1
v1.2.1 - Add comprehensive symlink support
Compare
Sorry, something went wrong.
No results found
What's New
Symlink Support
Full symlink preservation : Create, extract, and list symbolic links with complete metadata preservation
Cross-platform compatibility : Works on Unix-like systems (Linux, macOS, BSD)
All symlink types supported : Relative paths, absolute paths, broken links, and directory links
Integration with existing features : Symlinks work seamlessly with compression (ZSTD) and encryption (ChaCha20-Poly1305)
API Enhancements
New bfc_add_symlink() function for programmatic symlink creation
Enhanced CLI commands to handle symlinks across all operations (create, extract, list, info, verify)
Proper symlink detection using lstat() instead of stat()
CLI Improvements
Create command : Automatically detects and preserves symlinks during container creation
Extract command : Restores symlinks with original targets and timestamps using lutimes()
List command : Displays symlinks with 'l' prefix in file mode (e.g., lrwxrwxrwx)
Info command : Shows symlink count and type statistics
Verify command : Validates symlink integrity and targets
Testing & Quality
Comprehensive unit test coverage for both writer and reader functionality
Integration tests covering all symlink scenarios
CI/CD pipeline updated with symlink testing
Cross-platform build fixes for Linux systems
Technical Details
Symlink targets are stored as file content within the container format
Uses existing BFC_TYPE_SYMLINK object type in the BFC format
Maintains backward compatibility with existing containers
CRC32C validation ensures symlink target integrity
You can’t perform that action at this time.