# Kubo changelog v0.29 - [v0.29.0](#v0290) ## v0.29.0 - [Overview](#overview) - [πŸ”¦ Highlights](#-highlights) - [Add search functionality for pin names](#add-search-functionality-for-pin-names) - [Customizing `ipfs add` defaults](#customizing-ipfs-add-defaults) - [πŸ“ Changelog](#-changelog) - [πŸ‘¨β€πŸ‘©β€πŸ‘§β€πŸ‘¦ Contributors](#-contributors) ### Overview ### πŸ”¦ Highlights #### Add search functionality for pin names It is now possible to search for pins by name via `ipfs pin ls --name "SomeName"`. The search is case-sensitive and will return all pins that contain the specified substring in their name. > [!TIP] > The `ipfs pin ls -n` is now a shorthand for `ipfs pin ls --name`, mirroring the behavior of `ipfs pin add`. > See `ipfs pin ls --help` for more information. #### Customizing `ipfs add` defaults This release supports overriding global data ingestion defaults used by commands like `ipfs add` via user-defined [`Import.*` configuration options](../config.md#import). The hash function, CID version, or UnixFS raw leaves and chunker behaviors can be set once, and used as the new implicit default for `ipfs add`. > [!TIP] > As a convenience, two CID [profiles](../config.md#profile) are provided: `legacy-cid-v0` and `test-cid-v1`. > A test profile that defaults to modern CIDv1 can be applied via `ipfs config profile apply test-cid-v1`. > We encourage users to try it and report any issues in [kubo#4143](https://github.com/ipfs/kubo/issues/4143). ### πŸ“ Changelog
Full Changelog - github.com/ipfs/kubo: - fix(cli): unify --name param in ls and add (#10439) ([ipfs/kubo#10439](https://github.com/ipfs/kubo/pull/10439)) - chore: set version to 0.29.0-rc2 - fix(libp2p): streams config validation in resource manager (#10435) ([ipfs/kubo#10435](https://github.com/ipfs/kubo/pull/10435)) - chore: update version - chore: libp2p 0.34.1 (#10429) ([ipfs/kubo#10429](https://github.com/ipfs/kubo/pull/10429)) - refactor: stop using github.com/pkg/errors (#10431) ([ipfs/kubo#10431](https://github.com/ipfs/kubo/pull/10431)) - chore: fix --help text - config: introduce Import section (#10421) ([ipfs/kubo#10421](https://github.com/ipfs/kubo/pull/10421)) - feat: enables searching pins by name (#10412) ([ipfs/kubo#10412](https://github.com/ipfs/kubo/pull/10412)) - fix(fuse): ipfs path parsing (#10243) ([ipfs/kubo#10243](https://github.com/ipfs/kubo/pull/10243)) - core/node: fix divide by zero fatal crash for reprovide rate check (#10411) ([ipfs/kubo#10411](https://github.com/ipfs/kubo/pull/10411)) - chore: bump to go-ipfs-cmds @ v0.11 - chore: create next changelog - Merge Release: v0.28.0 [skip changelog] ([ipfs/kubo#10402](https://github.com/ipfs/kubo/pull/10402)) - docs: update release checklist (#10401) ([ipfs/kubo#10401](https://github.com/ipfs/kubo/pull/10401)) - chore: update version - github.com/ipfs/boxo (v0.19.0 -> v0.20.0): - Release v0.20.0 ([ipfs/boxo#613](https://github.com/ipfs/boxo/pull/613)) - github.com/ipfs/go-blockservice (v0.5.0 -> v0.5.2): - docs: remove contribution section - chore: bump version - chore: deprecate types and readme - chore: release v0.5.1 - fix: remove busyloop in getBlocks by removing batching - github.com/ipfs/go-ipfs-blockstore (v1.3.0 -> v1.3.1): - docs: remove contribution section - chore: bump version - chore: deprecate types and readme - github.com/ipfs/go-ipfs-cmds (v0.10.0 -> v0.11.0): - chore: release v0.11.0 (#253) ([ipfs/go-ipfs-cmds#253](https://github.com/ipfs/go-ipfs-cmds/pull/253)) - chore: update deps (#252) ([ipfs/go-ipfs-cmds#252](https://github.com/ipfs/go-ipfs-cmds/pull/252)) - chore: release 0.10.2 (#251) ([ipfs/go-ipfs-cmds#251](https://github.com/ipfs/go-ipfs-cmds/pull/251)) - fix(http): return error in case of panic (#250) ([ipfs/go-ipfs-cmds#250](https://github.com/ipfs/go-ipfs-cmds/pull/250)) - chore: release v0.10.1 - github.com/ipfs/go-ipfs-ds-help (v1.1.0 -> v1.1.1): - docs: remove contribution section - chore: bump version - chore: deprecate types and readme - github.com/ipfs/go-ipfs-exchange-interface (v0.2.0 -> v0.2.1): - chore: bump version - Deprecate types and readme (#29) ([ipfs/go-ipfs-exchange-interface#29](https://github.com/ipfs/go-ipfs-exchange-interface/pull/29)) - docs: Add proper documentation to the interface. - github.com/ipfs/go-verifcid (v0.0.2 -> v0.0.3): - chore: bump version - chore: deprecate types and readme - Make poseidon hashes good hashes ([ipfs/go-verifcid#19](https://github.com/ipfs/go-verifcid/pull/19)) - sync: update CI config files (#18) ([ipfs/go-verifcid#18](https://github.com/ipfs/go-verifcid/pull/18)) - github.com/ipld/go-car (v0.5.0 -> v0.6.2): - v0.6.2 ([ipld/go-car#464](https://github.com/ipld/go-car/pull/464)) - fix: opt-in way to allow empty list of roots in CAR headers ([ipld/go-car#461](https://github.com/ipld/go-car/pull/461)) - feat: add inverse and version to filter cmd ([ipld/go-car#457](https://github.com/ipld/go-car/pull/457)) - v0.6.1 bump - chore: update usage of merkledag by go-car (#437) ([ipld/go-car#437](https://github.com/ipld/go-car/pull/437)) - feat(cmd/car): add '--no-wrap' option to 'create' command ([ipld/go-car#432](https://github.com/ipld/go-car/pull/432)) - fix: remove github.com/ipfs/go-ipfs-blockstore dependency - feat: expose index for StorageCar - perf: reduce NewCarReader allocations - fix(deps): update deps for cmd (use master go-car and go-car/v2 for now) - fix: new error strings from go-cid - fix: tests should match stderr for verbose output - fix: reading from stdin should broadcast EOF to block loaders - refactor insertion index to be publicly accessible ([ipld/go-car#408](https://github.com/ipld/go-car/pull/408)) - chore: unmigrate from go-libipfs - Create CODEOWNERS - blockstore: give a direct access to the index for read operations - blockstore: only close the file on error in OpenReadWrite, not OpenReadWriteFile - fix: handle (and test) WholeCID vs not; fast Has() path for storage - ReadWrite: faster Has() by using the in-memory index instead of reading on disk - fix: let `extract` skip missing unixfs shard links - fix: error when no files extracted - fix: make -f optional, read from stdin if omitted - fix: update cmd/car/README with latest description - chore: add test cases for extract modes - feat: extract accepts '-' as an output path for stdout - feat: extract specific path, accept stdin as streaming input - fix: if we don't read the full block data, don't error on !EOF - blockstore: try to close during Finalize(), even in case of previous error - ReadWrite: add an alternative FinalizeReadOnly+Close flow - feat: add WithTrustedCar() reader option (#381) ([ipld/go-car#381](https://github.com/ipld/go-car/pull/381)) - blockstore: fast path for AllKeysChan using the index - fix: switch to crypto/rand.Read - stop using the deprecated io/ioutil package - fix(doc): fix storage package doc formatting - fix: return errors for unsupported operations - chore: move insertionindex into store pkg - chore: add experimental note - fix: minor lint & windows fd test problems - feat: docs for StorageCar interfaces - feat: ReadableWritable; dedupe shared code - feat: add Writable functionality to StorageCar - feat: StorageCar as a Readable storage, separate from blockstore - feat(blockstore): implement a streaming read only storage - feat(cmd): add index create subcommand to create an external carv2 index ([ipld/go-car#350](https://github.com/ipld/go-car/pull/350)) - chore: bump version to 0.6.0 - fix: use goreleaser instead - Allow using WalkOption in WriteCar function ([ipld/go-car#357](https://github.com/ipld/go-car/pull/357)) - fix: update go-block-format to the version that includes the stubs - feat: upgrade from go-block-format to go-libipfs/blocks - cleanup readme a bit to make the cli more discoverable (#353) ([ipld/go-car#353](https://github.com/ipld/go-car/pull/353)) - Update install instructions in README.md - Add a debugging form for car files. (#341) ([ipld/go-car#341](https://github.com/ipld/go-car/pull/341)) - ([ipld/go-car#340](https://github.com/ipld/go-car/pull/340)) - add a `SkipNext` method on block reader (#338) ([ipld/go-car#338](https://github.com/ipld/go-car/pull/338)) - feat: Has() and Get() will respect StoreIdentityCIDs option - github.com/libp2p/go-libp2p (v0.33.2 -> v0.34.1): - release v0.34.1 (#2811) ([libp2p/go-libp2p#2811](https://github.com/libp2p/go-libp2p/pull/2811)) - config: fix Insecure security constructor (#2810) ([libp2p/go-libp2p#2810](https://github.com/libp2p/go-libp2p/pull/2810)) - rcmgr: Backwards compatibility if you wrap default impl (#2805) ([libp2p/go-libp2p#2805](https://github.com/libp2p/go-libp2p/pull/2805)) - v0.34.0 (#2795) ([libp2p/go-libp2p#2795](https://github.com/libp2p/go-libp2p/pull/2795)) - swarm: fix addr for TestBlackHoledAddrBlocked (#2803) ([libp2p/go-libp2p#2803](https://github.com/libp2p/go-libp2p/pull/2803)) - Add backwards compatibility with old well-known resource (#2798) ([libp2p/go-libp2p#2798](https://github.com/libp2p/go-libp2p/pull/2798)) - rcmgr: remove a connection only once from the limiter (#2800) ([libp2p/go-libp2p#2800](https://github.com/libp2p/go-libp2p/pull/2800)) - Adhere to request.Context when roundtripping on a stream (#2796) ([libp2p/go-libp2p#2796](https://github.com/libp2p/go-libp2p/pull/2796)) - fix: Set missing deadlines (#2794) ([libp2p/go-libp2p#2794](https://github.com/libp2p/go-libp2p/pull/2794)) - rcmgr: Add conn_limiter to limit number of conns per ip cidr (#2788) ([libp2p/go-libp2p#2788](https://github.com/libp2p/go-libp2p/pull/2788)) - identify: refactor observed address manager to do address mapping at thin waist(IP+TCP/UDP) layer (#2793) ([libp2p/go-libp2p#2793](https://github.com/libp2p/go-libp2p/pull/2793)) - fix: DNS protocol address is not reserved (#2792) ([libp2p/go-libp2p#2792](https://github.com/libp2p/go-libp2p/pull/2792)) - Update github.com/quic-go/quic-go dependency (#2780) ([libp2p/go-libp2p#2780](https://github.com/libp2p/go-libp2p/pull/2780)) - webrtc: add webrtc addresses to host normalizer (#2784) ([libp2p/go-libp2p#2784](https://github.com/libp2p/go-libp2p/pull/2784)) - Add a "Limited" network connectivity state (#2696) ([libp2p/go-libp2p#2696](https://github.com/libp2p/go-libp2p/pull/2696)) - basichost: append certhash for webrtc addresses provided via address factory (#2774) ([libp2p/go-libp2p#2774](https://github.com/libp2p/go-libp2p/pull/2774)) - Fix comment (#2775) ([libp2p/go-libp2p#2775](https://github.com/libp2p/go-libp2p/pull/2775)) - Update: update incomplete readmes (#2767) ([libp2p/go-libp2p#2767](https://github.com/libp2p/go-libp2p/pull/2767)) - libp2phttp: Return connection: close when doing http over streams (#2756) ([libp2p/go-libp2p#2756](https://github.com/libp2p/go-libp2p/pull/2756)) - Identify: emit useful events after identification (#2759) ([libp2p/go-libp2p#2759](https://github.com/libp2p/go-libp2p/pull/2759)) - Update chat with rendezvous example (#2769) ([libp2p/go-libp2p#2769](https://github.com/libp2p/go-libp2p/pull/2769)) - Rename well-known resource (#2757) ([libp2p/go-libp2p#2757](https://github.com/libp2p/go-libp2p/pull/2757)) - quic: make server cmd use RFC 9000 instead of draft-29 (#2753) ([libp2p/go-libp2p#2753](https://github.com/libp2p/go-libp2p/pull/2753)) - autonat: Clean up after close (#2749) ([libp2p/go-libp2p#2749](https://github.com/libp2p/go-libp2p/pull/2749)) - webrtc: run onDone callback immediately on close (#2729) ([libp2p/go-libp2p#2729](https://github.com/libp2p/go-libp2p/pull/2729)) - fix: add NullResourceManager to webrtc, fixes panic (#2752) ([libp2p/go-libp2p#2752](https://github.com/libp2p/go-libp2p/pull/2752)) - feat: add tls KeyLogWriter option (#2750) ([libp2p/go-libp2p#2750](https://github.com/libp2p/go-libp2p/pull/2750)) - Use any port, not a specific one for examples (#2748) ([libp2p/go-libp2p#2748](https://github.com/libp2p/go-libp2p/pull/2748)) - quicreuse: remove workaround for quic-go listener close deadlock (#2746) ([libp2p/go-libp2p#2746](https://github.com/libp2p/go-libp2p/pull/2746)) - use Fx to start and stop the host, swarm, autorelay and quicreuse (#2118) ([libp2p/go-libp2p#2118](https://github.com/libp2p/go-libp2p/pull/2118)) - webrtc: set sctp receive buffer size to 100kB (#2745) ([libp2p/go-libp2p#2745](https://github.com/libp2p/go-libp2p/pull/2745)) - basichost: log more info when protocol selection fails (#2734) ([libp2p/go-libp2p#2734](https://github.com/libp2p/go-libp2p/pull/2734)) - chore: bump quic-go (#2742) ([libp2p/go-libp2p#2742](https://github.com/libp2p/go-libp2p/pull/2742)) - security: remove unnecessary noise code (#2738) ([libp2p/go-libp2p#2738](https://github.com/libp2p/go-libp2p/pull/2738)) - webrtc: increase receive buffer size on listener (#2730) ([libp2p/go-libp2p#2730](https://github.com/libp2p/go-libp2p/pull/2730)) - webrtc: fix bug with logger wrapper (#2727) ([libp2p/go-libp2p#2727](https://github.com/libp2p/go-libp2p/pull/2727)) - dcutr: fix log format to actually print error (#2725) ([libp2p/go-libp2p#2725](https://github.com/libp2p/go-libp2p/pull/2725)) - webrtc: use a common logger for all pion logging (#2718) ([libp2p/go-libp2p#2718](https://github.com/libp2p/go-libp2p/pull/2718)) - chore: remove unreadable code, move a test function to test code, better locking in webrtc control reader - ping: use context.Afterfunc to avoid a lingering goroutine (#2723) ([libp2p/go-libp2p#2723](https://github.com/libp2p/go-libp2p/pull/2723)) - webrtc: close mux when closing listener (#2717) ([libp2p/go-libp2p#2717](https://github.com/libp2p/go-libp2p/pull/2717)) - webrtc: setup datachannel handlers before connecting to a peer (#2716) ([libp2p/go-libp2p#2716](https://github.com/libp2p/go-libp2p/pull/2716)) - github.com/libp2p/go-libp2p-pubsub (v0.10.0 -> v0.11.0): - Fix: Own our CertifiedAddrBook (#555) ([libp2p/go-libp2p-pubsub#555](https://github.com/libp2p/go-libp2p-pubsub/pull/555)) - chores: bump go-libp2p (#558) ([libp2p/go-libp2p-pubsub#558](https://github.com/libp2p/go-libp2p-pubsub/pull/558)) - fix: Don't bother parsing an empty slice (#556) ([libp2p/go-libp2p-pubsub#556](https://github.com/libp2p/go-libp2p-pubsub/pull/556)) - Replace fragmentRPC with appendOrMergeRPC (#557) ([libp2p/go-libp2p-pubsub#557](https://github.com/libp2p/go-libp2p-pubsub/pull/557)) - github.com/multiformats/go-multiaddr (v0.12.3 -> v0.12.4): - Release v0.12.4 ([multiformats/go-multiaddr#245](https://github.com/multiformats/go-multiaddr/pull/245)) - net: restrict unicast ip6 public address space (#235) ([multiformats/go-multiaddr#235](https://github.com/multiformats/go-multiaddr/pull/235)) - github.com/whyrusleeping/cbor-gen (v0.1.0 -> v0.1.1): - fix: reduce memory held by deferred objects (#96) ([whyrusleeping/cbor-gen#96](https://github.com/whyrusleeping/cbor-gen/pull/96))
### πŸ‘¨β€πŸ‘©β€πŸ‘§β€πŸ‘¦ Contributors | Contributor | Commits | Lines Β± | Files Changed | |-------------|---------|---------|---------------| | Henrique Dias | 33 | +4994/-579 | 115 | | Rod Vagg | 29 | +3781/-1367 | 90 | | sukun | 12 | +2026/-1215 | 39 | | Marco Munizaga | 18 | +1482/-382 | 47 | | Will | 5 | +769/-213 | 17 | | Steven Allen | 5 | +540/-115 | 24 | | Sukun | 4 | +274/-194 | 11 | | Michael MurΓ© | 7 | +372/-55 | 16 | | Marten Seemann | 1 | +243/-141 | 10 | | Marcin Rataj | 7 | +244/-134 | 13 | | hannahhoward | 1 | +277/-0 | 2 | | Will Scott | 5 | +54/-38 | 9 | | Hector Sanjuan | 3 | +68/-20 | 5 | | Jorropo | 5 | +34/-47 | 15 | | Andrew Gillis | 2 | +67/-7 | 3 | | IGP | 1 | +59/-8 | 5 | | Adin Schmahmann | 2 | +50/-0 | 3 | | Laurent Senta | 1 | +40/-4 | 2 | | Brad Fitzpatrick | 1 | +42/-2 | 2 | | Fabio Bozzo | 1 | +36/-1 | 3 | | Yolan Romailler | 1 | +15/-19 | 4 | | Hlib Kanunnikov | 2 | +14/-14 | 6 | | Andreas Penzkofer | 1 | +22/-2 | 3 | | Matthias Fasching | 1 | +8/-10 | 1 | | gopherfarm | 2 | +16/-1 | 2 | | Dreamacro | 1 | +1/-10 | 1 | | web3-bot | 2 | +7/-3 | 4 | | RafaΕ‚ Leszko | 1 | +4/-4 | 1 | | Oleg Kovalov | 1 | +4/-4 | 3 | | dbeal | 1 | +5/-1 | 1 | | Antonio Navarro Perez | 1 | +4/-1 | 1 | | dozyio | 1 | +3/-0 | 1 | | zhiqiangxu | 1 | +1/-1 | 1 | | the harder the luckier | 1 | +1/-1 | 1 | | LukΓ‘Ε‘ LukÑč | 1 | +1/-1 | 1 | | Steve Loeppky | 1 | +1/-0 | 1 |