Changes
#######

phpaga 0.5
==========

New features
------------

* Charts are now generated via JavaScript by using the jqPlot library.
  Therefore ezComponents are no longer required.

* Late Fees - Manual process; Adds late fee to invoice for unpaid balance. Late
  fee amount calculation based on percentage specified in Sitewide Settings.
  Updated bill page and pdf invoice to display late fees

* Payments - Support for payments on unpaid invoices/bills.

  - Updated finances reports to use payments in calucations
  - Updated bill page and pdf invoice to display payments and balance due; ticket #42
  - Payment date automatically set when payments equal or exceed invoice amount.
  - Added option to Sitewide Settings to show/hide 'Set Payment
    Date' link.  May be times when date needs to be set manaully.

* Updated all existing billing plugins to include support for payments and late
  fees.  NOTE to authors of billing plugins: Please verify changes are
  backward-compatible.

* Added Notes field to invoices and payments.

* Added ability to enable/disable display of currency abbreviation after
  monetary values.

* Added field to Sitewide Settings for monetary symbol to be displayed in
  front of monetary values e.g. $ or €

* Added Bar Chart highlighting to display exact monetary amount for each
  bar on Finances Invoiced/Received/Missing chart.  Also added option to
  Sitewide Settings to enable/disable highlighting.

* New billing plugin by Tim Esselens (Belgium VAT)

* Ticket #55: Allow an invoice's payment date to be modified

* Ticket #72: PDF template sets

* Ticket #74: Show/hide the unbilled hours panel

Fixed
-----

* Replaced _REQUEST with REQUEST_DATA that contains only _GET and _POST,
  addressing a problem reported and analyzed by Jools Wills (cookie
  collision).

* Fixed bug making it possible to bill again already invoiced expenses.

* Ticket #42: Balance Due now calulated and displayed on invoices when payment
  has been made. 

* phpaga.css: references missing sortable.gif; fixed path and added
  sortable.gif to htdocs/img/phpaga/

* Fixed bug causing paid invoices with due date in the past to be displayed
  with red due date text.	

* A company's financial information is no longer displayed if the user does
  not have the required permission

* Ticket #78: Handling of time in task entry inconsistent

* Ticket #59: Cannot delete expenses

* Ticket #57: Finance report chart: Wrong value for the "missing" bar

* Ticket #54: Do not allow project removal when related invoices
  exist

Other
-----

* Documentation is now written in reStructuredText and built via Sphinx
  http://sphinx.pocoo.org/

phpaga 0.4
==========

New or changed requirements
---------------------------

* UTF-8 locales

* PostgreSQL >= 7.4, MySQL >= 4.1.16

* PHP >= 5.2 is required with PDO and the PDO driver for PostgreSQL
  or MySQL

* eZ Components are required

* JpGraph is no longer used

* PEAR packages are no longer required - all dependencies from PEAR
  have been removed.

* The project timeline has been removed

* Picking a date is now handled by the "Unobtrusive Date-Picker
  Widgit" by frequency-decoder.com. (The coolest DHTML calendar
  widget is no longer required.)

New features
------------

