3.1.2 (August 21, 2026)
- Fixed: Quizzes with a fixed question list no longer show questions that were previously deleted from the question library. Archived questions also no longer appear in fixed-list quizzes, matching how dynamically generated quizzes already treat them.
- Fixed: Deleting a question now also removes it from any quizzes and question banks that were using it, and the confirmation names the quizzes it was removed from.
- Fixed: Cleaned up leftover quiz and question bank references to questions that were deleted in earlier versions.
3.1.1 (August 19, 2026)
- Fixed: Question edits that only changed answer feedback, text formatting, or capitalization now always save.
- Fixed: Edits made in the question editor’s Code view save more reliably.
3.1.0 (August 18, 2026)
- Added: Practice Mode — mark any quiz as a practice quiz to give students unlimited, untimed runs with immediate feedback, no matter how the quiz is otherwise configured.
- Added: Question Exposure Control — a “Prefer Unseen Questions” option for dynamic and pooled quizzes that picks questions each student hasn’t seen before repeating ones they have, so retakes stay fresh.
- Added: Three-level confidence ratings — students can mark each answer Low, Medium, or High confidence, and their results include a “Confidence Check” that highlights confident-but-wrong and unsure-but-correct questions with links to review each one. Existing confidence data is upgraded automatically.
- Added: New Uncanny Automator trigger “A guest email is captured with marketing consent” — route consented guest leads to any Automator-connected tool. Works in “Everyone” recipes on both free Uncanny Automator and Automator Pro, and only fires when the guest explicitly opts in.
- Added: The quiz editor’s “Add Questions” dialog now has a Status filter that defaults to Published, so draft and archived questions no longer mix into the list unnoticed.
- Added: New {answers_summary} email token that adds a per-question recap — the question, the student’s selected answer(s), and whether each was correct — to results emails. It respects each quiz’s review display settings, so quizzes that hide answers on-site never include the recap.
- Added: Customizable email footer — a new Email Footer setting on Settings > Email replaces the default “sent from” line at the bottom of plugin emails with your own text, with {site_name}, {site_url}, and {year} tokens for things like a copyright line or a privacy policy link.
- Fixed: Clearing an email template field no longer leaves the settings screen blank.
- Fixed: The dashboard’s Recent Activity “View All” link now opens the Recent Attempts report directly instead of the reports overview page.
- Fixed: AI features now work with newer Claude models (including Claude Sonnet 5), which previously failed with an “Invalid response format” error, and Claude Sonnet 5 is available in the model list.
- Fixed: On sites with a non-UTC timezone, several time calculations were off by the site’s UTC offset.
- Fixed: On slower servers, rules added to a dynamic quiz could briefly appear and then vanish from the Rules tab even though they were saved.
- Fixed: Prevented a site-wide fatal error after updating Tutor LMS on sites where the Tutor Instructor role was missing — the role is now restored automatically and quiz capabilities are mapped onto it.
- Fixed: Buttons on the front-end dashboard no longer pick up the site theme’s link styling — themes that underline or recolor content links (such as Astra) were underlining button text on the Assigned Quizzes, My Results, and other dashboard screens.
- Fixed: Saving settings now notifies addon settings tabs immediately, so options gated on a core setting unlock without reloading the page.
- Fixed: In Condensed display density, the quiz results page keeps interior spacing, so score panels, question cards, and the action buttons no longer sit flush against the box edges on themed quizzes.
- Fixed: The question bank editor’s action buttons now appear at both the top and bottom of the form (matching the quiz editor).
- Fixed: Text fields with an attached button in admin settings (like the email test fields) now match their button’s height.
- Fixed: The AI question generation introduction now mentions both Anthropic and OpenAI, matching the providers actually supported.
- Changed: The front-end dashboard’s “Teaching” navigation heading is now “Teacher”, matching the “Student” heading style.
3.0.5 (August 10, 2026)
- Fixed: The results link in quiz completion emails now points to the correct quiz page when the quiz was added with the block or with a shortcode that omits quotation marks around the ID.
- Fixed: Guests taking a quiz without logging in can now use the “Email Results” button on the results page instead of receiving a permission error.
3.0.4 (July 30, 2026)
- Fixed: Filters in the quiz editor’s “Add Questions” dialog now apply on the first selection.
- Fixed: The Type filter in the “Add Questions” dialog now correctly matches questions.
- Fixed: Per-block display overrides on the Quiz block (with “Use quiz default settings” turned off) now save correctly in the editor.
- Improved: The “Email Results” button on the quiz results page can now be hidden — per quiz in the quiz editor, with a toggle on the Quiz block, or via the show_email_button shortcode attribute.
- Improved: Replaced the drag-and-drop library behind the question, quiz, and rules editors with an actively maintained successor, and updated bundled libraries including the KaTeX math renderer.
- Improved: Plugin settings now declare explicit database autoload behavior.
3.0.3 (July 21, 2026)
- Fixed: Admin screens now display in your site’s language when a translation is available.
- Fixed: On WordPress multisite, the “Remove all data on uninstall” option now applies per-site based on each site’s own setting.
- Fixed: Uninstall now also removes the quiz templates database table.
- Fixed: The Appearance settings panel no longer has issues when your theme provides its font through a Customizer typography control.
- Fixed: Question order no longer reverts when you add or remove a question immediately after reordering.
- Fixed: Answer options no longer show an extra trailing blank line.
- Fixed: Dragging to reorder answer options no longer makes the option below it appear blank.
- Improved: Added extra sanitization of answer text and feedback when saving a question.
3.0.2 (July 16, 2026)
- Fixed: Dragging to reorder questions in a fixed quiz now saves reliably.
3.0.1 (July 14, 2026)
- Fixed: Quiz attempt and record dates now display in your site’s timezone and date format everywhere they appear. On sites not set to UTC, these times could previously be off by the site’s timezone offset.
- Fixed: Retake delays (the required wait between attempts) and the automatic timeout that abandons an unanswered in-progress attempt are now measured in your site’s timezone.
- Fixed: Corrected a broken “assignments” icon on the front-end dashboard that displayed incorrectly and logged an error in the browser console.
3.0.0 (July 7, 2026)
- Added: A front-end dashboard you can place on any page with the [pressprimer_quiz_dashboard] shortcode or the Dashboard block. Students get a “My Results” area to review their past quiz attempts without visiting the WordPress admin.
- Added: Math and equation support. Write LaTeX in questions and answers and it renders as formatted math (using KaTeX) in quizzes, on the results page, in the admin preview, and in reports. Turn it on under Settings > General.
- Added: Quiz templates. Save any quiz’s settings as a reusable template, apply one with a full preview before anything changes, and choose a default template for new quizzes.
- Added: Choose your AI provider for question generation. Both OpenAI and Anthropic (Claude) are supported, each with its own API key.
- Added: Clearer results scoring. Each question now shows how it was scored, alongside a “How scoring works” summary that explains the multiple-answer scoring mode used for the attempt.
- Added: Data Tools for resetting quiz progress by student, by quiz, or both — with a preview of exactly what will be removed and a typed confirmation before anything is deleted.
- Added: Optional marketing-consent capture for guests taking a quiz, plus support for WordPress personal-data export and erase requests covering guest quiz data.
- Added: Automatic database health checks. A new Status check detects and repairs missing database updates on its own, preventing the silent upgrade failures that could leave features half-installed.
- Added: The Reports page now previews the reports unlocked by the Educator, School, and Enterprise add-ons, so you can see what each tier offers.
- Added: The quiz editor now always includes a Premium Settings tab. On the free plugin it previews the per-quiz options the premium add-ons add, such as pre/post test linking, spaced repetition, branching, and proctoring.
- Improved: Refreshed the Reports and Upgrade pages to reflect the full 3.0 feature set.
- Fixed: Selector dropdowns (for choosing quizzes, groups, and more) no longer show an oversized, misaligned blue box when focused, on both admin and report pages.
- Fixed: Search boxes in the admin now display correctly, with centered text and no stray outline box when focused.
- Fixed: Spaced-repetition review quizzes created by the School add-on no longer clutter the Quizzes list, quiz pickers, or quiz counts.
- Fixed: The checkmark on the AI question generator’s “Add Selected to Bank” button now aligns with the button text instead of dropping below it.
2.3.1 (June 9, 2026)
- Fixed: Tightened permission checks on quiz items and rules so teachers can only manage their own quizzes. No impact on single-teacher sites.
2.3.0 (June 3, 2026)
- Added: Four multiple-answer scoring modes — Right Minus Wrong (default), Proportional, Partial No Wrong, and All-or-Nothing. Set the default for your site under Settings > General, and override per quiz when needed.
- Added: Set per-quiz default display options that apply across every shortcode and block for that quiz. The Quiz block has a “Use Quiz Defaults” toggle so individual placements can still override.
- Added: Maximum Answers Per Question — show students a random subset of distractors while always showing every correct answer. Scoring is subset-aware, so students are never penalized for answers they did not see.
- Added: Insert images in question stems and answer options via a private drag-and-drop uploader. Front-end images include a click-to-zoom lightbox.
- Added: New “Upgrade” menu page for users on the free plugin or Educator/School tier, with a side-by-side comparison of every plan and a 14-day money-back guarantee.
- Added: Sticky Table of Contents on the Quiz Editor Settings tab with a Save Quiz button, so you can jump between sections and save without scrolling. Hidden on browsers narrower than 1100 pixels.
- Improved: The Quiz Editor Settings tab now uses consistent field widths, helper text spacing, tooltips, and font sizes across every section for a cleaner, more readable layout.
- Added: Developers and theme authors can customize how the score is displayed on the results page via the new
pressprimer_quiz_results_score_htmlfilter — useful for hiding the percent symbol, switching to a custom label like “star points”, or rendering the absolute score. - Fixed: Duplicating a quiz now copies the multiple-answer scoring mode, quiz-level display defaults, Maximum Answers Per Question setting, and Show Points Per Question toggle to the new quiz. Previously these settings reverted to defaults on the copy.
- Fixed: The collapsed question list in the Recent Attempts report’s Attempt Details modal no longer shows raw HTML when a question contains formatting or an image. Images are summarized as “[image]” and the formatted version remains available under Show Details.
- Fixed: LMS integration meta-box dropdowns (LearnDash, Tutor LMS, LifterLMS, LearnPress) now show every published quiz to administrators, instead of limiting the list to quizzes they personally authored.
2.2.2 (May 11, 2026)
- Fixed: Pasting formatted content from Word, Google Docs, or other rich-text sources could break the answer layout by separating the radio button from its text. Links inside answers now always open in a new tab so students do not lose their progress.
- Fixed: Drag-and-drop reordering of rules in the Rules tab of a dynamic quiz now saves the new order
- Fixed: The close (X) button on admin modal dialogs (such as the Add Questions modal) now responds to clicks
- Fixed: Validating an OpenAI API key that has been disabled now shows a clear explanation instead of a generic error message
- Fixed: Search filters in the Add Questions modal are now cleared when the modal is reopened, so previous searches do not carry over
- Note: Each answer option is now wrapped in a
<div>element instead of a<label>element to support rich content. If you have added custom CSS targetinglabel.ppq-answer-option, change the selector to.ppq-answer-optionso it continues to apply.
2.2.1 (April 3, 2026)
- Fixed: Quiz submission failing with “Database error: Failed to save record” on sites without the School addon
2.2.0 (April 3, 2026)
- Added: Question Pool support to limit the number of questions shown per quiz attempt
- Added: Show points per question during the quiz and on the results page, with a new “Show Points Per Question” toggle in quiz settings
- Added: Lazy-load pagination for previous attempts on the quiz landing page; shows the first 5 attempts with a “Show more” button
- Added: Redesigned Status tab with two-column layout and a one-click copy button for support requests
- Fixed: Tutorial mode answer locks now persist across page reloads instead of resetting when navigating away
- Fixed: Source Bank dropdown in dynamic quiz rules now shows the bank name instead of the numeric ID
- Fixed: Category and tag dropdowns in dynamic quiz rules now show names instead of IDs
- Fixed: Quiz now appears on LearnPress preview lessons after course completion
- Fixed: Status tab attempt count now matches the Reports page total
- Fixed: Quiz and bank deletion now uses a modal confirmation dialog instead of browser confirm
- Fixed: Quiz preview page cleaned up with PHP 8.1 deprecation fix
- Fixed: Diagnostics page now shows the actual PHP memory limit instead of the WordPress constant
- Fixed: Correct and incorrect answer icons now display properly in the attempt detail modal
- Fixed: Report dates no longer show with a timezone offset in non-UTC timezones
- Fixed: Action buttons on quiz and bank pages now have distinct visual styles and correct sizing
- Fixed: Duplicate radio buttons no longer appear in the WordPress admin when Ant Design is loaded
- Fixed: Primary and retake button text now maintains readable contrast on hover
2.1.0 (February 19, 2026)
- Added: Display option controls — show or hide individual quiz elements (description, question count, score, pass/fail status, time spent, category breakdown, retake button, and more) via shortcode attributes or block inspector toggles
- Added: Customizable spacing — adjust line height, answer option spacing, question spacing, and container max width from Settings > Appearance, with separate values for Standard and Condensed modes
- Added: Pre/post test linking infrastructure for the Educator addon
- Added: Per-quiz proctoring override settings for the Enterprise addon
- Added: Tutor LMS instructors can now create and manage their own quizzes
- Added: Tutor LMS quiz now displays on public courses with no enrollment requirement
- Added: Tutor LMS lesson auto-completes after passing a required quiz, and course auto-completes when all lessons are done
- Fixed: Tutor LMS quiz no longer disappears after a student completes a course
- Added: LifterLMS instructors can now create and manage their own quizzes
- Added: LifterLMS quiz now displays on open/free courses with no enrollment requirement
- Added: LifterLMS lesson Complete button reappears correctly after passing a required quiz
- Fixed: LifterLMS quiz no longer disappears after a student completes a course or for course instructors
- Added: LearnPress instructors can now create and manage their own quizzes
- Added: LearnPress quiz now displays on open courses with no enrollment requirement
- Added: LearnPress lesson auto-completes after passing a required quiz, and course auto-completes when all lessons are done
- Fixed: LearnPress quiz no longer disappears after a student completes a course or for course instructors
- Fixed: LearnPress Complete button reappears correctly after passing a required quiz
- Added: LearnDash Group Leaders can now create and manage their own quizzes
- Fixed: LearnDash Mark Complete button reappears correctly after passing a required quiz
- Fixed: Back button no longer causes an infinite confirm dialog loop during a quiz
- Fixed: Display density setting now loads correctly when editing a quiz
- Fixed: Clearing the API key now works on servers that block HTTP DELETE requests
- Fixed: Dashboard activity chart and Reports overview cards now update immediately after quiz attempts instead of serving stale cached data
2.0.0 (January 29, 2026)
- Added: LearnPress LMS integration with lesson embedding and completion triggers
- Added: Condensed Mode for streamlined quizzes with reduced vertical spacing
- Added: Quiz access controls: require login, allow guests, or use global defaults
- Added: Premium addon support with extensibility hooks for Groups, Assignments, Import/Export, Question Analytics, xAPI, White-Label, and Audit Logging
- Fixed: Settings page now respects tab query parameter in URL
- Fixed: Global access mode setting now uses correct option name
- Fixed: Bank visibility description clarified for shared banks
- Fixed: Improved error messaging for AI generation timeouts (502/504 errors)
- Fixed: Reports page loading when addon tabs are active
- Improved: WordPress 6.7+ compatibility for translation loading
1.0.0 (January 6, 2026)
- Initial release
- Three question types: Multiple Choice, Multiple Answer, True/False
- Unlimited questions and question banks
- Visual quiz builder with fixed and dynamic modes
- AI question generation via OpenAI API
- Three professional themes: Default, Modern, Minimal
- LearnDash integration with lesson/topic embedding
- TutorLMS integration with course builder support
- LifterLMS integration with completion triggers
- Uncanny Automator integration with three triggers
- Guest support with optional email capture
- Server-side save and resume functionality
- Score-banded feedback system
- Per-question and per-answer feedback
- Confidence ratings
- Admin reporting dashboard
- Gutenberg blocks and shortcodes
- WCAG 2.1 AA accessibility compliance
- Full internationalization support
