Skip to content

Latest commit

 

History

History
1158 lines (766 loc) · 23.2 KB

CHANGELOG.md

File metadata and controls

1158 lines (766 loc) · 23.2 KB

Core library changelog

v7.7.1

2024-05-12

  • Bugfix:
    • group parameter in createGroupFacade was not optional

v7.7.0

2024-03-18

  • WebDAV automatic auth type detection

v7.6.0

2024-02-06

  • VaultSourceEntrySearch for searching vault sources rather than vaults/facades

v7.5.0

2024-01-29

v7.4.0

2023-12-09

  • Credentials master password handling upgrade
    • #336 CVE-2023-41646

v7.3.0

2023-11-11

  • Update dependencies

v7.2.4

2023-07-16

  • React-Native entry point in package.json

v7.2.3

2023-05-12

  • Bugfix:
    • #333: Unable to save Format B vaults ("Cannot read properties of undefined (reading 'e')")

v7.2.2

2023-05-12

  • Bugfix:
    • Format B vaults unable to be opened: "Cannot read properties of undefined (reading 'e')"

v7.2.1

2023-05-11

  • Removed Format A merge skipping check (was for performance) to ensure stability
  • Bugfix:
    • Saving Google Drive vaults would write "Untitled" files and never update original vault (Buttercup Desktop issue)

v7.2.0

2023-05-11

  • Major changes
    • Default format changed from A to B
  • Connect vault format optimisation to unlock process
  • Improve format merging during saving (deleted items)
  • Bugfix:
    • #329: Unable to empty trash

v7.1.1

2023-02-19

  • Bugfix:
    • VaultManager missing vault source live snapshot handling

v7.1.0

2023-02-18

  • Vault source live snapshots

v7.0.0

2023-02-13

  • Major Update
    • ESM
    • Node v12 support dropped
    • Google Drive shared folders and files support
    • Bugfix:
      • #321: Format B merging ignores entry parent changes

v6.17.0

2023-01-09

  • Dependency updates & audit

v6.16.5

2022-09-03

  • Dropbox client upgrade: Global compat fix for CORS hack

v6.16.4

2022-09-03

  • Dropbox client upgrade: Compatibility for CORS hack

v6.16.2

2022-08-31

  • Bugfix:
    • Dropbox client updated: Bad headers option type

v6.16.1

2022-08-31

  • Dropbox client update for custom headers

v6.16.0

2022-08-30

  • New Dropbox client, for compatibility

v6.15.3

2022-08-29

  • Bugfix:
    • Prevent setting Google Drive refresh token if empty (unavailable)

v6.15.2

2022-08-16

  • Bugfix:
    • Saving new properties in format B vaults throws error

v6.15.1

2022-08-15

  • Bugfix:
    • Transfer history in format A -> B conversion

v6.15.0

2022-08-03

  • VaultSource#convert method for converting vault format

v6.14.0

2022-05-25

  • Dropbox client upgrade for Node / Web compatibility

v6.13.1

2022-04-13

  • Dropbox client improved web compatibility

v6.13.0

2022-04-12

  • Dropbox client improved web compatibility

v6.12.0

2022-02-14

  • Credentials#setCredentialsData and Credentials#getCredentialsData for setting and getting credentials data in closed environments
  • Credentials#getData deprecated

v6.11.0

2022-02-13

  • Format A/B signature test methods

v6.10.0

2022-02-07

  • init method app env map method for modifying individual properties

v6.9.1

2022-01-31

  • Bugfix:
    • VaultSource#save correctly detecting saved content

v6.9.0

2022-01-31

  • VaultSource save options parameter, with storeOfflineCopy (default true)

v6.8.2

2022-01-30

  • cowl upgrade for Layerr info pass-through

v6.8.1

2022-01-30

  • Bugfix:
    • Revert is-in-browser for cowl

v6.8.0

2022-01-30

  • Improved VaultSource#unlock stability
    • Bugfix: cowl request dependency update to fix request failures when offline

