All Versions
48
Latest Version
Avg Release Cycle
81 days
Latest Release
1353 days ago
Changelog History
Page 3
Changelog History
Page 3
-
v8.1.0 Changes
June 14, 2016- New: Change the structure of generated view binders to optimize for performance and generated code. This should result in faster binding (not that it's slow) and a reduction of methods.
- Fix: Call the correct method on
TextView
to unbind@OnTextChanged
uses. - Fix: Properly handle package names which contain uppercase letters.
-
v8.0.1 Changes
April 27, 2016- Fix: ProGuard rules now prevent obfuscation of only types which reference ButterKnife annotations.
- Eliminate some of the generated machinery when referenced from
final
types.
-
v8.0.0 Changes
April 25, 2016-
@Bind
becomes@BindView
and@BindViews
(one view and multiple views, respectively). - Calls to
bind
now return anUnbinder
instance which can be used tonull
references. This replaces theunbind
API and adds support for being able to clear listeners. - New:
@BindArray
bindsString
,CharSequence
, andint
arrays andTypeArray
to fields. - New:
@BindBitmap
bindsBitmap
instances from resources to fields. -
@BindDrawable
now supports atint
field which accepts a theme attribute. The runtime and compiler are now split into two artifacts.
compile 'com.jakewharton:butterknife:8.0.0' apt 'com.jakewharton:butterknife-compiler:8.0.0'
New:
apply
overloads which accept a single view and arrays of views.ProGuard rules now ship inside of the library and are included automatically.
@Optional
annotation is back to mark methods as being optional.
-
-
v7.0.1 Changes
June 30, 2015- Fix: Correct
ClassCastException
which occurred when@Nullable
array bindings had missing views.
- Fix: Correct
-
v7.0.0 Changes
June 27, 2015@Bind
replaces@InjectView
and@InjectViews
.ButterKnife.bind
andButterKnife.unbind
replacesButterKnife.inject
andButterKnife.reset
, respectively.@Optional
has been removed. Use@Nullable
from the 'support-annotations' library, or any other annotation named "Nullable".- New: Resource binding annotations!
@BindBool
binds anR.bool
ID to aboolean
field.@BindColor
binds anR.color
ID to anint
orColorStateList
field.@BindDimen
binds anR.dimen
ID to anint
(for pixel size) orfloat
(for exact value) field.@BindDrawable
binds anR.drawable
ID to aDrawable
field.@BindInt
binds anR.int
ID to anint
field.@BindString
binds anR.string
ID to aString
field.
- Fix: Missing views will be filtered out from list and array bindings.
- Note: If you are using Proguard, the generated class name has changed from being suffixed with
$$ViewInjector
to$$ViewBinder
.
-
v6.1.0 Changes
January 29, 2015- New: Support for injecting interface types everywhere that views were previously supported (e.g.,
Checkable
). - Eliminate reflection-based method invocation for injection and resetting. This makes performance slightly faster
(although if you are worried about the performance of Butter Knife you have other problems). The only reflection
in the library is a single
Class.forName
lookup for each type.
- New: Support for injecting interface types everywhere that views were previously supported (e.g.,
-
v6.0.0 Changes
October 27, 2014- New: Listeners can bind to the root view being injected by omitting a view ID on the annotation.
- New: Exceptions thrown from missing views now include the human-readable ID name (e.g., 'button1').
- Specifying multiple fields binding to the same ID is now considered an error.
findById
overload for view lookup onDialog
instances.- Experimental: Click listeners are now globally debounced per frame. This means that only a single click will be processed per frame preventing race conditions due to queued input events.
- Experimental: Multiple methods can bind to the same listener provided that listener's callback method does not require a return value.
-
v5.1.2 Changes
August 01, 2014- Report an error if the annotations are on a class inside the
android.*
orjava.*
package. Since we ignore these packages in the runtime, injection would never work.
- Report an error if the annotations are on a class inside the
-
v5.1.1 Changes
June 19, 2014- Fix: Correct rare
ClassCastException
when unwinding anInvocationTargetException
.
- Fix: Correct rare
-
v5.1.0 Changes
May 20, 2014- New listener!
View
:@OnTouch
.
- Fix:
@Optional
now correctly works for@InjectViews
fields. - Fix: Correct erasure problem which may have prevented the processor from running in Eclipse.
- New listener!