- Fix compatibility issues with shadow-cljs :esm builds
- Fix compatibility issues with shadow-cljs :esm builds
This version few numer of BREAKING CHANGES that should be considered before upgrade. All of them are pretty easy to adapt.
As this is a breaking change, we decide to rename the beicon.core
namespace with beicon.v2 namespace, so the people can continue using
the old API and the old package if they want without a conflict with
the new version.
This is a major API cleanup and adapt it more to RX convention of
using rx/pipe operator for compose transformations.
Relevant changes:
- The internal
rx/pipefunction inverts the arguments order for to be easy to use with->>. - Make the
rx/pipeas public API useful for use custom defined operators. - Add
beicon.v2.opswith operator only functions. - Remove the
flat-mapalias (usemerge-map). - The
firstoperator now becomes an alias for(take 1). - The
lastoperator becomes an alias for(take-last 1). - Replace multiarity
with-latest-fromwith a specific operatorwith-latest-from*that can be used through therx/pipeobservable chain helper. Mainly for reduce code complexity. - Remove the
doalias fortap - Remove the
logandpr-logoperator - Replace
dedupeanddedupe'with operator onlydistinct-contiguous*anddistinct*for make it more similar to rxjs API. - The
delay-whenoperator arguments order changed to be the same as rxjs - Remove
delay-emit - Replace
subswithsubs!
- Fix bug on
delay-emitoperator. - Minor change on
concat-reduceoperator.
- Add
flattenoperator. - Add
delay-emitoperator. - Add
skip-lastoperator. - Add
concat-reduceoperator.
BREAKING CHANGES: zip no longer accepts acoomulator function.
- Add
merge-scanoperator. - Minor improvements on
concatandzipconstructors.
- Update bundled rxjs to 7.1.0
- Add missing ^js metadata.
- Add the ability to pass config to
throttle. - Add
with-latest-fromas replacement towith-latest(more arities). - Deprecate
with-latest.
- Replace
combine-latestoperator withcombine-latest-with(now it does not accepts the selector/join function). - Add new
combine-latestconstructor. - Add the
delay-at-leastoperator. - Update documentation
- Fix
from-atomfactory.
BREAKING CHANGE:
- The
createfactory function is simplified, and IObservableValue is removed. The subscription object is passed as is to the factory function.
Before:
(rx/create (fn [sink]
(sink 1)
(sink (reduced 2))))Now:
(rx/create (fn [subs]
(rx/push! subs 1)
(rx/push! subs 2)
(rx/end! subs)))- Add
if-emptyoperator. - Update to rxjs 7.0.0-beta.13
- Accept
nilonfromfunction.
- Update to rxjs 7.0.0-beta.9
- Fix minor incompatibilities and unsafe usage of rxjs api.
- Add
subshelper as alternative tosubscribethat receives the observable in the last position of arguments.
- Add
switch-mapoperator.
- Minor internal assets loading changes.
- Minor internal assets loading changes.
This a list of posible breaking changes:
- Rename
from-colltofrom. - Remove
from-promise(replaced byfrom). - Remove
justandonce(ofalready handles it). - Remove
never(alias ofempty). - Remove
map-indexed(already covered by themap). - Changed comparator from
=toidentical?indedupeanddedupe'. - Remove arity/1 from
mapcatandmerge-map/flat-map. - Replace
ICancellableprotocol withIDisposable(and the method is now-disposeinstead of-cancel).
Other relevant but backward compatible changes:
- Update to RxJS 7.0.0-alpha.1
- Add
merge-alloperator. - Add
concat-alloperator. - Add
buffer-untiloperator. - Add
firstoperator. - Add
lastoperator. - The
merge-mapbecomes the main operator name andflat-mapan alias. - Add
fmapalias tomerge-mapoperator. - Add
finalizeoperator. - Add
dispose!function for finalize a subscription. - Add
cancel!as alias todispose!(for backward compatibility). - Add
sub!alias tosubscribe. - A disposable returned by
sub!/subscribeis now a callable (you can call it for dispose the subscription).
Date: 2019-08-20
- Update to RxJS 6.5.2
- Update to RxJava 2.2.11
- Add
map-indexedoperator. - Make the
observer?predicate clj only (rxjs does not have a type defined for it). - Implement
IDerefprotocol forBehaviorSubject(only cljs). - Add
as-observablehelper cljs.
On this release we start to use a local rollup based process for generate the bundle from the npm installed dependency (that will simplify upgrading the RxJS for the next versions).
Date: 2019-03-01
- Update to RxJS 6.4.0
- Update ro RxJava 2.2.7
This release reduces the rxjs bundle size including only the rxjs core and all operators (excluding all tests, ajax, websockets and other unrelated and not exposted api). Now it is 23k minified and gziped.
Date: 2017-11-17
- Update cljs compiler to the latest version.
- Update RxJS bundle to 5.5.2
- Update RxJava dependency to 2.1.6
- Make
ignorereturn an instance ofObservable.
Date: 2017-08-01
- Update cljs compiler to the latest version.
- Update RxJS bundle to 5.4.2
- Update RxJava dependency to 2.1.2.
- Fix
concatoperator with flowables. - Fix
from-promiseis renamed tofrom-futurein jvm (BREAKING CHANGE).
Date: 2017-05-28
- The
:trampolinescheduler is renamed to:queuefor consistency (backward compatibility preserved, but:trampolineis deprected for now). - Add
from-eventfunction to the cljs. - Update RxJS to 5.4.0
Date: 2017-04-29
- Upgrade RxJava to 2.1.0
- Fix unexpected exception on two-arity version of
timerfunction.
Date: 2017-04-25
- Update RxJS to 5.3.0
- Update RxJava to 2.0.9
Date: 2017-03-12
- Add
to-serializedfunction(jvm). - Add
single?predicate (jvm). - Fix unexpected exception when subscribing to Single (jvm).
Date: 2017-02-26
- Wrap function on
reduceandscanbecause some functions such as conj does not works if they are passed as is (and produces wrong results).
Date: 2017-02-22
- Upgrade to RxJS 5.2.0
- Upgrade to RxJava 2.0.6
Date: 2017-02-13
WARNING: many changes are backward incompatible with the previous version. They are introduced because for make the library more concise and more consistent between clj and cljs.
A list of relevant changes:
- Upgrade to RxJava2 (2.0.5)
- Scheduler vars are removed in favor to
schedulerfunction. - The functions
subscribe-onandobserve-onnow accept keywords as argument that automatically resolves to proper scheduler or raises an exception if no scheduler found for the provided keyword). - Add
cancel!function for cancel subscriptions more conciselly. - Remove the ability to call the subscription in order to cancel it.
- Introduce backpressure support with rxjava2 flowables through the
new
generatefunction, see documentation for more info. to-atomnow return a cancellable variant of atom (a wrapper that implements the atom interface and ICancellable protocol).- Remove deprecated
bus?predicate. - Remove deprecated
busfunction (subject constructor). - Remove deprecated second arity of
publishfunction. - Remove deprecated
from-exceptionfunction. - Remove deprecated
with-latest-from(replaced bywith-latest). - Remove
.closemethod on disposable on clojurescript.
Date: 2017-01-30
- Fix wrong behavior of concat combinator.
- The convenience arity for automatically connect on
publishis deprecated. If you want to connect, just use theconnect!function. The arity will be removed in the next version. - The
with-latest-fromfunction is deprecated in favor of the newwith-latestfunction that has the project function mandatory in contrast to the deprecated function. The deprecated function will be removed in the next version. - Update to RxJS 5.0.3 (master at d4533c40)
- Update to RxJava 1.2.5
Date: 2016-12-18
- Add
buffer-timeoperator.
Date: 2016-12-14
- Update to RxJS 5.0.1.
Date: 2016-12-07
- Add missing externs.
Date: 2016-12-07
- Update to RxJS 5.0.0.rc5
- Rename
busconstructor tosubject(for name consistency with rxjs). - Add
behavior-subjectconstructor. - Add the ability to use subject's and Observers as parameter to subscribe.
Date: 2016-11-27
- Update to RxJS 5.0.0.rc4
- Update to RxJava 1.2.3
- Add combine-latest combinator.
Date: 2016-11-03
- Update to RxJS 5.0.0.rc1
- Update to RxJava 1.2.1
Date: 2016-08-17
- Update to RxJS 5.0.0.beta11
- Update to RxJava 1.1.9
Date: 2016-07-10
- Update to RxJS 5.0.0.beta10
- Update to RxJava 1.1.7
Date: 2016-06-15
- Add missing ignoreElements to externs.
- Update to RxJS 5.0.0.beta9
Date: 2016-06-04
- Add support for clojure using rxjava as underlying implementation.
Date: 2016-05-28
- Update bundled rxjs to commit ceb9990 (some commits over 5.0.0.beta8).
Date: 2016-05-10
- Update bundled rxjs to 5.0.0.beta7.
Date: 2016-04-13
- Add
merge-mapalias for flat-map. - Fix wrong impl of merge implementation.
- Simplify impl of
mergeandconcat. - Strip
nilvalues frommergeandconcatfunc args. - Add the ability to add predicate for catch function.
- Update bundled rxjs.
Date: 2016-03-19
- Fix wrong parameters order on
dedupeanddedupe'functions.
Date: 2016-03-19
- Rename
from-exceptiontothrow. - Add backward compatible alias for
from-exception. - Update cljs compiler versiont o 1.8.34
- Update promise dependency to 1.1.1
Date: 2016-03-16
- Fix unexpected exception on subscribe function.
Date: 2016-03-16
- Fix wrong call on buffer function impl.
Date: 2016-03-16
- Fix minified rxjs bundle.
Date: 2016-03-16
This is a major release due to big internal changes and some backward incompatibilities introduced in this version.
- Switch to RxJS 5.x (5.0.0-beta2)
- Remove
from-callbackobservable constructor. - Remove
from-pollobservable constructor. - Remove
repeatoperator. - Remove
sliceoperator. - Remove
to-observableoperator. - Remove
pausableoperator. - Remove
immediatescheduler. - Add
mapcatoperator (similar to flatmap but maintains the order). - Add
fjoina rxjs forkjoin operator (similar to promise.allmethod). - Add
rangeconstructor. - Add
asyncscheduler. - Change
zipcall signature. - Rename
delay'operator todelay-when. - Rename
choiceoperator torace. - Rename
sample'operator tosample-when. - Make
ofconsturctor accept more than 6 parameters.
Date: 2016-01-28
- Add
take-untilfunction.
Date: 2016-01-22
- The old
timeoutfunction becomestimer. - Add proper
timeoutfunction. - Add
delayfunction. - Add
intervalfunction. - Add support for schedulers (
subscribe-onandobserve-on). - Make cats dependency optional (only if you require
beicon.monadns). (Is responsability of the user include the appropriate cats version). - Start using clojure 1.8 and clojurescript 1.7.228.
Date: 2016-01-08
- Fix wrong path to the minified version of bundled rxjs.
Date: 2015-12-23
- Add
samplefunction.
Date: 2015-12-23
- Add
debouncefunction. - Allow multimethods on
on-value,on-errorandon-end.
Date: 2015-12-08
- Fix wrong precondition on
repeatfunction. - Add
scanfunction. - Add
from-promisefunction. - Add
retryfunction. - Add
with-latest-fromfunction. - Add
catchfunction. - Add
from-exceptionfunction. - Add
emptyfunction. - Add
sharefunction. - Add
merge-allfunction. - Add
offunction. - Add
justfunction (once is now an alias for just). - Implement
neverin function of empty. - Improve
zipfunction allowing passing user defined join functon. - Changed call signature of
to-atomfor consistency with the subscribe related functions.
Date: 2015-12-03
- Fix incompatibilities with advanced compilations.
- Add new and improved externs.
- Update to rxjs 4.0.7
Date: 2015-11-03
- Update bundled rxjs to 4.0.6.
Date: 2015-11-02
- Initial release.