1 | # Core library changelog
|
2 |
|
3 | ## v4.1.0
|
4 | _2020-05-31_
|
5 |
|
6 | * Upgrade iocane -> 4.1.0 for better PBKDF2 override support
|
7 | * Audit and upgrade dependencies
|
8 |
|
9 | ## v4.0.0
|
10 | _2020-05-30_
|
11 |
|
12 | * **Major release** (breaking changes)
|
13 | * Secure credentials handling
|
14 | * Stable **My Buttercup** client and datasource
|
15 | * Renamed the following structures:
|
16 | * `Archive` to `Vault`
|
17 | * `ArchiveManager` to `VaultManager`
|
18 | * `ArchiveSource` to `VaultSource`
|
19 | * Removed `Workspace`, moving functionality into `VaultSource`
|
20 | * Re-introduced the following libraries back into the core:
|
21 | * `@buttercup/datasources`
|
22 | * `@buttercup/facades`
|
23 | * `@buttercup/credentials`
|
24 | * `@buttercup/signing`
|
25 | * `@buttercup/app-env`
|
26 | * Require `init()` call to initialise the environment (app-env)
|
27 | * Moved **web** export to `buttercup/web`
|
28 | * Added _formats_ to support eventual vault format migrations
|
29 | * Alternate datasource `load()` output, à la `TextDatasource#load`, to output `Format` _and_ `history`
|
30 | * `VaultManager` support for dual storages for cache and vault config
|
31 |
|
32 | ## v3.0.0
|
33 | _2020-03-15_
|
34 |
|
35 | * **Major release**
|
36 | * App-Env environment handling
|
37 | * Improved WebDAV client
|
38 |
|
39 | ## v3.0.0-rc3.2
|
40 | _2020-01-26_
|
41 |
|
42 | * Upgrade WebDAV library - reduced bundle size
|
43 |
|
44 | ## v3.0.0-rc3.1
|
45 | _2020-01-24_
|
46 |
|
47 | * Support for Regular Expressions in entry property searching
|
48 |
|
49 | ## v3.0.0-rc3.0
|
50 | _2020-01-14_
|
51 |
|
52 | * Improved Entry property history structure
|
53 | * Many deprecated methods removed
|
54 |
|
55 | ## v3.0.0-rc2.1
|
56 | _2020-01-05_
|
57 |
|
58 | * Reduced bundle / web size
|
59 |
|
60 | ## v3.0.0-rc2.0
|
61 | _2020-01-03_
|
62 |
|
63 | * App-env usage
|
64 | * crypto simplification for web
|
65 |
|
66 | ## v3.0.0-rc1.1
|
67 | _2019-12-20_
|
68 |
|
69 | * Change password support
|
70 |
|
71 | ## v3.0.0-rc1.0
|
72 | _2019-11-03_
|
73 |
|
74 | * Pre-release v3
|
75 | * My Buttercup client/datasource
|
76 | * Shares (not yet connected)
|
77 | * Refactorings
|
78 |
|
79 | ## v2.16.1
|
80 | _2019-10-10_
|
81 |
|
82 | * **Bugfix**:
|
83 | * Vault meta changes wouldn't write when storing an offline cache
|
84 |
|
85 | ## v2.16.0
|
86 | _2019-10-06_
|
87 |
|
88 | * Datasources upgrade for Google Drive and Dropbox request functionality
|
89 |
|
90 | ## v2.15.4
|
91 | _2019-08-02_
|
92 |
|
93 | * Google Drive client upgrade for `UInt8Array` incompatibilities
|
94 |
|
95 | ## v2.15.3
|
96 | _2019-08-02_
|
97 |
|
98 | * **Bugfix**:
|
99 | * Google Drive Datasource not re-authorising on failure
|
100 |
|
101 | ## v2.15.2
|
102 | _2019-07-23_
|
103 |
|
104 | * **Bugfix**:
|
105 | * Dropbox client PUT requests failing
|
106 |
|
107 | ## v2.15.1
|
108 | _2019-07-22_
|
109 |
|
110 | * Dropbox / Google Drive request client upgrades (browser stability)
|
111 |
|
112 | ## v2.15.0
|
113 | _2019-07-16_
|
114 |
|
115 | * Dropbox client upgrade: New request library (cowl)
|
116 |
|
117 | ## v2.14.0
|
118 | _2019-07-11_
|
119 |
|
120 | * Entry property time prefix attribute
|
121 |
|
122 | ## v2.13.0
|
123 | _2019-06-03_
|
124 |
|
125 | * TOTP URI attribute
|
126 | * Deprecations for entry facade methods
|
127 |
|
128 | ## v2.12.0
|
129 | _2019-04-14_
|
130 |
|
131 | * Improved Google Drive authorisation handling
|
132 |
|
133 | ## v2.11.0
|
134 | _2019-03-05_
|
135 |
|
136 | * Google Drive support
|
137 | * Support for updating source credentials (eg. expired API token renewal)
|
138 |
|
139 | ## v2.10.0
|
140 | _2019-01-14_
|
141 |
|
142 | * Entry history
|
143 |
|
144 | ## v2.9.2
|
145 | _2018-12-08_
|
146 |
|
147 | * Execute datasource instantiation callbacks for _each_ datasource type
|
148 |
|
149 | ## v2.9.1
|
150 | _2018-12-05_
|
151 |
|
152 | * Datasource instantiation register for post processing datasource instances
|
153 |
|
154 | ## ~~v2.9.0~~
|
155 | _2018-12-03_
|
156 |
|
157 | * Expose Dropbox request patcher
|
158 |
|
159 | ## v2.8.1
|
160 | _2018-11-16_
|
161 |
|
162 | * New Dropbox client
|
163 | * New WebDAV client
|
164 | * Add `Entry#getProperties` method
|
165 |
|
166 | ## v2.7.0
|
167 | _2018-10-27_
|
168 |
|
169 | * Ability to disable caching of vaults from within `ArchiveSource`
|
170 |
|
171 | ## v2.6.5
|
172 | _2018-10-07_
|
173 |
|
174 | * **Bugfix**:
|
175 | * `Workspace#localDiffersFromRemote` and `Workspace#mergeFromRemote` used invalid instance-of check for detecting `TextDatasource`s
|
176 |
|
177 | ## v2.6.4
|
178 | _2018-10-06_
|
179 |
|
180 | * Update datasources dependencies (security)
|
181 | * **Bugfix**:
|
182 | * `webdav` wouldn't connect with Seafile instances
|
183 |
|
184 | ## v2.6.3
|
185 | _2018-10-03_
|
186 |
|
187 | * Add missing event for auto-update
|
188 | * **Bugfix**:
|
189 | * Auto update wouldn't run on _clean_ archives
|
190 | * `Workspace#localDiffersFromRemote` and `Workspace#mergeFromRemote` used cached copy of archive, preventing loading again
|
191 |
|
192 | ## v2.6.0
|
193 | _2018-10-02_
|
194 |
|
195 | **Deprecated**
|
196 |
|
197 | * Auto-update interrupt on `ArchiveManager`
|
198 |
|
199 | ## v2.5.0
|
200 | _2018-10-02_
|
201 |
|
202 | * Auto-update functionality for `ArchiveManager`
|
203 | * Update dependencies to latest stable
|
204 |
|
205 | ## v2.4.1
|
206 | _2018-08-27_
|
207 |
|
208 | * **Bugfix**:
|
209 | * Handle `ArchiveSource#unlock` calls when no `storageInterface` is set
|
210 |
|
211 | ## v2.4.0
|
212 | _2018-08-11_
|
213 |
|
214 | * Add offline support to `ArchiveManager` and `ArchiveSource`
|
215 | * Add readOnly mode operation for `ArchiveSource` loading when content is overridden
|
216 |
|
217 | ## v2.3.0
|
218 | _2018-07-28_
|
219 |
|
220 | * Add ID parameter to `Group.createNew()` (for importing purposes)
|
221 |
|
222 | ## v2.2.0
|
223 | _2018-07-10_
|
224 |
|
225 | * Bugfix: Entry property names could not be made up of special characters
|
226 | * `Entry#getURLs`
|
227 |
|
228 | ## v2.1.0
|
229 | _2018-06-26_
|
230 |
|
231 | * Add `removeable: false` property to Entry facades
|
232 | * Add `note` facade type
|
233 |
|
234 | ## v2.0.4
|
235 | _2018-07-03_
|
236 |
|
237 | * Support `ArchiveSource` creation with type
|
238 |
|
239 | ## v2.0.3
|
240 | _2018-06-25_
|
241 |
|
242 | * Bugfix: Remove meta references from Entry facades
|
243 |
|
244 | ## v2.0.2
|
245 | _2018-06-22_
|
246 |
|
247 | * Bugfix: `Archive#getID()` call
|
248 |
|
249 | ## v2.0.1
|
250 | _2018-06-22_
|
251 |
|
252 | * Bugfix: `Workspace#mergeFromRemote` bad load for `ArchiveComparator`
|
253 |
|
254 | ## v2.0.0
|
255 | _2018-06-21_
|
256 |
|
257 | * Stable 2.0 release!
|
258 |
|
259 | ## v2.0.0-1 - v2.0.0-3
|
260 | _2018-06-19_
|
261 |
|
262 | * Upgrade credentials to 1.1.1
|
263 | * Fix typo in `Credentials.fromSecureString`
|
264 | * Upgrade datasources to 1.1.1
|
265 | * Fix webdav file fetching (force text)
|
266 | * Fix `Workspace#localDiffersFromRemote`
|
267 |
|
268 | ## **v2.0.0-0**
|
269 | _2018-06-16_
|
270 |
|
271 | * **New major** pre-release
|
272 | * Refactored codebase
|
273 | * Datasources, Credentials and signing split to separate repos
|
274 | * iocane upgrade and new API
|
275 | * Deprecation of meta
|
276 | * Meta is now mapped to properties within the archive instance (meta commands do not create meta properties internally)
|
277 | * Removed debug statements
|
278 | * Fixed several minor bugs
|
279 | * Improved flattening algorithm to prevent excessive operations
|
280 |
|
281 | ## v1.7.1
|
282 | _2018-05-27_
|
283 |
|
284 | * Update `iocane` to `0.10.2` (future proofing)
|
285 |
|
286 | ## v1.7.0
|
287 | _2018-05-27_
|
288 |
|
289 | * Update `webdav-fs` to `1.10.1`
|
290 |
|
291 | ## v1.6.2
|
292 | _2018-03-15_
|
293 |
|
294 | * Update `webdav-fs` to `1.9.0`
|
295 | * Bugfix: Changing password in new `ArchiveManager` would fail in deadlock
|
296 |
|
297 | ## v1.5.1
|
298 | _2018-02-15_
|
299 |
|
300 | * Add queues to `ArchiveManager` and `ArchiveSource` classes
|
301 |
|
302 | ## v1.5.0
|
303 | _2018-02-14_
|
304 |
|
305 | * Add new `ArchiveManager` and `ArchiveSource` classes
|
306 |
|
307 | ## v1.4.0
|
308 | _2017-01-11_
|
309 |
|
310 | * `ArchiveManager#updateArchiveCredentials` to call `Workspace.save` after updating the credentials
|
311 |
|
312 | ## v1.3.1
|
313 | _2017-01-10_
|
314 |
|
315 | * Fix master password update process (`ArchiveManager` integration)
|
316 |
|
317 | ## v1.3.0
|
318 | _2017-01-10_
|
319 |
|
320 | * Support for changing archive names in `ArchiveManager` ([#193](https://github.com/buttercup/buttercup-core/issues/193))
|
321 |
|
322 | ## v1.2.0
|
323 | _2017-01-10_
|
324 |
|
325 | * Support for changing the master password ([#197](https://github.com/buttercup/buttercup-core/issues/197))
|
326 |
|
327 | ## v1.1.2
|
328 | _2017-12-08_
|
329 |
|
330 | * **Bugfix**:
|
331 | * Fixed `ArchiveManager#removeSource` functionality in web context (`LocalStorageInterface` had no remove method)
|
332 |
|
333 | ## v1.1.1
|
334 | _2017-11-18_
|
335 |
|
336 | **Security release**
|
337 |
|
338 | * Upgrade iocane to 0.10.1
|
339 | * Fixes [DOS vulnerability in `debug` module](https://github.com/perry-mitchell/iocane/pull/21)
|
340 |
|
341 | ## v1.1.0
|
342 | _2017-11-08_
|
343 |
|
344 | * Added `EntryFinder` for fuzzy searching entries
|
345 |
|
346 | ## **v1.0.0**
|
347 | _2017-11-05_
|
348 |
|
349 | * Major release! Hooray!
|
350 | * `getAttributes` added to `Archive`, `Group` and `Entry` classes
|
351 |
|
352 | ## v1.0.0-rc1 - rc4
|
353 | _2017-10-21_
|
354 |
|
355 | * Inclusion of core-web
|
356 |
|
357 | ## v0.50.0
|
358 | _2017-10-16_
|
359 |
|
360 | * Allow overriding of already-registered datasources
|
361 |
|
362 | ## v0.49.0
|
363 | _2017-09-04_
|
364 |
|
365 | * Add override methods for salt and IV generation in iocane
|
366 |
|
367 | ## v0.48.0
|
368 | _2017-09-02_
|
369 |
|
370 | * Add [overridable crypto methods](https://github.com/buttercup/buttercup-core/blob/b285c1449ae4a0430729388559524ba13d85c6ca/source/tools/overridable.js#L26)
|
371 |
|
372 | ## v0.47.1
|
373 | _2017-08-29_
|
374 |
|
375 | * Upgrade iocane to 0.9.0
|
376 | * Core crypto now async
|
377 |
|
378 | ## v0.46.0
|
379 | _2017-08-26_
|
380 |
|
381 | * Upgrade iocane to 0.8.0
|
382 | * Expose ability to override built-in encryption/decryption methods
|
383 |
|
384 | ## v0.45.0
|
385 | _2017-07-24_
|
386 |
|
387 | * **Bugfix**: Entry facades remove meta/attributes that no longer exist
|
388 | * Entry `getProperty`/`getMeta`/`getAttribute` return base objects when no parameters specified
|
389 |
|
390 | ## v0.44.1
|
391 | _2017-07-16_
|
392 |
|
393 | * Expose `webdav-fs` via vendor props: `Buttercup.vendor.webdavFS` (for `fetch` override support)
|
394 |
|
395 | ## v0.43.0
|
396 | _2017-07-07_
|
397 |
|
398 | * Entry facades: Dynamic field editing
|
399 |
|
400 | ## v0.42.1
|
401 | _2017-07-07_
|
402 |
|
403 | * **Bugfix**: `ArchiveManager` `unlockedSources` returns array of booleans
|
404 |
|
405 | ## v0.42.0
|
406 | _2017-07-06_
|
407 |
|
408 | * Change event emitters (`ArchiveManager`, `Archive` & `Westley`) to be asynchronous: [#169](https://github.com/buttercup/buttercup-core/issues/169)
|
409 |
|
410 | ## v0.41.2
|
411 | _2017-07-03_
|
412 |
|
413 | * **Bugfix**: Wrong password when unlocking source in `ArchiveManager` breaks state
|
414 |
|
415 | ## v0.41.1
|
416 | _2017-06-30_
|
417 |
|
418 | * **Bugfix**: Wrong credentials passed to `Workspace` in `ArchiveManager`: [#167](https://github.com/buttercup/buttercup-core/issues/167)
|
419 |
|
420 | ## v0.41.0
|
421 | _2017-06-24_
|
422 |
|
423 | * Upgrade webdav-fs to 1.3.0
|
424 | * Disable browser `window.fetch` for stability
|
425 | * Add `remove` method to `ArchiveManager`
|
426 |
|
427 | ## v0.40.1
|
428 | _2017-06-10_
|
429 |
|
430 | * Add missing event for source rehydration in `ArchiveManager`
|
431 |
|
432 | ## v0.40.0
|
433 | _2017-05-28_
|
434 |
|
435 | * Add event emitters to `Westley` and `Archive` instances for when archive changes occur
|
436 | * Add event emitter to `ArchiveManager` for state updates
|
437 | * Upgrade **webdav-fs** to `1.0.0`
|
438 | * **Bugfix**: Empty values for properties/meta/attributes
|
439 |
|
440 | ## v0.39.1
|
441 | _2017-05-22_
|
442 |
|
443 | * Add support for credentials to be stringified and parsed _insecurely_ (`TextDatasource` deferred encoding hander support for separated interfaces like React Native and WebViews).
|
444 | * Expose `TextDatasource` default encoding handlers
|
445 |
|
446 | ## v0.39.0
|
447 | _2017-05-21_
|
448 |
|
449 | * Add support for deferring encryption and packaging in `TextDatasource`
|
450 |
|
451 | ## v0.38.1
|
452 | _2017-05-02_
|
453 |
|
454 | * Expose `StorageInterface`
|
455 |
|
456 | ## v0.38.0
|
457 | _2017-04-29_
|
458 |
|
459 | * Add [MyButtercup](https://github.com/buttercup/roadmap/blob/9da2fad70941f5eda056c2de6d6c112f49470878/roadmap/OVERALL.md#mybuttercup) integration
|
460 | * Add [Nextcloud](https://nextcloud.com/) integration
|
461 |
|
462 | ## v0.37.1
|
463 | _2017-04-16_
|
464 |
|
465 | * Bugfix: Fix merge stripping deletion commands when no changes occurred on the remote side
|
466 |
|
467 | ## v0.37.0
|
468 | _2017-03-27_
|
469 |
|
470 | * Add `Group.getGroup()` support for getting parent groups
|
471 |
|
472 | ## v0.36.0
|
473 | _2017-03-20_
|
474 |
|
475 | * Add searching tool for fetching all entries from an archive
|
476 | * Expose searching tools
|
477 |
|
478 | ## v0.35.0
|
479 | _2017-03-11_
|
480 |
|
481 | * Serialisation of all string-type values in history
|
482 | * _Old versions of Buttercup **will not be able to read** archives from this version!_
|
483 |
|
484 | ## v0.34.0
|
485 | _2017-03-06_
|
486 |
|
487 | * Upgrade iocane to 0.6.0
|
488 | * Increase PBKDF2 rounds to 200-250k
|
489 | * New credentials factory
|
490 | * **Breaking:**
|
491 | * Remove old `Workspace`
|
492 | * Rename `SharedWorkspace` to `Workspace`
|
493 | * Remove `Credentials` class
|
494 | * All password authentication methods to use new credentials structure
|
495 |
|
496 | ## v0.33.2
|
497 | _2017-01-07_
|
498 |
|
499 | * Type checking getter `type` on `Archive` and `Group` instances
|
500 | * Better type checking in group moving
|
501 |
|
502 | ## v0.33.0
|
503 | _2017-01-07_
|
504 |
|
505 | * Add `getHistory` method for `Archive` instances
|
506 | * Add `createFromHistory` factory method to `Archive`
|
507 |
|
508 | ## v0.32.0
|
509 | _2017-01-06_
|
510 |
|
511 | * Add `emptyTrash` method to `Archive`
|
512 |
|
513 | ## v0.31.0
|
514 | _2017-01-04_
|
515 |
|
516 | * Add `findEntryByID` to `Archive` and `Group` classes
|
517 | * Throw errors when creating entries/groups within trash
|
518 |
|
519 | ## v0.30.2
|
520 | _2016-12-30_
|
521 |
|
522 | * Fix OwnCloudDatasource's [`fromObject` bug](https://github.com/buttercup-pw/buttercup-core/issues/129)
|
523 |
|
524 | ## v0.30.0
|
525 | _2016-12-27_
|
526 |
|
527 | * Ensure archive ID always generated
|
528 | * Added Entry `isInTrash` method
|
529 | * Datasource registration (support for 3rd party datasources)
|
530 | * `TextDatasource` stores content when using `toObject` or `toString`
|
531 | * **Breaking:**
|
532 | * Datasource `toString` format rewrite
|
533 | * Datasource `toObject`
|
534 | * Datasource tools removed (`Buttercup.tools.datasource`)
|
535 |
|
536 | ## v0.29.0
|
537 | _2016-11-30_
|
538 |
|
539 | * Credentials meta support
|
540 | * Debug support
|
541 |
|
542 | ## v0.28.0
|
543 | _2016-11-07_
|
544 |
|
545 | * Read-only archives
|
546 | * Shared groups
|
547 | * Added `SharedWorkspace` for managing several archives
|
548 | * Support for moving groups between archives
|
549 |
|
550 | ## v0.27.0
|
551 | _2016-10-30_
|
552 |
|
553 | * Group & Entry searching decorators for Archives and Groups
|
554 | * Renamed ManagedGroup to Group
|
555 | * Renamed ManagedEntry to Entry
|
556 | * Deprecated `Archive.getGroupByID` and `Group.getGroupByID` in favour of `findGroupByID`
|
557 |
|
558 | ## v0.26.0
|
559 | _2016-10-23_
|
560 |
|
561 | * Attributes for archives
|
562 |
|
563 | ## v0.25.0
|
564 | _2016-10-16_
|
565 |
|
566 | * Entry deletion improved (trash and then deleted)
|
567 | * Group deletion improved (trash and then deleted)
|
568 | * Fixed group `toObject` not passing options to recursive calls
|
569 | * Group `toString` takes `toObject` output options
|
570 |
|
571 | ## v0.24.0
|
572 | _2016-10-15_
|
573 |
|
574 | * Group `toObject` upgrade (deep output)
|
575 |
|
576 | ## v0.23.0
|
577 | _2016-10-02_
|
578 |
|
579 | * Buttercup server integration -> datasource
|
580 |
|
581 | ## v0.22.0
|
582 | _2016-09-27_
|
583 |
|
584 | * Key file support
|
585 |
|
586 | ## v0.21.0
|
587 | _2016-08-07_
|
588 |
|
589 | * JSON exporting
|
590 | * Datasource to/from strings
|
591 |
|
592 | ## v0.20.1
|
593 | _2016-07-17_
|
594 |
|
595 | * Added datasources
|
596 | * Workspace saving -> async
|
597 |
|
598 | ## v0.19.0
|
599 | _2016-04-09_
|
600 |
|
601 | * Support for overriding iocane's PBKDF22 method externally (core-web)
|
602 |
|
603 | ## v0.18.0
|
604 | _2016-04-03_
|
605 |
|
606 | * Integrated iocane
|
607 | * ES6 support
|
608 | * Dropped Node 0.12
|
609 |
|
610 | ## v0.17.0
|
611 | _2016-02-27_
|
612 |
|
613 | * Set PBKDF2 iteration count to 6-8k
|
614 | * Archive searching for entries & groups
|
615 |
|
616 | ## v0.16.0
|
617 | _2016-02-21_
|
618 |
|
619 | * Archive searching
|
620 | * WebDAV-fs upgrade -> 0.4.0
|
621 |
|
622 | ## v0.15.1
|
623 | _2016-02-20_
|
624 |
|
625 | * Fixed removed link script (npmignore)
|
626 |
|
627 | ## v0.15.0
|
628 | _2016-02-19_
|
629 |
|
630 | * Increased PBKDF2 iterations
|
631 |
|
632 | ## v0.14.0
|
633 | _2016-02-12_
|
634 |
|
635 | * Added `Credentials`
|