What's Changed
- LAM-2433: CLI alert writes via Next.js, alert reads via SQL by @laminar-coding-agent[bot] in #2629
- LAM-2433: dashboards CLI; dashboard writes and chart checks move from app-server to Next.js by @kolbeyang in #2641
- feat: EE license keys and 30-day trial UI, usage telemetry domains (LAM-2415) by @laminar-coding-agent[bot] in #2644
- feat: Laminar Enterprise License (ELv2) policy page + privacy heartbeat wording (LAM-2415) by @laminar-coding-agent[bot] in #2645
- feat(agent): run the Laminar Agent on Pi Durable (LAM-2466) by @laminar-coding-agent[bot] in #2651
- feat: bump memory by @olzhik11 in #2654
- feat(agent): store project_id on agent_records and agent_document_revisions by @olzhik11 in #2655
- LAM-2374: Slack and in-app signal reports use the email report format by @laminar-coding-agent[bot] in #2601
- fix(agent-versioning): mask ids in prompt lines by @laminar-coding-agent[bot] in #2602
- feat(auth): Okta SSO with SCIM-managed workspace membership by @skull8888888 in #2656
- feat(db): mirror agent repo sandbox tables (0126) by @kolbeyang in #2657
- chore(notifications): "Clusters" section cleanup + colored up/down markers in Slack reports by @laminar-coding-agent[bot] in #2658
- chore(app-server): remove dead LLM streaming and Slack thread code by @kolbeyang in #2659
- LAM-2474: align sidebar bottom cards with main content by @laminar-coding-agent[bot] in #2660
- fix(email): neutral gray for signal report % change (LAM-2468) by @laminar-coding-agent[bot] in #2652
- LAM-2462: trial usage-exhausted email + trial-ended email by @laminar-coding-agent[bot] in #2646
- fix: advertise mcp trace id as a string with regex instead of uuid by @dinmukhamedm in #2667
- fix(email): signal event email link chips + severity kicker (OSS port) by @kolbeyang in #2668
- feat(frontend): unified API error interface — apiHandler, ApiError, internalApiHandler (LAM-2456) by @laminar-coding-agent[bot] in #2642
- write trace tags from the API to trace tags, not span tags by @dinmukhamedm in #2672
- LAM-2460: audit log storage and write path (1/4) by @laminar-coding-agent[bot] in #2661
- LAM-2460: frontend audit wrappers, security events and audit log page (2/4) by @laminar-coding-agent[bot] in #2662
- LAM-2460: audit every mutating route and trace reads (3/4) by @laminar-coding-agent[bot] in #2663
- LAM-2460: audit SQL queries, the /v1 API, CLI and MCP (4/4) by @laminar-coding-agent[bot] in #2664
- feat(notifications): color the Slack report's up/down markers by @laminar-coding-agent[bot] in #2675
- feat(signals): move signal_events to ReplacingMergeTree (LAM-2490) by @laminar-coding-agent[bot] in #2674
- fix(audit): don't crash audited routes without dynamic segments by @Rainhunter13 in #2677
- lower signal events index granularity by @dinmukhamedm in #2678
- fix(audit): never let audit recording break or delay the response by @laminar-coding-agent[bot] in #2679
- LAM-2497: add /v1/cli/tag, CLI twin of /v1/tag by @laminar-coding-agent[bot] in #2680
- silences unknown workspace tier logs on self-hosted instances by @dinmukhamedm in #2681
- LAM-2501: drop empty reasoning parts in AI SDK parser + run frontend tests in CI by @laminar-coding-agent[bot] in #2683
- Mask dates and ids in stored agent version text by @Rainhunter13 in #2684
- fix(notifications): dot the Slack report's signal headline only by @laminar-coding-agent[bot] in #2690
- chore(frontend): deny all dependency build scripts (LAM-2507) by @laminar-coding-agent[bot] in #2691
- fix(mq): manual RabbitMQ reconnection instead of lapin auto-recover (LAM-2467) by @laminar-coding-agent[bot] in #2653
- bump vulnerable deps; bump action versions by @dinmukhamedm in #2693
- refactor topology.rs to use standard way to declare queues by @dinmukhamedm in #2699
- LAM-2510: consolidate app-server crypto backends on aws-lc-rs by @laminar-coding-agent[bot] in #2697
- chore: drop unused libfontconfig from the app-server docker by @dinmukhamedm in #2701
- chore(ci): stop backend PR runs paying for a cold cache every branch by @laminar-coding-agent[bot] in #2698
- LAM-2480: Identify agents by detected definitions by @laminar-coding-agent[bot] in #2685
- Add signal_notes table (migration 0128) by @Rainhunter13 in #2704
Full Changelog: v0.3.3...v0.3.4