Release notes v0.8

Here is the diff since v0.7.7

https://github.com/dgraph-io/dgraph/compare/release/v0.7.7...release/v0.8?expand=1

Features

Server

  • Add a directive to remove reflexive edges from results.
  • Allow to use Dgraph as a library.
  • Ability to monitor server metrics.
  • [*] @janardhan we need docs for how to use Promotheus and Grafana.

Client

  • Go client now supports an Unmarshal function which allows unmarshalling the protocol buffer response to a custom struct.
  • Add support for storing and retrieving raw bytes.
    • [*] @michaelcompton Could we add this to other examples too if not already.
  • Cleaner and more intuitive API for doing mutations.

Improvements

  • Move away from RocksDB and get rid of CGO. Start using badger.
  • Assign uids sequentially.
  • Allow retrieving other children with @groupby.
  • Allow aliases for math expressions.
  • Support filtering using multiple tokens with eq.
  • Better language lists semantics. Issue #1010
  • Add a uid function which can be used for filtering uids at any level.
  • [*] @michaelcompton please add this in functions section with an example of how to use it at levels other than root.
  • Allow adding @count indexes which allow for faster count comparison queries at the root.
  • Optimisations in how we store Posting List data structure. Store uids separately.
  • Allow specifying a max depth argument for the shortest path.
  • Support for [month, day, hour] indexes for datetime datatype.
  • Get rid of lhmap and add an LRU Cache. We don’t do Stop the World anymore.

Changes (from v0.7.7)

  • date type is no longer supported as a schema type in Dgraph. You should use dateTime instead.
  • Change of syntax for querying by id.
# Before
{
  me(id: [0x1, 0x2]) {
    ...
  }
}

# Now
{
  me(func: uid(0x1, 0x2)) {
    ...
  }
}
  • Dgraph doesn’t fingerprint xids anymore. They are now treated similarly to other edges. So now if you had an xid and you wanted to query by it you would use.
# You need to have an index on xid for calling `eq` function.
{
  me(func: eq(xid, "alice")) {
    ....
  } 
}
  • /admin/backup is now /admin/export. It outputs blank nodes which can now be used to load data into a fresh instance.
  • There is a separate port for http (default 8080) and grpc (default 9080) now.

Bugfixes

  • Remove concurrent filtering data race. Issue #1020
  • Fix panic issues related to tracing. Wait for all goroutines to finish before retuning error.
  • Fix crash caused by nil list. #1035

TODO(pawan) - Change links for docs to point to v0.8 and add all bugfixes.

2 Likes

:fireworks: Thank you for you great work.

3 Likes

This topic was automatically closed 30 days after the last reply. New replies are no longer allowed.