What's New in Octeth v5.7.2 โ
Critical Security Update
This release includes fixes for SQL injection vulnerabilities in API endpoints. Immediate upgrade recommended for all installations.
Release Summary โ
Octeth v5.7.2 represents a major milestone with powerful multi-tag journey automation, comprehensive security improvements, and significant performance optimizations. This release includes 585 commits over 7.5 months of development.
Release Date: January 3, 2026 Development Period: 7.5 months Upgrade Impact: Medium (requires database migrations, ~15 minute downtime) Breaking Changes: None (fully backward compatible with v5.7.1)
Should You Upgrade? โ
| Priority | Audience | Reason |
|---|---|---|
| ๐ด URGENT | All installations | Critical SQL injection and XSS security fixes |
| ๐ก RECOMMENDED | Journey users | Multi-tag triggers, rate limiting, enhanced automation |
| ๐ก RECOMMENDED | Admins | Campaign reporting improvements, performance optimizations |
| ๐ข BENEFICIAL | Developers | API documentation generation, improved testing tools |
Table of Contents โ
๐ฏ Top New Features โ
Multi-Tag Journey Triggers โ
What's New: Trigger journeys when subscribers have multiple specific tags simultaneously.
Why It Matters: Create sophisticated automation workflows without custom development. Perfect for complex customer segmentation and targeted campaigns.
Use Case Example: Trigger a "VIP Customer Onboarding" journey only when a subscriber has both "Premium Plan" AND "New Customer" tags.
How to Use:
// API endpoint: journey.bulk_trigger
POST /api.php?command=journey.bulk_trigger
{
"api_key": "your-api-key-here",
"journeyids": [123, 456],
"trigger": {
"type": "Tag",
"trigger_listid": 789,
"trigger_tagids": [10, 20, 30] // Subscriber must have ALL these tags
}
}Performance Optimized
Multi-tag validation uses a single optimized query instead of loops, ensuring fast performance even with thousands of subscribers.
Learn more about journey triggers โ
Advanced Campaign Reporting Dashboard โ
What's New: Comprehensive admin campaign report page with advanced filtering and real-time metrics.
Key Features:
- Advanced filtering capabilities for campaign data
- Real-time velocity and throughput metrics
- Batch statistics and performance monitoring
- Time-filtered counts for granular analysis
Perfect For: System administrators who need deep insights into campaign performance and delivery patterns.
API Documentation Generation System โ
What's New: Automated documentation generation for all API endpoints integrated into development workflow.
Benefits:
- Automatically analyzes endpoint code to generate comprehensive docs
- Integrated into pre-commit workflow for automatic updates
- Structured documentation in
.docs/api/directory - Always up-to-date API reference
For Developers: No more manual documentation updates when API endpoints change.
๐ Critical Security Fixes โ
Security Patches Included
Action Required: Review and apply this update immediately if running v5.7.1 or earlier.
SQL Injection Vulnerabilities Fixed โ
Fixed SQL injection vulnerabilities in multiple API endpoints. These vulnerabilities could potentially allow unauthorized database access.
Affected Endpoints:
- Order parameter validation across all API endpoints
- Tag trigger API endpoints
- Journey bulk operations
Resolution: Comprehensive validation for all orderfield/ordertype parameters using centralized FormHandler validation.
XSS Prevention Enhanced โ
Enhanced cross-site scripting (XSS) prevention in admin views and controllers. All user input now properly escaped before rendering.
Authentication Token Management โ
Multiple fixes for AuthToken regeneration and synchronization:
- AuthToken now regenerates on password changes
- Fixed sync issues between sessions
- Improved token validation
โก Performance Improvements โ
Redis Entity Caching โ
Comprehensive Redis caching implementation for frequently accessed data:
- Cached Entities: Themes, delivery servers, user groups, custom fields, lists
- Cache Pattern: EntityCache pattern for consistent cache management
- Smart Invalidation: Automatic cache clearing on entity updates
- Force Refresh: Optional cache bypass when needed
Performance Impact: Significantly reduced database queries for common operations.
Best Practice
// Force cache refresh when needed
$list = Lists::GetListByID($listID, true); // forceRefresh = true
// Cache automatically invalidated on updates
Lists::Update($listID, $data); // Cache cleared automaticallyCampaign Monitoring API Optimization โ
- Optimized endpoints with auto-interval for velocity calculations
- Batch status query improvements
- Connection health checks prevent stale connections
- Composite index on (RelUserID, Status) for 10x faster queries
Database Query Improvements โ
- SQL precedence bug fixed in RunCriteria OR operator
- Redis KEYS replaced with SCAN for better performance
- Queue table existence caching
- MySQL connection health checks in workers
๐งช Testing & Quality Improvements โ
Test Database Isolation โ
Complete separation of test and production databases for safer development:
# Setup test database (first time only)
./cli/octeth.sh test:db:setup
# Run all tests
./cli/octeth.sh test:run all
# Run specific test file
./cli/octeth.sh test:run system/tests/Unit/SubscriberStateTransitionTest.phpKey Features:
- Automatic test database setup and seeding
- HTTP header support for API test routing (local environment only)
- Reusable test infrastructure with OctethApiTrait
- Comprehensive seeder for test data generation
Security Note
Test database routing via HTTP header (X-Octeth-Test-Database: 1) only works in local environment (APP_ENV=local).
Comprehensive Test Coverage โ
- API endpoint tests for subscribers, journeys, and tags
- Form handler validation tests
- Subscriber state transition tests
- Multi-tag journey trigger tests
๐ง Developer Experience Enhancements โ
Granular MySQL Query Logging โ
Per-request/process MySQL query logging for detailed debugging:
# Enable in .oempro_env
LOG_MYSQL_QUERIES_GRANULAR=true
LOG_MYSQL_QUERIES_PATH=/var/www/html/data/logs/
# Restart services
./cli/octeth.sh backend:restart
# Logs created with format:
# mysql_queries_[context]_[pid]_[timestamp].log
# Example: mysql_queries_web_12345_20260103_143022.logWhat This Logs:
- All SQL queries for each request/process
- Query execution time
- Context (web, CLI, worker)
- Process ID for correlation
New CLI Commands โ
test:db:setup- Create and seed test databaselogs:fix-permissions- Fix log file permission issuesauth:regenerate- Regenerate authentication tokens for users/admins
Enhanced Logging & Debugging โ
- Request Context tracking for log correlation
- Dedicated loggers for journey workers, delivery workers, campaign pickers
- Configurable log levels via environment variables
- Performance profiling for batch operations
๐ Notable Bug Fixes โ
Campaign & Email Fixes โ
โ Campaign Pause Logic - Allow pausing campaigns when status is 'Ready' โ Orphaned Worker Termination - Workers terminated when campaign is deleted โ Memory Exhaustion - Fixed memory issues when storing campaign recipient domains โ SMTP Error Handling - Improved error message handling and logging โ Delivery Worker Blocking - Prevented workers from blocking on stdout
Journey & Workflow Fixes โ
โ Website Event Triggers - Support for both trigger formats โ Case-Insensitive Triggers - Proper comparison for trigger types โ Journey Validation - Comprehensive validation for tags, lists, and parameters โ Disabled Journey Filtering - SQL-level filtering for better performance
Configuration & Environment Fixes โ
โ Log File Permissions (#1438) - Resolved conflicts between Apache and root processes โ XDebug Default Disabled - Better default performance โ AuthToken Sync - Multiple synchronization fixes โ Laravel Test Isolation - Resolved phpdotenv conflicts
๐ณ Infrastructure & Docker Updates โ
HAProxy Upgrade โ
Upgraded from v2.2.32 to v3.3.1
Configuration Review Needed
Review your HAProxy configuration after upgrade. See upgrade notes below.
Improvements:
- Enhanced security features
- Better performance and stability
- Updated configuration options
Multi-Platform Docker Builds โ
- Support for multiple CPU architectures (AMD64, ARM64)
- Proper manifest creation with docker buildx
- Faster deployment across different platforms
Docker Compose Enhancements โ
- Support for
docker-compose.override.yml - Improved container health checks
- Dynamic SendEngine container discovery
- Better volume mount configuration for PHP and Xdebug
๐ Complete Change List โ
Click to expand full changelog
Journey Builder Enhancements โ
- Multi-Tag Journey Triggers (#1471) with backend support for complex automation
- Journey Trigger Rate Limiting to prevent system overload
- Journey API bulk operations with improved error handling
- Comprehensive validation for tag ownership and list IDs
Campaign & Email Features โ
- Admin Campaign Report Page (#1470) with advanced filtering
- Message-ID Header Storage (#1171) for email threading
- User-Level Sender Settings (#1433) per-user configuration
- Campaign Monitoring API improvements
- Enhanced campaign pause logic
API & Integration โ
- API Documentation Generation System (#958)
- Subscriber Tags API for bulk operations
- Segment Retrieval Optimization with SegmentID filtering
- Journey bulk operations with proper error codes
- Error code standardization across responses
Database & Performance โ
- Redis entity caching with EntityCache pattern
- Composite index on Journeys table
- SQL precedence bug fixes
- Redis KEYS replaced with SCAN
- Queue table existence caching
- MySQL connection health checks
Testing Infrastructure โ
- Test database isolation
- Reusable test traits (OctethApiTrait)
- Comprehensive API tests
- Form handler unit tests
- Subscriber state transition tests
Documentation & Tools โ
- Plugin Hook Reference Documentation (#1489)
- CLI Modularization (#1268)
- Release procedures documentation
- Granular MySQL query logging
Code Quality โ
- CLI refactor into modular structure
- Config parameter standardization
- Entity cache pattern consolidation
- Order parameter validation centralization
- Form handler refactoring
Bug Fixes (Additional) โ
- Double JSON encoding fixes
- Associative array key preservation
- Tag ownership validation
- 404 error handling improvements
- PHP 5.6 compatibility fixes
- Docker buildx manifest creation
- SendEngine container discovery
๐ Upgrade Guide โ
Prerequisites โ
Before upgrading, ensure you have:
- [ ] Access to server with root/sudo privileges
- [ ] Current database backup
- [ ] Configuration file backup
- [ ] At least 15 minutes for maintenance window
- [ ] Reviewed new environment variables
Step-by-Step Upgrade Process โ
1. Backup Everything โ
Backup database:
./cli/octeth.sh db:backupExpected output:
Creating database backup...
Backup saved to: /opt/octeth/backups/oempro_20260103_120000.sql.gzBackup configuration:
cp .oempro_env .oempro_env.backup.$(date +%Y%m%d)2. Review New Environment Variables โ
Compare your current .oempro_env with the new example file:
# View new environment variables
cat _dockerfiles/examples/.oempro_env.example | grep -A 50 "## New in v5.7.2"New environment variables in v5.7.2:
## Granular MySQL query logging (creates separate log files per request/process)
LOG_MYSQL_QUERIES_GRANULAR=false
## Test database configuration (local environment only)
TEST_MYSQL_HOST=localhost
TEST_MYSQL_USERNAME=root
TEST_MYSQL_PASSWORD=YourSecurePassword123
TEST_MYSQL_DATABASE=oempro_test
## Session lifetime in days
SESSION_LIFETIME_DAYS=30
## Campaign delivery profiling
CAMPAIGN_DELIVERY_PROFILING_ENABLED=false
CAMPAIGN_BATCH_PROFILING_RETENTION_DAYS=30
## Personalization profiling (samples 1 in 100 calls)
PERSONALIZATION_PROFILING_ENABLED=false
## Journey worker logging
JOURNEY_WORKER_LOG_ENABLED=true
JOURNEY_WORKER_LOG_LEVEL=INFO
## Campaign delivery logging
CAMPAIGN_DELIVERY_LOG_LEVEL=INFO
## Credits system (can be disabled for testing)
CREDITS_SYSTEM_ENABLED=true
## OemproOptions cache TTL (default: 24 hours)
OEMPRO_OPTIONS_CACHE_TTL=86400Optional Configuration
These new variables have sensible defaults. You only need to add them if you want to change the default behavior.
3. Pull Latest Code โ
# Navigate to Octeth directory
cd /opt/octeth
# Pull latest code
git pull origin main4. Run Database Migrations โ
This updates your database schema to support new v5.7.2 features:
docker exec oempro_app bash -c "cd /var/www/html/cli/ && php5.6 dbmigrator.php migrate"What this does:
- Adds composite index on Journeys table (RelUserID, Status)
- Updates AuthToken handling schema
- Adds campaign batch profiling support
Expected output:
Running migration 001_journey_composite_index.php... โ
Running migration 002_authtoken_updates.php... โ
Running migration 003_campaign_profiling.php... โ
All migrations completed successfully.5. Update Docker Containers โ
# Pull latest container images
./cli/octeth.sh docker:pull
# Restart containers with new images
./cli/octeth.sh docker:upExpected downtime: 2-5 minutes while containers restart.
6. Fix Log Permissions (If Needed) โ
If you experience log permission issues:
./cli/octeth.sh logs:fix-permissionsThis sets correct umask and permissions for log files shared between Apache (www-data) and root processes.
7. Restart Backend Services โ
./cli/octeth.sh backend:restartThis restarts:
- Campaign picker workers
- Journey workers
- Delivery workers
- Event processors
8. Verify Installation โ
Run comprehensive health checks:
# Check Docker container health
./cli/octeth.sh docker:status
# Verify backend processes
./cli/octeth.sh backend:status
# Test MySQL connectivity
source .oempro_env
docker exec oempro_mysql bash -c "mysql -u$MYSQL_USERNAME -p$MYSQL_PASSWORD -h$MYSQL_HOST $MYSQL_DATABASE -e 'SELECT VERSION();'"
# Verify log file permissions
ls -la data/logs/
# Test API endpoint
curl -X GET "http://localhost/api.php?command=system.info&api_key=$ADMIN_API_KEY"Expected results:
- All containers show "healthy" status
- Backend workers are running
- MySQL connection succeeds
- API responds with system information
9. Clear Redis Cache โ
./cli/octeth.sh redis:cache:flushThis ensures the new EntityCache pattern starts fresh.
Troubleshooting โ
Database migration fails
Symptom: Migration script returns errors
Solution:
- Check database connectivity
- Ensure user has ALTER TABLE privileges
- Review migration error messages
- Contact support if issue persists
# Test database connection
docker exec oempro_mysql mysql -u$MYSQL_USERNAME -p$MYSQL_PASSWORD -e "SELECT 1;"Containers won't start after upgrade
Symptom: Docker containers fail to start or show unhealthy status
Solution:
- Check container logs
- Verify docker-compose.yml not modified incorrectly
- Ensure sufficient disk space
- Try rebuilding containers
# View container logs
./cli/octeth.sh logs:tail oempro_app
# Check disk space
df -h
# Rebuild if necessary
./cli/octeth.sh docker:rebuildLog permission errors
Symptom: "Permission denied" errors in logs
Solution:
# Fix permissions
./cli/octeth.sh logs:fix-permissions
# Verify ownership
ls -la data/logs/
# Should show:
# -rw-rw-r-- 1 www-data www-data ... campaign_picker.logHAProxy won't start after upgrade
Symptom: HAProxy container fails with configuration errors
Solution: HAProxy v3.3.1 has some configuration syntax changes from v2.2.32.
- Review HAProxy logs:
docker logs oempro_haproxy- Check configuration:
docker exec oempro_haproxy haproxy -c -f /usr/local/etc/haproxy/haproxy.cfg- If configuration issues found, restore from backup and contact support
Rollback Procedure โ
If you need to rollback to v5.7.1:
Data Loss Warning
Rolling back may cause loss of data created after upgrade. Only rollback if absolutely necessary.
# 1. Stop all containers
./cli/octeth.sh docker:down
# 2. Restore database backup
gunzip < /opt/octeth/backups/oempro_YYYYMMDD_HHMMSS.sql.gz | \
docker exec -i oempro_mysql mysql -u$MYSQL_USERNAME -p$MYSQL_PASSWORD $MYSQL_DATABASE
# 3. Restore configuration
cp .oempro_env.backup.YYYYMMDD .oempro_env
# 4. Checkout previous version
git checkout v5.7.1
# 5. Restart containers
./cli/octeth.sh docker:up๐ Migration Notes โ
HAProxy Configuration โ
Important: HAProxy has been upgraded from v2.2.32 to v3.3.1.
Action Required:
- Review custom HAProxy configurations
- Test SSL certificate renewal process
- Verify load balancing rules still work
Key Changes:
- Improved security defaults
- Better HTTP/2 support
- Updated TLS configuration
Environment Variables โ
New optional variables (all have defaults, no action required unless you want to customize):
LOG_MYSQL_QUERIES_GRANULAR- Enable detailed query loggingTEST_MYSQL_*- Test database configurationSESSION_LIFETIME_DAYS- Session duration (default: 30)*_LOG_LEVEL- Logging levels for various components*_PROFILING_ENABLED- Performance profiling toggles
No breaking changes - All existing configuration remains compatible.
Database Changes โ
New indexes added:
- Composite index on
Journeys(RelUserID, Status)for better query performance
Schema updates:
- AuthToken handling improvements
- Campaign batch profiling support
Automatic migration: All changes applied automatically during upgrade.
API Changes โ
No breaking changes - All existing API endpoints remain compatible.
New features:
- Multi-tag journey trigger support
- Enhanced error codes
- Improved bulk operations
Docker Changes โ
Container updates:
- HAProxy: v2.2.32 โ v3.3.1
- Multi-platform build support added
- Improved health checks
Volume changes:
- New PHP config volume mounts
- Xdebug configuration volumes
๐ For Developers โ
Using the Test Database โ
The new test database isolation feature allows safe testing:
# Setup test database (first time)
./cli/octeth.sh test:db:setup
# Run all tests
./cli/octeth.sh test:run all
# Run specific test file
./cli/octeth.sh test:run system/tests/Unit/SubscriberStateTransitionTest.php
# Run test suite
./cli/octeth.sh test:run journeyHTTP API Testing:
# Use test database header (local environment only)
curl -H "X-Octeth-Test-Database: 1" \
-X POST "http://localhost/api.php" \
-d "command=subscriber.create&..." \
-d "api_key=your-api-key-here"Monitoring Campaign Performance โ
New API endpoints for performance monitoring:
# Campaign velocity metrics
curl "http://localhost/api.php?command=admin.campaigns.search&includevelocity=1&api_key=$ADMIN_API_KEY"
# Batch statistics
curl "http://localhost/api.php?command=admin.campaigns.search&includebatchstats=1&api_key=$ADMIN_API_KEY"
# Time-filtered counts
curl "http://localhost/api.php?command=admin.campaigns.overview&includetimefiltered=1&api_key=$ADMIN_API_KEY"Code Quality Standards โ
All contributions must follow these standards:
- SQL Injection Prevention: All orderfield/ordertype parameters must be validated
- XSS Prevention: All user input must be properly escaped
- Test Coverage: New features require comprehensive tests
- API Error Codes: Use standardized ErrorCode field
- Cache Management: Use EntityCache pattern
- Logging Levels: Use appropriate levels (DEBUG, INFO, WARNING, ERROR)
Documentation Requirements โ
When contributing code:
- API Changes: Update using api-doc-gen skill
- Plugin Hooks: Document using plugin-hook-reference skill
- GitHub Content: Draft PR/issue descriptions in /tmp for review
- Changelog: Follow conventional commit format
๐ Additional Resources โ
๐ฌ Support โ
Need help with the upgrade?
- Email: support@octeth.com
- Client Area: https://my.octeth.com/
- Help Portal: https://help.octeth.com/
Previous Versions โ
v5.7.1 โ
This document represents a cumulative list of all user-facing changes in Octeth v5.7.1. For more information, see our user guide and API documentation.
Core System Updates โ
- MySQL Performance Optimization - Comprehensive query optimization with strategic index hints for faster data retrieval
- ClickHouse Optimization - Increased concurrent queries to 200 with system log TTL optimization and disk usage monitoring
- Session Management Extended - Default session lifetime increased to 30 days to prevent premature logouts
- UTF8MB4 Migration - Complete database charset update from utf8 to utf8mb4 for better character support
- Docker Hub Integration - Consolidated Docker architecture for simplified deployment and management
- Horizontally Scalable Send Engine - Enhanced send engine with health monitoring and scalability support
- Redis Caching System - Implemented caching for subscriber counts, list counts, tags, and custom fields
- Cache Invalidation - Automatic cache clearing on subscriber and list mutations
- Custom MySQL Profiles - Support for custom MySQL configuration profiles
- Phpdotenv Integration - Enhanced .env file parsing with support for special characters
New Features โ
Journey Builder โ
- Journey Decision Nodes - Advanced conditional logic and branching with nested decision support
- Send Email Actions - Complete email action implementation with template selection and sender configuration
- Multiple Journey Triggers - EmailOpen, EmailLinkClick, CustomFieldValueChanged, JourneyCompleted, and Untag triggers
- Multiple Journey Enrollments - Allow contacts to enroll in the same journey multiple times
- Journey Statistics Screen - Comprehensive journey analytics and performance tracking dashboard
- Journey Activity Tracking - Detailed execution tracking with 95% database load reduction
- Journey Copy/Clone - Clone entire journeys with proper action ID handling
- Node Cloning - Duplicate individual journey nodes within the builder
- Drag-and-Drop Improvements - Enhanced drag-and-move functionality for better user experience
Google Postmaster Tools โ
- Complete Integration - Full OAuth flow, data collection, and automated monitoring
- Analytics Dashboard - Correlation analysis with encryption/spam charts and detailed metrics
- Redis Caching - Performance optimization for Postmaster data retrieval
- Security Enhancements - Secure OAuth handling and validation
- Date Range Filtering - Enhanced charts with flexible date range selection
Campaign & Email Features โ
- Automated Campaign Reports - Schedule campaign reports to be generated and delivered automatically
- Auto-Resend Campaigns - Automated follow-up campaigns targeting non-openers
- Enhanced Campaign Metrics - Improved campaign performance display and tracking
- Email Template Preview - Preview templates without associating them with lists or campaigns
- Email Cloning - Clone and resend functionality for existing emails
- Custom Email Headers - Journey/Action merge tag support in email headers
- Campaign ISP/Domain Reports - Normalized reporting table for optimized ISP and domain analytics
Version Information โ
Release Version: v5.7.1 Release Date: December 4, 2025 Development Period: 7.5 months (March 30 - November 16, 2025) Total Commits: 585 Features Added: 62 Bugs Fixed: 91 Performance Enhancements: 23
v5.7.0 โ
This document represents a cumulative list of all user-facing changes in Octeth v5.7.0. For more information, see our user guide and API documentation.
Core System Updates โ
- MySQL Performance Optimization - Comprehensive query optimization with strategic index hints for faster data retrieval
- ClickHouse Optimization - Increased concurrent queries to 200 with system log TTL optimization and disk usage monitoring
- Session Management Extended - Default session lifetime increased to 30 days to prevent premature logouts
- UTF8MB4 Migration - Complete database charset update from utf8 to utf8mb4 for better character support
- Docker Hub Integration - Consolidated Docker architecture for simplified deployment and management
- Horizontally Scalable Send Engine - Enhanced send engine with health monitoring and scalability support
- Redis Caching System - Implemented caching for subscriber counts, list counts, tags, and custom fields
- Cache Invalidation - Automatic cache clearing on subscriber and list mutations
- Custom MySQL Profiles - Support for custom MySQL configuration profiles
- Phpdotenv Integration - Enhanced .env file parsing with support for special characters
Version Information โ
Release Version: v5.7.0 Release Date: December 1, 2025 Development Period: 7.5 months (March 30 - November 16, 2025) Total Commits: 585 Features Added: 62 Bugs Fixed: 91 Performance Enhancements: 23
v5.6.0 โ
This change log represents the major updates in Octeth v5.6.0. For detailed implementation guides or technical specifications about specific features, please refer to our documentation or contact support.
Core System Updates โ
- Upgraded from MySQL 5.7 to MySQL 8.0 for improved performance and security
- Added full UTF8MB4 support for complete emoji and special character compatibility
- Extended PHP session lifetime to 30 days for improved user experience
New Features โ
- A/B Testing for email campaigns with automatic winner selection
- Campaign Auto-Resend functionality for non-openers with customizable settings
- Event API for tracking custom events and subscriber behavior
- Delete Subscriber journey action for automated list management
- Email-level control over open tracking, link tracking, and UTM parameters
- Custom Code plugin for extending platform functionality
- User Overall Stats API endpoint for comprehensive reporting
- Website event personalization in journey emails for more relevant content
- Journey webhook action improvements with enhanced security options
- Custom field unique identifier flag for better subscriber tracking
Enhancements โ
- Database migrator tool for improved schema management
- Improved error logging and monitoring capabilities
- Revenue tracking and attribution improvements
- Website event tracker updates with CDN support
- Handlebar improvements for advanced personalization
- Additional database indexes for better performance
- Email gateway queue table optimization
- Journey event trigger with advanced rules JSON criteria
- Journey webhook payload customization
- MySQL query optimization for slow queries
Importers โ
- Improved Mailchimp import functionality
- Enhanced ActiveCampaign data mapping
- Upgraded Drip import capabilities
- Support for mapping full name to first and last name fields
Bug Fixes โ
- Fixed default sender domain issue that could block campaign delivery
- Resolved admin password reset functionality
- Fixed website event tracker and subscriber association issues
- Campaign schedule now defaults to user's timezone instead of Hawaii
- Corrected tag count for deleted subscribers
- Fixed subscriber journey trigger for silenced custom events
- Resolved email open activity registration issue
- Fixed campaign daily stats reporting
- Improved email tracking URL validation
Development Tools โ
- Added xdebug PHP module for development environments
- Improved MySQL configuration for slow query logging
- Added SQL query debugging capabilities
For more details, visit our Help Portal.
v5.5.5 โ
Welcome to the latest update for Octeth! Here's what's new in version 5.5.5:
New Features โ
- One-Click Sender Domain DNS Record Setup: Simplifies the process of setting up DNS records for sender domains. (API documentation)
- Subscriber Activity Monitor Enhancements:
- New ability to disable checks and logging for specific thresholds in the Subscriber Activity Monitor plugin.
- Improved settings page UI for the Subscriber Activity Monitor.
- New menu items 'Drop' and 'Subscriber Activity' added under 'Subscriber Activity Mon.' menu title.
Enhancements โ
- Admin Interface Improvements:
- Small improvements to the admin top header menu.
- Subscriber Activity Monitor admin top menu placement changed.
- Email System Enhancements:
- Updated the email subject format for preview emails.
- Debugging and Error Reporting:
- Added debug mode settings and error reporting configuration.
Bug Fixes โ
- Typo Fix: Corrected a typo in the codebase.
- PHP Error: Fixed an error during installation.
- API Error Code Correction: Corrected an API error code from 3 to 4.
Security Patches โ
- Database Migration Security: Implemented db migration methods for transitioning from v5.5.4 to v5.5.5 securely.
For more details, visit our Help Portal.
v5.5.4 โ
Welcome to the latest update for Octeth! Here's what's new in version 5.5.4:
Enhancement โ
- Website Event Tracking ImprovementsImproved the supervisor process for the website event identifier to prevent hanging, ensuring that no events are lost. Commit
2ff1df573.
New Feature โ
Cleanify Plug-In Update
Updated the Cleanify Plug-In to enhance functionality. Commit
34fd43714.Enable ClickHouse Native Access
Enabled direct access to ClickHouse native port 9000. Commit
23bbc5012.
Bug Fix โ
- Refactor Email Bounce HandlingRefactored the logic for handling email bounces to improve reliability and performance. Commit
053c776b5.
Stay tuned for more updates and improvements!
For more details, visit our Help Portal.
v5.5.3 โ
Welcome to the v5.5.3 update for Octeth! Here's what's new in version 5.5.3:
New Feature โ
- Revise Campaign Share Links: Now includes a "copy link" option for easier sharing. (#319)
Bug Fix โ
- MySQL Errors in Email Campaign Sending: Fixed an issue where sending email campaigns was causing MySQL errors. (#683)
- "RevenueHit" Journey Trigger Issue: Resolved an issue affecting the "RevenueHit" journey trigger. (#672)
- Task #682 Fix: Resolved an issue related to SSL renewal with HAProxy and Certbot. (#682)
Enhancement โ
- System-wide Error Logging Improvements: Enhanced error logging across the system for better troubleshooting and support. (#570)
- Unification of Column Collation: Ensured consistency by unifying column collation across all table columns. (#661)
- Segment Management UI Update: The segment management UI now utilizes the new
RulesJSON, offering improved handling of segment rules. (#685) - Removed Latest Product News from Admin Dashboard: The product news section has been removed from the admin dashboard for a cleaner interface. (#686)
Security Patch โ
- Ioncube Encryption Settings Update: Updated the Ioncube encryption settings for improved security and compatibility. (#678)
Deprecated โ
- Removal of Upgrade Script: The
upgrade.shscript has been removed as part of task #679 completion.
Stay tuned for more updates and improvements!
For more details, visit our Help Portal.
v5.5.2 โ
We're excited to announce the release of Octeth v5.5.2! This update brings a variety of new features, enhancements, and bug fixes to improve your experience with our platform. Below are the details of what's new in this version:
New Features โ
- New Journey Triggers: Automate email campaigns with newly added journey triggers. Now you can easily initiate workflows based on specific actions or criteria (#642, #670).
- Automated HAProxy SSL Certificate Renewal: Streamline your SSL management with the automated renewal process for HAProxy SSL certificates (#668).
- Phone Verification on Signup: Enhance security and verify user identities by requiring phone verification when signing up to send emails (#675).
Enhancements โ
- Improved Email Whitelist Functionality: Get more control over your email sending with improved whitelist functionality.
- Filter Subscribers by Failed Delivery: Now filter and manage subscribers based on failed campaign delivery attempts, allowing for better campaign management (#667).
- Improved Email Gateway Personalization: Personalize your email campaigns more effectively with updated personalization options in the email gateway (#665).
- Sort Campaigns in Campaign.Get API: Optimize your campaign management by sorting campaigns based on scheduled time directly through the Campaign.Get API endpoint (#658, #655).
- Improved Link Redirection Security Checks: Enhanced security measures for link redirection within emails to prevent hijacking and unauthorized redirects (#660).
Bug Fixes โ
- Fixed Campaign Copy Feature: Resolved an issue where the
RulesJsonBundleparameter wasn't copied when using the Campaign.Copy API endpoint (#650). - Fixed Email Import Functionality: Addressed a bug that prevented importing a single email address without a newline (#644).
Security Patch โ
- Update to Email Address Suppression List: Implemented a whitelist feature for the email address suppression list to improve handling of sender domains and campaign rules (#645).
Miscellaneous Updates โ
- Improved Infrastructure for Sender Domains: Updated several backend elements related to sender domain management, ensuring smoother operations and better alignment with user configurations.
- Issue and Documentation Templates Updated: Streamlined GitHub issue and pull request templates for better user and contributor experience.
We hope you enjoy the new features and improvements in Octeth v5.5.2. If you have any questions or need further assistance, please don't hesitate to reach out to our support team.
Thank you for using Octeth!
v5.5.1 โ
We're excited to announce the release of Octeth v5.5.1! This update brings a variety of new features, enhancements, and bug fixes to improve your experience with our platform. Below are the details of what's new in this version:
New Features โ
- Email Previews Customization: You can now pass
FromNameandFromEmailAddressfor email previews, allowing for more personalized and accurate previewing of your emails. - Revenue Calculation: Introduced a new feature for revenue calculation to better track and analyze your campaign performance.
Enhancements โ
- System Components Check: Improved system stability by ensuring that all system components are thoroughly checked during operation.
- Sub Admin User Management: Sub admin accounts now have the ability to view the list of all users in the impersonated user list, enhancing administrative oversight.
- Drip Importer: Enhanced the Drip importer functionality for better data handling and efficiency.
- Campaign Queue Maintenance: Implemented a cron job to automatically delete campaign queue tables that are older than a specified number of days, keeping your database clean and efficient.
- Upgrade Tool Improvement: The upgrade tool now preserves custom changes to
config.inc.php, preventing overwrites of user-defined parameters.
Bug Fixes โ
- Vendor Directories: Removed unnecessary vendor directories from the Octeth project, reducing clutter and potential conflicts.
- Clone Journey Endpoint: Fixed an issue where the "Clone Journey" endpoint was not working correctly, ensuring smooth cloning of journeys.
- Subscriber.Import API Validation: Resolved validation errors for the
Subscriber.ImportAPI endpoint related to Drip, improving reliability.
We hope you enjoy the new features and improvements in Octeth v5.5.1. If you have any questions or need further assistance, please don't hesitate to reach out to our support team.
Thank you for using Octeth!
v5.5.0 โ
New Features โ
- Campaigns.Get API Endpoint Enhancements: Updated to support
CampaignStatus=Scheduledfor better campaign management. [#559] - Ability to Get the List of Subscribers for Specific Email Campaign Activities: This feature allows for more detailed analysis of email campaign engagement. [#550]
- Subscriber Filtering and Segmentation Based on Website Events: Enhanced segmentation capabilities to target subscribers based on their interactions on your website. [#502, #531]
- Customizable Website Activity Tracker JavaScript: Allows for customization of the web activity tracking script for more tailored tracking. [#538]
- Journey Email Action Metrics: Introduced metrics for email actions within journeys to provide insights into performance. [#545]
- Email Gateway ListID and SubscriberID Support: Enhanced support for ListID and SubscriberID in email gateways for improved data management. [#544]
- User API Key Management: Added endpoints for managing user API keys, enhancing security and control over API access. [#450]
- New Subscriber API End-Points: Create and Update API end-points for subscribers have been introduced, streamlining the management of subscriber data. [#467]
- SMS Connector for MessageBird: Implemented an SMS connector for MessageBird, expanding communication channels with subscribers. [#411]
- Antivirus Plugin: Introduced an antivirus plugin to ensure email attachments are scanned for viruses, enhancing security. [Various commits]
- Mailchimp Import Integration: Completed integration with Mailchimp, allowing for seamless import of subscriber data. [Various commits]
- ActiveCampaign Import Tool: Implemented a tool for importing data from ActiveCampaign, facilitating easy migration. [Various commits]
Enhancements โ
- SMTP Server Error Message Refactoring: Improved error handling for SMTP server messages for clearer communication of issues. [Various commits]
- UI Text and Database Value Updates: Updated various UI texts and database values to reflect "Octeth" branding. [#499]
- Performance Improvements: Various enhancements have been made to improve the performance of the system, including optimizations to query handling and email campaign delivery. [Various commits]
- API Notation Changes: Standardized request and response notation for API calls, making API interactions more consistent. [#513]
- Security Patches: Various improvements have been made to enhance the security of the platform, including the implementation of a connection limiter for the email gateway and updates to ACL rules. [Various commits]
Bug Fixes โ
- Multiple RSS Feeds Conflict Issue Resolved: Fixed an issue where multiple RSS feeds could conflict with each other. [#549]
- SMTP Password Optionality: Corrected settings to make the SMTP password optional as intended, addressing user feedback. [#491]
- Segment Count Expiration Time Update: Updated the expiration time for segment counts to 30 seconds, improving the accuracy of data. [#547]
- Journey Action Subscribers API Optimization: Optimized the Journey Action Subscribers API endpoint for better performance. [#537]
- Email Recipient Handling and Credit Calculation: Updated how email recipients are handled and how credits are calculated for more accurate accounting. [#509]
v5.1.1 โ
Octeth v5.1.1 Release Highlights โ
- Enhancement Segment engine minor performance improvements
- New Feature Ability to setup custom email headers (with personalization support) for each user account
- New Feature Link proxy add-on. More details can be found here.
- New Feature A brand new IMAP powered inbound bounce and list-unsubscribe MX server add-on. More details can be found here.
- Bug Fix Various bug fixes.
v5.1.0 โ
Octeth v5.1 Release Highlights โ
- Enhancement Ability to set list suppression settings enabled by default
- Enhancement Improved list subscription webhook payload
- Enhancement HTML and plain text email content is enabled by default for the simplified campaign create flow
- Enhancement Timezone DST calculation improvements for scheduled campaigns
- Enhancement Custom field data type is changed from
TEXTtoLONGTEXT - Enhancement Stripo drag-n-drop email builder session timeout prevention improvements
- New Feature User account suppression list pagination and search features
- New Feature Sender Domain Management section for the user area. Read this article to learn more.
- New Feature Backend daemon processes and cron jobs are now being managed by separate containers for easier scaling
- New Feature Fallback personalization in case a custom field value is empty for the recipient. Read this article to learn more.
v5.0.3 โ
Octeth v5.0.3 Release Highlights โ
- Enhancement Delivery server list ordering in user groups
- Enhancement Improved personalization
- Enhancement Improved campaign KPI metrics on the campaign browse page
- Enhancement Display timezone for scheduled campaigns
- Enhancement Campaign schedule minute time intervals are every 5 minutes
- Enhancement IMAP based hard bounce and FBL processing module
- Enhancement Abiltiy to search for a user ID
- Enhancement Display opt-in pending subscribers count on the list dashboard
- Enhancement POST method support for inbound webhooks
- Enhancement User's first and last names are optional, company name can be used
- New Feature %MFROMDomain% merge tag support for email's from header.
- New Feature System wide daily/weekly/monthly/yearly delivery metrics
- New Feature New campaign personalization tags, Campaign ID, Hashed Campaign ID, Campaign Name
- New Feature Pre-email delivery remote content fetch merge tag
- New Feature JSON custom field personalization
- New Feature Merge tag functions
- New Feature Log latest subscriber email activities
v5.0.2 โ
We have made plenty amount of improvements, fixed bugs, applied security updates and added new features in this new version.
Unified CLI Based Installation Tool โ
A straightforward command line installation tool that simplifies and speeds up the web-based installation process.
Ability to hide "Coming Soon" features in the user area โ

Ability to hide "Coming Soon" features.
Full control over "Coming soon" features and an option to hide them from the user area to avoid confusion.
Better User Management โ

Number of users are displayed next to each user group.
Easily manage user groups and instantly see the number of users in each group. Faster and easier user management with improved search filters and additional fields for user information.

Users can be sorted.
Email Campaign Cloning โ

Clone and send a campaign with a single click.
Set up your campaign in minutes with the "Clone" feature that enables you to duplicate a draft email campaign.
Powerful Email Delivery Engine โ
A powerful new email send engine system with the capacity to handle 10 million+ email deliveries a day without system resource overload.

Screenshot taken from PowerMTA dashboard.
Daily Email Delivery Limit โ

Limit the number of emails that can be sent every day.
On top of monthly limit settings, limit the number of email deliveries users can send out daily.
Simplified Campaign Creation Process โ

Enable simplified campaign create process for specific user groups.
Create email campaigns in one step instead of five. A huge time saver, the new simplified campaign creation process gets you up and running in no time.
Multi-Role Sub Administrator Accounts โ

Create sub-admin accounts with different permissions.
Set up sub-admin accounts with different access permissions. Empower your team to manage your CDP.
Various Improvements, Bug Fixes and Security Patches โ
- Personalization support for
%RemoteContent=....%merge tag. Send recipient data to your remote content source for more creative content personalization. - Performance improvement for RSS-to-email campaigns.
- Enforced from email address feature reply-to issue fix. Users can now easily set "Reply to" email addresses on their email campaigns.
- Important security update for tracking links and preventing third-party phishing attacks.
v5.0.1 โ
We have made plenty amount of improvements, fixed bugs, applied security updates and added new features in this new version.
Randomized Segment Audience โ

Randomized segment audiences
You can set a segment audience size and randomize the target people matched by this segment. Every time you send an email campaign to this randomized segment, a different group of recipients matching the segment rule set will be picked.
Email Content Spinning โ
Content similarity check across ISP's and ESP's is becoming a big challenge for email marketers. Oempro's new "Email Content Spinning" feature will help you unify your email content quickly by setting spinning contents. Oempro will randomly pick one of these contents and personalize the email content. With a few spins, you can easily generate thousands of different content variations for your audience.
Here's an example email content spinning:
...
<p>{{{Hey!|Hi There!|Welcome!}}} %Subscriber:FirstName%</p>
<p>In this episode, I will talk about {{{how to build habits just in a few days|how to change your life with new habits}}}
...CTR Retention Cohort โ

Keep an eye on your audience engagement
Monitoring your email open rates (which is getting less accurate day by day) or CTR is good but what about your audience CTR engagement? This new email marketing metric will help you understand your audience reaction to your emails over time and run more optimized email campaigns.
Randomizer Merge Tags โ
Insert randomized strings and numbers into your email subject, content and links for sending more unique content to your audience.
...
<p>Hi there,</p>
<p>Here's your unique case ID: %RANDOM:Number%-%RANDOM:String%</p>
...JSON Custom Field Personalization Engine โ
In addition to the regular custom field personalization method, you can now inject a JSON data into the subscriber custom field and use this custom field to performan personalization based on JSON data.
...
<p>Hi {{ Subscriber:CRMData.FirstName }},</p>
<p>You have purchased our software on {{ Subscriber:CRMData.PurchaseDate }}.</p>
...Advanced Conditional Content Personalization โ
We have implemented a new conditional content personalization module in Oempro v5.0.0. This module will give you more flexibility when customizing the entire email layout based on subscriber data.
...
{{ if Subscriber:FirstName }}
<p>My name is {{ Subscriber:FirstName }} {{ Subscriber:LastName }}</p>
{{ else }}
<p>I don't know what my name is</p>
{{ endif }}
{{ if Subscriber:CustomField18 == 'customer' }}
<p>You are a Customer!</p>
{{ elseif Subscriber:CustomField18 == 'trial' }}
<p>You are a trial User.</p>
{{ else }}
<p>I don't know what you are.</p>
{{ endif }}
{{ unless age > 21 }}
<p>You are too young.</p>
{{ elseunless age < 80 }}
<p>You are to old...it'll kill ya!</p>
{{ else }}
<p>Go ahead and drink!</p>
{{ endif }}
...Drag-n-Drop Stripo.email Email Builder Integration โ

Create beautiful and mobile friendly emails quickly
The well known drag-n-drop email builder Stripo is now 100% embedded into Octeth. Activate it by entering your Stripo API key and start using it inside your Octeth. Create beautiful mobile friendly emails in minutes.
Drag-n-Drop Unlayer.com Email Builder Integration โ
An easy-to-use drag-n-drop email builder Unlayer can be used inside Octeth. Activate it by entering your Unlayer API key and start creating beautiful mobile friendly emails inside Octeth.
Strict SpamAssassin Test Result Restrictions โ
Octeth has built-in integration with SpamAssassin. Starting from Octeth v5.0.1 release, you can restrict your users to send email camaigns if the SpamAssassin score is below a threshold.
Including; โ
- Campaign resend flow user experience improvement
- TLS crypto change
- Segment engine SQL improvements
- Oempro's frontend Docker container Apache version upgrade
- Subscribe/Unsubscribe from "ALL" lists event trigger for journeys
- Ability to rename audience export processes
- Conditional personalization improvements
- SMS marketing module support
- Email gateway module support
- On-demand SSL and reverse proxy module support
- Various bug fixes and security patches
What's Next? โ
Until the Oempro v6.0.0 major version release in 2023, we will be working on two version branches in 2022:
- v5.0.x These minor versions will include bug fixes and security improvements based on user feedback and test group results. We plan releasing a v5.0.x minor version every few months in 2022 until the release of v5.1.0.
- v5.x.0 We plan releasing three v5.x versions in 2022 and each one of these minor versions will include a few new features which will improve the functionality of the software.

Help Portal