V3.3.0 (2020-04-29)
- Support Android Gradle Plugin 3.3+ APIs. #942
- Support Gradle 6.0. #1002
- Support JDK 11. #1014
- Updated ProGuard, R8 rules when using SQLCipher.
- Prevent verbose ART “Rejecting re-init” logs. #428
- Support fully specified @Transient annotation name. #657
- Expose Database.isOpen(). #700
- Allow custom collation for SQLCipher databases. #727
- Support setting DatabaseErrorHandler. #839
- Generate DaoMaster in same package on Mac and Windows. #880
- Escape table name for joins. #888
V3.2.2 Fixes (2017-04-05)
- Improved compatibility with Android Studio and the Android Gradle Plugin (once and for all; we are using a repackaged JDT now to avoid conflicts)
- setParameter() for all query types
- More bug fixes
V3.2.1 Plugin fixes (2016-11-16)
Note: 3.2.0 is still the latest version for artifacts greendao and greendao-generator.
- Improved compatibility with Android Studio and Jack compiler
- Bugfixes
V3.2.0 Android Studio 2.2 support (2016-09-26)
- Fixed some issues with Android Studio and Android Gradle Plugin versions 2.2 (JDT class conflicts)
- ProtocolBuffers support: Use the new protobuf attribute in @Entity to define a secondary Protobuf entity
- Several minor improvements
V3.1.1 @Entity Fixes (2016-08-24)
We made several fixes and improvements related to the new @Entity annotation, and advise to update. Note, if you are still using greendao-generator, 3.1.0 is the most recent version.
- Getter&setter generation can be disabled using @Entity(generateGettersSetters = false)
- Inner classes are now detected for custom types and converters
- String constants can now be used for annotation values
- Several minor improvements
V3.1.0 Fixes and Rx (2016-08-04)
Note: If you are already using the new @Entity annotation, you are advised to update because we made some important fixes.
- New save() and saveInTx() in DAO: better performance than insertOrReplace() with slightly different semantics
- New experimental support for RxJava (feedback welcome, we hope to finalize the Rx APIs in 3.2)
- Various fixes for @Entity processing introduced in 3.0 (click here for details)
- Several minor improvements
V3.0.0 Annotations and Gradle Plugin (2016-07-06)
V3 is a major release with changes that require adjustments on your side. See the documentation on how to upgrade.
- New Annotations for entities (coming with new a Gradle plugin as an alternative to the generator project)
- Integrated DB abstraction and SQLCipher support: greenDAO supports custom and encrypted databases in a single edition (no more separate branch/artifact)
- Breaking change: Base package is now org.greenrobot.greendao
- Breaking change: replaced Android’s LOCALIZED with standard NOCASE collation in QueryBuilder for string ordering as a common ground for standard SQLite and SQLCipher (you can still enforce LOCALIZED if you want)
- Various smaller improvements
greendao-encryption V2.2.2 (2016-06-24)
- For compatibility with SQCipher 3.5.x, we had to remove the LOCALIZED collation in QueryBuilder when defining the ORDER using String properties
V2.2.1 Bug fix release (2016-05-24)
- Fix: In certain multi-threaded scenarios, TableStatements could deadlock when the underlying database version is locking-savvy, like SQLCipher.
V2.2.0 Encryption support (2016-04-18)
- Support for encryption using SQLCipher (‘greendao-encryption’ artifact)
- Attention: artifact group changed to ‘org.greenrobot’ (Java package starting with ‘de’ remains, no breaking changes)
- Query.setParameter returns the query to allow a more fluent API
- New DAO method detachAll to detach all entities of a specific type
- Using Gradle 2.12’s compileOnly dependencies fixed errors with Android Studio (only relevant if you want to work on the greenDAO source)
V2.1.0 Minor feature and bugfix release (2015-11-12)
- Official Robolectric support: workaround for a broken system call in Robolectric triggered by Query.forCurrentThread
- QueryBuilder now allows to create DISTINCT queries to avoid duplicate entities returned
- CursorQuery (beta, API might change)
- Deadlock prevention when loading a list of entities while doing concurrent updates
- Fixed async queries
- Better Android Studio support
- Generator: Possibility to supply custom JavaDoc for entities and their properties
- Generator: Fixed codeBeforeGetter, added codeBeforeGetterAndSetter
V2.0.0 Major feature release (2015-07-30)
- Join for queries: relate a query to other entities (or joins)
- To-Many relations using a join entity (useful for M:N relationships)
- Custom types for properties: by implementing PropertyConverter, entities can have properties of any type, e.g. enums, BigInteger, alternative time/date classes, JSON objects, serialized objects, …
- Add custom code to fields, getters, and setters of entity properties to add custom annotations or JavaDoc
- Add additional imports to entities without keep sections
- Fixes for table names matching a SQL keyword (e.g. “order”, “transaction”)
Several bug fixes - Added Flag for AsyncOperation to track the caller’s stacktrace (useful for debugging)
Generator V1.3.1 (2014-05-24): Bugfix
- Fix schema version >= 1000
V1.3.7 (2013-11-27): Bugfix
- Fixed building defect DeleteQuery for tables ending with character ‘T’ (bug introduced in 1.3.3)
- Prepared Fast Cursor for API level 19
V1.3.6 (2013-11-15): Bugfix
- Fixed leaked statement in DeleteQuery
V1.3.5 (2013-11-14): Bugfix
- Because of an issue with ApplicationTestCase, the base test class DbTest does not extend this class anymore. Note: This refactoring may require you to adjust some test classes if your tests depend on DbTest or its subclasses.
V1.3.4 (2013-10-28): Bugfix
- Redeployment of 1.3.3 artifacts without some old class leftovers
V1.3.3 (2013-10-18): Bugfix
- Fixed a memory leak affecting Query class that was introduced in 1.3.0 (#93)
- Fixed a rare race condition that can lead to “Entity is detached from DAO context” DaoException (#101)
V1.3.2 (2013-08-28): Bugfix
- Fixed building CountQueries with combined AND/OR conditions
- Some secret inoffical work in progress
V1.3.1 (2013-03-02): Fixed Gradle dependencies
- Don’t use Gradle’s “compile” dependency scope
V1.3.0 (2013-02-24): Multithreading robustness and refactoring (breaking changes!)
- Reworked internal locking of insert/update/delete methods
- Fixed potential deadlocks when transactions are executed concurrently to one of the various insert/update/delete calls
- Reworked queries to be used without locking, query instances are now bound to their owner thread (breaking change!)
- Relations use the new lock-free query API
- Query classes were moved into the new query subpackage (breaking change!)
- Introduced Gradle build scripts for DaoCore and DaoGenerator projects
- Maven artifacts are pushed to Maven Central starting with this version
Added two packages for classes used internally (identityscope and internal) - Added new deleteByKeyInTx DAO method to efficiently delete multiple entities using their keys
- Added some checks to throw exceptions with nicer messages telling what’s wrong
- Added Travis CI
V1.2.0 (2012-06-08): Feature release
- Limited support of String PKs (no relations using String FKs yet)
- Fixed index creation (please update your schema)
- Added CountQuery for creating SELECT COUNT (*) queries with QueryBuilder
- Added getDatabase in DaoMaster, DaoSession, and Dao
- Added insertOrReplaceInTx in Dao
- Added deleteInTx in Dao
- Added autoincrement() creating AUTOINCREMENT PKs
- Made DAOs and DaoSessions in active entities transient (allows serialization of entities)
- Minor fixes
V1.1.2 (2012-03-26): ADT 17 support for demo project
- Demo projects works with ADT 17 (moved greendao.jar into libs)
- CREATE/DROP TABLE may be skipped for entity types: This allows having multiple entity types operate on the same table
- Minor improvements
V1.1.1 (2012-02-14): Mini bugfixfeature release
- Added NOT IN condition for QueryBuilder
- Fix for Roboelectric (Issue #22)
- Minor fix (Issue #5)
V1.1.0 (2012-02-13): Feature release
- DeleteQuery for bulk deletes
- Entities may implement Java interfaces
- Entities may extend a Java class
- Added LIMIT and OFFSET support for QueryBuilder and Query
- Convenience methods to add named relationships
- SQL scripts are executed in a transaction by default
- Fixed queries with special column names (SQL keywords)
- Changed default names for to-many relations to end with “List”
- ORDER BY uses LOCALIZED collation for strings by default
V1.0.1 (2011-10-30): Bugfix release
- Fixed generation of to-many relations
- Fixed generated import statements when entities/DAO are not in the same package
V1.0.0 (2011-10-24): First open source release
- To-many relations (lazily loaded on the entities)
- To-many relations with custom join properties
- Active entities can be updated, refreshed, and deleted directly
- Significant performance improvements (faster identity scope, faster database result parser)
- “Keep sections” for custom code in entities were added that won’t be overwritten during code generation
- Other minor improvements
2nd and 3rd preview (2011-08-12 and 2011-08-19)
Announcements for the second and third preview