Back to Kubo

Kubo changelog v0.15

docs/changelogs/v0.15.md

0.41.028.3 KB
Original Source

Kubo changelog v0.15

v0.15.0

Overview

Below is an outline of all that is in this release, so you get a sense of all that's included.

🔦 Highlights

This is a release mainly with bugfixing and library updates. We are improving release speed and cadence trying to have a new release every 5 weeks.

#️⃣ Blake 3 support

You can now use blake3 as a valid hash function:

  • ipfs block put --mhtype=blake3
  • ipfs add --hash=blake3

It uses a 32 bytes default size. And verify up to 128 bytes. Because blake3 is variable output hash function, you can use a different digest length, set mhlen: ipfs block put --mhtype=blake3 --mhlen=64, ipfs add doesn't have this option yet.

💉 Fx Options plugin

This adds a plugin interface that lets the plugin modify the fx options that are passed to fx when the app is initialized. This means plugins can inject their own implementations of Kubo interfaces. This enables granular customization of Kubo behavior by plugins, such as:

  • Bitswap with custom filters (e.g. for CID blocking)
  • Custom interface implementations such as Pinner or DAGService
  • Dynamic configuration of libp2p ...

Here's an example plugin that overrides the default Pinner with a custom one:

go
func (p *PinnerPlugin) Options(info core.FXNodeInfo) ([]fx.Option, error) {
	pinner := mypinner.New()    
	return append(info.FXOptions, fx.Replace(fx.Annotate(pinner, fx.As(new(pin.Pinner))))), nil
}

Extra plugin info here.

📁 $IPFS_PATH/gateway file

This adds a new file in the IPFS_PATH folder similar to $IPFS_PATH/api containing an address based on Addresses.Gateway configuration.

This file is in URL (RFC1738) format.

console
$ cat ~/.ipfs/gateway
http://127.0.0.1:8080

Changelog

<details> <summary>Full Changelog</summary> </details>

Contributors

ContributorCommitsLines ±Files Changed
Marten Seemann129+5612/-9895345
Marco Munizaga109+7689/-3221181
vyzo64+3972/-657125
Jorropo19+1977/-1611109
Steven Allen30+633/-59354
Jeromy Johnson5+1032/-6416
Marcin Rataj21+406/-20059
Michael Muré6+335/-25014
Gus Eggert8+336/-10431
Claudia Richoux3+181/-639
Steve Loeppky11+95/-14111
Ian Davis4+126/-586
hareku3+172/-67
Ivan Trubach1+98/-746
Raúl Kripalani2+69/-629
Seungbae Yu1+41/-4113
Julien Muret1+60/-72
Mark Gaiser1+64/-05
Lars Gierth1+20/-294
Cole Brown4+27/-194
Chao Fei2+15/-309
Nuno Diegues2+25/-189
Jakub Sztandera1+37/-03
Wiktor Jurkiewicz1+13/-51
c r1+11/-63
Christian Stewart1+15/-24
Matt Robenolt1+15/-12
aarshkshah19922+8/-22
link2xt1+4/-41
Aaron Riekenberg1+4/-44
web3-bot3+7/-03
Adrian Lanzafame1+3/-31
Dmitriy Ryajov2+2/-32
Brendan O'Brien1+5/-01
millken1+1/-11
lostystyg1+1/-11
kpcyrd1+1/-11
anders1+1/-11
Rod Vagg1+1/-11
Matt Joiner1+1/-11
Leo Balduf1+1/-11
Didrik Nordström1+2/-01
Daniel Norman1+1/-11
Antonio Navarro Perez1+1/-11
Adin Schmahmann1+1/-11
Lucas Molas1+1/-01