SkeLLLa/node-object-hash

View on GitHub
docs/CHANGELOG-v2.md

Summary

Maintainability
Test Coverage
# Changelog

All notable changes to this project will be documented in this file. See [standard-version](https://github.com/conventional-changelog/standard-version) for commit guidelines.

### [2.3.10](https://github.com/SkeLLLa/node-object-hash/compare/v2.3.9...v2.3.10) (2021-09-14)


### Misc

* **deps:** update ([996e344](https://github.com/SkeLLLa/node-object-hash/commit/996e3441a4560c2f909f8e9e0ef674201a0275c2))

### [2.3.9](https://github.com/SkeLLLa/node-object-hash/compare/v2.3.8...v2.3.9) (2021-08-18)

### [2.3.8](https://github.com/SkeLLLa/node-object-hash/compare/v2.3.7...v2.3.8) (2021-07-31)

### [2.3.7](https://github.com/SkeLLLa/node-object-hash/compare/v2.3.6...v2.3.7) (2021-06-17)


### Misc

* update links ([f48c0c9](https://github.com/SkeLLLa/node-object-hash/commit/f48c0c99c7d9f60b7a75109e72a7d373d3913d1b))

### [2.3.6](https://github.com/SkeLLLa/node-object-hash/compare/v2.3.5...v2.3.6) (2021-06-17)


### Tests

* update jest types ([b1a7774](https://github.com/SkeLLLa/node-object-hash/commit/b1a7774e96d640e9cbce95527c629bdb9ba2d07e))

### [2.3.5](https://github.com/SkeLLLa/node-object-hash/compare/v2.3.4...v2.3.5) (2021-06-17)


### Misc

* **deps:** update ([d16d2b2](https://github.com/SkeLLLa/node-object-hash/commit/d16d2b2ecaa36bdbb3a4c0d238be4dae4bf18222))


### Bug fixes

* revert ts to 4.2 ([6423ea7](https://github.com/SkeLLLa/node-object-hash/commit/6423ea701113f92f9570169c63138dde012f20ed))

### [2.3.4](https://github.com/SkeLLLa/node-object-hash/compare/v2.3.3...v2.3.4) (2021-06-14)

### [2.3.3](https://github.com/SkeLLLa/node-object-hash/compare/v2.3.2...v2.3.3) (2021-05-29)

### [2.3.2](https://github.com/SkeLLLa/node-object-hash/compare/v2.3.1...v2.3.2) (2021-05-28)

### [2.3.1](https://github.com/SkeLLLa/node-object-hash/compare/v2.3.0...v2.3.1) (2021-02-28)


### Tests

* add tests for every possible option ([0fc56f0](https://github.com/SkeLLLa/node-object-hash/commit/0fc56f08bb8d7cadcfed1d136eb3b2f5b89fa8ba))

## [2.3.0](https://github.com/SkeLLLa/node-object-hash/compare/v2.2.0...v2.3.0) (2021-02-24)


### Features

* add sorting option for typed arrays ([28d5344](https://github.com/SkeLLLa/node-object-hash/commit/28d53445d1f59213ac32de77890b0311a0dffe7f))


### Bug fixes

* stringification of typed arrays ([bc1e1a6](https://github.com/SkeLLLa/node-object-hash/commit/bc1e1a6654036935769006df4823cd16a67c0a62))

## [2.2.0](https://github.com/SkeLLLa/node-object-hash/compare/v2.1.2...v2.2.0) (2021-02-22)


### Features

* add bigint support ([544d97e](https://github.com/SkeLLLa/node-object-hash/commit/544d97e9712961effae0a6940357bb1f8b9adcc6))


### Bug fixes

* coerce option for bigint ([ca2f87c](https://github.com/SkeLLLa/node-object-hash/commit/ca2f87c7af8270ec5ce89de1bb166257000ffca1))
* typo in doc ([d9d7e24](https://github.com/SkeLLLa/node-object-hash/commit/d9d7e24f2b45e5b14c92a01da648f6ad9daf8427))
* **typos:** fix typos in test and contributing.md ([2ee3ddd](https://github.com/SkeLLLa/node-object-hash/commit/2ee3ddde2cd062844b2d3829f13647bf78b88eb7))

### [2.1.2](https://github.com/SkeLLLa/node-object-hash/compare/v2.1.1...v2.1.2) (2021-01-29)

### [2.1.1](https://github.com/SkeLLLa/node-object-hash/compare/v2.1.0...v2.1.1) (2021-01-29)

## 2.1.0 (2021-01-27)

### Features

- added warnings to eslint errors ([422c893](https://github.com/SkeLLLa/node-object-hash/commit/422c8932e8ad140553259e9e49555f7ddfef4db1))
- fixed eslint errors ([e9245f7](https://github.com/SkeLLLa/node-object-hash/commit/e9245f7aa3aa14238fbb62d97dacdcc414ec0f40))
- fixed npm script issue ([0bf8c17](https://github.com/SkeLLLa/node-object-hash/commit/0bf8c175ae058bbc442628e953ff577be500d865))
- updated typescript, migrated to tslint ([3a40fcc](https://github.com/SkeLLLa/node-object-hash/commit/3a40fccbe03f265b8452b59ac1434cb1b0ceb6a3))

### Bug fixes

- remove unnecessary checks ([1bbad3a](https://github.com/SkeLLLa/node-object-hash/commit/1bbad3a2f6dc1dd28ed48ab2ca065b878b450f53))
- **lint:** fix eslint ([caeac70](https://github.com/SkeLLLa/node-object-hash/commit/caeac700031c7637448e4d76f2d2fe9276df2b01))
- **types:** fix encoding type ([cdc6958](https://github.com/SkeLLLa/node-object-hash/commit/cdc69588b781095764d574b6f14e00b2609ff4e5))
- improve checking of Hashable applicant ([3856207](https://github.com/SkeLLLa/node-object-hash/commit/38562077f9465e1aa871e607fd13de861f10582d))

### Misc

- **deps:** bump deps ([a370ea2](https://github.com/SkeLLLa/node-object-hash/commit/a370ea2bf9b89b94063d5fb3e584da20dd0eb855))
- **pj:** add prettier to docs ([77b6001](https://github.com/SkeLLLa/node-object-hash/commit/77b6001674284fc613e95fd44cddb9aec143aeb5))
- **pj:** update scripts ([dd8c778](https://github.com/SkeLLLa/node-object-hash/commit/dd8c778301899e41dacb73f83426a733bb327dda))

## [2.0.0](https://gitlab.com/m03geek/node-object-hash/compare/v2.0.0-rc.1...v2.0.0) (2019-09-07)

## [2.0.0-rc.1](https://gitlab.com/m03geek/node-object-hash/compare/v2.0.0-rc.0...v2.0.0-rc.1) (2019-09-03)

## [2.0.0-rc.0](https://gitlab.com/m03geek/node-object-hash/compare/v1.4.2...v2.0.0-rc.0) (2019-09-03)

### ⚠ BREAKING CHANGES

- Library rewritten in typescript that could cause some side-effects, but it should not.
- With `coerce=false` `Set`s will no longer generate the same hashes as `Array`s. In order to restore previous behavior set `coerce.set=true`.
- With `coerce=false` `Symbol`s will generate hash based on symbol `.toString` value. That's useful for `Symbol.for('smth')`. If `coerce.symbol=true` all `Symbols`s will have equal hashes.
  TLDR; If you use library with `Set`s or `Symbol`s with `coerce=false` in order to keep hashes the same as in `v1.X.X` you should use following constructor:

```
const hasher = require('node-object-hash')({coerce: {set: true, symbol: true}})
```

- Object sorter sources moved to `dist` directory. If you required it directly via `require('node-object-hash/objectSorter')` you should change it to require('node-object-hash/dist/objectSorter').
- Removed old `v0` version from code.
- Changed license to MIT.

### Bug Fixes

- **hasher:** fix options ([05241ca](https://gitlab.com/m03geek/node-object-hash/commit/05241ca))

### Features

- major refactor ([450471e](https://gitlab.com/m03geek/node-object-hash/commit/450471e))
- New granular options. Now you can specify what types need to be sorted or coerced.
- Add new `trim` option. It can be used to remove unncecessary spaces in `string`s or `function` bodies.
- Library rewritten to typescript, so it may have better ts compatibility.

## [1.4.X](https://gitlab.com/m03geek/node-object-hash/compare/v1.3.0...v1.4.2)

### Features

- Add support for objects without constructor #11 [PR @futpib](https://gitlab.com/m03geek/node-object-hash/pull/12)
- Simplify eslint rules, update codestyle

### Fixes

- Fix npm links issues in readme
- Update dev dependencies

## [1.3.X](https://gitlab.com/m03geek/node-object-hash/compare/v1.2.0...v1.3.0)

### Features

- Add definition types to support typescript
- Add >=node-8.0.0 support in tests.

## [1.2.X](https://gitlab.com/m03geek/node-object-hash/compare/v1.1.6...v1.2.0)

### Features

- Added typed arrays support
- Added primitive type constructors support
- Add more docs about type mapping and type coercion

## [1.1.X](https://gitlab.com/m03geek/node-object-hash/compare/v1.0.3..v1.1.6)

### Features

Mainly all changes affected codestyle and documentation to provide better
experience using this library. There are no changes that should affect
functionality.

- Renamed `sortObject` function to `sort` (old one is still present in code
  for backward compatibility).
- Performed some refactoring for better codestyle and documentation.
- Old version (`0.X.X`) moved to subfolder (`./v0`).
- Advanced API reference added: [link](API.md).

## [1.0.0](https://gitlab.com/m03geek/node-object-hash/compare/v0.1.0...v1.0.3)

- Sorting mechanism rewritten form ES6 Maps to simple arrays
  (add <=node-4.0.0 support)
- Performance optimization (~2 times faster than 0.x.x)
- API changes:
  - Now module returns 'constructor' function, where you can set
    default parameters: `var objectHash = require('node-object-hash')(options);`

In case if you still need an old 0.x.x version it's available in `hash.js`
file.