CHANGELOG

2014-01-01 Jethro Carr <jethro.carr@amberdms.com>

	* Released version 2.0.1

	New Functionality
	* Invoices and credit notes can be downloaded via SOAP API call (thanks to Max Milaney's contribution).
	* Database schema updater now supported hosted/multi-instance mode.

	Bug Fixes
	* Service type "licenses" was missing in release 2.0.0
	* Quotes page was missing edit/delete links (issue 395)
	* Compatibility fixes for MySQL 5.6 STRICT mode.
	* Fixes to the PHP HTTPS redirect (thanks to Dmitry Smirnov)
	* Minor user interface fixes.

	Other
	* Upgraded to latest Amberphplib framework.
	* Developer stats collection option provide more details about what gets sent home to developers.


2013-06-09 Jethro Carr <jethro.carr@amberdms.com>

	* Released version 2.0.0
	* (Formally 1.5.0 - version bumped to reflect vast amount of changes)

	New Functionality
	* Improved UX of CDR service history.
	* Added customer balance total option to customers page

	Bug Fixes
	* Bug Fix: Minor packaging fixes and adjustments
	* Bug Fix: Workaround for dealing with OSes shipping poor wkhtmltopdf versions.
	* Bug Fix: Disabling & re-enabling a service caused duplicate periods bug
	* Bug Fix: Resolved issues where CDR call charges were billed in the incorrect order
	* Bug Fix: Fixed calculation of customer balance. Was previously not taking into account credit note refund/payments. 


2012-08-11 Jethro Carr <jethro.carr@amberdms.com>
	
	* Released version 1.5.0_rc_1

	New Functionality
	* Added ability for Customers to have multiple contacts (issue 130)
	* Added ability to add new projects/ phases without leaving page.
	* Added ability to clean and validate multiple email addresses in form fields for issue 164
	* Added ability to set default taxes as per issue 222
	* Added bulk payment features for AR accounts as per issue 187
	* Added CDR CSV output to the service detail for phone_* services. This allows the customer to be selected for automatic CDR CSV output at time of the billing run (issue 335)
	* Added classic theme as per issue 34
	* Added dependency status page as per issue 183
	* Added dorm_helper_prepare_dromfownfromobj function - creates dropdown from SQL object rather than string - will replace CURRENTID key with default value at render time if needbe
	* Added email form at bottom of account statements page to allow for customer reminder emails
	* Added error check for currency separators to ensure the values are different
	* Added groups and the ability to mass select and deselect
	* Added Jquery UI for additional application capabilities
	* Added local prefix column to DDI display to ease config debugging
	* Added local prefix field to customer DDI configuration (issue 273)
	* Added missing discount field. (issue 90)
	* Added missing discount functionality (issue 90)
	* Added missing translation (issue 90)
	* Added multiple contacts to vendors as per issue 130
	* Added new date format dd-Mmm-yyyy (issue 293)
	* Added new searchable dropdowns to user options page to match user details admin pages.
	* Added new SQL for recent theme and attribute page changes.
	* Added orders delete safety check (issue 90)
	* Added parent service reference. (issue 307)
	* Added recent DB changes for issue 335, issue 346 and issue 345 to install/update SQL.
	* Added roles to customers
	* Added search box to filter invoice list based on notes field (issue 201)
	* Added support for billgroup to NAD import (issue 300)
	* Added the ability to configure decimal and thousands separators
	* Added translation mode icon. (issue 166)
	* Added web 2.0 theme
	* Additional improvements to clear out incorrect unbilled periods due to date change (issue 334)
	* Addition of previous activity section to invoice templates which support it.
	* Adjusted activity timer with flexible configuration field. (issue 276)
	* Adjusted CDR export to use code_customer value rather than the backend DB ID. (issue 335)
	* Adjusted display code to support new AR/AP credit notes (issue 30)
	* Adjusted format of invoice trunk and DDI pricing to include date range and handle 0 included better (issue 296)
	* Adjusted invoice generation to use currency format consistantly
	* Adjusted invoicing backend to use same logic for both form-based email sending and cron-based email sending. (issue 130)
	* Adjusted linkage to resellers page to only be displayed if the customer *is* a reseller. (issue 335)
	* Adjusted locations of some AJAX files.
	* Adjusted permissions checks for new project/phase AJAX add forms on the time keeping interface.
	* Adjusted require functions to reflect recent OO code changes leading to breakage as per issue 177.
	* Adjusted UI to provide better appearance for grouped checkboxes. (issue 200)
	* Adjusting page configuration options order (issue 223)
	* Adjustments to CDR and IPv4 logic and UI. (issue 180)
	* Adjust ordering of CDR export columns to suit with specification. (issue 335)
	* An SQL function will need to be created to transfer some contact details from Customer table into the new customer_contacts and customer_contact_records tables.
	* Added bulk payment feature to AP (issue 187)
	* Auto complete and auto display new attribute rows
	* Changes for issue 146: Adding the quotes section to the templates page
	* Changes for issue 146: Adding the quote template thumbnail images
	* Changes for issue 146: Improving a quote template thumbnail images
	* Changes for issue 146, making latex quotes work again, and adding xhtml quote templates
	* Changes to packaging helper scripts to reflect move from CVS to SVN
	* Changes to support 4 SF rate tables (issue 311)
	* Checking in a fix in bankstatement-csv.php for issue 165
	* Checking in a modification to the template page and javascript to remove an ID being used twice
	* Completed changes needed to provide credit note journaling. (issue 30)
	* Completed partial period logic and increase debugging verobisty and usefulness of messages. (issue 32)
	* Core functionalities of attribute page completed
	* Corrected file naming format of selinux modules to suit RPMs
	* Correct sample cronfile mistake, not including correct usage script.
	* Created log_debug function to allow for safer bug tracking
	* DB changes for account statement/reminder page (issue 221)
	* DB changes for IPv6 compatibility (issue 234)
	* DB changes for multiple contacts (issue 130)
	* DB changes for simplified permissions page (issue 200)
	* DB changes for translation tool (issue 166)
	* Defined user ID as 0 to prevent undefined index warning.
	* Delete attributes and groups
	* Deleteing a customer now deletes both contacts and records
	* Disabled new coding being done for issue 167, will roll with web 1.0 style DDI management and deploy javascript interface in future release.
	* Displays all overdue invoices, with option to email reminders in bulk
	* Displays sent status and errors without user having to manually refresh
	* Edited pages that use customer database to deal with new format
	* Enhancements for auto-reload after download for issue 1156
	* Error handling is broken still
	* Expanded capabilities of format_arraytocommastring function for more formatting options
	* Extracted more inline css
	* FR: Enable adjustment of service start date when service has yet to be billed. (issue 334)
	* Implementation of new support functions in Amberphplib (to support features required for issue 335)
	* Implemented ability to charge for self-calls in different methods. (issue 289)
	* Implemented ability to display service charge details for all customers or for all services for a particular customer. (issue 345)
	* Implemented ability to enable/disable specific service types (issue 223)
	* Implemented ability to enable/disable specific service usage unit types (issue 223)
	* Implemented ability to export CDR records in the configured format (issue 335)
	* Implemented ability to lock credit notes. (issue 30)
	* Implemented ability to make payment of invoices from customer/vendor credit pools. (issue 30)
	* Implemented ability to override data_usage data caps and excess pricing. (issue 308)
	* Implemented ability to rename/adjust descriptions for service types, to enable customers wanting to add detailed instructions for staff. (issue 223)
	* Implemented Account Statements as per issue 221
	* Implemented additional NAD import modes (expanding on issue 273)
	* Implemented AJAX actions for customer/invoice selection when adding or editing credit notes. (issue 30)
	* Implemented alpha-grade credit note handling for AR credits. (issue 30)
	* Implemented autocomplete capability for Amberphplib, using jquery-ui logic
	* Implemented automatic addition of order items to regular service invoices. (issue 90)
	* Implemented base of customer orders functionality (issue 90)
	* Implemented basic customer credit pool for refunds/credit notes to be stored against an account. (issue 30)
	* Implemented basic NAD import functionality. (issue 273)
	* Implemented beginning of credit note handling for AP credits. (issue 30)
	* Implemented better configuration options for invoice emailing.
	* Implemented bill groups for CDRs (issue 300)
	* Implemented billing cycle and billing mode enable/disable options. (issue 223)
	* Implemented bug fix for SQL queries on cron scripts when executing on a hosted platform - issue was caused by a change in approach of Amberphplib's handling of DB sessions. (issue 177)
	* Implemented CDR export generate & email logic. (issue 335)
	* Implemented CDR internal data source for call records. (issue 224)
	* Implemented configurable autopayment option to have automatically generated invoices paid from customer credit when applicable. (issue 30)
	* Implemented configuration option for default language (issue 166)
	* Implemented credit refund transaction handling. (issue 30)
	* Implemented date shifting for invoice dates. (issue 318)
	* Implemented DDI and trunk allocation overrides. (issue 296)
	* Implemented external database traffic accounting and usage notification. (issue 178)
	* Implemented fixes for credit notes in annual reports. (issue 197)
	* Implemented fixes for trial balance totals. (issue 197)
	* Implemented fix to support legacy API with new multiple-contacts capabilities. (issue 369)
	* Implemented fix to support legacy API with new multiple-contacts capabilities. (issue 369)
	* Implemented function to import form data from an associative array
	* Implemented improved bank statement import error handling. (issue 31)
	* Implemented improved rate filtering/grouping logic using javascript (issue 302).
	* Implemented local call charging. (issue 220)
	* Implemented monthly cron process for generating order invoices. (issue 90)
	* Implemented more advanced billing reports for batch processing jobs. (issue 277)
	* Implemented new configuration option for selecting CDR output format. Currently limited to one, but possible for others in future. (issue 335)
	* Implemented new customer attribute feature as per issue 132
	* Implemented new data traffic service usage notifications to support multiple data cap/traffic type functionalities. (issue 319)
	* Implemented new fields for storing upstream/provider vendor ID and general notes. (issue 223)
	* Implemented new functions for generating grouped array data structures
	* Implemented new repair scripts to issue credits against incorrectly billed service usage (issue 310)
	* Implemented new structure, cronjob seporation and configuration options for service usage notifications (issue 320)
	* Implemented new traffic type billing capabilities - services will now bill and itemise different traffic types. (issue 319)
	* Implemented new UI features for timekeeping
	* Implemented new user interface for performing application translations. (issue 166)
	* Implemented new weekly, fortnightly and quarterly billing cycle options (issue 206)
	* Implemented region-based local calling prefix (issue 220)
	* Implemented region-based local prefix configuration (issue 220)
	* Implemented repair script to compare call pricing between historical and new periods.
	* Implemented repair script to enable sending of bulk invoices (issue 342)
	* Implemented seporatation of usage notification from invoicing. (issue 320)
	* Implemented service end date and termination (issue 309)
	* Implemented service rebilling for repair script processes. (issue 310)
	* Implemented service setup fee -> orders handling (issue 90)
	* Implemented support for traffic_summary schema. (issue 286)
	* Implemented traffic type management UI for regional/type data traffic billing (issue 319)
	* Implemented type-specific data cap override functionality (issue 319)
	* Implement invoicing history in telco style invoice.
	* Improved CSS for translation popup (issue 166)
	* Improved customer attributes page handling (issue 132)
	* Improved handling of prefixes (issue 233)
	* Improved matching of NAD records. (issue 273)
	* Improved service and product group handling
	* Improved UI of rate displays to better handle large tables of prefixes and to shorten to selected region/bill groups. (issue 302)
	* Improved UI showing usage vs plan invoice billed status. (issue 33)
	* Improvements to CDR repair to provide the ability to refund *just* CDR charges, and not the DDI/trunk charges associated. (issue 310)
	* Improvided CSV import functionality and display of call records. (issue 273)
	* Improvments to service usage functionality
	* Issue 144: Minor Invoice Tweaks - bug fixed in if statements, text unbolded, address fixed
	* Issue 144: Minor Invoice Tweaks - telco style invoice fixed
	* Large number of bug fixes and improvements to the codebase resulting from testing. (issue 31)
	* Lightened up gray border
	* Made adjustments to structure of usage code sections. (issue 179)
	* Main bits and bobs should be working, but not yet thoroughly tested
	* Merged Amberphplib v_20110327
	* Merged in SQL changes required for new Credit Notes functionality (issue 30)
	* Minor adjustments due to need to support PHP < 5.3
	* Minor adjustments to ordering and display of new permissions groups. (issue 200)
	* Minor adjustments to remove debugging that breaks non-developer systems (issue 132)
	* Minor logging change to framework
	* Missed a couple debugging lines, now removed
	* More features and bug fixes for attributes page
	* Move attributes
	* Moved generic usage handling into seporate class/file
	* Moving AJAX files out of include/
	* New Groups
	* New schema changes including features from issue 206, 187 and 184.
	* New tables to be added as such:
	* Now using money_format function to format output
	* Prepared new clean install SQL file to reflect changed database structure.
	* Refresh invoice-export page when invoice is downloaded/ emailed
	* Removed deprecated taxation calculation logic (issue 285)
	* Resolved bug with handling of error code returns from authentication that lead to silent access denial
	* Safety check: Unable to delete an invoice which has a credit note assigned to it. (issue 30)
	* Schema upgrade 20100803 for numerious issues.
	* see issue 200 for necessary DB changes
	* SELinux policies for Fedora 13 (required for issue 171)
	* separated css to enable simpler themeing 
	* SQL changes for usage bug fixes (issue 33)
	* SQL changes required for NAD import and region-based local calling prefixes.
	* Started assembly of new schemea update
	* Tided up reseller's user interface and added filter option for resellers to the customer list page. (issue 335)
	* Tidying up of the permissions UI
	* Tweaks to service usage handling code. (issue 180)
	* UI changes and improvements to support credit notes for customers/AR (issue 30)
	* UI for DDI ranges to be added to services page
	* UI improvement: added product name to items table
	* Updated copyright for 2011
	* Updated currency processing to accept user configs as per issue 184
	* Updated dropdowns throughout billing system to order by codes rather than names and to hide closed customers/vendors/projects etc
	* Updated for schema changes for 20110519.
	* Updated menu links for customer orders page. (issue 90)
	* Updated product documentation - for changes introduced in issue 319
	* Updated tax reports to include credit notes into calculations. (issue 30)
	* Upgraded framework to provide filtering options (issue 302)
	* Upgraded handling of product taxes to provide the same behaviour as customers and vendors.
	* Upgrades to Amberphplib CLI-based debugging & logging. (issue 285)
	* Usability: Extended timer from 1second to 2seconds (handles slower servers better)
	* Various credit note functional changes and fixes. (issue 30)
	* Very rough customer attributes UI/ group abilities

	Bug Fixes:
	* Bug Fix: Added billgroup dropdown for CSV import (issue 273)
	* Bug Fix: Added handling code for non-usage services to prevent fatal errors. (issue 274)
	* Bug Fix: Added missing debug statements to new function. (issue 130)
	* Bug Fix: Adding a contact without a description would add a broken entry. (issue 130)
	* Bug Fix: Added missing dependency php-pear-Mail to RPM (issue 171)
	* Bug Fix: Adjusted automatic page reload timer from 2000 ms to 8000 ms to handle delays in invoice prep (issue 280)
	* Bug Fix: Better handling when unexpected issues cause a template file to be missing
	* Bug Fix: CDR rates view page showing items belonging to other rates tables. (issue 180)
	* Bug Fix: Charge for trunk calls on tollfree phone services. (issue 297)
	* Bug Fix: Check on credit balance before accepting credit payments. (issue 30)
	* Bug Fix: Check for both mail modules in inc_invoices (issue 183)
	* Bug Fix: Commited fix to handle phone_* items properly for partial periods. (issue 298)
	* Bug Fix: Commited fix to handle telco mode usage periods properly for partial time periods. (issue 298)
	* Bug Fix: Commited fix for Issue 140: Invoice text template
	* Bug Fix: Correct by usage unit billing to return to 2 significant figures (eg 27.12 GB) and to bill and display accordingly. (issue 328)
	* Bug Fix: Corrected broken button on service bundle parent link. (issue 323)
	* Bug Fix: Corrected clearence of SQL query cache
	* Bug Fix: Corrected config attribute name
	* Bug Fix: Corrected display of billing modes that have been disabled/de-activated.
	* Bug Fix: Corrected display problem of service usage groups vs service plan groups
	* Bug Fix: Corrected handling of service invoice billing date
	* Bug Fix: Corrected incorrect SQL query (issue 223)
	* Bug Fix: corrected issue where checkbox states not being saved across error returns.
	* Bug Fix: corrected reference to "balance owing" in quotes template. (issue 263)
	* Bug Fix: Corrected return path email address to ensure bounces return to a useful mailbox address. (issue 185)
	* Bug Fix: Corrected service usage notifications to respect service override options using new OO classes. (issue 320)
	* Bug Fix: Corrected traffic type edit check - related to issue 319
	* Bug Fix: Correctly disable services rather than infiloop (issue 329)
	* Bug Fix: Correctly handle incremental usage alerts, so that slow accurual of usage will still trigger alerts. (issue 33)
	* Bug Fix: Correctly handling CSS require paths
	* Bug Fix: Correctly import configuration values from DB
	* Bug Fix: Correct statement history invoice order and prevent more recent invoices from appearing.
	* Bug Fix: CSS class was being broken when help messages were also used. (issue 292)
	* Bug Fix: Eliminated billgroups that have no charges associated from invoices to reduce clutter. (issue 300)
	* Bug Fix: Emails now work from cron. (issue 130)
	* Bug Fix: Enabled ability to override a service fee with $0. (issue 322)
	* Bug Fix: Corrected E_NOTICE errors (issue 279)
	* Bug Fix for new service final period/termination option. (issue 309)
	* Bug Fix: Removed pricing display for individual services from bundle members. (issue 180)
	* Bug Fix: Excess PHP error notices (issue 279)
	* Bug Fix: Fixed deletion of credit payments to prevent breaking other credit payments. (issue 30)
	* Bug Fix: Fixed local call charging application bug.
	* Bug Fix: Fixed problem with bad invoices causing complete billing run failure, now will only impact one invoice. (issue 277)
	* Bug Fix: Fixed sanity and safety checks of input for orders (issue 325)
	* Bug Fix: Fixed UI error. (issue 300)
	* Bug Fix: Fixing up field display formatting, recent code changes resulted in removal of newline after each checkbox
	* Bug Fix: Fixed transaction handling where a new transaction would not be opened after completing the previous one. (issue 282)
	* Bug Fix: Fixed issue with $_GET paramater handling
	* Bug Fix: Fixed a magic quotes bug with API input data
	* Bug Fix: Fixed API functionality for release 1.5.0 (issue 369)
	* Bug Fix: fixed a taborder bug in customers page
	* Bug Fix: Fixed bug in customer attributes page caused by new translation dialogue options
	* Bug Fix: Fixed bug with new contacts handling (issue 130)
	* Bug Fix: Fixed css themeing bugs as per issue 154
	* Bug Fix: Fixed customer orders deletion after invoicing. (issue 90)
	* Bug Fix: Fixed customers page to work with new database structure
	* Bug Fix: Fixed error messages and processing order in AR Bulk Payment
	* Bug Fix: Fixed errors caused by OO code structure changes.
	* Bug Fix: Fixed issue with incorrect include of bundled services. (issue 345)
	* Bug Fix: Fixed minor javascript logic bug where aftering adding a new project, the add phase field would remain disabled.
	* Bug Fix: Fixed missing dest_account for automatic invoice payments from customer credit. (issue 317)
	* Bug Fix: Fixed missing dest_account on credit note items. (issue 317)
	* Bug Fix: Fixed missing include in cronjob for service/orders billing
	* Bug Fix: Fixed number of PHP notice errors (issue 279)
	* Bug Fix: Fixed packaging bug.
	* Bug Fix: Fixed payment processeing bug for AR bulk payments
	* Bug Fix: Fixed problems with select filtering working with dynamically created elements
	* Bug Fix: Fixed SQL query mistake
	* Bug Fix: Fixed version number. :-)
	* Bug Fix: Fixes for 4 SF CDR call rates. (issue 311)
	* Bug Fix: Fixes for issue 144: Minor Invoice Tweaks - PO and order numbers in XHTML templates, PO number in LaTeX templates 
	* Bug Fix: Fixing a spelling error, charactors to characters.
	* Bug Fix for month-based billing with periods > 1 month (eg bimonthly, 6monthly, yearly) to correctly bill for partial periods. (issue 333)
	* Bug Fix: Framework grouped structure bug
	* Bug Fix: generic_usage, license service types usage field broken (issue 281)
	* Bug Fix: If an email address doesn't exist for a customer, don't generate one.
	* Bug Fix: Implemented support for accurate usage notifications on short and long billing periods. (issue 320)
	* Bug Fix: Improved 100% internet usage check
	* Bug Fix: Incorrect error handling for traffic modes
	* Bug Fix - Incorrectly ignoring the final DDI with ranges when billing. Bug found by Junewon Park.
	* Bug Fix: Invalid reference to table_highlight_green CSS attribute replaced with table_highlight_open
	* Bug Fix: Missing helpmessage javascript and CSS logic
	* Bug Fix: mistake in date shift function logic
	* Bug Fix: No invoice generated field, use send date (issue 180)
	* Bug Fix: Orders invoices are still emailed when ACCOUNTS_INVOICE_AUTOEMAIL is disabled. (issue 326)
	* Bug Fix: Removed left over console message
	* Bug Fix: Removed obsolete search keyword terms
	* Bug Fix: Resellers logic sometimes causes invalid errors due to no reseller ID provided when not needed.
	* Bug Fix: Resolution of debugging issue where page becomes overly wide on chrome. (issue 275)
	* Bug Fix: Resolved issue caused by new "active" field in joined tables.
	* Bug Fix: Resolved issue with invoice wrapping failing on newlines in invoice descriptions. (issue 306)
	* Bug Fix: Resolved issue with overdue notifications being applied to non-overdue invoices. UI now correctly shows invoices 1+ days overdue. (issue 221)
	* Bug Fix: Service IPv4 and DDI information will now be deleted when the service is deleted from the customer. (issue 180)
	* Bug Fix to correctly bill yearly services with month-based billing yearly, rather than monthly (issue 333)
	* Bug Fix: UI improvement, no longer display 0 as the default for a generic_with_usage service. (issue 321)
	* Bug Fix: unable to enable/disable service units.
	* Bug Fix: Various fixes for E_NOTICE handling. (issue 279)
	* Bug Fix: When generating batch invoices from the cron process, only the first invoice would succeed, subsequent invoices would be unable to load the template file due to being stuck in /tmp directory.
	* Bug Fix: When generating multiple invoices in an automated process, the includes can cause functional breakage - replaced with include once and surpressed errors


