@cryptotaxi247 / kubo / commits / a164fc958

Ipfs v0.4.0 changelog

License: MIT Signed-off-by: Jeromy <jeromyj@gmail.com>

Jeromy committed Apr 7, 2016 at 16:22 UTC a164fc958f2fc8f9e3dd8f499c4dceeccf9af0a8
2 files changed +137 -7
CHANGELOG.md
+129 -6
@@ -1,12 +1,135 @@
1 # go-ipfs changelog
2
3 -### 0.4.0 - 2016-01-31
4 -
5 -* Features
6 - * add optional path arguments to 'ipfs pin ls' (@chriscool)
7 -
3 +### 0.4.0 - 2016-04-05
4 +
5 +This is a major release with plenty of new features and bugfixes.
6 +It also includes breaking changes which make it incompatible with v0.3.x
7 +on the networking layer.
8 +
9 +* Major Changes
10 + * Multistream
11 + * The addition of multistream is a breaking change on the networking layer,
12 + but gives IPFS implementations the ability to mix and match different
13 + stream multiplexers, e.g. yamux, spdystream, or muxado.
14 + This adds a ton of flexibility on one of the lower layers of the protocol,
15 + and will help us avoid further breaking protocol changes in the future.
16 + * Files API
17 + * The new `files` command and API allow a program to interact with IPFS
18 + using familiar filesystem operations, namely: creating directories,
19 + reading, writing, and deleting files, listing out different directories,
20 + and so on. This feature enables any other application that uses a
21 + filesystem-like backend for storage, to use IPFS as its storage driver
22 + without having change the application logic at all.
23 + * Gx
24 + * go-ipfs now uses [gx](https://github.com/whyrusleeping/gx) to manage its
25 + dependencies. This means that under the hood, go-ipfs's dependencies are
26 + backed by IPFS itself! It also means that go-ipfs is no longer installed
27 + using `go get`. Use `make install` instead.
28 +* New Features
29 + * Web UI
30 + * Update to new version which is compatible with 0.4.0. (@dignifiedquire)
31 + * Networking
32 + * Implement uTP transport. (@whyrusleeping)
33 + * Allow multiple addresses per configured bootstrap node. (@whyrusleeping)
34 + * IPNS
35 + * Improve IPNS resolution performance. (@whyrusleeping)
36 + * Have dnslink prefer `TXT _dnslink.example.com`, allows usage of CNAME records. (@Kubuxu)
37 + * Prevent `ipfs name publish` when `/ipns` is mounted. (@noffle)
38 + * Repo
39 + * Improve performance of `ipfs add`. (@whyrusleeping)
40 + * Add `Datastore.NoSync` config option for flatfs. (@rht)
41 + * Implement mark-and-sweep GC. (@whyrusleeping)
42 + * Allow for GC during `ipfs add`. (@whyrusleeping)
43 + * Add `ipfs repo stat` command. (@tmg, @diasdavid)
44 + * General
45 + * Add support for HTTP OPTIONS requests. (@lidel)
46 + * Add `ipfs diag cmds` to view active API requests (@whyrusleeping)
47 + * Add an `IPFS_LOW_MEM` environment veriable which relaxes Bitswap's memory usage. (@whyrusleeping)
48 + * The Docker image now lives at `ipfs/go-ipfs` and has been completely reworked. (@lgierth)
49 +* Security fixes
50 + * The gateway path prefix added in v0.3.10 was vulnerable to cross-site
51 + scripting attacks. This release introduces a configurable list of allowed
52 + path prefixes. It's called `Gateway.PathPrefixes` and takes a list of
53 + strings, e.g. `["/blog", "/foo/bar"]`. The v0.3.x line will not receive any
54 + further updates, so please update to v0.4.0 as soon as possible. (@lgierth)
55 * Incompatible Changes
9 - * the default for '--type' in 'ipfs pin ls' is now "all" (@chriscool)
56 + * Install using `make install` instead of `go get` (@whyrusleeping)
57 + * Rewrite pinning to store pins in IPFS objects. (@tv42)
58 + * Bump fs-repo version to 3. (@whyrusleeping)
59 + * Use multistream muxer (@whyrusleeping)
60 + * The default for `--type` in `ipfs pin ls` is now `all`. (@chriscool)
61 +* Bug Fixes
62 + * Remove msgio double wrap. (@jbenet)
63 + * Buffer msgio. (@whyrusleeping)
64 + * Perform various fixes to the FUSE code. (@tv42)
65 + * Compute `ipfs add` size in background to not stall add operation. (@whyrusleeping)
66 + * Add option to have `ipfs add` include top-level hidden files. (@noffle)
67 + * Fix CORS checks on the API. (@rht)
68 + * Fix `ipfs update` error message. (@tomgg)
69 + * Resolve paths in `ipfs pin rm` without network lookup. (@noffle)
70 + * Detect FUSE unmounts and track mount state. (@noffle)
71 + * Fix go1.6rc2 panic caused by CloseNotify being called from wrong goroutine. (@rwcarlsen)
72 + * Bump DHT kvalue from 10 to 20. (@whyrusleeping)
73 + * Put public key and IPNS entry to DHT in parallel. (@whyrusleeping)
74 + * Fix panic in CLI argument parsing. (@whyrusleeping)
75 + * Fix range error by using larger-than-zero-length buffer. (@noffle)
76 + * Fix yamux hanging issue by increasing AcceptBacklog. (@whyrusleeping)
77 + * Fix double Transport-Encoding header bug. (@whyrusleeping)
78 + * Fix uTP panic and file descriptor leak. (@whyrusleeping)
79 +* Tool Changes
80 + * Add `--pin` option to `ipfs add`, which defaults to `true` and allows `--pin=false`. (@eminence)
81 + * Add arguments to `ipfs pin ls`. (@chriscool)
82 + * Add `dns` and `resolve` commands to read-only API. (@Kubuxu)
83 + * Add option to display headers for `ipfs object links`. (@palkeo)
84 +* General Codebase Changes
85 + * Check Golang version in Makefile. (@chriscool)
86 + * Improve Makefile. (@tomgg)
87 + * Remove dead Jenkins CI code. (@lgierth)
88 + * Add locking interface to blockstore. (@whyrusleeping)
89 + * Add Merkledag FetchGraph and EnumerateChildren. (@whyrusleeping)
90 + * Rename Lock/RLock to GCLock/PinLock. (@jbenet)
91 + * Implement pluggable datastore types. (@tv42)
92 + * Record datastore metrics for non-default datastores. (@tv42)
93 + * Allow multistream to have zero-rtt stream opening. (@whyrusleeping)
94 + * Refactor `ipnsfs` into a more generic and well tested `mfs`. (@whyrusleeping)
95 + * Grab more peers if bucket doesn't contain enough. (@whyrusleeping)
96 + * Use CloseNotify in gateway. (@whyrusleeping)
97 + * Flatten multipart file transfers. (@whyrusleeping)
98 + * Send updated DHT record fixes to peers who sent outdated records. (@whyrusleeping)
99 + * Replace go-psutil with go-sysinfo. (@whyrusleeping)
100 + * Use ServeContent for index.html. (@AtnNn)
101 + * Refactor `object patch` API to not store data in URL. (@whyrusleeping)
102 + * Use mfs for `ipfs add`. (@whyrusleeping)
103 + * Add `Server` header to API responses. (@Kubuxu)
104 + * Wire context directly into HTTP requests. (@rht)
105 + * Wire context directly into GetDAG operations within GC. (@rht)
106 + * Vendor libp2p using gx. (@whyrusleeping)
107 + * Use gx vendored packages instead of Godeps. (@whyrusleeping)
108 + * Simplify merkledag package interface to ease IPLD inclusion. (@mildred)
109 + * Add default option value support to commands lib. (@whyrusleeping)
110 + * Refactor merkledag fetching methods. (@whyrusleeping)
111 + * Use net/url to escape paths within Web UI. (@noffle)
112 + * Deprecated key.Pretty(). (@MichealMure)
113 +* Documentation
114 + * Fix and update help text for **every** `ipfs` command. (@RichardLitt)
115 + * Change sample API origin settings from wildcard (`*`) to `example.com`. (@Kubuxu)
116 + * Improve documentation of installation process in README. (@whyrusleeping)
117 + * Improve windows.md. (@chriscool)
118 + * Clarify instructions for installing from source. (@noffle)
119 + * Make version checking more robust. (@jedahan)
120 + * Assert the source code is located within GOPATH. (@whyrusleeping)
121 + * Remove mentions of `/dns` from `ipfs dns` command docs. (@lgierth)
122 +* Testing
123 + * Refactor iptb tests. (@chriscool)
124 + * Improve t0240 sharness test. (@chriscool)
125 + * Make bitswap tests less flaky. (@whyrusleeping)
126 + * Use TCP port zero for ipfs daemon in sharness tests. (@whyrusleeping)
127 + * Improve sharness tests on AppVeyor. (@chriscool)
128 + * Add a pause to fix timing on t0065. (@whyrusleeping)
129 + * Add support for arbitrary TCP ports to t0060-daemon.sh. (@noffle)
130 + * Make t0060 sharness test use TCP port zero. (@whyrusleeping)
131 + * Randomized ipfs stress testing via randor (@dignifiedquire)
132 + * Stress test pinning and migrations (@whyrusleeping)
133
134 ### 0.3.11 - 2016-01-12
135
releases.md renamed
+8 -1
@@ -1,5 +1,12 @@
1 -# go-ipfs release checklist
1 +# go-ipfs releases
2
3 +## Release Schedule
4 +go-ipfs is on a six week release schedule. Following a release, there will be
5 +five weeks for code of any type (features, bugfixes, etc) to be added. After
6 +the five weeks is up, a release canidate is tagged and only important bugfixes
7 +will be allowed up to release day.
8 +
9 +## Pre-Release Checklist
10 - [ ] before release, tag 'release canidate' for users to test against
11 - if bugs are found/fixed, do another release canidate
12 - [ ] all tests pass (no exceptions)