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