Releases: six2dez/burp-ai-agent
Releases · six2dez/burp-ai-agent
v0.7.0
Added
- Perplexity backend (#59): dedicated
Perplexityfactory in Settings → Backend with the standard URL / Model / API key / Headers / Timeout fields. Targetshttps://api.perplexity.ai/chat/completions(no/v1prefix) 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 oneActiveScanTargetper 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
.jsonwith 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
OpenAiCompatibleBackendis 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/v1prefix. The bare-host fallback inbuildChatCompletionsUrlnow 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 theresponse_formatfield for that backend even when callers (e.g. the passive scanner) setjsonMode = true. Scanner prompts continue to ask for JSON in the system message.
AgentSettingsschema (additive): 5 new optional fields (perplexityUrl,perplexityModel,perplexityApiKey,perplexityHeaders,perplexityTimeoutSeconds) and 1 new optional field onCustomPromptDefinition(isFavorite). All default to safe values, so saved settings from earlier versions load unchanged. NomigrateIfNeededbump required.- Custom prompt library order on save:
CustomPromptLibraryEditor.snapshot()now persists entries with favorites first. Right-click submenus iterate library order viafilterForMenu, 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 / Riskpill 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 picksINFO/WARN/RISKautomatically (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 insideGridBagLayoutrows, and collapses cleanly when there is nothing to report — no dangling "Advisory:" label remains visible.
Fixed
- Perplexity backend not appearing in the backend dropdown:
BackendRegistrywas registering only 9 hardcoded built-ins (missing Perplexity) because the JVMServiceLoader.load(clazz)overload usesThread.currentThread().contextClassLoader, which under Burp's per-extension classloader cannot see this JAR'sMETA-INF/services/...AiBackendFactoryfile. ServiceLoader silently returned an empty list, the code fell through to the in-code fallback array, and that array did not includePerplexityBackendFactory. Fixed by passingAiBackendFactory::class.java.classLoaderexplicitly toServiceLoader.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 AIpreference is now only enforced against theburp-aibackend, 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 becauseapi.ai().isEnabled()returns false there.AgentSupervisorexposes newrequiresBurpAiAndDisabled(backendId)andisBlockedByBurpAiGate()helpers;ChatPanel,PassiveAiScanner, andActiveAiScannerroute their gating through them. Error messaging on theburp-aistartup path now reads "Burp AI is disabled in Burp Suite settings. Enable 'Use AI' for extensions, or pick a different backend." Regression locked byBurpAiGateScopingTest.
Upgrade Notes
- Perplexity API key: if you previously configured Perplexity via the Generic OpenAI-compatible backend, switch to the dedicated
Perplexityentry in Settings → Backend; the dedicated factory uses the right URL shape and skips the unsupportedresponse_formatfield 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
- @dependabot[bot] made their first contribution in #49
Full Changelog: v0.6.1...v0.7.0
v0.6.1
No changelog section for 0.6.1, falling back to auto-generated notes.
What's Changed
- This PR adds support for
NVIDIA NIMas 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
- @Somchandra17 made their first contribution in #44
- @amrosia made their first contribution in #45
Full Changelog: v0.5.0...v0.6.1
v0.6.0
Breaking Changes
- JAR artifact renamed: the release output is now
Custom-AI-Agent-<version>.jarinstead ofBurp-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 ofOFF. Users with a previously saved explicit selection keep their choice. If you relied on raw outbound traffic by default, switch the mode back toOFFin Settings after upgrading.
Changed
- Privacy-by-default: Default privacy mode is now
BALANCEDinstead ofOFFfor 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-Secretand their non-prefixed variants; Basic auth values are replaced withBasic [REDACTED]; URL query parameters namedaccess_token,api_key,apikey,auth,token,key,secret,password,pwd,session,sid,codehave their value redacted in-place. - Vulnerability class inventory: removed the duplicate
RACE_CONDITIONentry; race-condition issues now use the single canonicalRACE_CONDITION_TOCTOU. A newVulnClassInventoryTestlocks the 62-class count plus severity and remediation coverage, so any future drift inVulnClassfails the build. - JAR artifact renamed to
Custom-AI-Agent-<version>.jar. CI, release workflows, andCONTRIBUTING.mdupdated. See Breaking Changes above.
Added
- NVIDIA NIM backend (#new): 10th backend (
nvidia-nim) targetingintegrate.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, andallowUnpreprocessedProxyHistorysettings (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
Sendor abort withCancel. - 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 promptssubmenu 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 anShow in context menutoggle and ordered from Settings → Prompt Templates (Add / Edit / Duplicate / Delete / Move Up / Move Down). ACustom…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 —promptIdandpromptTitle. These flow intoAuditLoggerprompt bundles (~/.burp-ai-agent/bundles/) and thepromptrecords inaudit.jsonl, plus theAiRequestLoggermetadata map, making runs reproducible and filterable (e.g.jq 'select(.type=="prompt") | .payload.promptSource').PromptBundleschema gained four optional fields; existing bundles on disk remain readable. - Build & CI hygiene:
ktlintplugin (12.1.1) withktlintFormat(auto-fix) andktlintCheck(verification) Gradle tasks; ktlint gate in CI.jacocoplugin with HTML + XML coverage reports generated on every./gradlew testand published as a CI artifact.- CycloneDX SBOM (
cyclonedxBom) generated on release, published asbom.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.mdsection 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.mdgained 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:
SettingsPanelandMainTabown separateAgentSettingsRepositoryinstances, 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.ktafter 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
preprocessedandrawshapes.
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
allowUnpreprocessedProxyHistoryin Settings → MCP restores the raw shape. - Packagers / downstream scripts: update artifact name from
Burp-AI-Agent-*.jartoCustom-AI-Agent-*.jar.
What's Changed
- This PR adds support for
NVIDIA NIMas 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
- @Somchandra17 made their first contribution in #44
- @amrosia made their first contribution in #45
Full Changelog: v0.5.0...v0.6.0
v0.5.0
Full Changelog: v0.4...v0.5.0
v0.4
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.
- New GitHub Copilot CLI backend with non-interactive prompt mode (
- 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
AiActivityEntrywith 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), andChatPanel(tool chain steps).
- Real-time activity logger (
- 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).
- Optional file-based persistence for the AI Request Logger with configurable rotation via JVM system properties (
- 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-styletool_calls/function_callformats.
- Robust JSON tool call extraction from AI responses supporting fenced code blocks (
- System Prompt Support:
AgentConnection.send()now accepts asystemPromptparameter; 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:
ContextCollectorcaps total serialized size of context items to prevent oversized payloads from exceeding prompt limits.
- Backend Retry Diagnostics:
BackendDiagnostics.RetryEventmodel with structured metadata (attempt number, delay, reason) logged to the AI Request Logger asRETRYactivities.
v0.3.0
[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.
- Added unit tests for bearer token authorization and constant-time comparison in
- 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
IssueUtilshelper for canonical issue naming, equivalent issue detection, and safe issue detail HTML formatting.
- New
- Redaction Cleanup API:
- Added
Redaction.clearMappings(salt: String? = null)to support deterministic cleanup of anonymization mappings.
- Added
- 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
TokenTrackerflow accounting (input/output chars + token estimate) for chat and passive scanning paths.
- Added shared
- 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
HealthCheckResultcontract (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.
- Added
- HTTP Backend Runtime Telemetry:
- Added usage-aware connection support so HTTP backends can report real token usage when providers expose
usagefields.
- Added usage-aware connection support so HTTP backends can report real token usage when providers expose
- 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).
- Added MCP server integration tests (
- CI Workflows for Reliability:
- Added
nightlyRegressionTestGradle task for heavy suites (integration/concurrency/resilience). - Added
.github/workflows/nightly-regression.ymlwith scheduled/manual execution and artifact publishing.
- Added
- Settings Schema Migration and Operator Docs:
- Added schema version marker
settings.schema.versionwith additive/idempotent migration flow. - Added operator runbooks:
docs/mcp-hardening.md,docs/ui-safety-guide.md,docs/backend-troubleshooting.md.
- Added schema version marker
Changed
- Duplicate Issue Logic Consolidation:
- Replaced duplicated issue matching/canonicalization code in Passive Scanner, Active Scanner, MCP tools, and UI actions with
IssueUtils.
- Replaced duplicated issue matching/canonicalization code in Passive Scanner, Active Scanner, MCP tools, and UI actions with
- 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.
- Refactored
- Text Sanitization Performance:
- Cached regex patterns in
IssueTextto avoid recompilation on each call.
- Cached regex patterns in
- 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.
- Replaced full-header forwarding with security-focused header filtering (allowlist + noise denylist + custom
- Context Collection Payload Size Control:
ContextCollectornow supports body truncation controls and compact JSON output to reduce manual action token usage.- Context menu actions now pass context size/compact settings from
AgentSettingsinstead 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.
- Main tab backend badge now supports richer status transitions (
- 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
OkHttpClientinstances keyed by backend URL/timeout and close pools centrally on shutdown.
- HTTP backends now reuse shared
- 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.
- PR pipeline now uses a fast verification gate (
- 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
availabilityCachelifecycle by clearing it onreload()andshutdown(). - Fixed initialization-order safety so cache is always available during startup/reload.
- Fixed
- 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
Full Changelog: v0.2.0...v0.2.1
v0.2.0
[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
Full Changelog: v0.1.3...v0.1.4
https://github.com/six2dez/burp-ai-agent/blob/main/CHANGELOG.md
Full Changelog: v0.1.3...v0.1.4
v0.1.3
Full Changelog: v0.1.2...v0.1.3