3.1.4

* Bugs Fixed
    - Included patches for 3.1.3 for invoice views moved to client profile.

3.1.3

* Admin:
    - When sending announcements filtering by server, only send to customers whose package is active.
    - Removed ticket summary option as this is now in the ticket screen as a checkbox when closing tickets.
* Support:
    - Added some missing tags to the "Notify Department Lead For New Ticket" and "Notify Department List For New Ticket" E-mail templates.
    - Added link to the package that at ticket is associated with
    - Added ticket summary option when closing a ticket so it can be determined on a ticket basis and not based off of a profile setting
    - Added a Cancel button to the ticket summary screen
    - When replying to a ticket and assigning it to self, the department shouldn't change to General unless the user doesn't belong to the ticket's current department.
* Client Module:
    - Migrated Recurring Overview from Main->billing to customer profile to highlight upcoming transactions.  Was getting lost where it was at.
    - Merged all event logs under client event log.  So you can view billing, support, and client tasks for that given customer.
    - Migrated Invoices as submenu of client.
	- Added count of Notes so that the count can be quickly seen when the sections are collapsed.
	- Added count of Packages so that the count can be quickly seen when the sections are collapsed.
	- Made available the Add Note button even when notes section is collapsed
	- Moved the add package sub menu item to a command button below the packages in the profile section
	- Added add package button to the package view in the client menu
	- Merged the welcome email view and email customer view.  This view will be expanded on later to allow other templates you have predefined
	- Rearranged some items in the client drop down menu - view all and add client are now the first two options followed by any client options if a customer is selected
	- Created template for email customer view, this was previously hard coded into the code
	- [#9] - Refers to this charge or upcoming transaction applying to package number 9 for quicker access.
* Others:
    - When viewing the full details of an announcement, don't show the excerpt.
    - When searching via side bar for invoice, invoice is now selected by default to show invoice entries.

* Bugs Fixed
    - Fixed formatting of ticket summary to prevent fields from moving in the event of long plan names
    - Pending Customer Snapshot was not updating count when skeleton module was included in your instalation
    - If there was an escalation with a target priority of Low, the assigned departments couldn't be edited.
    - Credit cards couldn't be processed on some edge cases when the passphrase contained symbols.
    - Knowledge base articles with a rating that wasn't an integer weren't show the stars image appropriately.
    - Some sections were blank when the php.ini directive "zend.ze1_compatibility_mode" was set to On (default is Off).
    - The "click to view available tags" link in the autoresponder templates screen led to a page with an error.
    - Some payment gateway callbacks weren't working when called from an SSL server.
    - Fixed some links to avoid security warnings when using IE and SSL.
    - Better handling of session timeouts in Snap-ins.
    - Fixed currency sorting in the invoice snapshots in the dashboard.
    - Announcements weren't being sent to all recipients when filtering by server.
    - The department setting "Send closed tickets to lead" wasn't operational.
    - Enom now gracefully handles fetching domains from an account with no domains.
    - Extra domain attributes for domains such as .ca were not remembered when the sign up form was refreshed.
    - Couldn't set language in signup using the lang URL variable.
    - Guest user couldn't download a ticket attachement.
    - Domains dashboard snapshot wasn't remembering the selected column.


3.1.2

* Admin:
    - When deleting a customer group, show a warning message if the group has any members.

* Dashboard:
    - Added ability to click on the dashboard graph to go to the report.

* Knowledge Base:
    - Added the permission "Set an article's status". If a user doesn't have this permission, his articles will be saved as drafts. By default only the superadmin access group will have this permission.

* Files:
    - The user status filter should be combined in an AND fashion with the other filters (type, users and servers).

* Export plugins:
    - Fixed tax issue for the invoices export plugin, and added "Taxable Amount" field.

* Server plugins:
    - Fixed Cast-Control plugin to use correct Autodj values.

* Automation services plugins:
    - Added additional error handling to Fetch Ticket service.

* Snap-ins:
    - Updated access permissions settings. They were hard-coded agains the old access groups (Billing, Support Staff, Support Manager), and now you will be able to set the access permissions for each one of your custom access groups.

* Others:
    - If user logged-in through the public section, when logging-out it will be taken to the public section as well.
    - Changed the "Allow Admins Override Enforce Password Strength" security setting to apply to user packages passwords as well.

* Bugs Fixed
    - Customers were being always notified of ticket responses posted by staff, regardless of the "notify user" checkbox.
    - One-time payments weren't working correctly for CCs with 1 digit expiration months.
    - When using the Quantum Gateway in a way that required the user to enter data on QG's site, the redirection back to CE wasn't properly working.
    - When changing a domain's package, the server plugin wasn't updating the package in the panel side.
    - Improved handling of multipart and base64-encoded messages in piping.
    - After saving any change to the "Customer" access group, it was set as an admin group and thus customers were shown in the staff combos in the department edition screen. The upgrade will reset it to non-admin. Note this didn't grant customers any admin rights.
    - If using a custom logout URL, don't redirect to it after a customer tries to log in when logging-in is disabled.
    - Show clear error message in signup when there isn't any payment method set up by the admin.
    - When submitting a ticket in the public section, recognize registered customers by their alternate support E-mails as well.
    - Package add-ons weren't working in signup for zero-priced packages, under some scenarios.
    - The file_integrity script (either called directly or automatically during the install/upgrade) was halting under PHP configurations with low memory.
    - When updating a user package that didn't have domain name options, the server plugin's update method wasn't being called.


3.1.1

* Plugins:
    - Expanded paypal setting "Force customers to use PayPal subscriptions" to also allow forcing not to use subscriptions.

* Bugs Fixed
    - When using 2Checkout, the successful payment page wasn't rendered correctly.
    - Removed extra \r char in the sender E-mail address in the autoresponders sent when a POP3 support rule was processed.
    - It wasn't possible to edit pipe-forwarding support routing rules E-mails field.
    - The customer's dashboard was showing ticket types ids instead of the ticket type name.
    - When changing a customer's E-mail, the event log was showing the change duplicated.
    - Signup had some javascript problems when the country or state fields weren't used.
    - The ticket details screen, when viewed by a customer, didn't show the Plan Name field.
    - Invalid logins weren't showing the red error message under certain conditions (it just showed the login form again).
    - Couldn't delete autoresponder templates using IE.
    - Fixed problem when customer having a guest account signed up for a real account.
    - Fixed some issues in the one-time payment feature.
    - Solved some issues with ticket attachments and automatic assignation to department lead.
    - Solved some permission problems with the staff-only categories.
    - Don't show the CVV2 field in signup when the "Forward To Gateway" setting is set to No.
    - Fixed problem when signing-up with composite to level domains like .com.br


3.1.0

* Added New Module (Knowledgebase):
    - Post articles, each one of them can be in one or more categories.
    - The articles can be categorized as public or internal (only visible by staff members), also can be saved as draft.
    - The articles can have file attachments, file extensions allowed are set on support module setting's.
    - Articles can be related between them.
    - Articles can be linked to ticket types. When working with a ticket, the associated articles links will be visible as tabs.
    - Ability to set Multiple root Categories.
    - Only Admin user can publish articles and comments.
    - Ability to Rate an article using ajax, also article's author can't rate his own publications.
    - Added security code when a user is posting a comment(only on public view).
    - Public view includes autosuggestion feature on article search.
    - Added a new Sidebar visible only on knowledgebase views to show the most popular, most viewed and latest articles added.
    - Knowledgebase specific settings.
    - Import knowledgebase data directly from Kayako SupportSuite
    
* Added New Module (Domains Management):
    - Import domains from registrar.
    - View domain registration details.
    - Toggle Autorenew.
    - View and edit contact information.
    - Modify domain name server information.
    - Check, register, edit and delete name servers.
    - View and edit dns host information.
    - View and edit domain lock setting.
    - E-mail transfer key to registrant.

* Public view:
    - Accessible through /public
    - This is a section available to users without having to log-in. You can show here knowledge base articles marked as public, public announcements, and public file downloads.
    - Customers can also enter tickets and view the status of their open tickets. To enable this you need to create a support routing rule for the public section (more on the support routing rules below).
    - You can also allow customers to open Enom accounts from the public section (read more about the Enom Snap-in below).

* Mobile view:
    - Accessible through /mobile
    - Currently only available for administrator users, it allows to activate/delete pending users, and handle tickets.

* Menus:
    - Improved ease of navigation by separating administrative tasks under the ADMIN menu.
    - Renamed HOME menu to DASHBOARD.
    - Moved setting sections from "admin->settings" to "support->support settings", "billing->billing settings" and "system setup->general settings"
    - Moved plugin sections from "admin->plugins" to "billing->payment processors", "system setup->security settings", "system setup->domain settings", "system setup->automation services" and "system setup->affilates - plugins".
    - Removed Snap-ins menu, and relocated items in multiple menus. Added class variable "menuLocation" in Snap-ins classes, that specify under which module menu should the snap-in go (defaults to Dashboard).

* Event Logging (Requests #913, #1105 and #1111):
    - User events relevant to each customer's profile, packages, bills and tickets will be logged for the administrator to have a track record.
    - Such log will be visible in the following sections:
        - In the Dashoard, as a new snapshot tab, showing only the main events.
        - In the customer profile section, showing the last most important 25 events.
        - In the Client Event Log section under the Client Info module, same as the one in the profile section, but enabling showing a given time range.
        - In the Billing Event Log section under the Billing module, showing all events related to this customer's bills.
        - When viewing a ticket's details, you'll see the ticket event log tab, showing all the history for the current ticket.
    - Three new permissions have been created to view Client and Packages events, Billing events and Ticket events respectively.
    - Event logging is disabled by default. Enable what kind of events you wish to log with the new setting under admin->settings->general
    - Events are stored in the tabe "events_log", in an easy format consumable by third party products.
    - A new service "Archive Logs" has been created. It creates a dump of the events_log table. Similar as the backup service, but this one cleans the table after generating the dump. It also lets archive the services_log table.
    - This is the complete list of events logged:
        - Regarding the client profile: 
            - Creation: all initial customer data is saved for future reference.
            - Any changes to status, E-mail, taxable status, currency, payment type, creation date, comments, password
            - Alternate E-mail addition/change/deletion
            - CC addition/change/encryption/deletion
            - Any changes to custom fields
            - Changes to groups the customer belongs to
            - Any custom E-mail sent
            - CC expiration warnings sent
            - Upcoming charge notifications sent
        - Regarding customer's packages:
            - Creation date
            - Status changes (activation, suspention, deletion)
            - Any changes to package type, package, domain name, domain order id, domain username, registration length, domain name extra attributes, shared ip, used server, recurring date, next due date, billing cycle, price override, addons
            - Any changes to custom fields
            - Welcome E-mails sent
        - Regarding billing:
            - Invoice and invoice entry creation
            - Whenever an invoice is marked as paid, unpaid, refunded, archived, unarchived, voided
            - Invoice deletion
            - Invoice sent
            - Invoice overdue sent
            - Recurring entry creation, and any changes to bill date, type, description, detail, applies to, and payment term
        - Regarding Tickets:
            - Ticket creation
            - Ticket assignation
            - Changes to priority, subject and status
            - Addition of messages, as well as editions and deletions
* Staff Notes:
    - Replaced the comments field in the customer's profile for a more advance notes system.
    - Notes can be made visible for the customer, or not.
    - Notes can be associated to a ticket type. When looking at a ticket, the staff notes associated to the ticket type for this customer will appear in a separate tab.
    - Notes can also be created at the customer group level.
    - Upon upgrade, if the old comments field contains something, its contents will be moved to a staff note.
    - Special signup data (IP, hostname, User agent, etc) that used to be stored in the comments field, will now be stored in the customer creation log event.

* Enom Snap-in:
    - Under Client Info -> Enom Registration Form
    - Through this snap-in you, and your customers, will be able to open Enom accounts from inside ClientExec.

* Signup:
    - Request #930: In signup, customers are able to select if they are "business account" or "individual account".
    - Request #317: The submit button use the submit function once, so it can only be processed once.
    - Request #400: Allow the use of recurring percentage discount coupons.  The discount amount will be locked at the signup, if the package amounts change in the future the discount will remain the same.
    - Request #211: In signup, customers are able to set their Domain Username and Domain Password.
    - Request #809: Added Dropdown with TLD extension in Domain Search
    - Request #696: Added ability to assign different prices for domain renewals
    - Request #141: Added setting to use custom signup completion url
    - Request #393: Added check when the user insert a coupon code in Signup page, but not validate it
    - Allow existing clients to order using their domain username and password combination.

* Dashboard:
    - Request #947: Added new ticket filter: "My Tickets & Unassigned Tickets".
    - Request #856: Added ability to send overdue notices from the "Invoices" snapshot.
    - Request #934: Announcements do not waste the dashboard space.
    - Added name of ticket owner to ticket dashboard as well as background colored in customer group color if any
    - When clicking on a service in the Services Status tab, you will be taken to the automation services screen as usual, but now exactly to screen section where that service is.

* Admin:
    - Request #411: Associate domain tlds to a specific registrar plugin. For example, .com domains can use Enom and .net domains can use Directi.
    - Request #938: When viewing package types we should have a column for count in the package list.
    - Request #816: Package types now show the number of active and inactive customers signed up for it.
    - Request #762: Removed the "- Support" in the "From Name" used in announcement E-mails.  It now uses the company name as defined in the settings.
    - Request #117: Added ability to add a range of IP address to a server just using a dash (-) to indicate the range.
    - Request #788: Now is possible to add a tax rule for all countries.
    - Request #126: Currency symbol position and its number of decimal places can now be specified for each currency.
    - Request #939: Now coupons can be in two different status: active or archived. Only active coupons can be used
    - Request #1117: Added ability to edit and add staff groups.
    - Added ability to assign colors to customer groups.  These colors are visible as background to the customer's name in both ticket details and overview
    - Admin can now determine how many Last seen users to list or decide to hide block all together    

* Clients:
    - Request #850: Admin users can update client profiles even if credit card information is missing.
    - Request #506: Welcome email can be sent to Active or Inactive Customers.
    - Request #925: When adding a new customer's package as an Admin user, the domain name will be checked, and will say if it is available or not.
    - Request #921: Don't show "Accounts Summary" section in the sidebar if the staff member doesn't have the "view clients list" permission.
    - Added template for E-mail sent to rejected customers.

* Billing:
    - Request #935: Allow clients to make one-time payments through selected payment gateways.
    - Request #964: PDF invoices now shows PAID DATE if invoice is paid, PAYMENT METHOD and PMT REFERENCE if available.
    - Request #884: New "Payment Rejected" E-mail.
    - Request #846: Prices will be rounded depending on the number of decimal places set on the currency. (See Request #126)
    - Request #35a: Tax has been moved to the invoice item level so an invoice may contain taxable and non-taxable items.
    - Request #35a: Domains and package addons can be toggled as taxable.
    - Request #105: Allow custom price overriding for client packages.
    - Added ability to send overdue notices manually.
    - Allow invoices to marked as void.
    - Allow invoices to be marked as refunded.
    - Request #818: Added 'Only for monthly payments' option in the 'Include Following Payment' signup setting, to circunvent Paypal limit that forbids to use subscriptions when using prorating, including the following payment and using a billing cycle other than monthly.
    - Request #231: Added 2 year billing cycles for invoices and packages.
    - Request #138: Recurring coupons can be used forever or for a limited amount of time.
    - Coupons can now be applied before or after taxes.
    - Request #768: Ability to specify which invoice items (according to their type) will a coupon apply to.
    - Request #223: Added CVV2 support on the signup form and one-time payment form.
    - Added ability to also process current and overdue invoices when running the batch payments.
    - Changed setting "Invoice BCC" from a YES/NO option to a text area allowing entering multiple E-mails.

* Plugins:
    - Request #751: Add DirectAdmin reseller capabilities.
    - Added a new type of plugin for importing data from external sources. Accessible under "Admin->import data".
    - Added payment refund support for the following gateways:
        - Authorize.net
        - BluePay
        - EprocessingNetwork
        - PSiGate
        - Quantun Gateway
    - Request #979: When Snap-ins are removed, delete their related setting from the database as well.
    - Request #991: Autoclose service improvement. Notify user before autoclose a ticket.
    - New Server Plugin: Cast-Control (Shoutcast)
    - New Server Plugin: WHMSonic (Shoutcast)
    - Request #880: Plesk plugin can use domain templates defined in Plesk.
    - Request #1071: Added limit max_mssql_db in Plesk.
    - For the Quantum Gateway, only use maxmind for the first payment.
    - Added support for non UTF-8 charsets in information sent to plesk
    
* Reports:
    - Request #971: Implemented export forms as plugins.
    - Request #963: Implemented export invoices tax.
    - Total Income To Date report was timing out for a large number of invoices. Issue has been fixed.
    - When a user that has the inactive or cancelled status pays, then open a ticket to notify admins so that their account can be reactivated (previously this was only implemented for inactive accounts).
    - Added tax column to invoice table of Income report.
    - Added rows for add-ons in the Monthly Income and Monthly Income by Type reports.

* Support:
    - Support Departments: new staff grouping, used for the escalation rules, support routing, and ticket (re)assignations.
    - Escalation: ability to change the appearance, priority or assignee of a ticket, given some conditions (time elapsed since ticket was left open, etc.)
    - Support routing: ability to define rules describing how to handle tickets coming thru E-mail or entered in the public section.
    - Added ability to submit tickets for non-registered clients (manually by the admin, and in the public section).
    - Request #667: Support Email not sent on ticket opened by Admin.
    - Request #555: Domain Name Dropdown in Support Tickets.
    - Request #907: Knowledge base suggestions when entering new ticket.
    - Request #927: Added ability to customize the ticket number prefix in the E-mail subjects ("CE" was hard-coded)
    - Request #921: Added permissions "Reassign own tickets" and "Assign to self tickets owned by others" to allow for more granular control on the support process.
    - Request #940: If customer is replying to a ticket that was closed while they were replying it should reopen the ticket and save comment
    - Request #715: Have E-mail piping handle characters sets.
    - Request #1137: Allow to add to notes for a specific ticket for view by admin only.
    - Requets #1114: Custom filters for the support overview table.
    - When closing a ticket, added ability to write a Resolution Summary note. Such note will appear in the dashboard's Articles snapshot, when selecting the "Ticket Summaries" filter. The department's lead can also be set to receive them by E-mail.
    - Request #1156: When an administrator opens a new ticket, add the ability to have the first message be under his name, and not the user's.
    - Request #1189: Ability to manage ticket types: add, edit, delete and reorder.
    - Request #1185: Added new templates for support e-mails:
        - Notify Support For New Ticket
        - Notify Department Lead For New Ticket
        - Notify Department List For New Ticket
        - Notify Customer For New Ticket
        - Notify Anonymous For New Ticket
        - Notify Assignee For Ticket Reply
        - Notify For New FeedBack).
    - Added name of ticket owner to ticket overview as well as background colored in customer group color if any
    - Request #1184: Added these tags to support E-mail templates:
        - [TICKETPACKAGE]: available if the ticket was associated to a package
        - [USERPACKAGES]: list of all package types and packages that the user has.
    - Request #1114: Add custom filters for the support overview table.
    - Request  #431: Add ability for someone to subscribe to another person's ticket responses
    - Added to delete the ticket from the ticket's detail screen.
    - Added ability to subscribe to ticket replies notifications, when you're not the ticket assignee.
    - Added column "Ticket Type" to the closed tickets table. Also removed the "Status" column, because it always showed "Closed".

* Others:
    - Request  #62: Add number of packages to the account summary on dashboard
    - Request #941: Now is possible to search customers and packages by custom fields.
    - Request #562: New report to view coupon usage.
    - Request #347: In the dashboard, invoice amounts are now aligned to the right.
    - Removed "Company URL" setting.
    - Several updates on the language files, removed obsolete entries.
    - Request #918: Check file integrity on new installations and upgrades.
    - Request #1128: Added ability to send multi-part mime messages containing both the HTML and plain-text version of messages, when the client has the "HTML Email Format" field set to Yes.
    - Specify the return-path for outgoing E-mails in the case that they are undeliverable.
    - In the tickets list, show if the ticket's poster is a guest, or if he has a cancelled or inactive status.
    - Added ability enforce password strength for user accounts, admin accounts and domain accounts. To configure go to admin->system setup->security settings->password strength. Additionally, if a domain is attached to a server plugin, the domain's username and password will be checked against the rules required by that plugin.
    - In most application settings and plugin settings that accepted a comma-separated list of E-mails, the field has been changed to a textarea for easier input. Also many settings that only allowed one E-mail, are now capable of handle many.
    - Hide file paths on error dumps (althouth beta version will show them).

* Bugs Fixed
    - Fixed the layout in Safari.
    - Fixed, bug in the SnapshotPending view. The checkboxes(Package Activation Options) were shown according to the last client in the "Pending List"
    - Fixed, Mouseover text is obscured.
    - Bug #782: Remove "Continue Shopping" option from 2Checkout payment page.
    - Bug #1125: Added HTML tags to HTML E-mail templates, for new installations. To fix current installations, just go the templates settings and press update.
    - Bug when deleting a customer's package which contained addons.
    - Now you won't receive the "maximum execution time exceeded" error when entering queries in the database options section that take a long time to run.
    - Fixed recalculation of percentage coupons when changing addons in signup.
    - Fixed total taxes to not allow negative values, if so, then tax is zero.
    - Fixed bug when updating a customer's package which contained addons.
    - Bug #1169: Inactive customers were being able to submit tickets by replying to old tickets by E-mail. Fix: now those E-mails are dropped. Todo: When we implement custom user status in 3.2, add the ability for the routing rules to filter not only by customer groups but also by status.
    - When adding new staff member, the signature field must be blank.
    - Fixed bug when deleting a package type with no packages.
    - When sending announcements to all users or users with a given status, don't include the administrators.
    - In login section, when retrieving your password with an empty E-mail/Username, it was sending an email when it shouldn't.
    - Bug #1026: When importing a package, the package add-on's Name is not imported.
    - Javascript popup calendar on the signup form wasn't working when there were two date custom fields.
    - 3rd party billing section had some layout problems under Opera.
    - When erasing a package type without packages, there was an error.
    - TCAdmin should prefer package addon plugin variables over package plugin variables.
    - When importing packages, the plugin variables will be copied as well.
    - When customer tried to pay an invoice through Paypal using subscriptions, for an invoice related to a package but with a different billing cycle, the invoice was handled with the package's billing cycle.
    - When an error occurred when using the CPanel plugin, the error message wasn't being sent to the configured failure E-mail.
    - Plesk package activation would fail for a second package belonging to the same customer.
    - When creating an invoice from a package fee and other manually added recurring invoice entries, when trying to pay via paypal subscriptions the recurring amount was off.
    - When creating a package custom field of type Country, and error was produced when trying to add a package.
    - Fixed a bug when generating a unique cpanel usernames.
    - Fixed MySQL 'server has gone away' error by automatically reconnecting to MySQL.
    - The invoice generated by a paypal recurring subscription payment had wrong dates in its description.
    - Upgrade failed when using MySQL 5 with strict mode, when upgrading from very old versions. This was fixed and tested up to version 2.5.2.


3.0.2

* Clients:
    - Request #998: Fixed ordering of client list (client info->client list): it will now sort by the company name if set, just like the client's dropdown works.

* Reports:
    - Request #1022: Added "Organization" to the invoice export plugin.

* Plugins:
    - Added TCAdmin user input validation/correction.
    - ISPManager XML parsing fix and updated package addon handling.
    
* Others:
    - ADMIN >> PROFILES >> ENCRYPT DOMAIN PASSWORDS can be used any time, and allows to
      manually encrypt/decrypt Domain Passwords.

* Bugs Fixed
    - Upgrade issue when the OpenSRS plugin from ceaddons.com had been previously installed.
    - Batch notifier service was including invoice entries already assigned to an invoice.
    - Bug #1006: The "Mark Paid" and "Send Invoice" buttons were showing on the dashboard even when these permissions were disabled.
    - PSiGate Store ID and Passphrase were not being sent to PSiGate when processing invoices.
    - Bug #1034: Missing database connection link when escaping input.  This caused problems for 3rd party developers when they close a secondary mysql connection.
    - Bug #1031: E-mails sent from a Blackberry device were scrambled when piped into support tickets.
    - Bug #1020: Euro symbol wasn't displaying properly for invoices with tax in Internet Explorer 6.
    - Remove email from queue when user does not exist in DB.
    - Bug #1032: Account E-mail and Alternate E-mail can not be the same.
    - Bug #1007: The [NAMESERVERS] and [NAMESERVERSANDIPS] welcome E-mail tags were not inserting newline breaks in HTML E-mails.
    - Bug #1003: The package custom field data in the rejected signup notification E-mail was missing HTML line breaks.
    - Error in the calculated tax shown in the invoice e-mails (stored correctly in the system though).
    - Fixed an issue with GoogleCheckout payment transaction logging.
    - Bug #1042: Recurring due date was being advanced when a Paypal subscription was cancelled automatically by Paypal after two failed payment attempts.
    - Bug #993: Wrong prorated charge when using annual billing.
    - Bug #1060: Checking of subdomains is not working in signup.
    - Bug #1058: Prevent the deletion of package types that are in use by customer packages.
    - After hiding the right side panel, it still was showing in some views.
    - A superadmin won't be able to change his own group to something less than superadmin if the system ends up without superadmins.


3.0.1

* Clients:
    - Fixed ordering of client's list dropdown: it will now sort by the company name if set.

* Reports:
    - Added "Date Created" field for the clients export plugin.

* Others:
    - The public announcements template will now have its own HTML header.
    
* Bugs Fixed:
    - When adding or editing a package the package list wasn't using the proper character set.
    - Domain passwords in the domain section were not being decrypted before being shown.
    - Under random circumstances an error ocurred when attempting to manually encrypt domain passwords.

 
3.0.0

* The Newedge Framework:
    ClientExec now runs on top of the Newedge Framework, a new foundation that provides better stability, performance and expandability.
    As of this version, you will be able to create your own full-blown customized modules, just by extending abstract classes and declaring your actions and views in a configuration file. You will still have the snapins (formerly known as add-ons) functionality to quickly build small extensions.
    With the framework you are provided with classes related to:
        - Database access
        - Authentication and authorization (permissions framework)
        - Modular installation, upgrade, and removal
        - Ajax functionality
        - Internationalization
        - Completely skinnable, using a simple but powerful template engine
        - Plugin framework
        - Extensible logging framework
        - Web-Services consumption and publication through SOAP and XML-RPC
        - E-mail sending and parsing

* Performance improvements:
    In scenarios where there is no cache (first time navigation, or using https under Firefox), loading time was sluggish. This has been corrected through multiple improvements: code optimization, smarter loading and compression of javascript libraries, and replacement of the navigation images with stylized text (that now is easily translatable).
    The login screen and the entire login process are now more than 30% faster. Also, the initial signup page loads more than 60% faster.

* Permissions System:
    Located under "admin->profiles->edit permissions", superadmins can now finely tune access permissions for other administrator groups and customers.

    These are the permissions you can grant. By default permissions are given upon upgrading that match the previous version's access levels. Note that some permissions are dependent on others:

        Admin module: View own profile, Manage passphrase, Manage settings, Manage plugins, Manage servers, View package types, Manage package types, Manage custom fields, View coupons, Manage coupons, Manage TLD extensions, Manage currency, Manage taxes, Access to "Database Options" (SQL Queries), Manage announcements, Manage Snapins settings, View "Services Status" tab in the dashboard.

        Billing module: View active invoices, View archived invoices, Unarchive invoices, View unInvoiced work, Edit, delete and add invoices, View "Recurring Overview", Edit recurring invoice, Delete recurring charge, Mark invoice paid or unpaid, Send invoices and receipts, View billing types, Manage billing types, Archive invoices, Process invoices, Generate pending invoices and run batch payments.

        Clients module: View customer data, View "Client List", View packages and send welcome E-mail, Change package's status, Create, edit, and delete Packages, Edit client profile, Create, activate and delete Clients; Edit clients credit cards, Validate their credit cards and view passphrased credit card numbers, Send E-mails to clients, View "Server Info" tab in the dashboard.

        Files module: View files for which the user has explicit permission, Manage files and directories.

        Home module: View overview, View snapshot tabs, View recomend us.

        Reports module: View reports list, Export data (customers and invoices), Publish/unpublish report for staff members, Dashboard graphs.

        Support module: View open tickets, View all assigned tickets, Reply to any assigned ticket, View all closed tickets, Submit ticket, Reopen ticket, Edit Ticket, Delete ticket, Assign new tickets, Close tickets.

* Dashboard:
    - Remember the last used dashboard graph for each user.
    - Added legend that indicates what is the meaning of each color used for the invoices tab on the dashboard.
    
* Reports:
    - Added Quick Reports in order to allow admins to use quick access to the reports they use most frequently. 
    - Allow Report graphs to be added to the dashboard graph tab.

* Signup:
    - Request #670: Created additional way of showing package addons.
    - Request #697: Added a reset password feature when existing customers have forgotten their password in the signup form.
    - Request #497: New Customer Signup email is sent only when customer's credit card is accepted.
    - Allow the use of coupons through the signup URL.  Ex: http://yourdomain.com/signup.php?coupon_code=abc
    - Added setting: Domain name duplicates handling.(Handle duplicated domains entered at signup)
    - Added setting: Select between HTML and plain-text for Terms and Conditions.
    - Don't show $0 for add-ons that have price zero.
    - Original customer data is stored at comments section for Admin when the client is added in signup.
    - Request #606: Pending users can add new packages in signup. Using "I'm an Existing Member" now it is possible to create new packages. 

* Billing:
    - Added View/Edit recurring invoice, in recurring overview.
    - Added verifications and notifications when sending E-mails, to know when an error occurs.
    - Request #739: Increased size of "check number" up to 50 characters.
    - Request #830b: Recurring invoices for add-ons show the package type and domain name.
    - When logged-in as a customer, invoices will only be shown as "not paid" or "paid". The "not sent" and "sent" statuses will only be visible by admins, for clarity purposes.
    - Request #843: All descriptions about "date invoices" has been changed from "was originally sent" to "was last sent".
    - Bug #382: When an echeck declines set invoice that was previously marked as paid as unpaid.
    
* Support:
    - Added verifications and notifications when sending E-mails, to know when an error occurs.
    - Request #724 It is possible to upload multiple attachments at once, and if at least one file has been attached it is not necessary to write a message.
    - Added ability for admins to reply to a ticket from any e-mail, not just the one they have registered in CE (must enable setting).
    - If ticket log was replied through e-mail, show "via E-mail" next to the replier's name.
    - Added customer's name to each ticket subject popup, in the ticket overview screen.

* Files:
    - Added feature to restrict categories by user status

* Home:
    - "RSS" opens in a new window.

* Clients:
    - Request #725: Replaced "Your First 15 Support Tickets" with "Your 15 Most Recent Support Tickets",
      ordered by Status, and by Last Modification.
    - The option (checkbox) "Register Domain" is not shown when none of the user's packages has a domain name.
    - When attempting to activate packages, "Register Domain" checkbox will be left unchecked if user selected Transfer or Self-Management in signup.
    - When an admin is creating a new customer account and it is rejected for any reason, the admin is redirected to the page, keeping the previous data in each field and the error that caused the rejection.
    - Fixed ordering for client dropdowns.
    - Bug #813: Link the "Trigger Server Plugin" checkbox to updating client packages.
    - Packages now are showed ordered by package number in viewing packages and welcome e-mail sections.

* Plugins:
    - Added new plugin eWay for payment using Credit Card.
    - Added Affiliates Plugin Functionality: Ability to easily integrate with 3rd party affiliate scripts.
        - iDevAffiliate plugin added.
        - JROX Affiliate Manager plugin added.
    - Added new registrar plugin: OpenSRS.
    - Added new server plugin: TCAdmin (game hosting control panel)
    - Moved Telephone verification section from MaxMind to its own plugin section.
    - Renamed Add-ons to Snap-ins to avoid confusions with the package add-ons.
    - Renamed Shell Server Plugin to Skeleton Server Plugin. To avoid your plugin settings to be lost make sure any custom code is migrated to plugins/server/skeleton/PluginSkeleton.php
    - Bug #775: The From Name used with the service Upcoming Batch Invoice Notifier was the e-mail, instead of the Billing Name.
    - Bug #753: Added a way of erasing queued E-mails from the Bulk mailer Service.
    - Bug #797: Fixed upcoming invoice notices summary e-mail.
    - When PayPal is not set to use sandbox, discard sandbox callbacks.
    - When viewing service "Bulk Mailer", the field "To" in "Messages in the queue" was not showing all the email accounts it should.
      Now it shows the emails up to 100, and if there are more than 100 it also shows the total number of emails.
    - Bug: When creating users in Plesk, the contact name was being set to the domain's username, instead of the user's first and last names.
    - BluePay plugin was not working properly when using system cURL.
    - Send a notification E-mail when number of remaining MaxMind queries reaches a set threshold.
    - Removed the no longer used PaySystems gateway plugin.
    
* Bugs Fixed:
    - Bug #830a: If a customer has an add-on and then change their package, it does not remove the recurring bill for the add-on.
    - Bug #830c: When canceling or suspending a package with an add-on, it does not remove the recurring bill for the add-on. All other associated recurring bills will be also removed (domain name fees, and others).
    - New Customer Signup email wasn't being sent when non-autopayment customers signed up.
    - MaxMind wasn't working under safe mode.
    - Sorting tables by a column date wasn't properly working in some cases.
    - The buttons for the pending user tab were not working in Safari/Konqueror.
    - Tags in announcements were not being replaced.
    - When reassigning a ticket, leave status intact (it was being changed to "Open").
    - When a user goes to SignUp and selects "Transfer", there were some errors when creating the respective information in the database.
    - In VIEW "Pending Users", when checked "Toggle All", button "Reject Account(s)" was not been enabled.
    - In VIEW "Pending Users", checkbox "Toggle All" was not working properly in some cases.
    - In VIEW "Pending Users", when checked "send email after action", it was only sending email(s) when activating package(s), but it was not when rejecting accounts.
    - Bug #870: The client status combo box wasn't being populated when editting an announcement and changing the receipient type.
    - When the bulk mailer service was enabled an error would occur when piping an email with multiple attachments.
    - Bug: Client list in the announcements recipients wasn't being ordered.
    - Bug #881: Some E-mail clients place a ';' at the end of the boundary line which was causing them to be piped incorrectly.
    - Bug #819: Archived invoice entry link incorrectly returns to active invoices tab.
    - When a client was canceled and you accepted cancelling his packages as well, the cancelled packages were still generating invoices.
    - When a Paypal subscription payment came in, the next billing date wasn't being updated.
    - Package add-ons weren't working in signup for a non-recurring package.
    - Announcements sent to clients set to receive text-only e-mails had broken line breaks.
    - The Recurring Overview screen was showing entries for cancelled packages (domains).
    - Properly handle charsets in support AJAX actions for setting the ticket subject and editing ticket messages.
    - Bug #613: When updating a Ticket Type it doesn't allow user to have a duplicated value. It shows an error message when a description is repeated.
    - Income Reports "Billing Cycle Income", "Monthly Income" and "Monthly Income By Type" will only take in count active packages of active customers.
    - When the Bulk Mailer service didn't finish for any reason, the mail queue was not updated to remove the addressees for whom the message could be delivered.

* Others:
    - Improved loading times by rearranging and compressing javascript libraries, and by replacing menu navigation buttons by plain text (which also makes them translatable).
    - Request #628: Added Subject Templates for all email templates.
    - Request #122: Added Import Package, allowing admins to copy a specific Package from any Package Type.
    - Request #734: Added a way to choose between automatic/manual package activation. Only available on
      "ADMIN >> PACKAGE TYPES >> EDIT PACKAGE" when plugin "ORDER PROCESSOR" is Enabled.
    - Request #728: Added [ORGANIZATION] & [PLANNAME] tags for the Welcome Email Template
    - Added confirmations on passphrase management.
    - When requesting a password reset in the login page, show an error message if E-mail is misconfigured.
    - Request #778: Added reminder message for Admin when the login for users is disabled.
    - Domain passwords are encrypted automatically when ClientExec is Updated to 3.0 if MCRYPT is found.
      Otherwise, a view appears under ADMIN >> PROFILES >> ENCRYPT DOMAIN PASSWORDS, that allows to manually encrypt
      when MCRYPT is found and Domain Passwords have never been encrypted.
    - EMAIL "Password Reset" is now sent immediately, even if Bulk Mailer is active.
    - Request #27: Associate package custom fields with certain package types.
    - Admins accounts can be set to Inactive by Super Admins. Inactive admins won't be able to log-in.
    - Updated countries list.
    - Added toggle to config.php to enable/disable the storing of the user login and password in their session for use with login sharing.
    - If logging is enabled, a filter has been added to mask any sensitive information.
    - Now you can set up a name and a description for package add-ons. The description will be shown as a help popup in signup.
    - Allow for custom fields of type drop down to have options that have values that aren't necessarily equal to the option's label.
    - Request #933: After generating invoices, show the list of the invoices generated in the screen after the popup closes.
    - Request #869 : If a user tries to login into a relative "index.php" it is redirected to the proper URL.
    - Feature : New Invoice Template Tags added:  [RAW_AMOUNT] The total price excluding currency symbol.
    - Replaced textareas with a Rich Text Editor in the following sections:
        - Almost all e-mail templates under "admin->settings->e-mail templates" (HTML+plaintext). The customer receives the one that applies to him, according to his "HTML Email Format" profile field.
        - "admin->settings->general->Advertising  or Banner" (HTML only)
        - "admin->settings->signup->Terms and conditions" (HTML+plaintext)
        - admin->settings->signup->Signup Completition Template and Signup Rejection Template (HTML only)
        - Descriptions for package types and packages. (HTML only)
        - Welcome e-mails for package types and packages (HTML+plaintext)
        - under "client info->welcome-email" the editor type and content shown will depend on the client's "HTML Email Format" preference
        - same for simple "e-mail client" section



2.8.4

* Plugins:
    - Request #403: Added SFTP support to the automatic backup service.

* Signup:
    - Request #765: Send an E-mail notification when an order is rejected.
    
* Bugs Fixed:
    - An error occurred when deleting a package with no addons.


2.8.3

* Support:
    - Added "support" column under the alternate E-mails section in the user's profile. These E-mails will be able to open a support request on behalf of the client if using Support Piping, and will be forced to be unique.

* Plugins:
    - Updated Server Info service to distinguish server loads of 1 and 5 minutes, and added alert for memory consumption.
    - Updated Directi plugin to work with API version 3.5.
    
* Signup:
    - Updated cWhois class to version 1.87 and updated support for .se domains.

* Bugs Fixed:
    - Bug when suspending cPanel reseller accounts.
    - Autosuspender wasn't detecting invoices without a package assigned.
    - When a credit card was erased, recurring invoices were not generated.
    - When an Admid was erased, his troubletickets were appearing as if the client had answered them himself.
    - When you added an announcement and selected the option "Select Clients", the clients could see the link to the post, but didn't get to see the post itself.


2.8.2

* Bugs Fixed:
    - Bug #757: "Last 5 seen" not working.
    - If you have more than 1 IP in the pool you will get an error.
    - Recurring invoices generated to replace a cancelled Paypal subscription were having a dephased due date.
 

2.8.1

* Requirements:
    - MySQL 5 fully supported, even under strict mode.

* Install:
    - Request #727: Automatically test if all UPGRADE SQL and INC files necessary to go from the old to the new version are there.

* Plugins:
    - Plesk had its external API fixed for version 8.1.0 so it's usable again from ClienteExec.
    
* Bugs Fixed:
    - Last Seen field in the Admin Only section of a user's profile was broken.
    - Error after editing a category in the files module.
    - PSiGate plugin wasn't returning error codes properly.
    - Couldn't send BCC when sending a message to a client.
    - In a package configuration screen, the list of aloted servers wasn't been properly sorted.
    - Fixed some errors arising when safe_mode is enabled.
    - Bug #732: Calendar widget was not working in some places.
    - The client DropDown wasn't showing the organizations and clients in the propper order. Now it sorts organizations by A to Z, an after that the clients in A to Z order.
    - In the invoices snapshot in home, when an invoice was marked paid, the confirmation popup asking the admin if he would like to send a receipt was missing.
    - Bug # 720: Duplicate order ID's were being created at the PSiGate dev enviroment in some cases.
    - Wasn't able to modify signup language by passing the lang variable in the URL.

* Others:
    - Language typos and some bad written sentences corrected
    - Let admins add changes to english.txt to provide custom English phrases.
    - Request #750: Fixed currency symbols in reports.

2.8.0

* Requirements:
    - Internet Explorer 7 fully supported.

* Announcements:
    - Request #491: State how many emails were sent.
    - Request #373: Do not attach the excerpt to emails sent and make the excerpt non-mandatory.
    - Request #337: Allow announcements to be sent based on client status.
    - Allow admin to override client opt-out choice to allow the sending of important emails.

* Dashboard:
    - Request #214: Searching by email also searches alternate emails.
    - Request #330: Added customer name, invoice amount and due date to the uninvoiced work table.
    - Changed all actions perfomed on each individual snapshot to be asynchrounous calls to server
      This improves overall performance as only the snapshots will be reloaded after the actions are performed and
      for some actions the snapshot will not even need to be reloaded, saving in a lot of unneeded requests to server.
    - Added filter to tickets.  Allowing quick filtering of tickets by: those assigned to staff, unassigend tickets, and all tickets visable to the user group
	- Grouped the two seperate snapshots, unassigned tickets and my tickets for staff members, filters can not be used if staff wants to view seperately.
	- Added ability to validate ( passphrase ) credit cards from the home snapshot listing those users with credit cards needing validation

* Billing:
    - Request #448: Alphabetize billing type dropdown menu when creating invoice entries.
    - Request #691: Package Add-ons in Recurring Overview - Instead of showing Package Add - on, show the name & description of the addon.

* Clients:
    - Request #451: Add attach file to email client.
    - Request #542: Prevent the user from seeing the package information while it is still pending.
    - Request #31: Allow packages to be marked as active, suspended or cancelled with the ability to trigger server plugins.
    - Request #447: Only tick the register domain activation box if customer requested a domain registration.
    - Request #652: Show the customer's domain name in the Client List & Change the word Package for Domain name on the dropdown option list for Search.
    - Request #438: "User Search" now takes you to the corresponding item (user, domain, invoice, or ticket).
    - Request #500: Implemented "Delete Credit Card" at client profile.
    - Request #694: Added status after id, in the package dropdown for the selected customer.

* Plugins:
    - Added payment gateway plugin for Chronopay.
    - Added payment gateway plugin for Chronopay. Contributed by Sam Pipe.
    - Added payment gateway plugin for Quantum Gateway.
    - Added support for ISPManager server plugin. Contributed by Igor Chekushkin.
    - Request #29: In the package type settings, added bandwidth and disk space settings for CPanel reseller accounts.
    - Added upcoming batch invoice notifier service to alert customers whose credit cards are going to be charged.
    - Request #225: Improved cpanel error messages and handling.
    - Request #344: Expiring credit card notifier service.
    - New Report: Income Growth - Displays income trends from previous month and year.
    - Request #512: Show pop up confirming the package deletion using the plugin, only if the package has a plugin.
    - Request #391: Executing service takes you to different service if not viewing all settings. Now it returns to the service previously executed.
    - Added upcoming batch invoice notifier service to alert customers whose credit cards are going to be charged.
    - Request #540: Add message to ticket logs stating that a file was attached.
    - Request #523: Add Suspend/UnSuspend functions to server plugins.
    - Request #620: Implemented package addon plugin variables support for CPanel.
    - Request #644: Added new Teamspeak server plugin.
    - Request #485: New service "Auto Suspend": Automatically suspends overdue packages.
    - Request #617: Updated Directi plugin to API version 3.
    - Updated DirectAdmin plugin to check for the new return messages when creating accounts and changing packages.
    - Bug #677: Addon "Support Ticket type editor" when adding a duplicate trouble ticket name, mysql was returning an error
    - As of this version when a reseller account in CPanel is suspended, all its subaccounts in CPanel will be suspended as well.

* Signup:
    - Request #139: Added multilingual support for MaxMind telephone verification based on the customer's preferred language.  Note: MaxMind supports English, French, Spanish, German, Japanese.
    - Added credit card bin number and email md5 to maxmind integration.
    - Added ability to set a minimum MaxMind fraud score before triggering telephone verification.
    - Request #499: Added dynamic generation of credit card expiration years so expired credit cards cannot be accepted.
    - Request #106: When client selects transfer domain the first charge is the transfer fee and future charges are billed as the domain renewal.
    - Request #643: Update MaxMind to version 1.43 adding UsernameMD5 and PasswordMD5 fraud check.
    - Request #515: Implemented error detection when searching domain name availability.
    - Request #598: Add ability to modify sort order for package add-ons.
    - Request #237: Allowed "HTML" in the Terms and Conditions template
    - Request #654: Domain value in URL working as expected in signup when specifying package type and domain through the URL in signup.
    - Upgraded cwhois to version 1.86: Updated .de .sk .ch .li .lv .at, .de, .eu. Added .mobi .ph .com.ph .net.ph .org.ph and .ngo.ph. Corrected bug when using IDN with .com and .net .

* Support:
    - Request #297: Added "Reply above this line" to support ticket emails to allow for stripping of previous replies.
    - Request #163: Prepopulate the admin signature into support ticket replies.
    - Request #17: Do not allow tickets to be reopened by customers after x days.
    - Request #426: Allow admin to change a ticket's priority.
    - Request #277: Allow admin to change a ticket's category.
    - Request #216: Allow admin to edit/delete a ticket reply.
    - Allow admin to edit a ticket subject.
    - Request #383: Create ticket when emails are sent from alternate email addresses.
    - Request #200: Automatically reset estimated time when ticket is re-opened.
    - The elapsed time of the closed tickets was showing in hours and minutes. Now it shows in weeks, days, hours and minutes.
    - Email pipping wasn't bouncing back emails that weren't from users.
    - Request #690: Implemented SELECT ALL/NONE for tickets.

* Others:
    - Added new custom field type (Date)
    - Request #332: Allow SMTP Port selection.
    - Request #397: Announcements table should be sorted by date by default.
    - Request #388: Removed initial Welcome Message Setting, and removed the corresponding field in the users table.
    - Request #440: Moved 'servers' link back to the admin menu from the plugins screen.
    - Request #219: Convert the checkform javascript library to regular expressions for better accuracy.
    - Drop Down yes/no now use the size field for width on custom fields.
    - Request #649: Server list is sorted alphabetically to make it easier to find the correct server.
    - Request #640: New "Get New Password Template" on email templates
    - Request #153: Fixed packages price sort
    - Request #25:  When an inactive user pays an overdue invoice a ticket will be opened notifying the admin.  If the user is paying using an autopayment plugin a ticket is opened when their profile/credit card is updated so the admin can reprocess the invoice.
    - Request #661: Redirect from index.php to install.php when the installation hasn't been done yet.
    - Add to the backup the creation scripts of the DB.
    - Request #664: Added credit year drop list years upto 2020.
    - Added translation capabilities for plugins, servers and settings. Also added many missing translation entries. Updated Spanish translation.
    - Added setting to show the script's execution time in the footer.
    - Request #666: Show packages dropdown ordered by price.
    - Added ability to change the session name in config.php by defining the constant SESSION_NAME. This allows external pages to share the session with CE and see if a user is logged-in. Check the manual under the Client Management section for more information.

* Bugs Fixed:
    - Bug #579: Language change to reflect change of domain to package
    - Bug #593: Error removing all packages from package types that contained a single quote in the package type name
    - Bug #548: Fixed when editing invoice entries, CE asking to pick billing type when one has already been selected
    - Bug #486: Fixed rounding problem which at times caused incorrect values being displayed when applying tax
    - Bug #415: Fixed incorrect message of transaction failed when entering incorrect passphrase.
    - Bug #119: If there are 2 profile fields of the type "address" then plugins are "confused" and may use an empty address field rather than the populated one.
    - Bug #484: Server Status Report giving plugin error mail.
    - Bug #374: When creating a new package type and importing packages, the "allow in signup" checkboxes setting weren't preserved.
    - Bug #460: Server info tab not returning correct charset encoding.
    - Bug #399: When a customer updated his profile, the organization checkbox was reset.
    - Bluepay wasn't passing customer email address or phone number and needed a debugging statement removed.
    - Bug #474: When deleting a selected customer from the client list the client wasn't being deselected.
    - Bug #461: Billing staff were unable to see tickets assigned to them.
    - Bug #472: Properly activate users from the dashboard so packages are never activated twice and the user is always activated before their packages.
    - Bug #627: Wrong IP was being logged when the request came from some NAT routers.
    - In signup, when using Paypal Subscriptions, a subscription wasn't being created if using a coupon that would only make the first payment free.
    - Bug #558: Use the due date of the package and not uninvoiced work when generating invoices.
    - If admin and customer had different languages, PDF invoice was being sent with the admin's language.
    - Bug #687: Set charset meta tag in login screen.
    - Fixed Import Packages to import servers.
    - Bug #692: serverstatus plugin not working when there are multiple servers and at least one not having the stats URL set.
    - Bug #678: ticket overview sort not working for the time elapsed column.
    - Bug #590: Fixed Upcoming Transactions Report.
    - Bug #711: Fixed PHPSysInfo Plugin to show uptime correctly
    - When all Billing Types were erased, it was impossible to add a new one.
    - Income Growth is now working properly.

2.7.6

- Tighter enforcement of permissions between admin users.


2.7.5

* Bugs fixed:
    - Fixed security vulnerability: ability for admins to edit other admins accounts.
    - Bug 583: Recurring discount next due date wasn't changing when the package next due date changed.
    - Bug 611: Corrupt URL for password recuperation when seen from clients like Squirrelmail.
    - Signup total shows as NAN when multiple addon billing cycles are forced to show in the signup form.
    - Bug 624: Announcements that were meant to be published on a future date on RSS were being published immediately.
    - Bug 618: When tickets were being obtained using emailpiping, they weren't starting with the number stated at settings.
    - Under some scenarios not all announcements were shown in the dashboard.

2.7.4

* Announcements:
    - Request #336: Option for clients to opt-out of email announcements.

* Billing:
    - Implemented package add-ons feature, that lets attach extra setup and recurring charges to a package, manually or through signup.
    - Feature 470: New Invoice Template Tags added:  [AMOUNT_EX_TAX]: Total amount excluding taxes(price). [TAX]: Taxes.
    - Automatically tick the invoice checkbox and generate the action buttons (pay, send, etc) when an invoice is clicked on.
    - Moved the billable work section from the admin section to the billing section.

* Support:
    - Feature 192: Change elapsed to time days weeks.
    - Feature 503: Show Status of LAST "x" amount of Support Tickets on Client Dashboard.
    - Feature 525: Prevent customers & Admin to send blank responses for support tickets submited.
    - Feature 152: notify user when ticket is created on his behalf.

* Reports:
    - Added Status field in the Export Client Data form.
    - Added Income Growth and Monthly Income by Type reports.

* Signup:
    - Updated cwhois to version 1.84 (new lookup for .eu domains)
    - Request 543: Ability to disable certain packages on the signup form.

* Plugins
    - Feature 29: In the package type settings, added bandwidth and disk space settings for CPanel reseller accounts.
    - Feature 114: Added in Admin->plugins->services: Delete Pending Users after X days.
    - When activating a package, send to plesk all the information of the user (organization, name, last name, ...), instead of only the plesk username & password.
    - Request 520: Payment method Google Checkout added.

* Others:
    - Updated jpgraph library to version 1.20.4a
    - Feature 527: For the announcement emails, now there`s the option to send personalized emails with the following tags:
        [CLIENTNAME]: Includes name and last name
        [FIRSTNAME]: First name of the client
        [LASTNAME]: Last name of the client
        [ORGANIZATION]: Client's Organization
        [DATE]: Actual Date
        [COMPANYNAME]: Company name
	- If an package insertion to Plesk fails, show the error returned by Plesk.
    - Allowed access to cancelled users so that they can pay their past due invoices.
    - Show remote IP and port in log.

* Bugs fixed:
    - Wasn't setting paid date for fully discounted invoices, which broke the income report graph.
    - 2.7.3 fix for special domain attributes worked for domain additions but not domain updates.
    - Enom plugin wasn't working using the curl binary instead of PHP's extension.
    - The crontab class wasn't catching "Permission denied" messages.
    - The bulk mailer was cutting off large attachments when storing them in the database making them corrupt.
    - When a user signed up paying with a merchant account (e.g. Authorize.net), the autopayment field for his newly created record in the users table wasn't marked as 1 as it should. This caused that the record wasn't shown in the dashboard table for CCs pending passphrasing, and the following invoices weren't automatically processed.
    - When using MaxMind on a server running suexec the maxmind.ws.cache was causing permissions problems.
    - When existing user pressed enter when entering his credentials in signup he was being thrown to the previous step.
    - Translations weren't working in the PDF invoice when register_globals was enabled in php.ini.
    - Bug 522: Non autopayment credit cards (offline credit card) weren't showing in dashboard as awaiting validation.
    - Bug 524: Support attachments with file names longer than 50 chars have their extension cut off.
    - Bug 480: Alternate emails that were too long couldn't be shown in the client's profile screen.
    - Bug 457: Fixed and enhanced screen logger.
    - Bug 531: Cpanel usernames cannot start with a number.
    - The invoice summary wasn't getting the right date format: when set as dd/mm/yyyy it was printed as mm/dd/yyyy.
    - The domain name needed to be converted to lowercase or the tld wouldn't be recognized.
    - Bug 538: Existing members were unable to use coupons on the signup form.
    - Bug 545: Report now calculates correctly the taxes & invoices totals.
    - Bug 97 fixed: In Admin -> Settings -> Show Change Domain Password. When it was set to "yes", it wasn't allowing the user to change the package's password.
    - The support pipe would start an email loop if the from address was the same as the support email address.
    - Show a database connection error page rather than "ERROR: FindTemplate: file header.tpl does not exist anywhere in templates/" when the connection to the database fails.
    - The fetchticket service wasn't retrieving e-mail attachments.
    - Bug 574: Under certain circumstances the prorating price was off by 1 cent.
    - Coupon wasn't correctly validated when both "All" and "Setup Fee Only" checkboxes were ticked.
    - Adding new billing types resulted in an error when using MySQL < 4.0.17
    - Announcements weren't being correctly sorted in the dashboard.
    - Client stats (on the panel on the right) wasn't been updated when the Order Processor service activated accounts.
    - Protxform plugin wasn't forwarding the customer properly.
    - 3rd party billing and services configuration screens were not working properly under IE.

2.7.3

* Others:
    - Improvement of the server plugin system to make it work with non-hosting accounts too:
        - Used to be enabled only when the package type setting "Show Domain Options" was set to Yes.
        - Server plugins will be triggered upon a package activation if all the following conditions are met:
            1) The package is tied to a server
            2) That server is linked to a server plugin
            3) Admin checks "Trigger Server Plugin" in the activation screen.
        - In the package activation screen, the Server Section shows the servers that are linked to the package. If there isn't any the section isn't shown.
        - Todo for next versions: allow multiple plugins to be triggered one after the other in a single package activation, letting the admin to set the order in which they must be triggered.
    - Updated ioncube loaders (there was a problem with the windows one for PHP 4.4).

* Bugs fixed:
    - When user had multiple domains on the same server, he would see the server listed multiple times in the phpsysinfo addon dropdown.
    - An error was produced when trying to manually adding a domain with special attributes (like those for .uk, .us, etc.) under IE.


2.7.2

* Bugs fixed:
    - Custom domain registration fields weren't appearing in the "add packages screen" when using Enom.
    - Services screen wasn't showing for Windows platforms with PHP4
    - Bug #458: TLD issues when manually adding or editing domains, and when adding a self-managed domain in signup for an unsupported tld, have been fixed.
    - When user had multiple domains on the same server, he would see the server's stats in the dashboard listed multiple times.
    - When admin clicked on the server link in the server's stats on the dashboard an error was produced.
    - When a client signed up for a non recurrent package (with only a setup fee), no final invoice was generated, just an uninvoiced entry.
    - When admin and user are logged in at the same time and client changes CC and admin passphrases it in the same session, CC number is corrupted.
    - The next run time shown in the services status tab in the dashboard wasn't calculated appropiately for non trivial cron syntax cases (cronjobs were running at the appropiate times though).
    - Under some circumstances $0 invoices still were not being automatically marked as paid during the signup process.
    - Bug 469 - "Display records per page" dropdown in announcements was broken


2.7.1

* Plugins:
    - Update PSiGate to use their xml interface.
    - Backup service: added ability to upload backup files into an FTP subdir.

* Add-ons:
    - Added ability to make ajax calls from an add-on.
    - Added add-on to check servers status (have to have installed the phpsysinfo package in the server).

* Signup:
    - Updated cwhois to version 1.83 (.eu domains)
    - Automatically mark invoices for $0.00 as paid so the order processor service can activate free/discounted accounts.

* Others:
    - Added ability to set the database connection encoding in config.php by adding the variable $dbencoding. For example $dbencoding = 'utf8';. Only use it if you know what you're doing.

* Bugs fixed:
    - Add-ons autodiscovery wasn't working
    - Passwords with ? in them were causing SQL failures.
    - Announcements module was throwing an error for some Windows servers.
    - Fixed encoding problems for ajax responses in foreign languages.
    - Plesk was setting quotas greater than 2GB to 2GB.
    - Bug #175: TOS in the signup form should be read only to avoid the customer deleting the TOS and agreeing to nothing.
    - Bug #103: Apostrophes in customfield dropdown options causes errors.
    - Bug #30:  Add tool tip or help describing max size of file attachments.
    - Support pipe was detecting text file attachments as regular text and not attachments.
    - Support ticket autoclose service output was showing the wrong tickets.
    - Couldn't use some symbols in passwords in the Plesk and Enom plugins when using the curl binary.
    - Signup wasn't abiding by domain quotas when assigning the package to a server.
    - Attachments added in the support module were being encoded twice when emailed.
    - The ability to add an invoice entry to a domain's next recurring charge was broken.
    - If an invalid package was specified via the signup url the signup form would throw an error.
    - Editting a file category was throwing an error.
    - Directi name servers weren't being set properly.
    - Signup dates for taxable clients weren't being saved properly.
    - When viewing a client's package the wrong server information was showing.
    - Bug #413: when admin changed passphrased, he needed to logout and login again to view the current user's credit card number.
    - Ticket type editor(addon) was redirecting to the home page when adding a type to an empty list.
    - Bug #452: Show clearer messages explaining about the task scheduler to run services under Windows.
    - Fixed MoneyBookers plugin.
    - When user using paypal subscriptions modified its profile, it was reset to non-subscriptions.
    - Fixed some language entries on signup.
    - Backup service wasn't working when using FTP and e-mail at the same time.


2.7.0

* Requirements:
    - Added support for PHP 5.1.x

* Dashboard:
    - Several performance improvements.
    - Added tab to see Services information (see below).

* Billing:
    - When marking an invoice as unpaid you are no longer prompted with a confirmation box to send receipt
    - You can now create invoice directly from the create invoice entry screen.  Before you were directed to the uninvoiced invoices then you could create invoice.
    - You can now perform invoice actions on multiple invoices, not just one.
    - In an attempt to speed up an often used module, if not the most used, we have tried to add as much asyncronous calls when performing an action
      examples:
               When performing archives or deleting invoices, you are not refreshed.  Items are removed from grid
               When marking invoices paid or unpaid, you are not refreshed.  Specific columns affected are changed
               When clicking to view invoice details, page does not refresh.  Just the new invoice entries content gets updated below the invoices

* Signup:
    - Added coupons functionality
    - Added ability to set the signup language through a URL variable, for example: signup.php?lang=spanish
    - Added Maxmind logo to signup footer when ccfd detection or phone verification is enabled.

* Template:
    - In an attempt to clean up the templates, we are moving into extracting 100% of html from our compiled code and moving to templates.
      First module to undergo this long awaited change will be the invoices.  You can go to templates/TEMPLATE/views/billing/invoices to modify
      the look and feel for this module.

* Support:
    - Staff is now able to reassign ticket while viewing it.  Ticket is reassigned without refreshing the page.
    - Added autoresponder to tickets initiated through the support pipe.  Email template is available in the admin settings.
    - Added AJAX pagination to closed tickets.
    - Added file attachments to support tickets.
    - Added file attachment parsing for base64 encoded attachments to the SupportPipe.  Accepts multiple email attachments.
    - Added popup warning when changing ticket priority to high.
    - Added additional parsing support for multipart emails in the SupportPipe.php

* Plugins:
    - Added Services Plugins: Allows administrators to create scripts to be run through Cron. For the moment only available for Unix-based platforms.
    - Initial Services implemented:
            - Bulk Mailer: used to queue e-mails to be sent by an independent process triggered by cron, which will improve performance for people having to send e-mails in mass.
            - Tickets Generator: automatically pulls e-mails from an account through POP and creates tickets. Useful as a complement or a replacement to the e-mail piping.
            - Ticket Autoclose: automatically close tickets that are waiting on customer for a set amount of days.  Useful when customers don't follow up to their support tickets.
            - Order Processor: automatically activate new accounts/order that have domain options enabled and were ordered through the signup form.
            - Invoice Generator: automatically generate invoices (non merchant account only).
            - Overdue Reminder: automatically send overdue invoice reminders.
            - CE Database Backup: delivers database SQL dump files to a local dir, remote FTP account or e-mail. Can gzip and encrypt the file.
    - Added Add-ons functionality, that will allow administrators to easily expand ClientExec. Provided as examples are a Support Ticket Type Editor and the Search Tickets (this one used to be a custom report). Plugin access is determined by user role, and you can provide different funcionality depending on the user being an administrator or a customer. Please take a look at the examples provided to create your own plugins.
    - Added Directi domain registration plugin.
    - Added support for taxes in the following reports: income, upcoming_transactions, total_income_to_date.
    - Plesk plugin: now you can set limits (number of subdomains, databases, mailbox, amount of traffic, etc.) from within CE.
    - Added Bluepay merchant account plugin.

* Clients:
    - When viewing a package you can now see whether the client wanted to register/transfer or self manage the domain for orders placed through the signup form.

* Admin:
    - Now packages can by tied up to servers in the package edition screen. This means that when manually adding a package to a client, only the appropiate servers will be listed. The server selected by default will be chosen in a round-robin manner: the server that hasn't been used for the longest time and whose quota hasn't been attained (see below). Same principle applies to packages created through the signup, automatically chosing the appropiate server.
    - The plugins->servers screen will list all the packages tied to each server. Also, there's a new setting allowing to limit the number of domains for each server ("Domains quota").
    - When adding a package you can now add the plugin variables at the same time.  Previously you had to add a package then edit the package to set the plugin variables.
    - When viewing the superadmin's profile, if he hasn't yet selected a language, select the system's default.

* Others:
    - Enhanced language framework, and simplified language files.
    - Call javascript libraries appended with version number (e.g. overlib.js?version=2.7.0) so that they get automatically renewed in the browser's cache without having to force a reload.
    - Added setting to notify administrator via e-mail when a catchable error occurs in the application.
    - Added setting for a custom logout URL so the user is redirected to a site of your choosing.

* Bugs fixed:
    - Passphrase management in admin->profiles was redirecting to home page instead of performing actions
    - Support Overview was showing a disable button that only applies on the home dashboard
    - Passwords problem when migrating to MySQL 4.1
    - Password Request would fail if the password entered in user profile was not all lowercase.  Case does not matter to validate email now
    - Bug #36: After saving package descriptions with HTML, the HTML was disappearing.
    - Two arrows were shown in one of the dashboard tickets table headers under IE when logged as a support staff user.
    - Bug #329: The current popup calendar used for client creation dates and package creation/next invoice dates are missing January 31.
    - Enom plugin wasn't working well under Windows servers.
    - Files module was failing when selected encoding was UTF-8
    - Bug #212: Some invoices weren't showing in the Monthly Invoices Generated report.
    - Fixed when generating invoices for non merchant accounts that invoices# are displayed in the status window as they created
    - When tickets were deleted or closed in the support overview screen, user was being redirected to the dashboard.
    - After a page refresh on the signup form (change packages, billing cycles) the dropdown options are lost.
    - Stormpay and WorldPay callback weren't marking invoices as paid.
    - Email looping could occur if alternate support email was the same as the support email.
    - Clients were not recieving ticket update notifications when admin replied to ticket through the support pipe.
    - Prorating in signup with a semiannual frequency wasn't working
    - Tax wasn't been applied properly to an exising member adding a package through the signup.
    - User was being set as taxable only if he purchased a taxed package during his first signup. Now he's set as taxable according to his country and state.
    - Signup was allowing email addresses with a space in it.

2.6.2

* Reports:
    - Enhanced the annual income report to support monthly as well as yearly so that those that exceed their server timeout can view per month

* Bugs fixed:
    - Plesk package configuration checkboxes weren't working with Safari.
    - E-mails sent by the Forgot Password feature were being rejected by some mail servers.

2.6.1

* Plugins:
    - PLESK: Version 2.6.0 only allowed access with Plesk admin accounts. Now normal user accounts are supported, that have 'Domain Creation' and 'Ability to use remote XML interface' permissions. Reseller packages create in Plesk a user account with 'Domain Creation' permission. Normal packages create a single domain account.

* Signup:
    - Added ability under "admin->tld extensions" to select whether a tld should be offered in signup.

* Bugs fixed:
    - Enom plugin wasn't working when using the curl binary instead of the PHP extension.
    - The user status filter in the files module wasn't working well when used together with other filters on the same file.
    - Menu and right bar were disappearing under report->export data.
    - When a user replied to a ticket by e-mail, the following notification message had untranslated constants.
    - Some words were missing in the message shown in signup when a lookup was made for an already registered domain.
    - Wasn't including PDF invoice from invoices generated by gateway callbacks.
    - Package selection problems when reloading after changing the TLD.
    - In signup, when changing the country or state, the tax wasn't being updated.
    - In signup for credit card payments, it was always showing the discovery card even if it was disabled in admin->plugins->3rd party billing.
    - In signup, when validating an invalid form, it was showing "Invalid Email address multiple times".
    - In signup, the domain name registration options wheren't behaving coherently under some use cases.
    - When manually adding a domain-based package to a client sometimes the tlds in the dropdown were shown multiple times.
    - Wasn't allowing SQL in the post-it note.
    - When existing user enter credit card in signup and then check the "exisiting member" checkbox anyway, cc would need to be revalidated.
    - Fixed more path-related-special-cases issues with IIS.
    - Fixed Worldpay and Psigate plugins.
    - In signup, wasn't showing list of supported tlds when the user attempted a check for an unsupported one.


2.6.0

* Requirements:
    - PHP versions between 4.3.0 and 5.0.5
    - MySQL versions till 4.1
* Announcements: New module that replaces "system messages", offering the following features:
    - Edition of messages through a WYSIWYG rich text editor.
    - Ability to create messages as drafts, to be published later.
    - Besides text and images, user can embed sound, movies and flash
    - Message publication and e-mailings to different kind of recipients: all users, selected users, users by server or packages
    - Publication of public messages, accessible trough RSS (/rssAnnouncements.php) or HTML (/publicAnnouncements.php, which is based
      on the template publicAnnoucements.tpl)

* Signup:
    - Now based on templates
    - Added phone verification service with MaxMind
    - Added captcha image to avoid signup floods
    - Allow admins to order packages how they would like to display them in signup.
    - Removed setup charge in checkout if its value is equal to 0
    - Removed 'Domain Registration Extra' setting, which wasn't doing anything
    - updated cwhois library to version 1.79 (19/09/05):
        Updated .jp for new whois server
        Updated .co.za
        Added .gov support
        Added .pt .com.pt .nome.pt support
        Added .ve .co.ve .com.ve .net.ve .web.ve .nom.ve .firm.ve .store.ve
        .rec.ve .info.ve .org.ve
        Added .ug, .co.ug .or.ug .ac.ug .sc.ug .go.ug .ne.ug .org.ug .mil.ug
        Added .uz

* Dashboard:
    - Ability to toggle graph legend
    - Added checkboxes to trigger server plugin and domain registration upon packages activation (task #6)
    - Replaced old "System Messages" feature by new "Announcements". The systemmsg field of the database table users will remain during versions
      2.6.x in case users want to retrieve old system messages. In version 2.7.0 this field and corresponding data will be removed.

* Clients:
    - Added field for domain name registration length when manually adding a package
    - Added "toggle all" checkbox and "delete" button to all client list screens
    - In the profile screen, added checkboxes to trigger server plugin and domain registration upon packages activation
    - Added "add package" link in the clients menu

* Billing:
    - Added invoice number to PDF filename
    - E-mail receipts now have attached the PDF invoice with a paid stamp image (task #18)
    - The billing cycle (monthly, quarterly, etc) that appears in the invoice entry detail is now translated

* Support:
    - Added setting to notify of high priority tickets
    - Ability to disable support module and redirect users elsewhere
    - Removed checkboxes column in tickets lists for customers, because they were useless
    - Added "view closed tickets" and "submit support ticket" links under the support menu

* Reports:
    - Added ability to export client and invoices data to csv files (task #14)
    - Added report to search support tickets, with a search box in the right panel
    - Added ability to make each report public, and thus give access to other staff members (not customers)
    - Show friendly message if GD extension is not present, instead of blank page
    - Central logging features and enhanced security.
      USERS MUST MAKE THIS CHANGES TO THEIR CUSTOM PLUGIN REPORTS THAT CONTAIN GRAPHS FOR THEM TO CONTINUE WORKING:
        - jpgraph include lines:
            change from include('../../classes/jpgraph/src/jpgraph.php') to require_once 'classes/jpgraph/src/jpgraph.php';
            (do this for all jpgraph libraries to, like jpgraph_bar.php)
        - image tags URLs:
            change from, for example, <img src='plugins/reports/annual_income-income.php?viewimage=1'>
            to <img src=\"index.php?fuse=".cREPORT."&report=".urlencode('Annual Income')."&viewimage=1\" />

* Plugins:
    - Added support for Plesk
    - CPanel: Full support for remote server provisioning: no need to have installed both CPanel and CE in the same server anymore.
    - CPanel: Added reseller support
    - Registrars: added extra attributes fields in 'add package' screen and signup for TLDs that need them (.us, .uk, .org.uk, .ca and others)
    - Protx: Now works with register_globals off

* Templates:
    - Style sheets will be sent gzipped to the browser (needs zlib compiled in PHP)
    - Cleanup of Raleigh and Sunshine style sheets

* Others:
    - Upgrades: after the code is upgraded, login will be disabled until the admin upgrades the database as well by running install.php
    - New logging framework that can be abilitated from config.php. Five logging levels:
        - 0: No logging
        - 1: Security attacks attempts, errors and important messages (recommended level)
        - 2: + Request URIs and URI redirections
        - 3: + POST and COOKIE values
        - 4. + SQL queries
        - 5: Maximum verbosity: plugin events, curl requests,
                               some function calls with their parameters, etc. (use this when sending logs to support)
    - Eliminated popup confirmations: success/failure messages will be shown in the following screen instead
    - Fixed File does not exist: javascript/overlib.js
    - Fixed File does not exist: htdocs/favicon.ico
    - Added Setting and system message to temporary disable login for customers
    - Ability to use multiple browser windows without problems
    - Tables will remember number of records to show per page (same setting used for every table) (request #23)
    - As of this version only the Ioncube loaders for Linux and Windows will be included (we're removing the FreeBSD ones). For other platforms please download them from Ioncube's site.

* Bugs fixed:
    - bug # 1: Paypal subscriptions weren't working with prorating and not including the following payment
    - bug: When a customer signed up with an online credit card method and the "Forward to gateway" setting was set to "No", the administrator wasn't being notified of the new signup
    - bug: System halted when the symbol $ was used in the database password
    - bug: Wasn't showing paypal subscriptions checkbox in signup when only paying for domain name registrations
    - bug: System halted when using PHP5 compiled with --enable-soap
    - bug #187: Language entry missing(_BILLING_DOMSWITCHNOTREC)
    - bug #190: welcome e-mail was blank when resent
    - bug #213: When returning from a successfull paypal subscription transaction, wasn't showing thank you page
    - bug: didn't allow $ characters in database password
    - bug #209: next due not updating when using paypal subscriptions
    - bug: was showing error when trying to delete recurring fees not related to packages
    - bug: 'View All clients' link in the 'viewing closed tickets' table was redirecting to the overview table
    - bug: in the Generate Invoices popup the progress % was erroneous
    - bug: when a user was switched to paypal subscriptions, when he tried to pay an old invoice from before the switching, a subscription was generated for each one of those invoices
    - bug: when a user cancelled a paypal subscription for a package, the following invoices for that package weren't being generated
    - bug: some reports graphs were not showing under IIS
    - bug: maxmind fraud report was shown twice in notification e-mails

2.5.2
* Signup:
    - Added charset encoding in HTML meta tag

* Plugins:
    - Added support for eProcessingNetwork payment gateway
    - Added support for SSL for directadmin

* Bugs fixed:
    - Value of the "is Organization" checkbox user setting was being reset every time customer updated its profile.
    - Whenever anybody updated something on a client profile which was using the entity/business name, CE was displaying "Client Name profile updated succesfully" instead of "Entity Name profile updated succesfully"
    - Changed Client Name to Entity name in reports for customers who are using the entity/business name
    - The graphic of customer domains, under account & packages reports, is now being displayed well on Windows

* Others:
    - Don't show phpinfo.php if user is not logged-in as administrator.

2.5.1
* Clients:
    - Allow inactive customers to edit their contact and billing information
    - Disable ability of welcome email editing by customers
    - Don't show 'activate using server plugin' and 'Regitrer domain name' in the viewing package screen for non domain-based packages

* Signup:
    - Improved messages when domain checkup fails, according to the domain registration options enabled for the package

* Login:
    - Use appropiate character set as set up in settings

* Others:
    - Added file_integrity.php script to check if files were uploaded OK

* Bugs fixed:
    - bug: added conditional to indicate script location in case server is IIS in confirmation.php
    - bug #84: package popup description only shows monthly prices in clients module
    - bug: was giving error when activating multiple customers in the "client info->client list" screen
    - bug #212: activate domain search in signup even if domain registration is disabled, to check against domains used in CE
    - bug #219: couldn't download files with IE using https
    - bug: percentage sign in packages names were causing errors in the client's package screen
    - bug #221: existing customer signup with credit card fails
    - bug: warning about deprecated mysql_escape_function
    - bug #78: was showing [CUSTOM...] in parsed templates for empty custom tags
    - bug #139: "check domain availability" setting not working
    - bug #220: changing a package's package type wasn't updating the package at cpanel

2.5.0
* New user/packages approach:
    - Packages have now an activated/pending state
    - User must be active to allow package activation
    - Allow activation of all packages when a user is activated
    - Implemented user and packages activation and deletion in the dashboard
    - Changed client profile screen to show user packages on the right
    - Added Package Activation section to the package screen to determine which plugins to trigger upon package activation
* New registrar plugins funcionality:
    - Allow domain registration upon package activation through registrar web services implemented as plugins (initially only Enom)
* Billing:
    - Implemented Paypal Subscriptions, and allow to use Paypal Sandbox for testing
    - Added Stormpay support
    - Added request #89: new option in the 'include following payment' setting to specially handle monthly payments
    - 2CO update
* Support:
    - Added close button in dashboard and billing section
    - Open tickets for non active users will be shown grayed-out
* Signup:
    - Allow existing users to add packages through signup
    - Convert domain names entered to lowercase
* Reports:
    - Don't show home graphs or reports without being logged in
    - Monthly Invoces Generated Report: sort by billdate and added Sent Date column
* Others
    - Updated Interworx plugin
    - Automatically upgrade plugins at installation/upgrade, so admins won't have to take care of this anymore
    - Moved plugin settings (servers, 3rd party billing, fraud  and registrars) to a separate section
    - Added whois domain check support for: .wales.com, .wales.org, .wales.net, .cymru.org, .dm, .nf, .tl, .tp, .hk, .ua, .pro, .io, .co.za, .za.net, .za.org
    - Updated whois domain check for .co.za, .hk, .af, .cx and .ua
    - Previous operation confirmation messages will now appear in red on top of the following page
    - Implemented task #175: add a link to 'view packages' under the 'client info' button in navigation
    - Implement task #142: allow inactive users to login, but only give them access to billing so they can get up2date with their payments
    - Included windows ioncube loaders and upgraded old loaders to avoid conflict with Zend Optimizer in PHP 4.4.0

Bugs fixed:

    - bug #45: cannot use quotes in fields values
    - bug #95: searching twice in signup was allowing using an unavailable domain
    - bug #30: removed last part of message 'This email address is already in use, please select existing member'
    - bug #61: time elapsed for closed tickets shouldn't increase. Now it shows the time between the ticket's creation and its latest closure
    - bug #45: can't send e-mails with quotes in the address
    - bug: custom field names with double quotes produced a javascript error
    - bug: support pipe wasn't taking into account initial ticket number setting
    - bug #87: foreign currencies were aligned incorrectly in pdf
    - bug #126: don't show search button if package doesn't allow domain registration
    - bug #104: couldn't use backslashes on templates
    - bug #29: was asking if use plugin when deleting non-domain packages
    - bug #103: wasn't invoquing server delete event when deleting packages through user deletion
    - bug #121: tickets for cancelled customers weren't shown. Now they are shown grayed out.
    - bug #91: not active users that send e-mail support messages create an unreadable support ticket because only tickets for active users are shown in the support module. Solution: if the sending user is not active, reject e-mail.
    - bug: first ticket number was being confused with first invoice number
    - bug: recurring domain registration charges weren't shown on the recurring overview section
    - bug: when prorating to a sufficiently close date without including the following payment, if the 'Send Invoice Offset' was small enough, the customer would get billed the following payment anyway.
    - bug #128: in Firefox the admin drop down menu was being covered by the quickgraphs in the dashboard.
    - bug: for new CE installations (not upgrades), some database fields for the file module where not being created, thus inducing a fatal error.
    - bug: after selecting a customer with a different language, the system switched to that language.
    - bug: fixed javascript error in edit package screen.
    - bug  #165: if all servers were deleted a fatal error was shown.
    - bug #148: wasn't sending invoices when customer is not forwarded to the payment gateway.
    - bug: after a user edited its CC number it wouldn't be listed in the dashboard table for CCs needing validation.
    - bug: the inactive users indicator on the client stats (right panel) was incorrect.
    - bug: in the upcoming transactions report the sort by date option was giving nothing
    - bug: Upcoming Transactions report was producing an error when the report had no data
    - bug: fixed inclusion error with IIS.
    - bug: fixed currency symbol problem  with HTML emails on Outlook and other mail readers
    - bug: after changing templates the right panel (user search, accounts summary, etc) wasn't shown correctly
    - bug: after changing billing parameters in a user's package that was recurring, the recurring charge wasn't properly updated

2.3.1
[*]PLUGINUPDATE (2checkout update) - 2checkout updated due to recent api changes at 2checkout
[*]BUGFIX (email piping) Initial message were not being sent properly.  Thanks to Christopher LaRocque
[*]BUGFIX (update file manager) - Fixed php error that appeared when editing category in a level 1 or deeper
[*]BUGFIX (update file manager) - Fixed a minor bug - when adding/editing files category name displayed always 'root'
[*]BUGFIX (update file manager) - Fixed IE bug in permissions selectboxes - only one option was saved (clienttypes, users, servers) instead of multiple if added.
[*]UPDATE (update file manager) - New feature: in permissions multiple options can be selected (ctrl + mouse click) when adding/removing.
[*]BUGFIX (update file manager) - Fixed IE display bug in admin-overview, there was a 1px empty space between leafs.
[*]UPDATE (update file manager) - Permissions in right selectboxes are sorted by name now.
[*]REPORT UPDATE (trouble ticket reports)
[*]REPORT UPDATE (annual_income)
[*]REPORT UPDATE (customer_domains)
[*]NEW REPORT (unpaid_invoices)
[*]UPDATE (client profile) - When customer logs on he/she will not have to toggle the billing section to see how to change credit card
[*]UPDATE (client profile) - When creating new customer the yes/no options default to yes instead of no
[*]BUGFIX (signup) - Disable the "Transfer Domain Name To You" option when the domain name is not registered?

2.3
[*][b]UPDATE[/b] (file removal) - Removed some image files that were not being used
[*][b]UPDATE[/b] (plugin removal) - Due to issues with cdgcommerce updating their default gateway from itransact we are removing the cdgcommerce plugin to reduce confusion.   Customers are encouraged to have your account transferred from itransact to authorize.net before upgrading to version 2.3.  Note:  We are not stopping our support for cdgcommerce, but there was a lot of confusion with customers thinking that cdgcommerce and authorize.net were equivelent.  authorize.net will be the only plugin we officially support from cdgcommerce.  Please contact alberto[at]clientexec.com if you are concerned about this recent change.
[*][b]UPDATE[/b] (directadmin) For package name, the plugin will use the server plugin variable name in the package section and if their isn't a package chosen then it will use the package's own name.
[*][b]BUGFIX[/b] (clientinfo|package) When adding domain without domain options IE was getting a javascript object required error
[*][b]NEW SETTING[/b] (general|customer list) View Customer DropDown setting allows you to remove the customer drop down for better performance
[*][b]BUGFIX[/b] (authorize.net plugin) transactions were getting entered on signups that declined even though customer did not exist
[*][b]BUGFIX[/b] (signup | tld ) .co.uk and other two part tlds were not getting added properly on signup
[*][b]BUGFIX[/b] (global search) organization wuas searching of off email field instead of organization field
[*][b]BUGFIX[/b] (signup | taxes) taxes where not being applied properly if state field was not included

2.2.6
[*] [b]BUGFIX[/b] (signup|selfmanage) When you pick self manage for domain registration and you then change
billing cycle to annual from monthly.   It will not keep the old registration
type and default to register.
[*] [b]BUGFIX[/b] (signup|domainextension) When registering extensions with two parts such as org.uk the domain
regitration would reject it as not known.
[*] [b]BUGFIX[/b] (signup|unsuported extension) When a customer signs up with a domain name with unsupported extensions, the domain name is not shown on the new sign alert sent in email.
[*] [b]BUGFIX[/b] (packagetype|welcome email) If choosing to use default welcome email error was producing alert popup.  Welcome email is not required.
[*] [b]ADDITION[/b] (signup|transfer cost) Transfer cost is not being added into the total on the Account Information page.
[*] [b]BUGFIX[/b] (billing|invoice) descriptions for new domain package was showing domain id instead of domain name in the description.
[*] [b]BUGFIX[/b] (template) Updated template to allow for more customizable submenus and increase performance
[*] [b]UPDATE[/b] (files| gui) visible to everyone changed to checkbox
[*] [b]ADDITION[/b] (files| gui) added button to show/hide permissions when adding/editing files/folders, if permissions boxes are empty they are hided automatically
[*] [b]ADDITION[/b] (files| security test) testing permissions for uploads/files/ in admin-overview.
[*] [b]ADDITION[/b] (files|downloadcount) downloads are counted, keeping ip of the last downloader to prevent faking statistics, displaying downloads in admin-overview.
[*] [b]FILE RENAME[/b] (files module) selectbox-exchange.tpl renamed to permissions.tpl
[*] [b]LANGUAGE UPDATE[/b] (files module) files glossaries updated
various other fixes

2.2.5

[*] [b]BUGFIX[/b] (package billing cycle) changing billing cycle from client package screen was not forcing the recurring transaction to update it's cycle.
[*] [b]BUGFIX[/b] (signup quotes) - During a new signup, if new customer used quotes when entering values in custom fields, some characters would be lost.
[*] [b]UPDATE[/b] (directadmin plugin) - signups now default the first 8 characters of domain as username
[*] [b]NEW ADDITION[/b] Added global search, allowing admins to search in based on status, or a number of profile, ticket or billing values
[*] [b]UPDATE[/b] Clicking on support ticket will set the custeomer as the active customer
[*] [b]NEW MODULE[/b] File module released (take it easy on this one.  It is initial beta)
[*] [b]ADDITION[/b] Add Filter for status when viewing all customers
[*] [b]ADDITION[/b] (packages - subdomain) allow admin to specify if a specific package only accepts domains for a subdomain for a specific domain
[*] [b]ADDITION[/b] (packages - register types) allow admin to select which registration types to allow when registering domain
[*] [b]ADDITION[/b] (package default welcome emails) - Added ability for each package to use the default welcome email of the package group or (type)
    Note: The default welcome email will be used for all packages unless you set it not to
[*] [b]UPDATE[/b] (user list) - Added column status to support showing all customers
[*] [b]UPDATE[/b] (user list) - Removed column organization and added organization text under username if exists
[*] [b]UPDATE[/b] (customer profile) - All status levels now use the same profile module.  Selecting a user no matter their status will allow admins to view billing information.
[*] [b]UPDATE[/b] (customer profile) - Allowed to validate and view credit cards of pending customers before activating(approving) them
[*] [b]BUGFIX[/b] (search) - When search for non active customers, result was not sending you straight to profile if there was a direct match.
[*] [b]BUGFIX[/b] (home-dashboard) - When clicking on view profile from ticet of a pending customer you get validated information in profile
[*] [b]BUGFIX[/b] (support) Remove "Assign To" drop down in support section for closed tickets
[*] [b]UPDATE[/b] (home-dashboard) - Provide link to invoice of pending customers in outstanding invoices dash
[*] [b]UPDATE[/b] (package groups) - Changed field label from "Name in signup" To "Friendly Name" to avoid confusion.
[*] [b]UPDATE[/b] (userlist) - Add All User List
[*] [b]UPDATE[/b] (paypal plugin) - Passing no shipping paramater (no_shipping)
[*] [b]LANGUAGE[/b] (modules admin) - Added definition for _ADMIN_FRIENDLY_NAME;
[*] [b]UPDATE[/b] (permissions) - After many emails asking that I please update permissions we have made the following adjustments:
    Support Manager has full access to client profile information.
    Billing Manager has full access to client profile information.
[*] [b]UPDATE - BUGFIX[/b] (signup prorate) - All charges that are created on signup are now grouped in the same invoice.  When signup created charges that were due on different dates they would create seperate invoices, since invoices are grouped by due date.  This would result in some charges not getting paid on signup.
[*] [b]BUGFIX[/b] (package custom fields) - Some fields were getting erased when server information would get updated.
[*] [b]BUGFIX[/b] (signup) - disabled enter key from textboxes accidentlye submitting forms to default action (sometimes back)
[*] [b]ADDITION[/b] (domain whois class) - Added support for .tk
[*] [b]ADDITION[/b] (domain whois class) - .fi now uses official whois server
[*] [b]ADDITION[/b] (domain whois class) - Added support for gr domains using registrar system at papaki.com
[*] [b]BUGFIX[/b] (invoice entry date) - date format was not being used when prorating
[*] [b]UPDATE[/b] (reports module) - Organized by type of report
    NOTE: Any custom reports will need to get modified.  Report names will need to match this format [reportname]-[reportgroup]
[*] [b]ADDITION[/b] (new report) - Added monthly invoices generated
[*] [b]ADDITION[/b] (new report) - Added trouble tickets opened
[*] [b]ADDITION[/b] all users list is visable at the same time and can be filtered on the list page.
    NOTE: Under clientinfo you will only see all users from now on.  You can still get to the specific list using the client stats

2.2.4
[*] [b]BUGFIX[/b] (support) _HOME_ASSIGN_TO showing in support home instead of the translation
[*] [b]UPDATE[/b] (email piping) Create support tickets from email address - Check forum for details
[*] [b]BUGFIX[/b] (signup) - clientexec was not adding the domain registration as a recurring transaction on signup
[*] [b]UPDATE[/b] (dashboard|invoices) Setting that allows admin to specify what invoices to show from the home page.  Outstanding or all
[*] [b]UPDATE[/b] (TLD pricing) Added ability for one time payment for domain registration.  Recurring charge is not created
[*] [b]UPDATE[/b] (TLD pricing) Allow setup of base year to any year and removed requirement of needing to have 1 year option
[*] [b]UPDATE[/b] (customer search) Added ability to search for customer by ticket #
[*] [b]UPDATE[/b] (customer search) Added ability to search for customer by Invoice #
[*] [b]UPDATE[/b] (customer search) Added ability to search for customer by last four of credit card on file
[*] [b]BUGFIX[/b] (welcome email) Didn't allow some links and quotes.
[*] [b]BUGFIX[/b] (home|system messages) All customers included deleted where getting system messages.  Have altered to make sure only active users get this
[*] [b]UPDATE[/b] (clientinfo|pending) Allow to switch a pending customer to Fraud from signup
[*] [b]UPDATE[/b] (signup) - allowing admin to only pass the packageid as signup.php?package=12 instead of clienttype and package. [b]NOTE:[/b] ClientExec will not include the clienttype any longer when showing package direct link URLs.
[*] [b]BUGFIX[/b] (signup) - when entering just clienttype the signup would not show properly
[*] [b]UPDATE[/b] (settings->signup) - Rejection template for new signups.  This text will be used if plugin returns a reject code.  This is not used in dashboard when a customer is rejected.  That will be rejected email at a later date
[*] [b]BUGFIX[/b] (database tool) - Was crashing on anything other than a SELECT
[*] [b]BUGFIX[/b] (support) - Fixed error message when customer would try to reply to a ticket that had yet been assigned
[*] [b]BUGFIX[/b] (internetsecure) - updated hardcoded return url
[*] [b]BUGFIX[/b] (billing) - when updating an invoice entry that is not already in an invoice we were getting an error
[*] [b]UPDATE[/b] (signup domain reg) - when selecting a domain and it is not available it is now using the error style (red by default)
[*] [b]SPELLING CORRECTIONS[/b] (sitewide) Thanks Susan Barton for going that extra mile for us!

2.2.3 - Beta Bug Fixes
- UPDATED(reports) - quick graphs on home page now are gray for previous year same month and orange for current year
- ADDED(signup) - Pro rate your sales. Settings available in admin->settings->signup
- UPDATE(login) - If trying to login with a cancelled,fraud, or inactive status account let customer know
- BUGFIX(pending|profile info) - When activating a customer without clicking the send welcome email an error would appear
- BUGFIX(signup) - Package custom fields on signup not in proper location
- BUGFIX(signup) - Tax calculations are only being done after country is changed
- BUGFIX(signup) Merchant Account rejections were not showing properly in the signup and messing up layout.
- BUGFIX(signup|merchantaccount) Modified signup so that merchant accounts on approval would show success and not failure
- BUGFIX(2checkout plugin) Was not quiting after header call to forward user to 2checkout website.
- BUGFIX(clientinfo-pending) When updating a customer that is pending without activating you get a class error
- BR-UPDATE(clientinfo-pending) - Updated business rule on activation. If customer is pending only allow to activate.
- LANAGUAGEUPDATE - updated deleting domains to deleting packages
- BUGFIX(dashboard - pendingusers) - activating pending user was causing not working properly.
- BR-UPDATE(settings-signup) - removed 'Offer Domain Services' from the settings->signup since it is now being done in the package type options

2.2.2 Beta
- LANGUAGEADDITON - _CANCELLED to root language file
- LANGUAGEADDITON - _FRAUD to root language file
- LANGUAGEADDITON - _INACTIVE to root language file
- UPDATE(dashboard|customers needing validation) - Only show customers needing validation if customer is active or pending
- UPDATE(dashboard|outstanding invoices) - Only show outstanding invoices for active and pending customers
- UPDATE(dashboard|uninvoiced work) - Only show work items for active and pending customers
- UPDATE(dashboard|open tickets) - Only show tickets for active and pending customers
- UPDATE(invoice generation engine) - Invoices are only created for active customer
- UPDATE(upcoming transactions report) - Only shows for active customers
- UPDATE(billing cycle income report) - Only shows for active customers
- UPDATE(monthly income report) - Only shows for active customers
- BUGFIX(customfields) - When adding custom fields for packages sometimes it would add in the incorrect order
- ENHANCEMENT(customfield|signup) - Added ability to include package custom fields into the signup
- UPDATE(admin:package:welcomeemail) - Changed [CUSTOM_xxx] as the method for showing custom fields in the welcome email.
  You now have [CUTOMPROFILE_xxxx] and [CUSTOMPACKAGE_xxx].  Note:  the upgrade takes care of any welcome emails that might have been using the older method
- NEW ADDITION(stickynote) - Sticky note will now remember last position as well as last width and size
- NEW ADDITION(stickynote) - Sticky note is now draggable.
- NEW ADDITION(admin:server) - Added ability to add more than one ip at a time to server.  Just add a , between each server ip
- NEW ADDITION(home) - Added ability to toggle the current values in the quick graph
- NEW ADDITION(home) - Quick graph of new customers and new support tickets now compares to last year at the same time.  The current year is color coded green if increased and red if decreased.  Current month is in orange.  Previous year value in gray
- NEW FEATURES(home) - Added Toggle All feature to the outstanding invoice snapshop in home dashboard
- BUGFIX(quickgraph) - Fixed bug that showed duplicate months on graph on last day of the month
- PLUGIN UPDATE (paypal) - add transaction entries in callback.php
- NEW SECTION - TLD extensions in admin->tld extensions allows admin to enter extensions to be supported and prices per period
- UPDATE (customer list) - If search of customer results in one match then admin is sent directly to customer profile
- UPDATE (signup) credit card validation on american express needed updating
- UPDATE SERVER PLUGIN - updated cpanel server plugin to add user email when creating account on whm
- NEW FATURE(stickynote) - Added new sticky note feature.  Users can quickly keep notes across their sessions.  Just click on the sticky note near the top right on the default template.  This will pop up your sticky note.  Just type your note and upon closing it will be saved.
- NEW SERVER PLUGIN (hostadmin) New plugin added for the hostadmin control panel
- UPDATE (signup) updating signup script to better display tax and subtotal styles
- BUGFIX (clientinfo|domain profile) When non super admin users where Clicking on "View Domains" it would result in javascript error: 'strSelectedPlugin is undefined'
- UPDATE (homepage) Updated the snapshot of outstanding invoices to only include late invoices.
          NOTE: To view upcoming invoices you can always view the more detailed report Upcomming Transactions
- NEW ADDITION (MAXMIND Fraud Signup Integration) MaxMind addition to help reduce fraud signups.  http://www.maxmind.com/app/ccv_buynow?rId=clientexec
  NOTE: You can get up to 10,000 free queries if you mention that you are using with ClientExec and you are an existing ecommerce solution.
- NEW ADDITION (admin->settings->fraud) Settings for MaxMind and soon to be released FraudGate for further fraud control
- UPDATE (new customer email) Updated the look of the new customer email to also include fraud information if you are using one of the fraud systems (maxmind and fraudgate soon)
- LANGUAGE UPDATE (admin) Added definition for _ADMIN_SETTINGMENU_FRAUD
- LANGUAGE UPDATE (admin) Added definition for _ADMIN_SETTINGMENU_SIGNUP
- UPDATE (report) monthly income report only shows non zero packages
- BUGFIX (support) When adding a new support ticket the email sent to support staff stated ticket was updated not new ticket
- UPDATE (signup) Added package description to the signup form
- UPDATE (support) When assigning tickets to support tech an email is sent letting them know that of the details
- UPDATE (billing|invoice) New invoices do not generate with gaps.  New invoice IDs finds the highest invoice number and then adds one for the next invoice.
         If there are no invoices then the setting 'Invoice Start Number' is used.
- BUGFIX (billing:recurring overview) Was incorrectly showing recurring charges as applying to a domain when they didn't
- BUGFIX (customfields) Custom field name text field needed to get capped at 25 chars
- UPDATE (serverplugin) Server plugin needed to pass email address of the user whos account was getting created
- UPDATE (charset) Added charset windows-1251
- LANGUAGE UPDATE(reports) New definition _REPORT_NEWPACKAGES
- LANGUAGE UPDATE(reports) New definition _REPORT_NEWTICKETS
- UPDATE(clientinfo) pending user can not update their profile while in pending mode
- BUGFIX(clientinfo) admin user could not update the password of a pending user
- BUGFIX(navigation menu) billing and support staff members were incorrectly able to see the entire clientinfo menu in certain situations.
- BUGFIX(phpmailer) Updated mail class which had a fix due to charset not being set correctly (some symbols were coming out bad)
- REPORT UPDATE(signup percentage) Thanks to David Recordon for the changes
- BUGFIX(signup) - Javascript error would popup for packages that were not taxable
- NEW ADDITION(home) - Added ability to assign trouble tickets from the home page
- PAYMENT PLUGIN UPDATE(authnet) - Updated plugin to print out the response code on errors.
- TEMPLATE UPDATE(style) - added classes .ticketadmin,.tickettech,.ticketuser this would help identify the individual on long support threads.
- BUGFIX(ADMIN) - New administrators were showing up in the pending users list
- FUNCTIONALITY CHANGE(SUPPORT) - tech support group now only has access to the tickets assigned to them by support manager or unassigned tickets.
- NEW ADDITION(SUPPORT) - Added new admin type support manager - support manager will be able to assign tickets to support techs.
  This will help manage tech support better as it was a bit confusing when you had more then 3 people assisting.  If you want the same functionality you had before
  Just switch any of the old tech support members to support manager.
- BUGFIX(2CHECKOUT) - Fixed bug with parameter error with 2checkout plugin on callback
- NEW ADDITION - Added CharSet option GB2312
- BUGFIX - Removed double authorize.net new signup emails
- NEW ADDITION - Added UTF-8 as a possible charset from admin->settings
- LANGUAGE UPDATE(support) Added language changes to the support glossary files
- LANGUAGE UPDATE(billing) extracted 'total' in billing module from the main language file in root dir
- LANGUAGE UPDATE(signup|pdfinvoice|billing) extracted 'Tax' in billing module from the main language file in root dir
- LANGUAGE UPDATE(pdfinvoice) extracted 'Total Due' to main language file in root dir _TOTALDUE
- LANGUAGE UPDATE(pdfinvoice) extracted 'Invoice Items' to main language file in root dir _INVOICEITEMS
- LANGUAGE UPDATE(pdfinvoice) extracted 'Price' to main language file in root dir _PRICE
- LANGUAGE UPDATE(menu|billing) extracted 'view uninvoiced work' to main language files in billing module _BILLING_VIEWUNINVOICEDWORK
- LANGUAGE UPDATE(menu|billing) extracted 'viewing uninvoiced work' to main language files in billing module _BILLING_VIEWINGUNINVOICEDWORK
- LANGUAGE UPDATE(menu|billing) extracted 'creating invoice entry' to main language files in billing module _BILLING_CREATINGINVOICEENTRY
- LANGUAGE UPDATE(menu|billing) extracted 'create invoice entry' to main language files in billing module _BILLING_CREATEINVOICEENTRY
- LANGUAGE UPDATE(menu|billing) extracted 'viewing archived invoices' to main language files in billing module _BILLING_VIEWINGARCHIVEDINVOICES
- LANGUAGE UPDATE(menu|billing) extracted 'view archived invoices' to main language files in billing module _BILLING_VIEWARCHIVEDINVOICES
- LANGUAGE UPDATE(menu|billing) extracted 'viewing active invoices' to main language files in billing module _BILLING_VIEWINGACTIVEINVOICES
- LANGUAGE UPDATE(menu|billing) extracted 'view active invoices' to main language files in billing module _BILLING_VIEWACTIVEINVOICES
- LANGUAGE UPDATE(menu) extracted 'create invoice' to main language files in root _CREATEINVOICE
- LANGUAGE UPDATE(menu) extracted 'uninvoiced work' to main language files in root _UNINVOICEDWORK
- LANGUAGE UPDATE(menu) extracted 'active invoices' to main language files in root _ACTIVEINVOICES
- LANGUAGE UPDATE(menu|admin) extracted 'overview' to main language file in admin->curreny _GENERAL_OVERVIEW
- LANGUAGE UPDATE(menu|admin) extracted 'currency' to main language file  in admin->curreny _CURRENCY
- LANGUAGE UPDATE(menu|admin) added to language file 'TLD Setup' to main language file in admin->tld setup _TLDSETUP
- LANGUAGE UPDATE(menu|admin) extracted words to root language file for tax module
- LANGUAGE UPDATE(admin|tld) added language term to modules/admin  _ADMIN_ADDNEWTLD
- LANGUAGE UPDATE(admin|tld) added language term to modules/admin  _ADMIN_TLDDESCRIPTION
- LANGUAGE UPDATE(global) added language term to main language files  _WELCOMETO


2.1
- NEW ADDITION (PAYMENT PLUGIN) - CDGCommerce Plugin added.  Contact http://www.cdgcommerce.com/promo2004 for great merchant accounts to use within CE
- BUGFIX (SIGNUP) - Tax function was producing errors if custom field state or country is not in signup.php
- CPANEL PLUGIN UPDATE - Allow username to be entered if valid without basing it off domain
- UPDATE LICENSE CHECK - License check does not require fopen to work with external urls any longer
- NEW ADDITON (BILLING) - Mail PDF Invoice as attachment.  Setting in admin->settings->invoicing
- BUGFIX (CLIENTINFO:DOMAIN) - when customers would update their password recurring would get turned off for that domain
- UPDATE (PLUGIN:2CHECKOUT) - Changed all references of $_POST to $_REQUEST
- UPDATE (REPORTS) - Reports now work with GD version 1.x
- BUGFIX (CLIENTINFO:DOMAIN) Javascript error with domains fixed
- TEMPLATE UPDATE - informationadminwindow.tpl updated /b.gif to templates/{TEMPLATE}/images/blank.gif
- BUGFIX (CLIENTINFO) - Customers receiving javascript error when viewing domain information
- BUGFIX (SERVERPLUGIN) - When updating the server plugin the custom fields on a domain get replaced with the shared ip for that server
- NEW ADDITION (SUPPORT) - If an active customer is selected the dropdown in the support menu will include any open tickets for that customer
- NEW ADDITION (DIRECTORY) - Addition of log directory off of install directory where error log will be placed
- NEW ADDITION (HOME) - demo mode will prevent disabling snapshots from dashboard
- UPGRADE (WHOIS) - upgraded cwhois class which adds functionality to additional tlds

2.0 Final
WHEN UPGRADING FROM BETA 2.0 RUN THIS SQL - if fresh install, upgrading from 1.1.1 or earlier then do not perform these steps
ALTER TABLE `users` CHANGE `status` `status` TINYINT( 4 ) DEFAULT '0' NOT NULL
ALTER TABLE `serverplugin_options` CHANGE `value` `value` LONGTEXT NOT NULL;
ALTER TABLE `domains` CHANGE `shared` `shared` TINYINT( 4 ) DEFAULT '1' NOT NULL;

- BUGFIX (ACTIVEUSERLIST) - Removed checkbox "send email after action"
- BUGFIX (ACTIVEUSERLIST) - Removed button "Activate Account(s)"
- BUGFIX (SERVERPLUGIN:CPANEL) - Updated cpanel plugin variable usessl now comes from the server module screen instead of having to open the plugin page.
- BUGFIX (SERVER) - Deleting server was popping up alert box with plugin name.
- BUGFIX (SERVERPLUGIN) - Default values for server plugins were not being used
- BUGFIX (SERVER) - Initial entry into server plugin when adding server was not saving the values.
- BUGFIX (CLIENTINFO) - Add domain was not appearing in submenu
- BUGFIX (BILLING) - Customers are able to create invoices for themselves.
- BUGFIX (SIGNUP) - When mousing over extra domain information customers where getting javascript errors due to overlib missing
- BUGFIX (SEARCH) - Some searches on profile were resulting in a class error.
- BUGFIX (CUSTOMFIELDS) - Drop down custom fields was not properly getting the selected value.  signup.php was updated as well as profile and domain modules.
- BUGFIX (SERVERPLUGIN) - Some fresh installs where still having a problem with hash value not storing completely.  Updated default db.
- UPDATE (SERVERPLUGIN) - Server plugins will allow the ability to override username name lengths.  cpanel will come prebuilt to support 8 char usernames and actually check the cpanel server to ensure that it is not being used.

2.0 beta
WHEN UPGRADING FROM BETA 1.2 MAKE SURE THE CUSTOM FIELDS NAMES ARE PUT BACK TO THE ORIGINAL NAMES
Organization
Email
Last Name
First Name

- ADDITION (CLIENTINFO) - Created active users list so that you can view all your current customers.
- BUGFIX (PDFINVOICE) - If tax is charged show in pdf invoice
- UPDATE (CLIENTINFO) Remove the restrictions of adding the same alternative emails to different customers
- UPDATE (AUTHENTICATION) Remove the ability to login via alternate emails
- BUGFIX (SIGNUP:WORLDPAY:PLUGIN) - jsrsServer.php passes header information that broke worldpay, non md5, on call back.  Updated worldpay plugin to use form post instead of php header
- BUGFIX (BILLING:Search) - fixed issue with the following scenario: search invoices then select and search invoice will still show the initial invoice details
- UPDATE (HOME: DASHBOARD) - Add msgbox to ask if receipt should be sent when marking invoice paid
- UPDATE (BILLING) - Add msgbox to ask if receipt should be sent when marking invoice paid
- UPDATE (CLIENTINFO) Added checkbox with option to send welcome email from pending customer profile
- UPDATE (TEMPLATE) - Added {ACTIVEPROFILE} tag to index.tpl
- UPDATE (GLOBAL) - Added the current active profile ( customer ) to lessen confusion as to whom you are doing actions on
- UPDATE (BILLING: DROPDOWNMENU) - Added view archived invoices in drop down menu
- UPDATE (BILLING: DROPDOWNMENU) - Added create invoice entry in drop down menu
- UPDATE (BILLING: DROPDOWNMENU) - Added view uninvoiced entries in drop down menu
- UPDATE (BILLING: DROPDOWNMENU) - Added view recurring overview in drop down menu
- UPDATE (CLIENTINFO) - Allow the ability to update pending customers
- UPDATE (CLIENTINFO) - When manually adding a customer you can create them as a pending customer
- UPDATE (ADMIN) - removed setting "IM Online Status" from admin->settings->general
- TEMPLATE UPDATE (STYLE) - Added advertising class was added so that the text for banner advertising setting would not be black on the black background
- BUG FIX - PLUGIN 2CHECKOUT callback was not properly getting variables.
- LANGUAGE DELETION - Deleted _CREATEINVOICEENTRY from the root language file
- LANGUAGE DELETION - Deleted _UPDATEINVOICEENTRY from the root language file
- LANGUAGE DELETION - Deleted _ADDNEWPACKAGE from the root language file
- LANGUAGE DELETION - Deleted _UPDATECLIENTTYPE from the root language file
- LANGUAGE DELETION - Deleted _DELETECLIENTTYPE from the root language file
- LANGUAGE ADDITION - Added _CLIENTS_SIGNUPDATE to the clients language file
- LANGUAGE ADDITION - Added _ADMIN_CREATEINVOICEENTRY to the billing language file
- LANGUAGE ADDITION - Added _ADMIN_UPDATEINVOICEENTRY to the billing language file
- LANGUAGE ADDITION - Added _ADMIN_ADDNEWPACKAGE to the admin language file
- LANGUAGE ADDITION - Added _ADMIN_UPDATECLIENTTYPE to the admin language file
- LANGUAGE ADDITION - Added _ADMIN_DELETECLIENTTYPE to the admin language file
- LANGUAGE ADDITION - Added _STATUS to the root language files
- TEMPLATE UPDATE Fixed Menus so they would not stay active if you moved mouse rapidly over them
- TEMPLATE UPDATE Fixed Home active button to cover up to the left divider
- BUGFIX (ADMIN) Callback URL did not show properly on the initial load of types and packages
- BUGFIX (BILLING) Updating the next invoice date was not resetting the recurring fee due date
- BUGFIX (TEMPLATE) Initial Fresh installs were see anomilies in the template that were fixed once a client was added.  Cleaned up template cache

1.2.d
- UPDATE (TEMPLATE) Overall Raleigh has been updated. Still not 100% as we still try to improve performance
- CHANGED (BILLING) Pop up recurring status screen was showing firstname, lastname instead of lastname, first name
- CHANGED (CURRENCY) SwissFranc is marked with SwF to CHF
- BUGFIX (ADMIN) Package prices for packages that have been included but still show grey in the packages overview page
- ADDED (REPORTS) Added fuse to the options redirect link to better support custom reports linking to itself
- BUGFIX (ADMIN-SERVER) When server's shared IP was updated it was not updating the domains that have shared ip selected in the domain profile.
- ADDED (ADMIN) Currency tool which allows admin to select default currency as well as create and delete custom currencies
- BUGFIX (ADMIN) Custom field Last Name is now able to get name changed for translation purposes.  Only one field of this type is permitted
- BUGFIX (ADMIN) Custom field First Name is now able to get name changed for translation purposes.  Only one field of this type is permitted
- BUGFIX (ADMIN) Custom field Email is now able to get name changed for translation purposes.  Only one field of this type is permitted
- BUGFIX (ADMIN) Custom field Organization is now able to get name changed for translation purposes.  Only one field of this type is permitted
- BUGFIX (BILLING) Taxes with 0% where still showing.  Hiding tax lines and total from 0% and no tax invoices
- UPDATE (CLIENT PROFILE) - Moved currency to billing section of profile
- BUGFIX (HOME) - Payment Type was not proper width in snapshots
- BUGFIX (HOME) - CE was not checking admin group permissions on dashboard.  Tech Support now only sees outstanding trouble tickets
- BUGFIX (ADMIN) - Deleting currency entry that was for all states was not properly deleting currency
- BUGFIX (BILLING) - Invoices were not calculating taxes correctly when tax total needed to round on a 5 (i.e. Sub-Total $3.00, Tax 17.5% $0.53 (.525), Total $3.52)
- BUGFIX (SIGNUP) - Taxes were not being correctly calculated rounding on a 5 (i.e. Sub-Total 3.00, Tax 17.5% 0.52, Total 3.53)
- BUGFIX (BILLING) - Columns not lining up properly for customers viewing invoice descriptions
- TEMPLATE UPDATE - Updated ALL buttons to load from css definitions
- TEMPLATE UPDATE - New location for summary and who's online
- LANGUAGE ADDITION - Added _APPROVE to the root language files
- LANGUAGE ADDITION - Added _REJECT to the root language files
- LANGUAGE ADDITION - Added _SUBMIT to the root language files
- LANGUAGE ADDITION - Added _CLIENTS_ACTIVATE_USER to the client's module language files
- LANGUAGE ADDITION - Added _SENDEMAIL to the client's module language files
- LANGUAGE ADDITION - Added _SENDWELCOMEEMAILBUTTON to the client's module language files
- LANGUAGE ADDITION - Added _BILLING_CREATEINVOICE to the billing's module language files
- LANGUAGE ADDITION - Added _BILLING_DELETEINVOICEENTRY to the billing's module language files
- LANGUAGE ADDITION - Added _BILLING_DELETEINVOICE to the billing's module language files
- LANGUAGE ADDITION - Added _BILLING_MARKINVOICEPAID to the billing's module language files
- LANGUAGE ADDITION - Added _BILLING_MARKINVOICEUNPAID to the billing's module language files
- LANGUAGE ADDITION - Added _BILLING_RESENDINVOICE to the billing's module language files
- LANGUAGE ADDITION - Added _BILLING_SENDINVOICE to the billing's module language files
- LANGUAGE ADDITION - Added _BILLING_ARCHIVEINVOICE to the billing's module language files
- LANGUAGE ADDITION - Added _BILLING_UNARCHIVEINVOICE to the billing's module language files
- LANGUAGE ADDITION - Added _BILLING_SENDRECEIPT to the billing's module language files
- LANGUAGE ADDITION - Added _BILLING_PAYINVOICE to the billing's module language files
- LANGUAGE ADDITION - Added _SUPPORT_SUBMITTICKET to the support's module language files
- LANGUAGE ADDITION - Added _ADMIN_ADDNEWSERVER to the admin's module language files
- LANGUAGE ADDITION - Added _ADMIN_EDITCURRENCY to the admin's module language files
- LANGUAGE ADDITION - Added _ADMIN_ADDCURRENCY to the admin's module language files
- LANGUAGE ADDITION - Added _ADMIN_ADDTAXRULE to the admin's module language files
- LANGUAGE ADDITION - Added _ADMIN_SUBMITQUERY to the admin's module language files
- LANGUAGE ADDITION - Added _ADMIN_PERFORMACTIONS to the admin's module language files
- LANGUAGE ADDITION - Added _ADMIN_SELECTCUSTOMEFIELDTYPE to the admin's module language files
- LANGUAGE ADDITION - Added _ADMIN_CUSTOMFIELDDESCRIPTION to the admin's module language files

1.2.c Beta
- ADDED (ADMIN) - Last seen show the group the admin user is in
- ADDED (ADMIN) - Viewing admins show correct group
- ADDED (LANGUAGE) - _SUPPORT_OVERVIEW added to root language dir
- ADDED (REPORT) - Module now shows warning message if user does not have GD installed on server with php.  It was only outputting a blank page before.

1.2.a Beta
- ADDED (USERPROFILE) - Added ability to make customers taxable or not
- ADDED (ADMIN) - Ability to make packages taxable
- ADDED (SIGNUP) - dynamic tax calculation without having to reload the page
- ADDED (ADMIN) - Added tax rules for Country and state combinations
- ADDED (PDFINVOICE) Added stamp for paid invoices
- ADDED (REPORT) - Customer Domain report w/graph *Developed by gummyAvenger.  2nd place in the reports competiton
- ADDED (REPORT) - Annual Income Report v1.2 w/graph *Kevin Grubbs developed the winning report for the inital report competition
- ADDED (CLIENTINFO) Added credit year drop list years upto 2015
- CHANGED: (ADMIN:MENU) Changed order of submenu - settings was moved before server due to its frequent use
- UPDATE (DOMAINS) - Ensure that when updating domains, which use 3rd party processors to generate invoices, that the user is prompted to let them know that the recurring will be restarted, meaning the next invoice will need to be paid by user via CE
- FIX: When adding a manual work entry and assigning to a domain it was not sorted alphabetically
- SECURITY FIXES: xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
- ADDED: (ADMIN) Tech Support admin group added
- ADDED: (ADMIN) Billing admin group added
- REMOVED: Backup database utility.  We are recommending for everyone to use phpmyadmin's export utility
- ADDED: (ADMIN) Added all billing cycles to the package list in the client type overview page.  Billing cycles that are not active for that package are grayed out.
- ADDED: (ADMIN) Added ability to reset the passphrase.  Warning: Customer's lose all credit card information
- LANGUAGE UPDATE(English) - Changed 'Update Passphrase' to 'Passphrase Management' in the admin module glossary
- LANGUAGE UPDATE(All) - Moved _PRICEEXPLANATION from general language dir to the admin module's language files.  Also renamed to _ADMIN_PRICEEXPLANATION
- ADDED: (SIGNUP) Ability to view packages that are set as not visable on signup if it is passed via url package argument (direct link)
- TEMPLATECHANGE: Added <divs> for all the dropdown lists available for each module
- TEMPLATECHANGE: Added JS script to header for loading and positioning the dropdown lists
- TEMPLATECHANGE: Updates all files in menus folder and changed the ancher tags from href="{URLTAG}" to {URLTAG}
- TEMPLATECHANGE: Added .menu .options to style sheet
- TEMPLATECHANGE: Added .menu a to style sheet
- TEMPLATECHANGE: Added .menu a:hover to style sheet
- ADDED: (ADMIN:SERVER:PLUGIN) Added support for event Update
- ADDED: (HOME) Added payment processor to outstanding invoices overview in dashboard
- ADDED: (ADMIN) New dropdown option available for custom fields
- ADDED: (ADMIN) New textarea option available for custom fields
- ADDED: (ADMIN) New server plugin support
- ADDED: (ADMIN) Package support for custom server plugin variables. For example the ability to name each package the names they are called in your cpanel control panel
- ADDED: (ADMIN:SERVER:PLUGIN) Added support for event Create
- ADDED: (ADMIN:SERVER:PLUGIN) Added support for event Delete
- ADDED: (ADMIN) Server plugin for cpanel developed by Greg Martin, a great community member
- ADDED: (ADMIN) Seperated package page from the clienttype page to help clean up the look and reduce confusion
- PLUGIN UPDATE: (PLUGIN) Added ability for forwarduser in the callback scripts to do so with post forward and not php header() so that it would not matter how the processor called the callback.
- PLUGIN UPDATE: (PLUGIN) 2checkout plugin was updated so that users are forwarded to thank you page after payment not login page - by Greg Martin cclhosting
- PLUGIN UPDATE: (PLUGIN) 2checkout plugin was updated to check that payment wasn't made using demo status - by Greg Martin cclhosting
- PLUGIN UPDATE: (PLUGIN) 2checkout plugin was updated so that transaction information is added for each accepted or rejected payment including the 2checkout id for validation checks - by Greg Martin cclhosting
- BUGFIX: (SUPPORT) Sorting closed tickets with the header filters will send back to open tickets
- BUGFIX: (SUPPORT) Sending double emails on ticket updates when the admin assigned to the ticket and support email are the same
- BUGFIX: (CLIENTINFO) Domain links were going to http:///domainname
- BUGFIX: (BILLING) Invoice Entry billing cycle was not being maintained with recurring fee entries when manually created.
- BUGFIX: (MAIN) Confirmation on change password would fail if users email in profile had a trailing space
- BUGFIX: (MAIN) Signup would not allow passwords with ' and would reveal sql error - Thanks Daniel Hay
- BUGFIX: (HOME) New signups graph on dashboard was showing the number of signups in that month of every year not for the current year

1.1.1
- ENHANCEMENT: Allow users to add to their tickets without it being assigned.
  Ticket must still be assigned to an admin before admin replies to ticket for accountability reasons
- LANGUAGE UPDATE: Added _SUPPORT_TICKETHASBEENUPDATED to the support language files
- SECURITY UPDATE: Fixed invoices so that users can not view invoices that do not belong to them
- SECURITY UPDATE: Fixed domain lookup code to restrict users from viewing domains that do not belong to them
- NOTICE: All licenses start date are effective immediately

1.1
- REPORTS PLUGIN: With demo report billing_cycle_income_report.php located in plugins/reports
  Report Plugins need to end with _report.php and all spaces replaced with underscores ( i.e. _ )
- SECURITY UPDATE: Trouble Tickets can not be seen if the customer is not the owner
- ADDED: New invoice setting "Invoice Receipt Subject"
- ADDED: Chartype windows-1256 for arabic
- CURRENCY UPDATE: Saudi Riyal should be SR not SRls
- ENHANCEMENT: Updated all plugins with the following required variable "Invoice After Signup"
  NOTE: this variable will be used for dummy plugins ( offline credit card, money order etc )
- BUGFIX: Fixed bug that displayed error when deleting pending customers that you had previously viewed during your last session
- PLUGIN ENHANCEMENT: Updated all plugins with the following required variable "30 Day Billing"
  NOTE: this variable will allow each plugin to differentiate between 30 day billing and monthly billing
- PLUGIN ENHANCEMENT: Added $params['invoiceBillingCycle']
- PLUGIN ENHANCEMENT: Added $params['invoiceSetup']
- Domain lookup class added to fix issues during signup
- dspPDFInvoice.php file provided without encryption for customization opportunities
- PLUGIN ENHANCEMENT: Support for recurring capabilities of paysystems

1.098 Patch 1
- Update to modules/clients/index.php

1.098
- ENHANCEMENT: Added recurring cycle to the recurring overview for a customer
- ENHANCEMENT: Added next invoice date to the recurring overview for a customer
- BUGFIX: Fixed authorize.net issue with it not processing credit cards off of signup correctly
- BUGFIX: Fixed sortable columns on date fields
- BUGFIX: Was not parsing the tag [CLIENTEMAIL] in the receipt
- BUGFIX: Removed the hardcoded ClientExec listed at the bottom of all new trouble ticket announcemnets
- BUGFIX: Removed alert prompt after user search
- TEMPLATEMOD: Fixed coslpan to colpan on index.tpl line 14
- ENHACEMENT: Added windows-1253 as a selectable character set
- LANGUAGE ADDITION: Added _REPORTOUTSTANDINGUNINVOICEDWORK to home module language dir
- LANGUAGE ADDITION: Added _BILLING_MONTHLY to billing module language dir
- LANGUAGE ADDITION: Added _BILLING_QUARTERLY to billing module language dir
- LANGUAGE ADDITION: Added _BILLING_SEMIANNUAL to billing module language dir
- LANGUAGE ADDITION: Added _BILLING_ANNUALLY to billing module language dir

1.097
- ADDITION: Added ability to quickly jump to a customer's profile while viewing their trouble tickets
- LANGUAGE ADDITION: Added _SUPPORT_OPENEDBY to support module language dir
- ADDITION: Ability to delete servers have been added
  NOTE:  Servers that have accounts assigned to them will not be allowed to get deleted
- BUGFIX: Server module in admin was not allowing the deletion of unused ips
- BUGFIX: Windows IIS with php installations via cgi is not better handled with include path issues
- CURRENCY UPDATE: Added Swis Franc (SwF) to currency list
- CURRENCY UPDATE: Added Slovenian Tolar (SlT) to currency list
- CURRENCY UPDATE: Added Philippine Peso to currency list
- BUGFIX: Additional recurring charges for a domain were coming up with totals of 0
  NOTE: No need to update any recurring charges you might have created.  Installer will fix those
- BUGFIX: Search function was not working properly in Netscape and Mozilla browsers
- BUGFIX: Fixed server ip drop down in the domain profile when viewing for servers that have 0 additional ips available
- PLUGINUPDATE: Updated paypal plugin to forward new user to thank you page and not the home page
- PLUGINUPDATE: Updated paysystems plugin to forward new user to thank you page and not the home page
- ENHANCEMENT: Fixed gateway plugin class.  forwarduser method now accepts variable to tell it if it is coming from signup for proper forwarding
  NOTE:  This will need updating of callback scripts of the seperate processors.
- ENHANCEMENT: All email templates allow for the use of all user custom fields in the following format [CUSTOM_xxxxxx] where xxxxxx is the custom field you want to use i.e. [CUSTOM_Phone] would translate to the users phone number

1.096
- UPDATE: Include in next recurring invoice has been updated to allow admins to include billable work into a domain's next recurring invoice
- UPDATE: Recurring charges for the same customer that fall on the same day will be included in the same invoice
- UPDATE: Added the ability to have different billing cycles for each domain a customer might have
- UPDATE: Added ability for billable work entered via the create invoice entry option to have its own seperate billing cycle
- REMOVED: removed billing cycle and next invoice date from the client's profile as it is now seperate for each domain or recurring charge
- UPDATE: Update admin section style in domain info to match that of the client profile
- UPDATE: Fixed wording on signup when client is trying to signup with a domain that already exists
- Added warning message for popup windows on generate invoice ( popup blockers )
- CURRENCY UPDATE: Addition of Saudi Riyal
- CURRENCY UPDATE: Addition of Turkish Lira
- CURRENCY UPDATE: Addition of Swedish krona (pl. kronor); Symbol: Sk
- CURRENCY UPDATE: Addition of New Zealand Dollars NZ$
- CURRENCY UPDATE: &euro; instead of
- LANGUAGE ADDITION: Added _CLIENTS_RECURRING to clientinfo module language dir
- LANGUAGE UPDATE: Messsage changed to Message in Enlish glossary file
- FIXED: Paypal plugin changed to match new integration method which was changed by paypal
- FIXED: No more javascript errors when having line feeds in your billable work detail section.
- FIXED: Delete customer was not deleting all of the customer's domains custom field data
- FIXED: Changing due dates on uninvoiced work will change the due dates of all other uninvoiced work (infinityws)
- Added the ability to remove the snapshots on the dashboard you do not want displayed
- Added ability to sort fields in the dashboard instantly without having to reload the screen
- Added Setting "Show Open Support Tickets" to admin->settings->dashboard
- Added Setting "Show Customers Awaiting Approval" to admin->settings->dashboard
- Added Setting "Show Outstanding Invoices" to admin->settings->dashboard
- Added Setting "Show Credit Cards Needing Validation" to admin->settings->dashboard
- LANGUAGE ADDITION: Added _DASHBOARDSETTINGS to module admin language dir
- IMAGE ADDITION: Added image blank.png to the global image dir
- TEMPLATEMOD: Added image upsimple.png
- TEMPLATEMOD: Added image downsimple.png
- TEMPLATEMOD: Added image blank.png
- FIXED: New signups can not log in using their email only domain username - Reported in 1.095
- FIXED: Signup.php does not chanqe billing cycle on first attempt.  Need to do it twice to see the change.  Reported in version 1.095
- ADDITION: Added to the quick reports in the front so you can see the customers needing their cc numbers validated ( passphrased )
- ADDITION: Added 8859-9 option to system charset
- ADDITION: Home page now includes a graph of admin's choice.  Default for this release will be number of new customers per month
- ENHANCEMENT: PDF Invoices now include invoice item description and details
- LANGUAGE ADDITION: Added _REPORT_MONTHTOTAL to module reports language dir
- LANGUAGE ADDITION: Added _REPORT_WEEKLYSALES to module reports language dir
- LANGUAGE ADDITION: Added _REPORT_NEWCUSTOMERS to module reports language dir
- LANGUAGE ADDITION: Added _GLOBAL_DAY_MONDAY to main language dir
- LANGUAGE ADDITION: Added _GLOBAL_DAY_TUESDAY to main language dir
- LANGUAGE ADDITION: Added _GLOBAL_DAY_WEDNESDAY to main language dir
- FIXED: Fixed collapse and expand images ( reversed )
- LANGUAGE ADDITION: Added _GLOBAL_DAY_THURSDAY to main language dir
- LANGUAGE ADDITION: Added _GLOBAL_DAY_FRIDAY to main language dir
- LANGUAGE ADDITION: Added _GLOBAL_DAY_SATURDAY to main language dir
- LANGUAGE ADDITION: Added _GLOBAL_DAY_SUNDAY to main language dir
- TEMPLATEMOD: Addition of calendar.css
- TEMPLATEMOD: Added {CALENDAR} to footer.tpl ( You can now position the calendar whereever you want )
- LANGUAGE ADDITION: Added to main language dir _REPORTNEEDPASSPHRASE
- ENHANCEMENT: PDF Invoice does not have the word invoice hardcoded for the title any more
- ENHANCEMENT: Updated domain reg check, using xmethods (Domain Name Checker) webservice using SOAP
- ADDITION: Added lgpl nuSOAP class for future API work and leverage some open webservices available at xmethods.com
- FIXED: PDF Invoices finally work for https without it having to open from http
- ENHANCEMENT: Addition of the dynamic available IP when modifying and creating domains.  The dynamic IPs are populated when switching the server so no need to reload the page.
  NOTE1:  When clicking on the "Use Shared IP" the domain will be assigned the shared IP of the selected server
  NOTE2:  Used up IPs will not be visable in the drop down of IPs unless it is the IP being used by the current domain
  NOTE3:  ClientExec upgrader will ensure that your domains are set to "Use Shared IP" if your domains are currently using its servers shared ip
- FIX: Default IPs are now entered when creating a new domain and the IP custom field was set to be in the admin only area of the domain profile page
- LANGUAGE ADDITION: Added _CLIENTS_AVAILABLEIPS to the clientinfo module language files
- ENHANCEMENT: Upgraded installer to allow CE Staff to run scripts to ensure older data is valid based on new db schema changes
- FIXED: Bug when forwarding to some processors and you do not have "Show Terms and Conditions" set to true.
- LANGUAGE ADDITION: Added _CLIENTS_USESHAREDIPS to the clientinfo module language files
- FIXED: 2 Notifications (IM and email) were being sent for each new signup
- FIXED: One time transactions from the signup were setting billingcycle of 0, which made sense at the time, but the nextinvoice date was then set to 0000-00-00

1.095
- NEW PLUGIN: CCAvenue is now a supported gateway ( still in beta )
- FIXED: .CA domains don't always come up as registered anymore
- ENHANCEMENT: Signup will not forward failure authorize.net transaction back to the order form with a description of their issue
- FIXED: When admin selected a default processor for the signup, that was not set to show in the signup, odd results appeared
- FIXED: fixed issue with signup.php where some users were getting "Cannot modify header information - headers already sent by " error
- NEW PLUGIN: internetsecure for you canadians out there ( thanks infinityws )
- FIXED: protxform module theres a small typeo that causes callback to fall
- ENHANCEMENT: updated alternate emails so they are defaulted to send notifications and invoices after creation
- FIXED: Removed hardcoded word Your from "Your outstanding invoices" the the users home page.

1.094
- ENHANCEMENT:  Chagned installer to upgrade customer settings from old check,moneyorder, banktransfer billing types to the new offline dummy plugin accounts.
- UPGRADED IONCUBE:  Upgraded the ioncube loaders to version 2.1
- ADDED: Added definition _BILLING_RECEIPTSENT to billing language files
- FIXED: Error when creating new customer ( customer was still being created correctly )
- FIXED: Fixed wording when receipt is being resent.  from invoice resent to receipt recent
- FIXED: Fixed 'resend invoice' 'send invoice' button which were showing the reverse button
- FIXED: Fixed signup issue when selecting check,moneyorder or banktransfer. ( foreach() errror )
- ADDITION: Template addition {CHARSET}
- ENHANCEMENT: Changed "LastSeen" status on bottom to shop popups on top
- FIXED: Changing packages on signup sets the billing type back to the default
- FIXED: Sending system messages for a specific server now saves message and sends them correctly
- FIXED: Signup will show the cc field when changing plan/package and your selected payment method is say authnet or any other cc accepting plugin
- ENHANCEMENT: Mailer now uses charset from settings
- ENHANCEMENT: Created setting Character Set with a default value of iso-8859-1 ( iso-8859-7 available as an option for greek char set )
- FIXED:  Bug with request password popped up in version 1.092 and 1.093
- MODIFIED:  Changed "Trouble" to "Support" in language files for support ticket
- FIXED:  Text change for payment types for admin in clientinfo
- FIXED:  support>viewing overview, There should be a space between "Trouble TicketFor User : (user)

1.093 patch
- FIX: Protxform has incorrect paypal callback urls
- FIX: Billing was showing any uninvoiced work not assigned, no matter which client was chosen
- FIX: Showing Invoice: 0 when selecting client under billing
- FIX: Showing transactions: 0 when selecting a client under billing
- FIX: When clicking on admin you would always get a confirmation message that your passphrase was incorrect
- FIX: Fixed issue with signup and uk domains not showing up as taken

1.093
- FIX:  Bug in paysystems plugin that would not forward to paysystems if template included another form definition as well

1.091
- ADDIITION: Add options for which cc cards to accept in plugins and check in clientinfo and signup

1.09
- NEW STYLE TAG: Added .HeaderDivider as a new style tag
- ADDITIOON: Added definition _CLIENTS_ACCEPTINGCREDITCARDS to the clients module glossary
- FIX: Quotes were being stored as htmlspecial char value in systems messages
- FIX: Database options had </tr> instead of </td> to close the cells in its result output
- FIX: PDF Invoice now grabs the word invoice from the language files
- ENHANCEMENT: 3rd party billing section of settings can now be viewed by setting as opposed to viewing all at once
  NOTE: The option "Show all settings at once" is a global setting
- ADDITION: Added language to custom fields
- ENHANCEMENT: Added ability for users to select the language they would prefer
  NOTE: We still have to work on extracting some more words.  Every release brings us closer to 100% ( we are close to 90% though )
- ENHANCEMENT: New Login screen ( faster and nicer )
- ENHANCEMENT: Increased the size of the cell of the invoice amount
- ENHANCEMENT: Added more passthru fields to paysystems gateway plugin
- ENHANCEMENT: Changed default charset to iso-8859-7
- FIX: Javascript error with an on change event with billing cycle
- ADDITION: Added definintion _RUNBATCHPAYMENTS to the admin glossary
- ADDITION: Added definition _BILLINGPREF to the clients module glossary
- ADDITION: Added months to main glossary ( _MONTH_JAN etc )
- ENHACEMENT: Added Plugin Specification in plugin.specification.txt ( still a bit empty, but it was an initial attempt )
- ADDITION: Added definintion _CLIENTS_CCINFO
- ENHANCEMENT: Added 'Plugin Name' as a required plugin variable for more accurate plugin naming structure
- ADDITION: The ability to create dummy payment plugins.  Processors for specifying customer billing types of offline processing ( checks, money order, bank checks, etc )
- ADDITION: Add Credit Card (Offline) as a dummy plugin
- ADDITION: Add Money Order (Offline) as a dummy plugin
- ADDITION: Add Bank Transfer (Offline) as a dummy plugin
- ADDITION: Add Check (Offline) as a dummy plugin
- REMOVED: removed setting 'Allow Bank Transfer Payments', no handled by plugin variable ( removing settings is always a good thing )
- REMOVED: removed setting 'Allow Check and MoneyOrder Payments', no handled by plugin variable ( removing settings is always a good thing )
- ADDITION: Added definintion _CLIENTS_CCNUMBER
- ADDITION: Added definintion _CLIENTS_EXPIREMONTH
- ADDITION: Added Shortcut Icon, thanks to davidr for the graphic
- ADDITION: Added definintion _CLIENTS_EXPIREYEAR
- ADDITION: Added definintion _CLIENTS_AUTOWITHDRAWAL
- ADDITION: Added to all the header files: <link rel="Shortcut Icon" href="{CLIENTEXECURL}/favicon.ico" />
- FIX: Really removed the ( ) in invoices going out
- ADDITION: Added companyBillingEmail as a possible param value in the gateway plugins
- ADDITION: added definition _CLIENTS_INVALIDCCNUMBER to the clients module glossary
- ADDITION: added definition _BILLING_PROCESSINVOICE to the billing module glossary
- ADDITION: added definition _BILLING_CONFIRMPROCESSINVOICE to the billing module glossary
- ADDITION: added definition _CLIENTS_CLICKTOTOGGLEPASSPHRASE to the clients module glossary
- ADDITION: added definition _CLIENTS_AWAITINGVALIDATION to the clients module glossary
- ADDITION: added definition _CLIENTS_INCORRECTPASSPHRASE to the clients module glossary
- ADDITION: added definition _CLIENTS_CLICKTOTOGGLEPASSPHRASETOVIEW to the clients module glossary
- ADDITION: added definition _BILLING_RESENDRECEIPT to the clients module glossary
- ADDITION: added definition _BILLING_INVOICESENT to the clients module glossary
- FIX: Fixed alignment of tables in users home page if numbe of items were uneven
- ADDITION: added definition _ADMIN_RECURRINGBILLSINPROGRESS to the admins module glossary
- ADDITION: added Javascript checks on cc numbers entered - ( using luhn check )
- ADDITION: added largetext to stylesheet
- MODIFICATION:  Changed resend invoice to resend receipt in the invoice section when selected an invoice that has already been paid
- ADDITION: added definition _BILLING_PAID to the billing module glossary
- MODIFICATION: plugin function buildurl was renamed to singlepayment.  All plugins were updated
- ENHANCEMENT: Allowed clients to resend themselves invoice to unpaid invoices
- ENHANCEMENT: Allowed clients to resend themselves receipts to paid invoices
- ENHANCEMENT: status of paid invoices now state paid instead of sent in the status column
- ENHANCEMENT: Most of the form buttons in billing were replaced to match those found in home page
- ADDITION: added definition _BILLING_ENTERPASSPHRASE to the billing module glossary
- ENHANCEMENT: removed outstanding invoice total if no invoices are outstanding

1.05
- FIX: Provided language files in modules unencrypted
- ENHANCEMENT: Increased the number of characters displayed on trouble ticket titles before trimming long titles ( increased by 14 characters )
- ENHANCEMENT: Demo mode will not allow db updates with db tool
- FIX: Fix default payment method on signup
- FIX: Remove the ( ) in invoices going out
- ENHANCEMENT: Default the email mode to HTML on signup
- FIX: Errors fixed when user would change their domain's password
- FIX: SMTP/Mail error for some in signup due to include path not being set
- ENHANCEMENT: Show business name ( not username ) in invoices home page
- ADDITION: Added another column in homepage invoices for price, including currency type
- ADDITION: Added total of outstanding invoices.  Note that this total does not have a currency symbol, since it can be a total of different currency types.  Just an estimate
- ADDITION: Add another column in homepage trouble tickets to mention status
- ADDITION: Add proxyt payment method ( Thanks for a very nice plugin chrisbonds )
- ADDITION: Add currency Malaysian Ringgit
- ADDITION: Added to home language file ( _HOME_VALUEMIGHTBEDIFFERENTCURRENCY )
- ENHANCEMENT: Upgrade script will now upgrade from 1.0 version and later ( no need to intermediate upgrades )

1.04
- FIX: Whois module has been updated to support some of the registrars we were having issues with
- ADDITION: Added Language files for each module
  Description: Main Language Files will contain generic terms used across all modules.  Still need to take out the module specific terms from the general language files
- FIX: Database Backup functionality was fixed do to a recent bug
- ENHANCEMENT: Update to the spanish glossary ( thanks Jess Carmona Galiano )
- FIX: Paysystems plugin was not redirecting to the proper callback so fails would also mark the invoice as paid
- FIX: Date issue with calander was fixed from showing Mar 103 in mozilla.  Thanks ( redmyrlin )
- ENHANCEMENT: Support for short tags was removed and we are using full tags due to default settings in Apache 2.0 and above.  <?php instead of <?
- ENHANCEMENT: Confirmation URL for new password has been cleaned up.
- ENHANCEMENT: Cleaned up email from ClientExec to user when new password has been reset.  Thanks for the push Daveman

1.03
- ENHANCEMENT: Added ability to unarchive invoices
- ENHANCEMENT: Changed signup so clients who signup and are sent to a gateway are not sent an invoice as well.
  Descripion - This could easily confuse customers as they get invoices even after they pay.  You can still resend invoices manually from the home page since the users will still be pending.
- FIX: Fixed word wrap issue with non html emails. ( Sorry for the delay on this one and thanks to Daveman )
- FIX: Fixed issue with users being allowed to see click here to add recurring charge in the recurring overview topic
- ADDITION: Added "Ensure Proper Domain Format" setting to signup settings
  Description - This upgrade allows you to forgo the proper domain format check in the signup process.  This is useful for those that want to allow subdomain selling.
- ADDITION: Added text for customers paying by check in the billing section.  Admin->Settings->Invoices->Additional Notes For Invoices ( This text already exists in the PDFs generated )
- ADDITION: Added singapore dollar to currency
- ENHANCEMENT: Fixed HTML in login.tpl
  Description - A bunch of careless work here.  Thanks to redmyrlin for taking out the time to clean this up for us
- FIX: Ability to view forgot password confirmation link on some email clients
- ADDITION: Added ability for one time charges via the signup script
  Description - If your selected package has no monthly,quarterly or any other billing cycle price, the signup script will not show the billing cycle option and use the setup cost for a charge.  The domain will be set to non recurring.  This will result in a one time charge.
- ADDITION: Added to glossary _ENTERDOMAIN
  Description - Section header used in signup to prompt the user for the domain they wish to host with you
- ADDITION: Added to glossary _SIGNUPDOMAINPREFIX
  Description - Allows you to modify the "www." before the domain text input box.  Tip: You can add whatever html you want here.  Take a look at the signup clientexec.com/members/signup.php
- ADDITION: Added to glossary _SIGNUPDOMAINSUFFIX
  Description - Allows you to enter text after the domain name.  Normally this will be empty string.  Unless you wish to enter HTML for further descriptions.  Tip:  If you only host subdomains you can add .yourdomain.com so the input text box will only be for subdomains
- ADDITION: Added to glossary _DOMAININFORMATIONTITLE
  Description - Section header used in signup to prompt the user to enter domain information
- ADDITION: Added to glossary _ACCOUNTINFORMATIONTITLE
  Description - Section header used in signup to prompt the user to enter his personal account information
- ADDITION: Added to glossary _BILLINGINFORMATION
  Description - Section header used in signup to prompt the user to enter his billing preferences
- ADDITION: Added to glossary _SETUPCHARGE
  Description - Change the term setup charge in your signup script here
- ADDITION: Added to glassary _ADDITIONALCHECKINSTRUCTIONS

1.0 Official Release
- ENHANCEMENT: Make sure signup.php does not forward to gateway when price is $0
- ENHANCEMENT: Changed text in signup for when email is already in use.
- FIX: Payment gateway will not mark invoice as paid on cancel or rejection
- FIX: Signup script. Had to select the different billing cycle twice before it took effect for the first change
- FIX: Fixed the issue with functions.php in the templates dir always referring to Raleigh
- ENHANCEMENT: Added ability to send welcome email from home page
- ENHANCEMENT: Added the ability to assign trouble tickets to admin via the trouble ticket details
- ADDITION: Added tag [CLIENTEMAIL] to both the welcome email template and invoice template
- ADDITION: Added tag [FORGOTPASSWORDURL] to both the welcome email template and invoice template
- FIX: Gateway Plugin System has been corrected to allow for plugin names containing the same root name i.e. PaysystemsUS and PaystemsCAD
- FIX: When moving CE around software will release and chagne stored document root on the fly
- FIX: Changed 2checkout plugin, sends US not USA for United States Code.  2checkout doesn't use standard ISO codes
- CHANGE and FIX: viewing domain registrar information during signup has changed due to a couple still having an issue with this
- FIX: Message displayed to admin when merging invoice entries was corrected

1.0 RC 2
- FIX: Signup script kept billing cycle after switching between packages. Resets to the default
- ADDITION:  Added moneybookers payment processor
- ADDITION:  Added egold payment processor
- FIX: Setting "Enable Pay Invoice" was not restricting anything
- FIX: Signup script error with double templates in final step
- FIX: Fixed tag [REQUESTIP] in request password.
- FIX: Fixed tag [NAMESEVERSANDIPS] not tranlating properly
- FIX: Made sure Money Order and Bank Transfer clients do not see the pay invoice button
- FIX: Fixed license manager to work with www.subdomain.domain.com and subdomain.domain.com
- FIX: Admin BCCs emails aren't sent for each Alt emails in a customer's profile
- ENHANCEMENT: The recurring hosting invoice details for a hosted domain ( OLDWAY: domain.name ($price) = $total  NEWWAY: domain.name = $total paymenttern )
- FIX: Password retrieval producing odd looking links
- FIX: Plugin system that prevented new gateway plugins to retrieve the currency type correctly
- FIX: Removed <center> from login.tpl that was accidently being displayed before the <HTML> tag
- FIX: Time delays with retrieving queries from whois script and dotster registrar
- FIX: Setting "Check Domain Availability" was not skipping the domain name lookup

1.0 RC 1
- Added Registrar instructions to admin signup email if any
- Added Domain package to admin signup email
- Added Clienttype to admin signup email
- Fixed signup bug with redirects on changing billing cycle
- Add warning for still having install.php present in your root path
- Changed welcome email template, [NAMESERVERS] only shows nameservers and [NAMESEVERSANDIPS] shows both nameservers and IPs
- Added Australia to the currency options
- Fixed bug with HTML email extending links beyond their desired area.
- Fixed some spelling and grammatical errors
- New Invoice Setting "Send Invoice Offset".  Setting for days before invoice date to send invoice.
- Fixed bugs when user marked to pay by check would try to pay
- Added bank transfer as a possible payment option
- Fixed some signup issues with forwarding to gateway
- Added confirmation alert when deleting quick report items (invoices, pending users etc)
- Fixed bug when rejecting user, deleting invoice was looking for session of user that did not exist
- Added protection if admin deletes a user that another admin has selected
- Fixed system message typo for initial users
- License manager integrated - get with me for your license if you have purchased this release
- Fixed user banner code.  Was not showing any html correctly just plain text
- Added <body> to the signup_header.tpl

.9.9.5
- Added checkboxes to all quick reports in the home page for aggregate functions
- Added whom a ticket is assigned to in the ticket quick reports
- Fixed paysystems callback.php, looks like paysystems updated some optional field retrieving
- Updated popup code to allow for border color change in admin->setting->styles
- Added $demo_mode variable in config.php.  Setting this to 1 will restrict all email and setting updates and admin user updates.
- Fixed various system message issues with magic quotes turned off
- Fixed bug where search by invoice produced SQL errors
- Added signup url in the type / package module.  Will allow admins to see what url is needed for the type/package they are viewing
- Added new custom field for user to select how they want to see their emails (HMTL or plain view)
- Added callback url to all payment processor in settings->3rd party billing
- Added payment type to the new signup admin email
- Added upload_in_binary_mode.txt file (thanks davidr)
- Removed the extension to the default username of a domain.  ( So default username for domain clientexec.com is not clientexec.com but clientexec )
- Changed text in forgot password to 'Submit your Email or Username if you have forgotten your password'
- Enhanced send password to send domain passwords as well as email
- Fixed bug in actSentToBill.php, terrible parse error.

.9.9.4
- Added ability to retrieve customer's billing cycle from the 3rd party plugin
- Fixed JS bug that prevented 4 letter domain extensions.
- Added IP,HOSTNAME,USER AGENT to customers initial comments.   You can view from pending users or quick reports by hovering over the info image next to the pending user name
- Added IP,HOSTNAME,USER AGENT to the email sent out after signup
- Added requested password to the email sent to admins after signup
- Reorganized buttons in the package section of the clienttype/package topic.   switched add and delete as well as moved add all the way to the right
- Changed label name in clienttype form to name in signup.  This is the name used to represent this clienttype in the signup process
- Fixed bug in display pending users, which did not prevent you from submitting a button if you didn't have a user selected
- Removed clienttypes from signup if there is only one available.  It is set by default
- Changed wording in signup script for "transfer domain" to "I own this domain"
- Fixed IM message from CE when user comments on an assigned trouble ticket.  This fixes the bug where all admins get IMed when a user makes a comment, now it is only the assigned admin.
- Fixed quote issues with trouble tickets if magic quotes is turned off in php.ini
- Increased size limit for clienttype name to 19 characters.

.9.9.3
- Fixed delete user, removed trouble tickets as well
- System Messaging Tool now allows for sending messages to all active users on a given server
- Default country in settings, there you go chris ;)
- Fixed bug in system messages
- Changed Annually to Annual in signup script
- Changed 'Allow Check Payments' to 'Allow Check and MoneyOrder Payments'
- Fixed wording and capitalization issues

.9.9.2
- Added all passed values to the new signup email.
- Added ability to view pending user domain
- Added ability to view pending user profiles and approve from there
- Enhanced clientinfo module for easier navigation.
- Added ability to not send welcome email from pending users area (for speed reasons, if approving a lot of users at once)
- Added pending user module in the clientinfo section
- Added ability to approve or reject new signups from home page
- IM notification on new signup
- Email notification on new signup, settings->signup->Email For New Signups
- Cleaned up some possible JS erros by not using proper script tags
- Fix Client's Home screen from showing yellow when invoices has not been sent, they should care less
- Changed URL for whoisonline and lastseen for pending users to take you to pending user profile
- Trouble ticket bug fixed, Trouble tickets from deleted customers were still hanging around causing trouble.
- Fixed problem with packge description in domain section showing the incorrect price
- Fixed recurring overview not showing the correct price
- Fixed bug with unpaid invoice quick report in home page ( incorrect sql )
- Removed pending users from client list

.9.9.1
- Fixed signup bug with retrieving visitor IP, thanks Grum
- Date added to the database backup option
- Do not send invoice if price is 0.00, during signup or generate invoices
- Fixed bug with includes, setting document root in db for use in later calls  (some bad php.ini setups was giving some problems)
- Fixed bug with start invoice id starting off at 0
- Fixed country codes for paypal, added to plugin.

.9.9.0
- Added [SERVERSHAREDIP] tag to welcome email template
- Added [SERVERHOSTNAME] tag to welcome email template
- Added [NAMESERVERS] tag to welcome email template
- Fixed deleting user, wasn't cleaning out custom domain variables for user's domains
- Added Server Module (initial)
- Added new variable in plugin that will determine if in signup process (in case you want to send another passthru variable via callback)
- Added ability to forward to gateway after signup if customer has elected to pay with a supported gateway
- Added verification of duplicate domain and email in signup
- Added ability to see %discounts on signup if selecting longer term
- Added ability to skip Terms and Conditions on signup (TAC are empty)
- Added Terms and conditions section in signup
- Added ability to skip whois lookup on signup.  Admin->settings->signup
- Added whois lookup
- ADDED SIGNUP SCRIPT
- Fixed cache when setting domains inactive from recurring overview in billing module
- Updated gateway plugins to include a few new variables needed for signup script
- Added setting to select default gateway
- Added ability to select default currency
- Added ability to insert prices for setup
- Added ability to insert prices for each billing cycle
- Updated import packages when creating new client types (promotions)
- Changed default style of textarea in stylesheet
- Changes to paysystems to reflect recent URL changes
- Feature allowing admin to select which customer type (promotion) will be default in the signup script.
- Added "show" setting for packages.  This will allow you to select the packages you want to see in the signup script.
- Fixed bug introduced with worldpay gateway plugin.  Thanks to chrisbond
- Fixed wording in 3rd party billing section for each plugin.
- Changed paid to mark paid image in home module for outstanding invoices
- Switched collapse, expand images to better reflect the action.

.9.8
- Updated Summary Cache functionality - Wasn't resetting cache on customer updates and domain updates
- Disabled submit buttons on submit.  To reduce double posting
- Added form highlight in current field (lightyellow)
- Added drop down of both countries and states for ease of use
- Fixed bug which prevented domain custom fields from updating
- Allowed access to user fields of type (address, city, state, zip, phone, country) in gateway plugin. Allowing the ability to prefill these values for your customers
- Fixed PDF Invoice, so that city, state and zip are included on the same line
- Plugin for payment processor completed
- Integrated 2checkout with new gateway plugin
- Integrated paypal with new gateway plugin
- Integrated worldpay with new gateway plugin
- Created different custom field types (address, city, state, zip, phone, country) Note:If you create custom fields that map to one of these it needs to be tagged as such.

.9.6 - .9.7
- View Admin List (will incorporate to client section soon)
- Ability to add multiple admins
- Bug fix with some of the odd log offs mentioned around
- When deleting admins that had support tickets assigned to them or comments made by them, they are changed to "Tech Support"
- Dates format can be set from mm/dd/yyyy or dd/mm/yyyy in the settings->general
- Fixed default currency again
- Added warning popup in customer profile that warns admins if billing cycle is changed and recurring charges are present for that customer.  This might need manual changes to your recurring charge.
- Added additional popups to help describe actions and settings
- When changing the billing type from a work item, you are asked if you want to change description and details to the defaults.
- Added Recurring Overview in customer billing module to help identify what recurring charges are set for a customer
- Added time to Todays date in the top right of the screen (Raleigh theme)
- uninvoiced work that is created with the extra option to add to the next recurring billing works completly
- Created workaround for downloaded DB backup with IE and SSL.  (IE BUG)
- Large Improvement in autobilling module.  A work entry is created for each domain a customer is getting billed for.  Thanks propcgamer for the suggestion
- Fixed outgoing invoice email to add currency symbol
- Fixed outgoing invoice email to display more detailed information about the invoice.  Sorry for the delay dbutts
- Added domain name to hosting work generated from the recurring billing module
- Fixed PDF invoice to include more detailed information (domain hosting)
- Increased the length of the work entry description field in the database schema
- When recurring module creates a new work entry the proper domain, in the "applies to domain" setting, is set
- Fixed copyright spelling issues in bottom left of screen

.9.5
- Fixed problem with storing HTML in some settings
- Removed ability to assign an admin to closed tickets
- Added new tab for trouble tickets to view closed tickets in a seperate pane.   Much nicer
- Added new trouble ticket support that allows you to send new/update ticket notification emails to as many emails as you want admin->settings->support->Email For New Trouble Tickets (comma delimited)
- Added new trouble ticket details to outgoing email to support (subject, message and user)
- WorldPay Callback Password changed to display as password field not free text
- Added Chris Bond's md5 worldpay additions (Thanks Chris)
- Added ability for client to view quick reports from the home page.  (Ticket status and invoices due)
- Removed Pay button from invoice page of customer if he is set to pay by check
- Removed control panel settings until future use
- PDF invoices are generated for each invoice when clicking on the pdf invoice link next to the invoice on the overview page.
- Added additional noticed field in invoice settings.  You can add text to display for clients that make payment via checks.  This information is also included in the PDF invoices generated by ClientExec
- Added In PDF Invoice in custom fields to help configure what fields you want in your PDF Invoice for customers
- Added link back to the ticket overview on the bottom of the ticket details list when ticket is closed, or unassigned
- Added ability to reopen closed tickets
- Fixed so that customers can input html in the messages.
- Fixed calendar so that the css file has three values for the colors of the days (calPaid,calDue,calPaidAndDue)
- Fixed ticket elapsed time that was showing the incorrect time during in some situations.
- Created a cache class that currently caches the summary list for quicker retrieval
- Set Dollar as default currency
- Fixed forgot email functionality.  Broke after template change.

.9.0.0 - .9.4
- Added email template for changes to trouble tickets
- Fixed textboxes in settings that did not allow for quotes as values.
- Fixed textboxes in client and admin profile section that didn't allow for quotes
- Created some use of Javascript sessions for all the collapse/expand windows.  Example is the admin options for clients.
- Ability to submit helpdesk tickets was added
- Support overview added to see status of tickets
- Fixed date bug, showing 01st instead of 1st
- Fixed squished logo
- Fixed bug that only shows welcome email when control panel integration is set to yes
- Changed SMTP Password setting from a text box to password text box

.8.9.0
- Added World Pay Processor
- Fixed template css and table definitations that were causing the theme to go over 100% vertically
- Fixed currency options to allow 3rd pary processor to use alternate currencies, if allowed  (NEED TO STILL UPDATE PAYPAL)
- Added SubAction tabs to theme and made them all from css entries
- Cleaned up style sheet (what a mess it was)
- Minor Spelling errors fixed in billing module
- Fixed Problem with instant messages getting smilies instead of letters
- Redesign of theme. Improvement?  We think so
- removed the checks for being online ICQ from the member list (This was causing major delays)

.8.5.4
- Added Rupiah (Rp) as a currency option
- Removed the Generate Invoice Image from user access.  Only visable when logged in as admin
- Enhancements to calendar, line through days that have past.  Lighter background colors.  Bold current date.
- Modified some of the quick reports for presentation.  I hope to have these in the templates soon
- Changed wording of client plan to client type
- Added DOMAINNAME, DOMAINIP, DOMAINUSERNAME, DOMAINPASSWORD to the welcome message.  The welcome message is tied to the client type.  Note:  ACCOUNTINFORMATION Still works and bundles all of these variables together. This was provided to add better customization/
- Moved Welcome emails to the domain piece of the customer profile.  This way you can send out a welcome email for each domain in an account.
- Allowed customer to send themselves the welcome email by themselves, this should also help reduce some extra email support.

.8.5.3
- Fixed DB options to allow for multiple SQL calls.  This would remove the need for phpmyadmin for any and all future upgrades.  All SQL statements must be seperated by a semicolon

.8.5.2
- Fixed login template (small style bug) and also made powered by translucent.
- Added the number of customers signed up to the selected plan selected in the plan/package utility.
- Plan/Package Module was not deleting packages correctly once a plan was deleted.

.8.5.1
- Removed Smarty in place of FastTemplate Template Engine.  Smarty was a more powerful engine, but the scripts ended up having to much template.  Also the biggest reason was that SMARTY required that safe_mode be turned off which not everyone is willing, or have permissions, to do.

.8.5.0
- Cleaned up some graphics and logo design (still up in the air on logo)
- Added Show Information Window setting.  This allows you to set if you want the user and admins to see the window with User Last Seen, Who's online.  And for users to see the text in the banner and advertising general setting.
- When search a user by their email address the search will also search all alternate emails as well
- changed config.php variables are now dbuser dbpass.  This should help with any confusion as to what goes there.  (changed readme.txt)
- Restrict the use of an already used email in the alt email section
- Restrict the use of the same username to be used more than once
- Restrict the use of the same domain name to be used more than once
- Automatically Archive when invoice is paid.  Invoice Setting allows you to determine what to do with invoices after payment is made.
- Added the ability for customer to login from any of their alt emails
- Allowed login from either profile email or username from a customer's domains
- Removed top right image as I realized that it looked very familiar to an image located at another accounting companies website.  Don't want anyone to get any ideas.
- When sending an email to a customer the email address is not shown, just username.  This was added to reduce confusion due to alternate emails
- Show customer name when ICQ is sent on initial log in to ClientExec and payment to an invoice is made.
- Initial Migration of the Smarty Template Library (more to come later)
- Removed unneeded files due to template migration
- Fixed problem with generate invoice when you have settings set to anything other than generate uninvoiced work.  Invoices were all being set to the active user instead of the user to whom the invoice belongs.
- Added Generate Invoice Link at the top of all images, this is theme based so others can change to where they see fit.
- Fixed login field so that past email addresses will be remembered (name=email)
- Removed pay invoice button from archived invoices screen
- Fixed bug with users getting error if trying log on right after trying to reset passwords.  (wasn't clearing some sessions)
- Rearranged some fields in the client profile so that popups would not be hidden by select boxes ( both recurring billing description and calendar)

.8.4.3
- Fixed bug in recurring billing.  MAJOR BUG, since no recurring invoices will work without this one file patch.
.8.4.2
- Fixed bug that showed the package description with a dollar sign instead of the currency symbol designated for the user. Thanks proppcgamer for the heads up

.8.4
- No system messages now display the setting value for welcome system message when empty, this used to only display for the initial system message for a client.
- Added currency for GBP
- Fixed bug with custom fields in domain section.
- Created calenar functionality in the home page.  The calendar give you a preview of charges that have been paid and are due that month.  Customers will also see the calander and see only invoices related to them.  Quick links here will take the customer to the invoice to make payment.
- Updates to themes will only happen to Raliegh unti version 1.0 - we can't waste time updating different themes until we are set on our templating
- Changed layout of Raleigh theme.
- Took some time and finally fixed the settings so that all the settings for a give type show at once.  This also included fixing up the layout some and going over a lot of the wording and explaining some thing differently.
- Fixed bug that removed next invoice date from customer if the customer updated their information.  Don't know when that one crept in, but it was removed today
- Added ability to designate a charge as applying to a domain
- Added ability to designate a charge as being a recurring charge ( recurring invoicing does not use this currently, but you can assign the charge properly )
- You can now tag a charge as ready for the next invoice.  Meaning you don't have to manually create invoice for this charge, when the next recurring invoice for this client is created this charge will be merged in.  ( recurring invoicing does not use this currently, but you can assign the charge properly )

.8.3
- Added ability to not allow user's to change their domain passwords
- Fixed some formatting in invoice entrie form.
- Fixed forgotten email functionality.  Broke when we went to a set globals off environment
- Fixed some formatting in the who's online output
- Added recurring to the user class
- Added ability to designate a customer as not being a recurring customer.  The recurring module will not look at this account when generating invoice.  Manual invoices can still be generated for this client.
- Added currency in the user profile, this symbol is used whenever a price symbol needs to be generated.

.8.2
- Made all comment textarea much larger.  Some of you have made comments about the size being to slow.
- Fixed date bug, dates did not return correct format on digits under 10
- Fixed code so that Raleigh template would allow pretty much all the forms to strech the length of the screen.  Client Profile is still limited, but I don't see how this can change all that much.
- Fixed bug with toggling admin only section.  Links appeared for normal users as well
- Fixed bug that caused a mandatory logoff after admin user email is changed
- Notice about passwords being optional only on changes is removed while addming new domains and users
- Increased size of system messages
- Fixed bug with domain drop down not working properly when using usage stats (yes I know usage stats don't always work)
- Fixed bug that caused last 5 users online to all display as if they were logged onto ICQ
- Fixed alt email columns.  Links were not supposed to take you anywhere.
- Added popup for delete column in alt emails.
- Client Entry Form now uses header function from template
- Template changes made to include header block and footer block for optional menus


.8.1
- Bug fix with call to sendimeventmessage after making payment via 2checkout or paypal.
- Has a DB Utility in the admin section which will assist us helping you during trouble shooting and upgrades.  You will be able to run the upgrades to the database from ClientExec, without having to give us your username for your phpmyadmin utility (or whatever else you have been using to manage your databases)
- DB Utility has a link that will allow you to dump the current database for backup purposes.
- The "Clients Last Seen" option for admins will now show if user is logged onto ICQ, if that feature is turned on in the settings section.
- Fixed bug with date popup not working correctly with adding new domain (Thanks Stepan) - bad html form
- Fixed search button bug, that caused button to turn into an arrow when clicking.  Was getting confused with the javascript that handles the altemail hide show functionality
- Created new theme for Version 1.0 release.  This should be a lot more friendly to the scrolling problem some of you might be having.
- Added ability to toggle admin only section with dhtml


.8.0 Changes
- Notification when no clients require invoicing after running autobilling
- Order outstanding invoices by due date
- Change outstanding invoices to red color code to identify payment as being late
- Added Billable Work to admin module, this section allows you to modify and create all type of billable work you want to have for your clients.
- Fixed bug with slashes being present on system notifications emailed to clients
- Fixed bug that showed all email addresses of clients receiving system notifications.  Each client receives a seperate email.
- Consolidated some mail function into one class.
- Fixed Invoice Date.  Was showing incorrect date for initial sends of invoice.
- Added ICQ as a custom field.
- Introduced IM checks to see if user is online while viewing their profile.  Setting can turn this feature off
- Fixed PayPal bug. Prices needed to be formated as $3.00 as opposed to $3.0
- Added Alternate Email feature, which allows the user or admin to add additional contact emails for each client.
- Added IM on Logon and IM on Payment as custom fields for the admin.  This feature allows the admin to get Instant Messaged once one of these events have taken place
- Added ability to designate user custom fields as being either for the admin profile or customer profile (ie.  IM on Logon )
- Added Yes/No as an optional field type for custom fields
- Added feature to Alternate Email that allows user or admin to select the email as one to receive system messages and/or invoices (as well as their main email account)
- Added color identifications to the custom field names which are changable by the admin. Added to easily identify which fields you as the admin can change.  Colors are only visable by admin
- Added in settings Recurring Invoice Settings.  The possible selections are: Create uninvoiced work, Create invoice, and Create invoice and send.
- Added admin ability to erase all user's system message
- Fixed weird date format, NEED TO be customizable
- Added Popup calender for date fields

.7.0 Changes
- Added Language Capability.  All text is derived from language files if not db setting.  This makes for a very capable language system.  At the moment only admin can change system admin, but future release will give customer this capability if admin wishes.  Language files will probably be split out into modules during future releases.
- Due date and sent date fixed since they were still not functioning correctly even though the help mentions them both as valid tags for the invoice templates.
- Style improvements to help Netscape browsers (we still have a lot of work to do here)
- Required Fields of both clients and domains are highlighted red when adding new content
- Popup confirmations have changed to two options.  The purpose for the confirmation is to get feedback on actions that invoice sending email and updating the database.
  1) a html box explaining the action before redirecting to the next page (default)
  2) no confirmation
- Large update to how actions take place.  All functions that perform an action or update/save to the database will get redirected after completion.  This will prevent refreshes accidently performing that action again.
- Billing Type remains set even if you check invoice entry details.
- Highlighted Admin only section in domain section
- Bug fixed when deleting uninvoiced work.
- When deleting uninvoiced work you are returned back to the uninvoiced work section unless there aren't any more works left.  If there are non you will now be returned to the display invoices section.
- When deleting an invoice entry from an invoice you are now returned back to the invoice opened if it still contains invoice entries.
- Fixed the bug associated with quotes and welcome messages.
- Added images for the link associated to the action of both sending and resending invoices from the admin home page
- Added the ability to resend invoices from the home page outstanding invoices summary
- Added client name to autobilling description
- Added domain list to autobilling description

.6.5.2 Changes
- Bug fix for when the correct email is used to log in but the password is incorrect.  This used to cause an error in the script instead of displaying that the username or password was incorrect.

.6.5.2 Changes
- Allow emailing of system messages
- Admin System Message tool.  Admins can now choose to whom the system messages are directed to.  These messages will be sent to all users, selected user, client types, and groups (to do).  Groups can be the same as servers in future release.
- Enhanced Client System Messages.  Messages are now concatenated with previous messages and dated.  New messages will not remove system messages that clients did not clear.  This will require a purge like feature later to make sure this feature isn't taking up to much space in your db
- Created a 'Enable Pay Invoice' setting in the invoice section of the admin settings.  This setting will allow you to specify whether or not you want to show the the pay invoice to your clients.  This was tied to the 'Enable Send Invoice' Setting.  So now you will be able to send invoices via email, but not allow clients to pay online.
- Added a delay to the tooltips before they popup.  This is to make them less of a nuisance unless you meant to trigger it.
- Added Invoice Start Date.  Used to determine what number you want to start your invoices at if there are no invoices in the database.
- Added [SENTDATE] Tag in the invoice template.  This fills in the original date that an invoice was sent to a client.  Date now represents the payment due date.
- When changing due date to an invoice entry the due date to the invoice and all other invoice entries in the same invoice.
- Changed text in billing details for invoiced work list.  Column that was previously labeled date is now labeled due date.
- Changed text in the uninvoiced work form from fee date to due date.
- Show last 5 users that have logged on and their time.  You can hide this in the general settings. This is seen by Admins only.
- Showed Admin Users as being online, not just clients. (admin in red)
- Removed automatic username filler for domains.
- Added ability for admin user to change domain usernames after they have been created, so domain doesn't have to be deleted and then added again
- Add ability to set if you want to use smtp or sendmail to send your emails.  Found in the email settings.
- Added ability for us to order the settings.  Initially the settings were in order of creation date.  This will make similar settings to appear next to each other.  Internal use
- Incorrect username and password is displayed when user is not found
- Added Search collapse and expand template images
- Removed IP admin message from clients display
- Removed ability for client to change IP address
- Ability to make any custom tag admin visable only, even the required fields which caused everything to gray out.  (major reason was to make sure IP address could be made admin only).  NOTE: Not all fields are in the custom field section.  (maybe one day), all custom fields are entered at the end of the hardcoded fields.
- Fixed bug with bcc for invoicing not working at all. Thanks for the report Gary

.6.5.1 Changes
- Added text "Description:" for all settings
- Added confirmation text for all clients that have had uninvoiced work assigned while generating invoices.
- Fixed bug that was causing automatic log out when updating a client's profile.
- Aligned update settings to the right side of the screen
- Added create client type in the client type initial view screen, before any type is selected
- Added minor type checking for new domains, must have at least one "." before being allowed to submit (will improve in future versions)
- Changed text "Add Client Type" to "Create Client Type" in the admin settings



.6.5 Changes

- Restriction of unique email for clients, can use a little more work
- Email retrieval for forgotten passwords
- Displayed UserID in client Section.  You can decide not to let clients see their UserID in the admin settings
- Log in with client email and not username, remove confusion from clients by having to remember a username
- Checking email for proper form in the client profile section
- Domain Link in clients section now shows the numer of domains for selected client
- Who is logged on now shows firstname and lastname, not username as before
- Removed Version number from login theme and placed in bottom right of the Orlando template
- Created a client summary in the client section (admin only), visable in the new right box area
- Created a billing summary in the billing section (admin only), visable in the new right box area
- Fixed Email restriction of anything less than 3 chars for admin email
- Added Ensim as a control panel option... will be integrating with control panels in future versions
- Search User or Invoice by Invoice # (depending on which section you are in)
- Removed Search by Username and replaced with search by email
- Fixed Ip error in the welcome email that was preventing domain's ip from being retrieved
- Resolved error when updating admin profile information
- Added recommend us link for clients
- Added recommend us template in the admin section
- Changed default template to add right box for section summaries
