v0.13.0
Breaking changes
- The
bzz-related packages have been refactored, the@erebos/api-bzz-base,@erebos/api-bzz-browserand@erebos/api-bzz-nodepackages are discontinued and should be replaced by@erebos/bzz,@erebos/bzz-browser,@erebos/bzz-node,@erebos/bzz-feedand@erebos/bzz-fsdepending on the use cases, see below. - The
@erebos/api-psspackage has been renamed to@erebos/pssfor consistency with thebzz-related packages. - In the
@erebos/timelinepackage, thedecodeoption has been removed fromTimelineReaderConfigand theencodeoption fromTimelineWriterConfig, instead theread()andwrite()methods could be overwritten to cover the use case. - The
createHex()function has been removed from@erebos/hex,Hex.from()should be used instead. - The
@erebos/feed-listand@erebos/timelinepackages classes now need to be injected aBzzFeedinstance.
Bzz packages changes
One goal for Erebos has been to stay quite low-level, at least for the core packages interacting with Swarm.
As the bzz-related packages have been growing over the past releases, it's been time to reconsider how to best organize them:
- Support for Swarm feeds requires additional dependencies such as
@erebos/hex,@erebos/keccak256andrxjsthat can be an additional burden for apps that don't need feeds, so all the feed-related methods have been extracted to the@erebos/bzz-feedpackage. @erebos/api-bzz-nodeprovided additional methods to interact with the file system. These methods are now provided by the dedicated@erebos/bzz-fspackage.- The
@erebos/bzzpackage can now be used directly in browsers. However, it does not provide thedownloadDirectory()anduploadDirectory()methods added in the@erebos/bzz-browserand@erebos/bzz-nodepackages.
So what package should you use?
- If you use node:
@erebos/bzz-node - Target a browser environment?
- If you need to use the
downloadDirectory()oruploadDirectory()method:@erebos/bzz-browser - Otherwise:
@erebos/bzz
- If you need to use the
- Use React Native?
- Try the experimental
@erebos/bzz-react-native - Extend
@erebos/bzzas needed
- Try the experimental
- For any other environment, try extending
@erebos/bzz
If you need to interact with feeds, use @erebos/bzz-feed.
If you want to interact with the file sytem when using node, the @erebos/bzz-fs package provides the utility methods previously implemented in @erebos/api-bzz-node.
New package
The @erebos/doc-sync package has been added, allowing to synchronize JSON documents.