2010-06-28 Jethro Carr <jethro.carr@amberdms.com>

	* Released version 1.5.0_beta_1

	Invoicing Changes
	* Implementation of new XHTML/CSS to PDF rendering code using the wkhtmltopdf application powered by webkit
	* Implementation of service and product group support on some invoice templates.
	* Implementation of new XHTML-based version of the basic english invoice.
	* Implementation of new XHTML-based telco/provider style invoice.
	* Improved template configuration/selection page.
	* Improved template logic processing to provide multiple levels of foreach loops and if statements
	* Improved new template loops to inherit global values inside loops when no loop value has been supplied.
	* Improved various invoices to show customer tax field (issue 120)

	New Product Capabilities
	* Removed manual tax capabilities from products page due to breaking conformity with rest of application as well as being the cause of a lot of user confusion. It is not believed that this feature was useful to anyone.
	* Implemented ability to display discount in product listing.

	New Service Capabilities
	* Implementation of new object-orientated code structure and functions for better development and expandability of service billing logic.
	* Implemented new billing methods - telcoperiod and telecomonth for arrears billing of usage costs
	* Implementation of service bundling, allowing different service types to be grouped and billed
	* Implementation of new service groups feature, including service group nesting/levels.
	* Implementation of new invoice itme type "service" to better handle service entries on invoices.
	* Implementation of discounts on services.
	* Implementation of capability to override price and discount on services on a per-customer basis
	* Improved customer-service handling functions inside ABS.
	* Improved a number of internal APIs and class structures.

	New VoIP Service Capabilities
	* Implemented new VoIP billing capabilities
	* Implemented phone_trunk, phone_tollfree and phone_single service types.
	* Implemented call rate table features for handling different region charges.
	* Implemented ability to override call charges for a specific customer or service/plan.
	* Implemented interface for setting DDIs assigned to a customer.
	* Implemented interface for setting IPv4s assigned to a customer.
	* Implemented CSV import function for call rates from VoIP providers
	* Implemented CDR rate billing & call record history viewing for selected customers.

	Timekeeping
	* Removed unnecessary steps for accessing timekeeping page.
	* Improved time entry by splitting project/phase dropdown into two AJAX dropdowns.

	Customer Portal
	* Implemented various new SOAP API calls for customer portal integration.
	* Implemented new customer management tab for setting portal login details.

	Usability Changes
	* Added external JQuery library to provider greater javascript capabilities.
	* Added Javascript logic for growing the GL entry form on demand as well as automatically calculating the totals.
	* Added popup.php page for more options for user interaction.
	* Added shipping/billing same address option to customers and vendors (issue 128)
	* Added new search dropdown logic throughout most of application as per issue 94
	* Added new AJAX logic and improved item entry for invoices and quotes.
	* Added theming ability. New directory created: "themes" to store subdirectory of custom CSS and logos
	* Improved use of CSS and HTML throughout the application.
	* Improved radio and button items to use labels for better usability when clicking on items.
	* Improved configuration page by splitting into multiple pages.
	* Improved menu navigation by breaking products, services and projects into separate menu categories
	* Improved forms by updating application to use new "money" field type that includes currency information.

	Amberphplib Support Functions:
	* Implemented function to allow selecting a single row from the database.
	* Implemented features to allow if logic for table row links.
	* Implemented SQL query catching for form elements to reduce repeat queries.
	* Implemented new percentage field.
	* Implemented new "money" form field for better usability.
	* Implemented of new $this->requires structure for including CSS and Javascript files.
	* Implemented translation functions.
	* Implemented multisession capabilities for Amberphplib.
	* Implemented ipv4 subnet query function.
	* Implemented function for splicing arrays into other arrays by key.
	* Implemented function to select a target column from the database.
	* Merged LDAP authentication capabilities developed for ldapauthmanager project.

	Other Capabilities
	* Implemented migration options for adding services to customers
	* Implemented initial version of bank statement importing
	* Improved code fields to allow text prefixes as per issue 127, including invoice numbers.

	Bug Fixes:
	* Bug Fix: Fixed broken journal quick entry function.
	* Bug Fix: Journal only posts notification to UI if a non-event journal entry is created to prevent unnessacary user notifications.
	* Bug Fix: Service delete page for customer did not pass correct ID
	* Bug Fix: Incorrect return code on database selection failure
	* Bug Fix: Newly created ABS accounts would appear to have debugging enabled, despite it being turned off.
	* Bug Fix: Corrected order of loading user configuration settings, previously session overrides for debugging were being ignored



