Revision fc0627cda4f3fafad3b8b212ce7912c53771e78e authored by Irakli Gozalishvili on 22 January 2013, 17:02:00 UTC, committed by Irakli Gozalishvili on 22 January 2013, 17:02:00 UTC
1 parent bac1edf
History.md
# Changes
## 3.0.0 / 2013-01-19
- Add testling integration tests.
- Remove dependency on global `setTimeout`.
- Change fold such that errors that reach it are thrown.
- remove dependency on [eventual](https://github.com/Gozala/eventual) &
[watchables](https://github.com/Gozala/watchables)
## 2.0.0 / 2012-11-23
- Factor out [reducible][https://github.com/Gozala/reducible] abstraction
into own package, that way we can avoid most of the API breaks.
- Remove most of the non-essential / not commonly used APIs.
- Remove **reduce** function in favor of [fold](./fold.js) with a more
useful API.
## 1.0.3 / 2012-11-10
- Update dependencies
## 1.0.2 / 2012-11-09
- Improve definition for `arguments` object.
## 1.0.1 / 2012-11-06
- Define API for [lazy](./lazy.js) creation of reducibles.
- Improvements for [print][] function so that it could handle objects with
circular references.
- Fix [reduce][] so that errors thrown by handler are captured and cause
rejections in returned promise.
## 1.0.0 / 2012-11-02
- Add integration for browser based testing using [phantomify][].
- Removed lots of low level APIs like `transform`, `trasformer`, `convert`
in favor of enhanced `reducible` that also takes care of collection
normalizations.
- Errors no longer require boxing, instances of `Error`-s are treated as
exceptions in a collection. Such collections are considered as broken &
after error no values will be dispatched. Also [emit](./emit.js)-ing
errors on [signal](./signal.js) / [channel](./channel.js) marks them
as broken.
- [End](./end.js) of stream no longer requires boxing, it's just a special
data value that indicates end of stream. Anything followed in a collection
passed that is ignored, also reducible's will ignore any subsequent values
and will return [reduced](./reduced.js) result to signal they've done
consuming.
- Adding missing test cases.
- Improvement to a `print` function that now also works in the browser.
- New low level utility function [reducer](./reducer.js) that is just a sugar
over [reducible](./reducible.js) that takes care of the boilerplate code
for stateless transformation functions.
- New [normalize](./normalize.js) utility function that can be used to wrap
collections that are not guaranteed to comply to API contracts. Resulting
collection is guaranteed to end or error only once and always pass in
accumulated value returned in a last iteration.
## 0.2.1 / 2012-10-30
- Fix bug in [hub](./hub.js) implementation that was not multiplexing on
values that have derived from it like [channel](./channel.js) for example.
## 0.2.0 / 2012-10-28
- Break API change for [signal](./signal.js) / [channel](./channel.js).
They no longer throw exceptions on attempts to close or emit more data
instead they return `accumulated` boxed value to signal they're closed.
- Implement [pipe](./pipe.js) that can be used to pipe input right to an
output (signal / channel / whatever implements [emit](./emit.js)).
## 0.1.6 / 2012-10-26
- Add a lot more tests.
- Create index with all end user functions.
- Fix subtle bug in `hub` implementation.
- Fix bug in `delay` implementation.
## 0.1.5 / 2012-10-25
- Fix bug in implementation of `capture` that caused multiple ends.
- Implement `delay` utility module.
- Fix flatten that in edge cases leaked end of stream before it actually ended.
- Implement lot's of new tests.
## 0.1.4 / 2012-10-24
- Add transformation support for primitive types.
## 0.1.3 / 2012-10-24
- Removed JSHint comments.
- Remove experimental modules.
- Implement `zip` function.
- Remove dependency on zip package.
## 0.1.2 / 2012-10-24
- Make `reduce` API on eventuals equivalent of API on values they resolve to.
## 0.1.1 / 2012-10-23
- Define implementation of `accumulate` for eventual data types.
## 0.1.0 / 2012-10-21
- Refactor reducers into idiomatic node structure of function per module.
- Document each individual function.
## 0.0.3 / 2012-10-15
- Implement client http API for reducers.
- Implement clojure like `reductions` function.
- Implement experimental `adjust` function.
- Implement `concat` for parallel data structures.
- Update to eventuals@0.3.0
## 0.0.2 / 2012-07-23
- Rename channel abstraction to signal and define alternative
channel abstraction
- Implement lazy stream abstraction.
- Extend `accumulate` with a default implementation for all values.
- Define experimental `Binoid` type.
- Define `sequential` decorator.
- Implement error handling for reducers.
- Implement `capture` function for error handling.
- Implement `hub` function for sharing sequences across multiple consumers.
- Make core independent of `promise` abstraction.
- Implement `list` type.
## 0.0.1 / 2012-05-19
- Initial release
[phantomify]:https://github.com/Gozala/phantomify
[print]:./debug/print.js
[reduce]:./reduce.js
[testling-ci]:http://ci.testling.com/
![swh spinner](/static/img/swh-spinner.gif)
Computing file changes ...