- Fix: Don't allow setting values wihtout a 'key'
- Fix: Ensure that linkProfile only happens once
- Fix: Import keys in correct format
- Fix: Throw error on openSpace if user denies consent
- Fix: Return correct timestamp format in metadata
- Docs: Updated documentation for idUtils, and added better general api description
- Feature: Add ability to get metadata for entries
- Feature: Add idUtils helper functions
- Feature: Send along DID when opening db with pinning node
- Fix: Use correct key when subscribing to thread in a space.
- Fix: Add elliptic library to dependencies
- Feature: Experimental support for threads
- Feature: Add support for DIDs in getProfile and getSpace
- Fix: Handle errors in getProfile correctly
- Fix: Better logic for linking profile to ethereum address
- Fix for profiles/stores in Trustwallet, now expected stores will be created and loaded
- Add support for getting public space data
- Add support for listing spaces of a user
- Properly format ETH-RPC calls
- New functions for adding a verified email credential
- Spaces feature, allows dapps to request access to compartments of the users 3Box which only dapps which the user has given explicit permission to can read/write
- 3Box is now able to run completely offline
- Added a more lightweight module for accessing getProfile and related api methods
- Updates to network logic for stability
- Fixes a bug where more entries locally compared to the pinning node would result in onSyncDone not getting called.
- Fixes bug in getVerifiedAccounts to work with earlier accounts #258
- Fix to allow openBox to be called with no options
- Replace bip39 dependency with more lightweight ethers.js dependency
- Removes stale lib files during build
- Modify example to work in additional environments including github pages
- Implemented new "verified" api that checks and verifies various claims
- Reconnects to pinning node if connection is lost
- Disabled local cache iframe because it caused inconsistent behaviour
- Simplified syncing logic
- Fixed bug in getProfile #248
- Local cache using an iframe IPFS and OrbitDB data is now shared between dapps. The data is now stored in an iframe instead of being replicated between each dapp.
- Network cache When syncing public profiles of users a centralized caching service is now used by default. This speeds up the process of getting multiple public profiles at once. This feature can be disabled in favor for the decentralized approach.
- GraphQL queries It's now possible to encode GraphQL queries for public profiles. This allows for queries of only the relevant information of profiles.
- Ethereum address proof The proof that links users ethereum address to their 3Box profile is now stored in their 3Box.
Improve error handling Publish DID in public profile Doc fixes and cleanup
Bug fixes:
- running getProfile in node
- libp2p bootstrap config errors
Added example for getProfile Some bug fixes:
- getProfile can now handle mixed case addresses
- getProfile now connects to the pinning node directly
Fixed dependency bug build
Fixed bug in getProfile
Fixed bug where private data was disappearing after being added.
Change dist name output ThreeBox -> Box to match export name
The first official release of 3box!