✨ New Features: - Local backup/restore system with 3 modes (Merge/Replace/Overwrite) - Markdown export for desktop access via WebDAV mount - Dual-format architecture (JSON master + Markdown mirror) - Settings UI extended with backup & desktop integration sections 📝 Changes: - Server restore now asks for mode selection (user safety) - WebDAV mount instructions for Windows/Mac/Linux in README - Complete CHANGELOG.md with all version history 🔧 Technical: - BackupManager.kt for complete backup/restore logic - Note.toMarkdown/fromMarkdown with YAML frontmatter - ISO8601 timestamps for desktop compatibility - Last-Write-Wins conflict resolution 📚 Documentation: - CHANGELOG.md (Keep a Changelog format) - README updates (removed Joplin/Obsidian, added WebDAV-mount) - F-Droid changelogs (DE+EN, under 500 chars) - SYNC_ARCHITECTURE.md in project-docs - MARKDOWN_DESKTOP_REALITY_CHECK.md strategic plan - WEB_EDITOR_PLAN_v1.3.0.md for future web editor feature
4.9 KiB
4.9 KiB
Changelog
All notable changes to Simple Notes Sync will be documented in this file.
The format is based on Keep a Changelog.
1.2.0 - 2026-01-04
Added
-
Local Backup System
- Export all notes as JSON file to any location (Downloads, SD card, cloud folder)
- Import backup with 3 modes: Merge, Replace, or Overwrite duplicates
- Automatic safety backup created before every restore
- Backup validation (format and version check)
-
Markdown Desktop Integration
- Optional Markdown export parallel to JSON sync
.mdfiles synced tonotes-md/folder on WebDAV- YAML frontmatter with
id,created,updated,device - Manual import button to pull Markdown changes from server
- Last-Write-Wins conflict resolution via timestamps
-
Settings UI Extensions
- New "Backup & Restore" section with local + server restore
- New "Desktop Integration" section with Markdown toggle
- Universal restore dialog with radio button mode selection
Changed
- Server Restore Behavior: Users now choose restore mode (Merge/Replace/Overwrite) instead of hard-coded replace-all
Technical
BackupManager.kt- Complete backup/restore logicNote.toMarkdown()/Note.fromMarkdown()- Markdown conversion with YAML frontmatterWebDavSyncService- Extended for dual-format sync (JSON master + Markdown mirror)- ISO8601 timestamp formatting for desktop compatibility
- Filename sanitization for safe Markdown file names
Documentation
- Added WebDAV mount instructions (Windows, macOS, Linux)
- Created SYNC_ARCHITECTURE.md - Complete sync documentation
- Created MARKDOWN_DESKTOP_REALITY_CHECK.md - Desktop integration analysis
1.1.2 - 2025-12-28
Fixed
-
"Job was cancelled" Error
- Fixed coroutine cancellation in sync worker
- Proper error handling for interrupted syncs
-
UI Improvements
- Back arrow instead of X in note editor (better UX)
- Pull-to-refresh for manual sync trigger
- HTTP/HTTPS protocol selection with radio buttons
- Inline error display (no toast spam)
-
Performance & Battery
- Sync only on actual changes (saves battery)
- Auto-save notifications removed
- 24-hour server offline warning instead of instant error
Changed
- Settings grouped into "Auto-Sync" and "Sync Interval" sections
- HTTP only allowed for local networks (RFC 1918 IPs)
- Swipe-to-delete without UI flicker
1.1.1 - 2025-12-27
Fixed
- WiFi Connect Sync
- No error notifications in foreign WiFi networks
- Server reachability check before sync (2s timeout)
- Silent abort when server offline
- Pre-check waits until network is ready
- No errors during network initialization
Changed
- Notifications
- Old sync notifications cleared on app start
- Error notifications auto-dismiss after 30 seconds
UI
- Sync icon only shown when sync is configured
- Swipe-to-delete without flicker
- Scroll to top after saving note
Technical
- Server check with 2-second timeout before sync attempts
- Network readiness check in WiFi connect trigger
- Notification cleanup on MainActivity.onCreate()
1.1.0 - 2025-12-26
Added
-
Configurable Sync Intervals
- User choice: 15, 30, or 60 minutes
- Real-world battery impact displayed (15min: ~0.8%/day, 30min: ~0.4%/day, 60min: ~0.2%/day)
- Radio button selection in settings
- Doze Mode optimization (syncs batched in maintenance windows)
-
About Section
- App version from BuildConfig
- Links to GitHub repository and developer profile
- MIT license information
- Material 3 card design
Changed
- Settings UI redesigned with grouped sections
- Periodic sync updated dynamically when interval changes
- WorkManager uses selected interval for background sync
Removed
- Debug/Logs section from settings (cleaner UI)
Technical
PREF_SYNC_INTERVAL_MINUTESpreference key- NetworkMonitor reads interval from SharedPreferences
ExistingPeriodicWorkPolicy.UPDATEfor live interval changes
1.0.0 - 2025-12-25
Added
- Initial release
- WebDAV synchronization
- Note creation, editing, deletion
- 6 sync triggers:
- Periodic sync (configurable interval)
- App start sync
- WiFi connect sync
- Manual sync (menu button)
- Pull-to-refresh
- Settings "Sync Now" button
- Material 3 design
- Light/Dark theme support
- F-Droid compatible (100% FOSS)