Configure your node with preset profiles! Limit outgoing browser requests! Start your node from fresh with one command!
# 🔦 Highlights
# 🛠 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 (opens new window) 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.
As of ipfs@0.39.0
, 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])
(opens new window) has been addedipfs.config.profiles.apply(name, [options])
(opens new window) has been addedipfs.block.rm(cid, [options])
(opens new window) 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 (opens new window) (73 commits, 23 PRs, 4 issues, 64 comments)
- @alanshaw (opens new window) (2 PRs, 1 issue, 14 comments)
- @alx696 (opens new window) (1 issue, 1 comment)
- @aschmahmann (opens new window) (1 issue)
- @AuHau (opens new window) (6 commits, 6 PRs, 1 issue, 10 comments)
- @autonome (opens new window) (2 comments)
- @betamos (opens new window) (1 commit, 1 PR, 1 comment)
- @csuwildcat (opens new window) (1 commit, 1 PR)
- @cwaring (opens new window) (2 comments)
- @daviddias (opens new window) (2 commits, 1 PR, 3 issues, 50 comments)
- @dirkmc (opens new window) (1 commit)
- @guoliu (opens new window) (1 issue, 1 comment)
- @hacdias (opens new window) (2 commits, 1 PR, 1 comment)
- @hazae41 (opens new window) (1 comment)
- @hugomrdias (opens new window) (8 commits, 10 PRs, 1 issue, 16 comments)
- @iiska (opens new window) (1 commit, 1 PR)
- @its-VSP (opens new window) (1 comment)
- @jacobheun (opens new window) (2 commits, 4 PRs, 2 issues, 14 comments)
- @javaadpatel (opens new window) (1 issue)
- @kpp (opens new window) (2 issues, 3 comments)
- @lidel (opens new window) (1 commit)
- @mikeal (opens new window) (9 comments)
- @mkg20001 (opens new window) (2 comments)
- @momack2 (opens new window) (1 comment)
- @npfoss (opens new window) (2 issues, 5 comments)
- @oed (opens new window) (2 issues, 3 comments)
- @orpheus (opens new window) (2 comments)
- @pashoo2 (opens new window) (2 issues, 1 comment)
- @PedroMiguelSS (opens new window) (1 commit, 3 PRs)
- @prayaglehana (opens new window) (2 comments)
- @ptoner (opens new window) (3 comments)
- @reasv (opens new window) (1 issue, 5 comments)
- @rumkin (opens new window) (1 issue)
- @tapaswenipathak (opens new window) (3 comments)
- @vasco-santos (opens new window) (9 commits, 1 PR, 9 comments)
- @vaultec81 (opens new window) (1 issue, 2 comments)
- @vincepmartin (opens new window) (1 commit, 1 PR, 1 issue, 4 comments)
- @vmx (opens new window) (5 comments)
- @yehia67 (opens new window) (1 comment)
- @Ziwei-Wei (opens new window) (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 wanted
label in the js-ipfs repo (opens new window) - 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.tech/ and help users finding their answers.
- Join the 🚀 IPFS Core Implementations Weekly Sync 🛰 (opens new window) and be part of the action!
# ⁉️ Do you have questions?
The best place to ask your questions about IPFS, how it works and what you can do with it is at discuss.ipfs.tech (opens new window). We are also available at the #ipfs
channel on Freenode and Matrix (opens new window)