Loading...
Loading...
New features, improvements, and fixes. See what's changed in ByteMentor AI.
/api/og route is now explicitly allowed in robots.txt (was incorrectly blocked by /api/ disallow)host directive to robots.txt for clearer domain signal--border, --surface, --muted) instead of non-existent variable names/learn/design-patterns page with interactive pattern explorergenerateProblemSchema was silently stripping sheetProblem, avoidTitles, and adaptiveDifficulty fields, making sheet-based practice and adaptive difficulty dead codesave action now validates attemptId ownership, preventing users from attaching data to other users' attemptssave action now validates input length to prevent resource exhaustiongetUnlockedLevels gating was broken: levels 4-6 could unlock independently instead of sequentiallyJSON.parse on DB fields now has try/catch to prevent server crashes on malformed datagetWeakestPatterns with no mastery data no longer queries all skills in the databasescore/200 changed to score/100 for correct 0-1 range)timeSpentSecs from average calculation/learn/design-patterns route/changelog with timeline UI, category badges, and markdown renderingsite/creator attribution added to all remaining layout pagesSecure flag added to the bm-vid visitor cookiewelcomeSentAt flag to prevent duplicate welcome emailsmaybeCleanup() in site-stats now has proper error handling/api/subscribe where concurrent requests could send duplicate welcome emailsJSON.parse in code-review reply route that would 500 on malformed AI responsesSecure flag on bm-vid cookie (could be sent over HTTP)MobileDesktopGate component (replaced by MobileToolLayout in v1.5.0)MobileToolLayoutMobileCodeEditor component for touch-friendly code editing/api/og for all public pageswww.bytementor.ai@bytementor_ai handle on every page