Elide 5 documentation can be found here.
Elide 4 documentation can be found here.
New Features in Elide 6.X
Elide 6 introduces several new features:
- Elide 6 is built using Java 11 (as opposed to Java 8).
- GraphQL subscription support is added along with a JMS data store that can read Elide models from JMS topics.
- In-memory sorting support for computed attributes.
API Changes
- Prior to Elide 6, updates to complex, embedded attributes in Elide models required every field to be set in the attribute or they would be overwritten with nulls. Elide 6 is now aware of individual fields in complex, embedded attributes and only changes what has been sent by the client. See #2277 for more details.
- Elide 6 is stricter about legal JSON-API URLs. Path segments that represent collections are limited to alphanumeric characters along with underscore and hyphen. In addition, the path segment must start with a letter.
- Elide 6 is more relaxed about ID fields in JSON-API URLS. It now allows colon, ampersand, and space.
Interface Changes
- DataStoreTransaction has a number of breaking changes:
- The
getRelation
method has been split into getToOneRelation
and getToManyRelation
.
- Both
loadObjects
and getToManyRelation
now return a new subclass of Iterable
: DataStoreIterable
- A new iterable class has been introduced (
DataStoreIterable
) which wraps an underlying iterable. The DataStoreIterable
has flags that control whether Elide filters, sorts, and paginates the iterable in memory.
- The methods
supportsFiltering
, supportsPagination
, and supportsSorting
have been removed and replaced with the DataStoreIterable
instead.
s
- EntityDictionary is now entirely constructed with a Builder. All prior constructors have been removed.
- Security checks are now instantiated at boot and reused across requests. This change requires security checks to be thread safe.
- READ lifecycle hooks are no longer supported. CREATE, UPDATE, and DELETE hooks remain unchanged.
- UPDATE & CREATE lifecycle hooks are only invoked once per request when a toMany relationship is modified (as opposed to once for each individual relationship that was added or deleted to the collection).
Module & Package Changes
The following packages have been removed:
- Legacy datastore packages elide-hibernate-3 and elide-hibernate-5 have been retired and can be replaced with the JPA data store.
- The Elide bridgeable datastore has been removed.
- The package elide-datastore-hibernate has been renamed to elide-datastore-jpql. Internal package structure for the module was also changed.