1 | # Changelog
|
2 |
|
3 | ### v0.26.0
|
4 |
|
5 | - Export maps, you can now import `webnative/path` instead of `webnative/dist/path`
|
6 | - Move library files from `dist` to `lib`
|
7 | - Use a better and faster build system
|
8 | - Fix issues with `Buffer`
|
9 | - Switch from the borc library to cborg
|
10 |
|
11 |
|
12 | ### v0.25.2
|
13 |
|
14 | Typescript output to `dist/` instead of `dist/src/`
|
15 |
|
16 |
|
17 | ### v0.25.1
|
18 |
|
19 | Fix naming for minified UMD build
|
20 |
|
21 |
|
22 | ### v0.25.0
|
23 |
|
24 | - Allow raw UCANs
|
25 | - Expose functions for looking up stored UCANs
|
26 | - Add function to look up user's root DID
|
27 | - Default browser build to minified UMD
|
28 | - Build CJS & ES5 for node
|
29 |
|
30 |
|
31 |
|
32 | ### v0.24.2
|
33 |
|
34 | Fixed issue with browser detection, didn't work in web/service workers.
|
35 |
|
36 |
|
37 | ### v0.24.1
|
38 |
|
39 | Fix a couple of bugs in dependency injection
|
40 |
|
41 |
|
42 | ### v0.24.0
|
43 |
|
44 | - Dependency injection for crypto and storage functions to allow for use in Node.js
|
45 | - Fix race condition in private tree that would occasionally drop filesystem nodes
|
46 | - Improved path management (`webnative.path` module)
|
47 | - Add support for Ed25519 & BLS DIDs
|
48 | - Allow permissioning of files
|
49 |
|
50 |
|
51 |
|
52 | ### v0.23.2
|
53 |
|
54 | Don't keep old UCANs around.
|
55 |
|
56 |
|
57 | ### v0.23.1
|
58 |
|
59 | More detailed error message for NoPermissionError.
|
60 |
|
61 |
|
62 | ### v0.23.0
|
63 |
|
64 | - **UCAN permission system and improved security**.
|
65 | - Show alert when leaving the page while publishing changes, to avoid data loss.
|
66 | - Fix issue with urls that were too long while redirecting back from the lobby.
|
67 | - Better usage of the `Ucan` type in the UCAN functions.
|
68 | - Data root update function returns `{ success }` boolean.
|
69 | - Improved username validation
|
70 |
|
71 |
|
72 |
|
73 | ### v0.21.5
|
74 |
|
75 | Fix regex of username validation and allow non-prefixed underscores in usernames.
|
76 |
|
77 |
|
78 | ### v0.21.4
|
79 |
|
80 | Does not cancel data-root updates anymore, slightly increasing the performance of concurrent writes.
|
81 |
|
82 |
|
83 | ### v0.21.3
|
84 |
|
85 | - IPFS connection and pinning improvements
|
86 | - Don't show the "failed to update dnslink" debug message when cancelling a dnslink update
|
87 |
|
88 |
|
89 | ### v0.21.2
|
90 |
|
91 | - `fs.mv` will no longer overwrite existing files, but instead throw an error.
|
92 | - `initialise` will return a rejected Promise if the browser, or context, is not supported.
|
93 | - DNSLink updated debug statement will no longer be shown if it failed to update.
|
94 | - Hide iframe completely
|
95 |
|
96 |
|
97 | ### v0.21.1
|
98 |
|
99 | Fix issue with `leave` function, `withoutRedirect` option should not be required.
|
100 |
|
101 |
|
102 | ### v0.21.0
|
103 |
|
104 | Local IPFS data is shared across all browser tabs through the use of a shared web worker.
|
105 |
|
106 |
|
107 |
|
108 | ### v0.20.5
|
109 |
|
110 | Adds the `read` and `write` methods to trees.
|
111 |
|
112 |
|
113 | ### v0.20.4
|
114 |
|
115 | Fix `mv` issue.
|
116 |
|
117 |
|
118 | ### v0.20.3
|
119 |
|
120 | Re-enable the `mv` filesystem function.
|
121 |
|
122 |
|
123 | ### v0.20.2
|
124 |
|
125 | Fixed dependency loading issue.
|
126 |
|
127 |
|
128 | ### v0.20.1
|
129 |
|
130 | Added versioning info to the README.
|
131 |
|
132 |
|
133 | ### v0.20.0
|
134 |
|
135 | - Adds versioning
|
136 | - Allows for concurrent filesystem operations
|
137 |
|
138 |
|
139 |
|
140 | ### v0.19.12
|
141 |
|
142 | - Adds facts `fct` to the UCANs (v0.3.1)
|
143 | - Update IPFS to v0.51.0
|
144 |
|
145 |
|
146 | ### v0.19.11
|
147 |
|
148 | - Fixes `isUsernameAvailable` function (was broken due to adjusted `dataRoot.lookup` behaviour)
|
149 | - Fixes issue with clearing data from browser.
|
150 | - Tries reconnecting to Fission gateway if initial connection fails
|
151 | - Removes `yarn` as a dependency (should've been devDependency)
|
152 |
|
153 |
|
154 | ### v0.19.10
|
155 |
|
156 | Support the decoding of the url-safe base64 encoded read-key from the auth lobby.
|
157 |
|
158 |
|
159 | ### v0.19.9
|
160 |
|
161 | The expiration timestamp of a UCAN cannot exceed that of its proof.
|
162 |
|
163 |
|
164 | ### v0.19.8
|
165 |
|
166 | Bugfix: clear all data when using the `leave` function.
|
167 |
|
168 |
|
169 | ### v0.19.7
|
170 |
|
171 | Bugfix: updates to files on public side were failing.
|
172 |
|
173 |
|
174 | ### v0.19.6
|
175 |
|
176 | Bugfix: changes to public tree were not being reflected in pretty tree.
|
177 |
|
178 |
|
179 | ### v0.19.5
|
180 |
|
181 | Don't error on failed pins.
|
182 |
|
183 |
|
184 | ### v0.19.2
|
185 |
|
186 | Do not recursively pin content.
|
187 |
|
188 |
|
189 | ### v0.19.1
|
190 |
|
191 | Permissions should be optional for `redirectToLobby` and `loadFileSystem` as well.
|
192 |
|
193 |
|
194 | ### v0.19
|
195 |
|
196 | - Reliability & performance improvements
|
197 | - Permissions are now optional
|
198 |
|
199 |
|
200 |
|
201 | ### v0.18.1
|
202 |
|
203 | Added proofs to JWT for app routes (index, create & delete)
|
204 |
|
205 |
|
206 | ### v0.18.0
|
207 |
|
208 | ###### Breaking changes
|
209 |
|
210 | - Renamed `publicise`/`publicize` to `publish`
|
211 | - Renamed `prerequisites` to `permissions`
|
212 | - The `app` and `fs` params to `initialise` are now grouped together by passing the `permissions` parameter.
|
213 | - Decrypt `readKey` from auth lobby (behind the scenes)
|
214 |
|
215 |
|
216 |
|
217 | ### v0.17.3
|
218 |
|
219 | Upgrade to js-ipfs v0.50
|
220 |
|
221 |
|
222 | ### v0.17.2
|
223 |
|
224 | Connect to signaling server to find your other devices more easily.
|
225 |
|
226 |
|
227 | ### v0.17.1
|
228 |
|
229 | Upgrade to CIDv1.
|
230 |
|
231 |
|
232 | ### v0.17
|
233 |
|
234 | ###### Changes
|
235 |
|
236 | - `initialise` now accepts two additional options, named "prerequisites":
|
237 | ```javascript
|
238 | const { prerequisites, scenario, state } = await wn.initialise({
|
239 | // Will ask the user permission to store
|
240 | // your apps data in `private/Apps/Nullsoft/Winamp`
|
241 | app: {
|
242 | name: "Winamp",
|
243 | creator: "Nullsoft"
|
244 | },
|
245 |
|
246 | // Ask the user permission for additional filesystem paths
|
247 | fs: {
|
248 | privatePaths: [ "Music" ],
|
249 | publicPaths: [ "Mixtapes" ]
|
250 | }
|
251 | })
|
252 | ```
|
253 | - Those prerequisites are passed to the `wn.redirectToLobby` function.
|
254 | (So the auth lobby has the correct parameters to determine the permissions to ask the user)
|
255 | - Adds the ability to use multiple apps with one file system (closes #73)
|
256 | - The SDK now handles multiple UCANs
|
257 | - Works offline (fixes #82)
|
258 | - Added `initialize` (american spelling) as an alias for `initialise`
|
259 | - Adds ability to set the potency `ptc` of a UCAN
|
260 | - Uses the Fission gateway as a [delegate node](https://github.com/ipfs/js-ipfs/blob/2b24f590041a0df9da87b75ae2344232fe22fe3a/docs/CONFIG.md#delegates)
|
261 |
|
262 | ###### Breaking changes
|
263 |
|
264 | - File system actions (ie. POSIX interface methods) throw an error when they are missing the necessary permissions (read UCAN)
|
265 | - Does no longer automatically call the `fs.publicise()` method. You have to call this yourself from now on.
|
266 | - Changed the `fs.appPath` function (see README)
|
267 | - Renamed `scenario.isAuthenticated` to `scenario.isAuthorised`
|
268 | - Renamed `scenario.continuum` to `scenario.continuation`
|
269 | - The first parameter to `redirectToLobby` has now become the second parameter.
|
270 | - Replaced `deauthenticate` with `leave`, which now redirects to the auth lobby automatically, so you can "sign out" there as well.
|
271 |
|
272 |
|
273 | ### v0.16.x
|
274 |
|
275 | - Fixed issue with private trees
|
276 | - Improved connectivity
|
277 | - Switched from AES-128 read keys to AES-256
|
278 |
|
279 |
|
280 | ### v0.16
|
281 |
|
282 | - Big rewrite of filesystem
|
283 | - private side derives names using bloomfilters and stores nodes in an MMPT
|
284 | - reorganize header info on public side and store metadata/skeleton as cbor data
|
285 | - Improved `fs.write` method, is an alias for `add` now (because `add` overwrites by default)
|
286 | - Improved file system loading and saving
|
287 |
|
288 |
|
289 | ### v0.15
|
290 |
|
291 | - Skipped because of a botched npm publish
|
292 |
|
293 |
|
294 | ### v0.14.3
|
295 |
|
296 | - Added apps API `apps.create`, `apps.index`, `apps.deleteByURL`
|
297 |
|
298 |
|
299 | ### v0.14.2
|
300 |
|
301 | - Improved DNSLink lookup error handling
|
302 | - Reduced time-to-save for the file system to 3 seconds instead of 5
|
303 | - Removed unnecessary `console.log` calls
|
304 | - Updated default `js-ipfs` to `v0.48.1` (was `v0.48.0`)
|
305 |
|
306 |
|
307 | ### v0.14.1
|
308 |
|
309 | Removed the default import from the index file. Now you use the SDK as follows, browser stays the same.
|
310 |
|
311 | ```js
|
312 | import * as sdk from 'fission-sdk'
|
313 | import { initialise } from 'fission-sdk'
|
314 |
|
315 | sdk.initialise()
|
316 | initialise()
|
317 | ```
|
318 |
|
319 |
|
320 | ### v0.14.0
|
321 |
|
322 | - Renamed `isAuthenticated` to `initialise`
|
323 | - `initialise` will return an instance of the file system (can be disabled in case you use web workers)
|
324 | - Adds `loadFileSystem` to load a file system (called automatically from `initialise` unless disabled). This function is responsible for caching the file system locally and making a file system if the user hasn't got one yet.
|
325 | - Adds the `fs.appPath.private` and `fs.appPath.public` function to build paths.
|
326 | - Adds the `fs.exists`, `fs.read` and `fs.write` file system methods
|