Releases: oddsdk/ts-odd
Release 0.37.0
What's Changed
- Bump undici from 5.12.0 to 5.19.1 by @dependabot in #497
- Add browser extension support by @bgins in #504
- Move events onto top-level program and rename them. For example, the
local-changeis nowfileSystem:local-change. @bgins in #504 - Add session create and destroy events. @bgins in #504
- Rename webnative to odd by @bgins in #506
Full Changelog: 0.36.3...0.37.0
Release 0.36.3
What's Changed
- Fix & re-enable rs-wnfs integration tests by @matheus23 in #495
- Parse DAG-JSON CIDs by @icidasset in #496
Full Changelog: 0.36.2...0.36.3
Release 0.36.2
What's Changed
- Allow symlinks to other file systems to be created by @icidasset in #490
Full Changelog: 0.36.1...0.36.2
Release 0.36.1
Release 0.36.0
What's Changed
- Avivash/File System Recovery Shorthand Method by @avivash in #461
- Add shorthand accountDID method by @icidasset in #463
- Remove fs.add and fs.cat by @icidasset in #465
- Add file system data functions as shorthand methods by @icidasset in #464
- Use stricter types for path creation by @icidasset in #466
- Fixes #471 by @icidasset in #473
- Add event emitter interface and two file system events by @icidasset in #469
- Inject debug programs in globalThis context by @icidasset in #476
- Better types for getting the parent of a path by @icidasset in #478
- Improve Program type by @icidasset in #479
fs.mvis a mutation by @icidasset in #481- Rename 'published' event to 'publish' by @icidasset in #485
New Contributors
Full Changelog: 0.35.2...0.36.0
Release 0.35.2
Changelog
Fixes issue with the types of the path.appData function. Now has the correct overloads.
Release 0.35.1
Changelog
- Fixes
waitForRootDidretry issues. The function did not make enough attempts nor did it make them frequently enough. - Moves
shareLinkfunction tocommon/fissionfor reachability. - Improve capabilities documentation.
Release 0.35.0
Full rewrite of webnative. 🎉
Components
We've moved to a component system to make webnative more customizable and indepent of Fission infrastructure. The system removes all global state, avoiding bundler issues. We previously had dependency injection; this is basically more of the same without global state.
The documentation should give you some information on how the various components fit together. If you want to write implementations for a component, see the directories in src/components (or the lib folder). All existing components have been expanded and refactored, and we've introduced the following:
- Introduction of a
depotcomponent: All IPFS functionality has been moved into here. Can now be swapped out with something else. Note that webnative still uses CIDs & IPLD. - Introduction of a
referencecomponent: Data root lookups & updating, DID root lookups, DNS and various repositories (cid log & UCANs) have been moved in here. - Introduction of a
mannerscomponent: Debug functionality has moved to here. - Introduction of a
capabilitiescomponents: Responsible for accepting UCANs and filesystem secrets from external sources (eg. Fission Lobby)
Improvements
- The
programfunction now serves as the single entrypoint. You can customise all components and configuration via this function. It'll give you aProgramwith possibly aSession(and many other things) instead of theStatewe had before. Basically, when you get a session you're "logged in", otherwise you're not. - Webnative can now have many apps run on the same domain without any conflicts. This should help a lot when developing apps on the same localhost port. All storage and filesystems are namespaced by default.
- When loading a filesystem the data root is tried multiple times (to get around the DNS issue)
- Multiple filesystems can be loaded at the same time (conflicts with identifiers have been resolved), which allows for a temporary filesystem (progressive login).
(Re)moved
- Removal of various confusing filesystem parameters, all data and read keys are
Uint8Arrays now. - Removal of the
webnative.initialise,appandpermissionedAppfunctions. These have been replaced by theprogramfunction mentioned above. - Removal of the
fs.appPathfunction, replaced with theappDatafunction located in the path module. - Removal of the
fs.addPublicExchangeKeyandfs.hasPublicExchangeKeyfunctions, replaced with non-class-instance functions located infs/data.js.
Release 0.34.2
Changelog
- Bugfixes 🐛
- Fixes
LinkError: import object field '__wbg_putBlock_88cdb3be9020efb7' is not a Functionwhen loading WASM.
- Fixes
PRs
- Fix: Resolve exact wnfs version in unpkg by @matheus23 in #419
Full Changelog: 0.34.1...0.34.2
0.34.1
Changelog
- Bugfixes 🐛
- Fixes dependency-injected
lookupDnsLinkfunction - Fixes an issue with IPFS peer-list storage
- Removes Vite warning caused by a dynamic import
- Fixes dependency-injected
PRs
- Fix DI
lookupDnsLinkfunction by @bgins in #417 - Improve peer list storage by @icidasset in #415
Full Changelog: 0.34.0...0.34.1