Skip to content

Release 3.2

Choose a tag to compare

@Soumilgit Soumilgit released this 02 Sep 17:06
· 22 commits to main since this release

Security, Adaptive Interviews & Payments Release

  • Secured Gemini AI and Neon/Drizzle access behind authenticated server-side API routes.
  • Removed public exposure of database and Gemini environment variables.
  • Added server-side validation, ownership checks, rate limiting, prompt-injection guardrails, and contact-form spam protection.
  • Renamed Contect to Contact and retained the existing contact submission flow through a secure API endpoint.
  • Added dynamic interview generation with 5 initial questions and one adaptive 2–3 question follow-up round.
  • Enforced a configurable interview ceiling, capped at ten questions.
  • Added variation seeds and duplicate-question checks so generated interviews remain distinct.
  • Improved answer evaluation with validated 1–10 ratings and structured actionable feedback.
  • Updated feedback history to retain old and new answers, display newest-first attempts, and group attempts in blocks of five.
  • Fixed Next.js dynamic route handling for existing and new interviews, question sets, practice sessions, and feedback pages.
  • Added secure server-side audio transcription with compressed WebM audio, request-size protection, and a 3 minute 30 second recording limit.
  • Updated the shared Gemini model to gemini-3.5-flash-lite for question generation, feedback, and transcription.
  • Added Stripe Payment Link handling for Monthly and Yearly plans.
  • Added Stripe-signed webhook verification and database-backed subscription/payment storage.
  • Replaced browser-local payment activation with server-verified subscription status.
  • Updated README environment-variable guidance for server-only Gemini, database, prompt, Stripe payment links, and webhook configuration.
  • Preserved Clerk public configuration and non-secret public interview UI variables.