v1.4.0-rc1
getlago/lagov1.4.0-rc1Jun 18, 2026by jiefenghuang
AI Summary
The first release candidate for JuiceFS v1.4 introduces new tier storage capabilities and API improvements, while optimizing metadata operations and fixing various stability and performance issues.
Key Highlights
- Support for custom tags in tier configuration
- Support for upload-part stream API
- Optimization of metadata operations (batch get quota, write order)
- New object.Sys() interface for storage backends
- Enhanced symlink handling in sync commands
New Features
- Support for custom tags in tier configuration
- Support for upload-part stream API
Full Release Notes
This is the first release candidate for JuiceFS v1.4. Since beta2 it has 50 commits from 9 contributors, thanks to @jiefenghuang @zhijian-pro @Xuyuchao-juice @zxh326 @YunhuiChen @polyrabbit @simpleqin @JoyLiuc @solracsf ## New - tier: support custom tags in tier configuration (#7099) - object/jfs: support upload-part stream API (#7123, #7124, #7163) ## Changed - meta: avoid creating massive tkv tombstones for quota keys that were never set (#7142) - meta/tkv: batch get quota key to reduce one rpc (#7171) - meta/sql: change setting.Value from varchar(4096) to text (#7152) - cmd/sync: enhance symlink handling (#7030) (#7121) - object: add API to check whether a storage is supported (#6559) (#7115) - object: add object.Sys() interface (#6825) (#7118) - object/ceph: add env `JFS_OBJECT_NO_ORDER` for faster listing (#7119, #7122) - utils: export LogHandle (#7005) (#7120) ## Bug Fixes - meta: fix escaping when the original string contains spaces (#7159) - meta/sql: avoid premature delfile marker removal (#7093) - meta/sql: retry transaction for serialization failure (#7128, #7180) - meta/redis: fix duplicative prefix and loop counter (#7154) - meta: fix quota compatibility across dump/load (#7168) - meta: fix sustained inode accounting in volume stats (#7104) - meta: fix quota race (#7181) - meta/badger: run simpleTxn as read-only transaction (#7173) - cmd/mount: fix FUSE fd leaking into child process (#7162, #7161) - cmd/sync: fix decrypting small non-encrypted files (#7092) - cmd/sync: improve sync log (#6623) (#7116) - cmd/sync: improve usage description for update flag (#7169) - object/oss: avoid passing empty token (#6446) (#7114) - object/ceph: remove the check of JFS_NO_CHECK_OBJECT_STORAGE env (#6742) (#7117) - object: nil-guard pointer fields in S3-family responses (#7133) - object: add context parameter to Head method in DefaultObjectStorage (#7140) - object: fix S3 configuration with default checksum options (#7172) - sdk/java: convert delegation token issue/max timestamps to milliseconds in `getDelegationToken` (#7113)