March 12, 2026
Conversion tracking across the marketing site and app, clearer RFP generation progress, blog deploy fixes, CI/CD pipeline speed optimizations, faster RFP generation, lighter-weight industry research, and optimized AI model for section generation.
Conversion tracking across the marketing site and app, clearer RFP generation progress tracking, simplified planning phase, expanded review failure diagnostics, optimized AI model for faster section generation, RFP generation progress fix, duplicate status fix, quality review placement fix, app version display fix, blog post deploy fix, CI/CD speed optimizations, faster RFP generation, lighter-weight industry research, and routine dependency maintenance.
New
- Conversion tracking. Analytics now tracks key conversion events (sign-ups, trial starts, pricing views, demo requests, and blog engagement) across both the marketing site and the app. Cross-domain tracking preserves user sessions between the two sites, so you can measure the full journey from first visit to conversion. The tracking handles ad blockers gracefully, ensuring reliable data even when browser extensions interfere.
Improved
-
Review failure diagnostics. The admin review analytics dashboard now breaks down review failures by error category (timeouts, rate limits, service errors, connection issues) and source, making it easier to pinpoint why reviews fail. A recent failures table shows the latest errors with details for faster troubleshooting.
-
Frontend error reporting on review failure. When a quality review fails, the editor now automatically reports the error to the server for centralized tracking. Administrators see these client-side failures alongside server-side errors in the analytics dashboard, closing a gap where browser-only failures went unrecorded.
-
Clearer RFP generation progress. The generation progress tracker now splits into two distinct cards. The first card consolidates the three separate research steps ("Researching your industry", "Researching your organization", "Researching your past RFPs") into a single "Planning your RFP" section, then tracks section writing and assembly. An animated "Your RFP is assembled" celebration marks the transition to the quality review card, which shows review status at a high level ("Reviewing your RFP...", "Quality check passed") without exposing retry details. Quality gate retries no longer create duplicate progress entries.
-
Simplified planning phase. The "Planning Your RFP" phase in the generation progress card now shows two consolidated steps ("Consolidating research..." and "Planning your RFP structure...") instead of listing five or six individual research actions. The progress card is easier to scan at a glance.
-
Faster section generation. Strutter AI now uses an optimized model for RFP section generation, overview creation, and correction passes, resulting in faster generation times and lower costs while maintaining quality.
Fixed
-
RFP generation progress preserved during navigation. Navigating away from the RFP wizard during generation and returning now resumes where you left off. Previously, returning to the page reset you to the clarifying questions phase, losing all generation progress. Progress now persists during in-app navigation (not just on page reload), the active job reference carries over between state transitions, and completed RFPs are no longer reset when the background job expires.
-
Quality review message appears in the correct position. The quality review prompt (with "Review now" and "Skip review" buttons) now always renders below the RFP card in the editing section where it belongs. Previously, navigating away from an RFP and returning caused the review message to appear above the "Editing RFP" divider, making it easy to miss. The fix correctly identifies the generation completion message to determine placement and persists the position so it survives page reloads.
-
App version displays the actual release version. The admin nav footer now shows the real release version instead of "dev." The deployment pipeline now correctly passes the version identifier during the build step.
-
Blog posts deploy when published. Publishing a blog post through the marketing workflow now automatically syncs the updated content to the live site. Previously, published posts required a separate manual deployment to appear. Content syncing and cache revalidation now happen as part of the publish flow.
-
Duplicate "RFP assembled" status removed. When a quality review triggered regeneration, the assembling phase showed "RFP assembled with X sections and Y questions" twice. The progress card now displays the assembled confirmation only once.
Security
- HTML sanitization library updated. The HTML sanitization library used across the platform received a patch that resolves an installation compatibility issue. Sanitization behavior and API are unchanged.
Under the Hood
-
Structured logging for review pipeline. The AI review pipeline now emits structured JSON logs at each stage (start, success, failure) with categorized error types and retry metadata. Operations teams can filter and alert on specific failure categories, improving mean time to detection for review outages.
-
Webhook delivery engine updated. The webhook delivery library received a minor update with stability improvements and bug fixes.
-
API documentation rendering updated. The API reference component now uses the latest patch release, incorporating upstream bug fixes and stability improvements.
-
Type definitions updated. The HTML sanitization library now ships its own TypeScript definitions, replacing the previously separate type definitions package.
-
Faster CI checks. Lint and type checking now run in parallel alongside tests instead of blocking each other. The CI pipeline also skips runner allocation entirely for documentation-only changes, and dependency audits moved to a weekly schedule to save CI minutes on every pull request.
-
Faster deployments. Production deploys now use pre-built images with layer caching, so unchanged layers are reused across builds for significantly faster rebuilds. Secret fetching during deploy also runs concurrently instead of sequentially, cutting deploy preparation time.
-
Reusable content sync pipeline. Site content syncing and cache revalidation now use a single shared pipeline instead of duplicated steps across workflows. Content changes from any source (blog publishing, production deploys) flow through the same path.
-
Faster RFP generation. Eliminated two redundant database queries per RFP generation job. When Strutter AI has already gathered research during the clarification phase, the generation phase now reuses those cached results instead of re-fetching them. No change to output quality.
-
Lighter-weight industry research. Industry research during RFP creation now runs on a smaller, faster model with thinking capabilities instead of the full primary model. This reduces cost and latency for every RFP while maintaining the same structured reasoning quality.