Skip to content

Commit 5764e8c

Browse files
committed
Release v1.8.1: Checklist Sorting, Sync Improvements & UX Polish
2 parents 849e408 + b1e7f17 commit 5764e8c

68 files changed

Lines changed: 1882 additions & 405 deletions

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

.github/workflows/build-production-apk.yml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -61,11 +61,11 @@ jobs:
6161
run: |
6262
mkdir -p apk-output
6363
64-
# Standard Flavor - Universal APK
64+
# Standard Flavor
6565
cp android/app/build/outputs/apk/standard/release/app-standard-release.apk \
6666
apk-output/simple-notes-sync-v${{ env.VERSION_NAME }}-standard.apk
6767
68-
# F-Droid Flavor - Universal APK
68+
# F-Droid Flavor
6969
cp android/app/build/outputs/apk/fdroid/release/app-fdroid-release.apk \
7070
apk-output/simple-notes-sync-v${{ env.VERSION_NAME }}-fdroid.apk
7171

.github/workflows/pr-build-check.yml

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,7 @@ jobs:
1818
distribution: 'temurin'
1919
java-version: '17'
2020
- name: Gradle Cache
21-
uses: actions/cache@v3
21+
uses: actions/cache@v4
2222
with:
2323
path: |
2424
~/.gradle/caches
@@ -69,14 +69,14 @@ jobs:
6969
continue-on-error: true
7070
- name: Build-Ergebnis pruefen
7171
run: |
72-
if [ -f "android/app/build/outputs/apk/standard/debug/app-standard-universal-debug.apk" ]; then
72+
if [ -f "android/app/build/outputs/apk/standard/debug/app-standard-debug.apk" ]; then
7373
echo "✅ Standard Debug APK erfolgreich gebaut"
7474
ls -lh android/app/build/outputs/apk/standard/debug/*.apk
7575
else
7676
echo "❌ Standard Debug APK Build fehlgeschlagen"
7777
exit 1
7878
fi
79-
if [ -f "android/app/build/outputs/apk/fdroid/debug/app-fdroid-universal-debug.apk" ]; then
79+
if [ -f "android/app/build/outputs/apk/fdroid/debug/app-fdroid-debug.apk" ]; then
8080
echo "✅ F-Droid Debug APK erfolgreich gebaut"
8181
ls -lh android/app/build/outputs/apk/fdroid/debug/*.apk
8282
else

CHANGELOG.de.md

Lines changed: 92 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,83 @@ Das Format basiert auf [Keep a Changelog](https://keepachangelog.com/en/1.0.0/).
88

99
---
1010

11+
## [1.8.1] - 2026-02-11
12+
13+
### 🛠️ Bugfix & Polish Release
14+
15+
Checklisten-Fixes, Widget-Verbesserungen, Sync-Härtung und Code-Qualität.
16+
17+
### 🐛 Fehlerbehebungen
18+
19+
**Checklisten-Sortierung Persistenz** ([7dbc06d](https://github.com/inventory69/simple-notes-sync/commit/7dbc06d))
20+
- Sortier-Option wurde beim erneuten Öffnen einer Checkliste nicht angewendet
21+
- Ursache: `sortChecklistItems()` sortierte immer unchecked-first statt `_lastChecklistSortOption` zu lesen
22+
- Alle Sortier-Modi werden nun korrekt wiederhergestellt (Manuell, Alphabetisch, Unchecked/Checked First)
23+
24+
**Widget-Scroll bei Standard-Größe** ([c72b3fe](https://github.com/inventory69/simple-notes-sync/commit/c72b3fe))
25+
- Scrollen funktionierte nicht bei Standard-3×2-Widget-Größe (110–150dp Höhe)
26+
- Neue Größenklassen `NARROW_SCROLL` und `WIDE_SCROLL` mit 150dp-Schwelle
27+
- `clickable`-Modifier bei entsperrten Checklisten entfernt, um Scrollen zu ermöglichen
28+
29+
**Auto-Sync Toast entfernt** ([fe6935a](https://github.com/inventory69/simple-notes-sync/commit/fe6935a))
30+
- Unerwartete Toast-Benachrichtigung bei automatischem Hintergrund-Sync entfernt
31+
- Stiller Auto-Sync bleibt still; nur Fehler werden angezeigt
32+
33+
**Gradient- & Drag-Regression** ([24fe32a](https://github.com/inventory69/simple-notes-sync/commit/24fe32a))
34+
- Gradient-Overlay-Regression bei langen Checklisten-Items behoben
35+
- Drag-and-Drop-Flackern beim Verschieben zwischen Bereichen behoben
36+
37+
### 🆕 Neue Funktionen
38+
39+
**Widget-Checklisten: Sortierung & Trennlinien** ([66d98c0](https://github.com/inventory69/simple-notes-sync/commit/66d98c0))
40+
- Widgets übernehmen die gespeicherte Sortier-Option aus dem Editor
41+
- Visuelle Trennlinie zwischen unerledigten/erledigten Items (MANUAL & UNCHECKED_FIRST)
42+
- Auto-Sortierung beim Abhaken von Checkboxen im Widget
43+
- Emoji-Änderung: ✅ → ☑️ für erledigte Items
44+
45+
**Checklisten-Vorschau-Sortierung** ([2c43b47](https://github.com/inventory69/simple-notes-sync/commit/2c43b47))
46+
- Hauptbildschirm-Vorschau (NoteCard, NoteCardCompact, NoteCardGrid) zeigt gespeicherte Sortierung
47+
- Neuer `ChecklistPreviewHelper` mit geteilter Sortier-Logik
48+
49+
**Auto-Scroll bei Zeilenumbruch** ([3e4b1bd](https://github.com/inventory69/simple-notes-sync/commit/3e4b1bd))
50+
- Checklisten-Editor scrollt automatisch wenn Text in eine neue Zeile umbricht
51+
- Cursor bleibt am unteren Rand sichtbar während der Eingabe
52+
53+
**Separator Drag Cross-Boundary** ([7b55811](https://github.com/inventory69/simple-notes-sync/commit/7b55811))
54+
- Drag-and-Drop funktioniert nun über die Checked/Unchecked-Trennlinie hinweg
55+
- Items wechseln automatisch ihren Status beim Verschieben über die Grenze
56+
- Extrahiertes `DraggableChecklistItem`-Composable für Wiederverwendbarkeit
57+
58+
### 🔄 Verbesserungen
59+
60+
**Sync-Ratenlimit & Akkuschutz** ([ffe0e46](https://github.com/inventory69/simple-notes-sync/commit/ffe0e46), [a1a574a](https://github.com/inventory69/simple-notes-sync/commit/a1a574a))
61+
- Globaler 30-Sekunden-Cooldown zwischen Sync-Operationen (Auto/WiFi/Periodisch)
62+
- onSave-Syncs umgehen den globalen Cooldown (behalten eigenen 5s-Throttle)
63+
- Neuer `SyncStateManager`-Singleton für zentrales State-Tracking
64+
- Verhindert Akkuverbrauch durch schnelle aufeinanderfolgende Syncs
65+
66+
**Toast → Banner-Migration** ([27e6b9d](https://github.com/inventory69/simple-notes-sync/commit/27e6b9d))
67+
- Alle nicht-interaktiven Benachrichtigungen auf einheitliches Banner-System migriert
68+
- Server-Lösch-Ergebnisse als INFO/ERROR-Banner angezeigt
69+
- INFO-Phase zu SyncPhase-Enum mit Auto-Hide (2,5s) hinzugefügt
70+
- Snackbars mit Undo-Aktionen bleiben unverändert
71+
72+
**ProGuard-Regeln Audit** ([6356173](https://github.com/inventory69/simple-notes-sync/commit/6356173))
73+
- Fehlende Keep-Regeln für Widget-ActionCallback-Klassen hinzugefügt
74+
- Compose-spezifische ProGuard-Regeln hinzugefügt
75+
- Verhindert ClassNotFoundException in Release-Builds
76+
77+
### 🧹 Code-Qualität
78+
79+
**Detekt-Compliance** ([1a6617a](https://github.com/inventory69/simple-notes-sync/commit/1a6617a))
80+
- Alle 12 Detekt-Findings behoben (0 Issues verbleibend)
81+
- `NoteEditorViewModel.loadNote()` refactored um Verschachtelungstiefe zu reduzieren
82+
- Konstanten für Magic Numbers im Editor extrahiert
83+
- Unbenutzte Imports aus `UpdateChangelogSheet` entfernt
84+
- `maxIssues: 0` in Detekt-Konfiguration gesetzt
85+
86+
---
87+
1188
## [1.8.0] - 2026-02-10
1289

1390
### 🚨 CRITICAL BUGFIX (Tag neu erstellt)
@@ -891,6 +968,21 @@ Das komplette UI wurde von XML-Views auf Jetpack Compose migriert. Die App ist j
891968

892969
---
893970

971+
[1.8.1]: https://github.com/inventory69/simple-notes-sync/releases/tag/v1.8.1
972+
[1.8.0]: https://github.com/inventory69/simple-notes-sync/releases/tag/v1.8.0
973+
[1.7.2]: https://github.com/inventory69/simple-notes-sync/releases/tag/v1.7.2
974+
[1.7.1]: https://github.com/inventory69/simple-notes-sync/releases/tag/v1.7.1
975+
[1.7.0]: https://github.com/inventory69/simple-notes-sync/releases/tag/v1.7.0
976+
[1.6.1]: https://github.com/inventory69/simple-notes-sync/releases/tag/v1.6.1
977+
[1.6.0]: https://github.com/inventory69/simple-notes-sync/releases/tag/v1.6.0
978+
[1.5.0]: https://github.com/inventory69/simple-notes-sync/releases/tag/v1.5.0
979+
[1.4.1]: https://github.com/inventory69/simple-notes-sync/releases/tag/v1.4.1
980+
[1.4.0]: https://github.com/inventory69/simple-notes-sync/releases/tag/v1.4.0
981+
[1.3.2]: https://github.com/inventory69/simple-notes-sync/releases/tag/v1.3.2
982+
[1.3.1]: https://github.com/inventory69/simple-notes-sync/releases/tag/v1.3.1
983+
[1.3.0]: https://github.com/inventory69/simple-notes-sync/releases/tag/v1.3.0
984+
[1.2.2]: https://github.com/inventory69/simple-notes-sync/releases/tag/v1.2.2
985+
[1.2.1]: https://github.com/inventory69/simple-notes-sync/releases/tag/v1.2.1
894986
[1.2.0]: https://github.com/inventory69/simple-notes-sync/releases/tag/v1.2.0
895987
[1.1.2]: https://github.com/inventory69/simple-notes-sync/releases/tag/v1.1.2
896988
[1.1.1]: https://github.com/inventory69/simple-notes-sync/releases/tag/v1.1.1

CHANGELOG.md

Lines changed: 92 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,83 @@ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/).
88

99
---
1010

11+
## [1.8.1] - 2026-02-11
12+
13+
### 🛠️ Bugfix & Polish Release
14+
15+
Checklist fixes, widget improvements, sync hardening, and code quality cleanup.
16+
17+
### 🐛 Bug Fixes
18+
19+
**Checklist Sort Persistence** ([7dbc06d](https://github.com/inventory69/simple-notes-sync/commit/7dbc06d))
20+
- Fixed sort option not applied when reopening a checklist
21+
- Root cause: `sortChecklistItems()` always sorted unchecked-first instead of reading `_lastChecklistSortOption`
22+
- Now correctly restores all sort modes (Manual, Alphabetical, Unchecked/Checked First)
23+
24+
**Widget Scroll on Standard Size** ([c72b3fe](https://github.com/inventory69/simple-notes-sync/commit/c72b3fe))
25+
- Fixed scroll not working on standard 3×2 widget size (110–150dp height)
26+
- Added `NARROW_SCROLL` and `WIDE_SCROLL` size classes with 150dp threshold
27+
- Removed `clickable` modifier from unlocked checklists to enable scrolling
28+
29+
**Auto-Sync Toast Removed** ([fe6935a](https://github.com/inventory69/simple-notes-sync/commit/fe6935a))
30+
- Removed unexpected toast notification on automatic background sync
31+
- Silent auto-sync stays silent; only errors are shown
32+
33+
**Gradient & Drag Regression** ([24fe32a](https://github.com/inventory69/simple-notes-sync/commit/24fe32a))
34+
- Fixed gradient overlay regression on long checklist items
35+
- Fixed drag-and-drop flicker when moving items between boundaries
36+
37+
### 🆕 New Features
38+
39+
**Widget Checklist Sorting & Separators** ([66d98c0](https://github.com/inventory69/simple-notes-sync/commit/66d98c0))
40+
- Widgets now apply saved sort option from the editor
41+
- Visual separator between unchecked/checked items (MANUAL & UNCHECKED_FIRST modes)
42+
- Auto-sort when toggling checkboxes in the widget
43+
- Changed ✅ → ☑️ emoji for checked items
44+
45+
**Checklist Preview Sorting** ([2c43b47](https://github.com/inventory69/simple-notes-sync/commit/2c43b47))
46+
- Main screen preview (NoteCard, NoteCardCompact, NoteCardGrid) now respects saved sort option
47+
- New `ChecklistPreviewHelper` with shared sorting logic
48+
49+
**Auto-Scroll on Line Wrap** ([3e4b1bd](https://github.com/inventory69/simple-notes-sync/commit/3e4b1bd))
50+
- Checklist editor auto-scrolls when typing causes text to wrap to a new line
51+
- Keeps cursor visible at bottom of list during editing
52+
53+
**Separator Drag Cross-Boundary** ([7b55811](https://github.com/inventory69/simple-notes-sync/commit/7b55811))
54+
- Drag-and-drop now works across the checked/unchecked separator
55+
- Items auto-toggle their checked state when dragged across boundaries
56+
- Extracted `DraggableChecklistItem` composable for reusability
57+
58+
### 🔄 Improvements
59+
60+
**Sync Rate-Limiting & Battery Protection** ([ffe0e46](https://github.com/inventory69/simple-notes-sync/commit/ffe0e46), [a1a574a](https://github.com/inventory69/simple-notes-sync/commit/a1a574a))
61+
- Global 30-second cooldown between sync operations (auto/WiFi/periodic)
62+
- onSave syncs bypass global cooldown (retain own 5s throttle)
63+
- New `SyncStateManager` singleton for centralized state tracking
64+
- Prevents battery drain from rapid successive syncs
65+
66+
**Toast → Banner Migration** ([27e6b9d](https://github.com/inventory69/simple-notes-sync/commit/27e6b9d))
67+
- All non-interactive notifications migrated to unified Banner system
68+
- Server-delete results show as INFO/ERROR banners
69+
- Added INFO phase to SyncPhase enum with auto-hide (2.5s)
70+
- Snackbars with Undo actions remain unchanged
71+
72+
**ProGuard Rules Audit** ([6356173](https://github.com/inventory69/simple-notes-sync/commit/6356173))
73+
- Added missing keep rules for Widget ActionCallback classes
74+
- Added Compose-specific ProGuard rules
75+
- Prevents ClassNotFoundException in release builds
76+
77+
### 🧹 Code Quality
78+
79+
**Detekt Compliance** ([1a6617a](https://github.com/inventory69/simple-notes-sync/commit/1a6617a))
80+
- Resolved all 12 detekt findings (0 issues remaining)
81+
- Refactored `NoteEditorViewModel.loadNote()` to reduce nesting depth
82+
- Extracted constants for magic numbers in editor
83+
- Removed unused imports from `UpdateChangelogSheet`
84+
- Set `maxIssues: 0` in detekt config
85+
86+
---
87+
1188
## [1.8.0] - 2026-02-10
1289

1390
### 🚨 CRITICAL BUGFIX (Tag recreated)
@@ -890,6 +967,21 @@ The complete UI has been migrated from XML Views to Jetpack Compose. The app is
890967

891968
---
892969

970+
[1.8.1]: https://github.com/inventory69/simple-notes-sync/releases/tag/v1.8.1
971+
[1.8.0]: https://github.com/inventory69/simple-notes-sync/releases/tag/v1.8.0
972+
[1.7.2]: https://github.com/inventory69/simple-notes-sync/releases/tag/v1.7.2
973+
[1.7.1]: https://github.com/inventory69/simple-notes-sync/releases/tag/v1.7.1
974+
[1.7.0]: https://github.com/inventory69/simple-notes-sync/releases/tag/v1.7.0
975+
[1.6.1]: https://github.com/inventory69/simple-notes-sync/releases/tag/v1.6.1
976+
[1.6.0]: https://github.com/inventory69/simple-notes-sync/releases/tag/v1.6.0
977+
[1.5.0]: https://github.com/inventory69/simple-notes-sync/releases/tag/v1.5.0
978+
[1.4.1]: https://github.com/inventory69/simple-notes-sync/releases/tag/v1.4.1
979+
[1.4.0]: https://github.com/inventory69/simple-notes-sync/releases/tag/v1.4.0
980+
[1.3.2]: https://github.com/inventory69/simple-notes-sync/releases/tag/v1.3.2
981+
[1.3.1]: https://github.com/inventory69/simple-notes-sync/releases/tag/v1.3.1
982+
[1.3.0]: https://github.com/inventory69/simple-notes-sync/releases/tag/v1.3.0
983+
[1.2.2]: https://github.com/inventory69/simple-notes-sync/releases/tag/v1.2.2
984+
[1.2.1]: https://github.com/inventory69/simple-notes-sync/releases/tag/v1.2.1
893985
[1.2.0]: https://github.com/inventory69/simple-notes-sync/releases/tag/v1.2.0
894986
[1.1.2]: https://github.com/inventory69/simple-notes-sync/releases/tag/v1.1.2
895987
[1.1.1]: https://github.com/inventory69/simple-notes-sync/releases/tag/v1.1.1

CONTRIBUTING.md

Lines changed: 9 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -94,10 +94,10 @@ Nutze die [Feature Request Template](https://github.com/inventory69/simple-notes
9494
Dokumentations-Verbesserungen sind auch Contributions!
9595

9696
**Dateien:**
97-
- `README.md` / `README.en.md` - Übersicht
98-
- `QUICKSTART.md` / `QUICKSTART.en.md` - Schritt-für-Schritt Anleitung
99-
- `DOCS.md` / `DOCS.en.md` - Technische Details
100-
- `server/README.md` / `server/README.en.md` - Server Setup
97+
- `README.de.md` / `README.md` - Übersicht
98+
- `QUICKSTART.de.md` / `QUICKSTART.md` - Schritt-für-Schritt Anleitung
99+
- `docs/DOCS.de.md` / `docs/DOCS.md` - Technische Details
100+
- `server/README.de.md` / `server/README.md` - Server Setup
101101

102102
**Bitte:** Halte beide Sprachen (DE/EN) synchron!
103103

@@ -219,10 +219,10 @@ Use the [Feature Request Template](https://github.com/inventory69/simple-notes-s
219219
Documentation improvements are also contributions!
220220

221221
**Files:**
222-
- `README.md` / `README.en.md` - Overview
223-
- `QUICKSTART.md` / `QUICKSTART.en.md` - Step-by-step guide
224-
- `DOCS.md` / `DOCS.en.md` - Technical details
225-
- `server/README.md` / `server/README.en.md` - Server setup
222+
- `README.de.md` / `README.md` - Overview
223+
- `QUICKSTART.de.md` / `QUICKSTART.md` - Step-by-step guide
224+
- `docs/DOCS.de.md` / `docs/DOCS.md` - Technical details
225+
- `server/README.de.md` / `server/README.md` - Server setup
226226

227227
**Please:** Keep both languages (DE/EN) in sync!
228228

@@ -260,4 +260,4 @@ By contributing, you agree that your code will be published under the [MIT Licen
260260

261261
Öffne ein [Issue](https://github.com/inventory69/simple-notes-sync/issues) oder nutze die [Question Template](https://github.com/inventory69/simple-notes-sync/issues/new/choose).
262262

263-
**Frohe Weihnachten & Happy Coding! 🎄**
263+
**Happy Coding! 🚀**

QUICKSTART.de.md

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@
88

99
## Voraussetzungen
1010

11-
- ✅ Android 8.0+ Smartphone/Tablet
11+
- ✅ Android 7.0+ Smartphone/Tablet
1212
- ✅ WLAN-Verbindung
1313
- ✅ Eigener Server mit Docker (optional - für Self-Hosting)
1414

@@ -52,7 +52,7 @@ ip addr show | grep "inet " | grep -v 127.0.0.1
5252
### Schritt 2: App installieren
5353

5454
1. **APK herunterladen:** [Neueste Version](https://github.com/inventory69/simple-notes-sync/releases/latest)
55-
- Wähle: `simple-notes-sync-vX.X.X-standard-universal.apk`
55+
- Wähle: `simple-notes-sync-vX.X.X-standard.apk`
5656

5757
2. **Installation erlauben:**
5858
- Android: Einstellungen → Sicherheit → "Unbekannte Quellen" für deinen Browser aktivieren
@@ -261,7 +261,7 @@ Für zuverlässigen Auto-Sync:
261261
## 🆘 Weitere Hilfe
262262

263263
- **GitHub Issues:** [Problem melden](https://github.com/inventory69/simple-notes-sync/issues)
264-
- **Vollständige Docs:** [DOCS.md](DOCS.md)
264+
- **Vollständige Docs:** [DOCS.md](docs/DOCS.md)
265265
- **Server Setup Details:** [server/README.md](server/README.md)
266266

267267
---

QUICKSTART.md

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@
88

99
## Prerequisites
1010

11-
- ✅ Android 8.0+ smartphone/tablet
11+
- ✅ Android 7.0+ smartphone/tablet
1212
- ✅ WiFi connection
1313
- ✅ Own server with Docker (optional - for self-hosting)
1414

@@ -52,7 +52,7 @@ ip addr show | grep "inet " | grep -v 127.0.0.1
5252
### Step 2: Install App
5353

5454
1. **Download APK:** [Latest version](https://github.com/inventory69/simple-notes-sync/releases/latest)
55-
- Choose: `simple-notes-sync-vX.X.X-standard-universal.apk`
55+
- Choose: `simple-notes-sync-vX.X.X-standard.apk`
5656

5757
2. **Allow installation:**
5858
- Android: Settings → Security → Enable "Unknown sources" for your browser
@@ -77,7 +77,7 @@ ip addr show | grep "inet " | grep -v 127.0.0.1
7777

7878
> **💡 Note:** Enter only the base URL (without `/notes`). The app automatically creates `/notes/` for JSON files and `/notes-md/` for Markdown export.
7979
80-
4. **Press "Test connection"****
80+
4. **Press "Test connection"**
8181
- ✅ Success? → Continue to step 4
8282
- ❌ Error? → See [Troubleshooting](#troubleshooting)
8383

@@ -261,8 +261,8 @@ For reliable auto-sync:
261261
## 🆘 Further Help
262262

263263
- **GitHub Issues:** [Report problem](https://github.com/inventory69/simple-notes-sync/issues)
264-
- **Complete docs:** [DOCS.en.md](DOCS.en.md)
265-
- **Server setup details:** [server/README.en.md](server/README.en.md)
264+
- **Complete docs:** [DOCS.md](docs/DOCS.md)
265+
- **Server setup details:** [server/README.md](server/README.md)
266266

267267
---
268268

README.de.md

Lines changed: 6 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@
88

99
<div align="center">
1010

11-
[![Android](https://img.shields.io/badge/Android-8.0%2B-3DDC84?style=for-the-badge&logo=android&logoColor=white)](https://www.android.com/)
11+
[![Android](https://img.shields.io/badge/Android-7.0%2B-3DDC84?style=for-the-badge&logo=android&logoColor=white)](https://www.android.com/)
1212
[![Kotlin](https://img.shields.io/badge/Kotlin-7F52FF?style=for-the-badge&logo=kotlin&logoColor=white)](https://kotlinlang.org/)
1313
[![Jetpack Compose](https://img.shields.io/badge/Jetpack%20Compose-4285F4?style=for-the-badge&logo=jetpackcompose&logoColor=white)](https://developer.android.com/compose/)
1414
[![Material 3](https://img.shields.io/badge/Material_3-6750A4?style=for-the-badge&logo=material-design&logoColor=white)](https://m3.material.io/)
@@ -66,12 +66,14 @@ alt="Get it on F-Droid" align="center" height="80" /></a>
6666
- 📝 **Offline-first** – Funktioniert ohne Internet
6767
- 📊 **Flexible Ansichten** – Listen- und Grid-Layout
6868
-**Checklisten** – Tap-to-Check, Drag & Drop
69-
- 🌍 **Mehrsprachig** – Deutsch/Englisch mit Sprachauswahl
7069
- 🔄 **Konfigurierbare Sync-Trigger** – onSave, onResume, WiFi, periodisch (15/30/60 Min), Boot
70+
- 📌 **Widgets** – Home-Screen Quick-Note und Notizlisten-Widget
71+
- 🔀 **Smartes Sortieren** – Nach Titel, Änderungsdatum, Erstelldatum, Farbe
72+
-**Paralleler Sync** – Lädt bis zu 5 Notizen gleichzeitig herunter
73+
- 🌍 **Mehrsprachig** – Deutsch/Englisch mit Sprachauswahl
7174
- 🔒 **Self-hosted** – Deine Daten bleiben bei dir (WebDAV)
7275
- 💾 **Lokales Backup** – Export/Import als JSON-Datei (optional verschlüsselt)
7376
- 🖥️ **Desktop-Integration** – Markdown-Export für Obsidian, VS Code, Typora
74-
- 🔋 **Akkuschonend**~0.2% mit Defaults, bis zu ~1.0% mit Periodic Sync
7577
- 🎨 **Material Design 3** – Dynamischer Dark/Light Mode & Farben
7678

7779
➡️ **Vollständige Feature-Liste:** [docs/FEATURES.de.md](docs/FEATURES.de.md)
@@ -138,6 +140,6 @@ MIT License – siehe [LICENSE](LICENSE)
138140
<div align="center">
139141
<br /><br />
140142

141-
**v1.7.0** · Built with ❤️ using Kotlin + Jetpack Compose + Material Design 3
143+
**v1.8.1** · Built with ❤️ using Kotlin + Jetpack Compose + Material Design 3
142144

143145
</div>

0 commit comments

Comments
 (0)