I have recently released [org.clojure/tools.nrepl "0.2.0-beta9"].  No 
incompatibilities are known between this release and prior betas.

Much of this release was focused on simplifying:

(a) The use of third-party middlewares; constructing an nREPL handler had 
become far too difficult from a user perspective, insofar as middlewares often 
must be "stacked" in a particular position relative to other middlewares

(b) nREPL client responsiveness; there was previously no way for clients to 
know what operations were supported by an nREPL endpoint, thus forcing a least 
common denominator approach (i.e. "do everything via `eval`")

These factors should make life much easier for both users and developers of 
nREPL middlewares.

Unrelated to this release, I'd like to point out that nREPL has previously 
grown the flexibility to work around the thread stack size limitations frequent 
on Android devices, so such usage should be reasonably straightforward at this 
point (see http://dev.clojure.org/jira/browse/NREPL-8).  Feedback on any 
further Android issues are most welcome.

Looking forward, very little stands between us and a final 0.2.0 release.  
Please file your issues with the appropriate haste. ;-)

Finally, here's a summary of the changes in 0.2.0-beta9:

* New standard `describe` op, returns a machine- and human-readable "directory" 
of all ops supported by an nREPL endpoint's middleware stack (a.k.a. nREPL 
feature detection)

* New standard `load-file` op for loading the contents of a source file with 
debugging information (source path, etc) (Particularly important for 
Clojure/ClojureScript REPL uniformity)

* Added support for automagically arranging middlewares into a properly-ordered 
stack based on their runtime dependencies 
(http://dev.clojure.org/jira/browse/NREPL-26)

* The response message to requests that contain an unknown op now include a 
"done" status in addition to the prior "error" and "unknown-op" statuses

* Encoding and decoding of bencode bytestrings to Strings via UTF-8 has been 
pushed up into the default bencode Transport implementation to support sending 
binary values in messages efficiently (watch 
http://dev.clojure.org/jira/browse/NREPL-28 for further developments there).

* `eval` messages specifying a nonexistent namespace via :ns will provoke a 
response with statuses of #{"error" "namespace-not-found" "done"} instead of 
silently failing (http://dev.clojure.org/jira/browse/NREPL-23)

Cheers,

- Chas

--
http://cemerick.com
[Clojure Programming from O'Reilly](http://www.clojurebook.com)

-- 
You received this message because you are subscribed to the Google
Groups "Clojure" group.
To post to this group, send email to clojure@googlegroups.com
Note that posts from new members are moderated - please be patient with your 
first post.
To unsubscribe from this group, send email to
clojure+unsubscr...@googlegroups.com
For more options, visit this group at
http://groups.google.com/group/clojure?hl=en

Reply via email to