Skip to content
This repository was archived by the owner on Mar 28, 2023. It is now read-only.

v0.9.3

Choose a tag to compare

@hoffmabc hoffmabc released this 13 Oct 23:21
· 2473 commits to master since this release

Release Notes

The major change in this release is a rebase to IPFS v0.4.11. This release comes with a number of performance optimizations that will hopefully reduce some issues we the "too many files open" bug. Additionally we created code to programatically attempt to increase the file descriptor limit which seems to be working well across the various UNIX OSs. This bug was likely affecting performance creating and saving listings as well as downloading messages from the network.

Further, the data "pushing" has been refactored. Instead of using HTTP, data is now pushed to other nodes using libp2p messaging and the message flow has been optimized. The result is data pushing should consume less resources for both nodes. Additionally, there is a new DataSharing object in the config file. AcceptStoreRequests controls whether your node will allow other nodes to push data to you and PushTo is a list of peerIDs of nodes you want to push your data to. In the future we will probably allow discovery of peers which accept data pushes and allow nodes more control over what type of data they accept.

You'll also find a new UsePersistentCache option in the IPNS config object. This controls whether to save IPNS records to disk and return them when the data cannot be found in the DHT. Normally you want this set to true, however if you're crawling listings you probably want to set it to false to make sure expired content is not returned in search results (for example).

A RepublishInterval config option has been added with a default set to 24h. The primary issue we have with IPFS is there is a trade off between number of seeders and up-to-date content. Where possible we try to avoid automatic republishes which breaks the caching of some content. This config option let's you set how frequently your node will republish your content, potentially breaking your caching. Set it to "" to turn off automatic republishing.

Finally the Import API is now functional and can be used to bulk import listings from a CSV file. If you're importing more than a thousand listings expect it to use a good deal of memory. There is still a lot of room for optimization.

Changelog

  • Enhancements
    #701 IPFS Rebase
    #714 Add logging options
    #720 FEATURE: Add ulimit_linux.go
    #722 Complete IPFS rebase
    #723 Add RepublishInterval config option
    #724 Verbose
    #726 TWEAK: Make Docker build version default to latest git tag.

  • Refactoring
    #711 Refactor data sharing

  • Bug Fixes
    #707 BUGFIX: Fix concurrent map writes.
    #713 Update spvwallet dependency
    #716 Lock publishes on startup
    #725 Fix bug in following

  • Docs
    #709 Change Go version and typo
    #718 Renaming the client cert file