ReleaseNotes - WonderCsabo/androidannotations GitHub Wiki
Thanks a lot to all the contributors!
Releases are available via Maven or Gradle.
Latest stable release : 4.8.0 #
Released on 19 November, 2020
- #2285 Support Android Gradle Plugin 4.1
- #2269 Fix finding project folder on Windows
- Csaba Kozák @WonderCsabo
4.7.0 #
Released on 30 March, 2020
- #2202 Add @RootFragment annotation
- #2231 Support Android Gradle Plugin 3.5.0 and 3.6.0
- #2264 Support incremental annotation processing
- #2206 Provide Fragment and Activity scope for @EBean
- #2204 Fix bug in generated code of @RootContext
- Adrián Rivero @smaugho
- Kay-Uwe Janssen @dodgex
- Csaba Kozák @WonderCsabo
4.6.0 #
Released on 28 January, 2019
- Kay-Uwe Janssen @dodgex
4.5.2 #
Released on 21 October, 2018
-
#2172 Do not copy
kotlin.Metadata
to generated class
- Kay-Uwe Janssen @dodgex
4.5.1 #
Released on 14 October, 2018
- Kay-Uwe Janssen @dodgex
4.5.0 #
Released on 13 October, 2018
- #1978 Generate classes even after validation errors
- #2149 Add support for AndroidX classes
- #2147 Fix manifest finder for Android Studio 3.2
- Csaba Kozák @WonderCsabo
- Kay-Uwe Janssen @dodgex
- Adrián Rivero @smaugho
4.4.0 #
Released on 2 November, 2017
- #2030 Update automatic manifest finder for Gradle builds with kapt
-
#2064 Clarify
@Rest
Javadoc - #2065 Update automatic manifest finder for APK splits
-
#2066 Do not import the
android.R
class -
#2068 Add support for
kotlin-allopen
plugin - #2072 Validate injected field to be non-final
-
#2016 Fix NullPointerException in
@EIntentService
classes -
#2023 Use normal
R
class even when validating withR2
- #2061 Fix copying non-AA array of annotations
- #2062 Fix invoking wrong super method from onDetachedFromWindow
-
#2069 Fix IllegalStateException for
@OrmLiteDao
in view
- Csaba Kozák @WonderCsabo
- Kay-Uwe Janssen @dodgex
4.3.1 #
Released on 10 June, 2017
- #2006 Fix finding AndroidManifest.xml in Kotlin projects
-
#2008 Fix compilation issue with Android O due to new signature
findViewById()
method
- Kay-Uwe Janssen @dodgex
4.3.0 #
Released on 19 March, 2017
As part of #1971 and #1982 we changed the builds to produce Java 8 artifacts. This means you need to use JDK8 for compiling your project with AndroidAnnotations
-
#1969 Use
elapsedRealtime
instead ofcurrentTimeMillis
for@Background
delay - #1971 Update versions in example projects
-
#1945
@IgnoreWhen(IgnoreWhen.State.VIEW_DESTROYED)
methods are no longer called before theFragment
has been created/recreated -
#1968 Injected
@InstanceState
fields are now available inonRestoreInstanceState()
-
#1967 Fix
@ViewsById
resulted in empty list with method injection -
#1962 Fix
@InjectMenu
injected a not-yet inflatedMenu
- #1956 Fix AndroidManifest meta-data parsing
- #1916 Fix JavaDoc in generated classes
- #1984 Run dex in process for example projects
- #1983 Fix SNAPSHOT deployment
- #1982 Trigger SNAPSHOT deployment for JDK8 builds
- #1917 Update versions in sample projects
- #1922 Update dependencies
- #1920 Update developers in pom.xml
- #1919 Add issue template
- Csaba Kozák @WonderCsabo
- Kay-Uwe Janssen @dodgex
- Péter Simon @simopete
- Adrián Rivero @smaugho
- Anders Tidbeck @tidbeck
4.2.0 #
Released on 10 December, 2016
-
#1861 Allow plugins to easily get
<meta-data />
from AndroidManifest.xml -
#1878 Quote string values for
@DefaultString
methods in JavaDoc of generated shared preference classes - #1906 Add maven wrapper to main project and the maven sample
- #1848 Fix an issue with method injection for resources
-
#1893 Rename variables used when processing
@Trace
to avoid name collisions - #1907 Do not attempt to clear a view injected with a method
-
#1908 Fix NPE when reading a byte array from an Intent when handling
@OnActivityResult
- Csaba Kozák @WonderCsabo
- Kay-Uwe Janssen @dodgex
- Péter Simon @simopete
- Adrián Rivero @smaugho
- Jan Lippert @ironjan
4.1.0 #
Released on 4 August, 2016
- #1749 Add an option to specify the encoding that should be used for generated classes (defaults to UTF-8)
- #1799 Add system services for Android API 23 and 24
-
#1830
@Receiver
support for@EView
and@EViewGroup
- #1736 Fix generation when using ResponseEntity as return type
- #1782 Fix handling of options that enable/disable the processing of some annotations
- #1784 Ensure that generated log tags do not exceed 23 characters
- #1785 Cast views to the required type when adding callbacks
- #1786 Fix detection of cookies when they have the same prefix
- #1801 Fix validation for method injection when the annotation is used on a method with no parameters
-
#1803 Fix serial execution of
@Background
tasks -
#1825 Fix view id inference for
@EditorAction
- Csaba Kozák @WonderCsabo
- Kay-Uwe Janssen @dodgex
- Péter Simon @simopete
- Luke Sleeman @lukesleeman
- @rom1v
4.0.0 #
Released on March 15, 2016
After updating, please consult the migration guide.
- #1480 Modularize library and enable writing plugins
-
#1165 Clean injected View fields in
Fragment#onDestroyView()
- #1170 Update to Android 2.3.1
- #1226 Convert code to Java 7
-
#1236 Do not use method name as action name in
@ReveiverAction
-
#1251 Remove
model
parameter of@OrmLiteDao
-
#1409 Remove
@NoTitle
annotation -
#1410 Drop
ActionBarSherlock
support -
#1607 Do not call
setIntent()
inonNewIntent()
with@Extra
and@AfterExtras
-
#1615 Add
@Body
annotation which is required for body parameters -
#1631
@Path
is required for path method parameters -
#1555 Allow to provide a default value for
@DefaultStringSet
-
#1280 Add an option to change
CLASS_SUFFIX
-
#1395 Ability to cancel
@UiThread
tasks - #1448 Add @Field, @Part and @Path
- #1457 Allow method injection
-
#1459 Add
@InjectMenu
to inject a menu -
#1470 Add
@Header
and@Headers
to add static headers to request from annotations - #1539 Add new annotations to handle key events
-
#1559 Added Parceler
@Extra
and@InstanceState
support -
#1587 Add
@Patch
for@Rest
-
#1635 Add
@PageChange
-
#1664 Add
@IgnoreWhen
and remove@IgnoreWhenDetached
- #1419 Do not add extra block in @Rest methods
- #1424 #1427 If ContextCompat is available, use it to resolve drawables
- #1431 Nicer logging when processing enclosed elements
- #1441 Allow subclasses as method parameters in several annotations
- #1445 Support @FragmentArg on fields with type variable type
-
#1452
@FragmentByXXX
inject child Fragments -
#1458 Expand some
@Rest
JavaDoc -
#1469 Add
withAnimations()
toActivity
Intent
builder -
#1508
@WindowFeature
uses correct method when using support library -
#1526 Copy JavaDoc for
@Extra
and@FragmentArg
to theirBuilder
-
#1529 Always call methods with
@AfterExtras
annotation -
#1541 Add
@Rest
parameter to injectResponseErrorHandler
-
#1543 Find
AndroidManifest.xml
automatically (not longer need to specify it inbuild.gradle
) -
#1545 Allow
android.support{v7,v14}
for @PreferenceXXX` -
#1546 Use
ParameterizedTypeReference
in generic@Rest
requests - #1552 Properly override varargs methods
-
#1553 Copy
@SharedPref
JavaDoc to generated class -
#1581 Refining JavaDoc about
@OnActivityResult.Extra
-
#1588 Change default log level to
WARN
- #1608 Add option to remove final modifier from generated classes
-
#1613 Warn when propagation reuse is used with delay in
@UiThread
-
#1619 Use
ContextCompat.getColor()
if available with@ColorRes
- #1621 Add new processing option for library projects
-
#1623 Update
ViewServer
from upstream for@HierarchyViewerSupport
-
#1626 Support string array in
@DefaultRes
-
#1629 Use application context to retrieve
WifiManager
with@SystemService
-
#1651 Support new types with bundle related annotations (
@Extra
,@FragmentArg
etc.) -
#1662
@NonConfigurationInstance
code is generated before@Bean
injection -
#1666 Do not use
ContextCompat
if target method is not available -
#1698 Add
type()
,category()
anddata()
methods toIntentBuilder
-
#1718 Interpret
@Extra
annotatedIntent
parameters as extras with@Receiver{Action}
-
#1719 Deprecate
@HttpsClient
- #1405 Fix issues related to generics
-
#1408 Fix wrong
@SeekBarTouchStop
naming convention - #1431 Fix typo in log message
-
#1453 Fix
@OptionsMenuItem
field naming -
#1491 Fix
AndroidManifest
debug
field parsing -
#1538 Fix
@EBean
validation error on interface - #1544 Remove duplicated findViewById() calls with @SeekBarXXX
- #1563 Use visibility modifier from overridden method
-
#1583 Refining JavaDoc about
@Receiver
- #1585 Create blocks for injection and after injection
- #1592 Fixed a problem with traversing ancestor classes
- #1603 Fix in-order method parameter validation
- #1622 Fix default log level
-
#1624 Fix generated code for empty value of
@DefaultStringSet
-
#1658 Ignore
Otto
annotations on non-enhanced classes -
#1661 Do not generate
rebind()
call for singleton beans -
#1668 Fix automatic
AndroidManifest.xml
finding with Gradle library projects -
#1690 Fix possible deadlock in serialized
@Background
tasks -
#1704 Fix
@InstanceState
calling order - #1705 Fix missing varparam in super calls
-
#1709 Fix remaining delay calculation of
@Background
tasks
- Csaba Kozák @WonderCsabo
- Yoann Delouis @yDelouis
- Kay-Uwe Janssen @dodgex
- Yoshinori Isogai @shiraji
- Péter Simon @simopete
- Sebastian Roth @ened
- Artyom Drozdov @Artyomcool
- John Ericksen @johncarl81
- Nikolay Belikov @nbelikov
- Francis Kim @Francis0121
- Guilherme Torres Castro @guitcastro
- Federico Iosue @federicoiosue
- Matsegor Arthur @blackb00m
3.3.2 #
Released on July 10, 2015
- #1435 Fix compilation crash due to broken Android Support library
- Csaba Kozák @WonderCsabo
3.3.1 #
Released on May 9, 2015
-
#1399 Support more parameter types (
Float
,Integer
,Long
) in@PreferenceChange
annotated methods, parseString
newValue
param into desiredNumber
-
#1397 Allow
android.support.v4.preference.PreferenceFragment
with@PreferenceScreen
-
#1398 Fix
PreferenceActivity
RuntimeException
with@PreferenceScreen
-
#1399 Fix allowed parameters on
@PreferenceChange
annotated methods
- Csaba Kozák @WonderCsabo
3.3 #
Released on April 30, 2015
-
#1110 New processing option
logAppenderFile
, which can be used to turn off logging to file -
#1162 New set of annotations for injecting
Preference
and co. :@PreferenceScreen
,@PreferenceByKey
,@PreferenceChange
,@PreferenceClick
,@AfterPreferences
,@PreferenceHeaders
- #1166 Support for Spring for Android (rest-template) 2.0 in the [Rest API](Rest API)
-
#1186 Add
forceLayoutInjection
parameter to@EFragment
, to override layout from super classes (useful forListFragment
) -
#1195 New processing option
threadControl
, which can turn off thread control (@SupposeBackground
,@SupposeUi
) -
#1234 Allow multiple actions for [
@ReceiverAction
](Enhance BroadcastReceivers#receiveraction) -
#1252 Allow injection of custom
RuntimeExceptionDao
with@OrmLiteDao
- #1292 RoboGuice 3 integration
-
#1297 Add support for
Bundle
parameter when startingActivity
with the generated builder
-
#1379 Add
@SystemService
support for new services in API 21 and 22 -
#1364 Allow abstract
@EApplication
not registered in the manifest -
#1330 Make injected beans available in
Activity.onPrepareOptionsMenu
- #1361 Clarify license of generated code (there is absolutely no license)
-
#1296 Allow subclasses to override
@OptionsItem
handling -
#1281 Do not copy
@Inherited
annotations to generated subclasses and overriden methods -
#1255 Add abstract convenience classes, to remove the need of dummy override with
@ReceiverAction
and@ServiceAction
-
#1272 Make
AbstractPrefField
class generic, which is used bySharedPreferences
helpers
-
#1224 Fix
BLUETOOTH_SERVICE
injection with@SystemService
-
#1245 Release
OpenHelperManager
with@OrmLiteDao
to avoid unnecessary database lock -
#1267 Fix possible repeated
@SuppressWarnings
with@EView
, which cause compilation error -
#1275 Fix
@AfterViews
being called multiple times when sameFragment
instance is re-added -
#1282 Fix
camelCase
tosnake_case
conversion (used by a bunch of annotations) - #1283 Fix NPE when AA tries to inject into an already invalidated enhanced class
-
#1286 Fix
@Receiver
not being called withOnAttachOndetach
andLocalBroadcastManager
- #1289 Fix log file being resolved multiple times
- #1293 Improve fix #1289
-
#1294 Fix for
Parcelable[]
ClassCastException
when restoring fromBundle
(used by a bunch of annotations) -
#1325 Fix stackoverlow when
@InstanceState
is used on aBundle
field -
#1328 Fix constructor validation with
@EIntentService
, no-arg constructor is required -
#1342 Fix classpath of
HelloWorldEclipse
example -
#1353 Fix
@ViewById
with generic types -
#1357
@DefaultStringSet
now returns an empty set by default -
#1370 Fix
@RoboGuice
listener field injections - #1371 Fix infinite processing when a non-abstract enhanced inner class is present in an abstract class (this is not allowed since now)
-
#1380 Fix injecting
AppWidgetManager
with@SystemService
-
#1382 Fix
Serializable
List
not working with@FragmentArg
and others, now only classes implementingSerializable
can be used (likeArrayList
)
- Csaba Kozák @WonderCsabo
- Yoann Delouis @yDelouis
- @dodgex
- Jiongxuan Zhang @jiongxuan
- Nils Andreas Svee @Lochnair
- Roy Clarkson @royclarkson
- Vincent Pizzo @vincentjames501
- @chvndb
- @honghe
- Ar Ruf @arnaudruffin
3.2 #
Released on November 9, 2014
- #1100 Remove GreenDroid support
- #1099 Remove HoloEverywhere support
-
#1058 Add
@Result
annotation for@OnActivityResult
-
#1101 New
@Receiver
attribute:scheme
-
#1130 Add
@WakeLock
annotation -
#1092 Add
@ReceiverAction
annotation -
#1181 Add
@Extra
annotation for@Receiver
-
#1184 Add
dataSchemes
parameter for@ReceiverAction
-
#1150 Improve JavaDoc on
@EditorAction
-
#1151 Add missing system services for
@SystemService
-
#1154 Update
@Receiver
JavaDoc - #1155 Update RoboGuice example for RoboGuice 2.0
-
#1159
@AfterExtras
annotation also overrides theonNewIntent
method -
#1214 Don't add the extra methods in
IntentBuilder
with@ServiceAction
-
#1124 Fix validation of
@SupposeXXX
- #1134 Re-add Otto annotation handlers
-
#1075 Fix issues with generic
@EView
and@EViewGroup
-
#1117 Fix generic issues in
@EFragment
- #1158 Fix classpath issues with RoboGuice
-
#1171 Fix possible memory leaks with
@EFragment
andsetRetainsInstanceState(true)
(see details in the issue) - #1179 Fix compilation error on enhanced protected inner classes
- Csaba Kozák @WonderCsabo
- Yoann Delouis @yDelouis
- @dodgex
- Drozdov Artyom @Artyomcool
- Nikolay Belikov @nbelikov
- @simonz
3.1 #
Released on September 7, 2014
-
#289 The parameter
model
of the annotation@OrmLiteDao
is now unnecessary (it is deprecated) -
#791 Add
@SupposeUiThread
and@SupposeBackground
-
#494 Add
@EditorAction
to injectOnEditorActionListener
-
#832 Inject a
RequestFactory
inRestTemplate
-
#872 Add
setBearerAuth
method toRestClientHeaders
interface -
#852 Add
@Receiver
to inject an anonymousBroadcastReceiver
in an enhanced component -
#264 Add support for
Set<String>
to@SharedPref
-
#975 Add
@ViewsById
to inject views in a list -
#875 Add
@IgnoredWhenDetached
to prevent a method of fragment from being called if detached from activity -
#928 Add
@AfterExtras
- #172 Integrate with RoboGuice 2.0
-
#746 Allow any constructors for
@EBean
- #1081 Allow any constructors to abstract classes
- #831 Inject EBeans in Rest interceptors and converters
- #503 Automatically cast Strings in Shared preferences
-
#826 Added
keyRes
parameter to@DefaultXXX
annotations - #782 Copy non AA annotations into generated class
-
#992 Allow any order of parameters of method annotated with
@CheckedChange
,@Touch
and@FocusChange
- #990 Factorize builders
-
#1002
RestErrorHandler
catchesNestedRuntimeException
- #1016 Expose fragment args in fragment builder
-
#1028 Add
resName
param to@HttpsClient
to support library projects - #797 Add parameters and return value in trace
- #552 FindViewById is called only once
- #248 Enable to enhance inner classes
- #892 Fix typo in output
- #894 Remove unnecessary field restErrorHandler
-
#915 Fix error not handled with
@SetsCookies
- #778 Fix warning about java version
- #957 Fix tests with java 7
-
#956 Add missing
@Override
in generated fragments -
#991 Fix parameterized param in method annotated with
@ItemLongClick
-
#993 Remove
Resolve log file
in logs if unwanted -
#997 Fix
@ItemSelect
called on bad reference -
#1030 Remove unused
Context
field inSharedPref
- #1033 Fix javadoc with java 8
-
#1051 Add support for proxy in
@HttpsClient
-
#1084 Remove warning (
dummyXXXXX
) in logs
- Damien Villeneuve: @DayS
- Yoann Delouis: @yDelouis
- Csaba Kozák: @WonderCsabo
- Drozdov Artyom: @Artyomcool
- @dodgex
- @PerfectCarl
- Vincent Pizzo: @vincentjames501
- @Bananeweizen
- Ryan Yee: @Ryn830
- Matt Rein: @vwmattr
- Tom Reay: @tomreay
- Maarten Mulders: @mthmulders
- Jess Thrysoee: @JessThrysoee
3.0.1 #
Released on January 12, 2014
- #838 Handle generic wildcards on method parameters
- #848 Remove generated Api classes to resolve “Multiple dex files” error in Eclipse
- #853 Clean error messages in IDE
- #862 Handle named generics on methods
- #869 #871 #874 Update wiki and javadocs
- #837 Bug: Some exceptions were logged in the log file but not shown in IDE
- #840 Bug: Fix default value for boolean AP option
- #856 Bug: NPE when @SetsCookie is used but cookie was not set by the server
- #867 Bug: Generics classes wasn't handled properly
- #870 Bug: ClassCastException when using the @Trace on onCreate()
- Damien Villeneuve: @DayS
- Drozdov Artyom: @Artyomcool
3.0 #
Released on December 27, 2013
-
#369 Renamed groupId and packages from
com.googlecode.androidannotations
toorg.androidannotations
- #410 The API helpers are generated at compile time if needed instead of being part of the API jar.
- #330 Add support of generics on RestTemplate methods
-
#376 Add
@CustomTitle
annotation -
#382
@OnActivityResult
can be used within fragments -
#389 Add
@CheckedChange
annotation - #417 Handle missing manifest or R class
- #442 Generate public constant for handled extras
-
#459 Add
@FocusChange
and@CheckedChange
annotations -
#469 Extended
@OrmLiteDao
support for every enhanced components -
#474 Handle multiple
@OptionsMenu
in the class hierarchy -
#477 A parameter can be used twice in
@Rest
methods urls -
#485 Add an
interceptors
field in@Rest
annotation -
#489 Make HierarchyViewer work on any device with
@HierarchyViewerSupport
-
#490 Check that AndroidManifest contains internet permission if
@Rest
is used -
#499 Add a
stop()
method for enhanced services -
#515
@App
never injects null - #522 GreenDroid support is deprecated and will be dropped on the next release.
-
#525 Add delay field in
@Background
- #526 Otto integration
-
#554 Expose the shared pref key in
@SharedPreference
generated class -
#567 Add an
@OptionMenuItem
annotation to inject MenuItem - #569 Handle background tasks cancellation
- #581 Resource injection for SharedPreferences
-
#601 Handle enhanced IntentService. Add
@EIntentService
and@ServiceAction
annotations -
#602 Handle
getRootUrl()
method inRest
interface - #605 Add check in UIThread generated code to reuse current thread if possible
- #609 Add processor option to specify package of R class
-
#615 Add
@WindowFeature
annotation - #617 Fix NullPointerException thrown during refactoring
-
#629 Handle RuntimeExceptionDao in
@OrmLiteDao
-
#680 Fix
IntentBuilder.startForResult()
for Fragment -
#710 Inject
android.content.ClipboardManage
instead ofandroid.text.ClipboardManager
with@SystemService
-
#579 #711 #748 #818 Add annotations to manage cookies and headers in
@Rest
interface - #429 #786 Integration with HoloEverywhere
-
#492 #496 Fix code generation for
@Get
Http Method in the Rest API if params are generics
- #424 Changing processing order: ancestors first
- #453 Use canonical names in AA core instead of harcoded class names
- #495 Added some tests around rest API
- #497 Optimize build time by updating the maven-javadoc-plugin
-
#511 Check for
TypeKind.ERROR
in addition to ErrorType in case of errors -
#521 Declare supported options in
getSupportedOptions()
- #562 Handle objects implementing both Serializable and Parcelable in extra
-
#593 Fixed NPE when converters are not defined in the
@Rest
annotation -
#597 Use
DatabaseHelper.getDao()
instead ofDaoManager.createDao()
for@OrmLiteDao
implementation - #618 Enhanced crash report message
- #619 Refactor AndroidAnnotations core to handle validation and processing in same class
-
#627 Fix
@ItemClick
generation code with parametrized types -
#678 Log a warning if
@RootContext
field isn't populated -
#694 Associate the
@UIThread
handler to the main thread - #733 Fix extra injection generated code
- #734 Check that API and core version matches
-
#736 Allow any order for params in a
@Touch
annotated method -
#747 Fix code generation for
@EFragment
in Froyo - #785 Ignore Internet permission check in library project
- #792 Fix StackOverflowError with cyclic dependencies with singleton beans
- #794 Add custom logger
-
#677 #682 Propagate exceptions on
@Background
/@UIThread
annotated methods
- Damien Villeneuve: @DayS
- Pierre-Yves Ricau: @pyricau
- Mathieu Boniface: @matboniface
- Illia Bershadskyi: @Bersh
- Thomas Fondrillon: @ThomasFondrillon
- Colin Edwards: @DDRBoxman
- Rostislav Chekan: @naixx
- Yoann Delouis: @yDelouis
- Michael Greifeneder: @mikegr
- Kolja Markwardt @KoljaTM
- Alexis THOMAS: @ath0mas
- @gebing
- Rocky D. Pulley: @rockytriton
- Adrian Roos: @adrianroos
- Romain Vimont: @rom1v
- @simonz
- Thomas Bruyelle: @tbruyelle
- Lalith B: @deathlord87
- Daniel Leong: @dhleong
2.7.1 #
Released on March 04, 2013
-
#432
ListFragment
can't use@ItemClick
-
#381
@OnActivityResult
in fragment. -
#427
@OnActivityResult(REQUEST_CODE)
creates fall-through switch-case-statements
You can browse the closed issues for the 2.7.1 release to see all the changes.
- Mathieu Boniface: @mathieuboniface
- Colin Edwards: @DDRBoxman
2.7 #
Released on November 4, 2012
-
#353 Maven users: the API jar is now a separate artifact,
androidannotations-api
. We do not use theapi
classifier any more. If you are using Maven & Eclipse, you need to add two new dependencies to your eclipse factory path, as explained here. Non Maven users: you should now download the zip bundle, the processor jar on the repository doesn't contain its dependencies anymore -
#25 #258 #278 #294. The generated classes are always final, and you cannot extend from a generated class any more. That's because AndroidAnnotations now takes into account annotations used in superclasses. Also note that component annotations such as
@EFragment
can now be used on abstract classes. -
#377 @Rest now has a mandatory
converters()
parameter and itsvalue()
parameter has been renamed torootUrl
, to adapt to Spring Android RestTemplate1.0.0.RELEASE
. Usage example:
@Rest(rootUrl = "http://company.com/ajax/services", converters = { MappingJacksonHttpMessageConverter.class })
public interface MyService {
}
- #239 In previous releases, the generated rest clients had three constructors, two of which were never used. These two are not generated any more.
-
#270
startForResult()
was added to the activity Intent Builders. -
#237 Library projects can reference
R.*
fields using aresName
annotation parameter. -
#276 @InstanceState can be used in fragments annotated with
@EFragment
. -
#245 [@OptionsMenu] (https://github.com/androidannotations/androidannotations/wiki/Handling-options-menu) and
@OptionsItem
support in fragments annotated with@EFragment
- #303 Improved incremental compilation support: renaming or removing an annotated file will now delete the corresponding generated file
- #266 Intent builders can be used to start services
- #210 Fragment arguments with @FragmentArg
-
#164 & #360 androidManifestFile processor parameter can be used to set the absolute path to the
AndroidManifest.xml
. -
#348
@EBean
annotated classes can now have a constructor with aContext
param -
#183 SeekBar events binding with
@SeekBarProgressChange
,@SeekBarTouchStart
and@SeekBarTouchStop
- #28 & #349 @OnActivityResult to handle activity results.
- #246 @OptionsMenu can have multiple attributes.
- #370 AndroidAnnotations now works for turkish developers
- #226 Support for ORMLite DAOs
-
#221
@Accept
on Rest clients now takes aString
instead of aMediaType
We fixed 42 issues in this release.
You can browse the closed issues for the 2.7 release to see all the changes.
- Pierre-Yves Ricau: @pyricau
- Mathieu Boniface: @matboniface
- Rostislav Chekan: @naixx
- Johan Poirier: @johanpoirier
- Pierre-Jean Vardanéga:@pvardanega
- Alexandre Thomas: @athomas
2.6 #
Released on June 14, 2012
Download it or update your Maven configuration.
Note: Items in bold are not backward compatible.
-
#110
@UiThreadDelayed
has been removed, use@UiThread(delay=2000)
instead. - #3 Fragment support, yeah!
-
#188 In
@Extra
, the String parameter for the extra name is now optional. - #177 Integration with ActionBarSherlock.
- #120 Support for text change events.
-
#166
@Extra
fields are reinjected every time you callsetIntent()
-
#171 Set the root url of your
@Rest
interfaces at runtime withsetRootUrl(String rootUrl);
. - #219 Simple HTTPS.
By the way, have you noticed the new androidannotations.org website?
We fixed 29 issues in this release.
You can browse the closed issues for the 2.6 Release to see all the changes.
- Alexandre Thomas: @athomas
- Eric Kok: @erickok
- Joan Zapata: @shuya-inc
- Linus Brimstedt: @Brimstedt
- Mathieu Boniface: @matboniface
- Nabil Hachicha: @nhachicha
- Nachiket Apte: @nachowski
- Pierre-Yves Ricau: @pyricau
2.5.1 #
Released on March 30, 2012
-
@InstanceState
mades AA crash due to a wrong compile time Android dependency.
See the closed issue for the 2.5.1 Release for details.
- Pierre-Yves Ricau: @pyricau
2.5 #
Released on March 26, 2012 after a great skiing day :)
- Save your activity state with
@InstanceState
on fields - Keep references to your costly objects on config changes in activities with
@NonConfigurationInstance
on fields - Support for Singleton scope on
@EBean
classes:@EBean(scope = Singleton) public class MySingleton {}
- You can specify the implementation of an
@Bean
field:@Bean(MyImpl.class) MyInterface field;
- AndroidAnnotations fully integrate with GreenDroid
-
@UiThread
has an optionaldelay
parameter, and@UiThreadDelayed
is deprecated.
We fixed 19 issues in this release.
You can browse the closed issues for the 2.5 Release to see all the changes.
- Alexandre Thomas: @athomas
- Joan Zapata: @shuya-inc
- Nycholas de Oliveira e Oliveira: @nycholas
- Mathieu Boniface: @matboniface
- Pierre-Yves Ricau: @pyricau
Released on Feb 2, 2012
- New Android components : [Service](Enhance Services), [BroadcastReceiver](Enhance BroadcastReceivers), [ContentProvider](Enhance ContentProviders), Application
- Annotating [custom classes](Enhance custom classes)
- Annotating [custom views](Enhance custom views)
- Executing code [after injection](After Injection)
We fixed 35 issues in this release, added continuous integration with automatic deployment of snapshots, moved to GitHub, reorganized the documentation and documented many undocumented features.
You can browse the closed issues for the 2.4 Release to see all the changes.
There was no 2.3 release, due to an error at release time. We jump from 2.2 to 2.4 :) .
Released on Dec 8, 2011
- Issue 93: View binding &
@AfterViews
are executed every timesetContentView
is called - Issue 94: Deploy AndroidAnnotations to Maven Central
- Issue 102: Rename
pref.field().get(default)
togetOr(default)
- Issue 83:
@Click
& friends with multiple id parameters - Issue 125: Dropped support for Eclipse 3.4.X
- Issue 55: Rest API using Spring Android.
- Issue 95:
@HtmlRes
&@FromHtml
annotations to inject spanned html strings - Issue 107: abstract annotated activities generate abstract activities instead of final activities
- Issue 111: Convention over configuration can now do camel case => snake case conversion.
- Issue 112: Adding Null checkers for view injection & binding
- Issue 41: Setting the dev project as an eclipse plugin, to ease development (hotreplace & debug)
- Issues 117 & 116 : More doc on how to develop AndroidAnnotations, and being able to run functional tests from eclipse
- Issues 113 & 63: @EViewGroup (equivalent of @EActivity for ViewGroups)
- Issue 118: Pref are sometimes not generated / injected
- Issue 123: long not supported in prefs
- Issues 109, 126 & 128: Support for dozens of new types of Android Managers injection with
@SystemService
, even for API level 14 and even hidden system services (useful for custom Android builds). - Issue 104: Support for
@OptionsMenu
and@OptionsItems
- Issue 127:
@NoTitle
and@Fullscreen
on activities - Issue 87:
@Trace
to trace methods and durations - Issue 134: Exception in
@Rest
when using@Get
without value - Issue 137: Disable warning on
@EActivity
when the activity is abstract - Issue 136: New tests for
@ItemClick
Annotation - Issue 133:
@EActivity
on abstract classes generated errors when doing a clean build - Issue 135: Support for
setRestTemplate()
in@Rest
- Issue 138:
onCreate()
visibility adapted in abstract activities
Released on Sep 17, 2011
Bugfix release
- Issue 103:
@UiThread
&@Background
didn't work with generic parameters
Released on Sep 8, 2011
Bugfix release
- Issue 100:
@RoboGuice
doesn't work withMapActivity
- Issue 97: AndroidAnnotations releases failed at perform goal.
Released on Aug 29, 2011
- Issue 73: View injection happens after
onCreate()
and before@AfterViews
annotated methods - Issue 64: The generated classes are now final.
- Issue 91: Switched Maven repository from Google Code to Excilys. The new repository is here
-
BackgroundExecutor
is now part of the API package instead of being generated at compile time (r858). - Added a compile scoped dependency on Android for AndroidAnnotations, which allows Javadoc links as well as including some classes in the API Jar (r856 and r857).
- Issue 46: handling of Activity.onBackPressed for pre ECLAIR (2.0) Android versions.
- Issue 47: Creating helpers for
SharedPreferences
- Issue 49: Create an assembly Zip for releases
- Issue 51: Add automatic functional tests
- Added NOTE messages at compile time to let the user know which files are generated. Can be viewed in Eclipse with the Error log view. Done at r976.
- Issue 55: Partial implementation of a Rest API using Spring Android. Not officially supported yet.
- Issue 74:
InputMethodManager
service can not be injected - Issue 69:
SensorManager
service can not be injected - Issue 75: Using
@Extra
without value adds an additional unexpected compile error - Issue 68:
@Extra
does not work with Generics - Issue 70:
@Extra
does not work with Arrays - Added compiler notes when activities declared in the manifest are not found in the compile path. Done at r1139.
- Issue 61: Inject Application with
@App
- Issue 79: Add a license checker
- Issue 78: Switch source repository to Git
- Issue 88:
@AnimationRes
can now be used to inject Animation fields
Bugfix release
Released on Apr 13, 2011
- Issue 48: Unexpected warnings for registered activities that have a different package than the application package.
Bugfix release
Released on Apr 9, 2011
- Issue 42: AndroidAnnotations could not find the
AndroidManifest.xml
file if there was a space in the project path.
Released on Apr 6, 2011
The version number went from 1.0.3 to 2.0 because we made some API changes that are not backward compatible (@EActivity
, startActivity*
methods), and because a whole part of the internals has been rewritten (i.e. code generation).
- Issue 7: Code generation using CodeModel instead of Strings
- Issue 37: Created a sample project to show how to integrate Maven and AndroidAnnotations. Also created a dedicated wiki page.
- Issue 27: Removed overriding of
startActivity
()methods. One cannot anymore start an enhanced activity without using the generated name (ie
MyActivity_`). - Better stack trace printing of compile time unexpected exceptions.
- Issue 36: Created a snapshots and a releases Maven repository, instead of a common repository. The old repository is still available for previous releases.
- Activities do not need any more to be in the same package as the R class (we read the
AndroidManifest.xml
to determine the R class package) - Issue 29: Added online Javadoc
- Issue 39: Removed compile errors on class members when
@EActivity
is available but has compile errors. - Issue 34: Compile errors are issued when
@EActivity
annotated activities are not registered in theAndroidManifest.xml
file. - Issue 4: Using a shared executor service instead of creating a new thread each time an @Background method is called.
- Issue 35: Renamed @Enhance to @EActivity.
- Global improvements based on the Hibernate Metamodel Generator (which is an annotation processor).
Bug fixes:
- Issue 26: RClassFinder returned null when the r class was not found, which led to NPE in CoumpoundRClass at compile time instead of a clear error message.
- Compile time bug when an
@ItemSelect
method had no parameter (the generated code did not compile) -
@Transactional
overridden method did not call through super (Stack overflow)
Pre 2.0 releases are available on the old Maven repository.
Released on Mar 17, 2011
- Fixed issue 25: Missing View import when using
@RoboGuice
without some other annotations. - Removed an unused
@Inject
import in some cases
Released on Mar 13, 2011
- Issue 22: Support for
RoboGuice
1.1.1, removed support forRoboGuice
1.0 and 1.1 (too much hassle).RoboGuice
1.1.1 bug fixes have been successfully backported to AndroidAnnotations. - Issue 24: synchronized keyword is not allowed anymore on
@UiThread
and@Background
methods. - Issue 21: Created a thin API JAR that should be included in the build path instead of the whole preprocessor JAR. AndroidAnnotations has a much smaller footprint !
Released on Jan 25, 2011
- Retrofitted a bug fix from RoboGuice (r557)
Released on Jan 25, 2011
- Issue 17: support for RoboGuice 1.0 and 1.1. Event listeners (RoboGuice 1.1) are supported as well.
- Issue 18: injection happens before
@BeforeCreate
method calls (except view injection of course) - Issue 2:
@Click
and other listener methods cannot be used twice for the same id - Improved javadocs
- Improved code generation, with support for imports
-
@Enhance
annotated classes may now be abstract (useful with RoboGuice : you can let your activity implementInjectorProvider
and call thegetInjector
method, which will be implemented in the generated subclass)
Released on Jan 17, 2011
- Issue 11: overriding more
startActivity*()
methods - Issue 12:
@Extra
throws NPE when extra not set - Issue 13: Support for
@BeforeCreate
- Renamed
@Layout
to@Enhance
- Issue 10: remove the need for
@Layout
Released on Jan 9, 2011
- Support for integrating with RoboGuice
Released on Jan 6, 2011
- android.R support
@Transactional
- Events :
@LongClick
,@ItemClick
,@ItemSelect
,@LongItemClick
,@Touch
- method names for events can have a specific suffix (myButtonClicked, myButtonSelected)
- constraints on event methods: no exception allowed
Released on Jan 5, 2011
- Support for
@UiThreadDelayed
- Enough wiki documentation to easily get started and discover all the use cases
- Added exception handling to
@UiThread
and@Background
Released on Jan 4, 2011
- Support for
@Extra
,@SystemService
, all@XXXRes
(replacing @XXXValue) - startActivity is now overriden to replace
MyActivity
withMyActivity_
in Intents
Released on Jan 4, 2011
- Support for
@Background
and@UiThread
- @Value is replaced by
@StringArrayValue
,@ColorValue
and@StringResValue
(will be necessary to support more values)
Released on Dec 22, 2010
- Replaced
@UiView
with@ViewById
- Added more constraints : private modifier not allowed
- Support for
@Value
on Strings, String arrays and colors