1.23.3 / 2024-03-29
- [Fix]
ES2024: StringPad, StringPaddingBuiltinsImpl: prefer uppercase spec enums - [Fix]
helpers/bytesAsInteger: avoid a crash in node 10.4 - 10.8 - [Fix]
ES5: CheckObjectCoercible: restore optMessage optional arg - [Refactor]
ES2022+: update TimeString to use ToZeroPaddedDecimalString - [Robustness] use cached copies of builtins
- [Deps] update
string.prototype.trimstart, typed-array-length - [Dev Deps] update
array.from, array.prototype.filter, array.prototype.indexof, object.fromentries, safe-bigint
1.23.2 / 2024-03-17
- [Fix]
records/regexp-record: add optional [[UnicodeSets]] boolean field - [Fix]
ES2024+: AddValueToKeyedGroup: avoid adding matched values twice - [Fix]
ES5: CheckObjectCoercible: use the right function name - [Fix]
ES2024+: AddEntriesFromIterable, GetIterator, GroupBy: properly capitalize spec enums - [Deps] update
string.prototype.trim, string.prototype.trimend - [Tests] increase coverage
1.23.1 / 2024-03-16
- [Refactor] use
es-object-atoms - [Deps] update
hasown, which-typed-array, data-view-byte-length, safe-array-concat - [Dev Deps] update
diff
1.23.0 / 2024-03-04
- [New] add
ES2024 - [New]
ES2015+: add InternalizeJSONProperty - [New]
ES2015+: add IntegerIndexedElement{Get,Set} - [New]
ES2018+: add TimeZoneString - [New]
ES2022+: add DefineMethodProperty - [New]
ES2023: add DefaultTimeZone - [Fix]
ES2023+: SetTypedArrayFrom{TypedArray,ArrayLike}: match engine reality - [Fix]
ES2024+: GetViewByteLength, IsViewOutOfBounds: support engines with only own DV properties - [Tests] use
safe-bigint
1.22.5 / 2024-02-28
- [Fix]
ES2015+: DetachArrayBuffer: node v21.0.0+ structuredClone throws with an already-detached ArrayBuffer - [Fix]
helpers/assertRecord: partial revert of 87c340d2; unintentional breaking change - [patch] records: fix indentation, improve object checks
- [Refactor] extract TA tables to separate files
- [meta] extract "list spackled files" to separate run-script
- [Deps] update
available-typed-arrays, es-set-tostringtag, has-proto, is-negative-zero, is-shared-array-buffer, typed-array-buffer, typed-array-byte-length, typed-array-byte-offset, typed-array-length - [Dev Deps] update
available-regexp-flags, tape - [Dev Deps] pin
jackspeak and glob, since v2.1.2+ and v10.3.8+ respectively depend on npm aliases, which kill the install process in npm < 6 - [Tests] use
define-{accessor,data}-property - [Tests] fix some test cases
- [Tests] use
safeBigInt for Z() pattern to handle node 10.4 - 10.8
1.22.4 / 2024-02-13
- [Fix]
ES2017+: IsDetachedBuffer: properly allow SABs - [Fix]
ES2022+: ToBigInt: properly throw on an unparseable string - [Fix]
ES2015+: ValidateTypedArray: proper detachment check and return value - [Fix]
ES2022+: GetSubstitution: match updated semantics - [Refactor] prefer
typeof over Type(), except for Object, where possible - [Refactor] use
es-errors instead of get-intrinsic where possible - [Refactor] use
es-define-property - [Refactor] records: extract predicates to individual files
- [Refactor]
ES2015+: Canonicalize, WordCharacters: use explicit .json extension for imports - [Deps] update
array-buffer-byte-length, arraybuffer.prototype.slice, available-typed-arrays, call-bind, es-set-tostringtag, get-intrinsic, get-symbol-description, has-proper ty-descriptors, has-property-descriptors, hasown, internal-slot, is-array-buffer, is-typed-array, object.assign, regexp.prototype.flags, safe-array-concat, safe-regex-test, typed-array-buffer, which-typed-array - [eslint] remove unused overrides
- [Tests] increase/fix coverage
- [Dev Deps] update
aud, npmignore, mock-property, tape
1.22.3 / 2023-10-20
- [Fix]
ES2015+: GetSubstitution: accept undefined instead of a hole - [Refactor] use
hasown instead of has - [Deps] update
call-bind, get-intrinsic, object-inspect, which-typed-array - [Dev Deps] update
function-bind, is-core-module, mock-property, tape
1.22.2 / 2023-09-14
- [Fix]
ES2015+: NewPromiseCapability: use AOs from the current year, not 2022 - [Refactor]
ES2021+: SetTypedArrayFromArrayLike: use IsBigIntElementType - [Refactor] properly name
helpers/typedArrayConstructors - [Refactor] simplify helpers
- [Deps] update
arraybuffer.prototype.slice, function.prototype.name, is-typed-array, regexp.prototype.flags, safe-array-concat, string.prototype.trim, string.prototype.trimend, string.prototype.trimstart, which-typed-array - [actions] update actions
- [Tests] run SES tests on more node versions
- [Dev Deps] update
@unicode/unicode-15.0.0, array.from, array.prototype.filter, array.prototype.flatmap, array.prototype.indexof, is-core-module, object.fromentries, ses, tape
1.22.1 / 2023-07-15
- [Deps] add missing
safe-array-concat dep
1.22.0 / 2023-07-15
- [New] add
ES2023 - [New]
ES2021+: add SetTypedArrayFromArrayLike, SetTypedArrayFromTypedArray - [New]
ES2021+: add CloneArrayBuffer - [New]
ES2020+: add IsValidIntegerIndex - [New]
ES2015+: add GetValueFromBuffer, SetValueInBuffer - [New]
ES2016+: add TypedArrayCreate, TypedArraySpeciesCreate - [New]
ES2015+: add IsWordChar - [New]
ES2017+ add WordCharacters - [New]
ES2015+: add Canonicalize - [New]
ES2015+: add NewPromiseCapability - [Fix]
ES2017+: NumberToRawBytes, NumericToRawBytes: reimplement Float64, fix integer scenarios - [Refactor] add
helpers/isLineTerminator - [Refactor] add
isInteger helper, and use it - [Refactor] extract
isStringOrHole to a helper - [Refactor]
ES2017+: RawBytesToNumber, RawBytesToNumeric: extract common code to helpers - [Refactor] make a
MAX_VALUE helper - [Tests] fix RawBytesToNumeric tests in node v10.4-10.8
- [Tests] fix buffer test cases in node v10.4-v10.8
1.21.3 / 2023-07-12
- [Fix]
ES2017+: RawBytesToNumber, RawBytesToNumeric: properly handle some scenarios - [Fix]
ES2015+: GetV: the receiver is V, not O - [Fix]
ES2017+: RawBytesToNumber, RawBytesToNumeric: fix exponent calculation for Float64, improve tests - [Fix]
ES2017+: RawBytesToNumber, RawBytesToNumeric: fix logic, improve tests - [Fix]
ES2019+: thisTimeValue: fix spackling - [Robustness]
ES2017+: NumberToRawBytes, NumericToRawBytes: use SameValue instead of Object.is - [Refactor]
ES2021+: ValidateAtomicAccess: use typed-array-byte-offset - [Refactor]
ES2019+: AddEntriesFromIterable: use ThrowCompletion - [patch]
ES2015+: ObjectDefineProperties: satisfy TODO - [patch]
ES2015+: GetV: improve error message - [patch] fix spec URLs
- [Deps] update
get-intrinsic, regexp.prototype.flags, which-typed-array - [actions] fix permissions
- [Tests] add buffer test case fixtures + tests
- [Tests] skip test that modifies the env in SES
- [Tests] fix regex flags tests for node 20
- [Dev Deps] update
@ljharb/eslint-config, aud, available-regexp-flags, is-core-module, tape
1.21.2 / 2023-03-12
- [Fix]
ES2015+: CreateDataProperty: use OrdinaryDefineOwnProperty - [Fix]
ES2015+: CreateDataProperty: use OrdinaryDefineOwnProperty - [Fix]
ES2015+: GetPrototypeFromConstructor: add missing assertion that intrinsicDefaultProto is an object - [Fix]
ES2015+: IsDetachedBuffer: ensure a nullish error does not crash - [Fix]
ES2015+: ToDateString: properly handle time values that aren’t "now" - [Fix]
ES2015+: ToUint8Clamp: avoid an extra observable ToNumber - [Fix]
ES2015+:GetMethod: whenfuncis not callable andP` is a symbol, avoid the wrong TypeError - [Fix]
ES2020+: ToBigInt: properly throw on anything besides string, bigint, boolean - [Fix]
ES2021+: SplitMatch: instead of false, return 'not-matched' - [Fix]
helpers/assertRecord: handle nullish input - [Fix]
helpers/isFullyPopulatedPropertyDescriptor: handle primitive inputs - [Robustness]
ES5: ToNumber: avoid relying on runtime .test and .replace - [Refactor]
ES2015: mark IsDataDescriptor and IsAccessorDescriptor as spackled - [Refactor]
ES2015+: IsDetachedBuffer: use array-buffer-byte-length package - [Refactor]
ES2015+: OrdinaryHasInstance: rely on falsiness - [Refactor]
ES2016+: CreateListFromArrayLike: hoist default element types to module level - [Refactor]
ES2022+: StringToNumber, ToNumber: use string.prototype.trim - [patch]
ES2022+: IsLessThan: fix a comment - [patch]
ES2022+: TypedArrayElementSize, TypedArrayElementType: throw a SyntaxError with an unknown TA type - [patch]
ES2022+: IsLessThan: fix a comment - [patch]
ES2020+: thisBigIntValue: throw a SyntaxError, not TypeError, for unsupported features - [patch]
helpers/getIteratorMethod: String is always available - [patch] fix commented spec URLs
- [patch] omit
% for callBound - [meta] fix spec URLs
- [meta] fix spackle metadata, comments
- [Deps] update
get-intrinsic, internal-slot, is-array-buffer, object-inspect - [Deps] move
function-bind to dev deps - [Tests] String.fromCharCode takes numbers, not strings
- [Tests] use
makeIteratorRecord helper - [Tests] increase coverage
- [Tests] fix tests that throw a sentinel
- [Dev Deps] update
array.from, available-regexp-flags, tape
1.21.1 / 2023-01-10
- [Fix] move
available-typed-arrays to runtime deps - [Fix]
ES2021+: NumberToBigInt: throw the proper error on an env without BigInts - [Fix]
ES2018+: CreateAsyncFromSyncIterator: properly check next method args length - [Fix]
ES2020-ES2021: Abstract Relational Comparison: handle BigInts properly - [Fix]
ES2022+: StringToBigInt: invalid BigInts should be undefined, not NaN as in previous years - [Fix]
helpers/isFinite: properly handle BigInt values - [Fix]
ES2020+: CreateListFromArrayLike: accept BigInts - [Fix]
ES2019+: AsyncFromSyncIteratorContinuation: throw a SyntaxError when > 1 arg is passed - [patch]
ES2020+: GetIterator: use SyntaxError for intentionally unsupported - [patch]
ES2015+: GetPrototypeFromContructor: use SyntaxError for intentionally unsupported - [patch]
ES2022+: StringToNumber: fix non-string assertion failure message - [Deps] update
es-set-tostringtag, is-array-buffer - [Tests] increase coverage
- [Tests] exclude coverage from files that have been replaced by an extracted package
1.21.0 / 2023-01-04
- [New]
ES2015+: add IsDetachedBuffer - [New]
ES2015+: add DetachArrayBuffer - [New]
ES2020+: add NumericToRawBytes - [New]
ES2017 - ES2019: add NumberToRawBytes - [New]
ES2020+: add RawBytesToNumeric - [New]
ES2017-ES2019: add RawBytesToNumber - [New]
ES2017+: add ValidateAtomicAccess - [New]
ES2021+: add ValidateIntegerTypedArray - [New]
ES2015+: add ValidateTypedArray - [New]
ES2015+: add GetGlobalObject - [New]
ES2022+: add TypedArrayElementSize, TypedArrayElementType - [New]
ES2015+: add max, min - [New]
helpers/assertRecord: add predicates for PromiseCapability and AsyncGeneratorRequest Records - [New]
ES2018+: add AsyncIteratorClose - [New]
ES2015+: IteratorClose: also accept a Completion Record instance instead of a completion thunk - [New]
ES2015+ (CompletionRecord, NormalCompletion), ES2018+ (ThrowCompletion): add new AOs - [New]
ES2015+ (ObjectCreate) and ES2020+ (OrdinaryObjectCreate): use internal-slot to support additional slots - [New]
ES2018+: add CreateAsyncFromSyncIterator - [patch]
ES2015+: GetMethod: better failure message - [Refactor] use
es-set-tostringtag package - [Refactor] use
has-proto package - [Deps] update
has-proto, es-set-tostringtag, internal-slot - [meta] fix spackle script to
git add after all writing is done - [meta] autogenerate esX entry points
- [meta] use a leading slash in gitattributes for proper spackle matching
- [Tests] fix comments on missing AOs
- [Tests] filter out host-defined AOs
- [Dev Deps] update
@ljharb/eslint-config, aud
1.20.5 / 2022-12-07
- [Fix]
ES2020+: floor: make it work with BigInts as well - [Refactor] use
gopd - [Tests] add
mod helper tests (#147) - [Deps] update
string.prototype.trimend, string.prototype.trimstart - [Dev Deps] update
array.prototype.filter, array.prototype.flatmap, array.prototype.indexof, object.fromentries
1.20.4 / 2022-10-06
- [Fix]
ES2021+: values that truncate to -0 in ToIntegerOrInfinity (#146) - [Deps] update
is-callable
1.20.3 / 2022-09-22
- [Refactor] extract regex tester to
safe-regex-test package - [Deps] update
get-intrinsic, is-callable - [Dev Deps] update
aud, tape
1.20.2 / 2022-09-01
- [Fix]
ES2020+: SameValueNonNumeric: properly throw on BigInt values - [Deps] update
object.assign, get-intrinsic, object-inspect - [Dev Deps] update
array.prototype.indexof, diff, es-value-fixtures, tape - [meta]
spackle: always mkdirp new files to be written - [Tests] fix vscode auto-const from 8fc256d
1.20.1 / 2022-05-16
- [Fix]
thisTimeValue: use getTime, not valueOf, to get the time value - [Refactor] create
IsArray helper - [Deps] update
regexp.prototype.flags - [Dev Deps] use
for-each instead of foreach
1.20.0 / 2022-05-05
- [New] add ES2022
- [New]
ES2015+: add ObjectDefineProperties - [Refactor] create
fromPropertyDescriptor helper - [Refactor] use
has-property-descriptors - [Deps] update
string.prototype.trimend, string.prototype.trimstart, unbox-primitive - [meta] use
npmignore to autogenerate an npmignore file - [Dev Deps] update
es-value-fixtures, has-bigints, functions-have-names - [Tests] copy GetIntrinsic tests over from
get-intrinsic
1.19.5 / 2022-04-13
- [Fix]
DefineOwnProperty: FF 4-22 throws an exception when defining length of an array - [Dev Deps] update
@ljharb/eslint-config
1.19.4 / 2022-04-12
- [Fix]
ES2015+: CreateDataProperty: a nonwritable but configurable property is still converted to a data property
1.19.3 / 2022-04-11
- [Fix]
ES2015+: GetIterator, IterableToArrayLike: in Symbol-less envs, handle boxed string objects - [Robustness] use
exec instead of test, since the latter observably looks up exec - [Deps] update
is-shared-array-buffer - [actions] restrict permissions
- [Dev Deps] update
tape - [Tests] add test coverage
- [Tests] avoid a bug in node v4.0 with bound function names
1.19.2 / 2022-03-28
- [Fix]
ES2018+: EnumerableOwnPropertyNames, ToIntegerOrInfinity, UTF16SurrogatePairToCodePoint: proper function names - [Fix]
ES2015+: GetOwnPropertyKeys/IsExtensible/{Set,Test}IntegrityLevel: avoid a crash in IE 8 on missing ES5 intrinsics - [Fix]
helpers/DefineOwnProperty: avoid a crash in IE 8 - [Fix]
ES2015+: StringCreate: properly check for prototype being String.prototype - [Docs]
ES2015+: GetV: Fix spec URL - [meta] operations: use a URL object instead of a URL string
- [meta] remove defunct greenkeeper config
- [meta] better
eccheck command; fix indentation - [Tests] node v0.6 lacks
RegExp.prototype.source - [Tests] remove a stray
console.log - [Tests] properly set the lastIndex in IE 8
- [Tests] skip test due to IE 6-8 sparse/undefined bug
- [Tests] in IE 8, an empty regex is
` and not(?:)` - [Tests] ES3 engines don’t have
.bind - [Tests] avoid needless failures in ES3 engines that don't support descriptors
- [Tests] add test to cover https://github.com/tc39/ecma262/issues/2611
- [Deps] update
has-symbols, is-negative-zero, is-weakref, object-inspect - [Dev Deps] update
eslint, @ljharb/eslint-config, object.fromentries, safe-publish-latest, tape - [actions] reuse common workflows
- [actions] update codecov uploader
1.19.1 / 2021-10-02
- [Fix]
ES2020+: CreateRegExpStringIterator: should not have enumerable methods - [Dev Deps] update
array.prototype.filter, array.prototype.indexof
1.19.0 / 2021-09-30
- [New]
ES2021+: IterableToList: make method parameter optional (#61) - [New] add ES2021
- [New]
ES2020+: add StringToBigInt, ToBigInt, ToBigInt64, ToBigUint64 - [New]
ES2017+: add IsSharedArrayBuffer, OrdinaryToPrimitive - [New]
ES2015+: add CharacterRange, IsCompatiblePropertyDescriptor - [New]
ES2020+: add CreateRegExpStringIterator - [Fix]
ES2020+: ToBigInt64/ToBigUint64: avoid node v10.4-v10.8 bug with limited BigInt range - [Fix]
ES2020+: AbstractRelationalComparison, AbstractEqualityComparison: support BigInt - [Fix]
ES2020+: ToBigInt64/ToBigUint64: Improve the definitions of twoSixtyThree and twoSixtyFour (#140) - [meta] do not publish .gitattributes
- [Tests] Correct the behavior of
safeBigInt - [Tests] Exclude dotfiles from the testing sweep (#141)
1.18.7 / 2021-09-28
- [Fix]
getOwnPropertyDescriptor helper: avoid crashing in IE < 9 - [Fix]
ArraySetLength: node v0.6 has a bug where array lengths can be Set but not Defined - [eslint] remove unused directive
- [Tests] fix spelling
1.18.6 / 2021-09-07
- [Fix]
ES2020+: NumberToBigInt: throw a SyntaxError when BigInts are not supported - [Refactor] extract getSymbolDescription logic to
get-symbol-description - [Refactor]
ES2018+: AbstractRelationalComparison: use IsStringPrefix - [Deps] update
is-callable, is-regex, is-string - [Dev Deps] update
@ljharb/eslint-config, tape - [Tests]
GetSubstitution: add cases
1.18.5 / 2021-08-01
- [meta] remove "exports" (#133)
- [Dev Deps] update
eslint
1.18.4 / 2021-07-29
- [meta] partial revert of b54cfe8525faff482450e843a49d43be3a086225
- [Deps] update
internal-slot, object-inspect - [Dev Deps] update
eslint, tape - [Tests]
ArraySetLength: increase coverage
1.18.3 / 2021-05-27
- [Fix]
ES2020+: ToNumber: ensure it throws on a BigInt (#130)
1.18.2 / 2021-05-25
- [meta] add
helpers to "exports" field, for back compat
1.18.1 / 2021-05-25
- [readme] update and clarify entry points
- [meta] add "exports" field, with escape hatch
- [meta] add
sideEffects field - [meta] use
prepublishOnly, for npm 7+ - [eslint] clean up eslint rules
- [Deps] update
is-regex, is-string, object-inspect, unbox-primitive - [Dev Deps] update
eslint, @ljharb/eslint-config, aud, tape - [actions] disable fail-fast on matrix jobs
- [actions] use
node/install action instead of node/run - [actions] update codeql-analysis to new best practices
1.18.0 / 2021-03-03
- [New] add
ES2020, and a number of additional AOs: See the changelog entries for the prereleases for more information: - [Refactor]
ES5+: Abstract Relational Comparison: increase coverage - [Tests] increase coverage
- [Tests] do not run coverage on node 0.6
1.18.0-next.3 / 2021-03-01
- [New]
ES2015: add StringGetIndexProperty - [New]
ES2015+: add RegExpCreate, SplitMatch, StringCreate - [New]
ES2016-ES2019: add UTF16Decode - [New]
ES2020+: add NumberToBigInt - [New]
ES2020+: addBigInt::/Number::` methods: - [Fix]
ES5: ToNumber: properly refuse to parse ES6+ forms - [Fix]
ES2015+: Invoke: optional argumentsList must be a List of arguments, not a list of arguments - [Fix]
ES2016+: UTF16Encoding: properly return a string code point instead of a numeric code point - [Fix]
ES2020: NumberBitwiseOp: assert that x and y are Numbers - [readme] remove travis/testling badge, fix repo URLs
- [meta]
ES2015: add missing CreateArrayIterator AO - [meta]
ES2015-ES2017: add missing DaylightSavingTA AO - [meta] rerun
npm run spackle to update URLs left after 11d8c8df11c0d15d094a6035afed662e22b440ef - [meta] update ecma URLs
- [meta] unignore 2020 operations list
- [meta] update operations scripts linting
- [meta] refactor getOps script to fetch all years at once
- [meta] refactor operations script to keep years in one place
- [meta] fix ES2015 spec URL
- [Deps] update
has-symbols, string.prototype.trimend, string.prototype.trimstart, get-intrinsic, is-callable, is-regex - [Dev Deps] update
eslint, @ljharb/eslint-config, array.prototype.indexof, aud, es-value-fixtures, object.fromentries, tape, diff - [operations] detect ES2020+ style
T:: numeric operations - [Tests] increase coverage
- [Tests]
BigInt(1e17) throws on node v10.4-v10.6 - [Tests] improve coverage on
Number:: methods - [Tests]
tape v5 .equal now uses strict equality, so no more need for is() - [Tests] improve BigInt:: and Number:: coverage
- [Tests] actually run all the helpers tests
- [Tests] ensure "expected missing" ops list is accurate
- [Tests] abstract away per-operation skips
- [Tests] skip BigInt:: tests on envs without BigInts
- [Tests] use
es-value-fixtures - [actions] update workflows
1.18.0-next.2 / 2021-01-17
- [New]
helpers: add isByteValue, isCodePoint, some - [Fix]
ES2018+: fix GetSubstitution with named captures - [Fix]
ES2020: GetIterator: add omitted hint parameter - [Fix]
ES2018/ES2019: SetFunctionLength: Infinities should throw - [Fix]
ES2020: ToIndex uses SameValue instead of SameValueZero - [Fix]
ES2020: CopyDataProperties uses CreateDataPropertyOrThrow instead of CreateDataProperty - [Refactor] use extracted
call-bind instead of local helpers - [Refactor] use extracted
get-intrinsic package - [Deps] update
call-bind, get-intrinsic, is-callable, is-negative-zero, is-regex, object-inspect, object.assign, string.prototype.trimend, string.prototype.trimstart - [Dev Deps] update
eslint, @ljharb/eslint-config, array.prototype.indexof, aud, diff, functions-have-names, has-bigints, has-strict-mode, object-is, object.fromentries, tape - [actions] switch Automatic Rebase workflow to
pull_request_target event - [actions] add "Allow Edits" workflow
- [meta] pin cheerio to v1.0.0-rc.3, to fix getOps
- [meta] make all URLs consistent, and point to spec artifacts
- [meta] refactor
deltas script; update eslint on operations scripts - [meta] do not publish .github dir (#123)
- [Tests] add
v.notNonNegativeIntegers, v.nonConstructorFunctions - [Tests] migrate tests to Github Actions
- [Tests] run coverage on all tests
- [Tests] add
npm run test:ses
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
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
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