Skip to content

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.Options interface
  • #395 Incorrect default documented for mergeArrays option

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

  • #383 Updates assert() type to declare condition to be true
  • #379 Fix version range

10.0.0

  • #377 Support node v18 and drop node v12

Version 9

9.3.0

  • #373 Handle very long timeouts in Hoek.wait()
  • #372 Cleanup

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

  • #347 Support only node 12
  • #343 Safer and faster shallow handling

Version 8

8.5.1

  • #353 Prevent prototype poisoning in clone() (v8)

8.5.0

  • #346 Add isPromise()

8.4.0

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

  • #338 Export interfaces
  • #337 deepEqual with skip seems to ignore missing properties

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

  • #322 Break methods for deep require
  • #321 Handle no Buffer support

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

  • #315 v8.0.0 Release Notes
  • #314 Change assert() AssertionError to Error
  • #313 Remove uniqueFilename()

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

  • #295 Bootstrap types from @types
  • #294 Handle promises in deepEqual()

6.2.1

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

  • #282 Ignore symbols by default in deepEqual()
  • #281 Symbol support

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

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

  • #221 Update deps
  • #220 Throw instances of AssertionError on asserts

5.0.1

  • #218 base64urlDecode() should throw, not return errors

5.0.0

  • #212 Remove nextTick()
  • #211 Remove Timer
  • #210 Require node v8
  • #206 Add a wait() method

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

4.0.1

  • #191 update to code 3.x.x
  • #190 Use map for cloning memoizer

4.0.0

  • #186 update lab
  • #185 improve .unique to make use of es6 Set performance
  • #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

  • #173 fix linting error
  • #171 fix mapToObject documentation

3.0.1

  • #169 Lint errors. Closes #168
  • #168 ES6 lint errors

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

  • #103 avoid hasOwnProperty so plain objects work
  • #102 Plain objects can't be compared.

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

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

  • #51 Add isInteger()
  • #49 match() -> test()

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

Deploys by Netlify