Skip to content

Commit

Permalink
changelog: add v0.4.3
Browse files Browse the repository at this point in the history
License: MIT
Signed-off-by: Lars Gierth <larsg@systemli.org>
  • Loading branch information
Lars Gierth committed Jul 22, 2016
1 parent 83d9c1c commit 4bf1075
Showing 1 changed file with 125 additions and 4 deletions.
129 changes: 125 additions & 4 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,126 @@
# go-ipfs changelog

### 0.4.3-rc1 - 2016-07-23

This is a maintenance release which comes with a couple of nice enhancements, and improves the performance of Storage, Bitswap, as well as Content and Peer Routing. It also introduces a handful of new commands and options, and fixes a good bunch of bugs.

This is the first Release Candidate. Unless there are vulnerabilities or regressions discovered, the final 0.4.3 release will happen about one week from now.

- 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.

- 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)
- 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

- 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)

- 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 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)

- 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)

- 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)

- 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)


### 0.4.2 - 2016-05-17

This is a patch release which fixes perfomance and networking bugs in go-libp2p,
Expand Down Expand Up @@ -27,14 +148,14 @@ There are also a few other nice improvements.
* Add a debug-guidelines document. (@richardlitt)
* Update the contribute document. (@richardlitt)
* Fix documentation of many `ipfs` commands. (@richardlitt)
* Fall back to ShortDesc if LongDesc is missing. (@kubuxu)
* Fall back to ShortDesc if LongDesc is missing. (@Kubuxu)

* Removals
* Remove -f option from `ipfs init` command. (@whyrusleeping)

* Bugfixes
* Fix `ipfs object patch` argument handling and validation. (@jbenet)
* Fix `ipfs config edit` command by running it client-side. (@kubuxu)
* Fix `ipfs config edit` command by running it client-side. (@Kubuxu)
* Set default value for `ipfs refs` arguments. (@richardlitt)
* Fix parsing of incorrect command and argument permutations. (@thomas-gardner)
* Update Dockerfile to latest go1.5.4-r0. (@chriscool)
Expand All @@ -58,7 +179,7 @@ There are also a few other nice improvements.

* CI
* Fix t0170-dht sharness test. (@chriscool)
* Increase timeout in t0060-daemon sharness test. (@kubuxu)
* Increase timeout in t0060-daemon sharness test. (@Kubuxu)
* Have CircleCI use `make deps` instead of `gx` directly. (@whyrusleeping)


Expand Down Expand Up @@ -89,7 +210,7 @@ hang bugfix that was shipped in the 0.4.0 release.
* Bugfixes
* fixed ipfs name resolve --local multihash error (@pfista)
* ipfs patch commands won't return null links field anymore (@whyrusleeping)
* Make non recursive resolve print the result (@kubuxu)
* Make non recursive resolve print the result (@Kubuxu)
* Output dirs on ipfs add -rn (@noffle)
* update libp2p dep to fix hanging listeners problem (@whyrusleeping)
* Fix Swarm.AddrFilters config setting with regard to `/ip6` addresses (@lgierth)
Expand Down

0 comments on commit 4bf1075

Please sign in to comment.