Release Notes for the Google App Engine ORM, a DataNucleus plugin that provides
access to the Google App Engine Datastore via JDO and JPA.

VERSION 1.0.1 RC2
- Fix handling of user-defined @Order
  http://code.google.com/p/datanucleus-appengine/issues/detail?id=40

- Support field restrictions in queries
  http://code.google.com/p/datanucleus-appengine/issues/detail?id=23

- Fix NPE when querying for null parent
  http://code.google.com/p/datanucleus-appengine/issues/detail?id=47
  

VERSION 1.0.1 RC1
- Support contains operator in JDOQL
  http://code.google.com/p/datanucleus-appengine/issues/detail?id=2

- Support doubles as query literals
  http://code.google.com/p/datanucleus-appengine/issues/detail?can=7&id=3

- Support BigDecimal fields
  http://code.google.com/p/datanucleus-appengine/issues/detail?can=7&id=4

- Support persisting classes with superclasses
  http://code.google.com/p/datanucleus-appengine/issues/detail?can=7&id=5

- Support Collection fields with serialized="true"
  http://code.google.com/p/datanucleus-appengine/issues/detail?can=7&id=6

- Support @Lob JPA annotation
  http://code.google.com/p/datanucleus-appengine/issues/detail?can=7&id=10

- Support @Serialized on byte[] member
  http://code.google.com/p/datanucleus-appengine/issues/detail?can=7&id=16

- Bidirectional one-to-many when parent has long or unencoded String pk fails
  http://code.google.com/p/datanucleus-appengine/issues/detail?can=7&id=19

- Cannot fetch many side of one-to-many when pk is Key, Long, or unencoded String
  http://code.google.com/p/datanucleus-appengine/issues/detail?can=7&id=26

- JDOQL: Support implicit params
  http://code.google.com/p/datanucleus-appengine/issues/detail?can=7&id=27

- Cannot add child to existing one-to-many if parent has Long or unencoded String pk
  http://code.google.com/p/datanucleus-appengine/issues/detail?can=7&id=28

- Expose batch gets
  http://code.google.com/p/datanucleus-appengine/issues/detail?can=7&id=29

- Can't reattach detached objects with Date props
  http://code.google.com/p/datanucleus-appengine/issues/detail?can=7&id=30

- Fetching 1 to 1 needs to differentiate between direct and indirect children
  http://code.google.com/p/datanucleus-appengine/issues/detail?can=7&id=31

- Support embedded classes with Key primary key
  http://code.google.com/p/datanucleus-appengine/issues/detail?can=7&id=32


VERSION 1.0.0 Final
- Fix automatic entity group assignment with non-transactional datasources.
- Support aliased table names.
- Fix getSingleResult() (jpa)
- Support filtering with transient params

-------------------------------------------------------------------------------
UNRELEASED VERSIONS
-------------------------------------------------------------------------------

VERSION 1.0.0 RC3
- Translate IllegalAccessException to JDOFatalUserException when thrown by datastore api
- Handle PMFs with no name
- Added package-info.java

VERSION 1.0.0 RC2
- Support for ShortBlob
- Support filtering with enum params
- Support count() queries
- Datastore API exceptions now properly wrapped in JDO/JPA exceptions

VERSION 1.0.0 RC1
- Support unencoded String primary keys
- Support long primary keys
- Let developers specify pk in different ways for getObjectById (JDO) and find (JPA)
- Support for Set, SortedSet, TreeSet, LinkedHashSet, LinkedList
- preserveCase is the default for the identifier factory
- Detect changes to primary key and ancestor
- Support negative literals in queries
- Querying and sorting by embedded fields
- App Engine specific meta data validation
- Detect invalid jdoql and jpql

VERSION 0.8.5
- Support java 5 enums
- OSGI-compliant manifest
- Fix single string JDOQL range queries
- Support querying parent by 1 to 1 child
- Support updates without explicit txn management (jdo)

VERSION 0.8.4
- There is no 0.8.4

VERSION 0.8.3
- There is no 0.8.3

VERSION 0.8.2
- Avoid getting entities from multiple entity groups in a single txn
- Avoid multiple writes to the same entity in a single txn
- Query by ancestor provider
- One To Many bug fixes

VERSION 0.8.1
- One To Many bug fixes
- Method renames

VERSION 0.8
- Support for non-transactional datasources.
- Fixed a nasty ClassCastException related to transaction management.

VERSION 0.7
- Removed dependency on datanucleus' rdbms jar
- Support for @OneToMany when the member is of type List
- Support for serialized members.
- Support for custom serialization strategies.

VERSION 0.6
- Implicitly assign entity groups when creating dependent children (1 to 1 only)
- Support for jdk 5.

VERSION 0.5
- Better error messages when attempting to assign null to a not-null pojo field.
- Removed jta.jar and persistence-api.1.0.2.jar from the distro - users must download
these by hand for now.

VERSION 0.4
- Support for 1-1 associations, both unidirectional and bidirectional.
- Proper handling of null fields.
- Support filtering and sorting by implicit __key__ entity property.

VERSION 0.3
- Support pks and ancestors of type Key
- Translate members of type byte[] and Byte[] to datastore type BLOB
- Support for offset in jpql and jdoql
- Support for embeddable classes

VERSION 0.2
- Support for ancestors
- Support for named keys
- Support for JPQL bind variables
- Support for limit in JDOQL and JPQL queries
- Support for querying by key
- Spec compliance for default table names.
- Spec compliance for default column names.
- Spec compliance for default version column names.

VERSION 0.1
- Initial release
- JDO and JPA support for insert, update, delete, retrieve
- JDOQL and JPQL queries.  Predicates may only use '=', '<', '<=', '>=', '>', '&&' as
  well as sort clauses.
- Basic Transaction support.

