Highland.js v2.6.0 Release Notes
-
๐ Bugfix
parallel
no longer drops elements on the floor in a number of cases. #302, #331. Fixes #234, #328.- Calling
next
beforepush
within a generator stream no longer causes the stream to resume and throw away data when used withpull
. #326. Fixes #325. - Parallel no longer drops data if paused. #331. Fixes #328.
- ๐ Various grammar fixes and documentation updates. #341, #354, #381, #397, #407
isStream
now always returns a boolean. Before, it would returnundefined
if the argument was an object but not a Highland stream. #343.- Streams now unpipe from Readable on destroy. #361.
_send
now keeps a reference to the correct consumer/observer array. #367. Fixes #366.- Streams constructed with
pipeline
now correctly exert backpressure. #372, #377. Also fixes an possible issue with not consuming errors from promises. #391. - It is no longer possible to re-enter the consume callback. #393.
๐ New additions
- ๐
mergeWithLimit
: Likemerge
, but with an argument to specify the maximum number of parallel stream that can be consumed at once. #375. - ๐ minified build: There is now a minified version of the browser build under
dist/highland.min.js
. #392. wrapCallback
: The function now takes a second argument (mappingHint
) that describes how arguments passed to the callback are handled. It behaves like themappingHint
parameter of the stream constructor. #247. Fixes #246, #334.- ๐ Node 4 and 5: Added support for node 4 and 5. #383.
๐ Improvements
- The runtime of
pick
per object is nowO(n)
, wheren
is the number of properties to be picked. It was previouslyO(mn)
, wherem
is the number of pickable properties on the object. #286. - Both
pick
andpickBy
can now select non-enumerable keys. #286. parallel
now throws descriptive errors if it encounters a value that is not a stream. #318.- ๐ป The standalone Highland file is now built using Browserify 12.0.1.
- โก๏ธ Updates a number of
devDependencies
. If you develop on Highland, make sure to update the dependencies. #384, #385, #387, #390, #400, #403, #415. uniq
now uses a Set to compute uniqueness whenever available, resulting in a significant performance boost for large streams. The definition of equality is still===
, not theSameValueZero
algorithm used bySet
. #395parallel
now throws if provided an argument that is not a number. #421.
Other
- โฌ๏ธ Dropped support for Node 0.11.
- โฌ๏ธ Dropped support for iojs.
- ๐ Deprecation warnings for API changes upcoming in version 3.0.0 have been added. #417