2010-03-08 Jethro Carr <jethro.carr@amberdms.com>

	* Released version 1.4.1

	Potential Security Risks:
	* Security Fix: Fixed a bug with the bruteforce settings not being obeyed.
	* Security Fix: Resolved issue where stale cache data could linger on in hosted installation cronjobs, breaking service usage

	Application Changes:
	* Improvements: Updated for PHP 5.3 support by removing use of deprecated functions.
	* Improvements: Fixed E_NOTICE error messages that were appearing.
	* Improvements: Interface enhancements to use more CSS
	* Bug Fix: Fixes to Fedora 12 SELinux Policies
	* Bug Fix: Everytime a vendor was saved, their code would change.
	* Bug Fix: Fix to prevent the Euro charater from breaking PDFs due to LaTeX limitations.
	* Bug Fix: Added missing function for PDF export of time booked to projects

	Documentation Changes
	* Bug Fix: Minor adjustments and clarifications to installation manual. (thanks to Alex King)


2009-12-08 Jethro Carr <jethro.carr@amberdms.com>

	* Released version 1.4.0

	Application changes:
	* New Feature: Invoice journal now includes copy of any PDFs emailed to customers (previously only had text)
	* New Feature: Template selection interface to allow various PDF styles to be generated
	* New Feature: German AR invoice template (Contributed by Fischer Markus)
	* New Feature: Improved fonts when generating invoices.
	* New Feature: Added "Hide Non Billable Hours" filter to staff timesheets
	* New Feature: Added ability to disable/enable phone home via admin page.
	* New Feature: Vastly improved install documentation.
	* New Feature: SELinux policies for RHEL/CentOS 5, Fedora 11 and Fedora 12

	Application Bug Fixes:
	* Bug Fix: Error when trying to adjust an existing project phase.
	* Bug Fix: Prevent errors when no sales taxes are configured.
	* Bug Fix: Fixed journal entry of email generated when sending invoice.
	* Bug Fix: Enforcing all passwords to be minimum of 4 characters.
	* Bug Fix: Fixed bug where usernames of less than 4 characters were unable to login.
	* Bug Fix: All characters are acceptable in usernames or passwords.
	* Bug Fix: Fax number no longer a required field in company configuration screen.
	* Bug Fix: Missing } prevent project deletion (Reported by Peter Lynch)
	* Bug Fix: Fixed typo "owned" to "owing" in english invoice template.
	* Bug Fix: Warning generated when uploading files with PHP warnings enabled. (Reported by Liz Quilty)


