Custom topics: Enter your own desired topic(s) for questions
Added AP Spanish support
Fixes
Bug fixes
Security
Security hardening
Refactored Content Security Policy (CSP) handling for Svelte
1.3.4
New Features
Added a stats API and a new stats page at /stats
Fixes
Fixed UI inconsistencies across various pages
Removals
Removed incorrect reference sheets
1.3.3
New Features
Added enhancements to the calculator experience
Improved reference sheets with better navigation and display
Improvements
Optimized code for better performance and reuse across components
Refined FRQ handling with slight quality improvements
1.3.2
Improvements
Questions now rarely repeat the same topics within a unit
Improved mobile responsiveness for blog posts
Added quick actions to blog posts
Improved styling of the about page
1.3.1
New Additions
Added a blog with 4 articles so far
Added an about page
Improvements
Fixed mobile responsive design on the topbar and sidebar
Fixed inconsistent design for logged in users
Improved accessibility with better ARIA attributes and keyboard navigation
Improved consistency of UI elements across pages, including buttons and links
Improved SEO optimization with better meta tags and structured data
1.3.0
Major Changes
Migrated project to SvelteKit while keeping compatible APIs
New Features
Added a new dashboard for loggin in users including a home, practice, progress and settings page
Added alpha support for FRQs for logged in users, does not affect progress statistics yet
Improvements
Optimized SvelteKit integration for faster page loads and better routing
Fixed awkward UI for practicing questions on mobile devices
1.2.2
Changes
Added more settings options for a better user experience
Improved code security across the application
Warning
Version 1.3.0 will migrate the project to SvelteKit while keeping compatible APIs
1.2.1
Fixes
Fixed UI errors and topbar consistency across pages
Fixed no settings button when not logged in
Fixed questions not being saved properly
Changes
Code now renders using highlight.js with tokyo night theme
Icons changed to consistent solid svgs
Improvements
Optimized more code, and also cleaned it up
Improved prompting for tutor responses, prohibiting it from giving answers
404 error directs to "Not Found" page
Technical
Changed server security to helmet.js
Changed request logging to use the structured server logger
1.2.0
Changes
Project is now Open-Source, repo at github.com/5cisummai/freeappractice
Added optional cookies for analytics features that improve this site
Improvements
Optimized backend code, removing depricated features
Updated node modules to lastest versions
1.1.1
Fixes
Fixed UI errors and topbar consistency across pages
Improved SEO optimization across pages
1.1.0 - Update
New Features
User accounts: track progress and stats across devices
New AI Tutor: interactive assistant to help with questions and explanations
Fixes
Bug fix for question progress tracker
Mobile responsiveness fixes
Theme consistency and messy UI fixes
Fixed question caching consistency
Improvements
Greatly improved question generation accuracy
Performance improvements with dynamic JS loading and HTML components model
Technical
Server logging improved for better diagnostics and observability
Every-question storage now backed by AWS S3 (durable, searchable storage)
Updated privacy handling for account data and S3 storage guidance
Dependency and build improvements to reduce runtime module issues
1.0.2
Fixes
Fixed critical bug that prevented user from getting questions
Improvements
Fixed theme consistency across pages
Fixed UI consistency across pages.
Focus Mode UI improvements
1.0.1
Improvements
Fixed mobile responsiveness.
1.0.0 - Stable Release
Major Features
Intelligent hybrid caching system: Instant first question from database cache, fresh AI-generated questions for subsequent requests
Smart prefetch system: Next question pre-generates in the background while you review the current one
Enhanced question variety: Each new question uses a random unit selection for maximum diversity
MongoDB question cache with automatic background refresh
Seamless provider fallback: Automatically switches from local to OpenAI if local model fails
Performance Improvements
First question now loads instantly from pre-cached database
Subsequent questions appear instantly from client-side prefetch cache
Background refresh keeps database cache up-to-date without blocking user requests
Optimized API architecture with service layer separation
Rate limiting (20 req/min) for OpenAI provider to manage costs
Bug Fixes
Fixed MongoDB connection errors with deprecated options
Resolved provider variable scope issues in error handling
Fixed LaTeX rendering issues with proper JSON escaping
Corrected cache key behavior when switching between classes/units
Technical Details
Refactored API to accept className and unit parameters directly
Implemented skipCache parameter for prefetch vs initial request control
Database cache always uses OpenAI for consistent quality
Client-side hasShownFirstQuestion flag for session state management
Unit range handling now correctly picks random units for variety
Warnings
Some cached questions may be of lower quality as they were generated with earlier, less refined prompts. New questions generated after this update will use the latest improved prompts for better accuracy and relevance.
Some cached questions may contain formatting issues due to previous JSON escaping bugs. New questions will have correct formatting.
0.9.4 - Beta
Improvements
Questions are now more accurate per class and per unit
More data for questions to be created on
Changes
Added Advertisements to run when ever it is not testing times
0.9.3 - Beta
Fixes
Changelog page now follows the correct color theme
Settings button now toggles the setting modal rather than just opening it
Changes
More complex subjects now use gpt-5-mini instead of o4-mini
Order of elements in footer changed
Improvements
New show/hide button for the progress sidebar
How to use section now more interactive
0.9.2 - Beta
Changes
Removed info about AI provider while a question is showning
Improvements
Improved prompt wording to enhance formatting in answer choices and explanations
Added a "Show Explanation" toggle for referring back to explanations
0.9.1 - Beta
Improvements
Improved unit selection logic for "All Units" and custom range modes
Questions now randomly select a single unit from the range instead of trying to cover multiple units
Better question quality by focusing on specific unit content
0.9.0 - Beta
Initial Release
Launch of FreeAPPractice.org (Beta)
Support for 20+ AP subjects
AI-powered question generation
Dual provider support: Local (LM Studio) and OpenAI
Real-time feedback and detailed explanations
Customizable theme (Light/Dark/System)
Local progress tracking
Focus Mode for distraction-free practice
Customizable unit range selection with range slider