chore(release): v0.3.0 — version bump for TestFlight + Play Console
- package.json: 0.2.0 → 0.3.0 - app.config.ts: version 0.2.1 → 0.3.0 - iOS buildNumber: 9 → 10 - Android versionCode: 9 → 10 - CHANGELOG.md: v0.3.0 entry with Duo-Onboarding, DiGA, Stripe-pivot, Arabic+RTL, NEFilter-robust-disable, anti-auto-reactivation, FC always-on, etc. Note: Android-Build wird vorerst NICHT submittet — Onboarding-Slides müssen für Android-Protection-Mechanismus (VPN + a11y statt iOS NEFilter + Family Controls) mit eigenen Pre-Explainer-Screenshots + Texten angepasst werden. Erst dann v0.3.1 oder gesammelt mit Android. Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
This commit is contained in:
parent
cfb0888451
commit
c9273a2770
@ -10,6 +10,25 @@ Versioning: `version` follows SemVer, `versionCode` is monotonically increasing.
|
|||||||
|
|
||||||
---
|
---
|
||||||
|
|
||||||
|
## [0.3.0] — versionCode 10 — 2026-05-17
|
||||||
|
|
||||||
|
### Added
|
||||||
|
- **Duo-style Onboarding (9 Slides)**: Vollständiger Onboarding-Flow — Welcome → Privacy → Nickname → DiGA-Choice → DiGA-Code → Plan → Payment → Protection → Done. Lyra-Bubble mit TTS-Audio-Button auf jedem Slide. Pre-Explainer-Screenshots vor iOS-Permission-Dialogen. Confetti-Animation + Top-5-FAQ-Accordion auf Done-Screen.
|
||||||
|
- **DiGA-Redeem-Endpoint + 10 Test-Codes**: Backend-Endpoint für DiGA-Code-Einlösung. 10 vordefinierte Test-Codes (REBREAK-TEST-001 bis REBREAK-TEST-010) für QA und Reviewer.
|
||||||
|
- **Arabisch (Arabic) + RTL-Support**: Vollständige arabische Lokalisation mit automatischem RTL-Layout-Switching.
|
||||||
|
- **NEFilter Robust Disable**: 2-step Apple-Pattern für zuverlässiges Deaktivieren des URL-Filters. `resetUrlFilter` als Recovery-Pfad bei code-5-Fehlern. `ProtectionOffSheet` ersetzt bisherigen Alert.
|
||||||
|
- **Family Controls always-on**: Kein "Bald"-Placeholder mehr — FamilyControls-Entitlement ist vollständig aktiv.
|
||||||
|
- **Stripe Tier-Rename + Checkout-Refactor**: Pläne heißen jetzt konsistent `pro` / `legend` (statt alter Naming-Varianten). Checkout-Endpoint neu strukturiert.
|
||||||
|
- **protectionDisabledAt (Backend)**: Server-seitige Timestamps verhindern Auto-Reaktivierung nach manuellem Deaktivieren.
|
||||||
|
|
||||||
|
### Fixed
|
||||||
|
- **Protection Cooldown Auto-Disable Race**: Stale-State nach Cooldown-Ablauf korrigiert — kein falscher "aktiv"-Zustand mehr.
|
||||||
|
- **Blocker: lockedIn requires both layers**: Grüner "Locked In"-Banner erscheint nur noch, wenn beide Schutz-Ebenen (VPN + a11y) aktiv sind.
|
||||||
|
- **Nickname Validation + Duplicate-Check**: Echtzeit-Prüfung auf bereits vergebene Nicknames im Onboarding.
|
||||||
|
- **DiGA-Code Auto-Format**: Code-Eingabe formatiert automatisch (Großbuchstaben, Bindestriche).
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
## [0.2.1] — versionCode 9 — 2026-05-16
|
## [0.2.1] — versionCode 9 — 2026-05-16
|
||||||
|
|
||||||
### Fixed
|
### Fixed
|
||||||
|
|||||||
@ -4,7 +4,7 @@ export default ({ config }: ConfigContext): ExpoConfig => ({
|
|||||||
...config,
|
...config,
|
||||||
name: "ReBreak",
|
name: "ReBreak",
|
||||||
slug: "rebreak",
|
slug: "rebreak",
|
||||||
version: "0.2.1",
|
version: "0.3.0",
|
||||||
orientation: "portrait",
|
orientation: "portrait",
|
||||||
icon: "./assets/icon.png",
|
icon: "./assets/icon.png",
|
||||||
scheme: "rebreak",
|
scheme: "rebreak",
|
||||||
@ -20,7 +20,7 @@ export default ({ config }: ConfigContext): ExpoConfig => ({
|
|||||||
ios: {
|
ios: {
|
||||||
supportsTablet: true,
|
supportsTablet: true,
|
||||||
bundleIdentifier: "org.rebreak.app",
|
bundleIdentifier: "org.rebreak.app",
|
||||||
buildNumber: "9",
|
buildNumber: "10",
|
||||||
config: {
|
config: {
|
||||||
usesNonExemptEncryption: false,
|
usesNonExemptEncryption: false,
|
||||||
},
|
},
|
||||||
@ -39,7 +39,7 @@ export default ({ config }: ConfigContext): ExpoConfig => ({
|
|||||||
|
|
||||||
android: {
|
android: {
|
||||||
package: "org.rebreak.app",
|
package: "org.rebreak.app",
|
||||||
versionCode: 9,
|
versionCode: 10,
|
||||||
adaptiveIcon: {
|
adaptiveIcon: {
|
||||||
// Foreground muss in der ~66%-Safe-Zone bleiben (Launcher-Mask clippt den
|
// Foreground muss in der ~66%-Safe-Zone bleiben (Launcher-Mask clippt den
|
||||||
// Außenring) → adaptive-foreground.png ist das Logo auf transparentem
|
// Außenring) → adaptive-foreground.png ist das Logo auf transparentem
|
||||||
|
|||||||
@ -1,6 +1,6 @@
|
|||||||
{
|
{
|
||||||
"name": "@trucko/rebreak-native",
|
"name": "@trucko/rebreak-native",
|
||||||
"version": "0.2.0",
|
"version": "0.3.0",
|
||||||
"private": true,
|
"private": true,
|
||||||
"main": "expo-router/entry",
|
"main": "expo-router/entry",
|
||||||
"scripts": {
|
"scripts": {
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user