UPDATE:
https://clojure.org/news/2024/05/23/clojure-1-12-alpha12
Alpha12 reverted the change that caused this issue. This discussion is therefore obsolete.
I just noticed that Clojure 1.12 alpha10 has changed the way old #inst dates are created. As far as I can tell, Java is trying to adjust old dates before the Gregorian calendar was introduced.
In Clojure 1.11.3
user-> #inst "1582-02-24"
#inst "1582-02-24T00:00:00.000-00:00"
In Clojure 1.12-alpha10
user=> #inst "1582-02-24"
#inst "1582-03-06T00:00:00.000-00:00"
I found this when I ran some generative tests on an old project that tested dates. I'm changing my tests to look only at this millennium, which is fine for my application. I don't think Clojure should necessarily do anything to mitigate this change. I just thought it was worth a mention in case someone else bumps into it.
Updated to Clojure 1.12 alpha 11:
user=> (use 'clojure.instant)
nil
user=> (read-instant-date "1582-02-24")
#inst "1582-03-06T00:00:00.000-00:00"
user=> (read-instant-calendar "1582-02-24")
#inst "1582-02-24T00:00:00.000+00:00"
user=> (read-instant-timestamp "1582-02-24")
#inst "1582-03-06T00:00:00.000000000-00:00"