Skip to content

Commit ab74f62

Browse files
committed
Release 4.3.0
1 parent 8c1ea57 commit ab74f62

File tree

5 files changed

+60
-59
lines changed

5 files changed

+60
-59
lines changed

CHANGELOG.md

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -6,10 +6,11 @@
66

77
### Changes
88
9-
- Reduced memory footprint by ~10% (jvm17) removing this-idx from FnCall, ExprExec, FnReturn, FnUnwind entries
10-
- BREAKING: Removed indexes-api/entry-idx now that each entry doesn't know its own index
11-
- BREAKING: indexes-api/get-fn-call receives a timeline and an idx, instead of timeline and entry
12-
- BREAKING: indexes-api/get-sub-form receives a timeline and an idx, instead of timeline and entry
9+
- Reduced memory footprint by ~10% (jvm17) by removing this-idx from FnCall, ExprExec, FnReturn, FnUnwind entries
10+
- Programmable API BREAKING:
11+
- removed indexes-api/entry-idx now that each entry doesn't know its own index
12+
- (indexes-api/get-fn-call timeline entry) -> (indexes-api/get-fn-call timeline idx)
13+
- (indexes-api/get-sub-form timeline entry) -> (indexes-api/get-sub-form timeline idx)
1314
1415
### Bugs fixed
1516

Readme.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -22,9 +22,9 @@ You use it by swapping the official Clojure compiler by ClojureStorm at dev time
2222
FlowStorm latest stable releases :
2323

2424
- The complete debugger (includes `flow-storm-inst`)
25-
- `[com.github.flow-storm/flow-storm-dbg "4.2.2"]`
25+
- `[com.github.flow-storm/flow-storm-dbg "4.3.0"]`
2626
- A slimmer version with no GUI, to use it for Clojure or ClojureScript remote debugging
27-
- `[com.github.flow-storm/flow-storm-inst "4.2.2"]`
27+
- `[com.github.flow-storm/flow-storm-inst "4.3.0"]`
2828

2929
ClojureStorm latest stable releases :
3030

build.clj

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@
55
[clojure.spec.alpha :as s]))
66

77
(def version (or (System/getenv "VERSION")
8-
"4.3.0-SNAPSHOT"))
8+
"4.3.0"))
99

1010
(def target-dir "target")
1111
(def class-dir (str target-dir "/classes"))

docs/user_guide.adoc

Lines changed: 25 additions & 25 deletions
Original file line numberDiff line numberDiff line change
@@ -53,10 +53,10 @@ You can start a repl with FlowStorm with a single command like this :
5353
[%nowrap,bash]
5454
----
5555
;; on Linux and OSX
56-
clj -Sforce -Sdeps '{:deps {} :aliases {:dev {:classpath-overrides {org.clojure/clojure nil} :extra-deps {com.github.flow-storm/clojure {:mvn/version "1.12.0-9"} com.github.flow-storm/flow-storm-dbg {:mvn/version "4.2.2"}}}}}' -A:dev
56+
clj -Sforce -Sdeps '{:deps {} :aliases {:dev {:classpath-overrides {org.clojure/clojure nil} :extra-deps {com.github.flow-storm/clojure {:mvn/version "1.12.0-9"} com.github.flow-storm/flow-storm-dbg {:mvn/version "4.3.0"}}}}}' -A:dev
5757
5858
;; on Windows
59-
clj -Sforce -Sdeps '{:deps {} :aliases {:dev {:classpath-overrides {org.clojure/clojure nil} :extra-deps {com.github.flow-storm/clojure {:mvn/version """1.12.0-9"""} com.github.flow-storm/flow-storm-dbg {:mvn/version """4.2.2"""}}}}}' -A:dev
59+
clj -Sforce -Sdeps '{:deps {} :aliases {:dev {:classpath-overrides {org.clojure/clojure nil} :extra-deps {com.github.flow-storm/clojure {:mvn/version """1.12.0-9"""} com.github.flow-storm/flow-storm-dbg {:mvn/version """4.3.0"""}}}}}' -A:dev
6060
----
6161

