Skip to content

Releases: dgraph-io/dgraph

Dgraph v1.1.1

17 Dec 03:01
8994a57
Compare
Choose a tag to compare

Changed

  • Breaking changes for expand() queries
    • Remove expand(_forward_) and expand(_reverse_). (#4119)
    • Change expand(_all_) functionality to only include the predicates in the type. (#4171)
  • Add support for Go Modules. (#4146)
  • Simplify type definitions: type definitions no longer require the type (string, int, etc.) per field name. (#4017)
  • Adding log lines to help troubleshoot snapshot and rollup. (#3889)
  • Add --http flag to configure pprof endpoint for live loader. (#3846)
  • Use snappy compression for internal gRPC communication. (#3368)
  • Periodically run GC in all dgraph commands. (#4032, #4075)
  • Exit early if data files given to bulk loader are empty. (#4253)
  • Add support for first and offset directive in has function. (#3970)
  • Pad encData to 17 bytes before decoding. (#4066)
  • Remove usage of deprecated methods. (#4076)
  • Show line and column numbers for errors in HTTP API responses. (#4012)
  • Do not store non-pointer values in sync.Pool. (#4089)
  • Verify that all the fields in a type exist in the schema. (#4114)
  • Update badger to version v2.0.0. (#4200)
  • Introduce StreamDone in bulk loader. (#4297)

Enterprise features:

  • ACL: Disallow schema queries when an user has not logged in. (#4107)
  • Block delete if predicate permission is zero. Fixes #4265. (#4349)

Added

  • Support @cascade directive at subqueries. (#4006)
  • Support @normalize directive for subqueries. (#4042)
  • Support val() function inside upsert mutations (both RDF and JSON). (#3877, #3947)
  • Support GraphQL Variables for facet values in @facets filters. (#4061)
  • Support filtering by facets on values. (#4217)
  • Add ability to query expand(TypeName) only on certain types. (#3920)
  • Expose numUids metrics per query to estimate query cost. (#4033)
  • Upsert queries now return query results in the upsert response. (#4269, #4375)
  • Add support for multiple mutations blocks in upsert blocks. (#4210)
  • Add total time taken to process a query in result under "total_ns" field. (#4312)

Enterprise features:

  • Add encryption-at-rest. (#4351)

Removed

  • Breaking change: Remove @type directive from query language. To filter
    an edge by a type, use @filter(type(TypeName)) instead of @type(TypeName).
    (#4016)

Enterprise features:

  • Remove regexp ACL rules. (#4360)

Fixed

  • Avoid changing order if multiple versions of the same edge is found.
  • Consider reverse count index keys for conflict detection in transactions. Fixes #3893. (#3932)
  • Clear the unused variable tlsCfg. (#3937)
  • Do not require the last type declaration to have a new line. (#3926)
  • Verify type definitions do not have duplicate fields. Fixes #3924. (#3925)
  • Fix bug in bulk loader when store_xids is true. Fixes #3922. (#3950)
  • Call cancel function only if err is not nil. Fixes #3966. (#3990)
  • Change the mapper output directory from $TMP/shards to $TMP/map_output. Fixes #3959. (#3960)
  • Return error if keywords used as alias in groupby. (#3725)
  • Fix bug where language strings are not filtered when using custom tokenizer. Fixes #3991. (#3992)
  • Support named queries without query variables. Fixes #3994. (#4028)
  • Correctly set up client connection in x package. (#4036)
  • Fix data race in regular expression processing. Fixes #4030. (#4065)
  • Check for n.Raft() to be nil, Fixes #4053. (#4084)
  • Fix file and directory permissions for bulk loader. (#4088)
  • Ensure that clients can send OpenCensus spans over to the server. (#4144)
  • Change lexer to allow unicode escape sequences. Fixes #4157.(#4175)
  • Handle the count(uid) subgraph correctly. Fixes #4038. (#4122)
  • Don't traverse immutable layer while calling iterate if deleteBelowTs > 0. Fixes #4182. (#4204)
  • Bulk loader allocates reserved predicates in first reduce shard. Fixes #3968. (#4202)
  • Only allow one alias per predicate. (#4236)
  • Change member removal logic to remove members only once. (#4254)
  • Disallow uid as a predicate name. (#4219)
  • Drain apply channel when a snapshot is received. (#4273)
  • Added RegExp filter to func name. Fixes #3268. (#4230)
  • Acquire read lock instead of exclusive lock for langBaseCache. (#4279)
  • Added proper handling of int and float for math op. #4132. (#4257)
  • Don't delete group if there is no member in the group. (#4274)
  • Sort alphabets of languages for non indexed fields. Fixes #4005. (#4260)
  • Copy xid string to reduce memory usage in bulk loader. (#4287)
  • Adding more details for mutation error messages with scalar/uid type mismatch. (#4317)
  • Limit UIDs per variable in upsert. Fixes #4021. (#4268)
  • Return error instead of panic when geo data is corrupted. Fixes #3740. (#4318)
  • Use txn writer to write schema postings. (#4296)
  • Fix connection log message in dgraph alpha from "CONNECTED" to "CONNECTING" when establishing a connection to a peer. Fixes #4298. (#4303)
  • Fix segmentation fault in backup. (#4314)
  • Close store after stopping worker. (#4356)
  • Don't pre allocate mutation map. (#4343)
  • Cmd: fix config file from env variable issue in subcommands. Fixes #4311. (#4344)
  • Fix segmentation fault in Alpha. Fixes #4288. (#4394)
  • Fix handling of depth parameter for shortest path query for numpaths=1 case. Fixes #4169. (#4347)
  • Do not return dgo.ErrAborted when client calls txn.Discard(). (#4389)
  • Fix has pagination when predicate is queried with @lang. Fixes #4282. (#4331)
  • Make uid function work with value variables in upsert blocks. Fixes #4424. (#4425)

Enterprise features:

  • Fix bug when overriding credentials in backup request. Fixes #4044. (#4047)
  • Create restore directory when running "dgraph restore". Fixes #4315. (#4352)
  • Write group_id files to postings directories during restore. (#4365)

Dgraph v1.0.18

17 Dec 04:46
Compare
Choose a tag to compare

Fixed

  • Preserve the order of entries in a mutation if multiple versions of the same
    edge are found. This addresses the mutation re-ordering change (#2987) from v1.0.15.
  • Fixing the zero client in live loader to avoid using TLS. Fixes #3919. (#3936)
  • Remove query cache which is causing contention. (#4071).
  • Fix bug when querying with nested levels of expand(_all_). Fixes #3807. (#4143).
  • Vendor in Badger to fix a vlog bug "Unable to find log file". (#4212)
  • Change lexer to allow unicode escape sequences. Fixes #4157. (#4252)

Dgraph v1.1.1-rc2

11 Dec 23:02
Compare
Choose a tag to compare
Dgraph v1.1.1-rc2 Pre-release
Pre-release
Dgraph v1.1.1-rc2

Dgraph v1.1.1-rc1

07 Dec 02:36
b69c834
Compare
Choose a tag to compare
Dgraph v1.1.1-rc1 Pre-release
Pre-release
Dgraph v1.1.1-rc1

Dgraph v1.1.0

04 Sep 07:15
v1.1.0
ef7cdb2
Compare
Choose a tag to compare

Changed

  • Breaking changes

    • uid schema type: The uid schema type now means a one-to-one relation,
      not a one-to-many relation as in Dgraph v1.1. To specify a one-to-many
      relation in Dgraph v1.0, use the [uid] schema type. (#2895, #3173, #2921)

    • _predicate_ is removed from the query language.

    • expand(_all_) only works for nodes with attached type information via
      the type system. The type system is used to determine the predicates to expand
      out from a node. (#3262)

    • S * * deletion only works for nodes with attached type information via
      the type system. The type system is used to determine the predicates to
      delete from a node. For S * * deletions, only the predicates specified by
      the type are deleted.

    • HTTP API: The HTTP API has been updated to replace the custom HTTP headers
      with standard headers.

      • Change /commit endpoint to accept a list of preds for conflict detection. (#3020)
      • Remove custom HTTP Headers, cleanup API. (#3365)
        • The startTs path parameter is now a query parameter startTs for the
          /query, /mutate, and /commit endpoints.
        • Dgraph custom HTTP Headers X-Dgraph-CommitNow,
          X-Dgraph-MutationType, and X-Dgraph-Vars are now ignored.
      • Update HTTP API Content-Type headers. (#3550) (#3532)
        • Queries over HTTP must have the Content-Type header application/graphql+- or application/json.
        • Queries over HTTP with GraphQL Variables (e.g., query queryName($a: string) { ... }) must use the query format via application/json to pass query variables.
        • Mutations over HTTP must have the Content-Type header set to application/rdf for RDF format or application/json for JSON format.
        • Commits over HTTP must have the startTs query parameter along with the JSON map of conflict keys and predicates.
    • Datetime index: Use UTC Hour, Day, Month, Year for datetime
      comparison. This is a bug fix that may result in different query results for
      existing queries involving the datetime index. (#3251)

    • Blank node name generation for JSON mutations. For JSON mutations that
      do not explicitly set the "uid" field, the blank name format has changed
      to contain randomly generated identifiers. This fixes a bug where two JSON
      objects within a single mutation are assigned the same blank node.
      (#3795)

  • Improve hash index. (#2887)

  • Use a stream connection for internal connection health checking. (#2956)

  • Use defer statements to release locks. (#2962)

  • VerifyUid should wait for membership information. (#2974)

  • Switching to perfect use case of sync.Map and remove the locks. (#2976)

  • Tablet move and group removal. (#2880)

  • Delete tablets which don't belong after tablet move. (#3051)

  • Alphas inform Zero about tablets in its postings directory when Alpha starts. (3271f64)

  • Prevent alphas from asking zero to serve tablets during queries. (#3091)

  • Put data before extensions in JSON response. (#3194)

  • Always parse language tag. (#3243)

  • Populate the StartTs for the commit gRPC call so that clients can double check the startTs still matches. (#3228)

  • Replace MD5 with SHA-256 in dgraph cert ls. (#3254)

  • Fix use of deprecated function grpc.WithTimeout(). (#3253)

  • Introduce multi-part posting lists. (#3105)

  • Fix format of the keys to support startUid for multi-part posting lists. (#3310)

  • Access groupi.gid atomically. (#3402)

  • Move Raft checkpoint key to w directory. (#3444)

  • Remove list.SetForDeletion method, remnant of the global LRU cache. (#3481)

  • Whitelist by hostname. (#2953)

  • Use CIDR format for whitelists instead of the previous range format.

  • Introduce Badger's DropPrefix API into Dgraph to simplify how predicate deletions and drop all work internally. (#3060)

  • Replace integer compression in UID Pack with groupvarint algorithm. (#3527, #3650)

  • Rebuild reverse index before count reverse. (#3688)

  • Breaking change: Use one atomic variable to generate blank node ids for
    json objects. This changes the format of automatically generated blank node
    names in JSON mutations. (#3795)

  • Print commit SHA256 when invoking "make install". (#3786)

  • Print SHA-256 checksum of Dgraph binary in the version section logs. (#3828)

  • Change anonynmous telemetry endpoint. (#3872)

  • Add support for API required for multiple mutations within a single call. (#3839)

  • Make lru_mb optional. (#3898)

  • Allow glog flags to be set via config file. (#3062, #3077)

  • Logging

    • Suppress logging before flag.Parse from glog. (#2970)
    • Move glog of missing value warning to verbosity level 3. (#3092)
    • Change time threshold for Raft.Ready warning logs. (#3901)
    • Add log prefix to stream used to rebuild indices. (#3696)
    • Add additional logs to show progress of reindexing operation. (#3746)
  • Error messages

    • Output the line and column number in schema parsing error messages. (#2986)
    • Improve error of empty block queries. (#3015)
    • Update flag description and error messaging related to --query_edge_limit flag. (#2979)
    • Reports line-column numbers for lexer/parser errors. (#2914)
    • Replace fmt.Errorf with errors.Errorf (#3627)
    • Return GraphQL compliant "errors" field for HTTP requests. (#3728)
  • Optimizations

    • Don't read posting lists from disk when mutating indices. (#3695, #3713)
    • Avoid preallocating uid slice. It was slowing down unpackBlock.
    • Reduce memory consumption in bulk loader. (#3724)
    • Reduce memory consumptino by reusing lexer for parsing RDF. (#3762)
    • Use the stream framework to rebuild indices. (#3686)
    • Use Stream Writer for full snapshot transfer. (#3442)
    • Reuse postings and avoid fmt.Sprintf to reduce mem allocations (#3767)
    • Speed up JSON chunker. (#3825)
    • Various optimizations for Geo queries. (#3805)
  • Update various govendor dependencies

    • Add OpenCensus deps to vendor using govendor. (#2989)
    • Govendor in latest dgo. (#3078)
    • Vendor in the Jaeger and prometheus exporters from their own repos (#3322)
    • Vendor in Shopify/sarama to use its Kafka clients. (#3523)
    • Update dgo dependency in vendor. (#3412)
    • Update vendored dependencies. (#3357)
    • Bring in latest changes from badger and fix broken API calls. (#3502)
    • Vendor badger with the latest changes. (#3606)
    • Vendor in badger, dgo and regenerate protobufs. (#3747)
    • Vendor latest badger. (#3784)
    • Breaking change: Vendor in latest Badger with data-format changes. (#3906)

Dgraph Debug Tool

  • When looking up a key, print if it's a multi-part list and its splits. (#3311)
  • Diagnose Raft WAL via debug tool. (#3319)
  • Allow truncating Raft logs via debug tool. (#3345)
  • Allow modifying Raft snapshot and hardstate in debug tool. (#3364)

Dgraph Live Loader / Dgraph Bulk Loader

  • Add --format flag to Dgraph Live Loader and Dgraph Bulk Loader to specify input data format type. (#2991)
  • Update live loader flag help text. (#3278)
  • Improve reporting of aborts and retries during live load. (#3313)
  • Remove xidmap storage on disk from bulk loader.
  • Optimize XidtoUID map used by live and bulk loader.
  • Export data contains UID literals instead of blank nodes. Using Live Loader or Bulk Loader to load exported data will result in the same UIDs as the original database. (#3004, #3045) To preserve the previous behavior, set the --new_uids flag in the live or bulk loader. (1827787)
  • Use StreamWriter in bulk loader. (#3542) (#3635, #3649)
  • Add timestamps during bulk/live load. (#3287)
  • Use initial schema during bulk load. (#3333)
  • Adding the verbose flag to suppress excessive logging in live loader. (#3560)
  • Fix user meta of schema and type entries in bulk loader. (#3628)
  • Check that all data files passed to bulk loader exist. (#3681)
  • Handle non-list UIDs predicates in bulk loader. #3659
  • Use sync.Pool for MapEntries in bulk loader. (#3763, 802ec4c)

Dgraph Increment Tool

  • Add server-side and client-side latency numbers to increment tool. (#3422)
  • Add --retries flag to specify number of retry requests to set up a gRPC connection. (#3584)
  • Add TLS support to dgraph increment command. (#3257)

Added

  • Add bash and zsh shell completion. See dgraph completion bash --help or dgraph completion zsh --help for usage instructions. (#3084)

  • Add support for ECDSA in dgraph cert. (#3269)

  • Add support for JSON export via /admin/export?format=json. (#3309)

  • Add the SQL-to-Dgraph migration tool dgraph migrate. (#3295)

  • Add assign_timestamp_ns latency field to fix encoding_ns calculation. Fixes #3668. (#3692, #3711)

  • Adding draining mode to Alpha. (#3880)

  • Enterprise features

    • Support applying a license using /enterpriseLicense endpoint in Zero. (#3824)
    • Don't apply license state for oss builds. (#3847)

Query

  • Type system

    • Add type function to query types. (#2933)
    • Parser for type declaration. (#2950)
    • Add @type directive to enforce type constraints. (#3003)
    • Store and query types. (#3018)
    • Rename type predicate to dgraph.type (#3204)
    • Change definition of dgraph.type pred to [string]. (#3235)
    • Use type when available to resolve expand predicates. (#3214)
    • Include types in results of export operation. (#3493)
    • Support types in the bulk loader. (#3506)
  • Add the upsert block to send "query-mutate-commit" updates as a single
    call to Dgraph. This is especially helpful to do upserts with the @upsert
    schema directive. Addresses #3059. (#3412)

    • Add support for conditional mutation in Upsert Block. (#3612)
  • Allow querying all lang values of a predicate. (#2910)

  • Allow regexp() in @filter even for predicates without the trigram index. (#2913)

  • Add minweight and maxweight arguments to k-shortest path algorithm....

Read more

Dgraph v1.0.17

30 Aug 20:43
v1.0.17
42deb29
Compare
Choose a tag to compare

Changed

  • Increase max trace logs per span in Alpha. (#3886)
  • Include line and column numbers in lexer errors. Fixes #2900. (#3772)
  • Release binaries built with Go 1.12.7.

Fixed

  • Decrease rate of Raft heartbeat messages. (#3708, #3753)
  • Fix bug when exporting a predicate name to the schema. Fixes #3699. (#3701)
  • Return error instead of asserting in handleCompareFunction. (#3665)
  • Fix bug where aliases in a query incorrectly alias the response depending on alias order. Fixes #3814. (#3837)
  • Fix for panic in fillGroupedVars. Fixes #3768. (#3781)

Dgraph v1.1.0-rc3

28 Aug 03:11
v1.1.0-rc3
7cbdaec
Compare
Choose a tag to compare
Dgraph v1.1.0-rc3 Pre-release
Pre-release
Dgraph v1.1.0-rc3

Dgraph v1.1.0-rc2

23 Aug 23:11
v1.1.0-rc2
Compare
Choose a tag to compare
Dgraph v1.1.0-rc2 Pre-release
Pre-release
Dgraph v1.1.0-rc2

Dgraph v1.1.0-rc1

09 Aug 22:00
Compare
Choose a tag to compare
Dgraph v1.1.0-rc1 Pre-release
Pre-release
Dgraph v1.1.0-rc1

Dgraph v1.0.16

11 Jul 19:20
v1.0.16
0590ee9
Compare
Choose a tag to compare

Fixed

  • Fix panic with value variables in queries. Fixes #3470 and #3201. (#3554)
  • Remove unused reserved predicates in the schema. Fixes #3535. (#3557)
  • Vendor in Badger v1.6.0 for StreamWriter bug fixes. (#3631)
  • Vendor in prometheus/client_golang/prometheus v0.9.4. (#3653)