Elide v5.0.0-pr29 Release Notes
-
π For 4.x line release notes, please check out this file on the elide-4.x branch.
π PR29 is the first public release candidate for Elide 5.0
π Features Elide 5 introduces three primary new features:
- A new semantic modeling layer and analytic query API for OLAP style queries against your database.
- An asynchronous API for API read requests with long durations.
- A mechanism to version elide models and the corresponding API.
API Changes The only notable API change are:
- Improved error responses that are more compatible with the JSON-API specification.
- FIQL operators are now case sensitive by default. New case insensitive operators have been introduced allowing greater flexibility. It is possible to revert to elide 4 semantics through configuration.
Interface Changes In addition to new features, Elide 5 streamlines a number of public interfaces to simplify concepts. This includes:
- A simpler Check class hierarchy.
- A new NonTransferable permission (which replaces SharePermission).
- Changes to Elideβs User abstraction for authentication.
- Lifecycle hooks have been restructured to better decouple their logic from Elide models.
- Initializers have been removed. Dependency Injection is available for models, checks, lifecycle hooks, and serdes.
- A simpler and more powerful DataStoreTransaction interface.
- GraphQL has its own FilterDialect interface.
- The Include annotation now defaults to marking models as root level.
- Elide settings has been stripped of unnecessary configuration options.
π¦ Module & Package Changes π Because Elide 5 is a major release, we took time to reorganize the module & package structure including:
- elide-example has been removed. The only Elide examples we plan to maintain are the spring boot and standalone examples.
- elide-contrib submodules have been promoted to mainline modules elide-swagger and elide-test.
- elide-annotations has been absorbed into elide-core.
- New modules were created for elide-async (async API), elide-model-config (the semantic layer), and elide-datastore/elide-datastore-aggregation (the analytics module).
- Some classes in elide-core were reorganized into new packages.