Skip to content

v0.34.0

Compare
Choose a tag to compare
@ljharb ljharb released this 15 Dec 01:23
· 178 commits to master since this release

Fix All The Things Release

Breaking Changes

  • Remove Symbol.species from Promise.all and Promise.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 returns true when it passes, instead of undefined
  • Don't call Reflect.construct unless it's actually present
  • Ensure Map and Set do not have an own constructor 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 throw
  • Promise: Make sure to shim broken implementations in Chrome 49 Canary
  • Promise: Chrome does not retrieve a thenable's .then synchronously (#372)

New Stuff

  • Add RegExp.prototype[Symbol.{match,search,split,replace}]
  • support Symbol.match in RegExp constructor
  • add Symbol.match and ensure String#{match, startsWith, endsWith, includes} support it
  • add Symbol.split and ensure String#split supports it
  • add Symbol.replace and ensure String#replace supports it
  • add Symbol.search and ensure String#search supports it

Robustness

  • Add and use ES.ToString so as not to rely on the global String

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

  • update README URLs (#375)
  • fix some typos (#380)