# Change Log

All notable changes to this project will be documented in this file
automatically by Versionist. DO NOT EDIT THIS FILE MANUALLY!
This project adheres to [Semantic Versioning](http://semver.org/).

# v8.2.0
## (2026-03-24)

* Export error types for users to be able to use `instanceof` with [Pagan Gazzard]

# v8.1.1
## (2026-03-12)

* Update jsdoc-to-markdown to 9.x [Pagan Gazzard]
* Update @balena/lint to 9.x [Pagan Gazzard]
* Add id-token: write permission for NPM OIDC publishing [Kyle Harding]

# v8.1.0
## (2023-07-28)

* Support using memory storage by passing dataDirectory: false [Thodoris Greasidis]

# v8.0.2
## (2023-07-28)

* virtual-storage: Fix own property check [Thodoris Greasidis]

# v8.0.1
## (2023-07-26)

* Fix the localStorage support check [Thodoris Greasidis]

# v8.0.0
## (2023-07-24)

* virtual-storage: Use an object without a prototype as the store [Thodoris Greasidis]
* Specify a browser entry point [Thodoris Greasidis]
* Use es6 exports [Thodoris Greasidis]
* Update TypeScript to 5.1.6 [Thodoris Greasidis]
* Drop support for nodejs < 14 [Thodoris Greasidis]

# v7.0.2
## (2022-11-08)

* Update balena-errors from v4.7.1 to v4.7.3 [JSReds]

# v7.0.1
## (2022-11-01)

* Fix tests on node18 [Thodoris Greasidis]
* Replace balenaCI with flowzone [JSReds]

# v7.0.0
## (2020-11-03)

* Remove package-lock.json because it is not recommended for libraries 'package-lock.json' cannot be published to the npm registry, and will be ignored when npm-installed by packages that depend on resin-multibuild. This can lead to dependency-related errors being masked when resin-multibuild is tested in isolation. Reference: https://docs.npmjs.com/files/package-lock.json [josecoelho]
* Change to raise error when file has no permission [josecoelho]

# v6.0.1
## (2020-07-03)

* Add explicit tslib dependency [Pagan Gazzard]

# v6.0.0
## (2020-07-02)

* Enable strict type checking [Pagan Gazzard]
* Update typescript [Pagan Gazzard]
* Add engines property to package.json [Pagan Gazzard]
* Update to @balena/lint 5.x [Pagan Gazzard]
* Drop support for nodejs < 10 [Pagan Gazzard]
* Switch to generating es2015 output [Pagan Gazzard]
* Switch to native promises and use asynchronous fs access on nodejs [Pagan Gazzard]

# v5.0.2
## (2020-05-04)

* Switch to balena-lint [Pagan Gazzard]

# v5.0.1
## (2020-05-04)

* Use type declarations for exported types [Pagan Gazzard]

## v5.0.0 - 2018-10-17

* Rename everything 'resin' to 'balena' [Tim Perry]

## v4.0.3 - 2017-12-13

* Make sure we have the correct version of npm in circle to publish #22 [Tim Perry]

## v4.0.2 - 2017-11-22

* Set up circleci npm autopublishing #21 [Tim Perry]

## v4.0.1 - 2017-11-02

* Upgrade resin-settings-client to fix typings issue #20 [Tim Perry]
* Reformat changelog to add versionbot #20 [Tim Perry]

## v4.0.0 - 2017-08-31

### Changed

- **Breaking!** Drop support for Node < 6
- Converted the sources to TypeScript
- Run browser tests in Chrome headless

## v3.0.1 - 2017-04-20

### Changed

- Checks for localStorage are now more robust and won't throw an error
	if cookies/storage are disabled in the browser.
- If localStorage is not available, fall back to an in-memory
	replacement.

## v3.0.0 - 2017-03-24

### Changed

- **Breaking!** Prefix localStorage keys in the browser with `resin-`. This will lose all existing stored values.

## v2.0.0 - 2016-10-09

### Changed

- **Breaking!** Disconnect this module from `resin-settings-client`. Now exports a factory method that accepts a `{ dataDirectory }` options in Node.js.
- Update `lodash` to v4

## v1.1.0 - 2016-09-09

### Changed

- Update `resin-settings-client` to make the package browser-compatible.
- Run test suite in the browser

## v1.0.4 - 2016-03-21

### Changed

- Set an infinite quota.

## v1.0.3 - 2016-01-12

### Changed

- Detect external changes to data directory.

## v1.0.2 - 2015-11-04

### Changed

- Omit tests from NPM package.

## v1.0.1 - 2015-09-07

### Changed

- Upgrade Resin Settings Client to v3.0.0.
