Changelog

Every update to AlgoPath, newest first.

v1.1.22026-05-19
improve

Admin solutions panel — load any problem, generate per-language solutions via AI, write or edit code in four languages, add an explanation, and preview exactly how it will render before saving.

v1.1.12026-05-19
improve

Mark as Done now asks "How'd it go?" — choose "Solved it myself" (full XP) or "Needed a peek" (reduced XP). No pressure; both count toward your streak.

fix

Bad "principal" tag removed from problem database — was a data entry error with no matching CP concept.

v1.1.02026-05-18
feat

Solve activity heatmap (free) — GitHub-style calendar on your profile showing solve frequency over the past year.

feat

Average hints stat (free) — profile stats bar now shows your average hints used per solve.

feat

Export notes as Markdown (now free) — download notes for any problem as a .md file; previously Pro-only.

feat

Hint history now available to Pro — Pro users see their most recent hint session; Elite sees full history across all sessions.

feat

Tag-aware random — "Pick a Problem for Me" now respects the active tag and difficulty filters.

feat

Report a bug — floating button on every page opens a modal that submits a bug report directly to the team.

feat

First-time welcome banner — new users with no solves see a contextual welcome card pointing them to hints.

feat

Problem page titles — browser tab now shows the problem number and title (e.g. "#42 Two Sum — AlgoPath").

fix

Stripe plan downgrade grace period — subscriptions on past_due (card retry in progress) no longer immediately revert to free.

fix

Profile skill web — duplicate tags (e.g. "Recursion" twice) fixed by normalizing tag case before counting; "linkedlist" now displays as "Linked List".

improve

"Stuck? Get a hint →" inline link added to the problem card so hints are accessible without scrolling to the footer.

improve

Skip confirmation now offers "Too hard — try easier" to automatically fetch a lower-difficulty problem.

improve

"Skip problem" button changed to outline style for better visibility in the problem footer.

improve

"Decide for me" intent card now includes a one-line explanation of why to use it over manual browsing.

fix

Hint session history now shown for Pro (last session) and Elite (full history) — was previously Elite-only in the UI despite the API supporting both.

fix

Export as Markdown now correctly triggers a download in all browsers (anchor was not attached to DOM before click; revoke was racing the download).

fix

Browser tab title now updates when a problem is loaded client-side (search result, random, resume) — was only set on hard navigation.

improve

"Too hard — try easier" option in skip confirmation is now blue to visually distinguish it from the amber skip action.

v1.0.92026-05-18
feat

Model selection (Pro+) — choose your preferred OpenRouter model for hint generation from the hints panel; preference is saved to your profile.

feat

Hint style (Elite) — switch between Structured (default), Socratic (question-framed), and Minimal (condensed) hint display from the hints panel.

feat

Adaptive difficulty (Elite) — toggle in the hints panel; marks your profile for contest-level hint depth.

feat

Export notes as Markdown (Pro+) — download all notes for a problem as a .md file from the Notes panel.

feat

Hint history (Elite) — the hints panel shows all past session dates for each problem.

feat

Insights dashboard (Elite) — /insights shows solve rate by difficulty, avg hints per solve, weak topics, and a 14-day XP trend chart.

feat

Streak freeze (Pro+) — activate from your profile to absorb one missed day; resets monthly.

v1.0.82026-05-18
feat

Stripe integration — Pro and Elite plans now have working checkout, webhook handler, and customer portal. Plans are enforced server-side on hints and notes.

feat

Plan gating — AI code review is Pro/Elite only; free users see a clear upgrade prompt. Notes daily limit (3/day free) now shows an inline message with upgrade link instead of silently failing.

improve

Pricing page redesign — billing toggle (monthly/yearly), compact tier cards, feature lists aligned below each panel, and current plan highlighted for signed-in users.

feat

Admin plan tool — /admin/plans lets admins search any user by username or email and update their plan instantly.

improve

Free plan expanded — drill mode, problem recommendations, and tag-based filtering are now explicitly listed as free features.

feat

XP gain notification — after marking a problem solved, a rank-colored card shows +XP earned, progress bar to next level, and a Level Up badge when applicable.

v1.0.72026-05-15
feat

Skill web — profile page now shows a radar chart visualizing tag-level strength across solved problems.

feat

Drill mode — start a focused session on any tag from the Problems page; problems queue up back-to-back until you stop.

improve

Bulk hint generation now uses the model router with fallbacks and retry logic — no more silent failures on free models.

improve

Performance — blocking Supabase fetches moved behind Suspense on key pages; FCP and LCP improved across /profile and /display-problem.

v1.0.62026-05-12
feat

Post-solve: "Try this next" card — after marking a problem done, a targeted recommendation appears (same topic, one step harder) with Practice / Pick something else options. Replaces the previous 1.5s auto-load.

feat

Editorial link — solution panel now shows a direct link to the official editorial when one is available.

improve

"Pick a Problem for Me" now respects the platform filter — if CF or LC is selected in the filter bar, random picks stay on that platform.

v1.0.52026-05-12
feat

Intent screen — practice page now opens with "What do you want to practice today?" offering three fast paths: Decide for me, Practice a topic, or Browse problems.

feat

Filter bar — platform chips (CF / LC / All), tag input, and difficulty input now sit above the search box for quick browsing.

feat

Clickable tags — tags on problem cards and the loaded problem are now buttons; clicking one instantly searches problems with that tag.

improve

Guest access — the practice page is now viewable without an account. Hint 1 is free; hints 2 and 3 prompt sign-in. Mark as Done shows a sign-in CTA instead of being hidden.

