StudyHub v2.3.0 ships two large audit + fix cycles (wave-10 + wave-11), the long-asked-for drag-and-drop file import into MyNotes with AI title generation, the "Improve this sheet" one-click flow that turns the Hub AI analysis into an applied edit, and a network-security batch that closes the high-severity findings from the 2026-05-14 audit.
This is the first non-beta StudyHub release.
What you'll notice
- Drag-and-drop a .txt or .md file onto MyNotes → it becomes a note with an AI-generated title (Anthropic Sonnet) and clean content. Long source titles (academic papers) now fit — the cap moved from 120 → 300 chars.
- "Improve this sheet" button on the AI sheet report. Hub AI now does four explicit analysis passes (structure / content / accessibility / pedagogy) tagged on every finding, and one click runs propose-edit → permission-gated apply-edit so the suggestions land as a snapshot you can revert from History.
- Analyze-sheet no longer hangs on "Failed to analyze sheet" — the underlying model ID had silently been deprecated. Fixed plus added an error classifier so future deprecations surface "AI model is temporarily unavailable" instead of the generic toast.
- Sheet review now uses Claude Opus 4.7 (with Sonnet fallback) — the strongest model available, with audit-log telemetry recording which model actually ran.
- Scholar top tab strip got a real page-mark and stronger active-tab weight so it reads as primary chrome rather than secondary navigation.
- Hub AI conversation list density tightened on iPad-landscape so the chat column actually has room to breathe.
- iframe live preview in SheetLab editor + upload + AI preview now executes interactive sheets (was rendering as a static brick because of `sandbox=""`). Still sandboxed away from the parent app — `allow-scripts allow-popups allow-forms` only, never `allow-same-origin`.
- The white-screen on a fork / first-star celebration is gone — the achievement modal no longer paints an opaque overlay during the detail fetch.