mirror of
https://github.com/ipfs/kubo.git
synced 2026-02-21 18:37:45 +08:00
Merge pull request #6001 from ipfs/feat/release-0.4.19
CHANGELOG: add 0.4.19
This commit is contained in:
commit
4ebeba7f03
658
CHANGELOG.md
658
CHANGELOG.md
@ -1,5 +1,663 @@
|
||||
# go-ipfs changelog
|
||||
|
||||
## 0.4.19 2018-02-14 (unreleased)
|
||||
|
||||
We're happy to announce go 0.4.19. This release contains a bunch of important
|
||||
fixes and a slew of new and improved features. Get pumped and upgrade ASAP to benefit from all the new goodies! 🎁
|
||||
|
||||
### Features
|
||||
|
||||
#### 🔌 Initializing With Random Ports
|
||||
|
||||
Go-ipfs can now be configured to listen on a random but _stable_ port (across
|
||||
restarts) using the new `randomports` configuration profile. This should be
|
||||
helpful when testing and/or running multiple go-ipfs instances on a single
|
||||
machine.
|
||||
|
||||
To initialize a go-ipfs instance with a randomly chosen port, run:
|
||||
|
||||
```bash
|
||||
> ipfs init --profile=randomports
|
||||
```
|
||||
|
||||
#### 👂 Gateway Directory Listing
|
||||
|
||||
IPNS (and/or DNSLink) directory listings on the gateway, e.g.
|
||||
https://ipfs.io/ipns/dist.ipfs.io/go-ipfs/, will now display the _ipfs_ hash of
|
||||
the current directory. This way users can more easily create permanent links to
|
||||
otherwise mutable data.
|
||||
|
||||
#### 📡 AutoRelay and AutoNAT
|
||||
|
||||
This release introduces two new experimental features (courtesy of libp2p):
|
||||
AutoRelay and AutoNAT.
|
||||
|
||||
AutoRelay is a new service that automatically chooses a public relay when it
|
||||
detects that the go-ipfs node is behind a NAT. While relaying connections
|
||||
through a third-party node isn't the most efficient way to route around NATs,
|
||||
it's a reliable fallback.
|
||||
|
||||
To enable AutoRelay, set the `Swarm.EnableAutoRelay` option in the config.
|
||||
|
||||
AutoNAT is the service AutoRelay uses to detect if the node is behind a NAT. You
|
||||
don't have to set any special config flags to enable it.
|
||||
|
||||
In this same config section, you may also notice options like `EnableRelayHop`,
|
||||
`EnableAutoNATService`, etc. You _do not_ need to enable these:
|
||||
|
||||
* `EnableRelayHop` -- Allow _other_ nodes to use _your_ node as a relay
|
||||
(disabled by default).
|
||||
* `EnableAutoNATService` -- Help _other_ nodes detect if they're behind a NAT
|
||||
(disabled by default).
|
||||
|
||||
#### 📵 Offline Operation
|
||||
|
||||
There are two new "offline" features in this release: a global `--offline` flag
|
||||
and an option to configure the gateway to not fetch files.
|
||||
|
||||
Most go-ipfs commands now support the `--offline` flag. This causes IPFS to avoid
|
||||
network operations when performing the requested operation. If you've ever used
|
||||
the `--local` flag, the `--offline` flag is the (almost) universally supported
|
||||
replacement.
|
||||
|
||||
For example:
|
||||
|
||||
* If the daemon is started with `ipfs daemon --offline`, it won't even _connect_
|
||||
to the network. (note: this feature isn't new, just an example).
|
||||
* `ipfs add --offline some_file` won't send out provider records.
|
||||
* `ipfs cat --offline Qm...` won't fetch any blocks from the network.
|
||||
* `ipfs block stat --offline Qm...` is a great way to tell if a block is locally
|
||||
available.
|
||||
|
||||
Note: It doesn't _yet_ work with the `refs`, `urlstore`, or `tar` commands
|
||||
([#6002](https://github.com/ipfs/go-ipfs/issues/6002)).
|
||||
|
||||
On to the gateway, there's a new `Gateway.NoFetch` option to configure the
|
||||
gateway to only serve locally present files. This makes it possible to run an
|
||||
IPFS node as a gateway to serve content of _your_ choosing without acting like a
|
||||
public proxy. 🤫
|
||||
|
||||
#### 📍 Adding And Pinning Content
|
||||
|
||||
There's a new `--pin` flag for both `ipfs block put` and `ipfs urlstore add` to
|
||||
match the `--pin` flag in `ipfs add`. This allows one to atomically add and pin
|
||||
content with these APIs.
|
||||
|
||||
**NOTE 1:** For `ipfs urlstore add`, `--pin` has been enabled _by default_ to
|
||||
match the behavior in `ipfs add`. However, `ipfs block put` _does not_ pin by
|
||||
default to match the _current_ behavior.
|
||||
|
||||
**NOTE 2:** If you had previously used the urlstore and _weren't_ explicitly
|
||||
pinning content after adding it, it isn't pinned and running the garbage
|
||||
collector will delete it. While technically documented in the `ipfs urlstore
|
||||
add` helptext, this behavior was non-obvious and bears mentioning.
|
||||
|
||||
#### 🗂 File Listing
|
||||
|
||||
The `ipfs ls` command has two significant changes this release: it reports
|
||||
_file_ sizes instead of _dag_ sizes and has gained a new `--stream` flag.
|
||||
|
||||
First up, `ipfs ls` now reports _file_ sizes instead of _dag_ sizes. Previously,
|
||||
for historical reasons, `ipfs ls` would report the size of a file/directory as
|
||||
seen by IPFS _including_ all the filesystem datastructures and metadata.
|
||||
However, this meant that `ls -l` and `ipfs ls` would print _different_ sizes:
|
||||
|
||||
```bash
|
||||
> ipfs ls /ipfs/QmS4ustL54uo8FzR9455qaxZwuMiUhyvMcX9Ba8nUH4uVv
|
||||
|
||||
QmZTR5bcpQD7cFgTorqxZDYaew1Wqgfbd2ud9QqGPAkK2V 1688 about
|
||||
QmYCvbfNbCwFR45HiNP45rwJgvatpiW38D961L5qAhUM5Y 200 contact
|
||||
QmY5heUM5qgRubMDD1og9fhCPA6QdkMp3QCwd4s7gJsyE7 322 help
|
||||
QmejvEPop4D7YUadeGqYWmZxHhLc4JBUCzJJHWMzdcMe2y 12 ping
|
||||
QmXgqKTbzdh83pQtKFb19SpMCpDDcKR2ujqk3pKph9aCNF 1692 quick-start
|
||||
QmPZ9gcCEpqKTo6aq61g2nXGUhM4iCL3ewB6LDXZCtioEB 1102 readme
|
||||
QmQ5vhrL7uv6tuoN9KeVBwd4PwfQkXdVVmDLUZuTNxqgvm 1173 security-notes
|
||||
|
||||
> ipfs get /ipfs/QmS4ustL54uo8FzR9455qaxZwuMiUhyvMcX9Ba8nUH4uVv
|
||||
Saving file(s) to QmS4ustL54uo8FzR9455qaxZwuMiUhyvMcX9Ba8nUH4uVv
|
||||
6.39 KiB / 6.39 KiB [================================] 100.00% 0s
|
||||
|
||||
> ls -l QmS4ustL54uo8FzR9455qaxZwuMiUhyvMcX9Ba8nUH4uVv
|
||||
total 28
|
||||
-rw------- 1 user group 1677 Feb 14 17:03 about
|
||||
-rw------- 1 user group 189 Feb 14 17:03 contact
|
||||
-rw------- 1 user group 311 Feb 14 17:03 help
|
||||
-rw------- 1 user group 4 Feb 14 17:03 ping
|
||||
-rw------- 1 user group 1681 Feb 14 17:03 quick-start
|
||||
-rw------- 1 user group 1091 Feb 14 17:03 readme
|
||||
-rw------- 1 user group 1162 Feb 14 17:03 security-notes
|
||||
```
|
||||
|
||||
This is now no longer the case. `ipfs ls` and `ls -l` now return the _same_
|
||||
sizes. 🙌
|
||||
|
||||
Second up, `ipfs ls` now has a new `--stream` flag. In IPFS, very large
|
||||
directories (e.g., Wikipedia) are split up into multiple chunks (shards) as
|
||||
there are too many entries to fit in a single block. Unfortunately, `ipfs ls`
|
||||
buffers the _entire_ file list in memory and then sorts it. This means that
|
||||
`ipfs ls /ipfs/QmXoypizjW3WknFiJnKLwHCnL72vedxjQkDDP1mXWo6uco/wiki` (wikipedia)
|
||||
will take a _very_ long time to return anything (it'll also use quite a bit of
|
||||
memory).
|
||||
|
||||
However, the new `--stream` flag makes it possible to stream a directory listing
|
||||
as new chunks are fetched from the network. To test this, you can run `ipfs ls
|
||||
--stream --size=false --resolve-type=false
|
||||
/ipfs/QmXoypizjW3WknFiJnKLwHCnL72vedxjQkDDP1mXWo6uco/wiki`. You probably won't
|
||||
want to wait for that command to finish, Wikipedia has a _lot_ of entries. 😉
|
||||
|
||||
#### 🔁 HTTP Proxy
|
||||
|
||||
This release sees a new (experimental) feature contributed by our friends at
|
||||
[Peergos](https://peergos.org): HTTP proxy over libp2p. When enabled, the local
|
||||
gateway can act as an HTTP proxy and forward HTTP requests to libp2p peers. When
|
||||
combined with the `ipfs p2p` command, users can use this to expose HTTP services
|
||||
to other go-ipfs nodes via their gateways. For details, check out the
|
||||
[documentation](https://github.com/ipfs/go-ipfs/blob/master/docs/experimental-features.md#p2p-http-proxy).
|
||||
|
||||
### Performance And Reliability
|
||||
|
||||
This release introduces quite a few performance/reliability improvements and, as
|
||||
usual, fixes several memory leaks. Below is a non-exhaustive list of noticeable changes.
|
||||
|
||||
#### 📞 DHT
|
||||
|
||||
This release includes an important DHT fix that should significantly:
|
||||
|
||||
1. Reduce dialing.
|
||||
2. Speed up DHT queries.
|
||||
3. Improve performance of the gateways.
|
||||
|
||||
Basically, in the worst case, a DHT query would turn into a random walk of the
|
||||
entire IPFS network. Yikes!
|
||||
|
||||
Relevant PR: https://github.com/libp2p/go-libp2p-kad-dht/pull/237
|
||||
|
||||
#### 🕸 Bitswap
|
||||
|
||||
Bitswap sessions have improved and are now used for _all_ requests. Sessions
|
||||
allow us to group related content and ask peers most likely to _have_ the
|
||||
content instead of broadcasting the request to all connected peers. This gives
|
||||
us two significant benefits:
|
||||
|
||||
1. Less wasted upload bandwidth. Instead of broadcasting which blocks we want to
|
||||
everyone, we can ask fewer peers thus reducing the number of requests we send
|
||||
out.
|
||||
2. Less wasted download bandwidth. Because we _know_ which peers likely have
|
||||
content, we can ask an individual peer for a block and expect to get an
|
||||
answer. In the past, we'd ask every peer at the same time to optimize for
|
||||
latency at the expense of bandwidth (getting the same block from multiple
|
||||
peers). We had to do this because we had to assume that _most_ peers didn't
|
||||
have the requested block.
|
||||
|
||||
#### ‼️ Pubsub
|
||||
|
||||
This release includes some significant reliability improvements in pubsub
|
||||
subscription handling. If you've previously had issues with connected pubsub
|
||||
peers _not_ seeing each-other's messages, please upgrade ASAP.
|
||||
|
||||
#### ♻️ Reuseport
|
||||
|
||||
In this release, we've rewritten our previously error-prone `go-reuseport`
|
||||
library to _not_ duplicate a significant portion of Go's low-level networking
|
||||
code. This was made possible by Go's new `Control`
|
||||
[`net.Dialer`](https://golang.org/pkg/net/#Dialer) option.
|
||||
|
||||
In the past, our first suggestion to anyone experiencing weird resource or
|
||||
connectivity issues was to disable `REUSEPORT` (set `IPFS_REUSEPORT` to false).
|
||||
This should no longer be necessary.
|
||||
|
||||
#### 🐺 Badger Datastore
|
||||
|
||||
[Badger has reached 1.0][badger-release]. This release brings an audit and
|
||||
numerous reliability fixes. We are now reasonably confident that badger will
|
||||
become the default datastore in a future release. 👍
|
||||
|
||||
[badger-release]: https://blog.dgraph.io/post/releasing-v1.0/
|
||||
|
||||
This release also adds a new `Truncate` configuration option for the badger
|
||||
datastore (enabled by default for new IPFS nodes). When enabled, badger will
|
||||
_delete_ any un-synced data on start instead of simply refusing to start. This
|
||||
should be safe on all filesystems where the `sync` operation is safe and removes
|
||||
the need for manual intervention when restarting an IPFS node after a crash.
|
||||
|
||||
### Refactors and Endeavors
|
||||
|
||||
#### 🕹 Commands Library
|
||||
|
||||
The legacy commands library shim has now been completely removed. This won't
|
||||
mean much for many users but the go-ipfs team is happy to have this behind them.
|
||||
|
||||
#### 🌐 Base32 CIDs
|
||||
|
||||
This release can now encode CIDs in responses in bases other than base58. This
|
||||
is primarily useful for web-browser integration as it allows us to (a) encode
|
||||
CIDs in a lower-case base (e.g., base32) and then use them in the _origin_ part
|
||||
of URLs. The take away is: this release brings us a step closer to better
|
||||
browser integration.
|
||||
|
||||
Specifically, this release adds two flags:
|
||||
|
||||
1. `--cid-base`: When specified, the IPFS CLI will encode all CIDv1 CIDs using the
|
||||
requested base.
|
||||
2. `--upgrade-cidv0-in-output`: When specified, the IPFS CLI will _upgrade_ CIDv0
|
||||
CIDs to CIDv1 CIDs when returning them to the user. This upgrade is necessary
|
||||
because CIDv0 doesn't support multibase however, it's off by default as it
|
||||
changes the _binary_ representation of the CIDs (which could have unintended
|
||||
consequences).
|
||||
|
||||
#### 🎛 CoreAPI
|
||||
|
||||
The work on the CoreAPI refactor ([ipfs/go-ipfs#4498][]) has progressed leaps and
|
||||
bounds this release. The CoreAPI is a comprehensive programmatic interface
|
||||
designed to allow go-ipfs be used as a daemon or a library interchangeably.
|
||||
|
||||
As of this release, go-ipfs now has:
|
||||
|
||||
* External interface definitions in [ipfs/interface-go-ipfs-core][].
|
||||
* A work-in-progress implementation ([ipfs/go-ipfs-http-client][]) of these
|
||||
interfaces that uses the IPFS HTTP API. This will replace the
|
||||
([ipfs/go-ipfs-api][]) library.
|
||||
* A new plugin type ["Daemon"][daemon-plugin]. Daemon plugins are started and
|
||||
stopped along with the go-ipfs daemon and are instantiated with a copy of the
|
||||
CoreAPI. This allows them to control and extend the go-ipfs daemon from within
|
||||
the daemon itself.
|
||||
|
||||
The next steps are:
|
||||
|
||||
1. Finishing the remaining API surface area. At the moment, the two key missing
|
||||
parts are:
|
||||
1. Config manipulation.
|
||||
2. The `ipfs files` API.
|
||||
1. Finalizing the [ipfs/go-ipfs-http-client][] implementation.
|
||||
2. Creating a simple way to construct and initialize a go-ipfs node when using
|
||||
go-ipfs as a library.
|
||||
|
||||
[ipfs/go-ipfs#4498]: https://github.com/ipfs/go-ipfs/issues/4498
|
||||
[ipfs/interface-go-ipfs-core]: https://github.com/ipfs/interface-go-ipfs-core
|
||||
[ipfs/go-ipfs-http-client]: https://github.com/ipfs/go-ipfs-http-client
|
||||
[ipfs/go-ipfs-api]: https://github.com/ipfs/go-ipfs-http-client
|
||||
[daemon-plugin]: https://github.com/ipfs/go-ipfs/blob/master/docs/plugins.md#daemon
|
||||
|
||||
### Changelogs
|
||||
|
||||
- github.com/ipfs/go-ipfs:
|
||||
- fix: return the shortest, completely resolved path in the resolve command ([ipfs/go-ipfs#5704](https://github.com/ipfs/go-ipfs/pull/5704))
|
||||
- fix a few interop test issues ([ipfs/go-ipfs#6004](https://github.com/ipfs/go-ipfs/pull/6004))
|
||||
- fix HAMT bookmark ln ([ipfs/go-ipfs#6005](https://github.com/ipfs/go-ipfs/pull/6005))
|
||||
- docs: document Gateway.NoFetch ([ipfs/go-ipfs#5999](https://github.com/ipfs/go-ipfs/pull/5999))
|
||||
- Improve "name publish" ttl option documentation ([ipfs/go-ipfs#5979](https://github.com/ipfs/go-ipfs/pull/5979))
|
||||
- fix(cmd/mv): dst filename error ([ipfs/go-ipfs#5964](https://github.com/ipfs/go-ipfs/pull/5964))
|
||||
- coreapi: extract interface ([ipfs/go-ipfs#5978](https://github.com/ipfs/go-ipfs/pull/5978))
|
||||
- coreapi: cleanup non-gx references ([ipfs/go-ipfs#5976](https://github.com/ipfs/go-ipfs/pull/5976))
|
||||
- coreapi: fix seek test on http impl ([ipfs/go-ipfs#5971](https://github.com/ipfs/go-ipfs/pull/5971))
|
||||
- block put --pin ([ipfs/go-ipfs#5969](https://github.com/ipfs/go-ipfs/pull/5969))
|
||||
- Port `ipfs ls` to CoreAPI ([ipfs/go-ipfs#5962](https://github.com/ipfs/go-ipfs/pull/5962))
|
||||
- docs: duplicate default helptext in `name publish` ([ipfs/go-ipfs#5960](https://github.com/ipfs/go-ipfs/pull/5960))
|
||||
- plugin: add a daemon plugin with access to the CoreAPI ([ipfs/go-ipfs#5955](https://github.com/ipfs/go-ipfs/pull/5955))
|
||||
- coreapi: add some seeker tests ([ipfs/go-ipfs#5934](https://github.com/ipfs/go-ipfs/pull/5934))
|
||||
- Refactor ipfs get to use CoreAPI ([ipfs/go-ipfs#5943](https://github.com/ipfs/go-ipfs/pull/5943))
|
||||
- refact(cmd/init): change string option to const ([ipfs/go-ipfs#5949](https://github.com/ipfs/go-ipfs/pull/5949))
|
||||
- cmds/pin: use coreapi/pin ([ipfs/go-ipfs#5843](https://github.com/ipfs/go-ipfs/pull/5843))
|
||||
- Only perform DNSLink lookups on fully qualified domain names (FQDN) ([ipfs/go-ipfs#5950](https://github.com/ipfs/go-ipfs/pull/5950))
|
||||
- Fix DontCheckOSXFUSE config command example ([ipfs/go-ipfs#5951](https://github.com/ipfs/go-ipfs/pull/5951))
|
||||
- refact(cmd/config): change string option to const ([ipfs/go-ipfs#5948](https://github.com/ipfs/go-ipfs/pull/5948))
|
||||
- clarification the document of --resolve flag in name.publish ([ipfs/go-ipfs#5651](https://github.com/ipfs/go-ipfs/pull/5651))
|
||||
- Drop some coreunix code ([ipfs/go-ipfs#5938](https://github.com/ipfs/go-ipfs/pull/5938))
|
||||
- commands: fix verbose flag ([ipfs/go-ipfs#5940](https://github.com/ipfs/go-ipfs/pull/5940))
|
||||
- Fixes #4558 ([ipfs/go-ipfs#5937](https://github.com/ipfs/go-ipfs/pull/5937))
|
||||
- Port dag commansds to CoreAPI ([ipfs/go-ipfs#5939](https://github.com/ipfs/go-ipfs/pull/5939))
|
||||
- mfs: make sure to flush after mv and chcid ([ipfs/go-ipfs#5936](https://github.com/ipfs/go-ipfs/pull/5936))
|
||||
- docs/code-flow : Add code flow documentation for add cmd. ([ipfs/go-ipfs#5864](https://github.com/ipfs/go-ipfs/pull/5864))
|
||||
- coreapi: few more error check fixes ([ipfs/go-ipfs#5935](https://github.com/ipfs/go-ipfs/pull/5935))
|
||||
- Fixed and cleaned up TestIpfsStressRead ([ipfs/go-ipfs#5920](https://github.com/ipfs/go-ipfs/pull/5920))
|
||||
- Clarify that chunker sizes are in bytes ([ipfs/go-ipfs#5923](https://github.com/ipfs/go-ipfs/pull/5923))
|
||||
- refact(cmd/patch): change string to const ([ipfs/go-ipfs#5931](https://github.com/ipfs/go-ipfs/pull/5931))
|
||||
- refact(cmd/object): change option string to const ([ipfs/go-ipfs#5932](https://github.com/ipfs/go-ipfs/pull/5932))
|
||||
- coreapi: replace coreiface.DagAPI with ipld.DAGService ([ipfs/go-ipfs#5922](https://github.com/ipfs/go-ipfs/pull/5922))
|
||||
- Add global option to specify the multibase encoding (server side) ([ipfs/go-ipfs#5789](https://github.com/ipfs/go-ipfs/pull/5789))
|
||||
- coreapi: Adjust some tests for go-ipfs-http-api ([ipfs/go-ipfs#5926](https://github.com/ipfs/go-ipfs/pull/5926))
|
||||
- chore: update to Web UI v2.3.3 ([ipfs/go-ipfs#5928](https://github.com/ipfs/go-ipfs/pull/5928))
|
||||
- ls: Report real file size ([ipfs/go-ipfs#5906](https://github.com/ipfs/go-ipfs/pull/5906))
|
||||
- Improve the Filestore document ([ipfs/go-ipfs#5927](https://github.com/ipfs/go-ipfs/pull/5927))
|
||||
- [CORS] Bubble go-ipfs-cmds 2.0.10 - Updates CORS library ([ipfs/go-ipfs#5919](https://github.com/ipfs/go-ipfs/pull/5919))
|
||||
- reduce verbosity of daemon start ([ipfs/go-ipfs#5904](https://github.com/ipfs/go-ipfs/pull/5904))
|
||||
- feat: update to Web UI v2.3.2 ([ipfs/go-ipfs#5899](https://github.com/ipfs/go-ipfs/pull/5899))
|
||||
- CoreAPI: Don't panic when testing incomplete implementions ([ipfs/go-ipfs#5900](https://github.com/ipfs/go-ipfs/pull/5900))
|
||||
- gateway: fix CORs headers ([ipfs/go-ipfs#5893](https://github.com/ipfs/go-ipfs/pull/5893))
|
||||
- Local Gateway option ([ipfs/go-ipfs#5649](https://github.com/ipfs/go-ipfs/pull/5649))
|
||||
- Show hash on gateway ([ipfs/go-ipfs#5830](https://github.com/ipfs/go-ipfs/pull/5830))
|
||||
- fix: ulimit docs mistake ([ipfs/go-ipfs#5894](https://github.com/ipfs/go-ipfs/pull/5894))
|
||||
- Move coreapi tests to the interface ([ipfs/go-ipfs#5865](https://github.com/ipfs/go-ipfs/pull/5865))
|
||||
- Move checkHelptextRecursive forward a bit ([ipfs/go-ipfs#5889](https://github.com/ipfs/go-ipfs/pull/5889))
|
||||
- coreapi/unixfs: Use path instead of raw hash in AddEvent ([ipfs/go-ipfs#5854](https://github.com/ipfs/go-ipfs/pull/5854))
|
||||
- Fix name resolve --offline ([ipfs/go-ipfs#5885](https://github.com/ipfs/go-ipfs/pull/5885))
|
||||
- testing: slow down republisher sharness test ([ipfs/go-ipfs#5856](https://github.com/ipfs/go-ipfs/pull/5856))
|
||||
- docs: flesh out plugin documentation ([ipfs/go-ipfs#5876](https://github.com/ipfs/go-ipfs/pull/5876))
|
||||
- main: move InterruptHandler to util ([ipfs/go-ipfs#5872](https://github.com/ipfs/go-ipfs/pull/5872))
|
||||
- make: fix building source tarball on macos ([ipfs/go-ipfs#5860](https://github.com/ipfs/go-ipfs/pull/5860))
|
||||
- fix config data race ([ipfs/go-ipfs#5634](https://github.com/ipfs/go-ipfs/pull/5634))
|
||||
- CoreAPI: Global offline option ([ipfs/go-ipfs#5825](https://github.com/ipfs/go-ipfs/pull/5825))
|
||||
- Update for go-ipfs-files refactor ([ipfs/go-ipfs#5661](https://github.com/ipfs/go-ipfs/pull/5661))
|
||||
- feat: update Web UI to v2.3.0 ([ipfs/go-ipfs#5855](https://github.com/ipfs/go-ipfs/pull/5855))
|
||||
- Stateful plugin loading ([ipfs/go-ipfs#4806](https://github.com/ipfs/go-ipfs/pull/4806))
|
||||
- startup: always load the private key ([ipfs/go-ipfs#5844](https://github.com/ipfs/go-ipfs/pull/5844))
|
||||
- add --dereference-args parameter ([ipfs/go-ipfs#5801](https://github.com/ipfs/go-ipfs/pull/5801))
|
||||
- config: document the connection manager ([ipfs/go-ipfs#5839](https://github.com/ipfs/go-ipfs/pull/5839))
|
||||
- add pinning support to the urlstore ([ipfs/go-ipfs#5834](https://github.com/ipfs/go-ipfs/pull/5834))
|
||||
- refact(cmd/cat): remove useless code ([ipfs/go-ipfs#5836](https://github.com/ipfs/go-ipfs/pull/5836))
|
||||
- Really run as non-root user in docker container ([ipfs/go-ipfs#5048](https://github.com/ipfs/go-ipfs/pull/5048))
|
||||
- README: document guix package ([ipfs/go-ipfs#5832](https://github.com/ipfs/go-ipfs/pull/5832))
|
||||
- docs: Improve config documentation ([ipfs/go-ipfs#5829](https://github.com/ipfs/go-ipfs/pull/5829))
|
||||
- block: rm extra output ([ipfs/go-ipfs#5751](https://github.com/ipfs/go-ipfs/pull/5751))
|
||||
- merge github-issue-guide with the issue template ([ipfs/go-ipfs#4636](https://github.com/ipfs/go-ipfs/pull/4636))
|
||||
- docs: fix inconsistent capitalization of "API". ([ipfs/go-ipfs#5824](https://github.com/ipfs/go-ipfs/pull/5824))
|
||||
- Update README.md ([ipfs/go-ipfs#5818](https://github.com/ipfs/go-ipfs/pull/5818))
|
||||
- CONTRIBUTING.md link ([ipfs/go-ipfs#5811](https://github.com/ipfs/go-ipfs/pull/5811))
|
||||
- README: Update required Go version ([ipfs/go-ipfs#5813](https://github.com/ipfs/go-ipfs/pull/5813))
|
||||
- p2p: report-peer-id option for listen ([ipfs/go-ipfs#5771](https://github.com/ipfs/go-ipfs/pull/5771))
|
||||
- really fix netcat race ([ipfs/go-ipfs#5803](https://github.com/ipfs/go-ipfs/pull/5803))
|
||||
- [http_proxy_over_p2p] ([ipfs/go-ipfs#5526](https://github.com/ipfs/go-ipfs/pull/5526))
|
||||
- coreapi/pin: Use CID's directly in maps instead of converting to string ([ipfs/go-ipfs#5809](https://github.com/ipfs/go-ipfs/pull/5809))
|
||||
- Gx update go-merkledag and related deps. ([ipfs/go-ipfs#5802](https://github.com/ipfs/go-ipfs/pull/5802))
|
||||
- cmds: rm old lib ([ipfs/go-ipfs#5786](https://github.com/ipfs/go-ipfs/pull/5786))
|
||||
- badger: add truncate flag ([ipfs/go-ipfs#5625](https://github.com/ipfs/go-ipfs/pull/5625))
|
||||
- docker: allow IPFS_PROFILE to choose the profile for `ipfs init` ([ipfs/go-ipfs#5473](https://github.com/ipfs/go-ipfs/pull/5473))
|
||||
- Add --stream option to `ls` command ([ipfs/go-ipfs#5611](https://github.com/ipfs/go-ipfs/pull/5611))
|
||||
- Switch to using request.Context() ([ipfs/go-ipfs#5782](https://github.com/ipfs/go-ipfs/pull/5782))
|
||||
- Update go-ipfs-delay and assoc deps ([ipfs/go-ipfs#5762](https://github.com/ipfs/go-ipfs/pull/5762))
|
||||
- Suppress bootstrap error ([ipfs/go-ipfs#5769](https://github.com/ipfs/go-ipfs/pull/5769))
|
||||
- ISSUE_TEMPLATE: move the support question comment to the very top ([ipfs/go-ipfs#5770](https://github.com/ipfs/go-ipfs/pull/5770))
|
||||
- cmds: use MakeTypedEncoder ([ipfs/go-ipfs#5760](https://github.com/ipfs/go-ipfs/pull/5760))
|
||||
- cmds/bitswap: sort wantlist ([ipfs/go-ipfs#5759](https://github.com/ipfs/go-ipfs/pull/5759))
|
||||
- cmds/update: use new cmds lib ([ipfs/go-ipfs#5730](https://github.com/ipfs/go-ipfs/pull/5730))
|
||||
- cmds/file: use new cmds lib ([ipfs/go-ipfs#5756](https://github.com/ipfs/go-ipfs/pull/5756))
|
||||
- cmds: remove reduntant func ([ipfs/go-ipfs#5750](https://github.com/ipfs/go-ipfs/pull/5750))
|
||||
- commands/refs: use new cmds ([ipfs/go-ipfs#5679](https://github.com/ipfs/go-ipfs/pull/5679))
|
||||
- commands/pin: use new cmds lib ([ipfs/go-ipfs#5674](https://github.com/ipfs/go-ipfs/pull/5674))
|
||||
- commands/boostrap: use new cmds ([ipfs/go-ipfs#5678](https://github.com/ipfs/go-ipfs/pull/5678))
|
||||
- fix(cmd/add): progressbar output error when input is read from stdin ([ipfs/go-ipfs#5743](https://github.com/ipfs/go-ipfs/pull/5743))
|
||||
- unexport GOFLAGS ([ipfs/go-ipfs#5747](https://github.com/ipfs/go-ipfs/pull/5747))
|
||||
- refactor(cmds): use new cmds ([ipfs/go-ipfs#5659](https://github.com/ipfs/go-ipfs/pull/5659))
|
||||
- commands/filestore: use new cmds lib ([ipfs/go-ipfs#5673](https://github.com/ipfs/go-ipfs/pull/5673))
|
||||
- Fix broken links ([ipfs/go-ipfs#5721](https://github.com/ipfs/go-ipfs/pull/5721))
|
||||
- fix `ipfs help` bug #5557 ([ipfs/go-ipfs#5573](https://github.com/ipfs/go-ipfs/pull/5573))
|
||||
- commands/bitswap: use new cmds lib ([ipfs/go-ipfs#5676](https://github.com/ipfs/go-ipfs/pull/5676))
|
||||
- refact(cmd/repo): repo's sub cmds uses new cmd lib ([ipfs/go-ipfs#5677](https://github.com/ipfs/go-ipfs/pull/5677))
|
||||
- fix the maketarball script ([ipfs/go-ipfs#5718](https://github.com/ipfs/go-ipfs/pull/5718))
|
||||
- output link to WebUI on daemon startup ([ipfs/go-ipfs#5729](https://github.com/ipfs/go-ipfs/pull/5729))
|
||||
- Move persistent datastores to plugins ([ipfs/go-ipfs#5695](https://github.com/ipfs/go-ipfs/pull/5695))
|
||||
- Update IPTB test ([ipfs/go-ipfs#5636](https://github.com/ipfs/go-ipfs/pull/5636))
|
||||
- enhance(cmd/verify): add goroutine count to improve verify speed ([ipfs/go-ipfs#5710](https://github.com/ipfs/go-ipfs/pull/5710))
|
||||
- Update go-mfs and go-unixfs ([ipfs/go-ipfs#5714](https://github.com/ipfs/go-ipfs/pull/5714))
|
||||
- fix(flag/version): flag `all` should have a higher priority ([ipfs/go-ipfs#5719](https://github.com/ipfs/go-ipfs/pull/5719))
|
||||
- commands/p2p: use new cmds lib ([ipfs/go-ipfs#5672](https://github.com/ipfs/go-ipfs/pull/5672))
|
||||
- commands/dht: use new cmds lib ([ipfs/go-ipfs#5671](https://github.com/ipfs/go-ipfs/pull/5671))
|
||||
- commands/object: use new cmds ([ipfs/go-ipfs#5666](https://github.com/ipfs/go-ipfs/pull/5666))
|
||||
- commands/files: use new cmds ([ipfs/go-ipfs#5665](https://github.com/ipfs/go-ipfs/pull/5665))
|
||||
- cmds/env: add a config path helper ([ipfs/go-ipfs#5712](https://github.com/ipfs/go-ipfs/pull/5712))
|
||||
- github.com/ipfs/dir-index-html:
|
||||
- show hash if given ([ipfs/dir-index-html#21](https://github.com/ipfs/dir-index-html/pull/21))
|
||||
- Add "jpeg" as an alias to "jpg". ([ipfs/dir-index-html#16](https://github.com/ipfs/dir-index-html/pull/16))
|
||||
- github.com/libp2p/go-addr-util:
|
||||
- Improve test coverage ([libp2p/go-addr-util#14](https://github.com/libp2p/go-addr-util/pull/14))
|
||||
- github.com/ipfs/go-bitswap:
|
||||
- fix(bitswap): remove CancelWants function ([ipfs/go-bitswap#80](https://github.com/ipfs/go-bitswap/pull/80))
|
||||
- Avoid allocating for wantlist entries ([ipfs/go-bitswap#79](https://github.com/ipfs/go-bitswap/pull/79))
|
||||
- ci(Jenkins): remove Jenkinsfile ([ipfs/go-bitswap#83](https://github.com/ipfs/go-bitswap/pull/83))
|
||||
- More specific wantlists ([ipfs/go-bitswap#74](https://github.com/ipfs/go-bitswap/pull/74))
|
||||
- fix(wantlist): remove races on setup ([ipfs/go-bitswap#72](https://github.com/ipfs/go-bitswap/pull/72))
|
||||
- fix multiple data races ([ipfs/go-bitswap#76](https://github.com/ipfs/go-bitswap/pull/76))
|
||||
- ci: add travis ([ipfs/go-bitswap#75](https://github.com/ipfs/go-bitswap/pull/75))
|
||||
- providers: don't add every connected node as a provider ([ipfs/go-bitswap#59](https://github.com/ipfs/go-bitswap/pull/59))
|
||||
- refactor(GetBlocks): Merge session/non-session ([ipfs/go-bitswap#64](https://github.com/ipfs/go-bitswap/pull/64))
|
||||
- Feat: A more robust provider finder for sessions (for now) and soon for all bitswap ([ipfs/go-bitswap#60](https://github.com/ipfs/go-bitswap/pull/60))
|
||||
- fix(tests): stabilize session tests ([ipfs/go-bitswap#63](https://github.com/ipfs/go-bitswap/pull/63))
|
||||
- contexts: make sure to abort when a context is canceled ([ipfs/go-bitswap#58](https://github.com/ipfs/go-bitswap/pull/58))
|
||||
- fix(sessions): explicitly connect found peers ([ipfs/go-bitswap#56](https://github.com/ipfs/go-bitswap/pull/56))
|
||||
- Speed up sessions Round #1 ([ipfs/go-bitswap#27](https://github.com/ipfs/go-bitswap/pull/27))
|
||||
- Fix debug log formatting issues ([ipfs/go-bitswap#37](https://github.com/ipfs/go-bitswap/pull/37))
|
||||
- Feat/bandwidth limited tests ([ipfs/go-bitswap#42](https://github.com/ipfs/go-bitswap/pull/42))
|
||||
- fix(tests): stabilize unreliable session tests ([ipfs/go-bitswap#44](https://github.com/ipfs/go-bitswap/pull/44))
|
||||
- Bitswap Refactor #4: Extract session peer manager from sessions ([ipfs/go-bitswap#26](https://github.com/ipfs/go-bitswap/pull/26))
|
||||
- Bitswap Refactor #3: Extract sessions to package ([ipfs/go-bitswap#30](https://github.com/ipfs/go-bitswap/pull/30))
|
||||
- docs(comments): end comment sentences to have full-stop ([ipfs/go-bitswap#33](https://github.com/ipfs/go-bitswap/pull/33))
|
||||
- Bitswap Refactor #2: Extract PeerManager From Want Manager + Unit Test ([ipfs/go-bitswap#29](https://github.com/ipfs/go-bitswap/pull/29))
|
||||
- Bitswap Refactor #1: Session Manager & Extract Want Manager ([ipfs/go-bitswap#28](https://github.com/ipfs/go-bitswap/pull/28))
|
||||
- fix(Receiver): Ignore unwanted blocks ([ipfs/go-bitswap#24](https://github.com/ipfs/go-bitswap/pull/24))
|
||||
- feat(Benchmarks): Add real world dup blocks test ([ipfs/go-bitswap#25](https://github.com/ipfs/go-bitswap/pull/25))
|
||||
- Feat/bitswap pr improvements ([ipfs/go-bitswap#19](https://github.com/ipfs/go-bitswap/pull/19))
|
||||
- github.com/ipfs/go-blockservice:
|
||||
- Don't return errors on closed exchange ([ipfs/go-blockservice#15](https://github.com/ipfs/go-blockservice/pull/15))
|
||||
- github.com/ipfs/go-cid:
|
||||
- fix inline CIDs generated by Prefix.Sum ([ipfs/go-cid#84](https://github.com/ipfs/go-cid/pull/84))
|
||||
- Let Cid implement Binary[Un]Marshaler and Text[Un]Marshaler interfaces. ([ipfs/go-cid#81](https://github.com/ipfs/go-cid/pull/81))
|
||||
- fix typo in comment ([ipfs/go-cid#80](https://github.com/ipfs/go-cid/pull/80))
|
||||
- add codecs for Dash blocks, tx ([ipfs/go-cid#78](https://github.com/ipfs/go-cid/pull/78))
|
||||
- github.com/ipfs/go-cidutil:
|
||||
- Fix Travis CI to run all tests. ([ipfs/go-cidutil#11](https://github.com/ipfs/go-cidutil/pull/11))
|
||||
- Changes needed for `--cid-base` option in go-ipfs (simplified vesion) ([ipfs/go-cidutil#10](https://github.com/ipfs/go-cidutil/pull/10))
|
||||
- add a utility method for sorting CID slices ([ipfs/go-cidutil#5](https://github.com/ipfs/go-cidutil/pull/5))
|
||||
- github.com/libp2p/go-conn-security:
|
||||
- fix link to usage example in README ([libp2p/go-conn-security#4](https://github.com/libp2p/go-conn-security/pull/4))
|
||||
- github.com/ipfs/go-datastore:
|
||||
- interfaces: make GetBacked* take a Read instead of a Datastore ([ipfs/go-datastore#115](https://github.com/ipfs/go-datastore/pull/115))
|
||||
- remove closer type assertions ([ipfs/go-datastore#112](https://github.com/ipfs/go-datastore/pull/112))
|
||||
- remove io.Closer from the transaction interface ([ipfs/go-datastore#113](https://github.com/ipfs/go-datastore/pull/113))
|
||||
- feat(datastore): expose datastore Close() ([ipfs/go-datastore#111](https://github.com/ipfs/go-datastore/pull/111))
|
||||
- query: make datastore ordering act like a user would expect ([ipfs/go-datastore#110](https://github.com/ipfs/go-datastore/pull/110))
|
||||
- delayed: implement io.Closer and export datastore type. ([ipfs/go-datastore#108](https://github.com/ipfs/go-datastore/pull/108))
|
||||
- split the datastore into a read and a write interface ([ipfs/go-datastore#107](https://github.com/ipfs/go-datastore/pull/107))
|
||||
- Describe behavior of Batching datastores ([ipfs/go-datastore#105](https://github.com/ipfs/go-datastore/pull/105))
|
||||
- handle concurrent puts/deletes in BasicBatch ([ipfs/go-datastore#103](https://github.com/ipfs/go-datastore/pull/103))
|
||||
- add a GetSize method ([ipfs/go-datastore#99](https://github.com/ipfs/go-datastore/pull/99))
|
||||
- github.com/ipfs/go-ds-badger:
|
||||
- removed additional/wasteful Prefix conversion ([ipfs/go-ds-badger#45](https://github.com/ipfs/go-ds-badger/pull/45))
|
||||
- Enable Jenkins ([ipfs/go-ds-badger#35](https://github.com/ipfs/go-ds-badger/pull/35))
|
||||
- fix application or ordering for interface change ([ipfs/go-ds-badger#44](https://github.com/ipfs/go-ds-badger/pull/44))
|
||||
- Update badger ([ipfs/go-ds-badger#40](https://github.com/ipfs/go-ds-badger/pull/40))
|
||||
- github.com/ipfs/go-ds-flatfs:
|
||||
- fix a goroutine leak killing the gateways ([ipfs/go-ds-flatfs#51](https://github.com/ipfs/go-ds-flatfs/pull/51))
|
||||
- github.com/ipfs/go-ds-leveldb:
|
||||
- Expose Datastore type ([ipfs/go-ds-leveldb#20](https://github.com/ipfs/go-ds-leveldb/pull/20))
|
||||
- fix application or ordering for interface change ([ipfs/go-ds-leveldb#23](https://github.com/ipfs/go-ds-leveldb/pull/23))
|
||||
- github.com/ipfs/go-ipfs-cmds:
|
||||
- roundup of cleanup fixes ([ipfs/go-ipfs-cmds#144](https://github.com/ipfs/go-ipfs-cmds/pull/144))
|
||||
- Update cors library ([ipfs/go-ipfs-cmds#139](https://github.com/ipfs/go-ipfs-cmds/pull/139))
|
||||
- expand on the api error ([ipfs/go-ipfs-cmds#138](https://github.com/ipfs/go-ipfs-cmds/pull/138))
|
||||
- set the connection close header if we have a body to read ([ipfs/go-ipfs-cmds#116](https://github.com/ipfs/go-ipfs-cmds/pull/116))
|
||||
- print a nicer error on timeout/cancel ([ipfs/go-ipfs-cmds#137](https://github.com/ipfs/go-ipfs-cmds/pull/137))
|
||||
- Add link traversal option ([ipfs/go-ipfs-cmds#96](https://github.com/ipfs/go-ipfs-cmds/pull/96))
|
||||
- Don't skip stdin test on Windows ([ipfs/go-ipfs-cmds#136](https://github.com/ipfs/go-ipfs-cmds/pull/136))
|
||||
- MakeTypedEncoder: accept results by pointer or value ([ipfs/go-ipfs-cmds#134](https://github.com/ipfs/go-ipfs-cmds/pull/134))
|
||||
- github.com/ipfs/go-ipfs-config:
|
||||
- Gateway.NoFetch ([ipfs/go-ipfs-config#19](https://github.com/ipfs/go-ipfs-config/pull/19))
|
||||
- add a Clone function ([ipfs/go-ipfs-config#16](https://github.com/ipfs/go-ipfs-config/pull/16))
|
||||
- randomports: give user ability to init ipfs using random port for swarm. ([ipfs/go-ipfs-config#17](https://github.com/ipfs/go-ipfs-config/pull/17))
|
||||
- Allow the use of the User-Agent header ([ipfs/go-ipfs-config#15](https://github.com/ipfs/go-ipfs-config/pull/15))
|
||||
- autorelay options ([ipfs/go-ipfs-config#21](https://github.com/ipfs/go-ipfs-config/pull/21))
|
||||
- profile: add badger truncate option ([ipfs/go-ipfs-config#20](https://github.com/ipfs/go-ipfs-config/pull/20))
|
||||
- github.com/ipfs/go-ipfs-delay:
|
||||
- Feat/refactor wait time ([ipfs/go-ipfs-delay#1](https://github.com/ipfs/go-ipfs-delay/pull/1))
|
||||
- github.com/ipfs/go-ipfs-files:
|
||||
- multipart: fix handling of common prefixes ([ipfs/go-ipfs-files#7](https://github.com/ipfs/go-ipfs-files/pull/7))
|
||||
- create implicit directories from multipart requests ([ipfs/go-ipfs-files#6](https://github.com/ipfs/go-ipfs-files/pull/6))
|
||||
- TarWriter ([ipfs/go-ipfs-files#4](https://github.com/ipfs/go-ipfs-files/pull/4))
|
||||
- Refactor filename - file relation ([ipfs/go-ipfs-files#2](https://github.com/ipfs/go-ipfs-files/pull/2))
|
||||
- github.com/ipfs/go-ipld-cbor:
|
||||
- cbor: decode undefined as null ([ipfs/go-ipld-cbor#54](https://github.com/ipfs/go-ipld-cbor/pull/54))
|
||||
- error when trying to encode an empty link ([ipfs/go-ipld-cbor#52](https://github.com/ipfs/go-ipld-cbor/pull/52))
|
||||
- test for struct with both a cid and a bigint ([ipfs/go-ipld-cbor#51](https://github.com/ipfs/go-ipld-cbor/pull/51))
|
||||
- github.com/ipfs/go-ipld-format:
|
||||
- Add a DAG walker with support for IPLD `Node`s ([ipfs/go-ipld-format#39](https://github.com/ipfs/go-ipld-format/pull/39))
|
||||
- Add BufferedDAG wrapping Batch as a DAGService. ([ipfs/go-ipld-format#48](https://github.com/ipfs/go-ipld-format/pull/48))
|
||||
- github.com/ipfs/go-ipld-git:
|
||||
- Fix blob marshalling ([ipfs/go-ipld-git#37](https://github.com/ipfs/go-ipld-git/pull/37))
|
||||
- Re-enable assertion on commit size -- it is correct after #31 ([ipfs/go-ipld-git#33](https://github.com/ipfs/go-ipld-git/pull/33))
|
||||
- Use OS path separator in testing, fixes #30 ([ipfs/go-ipld-git#34](https://github.com/ipfs/go-ipld-git/pull/34))
|
||||
- Use rawdata length for size, fixes #7 ([ipfs/go-ipld-git#31](https://github.com/ipfs/go-ipld-git/pull/31))
|
||||
- Cache RawData for Commit, Tag, & Tree, fixes #6 ([ipfs/go-ipld-git#28](https://github.com/ipfs/go-ipld-git/pull/28))
|
||||
- Precompute Blob CID, fixes #21 ([ipfs/go-ipld-git#27](https://github.com/ipfs/go-ipld-git/pull/27))
|
||||
- Enable Jenkins ([ipfs/go-ipld-git#29](https://github.com/ipfs/go-ipld-git/pull/29))
|
||||
- github.com/ipfs/go-ipns:
|
||||
- fix community/CONTRIBUTING.md link in README.md ([ipfs/go-ipns#20](https://github.com/ipfs/go-ipns/pull/20))
|
||||
- fix typo in README.md ([ipfs/go-ipns#21](https://github.com/ipfs/go-ipns/pull/21))
|
||||
- testing: disable inline peer ID test ([ipfs/go-ipns#19](https://github.com/ipfs/go-ipns/pull/19))
|
||||
- github.com/libp2p/go-libp2p:
|
||||
- Fixed race conditions in mock package mock_stream and mock_conn ([libp2p/go-libp2p#535](https://github.com/libp2p/go-libp2p/pull/535))
|
||||
- increase initial relay advertisement delay to 30s ([libp2p/go-libp2p#534](https://github.com/libp2p/go-libp2p/pull/534))
|
||||
- Use PeerRouting in autorelay to find relay peer addresses ([libp2p/go-libp2p#531](https://github.com/libp2p/go-libp2p/pull/531))
|
||||
- docs: update broken links in NEWS.md ([libp2p/go-libp2p#517](https://github.com/libp2p/go-libp2p/pull/517))
|
||||
- don't advertise the raw public address in autorelay ([libp2p/go-libp2p#511](https://github.com/libp2p/go-libp2p/pull/511))
|
||||
- mock: export ratelimiter as RateLimiter ([libp2p/go-libp2p#507](https://github.com/libp2p/go-libp2p/pull/507))
|
||||
- readme: remove duplicate repo entries in README and package-list.json ([libp2p/go-libp2p#506](https://github.com/libp2p/go-libp2p/pull/506))
|
||||
- explicit option to enable autorelay ([libp2p/go-libp2p#500](https://github.com/libp2p/go-libp2p/pull/500))
|
||||
- Add delay in initial relay advertisement to allow the dht time to bootstrap ([libp2p/go-libp2p#495](https://github.com/libp2p/go-libp2p/pull/495))
|
||||
- suppressing error msg for NoSecurity option ([libp2p/go-libp2p#498](https://github.com/libp2p/go-libp2p/pull/498))
|
||||
- pulling updates ([libp2p/go-libp2p#4](https://github.com/libp2p/go-libp2p/pull/4))
|
||||
- fix contributing link in README ([libp2p/go-libp2p#494](https://github.com/libp2p/go-libp2p/pull/494))
|
||||
- Fix badges and links on README.md ([libp2p/go-libp2p#485](https://github.com/libp2p/go-libp2p/pull/485))
|
||||
- mocknet: fix NewStream and self dials ([libp2p/go-libp2p#480](https://github.com/libp2p/go-libp2p/pull/480))
|
||||
- deflake identify test ([libp2p/go-libp2p#479](https://github.com/libp2p/go-libp2p/pull/479))
|
||||
- mocknet: use peer ID in peer address ([libp2p/go-libp2p#476](https://github.com/libp2p/go-libp2p/pull/476))
|
||||
- autorelay ([libp2p/go-libp2p#454](https://github.com/libp2p/go-libp2p/pull/454))
|
||||
- Getting updates ([libp2p/go-libp2p#3](https://github.com/libp2p/go-libp2p/pull/3))
|
||||
- github.com/libp2p/go-libp2p-autonat:
|
||||
- track autonat peer addresses ([libp2p/go-libp2p-autonat#7](https://github.com/libp2p/go-libp2p-autonat/pull/7))
|
||||
- github.com/libp2p/go-libp2p-circuit:
|
||||
- Don't log raw binary ([libp2p/go-libp2p-circuit#53](https://github.com/libp2p/go-libp2p-circuit/pull/53))
|
||||
- github.com/libp2p/go-libp2p-connmgr:
|
||||
- Fix concurrency and silence period not being honoured ([libp2p/go-libp2p-connmgr#26](https://github.com/libp2p/go-libp2p-connmgr/pull/26))
|
||||
- github.com/libp2p/go-libp2p-crypto:
|
||||
- Fix: Remove redundant Ed25519 public key (#36). ([libp2p/go-libp2p-crypto#54](https://github.com/libp2p/go-libp2p-crypto/pull/54))
|
||||
- libp2p badges, remove IPFS ([libp2p/go-libp2p-crypto#52](https://github.com/libp2p/go-libp2p-crypto/pull/52))
|
||||
- Fix broken contribute link in README ([libp2p/go-libp2p-crypto#46](https://github.com/libp2p/go-libp2p-crypto/pull/46))
|
||||
- forbid RSA keys smaller than 512 bits ([libp2p/go-libp2p-crypto#43](https://github.com/libp2p/go-libp2p-crypto/pull/43))
|
||||
- Added ECDSA; Added RSA tests; Fixed linting errors; Handling all un-handled errors ([libp2p/go-libp2p-crypto#35](https://github.com/libp2p/go-libp2p-crypto/pull/35))
|
||||
- switch to the go-crypto ed25519 implementation ([libp2p/go-libp2p-crypto#38](https://github.com/libp2p/go-libp2p-crypto/pull/38))
|
||||
- update gogo protobuf ([libp2p/go-libp2p-crypto#37](https://github.com/libp2p/go-libp2p-crypto/pull/37))
|
||||
- github.com/libp2p/go-libp2p-discovery:
|
||||
- add a timeout to Provide in routing.Advertise ([libp2p/go-libp2p-discovery#12](https://github.com/libp2p/go-libp2p-discovery/pull/12))
|
||||
- correctly encode ns to CID ([libp2p/go-libp2p-discovery#11](https://github.com/libp2p/go-libp2p-discovery/pull/11))
|
||||
- use 6hrs as ttl for routing based advertisements ([libp2p/go-libp2p-discovery#8](https://github.com/libp2p/go-libp2p-discovery/pull/8))
|
||||
- github.com/libp2p/go-libp2p-host:
|
||||
- Helper to get PeerInfo from Host ([libp2p/go-libp2p-host#20](https://github.com/libp2p/go-libp2p-host/pull/20))
|
||||
- github.com/libp2p/go-libp2p-kad-dht:
|
||||
- Fix Bootstrap sub-queries ([libp2p/go-libp2p-kad-dht#264](https://github.com/libp2p/go-libp2p-kad-dht/pull/264))
|
||||
- dial queue: fix possible goroutine leak ([libp2p/go-libp2p-kad-dht#262](https://github.com/libp2p/go-libp2p-kad-dht/pull/262))
|
||||
- Revert #236: Test go mod in travis and use major versioning in import paths ([libp2p/go-libp2p-kad-dht#259](https://github.com/libp2p/go-libp2p-kad-dht/pull/259))
|
||||
- fix tests on freebsd ([libp2p/go-libp2p-kad-dht#255](https://github.com/libp2p/go-libp2p-kad-dht/pull/255))
|
||||
- Fix "no protocol with name dnsaddr" error ([libp2p/go-libp2p-kad-dht#247](https://github.com/libp2p/go-libp2p-kad-dht/pull/247))
|
||||
- Fix a race in dial queue ([libp2p/go-libp2p-kad-dht#248](https://github.com/libp2p/go-libp2p-kad-dht/pull/248))
|
||||
- Fix races with DialQueue variables ([libp2p/go-libp2p-kad-dht#241](https://github.com/libp2p/go-libp2p-kad-dht/pull/241))
|
||||
- Fix CircleCI ([libp2p/go-libp2p-kad-dht#238](https://github.com/libp2p/go-libp2p-kad-dht/pull/238))
|
||||
- Adaptive queue for staging dials ([libp2p/go-libp2p-kad-dht#237](https://github.com/libp2p/go-libp2p-kad-dht/pull/237))
|
||||
- Add the full libp2p default bootstrap peer list ([libp2p/go-libp2p-kad-dht#226](https://github.com/libp2p/go-libp2p-kad-dht/pull/226))
|
||||
- Revert "Tidy up bootstrapping" ([libp2p/go-libp2p-kad-dht#232](https://github.com/libp2p/go-libp2p-kad-dht/pull/232))
|
||||
- Tidy up bootstrapping ([libp2p/go-libp2p-kad-dht#225](https://github.com/libp2p/go-libp2p-kad-dht/pull/225))
|
||||
- Revert "Remove signal bootstrapping" ([libp2p/go-libp2p-kad-dht#227](https://github.com/libp2p/go-libp2p-kad-dht/pull/227))
|
||||
- Remove signal bootstrapping ([libp2p/go-libp2p-kad-dht#224](https://github.com/libp2p/go-libp2p-kad-dht/pull/224))
|
||||
- fix a potential DHT query hang ([libp2p/go-libp2p-kad-dht#219](https://github.com/libp2p/go-libp2p-kad-dht/pull/219))
|
||||
- docs: duplicate pkg documentation ([libp2p/go-libp2p-kad-dht#218](https://github.com/libp2p/go-libp2p-kad-dht/pull/218))
|
||||
- tests: skip key inlining test ([libp2p/go-libp2p-kad-dht#212](https://github.com/libp2p/go-libp2p-kad-dht/pull/212))
|
||||
- Rephrase "betterPeersToQuery" method comment to be less cryptic ([libp2p/go-libp2p-kad-dht#206](https://github.com/libp2p/go-libp2p-kad-dht/pull/206))
|
||||
- github.com/libp2p/go-libp2p-loggables:
|
||||
- test: add unit tests ([libp2p/go-libp2p-loggables#21](https://github.com/libp2p/go-libp2p-loggables/pull/21))
|
||||
- github.com/libp2p/go-libp2p-netutil:
|
||||
- Add tests ([libp2p/go-libp2p-netutil#28](https://github.com/libp2p/go-libp2p-netutil/pull/28))
|
||||
- github.com/libp2p/go-libp2p-peer:
|
||||
- fix: re-enable peer ID inlining but make it configurable ([libp2p/go-libp2p-peer#42](https://github.com/libp2p/go-libp2p-peer/pull/42))
|
||||
- Protobuf and JSON (un-)marshalling methods for peer.ID ([libp2p/go-libp2p-peer#41](https://github.com/libp2p/go-libp2p-peer/pull/41))
|
||||
- disable key inlining ([libp2p/go-libp2p-peer#40](https://github.com/libp2p/go-libp2p-peer/pull/40))
|
||||
- github.com/libp2p/go-libp2p-peerstore:
|
||||
- Add unit test to verify AddAddr doesn't shorten TTL ([libp2p/go-libp2p-peerstore#52](https://github.com/libp2p/go-libp2p-peerstore/pull/52))
|
||||
- disable inline-peer id test ([libp2p/go-libp2p-peerstore#49](https://github.com/libp2p/go-libp2p-peerstore/pull/49))
|
||||
- README: Update contributing guideline linkrot. ([libp2p/go-libp2p-peerstore#48](https://github.com/libp2p/go-libp2p-peerstore/pull/48))
|
||||
- Deterministic benchmark order; Keybook interface benchmarks ([libp2p/go-libp2p-peerstore#43](https://github.com/libp2p/go-libp2p-peerstore/pull/43))
|
||||
- PeerInfo UnMarshal Error #393 ([libp2p/go-libp2p-peerstore#45](https://github.com/libp2p/go-libp2p-peerstore/pull/45))
|
||||
- fix the inline key test ([libp2p/go-libp2p-peerstore#44](https://github.com/libp2p/go-libp2p-peerstore/pull/44))
|
||||
- github.com/libp2p/go-libp2p-pubsub:
|
||||
- move timecache check/update after validation ([libp2p/go-libp2p-pubsub#156](https://github.com/libp2p/go-libp2p-pubsub/pull/156))
|
||||
- fix nonsensical check ([libp2p/go-libp2p-pubsub#154](https://github.com/libp2p/go-libp2p-pubsub/pull/154))
|
||||
- Extend validator interface to include message source ([libp2p/go-libp2p-pubsub#151](https://github.com/libp2p/go-libp2p-pubsub/pull/151))
|
||||
- Implement peer blacklist ([libp2p/go-libp2p-pubsub#149](https://github.com/libp2p/go-libp2p-pubsub/pull/149))
|
||||
- make timecache duration configurable ([libp2p/go-libp2p-pubsub#148](https://github.com/libp2p/go-libp2p-pubsub/pull/148))
|
||||
- godoc is not html either ([libp2p/go-libp2p-pubsub#147](https://github.com/libp2p/go-libp2p-pubsub/pull/147))
|
||||
- godoc documentation is not markdown ([libp2p/go-libp2p-pubsub#146](https://github.com/libp2p/go-libp2p-pubsub/pull/146))
|
||||
- Add documentation for subscribe's non-instanteneous semantics ([libp2p/go-libp2p-pubsub#145](https://github.com/libp2p/go-libp2p-pubsub/pull/145))
|
||||
- Some documentation ([libp2p/go-libp2p-pubsub#140](https://github.com/libp2p/go-libp2p-pubsub/pull/140))
|
||||
- rework peer tracking logic to handle multiple connections ([libp2p/go-libp2p-pubsub#132](https://github.com/libp2p/go-libp2p-pubsub/pull/132))
|
||||
- github.com/libp2p/go-libp2p-pubsub-router:
|
||||
- encode record-store keys in pubsub ([libp2p/go-libp2p-pubsub-router#17](https://github.com/libp2p/go-libp2p-pubsub-router/pull/17))
|
||||
- github.com/libp2p/go-libp2p-quic-transport:
|
||||
- fix badges in README ([libp2p/go-libp2p-quic-transport#39](https://github.com/libp2p/go-libp2p-quic-transport/pull/39))
|
||||
- Fix missing transport parameter in dialed connection ([libp2p/go-libp2p-quic-transport#38](https://github.com/libp2p/go-libp2p-quic-transport/pull/38))
|
||||
- github.com/libp2p/go-libp2p-routing:
|
||||
- Update the comment on IpfsRouting.Bootstrap ([libp2p/go-libp2p-routing#36](https://github.com/libp2p/go-libp2p-routing/pull/36))
|
||||
- github.com/libp2p/go-libp2p-swarm:
|
||||
- Make FD limits configurable by environment property ([libp2p/go-libp2p-swarm#102](https://github.com/libp2p/go-libp2p-swarm/pull/102))
|
||||
- Fix logging race ([libp2p/go-libp2p-swarm#100](https://github.com/libp2p/go-libp2p-swarm/pull/100))
|
||||
- Add CircleCI config ([libp2p/go-libp2p-swarm#99](https://github.com/libp2p/go-libp2p-swarm/pull/99))
|
||||
- Enhance debug logging in dial limiter ([libp2p/go-libp2p-swarm#98](https://github.com/libp2p/go-libp2p-swarm/pull/98))
|
||||
- dialer: handle dial cancel and/or completion before trying new addresses ([libp2p/go-libp2p-swarm#96](https://github.com/libp2p/go-libp2p-swarm/pull/96))
|
||||
- avoid spawning goroutines for canceled dials ([libp2p/go-libp2p-swarm#95](https://github.com/libp2p/go-libp2p-swarm/pull/95))
|
||||
- warn when we encounter a useless transport ([libp2p/go-libp2p-swarm#90](https://github.com/libp2p/go-libp2p-swarm/pull/90))
|
||||
- github.com/libp2p/go-libp2p-transport:
|
||||
- fix transport tests for quic ([libp2p/go-libp2p-transport#39](https://github.com/libp2p/go-libp2p-transport/pull/39))
|
||||
- fix: fully close streams before returning ([libp2p/go-libp2p-transport#37](https://github.com/libp2p/go-libp2p-transport/pull/37))
|
||||
- fix typo in README ([libp2p/go-libp2p-transport#36](https://github.com/libp2p/go-libp2p-transport/pull/36))
|
||||
- github.com/libp2p/go-libp2p-transport-upgrader:
|
||||
- annotate errors ([libp2p/go-libp2p-transport-upgrader#11](https://github.com/libp2p/go-libp2p-transport-upgrader/pull/11))
|
||||
- github.com/ipfs/go-log:
|
||||
- uglify the (event) logs ([ipfs/go-log#53](https://github.com/ipfs/go-log/pull/53))
|
||||
- add environment variable for writing tracing information to a file ([ipfs/go-log#52](https://github.com/ipfs/go-log/pull/52))
|
||||
- correctly display the line number when FinishWithErr fails ([ipfs/go-log#51](https://github.com/ipfs/go-log/pull/51))
|
||||
- github.com/ipfs/go-merkledag:
|
||||
- Increase FetchGraphConcurrency to 32 ([ipfs/go-merkledag#29](https://github.com/ipfs/go-merkledag/pull/29))
|
||||
- Enable CI ([ipfs/go-merkledag#9](https://github.com/ipfs/go-merkledag/pull/9))
|
||||
- fix a fetch deadlock on error ([ipfs/go-merkledag#21](https://github.com/ipfs/go-merkledag/pull/21))
|
||||
- Wait for all go routines to finish before function returns ([ipfs/go-merkledag#19](https://github.com/ipfs/go-merkledag/pull/19))
|
||||
- github.com/ipfs/go-metrics-prometheus:
|
||||
- use prometheus instead of gxed ([ipfs/go-metrics-prometheus#3](https://github.com/ipfs/go-metrics-prometheus/pull/3))
|
||||
- github.com/ipfs/go-mfs:
|
||||
- fix(mv): dst filename error ([ipfs/go-mfs#62](https://github.com/ipfs/go-mfs/pull/62))
|
||||
- fix over-wait in WaitPub ([ipfs/go-mfs#53](https://github.com/ipfs/go-mfs/pull/53))
|
||||
- Fix/32/pr ports from go-ipfs to go-mfs ([ipfs/go-mfs#49](https://github.com/ipfs/go-mfs/pull/49))
|
||||
- remove the `fullSync` option from `updateChildEntry` ([ipfs/go-mfs#45](https://github.com/ipfs/go-mfs/pull/45))
|
||||
- Various refactorings ([ipfs/go-mfs#36](https://github.com/ipfs/go-mfs/pull/36))
|
||||
- use RW lock for the `File`'s lock ([ipfs/go-mfs#43](https://github.com/ipfs/go-mfs/pull/43))
|
||||
- add documentation links in README ([ipfs/go-mfs#41](https://github.com/ipfs/go-mfs/pull/41))
|
||||
- [WIP] documentation notes ([ipfs/go-mfs#27](https://github.com/ipfs/go-mfs/pull/27))
|
||||
- feat(inode): add inode struct ([ipfs/go-mfs#12](https://github.com/ipfs/go-mfs/pull/12))
|
||||
- github.com/libp2p/go-mplex:
|
||||
- When a stream is closed, cancel pending writes ([libp2p/go-mplex#35](https://github.com/libp2p/go-mplex/pull/35))
|
||||
- make sure to but the buffer back in the pool ([libp2p/go-mplex#34](https://github.com/libp2p/go-mplex/pull/34))
|
||||
- reduce the packet count ([libp2p/go-mplex#29](https://github.com/libp2p/go-mplex/pull/29))
|
||||
- github.com/ipfs/go-path:
|
||||
- fix: no components error ([ipfs/go-path#18](https://github.com/ipfs/go-path/pull/18))
|
||||
- nit: validate CIDs in IPLD paths ([ipfs/go-path#16](https://github.com/ipfs/go-path/pull/16))
|
||||
- github.com/libp2p/go-reuseport:
|
||||
- Fix build on wasm ([libp2p/go-reuseport#59](https://github.com/libp2p/go-reuseport/pull/59))
|
||||
- Use Go Control API ([libp2p/go-reuseport#56](https://github.com/libp2p/go-reuseport/pull/56))
|
||||
- Support WASM ([libp2p/go-reuseport#54](https://github.com/libp2p/go-reuseport/pull/54))
|
||||
- github.com/libp2p/go-reuseport-transport:
|
||||
- Update to go-reuseport 0.2.0 ([libp2p/go-reuseport-transport#6](https://github.com/libp2p/go-reuseport-transport/pull/6))
|
||||
- github.com/libp2p/go-stream-muxer:
|
||||
- add standard reset error ([libp2p/go-stream-muxer#23](https://github.com/libp2p/go-stream-muxer/pull/23))
|
||||
- ci: fix ([libp2p/go-stream-muxer#24](https://github.com/libp2p/go-stream-muxer/pull/24))
|
||||
- Document Reset versus Close ([libp2p/go-stream-muxer#18](https://github.com/libp2p/go-stream-muxer/pull/18))
|
||||
- WIP document Conn.Close ([libp2p/go-stream-muxer#19](https://github.com/libp2p/go-stream-muxer/pull/19))
|
||||
- github.com/libp2p/go-tcp-transport:
|
||||
- Deprecate IPFS_REUSEPORT, use LIBP2P_TCP_REUSEPORT ([libp2p/go-tcp-transport#27](https://github.com/libp2p/go-tcp-transport/pull/27))
|
||||
- github.com/ipfs/go-unixfs:
|
||||
- unixfile: precalc dir size ([ipfs/go-unixfs#61](https://github.com/ipfs/go-unixfs/pull/61))
|
||||
- Archive refactor ([ipfs/go-unixfs#59](https://github.com/ipfs/go-unixfs/pull/59))
|
||||
- decouple the DAG traversal logic from the DAG reader (local branch) ([ipfs/go-unixfs#60](https://github.com/ipfs/go-unixfs/pull/60))
|
||||
- Unixfs: enforce refs on files when using nocopy ([ipfs/go-unixfs#56](https://github.com/ipfs/go-unixfs/pull/56))
|
||||
- Fix/handle overflow ([ipfs/go-unixfs#53](https://github.com/ipfs/go-unixfs/pull/53))
|
||||
- feat(Directory): Add EnumLinksAsync method ([ipfs/go-unixfs#39](https://github.com/ipfs/go-unixfs/pull/39))
|
||||
|
||||
|
||||
|
||||
## 0.4.18 2018-10-26
|
||||
|
||||
This is probably one of the largest go-ipfs releases in recent history, 3 months
|
||||
|
||||
Loading…
Reference in New Issue
Block a user