You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
add CLI flags for controlling file collection behavior during ipfs add:
- `--dereference-symlinks`: recursively resolve symlinks to their target
content (replaces deprecated --dereference-args which only worked on
CLI arguments). wired through go-ipfs-cmds to boxo's SerialFileOptions.
- `--empty-dirs` / `-E`: include empty directories (default: true)
- `--hidden` / `-H`: include hidden files (default: false)
these flags are CLI-only and not wired to Import.* config options because
go-ipfs-cmds library handles input file filtering before the directory
tree is passed to kubo. removed unused Import.UnixFSSymlinkMode config
option that was defined but never actually read by the CLI.
also:
- wire --trickle to Import.UnixFSDAGLayout config default
- update go-ipfs-cmds to v0.15.1-0.20260117043932-17687e216294
- add SYMLINK HANDLING section to ipfs add help text
- add CLI tests for all three flags
ref: ipfs/specs#499
-[🧹 Automatic cleanup of interrupted imports](#-automatic-cleanup-of-interrupted-imports)
14
15
-[Routing V1 HTTP API now exposed by default](#routing-v1-http-api-now-exposed-by-default)
15
16
-[Track total size when adding pins](#track-total-size-when-adding-pins)
@@ -30,6 +31,43 @@ This release was brought to you by the [Shipyard](https://ipshipyard.com/) team.
30
31
31
32
### 🔦 Highlights
32
33
34
+
#### 🔢 UnixFS CID Profiles (IPIP-499)
35
+
36
+
This release introduces [IPIP-499](https://github.com/ipfs/specs/pull/499) UnixFS CID Profiles for reproducible CID generation across IPFS implementations.
37
+
38
+
**New Profiles**
39
+
40
+
-`unixfs-v1-2025`: the recommended profile for CIDv1 imports with deterministic HAMT directory sharding based on block size estimation
41
+
-`unixfs-v0-2015` (alias `legacy-cid-v0`): preserves legacy CIDv0 behavior for backward compatibility
42
+
43
+
Apply a profile with: `ipfs config profile apply unixfs-v1-2025`
44
+
45
+
**New `Import.*` Configuration Options**
46
+
47
+
New [`Import.*`](https://github.com/ipfs/kubo/blob/master/docs/config.md#import) options allow fine-grained control over import parameters:
48
+
49
+
-`Import.CidVersion`: CID version (0 or 1)
50
+
-`Import.HashFunction`: hash algorithm
51
+
-`Import.UnixFSChunker`: chunking strategy
52
+
-`Import.UnixFSRawLeaves`: raw leaf blocks
53
+
-`Import.UnixFSFileMaxLinks`: max children per file node
54
+
-`Import.UnixFSDirectoryMaxLinks`: max children per basic directory
-`Import.UnixFSHAMTDirectorySizeThreshold`: threshold for HAMT sharding
57
+
-`Import.UnixFSHAMTDirectorySizeEstimation`: estimation mode (`links`, `block`, or `disabled`)
58
+
-`Import.UnixFSDAGLayout`: DAG layout (`balanced` or `trickle`)
59
+
60
+
**Deprecated Profiles**
61
+
62
+
The `test-cid-v1` and `test-cid-v1-wide` profiles have been removed. Use `unixfs-v1-2025` for CIDv1 imports.
63
+
64
+
**CLI Changes**
65
+
66
+
- New `--dereference-symlinks` flag for `ipfs add` recursively resolves symlinks to their target content (replaces deprecated `--dereference-args` which only worked on CLI arguments)
67
+
- New `--empty-dirs` / `-E` flag for `ipfs add` controls inclusion of empty directories (default: true)
68
+
- New `--hidden` / `-H` flag for `ipfs add` includes hidden files (default: false)
69
+
- The `--trickle` flag in `ipfs add` now respects `Import.UnixFSDAGLayout` config default
70
+
33
71
#### 🧹 Automatic cleanup of interrupted imports
34
72
35
73
If you cancel `ipfs add` or `ipfs dag import` mid-operation, Kubo now automatically cleans up incomplete data on the next daemon start. Previously, interrupted imports would leave orphan blocks in your repository that were difficult to identify and remove without pins and running explicit garbage collection.
0 commit comments