v0.2.0
What's Changed
Windows Support
- Add full Windows support for Muslimtify, including toast notifications with icon, Task Scheduler daemon, service helper, install/uninstall scripts, and Inno Setup installer for winget distribution
International Calculation Methods
- Add 23 international prayer time calculation methods (MWL, Makkah, ISNA, Egypt, and more)
- Add
muslimtify methodcommand for calculation method management - Add
fajr_angle/isha_angleconfig fields for custom method parameters - Display full method name in config output
Platform & Architecture
- Add platform abstraction layer (Linux/Windows)
- Extract shared check cycle, decouple from CLI
- Route display, persistence, and system calls through platform layer
- Downgrade from C23 to C99 for MSVC compatibility
CI/CD
- Add clang-format and clang-tidy CI checks
- Add Windows build and test job
Testing
- Add comprehensive multi-method validation (~108 data points)
- Add unit tests for
json.h, platform boundary, and Windows components
Bug Fixes
- Fix
-Wstringop-overreadwarning incopy_stringwhen building with GCC and_FORTIFY_SOURCE - Fix MSVC C4996 (
strncpy) and C4116 (unnamed type in parentheses) warnings
Cleanup
- Remove Jafari (Shia Ithna-Ashari) and Tehran calculation methods
- Cache prayer trigger times to avoid recalculating every minute
Full Changelog: v0.1.6...v0.2.0