github immutable-js/immutable-js v4.0.0-rc.10

latest releases: v5.0.0-beta.5, v4.3.5, v5.0.0-beta.4...
pre-release5 years ago

It's been a long time since the last release candidate, but quite a bit of work has happened since the last once. One step closer to a final release!

Breaking:

  • Remove IteratorSequence. Do not attempt to detect iterators in Seq(). (#1589)

    Iterables can still be provided to Seq(), and most Iterators are also
    Iterables, so this change should not affect the vast majority of uses.
    For more information, see PR #1589

  • Node buffers no longer considered value-equal

    This was actually broken as of v4.0.0-rc.1 (2dcf3ef)
    but was highlighted as a breaking change by (#1437)

New:

  • Top level predicate functions (#1600)

    New functions are exported from the immutable module:
    isSeq(), isList(), isMap(), isOrderedMap(), isStack(), isSet(), isOrderedSet(), and isRecord().

  • Support Typescript 3 (#1593)
  • Support latest Flow (#1531)
  • Add RecordOf<TProps> type alias for TypeScript, matching Flow (#1578)
  • Improved Flow support for Record subclasses (still not advised) (#1414)
  • Improve performance of toJS (#1581)

    Cursory test is >10% faster than both v3.8.2 and v4.0.0-rc.7,
    and corrects the regression since v4.0.0-rc.9.

  • Added optional notSetValue in first() and last() (#1556)
  • Enable flow strict (#1580)
  • Make isArrayLike check more precise to avoid false positives (#1520)
  • map() for List, Map, and Set returns itself for no-ops (#1455) (5726bd1)
  • Hash functions as objects, allowing functions as values in collections (#1485)

Fix:

  • groupBy no longer returns a mutable Map instance (#1602)
  • Fix issue where refs can recursively collide, corrupting .size (#1598)
  • Throw error in mergeWith() method if missing the required merger function (#1543)
  • Update isPlainObj() to workaround Safari bug and allow cross-realm values (#1557)
  • The mergeDeepWith merger is untypable in TS/Flow. (#1532)
  • Fix missing "& T" to some methods in RecordInstance (#1464)
  • Make notSetValue optional for typed Records (#1461) (a1029bb)
  • Export type of RecordInstance (#1434)
  • Fix Record size check in merge() (#1521)
  • Fix Map#concat being not defined (#1402)

Don't miss a new immutable-js release

NewReleases is sending notifications on new releases.