EdgeDB v1 (Nova)

v1.0 - 图1

EdgeDB 1.0 was released on February 10, 2022. Read the announcement blog post here.

We would like to thank our community for reporting issues and contributing fixes. You are awesome! ❤️

1.4

  • Avoid unnecessary updates to parent views and triggers (#3771)

  • Drop broken special case for nested insert FOR (#3797)

  • Fix IN array_unpack for bigints (#3820)

  • Put more parens around index expressions in generated DDL (#3822)

  • Fix a weird computable/alias interaction (#3828)

  • Support linkprops on backlinks (#3841)

  • Fix generation of dummy_pathid in nonconflict ctes (#3848)

  • Always correctly handle variadic arguments when producing AST from migrations (#3855)

1.3

  • Fix a multiplicity computation bug for tuples (#3632`)

  • Fix a multiplicity issue with doubly nested loops (#3636)

  • Fix a bug involving computable shadowing (#3652)

  • Make replace_prefix change PointerRefs to make types line up (#3642)

  • Search the source_rvar for materialized refs (#3657)

  • Fix min/max when no source aspect is present (#3664)

  • Don’t create UnionTypeShell for views of unions (#3670)

  • Fix a collection of json casting bugs (#3676)

  • ha/stolon: Don’t attempt to parse unsuccessful Consul responses (#3698)

  • ha/stolon: Add exponential backoff on unsuccessful Consul KV responses (#3699)

  • Make sure the sets in conflict clauses are have correct scope (#3686)

  • Produce an error instead of malformed SQL on insert foo { name } (#3687)

  • Don’t treat everything with a binding as STABLE (#3689)

  • Check that index expressions are immutable (#3690)

  • Fix fetching computed propery of UNION of same type (#3691)

  • Fix references to __subject__ in object constraints (#3695)

  • Fix unions of DML overlays on reverse inline pointers (#3694)

  • Fix some inheritance issues with renames and expr refs (#3696)

  • Fix a card inference bug when dealing with computables (#3628)

  • Fix a collection of nested shape path reference issues (#3700)

  • Produce a proper error on describe of nonexisting function, module (#3701)

  • Pin the version of edgedb-cli that we use (#3705)

  • Fix [NOT] IN array_unpack(foo) when foo is empty (#3752)

  • Inject SYNC between state restore & START TRANSACTION in [execute] flow. (#3749`)

  • Fail if local Postgres cluster fails to start

1.2

  • Add on-demand compiler pool scaling (#3550).

    Use --compiler-pool-mode=on_demand to switch to the new mode, which will a spawn new compiler worker process every 3 seconds if the compiling requests keep queueing up. The upper limit on the number of these spawned processes is the number of CPUs. After 60 seconds without compiling requests, the compiler pool will scale down to --compiler-pool-size with a default of 1 under on-demand mode.

  • Fix an issue with default module and module aliases inside transactions (#3604).

  • Add reset on target delete to DDL in order to fix some migration bugs concerning links (#3611).

  • Enforce newly created exclusive constraints across existing data (#3613).

  • Fix an issue with a self-referencing update (#3605).

  • Fix an issue with a constraint bug in update (#3603).

  • Fix a constraint bug in update (#3603).

  • Fix an SDL issue with computed links referencing each other (#3499).

  • Fix self-referencing nested mutations in GraphQL (#3470).

  • Fix GraphQL fragments for types (#3514).

  • Add in operator to GraphQL (#3443).

  • Fix cardinality inference in some special cases (#3590).

  • Fix inheritance from enum types (#3578).

  • Fix cardinality inference bug and extend cardinality restrictions to longer paths (#3566).

    Specifically, correctly infer that filtering on a long path where each hop is exclusive produces at most one result.

    For example: select Foo filter .bar.baz = 'key' should have cardinality of at most one if both bar and baz have exclusive constraints.

  • Fix issues involving scalar set identity (#3525).

  • Fix exclusive constraints on tuple properties (#3559).

1.1

  • Fix a migration issue with handling default on inherited links or properties (#3544).

  • Fix a migration issue with an inherited property (#3542).

  • Fix a migration issue with dropping a type (#3521).

  • Fix a migration issue with changing a link from single to multi (#3392).

  • Provide a more detailed message for constraints errors (#3522).

  • Produce an error on an invalid regex (#3412).

  • Produce a proper error when an expression is invalid in a certain special contexts, such as default (#3494).

  • Format the database name correctly in DuplicateDatabaseDefinitionError (#3228)

  • Fix an error when working with a composite exclusive constraint (#3502).

  • Correctly infer cardinality of a property on a multi link in the context of the constraint on that link (#3536).

  • Disable changing the concrete base of a scalar type (#3529).

  • Avoid generating pointless self joins (#2567).

  • Fix IPv6 address parsing (#3454).

  • If a type has object instances, it cannot be made abstract (#3399).

  • Fix an issue that sometimes caused with block variables to be unusable (#3385).

Pre-releases

EdgeDB 1.0 had a series of pre-preleases. Read the full history here:

Alpha 2, alpha 3, alpha 4, alpha 5, alpha 6, alpha 7, beta 1, beta 2, beta 3, RC 1, RC 2, RC 3, RC 4, RC 5.