v0.30.0
What's Changed
Added
- Control over UnixFS DAG Width
- We have made some changes to allow setting custom max width of UnixFS DAGs. This enables users to produce DAGs that follow current and future community conventions (see the related discussion).
ipld/unixfs:DagModifiernow allows specifying file DAG Width (MaxLinks) #898ipld/unixfs/io/directory: We have made some changes to unixfs directory tooling #906- We have exposed creator methods for new
BasicDirectoryandHAMTDirectory, that complement the existingNewDirectory()which creates dynamic directories. - We have added
WithCidBuilder(...),WithMaxLinks(...),WithMaxHAMTFanout(...)andWithStat(...)as options to these new methods so that empty directories can be initilized as wished from the get-go. WithMaxLinks(...)andWithMaxHAMTFanout(...)are new options that allow to set a limit to the number of children that a directory DAG node can have. For details on what they exactly do for each of the directory type, please check the documentation.
- We have exposed creator methods for new
mfssupports as well the newMaxLinksandMaxHAMTFanoutoptions. They have been made part of theMkdirOptionsobject and the methodsNewEmptyDirectory()andNewEmptyRoot()have been added to facilitate the initialization of MFS objects. #906
provider: added support for walking partial DAGs in offline mode #905- a
KeyChanFuncthat traverses DAGs from a given root (NewDAGProvider). - a
KeyChanFuncthat buffers all the CIDs in memory from anotherKeyChanFunc(NewBufferedProvider). fetcher/impl/blockservice: new optionSkipNotFoundfor the IPLD fetcher. It will skip not found nodes when traversing the DAG. This allows offline traversal of DAGs when using, for example, an offline blockservice.- This enables use case of providing lazy-loaded, partially local DAGs (like
ipfs filesin Kubo's MFS implementation, see kubo#10386)
- a
gateway: generated HTML with UnixFS directory listings now include a button for copying CIDs of child entities #899bitswap/server: Add ability to enable/disable bitswap server usingWithServerEnabledbitswap option (#911)[https://github.com//pull/911]
Changed
- upgrade to
go-libp2pv0.41.1 bitswap/network: Add a newrequests_in_flightmetric gauge that measures how many bitswap streams are being written or read at a given time.- improve speed of data onboarding by batching/bufering provider queue writes #888
provider: providing queue is now independent from reprovides, speeding up initial provides #907- renamed
provider.ReproviderStats.TotalProvides=>provider.ReproviderStats.TotalReprovides - renamed
provider.ReproviderStats.AvgProvideDuration=>provider.ReproviderStats.AvgReprovideDuration
- renamed
provider/queuededuplicates CIDs #910
Fixed
gateway: query parameters are now supported and preserved in redirects triggered by a_redirectsfile #886provider: adjusted first reprovide timing after node reboot #890gateway: validate configuration and warn whenUseSubdomains=trueis used with IP-based hostnames #903
Full Changelog: v0.29.1...v0.30.0
This release was brought to you by the Shipyard team.
