Skip to content

Releases: immutable-js/immutable-js

2.1.0

06 Oct 19:56
Compare
Choose a tag to compare

New:

  • Indexed Sequences are now always treated densely, including Vector and ArraySequence. This means iterators, forEach, and Sequence methods visit unset indices, and has returns true for unset indicies within length. This warrants a minor-version bump.
  • flatten turns a Sequence of Sequences into a single Sequence.
  • flatMap maps over a Sequence, flattening the result. The alias chain is provided to begin to adhere to the Fantasy Land spec.
  • Indexed Sequences can now be accessed by negative indicies, which index from the end of the Sequence.

Bugs:

  • ensure 3rd argument in sequence functions is always parent sequence.
  • reduce behavior matches Array#reduce.
  • join behavior matches Array#join
  • Fix type definition error for mergeDeep
  • Fix equality checking for Sets.
  • Fix issue where Safari/JSC incorrectly JITs hash creation, resulting in "missing values" or exceptions.

2.0.17

02 Sep 20:09
Compare
Choose a tag to compare

New new new!

  • Cursor now has withMutations
  • We're available on Bower!

Bugs Fixed:

  • take and skip now return immutable sequences.
  • splice behavior now matches Array.prototype.splice

2.0.16

26 Aug 20:43
Compare
Choose a tag to compare

Breaking Changes:

  • Sequence's keys, values, entries and fromEntries renamed to keySeq, valueSeq, entrySeq and fromEntrySeq respectively.

Features Added:

  • Sets can now contain Collections and JS Objects
  • Maps can now use Collections and JS Objects as keys
  • ES6 Iteration methods, keys, values and entries, added to all concrete collections.
  • concrete collections can be used directly in ES6 for-of loops
  • Vector iterator follows ES6 spec: dense iteration but adds an optional param to get sparse iteration.
  • Improved performance of Vector iteration and folding.

Bugs Fixed:

  • IE8 no longer complains about "delete" used as a method
  • Cursor access and sequence methods now always return Cursors.

2.0.15

23 Aug 06:01
Compare
Choose a tag to compare
  • Source used by node is now not-minified
  • withMutations and all complex mutation methods implemented with it (such as merge), now return this when they result in a no-op.
  • Fixed bug where a Map key could be incorrectly dropped.
  • Cursors now behave as Sequences and share more of the Map API
  • Clarify API of update and updateIn

2.0.12

19 Aug 04:13
Compare
Choose a tag to compare
  • Fix warnings with node v0.10
  • Fix issue with case-sensitive file systems
  • Significant performance improvements to Map
  • Bug fixes:
    • Deleting key from map can result in incorrect result
    • Deleting key from map can result in thrown error
    • Map iteration was returning incorrect value
    • Map key comparison was incorrect for complex keys (e.g. NaN)

2.0.11

16 Aug 01:05
Compare
Choose a tag to compare
  • Bugs:
    • TypeScript resolution was occasionally incorrect
    • pop() of 33-element Vector returned incorrect result.
  • Additions:
    • Cursor API expanded
    • Map() constructor now mirrors ES6 spec.
    • Vector's Iterator now adheres to ES6 spec.

2.0.10

15 Aug 06:15
Compare
Choose a tag to compare
  • Cursors - Alpha support. Please provide feedback!
  • rest and butLast methods.
  • Jasmine-check tests - Yay robust!
  • API Changes:
    • updateIn now creates empty Maps for missing keys, previously it simply performed no update.
  • Fixed bugs:
    • Map inserts with colliding hashes was causing a stack overflow.
    • Unshift >32 elements caused structural failure.
    • Slicing a Range could result in incorrect return value.
    • updateIn and getIn with empty array would throw, now it correctly applys the change to the root element.

mapKeys

12 Aug 20:18
Compare
Choose a tag to compare

Adds mapKeys