Releases: binaryage/dirac
0.8.7
A maintenance release
Rolling DevTools
Merged commits b3e9857...5bb1331 from official DevTools.
Should work best with Chrome ~57.0.2954.2.
Links to matching Chromium snapshots: Mac | Linux_x64 | Win | Win_x64.
Notable commits
NONE
All new work: v0.8.6...v0.8.7
0.8.6
A maintenance release
Rolling DevTools
Merged commits 2eee2aa...b3e9857 from official DevTools.
Should work best with Chrome ~57.0.2947.2.
Links to matching Chromium snapshots: Mac | Linux_x64 | Win | Win_x64.
Notable commits
7e5ce14 nrepl: fix default for port range
All new work: v0.8.5...v0.8.6
0.8.5
A maintenance release
This release should fix occasional problem with REPL stuck with "Dirac Agent connected. Bootstrapping ClojureScript REPL..." (http-kit/http-kit#318).
Mostly worked on testing infrastructure again:
- Tests should be less flaky.
- Tests transcripts are streamed back to test runner.
- Tests can newly run inside a Docker container.
Rolling DevTools
Merged commits e9aa9df...2eee2aa from official DevTools.
Should work best with Chrome ~57.0.2941.2.
Links to matching Chromium snapshots: Mac | Linux_x64 | Win | Win_x64.
Notable commits
79d8176 shared: fix that nasty options model race
e0a5482 shared: fix options model broken in 79d8176
2e6f85b lib: delay initial :ready response in web-socket client
a58111d automation: introduce simple streaming of transcripts to runner script
All new work: v0.8.4...v0.8.5
0.8.4
A hot-fix release
This is a hot-fix for changes in chrome debugger protocol API.
Sorry, a lot of churn recently because of https://www.youtube.com/watch?v=HF1luRD4Qmk. The improvements in DevTools are great, but let's hope that protocol changes will be less frequent in the coming months.
I have introduced a new automated branch called health-check which runs tests from last released Dirac version against latest Chromium several times a day. This way travis CI will notify me when breakage occurs and I should go to pull latest changes from official DevTools and cut a new Dirac release.
Rolling DevTools
Merged commits dc60498...e9aa9df from official DevTools.
Should work best with Chrome ~56.0.2918.2.
Links to matching Chromium snapshots: Mac | Linux_x64 | Win | Win_x64.
Notable commits
NONE
All new work: v0.8.3...v0.8.4
0.8.3
A maintenance release
Rolling DevTools
Merged commits 64149c4...dc60498 from official DevTools.
Should work best with Chrome ~56.0.2913.4.
Links to matching Chromium snapshots: Mac | Linux_x64 | Win | Win_x64.
Notable commits
f326adc devtools: apply lost fix for #4 again
7c619cf change terminology "target url" to "debugger url"
b53b4fd background: more robust resolve-backend-url with fine-grained errors
All new work: v0.8.2...v0.8.3
0.8.2
A hot-fix release
This is a hot-fix for changes in chrome debugger protocol API.
Rolling DevTools
Merged commits 902dfb7...64149c4 from official DevTools.
Should work best with Chrome ~56.0.2913.4.
Links to matching Chromium snapshots: Mac | Linux_x64 | Win | Win_x64.
Notable commits
NONE
All new work: v0.8.1...v0.8.2
0.8.1
A maintenance release
Rolling DevTools
Merged commits 6f8df8d...902dfb7 from official DevTools.
Should work best with Chrome ~56.0.2910.2.
Links to matching Chromium snapshots: Mac | Linux_x64 | Win | Win_x64.
Notable commits
e80b2b8 runtime: remove deprecated is-feature-available?
fdcf342 runtime: add some docstrings to repl API
99e7cbc implant: properly report errors back to server, also detect foreign code
b9b1d66 nrepl: add support for handling :error when evaluating js via weasel
All new work: v0.8.0...v0.8.1
0.8.0
Source-mapped REPL errors
In this release I focused on properly applying source maps to REPL eval requests. Also I improved the way how REPL code is generated and presented in the DevTools UI.
Additionally I started using binaryage/env-config library for dirac configuration overrides via environmental variables. Some environmental variables to override config keys changed. This might cause incompatibility with previous versions in case you used environment to configure your dirac. That is why I bumped release version to v0.8.0.
Make sure you are using Chrome Canary 56.0.2902+
Chrome devs decided to significantly change debugger protocol API. Make sure you are running the latest Canary with Dirac 0.8.x before you start banging your head against the wall.
REPL source maps
Let's see some screenshots from my recent Dirac REPL session:
As you can see each REPL session gets own "virtual" folder ~repl/<compiler-id>
with code snippets evaluated with that session and compiler. You can inspect generated javascript as well. The init.cljs
is special. That is the initial code executed after opening session. As you can see it requires for you doc
pp
and some other commands in cljs.user
namespace. If needed, you can redefine it here in Dirac's nREPL config.
Evaluating (+ 1 2)
was straightforward. You can see that each Javascript code to be evaluated is wrapped in a function which is passed to dirac.runtime.repl.eval
along with some other arguments controlling the evaluation. Runtime is (optionally) responsible for catching exceptions, capturing printed output, presenting results in cljs-devtools friendly way and also preparing nREPL response message.
Let's see the call of cljs.repl
function (doc filter)
:
We've got a bunch of generated code back. DevTools feature for reformatting Javascript source code is pretty handy here.
Let's see our session id, just to double-check that we are looking at correct files:
The command (dirac! :ls)
will list all nREPL sessions currently available. Indeed, we are the only session, our session id is 24c6c835
and we are using compiler dirac/24c6c835.1
which matches ~repl/dirac/24c6c835-1
virtual folder name.
And what if something goes wrong?
We get properly source-mapped error stack trace back. And it is even possible to click through dirac.runtime.repl
calls and inspect what exactly went wrong.
Rolling DevTools
Merged commits e3da2b6...6f8df8d from official DevTools.
Should work best with Chrome ~56.0.2905.2.
Links to matching Chromium snapshots: Mac | Linux_x64 | Win | Win_x64.
Notable commits
c1942e1 nrepl: generate source maps associated with REPL evaluation jobs
bbebe95 nrepl: produce better call-stacks and UI presentations of repl evals
d5fb0e5 runtime: prepare for more repl responsibilities
97c5b1a nrepl: move more responsibilities to runtime
5e18bd8 nrepl: update standard-repl-init-code to match cljs.repl
dd96ff8 agent: switch to env-config
76cc30f nrepl: switch to env-config
17ba84d runtime: switch to env-config
All new work: v0.7.5...v0.8.0
0.7.5
A compatibility release
The Chrome Debugger Protocol was changed significantly around version 56.0.2900. This requires a new Dirac release.
Rolling DevTools
Merged commits 1493049...e3da2b6 from official DevTools.
Should work best with Chrome ~56.0.2902.2.
Links to matching Chromium snapshots: Mac | Linux_x64 | Win | Win_x64.
Notable commits
fd87e17 nrepl: fix in-ns issue (#47)
All new work: v0.7.4...v0.7.5