Loading...
- v1.6iOS
Document Tracking — New Feature - Track passports, visas, residence permits, medical insurance, and 12 more document types - Smart expiry alerts: color-coded status (valid, expiring soon, expired) - Passport 6-month validity rule warning (required by 70+ countries) - Schengen passport rule: alerts when validity is under 3 months or issued over 10 years ago - Dynamic form fields that adapt to each document type (visa entry type, insurance provider, employer, etc.) - Filter by status (all, expiring, expired, valid) and sort by expiry date, type, country, or date added - Full localization in all 11 supported languages Dashboard - New document status card showing All / Valid / Expiring / Expired breakdown - Card only appears when you have documents — zero clutter for existing users Code Quality & Stability - Fixed thread safety issues in data storage (race conditions, priority inversion) - Fixed DateFormatter thread safety across the app - Improved iPad sidebar navigation with proper selection highlighting - Added VoiceOver accessibility labels to trip rows, country summaries, and Schengen status - Reduced unnecessary UI updates for smoother scrolling with large datasets - Fixed "Countries" count on dashboard to respect year filter - Fixed Markdown export to show year-filtered day counts for cross-year trips - Settings "Delete All Data" now clears both trips and documents Bug Fixes - Fixed empty toolbar button circle appearing when no data exists - Fixed localization issue where Italian text appeared in English empty state - Fixed test data generator using incorrect country keys - Fixed batch trip import not validating dates and country names
- v1.5iOS
Tax Residency Rules per Country - Added country-specific tax residency rules (e.g., 183 days for Germany, 31 days for the UK) - Tax residency progress now reflects actual rules for each country - EU citizen toggle: enables special residency thresholds for EU nationals - Informational tax rule cards accessible from country summaries Data Safety & Reliability - Added schema versioning for stored trip data — future updates won't lose your trips - Deterministic list identities eliminate UI flickering when data recalculates - Fixed race condition where deleting all trips could silently restore old data - Input validation: dates are auto-corrected if entered in the wrong order Performance Improvements - Cached filtered and sorted trip lists — no more redundant recalculations on every view update - Cached tax residency counts and date formatters for smoother scrolling - Optimized timezone-consistent day counting using integer hashing instead of string operations Accessibility - VoiceOver labels for progress rings, stat cards, and Schengen zone card - Dashboard elements now announce meaningful summaries instead of raw numbers UI/UX Polish - Proper SwiftUI environment injection for appearance, language, and user preferences - Fixed onboarding tutorial replay from Settings - Export generation no longer blocks the UI — computed lazily on data change - Helpful hint when Tax Residency Progress shows countries with no trips in the current year - Updated deprecated visual APIs for future iOS compatibility Bug Fixes - Fixed timezone inconsistency in day counting that could cause off-by-one errors near midnight - Fixed thread safety issue with concurrent save operations - Corrected country count from 174 to 160 in data source - Appearance mode picker now displays localized names instead of raw values Thank you for using Days of Stay! Your feedback shapes our roadmap.
- v1.4iOS
Enhanced Dashboard Experience - Redesigned period indicators with elegant badge-style capsules - Clear visual distinction between "All Time" and specific year views - Improved readability across all dashboard sections Country Summary Improvements - Fixed critical bug where "All Years" filter showed 0 days - Now correctly displays total days across all years as primary number - Tax year information shown as helpful context note Export Trips to Markdown - Export your travel history as a Markdown file - Perfect for sharing with tax consultants and accountants - Respects your current year filter - Native iOS Share Sheet integration Localization Quality Update - Comprehensive review of all 11 languages - Fixed translation issues in Japanese, Italian, Korean, Russian, Spanish, and French - Corrected country names: South Korea (French), Czechia, Hong Kong, Macau (Korean) - All format specifiers now work correctly across all languages New: Suggest an Idea - Share your ideas directly from Settings - Quick access to reach our team via email Bug Fixes - Fixed date display showing "M03" instead of month names - Improved date formatting for System Default language setting - Various stability improvements Thank you for using Days of Stay! Your feedback shapes our roadmap.
- v1.3iOS
• Complete Localization — All UI elements now fully translated across all 11 supported languages • Improved Date Formatting — Dates and numbers now display in your selected app language • Better Timeline Chart — Compact month labels for improved readability
- v1.2iOS
Complete Multi-Language Support We're excited to announce full localization for 11 languages! The app now speaks your language: - English - German (Deutsch) - Spanish (Español) - French (Français) - Hindi (हिन्दी) - Italian (Italiano) - Japanese (日本語) - Korean (한국어) - Portuguese (Brazil) - Portuguese (Portugal)
- v1.1iOS
Better travel tracking and tax residency calculations! IMPROVED INTERFACE • Enhanced onboarding experience for all iPhone models • Crystal-clear 183-day tax residency rule indicators • Smoother navigation and visual polish RELIABILITY UPDATES • Automatic data protection when closing the app • Zero data loss guarantee for your travel records • Improved background save performance BETTER CLARITY • Clear tax residency progress tracking • Schengen zone day counter always visible • Easy-to-understand compliance indicators