6262
Pasting that command on your terminal will bring up a repl with _FlowStorm_ and the compiler swapped by _ClojureStorm_. When the repl comes up
@@ -77,7 +77,7 @@ You can setup your global `~/.clojure/deps.edn` (on linux and macOS) or `%USERPR
7777
:aliases
7878
{:1.12-storm {:classpath-overrides {org.clojure/clojure nil}
7979
:extra-deps {com.github.flow-storm/clojure {:mvn/version "1.12.0-9"}
80-
com.github.flow-storm/flow-storm-dbg {:mvn/version "4.2.2"}}}
80+
com.github.flow-storm/flow-storm-dbg {:mvn/version "4.3.0"}}}
8181
8282
;; Optional plugins you find yourself using regularly
8383
:fs-web-plugin {:extra-deps {com.github.flow-storm/flow-storm-web-plugin {:mvn/version "1.0.0-beta"}}
@@ -98,7 +98,7 @@ You can setup your global `~/.lein/profiles.clj` (on linux and macOS) or `%USERP
9898
----
9999
{:1.12-storm
100100
{:dependencies [[com.github.flow-storm/clojure "1.12.0-9"]
101-
[com.github.flow-storm/flow-storm-dbg "4.2.2"]]
101+
[com.github.flow-storm/flow-storm-dbg "4.3.0"]]
102102
:exclusions [org.clojure/clojure]}
103103
104104
;; Optional plugins you find yourself using regularly
@@ -130,7 +130,7 @@ If your project is using deps.edn, you can add an alias that looks like this :
130130
{;; for disabling the official compiler
131131
:classpath-overrides {org.clojure/clojure nil}
132132
:extra-deps {com.github.flow-storm/clojure {:mvn/version "1.12.0-9"}
133-
com.github.flow-storm/flow-storm-dbg {:mvn/version "4.2.2"}}}}}
133+
com.github.flow-storm/flow-storm-dbg {:mvn/version "4.3.0"}}}}}
134134
----
135135

136136
Once you have setup your deps.edn, start your repl with the `:1.12-storm` alias and run the debugger by evaluating
@@ -149,7 +149,7 @@ If your project uses lein, you can add a profile that looks like this :
149149
(defproject my.project "1.0.0"
150150
:profiles {:1.12-storm
151151
{:dependencies [[com.github.flow-storm/clojure "1.12.0-9"]
152-
[com.github.flow-storm/flow-storm-dbg "4.2.2"]]
152+
[com.github.flow-storm/flow-storm-dbg "4.3.0"]]
153153
:exclusions [org.clojure/clojure]}}
154154
...)
155155
----
@@ -177,10 +177,10 @@ If you use the https://clojure.org/guides/deps_and_cli[clojure cli] you can star
177177
[,bash]
178178
----
179179
;; on Linux and OSX
180-
clj -Sforce -Sdeps '{:deps {com.github.flow-storm/flow-storm-dbg {:mvn/version "4.2.2"}}}'
180+
clj -Sforce -Sdeps '{:deps {com.github.flow-storm/flow-storm-dbg {:mvn/version "4.3.0"}}}'
181181
182182
;; on Windows
183-
clj -Sforce -Sdeps '{:deps {com.github.flow-storm/flow-storm-dbg {:mvn/version """4.2.2"""}}}'
183+
clj -Sforce -Sdeps '{:deps {com.github.flow-storm/flow-storm-dbg {:mvn/version """4.3.0"""}}}'
184184
----
185185

186186
If you are a https://leiningen.org/[lein] user add the dependency to your project.clj `:dependencies` and run `lein repl`.
@@ -284,7 +284,7 @@ Then, modify your `deps.edn` dev profile to look like this :
284284
;; bring ClojureScriptStorm
285285
com.github.flow-storm/clojurescript {:mvn/version "1.11.132-9"}
286286
;; add FlowStorm runtime dep
287-
com.github.flow-storm/flow-storm-inst {:mvn/version "4.2.2"}}
287+
com.github.flow-storm/flow-storm-inst {:mvn/version "4.3.0"}}
288288
:jvm-opts ["-Dcljs.storm.instrumentOnlyPrefixes=your-app-base-ns"
289289
"-Dcljs.storm.instrumentEnable=true"
290290
"-Dflowstorm.startRecording=false"]}}}
@@ -306,7 +306,7 @@ Whenever your need the debugger, on a terminal run the ui with your shadow-cljs.
306306

