diff --git a/CHANGELOG.md b/CHANGELOG.md index 5e449401980b..61696d304f5a 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -8,117 +8,117 @@ This is the first Release Candidate. Unless there are vulnerabilities or regress - Security Vulnerability - - We are thankful that a group of independent researchers made us aware of a vulnerability which the `master` branch suffered from for about 3 weeks. It allowed an attacker to e.g. use an iframe to request malicious HTML and JS from the API of a local go-ipfs node, and use this to then extract the node's private key. We fixed this issue by reintroducing restrictions on which particular objects can be loaded through the API (@lgierth, https://github.com/ipfs/go-ipfs/pull/2949), and by completely excluding the private key from the API (@Kubuxu, https://github.com/ipfs/go-ipfs/pull/2957). We will also work on more hardening of the API in the next release. - - The previous release 0.4.2 is not vulnerable. If you're running go-ipfs built from the `master` branch between [June 17th (commit 1afebc21)](https://github.com/ipfs/go-ipfs/commit/1afebc21f324982141ca8a29710da0d6f83ca804) and [July 7th (commit 39bef0d5)](https://github.com/ipfs/go-ipfs/commit/39bef0d5b01f70abf679fca2c4d078a2d55620e2), please update to v0.4.3-rc1 immediately. + - We are thankful that a group of independent researchers made us aware of a vulnerability which the `master` branch suffered from for about 3 weeks. It allowed an attacker to e.g. use an iframe to request malicious HTML and JS from the API of a local go-ipfs node, and use this to then extract the node's private key. We fixed this issue by reintroducing restrictions on which particular objects can be loaded through the API (@lgierth, [ipfs/go-ipfs#2949](https://github.com/ipfs/go-ipfs/pull/2949)), and by completely excluding the private key from the API (@Kubuxu, [ipfs/go-ipfs#2957](https://github.com/ipfs/go-ipfs/pull/2957)). We will also work on more hardening of the API in the next release. + - The previous release 0.4.2 is not vulnerable. If you're running go-ipfs built from the `master` branch between [June 17th (commit 1afebc21)]([ipfs/go-ipfs#1afebc21f324982141ca8a29710da0d6f83ca804](https://github.com/ipfs/go-ipfs/commit/1afebc21f324982141ca8a29710da0d6f83ca804)) and [July 7th (commit 39bef0d5)]([ipfs/go-ipfs#39bef0d5b01f70abf679fca2c4d078a2d55620e2](https://github.com/ipfs/go-ipfs/commit/39bef0d5b01f70abf679fca2c4d078a2d55620e2)), please update to v0.4.3-rc1 immediately. - Notable changes - - Improve Bitswap performance. (@whyrusleeping, https://github.com/ipfs/go-ipfs/pull/2727, https://github.com/ipfs/go-ipfs/pull/2798) - - Improve Content Routing and Peer Routing performance. (@whyrusleeping, https://github.com/ipfs/go-ipfs/pull/2817, https://github.com/ipfs/go-ipfs/pull/2841) - - Improve datastore, blockstore, and dagstore performance. (@kevina, @Kubuxu, @whyrusleeping https://github.com/ipfs/go-datastore/pull/43, https://github.com/ipfs/go-ipfs/pull/2885, https://github.com/ipfs/go-ipfs/pull/2961, https://github.com/ipfs/go-ipfs/pull/2953, https://github.com/ipfs/go-ipfs/pull/2960) - - Content Providers are now stored on disk to gain savings on process memory. (@whyrusleeping, https://github.com/ipfs/go-ipfs/pull/2804, https://github.com/ipfs/go-ipfs/pull/2860) - - Migrations of the fs-repo (usually stored at `~/.ipfs`) now run automatically. If there's a TTY available, you'll get prompted when running `ipfs daemon`, and in addition you can use the `--migrate=true` or `--migrate=false` options to avoid the prompt. (@whyrusleeping, @lgierth, https://github.com/ipfs/go-ipfs/pull/2939) - - The internal naming of blocks in the blockstore has changed, which requires a migration of the fs-repo, from version 3 to 4. (@whyrusleeping, https://github.com/ipfs/go-ipfs/pull/2903) - - We now automatically raise the file descriptor limit to 1024 if neccessary. (@whyrusleeping, https://github.com/ipfs/go-ipfs/pull/2884, https://github.com/ipfs/go-ipfs/pull/2891) - - After a long struggle with deadlocks and hanging connections, we've decided to disable the uTP transport by default for now. (@whyrusleeping, https://github.com/ipfs/go-ipfs/pull/2840, https://github.com/ipfs/go-libp2p-transport/commit/88244000f0ce8851ffcfbac746ebc0794b71d2a4) - - There is now documentation for the configuration options in `docs/config.md`. (@whyrusleeping, https://github.com/ipfs/go-ipfs/pull/2974) + - Improve Bitswap performance. (@whyrusleeping, [ipfs/go-ipfs#2727](https://github.com/ipfs/go-ipfs/pull/2727), [ipfs/go-ipfs#2798](https://github.com/ipfs/go-ipfs/pull/2798)) + - Improve Content Routing and Peer Routing performance. (@whyrusleeping, [ipfs/go-ipfs#2817](https://github.com/ipfs/go-ipfs/pull/2817), [ipfs/go-ipfs#2841](https://github.com/ipfs/go-ipfs/pull/2841)) + - Improve datastore, blockstore, and dagstore performance. (@kevina, @Kubuxu, @whyrusleeping [ipfs/go-datastore#43](https://github.com/ipfs/go-datastore/pull/43), [ipfs/go-ipfs#2885](https://github.com/ipfs/go-ipfs/pull/2885), [ipfs/go-ipfs#2961](https://github.com/ipfs/go-ipfs/pull/2961), [ipfs/go-ipfs#2953](https://github.com/ipfs/go-ipfs/pull/2953), [ipfs/go-ipfs#2960](https://github.com/ipfs/go-ipfs/pull/2960)) + - Content Providers are now stored on disk to gain savings on process memory. (@whyrusleeping, [ipfs/go-ipfs#2804](https://github.com/ipfs/go-ipfs/pull/2804), [ipfs/go-ipfs#2860](https://github.com/ipfs/go-ipfs/pull/2860)) + - Migrations of the fs-repo (usually stored at `~/.ipfs`) now run automatically. If there's a TTY available, you'll get prompted when running `ipfs daemon`, and in addition you can use the `--migrate=true` or `--migrate=false` options to avoid the prompt. (@whyrusleeping, @lgierth, [ipfs/go-ipfs#2939](https://github.com/ipfs/go-ipfs/pull/2939)) + - The internal naming of blocks in the blockstore has changed, which requires a migration of the fs-repo, from version 3 to 4. (@whyrusleeping, [ipfs/go-ipfs#2903](https://github.com/ipfs/go-ipfs/pull/2903)) + - We now automatically raise the file descriptor limit to 1024 if neccessary. (@whyrusleeping, [ipfs/go-ipfs#2884](https://github.com/ipfs/go-ipfs/pull/2884), [ipfs/go-ipfs#2891](https://github.com/ipfs/go-ipfs/pull/2891)) + - After a long struggle with deadlocks and hanging connections, we've decided to disable the uTP transport by default for now. (@whyrusleeping, [ipfs/go-ipfs#2840](https://github.com/ipfs/go-ipfs/pull/2840), [ipfs/go-libp2p-transport#88244000f0ce8851ffcfbac746ebc0794b71d2a4](https://github.com/ipfs/go-libp2p-transport/commit/88244000f0ce8851ffcfbac746ebc0794b71d2a4)) + - There is now documentation for the configuration options in `docs/config.md`. (@whyrusleeping, [ipfs/go-ipfs#2974](https://github.com/ipfs/go-ipfs/pull/2974)) - TODO: stdin handling - All commands now sanely handle the combination of stdin and optional flags in certain edge cases. - - https://github.com/ipfs/go-ipfs/pull/2822 - - Remove stdin handling from `ipfs init` which was introduced in the previous release (v0.4.2), since it caused the command to hang in certain environments. (@lgierth, https://github.com/ipfs/go-ipfs/pull/2749) - - https://github.com/ipfs/go-ipfs/pull/2902 - - https://github.com/ipfs/go-ipfs/pull/2913 - - https://github.com/ipfs/go-ipfs/pull/2952 + - [ipfs/go-ipfs#2822](https://github.com/ipfs/go-ipfs/pull/2822) + - Remove stdin handling from `ipfs init` which was introduced in the previous release (v0.4.2), since it caused the command to hang in certain environments. (@lgierth, [ipfs/go-ipfs#2749](https://github.com/ipfs/go-ipfs/pull/2749)) + - [ipfs/go-ipfs#2902](https://github.com/ipfs/go-ipfs/pull/2902) + - [ipfs/go-ipfs#2913](https://github.com/ipfs/go-ipfs/pull/2913) + - [ipfs/go-ipfs#2952](https://github.com/ipfs/go-ipfs/pull/2952) - New Features - - Add `--offline` option to `ipfs daemon` command, which disables all swarm networking. (@Kubuxu, https://github.com/ipfs/go-ipfs/pull/2696, https://github.com/ipfs/go-ipfs/pull/2867) - - Add `Datastore.HashOnRead` option for verifying block hashes on read access. (@Kubuxu, https://github.com/ipfs/go-ipfs/pull/2904) - - Add `Datastore.BloomFilterSize` option for tuning the blockstore's new lookup bloom filter. (@Kubuxu, https://github.com/ipfs/go-ipfs/pull/2973) + - Add `--offline` option to `ipfs daemon` command, which disables all swarm networking. (@Kubuxu, [ipfs/go-ipfs#2696](https://github.com/ipfs/go-ipfs/pull/2696), [ipfs/go-ipfs#2867](https://github.com/ipfs/go-ipfs/pull/2867)) + - Add `Datastore.HashOnRead` option for verifying block hashes on read access. (@Kubuxu, [ipfs/go-ipfs#2904](https://github.com/ipfs/go-ipfs/pull/2904)) + - Add `Datastore.BloomFilterSize` option for tuning the blockstore's new lookup bloom filter. (@Kubuxu, [ipfs/go-ipfs#2973](https://github.com/ipfs/go-ipfs/pull/2973)) - Bugfixes - - Fix publishing of local IPNS entries, and more. (@whyrusleeping, https://github.com/ipfs/go-ipfs/pull/2943) - - Fix progress bars in `ipfs add` and `ipfs get`. (@whyrusleeping, https://github.com/ipfs/go-ipfs/pull/2893, https://github.com/ipfs/go-ipfs/pull/2948) - - Make sure files added through `ipfs files` are pinned and don't get GC'd. (@kevina, https://github.com/ipfs/go-ipfs/pull/2872) - - Fix copying into directory using `ipfs files cp`. (@whyrusleeping, https://github.com/ipfs/go-ipfs/pull/2977) - - Fix `ipfs version --commit` with Docker containers. (@lgierth, https://github.com/ipfs/go-ipfs/pull/2734) - - Run `ipfs diag` commands in the daemon instead of the CLI. (@Kubuxu, https://github.com/ipfs/go-ipfs/pull/2761) - - Fix protobuf encoding on the API and in commands. (@stebalien, https://github.com/ipfs/go-ipfs/pull/2516) - - Fix goroutine leak in `/ipfs/ping` protocol handler. (@whyrusleeping, https://github.com/ipfs/go-libp2p/pull/58) - - Fix `--flags` for all commands. (@Kubuxu, https://github.com/ipfs/go-ipfs/pull/2773) - - Fix the error channels in `namesys`. (@whyrusleeping, https://github.com/ipfs/go-ipfs/pull/2788) - - Fix consumptions of observed swarm addresses. (@whyrusleeping, https://github.com/ipfs/go-libp2p/pull/63, https://github.com/ipfs/go-ipfs/issues/2771) - - Fix a rare DHT panic. (@whyrusleeping, https://github.com/ipfs/go-ipfs/pull/2856) + - Fix publishing of local IPNS entries, and more. (@whyrusleeping, [ipfs/go-ipfs#2943](https://github.com/ipfs/go-ipfs/pull/2943)) + - Fix progress bars in `ipfs add` and `ipfs get`. (@whyrusleeping, [ipfs/go-ipfs#2893](https://github.com/ipfs/go-ipfs/pull/2893), [ipfs/go-ipfs#2948](https://github.com/ipfs/go-ipfs/pull/2948)) + - Make sure files added through `ipfs files` are pinned and don't get GC'd. (@kevina, [ipfs/go-ipfs#2872](https://github.com/ipfs/go-ipfs/pull/2872)) + - Fix copying into directory using `ipfs files cp`. (@whyrusleeping, [ipfs/go-ipfs#2977](https://github.com/ipfs/go-ipfs/pull/2977)) + - Fix `ipfs version --commit` with Docker containers. (@lgierth, [ipfs/go-ipfs#2734](https://github.com/ipfs/go-ipfs/pull/2734)) + - Run `ipfs diag` commands in the daemon instead of the CLI. (@Kubuxu, [ipfs/go-ipfs#2761](https://github.com/ipfs/go-ipfs/pull/2761)) + - Fix protobuf encoding on the API and in commands. (@stebalien, [ipfs/go-ipfs#2516](https://github.com/ipfs/go-ipfs/pull/2516)) + - Fix goroutine leak in `/ipfs/ping` protocol handler. (@whyrusleeping, [ipfs/go-libp2p#58](https://github.com/ipfs/go-libp2p/pull/58)) + - Fix `--flags` for all commands. (@Kubuxu, [ipfs/go-ipfs#2773](https://github.com/ipfs/go-ipfs/pull/2773)) + - Fix the error channels in `namesys`. (@whyrusleeping, [ipfs/go-ipfs#2788](https://github.com/ipfs/go-ipfs/pull/2788)) + - Fix consumptions of observed swarm addresses. (@whyrusleeping, [ipfs/go-libp2p#63](https://github.com/ipfs/go-libp2p/pull/63), [ipfs/go-ipfs#2771](https://github.com/ipfs/go-ipfs/issues/2771)) + - Fix a rare DHT panic. (@whyrusleeping, [ipfs/go-ipfs#2856](https://github.com/ipfs/go-ipfs/pull/2856)) - Fix go-ipfs/js-ipfs interoperability issues in SPDY. (@whyrusleeping, https://github.com/whyrusleeping/go-smux-spdystream/commit/fae1778302a9e029bb308cf71cf33f857f2d89e8) - - Fix a logging race condition during shutdown. (@Kubuxu, https://github.com/ipfs/go-log/pull/3) - - Prevent DHT connection hangs. (@whyrusleeping, https://github.com/ipfs/go-ipfs/pull/2826, https://github.com/ipfs/go-ipfs/pull/2863) - - Fix NDJSON output of `ipfs refs local`. (@Kubuxu, https://github.com/ipfs/go-ipfs/pull/2812) - - Fix race condition in NAT detection. (@whyrusleeping, https://github.com/ipfs/go-libp2p/pull/69) - - Fix error messages. (@whyrusleeping, @Kubuxu, https://github.com/ipfs/go-ipfs/pull/2905, https://github.com/ipfs/go-ipfs/pull/2928) + - Fix a logging race condition during shutdown. (@Kubuxu, [ipfs/go-log#3](https://github.com/ipfs/go-log/pull/3)) + - Prevent DHT connection hangs. (@whyrusleeping, [ipfs/go-ipfs#2826](https://github.com/ipfs/go-ipfs/pull/2826), [ipfs/go-ipfs#2863](https://github.com/ipfs/go-ipfs/pull/2863)) + - Fix NDJSON output of `ipfs refs local`. (@Kubuxu, [ipfs/go-ipfs#2812](https://github.com/ipfs/go-ipfs/pull/2812)) + - Fix race condition in NAT detection. (@whyrusleeping, [ipfs/go-libp2p#69](https://github.com/ipfs/go-libp2p/pull/69)) + - Fix error messages. (@whyrusleeping, @Kubuxu, [ipfs/go-ipfs#2905](https://github.com/ipfs/go-ipfs/pull/2905), [ipfs/go-ipfs#2928](https://github.com/ipfs/go-ipfs/pull/2928)) - Enhancements - - Increase maximum object size to 2 MiB. (@kpcyrd, https://github.com/ipfs/go-ipfs/pull/2980) - - Add CORS headers to the Gateway's default config. (@Kubuxu, https://github.com/ipfs/go-ipfs/pull/2778) - - Clear the dial backoff for a peer when using `ipfs swarm connect`. (@whyrusleeping, https://github.com/ipfs/go-ipfs/pull/2941) - - Allow passing options to daemon in Docker container. (@lgierth, https://github.com/ipfs/go-ipfs/pull/2955) - - Add `-v/--verbose` to `ìpfs swarm peers` command. (@csasarak, https://github.com/ipfs/go-ipfs/pull/2713) - - Add `--format`, `--hash`, and `--size` options to `ipfs files stat` command. (@Kubuxu, https://github.com/ipfs/go-ipfs/pull/2706) - - Add `--all` option to `ipfs version` command. (@Kubuxu, https://github.com/ipfs/go-ipfs/pull/2790) - - Add `ipfs repo version` command. (@pfista, https://github.com/ipfs/go-ipfs/pull/2598) - - Add `ipfs repo verify` command. (@whyrusleeping, https://github.com/ipfs/go-ipfs/pull/2924, https://github.com/ipfs/go-ipfs/pull/2951) - - Add `ipfs stats repo` and `ipfs stats bitswap` command aliases. (@pfista, https://github.com/ipfs/go-ipfs/pull/2810) - - Add success indication to responses of `ipfs ping` command. (@Kubuxu, https://github.com/ipfs/go-ipfs/pull/2813) - - Save changes made via `ipfs swarm filter` to the config file. (@yuvallanger, https://github.com/ipfs/go-ipfs/pull/2880) - - Expand `ipfs_p2p_peers` metric to include libp2p transport. (@lgierth, https://github.com/ipfs/go-ipfs/pull/2728) - - Rework `ipfs files add` internals to avoid caching and prevent memory leaks. (@whyrusleeping, https://github.com/ipfs/go-ipfs/pull/2795) - - Support `GOPATH` with multiple path components. (@karalabe, @lgierth, @djdv, https://github.com/ipfs/go-ipfs/pull/2808, https://github.com/ipfs/go-ipfs/pull/2862, https://github.com/ipfs/go-ipfs/pull/2975) + - Increase maximum object size to 2 MiB. (@kpcyrd, [ipfs/go-ipfs#2980](https://github.com/ipfs/go-ipfs/pull/2980)) + - Add CORS headers to the Gateway's default config. (@Kubuxu, [ipfs/go-ipfs#2778](https://github.com/ipfs/go-ipfs/pull/2778)) + - Clear the dial backoff for a peer when using `ipfs swarm connect`. (@whyrusleeping, [ipfs/go-ipfs#2941](https://github.com/ipfs/go-ipfs/pull/2941)) + - Allow passing options to daemon in Docker container. (@lgierth, [ipfs/go-ipfs#2955](https://github.com/ipfs/go-ipfs/pull/2955)) + - Add `-v/--verbose` to `ìpfs swarm peers` command. (@csasarak, [ipfs/go-ipfs#2713](https://github.com/ipfs/go-ipfs/pull/2713)) + - Add `--format`, `--hash`, and `--size` options to `ipfs files stat` command. (@Kubuxu, [ipfs/go-ipfs#2706](https://github.com/ipfs/go-ipfs/pull/2706)) + - Add `--all` option to `ipfs version` command. (@Kubuxu, [ipfs/go-ipfs#2790](https://github.com/ipfs/go-ipfs/pull/2790)) + - Add `ipfs repo version` command. (@pfista, [ipfs/go-ipfs#2598](https://github.com/ipfs/go-ipfs/pull/2598)) + - Add `ipfs repo verify` command. (@whyrusleeping, [ipfs/go-ipfs#2924](https://github.com/ipfs/go-ipfs/pull/2924), [ipfs/go-ipfs#2951](https://github.com/ipfs/go-ipfs/pull/2951)) + - Add `ipfs stats repo` and `ipfs stats bitswap` command aliases. (@pfista, [ipfs/go-ipfs#2810](https://github.com/ipfs/go-ipfs/pull/2810)) + - Add success indication to responses of `ipfs ping` command. (@Kubuxu, [ipfs/go-ipfs#2813](https://github.com/ipfs/go-ipfs/pull/2813)) + - Save changes made via `ipfs swarm filter` to the config file. (@yuvallanger, [ipfs/go-ipfs#2880](https://github.com/ipfs/go-ipfs/pull/2880)) + - Expand `ipfs_p2p_peers` metric to include libp2p transport. (@lgierth, [ipfs/go-ipfs#2728](https://github.com/ipfs/go-ipfs/pull/2728)) + - Rework `ipfs files add` internals to avoid caching and prevent memory leaks. (@whyrusleeping, [ipfs/go-ipfs#2795](https://github.com/ipfs/go-ipfs/pull/2795)) + - Support `GOPATH` with multiple path components. (@karalabe, @lgierth, @djdv, [ipfs/go-ipfs#2808](https://github.com/ipfs/go-ipfs/pull/2808), [ipfs/go-ipfs#2862](https://github.com/ipfs/go-ipfs/pull/2862), [ipfs/go-ipfs#2975](https://github.com/ipfs/go-ipfs/pull/2975)) - General Codebase - - Take steps towards the `filestore` datastore. (@kevina, https://github.com/ipfs/go-ipfs/pull/2792, https://github.com/ipfs/go-ipfs/pull/2634) - - Update recommended Golang version to 1.6.2 (@Kubuxu, https://github.com/ipfs/go-ipfs/pull/2724) - - Update to Gx 0.8.0 and Gx-Go 1.2.1, which is faster and less noisy. (@whyrusleeping, https://github.com/ipfs/go-ipfs/pull/2979) - - Use `go4.org/lock` instead of `camlistore/lock` for locking. (@whyrusleeping, https://github.com/ipfs/go-ipfs/pull/2887) - - Manage `go.uuid`, `hamming`, `backoff`, `proquint`, `pb`, `go-context`, `cors`, `go-datastore` packages with Gx. (@Kubuxu, https://github.com/ipfs/go-ipfs/pull/2733, https://github.com/ipfs/go-ipfs/pull/2736, https://github.com/ipfs/go-ipfs/pull/2757, https://github.com/ipfs/go-ipfs/pull/2825, https://github.com/ipfs/go-ipfs/pull/2838) - - Clean up the gateway's surface. (@lgierth, https://github.com/ipfs/go-ipfs/pull/2874) - - Simplify the API gateway's access restrictions. (@lgierth, https://github.com/ipfs/go-ipfs/pull/2949, https://github.com/ipfs/go-ipfs/pull/2956) - - Update docker image to Alpine Linux 3.4 and remove Go version constraint. (@lgierth, https://github.com/ipfs/go-ipfs/pull/2901, https://github.com/ipfs/go-ipfs/pull/2929) - - Clarify `Dockerfile` and `Dockerfile.fast`. (@lgierth, https://github.com/ipfs/go-ipfs/pull/2796) - - Simplify resolution of Git commit refs in Dockerfiles. (@lgierth, https://github.com/ipfs/go-ipfs/pull/2754) - - Consolidate `--verbose` description across commands. (@Kubuxu, https://github.com/ipfs/go-ipfs/pull/2746) - - Allow setting position of default values in command option descriptions. (@Kubuxu, https://github.com/ipfs/go-ipfs/pull/2744) - - Set explicit default values for boolean command options. (@richardlitt, https://github.com/ipfs/go-ipfs/pull/2657) - - Autogenerate command synopsises. (@Kubuxu, https://github.com/ipfs/go-ipfs/pull/2785) - - Fix and improve lots of documentation. (@richardlitt, https://github.com/ipfs/go-ipfs/pull/2741, https://github.com/ipfs/go-ipfs/pull/2781) - - Improve command descriptions to fit a width of 78 characters. (@richardlitt, https://github.com/ipfs/go-ipfs/pull/2779, https://github.com/ipfs/go-ipfs/pull/2780, https://github.com/ipfs/go-ipfs/pull/2782) - - Fix filename conflict in the debugging guide. (@Kubuxu, https://github.com/ipfs/go-ipfs/pull/2752) - - Decapitalize log messages, according to Golang style guides. (@richardlitt, https://github.com/ipfs/go-ipfs/pull/2853) - - Add Github Issues HowTo guide. (@richardlitt, @chriscool, https://github.com/ipfs/go-ipfs/pull/2889, https://github.com/ipfs/go-ipfs/pull/2895) - - Add Github Issue template. (@chriscool, https://github.com/ipfs/go-ipfs/pull/2786) - - Apply standard-readme to the README file. (@richardlitt, https://github.com/ipfs/go-ipfs/pull/2883) - - Fix issues pointed out by `govet`. (@Kubuxu, https://github.com/ipfs/go-ipfs/pull/2854) - - Clarify `ipfs get` error message. (@whyrusleeping, https://github.com/ipfs/go-ipfs/pull/2886) - - Remove dead code. (@whyrusleeping, https://github.com/ipfs/go-ipfs/pull/2819) - - Add changelog for v0.4.3. (@lgierth, https://github.com/ipfs/go-ipfs/pull/2984) + - Take steps towards the `filestore` datastore. (@kevina, [ipfs/go-ipfs#2792](https://github.com/ipfs/go-ipfs/pull/2792), [ipfs/go-ipfs#2634](https://github.com/ipfs/go-ipfs/pull/2634)) + - Update recommended Golang version to 1.6.2 (@Kubuxu, [ipfs/go-ipfs#2724](https://github.com/ipfs/go-ipfs/pull/2724)) + - Update to Gx 0.8.0 and Gx-Go 1.2.1, which is faster and less noisy. (@whyrusleeping, [ipfs/go-ipfs#2979](https://github.com/ipfs/go-ipfs/pull/2979)) + - Use `go4.org/lock` instead of `camlistore/lock` for locking. (@whyrusleeping, [ipfs/go-ipfs#2887](https://github.com/ipfs/go-ipfs/pull/2887)) + - Manage `go.uuid`, `hamming`, `backoff`, `proquint`, `pb`, `go-context`, `cors`, `go-datastore` packages with Gx. (@Kubuxu, [ipfs/go-ipfs#2733](https://github.com/ipfs/go-ipfs/pull/2733), [ipfs/go-ipfs#2736](https://github.com/ipfs/go-ipfs/pull/2736), [ipfs/go-ipfs#2757](https://github.com/ipfs/go-ipfs/pull/2757), [ipfs/go-ipfs#2825](https://github.com/ipfs/go-ipfs/pull/2825), [ipfs/go-ipfs#2838](https://github.com/ipfs/go-ipfs/pull/2838)) + - Clean up the gateway's surface. (@lgierth, [ipfs/go-ipfs#2874](https://github.com/ipfs/go-ipfs/pull/2874)) + - Simplify the API gateway's access restrictions. (@lgierth, [ipfs/go-ipfs#2949](https://github.com/ipfs/go-ipfs/pull/2949), [ipfs/go-ipfs#2956](https://github.com/ipfs/go-ipfs/pull/2956)) + - Update docker image to Alpine Linux 3.4 and remove Go version constraint. (@lgierth, [ipfs/go-ipfs#2901](https://github.com/ipfs/go-ipfs/pull/2901), [ipfs/go-ipfs#2929](https://github.com/ipfs/go-ipfs/pull/2929)) + - Clarify `Dockerfile` and `Dockerfile.fast`. (@lgierth, [ipfs/go-ipfs#2796](https://github.com/ipfs/go-ipfs/pull/2796)) + - Simplify resolution of Git commit refs in Dockerfiles. (@lgierth, [ipfs/go-ipfs#2754](https://github.com/ipfs/go-ipfs/pull/2754)) + - Consolidate `--verbose` description across commands. (@Kubuxu, [ipfs/go-ipfs#2746](https://github.com/ipfs/go-ipfs/pull/2746)) + - Allow setting position of default values in command option descriptions. (@Kubuxu, [ipfs/go-ipfs#2744](https://github.com/ipfs/go-ipfs/pull/2744)) + - Set explicit default values for boolean command options. (@richardlitt, [ipfs/go-ipfs#2657](https://github.com/ipfs/go-ipfs/pull/2657)) + - Autogenerate command synopsises. (@Kubuxu, [ipfs/go-ipfs#2785](https://github.com/ipfs/go-ipfs/pull/2785)) + - Fix and improve lots of documentation. (@richardlitt, [ipfs/go-ipfs#2741](https://github.com/ipfs/go-ipfs/pull/2741), [ipfs/go-ipfs#2781](https://github.com/ipfs/go-ipfs/pull/2781)) + - Improve command descriptions to fit a width of 78 characters. (@richardlitt, [ipfs/go-ipfs#2779](https://github.com/ipfs/go-ipfs/pull/2779), [ipfs/go-ipfs#2780](https://github.com/ipfs/go-ipfs/pull/2780), [ipfs/go-ipfs#2782](https://github.com/ipfs/go-ipfs/pull/2782)) + - Fix filename conflict in the debugging guide. (@Kubuxu, [ipfs/go-ipfs#2752](https://github.com/ipfs/go-ipfs/pull/2752)) + - Decapitalize log messages, according to Golang style guides. (@richardlitt, [ipfs/go-ipfs#2853](https://github.com/ipfs/go-ipfs/pull/2853)) + - Add Github Issues HowTo guide. (@richardlitt, @chriscool, [ipfs/go-ipfs#2889](https://github.com/ipfs/go-ipfs/pull/2889), [ipfs/go-ipfs#2895](https://github.com/ipfs/go-ipfs/pull/2895)) + - Add Github Issue template. (@chriscool, [ipfs/go-ipfs#2786](https://github.com/ipfs/go-ipfs/pull/2786)) + - Apply standard-readme to the README file. (@richardlitt, [ipfs/go-ipfs#2883](https://github.com/ipfs/go-ipfs/pull/2883)) + - Fix issues pointed out by `govet`. (@Kubuxu, [ipfs/go-ipfs#2854](https://github.com/ipfs/go-ipfs/pull/2854)) + - Clarify `ipfs get` error message. (@whyrusleeping, [ipfs/go-ipfs#2886](https://github.com/ipfs/go-ipfs/pull/2886)) + - Remove dead code. (@whyrusleeping, [ipfs/go-ipfs#2819](https://github.com/ipfs/go-ipfs/pull/2819)) + - Add changelog for v0.4.3. (@lgierth, [ipfs/go-ipfs#2984](https://github.com/ipfs/go-ipfs/pull/2984)) - Tests & CI - - Fix flakey `ipfs mount` sharness test by using the `iptb` tool. (@noffle, https://github.com/ipfs/go-ipfs/pull/2707) - - Fix flakey IP port selection in tests. (@Kubuxu, https://github.com/ipfs/go-ipfs/pull/2855) - - Fix CLI tests on OSX by resolving /tmp symlink. (@Kubuxu, https://github.com/ipfs/go-ipfs/pull/2926) - - Fix flakey GC test by running the daemon in offline mode. (@Kubuxu, https://github.com/ipfs/go-ipfs/pull/2908) - - Add tests for `ipfs add` with hidden files. (@Kubuxu, https://github.com/ipfs/go-ipfs/pull/2756) - - Add test to make sure the body of HEAD responses is empty. (@Kubuxu, https://github.com/ipfs/go-ipfs/pull/2775) - - Add test to catch misdials. (@Kubuxu, https://github.com/ipfs/go-ipfs/pull/2831) - - Mark flakey tests for `ipfs dht query` as known failure. (@noffle, https://github.com/ipfs/go-ipfs/pull/2720) - - We'll develop the specific nature of this pain in the following section: https://github.com/ipfs/go-ipfs/issues/2620 - - Remove failing blockstore-without-context test. (@Kubuxu, https://github.com/ipfs/go-ipfs/pull/2857) - - Fix `--version` tests for versions with a suffix like `-dev` or `-rc1`. (@lgierth, https://github.com/ipfs/go-ipfs/pull/2937) - - Make sharness tests work in cases where go-ipfs is symlinked into GOPATH. (@lgierth, https://github.com/ipfs/go-ipfs/pull/2937) - - Add variable delays to blockstore mocks. (@rikonor, https://github.com/ipfs/go-ipfs/pull/2871) - - Disable Travis CI email notifications. (@Kubuxu, https://github.com/ipfs/go-ipfs/pull/2896) + - Fix flakey `ipfs mount` sharness test by using the `iptb` tool. (@noffle, [ipfs/go-ipfs#2707](https://github.com/ipfs/go-ipfs/pull/2707)) + - Fix flakey IP port selection in tests. (@Kubuxu, [ipfs/go-ipfs#2855](https://github.com/ipfs/go-ipfs/pull/2855)) + - Fix CLI tests on OSX by resolving /tmp symlink. (@Kubuxu, [ipfs/go-ipfs#2926](https://github.com/ipfs/go-ipfs/pull/2926)) + - Fix flakey GC test by running the daemon in offline mode. (@Kubuxu, [ipfs/go-ipfs#2908](https://github.com/ipfs/go-ipfs/pull/2908)) + - Add tests for `ipfs add` with hidden files. (@Kubuxu, [ipfs/go-ipfs#2756](https://github.com/ipfs/go-ipfs/pull/2756)) + - Add test to make sure the body of HEAD responses is empty. (@Kubuxu, [ipfs/go-ipfs#2775](https://github.com/ipfs/go-ipfs/pull/2775)) + - Add test to catch misdials. (@Kubuxu, [ipfs/go-ipfs#2831](https://github.com/ipfs/go-ipfs/pull/2831)) + - Mark flakey tests for `ipfs dht query` as known failure. (@noffle, [ipfs/go-ipfs#2720](https://github.com/ipfs/go-ipfs/pull/2720)) + - We'll develop the specific nature of this pain in the following section: [ipfs/go-ipfs#2620](https://github.com/ipfs/go-ipfs/issues/2620) + - Remove failing blockstore-without-context test. (@Kubuxu, [ipfs/go-ipfs#2857](https://github.com/ipfs/go-ipfs/pull/2857)) + - Fix `--version` tests for versions with a suffix like `-dev` or `-rc1`. (@lgierth, [ipfs/go-ipfs#2937](https://github.com/ipfs/go-ipfs/pull/2937)) + - Make sharness tests work in cases where go-ipfs is symlinked into GOPATH. (@lgierth, [ipfs/go-ipfs#2937](https://github.com/ipfs/go-ipfs/pull/2937)) + - Add variable delays to blockstore mocks. (@rikonor, [ipfs/go-ipfs#2871](https://github.com/ipfs/go-ipfs/pull/2871)) + - Disable Travis CI email notifications. (@Kubuxu, [ipfs/go-ipfs#2896](https://github.com/ipfs/go-ipfs/pull/2896)) ### 0.4.2 - 2016-05-17