Anna,
this is an excellent question. The answer is:
"that" is okay
"which" is also okay (note: no comma before "which" in this case.)
the clause "that/which has ever been published" is required to identify the book. Therefore, it is not preceded by a comma. This topic is covered here.
In short:
that = which (without a comma)
that does not equal ,which