Vusch · Versions-Verlauf
Changelog
Alle nennenswerten Änderungen an Vusch — sortiert nach Version, neueste oben. Stilkonvention: Keep a Changelog, auf Deutsch.
[Unveröffentlicht]
In Arbeit, noch nicht im Build:
- Helveticat (Schweizerische Nationalbibliothek) als zusätzliche Cover-Quelle für DACH-Bücher (geplant)
- GGG-Basel-Anbindung als Bibliotheks-Datenquelle (Pitch-Phase)
- Rumantsch-Grischun-Übersetzungen für die UI (Lia Rumantscha angefragt)
---
[1.0.0 Build 5] — Beta · 2026-06-20
Hinzugefügt
- Zitat des Tages rechts neben der grossen Library-Zahl. Hybrid-Pool:
eigene Zitate aus den Büchern haben Priorität, sonst greift eine kuratierte Sammlung von ~80 gemeinfreien Klassiker-Zitaten (Goethe, Schiller, Nietzsche, Rilke, Kafka, Marc Aurel, Seneca, Hofmannsthal, Wilde, Twain u.a.). Deterministische Tageszuordnung, wechselt um Mitternacht.
- Zitate-Section in BookDetail — wörtliche Stellen pro Buch erfassen,
mit Live-Counter 0/150 Zeichen
- Empfehlung → „Bei Orell Füssli"-Link — pro AI-Empfehlung ein Shop-Link,
öffnet orellfuessli.ch/suche?sq=…. Affiliate-Slot vorbereitet, aktuell inaktiv
- Empfehlung → Plus → Auto-Enrichment — neu angelegte Wunschlisten-Bücher
werden im Hintergrund via Open Library angereichert: ISBN, Cover, Seitenzahl, Verlag, Jahr, Sprache, Genre. Cover-Bild wird lokal persistiert
- Library → Sort-Menu — vier Sort-Optionen (recent, rating, alphabetisch,
zuletzt gelesen) neben dem Layout-Toggle
- Stats → Favoriten-Grid — 3-Spalten-Cover-Raster „Mit Herz" statt
horizontalem Scroll
- Stats → verdichtete Übersicht — Hero-Zahl + drei Sekundär-Stats
(Seiten · Schnitt · Bewertet) auf einer Seite, ersetzt drei einzelne Vollbild-Spreads
- Settings → Sprache — Deep-Link zu iOS-Settings für In-App-Sprachwechsel
- Settings → Open-Source — Acknowledgements-Page für Schriften (OFL) und Frameworks
- Settings → Legal-Pages in-App — Datenschutz, AGB, Impressum, Support
öffnen jetzt als SafariView-Modal (vusch.app/…) statt extern in Safari
- Stream-Chat — AI-Antworten erscheinen Wort für Wort wie Schreibmaschine
statt komplett auf einmal (echtes Token-Streaming via FoundationModels)
- Markdown im Chat —
fettund* Listenaus AI-Output werden
richtig formatiert dargestellt, keine Sternchen-Artefakte mehr
- DE / EN / FR / IT als App-Sprachen — vollständig übersetzt
- Editorial-Header auf allen Tabs — Wordmark „vusch." mit Inter Bold
Caps und Hairline-Rahmung, inspiriert vom SNB-Bibliothekskatalog
Geändert
- Markenname: Regal → Vusch (Rumantsch für „Stimme"). Trademark-Recherche
in CH und EU sauber, Markenanmeldung bei IGE + EUIPO am 2026-06-19
- Bundle-ID:
app.regal.ios→app.vusch.ios - iCloud-Container:
iCloud.app.vusch.ios - App-Icon: italic „V" auf schwarzem Buchrücken-Layout mit zwei Petrol-Akzentbändern
- Schrift-Lesbarkeit: Min-Floor von 11pt mono / 13pt body in
RegalFonts,
damit kleine Caps-Labels nicht unter die iOS-Accessibility-Grenze fallen
- Bibliotheks-Trinität: „Deine Bücher. Deine Gedanken. Deine Stimme."
(Stats-Outro und Onboarding) — knüpft an den Vusch-Markennamen an
- Paywall: Subhead-Texte und Feature-Beschreibungen in allen vier Sprachen
- Stats-Snap-Verhalten:
.viewAlignedstatt.paging— Spreads snappen
jetzt pro Element, kein Notch-Bleed mehr bei tall content
- Editorial-Palette: Cream-Shift von
#F5F0E8zu kühlerem#EFEDE8 - Schriften: Anton + Inter (OFL) als Brand-Schriften statt italic Playfair
Behoben
- Speech-Crash auf iOS 26 —
_dispatch_assert_queue_failbeim Tap auf
Diktieren. VoiceInputService nicht mehr @MainActor-isoliert, State über NSLock
- CloudKit-Sync —
remote-notification-Background-Mode in Info.plist
fehlte, daher Push-Benachrichtigungen unzuverlässig
- Library-Masthead Empty-State — „Leer." als 140pt Anton drückte den
Zitat-Block in eine 30pt-Spalte, brach jedes Zeichen in eine eigene Zeile
- Scanner-Overlay — Anweisungstext und „Manuell eingeben"-Button überlappten
am unteren Rand
- Cover-Placeholder Wrap — „Zauberberg" wurde mitten im Wort umgebrochen
- Stats-Spread-Overflow — Top-10 und Favoriten bluteten in den nächsten Spread
- Sortier-Picker im LibraryViewModel war definiert aber kein UI gebaut
- Markdown-Sterne in AI-Chat-Antworten als literale
**sichtbar statt fett
---
[Vor-Vusch] — die Regal-Ära (bis 2026-06-18)
Vor dem Rename hiess die App „Regal". Hauptphasen:
- Editorial-Design auf SNB-Linie — Inter Bold ALL-CAPS Wordmarks,
Hairlines, „Bestandsnummer"-Pattern, DateStamp-Komponente
- Marketing-Assets — fünf Hero-Shots pro Sprache (DE/EN/FR/IT), inkl.
Sim-Screenshots im 6.9"-Format für App Store Connect
- Security-Review — Delete-All-Button (Apple-Guideline 5.1.1v),
Cover-URL-Whitelist (file://-Block), Tag-Sanitization gegen User-Paste-Misuse
- DEBUG-Seeder — 104 deutsche + ~100 englische Demo-Bücher für Screenshots
- Legal-Templates — Impressum, Datenschutz, AGB als statische HTML-Site
- Apple Intelligence als Bibliothekar — Einordnung, Muster, Empfehlungen,
Bibliotheks-Chat (alle on-device via FoundationModels)
- ISBN-Lookup-Multi-Source — DNB, Open Library, Google Books, Apple Books
mit graceful Fallback
- In-App-Purchase — „Vusch Komplett" (vormals „Regal Komplett") als
einmaliger Non-Consumable, Family-Sharing-fähig, CHF 14.90
---
Format-Notiz
Versionsnummerierung folgt Semantic Versioning. Build-Number = CURRENT_PROJECT_VERSION in project.yml. Bei jedem TestFlight-Upload muss Build hochgezählt werden, weil Apple identische Build-Numbers ablehnt. Bei Marketing-Version-Wechsel (1.0 → 1.1) wird Build wieder bei 1 starten dürfen.