NewYour coding agent can read the release notes before it upgrades.Set up the MCP server →
Go modules · #3141 by repository stars
Last release 5 years ago
no release in 18 months
Release timing varies
gaps range from 2 weeks to 4 months
Most releases are documented
notes for 23 of 34 stable releases
Nothing withdrawn
no release was ever pulled
12 years old
116 releases · first in 2015
Ipfs 0.4.9 is a maintenance release that contains several useful bugfixes and improvements. Notably, ipfs add has gained the ability to select which C
Ipfs 0.4.9 is a maintenance release that contains several useful bugfixes and
improvements. Notably, ipfs add has gained the ability to select which CID
version will be output. The common ipfs hash that looks like this:
QmRjNgF2mRLDT8AzCPsQbw1EYF2hDTFgfUmJokJPhCApYP is a multihash. Multihashes
allow us to specify the hashing algorithm that was used to verify the data, but
it doesn't give us any indication of what format that data might be. To address
that issue, we are adding another couple of bytes to the prefix that will allow us
to indicate the format of the data referenced by the hash. This new format is
called a Content ID, or CID for short. The previous bare multihashes will still
be fully supported throughout the entire application as CID version 0. The new
format with the type information will be CID version 1. To give an example,
the content referenced by the hash above is "Hello Ipfs!". That same content,
in the same format (dag-protobuf) using CIDv1 is
zb2rhkgXZVkT2xvDiuUsJENPSbWJy7fdYnsboLBzzEjjZMRoG.
CIDv1 hashes are supported in ipfs versions back to 0.4.5. Nodes running 0.4.4 and older will not be able to load content via CIDv1 and we recommend that they update to a newer version.
There are many other use cases for CIDs. Plugins can be written to allow ipfs to natively address content from any other merkletree based system, such as git, bitcoin, zcash and ethereum -- a few systems we've already started work on.
Aside from the CID flag, there were many other changes as noted below:
make install not using ldflags for git hash (ipfs/go-ipfs#3838)make install not installing dependencies (ipfs/go-ipfs#3848)One column per quarter.
Nothing published for this version
Nothing published for this version
Ipfs 0.4.8 brings with it several improvements, bugfixes, documentation improvements, and the long awaited directory sharding code.
Ipfs 0.4.8 brings with it several improvements, bugfixes, documentation improvements, and the long awaited directory sharding code.
Currently, when too many items are added into a unixfs directory, the object gets too large and you may experience issues. To pervent this problem, and generally make working really large directories more efficient, we have implemented a HAMT structure for unixfs. To enable this feature, run:
ipfs config --json Experimental.ShardingEnabled true
And restart your daemon if it was running.
Note: With this setting enabled, the hashes of any newly added directories will be different than they previously were, as the new code will use the sharded HAMT structure for all directories. Also, nodes running ipfs 0.4.7 and earlier will not be able to access directories created with this option.
That said, please do give it a try, let us know how it goes, and then take a look at all the other cool things added in 0.4.8 below.
Nothing published for this version
Deprecate implicit daemon argument in Dockerfile (ipfs/go-ipfs#3685)
Ipfs 0.4.7 contains several exciting new features! First off, The long awaited filestore feature has been merged, allowing users the option to not have ipfs store chunked copies of added files in the blockstore, pushing to burden of ensuring those files are not changed to the user. The filestore feature is currently still experimental, and must be enabled in your config with:
ipfs config --json Experimental.FilestoreEnabled true
before it can be used. Please see this issue for more details.
Next up, We have merged initial support for ipfs 'Private Networks'. This feature allows users to run ipfs in a mode that will only connect to other peers in the private network. This feature, like the filestore is being released experimentally, but if you're interested please try it out. Instructions for setting it up can be found here.
This release also enables support for the 'mplex' stream muxer by default. This
stream multiplexing protocol was available previously via the
--enable-mplex-experiment daemon flag, but has now graduated to being 'less
experimental' and no longer requires the flag to use it.
Aside from those, we have a good number of bugfixes, perf improvements and new tests. Heres a list of highlights:
--quieter option to ipfs add (ipfs/go-ipfs#3770)pin add via --progress (ipfs/go-ipfs#3671)ipfs get to handle content added with raw leaves option (ipfs/go-ipfs#3757)ipfs get (ipfs/go-ipfs#3758)dist_get fall back to other downloaders if one fails (ipfs/go-ipfs#3692)ipfs pin add api output (ipfs/go-ipfs#3760)ipfs mount crashing if no name was published before (ipfs/go-ipfs#3728)self key to the ipfs key list listing (ipfs/go-ipfs#3734)ipfs daemon pre gateway setup (ipfs/go-ipfs#3723)EnumerateChildren to avoid need for bestEffort parameter (ipfs/go-ipfs#3700)install_unsupported makefile target for 'exotic' systems (ipfs/go-ipfs#3719)Nothing published for this version
Ipfs 0.4.6 contains several bugfixes related to migrations and also contains a few other improvements to other parts of the codebase. Notably:
Ipfs 0.4.6 contains several bugfixes related to migrations and also contains a few other improvements to other parts of the codebase. Notably:
The default config will now contain some ipv6 addresses for bootstrap nodes.
ipfs pin add should be faster and consume less memory.
Pinning thousands of files no longer causes superlinear usage of storage space.
Improvements
dag get command (ipfs/go-ipfs#3687)Documentation
Bugfixes
General Changes and Refactorings
FindProviders from routing mocks (ipfs/go-ipfs#3617)block rm output (ipfs/go-ipfs#3708)Testing
Nothing published for this version
Update to fixed webui. (ipfs/go-ipfs#3669)
ipfs dag get (ipfs/go-ipfs#3655)Notable changes
Improvements
bitswap ledger command (ipfs/go-ipfs#2852)ipfs block rm command. (ipfs/go-ipfs#2962)ipfs dht provide command (ipfs/go-ipfs#3106)ipfs swarm peers -v (ipfs/go-ipfs#3352)ipfs add --local not send providers messages (ipfs/go-ipfs#3102)ipfs tar add that buffered input in memory (ipfs/go-ipfs#3334)ipfs pin add resource consumption (ipfs/go-ipfs#3495) (ipfs/go-ipfs#3571)--routing=none daemon option (ipfs/go-ipfs#3605)Bitswap
Bugfixes
--routing option (ipfs/go-ipfs#3482)General changes and refactorings
ipfs swarm peers (ipfs/go-ipfs#3491)ipfs name publish (ipfs/go-ipfs#3592)ipfs stats bw formatting (ipfs/go-ipfs#3554)Cross Platform Changes
Metrics
Misc
Dependencies
Testing
Documentation
ipfs pin rm (ipfs/go-ipfs#3088)"commands".Command.Run (ipfs/go-ipfs#3382)ipfs stats bw help message (ipfs/go-ipfs#3620)Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
This release contains an important hotfix for a bug we discovered in how pinning works. If you had a large number of pins, new pins would overwrite ex
This release contains an important hotfix for a bug we discovered in how pinning works. If you had a large number of pins, new pins would overwrite existing pins. Apart from the hotfix, this release is equal to the previous release 0.4.3.
We published a detailed account of the bug and fix in a blog post.
There have been no changes since the last release candidate 0.4.3-rc4. \o/
There have been no changes since the last release candidate 0.4.3-rc4. \o/
This release candidate fixes issues in Bitswap and the ipfs add command, and improves testing. We plan for this to be the last release candidate befor
This release candidate fixes issues in Bitswap and the ipfs add command, and improves testing.
We plan for this to be the last release candidate before the release of go-ipfs v0.4.3.
With this release candidate, we're also moving go-ipfs to Go 1.7, which we expect will yield improvements in runtime performance, memory usage, build time and size of the release binaries.
wantlist entries. (@whyrusleeping, ipfs/go-ipfs#3182)active state of Bitswap provider queries. (@whyrusleeping, ipfs/go-ipfs#3169)Identity field in ipfs config command. (@Kubuxu, @whyrusleeping, ipfs/go-ipfs#3141)ipfs daemon --unrestricted-api option. (@lgierth, ipfs/go-ipfs#3159)ipfs cat and ipfs add. (@Kubuxu, ipfs/go-ipfs#3144)ipfs repo verify command. (@whyrusleeping, ipfs/go-ipfs#3148)ipfs files. (@kevina, ipfs/go-ipfs#3151)This release candidate fixes a panic that occurs when input from stdin was expected, but none was given: ipfs/go-ipfs#3050
This release candidate fixes a panic that occurs when input from stdin was expected, but none was given: ipfs/go-ipfs#3050
This release includes bugfixes and fixes for regressions that were introduced between 0.4.2 and 0.4.3-rc1.
This release includes bugfixes and fixes for regressions that were introduced between 0.4.2 and 0.4.3-rc1.
ipfs refs --edges not printing edges.
(@Kubuxu, ipfs/go-ipfs#3007)ipfs add defaulting to true on the HTTP API.
(@whyrusleeping, ipfs/go-ipfs#3025)--mount and --offline flags to ipfs daemon.
(@Kubuxu, ipfs/go-ipfs#3022)This is the first Release Candidate. Unless there are vulnerabilities or regressions discovered, the final 0.4.3 release will happen about one week fr…
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
master branch if go-ipfs suffered from a vulnerability for about 3 weeks. It allowed an attacker to use an iframe to request malicious HTML and JS from the API of a local go-ipfs node. The attacker could then gain unrestricted access to the node's API, and e.g. extract the private key. We fixed this issue by reintroducing restrictions on which particular objects can be loaded through the API (@lgierth, ipfs/go-ipfs#2949), and by completely excluding the private key from the API (@Kubuxu, ipfs/go-ipfs#2957). We will also work on more hardening of the API in the next release.master branch between June 17th (ipfs/go-ipfs@1afebc21) and July 7th (ipfs/go-ipfs@39bef0d5), please update to v0.4.3-rc1 immediately.Notable changes
~/.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)docs/config.md. (@whyrusleeping, ipfs/go-ipfs#2974)New Features
--offline option to ipfs daemon command, which disables all swarm networking. (@Kubuxu, ipfs/go-ipfs#2696, ipfs/go-ipfs#2867)Datastore.HashOnRead option for verifying block hashes on read access. (@Kubuxu, ipfs/go-ipfs#2904)Datastore.BloomFilterSize option for tuning the blockstore's new lookup bloom filter. (@Kubuxu, ipfs/go-ipfs#2973)Bugfixes
ipfs add and ipfs get. (@whyrusleeping, ipfs/go-ipfs#2893, ipfs/go-ipfs#2948)ipfs files are pinned and don't get GC'd. (@kevina, ipfs/go-ipfs#2872)ipfs files cp. (@whyrusleeping, ipfs/go-ipfs#2977)ipfs version --commit with Docker containers. (@lgierth, ipfs/go-ipfs#2734)ipfs diag commands in the daemon instead of the CLI. (@Kubuxu, ipfs/go-ipfs#2761)/ipfs/ping protocol handler. (@whyrusleeping, ipfs/go-libp2p#58)--flags option on ipfs commands. (@Kubuxu, ipfs/go-ipfs#2773)namesys. (@whyrusleeping, ipfs/go-ipfs#2788)ipfs refs local. (@Kubuxu, ipfs/go-ipfs#2812)Enhancements
ipfs put from 1 MiB to 2 MiB. The maximum object size on the wire including all framing is 4 MiB. (@kpcyrd, ipfs/go-ipfs#2980)ipfs swarm connect. (@whyrusleeping, ipfs/go-ipfs#2941)-v/--verbose to ìpfs swarm peers command. (@csasarak, ipfs/go-ipfs#2713)--format, --hash, and --size options to ipfs files stat command. (@Kubuxu, ipfs/go-ipfs#2706)--all option to ipfs version command. (@Kubuxu, ipfs/go-ipfs#2790)ipfs repo version command. (@pfista, ipfs/go-ipfs#2598)ipfs repo verify command. (@whyrusleeping, ipfs/go-ipfs#2924, ipfs/go-ipfs#2951)ipfs stats repo and ipfs stats bitswap command aliases. (@pfista, ipfs/go-ipfs#2810)ipfs ping command. (@Kubuxu, ipfs/go-ipfs#2813)ipfs swarm filter to the config file. (@yuvallanger, ipfs/go-ipfs#2880)ipfs_p2p_peers metric to include libp2p transport. (@lgierth, ipfs/go-ipfs#2728)ipfs files add internals to avoid caching and prevent memory leaks. (@whyrusleeping, ipfs/go-ipfs#2795)GOPATH with multiple path components. (@karalabe, @lgierth, @djdv, ipfs/go-ipfs#2808, ipfs/go-ipfs#2862, ipfs/go-ipfs#2975)General Codebase
filestore datastore. (@kevina, ipfs/go-ipfs#2792, ipfs/go-ipfs#2634)go4.org/lock instead of camlistore/lock for locking. (@whyrusleeping, ipfs/go-ipfs#2887)go.uuid, hamming, backoff, proquint, pb, go-context, cors, go-datastore packages with Gx. (@Kubuxu, ipfs/go-ipfs#2733, ipfs/go-ipfs#2736, ipfs/go-ipfs#2757, ipfs/go-ipfs#2825, ipfs/go-ipfs#2838)Dockerfile and Dockerfile.fast. (@lgierth, ipfs/go-ipfs#2796)--verbose description across commands. (@Kubuxu, ipfs/go-ipfs#2746)govet. (@Kubuxu, ipfs/go-ipfs#2854)ipfs get error message. (@whyrusleeping, ipfs/go-ipfs#2886)Tests & CI
ipfs mount sharness test by using the iptb tool. (@noffle, ipfs/go-ipfs#2707)ipfs add with hidden files. (@Kubuxu, ipfs/go-ipfs#2756)ipfs dht query as known failure. (@noffle, ipfs/go-ipfs#2720)--version tests for versions with a suffix like -dev or -rc1. (@lgierth, ipfs/go-ipfs#2937)Nothing published for this version
Nothing published for this version
This is a patch release which fixes performance and networking bugs in go-libp2p, You should see improvements in CPU and RAM usage, as well as speed o
This is a patch release which fixes performance and networking bugs in go-libp2p, You should see improvements in CPU and RAM usage, as well as speed of object lookups. There are also a few other nice improvements.
Notable Fixes
Enhancements
ipfs init optionally accept a default configuration from stdin. (@sivachandran)ipfs log ls command for listing logging subsystems. (@hsanjuan)make toolkit_upgrade step. (@chriscool)Documentation
ipfs commands. (@richardlitt)Removals
ipfs init command. (@whyrusleeping)Bugfixes
ipfs object patch argument handling and validation. (@jbenet)ipfs config edit command by running it client-side. (@Kubuxu)ipfs refs arguments. (@richardlitt)ipfs log ls output. (@richardlitt)General Codebase
ipfs commands. (@richardlitt)count option from ipfs pin ls. (@richardlitt)CI
make deps instead of gx directly. (@whyrusleeping)This is a patch release that fixes a few bugs, and adds a few small (but not insignificant) features. The primary reason for this release is the liste
This is a patch release that fixes a few bugs, and adds a few small (but not insignificant) features. The primary reason for this release is the listener hang bugfix that was shipped in the 0.4.0 release.
Features
Tool changes
General Codebase
Bugfixes
/ip6 addresses (@lgierth)Testing
Documentation
Nothing published for this version
The gateway path prefix added in v0.3.10 was vulnerable to cross-site scripting attacks. This release introduces a configurable list of allowed path p…
This is a major release with plenty of new features and bugfixes. It also includes breaking changes which make it incompatible with v0.3.x on the networking layer.
files command and API allow a program to interact with IPFS
using familiar filesystem operations, namely: creating directories,
reading, writing, and deleting files, listing out different directories,
and so on. This feature enables any other application that uses a
filesystem-like backend for storage, to use IPFS as its storage driver
without having change the application logic at all.go get. Use make install instead.TXT _dnslink.example.com, allows usage of CNAME records. (@Kubuxu)ipfs name publish when /ipns is mounted. (@noffle)ipfs add. (@whyrusleeping)Datastore.NoSync config option for flatfs. (@rht)ipfs add. (@whyrusleeping)ipfs repo stat command. (@tmg, @diasdavid)ipfs diag cmds to view active API requests (@whyrusleeping)IPFS_LOW_MEM environment variable which relaxes Bitswap's memory usage. (@whyrusleeping)ipfs/go-ipfs and has been completely reworked. (@lgierth)Gateway.PathPrefixes and takes a list of
strings, e.g. ["/blog", "/foo/bar"]. The v0.3.x line will not receive any
further updates, so please update to v0.4.0 as soon as possible. (@lgierth)make install instead of go get (@whyrusleeping)--type in ipfs pin ls is now all. (@chriscool)ipfs add size in background to not stall add operation. (@whyrusleeping)ipfs add include top-level hidden files. (@noffle)ipfs update error message. (@tomgg)ipfs pin rm without network lookup. (@noffle)--pin option to ipfs add, which defaults to true and allows --pin=false. (@eminence)ipfs pin ls. (@chriscool)dns and resolve commands to read-only API. (@Kubuxu)ipfs object links. (@palkeo)ipnsfs into a more generic and well tested mfs. (@whyrusleeping)object patch API to not store data in URL. (@whyrusleeping)ipfs add. (@whyrusleeping)Server header to API responses. (@Kubuxu)ipfs command. (@RichardLitt)*) to example.com. (@Kubuxu)/dns from ipfs dns command docs. (@lgierth)Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
This is the final ipfs version before the transition to v0.4.0. It introduces a few stability improvements, bugfixes, and increased test coverage.
This is the final ipfs version before the transition to v0.4.0. It introduces a few stability improvements, bugfixes, and increased test coverage.
Features
BugFixes
Tool Changes
General Codebase
Documentation
Testing
Nothing published for this version
Nothing published for this version
This patch update introduces the 'ipfs update' command which will be used for future ipfs updates along with a few other bugfixes and documentation im
This patch update introduces the 'ipfs update' command which will be used for future ipfs updates along with a few other bugfixes and documentation improvements.
Features
BugFixes
Tool Changes
ipfs cat on ipns path (@rht)General Codebase
Documentation
Testing
Note: this commit introduces fixed-period repo gc, which will trigger gc
after a fixed period of time. This feature is introduced now, disabled by
default, and can be enabled with ipfs daemon --enable-gc. If all goes well,
in the future, it will be enabled by default.
This patch update includes a good number of bugfixes, notably, it fixes builds on windows, and puts newlines between streaming json objects for a prop
This patch update includes a good number of bugfixes, notably, it fixes builds on windows, and puts newlines between streaming json objects for a proper ndjson format.
Features
Bugfixes
Tool Changes
ipfs ls --headers (v for verbose) (@rht)General Codebase
Documentation
Testing
This patch update includes changes to make ipns more consistent and reliable, symlink support in unixfs, mild performance improvements, new tooling fe
This patch update includes changes to make ipns more consistent and reliable, symlink support in unixfs, mild performance improvements, new tooling features, a plethora of bugfixes, and greatly improved tests.
NOTICE: Version 0.3.8 also requires golang version 1.5.1 or higher.
Bugfixes
Tool Changes
--local flag to 'name resolve' (@whyrusleeping)ipfs diag sys command for debugging help (@whyrusleeping)General Codebase
Documentation
Testing
This patch update fixes a problem we introduced in 0.3.6 and did not catch: the webui failed to work with out-of-the-box CORS configs. This has been f
This patch update fixes a problem we introduced in 0.3.6 and did not catch: the webui failed to work with out-of-the-box CORS configs. This has been fixed and now should work correctly. @jbenet
Deprecated: API_ORIGIN env var (use config, see ipfs daemon --help) @jbenet
This patch improves the resource consumption of go-ipfs, introduces a few new options on the CLI, and also fixes (yet again) windows builds.
Resource consumption:
Tool changes
ipfs daemon output with all addresses @jbenetipfs id -f output, added <addrs> and \n \t support @jbenetipfs swarm addrs local now shows the local node's addrs @jbenetipfs patch learned to create intermediate nodes @whyrusleepingipfs object stat now shows Hash @whyrusleepingipfs cat now clears progressbar on exit @rhtipfs add -w -r <dir> now wraps directories @jbenetipfs add -w <file1> <file2> now wraps with one dir @jbenetAPI_ORIGIN env var (use config, see ipfs daemon --help) @jbenetGeneral Codebase
nofuse tag for windows @Luziferipfs add code @gatesvpBugfixes
ipfs get -C output and progress bar @rhtipfs get silent failure @whyrusleepingipfs get tarx no longer times out @jbenetipfs refs -r -u is now correct @gatesvpipfs add -w -r <dir> wrapping bugs @jbenetipfs log tail command (api + cli) @whyrusleepingTesting
ipfs refs -r -u test cases @jbenetrandom-files tool for easier sharness tests @jbenetDocumentation
This patch improves overall stability and performance
This patch improves overall stability and performance
ipfs daemon --unrestricted-api option @krlfix ipns append bug @whyrusleeping
launchctl plist for OSX @grncdrpin ls output to show types @vitorbaptistaThis patch update fixes various issues, in particular:
This patch update fixes various issues, in particular:
Nothing published for this version
Nothing published for this version
This patch update implements multicast dns as well as fxing a few test issues.
This patch update implements multicast dns as well as fxing a few test issues.
* Alpha Release
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Your coding agent can read these notes before it upgrades. Set up the MCP server →