307307
[,bash]
308308
----
309-
clj -Sforce -Sdeps '{:deps {com.github.flow-storm/flow-storm-dbg {:mvn/version "4.2.2"}}}' -X flow-storm.debugger.main/start-debugger :port 9000 :repl-type :shadow :build-id :my-app
309+
clj -Sforce -Sdeps '{:deps {com.github.flow-storm/flow-storm-dbg {:mvn/version "4.3.0"}}}' -X flow-storm.debugger.main/start-debugger :port 9000 :repl-type :shadow :build-id :my-app
310310
----
311311

312312
and then reload you page so it connects to it.
@@ -332,21 +332,21 @@ To compile instrumented files :
332332

333333
[%nowrap,bash]
334334
----
335-
clj -J-Dcljs.storm.instrumentOnlyPrefixes=org.foo -J-Dcljs.storm.instrumentEnable=true -Sdeps '{:paths ["src"] :deps {com.github.flow-storm/clojurescript {:mvn/version "1.11.132-9"} com.github.flow-storm/flow-storm-inst {:mvn/version "4.2.2"}}}' -M -m cljs.main -co '{:preloads [flow-storm.storm-preload] :main org.foo.core}' --compile
335+
clj -J-Dcljs.storm.instrumentOnlyPrefixes=org.foo -J-Dcljs.storm.instrumentEnable=true -Sdeps '{:paths ["src"] :deps {com.github.flow-storm/clojurescript {:mvn/version "1.11.132-9"} com.github.flow-storm/flow-storm-inst {:mvn/version "4.3.0"}}}' -M -m cljs.main -co '{:preloads [flow-storm.storm-preload] :main org.foo.core}' --compile
336336
----
337337

338338
To run a repl that instrument everything under org.foo :
339339

340340
[%nowrap,bash]
341341
----
342-
clj -J-Dcljs.storm.instrumentOnlyPrefixes=org.foo -J-Dcljs.storm.instrumentEnable=true -Sdeps '{:paths ["src"] :deps {com.github.flow-storm/clojurescript {:mvn/version "1.11.132-9"} com.github.flow-storm/flow-storm-inst {:mvn/version "4.2.2"}}}' -M -m cljs.main -co '{:preloads [flow-storm.storm-preload] :main org.foo.core}' --repl
342+
clj -J-Dcljs.storm.instrumentOnlyPrefixes=org.foo -J-Dcljs.storm.instrumentEnable=true -Sdeps '{:paths ["src"] :deps {com.github.flow-storm/clojurescript {:mvn/version "1.11.132-9"} com.github.flow-storm/flow-storm-inst {:mvn/version "4.3.0"}}}' -M -m cljs.main -co '{:preloads [flow-storm.storm-preload] :main org.foo.core}' --repl
343343
----
344344

345345
Then run the _FlowStorm_ UI :
346346

347347
[%nowrap,bash]
348348
----
349-
clj -Sforce -Sdeps '{:deps {com.github.flow-storm/flow-storm-dbg {:mvn/version "4.2.2"}}}' -X flow-storm.debugger.main/start-debugger
349+
clj -Sforce -Sdeps '{:deps {com.github.flow-storm/flow-storm-dbg {:mvn/version "4.3.0"}}}' -X flow-storm.debugger.main/start-debugger
350350
----
351351

