Changelog
Version 11
11.0.7
- #402 Fix cloning Util.inherit() subclassed errors. Backports #401
- #401 Fix cloning Util.inherit() subclassed errors
- #400 Hoek.clone drop an error with axios errors in version @hapi/hoek 11.0.6+
11.0.6
- #399 Fix Error clone() when structuredClone uses bad prototype
11.0.5
- #398 fix: missing stack starting from node 21+
- #396 Fix default values for
merge.Optionsinterface - #395 Incorrect default documented for
mergeArraysoption
11.0.4
- #389 fix: provide reference to TS types for export map
- #385 Missing types in typescript with module resolution nodenext
11.0.3
- #392 Support the URL type
11.0.2
- #384 chore: add individual module types
11.0.1
- #380 Explicitly export modules
11.0.0
- #382 Refactor AssertError
Version 10
10.0.1
10.0.0
- #377 Support node v18 and drop node v12
Version 9
9.3.0
9.2.1
- #371 Fix reachTemplate() regex timing
9.2.0
- #368 Support named imports when using node esm loader
9.1.1
- #367 applyToDefaults: respect nullOverride when shallow is used
- #365 Fix applyToDefaults to work better with non-object source values
- #361 upgrade lab to v24 and devDependency of typescript
9.1.0
- #360 Always call base class methods to inspect Map and Set
- #359 Add returnValue option to wait()
- #357 deepEqual() can fail on subclassed map
9.0.4
- #351 Fix 'compare is not a function'
9.0.3
- #352 Prevent prototype poisoning in clone()
9.0.2
- #350 Clone fails to copy override array prototype
9.0.1
- #349 Fix shallow defaults clone
9.0.0
Version 8
8.5.1
- #353 Prevent prototype poisoning in clone() (v8)
8.5.0
- #346 Add isPromise()
8.4.0
- #345 Add ts.XOR<>
8.3.2
- #344 Improve clone() performance
8.3.1
- #342 contain() part option allows no matches
8.3.0
- #341 Block once in contain() when subject is an object
- #340 Error.captureStackTrace can't be used in Joi's browser build
8.2.5
8.2.4
- #330 Remove deep limit on contain with object
8.2.3
- #329 deepEqual() fails to compare errors when prototype is false
- #327 contain() passes with extra values with only and not once
8.2.2
8.2.1
- #324 Fix empty ref bug in contain when only is true
- #323 contain() is always true for empty ref with only and not once
8.2.0
8.1.0
- #319 skip and deepFunction options for deepEqual()
8.0.2
- #317 Restore ability to assert with pre-made error
8.0.1
- #316 Make assert() generate a named Error so bounce can identify
8.0.0
Version 7
7.2.1
- #312 Minor performance
7.2.0
- #311 Support reach into Set and Map objects
7.1.0
- #308 Shallow clone of entire object
7.0.0
- #306 v7.0.0 Release Notes
- #305 Support symbols in merge()
- #304 Replace applyToDefaultsWithShallow() with applyToDefaults(..., { shallow })
- #303 Replace cloneWithShallow() with clone(value, { shallow })
- #285 Change all individual option arguments to { options } object
- #284 Default handling of symbols to true by default
Version 6
6.2.6
- #328 deepEqual() skip fails when number of keys is diff
6.2.4
- #302 Fix clone of subclassed Set and Map
- #301 Fix: Add map and set to seen map
- #300 Stack overflow in clone in v6.2.3
- #298 Typescript enhancements
6.2.3
- #299 Set deepEqual() prototype option to true by default, not just when no options are passed
- #297 Clone Map and Set
- #228 Hoek.clone() issues
6.2.2
6.2.1
- #291 Update deps
6.2.0
- #289 Change module namespace
6.1.3
- #290 Fix clone without prototype
6.1.2
- #283 Revert cloning of symbols to false by default
6.1.1
6.0.4
- #278 Hoek.clone() defineProperty issue
6.0.3
- #277 Don't apply part option to contain() by default
6.0.2
- #276 Fix contain() with duplicates and only
6.0.1
- #274 Remove engines
6.0.0
- #268 API deprecations
- #260 deepEqual does not check both sides in full
- #254 Add Map and Set support to deepEqual()
- #242 Rework deepEqual()
- #238 deepEqual and array properties
- #236 Hoek.deepEqual false positive
Version 5
5.0.4
- #269 Try object ref comparison first in deepClone()
5.0.3
- #227 Don't use deprecated new Buffer() api
5.0.2
5.0.1
- #218 base64urlDecode() should throw, not return errors
5.0.0
Version 4
4.3.0
- #288 Commercial version for 4.x branch
4.2.0
- #204 Add escape json
4.1.1
- #203 Fix isInteger for unsafe integers
4.1.0
- #197 Enhancement: Make contain see non-enumerable's
4.0.2
- #195 npmignore
4.0.1
4.0.0
- #186 update lab
- #185 improve .unique to make use of es6
Setperformance - #184 improve .unique performance
- #183 Fix for issue #177
- #181 removed isAbsolutePath method
- #180 refactor(merge): use !== rather than ^
- #179 isAbsolutePath obsolete?
- #177 Assert when value is not a string
- #124 transform method does not respect separator option
Version 3
3.0.4
- #152 Hoek.reach and non standard JS objects
3.0.3
- #164 Hoek.deepEqual providing false positive result
3.0.2
3.0.1
3.0.0
Version 2
2.16.3
- #162 Hoek.clone on process.env
2.16.2
- #161 hoek.reach should allow empty keys
2.16.1
- #160 cleanup loop from #148
2.16.0
- #159 Allow reach to work with falsy values (empty str)
2.15.0
- #148 generalize Hoek.transform to accept an array of objects
2.14.0
- #147 Reach template
- #146 Add reachTemplate() to apply reach() functionality to a templatized string
- #139 Clone fails on objects with null prototypes
2.13.1
- #145 options for deepEqual don't pass on to recursive calls in arrays
- #134 Allow for deep partial contain
2.13.0
- #140 Add isNullOverride to applyToDefaults
2.12.0
- #133 Added option parameter to deepEqual.
2.11.1
- #131 Clone even non-enumerable properties.
- #130 Hoek.deepEqual({a: 'foo'}, {a: 'foo', b: 'bar'}) return true
- #128 Fix deepEqual on empty objects. Fixes #127.
- #127 deepEqual behaving unexpectedly with empty object
2.11.0
- #117 Throw error directly if it is the only thing passed in as the message
- #116 Hoek.assert - throw error that is passed in as message
- #115 Adds ability to do Hoek.reach with negative index
2.10.0
- #110 enhance withShallow methods to support nested keys. Closes #109
- #109 Enhance shallow clone methods to support nested keys
2.9.1
- #108 Fix applyToDefaultsWithShallow default clone. Closes #107
- #107 applyToDefaultsWithShallow() fail to retain defaults shallow key
2.9.0
- #106 Clone, shallow, and stringify
- #105 Move shallow and stringify from hapi
- #104 Clone fails to copy object property if only setter used
2.8.1
2.8.0
- #99 assert() adds whitespace even when arguments are empty
- #97 Add contain()
- #96 Add contain() comparison function for strings, objects, and arrays
- #95 deepEqual() fails to compare arrays with non literal members
2.7.0
- #94 deepEqual
2.6.0
- #93 dont execute getters when cloning
- #91 Added util.format
- #89 Don't clone properties with getter by executing the getter
2.5.1
- #88 Allow falsey values to be used as default value in Hoek.reach()
2.5.0
- #84 Replaced proto with Object.create()
- #82 uniqueFilename
- #79 Update to lab 4.x
- #76 Close #75, properly preform test
- #75 Test 43 case for applyToDefaults not accurately testing
2.4.1
- #71 Allow assert to be optimized
2.4.0
- #72 Rename spumko to hapijs
- #70 Protect against null prototypes
- #68 Transform Function
- #66 Default Value for Reach
- #62 Cannot read property 'isImmutable' of null
2.2.0
- #59 merge() shallow copies array members when merging
- #58 Shallow copy objects with prototype.isImmutable flag
- #57 clone() creates multiple copies of the same date, regex, or buffer object
2.1.1
- #54 Detect [[Class]] instead of using instanceof
2.1.0
2.0.0
- #48 Bring coverage back to 100% after lab logical statement support
- #47 Add isAbsolutePath for unix and windows when using node <0.11
- #46 Cleanup API and remove/move unused functions
Version 1
1.5.2
- #45 Rename should throw an error for invalid property .
1.5.1
- #44 Bring coverage back to 100% after lab fix