Changelog

This is the current swave CHANGELOG:


Version 0.7.0 (2017-02-06)
--------------------------

- Significantly improved internal interception mechanics for much better throughput overall
- Fixed problem with `expand` being unfair
- Fixed and improve numerous issues with akka compat layer (also #24)
- Renamed `logEvent` to `logSignal`
- Renamed `Stage.Limit` to `Stage.WithLimit`
- Merged `fanOutBroadcastBuffered` into `fanOutBroadcast`
- Added `bufferSize` parameter to `injectSequential`
- Added `Graph.render(StreamGraph[_])` convenience overload
- Added `.async()` marker to `mapAsync` transformation (#23)
- Added 3rd `Byte[T]` implementation: `ByteArrayBytes`
- Added missing implementations in `ByteStringBytes`
- Added `end` operation to fanout DSL
- Added `Pipe.fromFunction` and `Drain::contramap` convenience helpers
- Added @compileTimeOnly to all not yet implemented transformation stubs (#25)
- Increased default `max-batch-size` to 32
- Increased default bufferSize for asyncBoundaries to 32
- Many other internal refactorings for improved performance, fairness and correctness


Version 0.6.0 (2016-12-22)
--------------------------

- Added `conflateToLast`, `fanOutBroadcastBuffered`, `flatMap`, `prefixAndTailTo`, `sliceEvery`,
  `sliding`, `slidingTo`, `takeEveryNth` transformations
- Added `foldAsync`, `scanAsync` and `fanOutUnZip` stubs
- Introduced `IllegalReuseException`, `UnclosedStreamGraphException`
- Introduced `swave.core.text` and `swave.core.hash` helpers
- Renamed `onEvent` to `onSignal`, `limit` to `withLimit`, `limitWeighted` to `withLimitWeighted`,
  `nonEmptyOr` to `orElse`, `switch` to `fanOutSwitch`
- Renamed `async` to `asyncBoundary`, add new `async` transformation
- Renamed `Spout.from` to `Spout.ints`, add `Spout.longs` and `Spout.doubles`
- Renamed `Drain::capture` to `Drain::captureResult`, add `Drain::drainToLast` and `Drain.mkString`
- Refactored naming of fan-out, fan-in, inject and flatten transformations
- Replaced `PipeElem` with `Stage`
- Removed `A =>> B` alias
- Separated `seal` and `trySeal` as well as `run` and `tryRun`
- Renamed `Piping` to `StreamGraph`, introduce `StreamRun`
- Significantly improved internal stream execution infrastructure
- Added lots of documentation
- Many other fixes and improvements


Version 0.5.0 (2016-10-28)
--------------------------

- Added `docs` sub-project
- Added `split` transformation
- Added `Spout::drainToHead` and `Spout::drainToMkString`
- Split out `bufferDropping` transformation, introduce `Buffer.RequestStrategy`
- Introduced `UnterminatedSynchronousStreamException`
- Removed `Streamable` creation for mutable `Seq`s
- Smaller fixes and improvements


Version 0.5-M4 (2016-09-26)
---------------------------

- Added transformation implementations for:
  delay, expand, flattenMerge, groupBy, groupedWithin, headAndTail, intersperse, mapAsync, mapAsyncUnordered, multiply,
  prefixAndTail, recover, recoverToTry, recoverWith, reduce, takeLast, takeWhile, takeWithin, withCompletionTimeout,
  withIdleTimeout, withInitialTimeout
- Implement `PushSpout` (#13)
- Implement `Spout.tick`, `Spout.unfold` and `Spout.unfoldAsync`
- Implement `Drain.headOption`
- Many smaller fixes and improvements


Version 0.5-M3 (2016-07-21)
---------------------------

- Renamed `swave.core.Stream` to `swave.core.Spout`
- Add `throttle` transformation, `Spout.lazyStart`, `Spout.fromFuture` and `Drain.lazyStart`
- Add `swave-akka-compat` and `swave-scodec-compat` modules
- Add `swave.core.io.files` (file streaming, draining to files)
- Add basic StreamEnv extension infrastructure
- Significantly improve testkit probe infrastructure
- Refactor Module infrastructure
- Many smaller fixes and improvements


Version 0.5-M2 (2016-06-21)
---------------------------

- Fix erroneous dependency on `core-macros` sub-project (#4)


Version 0.5-M1 (2016-06-17)
---------------------------

first public release