352352
And now refresh your browser page so your browser app connects to the UI.
@@ -362,7 +362,7 @@ First you need to add _FlowStorm_ dependency to your project dependencies, like
362362
$ cat shadow-cljs.edn
363363
364364
{...
365-
:dependencies [... [com.github.flow-storm/flow-storm-inst "4.2.2"]]
365+
:dependencies [... [com.github.flow-storm/flow-storm-inst "4.3.0"]]
366366
367367
;; the next two lines aren't needed but pretty convenient
368368
:nrepl {:port 9000}
@@ -393,10 +393,10 @@ so to start the debugger and connect to it you run :
393393
[,bash]
394394
----
395395
;; on linux and mac-os
396-
clj -Sforce -Sdeps '{:deps {com.github.flow-storm/flow-storm-dbg {:mvn/version "4.2.2"}}}' -X flow-storm.debugger.main/start-debugger :port 9000 :repl-type :shadow :build-id :my-build-id
396+
clj -Sforce -Sdeps '{:deps {com.github.flow-storm/flow-storm-dbg {:mvn/version "4.3.0"}}}' -X flow-storm.debugger.main/start-debugger :port 9000 :repl-type :shadow :build-id :my-build-id
397397
398398
;; on windows
399-
clj -Sforce -Sdeps '{:deps {com.github.flow-storm/flow-storm-dbg {:mvn/version """4.2.2"""}}}' -X flow-storm.debugger.main/start-debugger :port 9000 :repl-type :shadow :build-id :my-build-id
399+
clj -Sforce -Sdeps '{:deps {com.github.flow-storm/flow-storm-dbg {:mvn/version """4.3.0"""}}}' -X flow-storm.debugger.main/start-debugger :port 9000 :repl-type :shadow :build-id :my-build-id
400400
----
401401

402402
And that is all you need, the debugger GUI will pop up and everything will be ready.
@@ -429,7 +429,7 @@ For this you can start the debugger like before but without any parameters, like
429429

430430
[,bash]
431431
----
432-
clj -Sforce -Sdeps '{:deps {com.github.flow-storm/flow-storm-dbg {:mvn/version "4.2.2"}}}' -X flow-storm.debugger.main/start-debugger
432+
clj -Sforce -Sdeps '{:deps {com.github.flow-storm/flow-storm-dbg {:mvn/version "4.3.0"}}}' -X flow-storm.debugger.main/start-debugger
433433
----
434434

435435
And then go to your app code and call `(flow-storm.runtime.debuggers-api/remote-connect)` maybe on your main, so every time your program starts
@@ -482,10 +482,10 @@ So let's say you want to run two debuggers, one for your page and one for a webw
482482
[,bash]
483483
----
484484
# on one terminal start your app debugger instance
485-
clj -Sforce -Sdeps '{:deps {com.github.flow-storm/flow-storm-dbg {:mvn/version "4.2.2"}}}' -X flow-storm.debugger.main/start-debugger :port 9000 :repl-type :shadow :build-id :my-app :ws-port 7722
485+
clj -Sforce -Sdeps '{:deps {com.github.flow-storm/flow-storm-dbg {:mvn/version "4.3.0"}}}' -X flow-storm.debugger.main/start-debugger :port 9000 :repl-type :shadow :build-id :my-app :ws-port 7722
486486
487487
# on a second terminal start your webworker debugger instance
488-
clj -Sforce -Sdeps '{:deps {com.github.flow-storm/flow-storm-dbg {:mvn/version "4.2.2"}}}' -X flow-storm.debugger.main/start-debugger :port 9000 :repl-type :shadow :build-id :my-web-worker :ws-port 7733
488+
clj -Sforce -Sdeps '{:deps {com.github.flow-storm/flow-storm-dbg {:mvn/version "4.3.0"}}}' -X flow-storm.debugger.main/start-debugger :port 9000 :repl-type :shadow :build-id :my-web-worker :ws-port 7733
489489
----
490490

491491
Now you also need to configure your builds to tell them what port they should connect to.
@@ -560,7 +560,7 @@ Then modify the resulting deps.edn to add the FlowStorm alias like this :
560560
{...
561561
:aliases {:dev {:classpath-overrides {org.clojure/clojure nil} ;; for disabling the official compiler
562562
:extra-deps {com.github.flow-storm/clojure {:mvn/version "1.12.0-9"}
563-
com.github.flow-storm/flow-storm-dbg {:mvn/version "4.2.2"}}
563+
com.github.flow-storm/flow-storm-dbg {:mvn/version "4.3.0"}}
564564
:jvm-opts ["-Dclojure.storm.instrumentOnlyPrefixes=user"]}}}
565565
----
566566