improve

Onboarding trim — steps 4–6 (goal, language, daily target) are now marked Optional with a "Start practicing →" shortcut that skips straight to the app.

v1.0.42026-05-11
improve

Difficulty matching overhauled — random and recommended problems now use a ±200 Codeforces rating window instead of coarse Easy/Medium/Hard buckets, giving much better difficulty targeting.

fix

Recommended problem was going stale when no new candidates were found — it now always refreshes after each solve.

improve

Landing page demo updated to a dynamic programming problem (Coin Change) to better represent the app's competitive programming focus.

v1.0.32026-05-07
improve

Landing page updated with dual-audience messaging for both interview prep and competitive programming; recommended problem strip shows CF and LC examples side by side.

improve

Practice page codebase refactored into focused modules (types, formatting, side-panel) — no user-facing changes, faster future development.

v1.0.22026-05-07
feat

Admin problem management — full CRUD API for creating, editing, and removing problems from the database.

v1.0.12026-05-07
improve

Performance — navbar streams independently so page content appears faster; KaTeX stylesheet scoped to the practice page only; homepage is now fully static.

v1.0.02026-05-06
feat

Official v1.0 release — streak break detection, PostHog analytics, "Continue where you left off" on the practice page, skip warning, and improved notes system.

improve

Complete problem viewer redesign with integrated code editor, collapsible sidebar panels, and improved navigation.

v0.8.02026-05-03
feat

Redesigned landing page — feature sections, live hints demo, AI code review preview, and a closing CTA; focused on getting new users to sign up and start immediately

feat

Focus system — users can set a practice focus (Interview Prep / Competitive Programming / Both) from the practice page; biases random problem selection toward LeetCode or Codeforces accordingly

improve

Random problem selection now uses weighted platform bias (3:1) instead of hard filtering — comp programming focus favors Codeforces but still surfaces LeetCode problems occasionally, and vice versa

improve

Practice page UX — "Continue where you left off" now appears above the search controls for returning users, and the random problem button is renamed to "Pick a Problem for Me" with a dice icon

improve

Onboarding flow extended — captures skill level and focus preference, applies both immediately to problem recommendations

improve

Code editor redesign — improved syntax highlighting theme, dark background, and editor color consistency across the side panel

fix

Streak reset logic — streak now correctly resets to 0 when a day is missed rather than holding the stale value

improve

Add-solution admin page now supports per-language code input and shared explanation field with live preview

v0.7.02026-04-30
feat

Activity page — timestamped log of all solves, problem views, notes, and AI reviews, with filter tabs and per-category counts

feat

Problem view tracking — each problem visit records first/last viewed and view count; shown below the problem card

feat

Solve timestamp log — every solve is now recorded in a dedicated table with XP earned and hints used, enabling per-solve history

improve

timeAgo() utility for human-readable relative timestamps (just now, 3m ago, 2d ago, etc.) used throughout the app

v0.6.12026-04-29
improve

Code editors (problem viewer + notes) now use Prism.js syntax highlighting with a dark theme overlay — Tab indents 2 spaces, Enter preserves indentation

improve

Problem viewer panels (Notes, Code Editor, AI Review) moved to fixed side tabs that slide in from the right edge without displacing page content

fix

LaTeX sub/sup vertical alignment restored — Tailwind preflight was resetting browser defaults for subscript and superscript positioning

v0.6.02026-04-29
feat

Inbuilt code editor in notes — save code alongside prose notes for any problem

feat

Changelog page (this page)

fix

LaTeX symbols (\ldots, \le, \leq, \geq, Greek letters, arrows, etc.) now render correctly in problem statements

improve

Notes limits enforced at DB and UI level (title 200, content 10k, code 200k chars)

v0.5.02026-04-29
feat

Notes saved to Supabase — one-time migration from localStorage, with automatic fallback if table unavailable

feat

Notes panel on problem display page — quick-create notes linked to the current problem from a slide-out panel

feat

AI model router — automatically selects best available free OpenRouter model per task type, falls back on rate limits

feat

Bulk hint generation — admin page can auto-fill AI hints for all problems missing them, with a live progress stream

fix

Sentry error reporting was silently double-initialising; removed legacy sentry.client.config.ts

fix

AI hint generation errors now propagate correctly to the SSE stream and Sentry

v0.4.02026-04-19
feat

Gamification — XP, levels, and streak system for solving problems

feat

Streak nudge banner in nav when streak is at risk for today

improve

Mark as Done awards XP based on difficulty and hints used

v0.3.02026-04-15
feat

AI code review panel — paste your code and chat with an AI mentor about your approach

feat

Difficulty suggestion — users can suggest a more accurate difficulty rating for any problem

feat

Problem reports — users can flag issues with problems (wrong difficulty, broken link, etc.)

improve

Recommendation and AI suggest results are cached to reduce API calls

fix

Report description field is now optional

v0.2.02026-04-10
feat

Progressive hints system — reveal up to 3 hints per problem, rate each one

feat

Solutions panel with syntax-highlighted code in C++, Python, Java, and JavaScript

feat

AI-powered problem suggest — describe what you want to practice, get matched problems

feat

User-aware random problem selection based on skill level and solved history

v0.1.02026-04-01
feat

Initial launch — search and browse competitive programming problems from Codeforces and LeetCode

feat

Supabase auth (email + OAuth)

feat

Problem display with inline statement, difficulty, and tags

feat

Notes (localStorage) — quick notes tied to problems