# ChurchCRM 7.1.2

**Release Date**: TBD  
**Previous Release**: [7.1.1](./7.1.1.md)

---

## ✨ New Features

- **User settings redesign with Tabler theme support** – New left-tab settings page (`/v2/user/{id}`) with dark mode toggle, primary accent color picker, avatar upload, API Access tab, and Localization tab. UserEditor.php modernized with Tabler form patterns (#8532)
- **Classification and FamilyRole fields in CSV import** – CSV import now supports `Classification` (e.g. Member, Visitor) and `FamilyRole` (e.g. Head of Household, Spouse, Child) with auto-mapping from common CSV header aliases. Custom list options are resolved dynamically (#8530)

## 🔧 Architecture & Refactoring

- **MvcAppFactory + consolidated MVC error handling** – Extracted `MvcAppFactory::create()` as a single factory for all HTML-serving Slim 4 modules, eliminating ~200 lines of copy-pasted boilerplate. All MVC entry points now render proper Tabler-styled error pages (404/403/405/500) instead of JSON or 302 redirects. Fixed Slim 4 LIFO middleware ordering across all entry points (#8445)
- **Replace React with vanilla JS** – Migrated calendar event editor and 2FA enrollment wizard from React to vanilla JavaScript using BS5 modals, TomSelect, and native date inputs. Removed 66 React-related packages from dependencies (#8513)

## 🐛 Bug Fixes

- **Mobile responsive fixes after Tabler/BS5 migration** – Fixed horizontal overflow, cramped layouts, and UX inconsistencies at 375px and 768px viewports. Finance dashboard rewritten to standard Tabler UX pattern. Stat cards use 2-column grid on all screen sizes, page header buttons go icon-only on mobile (#8524)
- **Flaky Cypress tests** – Fixed timing-related test failures for modals and dropdowns (#8531)

## 🌍 Internationalization

- **POEditor locale updates** – Multiple rounds of translation string updates across all active locales (#8525, #8533, #8535, #8537, #8545)

## 📦 Dependencies

- Bumped `i18next` from 25.10.10 to 26.0.3 (#8517)
- Bumped `rector/rector` from 2.3.9 to 2.4.0 (#8514)

## 📊 Release Statistics

- **15 commits** since 7.1.1
- **2 new features** (user settings redesign, CSV import fields)
- **2 architecture improvements** (MvcAppFactory, React removal)
- **1 mobile responsive fix**
- **66 React packages removed**

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