v1.2.0
What's New in v1.2.0
π Internationalization
- 14 languages supported β Arabic, Chinese (Simplified & Traditional), Dutch, French, German, Italian, Japanese, Korean, Polish, Portuguese (BR), Russian, Spanish, Turkish
- Geocoding improvements β better results for non-English locales with Accept-Language headers and postal code retry logic
βοΈ Custom Settings Page
- Stay-in-place settings β no more bouncing back to root after every save. Adjust multiple options in one session.
- Favorites-only dock model β simplified architecture replaces the dual PinnedLocationsManager
- 12/24-hour clock setting β choose your preferred time format
π‘οΈ Reliability & Performance
- Thread-safe weather cache β lock protects concurrent reads/writes in OpenMeteoService
- CancellationToken in dock bands β API calls cancel cleanly on dispose, no more orphaned requests
- Null weather error state β clear error message when weather data is unavailable instead of blank UI
- InvariantCulture for API URLs β fixes locale-dependent decimal separator bugs (e.g. commas in coordinates)
π§ͺ Testing
- Expanded test suite β new tests for WeatherFormatter, HourlyForecastPage, WeatherListPage, JsonFileStore, SearchHints, PinnedLocations, and more
- Test doubles infrastructure β StubWeatherService, StubGeocodingService, AsyncTestHelper for better unit isolation
π¦ Incremental Favorites Loading
- Favorites weather data loads and displays incrementally β items appear one-by-one as data arrives rather than all-at-once after the slowest response
π§ Infrastructure
- Fixed release action MSIX upload and Store submission commit
- WeatherFormatter centralized formatting (temperature, wind, compass direction, hours)
New Contributors
- @eneshenderson made their first contribution in #102
Full Changelog: v1.1.0...v1.2.0