Changelog

v4.21.0
2024-03-03 (compare to v4.20.07)
- Added Porkbun API support

v4.20.07
2024-01-03 (compare to v4.20.06)
- Added support for Free Currency Rates API
- Updated Composer
- Upgraded GJClasses (0.50.0 -> 0.51.0)

v4.20.06
2023-09-06 (compare to v4.20.05)
- Included Webmozart/Assert dependency

v4.20.05
2023-09-05 (compare to v4.20.04)
- Rolled back PHP dependencies to 4.19.0

v4.20.04
2023-09-04 (compare to v4.20.03)
- Added "optimize-autoloader: true" to composer.json

v4.20.03
2023-09-04 (compare to v4.20.02)
- Added webmozart/assert to composer.json

v4.20.02
2023-09-04 (compare to v4.20.01)
- Updated CronExpression class calls
- Updated Scheduler cron expressions

v4.20.01
2023-09-03 (compare to v4.20.0)
- Updated version checking to use version_compare

v4.20.0
2023-09-03 (compare to v4.19.0)
- PHP, MariaDB, and MySQL Compatibility Updates
- Updated Composer Packages
- Updated Dynadot's API return structure

v4.19.0
2022-04-24 (compare to v4.18.01)
- Added CSV Import support
- Added Cloudflare API support
- Added support for Registrar Account ID
- Added a security policy in repo root
- Upgraded AdminLTE from v3.1.0 to v3.2.0n
- Changed currency converter to Exchangerate.host
- Upgraded Composer
- Upgraded GJClasses (0.34.0 -> 0.35.0)
- Various fixes and copy updates

v4.18.01
2021-07-24 (compare to v4.18.0)
- Updated Force HTTPS to default to No

v4.18.0
2021-07-22 (compare to v4.17.0)
- Added Dark Mode
- Added Feedback page
- Added a strong Content Security Policy
- Added the ability to disable the CSP headers
- Added ssl.php Helper
- Upgraded AdminLTE from v2.4.5 to v3.1.0
- Improved session security on password change
- Various UI updates and improvements

v4.17.0
2021-06-26 (compare to v4.16.0)
- Added URL Custom Field Type
- Added exchangerate.host currency conversion support
- Added numerous security measures
- Updated translations
- Updated Composer packages
- Code cleanup

v4.16.0
2020-11-02 (compare to v4.15.0)
- Added multilingual support

v4.15.0
2020-05-17 (compare to v4.14.0)
- Added Gandi API support
- Added support for more than 100 domains with Namecheap API
- Added some text validation to Asset pages
- Added GitHub "Stale" App
- Changed PHP requirement from 5.3.2 to 5.5
- Fixed domain sanitization for IDN compatibility
- Fixed Integrity constraint violation error
- Fixed SSL keyword search
- Fixed unbuffered query issue (again)
- Sanitized SSL keyword search
- Reverted some identical operators
- Removed Scrutinizer-CI badges from README
- Code cleanup

v4.14.0
2020-05-10 (compare to v4.13.0)
- Added Backup & Restore
- Added the ability to change the email signature
- Updated Name.com API to v4
- Changed delete links to modals
- Switched password hashing from MD5 to bcrypt
- Removed Free Currency Converter API
- Upgraded Composer
- Upgraded GJClasses (0.27.0 -> 0.29.0)
- Upgraded PHPMailer (5.2.27 -> 5.2.28)
- Installed mysql-import (1.0.1)
- Installed uploader (0.1.8)
- Installed mysqldump-php (2.9)
- Fixed various vulnerabilities (including CVE-2019-15811)

