All Versions
Latest Version
Avg Release Cycle
35 days
Latest Release
375 days ago

Changelog History
Page 10

  • v1.0.2 Changes

    January 17, 2018

    πŸ›  Fixed

    • Always return predicates of list type in an array.
    • Edges without facet values are also returned when performing sort on facet.
    • Don't derive schema while deleting edges.
    • πŸ‘ Better error checking when accessing posting lists. Fixes bug where parts of queries are sometimes omitted when system is under heavy load.
    • πŸ›  Fix missing error check in mutation handling when using CommitNow (gave incorrect error).
    • πŸ›  Fix bug where eq didn't work correctly for the fulltext index.
    • πŸ›  Fix race because of which replicas flag was not respected.
    • πŸ›  Fix bug with key copy during predicate move.
    • πŸ›  Fix race in merging keys keys from btree and badger iterator.
    • πŸ›  Fix snapshot retrieval for new nodes by retrieving it before joining the cluster.
    • Write schema at timestamp 1 in bulk loader.
    • πŸ›  Fix unexpected meta fatal error.
    • πŸ›  Fix groupby result incase the child being grouped open has multiple parents.

    πŸ”„ Changed

    • βœ‚ Remove StartTs field from api.Operation.
    • πŸ–¨ Print error message in live loader if its not ErrAborted. Also, stop using membership state and instead use the address given by user.
    • Only send keys corresponding to data that was mutated.
  • v1.0.1 Changes

    December 20, 2017

    πŸ›  Fixed

    • πŸ“¦ Wait for background goroutines to finish in posting package on shutdown.
    • πŸ“œ Return error if we cant parse the uid given in json input for mutations.
    • Don't remove _predicate_ schema from disk during drop all.
    • Fix panic in expand(all)

    πŸ”„ Changed

    • πŸ‘‰ Make sure at least one field is set while doing Alter.
  • v1.0.0 Changes

    December 18, 2017

    βž• Added

    • πŸ‘ Allow doing Mutate and Alter Operations using dgraph UI.
    • Provide option to user to ignore conflicts on index keys.

    πŸ›  Fixed

    • πŸ“œ Language tag parsing in queries now accepts digits (in line with RDF parsing).
    • Ensure that GraphQL variables are declared before use.
    • Export now uses correct blank node syntax.
    • Membership stream doesn't get stuck if node steps down as leader.
    • πŸ›  Fix issue where sets were not being returned after doing a S P * deletion when part of same transaction.
    • Empty string values are stored as it is and no strings have special meaning now.
    • ⚑️ Correctly update order of facetMatrix when orderdesc/orderasc is applied.
    • πŸ‘ Allow live and bulk loaders to work with multiple zeros.
    • πŸ›  Fix sorting with for predicates with multiple language tags.
    • πŸ›  Fix alias edge cases in normalize directive.
    • πŸ‘ Allow reading new index key mutated as part of same transaction.
    • πŸ›  Fix bug in value log GC in badger.
    • SIGINT now forces a shutdown after 5 seconds when there are pending RPCs.

    πŸ”„ Changed

    • 🚚 DropAttr now also removes the schema for the attribute (previously it just removed the edges).
    • πŸ“‡ Tablet metadata is removed from zero after deletion of predicate.
    • LRU size is changed dynamically now based on max_memory_mb
    • ⬆️ Call RunValueLogGC for every GB increase in size of value logs. Upgrade vendored version of Badger.
    • Prohibit string to password schema change.
    • Make purging less aggressive.
    • Check if GraphQL Variable is defined before using.
  • v0.9.3 Changes

    December 01, 2017

    βž• Added

    • πŸ‘Œ Support for alias while asking for facets.
    • πŸ‘Œ Support for general configuration via environment variables and configuration files.
    • IgnoreIndexConflict field in Txn which allows ignoring conflicts on index keys.

    πŸ›  Fixed

    • expand(_all_) now correctly gives all language variants of a string.
    • Indexes now correctly maintained when deleting via S * * and S P *.
    • expand(_all_) now follows reverse edges.
    • Don't return uid for nodes without any children when requested through debug flag.
    • GraphQL variables for HTTP endpoints. Variable map can be set as a JSON object using the X-Dgraph-Vars header.
    • Abort if CommitNow flag is set and the mutation fails.
    • Live loader treats subjects/predicates that look like UIDs as existing nodes rather than new nodes.
    • πŸ›  Fix bug in @groupby queries where predicate was converted to lower case in queries.
    • πŸ›  Fix race condition in IsPeer. (#3432)

    πŸ”„ Changed

    • When showing a predicate with list type, only values without a language tag are shown. To get the values of the predicate that are tagged with a language, query the predicate with that language explicitly.
    • Validate the address advertised by dgraph nodes.
    • βͺ Store/Restore peer map on snapshot.
    • πŸ›  Fix rdfs per second reporting in live loader.
    • πŸ›  Fix bug in lru eviction.
    • Proto definitions are split into intern and api.
  • v0.9.2 Changes

    November 20, 2017

    βž• Added

    • πŸ‘Œ Support for removing dead node from quorum.
    • πŸ‘Œ Support for alias in groupby queries.
    • βž• Add DeleteEdges helper function for Go client.

    πŸ”„ Changed

    • Dgraph tries to abort long running/abandoned transactions.
    • πŸ›  Fix TLS flag parsing for Dgraph server and live loader.
    • ⬇️ Reduce dependencies for Go client.
    • depth and loop arguments should be inside @recurse().
    • Base36 encode keys that are part of TxnContext and are sent to the client.
    • Fix race condition in expand(all) queries.
    • πŸ›  Fix (--ui) flag not being parsed properly.
  • v0.9.1 Changes

    November 15, 2017

    πŸ”„ Changed

    • Transaction HTTP API has been modified slightly. start_ts is now a path parameter instead of a header. For /commit API, keys are passed in the body.
  • v0.9.0 Changes

    November 14, 2017

    πŸš€ The latest release has a lot of breaking changes but also brings powerful features like Transactions, support for CJK and custom tokenization.

    βž• Added

    • πŸ‘€ Dgraph adds support for distributed ACID transactions (a blog post is in works). Transactions can be done via the Go, Java or HTTP clients (JS client coming). See docs here.
    • πŸ‘Œ Support for Indexing via Custom tokenizers.
    • πŸ‘Œ Support for CJK languages in the full-text index.

    πŸ”„ Changed

    βš™ Running Dgraph

    • πŸ“„ We have consolidated all the server, zero, live/bulk-loader binaries into a single dgraph binary for convenience. Instructions for running Dgraph can be found in the docs.
    • For Dgraph server, Raft ids can be assigned automatically. A user can optionally still specify an ID, via --idx flag.
    • --peer flag which was used to specify another Zero instance’s IP address is being replaced by --zero flag to indicate the address corresponds to Dgraph zero.
    • πŸ‘· port, grpc_port and worker_port flags have been removed from Dgraph server and Zero. The ports are:

    • Internal Grpc: 7080

    • HTTP: 8080

    • External Grpc: 9080 (Dgraph server only)

    πŸ›  Users can set port_offset flag, to modify these fixed ports.


    • Queries, mutations and schema updates are done through separate endpoints. Queries can no longer have a mutation block.
    • Queries can be done via Query Grpc endpoint (it was called Run before) or the /query HTTP handler.
    • _uid_ is renamed to uid. So queries now need to request for uid. Example { bladerunner(func: eq([email protected], "Blade Runner")) { uid [email protected] } }
    • Facets response structure has been modified and is a lot flatter. Facet key is now predicate|facet_name. πŸ“„ Examples for Go client and HTTP.
    • 🚀 Query latency is now returned as numeric (ns) instead of string.
    • πŸ“„ Recurse is now a directive. So queries with recurse keyword at root won't work anymore.
    • πŸ“„ Syntax for count at root has changed. You need to ask for count(uid), instead of count().


    • πŸ“„ Mutations can only be done via Mutate Grpc endpoint or via /mutate HTTP handler.
    • Mutate Grpc endpoint can be used to set/ delete JSON, or set/ delete a list of N-Quads and set/ delete raw RDF strings.
    • Mutation blocks don't require the mutation keyword anymore. Here is an example of the new syntax. { set { <name> <is> <something> . <hometown> <is> "San Francisco" . } }
    • πŸ“„ Upsert directive and mutation variables go away. Both these functionalities can now easily be achieved via transactions.


    • <*> <pred> <*> operations, that is deleting a predicate can't be done via mutations anymore. They need to be done via Alter Grpc endpoint or via the /alter HTTP handler.
    • ⬇️ Drop all is now done via Alter.
    • ⚑️ Schema updates are now done via Alter Grpc endpoint or via /alter HTTP handler.

    Go client

    • Query Grpc endpoint returns response in JSON under Json field instead of protocol buffer. client.Unmarshal method also goes away from the Go client. Users can use json.Unmarshal for unmarshalling the response.
    • πŸ“¦ Response for predicate of type geo can be unmarshalled into a struct. Example here.
    • πŸ“¦ Node and Edge structs go away along with the SetValue... methods. We recommend using SetJson and DeleteJson fields to do mutations.
    • πŸ“„ Examples of how to use transactions using the client can be found at

    βœ‚ Removed

    • 🚧 Embedded dgraph goes away. We haven’t seen much usage of this feature. And it adds unnecessary maintenance overhead to the code.
    • Dgraph live no longer stores external ids. And hence the xid flag is gone.