Releases: paulmillr/es6-shim
Releases · paulmillr/es6-shim
v0.34.1
Fixes
RegExp#[Symbol.search]
was broken with a regex argument (#394)- ensure that
Set#clear
works with both primitive and object values - static Promise methods have the wrong length in Firefox
Robustness
- Cache
Object.keys
Performance
- Avoid accessing arguments array without length check
- Optimize
ES.TypeIsObject
(#388) - Promises: lots of improvements (#383)
- Only use slow implementation of
ES.IsCallable
where necessary (old browsers) - Promises: remove unnecessary
.bind
onsetImmediate
Dev Deps
- update
s5-shim
,@ljharb/eslint-config
Tests
- Don’t npmignore tests
- Fix a bug with “deep equal” wrt
NaN
- split up
Map
andSet
test files - test up to
node
v5.3
v0.34.0
Fix All The Things Release
Breaking Changes
- Remove
Symbol.species
fromPromise.all
andPromise.race
(#34) per ES6 errata
Fixes (shim)
- Firefox has enumerable Promise static methods
- prevent crashes in older Firefox when checking if Array methods ToLength correctly
Reflect.enumerate
: ensure correct property ordering in Firefox 19 (and likely others)- Ensure that
toLengthsCorrectly
returnstrue
when it passes, instead ofundefined
- Don't call
Reflect.construct
unless it's actually present - Ensure
Map
andSet
do not have an ownconstructor
property (#368) - Add missing checks to Promise.resolve and Promise.reject (#379)
Map
: older v8s have a SameValueZero bug when a Map has a size > 4 (#378)Map
: when provided with an iterable that yields non-Object values, should throwPromise
: Make sure to shim broken implementations in Chrome 49 CanaryPromise
: Chrome does not retrieve a thenable's .then synchronously (#372)
New Stuff
- Add
RegExp.prototype[Symbol.{match,search,split,replace}]
- support
Symbol.match
inRegExp
constructor - add
Symbol.match
and ensureString#{match, startsWith, endsWith, includes}
support it - add
Symbol.split
and ensureString#split
supports it - add
Symbol.replace
and ensureString#replace
supports it - add
Symbol.search
and ensureString#search
supports it
Robustness
- Add and use
ES.ToString
so as not to rely on the globalString
Dev Deps
- update
eslint
,jscs
,mocha
,uglify-js
,es5-shim
,grunt-saucelabs
Tests
- bail out of some tests when the feature isn't present, to clean up native test failure output
- test up to
node
v5.1
- fix
npm run test:native
- Ensure
Promise.{reject,resolve}
throws when the receiver is a primitive (#379) - Further ensure that Promise.resolve/reject work with a non-promise receiver (#379)
Docs
v0.33.13
v0.33.12
v0.33.11
v0.33.10
Fixes (shim)
- the
Number
constructor properly trims (or not) whitespace characters (#368) Number('0b12')
andNumber('0o18')
should both beNaN
(#366)
Tests
- Fix npm upgrades in older nodes
- add
npm run tests-only
- test on
node
v5.0
- ensure
JSON.stringify
has the right name - add
npm run eslint
Dev Deps
- update
es5-shim
,jscs
Cleanup
- Rearrange things so that they’re defined before they’re used
- Don't reassign to function or catch parameters
- Remove unused variables
- String#trim shim should use
defineProperty
, and check more non-whitespace chars
v0.33.9
v0.33.8
v0.33.7
Fixes (shim)
- Ensure
preserveToString
does not throw when the original does not exist (#359) Promise
: properly handle named function expressions in IE 8.Number
:wrapConstructor
now works in ES3 (#365)
Docs
- Document
Number
supporting string binary and octal literals.
Tests
- add commented-out test for
typeof Number.call(Object(3), 3) === 'number'
, which fails atm. - Fix browser tests sans-
npm install
Dev Deps
- update
es5-shim
,jscs
,uglify-js
,chai