Special thanks to Chas Emerick, Graham Fawcett, Stephen C. Gilardi, Chris Houser and Stuart Sierra for their contributions.
- fixed resolveIns to resolve alias
- added lazy parallel pmap
- fixed nth with not-found arg - when negative index returns not-found
- fixed withMeta ctor in LazyCons
- all ns-* fns now take ns designators: either a namespace or a symbol naming one. Patch from Stephen C. Gilardi
- fixed zip/up
- modified load to detect and prevent loading a resource while another load of the same resource is pending in the same thread, patch from Stephen C. Gilardi
- renamed clojure/load to clojure/load-reader
- added clojure/load-string
- renamed clojure/load-resources to clojure/load
- fixed up doc strings accordingly, patch from Stephen C. Gilardi
- fixed ns/-in-ns resolution in lookupVar
- added :refer-clojure support to ns, special resolution of ns and in-ns, moved to ns for inspector/parallel/set/xml/zip
- added many predicates
- removed static init dependency on Compiler
- fixed recursive LazyCons by using sentinel other than this
- Fixed genclass method handling to max of 18 parameters
- switched to using baseLoader() in loadResourceScript()
- changed :requires/:uses/:imports in ns macro to :require/:use/:import
- added get-in, assoc-in, update-in
- Added require/use/load-resources, contributed by Stephen C. Gilardi. enhanced ns macro to call these
- added defonce
- added imports, refers, format, printf, ns
- improved UnsupportedOperationException message, patch from Chouser
- removed implicit seq for Iterators and Enumerations, added iterator-seq and enumeration-seq explicit constructors
- made baseLoader public
- filter void from isPrimitive test
- allow bridge methods if reprobing on same sig yields same method
- added with-in-str
- use recur in concat$cat
- seq optimizations
- changed Delay to be non-fn, added delay? and force, added LazyCons and lazy-seq
- made UTF-8 default encoding on iostreams *in*, *out*, and in loadFile and loadResource, from cemerick
- added support for loading scripts from classpath, from cemerick
- made vectors Comparable
- added unary support for =, not=, distinct?
- added multi-arg support for = and not=.
- Added distinct?
- made loadResourceScript throw if resource not found, added maybeLoadLoadResourceScript, failIfNotFound flag, based on patch from cemerick.
- Added overload of RT.var that takes an initial value.
- made taking the value of a macro an error
- made empty lists implement java.util.Collection
- strip path from simple file name in load call from loadResourceScript
- accept duplicate sigs from multiple interfaces - will map to same method, just jike Java
- propagate exception type to tag in catch clauses
- made (class nil) -> nil, instead of NPE
- added TransactionalHashMap
- return null on no bestMatch to allow default logic to run
- changed pom.xml to match latest dir structure
- unmunge _'s to -'s in throwArity message
- re-removed checkcast before invokeInterface
- wrapped non-return try blocks in fn
- added makeNew virtual ctor, from Chas Emerick
- added back checkcast before invokevirtual calls
- switched to using / in loadResourceScript call in generated static init
- moved clj files into src/clj/
- updated docs and example, from Chouser
- added exceptions and errors to default java.lang imports
- new namespace and class rules for genclass, patch from Chouser
- added prefer-method
- fixed argument handling context in eval new
- removed nil returns from derive/underive base cases
- fixed :exposes to use getDeclaredField
- fixed class bug in isa?
- added isa-based multimethods, a la carte hierarchies
- added type hints to pr-strs and class? predicate
- changed Class printing to print only name
- made syntax-quoted symbols resolve aliases
- added parallel alias
- fixed doc typo
- improved validator docs
- added validators for vars/refs/agents - an optional second arg for agent and ref, get/set-validator, also shutdown-agents
- fixed out-of-bounds in toArray(Object [])
- fixed truncation in double/long/float_array
- made vectors implement java.util.List and sets implement java.util.Set
- removed root-level .cljs
- first cut at namespace aliases, via Graham Fawcett
- new clj code hierarchy, old still in place
- fixed loop for multiple scripts
- added load-file to parallel.clj comment
- peel off InvocationTargetException in reflective calls, when possible
- added try around body of analyze
- allow /s in the namespace part of symbols/keywords
- put name in error reports for qualified name use
- wrapped all non-atomic evals in fn
- added doc for return value of alter and commute
- changed cpl url
- made Ref.fn() use get rather than currentVal
- added ACC_SUPER flag
- removed support for finalize, as providing stub causes it to exist, with great performance cost
- allow exceptions to flow out of Script.main
- made conj accept multiple items
- fixed loop with destructuring and inter-binding dependencies
- fixed treatment of catch clauses (saving ret in local) for nested handler
- made (drop 0 s) return seq of coll, and drop-while similarly
- added delay
- added seque
- added drop-last
- removed "no box on statement" optimization so pops align
- added *flush-on-newline*
- fixed reduce w/init
- fixed doc on pmin
- fixed no-arg (sorted-set)
- added *file*, type hint on *agent*
- fixed sort-by regression
- fixed reduce retaining seq
- added getQueueCount
- got rid of deep equals on vals
- added compare, based sorts on compare
- added \return support for Java \r
- added notFound optional arg for keywords as fns and maps as fns, and enabled Symbols as fns
- added nth support for Map.Entry so can destructure seqs of Java maps
- nth takes an optional not-found value, and destructuring uses nth with a nil not found value for sequential destructuring, nth without not-found value throws exception in all index-out-of-bounds cases including seqs
- fixed natural join with empty set input
- fixed fn init local alignment when closed over longs/doubles
- added support for extra static methods in genclass
- made set 'gets' return set member, not arg
- added spaces in genclass for html doc gen
- added static member access classname/member, work for fields with no parens Math/PI, or static method invocations (Math/sqrt 42)
- filter line numbers from syntax-quoted form metadata
- added Java style hex and octal integer literals, as well as arbitrary radix using nRnnnn...
- made proxy tolerant of ns-qualified method names
- added proxy-super
- added *use-context-classloader*, which can be bound to true to cause the thread's context classloader to be the parent of the dynamic classloader used during load
- cons, lazy-cons call seq on 2nd arg