-
Notifications
You must be signed in to change notification settings - Fork 145
Open
Description
This issue tracks any changes we want for v3.0.0. See the 3.0.0 branch.
The biggest change for now is a reimplementation of the Highland engine. See the original PR at #175.
Breaking changes
- Can no longer call
fork
afterconsume
. Must callfork
at the start. - Can never
consume
a stream twice. - The (undocumented)
stream.source
no longer exists. pipe
passes along errors if piping to a Highland stream instead of callingthis.emit('error')
(Modifies pipe to pass along highland errors #166).See Reconsider making mappingHint's default mapper wrap in an array. #360 (comment)wrapCallback
and stream constructor passes an array for the default mapping hint when there are more than one argument is passed to the callback (Implement mappingHint for wrapCallback, fixes #246 #247, hintMapper default mapper should return array when more than one arg #335).- Renames and reargs (Highland v3.0.0 #179 (comment))
zipAll
renamed tozipEach
.zipAll0
renamed tozipAll
.reduce
andscan
argument order reversed
map
will now throw an error if the argument is not a function. The old behavior instead mapped all stream elements to the argument if it was not a function.
Before release
- Implement
onDestroy
(see back-propagation of _.nil #172) - Disable multiple
consumes
without a fork. - Make sure all transforms correctly destroy their parent. Anything
consume
-based should get this for free, but not all transforms useconsume
. Maybe we should add acreateDownstream
method that does this for us.- merge
- parallel
- latest
- sequence
- flatten
- reduce/reduce1
- scan/scan1
- Create a test like
noValueOnError
to test the backpropagation behavior. -
Makepipe
pass along errors to a Highland stream (Modifies pipe to pass along highland errors #166). - Add a statement to the
pipe
docs pointing tothrough
for the case when users want to pipe along errors as well as values to another Highland stream (Highland v3.0.0 #179 (comment)). - Remove
ConsumeStream
andPipelineWrapperStream
(to make it easier to port Extensibility 3.0 #337).-
ConsumerStream
-
PipelineWrapperStream
-
- Port
use
(see Extensibility 3.0 #337). - Create a test like
noValueOnError
to test that core transforms always return an object of the appropriate extended type. - Docs for
use
. -
Fix default mapping hint behavior (hintMapper default mapper should return array when more than one arg #335).Remove the note in the docs that say we are changing the default behavior. - Rename & reargs
-
reduce
andscan
-
zipAll
andzipAll0
-
pickBy
-
- Make
map
throw an error if not given a function (Map shouldn't accept a value. Move that to value() #404). - Test that destroyed fork does not contribute backpressure (Highland v3.0.0 #179 (comment))
- Create
highland-2
module for reverting the transform rename/reargs (Highland v3.0.0 #179 (comment)) - Split
index.js
intohighland/core
andhighland/transforms
- Release the pending 2.x version.
- Merge 2.x into 3.0.0 once released.
Nice to have but can be delayed until after release
- Port over sync optimizations.
- Port over iterative
consume
and redirect. - Check for memory leaks.
- Create some benchmarks.