All Versions
97
Latest Version
Avg Release Cycle
35 days
Latest Release
557 days ago

Changelog History
Page 1

  • v21.12.0 Changes

    November 30, 2021

    ๐Ÿ”„ Changed

    • [BREAKING] feat(sroar): Bring sroar to Dgraph (#7840)
    • [BREAKING] Return error for illegal math operations. (#7631)
    • [BREAKING] feat: bring dgraph-lambda to dgraph, alpha launches lambda server (#7973)
    • [BREAKING] fix json marshal unmarshal for namespace > 127 (#7810)
    • [BREAKING] fix(usability): make force-namespace flag compulsory in live loader for galaxy user (#7731)
    • [BREAKING] perf(Transactions): Run transactions concurrently (#7694)
    • [BREAKING] feat(flags): expand badger to accept all valid options (#7677)
    • [BREAKING] fix(commit): make txn context more robust (#7659)
    • โšก๏ธ [BREAKING] Opt(Restore): Optimize Restore's new map-reduce based design (#7666)
    • [BREAKING] fix(metrics): Rename Badger metrics. (#7507)
    • โช [BREAKING] Make backup-restore an open source feature (#8067)

    โž• Added

    • GraphQL

      • Feat(GRAPHQL): adds @default directive for setting default field values at create and update (#8017)
      • Feat(GRAPHQL): Support auth with custom DQL (#7775)
      • Feat(GRAPHQL): This PR allows updatable and nullable @id fields. (#7736)
      • Feat(GRAPHQL): Disallow DQL schema changes for predicates used in GraphQL schema (DGRAPH-3245) (#7742)
      • Feat(GRAPHQL): This PR allows @id field in interface to be unique across all the implementing types. (#7710)
      • Feat(GRAPHQL): Add language tag support in GraphQL (#7663)
      • Feat(GRAPHQL): Zero HTTP endpoints are now available at GraphQL admin (GRAPHQL-1118) (#6649)
      • Feat(GRAPHQL): Webhooks on add/update/delete mutations (GRAPHQL-1045) (#7494)
      • Feat(GRAPHQL): Allow Multipe JWKUrls for auth. (#7528)
      • Feat(GRAPHQL): Add support for passing OAuth Bearer token as authorization JWT (#7490)
    • Core Dgraph

      • Feat(metrics): Add Badger metrics. (#8034)
      • Feat(magicNumber): Introduce magic number (#8032)
      • Feat(lambda): allow access to access jwt in lambda (#8023)
      • Feat(rdf-response): Support RDF response via http query request (#8004)
      • Feat(sroar): Use rank() API from sroar and some cleanup (#8002)
      • Feat(lambda): store lambda scripts within the dgraph (#7955)
      • Feat(query): handle extend keyword for Queries and Mutations (#7916)
      • Feat(Backup): Add native google cloud storage backup support (#7829)
      • Feat(Backup): Add native support for backup to Azure. (#7843)
      • Feat(cloud): add shared-instance flag in limit superflag in alpha (#7770)
      • Feat(Dgraph): Add task queue implementation (#7716)
      • Feat(DQL): @groupby on scalar fields and count duplicate (#7746)
      • Feat(Query): Add random keyword in DQL (#7693)
      • Feat(tool): Neo4j CSV to RDF Converter (#7545)
      • Feat(query): Add mechanism to have a limit on number of pending queries (#7603)
      • Feat(flag): remove unused badger.max-retries option from bulk command (#7591)
      • Feat(sentry): clusterID flag added for alpha sentry reports (gql-services) (#7580)
      • Feat(cmd/debuginfo) add new metrics to be collected (#7439)
      • Feat(flags): use Vault for ACL secrets (#7492)
      • Feat(Apollo): Add support for @provides and @requires directive. (#7503)
      • Feat(restore): Introduce incremental restore (#7942) (#7971)
      • Feat(schema): do schema versioning and make backup non-blocking for indexing (#7852)
      • Feat(zero bulk): adding bulk call for alpha to inform zero about the tablets (#8100)
      • Feat(cdc): Add superflag to enable TLS without CA or certs. (#8097)
    • Enterprise Features

      • Feat(Multi-tenancy): Add namespaces field to state (#7808)
      • Feat(multi-tenancy): make drop data namespace aware (#7789) (#7795)
      • Feat(cdc): Add support for SCRAM SASL mechanism (#7765)
      • Feat(acl): allow access to all the predicates using wildcard (#7991)
      • Feat(cdc): Add superflag to enable TLS without CA or certs. (#7946)

    ๐Ÿ›  Fixed

    • GraphQL

      • Fix(GRAPHQL): add validation of null values with correct order of graphql rule validation (#8007) (#8008)
      • Fix(GRAPHQL): fix type assertion failure in graphql if resolver is not defined (#8003)
      • Fix(GRAPHQL): fixing graphql schema update when the data is restored (#7970)
      • Fix(GRAPHQL): Nested Auth Rules not working properly. (#7915)
      • Fix(GRAPHQL): optimize eq filter queries (#7895)
      • Fix(GRAPHQL): Fix duplicate XID error in case of interface XIDs (#7776)
      • Fix(GRAPHQL): Pass on HTTP request headers for subscriptions (#7806)
      • Fix(GRAPHQL): Make mutation rewriting tests more robust (#7768)
      • Fix(GRAPHQL): Fix error message of lambdaOnMutate directive (#7751)
      • Fix(GRAPHQL): fix auth query rewriting with ID filter (#7740)
      • Fix(GRAPHQL): Add filter in DQL query in case of reverse predicate (#7728)
      • Fix(GRAPHQL): Fix GraphQL encoding in case of empty list (#7726)
      • Fix(GRAPHQL): fix @cascade with Pagination for @auth queries. (#7695)
      • Fix(GRAPHQL): Fix Execution Trace for Add and Update Mutations (#7656)
      • Fix(GRAPHQL): Log query along with the panic (#7638)
      • 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): Add extra checks for deleting UpdateTypeInput (#7595)
      • Fix(GRAPHQL): remove support of @id directive on Float (#7583)
      • Fix(GRAPHQL): Fix mutation with Int Xid variables. (#7565)
      • 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 to Type_ (#7556)
      • Fix(GRAPHQL): fix duplicate xid error for multiple xid fields. (#7546)
      • Fix(GRAPHQL): Added support for exact index on field having @id directive. (#7534) (#7551)
      • 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)
    • Core Dgraph

      • Fix(sort): Only filter out nodes with positive offsets. (#8077)
      • Fix(fragment): merge the nested fragments fields (#8075)
      • Fix(lambda): upgrade lambda dependencies to fix vulnerabilities (#8074)
      • Fix(magic): fix the magic version in bulk loader etc (#8070)
      • Fix(split): enable split of posting list with single plist (#8062)
      • Fix(restore): Do not retry restore proposal (#8058)
      • Fix(txn): Fix data races in transaction code (#8060)
      • Fix(shutdown): wait for pending queries to process on alpha shutdown (#8057)
      • Fix(restore-test): Make offline restore use separate map directory for each group (#8047)
      • Fix(lambda-logs): extract namespace from body.namespace (#8043)
      • Fix(lambda): make lambda active only after successful start (#8036)
      • Fix(probe): do not contend for lock in lazy load (#8037)
      • Fix(lambda): shutdown node processes when alpha gets killed (#8027)
      • Fix(snapshot): Fix snapshot calculation after restore (#8024)
      • Fix(badger): Upgrade badger to fix deadlock (#8025)
      • Fix(bulk): quote the schema correctly in bulk loader (#8019)
      • Fix(sbs): handle response error gracefully (#8018)
      • Fix(admin): make config changes to pass through gog middlewares (#8014)
      • Fix(lambda): fix race condition in lambda server spin up (#8013)
      • Fix(proposals): Incremental proposal key for zero proposals (#8005)
      • Fix(lambda): monitor lambda server, fix performance issue, remove lambda logs from extensions (#8006)
      • Fix(live): quote the xid when doing upsert (#7983)
      • Fix(sroar): Bring latest sroar to master (#7977)
      • Fix(query): Do not execute filters if there are no source uids (#7962) (#7969)
      • Fix(snapshot): update last snapshot time across members (#7968)
      • Fix(pool): use write lock when getting health info (#7963)
      • Fix(JoinCluster): Avoid retrying JoinCluster indefinitely (#7961)
      • Fix(rollups): Write rolled-up keys at ts+1 (#7957) (#7959)
      • Fix(conn): JoinCluster loop should use latest conn (#7950)
      • Fix(restore): Set kv version to restoreTs for rolled up keys and schema keys (#7930) (#7935)
      • Fix(backup): Fix full backup request (#7932)
      • Fix(cmd/debug): Print banned namespaces correctly. (#7929)
      • Reconnect via a redial in case of disconnection. (#7918)
      • Fix(metrics): Expose dgraph_num_backups_failed_total metric view. (#7900)
      • Fix(sroar): Fix TestAuthWithCustomDQL failure because of roaring bitmaps (#7902)
      • Fix(DQL): revert changes related to cascade pagination with sort (#7885)
      • Fix(restore): append galaxy namespace to type name (#7880)
      • Fix(Backup): use validReadTs from manifest for backward compatibility (#7601) (#7863)
      • fix the predicate move (#7862)
      • Fix(restore): consider the banned namespaces while bumping (#7839)
      • Fix(restore): update the schema and type from 2103 (#7838)
      • Fix(updatemanifest): update the version of manifest after update (#7828)
      • Fix(backup): handle manifest version logic, update manifest version to 2105 (#7825)
      • Fix(schema-update): Start opIndexing only when index creation is required. (#7845)
      • Fix(admin): remove exportedFiles field (#7835)
      • Fix(restore): reset the kv.StreamId before sending to stream writer (#7833)
      • Fix(auth): preserve the status code while returning error (#7832)
      • bug fix to permit audit streaming to stdout writer(#7803)
      • Fix(lease): don't do rate limiting when not limit is not specified (#7787) (#7801)
      • Fix(restore): Bump uid and namespace after restore (#7790)
      • Fix(txn): ensure that txn hash is set (#7782)
      • Fix(export-backup): Fix double free in export backup (#7780)
      • Fix(Dgraph): Forward task status requests to correct Alpha (#7774)
      • Fix(bulk): upsert guardian/groot for all existing namespaces (#7759)
      • Fix(export): Fix facet export of reference type postings to JSON format (#7744)
      • fix: Prevent proposal from being dropped accidentally (#7741)
      • Fix(live): make live loader progress on a cluster with very high maxUid (#7743)
      • Fix(Chunker): don't delete node with empty facet in mutation (#7737)
      • Fix(DQL): optimize query for has function with offset. (#7727)
      • fixing readme for dgraph after latest release (#7732)
      • Fix(lease): prevent ID lease overflow (#7724)
      • Fix(lsbackup): Fix profiler in lsBackup (#7729)
      • Fix(bulk): throw the error instead of crashing (#7722)
      • Fix(ee): GetKeys should return an error (#7713)
      • Fix(raftwal): take snapshot after restore (#7719)
      • Fix(pagination): Fix after for regexp, match functions (#7700)
      • Fix(query): Prevent multiple entries for same predicate/type in schema mutations. (#7715)
      • Fix(vault): Hide ACL flags when not required (#7701)
      • Fix(flag): fix bulk loader flag and remove flag parsing from critical path (#7679)
      • Fix(upgrade): make upgrade tool to work with non-acl cluster (#7674)
      • 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)
      • Fix(export): use UriHandler for exports (#7690)
      • Fix s3 backup copy (#7669)
      • return if no uids exist in queries for Geo (#7651)
      • Fix(DGRAPH): fix @normalize response when multiple fields at different levels with same alias are selected. (#7639)
      • Fix(/commit): protect the commit endpoint via acl (#7608)
      • Use GetString for vault path (#7605)
      • Fix query logging for mutations (#7646)
      • Fix(login): fix login based on refresh token logic (#7637)
      • Fix(Query): Fix cascade pagination with 0 offset. (#7636)
      • feat(flags): Add query timeout as a limit config (#7599)
      • Fix(flags): Add empty defaults to Vault superflag (#7598)
      • Fix(persistent): make persistent query namespace aware (#7570)
      • Fix(rollups): Fix splits in roll-up (#7609)
      • fix for xgo version to use (#7620)
      • Fix(flags): Expose global flags to dgraph subcommands. (#7530)
      • Fix(telemetry): fix zero crash due to telemetry (#7575)
      • Fix(telemetry): Track enterprise feature usage (#7495)
      • Fix(release): update support for xgo tool (#7576)
      • Fix(super-flags): Use GetPath for path arguments in superflags (#7541)
      • Fix(dql): Fix error message in case of wrong argument to val() (#7543)
      • Fix(Roaring): Remove pack from posting list (#7535)
      • Fix(Flags): immediately panic on SuperFlag user errors (#7529)
      • Fix(Rollups): Don't try splitting a posting list with cardinality less than 2. (#7525)
      • Fix(export): fix namespace parameter in export (#7524)
      • Fix(live): fix usage of force-namespace parameter in export (#7526)
      • Fix largeSchemaUpdate test (#7522)
      • Fix(Configs): Allow hierarchical notation in JSON/YAML configs (#7498)
      • Fix(Bulk): Remove stale allocator in reduce (#7510)
      • Fix upsert mutations (#7515)
      • Fix(standalone): Set whitelist flag using superflag. (#7512)
      • 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(tool): Don't ban namespace in export_backup (#8099)
      • Fix(state): fix hex to uint64 response of list of namespaces (#8101)
      • Fix(restore): return nil if there is error (#8098)
    • Enterprise Features

      • Fix(audit): fixing audit logs for websocket connections (#8048)
      • Fix(acl): subscribe for the correct predicates (#7992)
      • Fix(acl): filter out the results based on type (#7978) (#7980)
      • Fix(groot): do not upsert groot for all namespaces on restart (#7917)
      • Fix(cdc): Show namespace info in event meta (#7721)
      • Fix(learner): Don't start a learner node with no peers (#7582)
      • Fix(audit): logs not getting deleted after N days (#7567)
      • Fix(release/v21.03) - Use worker.GetEEFeatureList instead of ee.GetEEFeatureList (#7564)
      • Fix(multi-tenancy): Format namespace to human readable form (#7552)
      • Fix(learner nodes): Reconnect to learner nodes after restart (#7554)
      • Fix(multi-tenancy): fix live loader for case when namespace does not exist for data (#7505)

    ๐ŸŽ Performance:

    • โšก๏ธ Opt(schema): Optimize populateSchema() by avoiding repeated lock acquisition (#8068)
    • ๐Ÿ“œ Perf: Speed up parsing of a huge query with a lot of conditional mutations (#7871)
    • โช Opt(Restore): Make restore map phase faster (#8038)
    • Opt(codec): return nil instead of a new bitmap (#7997)
    • Opt(cache): Use Ristretto to store posting lists (#7995)
    • Opt(rdf-output): Make RDF output generation concurrent (#7988)
    • Opt(recurse): Optimise recurse and bring range iterators from sroar (#7989)
    • โช Opt(restore): Sort the buffer before spinning the writeToDisk goroutine (#7984)
    • โœ… Perf(sroar): Use latest sroar and add histogram in the sbs tool (#7982)
    • Opt(Alpha): Load schema and types using Stream framework (#7938) (#7940)
    • Opt(query): Use sroar in pb.List (#7864)
    • Opt(snapshot): use full table copy when streaming the entire data (#7870)
    • โšก๏ธ Opt(snapshot): Optimize snapshot by using sinceTs (#7826)
    • ๐Ÿšš Opt(predMove): iterate Phase I till there is major data to move (#7792)
    • Opt(dropPrefix): allow logical drop for deleting predicates and indexing (#7764)
    • โšก๏ธ Opt(txn commits): Optimize txns by passing Skiplists to Badger (#7777)
    • Opt(GraphQL): filter existence queries on GraphQL side instead of using @filter(type) (#7757)
    • ๐Ÿšš Opt(predMove): hot tablet move (#7703)
    • Opt(Backup): Make backups faster (#7680)
    • โช Perf(restore): Implement map-reduce based restore (#7664)
    • ๐Ÿ— Opt(reindex): do not try building indices when inserting a new predicate (#7109)
    • Perf(txn): de-duplicate the context keys and predicates (#7478)
    • ๐ŸŽ perf(rollup): use NSplit API from sroar to improve rollup performance (#8092)
  • v21.03.2 Changes

    August 26, 2021

    ๐Ÿ›  Fixed

    • GraphQL

      • Handle extend keyword for Queries and Mutations (#7923)
    • Core Dgraph

      • fix(Raft): Detect network partition when streaming (#7908)
      • fix(Raft): Reconnect via a redial in case of disconnection. (#7921)
      • fix(conn): JoinCluster loop should use latest conn (#7952)
      • fix(pool): use write lock when getting health info (#7967)
      • fix(acl): The Acl cache should be updated on restart and restore. (#7964)
      • fix(acl): filter out the results based on type (#7981)
      • fix(backup): Fix full backup request (#7934)
      • fix(live): quote the xid when doing upsert (#7999)
      • fix(export): Write temporary files for export to the t directory. (#7998)

    ๐Ÿ”„ Changed

    • โฌ†๏ธ protobuf: upgrade golang/protobuf library v1.4.1 -> v1.5.2 (#7949)
    • ๐ŸŒฒ chore(raft): Log packets message less frequently. (#7913)

    โž• Added

    • feat(acl): allow access to all the predicates using wildcard. (#7993)
    • feat(Multi-tenancy): Add namespaces field to state. (#7936)
  • v21.03.1 Changes

    June 16, 2021

    ๐Ÿ›  Fixed

    • GraphQL

      • fix(GraphQL): fix @cascade with Pagination for @auth queries (#7695)
      • Fix(GraphQL): Fix GraphQL encoding in case of empty list (#7726) (#7730)
      • Fix(GraphQL): Add filter in DQL query in case of reverse predicate (#7728) (#7733)
      • Fix(graphql): Fix error message of lambdaOnMutate directive (#7751) (#7754)
    • Core Dgraph

      • fix(vault): Hide ACL flags when not required (#7701)
      • fix(Chunker): don't delete node with empty facet in mutation (#7737) (#7745)
      • fix(bulk): throw the error instead of crashing (#7722) (#7749)
      • fix(raftwal): take snapshot after restore (#7719) (#7750)
      • fix(bulk): upsert guardian/groot for all existing namespaces (#7759) (#7769)
      • fix(txn): ensure that txn hash is set (#7782) (#7784)
      • bug fix to permit audit streaming to stdout writer(#7803) (#7804)
      • fix(drop): attach galaxy namespace to drop attr done on 20.11 backup (#7827)
      • fix: Prevent proposal from being dropped accidentally (#7741) (#7811)
      • fix(schema-update): Start opIndexing only when index creation is required. (#7845) (#7847)
      • fix(export): Fix facet export of reference type postings to JSON format (#7744) (#7756)
      • fix(lease): don't do rate limiting when not limit is not specified (#7787)
      • fix(lease): prevent ID lease overflow (#7802)
      • fix(auth): preserve the status code while returning error (#7832) (#7834)
      • fix(ee): GetKeys should return an error (#7713) (#7797)
      • fix(admin): remove exportedFiles field (#7835) (#7836)
      • fix(restore): append galaxy namespace to type name (#7881)
      • fix(DQL): revert changes related to cascade pagination with sort (#7885) (#7888)
      • fix(metrics): Expose dgraph_num_backups_failed_total metric view. (#7900) (#7904)

    ๐Ÿ”„ Changed

    • opt(GraphQL): filter existence queries on GraphQL side instead of using @filter(type) (#7757) (#7760)

    โž• Added

    • feat(cdc): Add support for SCRAM SASL mechanism (#7765) (#7767)
    • Add asynchronous task API (#7781)
    • make exports synchronous again (#7877)
    • feat(schema): do schema versioning and make backup non-blocking for iโ€ฆ (#7856) (#7873)
  • v21.03.0 Changes

    April 07, 2021

    ๐Ÿ”„ Changed

    • [BREAKING] Feat(flags): expand badger to accept all valid options (#7677)
    • [BREAKING] Feat(Dgraph): Read-Only replicas (#7272)
    • [BREAKING] Consolidate multiple flags into a few 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 into dgraph.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> to Type_<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, not txn_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)
  • v20.11.3 Changes

    March 31, 2021

    ๐Ÿ›  Fixed

    • GraphQL

      • Fix(GRAPHQL): fix query rewriting for multiple order on nested field (#7523) (#7536)
      • Fix(GRAPHQL): Added support for exact index on field having @id directive (#7534) (#7550)
      • Fix(GraphQL): Add extra checks for deleting UpdateTypeInput (#7595) (#7600)
      • Fix(GRAPHQL): Undo the breaking change and tag it as deprecated. (#7607)
      • Fix(GraphQL): Log query along with the panic (#7638) (#7645)
      • Fix(GraphQL): Fix Execution Trace for Add and Update Mutations (#7656) (#7658)
    • Core Dgraph

      • Fix(schema): log error instead of panic if schema not found for predicate (#7502) (#7509)
      • Chore(cmd/debuginfo) add new metrics to be collected (#7439) (#7562)
      • Fix(vlog): Use Badger's value log threshold of 1MB (#7415) (#7474)
      • Chore(bulk): Improve perf of bulk loader with Reuse allocator and assinging tags to allocator (#7360) (#7547)
      • Fix(query): Fix pagination with match functions (#7668) (#7672)
  • v20.11.2 Changes

    February 23, 2021

    ๐Ÿ›  Fixed

    • GraphQL

      • Fix(Mutation): Deeply-nested uid facets (#7457)
      • Fix(GraphQL): Fix panic caused by incorrect input coercion of scalar to list (#7405) (#7428)
      • Fix(GraphQL): Refactor Mutation Rewriter for Add and Update Mutations (#7409) (#7413)
      • Fix(GraphQL): fix @auth rules evaluation in case of null values. (#7411)
      • Fix(GraphQL): fix interface query with auth rules (#7408)
      • Fix(GraphQL): Added error for case when multiple filter functions are used in filter. (#7368) (#7384)
    • Core Dgraph

      • Fix(sort): Fix multi-sort with nils (#7432) (#7444)
      • Fix(GC): Reduce DiscardRatio from 0.9 to 0.7 (#7412) (#7421)
    • Enterprise Features

      • Fix(export-backup): fix memory leak in backup export (#7452) (#7453)
  • v20.11.1 Changes

    January 27, 2021

    ๐Ÿ›  Fixed

    • GraphQL

      • Fix(subscriptions): fix subscription to use the kv with the max version (#7349) (#7355)
      • Fix(GraphQl): 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) (#7353)
      • Fix(GRAPHQL): update gqlparser release to v2.1.4 (#7347) (#7352)
      • Fix(GraphQL): Fix graphql flaky tests which were caused by receiving extra schema updates (#7329) (#7348)
      • 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) (#7306)
      • Fix(GRAPHQL): Don't generate get query on interface if it doesn't have field of type ID and also disallow get query on field of type @id in inerface. (#7158) (#7305)
      • 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) (#7302)
      • Fix(GraphQL): This PR allow to use __typename in mutation. (#7285) (#7303)
      • Fix(GraphQL): Fix auth-token propagation for HTTP endpoints resolved through GraphQL (GRAPHQL -946) (#7245) (#7251)
    • Core Dgraph

      • Fix(bulk): save schemaMap after map phase (#7188) (#7351)
      • Fix(Dgraph): check for deleteBelowTs in pIterator.valid (#7288) (#7350)
      • Fix(indexing): use encrypted tmpDBs for index building if encryption is enabled (#6828) (#7343)
      • Fix(bulk): Fix memory held by b+ tree in reduce phase (#7161) (#7333)
      • Feat(bulk): Add /jemalloc HTTP endpoint. (#7165) (#7331)
      • Fix(sort): Make sort consistent for indexed and without indexed predicates (#7241) (#7323)
      • Fix(dgraph): Add X-Dgraph-AuthToken to list of access control allowed headers (#7311)
      • Fix(ludicrous): Fix logical race in concurrent execution of mutations (#7269) (#7309)
      • Fix(ludicrous): Fix data race in executor (#7203) (#7307)
      • Opt(rollup): change the way rollups are done (#7253) (#7277)
      • Fix(indexing): use --tmp directory for building indexes (#7289) (#7300)
      • Fix(dgraph): Fix dgraph crash on windows (#7261) (#7299)
      • Fix(dgraph): making jemalloc to work with dgraph on macos (#7247) (#7282)
      • Fix(dgraph): Fixing multiple race conditions (#7278)
      • Fixing unique proposal key error (#7218) (#7281)
      • Fix(raft): Unmarshal zero snapshot into pb.ZeroSnaphot (#7244)
      • Fix(bulk): fixing bulk loader when encryption + mtls is enabled (#7154) (#7155)
    • Enterprise Features

      • Fix(restore): reset acl accounts once restore is done if necessary (#7202) (#7280)
      • Fix(restore): multiple restore requests should be rejected and proposals should not be submitted (#7118) (#7276)
      • Fix(restore): Handle MaxUid=0 appropriately (#7258) (#7265)
  • v20.11.0 Changes

    December 16, 2020

    ๐Ÿ”„ Changed

    • 0๏ธโƒฃ [BREAKING] Feat: Use snappy compression by default. (#6697)
    • [BREAKING] Fix(OOM): Don't unmarshal pb.Proposals until we need them (#7059)
    • [BREAKING] Feat(Dgraph): Use Badger with new WAL format. (#6643)
    • [BREAKING] Switch Raft WAL to use simple files (#6572)
    • Feat(tls): splitting tls_dir + making health point available on HTTP (#6821)

    โž• Added

    • GraphQL

      • Feat(GraphQL): Add Aggregation Queries at Child Level (#7022)
      • Feat(GraphQL): Add aggregate query at root level (#6985)
      • Feat(GraphQL): Mutations with Auth on interfaces should work correctly. (#6839)
      • Feat(GraphQL): This PR adds support for "application/dql" in content header. (#6849)
      • Feat(GraphQL): Add count queries Feature at non-root levels (#6834)
      • Fix(GraphQL): AND/OR filters now accept an array while also accepting objects. (#6801)
      • Feat(GraphQL): Allow Query with Auth rules on Interfaces (#6776)
      • Feat(GraphQL): This PR adds auth switch in GraphQL authorization header. (#6779)
      • Feat(GraphQL): Add count query Feature at root to GraphQL (#6786)
      • Feat(GraphQL): Add generate directive to graphql schema (#6760)
      • Feat(GraphQL): add support for all RSA and HMAC algorithms supported by github.com/dgrijalva/jwt-go/v4 (#6750)
      • Feat(GraphQL): allow duplicate XIDs if only XID value is repeated (#6762)
      • Feat(GraphQL): Add support for Polygon and Multi-Polygon in GraphQL (#6618)
      • Feat(GraphQL): add support for between filter in GraphQL (#6651)
      • Feat(GraphQL): Unions (#6722)
      • Feat(GraphQL): add support for IN filter (#6662)
      • Feat(GraphQL): Add support for Geo point type in Graphql. (#6481)
      • Feat(GraphQL): GraphQL now has lambda resolvers (#6574)
      • Feat(GraphQL): Support authorization with jwk_url (#6564)
      • Feat(GraphQL): GQL Logging MW for admin query/mutation (#6562)
      • Feat: add schema history to graphql (#6324)
      • Feat(GraphQL): Add GraphQL schema validation Endpoint. (#6250)
      • Feat(GraphQL): This PR adds parameterised cascade in graphql. (#6251)
      • Feat(GraphQL): add has filter support (#6258)
      • Feat(GraphQL): GraphQL now has Int64 as scalar type (#6200)
      • Feat(GraphQL): @custom HTTP body now supports hardcoded scalars (#6157)
      • Feat(GraphQL): Custom logic now supports DQL queries (#6115)
      • Feat(GraphQL): This PR allows to return errors from custom REST endpoint. (#6604)
    • Core Dgraph

      • Feat(dgraph): Add suport for RDF query. (#6038)
      • perf(xidmap): Use btree with hash of keys for xidmap (#6902)
      • Feat(Query): Enable persistent queries in dgraph (#6788)
      • Feat(Dgraph): Add ability to change size of caches through the admin interface. (#6644)
      • Feat(query): Support for between func with count at root (#6556)
      • Feat(querylang): language support for term tokenization (#6269)
      • Feat(ludicrous): Run mutations from the same predicate concurrently in ludicrous mode (#6060)
      • Feat(Dgraph): Add experimental cache for posting lists (#6245)
      • Feat(dgraph): making all internal communications with tls configured (#6692)
      • Feat(dgraph): enabling TLS config in http zero (#6691)
      • Feat(raftwal): Add support for encryption in raftwal (#6714)
      • Feat(Dgraph): add utility to export backup data. (#6550)
      • Feature: dgraph_txn_aborts metric for prometheus (#6171)
      • Feat(live): added upsert in live loader (#6057)
    • Enterprise Features

      • Feat(Dgraph): Online restores allows to restore a specific backup. (#6411)

    ๐Ÿ›  Fixed

    • GraphQL

      • Fix(GraphQL): Fix internal Aliases name generation (#7009)
      • Fix(GraphQL): Allows repetition of fields inside implementing type in interface and allow to inherit field of same name of type ID from multiple interfaces. (#7053)
      • Fix(GraphQL): Fix password query rewriting in release/v20.11 (#7012)
      • Fix(GraphQL): Fix bug with password query rewriting (#7011)
      • Fix(GraphQL): Use fragments on interfaces while querying other interface. (#6964)
      • Fix(GraphQL): Fix multiple alias in query (#6940)
      • Fix(GraphQL): Add support for using auth with secret directive (#6920)
      • Fix(GraphQL): Fix exclusion of filters in Query generation (#6917)
      • Fix(GraphQL): handle filters for enum properly (#6916)
      • Fix(GraphQL): Fixes issue of multiple responses in a subscription for an update. (#6868)
      • Fix(GraphQL): Fix panic caused when trying to delete a nested object which doesn't have id/xid (#6810)
      • Fix(GraphQL): Fix between filter bugs (#6822)
      • Fix(GraphQL): Fix panic error when we give null value in filter connectives. (#6707)
      • Fix(GraphQL): Remove extra fields when querying interfaces (#6596)
      • Fix(GraphQL): disallowing field names with as (#6579)
      • Fix(GraphQL): Fix object Linking with hasInverse (#6557)
      • Fix(GraphQL): Fix cascade with auth query when RBAC is false (#6444)
      • Fix(GraphQL): Generate correct schema when no orderable field in a type (#6456)
      • Fix(GraphQL): Fix restoreStatus query with query variables (#6414)
      • Fix(GraphQL): Fix for deletion on interfaces with no non Id field (#6387)
      • Fix(GraphQL): don't generate orderable enum value for list fields (#6392)
      • Fix(GraphQL): Fix introspection completion bug (#6385)
      • Fix(GraphQL): Extend int64 range to 64-bit numeric values and adds input coercing and validation for integers. (#6275)
      • Fix(GraphQL): Remove auth error from mutation. (#6329)
      • Fix(GraphQL): Fix query rewriting for auth delete when deleting types with inverse field. (#6350)
      • Fix(GraphQL): incorrect generatedSchema in updateGQLSchema (#6349)
      • Fix(GraphQL): Link xids properly if there are duplicate xids within the same add request. (#6265)
      • Fix(GraphQL): Fix internal error when doing GraphQL schema introspection after drop all (#6268)
      • Fix(GraphQL): Fixes unexpected fragment behaviour (#6228)
      • Fix(GraphQL): Fix order and offset in auth queries. (#6221)
      • Fix(GraphQL): Linking of xids for deep mutations (#6172)
      • Fix(GraphQL): Don't reserve certain queries/mutations/inputs when a type is remote. (#6055)
      • Fix(GraphQl): Allow case insensitive auth header for graphql subscriptions. (#6141)
      • Fix(GraphQl): Panic Fix when subscription expiry is not present in jwt. (#6129)
      • Fix(GraphQL): Fix bug in custom resolver, now body need not have all the fields. (#6054)
      • Fix(GraphQL): Disallow Subscription typename. (#6077)
      • Fix(GraphQL): Fixes wrong query parameter value for custom field URL (#6074)
      • Fix(GraphQL): Fixes panic in update mutation without set & remove (#6073)
      • Fix(GraphQL): Fix auth rewriting for nested queries when RBAC rule is true. (#6053)
      • Fix(GraphQL): Fix getType queries when id was used as a name for types other than ID (#6130)
    • Core Dgraph

      • Fix(ludicrous mode): Handle deletes correctly (#6773)
      • Fix(Zero): Fix how Zero snapshots and purge works (#7096)
      • Fix: Check for nil ServerCloser in shutdown handler (#7048)
      • Fix(health): Update health only after upserting schema and types (#7006)
      • Fix(worker): Flush the stream writer on error (DGRAPH-2499) (#6609)
      • Fix(export): don't return an error if there was no GraphQL schema (#6815)
      • Fix pointer misalignment (#6795)
      • Fix(metrics): Show memory metrics for zero (#6743)
      • feat(Query): Allow filters in expand(all) queries on predicates pointing to nodes (#6752)
      • Fix(Ludicrous): Upserts on list type in Dgraph (#6754)
      • Fix(worker): Avoid panic in handleUidPostings (#6607)
      • Fix(config): Set glog -v flag correctly from config files. (#6678)
      • Fix ErrIndexingInProgress if schema update fails (#6583)
      • feat(bulk): Allow encrypted input with unencrypted output in bulk. (#6541)
      • Fix(Dgraph): Subscribe to ACL updates instead of polling. (#6459)
      • Fix(Alpha): Immediately take a snapshot if we don't have one (#6458)
      • Fix(Dgraph): Fix bug when deleting and adding to a single UID predicate in the same transaction. (#6431)
      • Fix(raft): Only leader should check the quorum (#6323)
      • Fix(Dgraph): Parse Content-Type in headers correctly (#6370)
      • Fix(shutdown): Force exit if CTRL-C is caught before initialization (#6359)
      • Fix(Query) Fix Star_All delete query when used with ACL enabled (#6331)
      • Fix(Alpha): MASA: Make Alpha Shutdown Again (#6313)
      • Fix(Dgraph): Fix how visited nodes are detected in recurse queries. (#6272)
      • Fix(Dgraph): make backups cancel other tasks (#6152)
      • Fix(Dgraph): Don't store start_ts in postings. (#6206)
      • Fix(Dgraph): Perform rollups more aggresively. (#6143)
      • Fix(rollups): rollup a batch if more than 2 seconds elapsed since last batch (#6118)
    • Enterprise Features

      • Fix(enterprise): Set version correctly post marshalling during restore (#7018)
      • Add badger.compression to Dgraph restore (#6987)
      • Fix(backup/restore): Fixes backup and restore with DROP operations (GRAPHQL-735) (#6844)
      • Fix(ACL) : Disallow deleting of groot user and guardians group (#6580)
      • Fix: Online Restore honors credentials passed in (#6295)
      • Fix(ACL Query): Fixes queries which use variable at the top level (#6290)
      • Fix(Dgraph): race condition in EnterpriseEnabled() (#6793)
  • v20.11.0-rc3

    December 07, 2020
  • v20.11.0-rc2

    November 24, 2020