================================================================================
Blesta Change Log (Last Updated: April 6, 2012)
================================================================================

This file contains information about changes to the Blesta system software.

================================================================================
v. 2.5.3 April 6, 2012
================================================================================

Bug Fixes:
~~~~~~~~~~~~~~~~~~~
-Fixed an issue in the Plesk module where services could not be created due to
an invalid country code.

-Fixed an issue with automatic provisioning of paid pending services where, with
some modules, the action could not be completed.

-Fixed an issue with the description field of the packages page not displaying
UTF-8 characters properly.

-Fixed an issue with editing an invoice where adding or removing a line item
would remove public notes.


New Misc. Features:
~~~~~~~~~~~~~~~~~~~
-Added Multi-domain and Hosting and Multi-domain order forms.

-Updated the eNom module to support domain registrations for the .co.uk TLD.

-Updated whois listing for ca domains to correctly identify when available

================================================================================
v. 2.5.2 July 11, 2011
================================================================================

Bug Fixes:
~~~~~~~~~~~~~~~~~~~
-Fixed issue in client interface that on some machines could result in a
continous redirect after logging in.

-Fixed issue with e-mailing selected invoices from the client overview page that
caused them to always fail to send.

-Replaced deprecated (and removed in MySQL 5.4.4) TYPE= keyword with ENGINE=.

-Fixed issue in eNom module where removing a service works only in DEMO mode.

-Fixed issue that prevented full service name from appearing as the Area in
support tickets

-Fixed bug in VirtualMerchant gateway that referenced "payment" rather than
"self" when attempting to access a static member variable.

-Fixed bug that, in some instances, prevented invoices from being created.


New Misc. Features:
~~~~~~~~~~~~~~~~~~~
-Added ResellerClub module

-Added OpenSRS module


================================================================================
v. 2.5.1 December 9, 2010
================================================================================

Bug Fixes:
~~~~~~~~~~~~~~~~~~~
-Fixed issue with updating a transaction status to "Approved" that caused extra
credits to be ignored.

-Fixed issue that caused pending services with packages that have a specific 
module row set from being removed as pending and added as a regular service.

-Updated version.txt in /templates/argentum/ to reflect current version.

-Fixed issue on some servers resulting in a blank page body on the client 
overview page.


================================================================================
v. 2.5.0 November 3, 2010
================================================================================

New Admin Features:
~~~~~~~~~~~~~~~~~~~~
-Added ability to search by Transaction Number.

