Skip to content

v0.5.0-alpha

Choose a tag to compare

@lzjqsdd lzjqsdd released this 05 Sep 14:34
· 198 commits to main since this release
ad60415

What's Changed

🔄 Other Changes

  • fix(master): clean checkpoint on snapshot enqueue failure by @sf1999817 in #1535
  • fix(fuse): make FUSE startup failures actionable by @jlon in #1538
  • fix(io): keep LocalFile position and read/write consistent by @bigbigxu in #1539
  • test(fuse): gate hot-reload and git-clone behind --extended by @bigbigxu in #1542
  • fix(master): return file_not_found for missing inode by @bigbigxu in #1541
  • docs: make Slack badge larger and standalone by @lzjqsdd in #1545
  • fix(fuse): delete unused code as curvine-fuse doesn't support bsd by @201341 in #1553
  • fix(fuse): do not clear S_ISUID on same-uid/same-gid chown (#1549) by @gongxun0928 in #1547
  • fix(fuse): require file owner for setattr gid changes (#1548) by @gongxun0928 in #1546
  • fix(config): move default web ports off 9000 to avoid conflicts by @bigbigxu in #1562
  • fix(fuse): stop advertising unsupported setxattr extension by @ljy1-lixing in #1563
  • fix(unified-fs): use DeleteResult for delete stats (#1543) by @lzjqsdd in #1544
  • fix(raft): restore durable snapshot recovery by @jlon in #1554
  • fix(rocksdb): flush all column families before checkpoint by @jlon in #1555
  • fix(master): skip empty placeholder snapshots by @jlon in #1556
  • fix(raft): fence leader promotion after metadata apply by @jlon in #1557
  • fix(transfer): isolate standalone service configuration by @jlon in #1565
  • fix(fuse): synchronize concurrent reader refresh by @ljy1-lixing in #1566
  • fix(fuse): order OFD lock cleanup with queries by @ljy1-lixing in #1570
  • docs: update README by removing old content by @szbr00 in #1572
  • docs: update README.md by removing obsolete links by @szbr00 in #1573
  • fix(fuse): clear set-id on chown to match Linux (closes #1567) by @gongxun0928 in #1574
  • fix(fuse): strip unauthorized setgid on create by @ljy1-lixing in #1569
  • feat(version): add unified ComponentVersion type (#1527) by @lzjqsdd in #1571
  • refactor(rpc): rename GetMasterInfo to GetFilesystemInfo (#1575) by @yangyang233333 in #1576
  • feat(proto): add component and compatibility messages (#1527) by @lzjqsdd in #1580
  • fix(client): degrade auto-cache overload to UFS by @ljy1-lixing in #1578
  • fix(raft): advance applied index for leader no-op by @ljy1-lixing in #1579
  • feat(proto): extend GetFilesystemInfo handshake with version fields (#1527) by @lzjqsdd in #1581
  • docs(readme): refresh architecture diagram and add performance benchmarks by @szbr00 in #1583
  • feat(client): add master handshake with legacy fallback (#1527) by @lzjqsdd in #1582
  • feat(proto): report structured worker component version on heartbeat (#1527) by @lzjqsdd in #1584
  • docs(readme): trim Why Curvine and AI Agent sections, add EKS blog link by @szbr00 in #1586
  • feat(compat): add compatibility checker with diagnose/enforce policy (#1527) by @lzjqsdd in #1585
  • feat(worker): accept component info on data plane (#1527) by @lzjqsdd in #1587
  • feat(worker): negotiate client-worker compatibility per connection (#1527) by @lzjqsdd in #1588
  • fix(libsdk): make CurvineNative jar extract interrupt-safe (#1591) by @akenO8 in #1593
  • feat(release): validate and inject release versions (#1527) by @lzjqsdd in #1592
  • feat(io): add pread and pwrite without moving the file offset by @bigbigxu in #1590
  • fix(fuse): default max_readahead_kb to None by @bigbigxu in #1589
  • fix(transfer): recover orphan Stale tasks that never finish jobs (#1595) by @xingnailu in #1596
  • fix(worker): correct sparse buffered block reads by @ljy1-lixing in #1594
  • fix(fuse): preserve getattr for unlinked inodes by @ljy1-lixing in #1597
  • feat(compat): expose compatibility metrics and CLI worker version stats (#1527) by @lzjqsdd in #1598
  • fix(fuse): prevent statfs signed capacity overflow (#1463) by @gangump82 in #1600
  • fix(raft): accept contiguous snapshots during recovery (#1601) by @jlon in #1602
  • feat(libsdk): expose PartialSuccess load job state to clients by @xingnailu in #1606
  • docs(skills): strengthen cv-submit-pr-review semantic checks (#1608) by @szbr00 in #1609
  • fix(rpc): handle early EOF gracefully in ReadFrame::receive by @bigbigxu in #1605
  • docs(skills): add cv-test-report for Hextra Pages by @lzjqsdd in #1607
  • feat(spdk): introduce spdk qpair observability metrics by @thuongle2210 in #1603
  • feat(transfer): add PostgreSQL metadata store by @jlon in #1604
  • fix(java-sdk): resolve LoadJobStatus compile error referencing missing proto field by @lzjqsdd in #1611
  • docs: enhance README with architecture design details by @szbr00 in #1612
  • fix(master): report allocatable capacity in statfs (#1460) by @gangump82 in #1610
  • fix(fuse): reject unsupported mount options (#1399) by @gangump82 in #1613
  • fix(config): trim whitespace in host:port address lists by @lzjqsdd in #1614
  • docs(skills): add backward-compatibility checks for new params and proto fields to cv-submit-pr-review by @szbr00 in #1616
  • fix(sdk): derive CurvineFsStat used from allocatable view (#1460) by @gangump82 in #1615
  • feat(mds): add standalone service scaffold by @yangyang233333 in #1621
  • feat(config): add unified layered config loading pipeline (#1619) by @lzjqsdd in #1620
  • docs(skills): add intent-first review judgment to cv-submit-pr-review by @szbr00 in #1629
  • fix(fuse): make session init metric observable by @ljy1-lixing in #1628
  • feat(worker): log client address in block write logs by @bigbigxu in #1632
  • feat(master): local policy assigns remaining replicas by weight by @bigbigxu in #1631
  • feat(client): log git commit in filesystem creation by @bigbigxu in #1633
  • feat(discovery): add etcd service discovery by @yangcx000 in #1618
  • fix(libsdk): fix mount lifecycle to prevent use-after-free and double close by @bigbigxu in #1635
  • feat(config): add validation framework and unknown-key audit (#1619) by @lzjqsdd in #1622
  • fix(java): isolate MOUNT_CACHE by client mode (#1638) by @akenO8 in #1640
  • refactor(config): load ClusterConf through the unified pipeline (#1619) by @lzjqsdd in #1623
  • feat(mds): add generic KV abstraction and memory backend by @yangyang233333 in #1639
  • fix(worker): use stored block length for replication reads (#1634) by @gangump82 in #1637
  • refactor(fuse): generate mount CLI overrides from FuseConf (#1619) by @lzjqsdd in #1624
  • fix(worker): cancel remote writer on replication failure (#1636) by @gangump82 in #1642
  • refactor(config): converge config discovery on ConfigLoader (#1619) by @lzjqsdd in #1625
  • feat(config): add hot-reload extension points (#1619) by @lzjqsdd in #1626
  • feat(worker): add disk free-space ratio protection (free_ratio) by @gangump82 in #1644
  • feat(java-sdk): complete transfer and filesystem lifecycle APIs by @jlon in #1649
  • test(config): isolate environment-dependent failure paths by @uhmh123 in #1650
  • feat(mds): add FoundationDB KV backend by @yangyang233333 in #1651
  • docs(agents): add cv-codegraph skill for code exploration by @lzjqsdd in #1652
  • refactor(metrics): remove redundant used_memory_bytes gauges (#1656) by @bigbigxu in #1657
  • fix(client): commit blocks parked in cache_writers before append by @bigbigxu in #1655
  • perf: demote expected IO errors to debug logging by @bigbigxu in #1653
  • feat(mds): make FoundationDB backend optional via fdb feature by @lzjqsdd in #1658

New Contributors

Full Changelog: v0.4.1...v0.5.0-alpha