Defect

  • [CLJ-667] - Allow loops fully nested in catch/finally
  • [CLJ-757] - Empty transient maps/sets return wrong value for .contains
  • [CLJ-768] - cl-format bug in ~f formatting
  • [CLJ-820] - int coercion doesn't work in clojure 1.3
  • [CLJ-844] - NPE calling keyword on map from bean
  • [CLJ-867] - Records of different types with the same data have the same hashcodes, even though they are not considered to be equal
  • [CLJ-870] - clojure.string/replace behaves unexpectedly when \ or $ are part of the result string
  • [CLJ-881] - Problem with the "cl-format" function from the clojure.pprint
  • [CLJ-893] - crafted `vec' call allows created vector to be mutated
  • [CLJ-902] - doc macro broken for namespaces
  • [CLJ-916] - into loses metadata
  • [CLJ-917] - clojure.core/definterface is not included in the API docs
  • [CLJ-923] - Reading ratios prefixed by + is not working
  • [CLJ-934] - disj! throws exception when attempting to remove multiple items in one call
  • [CLJ-940] - Passing a non-sequence to refer :only results in uninformative exception
  • [CLJ-943] - When load-lib fails, a namespace is still created
  • [CLJ-945] - clojure.string/capitalize can give wrong result if first char is supplementary
  • [CLJ-952] - bigdec does not properly convert a clojure.lang.BigInt
  • [CLJ-962] - Vectors returned by subvec allow access at negative indices
  • [CLJ-963] - Support pretty printing namespace declarations under code-dispatch
  • [CLJ-964] - test-clojure/rt.clj has undeclared dependency on clojure.set
  • [CLJ-967] - java.io/do-copy can still garble multibyte characters on IBM JDK 1.5 and 1.6
  • [CLJ-977] - (int \a) returns a value, (long \a) throws an exception
  • [CLJ-981] - clojure.set/rename-keys deletes keys when there's a collision
  • [CLJ-987] - pprint doesn't flush the underlying stream
  • [CLJ-1011] - clojure.data/diff should cope with null and false values in maps
  • [CLJ-1012] - partial function should also accept 1 arg (just f)
  • [CLJ-1018] - range's behavior is inconsistent
  • [CLJ-1019] - ns-resolve doc has a typo
  • [CLJ-1032] - seque leaks threads from the send-off pool
  • [CLJ-1034] - "Conflicting data-reader mapping" triggered when the same data_readers.clj is on the classpath twice
  • [CLJ-1041] - reduce-kv on sorted maps should stop on seeing a Reduced value
  • [CLJ-1052] - assoc should throw exception if missing val for last key
  • [CLJ-1061] - when-first double evaluation
  • [CLJ-1062] - CLJ-940 breaks compilation of namespaces that don't have any public functions
  • [CLJ-1065] - Allow duplicate set elements and map keys for all set and map constructors
  • [CLJ-1066] - No dependency on jsr166y
  • [CLJ-1070] - PersistentQueue's hash function does not match its equality
  • [CLJ-1071] - ExceptionInfo does no abstraction
  • [CLJ-1084] - (object-array [1]) is ~3x slower than (object-array (rseq [1]))
  • [CLJ-1085] - clojure.main/repl unconditionally refers REPL utilities into *ns*
  • [CLJ-1092] - New function re-quote-replacement has incorrect :added metadata
  • [CLJ-1106] - Broken equality for sets
  • [CLJ-1111] - Loops returning primtives are boxed even in return position
  • [CLJ-1116] - More REPL-friendly 'ns macro
  • [CLJ-1140] - {:as x} destructuring with an empty list raises exception
  • [CLJ-1154] - Compile.java closes out preventing java from reporting exceptions
  • [CLJ-1161] - sources jar has bad versions.properties resource

Enhancement

  • [CLJ-103] - GC Issue 99: Incorrect error with if-let
  • [CLJ-157] - Need better error report when omitting parameter list from (fn) or (defn)
  • [CLJ-745] - gen-class should allow exposes-methods to expose protected final methods
  • [CLJ-763] - Do not use hash-map constructor in destructuring to avoid multiple key check.
  • [CLJ-788] - Add source and line members and getters to CompilerException
  • [CLJ-828] - clojure.core/bases returns a cons when passed a class and a Java array when passed an interface
  • [CLJ-892] - sort changes its argument, if a Java array
  • [CLJ-897] - deftype error message is misleading not useful
  • [CLJ-909] - Make LineNumberingPushbackReader's buffer size configurable
  • [CLJ-910] - [Patch] Allow for type-hinting the method receiver in memfn
  • [CLJ-927] - default tagged literal reader
  • [CLJ-932] - contains? should throw exception on non-keyed collections
  • [CLJ-936] - Improve docs about argument destructuring at clojure.org
  • [CLJ-948] - It would be very useful to be able to annotate the constructors of classes created with gen-class
  • [CLJ-960] - Capture :column metadata (needed for ClojureScript source maps)
  • [CLJ-966] - Add support for marker protocols
  • [CLJ-985] - make jsr166 available at build time
  • [CLJ-988] - the locking in MultiFn.java (synchronized methods) can cause lots of contention in multithreaded programs
  • [CLJ-990] - Implement clojure.core.reducers/mapcat and some initial reducers tests
  • [CLJ-1000] - Performance drop in PersistentHashMap.valAt(...) in v.1.4 -- Util.hasheq(...) ?
  • [CLJ-1009] - make print-table org mode compatible
  • [CLJ-1024] - Varargs protococol impls can be defined but not called
  • [CLJ-1048] - add test.generative to Clojure's tests
  • [CLJ-1098] - Extend CollFold and IKVReduce to nil
  • [CLJ-1135] - Add previous changelog items back to changes.md
  • [CLJ-1150] - Make some PersistentVector, SubVector internals public
  • [CLJ-1270] - Print control for Java collection types

Task

  • [CLJ-730] - Create test suite for functional fns (e.g. juxt, comp, partial, etc.)
  • [CLJ-779] - Document clojure.org differences between 1.2 and 1.3
  • [CLJ-1091] - update changes.md to include 1.5 changes

Edit/Copy Release Notes

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