v1.4.0-rc1
lyogavin/airllmv1.4.0-rc1Jun 18, 2026by jiefenghuang
AI Summary
The first release candidate for v1.4 adds custom tags for tier configuration and stream API support for uploads, along with performance optimizations for quota keys and SQL, plus various stability fixes.
Key Highlights
- Support custom tags in tier configuration
- Support upload-part stream API
- Performance optimizations for quota keys and SQL settings
- Fixes for inode accounting and quota race conditions
New Features
- Support custom tags in tier configuration
- Support 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)