* Simple recurring invoices. (Ticket #7)

* Improved databased abstraction, new error handling, HTML cleanup.

* Files can be uploaded and associated to persons. (The "foto"
  feature has been removed from person's details. A migration script
  is available at tools/migrate_personpictures.php.)

* UTF-8 support (read the relevant sections in the INSTALL file
  before upgrading your existing installation)

* An optional contact person has been added to invoices and
  quotations. (Ticket #34)

* An invoice due date has been added. (Ticket #35)

* When a quotation is turned into an invoice, the quotation number
  can optionally be used as invoice number. (Ticket #30)

* It is no longer possible to store two invoices with the same
  number within the same year. (Ticket #31)

* Filed expenses can be added to an invoice (existing custom billing
  plugins need to be slightly changed).

* Jeremy from omnitechpro.com has submitted the following patches:

  - Show materials amount on unbilled hours page
  - Show invoice amount on invoice list page
  - Add "unpaid" bar to finances graph
  - Add invoice popup on Unbilled Hours screen

Updated translations
--------------------

* Norwegian (Roger Bystrøm)

New billing method plugins
--------------------------

* Netherlands: nld_btw_hoog.php (Angelo Höngens)

Fixed
-----

* Ticket #48: Letterhead layout problems with PDF documents in "letter" format.

* Ticket #25: With MySQL new projects would show up as blank under
  the unbilled hours page.

* Unbilled hours would show up on invoices.

* Fixed problems related to Javascript behaviour under various browsers.

phpaga 0.3a
===========

Fixed
-----

* Fixed a minor issue with the installer in 0.3 that could be
  triggered when trying to create the database on a remote MySQL
  server.

phpaga 0.3
==========

New requirements
----------------

* PHP with gettext enabled

* smarty-gettext

* PEAR DB >= 1.7.6

* PEAR HTTP_Upload >= 0.9.1

* HTTP_Download >= 1.1.1

* HTTP_Header >= 1.2.0

* locales for desired supported languages

* Graphviz and PEAR IMAGE_Graphviz (optional, if you want to see
  project relationship graphs)

* Removed Overlib dependency, tooltips now shown with Walter Zorn's
  DHTML JavaScript Tooltips library (comes bundled with phpaga)

* If you are using MySQL then MySQL >= 4.1.15 is required

* 3rd party libraries are now moved to their own subdirectory ext/

New features
------------

* A web interface for assisted database upgrade during phpaga upgrades has been added.

* First time "wizard" has been enhanced to create database structure and
  import core data.

* Added the possibility to assign default hourly rates per task
  type; per task type per project; per task type, project and
  project member.

* Multiple invoices can be exported to a single PDF file.

* Invoices can be created from within a project page, and tracked
  material and tasks can be added.

* Quotations can be deleted as long as they are not tied to a project.

* Material can now be tracked per project.

* Product management added. Also, if a product with the product code
  of a new line item exists in the database, the description and price
  are added automatically to the line item.

* Files can be uploaded and associated to projects.

* The day and month of the beginning of the fiscal year can be
  defined. All financial reports are now based on the fiscal year.

* A default term of payment can be saved per company. This value can
  be fetched when creating an invoice.

* Let only users with the right permissions see all projects; other
  users see only projects they created or they are a member of. This
  is both true for the projects search interface and for the projects
  timeline.

* Hide a project's financial information (hourly rates, human cost)
  from "common" project members. Show "common" project members their
  own expenses but nobody elses.

* Added the possibility to upload and assign a picture to a person.

* When a project is created from a quotation then add a reference to
  said quotation

* Added a simple system information and an application log viewer

* Added project priority (suggested by Mark Parssey)

* Search bills/quotations between two dates

* Enable/disable installed billing plugins. Disabled plugins don't
  show up in drop-downs when creating new invoices/quotations

* Line items for invoices and quotations (conversion script for
  existing inv/quot)

* Search interfaces for persons and for companies (Mark Parssey)

* Only persons with a user account are shown when adding a new project
  member (Mark Parssey)

* Show project relationship graph (optional - Graphviz and PEAR
  Image_Graphviz required)

* Added a "summary overview" page

* An individual color can be specified for each operation category

* Persons: show projects person is owner or member of

* List summary overview of unbilled hours per customer and project;
  create invoice from unbilled hours

* Projects search interface; print project list to PDF (Mark Parssey)

* Projects: Added deadline (Mark Parssey)

* Projects: Added estimated manhours, estimated cost manhours,
  estimated cost material, parent project, billable status

* Get persons's default job category when adding a project member
  (Mark Parssey)

* Default hourly rate per person (this rate is suggested when adding a
  new project member)

* First time setup "wizard" (to create first user and person via web)

* Permission system

* All user submitted data is escaped/quoted by PEAR DB's methods
  before being stored in the database

* When selecting a language it is first checked whether the required
  locale is installed

* Second address field added to companies and persons

* Delete users

* Added task category matrix/graph to company page

* A list of invoices and the billing summary is shown on a company's
  details page

* Added a detailed overview to the project page that shows the sum of
  time per task category per person in a matrix

* Delete companies

* Billing method plugin installer/uninstaller

* Delete invoices that have not been paid yet

* Translations handled by gettext

* New billing method plugin by Daniel Cabezas

* Main page: show only projects the current user created or is a
  member of

* Limit number of characters shown for project title and task category
  title in task lists

New billing method plugins
--------------------------

* Spain: esp_liberoprof_euro.php (Daniel Cabezas)
* Canada: cdn_gstpst.php (Ken)
* USA: usa_sales.php (Arif Hamirani)
* Germany: de_mwst.php (Jens Bierkandt)

New translations
----------------

* Norwegian (Sverre Farstad)
* French (Benoit Nicolas)

Fixed
-----

* Include JpGraph libraries only when actually creating a graph

* When changing a task, the task is no longer "taken over" by the
  changing user

* Thousands and decimal separator settings were not respected on the
  financial overview page

* New invoice/quotation numers greater that 10 would not be calculated
  correctly

phpaga 0.2
==========

New features
------------

* Create an invoice from a quotation

* Clone operations and invoices

* Added "average weekly work hours" line in weekly manhours graph

* Separated pdf layout (templates) from library, making it easier to
  personalize the pdf output

* Additional task search parameters (sponsored request)

* Added a detailed overview to the person page that shows the sum of
  time per task category per project in a matrix

* Added a field to projects that can contain the company that issues
  the invoice (sponsored request)

* Changed various text links to icons (using gnome icons from
  http://jimmac.musichall.cz/ikony.php3)

* Added a billing plugin (sales of goods) written by Alessio Bogani

* Added basic expense tracking per project (i.e. travel, hotel, meals)

* Allow multiline input for company location in the letterhead (patch
  by Robert Paskowitz)

* New web-based configuration system

* Added robots.txt (to prevent spiders from indexing phpaga sites)

* Added combined financial graph

* Added contrib/ for contributed stuff. Moved contributed style sheet(s)
  to contrib/

* Give detailed information when unable to connect to the database when
  PHPAGA_ERR_VERBOSE is defined and true

* Added a turnover history graph

* Added human costs calculation for invoices and project information.
  The necessary information is taken from the project memberships table
  (hourly rates field).

* When adding a task, administrators can now file hours for other users,
  not just themselves

New translations
----------------

* Danish (Per Christiansen)
* Hungarian (Feh&eacute;r J&aacute;nos)
* Russian (Dmitry Stroganov)
* Spanish (Daniel Cabezas)

Fixed
-----

* Gantt chart (project timeline) shows cleanly, projects bars are
  linked to projects

* Various code, templates and stylesheets cleanups; interface
  improvements

* Email address check did not allow upper case letters

* Moved more display logic into the Smarty templates

* Fixed a bug regarding the handling of timestamps in PostgreSQL

