Defect

  • [CLJ-700] - contains? broken for transient collections
  • [CLJ-701] - Compiler loses 'loop's return type in some cases
  • [CLJ-738] - <= is incorrect when args include Double/NaN
  • [CLJ-787] - transient blows up when passed a vector created by subvec
  • [CLJ-823] - Piping seque into seque can deadlock
  • [CLJ-887] - Error when calling primitive functions with destructuring in the arg vector
  • [CLJ-971] - Jar within a jar throws a runtime error
  • [CLJ-1039] - Using 'def with metadata {:type :anything} throws ClassCastException during printing
  • [CLJ-1093] - Empty PersistentCollections get incorrectly evaluated as their generic clojure counterpart
  • [CLJ-1100] - Reader literals cannot contain periods
  • [CLJ-1152] - PermGen leak in multimethods and protocol fns when evaled
  • [CLJ-1157] - Classes generated by gen-class aren't loadable from remote codebase for mis-implementation of static-initializer
  • [CLJ-1161] - sources jar has bad versions.properties resource
  • [CLJ-1185] - `reductions should respect `reduced
  • [CLJ-1187] - Clojure loses quoted metadata on empty literals
  • [CLJ-1241] - NPE when AOTing overrided clojure.core functions
  • [CLJ-1250] - Reducer (and folder) instances hold onto the head of seqs
  • [CLJ-1261] - Invalid defrecord results in exception attributed to namespace that imports namespace with defrecord
  • [CLJ-1274] - Unable to set compiler options via system properties except for AOT compilation
  • [CLJ-1322] - doseq with several bindings causes "ClassFormatError: Invalid Method Code length"
  • [CLJ-1330] - Class name clash between top-level functions and defn'ed ones
  • [CLJ-1362] - Reduce broken on some primitive vectors
  • [CLJ-1388] - equality bug on records created with nested calls to map->record
  • [CLJ-1408] - Add transient keyword to cached toString() value in _str
  • [CLJ-1497] - sequence with transducers realizes n+2 elements
  • [CLJ-1511] - stack overflow when comparing sequence results
  • [CLJ-1524] - SeqIterator constructor change broke binary compatibility in 1.7.0-alpha2

Enhancement

  • [CLJ-803] - IAtom interface
  • [CLJ-1169] - Report line,column, and source in defmacro errors
  • [CLJ-1191] - Improve apropos to show some indication of namespace of symbols found
  • [CLJ-1192] - vec function is substantially slower than into function
  • [CLJ-1208] - Namespace is not loaded on defrecord class init
  • [CLJ-1224] - Records do not cache hash like normal maps
  • [CLJ-1251] - The update function: like update-in, for first level
  • [CLJ-1297] - try to catch using - instead of _ in filenames so the compiler can give a better error message for people who don't know that you need to use _ in file names
  • [CLJ-1325] - Report warnings if *unchecked-math* and boxing happens
  • [CLJ-1378] - Hints don't work with #() form of function
  • [CLJ-1384] - clojure.core/set should use transients
  • [CLJ-1400] - Error "Can't refer to qualified var that doesn't exist" should name the bad symbol
  • [CLJ-1415] - Keyword cache cleanup incurs linear scan of cache
  • [CLJ-1424] - Feature Expressions
  • [CLJ-1429] - Cache unknown multimethod value default dispatch
  • [CLJ-1430] - Improve performance of partial
  • [CLJ-1439] - Reduce keyword cache lookup cost
  • [CLJ-1494] - remove flatmap in favor of mapcat
  • [CLJ-1498] - Remove birth-thread check from transients
  • [CLJ-1499] - Replace seq-based iterators with direct iterators for all non-seq collections that use SeqIterator
  • [CLJ-1512] - Create volatile box for managing state
  • [CLJ-1515] - Reify the result of range
  • [CLJ-1517] - unrolled small collections
  • [CLJ-1518] - Patch for removing transient thread owner check broke rrb-vector

Edit/Copy Release Notes

The text area below allows the project release notes to be edited and copied to another document.