Repository navigation
Releases: lamah-co/wp-ersaal
Release list
v1.3.1
v1.3.0 - Log Retention, Repo Flattening & Architecture Hardening
What's Changed in v1.3.0
🚀 New Features & Enhancements
- Automatic Log Retention (#17): Added automated SMS log retention and daily background cleanup via WP-Cron (
ersaal_daily_log_cleanup) with configurable periods (15, 30, 60, 90, 180, 365 days, or custom). - Redesigned Advanced Settings UI: Built clean, accessible controls with native design tokens and comprehensive Arabic/English localization.
- Repository Flattening (#13): Restructured repository directly at root to allow direct WordPress installation via
git clone.
🛠️ Architecture & Refactoring
- Dependency Injection (#14, #15): Strictly injected
LogRepositoryandClientinto module constructors, eliminating internal bypass of shared options. - Billing Context & Currency Handling (#10): Accurately distinguished between wallet balance (LYD) and subscription quota parts in logs and manual send UI.
🔒 Security & Compliance
- Defensive 2FA Guard (#16): Added execution guards preventing flow escape on invalid OTP login challenge states.
- WordPress.org Compliance: Fully verified against official
Plugin Check(0 errors, 0 warnings).
📦 Installation
Download ersaal.zip and upload directly via WordPress Admin (Plugins > Add New > Upload Plugin).
v1.2.0
UI/UX
- Standardized admin card-based layouts.
- Improved Dashboard activity section.
- Improved SMS Logs layout.
- Improved OTP Activity layout.
- Improved empty states and table presentation.
Compatibility
- No API changes.
- No database changes.
- No SMS/OTP behavior changes.
wp-ersaal v1.1.0
wp-ersaal v1.1.0
This release introduces native OTP and 2FA capabilities to the Ersaal WordPress Plugin, along with strict Libyan phone validation and automated formatting.
What's New
- OTP Integration: Native integration with Ersaal OTP API (Initiate & Verify) using a reusable internal service and developer hooks.
- OTP Settings & Dashboard: Configuration UI for OTP features, system-readiness checks, privacy-safe activity logs, and a dashboard widget for metrics.
- Admin Test Workflow: A full OTP test UI within the WordPress dashboard to confirm sender, billing, and API connections.
OTP & 2FA
- User Profile Phone Verification: Authenticated users can enroll and verify a phone number for 2FA.
- WordPress Login 2FA: Optional per-user login 2FA using SMS. Protects the login process with secure, temporary, replay-safe challenges. Includes Resend support, Remember Me functionality, and safe redirects.
- Disabled by Default: OTP capabilities and Login 2FA are strictly disabled by default and must be explicitly enabled globally by an administrator and opted-in per user.
Phone Validation
- Libyan Numbers Only: Strict validation allows only Almadar (
091,093) and Libyana (092,094) mobile numbers. - Automatic Normalization: Any valid input (with spaces, country codes, or local formats) is centrally cleaned and transformed to
002189XXXXXXXXbefore reaching the API.
Localization
- Bilingual Interface: Complete Arabic and English support across OTP interfaces, help pages, user guides, and notifications.
- RTL/LTR Support: Improved RTL styling for all administrative components using the shared Ersaal design system. Technical values (phones, IDs) remain LTR in both modes.
Security
- No Persistent Secrets: OTP codes are never persisted, logged, exposed in URLs, or passed to external hooks.
- Safe Authentication: Login OTP initiates only after successful password validation and creates no authentication cookies until the OTP is successfully verified.
- State Integrity: Changing a stored phone number immediately clears verification status and disables that user's login 2FA.
- Fail-closed Limits: OTP generation is protected by rate limits and fail-closed API behavior.
- Emergency Bypass: A new
ERSAAL_DISABLE_LOGIN_OTPwp-config switch is available for administrators to recover access if SMS is unavailable.
WooCommerce / SMS Compatibility
- Backward Compatibility: Fully compatible with existing Manual SMS and WooCommerce notification pipelines.
- WooCommerce Admin Notifications now validate phone numbers according to the new strict rules.
Upgrade Notes
- Updating from
v1.0.2automatically runs a schema migration for the new OTP activity table. No plugin reactivation is required. - OTP services and Login 2FA are not enabled automatically after upgrading. Existing SMS and WooCommerce settings will remain active and untouched.
wp-ersaal v1.0.2
wp-ersaal v1.0.2
This release adds complete Arabic localization and comprehensive RTL improvements across the Ersaal WordPress plugin while preserving the English interface.
Highlights
- 257 fully translated Arabic interface strings.
- Complete RTL support across Dashboard, Settings, Send SMS, WooCommerce, Logs, and Help screens.
- Localized WooCommerce notification settings, default messages, log statuses, sources, events, and CSV exports.
- Fully localized and simplified Help interface.
- Automatic language loading based on the WordPress user or site locale.
- Included PO, MO, and POT translation files.
- Corrected RTL alignment and directional icon behavior while preserving LTR handling for technical values.
- Corrected validation and API error fallbacks so Arabic and English locales each receive appropriate messages.
- Fixed WooCommerce invalid-phone logging for automatic notifications.
Compatibility
The plugin automatically supports English and Arabic interfaces based on the active WordPress locale. It continues to require WordPress 5.8 or later and PHP 7.4 or later.
wp-ersaal v1.0.1
wp-ersaal v1.0.1
This release focuses on a major UI/UX refinement of the Ersaal WordPress admin experience.
Highlights
- Redesigned admin interface with the Ersaal visual identity.
- Improved dashboard layout and information hierarchy.
- Improved settings and SMS sending experience.
- Improved WooCommerce notification management.
- Redesigned logs, filters, status indicators, and actions.
- Improved Help and documentation interface.
- Unified shared buttons, cards, inputs, badges, alerts, and spacing.
- Improved RTL/LTR consistency.
- Improved responsive behavior across admin screens.
Fixes
- Fixed log status badge rendering warnings and missing statuses.
- Fixed an issue where the database schema wasn't updating automatically upon pulling new changes, which caused log insertions to fail.
- Fixed UI inconsistencies introduced during the admin redesign.
Notes
This release does not change the core SMS API behavior and focuses primarily on administration UI/UX improvements.
wp-ersaal v1.0.0
wp-ersaal v1.0.0
First stable release of the Ersaal SMS Gateway integration for WordPress and WooCommerce.
Key Features
- Manual SMS: Send messages directly from the WP admin panel to any number.
- WooCommerce Automatic Notifications: SMS alerts for order statuses (New, Processing, Completed, Cancelled).
- Manual WooCommerce SMS: Send custom SMS from the Order Edit page directly to the customer.
- Custom Order Statuses: Dynamic support for additional WooCommerce statuses created by third-party plugins.
- Admin SMS Notifications: Notify the store administrator on new orders.
- SMS Templates: Easy-to-use template editor with interactive variables and live previews.
- Logs Management: Advanced filtering (Status, Date, Event, Source), Bulk Delete, and searching.
- CSV Export: Securely export SMS logs with UTF-8 Arabic support.
- Activity Dashboard: Quick overview of daily message statistics and recent logs.
- Bilingual Help: Built-in User Guide in Arabic and English inside the WordPress admin.
- Retry/Idempotency: Prevents duplicate billing and handles background retries securely.
- HPOS Compatibility: Fully supports WooCommerce High-Performance Order Storage.
- Privacy/Security: Strict sanitization, capability checks, nonce validation, and no secrets exposed in logs.