v4.13.0
2019-02-09 (compare to v4.12.0)
- Added Custom Domain Fields to main Domains page
- Added Custom SSL Fields to main SSL page
- Added the ability to change Currency Converter
- Fixed Segment filtering bug when no active domains
- Switched placeholder date to unix epoch time
- Switched DEMO_INSTALLATION from integer to boolean
- Switched $from_cron from integer to boolean
- Switched 'Upgrade Available' message colour
- Updated text sanitization to use GJClasses
- Updated redirect on various settings pages
- Updated Conversion class
- Updated sendExpirations & checkExpiring classes
- Updated Composer
- Updated GJClasses (0.21.0 -> 0.27.0)
- Updated PHPMailer (5.2.26 -> 5.2.27)

v4.12.0
2019-02-03 (compare to v4.11.01)
- Added Sanitize class
- Added Unsanitize class
- Added Validate class
- Added GJClasses Composer package
- Added Date Picker to Add Domain
- Added Date Picker to Add SSL Certificate
- Added Contributing Guidelines
- Implemented GJClasses for currency conversions
- Updated Composer
- Updated Security section of README
- Updated README
- Updated copyright
- Validations to prevent Cross-Site Scripting
- Validations to prevent SQL Injection
- Further sanitize user input
- Linked TLD results to registrar fee edit
- Showed default currency with Fee heading
- Refactored each() statements for PHP 7.2 compatibility
- Moved pageTitle method from System to Layout
- Removed unused getConversionRate method
- Removed unused Form class calls
- Code cleanup

v4.11.01
2018-09-11 (compare to v4.11.0)
- Implemented Unbuffered Query fix

v4.11.0
2018-08-30 (compare to v4.10.0)
- Added DW table checks to prevent fatal errors
- Added MYSQL_ATTR_USE_BUFFERED_QUERY true to PDO options
- Added MySQL mode declaration during DB connection
- Added MySQL mode to System Information page
- Fixed Textarea field display on add SSL page
- Fixed readOnlyCheck method
- Fixed add segment URL
- Fixed search_for search box code

v4.10.0
2018-05-27 (compare to v4.09.03)
- Added date picker to all expiry date fields
- Added DIR_TEMP constant to init.inc.php
- Added /temp folder to .gitignore
- Added date picker to all expiry date fields
- Added a short version of the system requirements
- Added File class
- Updated how the date range picker functions
- Updated type casting from (integer) to (int)
- Fixed CVE-2018-11403
- Fixed CVE-2018-11404

v4.09.03
2018-04-09 (compare to v4.09.02)
- Added ipify support for remote IP address reporting

v4.09.02
2018-04-09 (compare to v4.09.01)
- Updated error_get_last for PHP 5.3 compatibility
- Updated GoDaddy API domain checks
- Updated NameSilo API log details

v4.09.01
2018-04-08 (compare to v4.09.00)
- Fixed upgrade recording

v4.09.00
2018-04-07 (compare to v4.08.00)
- Added Requirements to README
- Added Code of Conduct to README
- Added PHP mail() wrapper
- Added logging to email sends
- Expanded the installation process
- Updated Composer (1.4.1 -> 1.4.2)
- Updated PHPMailer (5.2.25 -> 5.2.26)
- Updated PHP Cron Expression Parser (1.2.0 -> 1.2.1)
- Switched from Fixer.io to Currency Converter API
- Updated Email Send code
- Updated remote file retrieval code
- Updated System Information page with more data
- Updated logging to include more information
- Updated Registrar API writeups
- Various fixes & code cleanup

v4.08.00
2017-11-06 (compare to v4.07.00)
- Replaced Yahoo Finance API with Fixer.io API
- Changed GoDaddy domain list limit to 1,000
- Reordered Dashboard Panels
- Added lowercaseTlds method to Maintenance class
- Removed line break from end of version.txt

v4.07.00
2017-10-01 (compare to v4.06.01)
- Finished converting MySQLi to PDO
- Implemented database transactions
- Implemented Database class
- Implemented Upgrade class
- Updated Dashboard panels
- Updated rules in checkFormat method
- Updated PHPMailer (5.2.23 -> 5.2.25)
- Fixed expiration email URLs

v4.06.01
2017-06-26 (compare to v4.06.00)
- Fixed bug in installation script

