js-ipfs 0.39.0 released
by Alex Potsides on 2019-10-24
Configure your node with preset profiles! Limit outgoing browser requests! Start your node from fresh with one command!
🛠 Config profiles
IPFS now supports the
jsipfs config profile subcommand which you can use to update your configuration with certain presets suited for different use cases.
You can examine available profiles with the
jsipfs config profile ls command:
$ jsipfs config profile ls server: Recommended for nodes with public IPv4 address (servers, VPSes, etc.)... local-discovery: Sets default values to fields affected by `server` profile... test: Reduces external interference, useful for running ipfs in test environments... default-networking: Restores default network settings. Inverse profile of the `test` profile. lowpower: Reduces daemon overhead on the system. May affect node functionality... default-power: Inverse of "lowpower" profile.
Apply them with
jsipfs config profile apply:
$ jsipfs config profile apply lowpower ... output shows the difference between the old config and the new
You will need to restart your daemon for changes to take effect.
Profiles can also be applied on init:
$ jsipfs init --profile server
Or when starting the daemon (more on that in the ‘Init and start’ section below):
$ jsipfs daemon --init-profile server
🌐 Concurrent HTTP requests limited in the browser
Interacting with IPFS can cause a lot of preloading and other background requests to be made - most browsers can only have so many requests in flight to a single origin at once so this can cause requests to the same origins made outside of IPFS to take time as they wait their turn to be processed.
firstname.lastname@example.org, the concurrency of HTTP requests for DNS resolution and preloading are limited to ensure there are always connections available to speedily process requests made by users.
🌅 Init and start your daemon in one command
When a new user first starts up the IPFS daemon they’ve been greeted by an unfriendly message telling them to
init it first.
No longer! Now on first startup, the daemon will auto-init its repo, removing a tiny bit of friction from getting on to the distributed web. 🙌
block rm now supported over the HTTP API
Previously this command only worked with the daemon turned off, now you can use the low level
jsipfs block rm command with the daemon running.
N.b. it’s rare that you would need to use this command, a more common approach would be to call
jsipfs repo gc instead which removes all non-pinned blocks from your IPFS repo.
🏗 API Changes
ipfs.config.profiles.list([options])has been added
ipfs.config.profiles.apply(name, [options])has been added
ipfs.block.rm(cid, [options])now works over the HTTP API
❤️ Huge thank you to everyone that made this release possible
By alphabetical order, here are all the humans that contributed to the release:
- @achingbrain (73 commits, 23 PRs, 4 issues, 64 comments)
- @alanshaw (2 PRs, 1 issue, 14 comments)
- @alx696 (1 issue, 1 comment)
- @aschmahmann (1 issue)
- @AuHau (6 commits, 6 PRs, 1 issue, 10 comments)
- @autonome (2 comments)
- @betamos (1 commit, 1 PR, 1 comment)
- @csuwildcat (1 commit, 1 PR)
- @cwaring (2 comments)
- @daviddias (2 commits, 1 PR, 3 issues, 50 comments)
- @dirkmc (1 commit)
- @guoliu (1 issue, 1 comment)
- @hacdias (2 commits, 1 PR, 1 comment)
- @hazae41 (1 comment)
- @hugomrdias (8 commits, 10 PRs, 1 issue, 16 comments)
- @iiska (1 commit, 1 PR)
- @its-VSP (1 comment)
- @jacobheun (2 commits, 4 PRs, 2 issues, 14 comments)
- @javaadpatel (1 issue)
- @kpp (2 issues, 3 comments)
- @lidel (1 commit)
- @mikeal (9 comments)
- @mkg20001 (2 comments)
- @momack2 (1 comment)
- @npfoss (2 issues, 5 comments)
- @oed (2 issues, 3 comments)
- @orpheus (2 comments)
- @pashoo2 (2 issues, 1 comment)
- @PedroMiguelSS (1 commit, 3 PRs)
- @prayaglehana (2 comments)
- @ptoner (3 comments)
- @reasv (1 issue, 5 comments)
- @rumkin (1 issue)
- @tapaswenipathak (3 comments)
- @vasco-santos (9 commits, 1 PR, 9 comments)
- @vaultec81 (1 issue, 2 comments)
- @vincepmartin (1 commit, 1 PR, 1 issue, 4 comments)
- @vmx (5 comments)
- @yehia67 (1 comment)
- @Ziwei-Wei (1 comment)
🙌🏽 Want to contribute?
Would you like to contribute to the IPFS project and don’t know how? Well, there are a few places you can get started:
- Check the issues with the
help wantedlabel in the js-ipfs repo
- Join an IPFS All Hands, introduce yourself and let us know where you would like to contribute - https://github.com/ipfs/team-mgmt/#weekly-ipfs-all-hands
- Hack with IPFS and show us what you made! The All Hands call is also the perfect venue for demos, join in and show us what you built
- Join the discussion at http://discuss.ipfs.io/ and help users finding their answers.
- Join the 🚀 IPFS Core Implementations Weekly Sync 🛰 and be part of the action!