chore(v1.8.0): IMPL_05 Version Bump - v1.7.2 → v1.8.0
- Update versionCode from 19 to 20 - Update versionName from "1.7.2" to "1.8.0" - Create F-Droid changelog for versionCode 20 (EN + DE) - Update CHANGELOG.md with comprehensive v1.8.0 entry (all 16 features) - Update CHANGELOG.de.md with German v1.8.0 entry - Add commit hashes to all changelog entries for traceability Major feature release: Widgets with interactive checklists, note/checklist sorting, server deletion detection, sync status legend, live sync progress, parallel downloads, checklist UX improvements, and widget text display fix. Complete changelog lists all features with commit references.
This commit is contained in:
112
CHANGELOG.de.md
112
CHANGELOG.de.md
@@ -8,6 +8,118 @@ Das Format basiert auf [Keep a Changelog](https://keepachangelog.com/en/1.0.0/).
|
|||||||
|
|
||||||
---
|
---
|
||||||
|
|
||||||
|
## [1.8.0] - 2026-02-10
|
||||||
|
|
||||||
|
### 🎉 Major: Widgets, Sortierung & Erweiterte Sync-Features
|
||||||
|
|
||||||
|
Komplettes Widget-System mit interaktiven Checklisten, Notiz-Sortierung und umfangreiche Sync-Verbesserungen!
|
||||||
|
|
||||||
|
### 🆕 Homescreen-Widgets
|
||||||
|
|
||||||
|
**Vollständiges Jetpack Glance Widget-Framework** ([539987f](https://github.com/inventory69/simple-notes-sync/commit/539987f))
|
||||||
|
- 5 responsive Größenklassen (SMALL, NARROW_MED, NARROW_TALL, WIDE_MED, WIDE_TALL)
|
||||||
|
- Interaktive Checklist-Checkboxen die sofort zum Server synchronisieren
|
||||||
|
- Material You Dynamic Colors mit konfigurierbarer Hintergrund-Transparenz (0-100%)
|
||||||
|
- Widget-Sperre-Toggle zum Verhindern versehentlicher Änderungen
|
||||||
|
- Read-Only-Modus mit permanenter Options-Leiste für gesperrte Widgets
|
||||||
|
- Widget-Konfigurations-Activity mit Notiz-Auswahl und Einstellungen
|
||||||
|
- Auto-Refresh nach Sync-Abschluss
|
||||||
|
- Tippen auf Inhalt öffnet Editor (entsperrt) oder zeigt Optionen (gesperrt)
|
||||||
|
- Vollständige Resource-Cleanup-Fixes für Connection Leaks
|
||||||
|
|
||||||
|
**Widget State Management:**
|
||||||
|
- NoteWidgetState Keys für pro-Instanz-Persistierung via DataStore
|
||||||
|
- Fünf Top-Level ActionCallbacks (Toggle Checkbox, Lock, Options, Refresh, Config)
|
||||||
|
- Type-Safe Parameter-Übergabe mit NoteWidgetActionKeys
|
||||||
|
|
||||||
|
### 📊 Notiz- & Checklisten-Sortierung
|
||||||
|
|
||||||
|
**Notiz-Sortierung** ([96c819b](https://github.com/inventory69/simple-notes-sync/commit/96c819b))
|
||||||
|
- Sortieren nach: Aktualisiert (neueste/älteste), Erstellt, Titel (A-Z/Z-A), Typ
|
||||||
|
- Persistente Sortierungs-Präferenzen (gespeichert in SharedPreferences)
|
||||||
|
- Sortierungs-Dialog im Hauptbildschirm mit Richtungs-Toggle
|
||||||
|
- Kombinierte sortedNotes StateFlow im MainViewModel
|
||||||
|
|
||||||
|
**Checklisten-Sortierung** ([96c819b](https://github.com/inventory69/simple-notes-sync/commit/96c819b), [900dad7](https://github.com/inventory69/simple-notes-sync/commit/900dad7))
|
||||||
|
- Sortieren nach: Manual, Alphabetisch, Offen zuerst, Erledigt zuletzt
|
||||||
|
- Visueller Separator zwischen offenen/erledigten Items mit Anzahl-Anzeige
|
||||||
|
- Auto-Sort bei Item-Toggle und Neuordnung
|
||||||
|
- Drag nur innerhalb gleicher Gruppe (offen/erledigt)
|
||||||
|
- Sanfte Fade/Slide-Animationen für Item-Übergänge
|
||||||
|
- Unit-getestet mit 9 Testfällen für Sortierungs-Logik-Validierung
|
||||||
|
|
||||||
|
### 🔄 Sync-Verbesserungen
|
||||||
|
|
||||||
|
**Server-Löschungs-Erkennung** ([40d7c83](https://github.com/inventory69/simple-notes-sync/commit/40d7c83), [bf7a74e](https://github.com/inventory69/simple-notes-sync/commit/bf7a74e))
|
||||||
|
- Neuer `DELETED_ON_SERVER` Sync-Status für Multi-Device-Szenarien
|
||||||
|
- Erkennt wenn Notizen auf anderen Clients gelöscht wurden
|
||||||
|
- Zero Performance-Impact (nutzt existierende PROPFIND-Daten)
|
||||||
|
- Löschungs-Anzahl im Sync-Banner: "3 synchronisiert · 2 auf Server gelöscht"
|
||||||
|
- Bearbeitete gelöschte Notizen werden automatisch zum Server hochgeladen (Status → PENDING)
|
||||||
|
|
||||||
|
**Sync-Status-Legende** ([07607fc](https://github.com/inventory69/simple-notes-sync/commit/07607fc))
|
||||||
|
- Hilfe-Button (?) in Hauptbildschirm TopAppBar
|
||||||
|
- Dialog erklärt alle 5 Sync-Status-Icons mit Beschreibungen
|
||||||
|
- Nur sichtbar wenn Sync konfiguriert ist
|
||||||
|
|
||||||
|
**Live-Sync-Fortschritts-UI** ([df37d2a](https://github.com/inventory69/simple-notes-sync/commit/df37d2a))
|
||||||
|
- Echtzeit-Phasen-Indikatoren: PREPARING, UPLOADING, DOWNLOADING, IMPORTING_MARKDOWN
|
||||||
|
- Upload-Fortschritt zeigt x/y Counter (bekannte Gesamtzahl)
|
||||||
|
- Download-Fortschritt zeigt Anzahl (unbekannte Gesamtzahl)
|
||||||
|
- Einheitliches SyncProgressBanner (ersetzt Dual-System)
|
||||||
|
- Auto-Hide: COMPLETED (2s), ERROR (4s)
|
||||||
|
- Keine irreführenden Counter wenn nichts zu synchronisieren ist
|
||||||
|
- Stiller Auto-Sync bleibt still, Fehler werden immer angezeigt
|
||||||
|
|
||||||
|
**Parallele Downloads** ([bdfc0bf](https://github.com/inventory69/simple-notes-sync/commit/bdfc0bf))
|
||||||
|
- Konfigurierbare gleichzeitige Downloads (Standard: 3 simultan)
|
||||||
|
- Kotlin Coroutines async/awaitAll Pattern
|
||||||
|
- Individuelle Download-Timeout-Behandlung
|
||||||
|
- Graceful sequentieller Fallback bei gleichzeitigen Fehlern
|
||||||
|
- Optimierte Netzwerk-Auslastung für schnelleren Sync
|
||||||
|
|
||||||
|
### ✨ UX-Verbesserungen
|
||||||
|
|
||||||
|
**Checklisten-Verbesserungen:**
|
||||||
|
- Überlauf-Verlauf für lange Text-Items ([3462f93](https://github.com/inventory69/simple-notes-sync/commit/3462f93))
|
||||||
|
- Auto-Expand bei Fokus, Collapse auf 5 Zeilen bei Fokus-Verlust
|
||||||
|
- Drag & Drop Flackern-Fix mit Straddle-Target-Center-Erkennung ([538a705](https://github.com/inventory69/simple-notes-sync/commit/538a705))
|
||||||
|
- Adjacency-Filter verhindert Item-Sprünge bei schnellem Drag
|
||||||
|
- Race-Condition-Fix für Scroll + Move-Operationen
|
||||||
|
|
||||||
|
**Einstellungs-UI-Polish:**
|
||||||
|
- Sanfter Sprachwechsel ohne Activity-Recreate ([881c0fd](https://github.com/inventory69/simple-notes-sync/commit/881c0fd))
|
||||||
|
- Raster-Ansicht als Standard für Neu-Installationen ([6858446](https://github.com/inventory69/simple-notes-sync/commit/6858446))
|
||||||
|
- Sync-Einstellungen umstrukturiert in klare Sektionen: Auslöser & Performance ([eaac5a0](https://github.com/inventory69/simple-notes-sync/commit/eaac5a0))
|
||||||
|
- Changelog-Link zum About-Screen hinzugefügt ([49810ff](https://github.com/inventory69/simple-notes-sync/commit/49810ff))
|
||||||
|
|
||||||
|
### 🐛 Fehlerbehebungen
|
||||||
|
|
||||||
|
**Widget-Text-Anzeige** ([d045d4d](https://github.com/inventory69/simple-notes-sync/commit/d045d4d))
|
||||||
|
- Text-Notizen zeigen nicht mehr nur 3 Zeilen in Widgets
|
||||||
|
- Von Absatz-basiert zu Zeilen-basiertem Rendering geändert
|
||||||
|
- LazyColumn scrollt jetzt korrekt durch gesamten Inhalt
|
||||||
|
- Leere Zeilen als 8dp Spacer beibehalten
|
||||||
|
- Vorschau-Limits erhöht: compact 100→120, full 200→300 Zeichen
|
||||||
|
|
||||||
|
### 🔧 Code-Qualität
|
||||||
|
|
||||||
|
**Detekt-Cleanup** ([1da1a63](https://github.com/inventory69/simple-notes-sync/commit/1da1a63))
|
||||||
|
- Alle 22 Detekt-Warnungen behoben
|
||||||
|
- 7 ungenutzte Imports entfernt
|
||||||
|
- Konstanten für 5 Magic Numbers definiert
|
||||||
|
- State-Reads mit derivedStateOf optimiert
|
||||||
|
- Build: 0 Lint-Fehler + 0 Detekt-Warnungen
|
||||||
|
|
||||||
|
### 📚 Dokumentation
|
||||||
|
|
||||||
|
- Vollständige Implementierungs-Pläne für alle 23 v1.8.0 Features
|
||||||
|
- Widget-System-Architektur und State-Management-Docs
|
||||||
|
- Sortierungs-Logik Unit-Tests mit Edge-Case-Coverage
|
||||||
|
- F-Droid Changelogs (Englisch + Deutsch)
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
## [1.7.2] - 2026-02-04
|
## [1.7.2] - 2026-02-04
|
||||||
|
|
||||||
### 🐛 Kritische Fehlerbehebungen
|
### 🐛 Kritische Fehlerbehebungen
|
||||||
|
|||||||
112
CHANGELOG.md
112
CHANGELOG.md
@@ -8,6 +8,118 @@ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/).
|
|||||||
|
|
||||||
---
|
---
|
||||||
|
|
||||||
|
## [1.8.0] - 2026-02-10
|
||||||
|
|
||||||
|
### 🎉 Major: Widgets, Sorting & Advanced Sync
|
||||||
|
|
||||||
|
Complete widget system with interactive checklists, note sorting, and major sync improvements!
|
||||||
|
|
||||||
|
### 🆕 Homescreen Widgets
|
||||||
|
|
||||||
|
**Full Jetpack Glance Widget Framework** ([539987f](https://github.com/inventory69/simple-notes-sync/commit/539987f))
|
||||||
|
- 5 responsive size classes (SMALL, NARROW_MED, NARROW_TALL, WIDE_MED, WIDE_TALL)
|
||||||
|
- Interactive checklist checkboxes that sync immediately to server
|
||||||
|
- Material You dynamic colors with configurable background opacity (0-100%)
|
||||||
|
- Lock widget toggle to prevent accidental edits
|
||||||
|
- Read-only mode with permanent options bar for locked widgets
|
||||||
|
- Widget configuration activity with note selection and settings
|
||||||
|
- Auto-refresh after sync completion
|
||||||
|
- Tap content to open editor (unlocked) or show options (locked)
|
||||||
|
- Complete resource cleanup fixes for connection leaks
|
||||||
|
|
||||||
|
**Widget State Management:**
|
||||||
|
- NoteWidgetState keys for per-instance persistence via DataStore
|
||||||
|
- Five top-level ActionCallbacks (Toggle Checkbox, Lock, Options, Refresh, Config)
|
||||||
|
- Type-safe parameter passing with NoteWidgetActionKeys
|
||||||
|
|
||||||
|
### 📊 Note & Checklist Sorting
|
||||||
|
|
||||||
|
**Note Sorting** ([96c819b](https://github.com/inventory69/simple-notes-sync/commit/96c819b))
|
||||||
|
- Sort by: Updated (newest/oldest), Created, Title (A-Z/Z-A), Type
|
||||||
|
- Persistent sort preferences (saved in SharedPreferences)
|
||||||
|
- Sort dialog in main screen with direction toggle
|
||||||
|
- Combined sortedNotes StateFlow in MainViewModel
|
||||||
|
|
||||||
|
**Checklist Sorting** ([96c819b](https://github.com/inventory69/simple-notes-sync/commit/96c819b), [900dad7](https://github.com/inventory69/simple-notes-sync/commit/900dad7))
|
||||||
|
- Sort by: Manual, Alphabetical, Unchecked First, Checked Last
|
||||||
|
- Visual separator between unchecked/checked items with count display
|
||||||
|
- Auto-sort on item toggle and reordering
|
||||||
|
- Drag-only within same group (unchecked/checked)
|
||||||
|
- Smooth fade/slide animations for item transitions
|
||||||
|
- Unit tested with 9 test cases for sorting logic validation
|
||||||
|
|
||||||
|
### 🔄 Sync Improvements
|
||||||
|
|
||||||
|
**Server Deletion Detection** ([40d7c83](https://github.com/inventory69/simple-notes-sync/commit/40d7c83), [bf7a74e](https://github.com/inventory69/simple-notes-sync/commit/bf7a74e))
|
||||||
|
- New `DELETED_ON_SERVER` sync status for multi-device scenarios
|
||||||
|
- Detects when notes are deleted on other clients
|
||||||
|
- Zero performance impact (uses existing PROPFIND data)
|
||||||
|
- Deletion count shown in sync banner: "3 synced · 2 deleted on server"
|
||||||
|
- Edited deleted notes automatically re-upload to server (status → PENDING)
|
||||||
|
|
||||||
|
**Sync Status Legend** ([07607fc](https://github.com/inventory69/simple-notes-sync/commit/07607fc))
|
||||||
|
- Help button (?) in main screen TopAppBar
|
||||||
|
- Dialog explaining all 5 sync status icons with descriptions
|
||||||
|
- Only visible when sync is configured
|
||||||
|
|
||||||
|
**Live Sync Progress UI** ([df37d2a](https://github.com/inventory69/simple-notes-sync/commit/df37d2a))
|
||||||
|
- Real-time phase indicators: PREPARING, UPLOADING, DOWNLOADING, IMPORTING_MARKDOWN
|
||||||
|
- Upload progress shows x/y counter (known total)
|
||||||
|
- Download progress shows count (unknown total)
|
||||||
|
- Single unified SyncProgressBanner (replaces dual system)
|
||||||
|
- Auto-hide: COMPLETED (2s), ERROR (4s)
|
||||||
|
- No misleading counters when nothing to sync
|
||||||
|
- Silent auto-sync stays silent, errors always shown
|
||||||
|
|
||||||
|
**Parallel Downloads** ([bdfc0bf](https://github.com/inventory69/simple-notes-sync/commit/bdfc0bf))
|
||||||
|
- Configurable concurrent downloads (default: 3 simultaneous)
|
||||||
|
- Kotlin coroutines async/awaitAll pattern
|
||||||
|
- Individual download timeout handling
|
||||||
|
- Graceful sequential fallback on concurrent errors
|
||||||
|
- Optimized network utilization for faster sync
|
||||||
|
|
||||||
|
### ✨ UX Improvements
|
||||||
|
|
||||||
|
**Checklist Enhancements:**
|
||||||
|
- Overflow gradient for long text items ([3462f93](https://github.com/inventory69/simple-notes-sync/commit/3462f93))
|
||||||
|
- Auto-expand on focus, collapse to 5 lines when unfocused
|
||||||
|
- Drag & Drop flicker fix with straddle-target-center detection ([538a705](https://github.com/inventory69/simple-notes-sync/commit/538a705))
|
||||||
|
- Adjacency filter prevents item jumps during fast drag
|
||||||
|
- Race-condition fix for scroll + move operations
|
||||||
|
|
||||||
|
**Settings UI Polish:**
|
||||||
|
- Smooth language switching without activity recreate ([881c0fd](https://github.com/inventory69/simple-notes-sync/commit/881c0fd))
|
||||||
|
- Grid view as default for new installations ([6858446](https://github.com/inventory69/simple-notes-sync/commit/6858446))
|
||||||
|
- Sync settings restructured into clear sections: Triggers & Performance ([eaac5a0](https://github.com/inventory69/simple-notes-sync/commit/eaac5a0))
|
||||||
|
- Changelog link added to About screen ([49810ff](https://github.com/inventory69/simple-notes-sync/commit/49810ff))
|
||||||
|
|
||||||
|
### 🐛 Bug Fixes
|
||||||
|
|
||||||
|
**Widget Text Display** ([d045d4d](https://github.com/inventory69/simple-notes-sync/commit/d045d4d))
|
||||||
|
- Fixed text notes showing only 3 lines in widgets
|
||||||
|
- Changed from paragraph-based to line-based rendering
|
||||||
|
- LazyColumn now properly scrolls through all content
|
||||||
|
- Empty lines preserved as 8dp spacers
|
||||||
|
- Preview limits increased: compact 100→120, full 200→300 chars
|
||||||
|
|
||||||
|
### 🔧 Code Quality
|
||||||
|
|
||||||
|
**Detekt Cleanup** ([1da1a63](https://github.com/inventory69/simple-notes-sync/commit/1da1a63))
|
||||||
|
- Resolved all 22 Detekt warnings
|
||||||
|
- Removed 7 unused imports
|
||||||
|
- Defined constants for 5 magic numbers
|
||||||
|
- Optimized state reads with derivedStateOf
|
||||||
|
- Build: 0 Lint errors + 0 Detekt warnings
|
||||||
|
|
||||||
|
### 📚 Documentation
|
||||||
|
|
||||||
|
- Complete implementation plans for all 23 v1.8.0 features
|
||||||
|
- Widget system architecture and state management docs
|
||||||
|
- Sorting logic unit tests with edge case coverage
|
||||||
|
- F-Droid changelogs (English + German)
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
## [1.7.2] - 2026-02-04
|
## [1.7.2] - 2026-02-04
|
||||||
|
|
||||||
### 🐛 Critical Bug Fixes
|
### 🐛 Critical Bug Fixes
|
||||||
|
|||||||
@@ -20,8 +20,8 @@ android {
|
|||||||
applicationId = "dev.dettmer.simplenotes"
|
applicationId = "dev.dettmer.simplenotes"
|
||||||
minSdk = 24
|
minSdk = 24
|
||||||
targetSdk = 36
|
targetSdk = 36
|
||||||
versionCode = 19 // 🔧 v1.7.2: Critical Bugfixes (Timestamp Sync, SyncStatus, etc.)
|
versionCode = 20 // 🎉 v1.8.0: Widgets, Sorting, UI Polish, Post-Update Changelog
|
||||||
versionName = "1.7.2" // 🔧 v1.7.2: Critical Bugfixes
|
versionName = "1.8.0" // 🎉 v1.8.0: Major Feature Release
|
||||||
|
|
||||||
testInstrumentationRunner = "androidx.test.runner.AndroidJUnitRunner"
|
testInstrumentationRunner = "androidx.test.runner.AndroidJUnitRunner"
|
||||||
}
|
}
|
||||||
|
|||||||
12
fastlane/metadata/android/de-DE/changelogs/20.txt
Normal file
12
fastlane/metadata/android/de-DE/changelogs/20.txt
Normal file
@@ -0,0 +1,12 @@
|
|||||||
|
🎉 v1.8.0 — WIDGETS, SORTIERUNG & SYNC-VERBESSERUNGEN
|
||||||
|
|
||||||
|
• Neu: Homescreen-Widgets mit interaktiven Checkboxen
|
||||||
|
• Neu: Notiz-Sortierung (Datum, Titel, Typ)
|
||||||
|
• Neu: Checklisten Auto-Sort (Offen zuerst/Erledigt zuletzt)
|
||||||
|
• Neu: Server-Löschungs-Erkennung für Multi-Device-Sync
|
||||||
|
• Neu: Sync-Status-Legende (Hilfe erklärt alle Icons)
|
||||||
|
• Verbessert: Live Sync-Fortschritt mit Phasen-Anzeige
|
||||||
|
• Verbessert: Parallele Downloads für schnelleren Sync
|
||||||
|
• Verbessert: Checklisten-Überlauf-Verlauf bei langem Text
|
||||||
|
• Behoben: Drag & Drop Flackern in Checklisten
|
||||||
|
• Behoben: Widget-Textnotizen Scrolling
|
||||||
12
fastlane/metadata/android/en-US/changelogs/20.txt
Normal file
12
fastlane/metadata/android/en-US/changelogs/20.txt
Normal file
@@ -0,0 +1,12 @@
|
|||||||
|
🎉 v1.8.0 — WIDGETS, SORTING & SYNC IMPROVEMENTS
|
||||||
|
|
||||||
|
• New: Home screen widgets with interactive checkboxes
|
||||||
|
• New: Note sorting (date, title, type)
|
||||||
|
• New: Checklist auto-sort (unchecked first/checked last)
|
||||||
|
• New: Server deletion detection for multi-device sync
|
||||||
|
• New: Sync status legend (help button explains all icons)
|
||||||
|
• Improved: Live sync progress with phase indicators
|
||||||
|
• Improved: Parallel downloads for faster sync
|
||||||
|
• Improved: Checklist overflow gradient for long text
|
||||||
|
• Fixed: Drag & drop flicker in checklists
|
||||||
|
• Fixed: Widget text notes scrolling
|
||||||
Reference in New Issue
Block a user