While upgrading to v20.11.1 some of my existing queries failed. Specifically, queries for entities that use the @id directive. Sorry if this has been already posted, I did search the forums thoroughly tho…
Schema
interface Person {
id: ID!
"The person's email"
email: String! @id
}
type Contact implements Person {
foo:String
}
Prior to v20.11.1, dgraph would create queryPerson with both id and email parameter options. But only id is available in v.20.11.1
This is the PR in v20.11.1 that changed the behavior you’re seeing with @id on interface types. The PR description also describes the issue and why this change was made:
On a side note, I was thinking perhaps this was intentional before I posted. So I searched for “@id directive” and “breaking” in the forums, with no joy. I didn’t think to check github commits (as bugs and other convos are now in these forums).
Is there a reliable place to get breaking changes every time a major release is tagged?
Right I see that now. I was searching for “Breaking” and since that wasn’t in the description I missed it. I see the Github issue had [Breaking] in the title, but it didn’t get copied over to the release notes.
It is a breaking change as mentioned in the PR and we should have done a better job at mentioning this in the release notes. Thanks for bringing this to our notice and we’ll make sure to take care of this in the future. In the meantime, you can still get your queries to work by changing them to a queryPerson(filter: email: { in: ["foo@bar.com"] }) type of query.