All notable changes to this project will be documented in this file.
The format is based on Keep a Changelog and this project adheres to Semantic Versioning.
v1.7.0 - 2023-10-20
v1.6.5 - 2023-10-20
- [New] compare
.toString,.valueOf, and[Symbol.toPrimitive]completionsfa8d0ae - [meta] use
npmignoreto autogenerate an npmignore file919afcd - [Tests] increase coverage
bbe8513 - [Dev Deps] update
eslint,@ljharb/eslint-config,aud,auto-changelog,es-value-fixtures,foreach,object.assign,tape157a4fe - [Refactor] use
hasowninstead ofhas590f3f6 - [Fix] improve error message when callability is mismatched
dc0f577 - [Deps] update
functions-have-names,has-bigints,has-symbols,is-callable,is-number-object,object-inspectc066c94 - [actions] update rebase action to use reusable workflow
34eeaf5 - [Deps] update
es-get-iterator,object-inspect,object.entries,object.getprototypeof8ce483c - [Dev Deps] update
@ljharb/eslint-config,aud,es6-shim,tapeb140b08 - [Tests] use
for-eachinstead offoreach8baba96 - [Deps] update
object-inspect65f0b06 - [Dev Deps] update
tapedca5479
v1.6.4 - 2022-01-10
- [actions] reuse common workflows
c8e9a71 - [Fix] still check own properties on Dates, RegExps, and Functions
3295149 - [actions] update codecov uploader
3157da9 - [Dev Deps] update
eslint,@ljharb/eslint-config,safe-publish-latest,tapeee76f73 - [Dev Deps] update
eslint,@ljharb/eslint-config,tape0653181 - [Deps] update
is-bigint,object.entries,object.getprototypeof282a4e6 - [Deps] update
object-inspectb084bdf
v1.6.3 - 2021-08-06
- [Refactor] increase coverage; remove redundant branches
c6b6672 - [Deps] update
is-bigint,is-boolean-object,is-callable,is-date-object,is-generator-function,is-number-object,is-regex,is-string,is-symbol,object-inspect,object.entriesa3b5498 - [Tests]
tapev5.3 exposed a bug in corejs tests; use--requireinsteada1e004e - [Refactor] use
has-symbols/shamsandhas-bigintsto more robustly detect these things4f3aee4 - [Dev Deps] update
auto-changelog,core-js,eslint,taped6a7b8e - [readme] fix usage code sample
04ce4d0
v1.6.2 - 2021-05-08
- [Tests] increase coverage
18f85ad - [Tests] migrate tests to Github Actions
61f82f7 - [Tests] run core-js tests on v2 and v3
aaa111d - [actions] use
node/installinstead ofnode/run; usecodecovactiondb83237 - [meta] remove unused Makefile and associated utilities
cb9cf3f - [Tests] run
nycon all tests6a55013 - [Dev Deps] update
eslint,@ljharb/eslint-config,tape,make-arrow-function,make-generator-functionadf932c - [Refactor] use
object.getprototypeofed3445b - [Dev Deps] update
eslint,@ljharb/eslint-config,aud,auto-changelog,es6-shimabd29fa - [Deps] update
es-get-iterator,functions-have-names,is-boolean-object,is-callable,is-date-object,is-number-object,is-regex,is-symbol,is-string,object.entries,which-collectionfbdb778 - [Fix]
why: compare two numbers properly297b810 - [Deps] update
is-boolean-object,is-date-object,is-generator-function,is-number-object,is-regex,is-string,object-inspect60aef5e - [Deps] update
es-get-iterator,is-bigint,is-callable,is-generator-function,is-regex,object-inspect,object.entries25cc9cb - [patch] "arrow function" should not be capitalized; "Generator function" is the proper term
4fa31c7 - [actions] add "Allow Edits" workflow
227f80e - [Dev Deps] update
eslint,@ljharb/eslint-config,aud,has-symbols,tape4bd6461 - [Deps] update
es-get-iterator,functions-have-names,is-boolean-object,is-callable,which-boxed-primitiveb9bdb70 - [readme] fix broken URLs
1d39cbf - [Deps] update
is-bigint,is-date-object,is-regex,object-inspect020835e - [readme] use https URLs
fd35312 - [Dev Deps] update
eslint,@ljharb/eslint-config,has-bigints,tape3a58efc - [Dev Deps] update
eslint,@ljharb/eslint-config,tape,aud733f027 - [readme] add actions and codecov badges
a53d5e4 - [Tests] exclude deprecated, unused files from coverage
bdd471b - [actions] switch Automatic Rebase workflow to
pull_request_targetevent115392b - [Dev Deps] update
aud,tape5e6018c - [Dev Deps] update
auto-changelog,tapec4fde3a - [meta] use
prepublishOnlyscript for npm 7+143ba39 - [readme] remove travis badge
0583b0f - [Dev Deps] update
auto-changelog; addaudafb177b - [Dev Deps] unpin
core-jsv3d44ccc0 - [Dev Deps] pin
core-jsv3 to < v3.963fd454 - [Deps] update
object.entriese5adb39 - [Tests] only audit prod deps
5e285d5 - [actions] update workflows
7945708
v1.6.1 - 2019-11-28
- [Refactor] use
es-get-iteratorinternally09dac2f - [Fix]
getSymbolIterator: make sure it can handle core-js alsod9d9198 - [readme] fix repo URLs, remove testling
35e5e37 - [actions] add automatic rebasing / merge commit blocking
6ddd2fc - [Dev Deps] update
eslint,@ljharb/eslint-config,has-symbols4a3bb24 - [Deps] update
is-symbol083c8b6 - docs: fix header syntax
8142a3b
v1.6.0 - 2019-11-11
- [meta] add
auto-changelog968f3e5 - [Tests] use shared travis-ci configs
600f4b3 - [Dev Deps] remove
jscs23c2e2e - [New] add support for BigInts
bf31461 - [Tests] up to
nodev11.6,v10.15,v8.15,v6.166145b4e - [Tests] up to
nodev8.2,v7.10,v6.11,v4.8; newer npm breaks on older nodes48cf16d - [Tests] up to
nodev10.1,v9.11,v8.11,v6.14,v4.994c2b86 - [Dev Deps] update
eslint,@ljharb/eslint-config; addsafe-publish-latest5809415 - [Tests] up to
nodev9.2,v8.9,v6.12; usenvm install-latest-npm; pin included builds to LTS7c6528d - [Tests] up to
nodev12.9,v11.15,v10.16,v8.162ea3e84 - [Tests] up to
nodev11.13,v6.1741b48e8 - [Dev Deps] update
@ljharb/eslint-config,eslint,nsp,semver,tape4eacf82 - [Dev Deps] update
eslint,@ljharb/eslint-config,core-js,covert,es6-shim,replace,semver,tapee5a6848 - [meta] create FUNDING.yml
fbce9ee - [Dev Deps] update
eslint,@ljharb/eslint-config,core-js,es6-shim,replace,semver298d528 - [Dev Deps] update
replace,semver,tape,nsp,eslint,core-js,@ljharb/eslint-config[8ee88e7`](https://github.com/inspect-js/is-equal/commit/8ee88e78ebed836a78495418435950d2de7cd58e) - [Tests] use
has-symbolsda43e4d - [Dev Deps] update
eslint,@ljharb/eslint-config,replace,semver,tape0db9191 - [Tests] use
npm auditinstead ofnsp3a93636 - [Dev Deps] update
eslint,@ljharb/eslint-config,semverf35a03a - [Dev Deps] update
eslint,nsp,@ljharb/eslint-config,core-js63967ba - [Tests] test on both core-js 3 and 2
9c4e491 - [Tests] use
npx audinstead ofnpm auditwith hoops494ba19 - Only apps should have lockfiles
8dbdcc6 - [meta] add
fundingfielde350d2f - [Tests] fix linting
f31ff12 - [Deps] update
is-callable,is-symbol65c9e04 - [Dev Deps] update
core-js,tape87e23ee - [Tests] fix linting errors
54f3476 - [meta] remove unused
nsp826e6f2 - [Deps] update
object.entriesfce1776 - [Deps] update
hasa3443e1 - [Deps] update
is-generator-functiond11429a - [Deps] update
is-regex9257a28
v1.5.5 - 2017-02-05
- [Fix] remove early failure for stringified arrays, to handle Symbols in arrays.
#194
- [Dev Deps] update
eslint,@ljharb/eslint-config35549f1
v1.5.4 - 2017-01-25
- Exclude
htmlfiles, which were never intentionally added to the package.#34
- [Tests] up to
nodev7.4,v4.7; improve test matrix6f20b3d - [Tests] pass functions through
Objectto avoid function name inference in node 7.99ba6de - [Tests] up to
nodev7.0,v6.9,v4.6; improve test matrixf834855 - [Dev Deps] update
tape,jscs,semver,eslint,@ljharb/eslint-config,nspa53cc6f - [Dev Deps] update
tape,eslint,@ljharb/eslint-configd42d423 - [Dev Deps] update
tape,jscs,semver,eslint,@ljharb/eslint-config,nsp,core-jsc064e99 - [Dev Deps] update
eslint,@ljharb/eslint-config5139dd8 - [Dev Deps] update
eslinte5e9d91 - [Dev Deps] update
eslint,@ljharb/eslint-config,es6-shimf6de73d - [Dev Deps] remove extra
object.entries; updateeslint,es6-shimfdcdbe5 - [Deps] update
object-entries,is-generator-functionc1bc768 - [Tests] up to
nodev7.290aa4ea - [Tests] on
nodev6.2,v5.123ee66c5
v1.5.3 - 2016-05-24
- [Fix] avoid false circular reference positives with falsy values in nested objects.
#24
v1.5.2 - 2016-05-18
- [Dev Deps] update
tape,jscs,eslint,@ljharb/eslint-config,nsp,core-jsed25637 - [Dev Deps] update
jscs,eslint,nsp,core-js043d51c - fix
Object.prototype.toString()comparisonce2ca36 - [Dev Deps] update
jscs,eslint,@ljharb/eslint-config,nsp,es6-shim,core-js6034d56 - [Tests] use pretest/posttest for linting/security
82c3c9d - [Tests] up to
nodev5.9,v4.4be477e9 - [Dev Deps] update
eslint,es6-shim,core-jsac1e3ac - [Tests] up to
nodev6.19cb7c69 - [Tests] on
nodev5.10c798cfe - [Deps] update
is-callable9b8e53b - [Tests] on
nodev5.701c52fa
v1.5.1 - 2016-02-22
- [Fix] fix "why" message for circular reference inequality
#12
- [Refactor] Delete unreachable code.
8af4f70 - Add tests for circular reference inequality.
fd8bdfa - [Tests] fix assertion message (followup to #11)
adc9c0a - Fix error message sense.
b2faa62 - Fix example
d701069 - Fix err msg for inequal circ ref (+second, -first).
6b9e478
v1.5.0 - 2016-02-15
- [New] add “whyNotEqual” at
require(‘is-equal/why’)to provide an inequality reason.fd7a11d - [Refactor] use
whyNotEqualinternally inisEqual692f0a5 - [Tests] add some more tests.
06f434f - [Dev Deps] update
tape,jscs,eslint,@ljharb/eslint-config,core-js,es6-shimf0fc78c - [Tests] up to
nodev5.6,v4.3087c8e6 - [Dev Deps] update
jscs,eslint,@ljharb/eslint-config637fa7c - [Tests] use
getSymbolIteratorinternal module.8f47efa - [Dev Deps] update
tape,nsp,core-jse246264 - [Deps] update
is-callable2766a04 - [Dev Deps] update
es6-shime6f5e76
v1.4.2 - 2015-12-16
- [Fix] avoid false positives when the first items in two arrays are not equal.
#5
v1.4.1 - 2015-12-15
- [Tests] add tests to ensure proper key ordering
#3
- [Fix] ensure that zloirock/core-js#144 doesn't cause false positives.
61c73ca - Factor out "get Symbol.iterator" logic.
8546880 - [Tests] Add more
Settests, per #4.ca2e21f - [Refactor] move
Map/SetforEachmethod detection to a separate module.815dfbe - [Tests] Fix new tests from ca2e21f064e76128cb828f500374286c46af4b4e in node 0.12
778f77f - [Robustness] cache
Object#isPrototypeOfa22c35f - [Tests] add test cases from #4.
3d65d78 - [lint] add missing 'use strict' directive
c6e098e
v1.4.0 - 2015-12-10
- [New / Fix] Restore basic circular reference support.
#2
- [Deps] use
hasinstead of relying onFunction#call.0eeda8f
v1.3.1 - 2015-12-10
- [Fix] Partially revert 2517c2151d57451f7f7009df065bf1601316ee46, since object key ordering shouldn't matter.
#3 - [Fix] handle
Map/Setin Safari 8, which lacksSymbol.iterator.#3 - [Tests] add tests for circular references.
#2
- [Refactor] don't attempt to run iterable comparisons when there's no Symbol.iterator.
8e34291 - [Fix] ignore function name when comparing in engines that lack the "name" property (IE)
d222ba0 - [Tests] relocate native tests.
504a8cb - [Tests] Separate shimmed from native tests.
078e64a - [Fix] normalize function signature whitespace, for IE 9.
3e0df7b - [Tests] Only skip generic iterable tests when there's no Symbol.iterator.
b8ef004
v1.3.0 - 2015-12-09
- [New] add support for comparing iterables, including native or
es6-shimmedMapandSet.#1
- [Dev Deps] update
tape,jscs,semver,eslint,@ljharb/eslint-config,nsp8bbacb7 - [Refactor] Use
object.entriesto compare objects instead of for loops.2517c21 - [Dev Deps] update
tape,jscs,eslint,@ljharb/eslint-confige4b11ef - [Tests] fix npm upgrades for older nodes
cb98523 - [Dev Deps] update
jscs,eslint,nspf1f2b1b - [Tests] up to
nodev5.12093e30 - [Deps] update
is-callablec3c0669 - [Deps] update
is-callable241f8e5 - [Tests] ensure node 0.8 doesn't fail.
6ac38fe
v1.2.4 - 2015-09-27
- Update
tape,jscs,semver. Addnpm run eslintandnpm run security.539df80 - Update
eslint,tape,semver; use my personal sharedeslintconfig.d20d796 - Update
eslint114b87b - All grade A-supported
node/iojsversions now ship with annpmthat understands^.da9eedf - Update
tape,jscs,eslint,@ljharb/eslint-config8a1b2b9 - Update
covert,jscs,eslint,semver6ad9c2b - [Dev Deps] update
tape,jscs,make-arrow-function,semver,eslint,@ljharb/eslint-config,nsp2829e84 - Update
eslint,semver,nsp00c1c6c - [Fix] Boxed Symbols should be coerced to primitives before testing for equality.
0ed5277 - Use
is-boolean-object.ba4dcee - Test on latest
io.jse7ee752 - [Tests] up to
io.jsv3.3,nodev4.141489a0 - [Dev Deps] update
jscs393bf3f - Test up to
io.jsv2.3cdbc4e0 - Test up to
io.jsv2.12a86466 - [Deps] update
is-arrow-function,is-date-objectc598d44 - [Dev Deps] Update
tape,eslint63da2af - Update
make-generator-function,semverff5ee98 - Fix
make release4ac1349 - [Dev Deps] update
tapeb9caa6b - Switch from vb.teelaun.ch to versionbadg.es for the npm version badge SVG.
8f3fcaa - Test on
io.jsv2.53503609 - Test on
io.jsv2.43b41559 - Updating
semver52706a3 - Test on
io.jsv3.02e14995
v1.2.3 - 2015-02-06
- Update
is-callable,is-number-object,is-regex,is-string314891e - Run
travis-citests oniojsandnodev0.12; speed up builds; allow 0.8 failures.6d78102 - Update
is-generator-function,tape,jscs2fa7c6f
v1.2.2 - 2015-01-29
- Update
is-arrow-function,is-callable,is-number-object,is-stringbf05888
v1.2.1 - 2015-01-29
- Use
is-stringandis-callablemodules.0769199
v1.2.0 - 2015-01-28
make releasec6186d4- Use
is-regex/is-date-object/is-number-objectto properly check RegExps/Dates/Numbers, despite@@toStringTag.c0be34d - Use try/catch for a more reliable isFunction check, even with ES6 @@toStringTag
c7c47c1 - Use try/catch for a more reliable isString check, even with ES6 @@toStringTag
2e64fe6 - Use try/catch for a more reliable isBoolean check, even with ES6 @@toStringTag
612bf6b - Improve Array checks to avoid checking Object#toString when possible.
4617222 - Remove
[object Object]checking.bc96071 - Add an early return for
null/undefinedf00381b
v1.1.1 - 2015-01-20
- Fix generator functions in newer v8 / io.js.
9e907dd - Update
is-generator-function,tape,jscsb1828a6 - toString is a reserved word in older browsers.
c9577e4 - Update
jscsaeb3ff8 - Update
is-arrow-function,is-generator-function64676e4
v1.1.0 - 2014-12-15
- Using my standard jscs.json file
e180beb - Adding
npm run lint69d590e - Adding tests and support for comparing generators.
fb03635 - Adding tests and support for comparing arrow functions.
57c719d - Consider functions "equal" if type, name, arity, and body are equal.
6622d56 - Add tests for Symbols.
5aea5b6 - Adding license and downloads badges
815cdda - Adding forEach and copyFunction helpers for tests.
f5d7190 - Using consistent quotes
e756817 - Use SVG instead of PNG badges
8f7995f - Removing this unnecessary test line, and refactoring up
hasSymbols.95218d6 - Update
tape,jscs3f254eb - Update
tape,jscs080a913 - Run tests with --harmony.
5311996 - Update
tape0f81bc4 - Lock covert to v1.0.0.
39c0281 - Updating
taped31472d - Update jscs
aea1c63 - Updating jscs
34fe2e3 - Run linter as part of tests
4c7efb0 - Updating covert
cd6abb5
v1.0.0 - 2014-08-08
- Make sure old and unstable nodes don't break Travis
f33db37 - Updating tape
a28ec09 - Updating tape
b15cd46 - Updating covert
8d443f3 - Updating tape
f231d59
v0.1.0 - 2014-03-23
- Adding support for boxed primitives
a074e04 - Use hasOwnProperty instead of "in".
909f259 - Trying the parent/child disqualification again.
34aa425 - proto may be a reserved word in ES3
ebe9113 - Updating dependencies
675fc60 - Oops, fixing mixed spaces and tabs
34f6860 - Updating tape
5d52e87 - Testing node 0.6 again
6feb16d - Faking the constructor. Yay JS inheritance!
b899f88
- Tests.
a52f527 - Implementation.
2669d7e - package.json
6608349 - read me
6626f5d - Initial commit
16dea8f - Adding a getPrototypeOf shim
3c59ef9 - Firefox <= 16 elides comments from a function's string representation.
35d22cf - Check function lengths as well for equality.
e944591 - Travis CI
dd86cc1 - Trying to return Object.prototype in IE when none is found
233aca3 - Temporarily commenting out this test.
a0d3efd - Trying to ensure later Opera versions are tested
cc1ff14 - Instead of relying on "this", check an empty object.
fbf110a - Optimization for array comparison
0169b55