- UPDATED: Update dependencies
- FIXED: Built script for running development in Windows environment
- CHANGED: Remove creator function in process
- UPDATED: Project dependencies
- FIXED: Eslint
- CHANGED: Update process and add utils function
- ADDED: promiseChan and documents
- CHANGED: refactor the core logic
- ADDED: support for built tool
- REMOVED: flow
- IGNORE: npm-shrinkwrap.json in files when publishing
- FIXED: Webpack built error
- ADD: npm-shrinkwrap.json
- CHANGED: Remove deprecated dispatcher function using babel-runtime/core-js/set-immediate
- ADDED: Flowtype
- CHANGED: Fix all eslint rules
- FIXED: Fix missing babel-runtime dependencies for node.
- CHANGED: Improve npm script for publishing package.
- CHANGED: Improved build tools (babel, webpack, eslint).
- REMOVED: Promise buffers and channels are removed.
- ADDED:
offer
andpoll
are added as non-blocking counterparts ofput
andtake
.
- FIXED: When a take is fulfilled by a waiting put, it now correctly invalidates other operations belonging to the same
alts
.
- CHANGED: Official transducer protocol is now supported, instead of the old protocol.
- ADDED: Single-write multi-read behavior is now supported via promise buffers and promise channels.
- ADDED: Pipelining functions
pipeline
andpipelineAsync
. - FIXED:
mix
now properly handles solos and mutes.
- FIXED: Incorrect handling of multiple pending puts/takes is now fixed.
- ADDED: Each goroutine now keeps a reference to its generator function, for debugging purpose.
- FIXED:
alts
' at-most-once guarantee is no longer violated when there is an operation that:- Attempts to put on a closed channel.
- Is registered after other not-ready-yet operations, causing one of these operation to be fulfilled as well.
- ADDED: Buffered channels can use transducers to transform values put onto them.
- CHANGED: Each goroutine now always returns a channel.
- CHANGED:
yield ch
now behaves the same asyield take(ch)
. - CHANGED:
sleep
is deprecated in favor oftimeout
.
- FIXED: Pending puts are now properly processed when takes make place for them in the buffer.
- ADDED: Channel operations, grouped under
csp.operations
(map, filter, pipe...). - ADDED: Named special values:
DEFAULT
: Returned as.channel
when no operation is ready for a non-blockingalts
.CLOSED
: Returned when taking from a closed channel (still equal tonull
).
- ADDED: More example from Go slides.
- CHANGED: Rename
wait
intosleep
. - FIXED: Goroutine's output channel is now closed after return value is delivered.
- CHANGED: More reliable
mocha
test helpers. - FIXED: Delayed puts now correctly returns
true
on succeed.
- ADDED: Priority and default options for
alts
. - ADDED: Tests.
- ADDED: Examples.
- ADDED: Preliminary documentation.
- REMOVED:
stop
. - CHANGED: Small optimization for
alts
. - CHANGED: camelCase for public APIs.
- FIXED:
yield
ing normal values is now allowed. - FIXED: Returning value from goroutine is now allowed.
- FIXED: Closing channels now does not hang pending puts.
- FIXED: Call stack no longer grows unboundedly when results are immediately available.
- Initial release.