v0.12.0
juicedata/juicefsv0.12.0Apr 12, 2021by chnliyong
AI Summary
A major feature release bringing full Windows support and introducing filesystem maintenance tools.
Key Highlights
- Full Windows support added
- Introduced `juicefs gc` for garbage collection
- Introduced `juicefs fsck` for consistency checking
- Introduced `juicefs info` for internal file/directory information
New Features
- Windows support
- Garbage collection tool (`juicefs gc`)
- Filesystem check tool (`juicefs fsck`)
- Info tool (`juicefs info`)
- Prometheus metrics exposure
- Path-style endpoint for S3 compatible storage
- Background mode mount readiness check
- Improved compaction to skip large slices
- Disabled compression by default
Full Release Notes
JuiceFS v0.12 was arrived 1 month after v0.11, with more than 70 changes from 7 contributors (@davies @xiaogaozi @chnliyong @tangyoupeng @Arvintian @luohy15 @angristan), thanks to them. ### New * Supports Windows (#195, #268 #271). * Added `juicefs gc` to collect garbage in object store (#248, #290). * Added `juicefs fsck` to check the consistency of file system (#253). * Added `juicefs info` to show internal information for file/directory (slow for large directory)(#288). ### Changes * Added prefix (`juicefs_`) and labels (`vol_name` and `mp`) for exposed metrics. * Support path-style endpoint for S3 compatible storage (#175). * Added `--verbose` as an alias to `--debug`. * Support proxy setting from environment variables for OBS (#245). * Wait for block to be persistent in disk in writeback mode (#255). * Change the default number of prefetch threads to 1. * Fail the mount if the mount point is not ready in 10 second in daemon mode. * Speed up `juicefs rmr` by parallelizing it. * Limit the used memory to 200% of `--buffer-size` (slow down if it's above 100%). * Reload the Lua scripts after Redis is restarted. * Improved compaction to skip first few large slices to reduce traffic to object store (#276). * Added logging when operation is interrupted. * Disable compression by default (#286). * Limit the concurrent deletion of objects to 2 (#282). * Accept named options after positional argument (#274). ### Bugfix * Accepts malformed repsonse from UFile (f4f5f53). * Fixed `juicefs umount` in Linux (#242). * Fixed order of returned objects from listing on SCS (#240). * Fixed fetching list of nodes in Java SDK when a customized URL handler is set (#247). * Support IPv6 address for sftp(#259). * Fixed build with librados (#260). * Supports relative path when mount in background (#266). * Fixed `juicefs rmr` with relative path. * Cleanup unused objects after failed compaction. * Fixed updated files and permissions in sftp.