IPFS is a new hypermedia distribution protocol, addressed by content and identities, aiming to make the web faster, safer, and more open. In these posts, we highlight some of the development that has happened in the past week. For anyone looking to get involved, follow the embedded hyperlinks, search the wealth of information on GitHub or join us on IRC (#ipfs on the Freenode network).
If you would like to get this update as an email, sign up for our weekly newsletter (opens new window)!
This is a double weekly: here are some of the highlights for the January 12th and the January 19th (opens new window) sprints:
# Updates
dist.ipfs.tech (opens new window) A distributions page has been shipped! This was largely spearheaded by @dignifiedquire. This is the new one-stop-shop for finding and downloading all official binaries that IPFS produces. Each project has:
- The distribution name and a short description;
- The current version number and release date;
- A download button that detects your platform and automatically suggests the appropriate distribution for you;
- A grid with download links for all supported platforms (operating system and architectures);
- A
Changelog
, a link to a summary of all version changes; - An
All Versions
, a link to view and download previous versions.
The site is also hosted on IPFS, and is used by
ipfs-update
(opens new window) to update IPFS. Check it out at http://dist.ipfs.tech.go-ipfs 0.3.11 is shipped! Also, we merged 0.4.0 into master. @jbenet, @Dignifiedquire and others fixed appveyor. And finally the latest webui by @Dignifiedquire was pushed in 0.3.11. Check out the changelog (opens new window).
js-ipfs-merkle-dag @diasdavid worked on merkle-dag implementation interoperabolity, by enabling you to successfully read (and write) MerkleDAG nodes that were stored into an IPFS Repo through go-ipfs, in JavaScript (opens new window).
py-ipfs Thanks to @candeira and @ivilata, we now have a much more filled out plan for the Python implementation of IPFS. Join in if you are a pythonista.
js-mafmt @whyrusleeping is working on a multiaddr validator in js, after his go work in mafmt
infrastructure The public gateway at ipfs.io (opens new window) is now backed by both v0.4.0-dev and v0.3.11 at the same time. Requests are proxied to both, and the first successful response wins. ipfs.io will be backed by v0.4.x alone eventually. What this means is that if you want to target your requests at one specific version, use v04x.ipfs.io or v03x.ipfs.io, respectively. The latter will stop returning DNS records when v03x isn't supported on the public gateway. Also, while we're releasing v0.4.0 and for a while after, the default bootstrap nodes are divided among v03x and v04x. Most can be used by v04x nodes, and a few by v03x nodes. The latter will be phased out over time.
ipfs-firefox-addon The Firefox addon that provides transparent access to IPFS resources via local HTTP2IPFS gateway has been updated to release 1.4.2 (opens new window). This is the first time we've mentioned this in this newsletter; go check it out. The addon enables you to load content via IPFS instead of HTTP. For example, if you open a resource from a public gateway (eg. https://ipfs.io/ipfs/QmW2WQi7j6c7UgJTarActp7tDNikE4B2qXtFCfLPdsgaTQ/cat.jpg) and have addon enabled, the request will not hit public gateway, but data will be loaded from IPFS swarm, in a decentralized and distributed way. It also now supports the IPFS protocol scheme, meaning that can look up a hash by going to
fs:/ipfs/<hash>
directly.go-multiaddr go-multiaddr now supports the adding of new protocols on the fly. This allows us to build in new protocols without having to force everyone to update the multiaddr library itself.
community The labels 'help wanted' and 'difficulty:easy', ':hard', and ':moderate' have been added to every IPFS repository, to help out contributors know what are some low-hanging fruit they can help with. As well, @RichardLitt has created a Docs Styleguide (opens new window) to help standardize how we use English in all of our tools. It'll grow as time goes on.
ipfs-dht @whyrusleeping wrote a 'just a dht' binary. This means you can help out the network without running a full ipfs node. It also takes less memory and bandwidth, and having more dht nodes will speed up lookups.
js-ipfsd-ctl The Node module able to control an IPFS daemon was updated to 0.3.11.
webui The webui no long depends on jQuery, thanks to a lot of work from @luigiplr, @travisperson, and @dignifiedquire.
# Work in Progress
- js-ipfs @diasdavid has merged in the roadmaps for js-ipfs and libp2p, which he'll update as more details become apparent. Take a look.
- weekly @RichardLitt put a lot of work in getting various sorts of attribution for contributors to IPFS, currently available as name-your-contributors. This is almost done, but there are a few tweaks left to do.
# Meetups and Conferences
- ArcticJS (opens new window) @diasdavid, @whyrusleeping, @RichardLitt, and @noffle were all able to meet up for the first time as a group and hack together at ArcticJS (opens new window), the first JavaScript conference above the Arctic circle, in Svalbard. Around 15 attended, and there was a lot of hacking, snow, talking about buffers, and swimming in the ocean at midnight underneath the Aurora Borealis (no, really). Most of the work done at the conference was conversations, but included @diasdavid and @RichardLitt working on the API together, @whyrusleeping learning how to javascript, and @diasdavid and @xicombd working on IPFS together. All in all, it was an incredible trip. The videos for the actual talks (given in the most Northernmost church in the world) are here (opens new window).
# Shoutouts
- Joe Armstrong, inventor of Erlang, mentioned (opens new window) the importance of permanence and IPFS in a recent, and fantastic series of posts about organizing software (opens new window). Thanks for the kind mention, Joe!
# Contributors
Across the entire IPFS GitHub organization, the following people have committed code, created issues, or made a comment on GitHub between January 11th and January 25. (We're autogenerating this list using this tool, so please let us know if your name isn't here.)
- @adrian-bl (Adrian Ulrich)
- @alexeicolin
- @ali (Ali Ukani)
- @amstocker (Andrew Stocker)
- @anarcat (anarcat)
- @ansuz (ansuz)
- @Ape (Lauri Niskanen)
- @area
- @AtnNn (Etienne Laurin)
- @Azulan (Frank Flores)
- @Balancer (Balancer)
- @bcg-didi
- @benjaminbollen (Benjamin Bollen)
- @brailateo (Constantin Teodorescu)
- @btrask (Ben Trask)
- @CaioAlonso (Caio Alonso)
- @chpio
- @chriscool (Christian Couder)
- @ConsciousCode (Conscious Code)
- @CrowdHailer (Peter Saxton)
- @dandart (Dan Dart)
- @david415 (David Stainton)
- @davidar (David A Roberts)
- @diasdavid (David Dias)
- @digital-dreamer
- @dignifiedquire (Friedel Ziegelmayer)
- @djdv (Dominic Della Valle)
- @dylanPowers (Dylan Powers)
- @eminence (Andrew Chin)
- @Faleidel
- @fazo96 (Enrico Fasoli)
- @findkiko
- @Foxcool (Alexander Babenko)
- @GitCop
- @goog (Jay Cheng)
- @greenkeeperio-bot (Greenkeeper)
- @harlantwood (Harlan T Wood)
- @ikreymer (Ilya Kreymer)
- @jbenet (Juan Benet)
- @jbshirk (Joe)
- @jedahan (Jonathan Dahan)
- @Kubuxu (Jakub Sztandera)
- @kyledrake (Kyle Drake)
- @lgierth (Lars Gierth)
- @lidel (Marcin Rataj)
- @lovelaced
- @luigiplr (Luigi Poole)
- @Luzifer (Knut Ahlers)
- @matshenricson (Mats Henricson)
- @MChabez
- @Mec-iS (Lorenzo)
- @MichaelMure (Michael Muré)
- @mildred (Mildred Ki'Lya)
- @Mithgol
- @NDuma (NDuma)
- @NeoTeo (Teo Sartori)
- @nginnever (Nathan Ginnever)
- @nicola (Nicola Greco)
- @NightRa (Ilan Godik)
- @noffle (Stephen Whitmore)
- @Patagonicus (Philipp Adolf)
- @peerchemist
- @peteygao (Peter Gao)
- @PlanetPlan
- @pra85 (Prayag Verma)
- @prusnak (Pavol Rusnak)
- @ralphtheninja (Lars-Magnus Skog)
- @ReadmeCritic
- @Red5d
- @reit-c
- @rht
- @RichardLitt (Richard Littauer)
- @richardschneider (Richard Schneider)
- @rugk (rugk)
- @SCBuergel (Sebastian C. Bürgel)
- @seclorum (seclorum)
- @thelinuxkid (Andres Buritica)
- Thomas Gardner
- @travisperson (Travis Person)
- @tv42 (Tommi Virtanen)
- @void4
- @WeMeetAgain (Cayman)
- @whyrusleeping (Jeromy Johnson)
- @windemut
- @wking (W. Trevor King)
- @xicombd (Francisco Baio Dias)
- @zignig (Simon Kirkby)
Thanks, and see you next week! If you have cool things to share for the next weekly, drop us a line in the next weekly sprint issue!
- Richard Littauer and Andrew Chin
Submit feedback about this issue here, or send us feedback about the IPFS Weekly in general.