Fix TNS-54: update java.classpath dependency to fix issues on Java 9+
java.classpath version 0.3.0
tools.reader version 1.3.2
Ignore :require-macros and :use-macros when parsing namespace
dependencies. This is a change in behavior from previous 0.3
alphas and is a more robust fix for TNS-38. tools.namespace
currently only models one dependency graph at a time, so it treats
Clojure and ClojureScript as separate worlds and will not attempt
to analyze dependency relationships which cross that boundary.
Fix TNS-40: do not catch exceptions in c.t.n.file. Instead,
catch and ignore only syntax exceptions (identified by ex-data
from tools.reader). This is a change in behavior from
0.3.0-alpha2 and 0.2. It should have minimal impact on users but
make some errors (such as an incompatible version of tools.reader)
more obvious.
Known bugs not yet fixed: TNS-42 When the same namespace is
defined in both .clj and .cljc files, dependencies may be read
from either, when it should prefer the .clj file.
Fix TNS-38: ignore circular dependency from .cljs file to
.clj file in :require-macros
tools.reader version 0.10.0
java.classpath version 0.2.3
Add clojure.tools.namespace.parse/name-from-ns-decl
Partial ClojureScript Support TNS-35
Platform-neutral namespaces were converted to conditional-read
(.cljc) files: c.t.n.dependency, c.t.n.track, and
c.t.n.parse. These namespaces can be used in ClojureScript
programs.
Added support for finding, parsing, and analyzing
ClojureScript source files (.cljs and .cljc) in
c.t.n.file, c.t.n.parse, c.t.n.dir, and c.t.n.find with
optional "platform" arguments. These namespaces still only
run on the Clojure(JVM) platform.
Reloading and interactive features remain Clojure(JVM) only for now: c.t.n.move, c.t.n.reload, and c.t.n.repl
Uses tools.reader for platform-independent parsing and conditional-reader support.
Minimum Clojure version is 1.7.0
Breaking change: c.t.n.parse/read-ns-decl no longer returns
nil on syntax errors. Instead, exceptions are allowed to
propagate up from tools.reader. This change only affects code
which calls read-ns-decl directly. c.t.n.file and c.t.n.find
will catch and ignore reader exeptions when trying to read
namespace declarations.
Enhancement TNS-36: Use java.classpath for better JVM classpath resolution
Possible breaking change: parse/read-ns-decl does not capture reader errors
Some definitions deprecated; see source code or Var metadata for details.
Adds dependency on java.classpath
Fix TNS-20: Undefined 'unload' order after namespaces are first added to an new, empty tracker.
Improvement TNS-21: Support ns clauses which use vectors
instead of lists for clauses, contrary to docs.
Improvement TNS-32: Support ns clauses which use symbols as
clause heads instead of keywords, contrary to docs.
Improvement TNS-31: Specific error message when :after symbol
passed to refresh cannot be resolved.
Fix TNS-26: namespace alias recovery after failed reload did not work due to local binding shadowing global Var
clojure.tools.namespace.parse/read-ns-decl asserts that its
argument is a PushbackReader, instead of silently returning nil
Fix TNS-22: broken clojure.string/replace with Windows path
separator
New clojure.tools.namespace.repl/clear empties the state of the
REPL dependency tracker. This can help repair the dependency
tracker after a failed load or a circular dependency error.
Enhancement TNS-19: deps-from-ns-decl should return an empty
set instead of nil. This may be a breaking change for some but
is consistent with the original docstring.
Enhancement TNS-18: Compute transitive dependencies in linear time.
Enhancement TNS-17: The ns form doesn't need to be the first
top-level form in a file.
Fix TNS-16: Don't depend on specific hash ordering in tests. Exposed by new hash functions in Clojure 1.6.0.
Fix TNS-15: Handle spaces in classpath directories (old
clojure.tools.namespace)
Fix TNS-12: Duplicate definition of jar-file?
Fix TNS-10: Forbid circular dependency when a namespace depends on itself
Fix TNS-8: In move-ns, do not modify files whose contents does
not change
New: Add :after option to refresh
New: Add clojure.tools.namespace.move
Fix TNS-4, reflection warnings
Fix: Restore deprecated 0.1.x APIs in clojure.tools.namespace
Fix TNS-3, actually use refresh-dirs
Not recommended for use: this release introduced breaking API changes (renaming core namespaces and functions) without backwards-compatibility. Applications with dependencies on both the 0.2.x and 0.1.x APIs cannot use this version.
New dependency tracking & reloading features
Eliminate dependency on java.classpath
Can you improve this documentation? These fine people already did:
Alex Miller, Stuart Sierra & FogusEdit on GitHub
cljdoc builds & hosts documentation for Clojure/Script libraries
| Ctrl+k | Jump to recent docs |
| ← | Move to previous article |
| → | Move to next article |
| Ctrl+/ | Jump to the search field |