Changed
- [BREAKING] Feat(flags): expand badger to accept all valid options (#7677)
- [BREAKING] Feat(Dgraph): Read-Only replicas (#7272)
- [BREAKING] Consolidate multiple flags into Superflags (#7436) (#7337) (#7560) (#7652) (#7675)
- [BREAKING] Feat(zero): Make zero lease out namespace IDs (#7341)
- [BREAKING] Fix(commit): make txn context more robust (#7659)
- [BREAKING] Fix(Query): Return error for illegal math operations. (#7631)
- [BREAKING] Rename Badger metrics. (#7507)
- [BREAKING] Fix(Backups): new badger Superflag, NumGoroutines option solves OOM crashes (#7387)
- [BREAKING] Remove restore tracker as its not necessary (#7148)
- [BREAKING] Chore(GraphQL): Remove
dgraph.graphql.p_sha256hash
predicate and merge it intodgraph.graphql.p_query
(#7451) - [BREAKING] Introducing Multi-Tenancy in dgraph (#7293) (#7400) (#7397) (#7399) (#7377) (#7414) (#7418)
Added
-
GraphQL
- Feat(GraphQL): Zero HTTP endpoints are now available at GraphQL admin (GraphQL-1118) (#6649) (#7670)
- Feat(GraphQL): Webhooks on add/update/delete mutations (GraphQL-1045) (#7494) (#7616)
- Feat(GraphQL): Allow Multiple JWKUrls for auth. (#7528) (#7581)
- Feat(GraphQL): allow string --> Int64 hardcoded coercing (#7584)
- Feat(Apollo): Add support for
@provides
and@requires
directive. (#7503) - Feat(GraphQL): Handle upsert with multiple XIDs in case one of the XIDs does not exist (#7472)
- Feat(GraphQL): Delete redundant reference to inverse object (#7469)
- Feat(GraphQL): upgarde GraphQL-transport-ws module (#7441)
- Feat(GraphQL): This PR allow multiple
@id
fields in a type. (#7235) - Feat(GraphQL): Add support for GraphQL Upsert Mutations (#7433)
- Feat(GraphQL): This PR adds subscriptions to custom DQL. (#7385)
- Feat(GraphQL): Make XID node referencing invariant of order in which XIDs are referenced in Mutation Rewriting (#7448)
- Feat(GraphQL): Dgraph.Authorization should with irrespective of number of spaces after # (#7410)
- Feat(GraphQL): adding auth token support for regexp, in and arrays (#7039)
- Feat(GraphQL): Extend Support of IN filter to all the scalar data types (#7340)
- Feat(GraphQL): Add
@include
and@skip
to the Directives (#7314) - Feat(GraphQL): add support for has filter with list of arguments. (#7406)
- Feat(GraphQL): Add support for has filter on list of fields. (#7363)
- Feat(GraphQL): Allow standard claims into auth variables (#7381)
- Perf(GraphQL): Generate GraphQL query response by optimized JSON encoding (GraphQL-730) (#7371)
- Feat(GraphQL): Extend Support For Apollo Federation (#7275)
- Feat(GraphQL): Support using custom DQL with
@groupby
(#7476) - Feat(GraphQL): Add support for passing OAuth Bearer token as authorization JWT (#7490)
-
Core Dgraph
- Feat(query): Add mechanism to have a limit on number of pending queries (#7603)
- Perf(bulk): Reuse allocator (#7360)
- Perf(compression): Use gzip with BestSpeed in export and backup (#7643) (#7683)
- Feat(flags): Add query timeout as a limit config (#7599)
- Opt(reindex): do not try building indices when inserting a new predicate (#7109)
- Perf(txn): de-duplicate the context keys and predicates (#7478)
- Feat(flags): use Vault for ACL secrets (#7492)
- Feat(bulk): Add /jemalloc HTTP endpoint. (#7165)
- Feat(metrics): Add Dgraph txn metrics (commits and discards). (#7339)
- Feat(Bulk Loader + Live Loader): Supporting Loading files via s3/minio (#7359)
- Feat(metrics): Add Raft leadership metrics. (#7338)
- Use Badger's value log threshold of 1MB (#7415)
- Feat(Monitoring): Adding Monitoring for Disk Space and Number of Backups (#7404)
- Perf: simple simdjson solution with 30% speed increase (#7316)
-
Enterprise Features
- Perf(Backup): Improve backup Performance (#7601)
- Make backup API asynchronous
- Perf(backups): Reduce latency of list backups (#7435)
- Feat(acl): allow setting a password at the time of creation of namespace (#7446)
- Feat(enterprise): audit logs for alpha and zero (#7295)
- Feat(enterpise): Change data capture (CDC) integration with kafka (#7395)
- Perf(dgraph) - Use badger sinceTs in backups (#7392)
- Perf(backup): Reorganize the output of lsbackup command (#7354)
Fixed
-
GraphQL
- Fix(GraphQL): Fix Execution Trace for Add and Update Mutations (#7656)
- Fix(GraphQL): Add error handling for unrecognized args to generate directive. (#7612)
- Fix(GraphQL): Fix panic when no schema exists for a new namespace (#7630)
- Fix(GraphQL): Fixed output coercing for admin fields. (#7617)
- Fix(GraphQL): Fix lambda querying a lambda field in case of no data. (#7610)
- Fix(GraphQL): Undo the breaking change and tag it as deprecated. (#7602)
- Fix(GraphQL): Add extra checks for deleting UpdateTypeInput (#7595)
- Fix(persistent): make persistent query namespace aware (#7570)
- Fix(GraphQL): remove support of
@id
directive on Float (#7583) - Fix(GraphQL): Fix mutation with Int Xid variables. (#7565) (#7588)
- Fix(GraphQL): Fix error message when dgraph and GraphQL schema differ.
- Fix(GraphQL): Fix custom(dql: ...) with
__typename
(GraphQL-1098) (#7569) - Fix(GraphQL): Change variable name generation for interface auth rules (#7559)
- Fix(GraphQL): Apollo federation now works with lambda (GraphQL-1084) (#7558)
- Fix(GraphQL): Fix empty remove in update mutation patch, that remove all the data for nodes in filter. (#7563)
- Fix(GraphQL): Fix order of entities query result (#7542)
- Fix(GraphQL): Change variable name generation from
Type<Num>
toType_<Num>
(#7556) - Fix(GraphQL): Fix duplicate xid error for multiple xid fields. (#7546)
- Fix(GraphQL): Fix query rewriting for multiple order on nested field. (#7523)
- Fix(GraphQL) Fix empty
type Query
with single extended type definition in the schema. (#7517) - Fix(GraphQL): Added support for parameterized cascade with variables. (#7477)
- Fix(GraphQL): Fix fragment expansion in auth queries (GraphQL-1030) (#7467)
- Fix(GraphQL): Refactor Mutation Rewriter for Add and Update Mutations (#7409)
- Fix(GraphQL): Fix
@auth
rules evaluation in case of null variables in custom claims. (#7380) - Fix(GraphQL): Fix interface query with auth rules. (#7401)
- Fix(GraphQL): Added error for case when multiple filter functions are used in filter. (#7368)
- Fix(subscriptions): Fix subscription to use the kv with the max version (#7349)
- Fix(GraphQL):This PR Fix a panic when we pass a single ID as a integer and expected type is
[ID]
.We now coerce that to type array of string. (#7325) - Fix(GraphQL): This PR Fix multi cors and multi schema nodes issue by selecting one of the latest added nodes, and add dgraph type to cors. (#7270)
- Fix(GraphQL): This PR allow to use
__typename
in mutation. (#7285) - Fix(GraphQL): Fix auth-token propagation for HTTP endpoints resolved through GraphQL (GraphQL-946) (#7245)
- Fix(GraphQL): This PR addd input coercion from single object to list and Fix panic when we pass single ID in filter as a string. (#7133)
- Fix(GraphQL): adding support for
@id
with type other than strings (#7019) - Fix(GraphQL): Fix panic caused by incorrect input coercion of scalar to list (#7405)
-
Core Dgraph
- Fix(flag): Fix bulk loader flag and remove flag parsing from critical path (#7679)
- Fix(query): Fix pagination with match functions (#7668)
- Fix(postingList): Acquire lock before reading the cached posting list (#7632)
- Fix(zero): add a ratelimiter to limit the uid lease per namespace (#7568)
- Fixing type inversion in ludicrous mode (#7614)
- Fix(/commit): protect the commit endpoint via acl (#7608)
- Fix(login): Fix login based on refresh token logic (#7637)
- Fix(Query): Fix cascade pagination with 0 offset. (#7636)
- Fix(telemetry): Track enterprise Feature usage (#7495)
- Fix(dql): Fix error message in case of wrong argument to val() (#7543)
- Fix(export): Fix namespace parameter in export (#7524)
- Fix(live): Fix usage of force-namespace parameter in export (#7526)
- Fix(Configs): Allow hierarchical notation in JSON/YAML configs (#7498)
- Fix upsert mutations (#7515)
- Fix(admin-endpoints): Error out if the request is rejected by the server (#7511)
- Fix(Dgraph): Throttle number of files to open while schema update (#7480)
- Fix(metrics): Expose Badger LSM and vlog size bytes. (#7488)
- Fix(schema): log error instead of panic if schema not found for predicate (#7502)
- Fix(moveTablet): make move tablet namespace aware (#7468)
- Fix(dgraph): Do not return reverse edges from expandEdges (#7461)
- Fix(Query): Fix cascade with pagination (#7440)
- Fix(Mutation): Deeply-nested uid facets (#7455)
- Fix(live): Fix live loader to load with force namespace (#7445)
- Fix(sort): Fix multi-sort with nils (#7432)
- Fix(GC): Reduce DiscardRatio from 0.9 to 0.7 (#7412)
- Fix(jsonpb): use gogo/jsonpb for unmarshalling string (#7382)
- Fix: Calling Discard only adds to
txn_discards
metric, nottxn_aborts
. (#7365) - Fix(Dgraph): check for deleteBelowTs in pIterator.valid (#7288)
- Fix(dgraph): Add X-Dgraph-AuthToken to list of access control allowed headers
- Fix(sort): Make sort consistent for indexed and without indexed predicates (#7241)
- Fix(ludicrous): Fix logical race in concurrent execution of mutations (#7269)
- Fix(restore): Handle MaxUid=0 appropriately (#7258)
- Fix(indexing): use encrypted tmpDBs for index building if encryption is enabled (#6828)
- Fix(bulk): save schemaMap after map phase (#7188)
- Fix(DQL): Fix Aggregate Functions on empty data (#7176)
- Fixing unique proposal key error (#7218)
- Fix(Chunker): JSON parsing Performance (#7171)
- Fix(bulk): Fix memory held by b+ tree in reduce phase (#7161)
- Fix(bulk): Fixing bulk loader when encryption + mtls is enabled (#7154)
-
Enterprise Features
- Fix(restore): append the object path preFix while reading backup (#7686)
- Fix restoring from old version for type (#7456)
- Fix(backup): Fix Perf issues with full backups (#7434)
- Fix(export-backup): Fix memory leak in backup export (#7452)
- Fix(ACL): use acl for export, add GoG admin resolvers (#7420)
- Fix(restore): reset acl accounts once restore is done if necessary (#7202)
- Fix(restore): multiple restore requests should be rejected and proposals should not be submitted (#7118)