CHANGELOG.md

# Changelog

## 0.4.2 (2025-10-09)

### Bug fixes
  * Fix crash when refreshing during callback execution in [#760](https://github.com/software-mansion/live-debugger/pull/760)
  * Explicit formats in SocketDiscoveryController in [#754](https://github.com/software-mansion/live-debugger/pull/754)
  * Fix positioning of return arrow in [#788](https://github.com/software-mansion/live-debugger/pull/788)
  * Fix highlighting LiveViews in LiveComponents in [#725](https://github.com/software-mansion/live-debugger/pull/725)
  * Add phoenix ~> 1.7 dep in [#791](https://github.com/software-mansion/live-debugger/pull/791)

## 0.4.1 (2025-09-09)

### Bug fixes
  * Checking if module has `:module_info` exported in [#731](https://github.com/software-mansion/live-debugger/pull/731)
  * Weird css behaviour on flash and fullscreen in [#727](https://github.com/software-mansion/live-debugger/pull/727)
  * Fix truncated tooltip in [#733](https://github.com/software-mansion/live-debugger/pull/733)
  * Lack of exception trace in [#732](https://github.com/software-mansion/live-debugger/pull/732)

## 0.4.0 (2025-08-28)

### Features:
  * Add search to query api in [#538](https://github.com/software-mansion/live-debugger/pull/538)
  * Add search bar to global traces in [#570](https://github.com/software-mansion/live-debugger/pull/570)
  * Create debug websocket with client browser in [#619](https://github.com/software-mansion/live-debugger/pull/619)
  * Add menu to debug button in [#623](https://github.com/software-mansion/live-debugger/pull/623)
  * Inspecting elements from the browser in [#642](https://github.com/software-mansion/live-debugger/pull/642)
  * Sending window initialized event to LiveDebugger in [#651](https://github.com/software-mansion/live-debugger/pull/651)
  * Better handling of nested LiveViews inspection in [#650](https://github.com/software-mansion/live-debugger/pull/650)
  * Create successor discoverer serivce in [#655](https://github.com/software-mansion/live-debugger/pull/655)
  * Display node info during highlighting in [#679](https://github.com/software-mansion/live-debugger/pull/679)
  * Inspecting elements from LiveDebugger in [#685](https://github.com/software-mansion/live-debugger/pull/685)
  * Redirect to active live views in [#691](https://github.com/software-mansion/live-debugger/pull/691)
  * Highlight search phrase inside callback trace body in [#692](https://github.com/software-mansion/live-debugger/pull/692)
  * Event struct in [#703](https://github.com/software-mansion/live-debugger/pull/703)
  * Add inspect button tooltip in [#705](https://github.com/software-mansion/live-debugger/pull/705)
  * Disable inspecting in dead view mode in [#707](https://github.com/software-mansion/live-debugger/pull/707)

### Bug fixes
  * Fix LiveViewDebugService in [#534](https://github.com/software-mansion/live-debugger/pull/534)
  * Add PubSub name as config value in [#537](https://github.com/software-mansion/live-debugger/pull/537)
  * Fix displaying maps with structs as keys in [#571](https://github.com/software-mansion/live-debugger/pull/571)
  * Fix issue with duplicated windowID in [#686](https://github.com/software-mansion/live-debugger/pull/686)
  * Fix search query limited by page size in [#682](https://github.com/software-mansion/live-debugger/pull/682)
  * Fix collapsible not cloasing on refresh in [#693](https://github.com/software-mansion/live-debugger/pull/693)
  * Fixed typo in debug button and removed event context in [#698](https://github.com/software-mansion/live-debugger/pull/698)
  * Fix highlighting on dead view mode in [#694](https://github.com/software-mansion/live-debugger/pull/694)
  * Disabling debug menu when inspect mode changed in [#706](https://github.com/software-mansion/live-debugger/pull/706)
  * Fix highlighting in dead view mode in [#710](https://github.com/software-mansion/live-debugger/pull/710)
  * Fixed scrolling with debug options menu in [#711](https://github.com/software-mansion/live-debugger/pull/711)

### Refactor
  * Switch to debug module in [#496](https://github.com/software-mansion/live-debugger/pull/496)
  * Simplified pubsub routing in [#529](https://github.com/software-mansion/live-debugger/pull/529)
  * Add link in global traces view to preview given node in [#528](https://github.com/software-mansion/live-debugger/pull/528)
  * Create `LiveDebugger.API.System.Module` in [#565](https://github.com/software-mansion/live-debugger/pull/565)
  * Create `LiveDebugger.API.System.Process` in [#568](https://github.com/software-mansion/live-debugger/pull/568)
  * Added event behaviour in [#567](https://github.com/software-mansion/live-debugger/pull/567)
  * Add api for `:dbg` module in [#566](https://github.com/software-mansion/live-debugger/pull/566)
  * Implement event bus in [#572](https://github.com/software-mansion/live-debugger/pull/572)
  * Create `SettingsStorage` api in [#574](https://github.com/software-mansion/live-debugger/pull/574)
  * Create `LiveDebuggerRefactor.API.LiveViewDebug` in [#573](https://github.com/software-mansion/live-debugger/pull/573)
  * Create `LiveDebuggerRefactor.API.TracesStorage` in [#576](https://github.com/software-mansion/live-debugger/pull/576)
  * Create base for each service in [#578](https://github.com/software-mansion/live-debugger/pull/578)
  * Create `LiveDebuggerRefactor.API.LiveViewDiscovery` in [#581](https://github.com/software-mansion/live-debugger/pull/581)
  * Create API for `StatesStorage` in [#579](https://github.com/software-mansion/live-debugger/pull/579)
  * Create tests for `TracesStorage` in [#587](https://github.com/software-mansion/live-debugger/pull/587)
  * Add tracing manager genserver in [#588](https://github.com/software-mansion/live-debugger/pull/588)
  * Create `ProcessMonitor `genserver in [#603](https://github.com/software-mansion/live-debugger/pull/603)
  * Create `StateManager` GenServer in [#604](https://github.com/software-mansion/live-debugger/pull/604)
  * Move general UI modules and lay foundation for UI in [#591](https://github.com/software-mansion/live-debugger/pull/591)
  * Create `TableWatcher` GenServer in [#607](https://github.com/software-mansion/live-debugger/pull/607)
  * Prepare api for `GarbageCollector` in [#609](https://github.com/software-mansion/live-debugger/pull/609)
  * Add action for `StateManager` in [#610](https://github.com/software-mansion/live-debugger/pull/610)
  * Create TraceHandler GenServer in [#611](https://github.com/software-mansion/live-debugger/pull/611)
  * Create `GarbageCollector` GenServer in [#612](https://github.com/software-mansion/live-debugger/pull/612)
  * Send event after state save in [#615](https://github.com/software-mansion/live-debugger/pull/615)
  * Create settings context for UI in [#613](https://github.com/software-mansion/live-debugger/pull/613)
  * Create `nested_live_view_links` context in [#617](https://github.com/software-mansion/live-debugger/pull/617)
  * Create `Discovery` context in [#616](https://github.com/software-mansion/live-debugger/pull/616)
  * Create `node_state` context (part I) in [#621](https://github.com/software-mansion/live-debugger/pull/621)
  * Add `ComponentsTree` UI context in [#618](https://github.com/software-mansion/live-debugger/pull/618)
  * Create `node_state` context (part II) in [#624](https://github.com/software-mansion/live-debugger/pull/624)
  * Switch debug ws connection based on refactor flag in [#629](https://github.com/software-mansion/live-debugger/pull/629)
  * Add hooks and HooksComponents functionalities in [#632](https://github.com/software-mansion/live-debugger/pull/632)
  * Create actions and queries for `settings` context in [#626](https://github.com/software-mansion/live-debugger/pull/626)
  * Better structure in assets in [#638](https://github.com/software-mansion/live-debugger/pull/638)
  * Add data loading for `discovery` context in [#636](https://github.com/software-mansion/live-debugger/pull/636)
  * `discovery` context async assigning in [#646](https://github.com/software-mansion/live-debugger/pull/646)
  * Add HookComponents for `callback_tracing` in [#637](https://github.com/software-mansion/live-debugger/pull/637)
  * Add data loading and handlers for `node_state` context in [#645](https://github.com/software-mansion/live-debugger/pull/645)
  * Data loading and handlers for `nested_live_view_links` in [#648](https://github.com/software-mansion/live-debugger/pull/648)
  * Move filters to `callback_tracing` context in [#649](https://github.com/software-mansion/live-debugger/pull/649)
  * Data loading and handlers for `components_tree` context in [#652](https://github.com/software-mansion/live-debugger/pull/652)
  * Add nested LiveViews and missing components in [#653](https://github.com/software-mansion/live-debugger/pull/653)
  * Add `ExistingTraces` hook in [#656](https://github.com/software-mansion/live-debugger/pull/656)
  * Add `FilterNewTraces` hook in [#662](https://github.com/software-mansion/live-debugger/pull/662)
  * Add `TracingFuse` hook in [#664](https://github.com/software-mansion/live-debugger/pull/664)
  * Add `DisplayNewTraces` hook in [#670](https://github.com/software-mansion/live-debugger/pull/670)
  * Add DebuggerLive, small fixes, add missing modules in [#665](https://github.com/software-mansion/live-debugger/pull/665)
  * Move config component in [#676](https://github.com/software-mansion/live-debugger/pull/676)
  * Add `SocketDiscoveryController` in [#677](https://github.com/software-mansion/live-debugger/pull/677)
  * Add behaviour for `callback_tracing` HookComponents in [#673](https://github.com/software-mansion/live-debugger/pull/673)
  * Add DeadViewMode handling in [#674](https://github.com/software-mansion/live-debugger/pull/674)
  * Validate with e2e tests, remove old code in [#680](https://github.com/software-mansion/live-debugger/pull/680)
  * Rename modules to remove "refactor" suffix in [#683](https://github.com/software-mansion/live-debugger/pull/683)
  * Connect successor finding service to debugger_live in [#687](https://github.com/software-mansion/live-debugger/pull/687)
  * Don't reload in iframe, remove Window Discovery in [#690](https://github.com/software-mansion/live-debugger/pull/690)
  * Use DebugSocket in components highlighting in [#697](https://github.com/software-mansion/live-debugger/pull/697)

### Other
  * Chore: Change version to v0.4.0-dev in [#524](https://github.com/software-mansion/live-debugger/pull/524)
  * Task: Add docs for components tree in [#492](https://github.com/software-mansion/live-debugger/pull/492)
  * Task: Add docs for components tree in [#492](https://github.com/software-mansion/live-debugger/pull/492)
  * Task: Add docs for components tree in [#492](https://github.com/software-mansion/live-debugger/pull/492)
  * Taks: Add docs for components highlighting in [#508](https://github.com/software-mansion/live-debugger/pull/508)
  * Task: Add docs for assigns inspection in [#509](https://github.com/software-mansion/live-debugger/pull/509)
  * Docs: Describe Dead View Mode in [#527](https://github.com/software-mansion/live-debugger/pull/527)
  * Task: Describe callback tracing in docs in [#533](https://github.com/software-mansion/live-debugger/pull/533)
  * Tests: added test-cases for TraceHandler in [#614](https://github.com/software-mansion/live-debugger/pull/614)
  * Chore: adjust path in assets workflow in [#644](https://github.com/software-mansion/live-debugger/pull/644)
  * Task: Add tests for searching in callback traces in [#699](https://github.com/software-mansion/live-debugger/pull/699)
  * Docs: Elements Inspection in [#708](https://github.com/software-mansion/live-debugger/pull/708)
  * Enhancement: Update existing docs to new version in [#709](https://github.com/software-mansion/live-debugger/pull/709)
  * Tests: add tests for elements inspection in [#704](https://github.com/software-mansion/live-debugger/pull/704)

## 0.3.2 (2025-08-18)

### Bug fixes
  * Expanding deleted trace error in [#678](https://github.com/software-mansion/live-debugger/pull/678)

## 0.3.1 (2025-07-08)

### Enhancements:
  * Add PubSub name as config value in [#537](https://github.com/software-mansion/live-debugger/pull/537)

### Bug fixes
  * Fix displaying maps with structs as keys in [#571](https://github.com/software-mansion/live-debugger/pull/571)

## 0.3.0 (2025-06-25)

### Features:
  * Implement displaying event handling time in [#277](https://github.com/software-mansion/live-debugger/pull/277)
  * Implement caching mechanism in [#364](https://github.com/software-mansion/live-debugger/pull/364)
  * Create form for filtering by execution time in [#361](https://github.com/software-mansion/live-debugger/pull/361)
  * Implement filtering by execution time in [#379](https://github.com/software-mansion/live-debugger/pull/379)
  * Add view with active LiveViews per window in [#382](https://github.com/software-mansion/live-debugger/pull/382)
  * Adjust devtools extension for firefox in [#388](https://github.com/software-mansion/live-debugger/pull/388)
  * Update callback execution time info according to designs in [#422](https://github.com/software-mansion/live-debugger/pull/422)
  * Add mode for disconnected LiveViews in [#412](https://github.com/software-mansion/live-debugger/pull/412)
  * Apply new navigation to UI in [#433](https://github.com/software-mansion/live-debugger/pull/433)
  * Mark arguments of callback traces in [#436](https://github.com/software-mansion/live-debugger/pull/436)
  * Add settings panel in [#435](https://github.com/software-mansion/live-debugger/pull/435)
  * Update execution time filters to new designs in [#425](https://github.com/software-mansion/live-debugger/pull/425)
  * Global traces preparations in [#447](https://github.com/software-mansion/live-debugger/pull/447)
  * Garbage collection of ets records in [#439](https://github.com/software-mansion/live-debugger/pull/439)
  * Copy module to clipboard in [#413](https://github.com/software-mansion/live-debugger/pull/413)
  * Add global traces list in [#470](https://github.com/software-mansion/live-debugger/pull/470)
  * Applied new designs to filters form in [#488](https://github.com/software-mansion/live-debugger/pull/488)
  * Copy elixir terms to clipboard in [#480](https://github.com/software-mansion/live-debugger/pull/480)
  * Add module in label for global traces in [#494](https://github.com/software-mansion/live-debugger/pull/494)
  * Filters sidebar in global callback traces view in [#491](https://github.com/software-mansion/live-debugger/pull/491)
  * Bind settings buttons to actions in [#504](https://github.com/software-mansion/live-debugger/pull/504)
  * Add aria label to buttons with only icons in [#522](https://github.com/software-mansion/live-debugger/pull/522)

### Bug fixes
  * Fixed callback tracing after components switching in [#373](https://github.com/software-mansion/live-debugger/pull/373)
  * Allowed iframe in LiveDebugger router for Phoenix 1.8+ in [#372](https://github.com/software-mansion/live-debugger/pull/372)
  * LiveDebugger stops working after code reload in [#384](https://github.com/software-mansion/live-debugger/pull/384)
  * Fixed assigns refreshing after changing node in [#390](https://github.com/software-mansion/live-debugger/pull/390)
  * Hide module reloading behind config flag in [#420](https://github.com/software-mansion/live-debugger/pull/420)
  * All traces are loaded when no callback name is checked in filters in [#432](https://github.com/software-mansion/live-debugger/pull/432)
  * Fix duplicated ids in `toggle_switch` component in [#446](https://github.com/software-mansion/live-debugger/pull/446)
  * Fix selection of node inspector on navigation menu in [#451](https://github.com/software-mansion/live-debugger/pull/451)
  * Use `external_url` for live_debugger_tags' url in [#452](https://github.com/software-mansion/live-debugger/pull/452)
  * Fix collapsibles in [#469](https://github.com/software-mansion/live-debugger/pull/469)
  * Extension redirects not working properly in [#468](https://github.com/software-mansion/live-debugger/pull/468)
  * Wrong color on dark mode fullscreen body in [#472](https://github.com/software-mansion/live-debugger/pull/472)
  * Not updated PubSub mocks in e2e tests in [#489](https://github.com/software-mansion/live-debugger/pull/489)
  * Handling crashing callback in [#505](https://github.com/software-mansion/live-debugger/pull/505)
  * Add missing spinner on successor finding in [#514](https://github.com/software-mansion/live-debugger/pull/514)
  * Fix scrollbar size on firefox in [#515](https://github.com/software-mansion/live-debugger/pull/515)
  * Fix z-index of sidebar in [#518](https://github.com/software-mansion/live-debugger/pull/518)
  * Disable highlighting after node selection in [#517](https://github.com/software-mansion/live-debugger/pull/517)
  * Moved z-index of sidebar to nested div in [#520](https://github.com/software-mansion/live-debugger/pull/520)

### Refactors
  * Simplified routing and created `linked_view` hook in [#376](https://github.com/software-mansion/live-debugger/pull/376)
  * Make LvProcess use ProcessService in [#394](https://github.com/software-mansion/live-debugger/pull/394)
  * Adjust pubsub channels to the new routing system in [#411](https://github.com/software-mansion/live-debugger/pull/411)
  * Add routing backward compatibility to extension in [#423](https://github.com/software-mansion/live-debugger/pull/423)
  * Adjusted navigation of return arrow in [#440](https://github.com/software-mansion/live-debugger/pull/440)
  * Refactored LiveViews structure in [#457](https://github.com/software-mansion/live-debugger/pull/457)
  * Extracted logic and components from traces_live in [#466](https://github.com/software-mansion/live-debugger/pull/466)
  * Udpate to lucide icons in [#456](https://github.com/software-mansion/live-debugger/pull/456)
  * Consolidate sidebar children in [#506](https://github.com/software-mansion/live-debugger/pull/506)

### Other
  * Chore: update GitHub workflows in [#374](https://github.com/software-mansion/live-debugger/pull/374)
  * Chore: update shields in README.md in [#375](https://github.com/software-mansion/live-debugger/pull/375)
  * Task: Improve e2e tests in [#393](https://github.com/software-mansion/live-debugger/pull/393)
  * rename node to nodejs in .tool-versions file in [#414](https://github.com/software-mansion/live-debugger/pull/414)
  * Chore: Backward compatibility workflow in [#419](https://github.com/software-mansion/live-debugger/pull/419)
  * Task: Add custom LiveDebugger url config in [#438](https://github.com/software-mansion/live-debugger/pull/438)
  * Fix typo in URL.to_relative/1 spec in [#445](https://github.com/software-mansion/live-debugger/pull/445)
  * Task: Bump Tailwind to 4.1.8 in [#467](https://github.com/software-mansion/live-debugger/pull/467)
  * Chore: Update firefox extension to meet requirements in [#502](https://github.com/software-mansion/live-debugger/pull/502)
  * Chore: Cancel previous CI workflow if new commit pushed in [#519](https://github.com/software-mansion/live-debugger/pull/519)
  * Chore: Change description in settings in [#521](https://github.com/software-mansion/live-debugger/pull/521)

## 0.2.4 (2025-05-28)

### Enhancements:
  * Add custom LiveDebugger url config in [#442](https://github.com/software-mansion/live-debugger/pull/442)
  * Adjust required versions and correct `phoenix_live_view` dependency in [#419](https://github.com/software-mansion/live-debugger/pull/419)

### Bug fixes
  * Extension reload on any browser navigation in [#418](https://github.com/software-mansion/live-debugger/pull/418)
  * Fix traces filtering in [#443](https://github.com/software-mansion/live-debugger/pull/443)

## 0.2.3 (2025-05-21)

### Enhancements:
  * Hide module reloading after config flag in [#421](https://github.com/software-mansion/live-debugger/pull/421)

## 0.2.2 (2025-05-14)

### Bug fixes
  * Fixed assigns refreshing after changing node in [#386](https://github.com/software-mansion/live-debugger/pull/386)
  * LiveDebugger stops working after code reload in [#391](https://github.com/software-mansion/live-debugger/pull/391)

## 0.2.1 (2025-05-12)

### Bug fixes
  * Fixed callback tracing after components switching
  * Allowed iframe in LiveDebugger router for Phoenix 1.8

## 0.2.0 (2025-05-07)

### Features:
  * Components highlighting
  * Chrome DevTools extension support
  * Dark mode
  * Callback traces filtering

### Bug fixes
  * Fix triggering highlighting on hover in [#353](https://github.com/software-mansion/live-debugger/pull/353)
  * Add config to disable LiveDebugger in [#357](https://github.com/software-mansion/live-debugger/pull/357)
  * Fix traces separator after filters updated in [#362](https://github.com/software-mansion/live-debugger/pull/362)

## 0.1.7 (2025-04-29)

### Enhancements:
  * Enhanced UI layout styling and accessibility in [#287](https://github.com/software-mansion/live-debugger/pull/287)
  * Updated styling for scrollbars in [#292](https://github.com/software-mansion/live-debugger/pull/292)
  * Improved components tree styling in [#291](https://github.com/software-mansion/live-debugger/pull/291)
  * Added `server` option to config in [#337](https://github.com/software-mansion/live-debugger/pull/337)

### Bug fixes
  * Fixed z-index of fullscreen button in [#288](https://github.com/software-mansion/live-debugger/pull/288)
  * Fixed id multiplication from components tree in [#286](https://github.com/software-mansion/live-debugger/pull/286)
  * Fixed assigns not scrollable in [#294](https://github.com/software-mansion/live-debugger/pull/294)
  * Fixed components tree with only one node in [#326](https://github.com/software-mansion/live-debugger/pull/326)

## 0.1.6 (2025-04-23)

### Bug fixes
  * Fixed problems with responsive UI on wider screens
  * Fixed UI alignment of fullscreen button in callback traces

## 0.1.5 (2025-04-18)

### Enhancements
  * New routing mechanism
  * Added flash messages
  * UI fixes
  * New installation process

### Bug fixes
  * Fixed initialization console.log message format
  * Fixed error associated with navigating to different LiveView while node is selected
  * Fixed components tree loading error without browser features turned on

## 0.1.4 (2025-03-31)

### Enhancements
  * Better support for nested LiveViews

### Bug fixes
  * Igniter intaller adds LiveDebugger dependency as `only: :dev`

## 0.1.3 (2025-03-27)

### Enhancements
  * New color scheme
  * Added LiveDebugger logo to navber
  * Added igniter installer

### Bug fixes
  * Fixed browser error associated with LiveView dependency mismatch
  * Minor UI fixes

## 0.1.2 (2025-03-20)

### Enhancements
  * Added visual separator between past and "just-loaded" events
  * Changed routing system
  * Improved the way to display Elixir structs

### Bug fixes
  * Fixed bug associated with unexpected exits during state fetching
  * Fixed LiveDebugger crash on OTP 26

## 0.1.1 (2025-03-10)

### Enhancements
  * Split dev assets and prod assets
  * Faster callback traces
  * Refreshing callback traces
  * Refactored LiveViewDiscoveryService
  * Adjusted rate limiting mechanism
  * Added spinner when loading callback body in collapsible

### Bug fixes
  * Fixed debug button styling
  * Fixed display of single entry list
  * Added missing font
  * Fixed collapsible section closing on desktop view

## 0.1.0 (2025-02-27)

### Enhancements
  * New UI ✨
  * Callback tracing is stopped by default
  * Added preview of callback arguments to traces list
  * Added basic nested LiveView support
  * Added “report issue” section


### Bug fixes
  * Fixed error associated with missing ETS table
  * Debug button cannot be lost when changing size of the browser
  * Fixed debug button behavior on right click
  * Fixed issue associated with duplicated HTML ids

## 0.1.0-rc.1 (2025-02-11)

### Enhancements
  * Changed installation process
  * Introduced a new way of handling browser features
  * Made debug button draggable
  * Renamed `Events` sections to `Callback traces`

## 0.1.0-rc.0 (2025-02-06)

### Enhancements
  * Added fullscreen mode for displaying elixir structures
  * Added return icon in desktop view of channel dashboard
  * Removed obsolete logs

### Bug fixes
  * Fixed bug associated with rendering conditional components in nodes tree
  * Fixed loading of historical events
  * Fixed error associated with fetching state of not dead process

## 0.0.3 (2025-02-03)

### Enhancements
  * Refactored library to Application
  * Hiding sidebar after selecting tree node

### Bug fixes
  * Fixed errors associated with PID rediscovery on OTP 26
  * Fixed LiveDebugger button (updated z-index)

## 0.0.2 (2025-01-23)

### Bug fixes
  * Fixed compatibility with LiveView 0.20

## 0.0.1 (2025-01-22)