v4.06.00
2017-06-26 (compare to v4.05.03)
- Migrated database tables from MyISAM to InnoDB
- Finished converting main queries to PDO
- Switched to Composer for PSR-4 Autoloading
- Updated Data Warehouse classes
- Updated DOCTYPE
- Code cleanup

v4.05.03
2017-06-03 (compare to v4.05.02)
- Added Helper File mechanism
- Added local logging of PHP errorsv - Added error reporting options
- Updated System Information page
- Code Cleanup (Converting to PDO)

v4.05.02
2017-05-30 (compare to v4.05.01)
- Fixed Debug process

v4.05.01
2017-05-29 (compare to v4.05.00)
- Fixed bulk domain renewal bug
- Updated DB execute syntax for PHP 5.3 compatibility
- Updated Add & Edit User processes
- Added timeBasicMinusDays method to Time class
- Code cleanup

v4.05.00
2017-05-27 (compare to v4.04.001)
- Added Debugging Mode
- Cosmetic changes
- Code cleanup

v4.04.001
2017-05-14 (compare to v4.04.000)
- Fixed install script
- Added link to Domain Queue during first run
- Updated version info in footer
- Changed button formatting

v4.04.000
2017-05-13 (compare to v4.03.002)
- Added Date and Time Stamp Custom Field Types
- Updated DB upgrade script to run from command line
- Changed email encoding from iso-8859-1 to UTF-8
- Updated Composer (? -> 1.4.1)
- Updated PHP Cron Expression Parser (1.1.0 -> 1.2.0)
- Updated PHPMailer (5.2.16 -> 5.2.23)
- Code cleanup

v4.03.002
2017-04-20 (compare to v4.03.001)
- Added Above.com API
- Added WHM API Token support
- Updated Name.com and DreamHost classes
- Code cleanup

v4.03.001
2017-04-13 (compare to v4.03.000)
- Added timestamp to Task Scheduler page
- Added Log class
- Updated Fabulous API
- Added Freenom API
- Added DreamHost API

v4.03.000
2017-04-07 (compare to v4.02.001)
- Increased SMTP Port form field from 3 to 5
- Updated Maintenance class to lowercase domains
- Updated Domain Queue maintenance tasks
- Updated highlightText method
- Added Softaculous to README
- Added Documentation (User Guide)

v4.02.001
2016-12-08 (compare to v4.02.000)
- Updated GoDaddy API domain retrieval to 10,000
- Increased SMTP port length from 3 to 5
- Updated currency symbol for Turkish Lira
- Changed Maintenance task order
- Removed URL encoding from footer redirects
- Updated default DATETIME values in install script

v4.02.000
2016-11-01 (compare to v4.01.008)
- Fixed SMTP Support version number

v4.01.008
2016-11-01 (compare to v4.01.007)
- Added PHPMailer class
- Added SMTP support
- Added text versions of system emails
- Fixed post-login redirect bug
- Formatting updates

v4.01.007
2016-10-27 (compare to v4.01.006)
- Updated default values for DATETIME fields
- Changed fee and conversion rate data types
- Removed time change form from non-daily events
- Updated htmlentities to specify encoding type
- Fixed edit SSL page (retrieved field order)

v4.01.006
2016-10-01 (compare to v4.01.005)
- Allow admins to edit user profile settings
- Updated Admin, Maintenance & Settings menus
- Formatting updates
- Fixes

v4.01.005
2016-09-03 (compare to v4.01.004)
- Added read-only user data to user export
- Added inactive and read-only user designations
- Security Updates

v4.01.004
2016-08-29 (compare to v4.01.003)
- Security Updates
- Updated Task Scheduler 'run' command

v4.01.003
2016-08-26 (compare to v4.01.002)
- Updated broken maintenance URLs
- Added array_unique to domain list splitting
- Updated bulk domain list processing

v4.01.002
2016-08-25 (compare to v4.01.001)
- Updated installation check
- Updated installation process
- Added default values to DATETIME fields

