Skip to content

Releases: six2dez/burp-ai-agent

v0.7.0

15 May 09:01

Choose a tag to compare

Added

  • Perplexity backend (#59): dedicated Perplexity factory in Settings → Backend with the standard URL / Model / API key / Headers / Timeout fields. Targets https://api.perplexity.ai/chat/completions (no /v1 prefix) and ships sensible defaults for the Sonar family (sonar, sonar-pro, sonar-reasoning, sonar-reasoning-pro, sonar-deep-research, r1-1776). The model is a free-form field so any future Perplexity model name works without an extension update. ServiceLoader registers the factory automatically; no MCP / settings migration needed.
  • AI scan on selected insertion point (#46): new right-click entry "AI Scan on Selected Insertion Point" that scopes an active scan to the parameter / header / JSON field overlapping the user's text selection in the request editor. Resolves URL/BODY/COOKIE parameters via Montoya's ParsedHttpParameter.valueOffsets(), falls back to header line matching and JSON/XML body field substring match. Reuses the existing vuln class picker (showVulnClassSelectionDialog) and queues one ActiveScanTarget per selected class with priority 60 so insertion-point scans jump ahead of the background passive queue. The menu item is hidden when there is no editor selection or the selection misses every candidate.
  • Custom prompt library UX (#47): the Settings → Prompt Templates editor gains:
    • A live search filter that matches case-insensitively across title and prompt text.
    • A ★ Favorite toggle that pins entries to the top — favorites are persisted, surfaced first in the right-click submenus, and round-trip through import/export.
    • JSON Import / Export buttons. Export writes a pretty-printed .json with favorites first; import merges by id (existing entries replaced, new ones appended) and de-duplicates the input file defensively so malformed exports cannot introduce ambiguous ids.
    • Move Up / Down now respects the favorites grouping so reorders cannot scramble it.

Changed

  • OpenAiCompatibleBackend is more configurable, no behavior change for existing backends: two new constructor parameters with backwards-compatible defaults, used to wire Perplexity into the same code path as NVIDIA NIM / Generic OpenAI-compatible without forking the connection class.
    • chatCompletionsBasePath: String = "/v1/chat/completions" — overridden by Perplexity to "/chat/completions" because its API has no /v1 prefix. The bare-host fallback in buildChatCompletionsUrl now uses this value; explicit /v\d+ user URLs are unaffected.
    • supportsJsonObjectResponseFormat: Boolean = true — Perplexity's Sonar API rejects {"type":"json_object"}, so the connection skips the response_format field for that backend even when callers (e.g. the passive scanner) set jsonMode = true. Scanner prompts continue to ask for JSON in the system message.
  • AgentSettings schema (additive): 5 new optional fields (perplexityUrl, perplexityModel, perplexityApiKey, perplexityHeaders, perplexityTimeoutSeconds) and 1 new optional field on CustomPromptDefinition (isFavorite). All default to safe values, so saved settings from earlier versions load unchanged. No migrateIfNeeded bump required.
  • Custom prompt library order on save: CustomPromptLibraryEditor.snapshot() now persists entries with favorites first. Right-click submenus iterate library order via filterForMenu, so the visible menu order matches the editor without any extra sorting.
  • Safety indicator in the main tab header: replaced the full-width red "safety strip" under the top bar with a compact Safety: OK / Warn / Risk pill placed alongside the existing MCP / AI / Session badges. The pill background encodes the level (statusRunning / statusTerminal / statusCrashed) and the full four-flag breakdown (Privacy mode, MCP exposure, Unsafe state, passive/active scanners) stays available as an HTML tooltip. Theme switches in Burp re-paint the pill without a plugin reload.
  • Settings panel — new "Custom Prompts" tab: the previous "Prompt Templates" tab is split in two. "Prompt Templates" now hosts only the request / issue prompt fields; a new dedicated Custom Prompts tab consolidates the prompt library editor and the BountyPrompt integration that used to live as nested sections of the prompts tab. No settings keys change, so saved configurations load unchanged.
  • Settings advisory banners (SubtleNotice): Privacy & Logging and MCP Server tabs now render advisory state through a single theme-aware banner component instead of three stacked red labels. The banner picks INFO / WARN / RISK automatically (Privacy OFF with MCP on, Privacy STRICT with active scanner on, external MCP without allowed origins, external + Unsafe MCP, etc.), supports multi-line HTML wrapping inside GridBagLayout rows, and collapses cleanly when there is nothing to report — no dangling "Advisory:" label remains visible.

Fixed

  • Perplexity backend not appearing in the backend dropdown: BackendRegistry was registering only 9 hardcoded built-ins (missing Perplexity) because the JVM ServiceLoader.load(clazz) overload uses Thread.currentThread().contextClassLoader, which under Burp's per-extension classloader cannot see this JAR's META-INF/services/...AiBackendFactory file. ServiceLoader silently returned an empty list, the code fell through to the in-code fallback array, and that array did not include PerplexityBackendFactory. Fixed by passing AiBackendFactory::class.java.classLoader explicitly to ServiceLoader.load() so all registered factories resolve regardless of which classloader Burp installs as the thread context (also benefits any future drop-in backend). PerplexityBackendFactory() is additionally added to the fallback list as a belt-and-suspenders safety net.
  • Burp Pro "Use AI" toggle no longer blocks independent backends: Burp Pro's Use AI preference is now only enforced against the burp-ai backend, which delegates inference to Burp's bundled AI provider. Every other backend in the plugin — Ollama, LM Studio, OpenAI-compatible, NVIDIA NIM, Perplexity, and all CLI agents (Claude, Codex, Gemini, OpenCode, Copilot) — is independent of Burp's AI features and now keeps working when the toggle is off. Burp Community users were affected by the same gate because api.ai().isEnabled() returns false there. AgentSupervisor exposes new requiresBurpAiAndDisabled(backendId) and isBlockedByBurpAiGate() helpers; ChatPanel, PassiveAiScanner, and ActiveAiScanner route their gating through them. Error messaging on the burp-ai startup path now reads "Burp AI is disabled in Burp Suite settings. Enable 'Use AI' for extensions, or pick a different backend." Regression locked by BurpAiGateScopingTest.

Upgrade Notes

  • Perplexity API key: if you previously configured Perplexity via the Generic OpenAI-compatible backend, switch to the dedicated Perplexity entry in Settings → Backend; the dedicated factory uses the right URL shape and skips the unsupported response_format field automatically.
  • Saved prompt libraries: existing entries load with isFavorite = false. Open Settings → Custom Prompts and click ★ Favorite on the prompts you want pinned; the edit dialog also exposes the same toggle.
  • Custom Prompts moved: if you previously edited the prompt library or BountyPrompt under Settings → Prompt Templates, those controls now live under the new Settings → Custom Prompts tab. No data migration required.
  • Burp Pro users: with the "Use AI" gate fix, leaving Burp Pro's AI toggle off no longer prevents the plugin from using independent backends. If you intentionally want to disable AI plugin-wide, disable it via the plugin (stop session / disable passive + active scanners) rather than relying on Burp's preference.

What's Changed

  • Bump actions/upload-artifact from 4 to 7 by @dependabot[bot] in #49
  • Bump actions/checkout from 4 to 6 by @dependabot[bot] in #50
  • Bump gradle/actions from 4 to 6 by @dependabot[bot] in #51
  • Bump softprops/action-gh-release from 2 to 3 by @dependabot[bot] in #52
  • Bump the jackson group with 2 updates by @dependabot[bot] in #55
  • Bump org.junit.jupiter:junit-jupiter from 5.11.3 to 6.0.3 by @dependabot[bot] in #56
  • Bump org.gradle.toolchains.foojay-resolver-convention from 0.9.0 to 1.0.0 by @dependabot[bot] in #57
  • Bump actions/setup-java from 4 to 5 by @dependabot[bot] in #58

New Contributors

Full Changelog: v0.6.1...v0.7.0

v0.6.1

05 May 16:20

Choose a tag to compare

No changelog section for 0.6.1, falling back to auto-generated notes.

What's Changed

  • This PR adds support for NVIDIA NIM as a backend in Burp AI Agent. by @Somchandra17 in #44
  • Improve proxy_http_history with response preprocessing, ordering, and request limits by @amrosia in #45

New Contributors

Full Changelog: v0.5.0...v0.6.1

v0.6.0

22 Apr 14:56

Choose a tag to compare

Breaking Changes

  • JAR artifact renamed: the release output is now Custom-AI-Agent-<version>.jar instead of Burp-AI-Agent-<version>.jar. Update any script, CI job, packaging step, or download URL that hard-codes the old filename.
  • Default privacy mode changed: new installs and users without an explicitly saved privacy mode now default to BALANCED (cookie stripping + token redaction) instead of OFF. Users with a previously saved explicit selection keep their choice. If you relied on raw outbound traffic by default, switch the mode back to OFF in Settings after upgrading.

Changed

  • Privacy-by-default: Default privacy mode is now BALANCED instead of OFF for new users and users who never explicitly chose a mode. See Breaking Changes above.
  • Redaction coverage expanded: the token redactor now also strips X-Auth-Token, X-Access-Token, X-Session-Token, X-CSRF-Token, X-Api-Secret, X-Client-Secret and their non-prefixed variants; Basic auth values are replaced with Basic [REDACTED]; URL query parameters named access_token, api_key, apikey, auth, token, key, secret, password, pwd, session, sid, code have their value redacted in-place.
  • Vulnerability class inventory: removed the duplicate RACE_CONDITION entry; race-condition issues now use the single canonical RACE_CONDITION_TOCTOU. A new VulnClassInventoryTest locks the 62-class count plus severity and remediation coverage, so any future drift in VulnClass fails the build.
  • JAR artifact renamed to Custom-AI-Agent-<version>.jar. CI, release workflows, and CONTRIBUTING.md updated. See Breaking Changes above.

Added

  • NVIDIA NIM backend (#new): 10th backend (nvidia-nim) targeting integrate.api.nvidia.com — configurable URL, model id, API key, extra headers, and request timeout. Participates in the standard backend registry, health check, and AI logger flows like other HTTP backends.
  • MCP proxy history preprocessing: the MCP tools that surface Burp's proxy history now run through a preprocessor pipeline that optionally filters binary content types, caps per-response body size, limits the total items returned per request, and orders results newest-first. Adds preprocessProxyHistory, preprocessMaxResponseSizeKb, preprocessFilterBinaryContent, preprocessAllowedContentTypes, proxyHistoryMaxItemsPerRequest, proxyHistoryNewestFirst, and allowUnpreprocessedProxyHistory settings (surfaced in Settings → MCP). The unpreprocessed option is off by default; turning it on is an opt-in that lets MCP clients request raw history when they explicitly need it.
  • Context preview dialog: right-click actions that auto-capture context from Burp (requests, issues, site map) now open a modal showing the prompt, privacy mode, and the exact redacted JSON that will be sent to the AI. The user can confirm with Send or abort with Cancel.
  • Prompt-injection hardening in scanner prompts: passive scanner (single + batch) and adaptive payload generator now instruct the model to treat captured HTTP traffic and observed context as untrusted data, not as instructions, even if a response body tries to override the prompt.
  • Custom prompt library: new Custom prompts submenu in both the HTTP request/response context menu and the scanner issue context menu. Saved prompts are tagged per applicability (HTTP_SELECTION, SCANNER_ISSUE, or both) with an Show in context menu toggle and ordered from Settings → Prompt Templates (Add / Edit / Duplicate / Delete / Move Up / Move Down). A Custom… entry at the bottom of the submenu opens a free-form editor for ad-hoc prompts, optionally seeded from a saved one. Library persists as JSON under settings schema v3.
  • Launch metadata in audit & logging: every context-driven chat launch now carries promptSource (FIXED / CUSTOM_SAVED / CUSTOM_AD_HOC), contextKind (HTTP_SELECTION / SCANNER_ISSUE), and — for saved custom prompts — promptId and promptTitle. These flow into AuditLogger prompt bundles (~/.burp-ai-agent/bundles/) and the prompt records in audit.jsonl, plus the AiRequestLogger metadata map, making runs reproducible and filterable (e.g. jq 'select(.type=="prompt") | .payload.promptSource'). PromptBundle schema gained four optional fields; existing bundles on disk remain readable.
  • Build & CI hygiene:
    • ktlint plugin (12.1.1) with ktlintFormat (auto-fix) and ktlintCheck (verification) Gradle tasks; ktlint gate in CI.
    • jacoco plugin with HTML + XML coverage reports generated on every ./gradlew test and published as a CI artifact.
    • CycloneDX SBOM (cyclonedxBom) generated on release, published as bom.json.
    • Multi-OS test matrix on PRs: ubuntu-latest, macos-latest, windows-latest (JAR + coverage still only uploaded from Linux).
    • Release pipeline now uploads the release JAR, a matching SHA-256 checksum, and the SBOM, and uses release notes extracted from the matching CHANGELOG.md section of the tagged version.
  • Community and project hygiene files: CODE_OF_CONDUCT.md, .github/dependabot.yml (gradle + github-actions, weekly), .github/pull_request_template.md, and YAML-form issue templates (bug_report.yml, feature_request.yml, config.yml) with links to Security Advisories, Discussions, and docs.
  • Operational docs: docs/mcp-hardening.md gained a Credential Storage section documenting how the TLS keystore password and MCP bearer token are persisted and rotated.

Fixed

  • Stale settings cache across UI instances: SettingsPanel and MainTab own separate AgentSettingsRepository instances, each with its own in-memory cache. Before this fix, saving any setting (prompts, backends, privacy mode, scanner config) from the Settings tab could leave the right-click menu reading a stale snapshot until Burp restart. AgentSettingsRepository.invalidate() is now called on every save-through-Settings event so the next menu build re-reads from preferences.
  • Runtime defaults restored: token budget and CLI idle-timeout defaults were missing from Defaults.kt after an earlier refactor, causing some backends to launch with zero-valued limits. Defaults are now explicit again.
  • MCP preprocess change detection: fixed a case where changing proxy-history preprocessing settings did not invalidate the tool schema, so MCP clients kept seeing the old schema until the MCP server restarted. Also gated the proxy-history tool schema on the active preprocessor settings so clients can distinguish between preprocessed and raw shapes.

Upgrade Notes

  • Settings schema v3: first launch of v0.6.0 migrates settings transparently (AgentSettings.migrateIfNeeded). No user action required.
  • Custom prompt library: existing saved prompts (if any) are preserved; the new submenu appears automatically on HTTP and Scanner Issue context menus.
  • MCP clients: if the proxy-history tool schema looks different, it is because preprocessing now gates the schema. Toggling allowUnpreprocessedProxyHistory in Settings → MCP restores the raw shape.
  • Packagers / downstream scripts: update artifact name from Burp-AI-Agent-*.jar to Custom-AI-Agent-*.jar.

What's Changed

  • This PR adds support for NVIDIA NIM as a backend in Burp AI Agent. by @Somchandra17 in #44
  • Improve proxy_http_history with response preprocessing, ordering, and request limits by @amrosia in #45

New Contributors

Full Changelog: v0.5.0...v0.6.0

v0.5.0

02 Apr 11:05

Choose a tag to compare

Full Changelog: v0.4...v0.5.0

v0.4

07 Mar 09:10
d017750

Choose a tag to compare

Full Changelog: v0.3.0...v0.4

[0.4.0] - 2026-03-06

  • Copilot CLI Backend:
    • New GitHub Copilot CLI backend with non-interactive prompt mode (-p), quiet output (--quiet), and large prompt file-based fallback for payloads exceeding 32k chars.
    • Configurable command in AI Backend settings tab; registered via ServiceLoader for drop-in availability.
  • AI Request Logger:
    • Real-time activity logger (AiRequestLogger) capturing all AI interactions: prompts, responses, MCP tool calls, retries, errors, and scanner dispatches.
    • Trace ID correlation across chat (chat-turn-{UUID}), scanner (scanner-job-{UUID}), and agent (agent-turn-{UUID}) flows for end-to-end observability.
    • Structured AiActivityEntry with timestamp, activity type, source, backend, duration, character counts, token usage, and arbitrary metadata.
    • Integration in AgentSupervisor (prompt/response/error), PassiveAiScanner (send/timeout/error/completion), McpToolHandlers (per-tool call with policy decisions and arg/result hashes), and ChatPanel (tool chain steps).
  • AI Logger UI Tab:
    • New "AI Logger" tab in bottom settings panel with live filterable table, detail inspector pane, and JSON export.
    • Preset filters (Errors only, Slow >=3s, Tool failures), type/source dropdowns, and trace ID search for quick diagnosis.
  • Rolling JSONL Persistence:
    • Optional file-based persistence for the AI Request Logger with configurable rotation via JVM system properties (burp.ai.logger.rolling.enabled, .dir, .maxBytes, .maxFiles).
  • Auto Tool Chaining:
    • Chat automatically chains up to 8 sequential MCP tool calls per interaction when the AI response contains a tool call JSON payload.
    • All chained calls share the same trace ID for end-to-end correlation in the AI Logger.
  • ToolCallParser:
    • Robust JSON tool call extraction from AI responses supporting fenced code blocks (json/tool), bare JSON objects, and nested OpenAI-style tool_calls/function_call formats.
  • System Prompt Support:
    • AgentConnection.send() now accepts a systemPrompt parameter; HTTP backends (Ollama, LM Studio, OpenAI-compatible) receive agent profile instructions via the system role instead of inlining them in user prompts.
  • Per-Session Token Tracking:
    • Chat sessions track cumulative input/output token counts with visual token bars showing session-level and global usage in the sidebar.
  • Context Collection Size Cap:
    • ContextCollector caps total serialized size of context items to prevent oversized payloads from exceeding prompt limits.
  • Backend Retry Diagnostics:
    • BackendDiagnostics.RetryEvent model with structured metadata (attempt number, delay, reason) logged to the AI Request Logger as RETRY activities.

v0.3.0

26 Feb 17:01

Choose a tag to compare

[0.3.0] - 2026-02-24

Added

  • Security Test Coverage (MCP):
    • Added unit tests for bearer token authorization and constant-time comparison in KtorMcpServerManager.
    • Added unit tests for loopback TLS connection hardening behavior in McpSupervisor.
  • Backend Registry Test Coverage:
    • Added tests for availability cache behavior and cache reset on reload/shutdown.
  • Scanner/Issue Utilities Test Coverage:
    • Added tests for shared issue canonicalization, equivalent-issue detection, and HTML detail formatting.
    • Added passive scanner confidence-threshold test to ensure AI findings below 85% confidence are skipped.
  • Redaction Lifecycle Test Coverage:
    • Added tests for per-salt and global host mapping cleanup.
  • Shared Issue Utilities:
    • New IssueUtils helper for canonical issue naming, equivalent issue detection, and safe issue detail HTML formatting.
  • Redaction Cleanup API:
    • Added Redaction.clearMappings(salt: String? = null) to support deterministic cleanup of anonymization mappings.
  • Token Optimization Controls (Passive + Context):
    • Added persistent passive scanner controls for endpoint dedup TTL, response-fingerprint dedup TTL, prompt-cache TTL, and cache sizes.
    • Added persistent passive scanner controls for request/response body prompt caps, maximum header count, and maximum parameter count.
    • Added persistent manual-context controls for request/response body truncation and compact JSON serialization.
  • Passive Scanner Prompt Result Cache:
    • Added prompt-hash result caching with TTL-aware reuse and cache-hit audit events to avoid repeated backend calls for identical payloads.
  • Token Usage Telemetry:
    • Added shared TokenTracker flow accounting (input/output chars + token estimate) for chat and passive scanning paths.
  • Active Scanner Queue Panel:
    • Added a dedicated queue viewer dialog with live refresh, per-item cancellation, and full queue clearing controls.
    • Added queue snapshot APIs and selective cancellation support for queued active scan targets.
  • Backend Health Contract and Diagnostics UX:
    • Added HealthCheckResult contract (Healthy, Degraded, Unavailable, Unknown) at backend level.
    • Added backend-level health check integration in registry/supervisor flows.
    • Added "Test connection" actions in backend settings panels.
  • HTTP Backend Runtime Telemetry:
    • Added usage-aware connection support so HTTP backends can report real token usage when providers expose usage fields.
  • Testing Expansion (Integration + Concurrency + Resilience):
    • Added MCP server integration tests (McpServerIntegrationTest) covering health and auth/shutdown endpoints.
    • Added MCP limiter concurrency stress tests (McpRequestLimiterConcurrencyTest).
    • Added active scanner queue backpressure tests (ScannerQueueBackpressureTest).
    • Added supervisor auto-restart policy tests (AgentSupervisorRestartPolicyTest).
    • Added backend health contract tests (BackendHealthCheckTest) and settings migration tests (AgentSettingsMigrationTest).
  • CI Workflows for Reliability:
    • Added nightlyRegressionTest Gradle task for heavy suites (integration/concurrency/resilience).
    • Added .github/workflows/nightly-regression.yml with scheduled/manual execution and artifact publishing.
  • Settings Schema Migration and Operator Docs:
    • Added schema version marker settings.schema.version with additive/idempotent migration flow.
    • Added operator runbooks: docs/mcp-hardening.md, docs/ui-safety-guide.md, docs/backend-troubleshooting.md.

Changed

  • Duplicate Issue Logic Consolidation:
    • Replaced duplicated issue matching/canonicalization code in Passive Scanner, Active Scanner, MCP tools, and UI actions with IssueUtils.
  • Shutdown Reliability and Consistency:
    • Refactored App.shutdown() to use a unified safe shutdown step wrapper with consistent error handling.
    • Added redaction mapping cleanup to app shutdown flow.
  • Text Sanitization Performance:
    • Cached regex patterns in IssueText to avoid recompilation on each call.
  • Passive Scanner Request Filtering and Deduplication:
    • Added pre-AI traffic pruning for low-value responses (204/304, static assets, tiny bodies without interesting headers).
    • Added endpoint-path and response-fingerprint dedup windows to avoid repeated analysis of equivalent traffic.
  • Passive Scanner Prompt Compaction:
    • Replaced full-header forwarding with security-focused header filtering (allowlist + noise denylist + custom x-* handling).
    • Reduced parameter verbosity and removed cache-busting parameters from AI metadata.
    • Added content-aware body compaction (JSON array sampling + HTML head/form/inline-script extraction).
    • Updated passive scanner base prompt to a compact, evidence-first schema while preserving strict JSON output constraints.
  • Context Collection Payload Size Control:
    • ContextCollector now supports body truncation controls and compact JSON output to reduce manual action token usage.
    • Context menu actions now pass context size/compact settings from AgentSettings instead of relying on implicit defaults.
  • HTTP Backend Conversation Trimming:
    • Conversation history trimming now enforces both message count and total character budget to prevent prompt blow-up in long sessions.
  • BountyPrompt Context Limits:
    • Reduced default tag/chunk limits and added category-specific bounds to lower prompt size while keeping actionable context.
  • Passive Scanner Settings UX:
    • Expanded AI Passive Scanner tab with advanced token/performance controls and live runtime application of optimization settings.
  • Backend Health Status Presentation:
    • Main tab backend badge now supports richer status transitions (AI: OK, AI: Degraded, AI: Offline) with explanatory tooltips.
  • Supervisor Health Flow:
    • Backend health resolution now routes through backend registry health contracts with compatibility fallback to availability checks.
  • HTTP Backend Client Lifecycle:
    • HTTP backends now reuse shared OkHttpClient instances keyed by backend URL/timeout and close pools centrally on shutdown.
  • Token Estimation Accuracy:
    • Token estimates now use backend-specific calibration factors and mix real usage values with estimated remainder when available.
  • CI Gate Strategy:
    • PR pipeline now uses a fast verification gate (test -PexcludeHeavyTests=true) while preserving heavy suites for nightly runs.
  • Architecture and README References:
    • Updated architecture and README docs to include schema migration behavior and operator playbook links.
  • Ollama context limit:
    • Updated default Ollama Max Context Window to 256000.

Fixed

  • Backend Registry Cache Lifecycle:
    • Fixed availabilityCache lifecycle by clearing it on reload() and shutdown().
    • Fixed initialization-order safety so cache is always available during startup/reload.
  • Repeated Passive AI Cost on Equivalent Traffic:
    • Fixed repeated backend invocations for semantically identical passive traffic by combining endpoint/fingerprint dedup with prompt-result caching.
  • Unbounded Manual Context Growth:
    • Fixed manual context actions sending oversized request/response payloads and pretty-printed JSON by introducing truncation + compact encoding.
  • Long-Session Prompt Inflation (HTTP Backends):
    • Fixed runaway history growth by adding total-character trimming in conversation history management.
  • HTTP Backend Client Churn:
    • Fixed repeated per-request HTTP client construction that prevented efficient connection reuse.
  • Legacy Settings Drift:
    • Fixed legacy preference normalization for MCP allowed origins and old Gemini default command values during migration.

Full Changelog: v0.2.1...v0.3.0

v0.2.1

11 Feb 11:04

Choose a tag to compare

Full Changelog: v0.2.0...v0.2.1

v0.2.0

09 Feb 22:42

Choose a tag to compare

[0.2.0] - 2026-02-09

Added

  • Chat UI Overhaul: ChatGPT-style message bubbles with timestamps, hover-copy, and improved streaming layout.
  • Session Persistence: Chat sessions (titles, messages, usage stats) are auto-saved and restored across Burp restarts.
  • Chat Export: Export any session as Markdown via context menu or shortcut.
  • Keyboard Shortcuts: New session, delete session, clear chat, export chat, and toggle settings panel.
  • Cancel In-Flight Requests: Cancel current AI response directly from the chat UI.
  • Usage Stats Sidebar: Total messages and per-backend usage displayed in the sessions sidebar.
  • Backend Availability Filtering: Backend selector only shows backends that are available on this machine.
  • Cross-Platform CLI Resolution: Robust PATH discovery (login shell capture + fallbacks) and executable resolution.
  • Markdown Rendering Enhancements: Headings, blockquotes, horizontal rules, links, inline code, and improved code block styling.

Changed

  • Settings Panel UX: Collapsible settings panel with a compact toggle bar and improved focus styling.
  • Chat History Handling: Controlled CLI history size to avoid oversized prompts while preserving context.
  • MCP Tool Errors: Cleaner, action-oriented validation errors for missing tool arguments.

Fixed

  • CLI Discovery Reliability: Better detection of CLI tools when Burp is launched from a GUI environment.
  • Chat Session Backend Tracking: Sessions now track the last backend used rather than only the creation backend.
  • UI State Safety: Prevent stuck “sending” states when session panels are missing.
  • Chat Input Shortcuts: Shift+Enter now reliably inserts a new line while Enter sends.
  • Chat Persistence Scope: Chat history now persists per Burp project (with one-time migration from global storage).
  • Issue Detail Formatting: AI Active and Passive issues now render line breaks and indented sections reliably.

Full Changelog: v0.1.4...v0.2.0

v0.1.4

06 Feb 14:55

Choose a tag to compare

v0.1.3

01 Feb 21:43

Choose a tag to compare

Full Changelog: v0.1.2...v0.1.3