Releases: srmdn/quran-tracker
Releases · srmdn/quran-tracker
v1.4.0
Features
- Hadith reminders on landing page and dashboard: rotating authentic narrations from Bukhari and Muslim displayed to members
- Daily reminder email: leaderboard rank shown per recipient; hadith/verse rotates per send
Bug Fixes
- Dashboard: replaced weak hadith with verified narrations (Bukhari 5033, Muslim 791)
- Hadith citations now include source reference numbers
- Email log admin: active email types hardcoded; inactivity_reminder label added
Changed
- Auto-suspension removed: inactivity escalation policy (suspension warning at day 21, auto-suspend at day 28) has been removed; inactivity email is now a simple weekly nudge with no account action
v1.3.0
Features
- Freeze credits shown in daily reminder email: when credits are available, a line appears below the streak indicating how many credits remain
- Monthly snapshot email: two new rows in personal stats — freeze credits remaining and days frozen this month
- Inactivity reminder email: sent to members with a daily target who have not logged any activity in 7-20 days; deduped per 7 days
- Suspension warning email: sent to all members inactive for 21-27 days with an explicit deadline and days remaining
- Auto-suspend: members with no activity for 28+ days are automatically suspended and notified via email; admin can manually unsuspend
- New systemd timers: quran-inactivity-reminder, quran-suspension-warning, quran-auto-suspend -- all fire daily at 20:00 WIB
Fix
- Replace weak hadith (Abu Dawud 1474) on dashboard reminder with authentic narration (Bukhari 5033, Muslim 791)
Closes #9
v1.2.2
Bug Fixes
- Auto-calculate (pages): fixed false error when start and end positions are within the same juz; now uses per-surah Mushaf page lookup (standard 604-page Medina Mushaf) with inclusive page count
- Auto-calculate (juz): fixed false error when start and end are in the same juz; now uses inclusive juz count (diff + 1) consistent with pages logic
- Profile page: role and email no longer overlap on mobile; account info grid stacks to single column on small screens, role moved above email
v1.2.1 — Landing page and changelog update
What's new
This release documents v1.2.0 features in the changelog and adds a dedicated Key Features section to the landing page.
Landing page
Added a "Built to Keep You Consistent" features section with cards for:
- Streak Freeze: earn a freeze credit every 7-day milestone; spend it to protect your streak on a missed day
- Juz Coverage Map: 30-cell visual grid showing which juz you have covered this month
- Flexible Logging: log in juz or pages down to half-page precision, with starting position pre-filled from your last entry
Bilingual EN/ID.
Changelog
Added v1.2.0 entry covering half-page logging, juz coverage map, and streak freeze.
Full changelog: https://github.com/srmdn/quran-tracker/blob/main/CHANGELOG.md
v1.2.0
What's new
- Half-page logging: pages mode now has separate whole pages + half-page checkbox fields
- Auto-calculate amount: leave the amount empty and the app derives it from start and end position
- Juz coverage map: 5x6 color-coded grid on the tilawah page showing which juz you've read (this month / all time)
- Streak freeze: 2 credits per month to protect your streak on a missed day; frozen days show as blue on the heatmap and ice emoji on the streak counter
v1.1.0
Features
- PWA: add manifest.json and installable support (manifest link, theme-color, Apple meta tags, 192/512 icons) — closes #1
- Export personal log history (tilawah + murojaah, all-time) as CSV from the profile page — closes #3
- Admin: bulk approve/reject pending enrollments with checkboxes, Select All, and confirmation prompt — closes #5
- Admin enrollments page: status filter tabs (Pending/Approved/Rejected/All) and status badges per row
v1.0.4
v1.0.3 — Optional starting position for logs
Features
- Tilawah and murojaah log forms now include an optional starting position (surah + ayah)
- Starting position is pre-filled from the last log's ending position for convenience, fully editable
- Log list displays "Started at ... -> Ended at ..." when start position is present; falls back to "Ended at ..." for older logs
- DB: additive migration adds
start_surah,start_ayah,start_juz(nullable) to both log tables — no disruption to existing data
Closes #6
v1.0.2
Fixes
- Remove public leaderboard from landing page; replace with Who Can Join section (eligibility + how to join steps)
- Streak now counts any log activity (partial or target-met), not only fully met target days
- Remove info icons from landing page hero and CTA banner