ClojureCLR v3.3 Release Notes

    • 🖨 clojure.core/Throwable->map formerly returned StackTraceElements which were later handled by the printer. Now the StackTraceElements are converted to data such that the return value is pure Clojure data, as intended.
    • CLJ-2091 clojure.lang.APersistentVector#hashCode is not thread-safe
    • CLJ-2077 Clojure can't be loaded from the boot classpath under java 9
    • CLJ-2048 Specify type to avoid ClassCastException when stack trace is elided by JVM
    • CLJ-1914 Fixed race condition in concurrent range realization
    • CLJ-1887 IPersistentVector.length() - implement missing method
    • CLJ-1870 Fixed reloading a defmulti removes metadata on the var
    • CLJ-1860 Make -0.0 hash consistent with 0.0
    • CLJ-1841 bean - iterator was broken
    • CLJ-1793 Clear 'this' before calls in tail position
    • CLJ-1790 Fixed error extending protocols to Java arrays
    • CLJ-1714 using a class in a type hint shouldn’t load the class
    • CLJ-1705 vector-of - fix NullPointerException if given unrecognized type
    • CLJ-1398 clojure.java.javadoc/javadoc - update doc urls
    • CLJ-1371 Numbers.divide(Object, Object) - add checks for NaN
    • CLJ-1358 doc - does not expand special cases properly (try, catch)
    • CLJ-1242 equals doesn't throw on sorted collections
    • CLJ-700 contains?, get, and find broken for transient collections