CHANGELOG.md 17.1 KB

1.18.0-next.1 / 2020-09-30

  • [Fix] ES2020: ToInteger: -0 should always be normalized to +0 (#116)
  • [patch] GetIntrinsic: Adapt to override-mistake-fix pattern (#115)
  • [Fix] callBind: ensure compatibility with SES
  • [Deps] update is-callable, object.assign
  • [Dev Deps] update eslint, @ljharb/eslint-config
  • [eslint] fix warning
  • [Tests] temporarily allow SES tests to fail (#115)
  • [Tests] ses-compat - initialize module after ses lockdown (#113)
  • [Tests] [Refactor] use defineProperty helper rather than assignment
  • [Tests] [Refactor] clean up defineProperty test helper

1.18.0-next.0 / 2020-08-14

  • [New] add ES2020
  • [New] GetIntrinsic: add %AggregateError%, %FinalizationRegistry%, and %WeakRef%
  • [New] ES5+: add abs, floor; use modulo consistently
  • [New] GetIntrinsic: Cache accessed intrinsics (#98)
  • [New] GetIntrinsic: Add ES201x function intrinsics (#97)
  • [New] ES2015+: add QuoteJSONString, OrdinaryCreateFromConstructor
  • [New] ES2017+: add StringGetOwnProperty
  • [New] ES2016+: add UTF16Encoding
  • [New] ES2018+: add SetFunctionLength, UnicodeEscape
  • [New] add isLeadingSurrogate/isTrailingSurrogate helpers
  • [Fix] ES5+: ToPropertyDescriptor: use intrinsic TypeError
  • [Fix] ES2018+: CopyDataProperties/NumberToString: use intrinsic TypeError
  • [Deps] update is-regex, object-inspect
  • [Dev Deps] update eslint

1.17.7 / 2020-09-30

  • [Fix] ES2020: ToInteger: -0 should always be normalized to +0 (#116)
  • [patch] GetIntrinsic: Adapt to override-mistake-fix pattern (#115)
  • [Fix] callBind: ensure compatibility with SES
  • [Deps] update is-callable, is-regex, object-inspect, object.assign
  • [Dev Deps] update eslint, @ljharb/eslint-config

1.17.6 / 2020-06-13

  • [Fix] helpers/getSymbolDescription: use the global Symbol registry when available (#92)
  • [Fix] ES2015+: IsConstructor: when Reflect.construct is available, be spec-accurate (#93)
  • [Fix] ES2015+: Set: Always return boolean value (#101)
  • [Fix] ES2015+: Set: ensure exceptions are thrown in IE 9 when requested
  • [Fix] Use Reflect.apply(…) if available (#99)
  • [Fix] helpers/floor: module-cache Math.floor
  • [Fix] helpers/getSymbolDescription: Prefer bound description getter when present
  • [Fix] 2016: Use getIteratorMethod in IterableToArrayLike (#94)
  • [Fix] helpers/OwnPropertyKeys: Use Reflect.ownKeys(…) if available (#91)
  • [Fix] 2018+: Fix CopyDataProperties depending on this (#95)
  • [meta] mark spackled files as autogenerated
  • [meta] Type: fix spec URL
  • [meta] ES2015: complete ops list
  • [Deps] update is‑callable, is‑regex
  • [Deps] switch from string.prototype.trimleft/string.prototype.trimright to string.prototype.trimstart/string.prototype.trimend
  • [Dev Deps] update eslint, @ljharb/eslint-config, in-publish, object-is, tape; add aud
  • [eslint] helpers/isPropertyDescriptor: fix indentation
  • [Tests] helpers/getSymbolDescription: add test cases; some envs have Symbol.for but can not infer a name (#92)
  • [Tests] try out CodeQL analysis
  • [Tests] reformat expected missing ops
  • [Tests] Run tests with undefined this (#96)

1.17.5 / 2020-03-22

  • [Fix] CreateDataProperty: update an existing property
  • [Fix] run missing spackle from cd7504701879ddea0f5981e99cbcf93bfea9171d
  • [Dev Deps] update make-arrow-function, tape, @ljharb/eslint-config

1.17.4 / 2020-01-21

  • [Fix] 2015+: add code to handle IE 8’s problems
  • [Tests] fix tests for IE 8

1.17.3 / 2020-01-19

  • [Fix] ObjectCreate 2015+: Fall back to __proto__ and normal new in older browsers
  • [Fix] GetIntrinsic: ensure the allowMissing property actually works on dotted intrinsics

1.17.2 / 2020-01-14

  • [Fix] helpers/OwnPropertyKeys: include non-enumerables too

1.17.1 / 2020-01-14

  • [Refactor] add OwnPropertyKeys helper, use it in CopyDataProperties
  • [Refactor] IteratorClose: remove useless assignment
  • [Dev Deps] update eslint, tape, diff

1.17.0 / 2019-12-20

  • [New] Split up each operation into its own file (prereleased)
  • [Fix] GetIntrinsic: IE 8 has a broken Object.getOwnPropertyDescriptor
  • [Fix] object.assign is a runtime dep (prereleased)
  • [Refactor] GetIntrinsic: remove the internal property salts, since % already handles that
  • [Refactor] GetIntrinsic: further simplification
  • [Deps] update is-callable, string.prototype.trimleft, string.prototype.trimright, is-regex
  • [Dev Deps] update @ljharb/eslint-config, object-is, object.fromentries, tape
  • [Tests] add .eslintignore
  • [meta] remove unused Makefile and associated utils
  • [meta] only run spackle script in publish (#78) (prereleased)

1.17.0-next.1 / 2019-12-11

  • [Fix] object.assign is a runtime dep
  • [meta] only run spackle script in publish (#78)

1.17.0-next.0 / 2019-12-11

  • [New] Split up each operation into its own file

1.16.3 / 2019-12-04

  • [Fix] GetIntrinsic: when given a path to a getter, return the actual getter
  • [Dev Deps] update eslint

1.16.2 / 2019-11-24

  • [Fix] IE 6-7 lack JSON
  • [Fix] IE 6-8 strings can’t use array slice, they need string slice
  • [Dev Deps] update eslint

1.16.1 / 2019-11-24

  • [Fix] GetIntrinsics: turns out IE 8 throws when Object.getOwnPropertyDescriptor(arguments);, and does not throw on callee anyways
  • [Deps] update es-to-primitive, has-symbols, object-inspect
  • [Dev Deps] update eslint, @ljharb/eslint-config, safe-publish-latest
  • [meta] re-include year files inside operations
  • [meta] add funding field
  • [actions] add Automatic Rebase github action
  • [Tests] use shared travis-ci config
  • [Tests] disable check-coverage, and let codecov do it

1.16.0 / 2019-10-18

  • [New] ES2015+: add SetFunctionName
  • [New] ES2015+: add GetPrototypeFromConstructor, with caveats
  • [New] ES2015+: add CreateListFromArrayLike
  • [New] ES2016+: add OrdinarySetPrototypeOf
  • [New] ES2016+: add OrdinaryGetPrototypeOf
  • [New] add getSymbolDescription and getInferredName helpers
  • [Fix] GetIterator: add fallback for pre-Symbol environments, tests
  • [Dev Deps] update object.fromentries
  • [Tests] add node v12.2

1.15.0 / 2019-10-02

  • [New] ES2018+: add DateString, TimeString
  • [New] ES2015+: add ToDateString
  • [New] ES5+: add msFromTime, SecFromTime, MinFromTime, HourFromTime, TimeWithinDay, Day, DayFromYear, TimeFromYear, YearFromTime, WeekDay, DaysInYear, InLeapYear, DayWithinYear, MonthFromTime, DateFromTime, MakeDay, MakeDate, MakeTime, TimeClip, modulo
  • [New] add regexTester helper
  • [New] add callBound helper
  • [New] add ES2020’s intrinsic dot notation
  • [New] add isPrefixOf helper
  • [New] add maxSafeInteger helper
  • [Deps] update string.prototype.trimleft, string.prototype.trimright
  • [Dev Deps] update eslint
  • [Tests] on node v12.11
  • [meta] npmignore operations scripts; add "deltas"

1.14.2 / 2019-09-08

  • [Fix] ES2016: IterableToArrayLike: add proper fallback for strings, pre-Symbols
  • [Tests] on node v12.10

1.14.1 / 2019-09-03

  • [meta] republish with some extra files removed

1.14.0 / 2019-09-02

  • [New] add ES2019
  • [New] ES2017+: add IterableToList
  • [New] ES2016: add IterableToArrayLike
  • [New] ES2015+: add ArrayCreate, ArraySetLength, OrdinaryDefineOwnProperty, OrdinaryGetOwnProperty, OrdinaryHasProperty, CreateHTML, GetOwnPropertyKeys, InstanceofOperator, SymbolDescriptiveString, GetSubstitution, ValidateAndApplyPropertyDescriptor, IsPromise, OrdinaryHasInstance, TestIntegrityLevel, SetIntegrityLevel
  • [New] add callBind helper, and use it
  • [New] add helpers: isPropertyDescriptor, every
  • [New] ES5+: add Abstract Relational Comparison
  • [New] ES5+: add Abstract Equality Comparison, Strict Equality Comparison
  • [Fix] ES2015+: GetIterator: only require native Symbols when method is omitted
  • [Fix] ES2015: Call: error message now properly displays Symbols using object-inspect
  • [Fix] ES2015+: ValidateAndApplyPropertyDescriptor: use ES2017 logic to bypass spec bugs
  • [Fix] ES2015+: CreateDataProperty, DefinePropertyOrThrow, ValidateAndApplyPropertyDescriptor: add fallbacks for ES3
  • [Fix] ES2015+: FromPropertyDescriptor: no longer requires a fully complete Property Descriptor
  • [Fix] ES5: IsPropertyDescriptor: call into IsDataDescriptor and IsAccessorDescriptor
  • [Refactor] use has-symbols for Symbol detection
  • [Fix] helpers/assertRecord: remove console.log
  • [Deps] update object-keys
  • [readme] add security note
  • [meta] change http URLs to https
  • [meta] linter cleanup
  • [meta] fix getOps script
  • [meta] add FUNDING.yml
  • [Dev Deps] update eslint, @ljharb/eslint-config, safe-publish-latest, semver, replace, cheerio, tape
  • [Tests] up to node v12.9, v11.15, v10.16, v8.16, v6.17
  • [Tests] temporarily allow node 0.6 to fail; segfaulting in travis
  • [Tests] use the values helper more in es5 tests
  • [Tests] fix linting to apply to all files
  • [Tests] run npx aud only on prod deps
  • [Tests] add v.descriptors helpers
  • [Tests] use npx aud instead of npm audit with hoops
  • [Tests] use eclint instead of editorconfig-tools
  • [Tests] some intrinsic cleanup
  • [Tests] migrate es5 tests to use values helper
  • [Tests] add some missing ES2015 ops

1.13.0 / 2019-01-02

  • [New] add ES2018
  • [New] add ES2015/ES2016: EnumerableOwnNames; ES2017: EnumerableOwnProperties
  • [New] ES2015+: add thisBooleanValue, thisNumberValue, thisStringValue, thisTimeValue
  • [New] ES2015+: add DefinePropertyOrThrow, DeletePropertyOrThrow, CreateMethodProperty
  • [New] add assertRecord helper
  • [Deps] update is-callable, has, object-keys, es-to-primitive
  • [Dev Deps] update eslint, @ljharb/eslint-config, tape, semver, safe-publish-latest, replace
  • [Tests] use npm audit instead of nsp
  • [Tests] remove jscs
  • [Tests] up to node v11.6, v10.15, v8.15, v6.16
  • [Tests] move descriptor factories to values helper
  • [Tests] add getOps to programmatically fetch abstract operation names

1.12.0 / 2018-05-31

  • [New] add GetIntrinsic entry point
  • [New] ES2015+: add ObjectCreate
  • [Robustness]: ES2015+: ensure Math.{abs,floor} and Function.call are cached

1.11.0 / 2018-03-21

  • [New] ES2015+: add iterator abstract ops
  • [Dev Deps] update eslint, nsp, object.assign, semver, tape
  • [Tests] up to node v9.8, v8.10, v6.13

1.10.0 / 2017-11-24

  • [New] ES2015+: AdvanceStringIndex
  • [Dev Deps] update eslint, nsp
  • [Tests] require node 0.6 to pass again
  • [Tests] up to node v9.2, v8.9, v6.12; use nvm install-latest-npm; pin included builds to LTS

1.9.0 / 2017-09-30

  • [New] es2015+: add ArraySpeciesCreate
  • [New] ES2015+: add CreateDataProperty and CreateDataPropertyOrThrow
  • [Tests] consolidate duplicated tests
  • [Tests] increase coverage
  • [Dev Deps] update nsp, eslint

1.8.2 / 2017-09-03

  • [Fix] es2015+: ToNumber: provide the proper hint for Date objects (#27)
  • [Dev Deps] update eslint

1.8.1 / 2017-08-30

  • [Fix] ES2015+: ToPropertyKey: should return a symbol for Symbols (#26)
  • [Deps] update function-bind
  • [Dev Deps] update eslint, @ljharb/eslint-config
  • [Docs] github broke markdown parsing

1.8.0 / 2017-08-04

  • [New] add ES2017
  • [New] move es6+ to es2015+; leave es6/es7 as aliases
  • [New] ES5+: add IsPropertyDescriptor, IsAccessorDescriptor, IsDataDescriptor, IsGenericDescriptor, FromPropertyDescriptor, ToPropertyDescriptor
  • [New] ES2015+: add CompletePropertyDescriptor, Set, HasOwnProperty, HasProperty, IsConcatSpreadable, Invoke, CreateIterResultObject, RegExpExec
  • [Fix] es7/es2016: do not mutate ES6
  • [Fix] assign helper only supports one source
  • [Deps] update is-regex
  • [Dev Deps] update nsp, eslint, @ljharb/eslint-config
  • [Dev Deps] update eslint, @ljharb/eslint-config, nsp, semver, tape
  • [Tests] add tests for missing and excess operations
  • [Tests] add codecov for coverage
  • [Tests] up to node v8.2, v7.10, v6.11, v4.8; newer npm breaks on older node
  • [Tests] use same lists of value types across tests; ensure tests are the same when ops are the same
  • [Tests] ES2015: add ToNumber symbol tests
  • [Tests] switch to nyc for code coverage
  • [Tests] make IsRegExp tests consistent across editions

1.7.0 / 2017-01-22

  • [New] ES6: Add GetMethod (#16)
  • [New] ES6: Add GetV (#16)
  • [New] ES6: Add Get (#17)
  • [Tests] up to node v7.4, v6.9, v4.6; improve test matrix
  • [Dev Deps] update tape, nsp, eslint, @ljharb/eslint-config, safe-publish-latest

1.6.1 / 2016-08-21

  • [Fix] ES6: IsConstructor should return true for class constructors.

1.6.0 / 2016-08-20

  • [New] ES5 / ES6: add Type
  • [New] ES6: SpeciesConstructor
  • [Dev Deps] update jscs, nsp, eslint, @ljharb/eslint-config, semver; add safe-publish-latest
  • [Tests] up to node v6.4, v5.12, v4.5

1.5.1 / 2016-05-30

  • [Fix] ES.IsRegExp: actually look up Symbol.match on the argument
  • [Refactor] create isNaN helper
  • [Deps] update is-callable, function-bind
  • [Deps] update es-to-primitive, fix ES5 tests
  • [Dev Deps] update jscs, eslint, @ljharb/eslint-config, tape, nsp
  • [Tests] up to node v6.2, v5.11, v4.4
  • [Tests] use pretest/posttest for linting/security

1.5.0 / 2015-12-27

  • [New] adds Symbol.toPrimitive support via es-to-primitive
  • [Deps] update is-callable, es-to-primitive
  • [Dev Deps] update jscs, nsp, eslint, @ljharb/eslint-config, semver, tape
  • [Tests] up to node v5.3

1.4.3 / 2015-11-04

  • [Fix] ES6.ToNumber: should give NaN for explicitly signed hex strings (#4)
  • [Refactor] ES6.ToNumber: No need to double-trim
  • [Refactor] group tests better
  • [Tests] should still pass on node v0.8

1.4.2 / 2015-11-02

  • [Fix] ensure ES.ToNumber trims whitespace, and does not trim non-whitespace (#3)

1.4.1 / 2015-10-31

  • [Fix] ensure only 0-1 are valid binary and 0-7 are valid octal digits (#2)
  • [Dev Deps] update tape, jscs, nsp, eslint, @ljharb/eslint-config
  • [Tests] on node v5.0
  • [Tests] fix npm upgrades for older node versions
  • package.json: use object form of "authors", add "contributors"

1.4.0 / 2015-09-26

  • [Deps] update is-callable
  • [Dev Deps] update tape, jscs, eslint, @ljharb/eslint-config
  • [Tests] on node v4.2
  • [New] Add SameValueNonNumber to ES7

1.3.2 / 2015-09-26

  • [Fix] Fix ES6.IsRegExp to properly handle Symbol.match, per spec.
  • [Tests] up to io.js v3.3, node v4.1
  • [Dev Deps] update tape, jscs, nsp, eslint, @ljharb/eslint-config, semver

1.3.1 / 2015-08-15

  • [Fix] Ensure that objects that toString to a binary or octal literal also convert properly

1.3.0 / 2015-08-15

  • [New] ES6’s ToNumber now supports binary and octal literals.
  • [Dev Deps] update jscs, eslint, @ljharb/eslint-config, tape
  • [Docs] Switch from vb.teelaun.ch to versionbadg.es for the npm version badge SVG
  • [Tests] up to io.js v3.0

1.2.2 / 2015-07-28

  • [Fix] Both ES5.CheckObjectCoercible and ES6.RequireObjectCoercible return the value if they don't throw.
  • [Tests] Test on latest io.js versions.
  • [Dev Deps] Update eslint, jscs, tape, semver, covert, nsp

1.2.1 / 2015-03-20

  • Fix isFinite helper.

1.2.0 / 2015-03-19

  • Use es-to-primitive for ToPrimitive methods.
  • Test on latest io.js versions; allow failures on all but 2 latest node/io.js versions.

1.1.2 / 2015-03-20

  • Fix isFinite helper.

1.1.1 / 2015-03-19

  • Fix isPrimitive check for functions
  • Update eslint, editorconfig-tools, semver, nsp

1.1.0 / 2015-02-17

  • Add ES7 export (non-default).
  • All grade A-supported node/iojs versions now ship with an npm that understands ^.
  • Test on iojs-v1.2.

1.0.1 / 2015-01-30

  • Use is-callable instead of an internal function.
  • Update tape, jscs, nsp, eslint

1.0.0 / 2015-01-10

  • v1.0.0