Skip to content

v0.2.0

Choose a tag to compare

@rizukirr rizukirr released this 27 Mar 07:09

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 method command for calculation method management
  • Add fajr_angle/isha_angle config 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-overread warning in copy_string when 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