2009-10-14 Jethro Carr <jethro.carr@amberdms.com>

	* Released version 1.3.0

	Application changes:
	* New Feature - Upgraded all SQL queries to be transaction safe (ACID compliant) and to use sql_query framework class.
	* New Feature - Enhanced user permission controls for handling timesheets, time groups and unbilled hours.
	* New Feature - Service invoices for $0 are no-longer emailed to customers automatically.
	* New Feature - Improved past period invoicing so that an invoice with a date in the past will have all the periods generated at once and added to a single invoice.
	* New Feature - Option to change position of currency display from front to back (eg: NZD $20.00 or $20.00 NZD)
	* New Feature - Generate PDF or CSV output of almost all record tables.
	* New Feature - Ability to set the default employeeid to use for users when they have access to more than one employee.
	* New Feature - Clicking the create invoice link from vendor/customer page will cause the invoice to have the customer/vendor field automatically set
	* New Feature - PDF invoice now shows any payments already made on the invoice.
	* New Feature - MySQL database export ability from within the application.
	* New Feature - Integrated source download and patch generation features to meet requirements of AGPL and also providing the ability to quickly and easily submit patches to Amberdms.
	* New Feature - All database fields and PDFs are now using UTF8 charsets.
	* UI Improvement - Updated all displays to include code and names for fields such as customers, staff, etc in a single, unified way.
	* UI Improvement - Unified formatting of buttons/links
	* UI Improvement - Fixes for rendering issues on IE 7
	* UI Improvement - Consistant ordering of columns on employee/staff list page.
	* UI Improvement - Adjusted the menu for taxes to make tax collected/paid screens eaiser to find.

	Application Bug Fixes:
	* Bug Fix - Fixed broken overdue summary fields for AR & AP invoices.
	* Bug Fix - Adding time item to invoice adds both billable and non-billable hours.
	* Bug Fix - Obsolete & incorrect message about partial payments on tax page removed.
	* Bug Fix - Exporting tax reports to CVS included hyperlinks in output.
	* Bug Fix - Tax report generated weird output when no invoices match with numerious $0 invoices.
	* Bug Fix - Incorrect permission check for gl/view
	* Bug Fix - Invoice with multiple services would not be totaled correctly.
	* Bug Fix - Removed caching from action_update_total() invoice function to prevent coding bugs.
	* Bug Fix - Valid till date on quote PDFs was incorrect.
	* Bug Fix - Corrected the service period code so that periods end the day before their renewal date. (eg: 14-06-2009 -> 13-07-2009)
	* Bug Fix - Under some situations, multiple invoices were created for historical periods.
	* Bug Fix - Products page should not display closed entries without EOL option
	* Bug Fix - Added missing date_start and date_end fields from products list page.
	* Bug Fix - Resolved problem where files including a space in their filename would not be accepted for upload into the journal.
	* Bug Fix - Fixed various search filter boxes to prevent the search from ignoring the "hide closed entries" option.
	* Bug Fix - Quote summary box in web interface didn't show correct currency, always defaulting to $.
	* Bug Fix - When using invoice item edit, if no quantity was supplied the page would return error but forget all fields.
	* Bug Fix - Edit a time item, change to a different time group, then no-longer able to add orig time group.
	* Bug Fix - Eliminated 0.00 price appearing for basic items on PDF invoices.
	* Bug Fix - All email sender names are now quoted to avoid issues with special characters.
	* Bug Fix - Email sending is now verifed to prevent failed sends being reported as successful.
	* Bug Fix - Both the PHP and the ABS maximum file upload limit handled gracefully.
	* Bug Fix - Various tweaks to fix rendering issues in IE 7
	* Bug Fix - "#" char not being slashed out \ when used in LaTeX generation.
	* Bug Fix - Fixed problem of texlive 2007 forcing the creation of files & directories in the home directory of the webserver users. (needed for Fedora 11 OS support)
	* Bug Fix - Fixed typo in installer. (minor)
	* Bug Fix - Correct mistake in installation manual.

	Framework changes:
	* New Feature - Added new error handling functions
	* New Feature - Implemented language preloading features
	* New Feature - Implemented ACID compliance for SQL classes
	* New Feature - Upgrade all framework code to use sql_query class rather than direct mysql calls.
	* New Feature - Added caching for common user information lookup, reducing number of SQL queries
	* New Feature - Created format_arraytostring function to ease SQL query development.
	* New Feature - Implemented javascript action support in forms for changing forms when various options are selected.
	* New Feature - Table framework can now generate PDF of the table
	* New Feature - Implemented format_size_bytes function to convert human values to bytes.
	* New Feature - Implemented ability to enable/disable wrapping for textarea form fields.
	* New Feature - Implemented new temporary file and directory functions.
	* New Feature - Implemented new text formatting and processing function.
	* New Feature - Implemented quick HTTP return code lookup function.
	* New Feature - Phone home feature to Amberdms with PHP & server versions for userbase statistics.
	* Improvements - Rewrote file-upload framework code for better design reasons
	* Improvements - Enhanced internal translation code & APIs
	* Improvements - Restructed main menu code and added new render options.
	* Improvements - Added checkbox and date_string input validation checks
	* Improvements - Added various new support functions to reduce code duplication
	* Improvements - Added timestamp_date table render type


