github ipfs/kubo v0.15.0

latest releases: v0.32.1, v0.32.0, v0.32.0-rc2...
2 years ago
  • 🗣 Discuss
  • 🔦 Highlights
    • #️⃣ Blake 3 support
    • 💉 Fx Options plugin
    • 📁 $IPFS_PATH/gateway file
  • Changelog
  • Contributors

🗣 Discuss

If you have comments, questions, or feedback on this release, please post here.

If you experienced any bugs with the release, please post an issue.

🔦 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:

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.

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

Changelog

Full Changelog

Contributors

Contributor Commits Lines ± Files Changed
Marten Seemann 129 +5612/-9895 345
Marco Munizaga 109 +7689/-3221 181
vyzo 64 +3972/-657 125
Jorropo 19 +1977/-1611 109
Steven Allen 30 +633/-593 54
Jeromy Johnson 5 +1032/-64 16
Marcin Rataj 21 +406/-200 59
Michael Muré 6 +335/-250 14
Gus Eggert 8 +336/-104 31
Claudia Richoux 3 +181/-63 9
Steve Loeppky 11 +95/-141 11
Ian Davis 4 +126/-58 6
hareku 3 +172/-6 7
Ivan Trubach 1 +98/-74 6
Raúl Kripalani 2 +69/-62 9
Seungbae Yu 1 +41/-41 13
Julien Muret 1 +60/-7 2
Mark Gaiser 1 +64/-0 5
Lars Gierth 1 +20/-29 4
Cole Brown 4 +27/-19 4
Chao Fei 2 +15/-30 9
Nuno Diegues 2 +25/-18 9
Jakub Sztandera 1 +37/-0 3
Wiktor Jurkiewicz 1 +13/-5 1
c r 1 +11/-6 3
Christian Stewart 1 +15/-2 4
Matt Robenolt 1 +15/-1 2
aarshkshah1992 2 +8/-2 2
link2xt 1 +4/-4 1
Aaron Riekenberg 1 +4/-4 4
web3-bot 3 +7/-0 3
Adrian Lanzafame 1 +3/-3 1
Dmitriy Ryajov 2 +2/-3 2
Brendan O'Brien 1 +5/-0 1
millken 1 +1/-1 1
lostystyg 1 +1/-1 1
kpcyrd 1 +1/-1 1
anders 1 +1/-1 1
Rod Vagg 1 +1/-1 1
Matt Joiner 1 +1/-1 1
Leo Balduf 1 +1/-1 1
Didrik Nordström 1 +2/-0 1
Daniel Norman 1 +1/-1 1
Antonio Navarro Perez 1 +1/-1 1
Adin Schmahmann 1 +1/-1 1
Lucas Molas 1 +1/-0 1

Don't miss a new kubo release

NewReleases is sending notifications on new releases.