Fork me on GitHub
#announcements
<
2021-12-12
>
bozhidar10:12:51

nREPL 0.9 is out and it finally brings the long-requested Unix file socket support (and a ton of other small improvements)! Check out the release notes (https://github.com/nrepl/nrepl/releases/tag/0.9.0) and the release blog post (https://metaredux.com/posts/2021/12/12/nrepl-0-9.html) for more details. Enjoy! P.S. CIDER 1.2 is right around the corner. 🙂

👍 7
🎉 13
😍 1
borkdude10:12:59

What I am missing in the blog post is why you would use unix domain sockets for nREPL

borkdude10:12:57

The issue number in the changelogs associated with this point to a different issue about keyword completions

👍 1
pez11:12:56

If we use 0.9 from Calva, will we need to make some other changes or will it use regular TCP sockets?

bozhidar15:12:08

No one needs to change anything regarding Unix sockets, that's just another option for the people who need it. I mentioned briefly in the blog post that Unix sockets are a bit faster and definitely more secure for local development, which was the reason why we've added support for them. You don't want someone to connect to an unsecured REPL server running on your computer (if you accidentally bound it to a public address).

bozhidar15:12:37

@U0ETXRFEW By default nothing changes, you have to start the server in a different manner for it to use Unix sockets (and clients need to be updated to support them). E.g. instead of a host/port you should just ask for the socket file and setup the connection accordingly.

borkdude15:12:34

@U051BLM8F How do unix sockets make the "port file thing" simpler, as alluded to in the issue/PR?

borkdude15:12:01

There is no port file since the unix domain socket file is the file?

borkdude15:12:16

And how does that interplay with jack-in stuff?

bozhidar15:12:07

Jack-in knows the filename directly, which makes it trivial to connect to the right socket. With the random port we had to wait until it's known, so that's a small win.

bozhidar15:12:01

Right now jack-in doesn't support Unix sockets, only cider-connect does. (but the necessary changes for jack-in are pretty small)

borkdude15:12:55

how does cider-connect know what to connect to?

bozhidar15:12:53

You can connect CIDER by using the local-unix-domain-socket special hostname with cider-connect: M-x cider-connect RET local-unix-domain-socket RET nrepl.sock RET

bozhidar15:12:06

Basically right now you have to pass the socket explicitly.

bozhidar15:12:51

Later versions might pick up on .sock extension and just offer to connect the socket in the current folder or something along those lines.

bozhidar15:12:16

Btw, thanks for all the feedback! I've fixed the broken link and I added more info about the benefits of using Unix sockets.

borkdude12:12:28

SCI, a Clojure interpreter suitable for DSLs and scripting, v0.2.8 Full changelogs: https://github.com/babashka/sci/blob/master/CHANGELOG.md#v028

org.babashka/sci {:mvn/version "0.2.8"}

👍 6
🎉 5
Alex Miller (Clojure team)15:12:21

https://github.com/clojure/tools.build v0.7.0 16eddbf is now available • write-pom - TBUILD-23 - specify explicit output path with :target • Update to tools.namespace 1.2.0 • Update to tools.deps.alpha 0.12.1090

👍 2
🎉 2
Eric Scott19:12:13

Just released version 0.1.4 of https://github.com/ont-app/vocabulary. - contains utilities to map between namespaced Clojure keywords and RDF-style URIs. - has support for #lstr "language [email protected]" reader macro. Thanks to Mathieu Lirzin (https://github.com/mthl) for his contribution making the dependencies of this project much lighter-weight.

🚀 2