# ChurchCRM 7.2.0

**Release Date**: April 2026  
**Previous Release**: [7.1.2](./7.1.2.md)

---

## ✨ New Features

- **Event MVC migration epic completion** – Completed the 9-branch Event module refactor consolidating date-time handling, attendance workflows, RSVP logic, and type management into a single modern Slim 4 MVC architecture. Eliminates 2,000+ lines of legacy code and standardizes route patterns across all event operations (#8550)
- **GA4 tracking on authentication pages** – Enabled Google Analytics 4 tracking on login and logout pages via the plugin system, providing opt-in event tracking for churches using GA integration (#8553)
- **Church Information page enhancements** – Exposed latitude and longitude fields on the Church Information admin page for easier map coordinate management (#8584)

## 🎨 UI / Design & UX

- **Mobile responsive design codification** – Created new `responsive-design-guidelines.md` skill as single source of truth for 3 form factors (mobile/tablet/desktop), stat-card grid patterns, table wrappers, touch targets, and safe-area insets. Standardized `col-6 col-lg-3` pattern across all nav pages (#8569)
- **System reset page redesign** – Rebuilt admin System Reset page with modern Tabler form patterns, clearer action labeling, and improved visual hierarchy (#8554)
- **Mobile UX polish** – Added 44px touch targets on authentication pages, safe-area insets for notched phones, 16px input font to prevent iOS zoom, and 2FA input overflow fixes (#8569)
- **Navigation page mobile audits** – Converted rigid form-as-table layouts in Event editor and various list pages to Bootstrap horizontal `row/col-md-*` so they stack properly on mobile without fixed widths (#8569)

## 🐛 Bug Fixes

- **Shopping cart empty-to-group assignment** – Fixed cart submission when moving items to a group without a group role — now correctly sends both `groupID` and `groupRoleID` parameters (#8572)
- **Dashboard deposit widget permission** – Restricted deposit widget visibility to users with Finance permissions so non-finance users no longer see the widget and receive confusing permission errors (#8567)

## 🌍 Internationalization

- **Filipino locale translations** – Added 348 missing Filipino translations covering core UI terms, improving localization coverage for Filipino-speaking congregations (#8549)
- **Bulk locale translation campaign** – Translated missing UI terms across 27 locales in two phases:
  - **Phase 1 (TIER-1, 11 locales)**: Hindi, Arabic, German, Indonesian, Japanese, Korean, Russian, Vietnamese
  - **Phase 2 (TIER-2, 15 locales)**: Spanish, Spanish (Mexico), Spanish (Argentina), Spanish (Colombia), Spanish (El Salvador), Portuguese, Portuguese (Brazil), French, Chinese (Simplified), Chinese (Traditional), Turkish, and others
  - Denomination-appropriate vocabulary applied per locale with proper plural forms for languages like Arabic and Russian (#8571, #8587, #8588)
- **english-ok.json expansion** – Updated allowlist to recognize intentionally-English terms (brand names, cognates, locale names, abbreviations) so POEditor upload process accepts value=key entries (#8587)
- **POEditor locale updates** – Multiple rounds of automated translation string extraction and updates across all active locales (#8536, #8558, #8564, #8568, #8573, #8574, #8585)

## 🔧 Architecture & Refactoring

- **Locale translation workflow automation** – Mandated branch+commit+push per locale translation to prevent data loss from agent timeouts. Added per-locale POEditor upload as part of translation workflow with graceful failure handling and refreshed file commits (#8586)

## 🔧 Build & Infrastructure

- **DDEV configuration improvements** – Removed empty OSTypes restriction from DDEV setup to improve compatibility across different operating systems. DDEV now auto-manages `.ddev/.gitignore` (#8547, #8548)
- **Pre-push Biome enforcement** – Established mandatory Biome linting before push via `.githooks/pre-push` hook to catch formatting and code quality issues before CI (#8569)
- **OpenAPI specs update** – Updated API documentation specs for new/modified endpoints (#8550)

## 📚 Documentation

- **Responsive Design Guidelines skill** – New comprehensive skill documenting form factors, grid patterns, table handling, and responsive anti-patterns (#8569)
- **README documentation fix** – Fixed broken "Get Started" documentation link in README (#8551)
- **GSD Epic Planning** – Created GSD (Growing Smaller, Doing More) epic planning documentation for future architectural vision (#8538)

## 🌐 Locale Coverage

This release continues expanding translation coverage toward 100% completion:

- **Phase 1 (TIER-1, 8 locales)**: ~1,500 terms translated — `hi`, `ar`, `de`, `id`, `ja`, `ko`, `ru`, `vi`
- **Phase 2 (TIER-2, 15 locales)**: ~1,941 terms translated — Spanish variants, Portuguese variants, French, Chinese variants, Turkish
- **Phase 3 (Filipino)**: 348 terms for `fil`
- **Remaining (~22 locales)**: ~3,850 terms queued for translation

## 📊 Release Statistics

- **31 commits** since 7.1.2
- **3 new features** (Event MVC epic, GA4 tracking, Church Info lat/long)
- **2 major UX improvements** (responsive design, system reset redesign)
- **2 bug fixes** (cart assignment, dashboard permissions)
- **Translated 3,289+ UI terms** across 27 locales
- **~2,000 lines of legacy code removed** (Event refactor)

## Known Limitations

- Approximately 22 locales still require translation coverage (3,850+ terms remaining)
- See memory file for per-locale translation status tracking

**Download**: [GitHub Release](https://github.com/ChurchCRM/CRM/releases/tag/v7.2.0)
