Security release
No
Release candidate
No
The LedgerSMB project is proud to announce the release of 1.5.0, the start of a new line of maintenance releases.
This release can be summarized as a major user experience boost through improvements in performace, look and stability. Performance improvements are being achieved by moving from per-request-invoked CGI-scripts to a preloaded-PSGI application as well as moving to a single-page web application using the Dojo toolkit.
On the project's website both installation instructions and upgrade instructions are available.
UI changes
- LedgerSMB now frameless (ChrisT)
- Full use of Dojo widgets (ErikH)
- Compressed/compiled Dojo for better performance (JohnL)
- Reports and screens can now be bookmarked (Chris T)
- Optionally can add unapproved trans. to some reports (Chris T)
Price Matrix Enhancements
- Quantity discounts can be set in the pricematrix (Chris T)
- Price matrix now filters on currency (Chris T)
Template changes
- All document templates (including INCLUDEs) now in-database (Erik H, #854)
- 1.4's <?lsmb LETTERHEAD ?> now <?lsmb INCLUDE letterhead ?>
- 1.3's INCLUDE extensions dropped;
- <?lsmb INCLUDE letterhead.tex ?> -> <?lsmb INCLUDE letterhead ?>
Code Cleanup
- Relying on Plack for webserver integration; stub scripts removed (ChrisT)
- Removed LedgerSMB's custom dojo page loader (ErikH)
- Removed dead code (coveralls.io used for identification) (ErikH)
- Removed dependency on Class::Struct (ChrisT)
- Removed all inserts into chart view (ChrisT, GH 931)
- Removed long-broken French chart of accounts (ChrisT)
- Removed unused saved trial balance components (ChrisT, GH 775)
- Source tree restructuring: libraries in lib/, docroot in UI/ (ErikH)
API Enhancements
- Moved a great deal of code into PGObject framework on CPAN (ChrisT)
- Session handling committed before main action (Chris T, GH 943)
Quality assurance
- Verification of pre-defined Chart of Accounts files (ChrisT)
- Assurance of completeness of 'use'-tested source files (ErikH)
- Extended 'use'-tests to cover full set of source files (ErikH)
- New tests validating source code requirements, such as (ErikH)
- Reject code using certain modules (Data::Dumper, Carp::Always, ...)
- Reject code which isn't formatted correctly
- Reject code which uses certain constructs
- Basic verification of PO (translation) files (ErikH)
- Basic automated in-browser testing through SauceLabs.com (ErikH/ChrisT)
- Basic automated in-browser testing with PhantomJS (ErikH)
Internationalization
- Expansion of web based translation support through Transifex (ErikH)
ChrisT is Chris Travers
ErikH is Erik Huelsmann
JohnL is John Locke
Release