v6.7.0

2022-01-17

  • TextDatasource.sourceID for tracking parent VaultSource

v6.6.0

2021-11-09

  • Explicit datasource config types
  • Datasource config exports

v6.5.0

2021-10-21

  • Entry#getPropertyValueType
  • Entry#setPropertyValueType

v6.4.0

2021-10-18

  • Search results include groupID

v6.3.0

2021-10-03

  • VaultSource#rename

v6.2.0

2021-08-17

  • setEntryFacadePropertyValueType For setting facade entry property value types
  • Exposed getEntryPropertyValueType and setEntryPropertyValueType helpers

v6.1.0

2021-08-14

  • createEntryFromFacade for creating new entries from facades

v6.0.0

2021-06-06

  • Major release (breaking changes)
    • My Buttercup support removed
    • New iocane version: New attachment encoding
    • Attachment support for WebDAV datasource

v5.13.1

2021-05-18

  • Bugfix:
    • Merging Format-A vaults would break due to incorrectly modified PAD IDs
    • Decryption would break if the file contents contained a new-line

v5.13.0

2021-04-07

  • VaultSource#testMasterPassword

v5.12.2

2021-03-21

  • Bugfix:
    • VaultManager auto-update race condition

v5.12.1

2021-03-16

  • getEntryPath and getEntryFacadePath helpers

v5.12.0

2021-03-16

  • Search result entryType property

v5.11.0

2021-03-14

  • Search deprecated
  • VaultEntrySearch replaces Search as vault entry searching utility
  • VaultFacadeEntrySearch added to support facade searching for entries

v5.10.0

2021-03-13

  • Dependencies update

v5.9.1

2021-01-26

  • Bugfix:
    • crypto-random-string in devDependencies rather than dependencies

v5.9.0

2021-01-23

  • Dependency upgrades
  • Bugfix:
    • Types not referenced correctly
    • URL-based search results ordered incorrectly

v5.8.0

2020-12-09

  • Separated search portions for downstream use

v5.7.0

2020-12-06

  • Reduced key derivation rounds for improved performance

v5.6.2

2020-12-06

  • Upgrade cowl: Remove warning for invalid responseType

v5.6.1

2020-11-26

  • Search preparation performance improvement

v5.6.0

2020-10-11

  • LocalStorageDatasource for web

v5.5.0

2020-09-06

  • Replaced js-base64 with base64-js for Buffer-less base64 encoding and decoding
  • Added base64 encoding and decoding to app-env parameters

v5.4.0

2020-09-05

  • UUID app-env method (for mobile compatibility)

v5.3.1

2020-09-04

  • Bugfix:
    • Poor facade handling performance
    • Entries not able to be moved to another group (eg. to Trash)

v5.3.0

