Fork me on GitHub

I just found a problem with Keyword deserialization (via Quartz) after upgrade to clojure 1.11.0: Does anyone else noticed the same issue? Am I doing something wrong here?

😱 1

@U04V15CAJ thanks for the link. I unfortunately expected something like this: > We do not guarantee binary serializability of Clojure objects between releases so the expectation here that these would be identical is incorrect. I'm still wondering why the Clojure classes, notably, don't provide custom serialVersionUID since it's a best practice and easy to update if things change in backward incompatible manner (which they didn't in this case).


I wonder why these problems appear after there have been several pre-releases. Not to blame you, but it would surely be a lot easier if these problems were caught and discussed pre-release. This change was already available September 2021.

Alex Miller (Clojure team)15:03:08

@jumar I am working on addressing that in 1.12, but this has been the case approx forever


Yeah, I could do a better job with this - I typically don't test pre-releases on our production app only on my hobby projects Even with this, it was an edge case only caught by a manual tester.


I see, thanks 🙂 A silly request: could it be mentioned in release notes that this can break - or is it just too much to repeat this every time?


@jumar There is a reason we've run prerelease builds in production dating back to 1.3 alpha builds in 2011 🙂

👍 1

I will be honest and say that I have always shied away from binary serialization formats, in favor of text or near-text (that doesn't depend on versioning), for exactly this sort of reason. I think I got burned back in the '90s with C++-based stuff and never trusted it again 😕

👍 1
Alex Miller (Clojure team)15:03:52

Having worked on Clojure since 1.6 and this is the first time I've seen people run into these serialization expectations. Although maybe it's because we rarely change types like Keyword


Yeah, it haven't changed for several years before that. At least, now I learned a lesson :)

Alex Miller (Clojure team)15:03:34

I am still in the process of assessment on this