v4.01.001
2016-04-19 (compare to v4.01.000)
- Updated Fabulous API call in Domain Queue
- Added Read-Only Users

v4.01.000
2016-04-08 (compare to v4.00.000)
- Added Domain Queue for automatic domain imports
- Added support for saving registrar API keys
- Added asset creation tracking
- Added email address to SSL provider accounts
- Added Reseller ID to registrar accounts
- Added Reseller ID to SSL provider accounts
- Updated the installation process
- Updated password resets to allow email addresses
- Database cleanup
- Security cleanup


v4.00.000
2016-03-14 (compare to v3.0.9)
DomainMOD v4 Release -- Complete Redesign

v3.0.9
2016-02-09 (compare to v3.0.8)
- Moved Domain & SSL results within while statement
- Reset is_running flag before running cron jobs

v3.0.8
2016-02-08 (compare to v3.0.7)
- Added Auto Renew field to Domains
- Synchronized software and database versions
- Renamed Timestamp class to Time class
- Added search string to SSL status dropdown
- Fixed Registrar Account dropdown list bug
- Removed leading period from TLD dropdown list


v3.0.7
2015-10-10 (compare to v3.0.6)
- Check for custom field data
- Updated redirect URL after updating System Settings
- Removed extra $q->fetch call
- Fixed the password email logic

v3.0.6
2015-07-27 (compare to v3.0.5)
- Added an Expiry Date filter to Domain & SSL Certificate searches

v3.0.5
2015-07-06 (compare to v3.0.4)
- Added support for user-based time zones

v3.0.4
2015-07-04 (compare to v3.0.3)
- Added a Task Scheduler for scheduling system jobs
- Added Composer support files for vendor autoloading
- Added PHP Cron Expression Parser library to process Task Scheduler dates and times
- Integrated cron jobs into the Task Scheduler and merged all cron jobs into a single file
- Updated maintenance tasks to cover more data
- Renamed and changed the location of various files
- Code cleanup and cosmetic changes

v3.0.3
2015-07-02 (compare to v3.0.2)
- Completely re-wrote how the Data Warehouse processes and displays data
- Added a system notice feature to display important information
- Updated maintenance tasks system-wide to make things run smoother
- Optimized the database upgrade process to make it faster
- Cleaned up and rearranged some of the source code file locations
- Renamed 'Control Panel' to 'Settings'

v3.0.2
2015-06-30 (compare to v3.0.1)
- Modified the version system to use strings
- Updated system-info.php to use $_SESSION['system_db_version'] instead of querying the database

v3.0.1
2015-06-29 (compare to v3.0.0)
- Optimized the way DomainMOD checks for new versions
- Deleted the now-redundant checkversion.php cron job
- Optimized the way DomainMOD fixes invalid fees
- Updated query logic of deleteUnusedFees method

v3.0.0
2015-06-29 (compare to v0.93.0)
- Unified the database and software versions
- Optimized the database update process

v0.93.0
2015-06-28 (compare to v0.92.2)
- Cleaned up and organized a LOT of code
- Moved a lot of includes and random code into classes
- Renamed some files to make things more organized
- Added a Raw List features for the main Domain & SSL Certificate pages
- Updated deprecated HTML tags

v0.92.2
2015-06-20 (compare to v0.92.1)
Fixed pagination bug on Domain & SSL Cert pages

v0.92.1
2015-06-20 (compare to v0.92.0)
- Continued cleaning up and refactoring the codebase
- Added Scrutinizer CI badges to README file
- Updated README formatting
- Continued converting database queries to prepared statements
- Added utf-8 Content Type meta header tag
- Updated the version check crong job
- Updated bind_param calls to use only variables

v0.92.0
2015-05-11 (compare to v0.91.5)
Updated all files to use new Autoloader class

v0.91.5
2015-05-08 (compare to v0.91.4)
Reformatted the DW potential problem report export