v1.4.0-beta2

ankitects/ankiv1.4.0-beta2May 29, 2026by jiefenghuang

AI Summary

The second beta release for JuiceFS v1.4 introduces checkpoint support for multipart uploads and various performance optimizations across metadata, cache, and file system layers. It includes fixes for the Windows SDK, Python SDK, and various command-line tools.

Key Highlights

  • Checkpoint support for multipart uploads
  • Meta optimizations including single transaction lookups and write order commits
  • Cache and filesystem optimizations
  • Bug fixes for Windows SDK and various command-line tools

New Features

  • Checkpoint support for multipart uploads

Full Release Notes

This is the second beta release for JuiceFS v1.4. Since beta1 it has 60 commits from 13 contributors, thanks to @zxh326 @Xuyuchao-juice @jiefenghuang @Niennienzz @solracsf @CaitinChen @timfeirg @YunhuiChen @davies @chenjie4255 @polyrabbit @qingketsing @zhijian-pro

## New

- sync: checkpoint support multipart uploads (#7046,#7076,#7071)

## Changed

- meta: commit new chunks in write order (#7016)
- meta/tkv: do lookup in a single transaction (#7039)
- meta/tkv: optimize tikv changelog id (#7023)
- meta/tkv: change changelog and kerberos token prefix (#7029)
- meta/redis: optimize invalidation to avoid full entry-cache traversal (#7015,#7021)
- meta/sql: batch chunk_ref updates to reduce SQL round-trips (#7018)
- chunk: scale prefetcher pending buffer with worker count (#7059)
- cache: use concurrency only for initial cache scanning (#6994)
- fs: add permission check for BatchDeleteEntries (#7083)
- fuse: return immediately if readdir failed in ReadDirPlus (#7062)
- cmd: refactor parameters related to tier storage (#7074)
- cmd/mount: improve mount process kill and diagnostics (#6998, #7034)
- cmd/mount: check explicit cancel before duration (#7061)
- cmd/gateway: use lookup instead of stat when deleting in batches (#7078)
- cmd/gc: allow listed objects without size and mtime (#7063)

## Bug Fixes

- meta/tkv: fix panic in doLookup when attr is nil (#7047)
- meta: fix user/group quota for sustained nodes (#6991)
- meta/quota: restore the strict option for setting quota (#7011)
- meta: add mutex to doFlushQuotas to prevent concurrent execution (#7080)
- cache/stage: fix free stage blocks when disk full (#7056)
- cmd/sync: keep files-from symlink dirs as links (#7050)
- cmd/gateway: fix infinite loop in config handling (#7037)
- cmd/gateway: prevent panic on invalid uploadID (#7051)
- cmd/gateway: head file/ should always fail (#7064)
- sdk/windows: fix export jfs_set_callback and jfs_callback symbols in Windows DLL (#6976)
- sdk/windows: fixed ldap_msgfree & ldap_first_entry names (#7033)
- sdk/java: fix flags when reload (#7082)
- sdk/python: fix tests folder being packaged (#7067)
- sdk: fix accesslog dead loop (#7065)
- log: fix log in SelfCheck bandwidth warning (#7057)
- log: fix typo 'boudary' in WriteAt error message (#7058)

## Deps

- build: reduce size of lite version (#7017)
- deps: upgrade `storj/uplink` to v1.14.2 (#6996,#7081)