- Exclude guava as a transitive dep in tools.build since it breaks shadow-cljs 2.21.0
- Upgrade hansel to 0.1.50
- Upgrade openjfx to 19.0.2.1
- Upgrade hansel to 0.1.46
- Upgrade to hansel 0.1.42 which contains a couple of bug fixes
- Update to hansel 0.1.38 which contains a couple of bug fiexs
- Improve docs file generation. Generated docs will be put into flow-docs.edn instead of samples.edn since
it is less likely to collide. Also the data format has been improved for extensibility
- Update hansel dependency to 0.1.35
- Handle OS theme detector exceptions
- Update hansel to 0.1.31 which contains a critical bug
- Improve value inspector styles
- Fix docs examples display
- Add Flow Docs - Generate projects functions documentation by sampling their executions.
- Fix a ConcurrentModificationException on debuggers_api/reference_frame_data!
- Add browser var recursive instrumentation
- Update to hansel 0.1.22 to fix ClojureScript go blocks instrumentation
- New tap button allows you to tap> any value from the UI (nice to integrate with other tooling like portal)
- New locals "tap value" allows you to tap> any locals
- Migrate to hansel for instrumentation (should be much better than previous instrumentation system)
- Value inspector navigation bar now shows keys instead of val text
- Fix automatic [un]instrumentation watcher
- Fix clojure instrument entire namespace for non libraries
- Remove flow-storm hard dependency on org.clojure/clojurescript artifact. Will lazy require when needed for ClojureScript, assuming the dependency will be provided
- Add #rtrace ^{:thread-trace-limit X} where X can be a integer. Execution will throw after tracing X times for a trace. Useful for debugging possibly infinite loops
- Add support for snapshoting mutable values via flow-storm.runtime.values/snapshot-value multimethod
- Add #tap-stack-trace, to tap the current stack trace wherever you add it
- Add support for core.async/go blocks instrumentation
- Add Ctrl+MouseWheel on forms to step prev/next
- Immediately highlihgt the first trace when creating a flow in the debugger
- Remove unnecessary first-fn-call-event
- Alt+Tab now works on MacOs for switching between the debugger and the repl windows (thanks to Lucy Wang @lucywang000)
- Fix extend-protocol and extend-type instrumentations for ClojureScript
- Fix instrumentation breaking variadic functions in ClojureScript
- Improves theming
- Fix dynamic vars not being re-evaluated as dynamic in cljs
- Fix dynamic vars not being re-evalueated as dynamic in ClojureScript
- Fix timeout issues on remote connection
- Add `Instrument form without bindings` to form context menu
- Add got to last trace on code loops context-menu
- Full [un]instrumentation synchronization between the browser and #trace (Clojure only)
- Now you can [un]instrument single vars from the browser, even if they where defined at the repl (Clojure only)
- Improved Single var [un]instrumentation from the browser (Clojure and ClojureScript)
- Fix show-error on the clojure local path
- flow-storm.api/cli-run now supports :flow-id key
- Windows pprint form problem
- Bunch of minor small bug fixes
- Instrummented code should run much faster due to removed unnecessary runtime ctx rebinding
- Fix browser navigation after instrumentation bug
- Automatic event retention. For ClojureScript or remote Clojure you don't need to remote-connect by hand
when you want to capture traces before the debugger is connected. Just need to require flow-storm.api on your main.
- Automatic ui cleaning on reconnection
- Remote connection now accepts :debugger-host and :runtime-host keys (check out the documentation)
- Fix the more button on value inspector
- Fix for infinite sequence handling
- Automatic remote connection management. The re-connect button was removed from the toolbar since it isn't needed anymore
- Fix javafx platform not initialized exception when there is a error connecting to a repl
- Add support for remote debugging without repl connection (clojure and clojurescript)
- Show nrepl errors on the UI
- Fix ClojureScript re-run flow
- Fix a deadlock caused by the event system
3.0 is a full redesign! So it is full of changes, and fixes. Most remarkable things are :
- ClojureScript is feature par with Clojure now, so every feature is available to both languages.
- Remote debugging can be accomplished by just connecting to nrepl server (socket repl support on the roadmap)
- A programable API (https://jpmonettas.github.io/flow-storm-debugger/user_guide.html#_programmable_debugging)
- Enables the posibility to integrate it with IDEs/editors
* Add inspect for locals
* Can jump to any index by typing the idx number in the thread controls
* Locals print-length is now 20 and print-level 5
* Make the value inspector show more info on dig nodes
* Add a proper lazy and recursive value inspector
* Add tap tool (support for tap>)
* New functions for shutting down the debugger and connections gracefully.
When starting with `flow-storm.api/local-connect` or `flow-storm.api/remote-connect` you can shut it down with `flow-storm.api/stop`
When starting a standalone debugger with `flow-storm.debugger.main/start-debugger` you can shutdown with `flow-storm.debugger.main/stop-debugger`
* Add support for light and dark themes, in selected or automatic mode. Checkout the user guide for more info. (thanks to Liverm0r!)
* Thread tabs can be closed and reordered
* The entire debugger was refactored to manage state with mount
* Fix #28 - Callstack tree args and ret listviews should expand to the bottom
* Fix #34 - instrument-forms-for-namespaces not instrumenting (def foo (fn [...] ...))
* Add bottom bar progress indicator when running commands
* Add reload tree button on callstack tree tabs
* Add search bar to functions list
* This release also contains big internal refactors to make the codebase cleaner and more efficient
* Automatically deref all reference values in traces
* Automatically change to flow tab on new flow
* Add jump to first and last traces on thread controls (useful for exceptions debugging)
* Add print-level and print-meta controls on pprint value panels
* Improve re-run flow UX
* Namespace instrumentation now accepts :verbose? to log known and unknown instrumentation errors details
* Add flow-storm.api/uninstrument-forms-for-namespaces to undo instrument-form-for-namespaces instrumentation
* Add ctx menu on locals to define vars from values
* Add browser namespaces instrumentation/uninstrumentation
* Add browser instrumentation synchronization (for everything but #trace)
* Add #rtrace0 ... #rtrace5, like #rtrace but with different flow-ids
* Add double clicking on flows functions window executes show function calls
* Remove flow-storm.api/run since #rtrace(runi) is enough
* Flows functions window now have checkboxes for selecting fncall arguments to print
* Fix re run flow for #rtrace case
* Fix local binding instrumentation and debugging
* Add def value button on every value panel to define the value so you can work with it at the repl
* Add namespaces browser with instrumentation capabilities
* Add conditional tracing via #ctrace and ^{:trace/when ...} meta
* Fix run-command for the local connection path
* Add Clojurescript support
* Remote debugging via `flow-storm.api/remote-connect` and `flow-storm.api/cli-run`
* `flow-storm.api/cli-run` now accepts :host and :port
* Add styles customization via a user provided styles file
* The debugger can instrument and debug itself