diff --git a/CHANGELOG.md b/CHANGELOG.md index ccf20e2c3ad..7a7ef24b400 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,17 +1,71 @@ -# Changelog -All notable changes to this project will be documented in this file. - -The format is based on [Keep a Changelog](http://keepachangelog.com/en/1.0.0/) -and this project will adhere to [Semantic Versioning](http://semver.org/spec/v2.0.0.html) starting v1.0.0. - -## Unreleased +## [1.2.6] - Unreleased +[1.2.6]: https://github.com/dgraph-io/dgraph/compare/v1.2.5...v1.2.6 ### Changed -### Added +- Update Badger. ([#5940][], [#5990][]) + - Fix assert in background compression and encryption. (dgraph-io/badger#1366) + - Avoid panic in filltables() (dgraph-io/badger#1365) + - Force KeepL0InMemory to be true when InMemory is true (dgraph-io/badger#1375) + - Tests: Use t.Parallel in TestIteratePrefix tests (dgraph-io/badger#1377) + - Remove second initialization of writech in Open (dgraph-io/badger#1382) + - Increase default valueThreshold from 32B to 1KB (dgraph-io/badger#1346) + - Pre allocate cache key for the block cache and the bloom filter cache (dgraph-io/badger#1371) + - Rework DB.DropPrefix (dgraph-io/badger#1381) + - Update head while replaying value log (dgraph-io/badger#1372) + - Update ristretto to commit f66de99 (dgraph-io/badger#1391) + - Enable cross-compiled 32bit tests on TravisCI (dgraph-io/badger#1392) + - Avoid panic on multiple closer.Signal calls (dgraph-io/badger#1401) + - Add a contribution guide (dgraph-io/badger#1379) + - Add assert to check integer overflow for table size (dgraph-io/badger#1402) + - Return error if the vlog writes exceeds more that 4GB. (dgraph-io/badger#1400) + - Revert "add assert to check integer overflow for table size (dgraph-io/badger#1402)" (dgraph-io/badger#1406) + - Revert "fix: Fix race condition in block.incRef (dgraph-io/badger#1337)" (dgraph-io/badger#1407) + - Revert "Buffer pool for decompression (dgraph-io/badger#1308)" (dgraph-io/badger#1408) + - Revert "Compress/Encrypt Blocks in the background (dgraph-io/badger#1227)" (dgraph-io/badger#1409) + - Add missing changelog for v2.0.3 (dgraph-io/badger#1410) + - Changelog for v20.07.0 (dgraph-io/badger#1411) ### Fixed +- Alpha: Enable bloom filter caching. ([#5554][]) +- K shortest paths queries fix. ([#5596][]) +- Add check on rebalance interval. ([#5595][]) +- Change error message in case of successful license application. ([#5593][]) +- Remove noisy logs in tablet move. ([#5592][]) +- Avoid assigning duplicate RAFT IDs to new nodes. Fixes [#5436][]. ([#5603][]) +- Update badger: Set KeepL0InMemory to false (badger default), and Set DetectConflicts to false. ([#5615][]) +- Use /tmp dir to store temporary index. Fixes [#4600][]. ([#5730][]) +- Split posting lists recursively. ([#4867][]) +- Set version when rollup is called with no splits. ([#4945][]) +- Return error instead of panic (readPostingList). Fixes [#5749][]. ([#5908][]) +- ServeTask: Return error if server is not ready. ([#6022][]) +- Enterprise features + - Backup: Change groupId from int to uint32. ([#5613][]) + - Backup: During backup, collapse split posting lists into a single list. ([#4682][]) + - Backup: Use a sync.Pool to allocate KVs during backup. ([#5579][]) + +[#5730]: https://github.com/dgraph-io/dgraph/issues/5730 +[#4600]: https://github.com/dgraph-io/dgraph/issues/4600 +[#4682]: https://github.com/dgraph-io/dgraph/issues/4682 +[#4867]: https://github.com/dgraph-io/dgraph/issues/4867 +[#5579]: https://github.com/dgraph-io/dgraph/issues/5579 +[#4945]: https://github.com/dgraph-io/dgraph/issues/4945 +[#5908]: https://github.com/dgraph-io/dgraph/issues/5908 +[#5749]: https://github.com/dgraph-io/dgraph/issues/5749 +[#6022]: https://github.com/dgraph-io/dgraph/issues/6022 +[#5554]: https://github.com/dgraph-io/dgraph/issues/5554 +[#5596]: https://github.com/dgraph-io/dgraph/issues/5596 +[#5595]: https://github.com/dgraph-io/dgraph/issues/5595 +[#5593]: https://github.com/dgraph-io/dgraph/issues/5593 +[#5592]: https://github.com/dgraph-io/dgraph/issues/5592 +[#5436]: https://github.com/dgraph-io/dgraph/issues/5436 +[#5603]: https://github.com/dgraph-io/dgraph/issues/5603 +[#5615]: https://github.com/dgraph-io/dgraph/issues/5615 +[#5613]: https://github.com/dgraph-io/dgraph/issues/5613 +[#5940]: https://github.com/dgraph-io/dgraph/issues/5940 +[#5990]: https://github.com/dgraph-io/dgraph/issues/5990 + ## [20.03.3] - 2020-06-02 [20.03.3]: https://github.com/dgraph-io/dgraph/compare/v20.03.1...v20.03.3 @@ -237,7 +291,6 @@ This release was removed [#5238]: https://github.com/dgraph-io/dgraph/issues/5238 [#5272]: https://github.com/dgraph-io/dgraph/issues/5272 ->>>>>>> 9f7efac4a... Update CHANGELOG for 1.2.4 and 20.03.2. (#5447) ## [1.2.3] - 2020-04-24 [1.2.3]: https://github.com/dgraph-io/dgraph/compare/v1.2.2...v1.2.3 @@ -305,62 +358,8 @@ This release was removed [#4772]: https://github.com/dgraph-io/dgraph/issues/4772 [#5094]: https://github.com/dgraph-io/dgraph/issues/5094 -## [1.2.2] - 2020-03-19 -[1.2.2]: https://github.com/dgraph-io/dgraph/compare/v1.2.1...v1.2.2 - -### Changed - -- Wrap errors thrown in posting/list.go for easier debugging. ([#4880][]) -- Print keys using hex encoding in error messages in list.go. ([#4891][]) - -### Fixed - -- Do not include empty nodes in the export output. ([#4896][]) -- Fix error when lexing language list. ([#4784][]) -- Properly initialize posting package in debug tool. ([#4893][]) -- Handle special characters in schema and type queries. Fixes [#4933][]. ([#4937][]) -- Overwrite values for uid predicates. Fixes [#4879][]. ([#4883][]) -- Disable @* language queries when the predicate does not support langs. ([#4881][]) -- Fix bug in exporting types with reverse predicates. Fixes [#4856][]. ([#4857][]) -- Do not skip over split keys. (Trying to skip over the split keys sometimes skips over keys belonging to a different split key. This is a fix just for this release as the actual fix requires changes to the data format.) ([#4951][]) -- Fix point-in-time Prometheus metrics. Fixes [#4532][]. ([#4948][]) -- Split lists in the bulk loader. ([#4967][]) -- Allow remote MySQL server with dgraph migrate tool. Fixes [#4707][]. ([#4860][]) -- Enterprise features - - ACL: Allow uid access. ([#4922][]) - - Backups: Assign maxLeaseId during restore. Fixes [#4816][]. ([#4877][]) - - Backups: Verify host when default and custom credentials are used. Fixes [#4855][]. ([#4858][]) - - Backups: Split lists when restoring from backup. ([#4912][]) - - -[#4967]: https://github.com/dgraph-io/dgraph/issues/4967 -[#4951]: https://github.com/dgraph-io/dgraph/issues/4951 -[#4532]: https://github.com/dgraph-io/dgraph/issues/4532 -[#4948]: https://github.com/dgraph-io/dgraph/issues/4948 -[#4893]: https://github.com/dgraph-io/dgraph/issues/4893 -[#4784]: https://github.com/dgraph-io/dgraph/issues/4784 -[#4896]: https://github.com/dgraph-io/dgraph/issues/4896 -[#4856]: https://github.com/dgraph-io/dgraph/issues/4856 -[#4857]: https://github.com/dgraph-io/dgraph/issues/4857 -[#4881]: https://github.com/dgraph-io/dgraph/issues/4881 -[#4912]: https://github.com/dgraph-io/dgraph/issues/4912 -[#4855]: https://github.com/dgraph-io/dgraph/issues/4855 -[#4858]: https://github.com/dgraph-io/dgraph/issues/4858 -[#4879]: https://github.com/dgraph-io/dgraph/issues/4879 -[#4883]: https://github.com/dgraph-io/dgraph/issues/4883 -[#4933]: https://github.com/dgraph-io/dgraph/issues/4933 -[#4937]: https://github.com/dgraph-io/dgraph/issues/4937 -[#4891]: https://github.com/dgraph-io/dgraph/issues/4891 -[#4880]: https://github.com/dgraph-io/dgraph/issues/4880 -[#4816]: https://github.com/dgraph-io/dgraph/issues/4816 -[#4877]: https://github.com/dgraph-io/dgraph/issues/4877 -[#4922]: https://github.com/dgraph-io/dgraph/issues/4922 -[#4707]: https://github.com/dgraph-io/dgraph/issues/4707 -[#4860]: https://github.com/dgraph-io/dgraph/issues/4860 - - -## [2.0.0-beta] - 2020-02-20 -[2.0.0-beta]: https://github.com/dgraph-io/dgraph/compare/v1.2.0...release/v2.0 +## [20.03.0] - 2020-03-30 +[20.03.0]: https://github.com/dgraph-io/dgraph/compare/v1.2.2...v20.03.0 ** Note: This release requires you to export and re-import data prior to upgrading or rolling back. The underlying data format has been changed. ** ### Changed @@ -368,9 +367,18 @@ This release was removed - Report GraphQL stats from alpha. ([#4607][]) - During backup, collapse split posting lists into a single list. ([#4682][]) - Optimize computing reverse reindexing. ([#4755][]) +- Add partition key based iterator to the bulk loader. ([#4841][]) +- Invert s2 loop instead of rebuilding. ([#4782][]) +- Update Badger Version. ([#4935][]) +- Incremental Rollup and Tablet Size Calculation. ([#4972][]) +- Track internal operations and cancel when needed. ([#4916][]) +- Set version when rollup is called with no splits. ([#4945][]) +- Use a different stream writer id for split keys. ([#4875][]) +- Split posting lists recursively. ([#4867][]) +- Add support for tinyint in migrate tool. Fixes [#4674][]. ([#4842][]) - Enterprise features - **Breaking changes** - - [BREAKING] Underlying schema for ACL has changed. ([#4725][]) + - [BREAKING] Underlying schema for ACL has changed. Use the upgrade tool to migrate to the new data format. ([#4725][]) ### Added @@ -381,9 +389,13 @@ This release was removed - GraphQL Admin API: Support export, draining, shutdown and setting lrumb operations. ([#4739][]) - GraphQL Admin API: duplicate `/health` in GraphQL `/admin` ([#4768][]) - GraphQL Admin API: Add `/admin/schema` endpoint ([#4777][]) +- Perform indexing in background. ([#4819][]) +- Basic Sentry Integration - Capture manual panics with Sentry exception and runtime panics with a wrapper on panic. ([#4756][]) +- Ludicrous Mode. ([#4872][]) - Enterprise features - - ACL: Allow users to query data for their groups ([#4774][]) + - ACL: Allow users to query data for their groups, username, and permissions. ([#4774][]) - ACL: Support ACL operations using the admin GraphQL API. ([#4760][]) + - ACL: Add tool to upgrade ACLs. ([#5016][]) ### Fixed @@ -393,9 +405,42 @@ This release was removed - Do not include empty nodes in the export output. Fixes [#3610][]. ([#4773][]) - Fix Nquad value conversion in live loader. Fixes [#4468][]. ([#4793][]) - Use `/tmp` dir to store temporary index. Fixes [#4600][]. ([#4766][]) +- Properly initialize posting package in debug tool. ([#4893][]) +- Fix bug, aggregate value var works with blank node in upsert. Fixes [#4712][]. ([#4767][]) +- Fix count with facets filter. Fixes [#4659][]. ([#4751][]) +- Change split keys to have a different prefix. Fixes [#4905][]. ([#4908][]) +- Various optimizations for facets filter queries. ([#4923][]) +- Throw errors returned by retrieveValuesAndFacets. Fixes [#4958][]. ([#4970][]) +- Add "runInBackground" option to Alter to run indexing in background. When set to `true`, then the Alter call returns immediately. When set to `false`, the call blocks until indexing is complete. This is set to `false` by default. ([#4981][]) +- Set correct posting list type while creating it in the live loader. Fixes [#4889][]. ([#5012][]) - **Breaking changes** - [BREAKING] Language sorting on Indexed data. Fixes [#4005][]. ([#4316][]) +[#5016]: https://github.com/dgraph-io/dgraph/issues/5016 +[#5012]: https://github.com/dgraph-io/dgraph/issues/5012 +[#4889]: https://github.com/dgraph-io/dgraph/issues/4889 +[#4958]: https://github.com/dgraph-io/dgraph/issues/4958 +[#4905]: https://github.com/dgraph-io/dgraph/issues/4905 +[#4659]: https://github.com/dgraph-io/dgraph/issues/4659 +[#4712]: https://github.com/dgraph-io/dgraph/issues/4712 +[#4893]: https://github.com/dgraph-io/dgraph/issues/4893 +[#4767]: https://github.com/dgraph-io/dgraph/issues/4767 +[#4751]: https://github.com/dgraph-io/dgraph/issues/4751 +[#4908]: https://github.com/dgraph-io/dgraph/issues/4908 +[#4923]: https://github.com/dgraph-io/dgraph/issues/4923 +[#4970]: https://github.com/dgraph-io/dgraph/issues/4970 +[#4981]: https://github.com/dgraph-io/dgraph/issues/4981 +[#4841]: https://github.com/dgraph-io/dgraph/issues/4841 +[#4782]: https://github.com/dgraph-io/dgraph/issues/4782 +[#4935]: https://github.com/dgraph-io/dgraph/issues/4935 +[#4972]: https://github.com/dgraph-io/dgraph/issues/4972 +[#4916]: https://github.com/dgraph-io/dgraph/issues/4916 +[#4945]: https://github.com/dgraph-io/dgraph/issues/4945 +[#4875]: https://github.com/dgraph-io/dgraph/issues/4875 +[#4867]: https://github.com/dgraph-io/dgraph/issues/4867 +[#4872]: https://github.com/dgraph-io/dgraph/issues/4872 +[#4756]: https://github.com/dgraph-io/dgraph/issues/4756 +[#4819]: https://github.com/dgraph-io/dgraph/issues/4819 [#4755]: https://github.com/dgraph-io/dgraph/issues/4755 [#4600]: https://github.com/dgraph-io/dgraph/issues/4600 [#4766]: https://github.com/dgraph-io/dgraph/issues/4766 @@ -422,6 +467,60 @@ This release was removed [#4005]: https://github.com/dgraph-io/dgraph/issues/4005 [#4316]: https://github.com/dgraph-io/dgraph/issues/4316 +## [1.2.2] - 2020-03-19 +[1.2.2]: https://github.com/dgraph-io/dgraph/compare/v1.2.1...v1.2.2 + +### Changed + +- Wrap errors thrown in posting/list.go for easier debugging. ([#4880][]) +- Print keys using hex encoding in error messages in list.go. ([#4891][]) + +### Fixed + +- Do not include empty nodes in the export output. ([#4896][]) +- Fix error when lexing language list. ([#4784][]) +- Properly initialize posting package in debug tool. ([#4893][]) +- Handle special characters in schema and type queries. Fixes [#4933][]. ([#4937][]) +- Overwrite values for uid predicates. Fixes [#4879][]. ([#4883][]) +- Disable @* language queries when the predicate does not support langs. ([#4881][]) +- Fix bug in exporting types with reverse predicates. Fixes [#4856][]. ([#4857][]) +- Do not skip over split keys. (Trying to skip over the split keys sometimes skips over keys belonging to a different split key. This is a fix just for this release as the actual fix requires changes to the data format.) ([#4951][]) +- Fix point-in-time Prometheus metrics. Fixes [#4532][]. ([#4948][]) +- Split lists in the bulk loader. ([#4967][]) +- Allow remote MySQL server with dgraph migrate tool. Fixes [#4707][]. ([#4860][]) +- Enterprise features + - ACL: Allow uid access. ([#4922][]) + - Backups: Assign maxLeaseId during restore. Fixes [#4816][]. ([#4877][]) + - Backups: Verify host when default and custom credentials are used. Fixes [#4855][]. ([#4858][]) + - Backups: Split lists when restoring from backup. ([#4912][]) + + +[#4967]: https://github.com/dgraph-io/dgraph/issues/4967 +[#4951]: https://github.com/dgraph-io/dgraph/issues/4951 +[#4532]: https://github.com/dgraph-io/dgraph/issues/4532 +[#4948]: https://github.com/dgraph-io/dgraph/issues/4948 +[#4893]: https://github.com/dgraph-io/dgraph/issues/4893 +[#4784]: https://github.com/dgraph-io/dgraph/issues/4784 +[#4896]: https://github.com/dgraph-io/dgraph/issues/4896 +[#4856]: https://github.com/dgraph-io/dgraph/issues/4856 +[#4857]: https://github.com/dgraph-io/dgraph/issues/4857 +[#4881]: https://github.com/dgraph-io/dgraph/issues/4881 +[#4912]: https://github.com/dgraph-io/dgraph/issues/4912 +[#4855]: https://github.com/dgraph-io/dgraph/issues/4855 +[#4858]: https://github.com/dgraph-io/dgraph/issues/4858 +[#4879]: https://github.com/dgraph-io/dgraph/issues/4879 +[#4883]: https://github.com/dgraph-io/dgraph/issues/4883 +[#4933]: https://github.com/dgraph-io/dgraph/issues/4933 +[#4937]: https://github.com/dgraph-io/dgraph/issues/4937 +[#4891]: https://github.com/dgraph-io/dgraph/issues/4891 +[#4880]: https://github.com/dgraph-io/dgraph/issues/4880 +[#4816]: https://github.com/dgraph-io/dgraph/issues/4816 +[#4877]: https://github.com/dgraph-io/dgraph/issues/4877 +[#4922]: https://github.com/dgraph-io/dgraph/issues/4922 +[#4707]: https://github.com/dgraph-io/dgraph/issues/4707 +[#4860]: https://github.com/dgraph-io/dgraph/issues/4860 + + ## [1.2.1] - 2020-02-06 [1.2.1]: https://github.com/dgraph-io/dgraph/compare/v1.2.0...v1.2.1 @@ -1660,7 +1759,7 @@ upgrading or rolling back. The underlying data format has been changed.** - This version switches Badger Options to reasonable settings for p and w directories. This removes the need to expose `--badger.options` option and removes the `none` option from `--badger.vlog`. ([#2605](https://github.com/dgraph-io/dgraph/issues/2605)) - Add support for ignoring parse errors in bulk loader with the option `--ignore_error`. ([#2599](https://github.com/dgraph-io/dgraph/issues/2599)) -- Introduction of new command `dgraph cert` to simplify initial TLS setup. See [TLS configuration docs](https://docs.dgraph.io/deploy/#tls-configuration) for more info. +- Introduction of new command `dgraph cert` to simplify initial TLS setup. See [TLS configuration docs](https://dgraph.io/docs/deploy/#tls-configuration) for more info. - Add `expand(_forward_)` and `expand(_reverse_)` to GraphQL+- query language. If `_forward_` is passed as an argument to `expand()`, all predicates at that level (minus any reverse predicates) are retrieved. If `_reverse_` is passed as an argument to `expand()`, only the reverse predicates are retrieved. @@ -2009,15 +2108,15 @@ For `/commit` API, keys are passed in the body. ### 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](https://docs.dgraph.io/clients/). -* Support for Indexing via [Custom tokenizers](https://docs.dgraph.io/query-language/#indexing-with-custom-tokenizers). +* 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](https://dgraph.io/docs/clients/). +* Support for Indexing via [Custom tokenizers](https://dgraph.io/docs/query-language/#indexing-with-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](https://docs.dgraph.io/get-started/). +* 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](https://dgraph.io/docs/get-started/). * 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: @@ -2042,14 +2141,14 @@ Users can set `port_offset` flag, to modify these fixed ports. } ``` * Facets response structure has been modified and is a lot flatter. Facet key is now `predicate|facet_name`. -Examples for [Go client](https://godoc.org/github.com/dgraph-io/dgraph/client#example-Txn-Mutate-Facets) and [HTTP](https://docs.dgraph.io/query-language/#facets-edge-attributes). +Examples for [Go client](https://godoc.org/github.com/dgraph-io/dgraph/client#example-Txn-Mutate-Facets) and [HTTP](https://dgraph.io/docs/query-language/#facets-edge-attributes). * Query latency is now returned as numeric (ns) instead of string. -* [`Recurse`](https://docs.dgraph.io/query-language/#recurse-query) is now a directive. So queries with `recurse` keyword at root won't work anymore. -* Syntax for [`count` at root](https://docs.dgraph.io/query-language/#count) has changed. You need to ask for `count(uid)`, instead of `count()`. +* [`Recurse`](https://dgraph.io/docs/query-language/#recurse-query) is now a directive. So queries with `recurse` keyword at root won't work anymore. +* Syntax for [`count` at root](https://dgraph.io/docs/query-language/#count) has changed. You need to ask for `count(uid)`, instead of `count()`. #### Mutations -* Mutations can only be done via `Mutate` Grpc endpoint or via [`/mutate` HTTP handler](https://docs.dgraph.io/clients/#transactions). +* Mutations can only be done via `Mutate` Grpc endpoint or via [`/mutate` HTTP handler](https://dgraph.io/docs/clients/#transactions). * `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. ``` @@ -2060,7 +2159,7 @@ Examples for [Go client](https://godoc.org/github.com/dgraph-io/dgraph/client#ex } } ``` -* [`Upsert`](https://docs.dgraph.io/v0.8.3/query-language/#upsert) directive and [mutation variables](https://docs.dgraph.io/v0.8.3/query-language/#variables-in-mutations) go away. Both these functionalities can now easily be achieved via transactions. +* [`Upsert`](https://dgraph.io/docs/v0.8.3/query-language/#upsert) directive and [mutation variables](https://dgraph.io/docs/v0.8.3/query-language/#variables-in-mutations) go away. Both these functionalities can now easily be achieved via transactions. #### Schema @@ -2073,7 +2172,7 @@ Examples for [Go client](https://godoc.org/github.com/dgraph-io/dgraph/client#ex * `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](https://godoc.org/github.com/dgraph-io/dgraph/client#example-package--SetObject). * `Node` and `Edge` structs go away along with the `SetValue...` methods. We recommend using [`SetJson`](https://godoc.org/github.com/dgraph-io/dgraph/client#example-package--SetObject) and `DeleteJson` fields to do mutations. -* Examples of how to use transactions using the client can be found at https://docs.dgraph.io/clients/#go. +* Examples of how to use transactions using the client can be found at https://dgraph.io/docs/clients/#go. ### Removed - Embedded dgraph goes away. We haven’t seen much usage of this feature. And it adds unnecessary maintenance overhead to the code.