Skip to content

Latest commit

 

History

History
567 lines (407 loc) · 27.8 KB

CHANGELOG.md

File metadata and controls

567 lines (407 loc) · 27.8 KB

StorIO Change Log

Version 3.0.1

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 via asRxCompletable().

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.

Version 3.0.0

2017_12_20

  • RxJava2 support 🎉🎉🎉
  • Add asRxMaybe.
  • executeSQL() now can be executed via asRxCompletable().
  • 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() and asRxSingle return Optional 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 in DefaultStorIOSQLite).

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.

Version 2.1.0

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.

Version 2.0.3

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.

Version 2.0.2

2017_10_16

  • No API/implementation changes, we're fine-tuning automated release process.

Version 2.0.1

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.

Version 2.0.0

2017_09_12

  • Interceptors API! 🎉🎉 Many thanks to @rsinukov
  • Logging via interceptors (just add LoggingInterceptor).
  • Remove deprecated createObservable and internal. You should use asRxObservable and lowLevel instead.
  • mapFromCursor receives StorIOSqlite/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 and internal.
  • 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.

Version 1.13.0

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.

Version 1.12.3

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.

Version 1.12.2

2017_01_22

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.

Version 1.12.1

2016_12_29

  • Fixes for AutoValue and Kotlin support in StorIOSQLiteProcessor and StorIOContentResolverProcessor, 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.

Version 1.12.0

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 and RawQuery#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.

Version 1.11.0

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

Version 1.10.0

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

Version 1.9.1

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:

Version 1.9.0

2016_05_19

  • asRxCompletable()! Thanks to @geralt-encore
  • Gradle Wrapper 2.12
  • RxJava 1.1.3
  • Integration with Codecov.io
  • StorIOSQLite.LowLevel instead of StorIOSQLite.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 for StorIOSQLite
  • PR 633 asRxCompletable for StorIOContentResolver
  • PR 630 Integration CI with Codecov.io
  • PR 599 StorIOSQLite.LowLevel instead of StorIOSQLite.Internal for StorIOSQLite
  • PR 608 StorIOSQLite.LowLevel instead of StorIOSQLite.Internal for StorIOContentResolver

Version 1.8.0

2016_01_19

  • asRxSingle(), yep, rx.Single support! Many thanks to @geralt-encore
  • asRxObservable() instead of createObservable() (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

Version 1.7.0

2015_12_30

  • Option to get one object for StorIOSQLite and StorIOContentResolver
  • Handle backpressure for Get operation via RxJava (requires RxJava 1.1.0)
  • SQLiteTypeMapping and ContentResolverTypeMapping generation
  • Annotation processor for StorIOContentResolver
  • Option to set different uri's for insert, update and delete (StorIOContentResolver)
  • PutResult and DeleteResult now allow 0 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 and ContentResolverTypeMapping 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 for StorIOSQLite
  • PR 568 PreparedGetObject as observable for StorIOSQLite
  • PR 565 PreparedGetObject blocking for StorIOContentResolver
  • PR 570 PreparedGetObject as observable for StorIOContentResolver
  • PR 560 PutResult and DeleteResult allow 0 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

Version 1.6.1

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

Version 1.6.0

2015_10_19

  • Convert any Query back to its Builder via toBuilder()!
  • Observe all changes in StorIOSQLite via observeChanges()!
  • Retrieve ContentResolver from StorIOContentResolver via StorIOContentResolver.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

Version 1.5.0

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

Version 1.4.0

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

Version 1.3.1

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

Version 1.3.0

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:

  • PR 498 Add support for byte[] into StorIOSQLite annotation processor
  • PR 494 Relations example!

Version 1.2.1

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

Version 1.2.0

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

Version 1.1.2

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

Version 1.1.1

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

Version 1.1.0

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…

Version 1.0.1

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.

Version 1.0.0

2015-06-01

Initial release.