All Versions
24
Latest Version
Avg Release Cycle
48 days
Latest Release
1333 days ago

Changelog History
Page 2

  • v0.7.0 Changes

    July 06, 2016
    • New: Allow mapTo* mappers to return null values. This is useful when querying on a single, nullable column for which null is a valid value.
    • Fix: When mapToOne does not emit a value downstream, request another value from upstream to ensure fixed-item requests (such as take(1)) as properly honored.
    • Fix: Add logging to synchronous execute methods.
  • v0.6.3 Changes

    April 13, 2016
    • QueryObservable constructor is now public allow instances to be created for tests.
  • v0.6.2 Changes

    March 01, 2016
    • Fix: Document explicitly and correctly handle the fact that Query.run() can return null in some situations. The mapToOne, mapToOneOrDefault, mapToList, and asRows helpers have all been updated to handle this case and each is documented with their respective behavior.
  • v0.6.1 Changes

    February 29, 2016
    • Fix: Apply backpressure strategy between database/content provider and the supplied Scheduler. This guards against backpressure exceptions when the scheduler is unable to keep up with the rate at which queries are being triggered.
    • Fix: Indent the subsequent lines of a multi-line queries when logging.
  • v0.6.0 Changes

    February 17, 2016
    • New: Require a Scheduler when wrapping a database or content provider which will be used when sending query triggers. This allows the query to be run in subsequent operators without needing an additional observeOn. It also eliminates the need to use subscribeOn since the supplied Scheduler will be used for all emissions (similar to RxJava's timer, interval, etc.).

    This also corrects a potential violation of the RxJava contract and potential source of bugs in that all triggers will occur on the supplied Scheduler. Previously the initial value would trigger synchronously (on the subscribing thread) while subsequent ones trigger on the thread which performed the transaction. The new behavior puts the initial trigger on the same thread as all subsequent triggers and also does not force transactions to block while sending triggers.

  • v0.5.1 Changes

    February 03, 2016
    • New: Query logs now contain timing information on how long they took to execute. This only covers the time until a Cursor was made available, not object mapping or delivering to subscribers.
    • Fix: Switch query logging to happen when Query.run is called, not when a query is triggered.
    • Fix: Check for subscribing inside a transaction using a more accurate primitive.
  • v0.5.0 Changes

    December 09, 2015
    • New: Expose mapToOne, mapToOneOrDefault, and mapToList as static methods on Query. These mirror the behavior of the methods of the same name on QueryObservable but can be used later in a stream by passing the returned Operator instances to lift() (e.g., take(1).lift(Query.mapToOne(..))).
    • Requires RxJava 1.1.0 or newer.
  • v0.4.1 Changes

    October 19, 2015
    • New: execute method provides the ability to execute arbitrary SQL statements.
    • New: executeAndTrigger method provides the ability to execute arbitrary SQL statements and notifying any queries to update on the specified table.
    • Fix: Query.asRows no longer calls onCompleted when the downstream subscriber has unsubscribed.
  • v0.4.0 Changes

    September 22, 2015
    • New: mapToOneOrDefault replaces mapToOneOrNull for more flexibility.
    • Fix: Notifications of table updates as the result of a transaction now occur after the transaction has been applied. Previous the notification would happen during the commit at which time it was invalid to create a new transaction in a subscriber.
  • v0.3.1 Changes

    September 02, 2015
    • New: mapToOne and mapToOneOrNull operators on QueryObservable. These work on queries which return 0 or 1 rows and are a convenience for turning them into a type T given a mapper of type Func1<Cursor, T> (the same which can be used for mapToList).
    • Fix: Remove @WorkerThread annotations for now. Various combinations of lint, RxJava, and retrolambda can cause false-positives.