@@ -1706,7 +1706,7 @@ After the tunnel is established, you can run you debugger UI like this :
17061706

17071707
[,bash]
17081708
----
1709-
clj -Sforce -Sdeps '{:deps {com.github.flow-storm/flow-storm-dbg {:mvn/version "4.2.2"}}}' -X flow-storm.debugger.main/start-debugger :port 9000
1709+
clj -Sforce -Sdeps '{:deps {com.github.flow-storm/flow-storm-dbg {:mvn/version "4.3.0"}}}' -X flow-storm.debugger.main/start-debugger :port 9000
17101710
----
17111711

17121712
and that is it.
@@ -1715,7 +1715,7 @@ If you need to connect the debugger to a remote process without a ssh tunnel or
17151715

17161716
[,bash]
17171717
----
1718-
clj -Sforce -Sdeps '{:deps {com.github.flow-storm/flow-storm-dbg {:mvn/version "4.2.2"}}}' -X flow-storm.debugger.main/start-debugger :port NREPL-PORT :runtime-host '"YOUR-APP-BOX-IP-ADDRESS"' :debugger-host '"YOUR-BOX-IP-ADDRESS"' :ws-port WS-SERVER-PORT
1718+
clj -Sforce -Sdeps '{:deps {com.github.flow-storm/flow-storm-dbg {:mvn/version "4.3.0"}}}' -X flow-storm.debugger.main/start-debugger :port NREPL-PORT :runtime-host '"YOUR-APP-BOX-IP-ADDRESS"' :debugger-host '"YOUR-BOX-IP-ADDRESS"' :ws-port WS-SERVER-PORT
17191719
----
17201720

17211721
== Out of process
@@ -1730,9 +1730,9 @@ A couple of aliases that can help for this :
17301730
;; for your system process
17311731
{:runtime-storm {:classpath-overrides {org.clojure/clojure nil}
17321732
:extra-deps {com.github.flow-storm/clojure {:mvn/version "1.12.0-9"}
1733-
com.github.flow-storm/flow-storm-inst {:mvn/version "4.2.2"}}}
1733+
com.github.flow-storm/flow-storm-inst {:mvn/version "4.3.0"}}}
17341734
;; for the FlowStorm GUI process
1735-
:ui-storm {:extra-deps {com.github.flow-storm/flow-storm-dbg {:mvn/version "4.2.2"}}
1735+
:ui-storm {:extra-deps {com.github.flow-storm/flow-storm-dbg {:mvn/version "4.3.0"}}
17361736
:exec-fn flow-storm.debugger.main/start-debugger
17371737
:exec-args {:port 7888}}}} ;; set your nrepl port here!
17381738
----
@@ -2280,7 +2280,7 @@ can start a debugger and connect to it by running :
22802280

22812281
[,bash]
22822282
----
2283-
clj -Sforce -Sdeps '{:deps {com.github.flow-storm/flow-storm-dbg {:mvn/version "4.2.2"}}}' -X flow-storm.debugger.main/start-debugger :port 9000 :repl-type :shadow :build-id :your-app-build-id :debugger-host '"YOUR_DEV_MACHINE_IP"'
2283+
clj -Sforce -Sdeps '{:deps {com.github.flow-storm/flow-storm-dbg {:mvn/version "4.3.0"}}}' -X flow-storm.debugger.main/start-debugger :port 9000 :repl-type :shadow :build-id :your-app-build-id :debugger-host '"YOUR_DEV_MACHINE_IP"'
22842284
----
22852285

22862286
You also need to make it possible for the device to connect back to the debugger on port 7722. You can accomplish this by running :

0 commit comments

Comments
 (0)