- CLJ-2031 clojure.walk/postwalk does not preserve MapEntry type objects
- CLJ-2349 Report correct line number for uncaught ExceptionInfo in clojure.test
- CLJ-1764 partition-by runs infinite loop when one element of infinite partition is accessed
- CLJ-1832 unchecked-* functions have different behavior on primitive longs vs boxed Longs
PersistentHashMap leaks memory when keys are removed with
- CLJ-1587 PersistentArrayMap’s assoc doesn’t respect HASHTABLE_THRESHOLD
- CLJ-2050 Remove redundant key comparisons in HashCollisionNode
- CLJ-2089 Sorted colls with default comparator don’t check that first element is Comparable
- CLJ-2297 PersistentHashMap leaks memory when keys are removed with
- CLJ-908 Make default-data-reader-fn set!-able in REPL, similar to data-readers.
- CLJ-783 Make clojure.inspector/inspect-tree work on sets.
- CLJ-896 Make browse-url aware of xdg-open.
- CLJ-1160 Fix clojure.core.reducers/mapcat does not stop on reduced? values.
- CLJ-1121 -> and ->> have been rewritten to work with a broader set of macros.
- CLJ-1105 clojure.walk now supports records.
- CLJ-949 Removed all unnecessary cases of sneakyThrow.
- CLJ-1238 Allow EdnReader to read foo// (matches LispReader behavior).
- CLJ-1264 Remove uses of _ as a var in the Java code (causes warning in Java 8).
- CLJ-394 Add record? predicate.
- CLJ-1200 ArraySeq dead code cleanup, ArraySeq_short support added.
- CLJ-1331 Primitive vectors should implement hasheq and use new hash algorithm
- CLJ-1354 Make APersistentVector.SubVector public so other collections can access
- CLJ-1353 Make awt run headless during the build process
- CLJ-1191 Improve apropos to show some indication of namespace of symbols found
- CLJ-1378 Hints don't work with #() form of function
- CLJ-1498 Removes owner-thread check from transients - this check was preventing some valid usage of transients in core.async where a transient is created on one thread and then used again in another pooled thread (while still maintaining thread isolation).
- CLJ-803 Extracted IAtom interface implemented by Atom.
- CLJ-1315 Don't initialize classes when importing them
- CLJ-1330 Class name clash between top-level functions and defn'ed ones
- CLJ-1349 Update to latest test.generative and add dependency on test.check
- CLJ-1546 vec now works with things that only implement Iterable or IReduceInit
- CLJ-1618 set now works with things that only implement Iterable or IReduceInit
- CLJ-1633 PersistentList/creator doesn't handle ArraySeqs correctly
- CLJ-1589 Clean up unused paths in InternalReduce
- CLJ-1677 Add setLineNumber() to LineNumberingPushbackReader
- CLJ-1667 Change test to avoid using hard-coded socket port
- CLJ-1683 Change reduce tests to better catch reduce without init bugs
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.
clojure.lang.APersistentVector#hashCodeis 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
Fixed race condition in concurrent
IPersistentVector.length()- implement missing method
Fixed reloading a
defmultiremoves metadata on the var
- CLJ-1860 Make -0.0 hash consistent with 0.0
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
vector-of- fix NullPointerException if given unrecognized type
clojure.java.javadoc/javadoc- update doc urls
Numbers.divide(Object, Object)- add checks for NaN
doc- does not expand special cases properly (try, catch)
- CLJ-1242 equals doesn't throw on sorted collections
findbroken for transient collections
- CLJ-2170 fix improperly located docstrings
clojure.java.io/copy- doc char support
clojure.pprintdocstring - fix typo
clojure.instant/validateddocstring - fix typo
deftype- fix typo in docstring
take-while- fix docstrings
await- improve docstring re
*data-readers*- add .cljc files to docstrings
neg?- fix docstrings
last-index-of- clarify docstrings
drop-last- fix docstring
clojure.java.io/delete-file- improve docstring
- CLJ-1279 Report correct arity count for function arity errors inside macros
- CLJ-2386 Omit ex-info construction frames
- CLJ-2394 Warn in pst that stack trace for syntax error failed before execution
- CLJ-2396 Omit :in clauses when printing spec function errors if using default explain printer
- CLJ-1797 Mention cljc in error when require fails
- CLJ-1130 Improve error message when unable to match static method
Clojure APIs that pass work off to other threads (e.g. send, send-off, pmap, future) now convey the dynamic bindings of the calling thread:
(def ^:dynamic *num* 1) (binding [*num* 2] (future (println *num*))) ;; prints "2", not "1"
You can hint different arities separately:
(defn hinted (^String ) (^Integer [a]) (^java.util.List [a & args]))
🚀 This is preferred over hinting the function name. Hinting the function name is still allowed for backward compatibility, but will likely be deprecated in a future release.