2020-09-04

  • Persistent Group and Entry items (no spawn on request)
  • Bugfix:
    • (#282) Memory leak while auto-updating

v5.2.1

2020-08-30

  • Bugfix:
    • Search would fail to search due to bad Fuse.js import on web

v5.2.0

2020-08-30

  • Upgrade cowl to remove Buffer dependencies

v5.1.0

2020-08-29

  • Replace VError with Layerr for better portability

v5.0.1

2020-08-26

  • Un-hide Credit Card dates

v5.0.0

2020-08-24

  • Major release (breaking changes)
    • Codebase converted to Typescript
    • VaultFormatB introduced
    • Vault format routing (default: Format A)
    • New gzip compression utilities
    • Removed getAttachmentDetails method on datasources

v4.13.1

2020-08-19

  • Bugfix:
    • (#287) Vaults grow to enormous size

v4.13.0

2020-08-02

  • Improved vault merging behaviour when using VaultSource#save

v4.12.0

2020-08-01

  • Attachments for My Buttercup

v4.11.1

2020-07-28

  • Prevent attachments crypto key override during import

v4.11.0

2020-07-28

  • Important attachments update: Use new auto-generated attachments crypto key instead of master password. Avoid using earlier versions for attachments.

v4.10.0

2020-07-21

  • Attachment created and updated timestamps

v4.9.2

2020-07-11

  • Bugfix:
    • reorderSource on VaultManager wouldn't change source order

v4.9.1

2020-07-09

  • Bugfix:
    • pify not installed (required for FileDatasource)

v4.9.0

2020-07-07

  • No results from trash when using Search
  • createVaultFacade option for preventing groups and entries from trash being returned

v4.8.2

2020-07-07

  • Group.createNew group ID parameter

v4.8.1

2020-07-06

  • Emit sourcesUpdated event on VaultManager when locked/unlocked events fired

v4.8.0

2020-07-06

  • Open credentials support to allow for custom external datasources
  • Node 10 deprecated
  • Reduce VaultManager & VaultSource update events

v4.7.1

2020-07-05

  • Bugfix:
    • VaultSource wouldn't emit updates for all changes
    • Fuse.js import in Search wouldn't work in web environment

v4.7.0

2020-07-02

  • Search class for searching vaults
  • EntryFinder deprecated and disabled
  • fieldsToProperties for converting entry facade fields to a properties key-value object
  • Merge mode for consuming vault facades
  • Bugfix:
    • VaultSource#changeMasterPassword threw when getting datasource support for changing passwords

v4.6.0

2020-06-30

  • LocalFileDatasource for web clients (from browser extension)

v4.5.1

2020-06-28

  • Bugfix:
    • Broken COLOUR_TEST in VaultSource

v4.5.0

2020-06-24

  • Environment override env/v1/isClosedEnv for handling primary passwords in credentials

v4.4.1

2020-06-22

  • Improved safe-guards for VaultManager#rehydrate and new TextDatasource()

v4.4.0

2020-06-21

  • VaultManager auto migrate legacy vaults
  • TextDatasource loads content from credentials if provided

v4.3.0

2020-06-21

  • Attachments support for FileDatasource
  • Use live domain for My Buttercup

v4.2.3

2020-06-21

  • Bugfix:
    • GoogleDriveDatasource failing upon initialisation in React Native

v4.2.2

2020-06-20

  • Bugfix:
    • GoogleDriveDatasource couldn't be instantiated without an exception being thrown

v4.2.1

2020-06-12

  • Bugfix:
    • Fix web build for compatibility

v4.2.0

2020-06-12

  • Attachments
  • MemoryDatasource for in-memory vaults
  • Entry#getType helper
  • Additional vault insights

v4.1.0

2020-05-31

  • Upgrade iocane -> 4.1.0 for better PBKDF2 override support
  • Audit and upgrade dependencies

v4.0.0

2020-05-30

  • Major release (breaking changes)
    • Secure credentials handling
    • Stable My Buttercup client and datasource
    • Renamed the following structures:
      • Archive to Vault
      • ArchiveManager to VaultManager
      • ArchiveSource to VaultSource
    • Removed Workspace, moving functionality into VaultSource
    • Re-introduced the following libraries back into the core:
      • @buttercup/datasources
      • @buttercup/facades
      • @buttercup/credentials
      • @buttercup/signing
      • @buttercup/app-env
    • Require init() call to initialise the environment (app-env)
    • Moved web export to buttercup/web
    • Added formats to support eventual vault format migrations
    • Alternate datasource load() output, à la TextDatasource#load, to output Format and history
    • VaultManager support for dual storages for cache and vault config

v3.0.0

2020-03-15

  • Major release
    • App-Env environment handling
    • Improved WebDAV client

v3.0.0-rc3.2

2020-01-26

  • Upgrade WebDAV library - reduced bundle size

v3.0.0-rc3.1

2020-01-24

  • Support for Regular Expressions in entry property searching

v3.0.0-rc3.0

2020-01-14

  • Improved Entry property history structure
  • Many deprecated methods removed

v3.0.0-rc2.1

2020-01-05

  • Reduced bundle / web size

v3.0.0-rc2.0

2020-01-03

  • App-env usage
    • crypto simplification for web

v3.0.0-rc1.1

2019-12-20

  • Change password support

v3.0.0-rc1.0

2019-11-03

  • Pre-release v3
    • My Buttercup client/datasource
    • Shares (not yet connected)
    • Refactorings

v2.16.1

2019-10-10

  • Bugfix:
    • Vault meta changes wouldn't write when storing an offline cache

v2.16.0

2019-10-06

  • Datasources upgrade for Google Drive and Dropbox request functionality

v2.15.4

2019-08-02

  • Google Drive client upgrade for UInt8Array incompatibilities

v2.15.3

2019-08-02

  • Bugfix:
    • Google Drive Datasource not re-authorising on failure

v2.15.2

2019-07-23

  • Bugfix:
    • Dropbox client PUT requests failing

v2.15.1

2019-07-22

  • Dropbox / Google Drive request client upgrades (browser stability)

v2.15.0

2019-07-16

  • Dropbox client upgrade: New request library (cowl)

v2.14.0

2019-07-11

  • Entry property time prefix attribute

v2.13.0

2019-06-03

  • TOTP URI attribute
  • Deprecations for entry facade methods

v2.12.0

2019-04-14

  • Improved Google Drive authorisation handling

v2.11.0

2019-03-05

  • Google Drive support
  • Support for updating source credentials (eg. expired API token renewal)

v2.10.0

2019-01-14

  • Entry history

v2.9.2

2018-12-08

  • Execute datasource instantiation callbacks for each datasource type

v2.9.1

2018-12-05

  • Datasource instantiation register for post processing datasource instances

v2.9.0

2018-12-03

  • Expose Dropbox request patcher

v2.8.1

2018-11-16

  • New Dropbox client
  • New WebDAV client
  • Add Entry#getProperties method

v2.7.0

2018-10-27

  • Ability to disable caching of vaults from within ArchiveSource

v2.6.5

2018-10-07

  • Bugfix:
    • Workspace#localDiffersFromRemote and Workspace#mergeFromRemote used invalid instance-of check for detecting TextDatasources

v2.6.4

2018-10-06

  • Update datasources dependencies (security)
  • Bugfix:
    • webdav wouldn't connect with Seafile instances

v2.6.3

2018-10-03

  • Add missing event for auto-update
  • Bugfix:
    • Auto update wouldn't run on clean archives
    • Workspace#localDiffersFromRemote and Workspace#mergeFromRemote used cached copy of archive, preventing loading again

v2.6.0

2018-10-02

Deprecated

  • Auto-update interrupt on ArchiveManager

v2.5.0

2018-10-02

  • Auto-update functionality for ArchiveManager
  • Update dependencies to latest stable

v2.4.1

2018-08-27

  • Bugfix:
    • Handle ArchiveSource#unlock calls when no storageInterface is set

v2.4.0

2018-08-11

  • Add offline support to ArchiveManager and ArchiveSource
  • Add readOnly mode operation for ArchiveSource loading when content is overridden

v2.3.0

2018-07-28

  • Add ID parameter to Group.createNew() (for importing purposes)

v2.2.0

2018-07-10

  • Bugfix: Entry property names could not be made up of special characters
  • Entry#getURLs

v2.1.0

2018-06-26

  • Add removeable: false property to Entry facades
  • Add note facade type

v2.0.4

2018-07-03

  • Support ArchiveSource creation with type

v2.0.3

2018-06-25

  • Bugfix: Remove meta references from Entry facades

v2.0.2

2018-06-22

  • Bugfix: Archive#getID() call

v2.0.1

2018-06-22

  • Bugfix: Workspace#mergeFromRemote bad load for ArchiveComparator

v2.0.0

2018-06-21

  • Stable 2.0 release!

v2.0.0-1 - v2.0.0-3

2018-06-19

  • Upgrade credentials to 1.1.1
    • Fix typo in Credentials.fromSecureString
  • Upgrade datasources to 1.1.1
    • Fix webdav file fetching (force text)
  • Fix Workspace#localDiffersFromRemote

v2.0.0-0

2018-06-16

  • New major pre-release
    • Refactored codebase
    • Datasources, Credentials and signing split to separate repos
    • iocane upgrade and new API
    • Deprecation of meta
      • Meta is now mapped to properties within the archive instance (meta commands do not create meta properties internally)
    • Removed debug statements
    • Fixed several minor bugs
    • Improved flattening algorithm to prevent excessive operations

v1.7.1

2018-05-27

  • Update iocane to 0.10.2 (future proofing)

v1.7.0

2018-05-27

  • Update webdav-fs to 1.10.1

v1.6.2

2018-03-15

  • Update webdav-fs to 1.9.0
  • Bugfix: Changing password in new ArchiveManager would fail in deadlock

v1.5.1

2018-02-15

  • Add queues to ArchiveManager and ArchiveSource classes

v1.5.0

2018-02-14

  • Add new ArchiveManager and ArchiveSource classes

v1.4.0

2017-01-11

  • ArchiveManager#updateArchiveCredentials to call Workspace.save after updating the credentials

v1.3.1

2017-01-10

  • Fix master password update process (ArchiveManager integration)

v1.3.0

2017-01-10

  • Support for changing archive names in ArchiveManager (#193)

v1.2.0

2017-01-10

  • Support for changing the master password (#197)

v1.1.2

2017-12-08

  • Bugfix:
    • Fixed ArchiveManager#removeSource functionality in web context (LocalStorageInterface had no remove method)

v1.1.1

2017-11-18

Security release

v1.1.0

2017-11-08

  • Added EntryFinder for fuzzy searching entries

v1.0.0

2017-11-05

  • Major release! Hooray!
  • getAttributes added to Archive, Group and Entry classes

v1.0.0-rc1 - rc4

2017-10-21

  • Inclusion of core-web

v0.50.0

2017-10-16

  • Allow overriding of already-registered datasources

v0.49.0

2017-09-04

  • Add override methods for salt and IV generation in iocane

v0.48.0

2017-09-02

v0.47.1

2017-08-29

  • Upgrade iocane to 0.9.0
    • Core crypto now async

v0.46.0

2017-08-26

  • Upgrade iocane to 0.8.0
    • Expose ability to override built-in encryption/decryption methods

v0.45.0

2017-07-24

  • Bugfix: Entry facades remove meta/attributes that no longer exist
  • Entry getProperty/getMeta/getAttribute return base objects when no parameters specified

v0.44.1

2017-07-16

  • Expose webdav-fs via vendor props: Buttercup.vendor.webdavFS (for fetch override support)

v0.43.0

2017-07-07

  • Entry facades: Dynamic field editing

v0.42.1

2017-07-07

  • Bugfix: ArchiveManager unlockedSources returns array of booleans

v0.42.0

2017-07-06

  • Change event emitters (ArchiveManager, Archive & Westley) to be asynchronous: #169

v0.41.2

2017-07-03

  • Bugfix: Wrong password when unlocking source in ArchiveManager breaks state

v0.41.1

2017-06-30

  • Bugfix: Wrong credentials passed to Workspace in ArchiveManager: #167

v0.41.0

2017-06-24

  • Upgrade webdav-fs to 1.3.0
    • Disable browser window.fetch for stability
  • Add remove method to ArchiveManager

v0.40.1

2017-06-10

  • Add missing event for source rehydration in ArchiveManager

v0.40.0

2017-05-28

  • Add event emitters to Westley and Archive instances for when archive changes occur
  • Add event emitter to ArchiveManager for state updates
  • Upgrade webdav-fs to 1.0.0
  • Bugfix: Empty values for properties/meta/attributes

v0.39.1

2017-05-22

  • Add support for credentials to be stringified and parsed insecurely (TextDatasource deferred encoding hander support for separated interfaces like React Native and WebViews).
  • Expose TextDatasource default encoding handlers

v0.39.0

2017-05-21

  • Add support for deferring encryption and packaging in TextDatasource

v0.38.1

2017-05-02

  • Expose StorageInterface

v0.38.0

2017-04-29

v0.37.1

2017-04-16

  • Bugfix: Fix merge stripping deletion commands when no changes occurred on the remote side

v0.37.0

2017-03-27

  • Add Group.getGroup() support for getting parent groups

v0.36.0

2017-03-20

  • Add searching tool for fetching all entries from an archive
  • Expose searching tools

v0.35.0

2017-03-11

  • Serialisation of all string-type values in history
    • Old versions of Buttercup will not be able to read archives from this version!

v0.34.0

2017-03-06

  • Upgrade iocane to 0.6.0
    • Increase PBKDF2 rounds to 200-250k
  • New credentials factory
  • Breaking:
    • Remove old Workspace
    • Rename SharedWorkspace to Workspace
    • Remove Credentials class
    • All password authentication methods to use new credentials structure

v0.33.2

2017-01-07

  • Type checking getter type on Archive and Group instances
  • Better type checking in group moving

v0.33.0

2017-01-07

  • Add getHistory method for Archive instances
  • Add createFromHistory factory method to Archive

v0.32.0

2017-01-06

  • Add emptyTrash method to Archive

v0.31.0

2017-01-04

  • Add findEntryByID to Archive and Group classes
  • Throw errors when creating entries/groups within trash

v0.30.2

2016-12-30

v0.30.0

2016-12-27

  • Ensure archive ID always generated
  • Added Entry isInTrash method
  • Datasource registration (support for 3rd party datasources)
  • TextDatasource stores content when using toObject or toString
  • Breaking:
    • Datasource toString format rewrite
    • Datasource toObject
    • Datasource tools removed (Buttercup.tools.datasource)

v0.29.0

2016-11-30

  • Credentials meta support
  • Debug support

v0.28.0

2016-11-07

  • Read-only archives
  • Shared groups
  • Added SharedWorkspace for managing several archives
  • Support for moving groups between archives

v0.27.0

2016-10-30

  • Group & Entry searching decorators for Archives and Groups
  • Renamed ManagedGroup to Group
  • Renamed ManagedEntry to Entry
  • Deprecated Archive.getGroupByID and Group.getGroupByID in favour of findGroupByID

v0.26.0

2016-10-23

  • Attributes for archives

v0.25.0

2016-10-16

  • Entry deletion improved (trash and then deleted)
  • Group deletion improved (trash and then deleted)
  • Fixed group toObject not passing options to recursive calls
  • Group toString takes toObject output options

v0.24.0

2016-10-15

  • Group toObject upgrade (deep output)

v0.23.0

2016-10-02

  • Buttercup server integration -> datasource

v0.22.0

2016-09-27

  • Key file support

v0.21.0

2016-08-07

  • JSON exporting
  • Datasource to/from strings

v0.20.1

2016-07-17

  • Added datasources
  • Workspace saving -> async

v0.19.0

2016-04-09

  • Support for overriding iocane's PBKDF22 method externally (core-web)

v0.18.0

2016-04-03

  • Integrated iocane
  • ES6 support
    • Dropped Node 0.12

v0.17.0

2016-02-27

  • Set PBKDF2 iteration count to 6-8k
  • Archive searching for entries & groups

v0.16.0

2016-02-21

  • Archive searching
  • WebDAV-fs upgrade -> 0.4.0

v0.15.1

2016-02-20

  • Fixed removed link script (npmignore)

v0.15.0

2016-02-19

  • Increased PBKDF2 iterations

v0.14.0

2016-02-12

  • Added Credentials