master
md 409 lines 15.4 KB
Rendered Raw
1 # go-ipfs changelog 2015
2
3 ## v0.3.11 - 2016-01-12
4
5 This is the final ipfs version before the transition to v0.4.0.
6 It introduces a few stability improvements, bugfixes, and increased
7 test coverage.
8
9 * Features
10 * Add 'get' and 'patch' to the allowed gateway commands (@whyrusleeping)
11 * Updated webui version (@dignifiedquire)
12
13 * BugFixes
14 * Fix path parsing for add command (@djdv)
15 * namesys: Make paths with multiple segments work. Fixes #2059 (@Kubuxu)
16 * Fix up panic catching in http handler funcs (@whyrusleeping)
17 * Add correct access control headers to the default api config (@dignifiedquire)
18 * Fix closenotify by not sending empty file set (@whyrusleeping)
19
20 * Tool Changes
21 * Have install.sh use the full path to ipfs binary if detected (@jedahan)
22 * Install daemon system-wide if on El Capitan (@jedahan)
23 * makefile: add -ldflags to install and nofuse tasks (@lgierth)
24
25 * General Codebase
26 * Clean up http client code (@whyrusleeping)
27 * Move api version check to header (@rht)
28
29 * Documentation
30 * Improved release checklist (@jbenet)
31 * Added quotes around command in long description (@RichardLitt)
32 * Added a shutdown note to daemon description (@RichardLitt)
33
34 * Testing
35 * t0080: improve last tests (@chriscool)
36 * t0080: improve 'ipfs refs --unique' test (@chriscool)
37 * Fix t.Fatal usage in goroutines (@chriscool)
38 * Add docker testing support to sharness (@chriscool)
39 * sharness: add t0300-docker-image.sh (@chriscool)
40 * Included more namesys tests. (@Kubuxu)
41 * Add sharness test to verify requests look good (@whyrusleeping)
42 * Re-enable ipns sharness test now that iptb is fixed (@whyrusleeping)
43 * Force use of ipv4 in test (@whyrusleeping)
44 * Travis-CI: use go 1.5.2 (@jbenet)
45
46 ## v0.3.10 - 2015-12-07
47
48 This patch update introduces the 'ipfs update' command which will be used for
49 future ipfs updates along with a few other bug fixes and documentation
50 improvements.
51
52
53 * Features
54 * support for 'ipfs update' to call external binary (@whyrusleeping)
55 * cache ipns entries to speed things up a little (@whyrusleeping)
56 * add option to version command to print repo version (@whyrusleeping)
57 * Add in some more notifications to help profile queries (@whyrusleeping)
58 * gateway: add path prefix for directory listings (@lgierth)
59 * gateway: add CurrentCommit to /version (@lgierth)
60
61 * BugFixes
62 * set data and links nil if not present (@whyrusleeping)
63 * fix log hanging issue, and implement close-notify for commands (@whyrusleeping)
64 * fix dial backoff (@whyrusleeping)
65 * proper ndjson implementation (@whyrusleeping)
66 * seccat: fix secio context (@lgierth)
67 * Add newline to end of the output for a few commands. (@nham)
68 * Add fixed period repo GC + test (@rht)
69
70 * Tool Changes
71 * Allow `ipfs cat` on ipns path (@rht)
72
73 * General Codebase
74 * rewrite of backoff mechanism (@whyrusleeping)
75 * refactor net code to use transports, in rough accordance with libp2p (@whyrusleeping)
76 * disable building fuse stuff on windows (@whyrusleeping)
77 * repo: remove Log config (@lgierth)
78 * commands: fix description of --api (@lgierth)
79
80 * Documentation
81 * --help: Add a note on using IPFS_PATH to the footer of the helptext. (@sahib)
82 * Moved email juan to ipfs/contribute (@richardlitt)
83 * Added commit sign off section (@richardlitt)
84 * Added a security section (@richardlitt)
85 * Moved TODO doc to issue #1929 (@richardlitt)
86
87 * Testing
88 * gateway: add tests for /version (@lgierth)
89 * Add gc auto test (@rht)
90 * t0020: cleanup dir with bad perms (@chriscool)
91
92 Note: this commit introduces fixed-period repo gc, which will trigger gc
93 after a fixed period of time. This feature is introduced now, disabled by
94 default, and can be enabled with `ipfs daemon --enable-gc`. If all goes well,
95 in the future, it will be enabled by default.
96
97 ## v0.3.9 - 2015-10-30
98
99 This patch update includes a good number of bugfixes, notably, it fixes
100 builds on windows, and puts newlines between streaming json objects for a
101 proper ndjson format.
102
103 * Features
104 * Writable gateway enabled again (@cryptix)
105
106 * Bugfixes
107 * fix windows builds (@whyrusleeping)
108 * content type on command responses default to text (@whyrusleeping)
109 * add check to makefile to ensure windows builds don't fail silently (@whyrusleeping)
110 * put newlines between streaming json output objects (@whyrusleeping)
111 * fix streaming output to flush per write (@whyrusleeping)
112 * purposely fail builds pre go1.5 (@whyrusleeping)
113 * fix ipfs id <self> (@whyrusleeping)
114 * fix a few race conditions in mocknet (@whyrusleeping)
115 * fix makefile failing when not in a git repo (@whyrusleeping)
116 * fix cli flag orders (long, short) (@rht)
117 * fix races in http cors (@miolini)
118 * small webui update (some bugfixes) (@jbenet)
119
120 * Tool Changes
121 * make swarm connect return an error when it fails (@whyrusleeping)
122 * Add short flag for `ipfs ls --headers` (v for verbose) (@rht)
123
124 * General Codebase
125 * bitswap: clean log printf and humanize dup data count (@cryptix)
126 * config: update pluto's peerID (@lgierth)
127 * config: update bootstrap list hostname (@lgierth)
128
129 * Documentation
130 * Pared down contribute to link to new go guidelines (@richardlitt)
131
132 * Testing
133 * t0010: add tests for 'ipfs commands --flags' (@chriscool)
134 * ipns_test: fix namesys.NewNameSystem() call (@chriscool)
135 * t0060: fail if no nc (@chriscool)
136
137 ## v0.3.8 - 2015-10-09
138
139 This patch update includes changes to make ipns more consistent and reliable,
140 symlink support in unixfs, mild performance improvements, new tooling features,
141 a plethora of bugfixes, and greatly improved tests.
142
143 NOTICE: Version 0.3.8 also requires golang version 1.5.1 or higher.
144
145 * Bugfixes
146 * refactor ipns to be more consistent and reliable (@whyrusleeping)
147 * fix 'ipfs refs' json output (@whyrusleeping)
148 * fix setting null config maps (@rht)
149 * fix output of dht commands (@whyrusleeping)
150 * fix NAT spam dialing (@whyrusleeping)
151 * fix random panics on 32 bit systems (@whyrusleeping)
152 * limit total number of network fd's (@whyrusleeping)
153 * fix http api content type (@WeMeetAgain)
154 * fix writing of api file for port zero daemons (@whyrusleeping)
155 * windows connection refused fixes (@mjanczyk)
156 * use go1.5's built in trailers, no more failures (@whyrusleeping)
157 * fix random bitswap hangs (@whyrusleeping)
158 * rate limit fd usage (@whyrusleeping)
159 * fix panic in bitswap rate limiting (@whyrusleeping)
160
161 * Tool Changes
162 * --empty-repo option for init (@prusnak)
163 * implement symlinks (@whyrusleeping)
164 * improve cmds lib files processing (@rht)
165 * properly return errors through commands (@whyrusleeping)
166 * bitswap unwant command (@whyrusleeping)
167 * tar add/cat commands (@whyrusleeping)
168 * fix gzip compression in get (@klauspost)
169 * bitswap stat logs wasted bytes (@whyrusleeping)
170 * resolve command now uses core.Resolve (@rht)
171 * add `--local` flag to 'name resolve' (@whyrusleeping)
172 * add `ipfs diag sys` command for debugging help (@whyrusleeping)
173
174 * General Codebase
175 * improvements to dag editor (@whyrusleeping)
176 * swarm IPv6 in default config (Baptiste Jonglez)
177 * improve dir listing css (@rht)
178 * removed elliptic.P224 usage (@prusnak)
179 * improve bitswap providing speed (@jbenet)
180 * print panics that occur in cmds lib (@whyrusleeping)
181 * ipfs api check test fixes (@rht)
182 * update peerstream and datastore (@whyrusleeping)
183 * cleaned up tar-reader code (@jbenet)
184 * write context into coreunix.Cat (@rht)
185 * move assets to separate repo (@rht)
186 * fix proc/ctx wiring in bitswap (@jbenet)
187 * rabin fingerprinting chunker (@whyrusleeping)
188 * better notification on daemon ready (@rht)
189 * coreunix cat cleanup (@rht)
190 * extract logging into go-log (@whyrusleeping)
191 * blockservice.New no longer errors (@whyrusleeping)
192 * refactor ipfs get (@rht)
193 * readonly api on gateway (@rht)
194 * cleanup context usage all over (@rht)
195 * add xml decoding to 'object put' (@ForrestWeston)
196 * replace nodebuilder with NewNode method (@whyrusleeping)
197 * add metrics to http handlers (@lgierth)
198 * rm blockservice workers (@whyrusleeping)
199 * decompose maybeGzWriter (@rht)
200 * makefile sets git commit sha on build (@CaioAlonso)
201
202 * Documentation
203 * add contribute file (@RichardLitt)
204 * add go devel guide to contribute.md (@whyrusleeping)
205
206 * Testing
207 * fix mock notifs test (@whyrusleeping)
208 * test utf8 with object cmd (@chriscool)
209 * make mocknet conn close idempotent (@jbenet)
210 * fix fuse tests (@pnelson)
211 * improve sharness test quoting (@chriscool)
212 * sharness tests for chunker and add-cat (@rht)
213 * generalize peerid check in sharness (@chriscool)
214 * test_cmp argument cleanup (@chriscool)
215
216 ## v0.3.7 - 2015-08-02
217
218 This patch update fixes a problem we introduced in 0.3.6 and did not
219 catch: the webui failed to work with out-of-the-box CORS configs.
220 This has been fixed and now should work correctly. @jbenet
221
222 ## v0.3.6 - 2015-07-30
223
224 This patch improves the resource consumption of go-ipfs,
225 introduces a few new options on the CLI, and also
226 fixes (yet again) windows builds.
227
228 * Resource consumption:
229 * fixed goprocess memory leak @rht
230 * implement batching on datastore @whyrusleeping
231 * Fix bitswap memory leak @whyrusleeping
232 * let bitswap ignore temporary write errors @whyrusleeping
233 * remove logging to disk in favor of api endpoint @whyrusleeping
234 * --only-hash option for add to skip writing to disk @whyrusleeping
235
236 * Tool changes
237 * improved `ipfs daemon` output with all addresses @jbenet
238 * improved `ipfs id -f` output, added `<addrs>` and `\n \t` support @jbenet
239 * `ipfs swarm addrs local` now shows the local node's addrs @jbenet
240 * improved config json parsing @rht
241 * improved Dockerfile to use alpine linux @Luzifer @lgierth
242 * improved bash completion @MichaelMure
243 * Improved 404 for gateway @cryptix
244 * add unixfs ls to list correct filesizes @wking
245 * ignore hidden files by default @gatesvp
246 * global --timeout flag @whyrusleeping
247 * fix random API failures by closing resp bodies @whyrusleeping
248 * ipfs swarm filters @whyrusleeping
249 * api returns errors in http trailers @whyrusleeping @jbenet
250 * `ipfs patch` learned to create intermediate nodes @whyrusleeping
251 * `ipfs object stat` now shows Hash @whyrusleeping
252 * `ipfs cat` now clears progressbar on exit @rht
253 * `ipfs add -w -r <dir>` now wraps directories @jbenet
254 * `ipfs add -w <file1> <file2>` now wraps with one dir @jbenet
255 * API + Gateway now support arbitrary HTTP Headers from config @jbenet
256 * API now supports CORS properly from config @jbenet
257 * **Deprecated:** `API_ORIGIN` env var (use config, see `ipfs daemon --help`) @jbenet
258
259 * General Codebase
260 * `nofuse` tag for windows @Luzifer
261 * improved `ipfs add` code @gatesvp
262 * started requiring license trailers @chriscool @jbenet
263 * removed CtxCloser for goprocess @rht
264 * remove deadcode @lgierth @whyrusleeping
265 * reduced number of logging libs to 2 (soon to be 1) @rht
266 * dial address filtering @whyrusleeping
267 * Prometheus metrics @lgierth
268 * new index page for gateway @krl @cryptix
269 * move ping to separate protocol @whyrusleeping
270 * add events to bitswap for a dashboard @whyrusleeping
271 * add latency and bandwidth options to mocknet @heems
272 * levenshtein distance cmd autosuggest @sbruce
273 * refactor/cleanup of cmds http handler @whyrusleeping
274 * cmds http stream reports errors in trailers @whyrusleeping
275
276 * Bugfixes
277 * fixed path resolution and validation @rht
278 * fixed `ipfs get -C` output and progress bar @rht
279 * Fixed install pkg dist bug @jbenet @Luzifer
280 * Fix `ipfs get` silent failure @whyrusleeping
281 * `ipfs get` tarx no longer times out @jbenet
282 * `ipfs refs -r -u` is now correct @gatesvp
283 * Fix `ipfs add -w -r <dir>` wrapping bugs @jbenet
284 * Fixed FUSE unmount failures @jbenet
285 * Fixed `ipfs log tail` command (api + cli) @whyrusleeping
286
287 * Testing
288 * sharness updates @chriscool
289 * ability to disable secio for testing @jbenet
290 * fixed many random test failures, more reliable CI @whyrusleeping
291 * Fixed racey notifier failures @whyrusleeping
292 * `ipfs refs -r -u` test cases @jbenet
293 * Fix failing pinning test @jbenet
294 * Better CORS + Referer tests @jbenet
295 * Added reversible gc test @rht
296 * Fixed bugs in FUSE IPNS tests @whyrusleeping
297 * Fixed bugs in FUSE IPFS tests @jbenet
298 * Added `random-files` tool for easier sharness tests @jbenet
299
300 * Documentation
301 * Add link to init system examples @slang800
302 * Add CORS documentation to daemon init @carver (Note: this will change soon)
303
304 ## v0.3.5 - 2015-06-11
305
306 This patch improves overall stability and performance
307
308 * added 'object patch' and 'object new' commands @whyrusleeping
309 * improved symmetric NAT avoidance @jbenet
310 * move util.Key to blocks.Key @whyrusleeping
311 * fix memory leak in provider store @whyrusleeping
312 * updated webui to 0.2.0 @krl
313 * improved bitswap performance @whyrusleeping
314 * update fuse lib @cryptix
315 * fix path resolution @wking
316 * implement test_seq() in sharness @chriscool
317 * improve parsing of stdin for commands @chriscool
318 * fix 'ipfs refs' failing silently @whyrusleeping
319 * fix serial dialing bug @jbenet
320 * improved testing @chriscool @rht @jbenet
321 * fixed domain resolving @luzifer
322 * fix parsing of unwanted stdin @lgierth
323 * added CORS handlers to gateway @NodeGuy
324 * added `ipfs daemon --unrestricted-api` option @krl
325 * general cleanup of dependencies
326
327 ## v0.3.4 - 2015-05-10
328
329 * fix ipns append bug @whyrusleeping
330 * fix out of memory panic @whyrusleeping
331 * add in expvar metrics @tv42
332 * bitswap improvements @whyrusleeping
333 * fix write-cache in blockstore @tv42
334 * vendoring cleanup @cryptix
335 * added `launchctl` plist for OSX @grncdr
336 * improved Dockerfile, changed root and mount paths @ehd
337 * improved `pin ls` output to show types @vitorbaptista
338
339 ## v0.3.3 - 2015-04-28
340
341 This patch update fixes various issues, in particular:
342 - windows support (0.3.0 had broken it)
343 - command line parses spaces correctly.
344
345 * much improved command line parsing by @AtnNn
346 * improved dockerfile by @luzifer
347 * add cmd cleanup by @wking
348 * fix flatfs windows support by @tv42 and @gatesvp
349 * test case improvements by @chriscool
350 * ipns resolution timeout bug fix by @whyrusleeping
351 * new cluster tests with iptb by @whyrusleeping
352 * fix log callstack printing bug by @whyrusleeping
353 * document bash completion by @dylanPowers
354
355 ## v0.3.2 - 2015-04-22
356
357 This patch update implements multicast dns as well as fixing a few test issues.
358
359 * implement mdns peer discovery @whyrusleeping
360 * fix mounting issues in sharness tests @chriscool
361
362 ## v0.3.1 - 2015-04-21
363
364 This patch update fixes a few bugs:
365
366 * harden shutdown logic by @torarnv
367 * daemon locking fixes by @travisperson
368 * don't re-add entire dirs by @whyrusleeping
369 * tests now wait for graceful shutdown by @jbenet
370 * default key size is now 2048 by @jbenet
371
372 ## v0.3.0 - 2015-04-20
373
374 We've just released version 0.3.0, which contains many
375 performance improvements, bugfixes, and new features.
376 Perhaps the most noticeable change is moving block storage
377 from leveldb to flat files in the filesystem.
378
379 What to expect:
380
381 * _much faster_ performance
382
383 * Repo format 2
384 * moved default location from ~/.go-ipfs -> ~/.ipfs
385 * renamed lock filename daemon.lock -> repo.lock
386 * now using a flat-file datastore for local blocks
387
388 * Fixed lots of bugs
389 * proper ipfs-path in various commands
390 * fixed two pinning bugs (recursive pins)
391 * increased yamux streams window (for speed)
392 * increased bitswap workers (+ env var)
393 * fixed memory leaks
394 * ipfs add error returns
395 * daemon exit bugfix
396 * set proper UID and GID on fuse mounts
397
398 * Gateway
399 * Added support for HEAD requests
400
401 * configuration
402 * env var to turn off SO_REUSEPORT: IPFS_REUSEPORT=false
403 * env var to increase bitswap workers: IPFS_BITSWAP_TASK_WORKERS=n
404
405 * other
406 * bash completion is now available
407 * ipfs stats bw -- bandwidth metering
408
409 And many more things.