Changelog History
-
v1.0.0-beta Changes
May 05, 2016The early versions of this project were fun experiments in Kotlin. As I played around with it more and talked to others, I hoped I might make this project useful to others, rather an as a simple experiment.
Therefore, I set down the following criteria for what I wanted from the library:
- Idiomatic Java and Kotlin usage
- Low method count
- ๐ Support for all basic Redux concepts in the smallest possible package. This includes the Store, Middleware, Reducers, and Subscribers/Subscriptions.
- Dev Tools that allow for Time Travel debugging
- โ Well tested
As this library now meets those goals, I think it's time to give it a beta label. Please try it out in your projects, and if we find it's all stable, we'll publish to 1.0.0 soon!
-
v0.3.0 Changes
April 25, 2016This is a big change! Bansa is now written in Java, and no longer has a dependency on Rx. This drops the method count dramatically, and makes Bansa far easier to use in a normal Java Android app.
There is also a companion version available, called
bansaKotlin
, that provides more idiomatic interfaces for the Kotlin programming language.I've also tried to keep the migration path simple. If you've been using Bansa, it shouldn't be a big rewrite of the way you were doing things before. The most important changes:
- โฌ๏ธ Reducers are no longer lambdas, but proper classes. I.e. move from
{ state: MyState, action: Any ->...
toReducer<MyState, Any> { state, action ->...
- Bansa now provides it's own small
Subscriber
andSubscription
interfaces, replacing RxJava versions. - โ
The constructor for creating a store using Middleware has been simplified.
createStore(intialState, reducer)
is nowBaseStore(initialState, reducer, Middleware...)
- โฌ๏ธ Reducers are no longer lambdas, but proper classes. I.e. move from
-
v0.2.0 Changes
March 21, 2016๐ Drafting a new release with all of the good work put in by @clemp6r! This release has several important updates:
- ๐ This library now has a more idiomatic Kotlin feel.
Store
has been moved to a proper interface. Yay! - ๐ Move from
getState()
(returning the current state) andstate
(the observable) to a more fluid api. From now on, simply usestate
for the currentState, andstateChanges
for the underlying state observable. As always, you can simply subscribe! - โ Remove Marker interfaces
State
andAction
. They aren't necessary! - โก๏ธ The scheduler, which used to put state updates on a potentially separate thread, has been removed for now. Keeping the reducers completely synchronous has advantages in the middleware layer, and discourages bad practices in the reducer layer.
- ๐ This library now has a more idiomatic Kotlin feel.
-
v0.1.0
February 19, 2016 -
v0.0.3
February 19, 2016 -
v0.0.2
January 22, 2016 -
v0.0.1
January 22, 2016