- 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:
offerandpollare added as non-blocking counterparts ofputandtake.
- 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
pipelineandpipelineAsync. - FIXED:
mixnow 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 chnow behaves the same asyield take(ch). - CHANGED:
sleepis 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.channelwhen 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
waitintosleep. - FIXED: Goroutine's output channel is now closed after return value is delivered.
- CHANGED: More reliable
mochatest helpers. - FIXED: Delayed puts now correctly returns
trueon 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:
yielding 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.