Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
125 commits
Select commit Hold shift + click to select a range
2571ac0
chore: bump version to 1.7.2 / versionCode 68
S540d Jul 8, 2026
46a7955
Merge pull request #275 from S540d/chore/version-1.7.2
S540d Jul 8, 2026
eb37133
fix: expo-file-system/expo-sharing auf SDK-55-Versionen anheben
S540d Jul 8, 2026
7314e00
Merge pull request #277 from S540d/build/v1.7.2-vc68
S540d Jul 9, 2026
fb77a24
docs: Play-Store-Listing-Vorlage (Titel, Kurz- & Langbeschreibung) un…
claude Jul 12, 2026
c9089a6
Merge pull request #280 from S540d/claude/app-growth-strategy-534t2a
S540d Jul 12, 2026
3b5c294
feat: SEO- und Trust-Ausbau der gh-pages-Demo (Issue #279, 3.4)
claude Jul 12, 2026
1e5227a
Merge pull request #282 from S540d/claude/issue-279-point-3-4-culcs9
S540d Jul 12, 2026
402feaf
Android Large-Screen-Kompatibilität für Play Store (Issue #278) (#281)
S540d Jul 12, 2026
a43afcc
chore: project-templates sync (GLOBAL POLICY + commands) (#283)
S540d Jul 12, 2026
943b291
feat: Mascot + einheitliches Fortschrittssystem, Altersstufen-Auswahl…
S540d Jul 14, 2026
2c48bf1
docs: Illustrations-Stilguide für Level-SVGs (Issue #279, 2.1) (#285)
S540d Jul 14, 2026
c93e264
Add Natur/Märchen/Essen v1 theme packs (Issue #279, 1.5) (#288)
S540d Jul 14, 2026
5c9203f
Fix: PR #286/#287 Inhalte (Lottie/Icon-Refresh, Tablet-Landscape) nac…
S540d Jul 14, 2026
03458e1
fix: expo-file-system auf 55.0.24 heben (Kotlin-Kompilierungsfehler)
S540d Jul 15, 2026
fbd6386
chore: expo-Module auf SDK-55-Sollstand + foojay-Gradle-9-Fix (Issue …
S540d Jul 15, 2026
d71f7d8
chore: android/ + ios/ in .gitignore (Expo CNG/Prebuild-Workflow)
S540d Jul 15, 2026
90bebd8
feat: build-doctor Preflight-Skript für lokale Android-Builds
S540d Jul 15, 2026
8c8a5ba
feat: SEO basics for web landing page (#291)
S540d Jul 15, 2026
8b606cd
chore: bump version to 1.8.0 / versionCode 69
S540d Jul 16, 2026
1e30e91
fix: PR #293 Review-Findings beheben (Titel-Overwrite, fehlendes onRe…
S540d Jul 16, 2026
0ab9366
feat: Micro-Animationen + klarere Nutzerführung auf Kern-Screens
claude Jul 19, 2026
03112a8
fix: First-Run-Führung robuster + TypeScript-Fehler in ShareService.n…
claude Jul 19, 2026
d322a00
Merge pull request #294 from S540d/claude/app-design-micro-animations…
S540d Jul 21, 2026
72b43e1
Startbildschirm/Einstellungen: Label & Icon-Anpassungen (APK-Testing-…
S540d Jul 22, 2026
1ec6e62
feat(web): Auffindbarkeit außerhalb des Play Stores verbessern (#296)
S540d Jul 29, 2026
daccc32
chore: Codepflege — package-lock.json Versionsstempel synchronisieren…
S540d Jul 29, 2026
a678695
fix(security): npm audit fix für high-severity brace-expansion DoS
claude Aug 4, 2026
bc73a53
Merge pull request #299 from S540d/claude/security-audit-qnpjxn
S540d Aug 4, 2026
f4651ac
CI-Workflows nur noch bei PRs gegen main triggern (#300)
S540d Aug 4, 2026
8dbe4f1
chore: bump version to 1.9.0 / versionCode 70
S540d Aug 24, 2026
d61c997
fix(security): image-size DoS über veraltetes metro 0.83.7 beheben
S540d Aug 24, 2026
31e5cb6
Merge origin/main in testing (Squash-Merge-Artefakte auflösen)
S540d Aug 24, 2026
2258f57
Icon- und Startbildschirm-Inkonsistenz beheben (Issue #304) (#305)
S540d Aug 28, 2026
2fe045c
docs(#34): ARCHITECTURE.md ergänzen (#307)
S540d Aug 29, 2026
d448bd7
Split LevelImageDisplay.tsx into per-image render files (#309)
S540d Aug 30, 2026
a93d6d8
ci(#308): Security-Scanning aktivieren (Dependabot + CodeQL) (#310)
S540d Aug 30, 2026
98d8035
docs(CLAUDE.md): reflect LevelImageDisplay.tsx split into levelImages…
S540d Aug 30, 2026
2e22703
test(#312): coverageThreshold auf den Ist-Stand anheben (#313)
S540d Aug 31, 2026
ad3fe6f
ci: reusable-actionlint.yml einbinden + peaceiris v3→v4 (Issue #122) …
S540d Sep 5, 2026
bb25816
docs: Kurzverweis auf Code-Health-Audit-Standard in GLOBAL POLICY (#317)
S540d Sep 6, 2026
67c9118
fix: CI für PRs gegen testing aktivieren, tsc-Fehler nicht mehr maski…
S540d Sep 6, 2026
182e3be
chore: ungenutzte Dependency react-native-svg-web entfernen (#321)
S540d Sep 6, 2026
5bee5ac
refactor: DailyChallengeManager/OnboardingManager auf StorageManager …
S540d Sep 6, 2026
70b9498
fix: TS18048 in GamePhaseComponents.test.tsx (#324)
S540d Sep 6, 2026
9a945a5
fix: npm audit fix gegen High-Severity in browserslist (#323)
S540d Sep 6, 2026
14aace3
ci: Dependabot-PRs gegen testing statt main richten (#315)
S540d Sep 6, 2026
f9ea0e7
docs: CLAUDE.md auf v1.9.0-Stand synchronisieren (#326)
S540d Sep 7, 2026
23921e7
chore: Dependabot drosseln – monatlich, gruppiert, gegen testing (#327)
S540d Sep 7, 2026
857ce38
feat: IMPRESSUM_URL zur zentralen Link-Quelle ergänzen (Issue #330)
S540d Sep 16, 2026
950b26b
feat: Impressum + Datenschutz im Über-Modal ergänzen (Issue #330)
S540d Sep 16, 2026
6f332c8
i18n: impressumLabel/openLink ergänzen (DE, Issue #330)
S540d Sep 16, 2026
eaf5627
i18n: impressumLabel/openLink ergänzen (EN, Issue #330)
S540d Sep 16, 2026
96e1bea
i18n: impressumLabel/openLink ergänzen (ES, Issue #330)
S540d Sep 16, 2026
efdfb3f
i18n: impressumLabel/openLink ergänzen (FR, Issue #330)
S540d Sep 16, 2026
bb7c10b
i18n: impressumLabel/openLink ergänzen (IT, Issue #330)
S540d Sep 16, 2026
f6e6282
i18n: impressumLabel/openLink ergänzen (NL, Issue #330)
S540d Sep 16, 2026
f67e70f
i18n: impressumLabel/openLink ergänzen (PL, Issue #330)
S540d Sep 16, 2026
c226efb
Merge pull request #331 from S540d/feature/issue-330-about-impressum
S540d Sep 16, 2026
cdb9e8d
fix: npm audit fix gegen High-Severity in js-yaml (GHSA-2883-xcg3-v3hh)
S540d Sep 20, 2026
a9c4383
Merge pull request #333 from S540d/fix/js-yaml-security-audit
S540d Sep 20, 2026
90063ae
fix: .gitignore-Muster .claude/memory/ auf .claude/memory.md korrigie…
S540d Sep 20, 2026
3b72008
Merge pull request #339 from S540d/fix/gitignore-claude-memory-pattern
S540d Sep 20, 2026
fcf5a6e
fix(tests): coverageThreshold auf Ist-Stand kalibrieren (#312)
claude Sep 21, 2026
dfd3b34
fix(dark-mode): Strichmännchen und Outline-Modus im Darkmode sichtbar…
claude Sep 21, 2026
c220364
fix(icon): neues App-Icon/Adaptive-Icon/Splash statt Frosch-Symbol (#…
claude Sep 21, 2026
801e188
fix(theme): Design-System auf Blau statt Violett vereinheitlichen (#306)
claude Sep 21, 2026
5c28569
Merge remote-tracking branch 'origin/testing' into claude/issues-304-…
claude Sep 21, 2026
31e5d85
fix(ci): pull_request-Trigger deckt wieder testing ab
claude Sep 21, 2026
3abf7b4
Merge pull request #340 from S540d/claude/issues-304-plan-vxha3g
S540d Sep 22, 2026
f2d127c
refactor(settings): Einstellungen thematisch clustern (#336)
claude Sep 22, 2026
1b0caab
feat(game): Pause-Vorschlag alle 5 Level (#337)
claude Sep 22, 2026
d121666
Merge pull request #341 from S540d/claude/issue-336-settings-cluster
S540d Sep 22, 2026
5313922
Merge pull request #342 from S540d/claude/issue-337-pause-dialog
S540d Sep 22, 2026
b1354cd
refactor: Code-Health-Audit-Befunde beheben (Farb-Tokens, toter Code,…
claude Sep 23, 2026
827c4ca
style: prettier-Formatierung für app/index.tsx nachziehen
claude Sep 23, 2026
3df17cd
Merge pull request #343 from S540d/claude/issue-334-review-h6grtf
S540d Sep 24, 2026
fe715b6
docs: CLAUDE.md-Wartungsregel umsetzen (project-templates Issue #160)
claude Sep 27, 2026
ab81f36
Merge pull request #344 from S540d/claude/issue-160-drawfrommemory-41…
S540d Sep 27, 2026
8d37187
docs: README auf Nutzer ausrichten (project-templates#156) (#346)
S540d Oct 2, 2026
04689b2
fix: npm audit fix (brace-expansion DoS) (#347)
S540d Oct 2, 2026
679caef
chore: Standards synchronisieren (sync-standards.sh, project-template…
S540d Oct 4, 2026
e65b45c
ci: reusable-Workflows von @v1 auf @v2 (project-templates#113)
S540d Oct 4, 2026
1fa7d12
Merge pull request #349 from S540d/chore/sync-standards-2026-10-04
S540d Oct 4, 2026
c858100
Merge pull request #350 from S540d/chore/reusable-v1-to-v2
S540d Oct 4, 2026
d2d7bc8
ci: Audit-Gate mit befristeter Allowlist (#348) (#351)
S540d Oct 4, 2026
f181ca6
feat: Startseite entschlacken, ruhiger Merke-Timer, Icon-Farbe & -Ass…
claude Oct 11, 2026
aa081c4
fix(deps): npm audit fix für neue high/critical Advisories (compressi…
claude Oct 11, 2026
de04165
Merge pull request #354 from S540d/feature/home-declutter
S540d Oct 11, 2026
170f4fe
feat: Web-Install-Hinweis verkleinern, Store-Grafik mit Haus-Motiv
claude Oct 11, 2026
ccf7899
refactor: Simplify-Audit — toter Code, Helper-Reuse, Render-/Storage-…
claude Oct 11, 2026
7429b12
fix: Galerie-Status bei Neustart ab Level 1 zurücksetzen, Ergebnis-Fe…
claude Oct 11, 2026
81fe0ba
Merge pull request #355 from S540d/feature/web-banner-feature-graphic
S540d Oct 12, 2026
2004ca6
Merge pull request #356 from S540d/chore/simplify-audit
S540d Oct 12, 2026
8457f99
Merge pull request #357 from S540d/fix/restart-and-feedback
S540d Oct 12, 2026
d2283b4
perf: Web-Canvas cached fertige Zeichnung, Live-Strich ohne Komplett-…
claude Oct 12, 2026
c2cca20
Merge pull request #361 from S540d/perf/web-canvas-cache
S540d Oct 12, 2026
8d9e1e4
perf: Replay mit stabiler Skalierung und wiederverwendeten Pfaden/Fil…
claude Oct 22, 2026
a961814
fix: Web-Canvas mit ganzzahligen Pixelmaßen, Fills verschwanden bei g…
claude Oct 22, 2026
f57102d
Merge pull request #367 from S540d/perf/replay-fill-cache
S540d Oct 22, 2026
97556b5
Merge origin/testing into fix/web-canvas-fractional-size
claude Oct 22, 2026
021c0c0
Merge pull request #368 from S540d/fix/web-canvas-fractional-size
S540d Oct 22, 2026
10208de
refactor: confirmDestructive()-Helper statt dreifach kopiertem Web/Na…
claude Oct 22, 2026
2af96f1
refactor: computeFitTransform() statt vierfach kopierter Einpass-Logi…
claude Oct 22, 2026
ec9cb28
Merge pull request #370 from S540d/refactor/fit-transform
S540d Oct 23, 2026
6965cb3
Merge origin/testing into refactor/confirm-destructive
claude Oct 23, 2026
34ebd97
Merge pull request #369 from S540d/refactor/confirm-destructive
S540d Oct 23, 2026
42e6a30
fix: Konfetti/Abzeichen-Prüfung auch bei gleicher Sternzahl in Folger…
claude Oct 23, 2026
049fddd
chore: ungenutzte Entwurfsbilder aus assets/icons entfernen (~5 MB)
claude Oct 23, 2026
4c76c49
Merge pull request #371 from S540d/fix/feedback-repeat-rating
S540d Oct 23, 2026
db3cd6a
chore: Release 1.9.0 (versionCode 71) auf testing vorbereiten
claude Oct 23, 2026
b2db5c7
chore: generisches prepare-release.sh entfernen
claude Oct 24, 2026
1e653e6
fix(deps): zod-Advisory GHSA-mrhx-c7xc-m3w5 (high) adressieren
claude Oct 24, 2026
c6e0eba
Merge pull request #372 from S540d/chore/release-prep-1.9.0
S540d Oct 24, 2026
445e91f
fix(deps): node-forge 1.4.0 → 1.4.2 (5 high Advisories)
S540d Nov 3, 2026
a537c12
chore(audit): decode-uri-component befristet zulassen, erledigten nod…
S540d Nov 3, 2026
35aae85
Merge pull request #374 from S540d/fix/audit-node-forge-2026-11
S540d Nov 3, 2026
5650d48
docs: CHANGELOG-Datum für 1.9.0 setzen
S540d Nov 3, 2026
c956b57
Merge pull request #376 from S540d/chore/changelog-1.9.0-date
S540d Nov 3, 2026
92ee6c9
fix(splash): Animated-Nodes nicht pro Render neu erzeugen (Native-Dri…
S540d Nov 3, 2026
2d81acc
Merge pull request #382 from S540d/fix/splash-native-animated-crash
S540d Nov 3, 2026
14d2cf7
chore(release): v1.9.1 (versionCode 72)
S540d Nov 3, 2026
01cab24
Merge pull request #383 from S540d/release/v1.9.1
S540d Nov 3, 2026
aaa6ea4
chore: main (Release-Squash v1.9.0) in testing zusammenführen
S540d Nov 3, 2026
46ed4ab
Merge pull request #385 from S540d/chore/sync-main-into-testing-1.9.1
S540d Nov 3, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
8 changes: 8 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,14 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0

## [Unreleased]

## [1.9.1] - 2026-11-03 (versionCode 72)

Ersetzt 1.9.0 (versionCode 71), deren Play-Store-Veröffentlichung wegen des folgenden Absturzes abgebrochen wurde. Enthält alle Änderungen aus 1.9.0.

### Fixed

- Absturz beim App-Start auf einzelnen Android-Geräten (`connectAnimatedNodes: Animated node with tag (parent) does not exist`, gemeldet für v1.8.0 auf Android 12): Der Splash-Screen erzeugte bei jedem Re-Render neue native Animations-Knoten (#381, #382)

## [1.9.0] - 2026-11-03 (versionCode 71)

Änderungen seit der Play-Store-Version 1.8.0 (versionCode 69).
Expand Down
4 changes: 2 additions & 2 deletions CLAUDE.md
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@
**Merke und Male** — Gedächtnistraining-App für Kinder (React Native / Expo).
Spieler sehen ein Bild kurz, zeichnen es aus dem Gedächtnis, vergleichen das Ergebnis.

- **Aktuell: v1.9.0** (package.json + app.json; versionCode 71) — **Play Store: v1.8.0 / versionCode 69**; v1.9.0 ist Release-Kandidat auf `testing` (versionCode 70 wurde nie im Store veröffentlicht)
- **Aktuell: v1.9.1** (package.json + app.json; versionCode 72) — **Play Store: v1.8.0 / versionCode 69**; v1.9.1 ist Release-Kandidat (versionCodes 70 und 71/v1.9.0 wurden nie im Store veröffentlicht)
- **Mindestanforderung Android: API 26 (Android 8.0 Oreo)** — Nexus 6 (max. API 25) wird nicht mehr unterstützt (Issue #172, geschlossen)
- **Live Demo:** https://s540d.github.io/DrawFromMemory/
- **Repo:** https://github.com/S540d/DrawFromMemory
Expand Down Expand Up @@ -244,7 +244,7 @@ Niemals `rotation`/`origin`-Props an SVG-Elemente geben, die auch auf Web gerend

## Wachstums-Roadmap (Issue #219)

Übergeordneter Plan für nachhaltiges Wachstum im Play Store. Stand: Play Store @ v1.8.0 / versionCode 69, `main` @ v1.9.0 / versionCode 70 (nie veröffentlicht), `testing` @ v1.9.0 / versionCode 71 = Release-Kandidat (Release-Aufgabe Issue #267). `testing` enthält gegenüber `main` auch User-Facing-Änderungen (neues Icon/Farben, Pause-Dialog, Einstellungs-Gruppierung, Impressum, Startseiten-Redesign) — Details im `CHANGELOG.md` unter [1.9.0]. Themen-Packs sind über `LevelImage.pack?: string` getaggt; neue Packs brauchen Render-Dateien in `components/levelImages/` + Registry-/Pool-Einträge, visueller Stil verbindlich laut [`docs/ILLUSTRATION_STYLEGUIDE.md`](docs/ILLUSTRATION_STYLEGUIDE.md).
Übergeordneter Plan für nachhaltiges Wachstum im Play Store. Stand: Play Store @ v1.8.0 / versionCode 69, `main` = `testing` @ v1.9.1 / versionCode 72 = Release-Kandidat (v1.9.0/vc71 wegen Splash-Crash #381 nicht veröffentlicht). 1.9.x enthält gegenüber 1.8.0 User-Facing-Änderungen (neues Icon/Farben, Pause-Dialog, Einstellungs-Gruppierung, Impressum, Startseiten-Redesign) — Details im `CHANGELOG.md` unter [1.9.0]. Themen-Packs sind über `LevelImage.pack?: string` getaggt; neue Packs brauchen Render-Dateien in `components/levelImages/` + Registry-/Pool-Einträge, visueller Stil verbindlich laut [`docs/ILLUSTRATION_STYLEGUIDE.md`](docs/ILLUSTRATION_STYLEGUIDE.md).

Vollständige P0/P1/P2-Statustabellen und Themen-Pack-Architektur-Details: [`docs/ROADMAP.md`](docs/ROADMAP.md).

Expand Down
4 changes: 2 additions & 2 deletions app.json
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@
"expo": {
"name": "Merke und Male",
"slug": "merke-und-male",
"version": "1.9.0",
"version": "1.9.1",
"platforms": ["ios", "android", "web"],
"orientation": "default",
"icon": "./assets/icons/app-icon.png",
Expand Down Expand Up @@ -32,7 +32,7 @@
},
"package": "com.s540d.merkeundmale",
"permissions": [],
"versionCode": 71,
"versionCode": 72,
"minSdkVersion": 26,
"newArchEnabled": false,
"playStoreUrl": "https://play.google.com/store/apps/details?id=com.s540d.merkeundmale",
Expand Down
35 changes: 27 additions & 8 deletions components/AnimatedSplashScreen.tsx
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
import React, { useEffect, useRef } from 'react';
import React, { memo, useEffect, useMemo, useRef } from 'react';
import { View, StyleSheet, Animated, Dimensions } from 'react-native';
import Svg, { Path, Rect } from 'react-native-svg';
import Colors from '../constants/Colors';
Expand All @@ -13,7 +13,7 @@ interface Props {
* Animierter Splash Screen mit Fade-In und Scale-Animationen.
* Zeigt App-Titel und Untertitel, dann Übergang zum Home Screen.
*/
export default function AnimatedSplashScreen({ onFinish }: Props) {
function AnimatedSplashScreen({ onFinish }: Props) {
const { t } = useTranslation();
const titleOpacity = useRef(new Animated.Value(0)).current;
const titleScale = useRef(new Animated.Value(0.7)).current;
Expand Down Expand Up @@ -135,10 +135,26 @@ export default function AnimatedSplashScreen({ onFinish }: Props) {
onFinishRef,
]);

const spin = iconRotation.interpolate({
inputRange: [0, 1],
outputRange: ['0deg', '360deg'],
});
// Interpolation und Transform-Arrays nur einmal erzeugen: ein neuer Animated-Node pro
// Render (z. B. ausgelöst durch Sprach-/Font-Init im Root-Layout) wird beim nativen
// Treiber verworfen, während connectAnimatedNodes noch in der Queue steht → Crash
// "Animated node with tag (parent) does not exist" (Fabric, v1.8.0 Play-Store-Report).
const iconTransform = useMemo(
() => [
{ scale: iconScale },
{
rotate: iconRotation.interpolate({
inputRange: [0, 1],
outputRange: ['0deg', '360deg'],
}),
},
],
[iconScale, iconRotation],
);
const pencilTransform = useMemo(
() => [...pencilTranslate.getTranslateTransform(), { rotate: '32deg' }],
[pencilTranslate],
);

return (
<Animated.View style={[styles.container, { opacity: containerOpacity }]}>
Expand All @@ -152,7 +168,7 @@ export default function AnimatedSplashScreen({ onFinish }: Props) {
style={[
styles.iconContainer,
{
transform: [{ scale: iconScale }, { rotate: spin }],
transform: iconTransform,
},
]}
>
Expand All @@ -179,7 +195,7 @@ export default function AnimatedSplashScreen({ onFinish }: Props) {
styles.pencil,
{
opacity: pencilOpacity,
transform: [...pencilTranslate.getTranslateTransform(), { rotate: '32deg' }],
transform: pencilTransform,
},
]}
>
Expand Down Expand Up @@ -221,6 +237,9 @@ export default function AnimatedSplashScreen({ onFinish }: Props) {
);
}

// memo: Re-Renders des Root-Layouts während des Splash erreichen die Animated-Nodes nicht.
export default memo(AnimatedSplashScreen);

const { width, height } = Dimensions.get('window');

const styles = StyleSheet.create({
Expand Down
16 changes: 16 additions & 0 deletions components/__tests__/AnimatedSplashScreen.test.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -84,4 +84,20 @@ describe('AnimatedSplashScreen', () => {
});
}).not.toThrow();
});

it('should not create new animated interpolation nodes on rerender', () => {
// Regression: neue Animated-Nodes pro Render crashten den nativen Treiber
// (connectAnimatedNodes: parent does not exist, Play-Store-Report v1.8.0).
const { Animated } = require('react-native');
const interpolateSpy = jest.spyOn(Animated.Value.prototype, 'interpolate');
const { rerender } = render(<AnimatedSplashScreen onFinish={jest.fn()} />);
const callsAfterMount = interpolateSpy.mock.calls.length;

rerender(<AnimatedSplashScreen onFinish={jest.fn()} />);
rerender(<AnimatedSplashScreen onFinish={jest.fn()} />);

expect(callsAfterMount).toBe(1);
expect(interpolateSpy).toHaveBeenCalledTimes(callsAfterMount);
interpolateSpy.mockRestore();
});
});
4 changes: 2 additions & 2 deletions package-lock.json

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

2 changes: 1 addition & 1 deletion package.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"name": "merke-und-male",
"version": "1.9.0",
"version": "1.9.1",
"main": "expo-router/entry",
"homepage": "https://s540d.github.io/DrawFromMemory/",
"repository": {
Expand Down
Loading