β’ v12.0.2: logged-in users always land on /student/dashboard β welcome page is now optional (reachable via link, not forced); dismiss button + auto-hide still work when explicitly visited
β’ v12.0.1: welcome page β 'Don.t show this again' button (permanent dismiss via onboarding_dismissed) + auto-dismiss after 10 visits + / route respects dismissal. Revert kit: storage/backups/revert_v12_0_0/welcome_skip/
β’ v11.92.3: Orator switched OFF per operator (experiment later) β all voices back to crisp edge-tts English platform-wide; engine/config/key retained, one-line flip ('enabled' => true) re-enables. Link sweep: 1,685 internal links checked platform-wide, 0 real broken links (safety-hub fix was the only one)
β’ v11.92.2: operator voice pick β helpdesk-agent is the role-play voice (English messages + generic fallback; character map kept for Urdu/mixed). Sample: /assets/tts-samples/rp6545-orator-helpdesk.mp3
β’ v11.92.1: clarity fix β English-dominant role-play messages now use crisp edge-tts English (Urdu-native Orator voices mumbled pure English, per operator report on rp/6545); Orator character voices activate on Urdu/mixed text. A/B samples at /assets/tts-samples/rp6545-*
β’ v11.92.0: UpliftAI Orator in Role-Play β character-matched Pakistani voices (82-voice catalog, keyword map), whitelisted voice param on tts APIs, kill-switch + daily per-user cap + usage accounting, Orator->edge-tts fallback, 9 samples at /assets/tts-samples. Revert kit: storage/backups/revert_v11.90.0/orator_roleplay/
β’ v11.91.1: Getting Started videos β WhatsApp first, 4 how-to video guides (by Tehzeeb) self-hosted streaming (996MBβ31MB compressed faststart, range 206 ok; scenario video pending new link) + nav: Practice before Safety. Revert kit: storage/backups/revert_v11.90.0/getting_started_videos/
β’ v11.90.5: fix Pakistani-language translation scripts β Punjabi now Shahmukhi (was returning Hindi Devanagari): script-anchored prompts + wrong-script detection with escalated retry (covers urdu/punjabi/sindhi/saraiki/balochi/hindko/kashmiri/arabic); translateChat accepts array-or-string messages (TypeError). Revert kit: storage/backups/revert_v11.90.0/punjabi_script_fix/
β’ v11.90.3: /jobs pivot β Maahir Job Portal coming-soon banner + curated directory of 25 trusted platforms (Rozee/Indeed/govt commissions/PMYP/NAVTTC/OEC/BEOE/HerCareer/freelance) + job-scam safety box; 20 unverified legacy listings set closed. API adds portal+resources for mobile. Revert kit: storage/backups/revert_v11.90.0/jobs_portal_pivot/
β’ v11.90.2: manifest backfill β commit hash 322b697 for v11.90.0 entry
β’ v11.89.2: English Tutor β fix New chat session hijack (web sends new_chat for fresh sessions) + explicit save model (saved flag, Save button, web list shows saved only, prune 40 saved + 5 unsaved; mobile fallback unchanged). Manifest 11.89.2 + 11.89.1 history entries. Revert kit: storage/backups/revert_v11.90.0/hotfix2/
β’ v11.89.0: FEATURE PARITY β 25 new API endpoints (assist, progress, bookmark, TTS, module-feedback, track-enroll, capstone, forum-write, library, invites, wellness, CV, support, mock-interview) + forum vote fix (upvotes/downvotes columns)
β’ v11.88.1: comprehensive data audit fixes β tag 649 scenarios + 412 roleplays with skill/context tags, add consequence to 349 mastery scenarios, descriptive session-expiry errors on scenario endpoints
β’ v11.88.0: Business Mastery β 29-book reading library + 29 practice modules (145 ex, 290 Qs) + 349 scenarios + 261 role-plays + 87 micro-cards
β’ v11.87.3: platform-wide silent-failure tracker β json() logs all ok:false with error to error_log, /status page groups them as API failures (would have caught the 'Invalid option' bug immediately)
β’ v11.87.2: fix 'Invalid option' on mega-release scenarios β normalize options format (id+key+score+consequence), accept both id and key in submit, log invalid attempts to activity log + error_log
β’ v11.87.2: fix 'Invalid option' on mega-release scenarios β normalize options format (id+key+score+consequence), accept both id and key in submit, log invalid attempts to activity log + error_log
β’ v11.87.1: /learn fixes β modules API +est_minutes, mega modules track_name set, /welcome enrolled_users (from QA sweep)
β’ v11.86.0: mobile assignments API (shared submit core), proof upload endpoint, leaderboard type/batch params, dashboard $userId fix
β’ v11.85.0: QA sweep β module detail rich shape; dashboard est_minutes/points, subject/due_at, daily_motivation + XP milestone activated
β’ v11.84.0: random feedback popups (2/day, popup 30-120s in) + mobile-switch banner with deep-links
β’ v11.83.1: 'Maahir just got simpler' broadcast β 450 emails sent (announcement_simple_20261004) + Sohail Khan approved
β’ v11.83.0: referral rewards β 10% lifetime XP commission + 10,000 bonus at friend's 10k XP + welcome-email referral block
β’ v11.82.0: mobile submit runs full completion core + returns next exercise for auto-forward
β’ v11.81.0: English Tutor fresh-chat default + one-tap continue + light cross-feature nudges
β’ v11.80.0: Practice Usage per student β English Tutor/Role-Play/Scenarios cards + category chips + CSV (admin dossier + teacher activity)
β’ v11.79.1: one-step proof submit (upload completes + auto-forwards) + fix order_num shadowing that killed Next nav
β’ v11.79.0: auto-forward to next exercise on completion (+XP overlay, 3s countdown)
β’ v11.78.1: Fall WhatsApp link corrected (batch 4) + Start Guide per-batch link
β’ v11.78.0: quiz_gen dead-stub removal + docs de-drift (ARCHITECTURE/API/DATABASE/CHANGELOG)
β’ v11.77.0: Rankings batch selector + Daily tab + streak-batch fix
β’ v11.75.1: Your Batch widget + XP/level, WhatsApp restored, Weekly Quests removed
β’ v11.75.0: daily leaderboard widget + Rankings page + Getting Started shrink
β’ v11.74.0: dashboard cleanup β Learn AI dominates, 3 sections removed, ${title} bug fixed
β’ v11.73.4: Learn AI is the centerpiece of the goal picker
β’ v11.73.3: Saheli (Women) moved to Learn group after Know Yourself
β’ v11.73.2: catalog always visible + expanded; Change my goal button promoted
β’ v11.73.1: full-screen goal gate when no goal is set
β’ v11.73.0: /student/courses redesigned as a PATH page, not a catalog
β’ v11.72.5: remove Skill Tracks from Create β All Courses is the single catalog entry
β’ v11.72.4: 'Learn AI' rename + 'All Courses' into Learn group
β’ v11.72.3: 'a 12-year-old can use it' β simple menu, coaching order, catalog Big Door
β’ v11.72.2: catalog reorganization β 4 buckets, honest removal of fake recommendations, EssentialsβMastery ladders
β’ v11.72.1: Foundation back in My Lessons library (was showing 0) + soul banner
β’ v11.72.0: Foundation as the Heart + Saheli (Women) hub in nav + Kids corners
β’ v11.71.1: modules page cleanup (maintenance window)
β’ v11.71.0: Help & How-To page (core-first, 80 features explained) + maintenance banner
β’ v11.70.3: fix dashboard layout collapse β orphan </div> from Daily-Goal cut
β’ v11.70.2: dashboard declutter β greeting first, 10 widgets/popups removed
β’ v11.70.1: remove setup/journey/job-ready dashboard widgets
That's the full Maahir release history! Thanks for learning with us π