EventBus 3.2 with incremental annotation processing

EventBus 3.2.0 is now available on Maven Central. In 2020, seven years since version 1.0, EventBus is still one of the most used Android libraries. This update addresses advancements in the Gradle build system and supporting Android libraries.

EventBus 3.2 adds incremental processing to the EventBus annotation processor. This can greatly reduce build times – if all involved annotation processors play along (e.g. ObjectBox is getting there too).

The EventBus annotation processor is used when building EventBus with a subscriber index. This is now recommended for all Android apps. It improves run time performance and avoids crashes by looking up subscriber methods via reflection.

EventBus 3.2 also improves support for JetPack/AndroidX. When looking for @Subscribe methods, it now ignores all base classes from the androidx package and its subpackages, e.g. AppCompatActivity (from androidx.appcompat.app) or Fragment (from androidx.fragment.app). Before 3.2, those classes were scanned using reflection, regardless if a subscriber index was available or not.

Those two changes make EventBus faster and more resilient and we hope you consider making this update soon.

The EventBus library is free open source software. If you like it, we appreciate a star on GitHub, a tweet, or any feedback to us. If you use EventBus in a cool app that is a great showcase for its usefulness, we would love to share a case study with our community. Please get in touch.

EventBus 3.1 with plain Java support

With over 25% of the top Android apps using it, EventBus is more popular than ever before. So we’re very happy to announce EventBus 3.1 today. Starting with this release, EventBus works with plain Java (non-Android) projects. This has two major benefits: Firstly, it opens up EventBus for all Java developers and makes it usable for server and desktop applications. Secondly, it allows Android developers to use EventBus in local unit tests. Before, you had to use instrumentation tests which are slow and require a device. In contrast to this, plain Java unit tests are blazingly fast as they run directly on your desktop machine.
Continue reading

ObjectBox 0.9.10 – getting closer to 1.0

Do you know our new super fast mobile database ObjectBox yet? With versions 0.9.9 and the just released 0.9.10, ObjectBox made great progress to stabilize features for the 1.0 release. With an increasing number of apps using ObjectBox, we were able to spot and fix some less obvious issues. We believe that ObjectBox 0.9.10 is the most stable release ever. If you did not dare to check out the beta version yet: now is a good time to have a closer look.

Continue reading

ObjectBox Documentation Update

We updated ObjectBox’ documentation to account for the growing interest and more specific questions asked in the issue tracker. We published several updates and new documentation resources:

Continue reading

greenDAO 3.2.2 Bugfix Release

This week we released greenDAO 3.2.2 with a couple of bug fixes. We want to highlight better interoperability with the Android Gradle plugin. With each new release of Android Gradle plugin, there have been conflicts with greenDAO plugin as both use “JDT”, a library to parse and manipulate Java Sources. To solve those conflicts once and for all, we now ship the greenDAO plugin with a repackaged version of JDT. Thus we are independent of other tools and can use the latest JDT versions. For best developer experience, we recommend everybody to update to greenDAO 3.2.2.

greenDAO 3.1.1 Bugfix Release

Today, we released a new version of greenDAO addressing some issues with @Entity annotations. If haven’t tried them yet, please give them a try. We think this is the most convenient way to work with greenDAO, or SQLite in general. For details on the 3.1.1 improvements, please check the changelog.

greenDAO 3 released

We are happy to announce greenDAO Version 3 today. Since its initial release 5 years ago, greenDAO has always been the fastest ORM for Android. It was also the first ORM to apply code generation for maximum performance. With greenDAO 3, we made code generation much more convenient: by adopting entity annotations you can drop the generator project. In its place comes the all new Gradle plugin, which automatically triggers code generation at build time. Like that, you can simply use greenDAO 3 annotations on your entities:
Continue reading

greenDAO 3 Beta released

We just released greenDAO 3 beta: it makes the generator project optional and moves to Java annotations. Before the final release however, we want to get your feedback. In particular, we experimented with alternative annotation processing that gives greenDAO more power while it avoids byte code manipulation.Our goal with greenDAO3 is to put the developer in control over entity classes while augmenting the entity code with a little bit of generated code.

Continue reading