> ## Documentation Index
> Fetch the complete documentation index at: https://help-loyalife.xoxoday.com/llms.txt
> Use this file to discover all available pages before exploring further.

# v7.12 — October 2024

> Loyalife v7.12 introduces stricter non-LDAP password security, secure LDAP, custom email branding, rule group expiry warnings, V4-to-V7 migration tooling, and a hotfix for field validation.

# v7.12 — October 2024

**Released:** October 2024

## Security

### Enhanced Password Management (Non-LDAP)

* Users are limited to **one active password reset link**, which expires after 24 hours
* Users cannot reuse any of their **last 4 passwords**
* Passwords that contain email address components are rejected
* **6 consecutive failed login attempts** trigger a 24-hour account lockout — password reset is still available during the lockout period
* Secure LDAP is now supported for Azure and AWS environments; enabled via `IsLdapSecure: true` in `appsettings.json`; anonymous binding toggle is available

***

## Communications

### Program-Level Email Branding

* Email branding is now configurable at the **program level**; if unconfigured, the system defaults to Giift's standard branding
* Email previews display the current branding
* Bulk email processing now uses a **single processing pod** instead of three, streamlining operations while maintaining reliability

### On-Demand Welcome Email API

* A new API triggers welcome emails on demand, with `Program_id` and `Enrollment_date` as parameters

***

## Rule Engine

### Expiry Warnings on Rule Groups

* Rule groups with **expired validity date ranges** now display a warning in the rule group listing view, the condition editor, and the rule management section
* Reduces the risk of rules being triggered accidentally after their validity period ends

***

## Audit & Access

* **Audit Trail** search can now be filtered by **IP address**
* **Program-specific user roles:** Users can hold different permissions across multiple programs
* **Program-level notification configuration:** Tailored communication events per program

***

## Performance Benchmarks

| Scenario                                   | Time               |
| ------------------------------------------ | ------------------ |
| 1M transaction upload with product capping | 21 minutes         |
| Accrual notification for 1M records        | 2 hours 21 minutes |
| Tier progression for 7M members            | 12 minutes         |
| Member report for 7M members with filters  | 14 minutes         |

***

## Migration

### V4 to V7 Migration

* Roles are restructured to new role types (Program Admin, Program Manager, Customer Executive)
* Pre-migration reports are archived; only liability reports are created post-migration
* Database migration: \~19GB disk space, \~20 minutes for a 6M-member, 11M-transaction database
* Only global member attributes migrate; local attributes require advance coordination with the Giift team
* Program creation workflow condensed to **3 steps**: Program Details, User Details, Point Definitions

***

## Hotfix Enhancements

### Special Characters in Product Codes

Product codes now accept: hyphens, underscores, periods, and spaces (in addition to alphanumeric characters). Applies across Points Management, Reports, Communications, and Rule Engine.

### Field Validation for Rule Creation

* **String fields:** 1–150 alphanumeric characters, spaces, underscores, hyphens
* **Float fields:** Up to 4 decimal places, range −999,999.9999 to 999,999.9999
* **Integer fields:** −2,147,483,648 to 2,147,483,647
* **Date fields:** Calendar widget only (no manual text entry)
