LedgerSMB 1.3.0 Released

Submitted by Chris Travers on

The LedgerSMB development team is very proud to release LedgerSMB
1.3.0. This release continues our strong commitment to security, data
integrity, and and robustness, introducing improved functionality in
many core areas, and adding new features that many businesses will
find necessary.

This is the most significant release to date in many ways. It is the
most secure release, and it performs the best under heavy load. At
the same time, it also provides the most features that many businesses
rely on heavily. This means that LedgerSMB 1.3.0 is suitable for a
much larger businesses and installations than previous versions.

LedgerSMB 1.3.0 is far more secure than previous versions. This
version brings the a number of important new features in this regard
including:
* Fully enforced permissions
* Password expiry
* Modular password authentication using any method PostgreSQL can support
* Separation of duties provides additional protection against fraud
and data entry error

Many areas of core functionality have been rewritten in order to
improve them dramatically. These include significant performance
gains as well as added functionality. For example:
* Reconciliation display is far improved, and has a system for
processing incoming files describing lists of checks.
* Payment and Receipt processing is far more powerful, and performs better.
* Customers can now also be vendors, and vice versa, and multiple
addresses, bank accounts, etc. can be tied to either.

At the same time, we have not stopped adding new features. These
include among others:
* One can attach files to any financial transaction, order, or part
* Batch processing of AR/AP/GL transactions, as well as payments and receipts
* Fixed assets management and depreciation

At the same time, this is truly a major upgrade. The templating
system has been completely redesigned , so customized templates may
need to be rewritten, and users cannot be migrated seamlessly.
However, these are areas of one-time effort, and 1.2.x will be
continued to be supported for some time, to give folks a chance to
migrate slowly.

For those starting new installations, we highly recommend starting out
with 1.3.0. For those on existing 1.2 installations, we recommend
making a practice run on a copy of your data before you start.

LedgerSMB 1.3.0 has the following known issues. If you need this
functionality, please hold off until 1.3.0 when we expect these issues to
be resolved:

* Language selection for printed invoices is not working. We expect to
have this fixed for 1.3.1.
* Timecard entry currently throws errors when timecards are saved.
We expect this to be fixed for 1.3.1.
* There is an issue with the current RPM dependencies which we are
currently working out. RPM's forthcoming but maybe not for a couple of
releases.

The complete changelog section for 1.3.0 is:

Changelog for LedgerSMB 1.3.0

Security:
* Security is now robustly enforced on the db level (Chris T and Josh D)
* New user interface to manage users (Chris T and Aurynn)
* Anti-XSRF framework included, used (Chris T)

Separation of Duties:
* Separate permissions for entry and posting to the books.
* Voucher/Batch system (Chris T)
* Draft system for unapproved transactions (Chris T)
* Reconciliation is now subject to separation of duties (Chris T and Aurynn)

End of Year:
* Close books and end of year transactions at once (Chris T and Aurynn)
* Cannot close books where unapproved transactions are before yearend(Chris T)
* Yearend/closed books now creates balance checkpoints for better performance
(Chris T and Aurynn)
* The prohibition against entering transactions into closed period enforced
on a database level.

General Ledger/Journal:
* GL reports filter by account (Chris T)
* GL reports account is ajax-style autocomplete (John W)
* Journal Entry screen now uses AJAX-style autocomplete for accounts (Chris T)
* GL reference now populated by default in the initial screen (Chris T).
* Files can be attached to financial transactions (Chris T)

AR/AP:
* Files can be attached to AR/AP transactions (Chris T)
* Project numbers can be displayed on AR/AP transactions report (Chris T)

Reconciliation:
* Reconciliation is on new codebase!
* Redesigned workflow (Chris T and Aurynn)
* Optimized for high volumes (1000 transactions or more per run, Chris T)
* Plug in model for bank import scripts (Chris T and Aurynn)

Payments:
* Payments are on new codebase!
* Redesigned bulk payment workflow/UI (Chris T)
* Bulk payment optimizations for high volumes (5000 invoices per run, Chris T)
* Redesigned single payment workfow/UI (David M)

Contact Handling:

* Contacts are now on new code base!
* Customers/Vendors Now Can Be Tracked Together (Josh D, Chris T, Aurynn)
* Multiple addresses and contact info stored per account (Josh D and Chris T)
* Multiple read-only notes per account (Josh D, Chris T, and Lacey P)
* Multiple bank accounts per customer/vendor account (Josh D and Chris T)
* Track 1099 or equiv. forms for customers/vendors (Chris T and John W)

Invoicing:
* Can now set sales tax amounts and rates per invoice if necessary (Chris T).
* Files can be attached to invoices (Chris T)
* Invoices can be placed on hold (Chris T)

Fixed Assets:
* New Feature!
* Group assets into classes to depreciate together (Chris T)
* Depreciate assets using straight-line depreciation (Chris T)
* Plugin model for time- or production-based depreciation methods (Chris T)
* Dispose of assets --- full and partial disposal supported (Chris T)
* Net Book Value Report (Chris T)

Development:
* New API structure for new code (Entire Team)
* Better error handling/display (Jason and Chris T)
* Errors logged to httpd error log (Chris T)
* Cleaned up file structure for charts of accounts (Chris T)
* New UI and template system using TT (Seneca)
* Form.pm deprecated. New Object Oriented and data-driven model (Chris T)
* Added ledgersmb-smallgray.css (Jeff K)
* Stored procedure-based ORM for data model encapsulation in db (Chris T)
* Many small forms moved to templates (Seneca)
* Greatly expanded test cases (Chris T and Seneca)

Misc:
* Timecard lists project descriptions as well as numbers (Chris T)
* Invoices can now be put on hold (Aurynn)
* New CLI database creation routines (Erik H)
* New web-based db creation routines (Sadashiva A)

Database:
* Redesigned database schema for contacts (Josh D)
* Redesigned database schema for chart of accounts (Chris T)
* Redesigned database schema for reconciliation (Aurynn and Chris T)
* Redesigned database schema for payments (David M)

Release