v1.4.0-rc1

OpenBMB/MiniCPM-Vv1.4.0-rc1Jun 18, 2026by jiefenghuang

AI Summary

The first release candidate for `JuiceFS` v1.4 introduces custom tier tags, upload-part stream API support, and various meta/sql optimizations along with numerous bug fixes.

Key Highlights

  • Support for custom tags in tier configuration
  • Upload-part stream API support for object/jfs
  • Meta/sql changes: text type for settings, batch get quota key
  • Bug fixes for quota race conditions and FUSE fd leaking

New Features

  • Custom tier tag support
  • Upload-part stream API
  • Meta/sql optimizations
  • Various bug fixes (quota, serialization, FUSE)

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)