I've recently changes the signatures of our has() methods. Unfortunately I
didn't realize that this change was breaking for some users (those who
arrays as arguments). The old method signatures were all vararg-based:
- hasId(Object... ids)
- hasLabel(Object... labels)
...and I mainly changed that to prevent method calls like hasId() with no
args. Since none of our test cases uses arrays, I didn't notice that this
change broke the following queries:
- __.hasId( as Object)
- __.hasLabel(["person"] as Object)
Single entry arrays, that are used as the only arguments, are now treated
as P.eq(arr), but were treated as P.eq(arr) before. I created a PR 
with a fix and also added a test that ensures that the new method
signatures behave like the old vararg method signatures (except that they
don't allow you to use no args).
Sorry for any inconvenience.