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
- Suppport
hasfunction. - Support for variables in mutation blocks.
- Support for k shortest paths.
- [*] @michaelcompton @ashwin95r Could you please add an example in the docs?
- Support deletion of predicate.
- Support for
uid_infunction.
- [*] @michaelcompton please add docs.
- Add a directive to remove reflexive edges from results.
- [*] @michaelcompton docs please.
- 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
Unmarshalfunction which allows unmarshalling the protocol buffer response to a custom struct.- [*] @michaelcompton please add a link to docs or an example for this.
- 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.- [*] @michaelcompton could you please check if we can docs for this?
- Better language lists semantics. Issue #1010
- Add a
uidfunction 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
@countindexes 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.
- [*] @michaelcompton docs, please.
- Get rid of
lhmapand add an LRU Cache. We don’t do Stop the World anymore.
Changes (from v0.7.7)
-
datetype is no longer supported as a schema type in Dgraph. You should usedateTimeinstead. - Change of syntax for querying by id.
# Before
{
me(id: [0x1, 0x2]) {
...
}
}
# Now
{
me(func: uid(0x1, 0x2)) {
...
}
}
- Dgraph doesn’t fingerprint
xidsanymore. They are now treated similarly to other edges. So now if you had anxidand 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/backupis 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.
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.
Thank you for you great work.