2018_05_09
- AndroidX support
- Gradle wrapper 4.10.2
- Build gradle tools 3.2.1
- Kotlin 1.2.71
- Compile sdk 28
- Support library 28.0.0
- Dagger 2.18
- Make GetMandatoryResult operations return nonnull result.
- Jacoco 0.7.9.
- Assertj 3.9.0 and Assetj-android 1.2.0.
- Timber 4.6.0.
- AutoValue 1.0-rc4 and AutoParcel 0.3.1.
- Private constructor checker 1.2.0.
- EqualsVerifier 1.7.8.
- Gradle Nexus plugin 0.12.0.
- Nexus publish plugin.
executeSQL()
now for sure can be executed viaasRxCompletable()
.
Changes:
- PR 905: executeSQL() can be executed via asRxCompletable().
- PR 903: Nexus publish plugin.
- PR 901: Gradle Nexus plugin 0.12.0.
- PR 899: AndroidX support.
- PR 898: Dagger 2.18 and temporary disable SQLDelight.
- PR 897: Compile sdk 28 and support library 28.0.0.
- PR 894: Gradle wrapper 4.10.2, build gradle tools 3.2.1 and Kotlin 1.2.71.
- PR 868: Jacoco 0.7.9.
- PR 883: Make GetMandatoryResult operations return nonnull result.
- PR 884: Assertj 3.9.0 and Assetj-android 1.2.0.
- PR 885: Timber 4.6.0.
- PR 886: AutoValue 1.0-rc4 and AutoParcel 0.3.1.
- PR 887: Private constructor checker 1.2.0 and EqualsVerifier 1.7.8.
2017_12_20
- RxJava2 support 🎉🎉🎉
- Add
asRxMaybe
. executeSQL()
now can be executed viaasRxCompletable()
.- Add interceptors for ContentResolver.
- Add ContentResolver sample.
- Android gradle plugin 3.0.1 and support libraries 27.0.2.
- Mockito 2.13.0 and Mockito-Kotlin 1.5.0.
- Add gradle versions plugin.
- Table generation with few primary keys.
- Do not publish jar for android modules.
Migration notes:
asRxObservable
->asRxFlowable
(see backpressure 2.0).- Get object
asRxFlowable()
andasRxSingle
returnOptional
of object because RxJava2 no longer accepts nulls. - You can use
asRxMaybe
to retrieve value without wrapping. PreparedOperation
takes 3 parameters:Result
- type of operation result;WrappedResult
-Optional
in cases when result may be null, result itself otherwise;Data
- some operation description that can be used inside interceptor.- You can call
DefaultStorIOContentResolver.Builder#addInterceptor(Interceptor)
to log/debug/modify result of any operation (like it was implemented before inDefaultStorIOSQLite
).
Changes:
- PR 844: Override Travis install step to avoid unnecessary
./gradlew assemble
. - PR 845: RxJava2 base support.
- PR 848: Optional for SQLite.
- PR 849: Optional for ContentResolver.
- PR 850: Add ContentResolver sample.
- PR 854: Table generation with few primary keys.
- PR 856: Rewrite optional usage to allow Maybe implementation.
- PR 857: Support io.reactivex.Maybe.
- PR 858: Rename package to storio3.
- PR 861: Fix maven url, update version.
- PR 862: Android gradle plugin 3.0.1.
- PR 864: Add interceptors for ContentResolver.
- PR 865: Add gradle versions plugin.
- PR 866: Mockito 2.13.0 and Mockito-Kotlin 1.5.0.
- PR 867: Kotlin 1.2.0.
- PR 870: Do not publish jar for android modules.
2017_10_29
- Table generation by annotation processor, thanks to @pbochenski and @geralt-encore!
- Remove exhaustive else from GetResolverGenerator utils.
- Some improvements in sample-projects, thanks to @ValeriusGC (it took us almost a year to merge…)
- Automated release and CI tweaks.
Changes:
- PR 840: Table generation by annotation processor, thanks to @pbochenski and @geralt-encore!
- PR 835: Remove exhaustive else from GetResolverGenerator utils.
- PR 711: Improvements in sample-projects thanks @ValeriusGC.
- PR 839: Fix readme links.
- PR 841: Configure all signing params for automated release.
- PR 842: Download Linux Android SDK on Travis instead of macOS.
- PR 843: Minimize deploy logs, close nexus repo after upload.
2017_10_16
- No API/implementation changes, fine-tuning automatic release process.
Changes:
- PR 836: Do clean release build to exclude Jacoco from jar.
- PR 834: Use environment variable to detect publishing state.
- PR 833: Disable debug builds for library modules.
2017_10_16
- No API/implementation changes, we're fine-tuning automated release process.
2017_10_16
- Add automatic deploy hooks to Travis config.
- Gradle 4.2.1.
Changes:
- PR 830: Add automatic deploy hooks to Travis config.
- PR 825: Gradle 4.2.1.
- PR 823: Update readme according to Kotlin integration changes.
- PR 829: Fix test parallelWritesWithoutTransaction.
- PR 824: Fix Travis log overflow.
2017_09_12
- Interceptors API! 🎉🎉 Many thanks to @rsinukov
- Logging via interceptors (just add
LoggingInterceptor
). - Remove deprecated
createObservable
andinternal
. You should useasRxObservable
andlowLevel
instead. mapFromCursor
receivesStorIOSqlite
/StorIOContentResolver
as parameter.- Remove
Query.CompleteBuilder.whereArgs(list)
. Please use vararg overload instead. - Add ability to use vals instead of vars in classes for resolver generation.
- Fix message in case creator parameters do not match columns.
- Fix case with different classes having fields with the same names.
- Add SQLDelight interaction example.
- Gradle 3.5.
- Checkstyle 7.7.
- Kotlin 1.1.2.
- Gradle plugin 2.3.3.
- Support library 25.3.1.
- Compile testing tool 0.11.
Changes:
- PR 542: Interceptors API and
LoggingInterceptor
. - PR 812: Remove deprecated
createObservable
andinternal
. - PR 817: Add
storIOSqlite
parameter to get resolver. - PR 818: Add
storIOContentResolver
parameter to get resolver. - PR 819: Remove
Query.CompleteBuilder.whereArgs(list)
. - PR 802: Add ability to use vals instead of vars in classes for resolver generation.
- PR 797: Fix message in case creator parameters do not match columns.
- PR 803: Gradle plugin 2.3.3. Fix case with different classes having fields with the same names.
- PR 814: Add SQLDelight interaction example.
- PR 790: Gradle 3.5, Checkstyle 7.7.
- PR 792: Kotlin 1.1.2.
- PR 794: Support library 25.3.1.
- PR 816: Compile testing tool 0.11.
2017_05_15
- Support for Kotlin properties!
- Notification tags.
- Annotation processors in Kotlin.
- Robolectric 3.3.2.
- AssertJ 3.6.2.
- Fix markdown headers.
Changes:
- PR 776: Support for Kotlin properties.
- PR 768: Notification tags.
- PR 775: Annotation processors in Kotlin.
- PR 774: Robolectric 3.3.2 and AssertJ 3.6.2.
- PR 772: Fix markdown headers.
2017_02_19
- Tests for StorIOSQLiteAnnotationsProcessor with google compile testing. 🎉🎉 Great work from @geralt-encore!
- Tests for StorIOContentResolverAnnotationsProcessor with google compile testing.
- JavaPoet 1.8. Fixes for #763, thanks @joelpet for reporting.
- Add to StorIO.LowLevel getter for underlying SQLiteOpenHelper.
- Fix for #757 compilation error after applying column annotation on a private method.
- Mockito 2.7.7.
Changes:
- PR 760: Compile testing for StorIOSQLiteAnnotationsProcessor.
- PR 761: Compile testing for StorIOContentResolverAnnotationsProcessor.
- PR 763: JavaPoet 1.8.
- PR 706: Add to StorIO.LowLevel getter for underlying SQLiteOpenHelper.
- PR 754: Fix compilation error after applying column annotation on a private method.
- PR 762: Mockito 2.7.7.
2017_01_22
- Fixes for #749, thanks to @bluebery and @michaelcarrano for reporting.
- Fix typo in README. Thanks to @mikeyxkcd.
- Gradle 2.2.3.
- Build tools 25.0.2.
- Robolectric 3.1.4.
Changes:
- PR 747: Updated gradle/plugin/tools versions.
- PR 748: Update README.md dependency typo.
- PR 750: Use annotationProcessor instead of apt.
- PR 755: Update readme with annotationProcessor instead of apt.
- PR 754: Fixes for resolver generators.
2016_12_29
- Fixes for AutoValue and Kotlin support in
StorIOSQLiteProcessor
andStorIOContentResolverProcessor
, thanks to reporters and @geralt-encore and @hotchemi for fixes!
Changes:
- PR 743: Update readme with kapt2 for Kotlin support.
- PR 742: Add missing annotation to Kotlin's example in README.
- PR 740: Mapping parameters by name for Kotlin and AutoValue support.
- PR 739: Fix AutoValue integration.
2016_12_7
- Support for AutoValue and Kotlin in StorIOSQLiteProcessor and StorIOContentResolverProcessor! 🎈🎉🎆 100500 thanks to @geralt-encore!
- DefaultStorIOSQLite now combines affected tables from pending changes. After the end of transaction DefaultStorIOSQLite will send only one notification instead of multiple for every change.
- Queries take generic args instead of objects.
- Add
RawQuery#affectsTables
andRawQuery#observesTables
that take collection.
Changes:
- PR 720 Support for AutoValue and Kotlin data classes in StorIOSQLiteProcessor.
- PR 725 Support for AutoValue and Kotlin data classes in StorIOContentResolverProcessor.
- PR 726 Update README with AutoValue and Kotlin examples.
- PR 717 DefaultStorIOSQLite combines affected tables from pending changes.
- PR 699 Queries take generic args instead of objects.
- PR 698 Add RawQuery affectsTables and observesTables that take collection.
2016_10_10
- Basic sample app which depends only on storio-sqlite and storio-annotations. Many thanks to @skrzyneckik
- RxJava 1.2.1. Thanks to @yshrsmz
- Make generated map methods public
- Placeholders generator allow zero count
- Remove toast exceptions swallowing in Sample
Changes:
- PR 686 Basic sample app which depends only on storio-sqlite and storio-annotations
- PR 692 RxJava 1.2.1
- PR 674 Make generated map methods public
- PR 676 Placeholders generator allow zero count
- PR 687 Remove toast exceptions swallowing in Sample
2016_07_26
- Find type mapping among interfaces recursively. Pluggable typemapping!
- Default scheduler for StorIOSQLite
- Default scheduler for StorIOContentResolver
ignoreNull
property for annotation processing- Generated get resolver supports nulls for boxed types
Changes:
- PR 601 Find type mapping among interfaces recursively
- PR 660 Default scheduler for StorIOSQLite
- PR 661 Default scheduler for StorIOContentResolver
- PR 642
ignoreNull
property for annotation processing - PR 643 Generated get resolver supports nulls for boxed types
2016_07_7
- Gradle 2.1.2
- RxJava 1.1.6
- Apt plugin 1.8
- Add link to CodeGenUnderStorIO
- Backpressure fix in OnSubscribeExecuteAsBlocking
- Dagger 2.4 in sample app
Changes:
- PR 668 RxJava 1.1.6
- PR 667 Backpressure fix in OnSubscribeExecuteAsBlocking
- PR 665 Gradle 2.1.2
- PR 659 Apt plugin 1.8
- PR 657 Dagger 2.4 in sample app
- PR 655 Add link to CodeGenUnderStorIO
2016_05_19
asRxCompletable()
! Thanks to @geralt-encore- Gradle Wrapper 2.12
- RxJava 1.1.3
- Integration with Codecov.io
StorIOSQLite.LowLevel
instead ofStorIOSQLite.Internal
(deprecated). Feel free to use it!
Changes:
- PR 651
RawQuery
arguments are objects instead of strings - PR 650 RxJava 1.1.3
- PR 632 Gradle Wrapper 2.12
- PR 629
asRxCompletable
forStorIOSQLite
- PR 633
asRxCompletable
forStorIOContentResolver
- PR 630 Integration CI with Codecov.io
- PR 599
StorIOSQLite.LowLevel
instead ofStorIOSQLite.Internal
forStorIOSQLite
- PR 608
StorIOSQLite.LowLevel
instead ofStorIOSQLite.Internal
forStorIOContentResolver
2016_01_19
asRxSingle()
, yep,rx.Single
support! Many thanks to @geralt-encoreasRxObservable()
instead ofcreateObservable()
(deprecated)
Changes:
- PR 596 Test asRxObservable() instead of createObservable() which is now deprecated
- PR 594 Gradle Wrapper 2.10
- PR 593 Enable emails from Travis to react on problems with master branch
- PR 592 Add query to exceptions (significantly helps inspect crashes)
- PR 588 Try to find interface of class when apply mapper
- PR 586 Remove "final" from most of the classes (will help with mocking)
- PR 585 Base
executeAsBlocking()
result is nullable - PR 584 Add
asRxObservable()
, deprecate createObservable() - PR 573 Support for rx.Single
2015_12_30
- Option to get one object for
StorIOSQLite
andStorIOContentResolver
- Handle backpressure for
Get
operation via RxJava (requires RxJava 1.1.0) SQLiteTypeMapping
andContentResolverTypeMapping
generation- Annotation processor for
StorIOContentResolver
- Option to set different uri's for
insert
,update
anddelete
(StorIOContentResolver
) PutResult
andDeleteResult
now allow0
updated tables- Jacoco is alive!
- Android Gradle Plugin 1.5.0
- Gradle wrapper 2.9
- RxJava 1.1.0
- SupportLibs 23.1.0
- Thanks to @geralt-encore and @zayass!
Changes:
- PR 574
SQLiteTypeMapping
andContentResolverTypeMapping
generation - PR 575 Use force to reanimate Jacoco!
- PR 569 Option to set different uri's for insert, update and delete
- PR 572 Handle backpressure for
Get
operation via RxJava, RxJava 1.1.0 - PR 561 Switch to Android Gradle Plugin 1.5.0
- PR 563
PreparedGetObject
blocking forStorIOSQLite
- PR 568
PreparedGetObject
as observable forStorIOSQLite
- PR 565
PreparedGetObject
blocking forStorIOContentResolver
- PR 570
PreparedGetObject
as observable forStorIOContentResolver
- PR 560
PutResult
andDeleteResult
allow0
updated tables - PR 562 Switch to Gradle wrapper 2.9
- PR 558 Add module with common annotations processing logic
- PR 548 Add annotation processor for
StorIOContentResolver
- PR 553 Switch to supportLibs 23.1.0
2015_11_7
StorIOContentReslver
fix for observing changes of Uris on Android API < 16
Changes:
- PR 550 StorIOContentReslver fix for observing changes of Uris on Android API < 16
2015_10_19
- Convert any
Query
back to itsBuilder
viatoBuilder()
! - Observe all changes in
StorIOSQLite
viaobserveChanges()
! - Retrieve
ContentResolver
fromStorIOContentResolver
viaStorIOContentResolver.internal().contentResolver()
Changes:
- PR 544 Add getter for underlying ContentResolver to the StorIOContentResolver
- PR 543 Add API for observing all changes in StorIOSQLite
- PR 539 Add toBuilder() for queries
- PR 538 Switch back to Android Gradle Plugin 1.3.1
2015_10_01
get().numberOfResults()
for both SQLite and ContentResolver!@CheckResult
annotation for better IDE experience!insertWithOnConflict()
for StorIOSQLite.- We've added example of composite entity!
Changes:
- PR 534 Add StorIOContentResolver get().numberOfResults()!
- PR 533 Add StorIOSQLite get().numberOfResults()!
- PR 531 Add @CheckResult annotation, makes life in the Android Studio Better!
- PR 530 Add insertWithOnConflict() for StorIOSQLite!
- PR 520 Example of UserWithTweets entity with custom Put/Get/Delete resolvers
2015_09_15
Query.limit()
now accepts integers! Better API for everybody! Thanks @vokilam for the suggestion!- Little fix for the sample app. Thanks @cpeppas!
Changes:
- PR 517 Limit method accept integer args
- PR 514 adding somebytes column that was missing from CREATE TABLE TweetsTable
2015_09_10
- Add info about all types of fields supported by StorIO Annotation Processor!
- Updated build tools and dependencies! (Gradle Plugin 1.4.0-beta1, sdk 23, RxJava 1.0.14, RxAndroid 1.0.1, Support Libs 23.0.1, Private Constructor Checker 1.1.0, Dagger 2.0.1, ButterKnife 7.0.1)
- Fix SQLiteDatabase.execSQL() without args!
Changes:
- PR 503 Annotation processor supported types
- PR 504 New build tools and dependencies
- PR 510 Raw query without arguments fix
2015_08_29
- StorIOSQLite Annotation Processor now supports blobs
byte[]
! - We've added example of relations implementation (R from ORM) to the Sample App!
Changes:
2015_08_17
StorIOSQLite
: Remove unnecessary synchronization, prevent possible deadlocks, faster & better!- Use AssertJ for test!
Changes:
- PR 491 Remove unnecessary synchronization, prevent possible deadlocks, faster & better
- PR 490 Use AssertJ for test
2015_08_7
- Add
Queries
class with common utils for queries, now you can generate placeholders!
Changes:
- PR 485 Add public Queries utils with function for generating placeholders
2015_08_5
- Fix for possible deadlock because of internal SQLiteDatabase synchronization. See issue #481.
- Thanks to @tadas-subonis!
Changes:
- PR 482 Fix possible deadlock caused by internal synchronization in SQLiteDatabase
2015_08_4
- Fix for nested transactions in StorIOSQLite.
- Switch to PrivateConstructorChecker!
- Ignore debug buildType for library projects — faster CI.
- Thanks to @tadas-subonis!
Changes:
- PR 479 Fix ConcurrentModificationException in DefaultStorIOSQLite in case of nested transactions
- PR 477 Switch to PrivateConstructorChecker!
- PR 473 Ignore debug buildType for library projects
2015_07_27
- Common StorIOException for all operations See 448.
- StorIOContentResolver will throw StorIOException if ContentResolver.query() returns null
- 80% code coverage!
- RxJava 1.0.13
- Robolectric 3.0.0
Changes:
- PR 451 Throw exception if contentResolver.query() returns null
- PR 458 Remove Query.CompleteBuilder.whereArgs(list), it was error in API, sorry guys
- PR 460 80% code coverage for StorIO-Test-Common
- PR 461 80% code coverage for StorIO-Common
- PR 462 80% code coverage for StorIO-Content-Resolver
- PR 465 80% code coverage for StorIO-SQLite
- PR 466 Switch to Robolectric 3.0
- PR 467 Switch to RxJava v1.0.13
- PR 468 Revert "Remove Query.CompleteBuilder.whereArgs(list), it was error in…
2015-07-21
- PutResult.newUpdateResult() now can be created with 0 updated rows. See 453.
- JavaPoet 1.2.
- Better tests!
- Better Sample App!
Changes:
- PR 440 Fix content resolver tests flakiness.
- PR 442 Pack of improvements for the Sample App.
- PR 444 Switch to JavaPoet v1.2.
- PR 454 Allow PutResult.newUpdateResult() with 0 rows updated.
2015-06-01
Initial release.