Change Log¶
Version 1.18.0¶
2021-09-25
- Update target SDK to API 31.
- Kotlin 1.5.31.
- Coroutines 1.5.2.
- Material Components 1.4.0.
- Update AndroidX.
Version 1.17.0¶
2021-06-09
- Breaking change:
RobotActions.selectBottomNavigationItem(@IdRes bottomNavigationViewResId: Int, navItemTitle: String)
has been replaced withRobotActions.selectNavigationBarItem(@IdRes navigationBarViewResId: Int, navItemTitle: String)
to accommodate changes in Material Components 1.4.0. - Breaking change:
RobotAssertions.bottomNavigationViewItemSelected(@IdRes bottomNavigationViewResId: Int, @IdRes selectedItemResId: Int)
has been replaced withRobotAssertions.navigationBarViewItemSelected(@IdRes navigationBarViewResId: Int, @IdRes selectedItemResId: Int)
to accommodate changes in Material Components 1.4.0. - Material Components 1.4.0-rc01.
- Update AndroidX.
Version 1.16.0¶
2021-05-30
- Fix
clickTextInputLayoutErrorIcon(viewId)
andlongClickTextInputLayoutErrorIcon(viewId)
. - Kotlin 1.5.10.
- Coroutines 1.5.0.
- Update AndroidX.
Version 1.15.0¶
2021-02-26
- Breaking change:
activity.showKeyboard()
andActivity.hideKeyboard(focusedView: View)
have been replaced withWindow.showSoftKeyboard()
andWindow.hideSoftKeyboard()
using theWindowInsetsControllerCompat
APIs. - Replace deprecated
systemUiVisibility
withWindowInsetsControllerCompat
. - Enable IR compiler.
- Kotlin 1.4.31.
- Coroutines 1.4.2.
- Update AndroidX and MDC.
Version 1.14.1¶
2020-09-14
- Disable IR compiler.
Version 1.14.0¶
2020-09-14
- Breaking change:
fun Context.resolveColorAttr(@AttrRes colorAttr: Int): Int
has been removed. UseMaterialColors
from MDC instead. - Update
AppCompatTextView.setPrecomputedTextFuture(charSequence: charSequence, executor: Executor? = null)
to allow passing in null ascharSequence
. - Update MDC and Kotlin.
- Enable IR compiler.
- Generate API docs with Dokka 1.4.
Version 1.13.0¶
2020-08-29
- New
RobotAssertions.viewNotExists(@IdRes vararg viewIds: Int)
for asserting that views are not present in the view hierarchy. - New
withItemViewType(@IdRes recyclerViewId: Int, itemViewType: Int): Matcher<View>
for matchingRecyclerView
item byitemViewType
.
Version 1.12.0¶
2020-08-16
- Update to Kotlin 1.4.0 and Coroutines 1.3.9.
- Enable explicit API mode.
- Update AndroidX and MDC.
Version 1.11.0¶
2020-07-23
- Move all AndroidX dependencies to the latest stable version.
Version 1.10.0¶
2020-07-17
- New
RobotAssertions.viewEndsWithText(@IdRes viewId: Int, expected: String)
for asserting that a view has text that ends with the expected string. - Fix
RobotAssertions.viewStartsWithText(@IdRes viewId: Int, expected: String)
. - Depend on
kotlin-sdtlib
instead ofkotlin-stdlib-jdk8
- Update Coroutines, AndroidX and MDC.
Version 1.9.0¶
2020-05-30
- Breaking change:
clickTextInputLayoutIcon(@IdRes viewId: Int, endIcon: Boolean)
has been refactored intoclickTextInputLayoutStartIcon(@IdRes viewId: Int)
andclickTextInputLayoutEndIcon(@IdRes viewId: Int)
. - Breaking change:
longClickTextInputLayoutIcon(@IdRes viewId: Int, endIcon: Boolean)
has been refactored intolongClickTextInputLayoutStartIcon(@IdRes viewId: Int)
andlongClickTextInputLayoutEndIcon(@IdRes viewId: Int)
. - New
clickTextInputLayoutErrorIcon(@IdRes viewId: Int)
andlongClickTextInputLayoutErrorIcon(@IdRes viewId: Int)
extensions on theTextInputLayout
. - Update AGP, Gradle, Coroutines, RxJava 3, AndroidX, MDC, detekt.
Version 1.8.1¶
2020-05-10
- Fix a publishing issue.
Version 1.8.0¶
2020-05-09
- Breaking change:
Context.isAnimationOn
is now a property extension. - Update Kotlin, AGP, Coroutines, RxJava 3, AndroidX, detekt, LeakCanary.
- Coroutines sample has been updated to replace
LiveData
with the newStateFlow
introduced in Coroutines 1.3.6.
Version 1.7.1¶
2020-04-11
- Update Kotlin, AGP, RxJava 2, RxJava 3, RxKotlin 3, AndroidX, detekt.
Version 1.6.0¶
2020-03-09
- New
clearToolbarScrollFlags(@IdRes toolbarId: Int)
for clearing any scrolling behavior on thetoolbar
. - Internal improvements on
blueprint-testing-robot
.
Version 1.5.0¶
2020-03-08
- New
onRecyclerViewIdle(@IdRes recyclerViewId: Int)
for waiting untilRecyclerView
has no more pending updates. - Fix
RecyclerViewItemCountAssertion
‘s param type nullability. - Update Kotlin, AGP, Gradle, RxJava 2, RxJava 3, RxKotlin 3, RxAndroid 3, LeakCanary, AndroidX, MDC, detekt.
Version 1.4.0¶
2020-01-19
- Breaking change: blueprint-threading-coroutines has been renamed to blueprint-async-coroutines.
- Breaking change: blueprint-threading-rx2 has been renamed to blueprint-async-rx2.
- Breaking change: blueprint-threading-rx3 has been renamed to blueprint-async-rx3.
- Update Kotlin, AGP, Gradle, RxJava 2, RxJava 3, LeakCanary, AndroidX, MDC, JUnit, detekt.
Version 1.3.1¶
2019-12-03
- Fix
RobotAssertions.textInputLayoutHasNoError
which wasn’t properly checking whether error message is empty. - Update Kotlin, AGP, Gradle, RxJava 2, LeakCanary, AndroidX, MDC, kluent, detekt.
Version 1.3.0¶
2019-10-17
- New
RobotAction
for selecting a navigation item from the drawer. - New
RobotAction
for clickingTextInputLayout
‘s start / end icon. - New
RobotAction
for long clickingTextInputLayout
‘s start / end icon. - Migrate to custom Gradle plugin for managing build configs.
- Update AGP, Gradle, RxJava 2, Coroutines, AndroidX, MDC, kluent, detekt.
- Improve samples.
Version 1.2.0¶
2019-08-28
- blueprint-ui - Added new extension for setting precomputed text on
AppCompatTextView
. - Refactor
blueprint-ui
internals. - Disable BuildConfig generation for Android library modules.
- Stop exposing resources from transitive dependencies for Android library modules.
- Update AGP, Gradle, RxJava 2, Coroutines, detekt, LeakCanary.
- Improve documentation.
Version 1.1.0¶
2019-08-20
- New
RobotAction
for clicking on the action button on the currently displayed snackbar. - Refactor / simplify
blueprint-testing-robot
internals. - Update RxJava 3 to RC2 - this is a breaking change as RxJava 3 base package now has
rxjava3
. - Update AGP, AndroidX, Coroutines, detekt.
- Improve documentation.
Version 1.0.1¶
2019-08-02
Fix a publishing issue. All artifacts should now be available on Maven Central.
Version 1.0.0¶
2019-08-02
This is the initial release of Blueprint - a collection of Architectural frameworks and toolkits for bootstrapping modern Android codebases.
- New: blueprint-interactor-coroutines artifact - supports building Interactors based on Kotlin Coroutines and Flow.
- New: blueprint-interactor-rx2 artifact - supports building Interactors based on RxJava 2.
- New: blueprint-interactor-rx3 artifact - supports building Interactors based on RxJava 3. Note that it currently uses RxJava 3.0.0-RC1, and RxAndroid has not yet been updated to target RxJava 3.x yet.
- New: blueprint-threading-coroutines artifact - provides encapsulation of threading behavior with Kotlin
CoroutineDispatcher
. - New: blueprint-threading-rx2 artifact - provides encapsulation of threading behavior with RxJava 2
Scheduler
. - New: blueprint-threading-rx3 artifact - provides encapsulation of threading behavior with RxJava 3
Scheduler
. Note that it currently uses RxJava 3.0.0-RC1, and RxAndroid has not yet been updated to target RxJava 3.x yet. - New: blueprint-ui artifact - Kotlin extensions and widgets for working with the Android UI toolkit.
- New: blueprint-testing-robot artifact - UI testing framework and DSL for authoring structured, readable, and framework-agnostic UI tests.