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-change
is 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.mv
is 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
waitForRootDid
retry issues. The function did not make enough attempts nor did it make them frequently enough. - Moves
shareLink
function tocommon/fission
for 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
depot
component: 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
reference
component: Data root lookups & updating, DID root lookups, DNS and various repositories (cid log & UCANs) have been moved in here. - Introduction of a
manners
component: Debug functionality has moved to here. - Introduction of a
capabilities
components: Responsible for accepting UCANs and filesystem secrets from external sources (eg. Fission Lobby)
Improvements
- The
program
function now serves as the single entrypoint. You can customise all components and configuration via this function. It'll give you aProgram
with possibly aSession
(and many other things) instead of theState
we 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
Uint8Array
s now. - Removal of the
webnative.initialise
,app
andpermissionedApp
functions. These have been replaced by theprogram
function mentioned above. - Removal of the
fs.appPath
function, replaced with theappData
function located in the path module. - Removal of the
fs.addPublicExchangeKey
andfs.hasPublicExchangeKey
functions, 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 Function
when 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
lookupDnsLink
function - Fixes an issue with IPFS peer-list storage
- Removes Vite warning caused by a dynamic import
- Fixes dependency-injected
PRs
- Fix DI
lookupDnsLink
function by @bgins in #417 - Improve peer list storage by @icidasset in #415
Full Changelog: 0.34.0...0.34.1