DataNucleus Release Plans

DataNucleus AccessPlatform 5.1

This is current scope for DataNucleus 5.1. If you think other things ought to be included then the answer is simple : get involved.

Feature Scope

  • Requires JRE 1.8+

  • Support for version "initial-value" specification.

  • Support for soft-delete of persistent objects.

Release Plans

  • 5.1.0-m2 Apr 2017?

DataNucleus AccessPlatform 5.0

This is current scope for DataNucleus 5.0. If you think other things ought to be included then the answer is simple : get involved.

Feature Scope

  • Requires JRE 1.8+

  • More flexibility to handle non-JDK collections.

  • Support for JDK 1.8 Optional for RDBMS, Cassandra, MongoDB, Excel, ODF, Neo4j, HBase, JSON

  • Support for specific Scala features including optional

  • Support HBase 1.x

  • Support HBase related object removal

  • Support Cassandra (Datastax) 3.x

  • Support Neo4j v2.3+

  • Support MongoDB v3.0+ of mongo-java-driver

  • Support for RDBMS SQL Anywhere

  • Support for PostgreSQL persisting collection/array of strings/ints into "array" column type

  • Support for nondurable identity with JPA

  • Support for Enum extension handling for RDBMS, Cassandra, MongoDB, Excel, ODF, Neo4j, HBase, JSON

  • Improved multi-tenancy support, per PMF/EMF, per PM/EM, or per datastore access.

  • Stop development of datanucleus-neodatis at 5.0.0.release since the underlying datastore hasn’t been updated in 5 years.

Release Plans

  • 5.0.9 Apr 2017?

DataNucleus AccessPlatform 4.2

This is current scope for DataNucleus 4.2. If you think other things ought to be included then the answer is simple : get involved.

Feature Scope

  • JDO : Support for JDO 3.2 JDOQLTypedQuery replacing DataNucleus JDO Typesafe Query

  • JDO : Support for JDO 3.2 AttributeConverter

  • JDO : JDO 3.2 Query API changes, for fluent calls, and remove need to cast results

  • Support for RDBMS SQL Anywhere

Release Plans

  • No further releases planned; commercial enquiries required.

DataNucleus AccessPlatform 4.1

This is current scope for DataNucleus 4.1.

Feature Scope

  • Rewrite SCO "update" initialisation to cater for cascade delete and optimisation.

  • Extend 'operation queue' to include persist, update, remove operations

  • Minor upgrade to bytecode enhancement contract to allow for separation of enhancement API

  • Rewrite of handling of container field update code.

  • Types : support for Jodatime LocalDateTime

  • JDO : PersistenceManager and Query implementations now implement AutoCloseable

  • JDO : Ability to save a query as a "named" query, for later access

  • JDO : support for JDOQL subqueries in SELECT clause

  • JPA : support for non-standard value generators

  • JPA : support for "KEY", "VALUE" keywords in JPQL

  • JPA : support for parameters in FROM "ON" clause of JPQL

  • JPA : support for JPQL subqueries in SELECT and HAVING clauses

  • JPA : support for JPQL ordering by result alias

  • JPA : support for JPQL "RIGHT OUTER JOIN"

  • JPA : support for AttributeConverters on map key/value and collection element

  • JPA : Ability to save a query as a "named" query, for later access

  • REST : support for map/array fields

  • REST : support for maxFetchDepth on GET requests

  • REST : support for GZIP compression on GET requests

  • MongoDB : much improved relation handling, and support for date and interface fields.

  • RDBMS : support for some HikariCP connection pool properties

  • RDBMS : support for SQL Anywhere

  • Persistent Properties : you can now use inheritance in persistent properties, overriding getters etc

Release Plans

  • No further releases planned; commercial enquiries required.

DataNucleus AccessPlatform 4.0

All plugins were branched for this release cycle.

Feature Scope

  • Runtime will still be supported as runnable for JDK1.7+

  • Extend SchemaAwareStoreManager/SchemaTool to add createSchema/dropSchema

  • Upgrade ODF, Excel, HBase, MongoDB plugins to start using "persistable-identity"

  • Clean up NucleusContext "type" and maybe make NucleusContext an interface, and have PersistenceNucleusContext for persistence runtime. Means that we could also add a SchemaNucleusContext later on for schema tool(s)

  • Transaction savepoints - Basic API present in core, and supported in RDBMS (needs testing)

  • Clean up MetaDataManager and maybe make it an interface.

  • Move majority of schema operations from StoreManager to StoreSchemaHandler

  • Upgrade ASM to v5.0

  • Generalise TypeConverters so they can support conversion to multiple datastore column values and usable by all store plugins

  • Support JDK1.8 (including javax.time - so build requirement for java8 plugin at least will be 1.8)

  • Official support for Cassandra v1.2+

  • Upgrade relevant store plugins to use Table/Column structure and benefit from common features, for ODF, Excel, JSON, MongoDB, Neo4j, HBase

  • Upgrade enhancement process to enhance to org.datanucleus.enhancer.Persistable so that users need to have "datanucleus-core.jar" in the CLASSPATH and not "jdo-api.jar".

  • Drop EclipsePluginRegistry so all OSGi users should use OSGiPluginRegistry

  • Schema Evolution : restructure schema properties to allow for all we will need when adding/removing fields etc

  • JPA : no longer needs to have jdo-api.jar present

  • JPA : allow "native" query for Cassandra

  • Cassandra : support for native CQL queries via JDO or JPA

  • RDBMS : support for HikariCP and DBCP2 connection pools

  • RDBMS : ability to use single connection per PM/EM (rather than 1 for transactional operations, and 1 for non-transactional operations)

  • RDBMS : removed the need to create JavaTypeMapping classes when the user type has a TypeConverter

  • JSON : support for embedded 1-1 relation fields/properties

  • Excel/ODF/JSON/MongoDB/Neo4j/HBase/Cassandra : move to using "core" definition of table/columns meaning access to generalised features tested on other datastores

