Dgraph v0.8.0 Release
This release would not work on v0.7 data directly. Needs backup and reimport.
Features
Server
- Suppport
has
function. - Support for variables in mutation blocks.
- Support for k shortest paths.
- Support deletion of predicate.
- Support for
uid_in
function. - ignoreReflex directive to remove reflexive edges from results.
- Allow to use Dgraph as a library.
- Ability to monitor server metrics.
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.
- 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. - 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 usedateTime
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 anxid
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) andgrpc
(default 9080) now.