All Versions
Latest Version
Avg Release Cycle
124 days
Latest Release

Changelog History
Page 1

  • v4.3

    • CLJ-1403 ns-resolve might throw ClassNotFoundException but should return nil
    • CLJ-2407 Fix bugs in Clojure unit tests
    • CLJ-1079 In reader, don't ignore explicit :line :col meta
  • v4.2

    • 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
  • v4.1

    • CLJ-2297 PersistentHashMap leaks memory when keys are removed with without
    • 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
  • v3.5

    • 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
  • v3.4

    • symbol can now take a var or a keyword argument
    • CLJ-1209 Print ex-data in clojure.test error reports
    • CLJ-2163 Add test for var serialization
      • CLJ-2417 sort and sort-by should retain meta
  • v3.3

    • CLJ-1654 Reuse seq in some
    • CLJ-1366 The empty map literal is read as a different map each time
    • CLJ-2362 with-meta should return identity when new meta is identical to prior
  • v3.2

    • CLJ-2044 clojure.instant - add arglist meta for functions
    • CLJ-2257 proxy - fix typo
    • CLJ-2332 remove-tap - fix repetition
    • CLJ-2122 flatten - describe result as lazy
  • v3.1

    • 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
  • v2.34

    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"
  • v2.33

    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.