Has the search syntax for `not` changed in 5.x?

I had the following expression to look for non-read entries which had no file attached:

readstatus!=skimmed and readstatus!=read and not file and entrytype != book

however, it looks like that using this expression I would still find books.
Adding a parenthesis resovles the issue:

(readstatus!=skimmed and readstatus!=read and not file) and entrytype != book

Is the not now not being bound to the next element but for the next expression, hence merges the two last expressions together?
Because if I change the order to

readstatus!=skimmed and readstatus!=read and entrytype != book and not file 

it also gives the desired result.
So, does not X and Y evaluates now as not (X and Y) and not like (not X) and Y as it was before?