-Added support for two factor authentication using the Mobile OTP specification
(see: http://motp.sourceforge.net) for enhanced security.

-Added support for two factor authentication using the TOTP specification
(see: http://www.openauthentication.org/) for enhanced security.


New Client Features:
~~~~~~~~~~~~~~~~~~~~
-Added ability to add/update a primary billing contact from the clients' payment
pages. Clicking "Update Credit Card?" drops down to reveal the primary billing
contacts' information so that it can be updated or a new contact created.


New Misc. Features:
~~~~~~~~~~~~~~~~~~~
-Added new order form, Register Client, that allows accounts to be created via
the order form.

-Added the SagePayments payment gateway.

-Added SolusVM XEN and OpenVZ modules.

-Improved layout of the Service Package drop down when manually adding a service
to a client.

-Updated automated invoice emails to include all active client billing contacts 
as recipients.

-Updated the Subject line of closed ticket notice emails to reflect that they
have been closed.

-Updated invoice.class.php to feed line item ID (id), service ID 
(service_id), package ID (package_id), and term (term) to the invoice generator 
for each line item (line_itmes).

-Updated PayFlowPro payment gateway so that the "Partner" can be set from the
gateway settings. If blank, will default to "PayPal" as the partner.


Bug Fixes:
~~~~~~~~~~~~~~~~~~~
-Fixed issue with updating a transaction status to "Approved" that caused a
credit to be issued and an invoice to be paid.

-Fixed issue with page totals not properly being displayed when using TCPDF as
the PDF generator.

-Fixed issue in logCron() function that would raise an error whenever two or
more cron jobs were set to execute at the same time.

-Fixed invoice-tcpdf.class.php that previously did not attempt to set a name 
for the streamed PDF, resulting in some browsers displaying b-invoice.php 
instead.

-Fixed issue with TCPDF invoice class not displaying currency prefixes properly.

-Fixed issue with company name not being shown after running the upgrade script
on installations with a default language other than en-us.


================================================================================
v. 2.4.1 July 14, 2010
================================================================================

Bug Fixes:
~~~~~~~~~~~~~~~~~~~
-Fixed issue with TCPDF invoice class not returning PDF data in non-streaming
contexts.

-Fixed issue with TCPDF invoices always attempting to display a logo even when
Company Name/Address was chosen instead.


================================================================================
v. 2.4.0 July 1, 2010
================================================================================

New Admin Features:
~~~~~~~~~~~~~~~~~~~
-Added new cron file pop3-tickets.php. This was also added to cronjob.php,
so it is necessary to overwrite your existing cronjob.php file. A new cron
must be created to run POP3 ticket piping.

-Added option for setting Piping or POP3 when adding or editing a support
department.

-Added option to tax setup fees in [Settings] > [Taxes] > [Basic Tax Settings]


New Misc. Features:
~~~~~~~~~~~~~~~~~~~
-Added new PDF engine (TCPDF) which includes support for UTF-8 characters.

-Added ability to search tickets by ID, response text, department name, or 
area.

-Added admin ticket notice updates via email to email clients an updated
ticket notice.

-Added [phone] tag to Order Failure Notice, Order Success Notice, and Service
Pending e-mail templates.

-Added [uid] tag to Password Reset e-mail template.


Bug Fixes:
~~~~~~~~~~~~~~~~~~~
-Updated whois listing for eu domains to correctly identify when available

-Updated 2checkout nonmerchant gateway to reflect change in POST URL

-Fixed whois lookup with some servers requiring "\r\n" as termination signal 
for input.

-Fixed verifyemail() function, previously returned invalid email response for
addresses that have no MX record without verifying that the DNS record for that
domain is also invalid.

-Modified paypal and paypal subscription gateways to handle callback 
confirmation using URL encoding, due to changes Paypal introduced recently
causing multi-part form encoding to fail the verification test.

-Fixed issue that prevented ability to create a new order form immediately 
after deleting one.

-Fixed issue that create a new transactions when updating a transaction's
status from unapproved to "approved", rather than simply updating the existing
transaction.

-Fixed issue in a-center.php that displayed client-only tabs to admins in the 
manage service section.

-Fixed issue that allowed support departments to be updated without a name.

-Fixed issue that caused a client's currency to change to the system's default
currency upon an update to the client's My Info page.

-Fixed issue that prevented late notices from being sent if no admin was
subscribed to receive BCC notices.

-Fixed issue with mass mailer that prevented the subject and from address from
being properly set.

-Fixed issue in integrated order forms that automatically applied compound tax,
even if the setting was disabled.


================================================================================
v. 2.3.2 March 4, 2010
================================================================================

Bug Fixes:
~~~~~~~~~~~~~~~~~~~
-Fixed email piping issue, preventing messages from being added

-Fixed outgoining email issue preventing ticket replies from admins from being
sent to clients when checking the "Send Notice" box

-Fixed unintended use of preg_last_error(), which caused incompatibility with
PHP 5.0. 

-Updated VPS.net node CPU allocation (moved from 0.4 Ghz to 0.6 Ghz per node)


================================================================================
v. 2.3.1 February 15, 2010
================================================================================

Bug Fixes:
~~~~~~~~~~~~~~~~~~~
-Fixed issues with some fields not properly updating.

-Fixed issue with License Key not updating.


================================================================================
v. 2.3.0 February 10, 2010
================================================================================

New Admin Features:
~~~~~~~~~~~~~~~~~~~
-Added [Tools] > [Convert Currency], that appears if multi-currency in enabled
so that currencies can be manually converted.

-Added setting in [Settings] > [API/Cron Settings] to set the path to the cron
directory, so it is no longer necessary to edit cronjob.php.

-The installer will now auto detect and configure the cron directory during 
installation.

-Added Merge Client feature as a new client Action.  This allows admins to 
move all contacts, services, invoices, tickets, and transactions from one client
to another.

-Added option for Setup Fees when adding/editing a package.  Setup Fees are
automatically added to the first invoices created for a service.

-Added manage service capabilities for modules that support this on the
service status page.  This allows admins to manage a service directly within
Blesta.

-Added option for setting the Date Received when adding or editing a 
transaction.

-Added option for enabling admin reply to tickets in [Settings] > [Ticket 
Settings] > [Ticket Pipe Settings].  Enabling this option places a unique key
into the subject of any ticket sent to an admin's email address.  This key is
then used to determine if the reply address has the ability to update the
ticket.

-Added option to set custom field to display on order forms.


New Client Features:
~~~~~~~~~~~~~~~~~~~~
-Added manage service capabilities for modules that support this from the 
services section.  This allows clients to manage a service directly within 
Blesta.


New Misc. Features:
~~~~~~~~~~~~~~~~~~~
-Added VPS.NET module

-Allow language to be set on login and forgot password pages by passing 
lang=[language] in the URI. For example: index.php?lang=en-us.

-Added module logging capabilities to the DialupUSA module.

-Added public notes for invoices.  Admins can now add notes to invoices which
will appear on invoices.  Also available via the API createinvoice function.

-Expanded module system to make it easy to manage services within Blesta to the
full extent of the module's API.

-Module system now allows manage URLs to be set by using the 
Module::manageURL() method.

-Modules may now be contained in subdirectories within /inc/modules/, using the
same name as the module class file (e.g. vpsnet.class.php is contained in
/inc/modules/vpsnet/)

-Module system now supports optgroup for select fields using
Module::addUserServiceHTMLSelectGroup() and Module::addServiceHTMLSelectGroup()

-Added support for Cascade Tax (tax on tax) in [Settings] > [Taxes] > [Basic Tax
Settings]

-Custom field may now appear on integrated order forms.


Bug Fixes:
~~~~~~~~~~~~~~~~~~~
-Modified /order_forms_inc/whois.class.php to parse entries from whois.txt using
case-insensitivity only when the search string is not in upper case. This fixes
an issue with whois.cira.ca who was returning the search string in all responses
in a separate context.

-Fixed redirection loop when in maintenance mode for installations in sub-
directories.

-Fixed issue caused by pcre.backtrack_limit on some regex evaluations which 
resulted in the input data being replaced with a null string.

-Fixed issue that prevented admins from adding new rows to an installed module
when no rows existed for that module.

-Fixed bug in f-newclient.pdt that failed to repopulate custom text fields with
their values after attempting to create a new client but failing.

-Fixed potential vulnerability with certain parameters not being properly 
cleaned.


================================================================================
v. 2.2.5 November 3, 2009
================================================================================

Bug Fixes:
~~~~~~~~~~~~~~~~~~~
-Fixed recording errors with graph data, which caused graph data not to be 
properly represented. This patch solves graph recording issues, but in order to
populate previous graph data you must empty the graphdata table from your
database, then simply access the [Billing] > [Overview] page to repopulate the
data.

-Updated Paypal non-merchant gateway to use updated "custom" field for passing
pending services and coupon information.

-Fixed issue with appending services to an existing invoice causing the invoiced
amount not being converted to the invoice currency.

-Fixed bug that caused client's preferred currency to be changed to the default
system currency after appending a service to an existing invoice.

-Fixed bug with Hosting and Domain order forms that prevented the Hosting 
account from being offered when an error was raised during the Domain setup 
form.


================================================================================
v. 2.2.4 September 28, 2009
================================================================================

Bug Fixes:
~~~~~~~~~~~~~~~~~~~
-Fixed issue with multi-currency enabled recurring services that incorrectly
billed services in the default currency amount, rather than the converted price.


================================================================================
v. 2.2.3 September 22, 2009
================================================================================

Bug Fixes:
~~~~~~~~~~~~~~~~~~~
-Fixed MySQL error, for some MySQL database systems, when querying recurring
payment info for a given invoice.


================================================================================
v. 2.2.2 August 5, 2009
================================================================================

Bug Fixes:
~~~~~~~~~~~~~~~~~~~
-Fixed redirection loop when attempting to login during maintenance mode.

-Modified PayPal and PayPal subscriptions gateways to properly return the 
currency used.

-Fixed issue that could allow some non-merchant gateways to create applied 
transactions for an invoice even when the payment could not be applied to the 
invoice.


================================================================================
v. 2.2.1 July 30, 2009
================================================================================

Bug Fixes:
~~~~~~~~~~~~~~~~~~~
-Fixed non-merchant gateways not appearing when multi-currency is disabled.

-Fixed issue in /templates/argentum/f-nupid.pdt that failed to select the 
correct module row when updating a package.


================================================================================
v. 2.2.0 July 22, 2009
================================================================================

New Admin Features:
~~~~~~~~~~~~~~~~~~~
-Added new Settings section for currencies at [Settings] > [Currency Settings].
Moved currency settings from [Settings] > [Billing/Payment Settings] to this
location.

-Modified [Settings] > [Gateways] to assign currencies to specific gateways.

-Modified [Settings] > [Order Settings] > [Order Forms] to allow selecting
specific currencies to accept on order form when Multi-Currency is enabled.

-Updated all gateway file in /inc/gateways/merchant/ and 
/inc/gateways/nonmerchant/. All gateways must now extend the Gateway class and
implement all abstract methods of that class.

-Added new cron file exchange-rates.php. This was also added to cronjob.php
for inclusion into the "all" cron run action, so it is necessary to overwrite
your existing cronjob.php file.

-Added ability to view all transactions applied to a given invoice.  Clicking
on the invoice row now drops down to reveal all transactions applied to that
invoice, with the ability to edit each transaction separately.

-Added Localization settings in [Settings] > [System Settings] > [Localization].
Moved Default Language, Clients may set Language, Comfy Date Format, and Comfy 
Time Format from [Settings] > [System Settings] > [Basic Setup] to this 
location.  

-Added Timezone and Default Country settings under [Settings] > 
[System Settings] > [Localization].

-Added display of current time in Comfy Date Format and Comfy Time Format next 
to their respective settings, for help in configuring these settings.

-Added setting for allowing clients to set their billed currency in [Settings] >
[Currency Settings] > [Currency Setup] when multicurrency is enabled.

-Added ticket attachments settings in [Settings] > [Ticket Settings] > 
[Attachments].

-Added ability to set whether or not Blesta should invoice suspended services.
This setting has been added in [Settings] > [Billing/Payment Settings] > 
[Invoice and Charge Settings].

-Added ability to set calendar start day (Sunday or Monday) in [Settings] >
[System Settings] > [Localization].

-Added Email feature in Client Actions box that allows admins to send and resend
emails to Clients.  Emails can be resent from the Mail Log by viewing the 
message and clicking the resend link.

-Added setting to disable ability of clients to cancel services under 
[Settings] > [Billing/Payment Settings] > [Invoice and Charge Settings].

-Added ability to sort invoices on admin client profile pages.

-Added option to specify "First available" or a specific module row when 
creating or editing a package. Specifying the module row will force the
package to use that module row. "First available" attempts to add the
service using each module row in order until a successful add is made or
all attempts have failed.

-Added icons next to invoice listing on client profile and under billing tab to
display the status of an invoice (delivered/not delivered) and method of 
delivery (paper/email).


New Client Features:
~~~~~~~~~~~~~~~~~~~~
-Added ability to view all transactions applied to a given invoice.  Clicking
on the invoice row now drops down to reveal all transactions applied to that
invoice.

-Added page nav capabilities to the invoices listing.


New Misc. Features:
~~~~~~~~~~~~~~~~~~~
-Added multi-currency support.

-Updated import class to allow importing address2 filed into client entries.
Previously this would append address2 to the address field.

-Added the following Gateways: Chargeback Guardian, Innovative Gateway, Virtual
Merchant, Worldpay Futurepay.

-Added the following Modules: Kloxo

-Added ability to add attachments to tickets.

-Added ability to email in attachments with tickets.

-Added ability to execute cron via comman line. The first parameter is the 
Remote Access Key, and the second parameter is the cron to run.

-Updated importer class to handle taxexempt, taxid, currency fields for clients,
as well as import capabilities for currency exchange rates, tax rules, and 
currency settings for invoices and transactions (applied/received).


Bug Fixes:
~~~~~~~~~~~~~~~~~~~
-Fixed bug on [Settings] > [Order Settings] > [Order Forms] that would unselect
"Set to Default" when editing a default order form after attempting to save with
an error.

-Fixed bug in invoice class that failed to send tax type in the proper element
to the invoice-pdf class to determine whether to show line item prices with tax
included or not.  The missing field was $inv['line_items'][$i]['tax1']['type'].

-An error is now returned when attempting to add/edit a package with duplicate
terms.  Each price point must be represented by a unique term value.

-Fixed issue that prevented proper sorting of tickets from the admin client 
profile page.

-Fixed bug that prevented tickets from being reassigned to a department with an
id of 1.

-Fixed issue that caused certain links not be styled using the "active" class
in the subnav area of the interface to signify viewing of that page.

-Replaced all POSIX regex functions with PCRE functions. POSIX regex functions
are deprecated as of PHP 5.3.0.

-Previously invoices with 0.00 due would not be closed out by the cron if no
credit existed on the clients account in the invoice currency.  This has been
fixed so that any open invoices with 0.00 due will now be closed during 
bill-cron execution.

-Fixed page nav issue for pending services when viewing a client profile.

-Fixed page nav issue for pending services when logged in as a client. 
Previously the page nav would default tot he "current" tab when showing the
pending tab.

-Fixed bug in import library that prevented the getCountry method to find a 
match based on country name.

-Fixed DirectAdmin module to be compatible with version 1.31 of the DirectAdmin
software. Users running versions older than 1.31 may need to use the older
version of this module that was distributed with Blesta version 2.1 or earlier.
This fix solves issues resulting in having to attempt suspend/unsuspend actions
twice before they are marked as completed in Blesta.


================================================================================
v. 2.1.2 Jun 2, 2009
================================================================================

Bug Fixes:
~~~~~~~~~~~~~~~~~~~~
-Fixed invoice class so that it now correctly adds previous balance to current
charges to get Total Due.


================================================================================
v. 2.1.1 Apr 10, 2009
================================================================================

Bug Fixes:
~~~~~~~~~~~~~~~~~~~~
-Fixed bug that incorrectly displayed the amount due in both admin and client 
interfaces.


================================================================================
v. 2.1.0 Apr 7, 2009
================================================================================

New Admin Features:
~~~~~~~~~~~~~~~~~~~~
-Added asynchronous page loading on [Clients] > [Browse Clients].

-Added sortable field options on [Clients] > [Browse Clients], [Billing] > 
[Invoices], [Billing] > [Transactions], and [Billing] > [Services].

-Added From Name field to [Settings] > [E-Mail Templates] to allow a from name
to be set when sending out template based email.

-Added Compound Tax setting in [Settings] > [Taxes] > [Basic Tax Settings]. When
enabled this will allow tax level 2 rules to be applied in addition to level 1
rules.  Also adjusted settings for creating/editing taxrules to allow for these
levels.

-Added upload directory setting under [Settings] > [System Settings] > 
[Basic Setup].  For security purposes this directory should be placed above the 
public web directory.

-Invoices may now accept both background and logo images.  Admins may optional
set to display either the logo or company name/address.  [Settings] >
[Billing/Payment Settings] > [Invoice Customization].

-Added ability to send manual payment receipt when entering manual payments.

-Added new Email Templates under [Settings] > [Email Templates] > [Manual 
Payment Receipt].

-Added ability to decrypt card numbers on an individual basis by providing the
encryption key (found in config.php).

-Added calendar date selector to Local Edit of services

-Added Delete Client feature in the Actions box of any client's page.  A client
may only be deleted if they have no open invoices or active services.

-Added WYSIWYG Editor and support for HTML email templates.


New Client Features:
~~~~~~~~~~~~~~~~~~~~
-Added link to primary billing contact when editing client info to make it 
easier to find the credit card fields.  This field only displays when a merchant
gateway is set.


New Misc. Features:
~~~~~~~~~~~~~~~~~~~~
-Added support for multiple tax levels.

-Updated step3.pdt, step5.pdt, step6.pdt for all order form types
in /order_forms/ to support multiple tax levels.  The $taxrule variable is now
a 2-dimensional array containing both level 1 ($taxrule[0]) and level 2
($taxrule[1]) taxrules.

-Enhanced Invoice creation using InvoicePDF object 
(/includes/invoice-pdf.class.php).  This can be fully and easily customized to
control the complete look and feel of all PDF invoices.

-Updated PHPMailer class with latest version.  Modified PHPMailer class to allow
mail to be sent through the PHP mail function when using Windows 
(see PHPMailer::AddrFormat).

-Added support for Microsoft Windows based systems.

-Whenever SourceGuardian is not found or is installed incorrectly Blesta will 
now display a Help page containing instructions on installing SourceGuardian for
that system.

-Updated installer and upgrade utility to include the License Agreement.  The
License Agreement must be agreed to before installing or upgrading may take 
place.

-Added .htaccess file to public_html, used to disable register_globals on
servers that have register_globals enabled. Blesta requires register
globals to be disabled (register_globals is deprecated in PHP 5, and has been
completely removed in PHP 6).

-Added ability to dynamically set language on order forms by passing the lang
parameter via the URL (i.e. http://yourdomain.com/blesta/order.php?lang=en-us).


Bug Fixes:
~~~~~~~~~~~~~~~~~~~~
-Fixed bug that caused the order process to restart when encountering invalid 
input during the order for all users currently logged into Blesta.

-Modified download database export and cron database export file name's to 
permit writing of these files to Windows systems by replacing colons (:) with
hyphens (-).

-Fixed login issue that resulted in SESSERROR1 being raised after a failed login
followed by a successfull login.

-Fixed issue that caused Client info to automatically update client's primary
billing contact when the client had only one contact and "Update Billing?" was 
not checked in the Client interface.

-Modified /order_forms/domain/domain.class.php and 
/order_forms/domain/hosting_and_domain.class.php to automatically remove TLD
extensions from domain names entered on these order forms.

-Modified /order_forms_inc/whois.class.php to return error on empty domains or
domains that are invalid (i.e. not compirsed entirely of a-z, 0-9 or -).


================================================================================
v. 2.0.3 Mar 13, 2009
================================================================================

Bug Fixes:
~~~~~~~~~~~~~~~~~~~~
-Fixed CSS compatability issue with IE6 and IE7 that was causing input fields to
appears on the left of the input labels.

-Fixed bug in /order_forms/domain/domain.class.php and 
/order_forms/hosting_and_domain/hosting_and_domain.class.php that caused
package terms not to be listed correctly, or at all in some cases due to index 
values being unordered.


================================================================================
v. 2.0.2 Jan 20, 2009
================================================================================

Bug Fixes:
~~~~~~~~~~~~~~~~~~~~
-Now passes Phone number to all merchant gateways.

-API now accepts ['userinfo']['phone'] when submitting a processpayment 
request.


Misc.
~~~~~~~~~~~~~~~~~~~~
-Updated Paypal's PayflowPro to meet latest transaction requirements.


================================================================================
v. 2.0.1 Nov 19, 2008
================================================================================

Bug Fixes:
~~~~~~~~~~~~~~~~~~~~
-Added quotes around GET url for cron job set up, which is required by most cron
tabs in [Settings] > [API/Cron Settings].

-Fixed issue that incorrectly showed the email address of a user who emailed in
a ticket to the system and was auto-closed as the user that closed the ticket
rather than "system."

-Fixed bug that prevented notifications from being sent by auto-closed tickets.

-Fixed issue that changed the department a ticket was assigned to if auto-
closed.

-Fixed bug that sent email notifications to admins that were not assigned to the
department from which the ticket originated.

-Fixed calculation error in Projected Monthly Revenue which did not calculate
invoices without tax.

-When editing a service for a client as suspended/unsuspend/removed only active
admins will now receive email notification.

-Fixed issue that only displyed instant activation packages when editing a
client's service.

-Fixed bug that may prevent some invoices from closing after being paid in full.


================================================================================
v. 2.0.0 Nov 6, 2008
================================================================================

New Admin Features:
~~~~~~~~~~~~~~~~~~~~
-Added [Settings] option for root admins.  Relocated all configurable options to
this location.

-Added language option for admins under My Info.

-Added global search.  Also improved smart search.

-Added Quick Links, which allows admins to "bookmark" certain pages within 
Blesta and have them appear on the admin [Home] page.

-Moved "Items Requiring Attention" to the left column of the [Home] page, and
added color-coding for priority.

-Added Blesta.com RSS feed reader to the [Home] page.

-Added "Getting Started" box to help admins configure Blesta.

-Added quick stats on [Clients] and [Support] pages, with information regarding
the number of clients/tickets.

-Added "Overview" to the [Billing] page, which contains statistical information
regarding invoices and revenue.

-Added "Upcoming Charges" and "Upcoming Suspensions" features on the [Billing] 
page.

-Added one-click update of client's status, auto-debit, auto-suspension, and 
invoice method.

-Added ability to download database backup on demand from [Settings] > 
[Backup Settings].

-Added time since last updated for tickets.


New Client Features:
~~~~~~~~~~~~~~~~~~~~
-Simplified user interface.  Users now only need to navigate across a single
page.

-Added one-click update of auto-debit, and invoice method (if enabled by admin).


New Misc. Features:
~~~~~~~~~~~~~~~~~~~~
-Completely redesigned user interface for both admin and client. Now complies
with XHTML Strict standards.

-Added custom client fields.

-Added the following Gateways: EPS payment gateway (www.epssecurenet.com) 
contributed by Mark Munoz, eWAY, PayJunction, and Moneybookers.

-For language define changes please use the language validator online at:
www.blesta.com/langval/
The number of changes to the language are too numerous to mention here.

-Added API support for JSON.

-Added the following API commands: getcustomfield, getcustomfields.

-Modified the results returned by API command "getclient".  This now returns
a field element named "custom" containing the custom client field data for
that client.

-Removed requirement for PHP short tags.  All PHP now uses the full length
PHP tag (<?php ... ?>).


Bug Fixes:
~~~~~~~~~~~~~~~~~~~~
-Email validation now allows periods before the @ symbol (a previous fix in 
1.3.0 had the side-effect of preventing periods from appearing before the @ 
symbol).

-Previously when attempting to create a new client, if an error was returned the
"Send Welcome Message" selection was set to "Yes".

-Fixed Revenu Share graph image glitch that would display an arc towards the
center of the pie graph when the client had no revenue, or if the client had
100% of the revenue.

-Fixed bug that caused invoice line items to display incorrectly or not at all
for invoices with line items containing large amounts of text.

-Fixed issue with setting start and end dates for coupons that prevented the 
correct date from being saved in some cases.

-Fixed bug with bar graphs that, in some cases, would graph previous year data 
as the current year if no data existed for the current year.


================================================================================
v. 1.4.1 Nov 10, 2008
================================================================================

Bug Fixes:
~~~~~~~~~~~~~~~~~~~~
-Email validation now allows periods before the @ symbol (a previous fix in 
1.3.0 had the side-effect of preventing periods from appearing before the @ 
symbol).

-Patched security vulnerability that could allow users to view constants they
should not have access to.


================================================================================
v. 1.4.0 Jul 7, 2008
================================================================================

New Admin Features:
~~~~~~~~~~~~~~~~~~~~
-Added support for SMTP mail.  Configurable in Tools -> Advanced Settings -> 
Mail Settings.

-Added Ticket Pipe Settings in Tools -> Advanced Settings -> Ticket Pipe 
Settings.

-Added invoice summary to exports.

-Added multi-language support for E-mail Templates.

-Replaced IP lookup by DNS Stuff (http://www.dnsstuff.com) with GEO IP Tool 
(www.geoiptool.com)

-Added setting to allow or disallow clients from changing their preferred 
language.

-Added module log in Tools -> Module Log.

-Added SMTP as an option for sending sending e-mail from Blesta.

-Admins may now send a welcome message when creating a client.


New Misc. Features:
~~~~~~~~~~~~~~~~~~~~
-Added the following language defines: UPDATESETMAIL, SMTPCONNECTFAIL, 
SMTPAUTHFAIL, _SETTINGS_MAIL_TITLE, _SETTINGS_MAIL_METHOD, 
_SETTINGS_MAIL_TYPE_SMTP, _SETTINGS_MAIL_TYPE_PHP, _SETTINGS_MAIL_SMTP_HOST,
_SETTINGS_MAIL_SMTP_PORT, _SETTINGS_MAIL_SMTP_USER, _SETTINGS_MAIL_SMTP_PASS,
UPDATESETTICKETPIPE, SPAMCNOTFOUND, _SETTINGS_TICKET_PIPE_TITLE,
_SETTINGS_TICKET_PIPE_NOTE, _SETTINGS_TICKET_PIPE_FROM, 
_SETTINGS_TICKET_PIPE_ANYONE, _SETTINGS_TICKET_PIPE_CLIENTS, 
_SETTINGS_TICKET_PIPE_SPAMASSASSIN, _SETTINGS_TICKET_PIPE_SPAMPATH,
_TT_ADVSETTINGS_PIPE_SPAMASSASSIN, _TT_ADVSETTINGS_PIPE_SPAMPATH,
_SUBPAGE_SUPPORT_DEPARTMENTS, _SUPPORT_DEPARTMENT_LIST_TITLE,
_SUPPORT_DEPARTMENT_CREATE_TITLE, _SUPPORT_DEPARTMENT_EDIT_TITLE,
_SUPPORT_DEPARTMENT_NAME, _SUPPORT_DEPARTMENT_DESCRIPTION,
_SUPPORT_DEPARTMENT_EMAIL, _SUPPORT_DEPARTMENT_PRIORITY, 
_SUPPORT_DEPARTMENT_VISIBLE, _SUPPORT_DEPARTMENT_NOTICE, UPDATEDEPARTMENT,
_BUTTON_SUPPORT_CREATE_DEPARTMENT, _BUTTON_SUPPORT_EDIT_DEPARTMENT,
_BUTTON_SUPPORT_DELETE_DEPARTMENT, _JS_CONFIRM_DEPARTMENT_DELETE,
UPDATEDDEPARTMENTFAIL, DELETEDEPARTMENT, CREATEDDEPARTMENT, 
_CLIENTS_TICKETS_DEPARTMENT, _TICKETS_DEPARTMENT, NAMEMISSINGERROR,
_EXPORTS_TYPES_INV_SUMMARY, _EXPORT_INV_SUMMARY_INVOICEID, 
_EXPORT_INV_SUMMARY_CLIENTID, _EXPORT_INV_SUMMARY_AMOUNT, 
_EXPORT_INV_SUMMARY_DATEBILLED, _EXPORT_INV_SUMMARY_DATEDUE, 
_EXPORT_INV_SUMMARY_DATECLOSED, DEPARTMENTEMAILEXISTS, 
_SUPPORT_DEPARTMENT_ADMINS_ASSIGNED, _ADMINS_MANAGE_CREATE, 
_SUPPORT_DEPARTMENT_CREATE, _CLIENTS_TICKETS_NOACCESS, 
_JS_CONFIRM_TEMPLATES_REMOVELANG, _BUTTON_TEMPLATES_ADDLANG,
_BUTTON_TEMPLATES_REMOVELANG, LANGADDERROR, LANGREMOVEERROR, LANGADDSUCCESS,
LANGREMOVESUCCESS, _MYINFO_CONTACTS_LANG, _CLIENTS_LANG, 
_SETTINGS_STANDARD_CLIENT_LANG, _SUBPAGE_TOOLS_LOGS, _MODULE_LOG_SUCCESS,
_MODULE_LOG_ERROR, _MODULE_LOG_DIRECTION, _MODULE_LOG_DATA, 
_MODULE_LOG_DATETIME, _MODULE_LOG_STATUS, _MODULE_LOG_TYPE, _MODULE_LOG_NAME,
_MODULE_LOG_CREATOR, _MODULE_LOG_NODETAILS, _MODULE_LOG_NOSUCCESS,
_MODULE_LOG_NOERROR, _SUCCESS, _INPUT, _OUTPUT, _GATEWAY, _MODULE, _ANTIFRAUD,
_SETTINGS_STANDARD_EMPTY_MODLOG, _SUBPAGE_PACKAGES_ORDERFORMS, TITLEORDER,
_ORDER_CART_NAME, _ORDER_CART_ITEM, _ORDER_CART_ITEMS, _ORDER_COUPON_NOTE,
_ORDER_ADD, _ORDER_NEXT, _ORDER_404, _ORDER_SERVICE_TITLE, _ORDER_CHANGE_TERM,
_ORDER_CART_TITLE, _ORDER_CART_EMPTY, _ORDER_SESS_EXPIRE, _ORDER_TOS_AGREE,
_ORDER_SUBTOTAL, _ORDER_TOTAL, _ORDER_COUPON, _ORDER_ADD_COUPON, 
_ORDER_VERIFY_COUPON, _ORDER_CONTINUE, _ORDER_CHECKOUT, _ORDER_INVALID_COUPON,
_ORDER_TOS_REQUIED, _ORDER_ACCOUNT_TITLE, _ORDER_HAVEACCOUNT, 
_ORDER_CREATEACCOUNT, _ORDER_LOGIN_USER, _ORDER_LOGIN_PASSWORD, _ORDER_LOGIN, 
_ORDER_CREATEACCOUNT, _ORDER_CHECKOUT_TITLE, _ORDER_ACCOUNT_FIRSTNAME, 
_ORDER_ACCOUNT_LASTNAME, _ORDER_ACCOUNT_ADDRESS1, _ORDER_ACCOUNT_ADDRESS2,
_ORDER_ACCOUNT_CITY, _ORDER_ACCOUNT_STATE, _ORDER_ACCOUNT_ZIP, 
_ORDER_ACCOUNT_COUNTRY, _ORDER_ACCOUNT_PHONE, _ORDER_ACCOUNT_FAX,
_ORDER_ACCOUNT_EMAIL, _ORDER_ACCOUNT_PASSWORD, _ORDER_ORDER_DETAILS, 
_ORDER_PAYWITH_MERCHANT, _ORDER_PAYWITH_NONMERCHANT, _ORDER_BILLING_FIRSTNAME,
_ORDER_BILLING_LASTNAME, _ORDER_BILLING_ADDRESS1, _ORDER_BILLING_ADDRESS2,
_ORDER_BILLING_CITY, _ORDER_BILLING_STATE, _ORDER_BILLING_ZIP, 
_ORDER_BILLING_COUNTRY, _ORDER_BILLING_PHONE, _ORDER_BILLING_FAX, 
_ORDER_BILLING_EMAIL, _ORDER_BILLING_CCNO, _ORDER_BILLING_CCEXP, 
_ORDER_COMPLETE_TITLE, _ORDER_THANK_YOU, _ORDER_NOTE, _ORDER_TOTAL_PAID,
_ORDER_CARD_LAST_FOUR, _ORDER_CARD_EXP, _ORDER_AUTH_NUMBER, _ORDER_CC_ERROR,
_ORDER_CC_EXP, _ORDER_DOMAINCHECKER_REGISTER, _ORDER_DOMAINCHECKER_OWNED,
_ORDER_DOMAIN_AVILABLE, _ORDER_DOMAIN_NOTAVAILABLE, _ORDER_DOMAIN_CHECKAVAIL,
_ORDER_DOMAIN_PREFIX, _ORDER_EDIT_ITEM, _ORDER_REMOVE_ITEM, 
_ORDERFORMS_BROWSE_TITLE, _ORDERFORMS_NAME, _ORDERFORMS_LINK, _ORDERFORMS_TYPE,
_ORDERFORMS_COUPONS, _ORDERFORMS_TOS, _ORDERFORMS_DEFAULT, 
_ORDERFORM_CREATE_TITLE, _ORDERFORM_EDIT_TITLE, _ORDERFORM_TEMPLATE_SELECTION,
_SETTINGS_ORDER_DEFAULT, _SETTINGS_ORDER_CUSTOM, _BUTTON_ORDERFORM_CREATE,
_BUTTON_ORDERFORM_EDIT, _BUTTON_ORDERFORM_DELETE, _ORDERFORM_ORDER_ID,
_ORDERFORM_FORCE_SSL, _ORDERFORM_ALLOW_COUPONS, _ORDERFORM_REQUIRE_TOS,
_ORDERFORM_TOS_URL, _ORDERFORM_PACKAGES, _ORDERFORM_GATEWAYS, 
_ORDERFORM_SELECTABLE, _ORDERFORM_SELECTED, _ORDERFORM_ORDER_TYPE, 
_ORDERFORM_LOGO_URL, _ORDERFORM_DEFAULT_FORM, ORDERFORMREMOVED,
_JS_CONFIRM_ORDERFORM_DELETE, _ORDERFORM_NAME, ORDERFORMADDED, ORDERFORMUPDATED,
ORDERFORMNAME, DUPLICATEORDERFORMID, _ORDERFORM_MISC_TLDS, 
_ORDERFORM_MISC_DOMAINPACKAGE, _ORDERFORM_OFFLINEGW_TYPE, 
_ORDERFORM_OFFLINEGW_NAME, _ORDERFORM_OFFLINEGW_INSTR,
EMAIL_WELCOME_PASSWORD_UNAVAILABLE, _CLIENTS_SENDWELCOME,
_ORDERFORMS_NOORDER_NOTE


-Added notes, taxexmpt and taxid to the data returned by the getclient API call.

-Added ability to set notes when creating a client through the API.

-Added ability to set client status when creating a client through the API.

-Added integrated order system.  Can be configured in Packages -> Order Forms.

-Added the following Gateways: LinkPoint, OptimalPayments FirePay, 
Paypal Subscriptions, and Worldpay.

-Updated Paypal to use 'mc_gross' field rather than the deprecated 
'payment_gross' field.

-Improved installation process by attempting to write config.php automatically.
Also now requires config.php to exists on the server before continuing past
step 2 of the install.



Bug Fixes:
~~~~~~~~~~~~~~~~~~~~
-Added missing colon on Tools -> Settings for Auto Response selection.

-Now require first and last name for all clients and contacts.

-Updated message/error handling on passreset.php.

-Only active admins will now receive e-mail notices.

-Fixed bug that ommited the first user in the A/R Report.

-Fixed password reset issue preventing users with multiple accounts under a 
single e-mail address from resetting their password.

-Fixed error that prevented the getservices API command from returning data.

-Fixed bug with API not returning all user data with a getclient request.

-Fixed bug with auto close ticket feature that caused tickets to close when they
were not supposed to.

-Improved enom.class.php module regular expression for input validation.

-Improved display of characters in PDFs.

-Improved e-mail regex evaluation.


================================================================================
v. 1.3.3 Apr 17, 2008
================================================================================

Bug Fixes:
~~~~~~~~~~~~~~~~~~~~
-Fixed issue that prevented tax from being properly applied to line items for
services added using the API.


================================================================================
v. 1.3.2 Apr 7, 2008
================================================================================

Bug Fixes:
~~~~~~~~~~~~~~~~~~~~
-Fixed potential XSS vulnerabilities.

-Now prevents editing of back up settings in Tools -> Back Up in DEMO mode.


================================================================================
v. 1.3.1 Mar 31, 2008
================================================================================

Bug Fixes:
~~~~~~~~~~~~~~~~~~~~
-Fixed bug that prevented new service line items being appended to existing 
invoices from incurring tax.


================================================================================
v. 1.3.0 Mar 10, 2008
================================================================================


New Admin Features:
~~~~~~~~~~~~~~~~~~~~
-Added Invoice Creation Report.  This can be confirgured in Tools -> E-mail 
Templates.  This allows admins who are designated to receive Invoice Creation
Reports, daily reports of all invoices created.  To turn on Invoice Creation 
Reports, log in to the root account and navigate to Tools -> Admins.

-Improved layout of E-mail Templates in Tools -> E-mail Templates.

-Added Address 2, Tax ID/VATIN, and Tax Exempt field to client contact settings 
page.

-Added database backup failure notice under Items Requiring Attention.

-Added support for predefined responses.  See Support -> Predefined Responses.

-Improved add/edit invoice interface, also improved logic behind invoice
creation/edits.

-Improved ticket interface.

-Added Auto-close Ticket feature.  This closes tickets that are left open by
clients.  Configure these feature in Tools -> Settings -> Auto-close Ticket 
Settings.

-Improved the mass mailer in Tools -> E-mail Clients to handle clients with
specific packages only.

-Changed default Billing page from Graphs to Enter Payment subnav, to allow 
easier manual payment entries which displays a search box defaulted to
Invoice Number searching.

-Greatly improved support for UTF-8 for invoice creation/editing.  Modified 
/templates/default/f-editinv.pdt and f-invoice.pdt to handle this feature by
replacing htmlentities function wrapper with htmlspecialchars.

-Improved UTF-8 support for mass mailer.

-Updated popup calendar to allow navigating through previous months.

-Added Export feature in Billing -> Exports.


New Client Features:
~~~~~~~~~~~~~~~~~~~~
-Improved ticket interface.


New Misc. Features:
~~~~~~~~~~~~~~~~~~~~
-Added feature to remember the last URL visited in the event of a logout so
that when an admin or client logs back in, they will be directed to the page
they originally tried to access.

-Added createinvoice, gettransapplied, gettransreceived commands to the Blesta 
API.

-Added create_invoice.php, get_trans_applied.php, get_trans_received.php API
samples in /api_samples.

-Added tool tip help bubbles.

-Improved license validation error page.

-Improved security in message/error system.

-The language define _TEMPLATES_EMAIL_LISTTITLE was removed from the system.

-Added the following language defines: _TEMPLATES_EMAIL_LISTTITLE_ADMIN,
_TEMPLATES_EMAIL_LISTTITLE_CLIENT, _TEMPLATES_EMAIL_LISTTITLE_SHARED,
_ADMINS_MANAGE_INVOICEREPORT, _SETTINGS_VIEW_ADVANCED, _FORMAT_DIRECTION,
_FORMAT_LANG, _TT_ADVSETTINGS_MAINTENANCEMODE, _TT_ADVSETTINGS_TAXID,
_TT_SETTINGS_REMOTEKEY, _TT_SETTINGS_COMFYDATE, _TT_SETTINGS_COMFYTIME, 
_TT_SETTINGS_EXP_BACKOFF, _TT_SETTINGS_URL_ORDER, _TT_SETTINGS_ADD_SERVICES, 
_TT_SETTINGS_LICENSE_KEY, _TT_PACKAGES_INSTANTACT, _TT_PACKAGES_STATUS, 
_TT_PACKAGES_WELCOME, _TT_MYINFO_UPDATEBILLING, _TT_SETTINGS_TEMPLATE, 
_TT_SETTINGS_TEMPDIR, _TT_SETTINGS_DEFAULTLANG, _TT_SETTINGS_LATENOTICE1, 
_TT_SETTINGS_LATENOTICE2, _TT_SETTINGS_LATENOTICE3, _TT_SETTINGS_SUSPENDNOTICE,
_TT_SETTINGS_BILLING_RENEWAL, _TT_SETTINGS_BILLING_AUTODEBIT, 
_TT_SETTINGS_INVMETHOD, _TT_PACKAGES_DETAILS, _TT_TAXRULES_NAME,
_TT_TAXRULES_TYPE, _PAYTYPES_CASHU, _PAYTYPES_CHRONOPAY, TITLELOGIN, 
TITLEPASSRESET, _SUBPAGE_TOOLS_TAX, _BUTTON_TAXES_CREATERULE, 
_BUTTON_TAXES_EDITRULE, _BUTTON_TAXES_REMOVERULE, _TAXES_RULES_TITLE, 
_TAXES_RULES_EDITTITLE, _TAXES_RULES_NEWTITLE, _TAXES_RULES_TYPE, 
_TAXES_RULES_NAME,_TAXES_RULES_AMOUNT, _TAXES_RULES_COUNTRY, _TAXES_RULES_STATE,
_TAXES_RULES_NAME_HEADING, _TAXES_RULES_TYPE_HEADING, 
_TAXES_RULES_AMOUNT_HEADING, _TAXES_RULES_COUNTRY_HEADING, 
_TAXES_RULES_STATE_HEADING, TAXRULEADDED, TAXRULEUPDATED, TAXRULEREMOVED, 
TAXRULEUPDATECONFLICT, TAXRULECONFLICT, TAXRULETYPEINVALID, TAXRULECOUNTRYERROR,
TAXRULEAMOUNTINVALID, _TAX_SALES, _TAX_GST, _TAX_VAT, 
_JS_CONFIRM_TAXRULE_REMOVE, _SETTINGS_ADVANCED_ENABLETAX, 
_SETTINGS_ADVANCED_TAXID, _CLIENTS_TAXEXEMPT, _CLIENTS_TAXID, _CLIENTS_ADDRESS2,
_CLIENTS_CLIENT_ADDRESS2, _MYINFO_CONTACTS_ADDRESS2, _MYINFO_MYINFO_ADDRESS2, 
_CLIENTS_INVOICES_NEWNOTE, INVOICEGEN_LINK, FTPDBFAIL_LINK, FTPDBFAIL_MSG, 
_PACKAGES_TAXABLE, _SUBPAGE_SUPPORT_PREDEFINED, _BUTTON_PREDEFINED_ADDRESPONSE,
_BUTTON_PREDEFINED_EDITRESPONSE, RESPONSEADDED, RESPONSEUPDATED, 
RESPONSEREMOVED, _JS_CONFIRM_RESPONSE_REMOVE, _CLIENTS_TICKETS_RESPONSE_NAME,
_CLIENTS_TICKETS_RESPONSE_MESSAGE, _CLIENTS_TICKETS_RESPONSE_ACTION,
_CLIENTS_TICKETS_RESPONSE_TITLE, _CLIENTS_TICKETS_RESPONSES_TITLE,
_CLIENTS_TICKETS_RESPONSE_NOTE, INVALIDTOTALAMOUNT, INVOICEUNEDITABLE, _UNKNOWN,
_SETTINGS_TICKET_TITLE, _SETTINGS_TICKET_NOTIFY, _SETTINGS_TICKET_CLOSE,
_SETTINGS_TICKET_RESPONSE, _TICKETS_TYPE, _EMAIL_CLIENTS_ANYPACKS, 
_EMAIL_CLIENTS_ONLYPACKS, _EMAIL_CLIENTS_SELECTALL, _SUBPAGE_BILLING_EXPORTS,
EXPORTINVALIDFORMAT, EXPORTINVALIDTYPE, _CLIENTS_TICKETS_AREA_SALES, 
_TICKETS_AREA_SALES, _EXPORTS_TYPES_TRX_APPLIED, _EXPORTS_TYPES_TRX_RECEIVED,
_EXPORTS_TYPES_TAX_LIABILITY, _EXPORTS_FORMAT, _EXPORTS_TYPE, _EXPORTS_PAYTYPE, 
_EXPORTS_STATUS, _EXPORTS_STARTDATE, _EXPORTS_ENDDATE, _EXPORTS_TITLE,
_BUTTON_EXPORT_SUBMIT, _EXPORT_TRXRECEIVED_RID, _EXPORT_TRXRECEIVED_TRANSID, 
_EXPORT_TRXRECEIVED_PAYMENTTYPE, _EXPORT_TRXRECEIVED_CLIENTID, 
_EXPORT_TRXRECEIVED_AMOUNT, _EXPORT_TRXRECEIVED_STATUS, 
_EXPORT_TRXRECEIVED_DATETIME, _EXPORT_TRXAPPLIED_RID, _EXPORT_TRXAPPLIED_RID,
_EXPORT_TRXAPPLIED_TRANSID, _EXPORT_TRXAPPLIED_PAYMENTTYPE, 
_EXPORT_TRXAPPLIED_CLIENTID, _EXPORT_TRXAPPLIED_INVOICEID,
_EXPORT_TRXAPPLIED_AMOUNT, _EXPORT_TRXAPPLIED_TOTALAMOUNT, 
_EXPORT_TRXAPPLIED_STATUS, _EXPORT_TRXAPPLIED_DATETIME,
_EXPORT_TAXLIABILITY_INVOICEID, _EXPORT_TAXLIABILITY_CLIENTID, 
_EXPORT_TAXLIABILITY_INVAMOUNT, _EXPORT_TAXLIABILITY_TAXRATE, 
_EXPORT_TAXLIABILITY_TAXAMOUNT, _EXPORT_TAXLIABILITY_DATECLOSED,
_EXPORT_TAXLIABILITY_TAXABLE, PREDEFINEDNAME, PREDEFINEDMESSAGE 

-Modified PASSERR1 language define to reflect the change in setting passwords.

-Added new direction and language definition attributes to the following 
templates in /templates/default/: a-structure.pdt, u-structure.pdt, index.pdt,
passreset.pdt.

-Passwords in Blesta may now consist of any visible ASCII character from the
range of ! (33) through ~ (126).  The maximum limit of 20 characters has also
been removed.

-Improved API to allow better use of local inclusion, and to permit recurring
data to be passed for the getgateways function call to allow gateways that
support recurring payments on certain non-merchant gateways.

-Improved indexes for states, countries, admins, invoices, linvoices, and users 
tables.

-Added support for address 2 field.

-Added support for tax.

-Added the following non-merchant gateways: CashU, Chronopay

-Updated Quantum Gateway to reflect a change in their required post to URL.

-Added the following modules: onlineNIC

-Modified cronjob.php to allow for easier configuration.

-Improved ticket notices.  These now use correct language from the language file
as well as now support date/times using the system wide Comfy Time Format.

-Improved Installation process.  The installation script now checks to ensure
the proper requirements are met before allowing the user to proceed with the
installation.

-DB Backup now uses gzip compression where available.


Bug Fixes:
~~~~~~~~~~~~~~~~~~~~
-Fixed style issue with /templates/default/f-editinv.pdt

-Previously BCC notices for late and suspended services were being sent to 
admins set to receive A/R Reports, rather than those set to receive BCC notices.
This has been corrected.

-When adding a package selecting the module will now correctly display the Tags
available for use by that module for the Welcome E-mail.  This value is also now
correctly saved when creating a package.

-Added a "None" option for state/province drop down on the Client contact page.

-Changed default character set in /inc/phpmailer.class.php to UTF-8.

-Modified /templates/default/f-unewticket.pdt to use language file defines.

-Modified index.php and passreset.php to use language file defines for browser
title.

-Modified /templates/default/r_allservices.pdt to display proper values for
One Time Services under "Term" and "Date Renews" columns.

-Fixed quote issue when adding/editing invoices with double quotes.  Added
htmlentities to output in /templates/default/f-invoice.pdt and f-editinv.pdt.

-Fixed /inc/func.php and /inc/api.class.php to no longer attempt to process 
payments of 0.00.  This also prevents e-mail receipts for amounts of 0.00.

-Accounts with empty credit cards are no longer automatically processed.

-Corrected issue that caused the "Billing cron has not yet been run..." message
to incorrectly appear as an Item Requiring Attention.

-Fixed issue with random generation of pending services IDs that may result in
duplicate keys.

-Admins and Clients may no longer set Inactive Billing contacts to be the
primary Billing Contact.

-Corrected issue that prevented client closed tickets from leaving an empty
update that would show the client closed the ticket.

-Fixed double hyperlinking of text when viewing a ticket from a client's
profile.


================================================================================
v. 1.2.1 Feb 13, 2008
================================================================================

Bug Fixes:
~~~~~~~~~~~~~~~~~~~~
-Fixed issue that may cause a failed payment to be recharged too frequently.


================================================================================
v. 1.2.0 Nov 28, 2007
================================================================================


New Admin Features:
~~~~~~~~~~~~~~~~~~~~
-Added ability to add a service as a line item on an existing invoice.

-Added One-Time Price option for packages.

-Added Advanced Settings under Tools -> View Advance Settings.

-Added API Access Settings.

-Restricted access to "Tools" to only root Admins.

-Added Graphing capabilities.

-Added Anti-Fraud module system, including support for MaxMind.

-Added Maintenance Mode setting that allows root admin to restrict access to
the entire Blesta system.  This is useful when upgrading Blesta and performing
other types of maintenance.
 
-Added ability to create notes on a per client basis.  This is located under the
Actions box of the client page.

-Separated Browse Clients into sections including Active, Inactive, and Fraud.

-Added Maillog feature under View in the Actions box on a client page.

-Added Restricted Packages under Packages -> Package Control List.  This allows
Admins to add users to certain packages whose status is Restricted.

-Admins can now apply coupon codes to the services they create manually.

-Admins are now notified when pending services are awaiting approval.


New Misc. Features:
~~~~~~~~~~~~~~~~~~~~
-Whenever adding or updating a contact's card number any non-numeric characters
are removed automatically.

-Added Blesta API call to "formatcurrency".  This function call will format
a value in 1234.56 format to its correct format with the currency selected in
Blesta.

-Added additional parameter accepted for "getgateway" and "getgayways" API
function calls to support "formatcurrency".

-Added ability to add Reseller accounts using the DirectAdmin module.

-Added the following language defines: _CLIENTS_SERVICES_INVOICEMETHOD, 
_CLIENTS_SERVICES_APPENDINV, _INVOICE_LINEITEM_TERMS, _INVOICE_LINEITEM_TERM,
_SUBPAGE_TOOLS_ANTIFRAUD, _CLIENTS_PENDING_NODETAILS, 
_CLIENTS_PENDING_FRAUDNAME, _CLIENTS_PENDING_FRAUDVALUE, 
_GRAPH_TITLE_NEWCLIENTS, _GRAPH_NO_GD, _GRAPH_DISABLED, UPDATESETADV,
UPDATESETAPI, _SUBPAGE_TOOLS_ADVANCEDSETTINGS, _SUBPAGE_TOOLS_GRAPHS,
_SUBPAGE_TOOLS_TAXES, _SETTINGS_API_TITLE, _SETTINGS_API_NOTE,
_SETTINGS_API_ALLOWFROM, _SETTINGS_API_ALLOWALL, _SETTINGS_API_ALLOWSOME,
_SETTINGS_API_ACCEPTEDIPS, UPDATESETGRAPHS, UPDATEACTIVEGRAPHS,
_GRAPH_UNAVAILABLE, _GRAPH_TITLE_NEWCLIENTS, _GRAPH_TITLE_REVENUE,
_GRAPH_TITLE_INVOICES, _GRAPH_TITLE_INVOICEAMT, _GRAPH_TITLE_SERVICES,
_GRAPH_TITLE_SERVICESCANCELED, _GRAPH_TITLE_CLIENTREVENUE, 
_CLIENTS_ACTIONS_NOTE, _CLIENTS_NOTES_TITLE, _BUTTON_CLIENTS_SAVENOTE, 
_BUTTON_CLIENTS_DISMISSNOTE, NOTESAVED, NOTEDISMISSED, 
_CLIENTS_REVENUESHARE_TITLE, _GRAPH_SETTINGS_TITLE, _GRAPH_SETTINGS_NOTE,
_BUTTON_GRAPHS_SAVEACTIVE, _GRAPH_SETTINGS_SHOWTITLE, 
_GRAPH_SETTINGS_SHOWLABELS, _GRAPH_SETTINGS_SHOWPREVYEAR, 
_GRAPH_SETTINGS_SHOWVALUES, _GRAPH_SETTINGS_PERCENTAGES, _ANTIFRAUD_TITLE,
_ANTIFRAUD_SETTINGS_TITLE, _ANTIFRAUD_MODULE_LABEL, _ANTIFRAUD_NOTE,
_INVOICE_PDF_PAGE, _SYSTEM, _CLIENTS_MAILLOG_TITLE, _CLIENTS_MAILLOG_DATE,
_CLIENTS_MAILLOG_SUBJECT, _CLIENTS_MAILLOG_SUMMARY, _CLIENTS_MAILLOG_TO,
_CLIENTS_MAILLOG_FROM, _CLIENTS_MAILLOG_BODY, _RESTRICTED, 
_PACKAGES_BROWSE_RESTRICTEDTITLE, _PACKAGES_BROWSE_NORESTRICTED,
RESTRICTEDPACKAGE, RESTRICTEDPACKAGEUSER, RESTRICTEDNOPACKAGE, 
_SEARCH_RESULTS_ACTION, COUPONINVALID, _CLIENTS_SERVICES_COUPON,
_PACKAGE_CONTROL_RESTRICTEDTITLE, _PACKAGE_CONTROL_REMOVECLIENT,
_PACKAGE_CONTROL_ADDCLIENT, _PACKAGE_CONTROL_NOTE, _ADD, 
_PACKAGE_CONTROL_NORESTRICTED, _CLIENTS_MAILLOG_NOMAIL, _PAYTYPES_2CHECKOUT


-Moved hyperlinking to the templates for f-editticket.pdt and f-ueditticket.pdt.

-Added htmlspecialchars to f-editticket.pdt and f-ueditticket.pdt so that HTML
and PHP tags will not be parsed by browsers.

-Added HyperVM Module

-Added Plesk Module

-Added Protx VSP Direct Gateway (beta)

-Added Quantum Gateway (beta)

-Added 2Checkout Gateway (beta)

-Added One-Time pricing functionality.

-Added /templates/default/inc/ directory to store additional template specific
files to be included.  This is used mainly for graph_colors.php, which defines
colors for use in displaying graphs.

-Added ability to handle multiple pages per invoice.


Bug Fixes:
~~~~~~~~~~~~~~~~~~~~
-Fixed issue with some currencies not displaying values correctly within the
admin and client interfaces.  Also fixed issue with order system reporting
"Missing Amount" when certain currencies were selected.

-Improved auto-hyperlinking abilities.

-Fixed bug that prevented services from being automatically suspended using the
module associated with the service via the cron.

-Fixed styling issue with /templates/default/f-servicestatus.pdt and 
f-updateuid.pdt

-Fixed bug with /templates/default/passreset.pdt that was not properly putting
focus on the email/user id field for reseting passwords.

-No longer allow deletion of any invoice that has any amount applied to it.

-Fixed issue with invoices being e-mailed out before their Date Billed.
Invoices will now only be delivered by the cron if their Date Billed is on or
before the date the cron runs.

-Fixed error with maillog that would record the user id for any ticket notice 
that was sent out admins set to receive such notices.

-Fixed issue with coupon codes not being used when orders were created as 
pending.

-Fixed issue with inactive coupon codes not appearing in the admin interface.

-Invoices can not longer be deleted when any amount has been applied to them.


================================================================================
v. 1.1.1 Sep 24, 2007
================================================================================

Bug Fixes:
~~~~~~~~~~~~~~~~~~~~
-Fixed update ticket bug in admin control panel while viewing client.

-Fixed bug with sending notices for tickets if updating as an admin while
viewing a client.

-Fixed styling issue with f-templates.pdt


================================================================================
v. 1.1.0 Sep 19, 2007
================================================================================

New Admin Features:
~~~~~~~~~~~~~~~~~~~~
-Added Settings for allowing/disallowing clients to add services.

-Added Setting for creating services immediately or on approval.

-Added Pending Services table to Client page.  This table only appears if a
client has at least 1 pending service.

-Added Total Credit to the Client Box.

-Added Send Welcome as an option when either adding or approving a service.

-Added Order Settings box, and added additional setting "URL to Order Form".
If "Allow Clients to Add Services" is set to "No", the link on the client side
to add a service will point to this URL.

-Updated /cron/bill-cron.php to automatically add services that have been paid 
and are pending if, and only if, the "Create Services" setting is set to 
"immediately." This really only applies to orders that are paid with non-
merchant gateways such as PayPal and Google Checkout.


New Client Features:
~~~~~~~~~~~~~~~~~~~~
-Added Pending Services table to Client Home page.  This table only appears if a
client has at least 1 pending service.

-Added Total Credit to the Transaction table heading under Billing.  This will
only be shown if the client has an active credit on their account.


New Misc. Features:
~~~~~~~~~~~~~~~~~~~~
-Modified /inc/import.class.php to allow credit card to be imported while
optionally specifying an expiration date.  This allows easy import of card
numbers when card expiration dates have already been imported.

-Added DirectAdmin Module

-Added hyperlinking of URLs and e-mail addresses in all tickets.

-Added Delete Coupon functionality in Packages -> Coupons

-Added the following language defines:
COUPONDELETE, _JS_CONFIRM_COUPON_DELETE, and _BUTTON_COUPONS_DELETE,
_SETTINGS_SERVICE_ADDSERVICES, _SETTINGS_SERVICE_CREATESERVICES, 
_SETTINGS_SERVICE_IMMEDIATELY, _SETTINGS_SERVICE_ONAPPROVAL, SERVICEPENDING,
_ABILLING_SERVICES_CANCELEDTITLE, _ABILLING_SERVICES_CURRENTTITLE,
_ABILLING_SERVICES_PENDINGTITLE, _ABILLING_SERVICES_DATECANCELED, 
_ABILLING_SERVICES_DATEORDERED, _PENDING, _CURRENT, OPENTICKETS, 
_BUTTON_SERVICES_REMOVEPENDING, PENDINGREMOVED, _SERVICES_PENDINGTITLE,
_SERVICES_DATEORDERED, _SUBPAGE_TOOLS_GATEWAYS, _SETTINGS_GATEWAY_MERCHANT,
_SETTINGS_GATEWAY_NONMERCHANT, _SETTINGS_GATEWAY_NOTE, 
_BUTTON_SETTINGS_SAVEGATEWAY, _PAYMENT_NONMERCHANTTITLE, 
_PAYTYPES_GOOGLECHECKOUT, _PAYSTATUS_PENDING, _CLIENTS_CLIENT_CREDIT,
_TRANSACTION_CREDIT, _ABILLING_SERVICES_PAID, _SERVICES_PAID,
_CLIENTS_SERVICES_SENDWELCOME, UPDATESETOSUCCESS

-Renamed _SUBPAGE_BILLING_SUSPENDED to _SUBPAGE_BILLING_SERVICES in language.

-Added "googlecheckout" to PAYTYPES in /inc/config.php.

-Added Non-Merchant Gateway support.

-Added PayPal Gateway.

-Added Google Checkout Gateway.

-Updated Authorize.net, Bluepay, and Payflow Pro Gateway Modules to version 1.1.
The gateway name is now read from the contents of the gateway class file.

-Added upgrade script support.

-Added getstates and getcountries API calls.


Bug Fixes:
~~~~~~~~~~~~~~~~~~~~
-Fixed bug with template a-allinvoices.pdt that linked to the wrong location for
editing and paying invoices on Billing -> Invoices.

-Fixed bug with adding services from the admin side that caused the service not
to be created within Blesta but did create the service remotely using the given
module.

-Fixed output buffer error that was occuring when UTF-8 documents used for
language contained byte markers.

-Fixed bug with selected language files not displaying as selected in Tools ->
Settings.

-Fixed typo in /tempaltes/default/f-unewticket.pdt from _ICKETS_AREA_BILLING to
_TICKETS_AREA_BILLING.

-Fixed type in /templates/default/f-ueditticket.pdt from _TICKETS_CLOSEDON to
_TICKETS_UPDATEDON.

-Fixed styling issues with the following templates:
f-umyinfo.pdt, f-updatecid.pdt, f-updateuid.pdt, r-allservices.pdt, index.pdt,
f-upay.pdt, f-upayinv.pdt, f-ueditticket.pdt, f-changepass.pdt, passreset.pdt,
f-uservice.pdt, f-myset.pdt

-Fixed bug in IE that caused lines in the E-mail Clients Console to run off the 
page.  New lines in the Console now use <br /> rather than \n.


================================================================================
v. 1.0.0 Aug 21, 2007
================================================================================

New Misc. Features:
~~~~~~~~~~~~~~~~~~~~
-Blesta will now repopulate all fields (except term) when adding a service.

-Added Date Closed to all closed invoices tables.

-Added _ABILLING_INVOICES_DATECLOSED, _INVOICES_DATECLOSED, and
_CLIENTS_INVOICES_DATECLOSED to language.


Bug Fixes:
~~~~~~~~~~~~~~~~~~~~
-Fixed error with eNom module not providing the proper Registrant contact info.

-Fixed error with the way Module detail array fields were being handle.  They
were previously not be included in the regex for required fields.

-Fixed bug that would attempt to auto debit cards every time the bill-cron ran
if Auto Debit Exponential Backoff was set to Off.


================================================================================
v. 0.9.5 Aug 17, 2007
================================================================================

New Admin Features:
~~~~~~~~~~~~~~~~~~~~
-Failed payments for individual and multiple invoices now repost most fields on 
error.


New Misc. Features:
~~~~~~~~~~~~~~~~~~~~
-Added [packagename] tag to Order Failure and Order Success Notice e-mail
templates.

-Added addPackageHTMLSelectOption function to /inc/module.class.php

-Replaced [name] tag with [fname] and [lname] for Invoice Delivery (Paid) and
Invoice Delivery (Unpaid) e-mail templates.

-Added applypayment action to Blesta API system.

-Added two new API samples in /api_samples: apply_payment.php, get_coupon.php.

-Added _PAYTYPES_OTHER to the Language File to support "Other" payment types.


Bug Fixes:
~~~~~~~~~~~~~~~~~~~~
-The [amount] tag in Auto Debit e-mails will now be formatted according to the 
currency settings in Tools -> Settings -> Billing/Payment Settings.

-Fixed a bug in manually Suspending or Removing a service that prevented this
action.

-Fixed /templates/f-transactionstatus.pdt not supplying the correct value for 
the transaction status dropdown.

-Invoices with a total amount of 0.00 due will now correctly be closed when
bill-cron is run.

-Payment amounts of zero or negative values will no longer attempt to be 
processed.


================================================================================
v. 0.9.1 Aug 1, 2007
================================================================================
Notes: Revised Second Beta Release


New Admin Features:
~~~~~~~~~~~~~~~~~~~~
-Added License Settings to Tools -> Settings


New Misc. Features:
~~~~~~~~~~~~~~~~~~~~
-Added auto-generation of AES Encryption Key and Access Key for installation.

-Added a / (forward slash) to the autogenerated Root Web Directory.

-Improved Packages -> New/Edit Packages interface by replacing "Module String" 
with the actual field required as defined in the module class file.

-Made changes to /inc/module.class.php to support the above feature.

-Made misc. changes to language files and templates.


================================================================================
v. 0.9.0 Jul 31, 2007
================================================================================
Notes: Second Beta Release


New Admin Features:
~~~~~~~~~~~~~~~~~~~~
-Added Billing -> Transactions

-Added Packages -> Coupons

-Added Tools -> Currencies

-Added Tools -> Standard Settings -> Comfy Date Format

-Added Tools -> Standard Settings -> Comfy Time Format

-Added Tools -> E-mail Templates -> Credit Card Expiration Notice

-Added Tools -> E-mail Templates -> Order Failure Notice

-Added Tools -> E-mail Templates -> Order Success Notice

-Added Tools -> E-mail Templates -> Welcome

-Added Packages -> Edit/New Packages -> Welcome E-mail

-Improved Tools -> E-mail Clients



New Client Features:
~~~~~~~~~~~~~~~~~~~~
-Simplified Client Contact Settings


New Misc. Features:
~~~~~~~~~~~~~~~~~~~~
-Added Language File Support

-Added Order System API

-Added Order Page

-Added Welcome E-mail Functionality

-Rewrote Module/Gateway files to utilize OOP.  Rewrote Blesta backend to handle
these objects.


Bug Fixes:
~~~~~~~~~~~~~~~~~~~~
-After searching for a Client ID under Billing -> Enter Payment and completing 
a payment, Admins will now be forwarded back to Enter Payment page, rather than
back to the Client page.

-New Admins will now be added as with the status selected in Tools -> Admins.
Previously all admins were marked as "inactive" regardless of what status
was selected from the "Acct. Status" drop down.

-E-mails that are sent to multiple recipients will now have their addresses 
stored in the maillog table properly.  Previously the maillog would store 
"Array" rather than as multiple addresses.

-When editing a package, clicking "Add Additional Price" will no longer erase 
the recently entered values.

-Only credit transactions marked as "approved" will be used to pay invoices.

-When modifying a client's details "None" was previously missing from the state
drop down list.  This has been fixed.


================================================================================
v. 0.2.0 Jun 29, 2007
================================================================================
Notes: Initial Beta Release

