New release of Rx
New release of Rx is available for download.
the Rx team has new release for .NET 3.5, .NET 4.0 RC, and Silverlight 3.
you can download the library from here.
the release includes some API changes,
some APIs has moved into different assemblies,
performance and bug fixes.
Highlights
- Moved IObservable & IObserver to seperate assembly: System.Observable.dll.
- Moved Schedulers to System.CoreEx.dll.
- Moved schedulers to System.Concurrency.
- Added schedulers to subjects.
- Removed deadlocks throughout Rx.
- Renamed Hide to AsObservable, add AsObserver, AsEnumerator.
- Added ObserveOn/SubscribeOn on IScheduler.
Release Notes
Build 1.0.2350.0 03/15/2010
- Added System.Observable to redist.txt.
- Changed Timeout to work on multiple notifications.
- Renamed HoldUntilChanged to DistinctUntilChanged.
- Made Semaphore for Silverlight internal.
- Adding Zip overload for IO<T> and IE<T> zipping.
- Changed last Throttle message to come out at Completion time and fix concurrency bug in Throttle.
- Changed OnErrorResumeNext to always complete.
- Changed Delay error semantics to be abort.
- Added ObserveOn/SubscribeOn on IScheduler.
- Fixed finally behavior.
- Minimized locks in subjects.
- Added MinBy, MaxBy operators as well as Min, Max with comparers.
- Added DistinctBy for Enumerable.
Build 1.0.2317.0 03/05/2010
- Moved to RC for .NET 4 build.
- Moved IObservable & IObserver to seperate assembly: System.Observable.dll.
- Removed IsCritical and its usage on exceptions thrown inside Rx operators.
- Fixed bugs in Enumerable->Observable conversions.
- Fixed threading bugs in EnumerableEx Merge and Amb operator.
- Changed signature of Buffer to expose an IList<T> as opposed to an IEnumerable<T>.
- Fixed Buffer behavior, with regards to flushing last frame and non-overlapping windows (count < skip).
- Renamed Buffer to BufferWithTime and BufferWithCount.
- Introduced BufferWithCount for IEnumerable.
- Renamed Hide to AsObservable, add AsObserver, AsEnumerator.
- Moved Schedulers & Disposables to System.CoreEx.
- Added schedulers to subjects.
- Enforced abort semantics for all exceptions in Rx.
- Added OfType and Cast to Observable, plus additional Do methods + parity in EnumerableEx.
- Reworked GroupBy to be lazy & performant.
- Removed deadlocks throughout Rx.
- Fixed reentrancy bug in Scheduler.
- Added RefCountDisposable.
- Removed LockDisposable.
- Added AsyncLock.
- Changed TimeSpan.MaxValue to not be a sentinel value for Infinite.
- Changed IScheduler argument positioning to be last where possible.
- Moved schedulers to System.Concurrency.
- Renamed Scheduler.Now to Scheduler.CurrentThread.
- Renamed Scheduler.Later to Scheduler.ThreadPool.
- Removed Scheduler.Default.
- Added Scheduler.Immediate and ImmediateScheduler.
- Added Scheduler.TaskPool and TaskPoolScheduler where Tasks are available.
- Added Scheduler.NewThread and NewThreadScheduler.
- Added SynchronizationContextScheduler.
- Added IConnectableObservable.
- Added ConnectableObservable.
- Removed EventSubject.
- Changed Publish/Replay/Prune to return IConnectableObservables.
- Added RefCount operator.
- Made all subjects not disposable.
- Added schedulers to asynchronous operations.
- Made Rx assemblies CLSCompliant.
- Added aggregate operators.
- Removed properties from Rx.
- Removed timedrift from time based operators.
- Changed default schedulers for operators.
- Cleaned up Generate and GenerateWithTime overloads.
- Renamed GroupDisposable to CompositeDisposable.
- Moved reference required overloads of extension methods to defining namespace.
- Many other small bug fixes.
- Removed BooleanSignal.
- Fixed timing bug in ControlScheduler.
תגים של Technorati:
IObservable,
IObserver,
Rx