Release Plans

  • No further releases planned; commercial enquiries required.

DataNucleus AccessPlatform 3.3

Feature Scope

  • JPA2.1 full feature list

Release Plans

  • No further releases planned; commercial enquiries required.

DataNucleus AccessPlatform 3.2

Feature Scope

  • Branch on release 3.1.2 (03/Oct/2012)

  • Merge "enhancer" into "core" and "api.jdo"

  • Repackage ASM into "core" to avoid extra dependency

  • Move documentation to use Maven3 "site"/"pdf" plugins

  • JPA2.1 features

  • Some streamlining of persistence process (default persistent if supported type, pooled ExecutionContext/ObjectProvider, disable L2 cache per PM/EM, etc)

Release Plans

  • No further releases planned; commercial enquiries required.

DataNucleus AccessPlatform 3.1

Feature Scope

  • Branch on release 3.0.6

  • Move javax.time into core

  • Move javax.cache into core

  • JPA2.1 Stored Procedures

  • JPA2.1 Type Converters

  • Naming Factory for all non-RDBMS datastores

  • Statistics API, integrated with JMX (remove need for management plugin)

  • Support JDK1.7 (Use ASM v4.0)

  • JDK1.6+ at runtime

  • Neo4j plugin

Release Plans

  • No further releases planned; commercial enquiries required.

DataNucleus AccessPlatform 3.0

Feature Scope

  • Branch on release 2.2.1

  • Increased modularity of persistence features

  • Definitive comparison of persistence features across supported datastores

  • Data Federation

  • API modularity; each API has its own jar

  • Good support for MongoDB, HBase, ODF, Excel

  • Support for SQLite

  • Upgrade to ODFDOM 0.8.7+

Note : API backward compatibility broken.

Release Plans

  • No further releases planned; commercial enquiries required.

DataNucleus AccessPlatform 2.2

Feature Scope

  • Branch on release 2.1.1

  • Drop legacy JDOQL mechanism for RDBMS

  • Type-safe refactorable JDO queries

  • Complete JPA2 functionality

Release Plans

  • No further releases planned; commercial enquiries required.

DataNucleus AccessPlatform 2.1

Feature Scope for 2.1

  • Branch on release 2.0.2

  • JDOQL2 for RDBMS becomes default

  • JPA2 Complete (Certification depends on the JCP and getting a TCK, so forget that)

  • Support for persistence to OOXML

  • Support for persistence to GoogleStorage

  • Support for persistence of javax.time types (JSR0310)

  • Support for persistence of some Google Collections types

  • StorePersistenceHandler

Release Plans

  • No further releases planned; commercial enquiries required.

DataNucleus AccessPlatform 2.0

Feature Scope for 2.0

  • Datastores : Add support for HBase, Amazon S3, Oracle Timesten

  • In-memory evaluation of contains(), containsKey(), containsValue()

  • Drop support for Oracle ⇐ 8, DB2 < 8, Informix style joins, so we maintain ANSI style joins only from this point - use AccessPlatform 1 otherwise

  • Drop support for building using Ant ("build.xml", "build.properties") - undocumented and inconsistent.

  • Caching of query compilations and results

  • JPA2 implementation - build from Geronimo EA JPA2 jar

  • Rewrite of JPQL for RDBMS, using generic query mechanism

  • Rewrite of JDOQL for RDBMS, using generic query mechanism

Release Plans

  • No further releases planned; commercial enquiries required.

DataNucleus AccessPlatform 1.1

Feature Scope for 1.1

  • Datastores : Add support for ODF, BigTable

  • JDK1.5+ from this release onwards. Move enum to store.rdbms, move JDO+annotations to core, move rest to JPA. Merge JDK1.3/1.4 SCO wrappers

  • Remove NucleusSQL - not strategic direction, and hardly used but have a maintenance cost

  • Provide generic compilation to SQL converter so that we can start to think about replacing RDBMS JDOQL/JPQL and fixing all of those bugs that exist in it.

Release Plans

  • No further releases planned; commercial enquiries required.

DataNucleus AccessPlatform 1.0

Feature Scope for 1.0

  • Datastores : Add support for LDAP, XML, Excel, NeoDatis, JSON

  • APIs : JDO2.1, JPA1, some of JPA2 (most of JPA2 can go in Access Platform 1.2/2.0)

  • Query Languages : JDOQL for all datastores, SQL for RDBMS, db4o, JPQL for RDBMS.

Release Plans

  • No further releases planned; commercial enquiries required.