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.