2009-04-07 Jethro Carr <jethro.carr@amberdms.com>

	* Released version 1.2.0

	* Bug Fix - (UI tweak) Missing label for quote_convert_financials form section
	* Bug Fix - (UI tweak) Missing label for service_options_licenses form section
	* Bug Fix - (UI tweak) Removed internal-only UI display of id_projects field
	* Bug Fix - Sending emails from web-interface of billing system has ' quoted as /'
	* Bug Fix - Removed unusable order-by option from GL dropdown.
	* Bug Fix - Date field not allowing updates from form on balance sheet report.
	* Bug Fix - Account ledger filter options failed to work correctly.
	* Bug Fix - Corrected broken max 24-hour check on booked time
	* Bug Fix - Error/Notification messages not correctly styled on vendor's invoices page.

	* New Feature - Improved tax reports cash mode to report partial payments
	* New Feature - Implemented product/customer/vendor discounting

	* New Feature - Added ability to have labels appear after standard form input fields
	* New Feature - Improved money/currency formatting
	* New Feature - Improved float input verification to accept either floats or ints
	* New Feature - Debugging now counts number of SQL queries made


2009-03-10 Jethro Carr <jethro.carr@amberdms.com>

	* Released version 1.1.0

	* Bug Fix - Account dropdowns are not sorting by chart ID.
	* Bug Fix - Tax deletion deletes taxes assigned to services.
	* Bug Fix - Fixed incorrect reference to fixed-price taxes on services page.
	* Bug Fix - Deleting a service will delete service-tax assignments.
	* Bug Fix - Deleting services from customer's accounts, removes service options, periods and usage records.
	* Bug Fix - Prevent customer deletion when services are assigned to customer account.
	* Bug Fix - Do not display hours which are marked as unbillable in a time group in the unbilled hours display.
	* Bug Fix - Dropdown generation code failed to work if label0 was empty.
	* Bug Fix - Employee code field now compulsary and automatically generates
	* Bug Fix - Removed incorrect time group date search feature
	* Bug Fix - Fixed errors on unbilled time page when there is no unbilled time.
	* Bug Fix - date_trans & source values of payments not being supplied via SOAP API.
	* Bug Fix - Add customer ID to generated invoices
	* Bug Fix - Prevent price of 0.00 from appearing on standard items on invoices
	* Bug Fix - When saving configuration with dangerous options hidden, do not disable email.

	* UI Improvement - Standardised dropdown UI on various pages.
	* UI Improvement - details field on support tickets too small
	* UI Improvement - Expanded description field for project phases
	* UI Improvement - Email message field too small
	* UI Improvement - Time group customer field too small.

	* New Feature - Added time group filter option to hide time groups belonging to invoices.
	* New Feature - Implemented new internal-only feature for projects to limit amount of unbilled hours shown.
	* New Feature - Implemented new usage alerts/notifications feature
	* New Feature - Added SOAP API function to fetch customer ID using the code_customer field
	* New Feature - Added SOAP API function to fetch invoice ID using the code_invoice field
	* New Feature - Generated PDF invoices now include customer/account ID on the invoice to assist customers with invoice payment.


2009-02-16 Jethro Carr <jethro.carr@amberdms.com>

	* Released as version 1.0.0
	* Inital product release by Amberdms.