| 1 | # Kubo changelog v0.25 |
| 2 | |
| 3 | - [v0.25.0](#v0250) |
| 4 | |
| 5 | ## v0.25.0 |
| 6 | |
| 7 | - [Overview](#overview) |
| 8 | - [🔦 Highlights](#-highlights) |
| 9 | - [WebUI: Updated Peers View](#webui-updated-peers-view) |
| 10 | - [RPC `API.Authorizations`](#rpc-apiauthorizations) |
| 11 | - [MPLEX Removal](#mplex-removal) |
| 12 | - [Graphsync Experiment Removal](#graphsync-experiment-removal) |
| 13 | - [Commands `ipfs key sign` and `ipfs key verify`](#commands-ipfs-key-sign-and-ipfs-key-verify) |
| 14 | - [📝 Changelog](#-changelog) |
| 15 | - [👨👩👧👦 Contributors](#-contributors) |
| 16 | |
| 17 | ### Overview |
| 18 | |
| 19 | ### 🔦 Highlights |
| 20 | |
| 21 | #### WebUI: Updated Peers View |
| 22 | |
| 23 | WebUI [v4.2.0](https://github.com/ipfs/ipfs-webui/releases/tag/v4.2.0) shipped |
| 24 | with updated [ipfs-geoip](https://www.npmjs.com/package/ipfs-geoip) dataset |
| 25 | and [ability to filter the peers table](https://github.com/ipfs/ipfs-webui/pull/2181). |
| 26 | |
| 27 | #### RPC `API.Authorizations` |
| 28 | |
| 29 | Kubo RPC API now supports optional HTTP Authorization. |
| 30 | |
| 31 | Granular control over user access to the RPC can be defined in the |
| 32 | [`API.Authorizations`](https://github.com/ipfs/kubo/blob/master/docs/config.md#apiauthorizations) |
| 33 | map in the configuration file, allowing different users or apps to have unique |
| 34 | access secrets and allowed paths. |
| 35 | |
| 36 | This feature is opt-in. By default, no authorization is set up. |
| 37 | For configuration instructions, |
| 38 | refer to the [documentation](https://github.com/ipfs/kubo/blob/master/docs/config.md#apiauthorizations). |
| 39 | |
| 40 | #### MPLEX Removal |
| 41 | |
| 42 | After deprecating and removing mplex support by default in [v0.23.0](https://github.com/ipfs/kubo/blob/master/docs/changelogs/v0.23.md#mplex-deprecation). |
| 43 | |
| 44 | We now fully removed it. If you still need mplex support to talk with other pieces of software, |
| 45 | please try updating them, and if they don't support yamux or QUIC [talk to us about it](https://github.com/ipfs/kubo/issues/new/choose). |
| 46 | |
| 47 | Mplex is unreliable by design, it will drop data and generate errors when sending data *too fast*, |
| 48 | yamux and QUIC support backpressure, that means if we send data faster than the remote machine can process it, we slows down to match the remote's speed. |
| 49 | |
| 50 | #### Graphsync Experiment Removal |
| 51 | |
| 52 | Currently the Graphsync server is to our knowledge not used |
| 53 | due to lack of compatible software. |
| 54 | And we are left to have to maintain the go-graphsync implementation when trying |
| 55 | to update Kubo because some dependency changed and it fails to build anymore. |
| 56 | |
| 57 | For more information see https://github.com/ipfs/kubo/pull/9747. |
| 58 | |
| 59 | ##### Commands `ipfs key sign` and `ipfs key verify` |
| 60 | |
| 61 | This allows the Kubo node to sign arbitrary bytes to prove ownership of a PeerID or an IPNS Name. To avoid signature reuse, the signed payload is always prefixed with `libp2p-key signed message:`. |
| 62 | |
| 63 | These commands are also both available through the RPC client and implemented in `client/rpc`. |
| 64 | |
| 65 | For more information see https://github.com/ipfs/kubo/issues/10230. |
| 66 | |
| 67 | ### 📝 Changelog |
| 68 | |
| 69 | <details><summary>Full Changelog</summary> |
| 70 | |
| 71 | - github.com/ipfs/kubo: |
| 72 | - chore: update version |
| 73 | - fix: allow daemon to start correctly if the API is null (#10062) ([ipfs/kubo#10062](https://github.com/ipfs/kubo/pull/10062)) |
| 74 | - chore: update version |
| 75 | - feat: ipfs key sign|verify (#10235) ([ipfs/kubo#10235](https://github.com/ipfs/kubo/pull/10235)) |
| 76 | - docs(cli): fix spelling |
| 77 | - feat: webui v4.2.0 (#10241) ([ipfs/kubo#10241](https://github.com/ipfs/kubo/pull/10241)) |
| 78 | - Migrate coreiface ([ipfs/kubo#10237](https://github.com/ipfs/kubo/pull/10237)) |
| 79 | - docs: clarify WebRTCDirect cannot reuse the same port as QUIC |
| 80 | - libp2p: remove mplex |
| 81 | - graphsync: remove support for the server |
| 82 | - docs: move kubo-specific docs (#10226) ([ipfs/kubo#10226](https://github.com/ipfs/kubo/pull/10226)) |
| 83 | - feat(rpc): Opt-in HTTP RPC API Authorization (#10218) ([ipfs/kubo#10218](https://github.com/ipfs/kubo/pull/10218)) |
| 84 | - docs: clarify ipfs id agent version |
| 85 | - fix: regression in 'ipfs dns' |
| 86 | - docs(changelog): clarify webrtc in v0.24 |
| 87 | - chore: create next changelog |
| 88 | - Merge Release: v0.24.0 ([ipfs/kubo#10209](https://github.com/ipfs/kubo/pull/10209)) |
| 89 | - fix: allow event emitting to happen in parallel with getting the query channel |
| 90 | - fixes to routing put command (#10205) ([ipfs/kubo#10205](https://github.com/ipfs/kubo/pull/10205)) |
| 91 | - docs: fix accelerated-dht-client |
| 92 | - docs/config: remove extra commas in PublicGateways example entries |
| 93 | - docs: make it clear Web RTC Direct is experimental |
| 94 | - feat: add WebRTC Direct support |
| 95 | - docs: update EARLY_TESTERS.md (#10194) ([ipfs/kubo#10194](https://github.com/ipfs/kubo/pull/10194)) |
| 96 | - Update Version: v0.24 ([ipfs/kubo#10191](https://github.com/ipfs/kubo/pull/10191)) |
| 97 | - github.com/ipfs/boxo (v0.15.0 -> v0.16.0): |
| 98 | - Release 0.16.0 ([ipfs/boxo#518](https://github.com/ipfs/boxo/pull/518)) |
| 99 | - github.com/libp2p/go-libp2p (v0.32.1 -> v0.32.2): |
| 100 | - release v0.32.2 |
| 101 | |
| 102 | </details> |
| 103 | |
| 104 | ### 👨👩👧👦 Contributors |
| 105 | |
| 106 | | Contributor | Commits | Lines ± | Files Changed | |
| 107 | |-------------|---------|---------|---------------| |
| 108 | | Łukasz Magiera | 149 | +7833/-2505 | 375 | |
| 109 | | Henrique Dias | 26 | +2498/-7535 | 210 | |
| 110 | | Steven Allen | 48 | +497/-373 | 129 | |
| 111 | | Jorropo | 9 | +247/-604 | 49 | |
| 112 | | Michael Muré | 6 | +306/-79 | 14 | |
| 113 | | Adin Schmahmann | 3 | +275/-8 | 5 | |
| 114 | | Lucas Molas | 1 | +181/-56 | 2 | |
| 115 | | Laurent Senta | 1 | +109/-24 | 7 | |
| 116 | | Lars Gierth | 6 | +82/-18 | 8 | |
| 117 | | Petar Maymounkov | 1 | +66/-32 | 3 | |
| 118 | | web3-bot | 1 | +47/-42 | 17 | |
| 119 | | Marcin Rataj | 6 | +57/-23 | 8 | |
| 120 | | Kevin Atkinson | 5 | +31/-31 | 17 | |
| 121 | | Marten Seemann | 3 | +27/-28 | 16 | |
| 122 | | Hector Sanjuan | 3 | +28/-14 | 10 | |
| 123 | | Overbool | 2 | +36/-3 | 3 | |
| 124 | | Raúl Kripalani | 1 | +11/-12 | 4 | |
| 125 | | hannahhoward | 2 | +11/-7 | 6 | |
| 126 | | Jeromy Johnson | 5 | +9/-9 | 5 | |
| 127 | | ForrestWeston | 1 | +14/-1 | 1 | |
| 128 | | Russell Dempsey | 1 | +10/-2 | 2 | |
| 129 | | Will Scott | 1 | +8/-1 | 1 | |
| 130 | | Jeromy | 2 | +4/-4 | 2 | |
| 131 | | sukun | 1 | +2/-2 | 1 | |
| 132 | | Steve Loeppky | 1 | +2/-2 | 1 | |
| 133 | | Jonas Keunecke | 1 | +2/-2 | 1 | |
| 134 | | Edgar Lee | 1 | +3/-1 | 1 | |
| 135 | | Dreamacro | 1 | +2/-2 | 2 | |
| 136 | | godcong | 1 | +1/-1 | 1 | |
| 137 | | Cole Brown | 1 | +1/-1 | 1 | |