1.6 release notes

Submitted by ehu on

What's new in LedgerSMB 1.6

  • Inventory adjustments based on GL transactions
  • "System Information" page in setup.pl
  • New "smtpport" option in ledgersmb.conf
  • Automatic detection of the temporary directory
  • Reports and search results exportable as XLS(X)
  • New and faster menu

New features

Inventory adjustments based on GL transactions

Before 1.6, inventory adjustments were based on dummy invoices, issued to the "Inventory Entity" -- an entity meant to model the company itself. Issuing invoices for this purpose is problematic in some jurisdictions, especially in those with continuous numbering requirements. Additionally, the "Inventory entity" caused confusion for those who didn't need it.

The Inventory Entity has been removed from 1.6 and - unless invoices remain issued against it after data migration - will be removed in the upgrade process.

Schema upgrade checks, interactive resolution and silent upgrades

This version features "schema upgrade checks": checks that are being performed on the data in the company (database) being upgraded before an upgrade step is being performed. These checks assert that the following schema upgrade can be executed and that there's no data in the schema that violates the assumptions of the schema upgrade. When the check finds non-compliant data, the user will be offered a resolution method.

Also, the database creation and upgrade processes no longer generate heaps of logs, restricting the log output to actual errors that have occurred during the execution process. Same as the new upgrade checks, this should enable admins to be self-supporting and make any upgrade issues easier to resolve.

System Information page in setup.pl

In the system administrator interface, there's a new "System Information" screen, which lists details of the system the application is running on, such as installed Perl modules, version of the PostgreSQL server and more.

The data on this screen can be used for debugging purposes. It's highly encouraged to include (some) of the data on this page when reporting bugs to the project.

New smtpport option in ledgersmb.conf

Before 1.6, the SMTP port used for sending mail directly to a mail server, was hard-coded to be 25. Now, it's defaulted to port 25, but overridable from ledgersmb.conf. The SMTP host IP address always has been overridable; this option adds to that.

Automatic detection of the temporary directory

Before 1.6, the temporary directory would be indicated in ledgersmb.conf. As of 1.6, the Perl module File::Spec is being used to determine the temporary directory. In the past users were regularly experiencing problems with access rights to the self-created temporary directory managed by LedgerSMB. The process to create its own temporary directory has been removed as well, which takes away the source of the reports.

Reports and search results exportable to XLS(X)

With the correct dependencies installed, reports and search results can now be exported to XLS and XLSX formats in addition to the formats that were already there: PDF, HTML and CSV.

New and faster menu

The most prominent reason for the initial page after login to take a while to appear, is that the left menu takes a while to render on the server side. In order to reduce the amount of time for the first page to appear, we have off-loaded some of the effort to the client rendering the UI. This way, some of the slowest components in rendering the menu have been eliminated and both speed of the page to appear as well as server-load have improved.

Other user-visible changes

Removed experimental REST interface

Never having been completed, the last remnants of the first (experimental) attempts at realising a REST API have been removed and are now officially no longer supported. Please note that this isn't a statement that we will not implement a web-API. Instead, we're preparing to start with a clean slate to build solid infrastructure that can serve as the foundation and integration layer for real businesses.

Removed 'ledgersmb.conf' options

The following options have been removed from ledgersmb.conf without replacement:

  • no_db_str
  • db_autoupdate
  • return_accno
  • pathsep
  • fs_cssdir
  • tempdir
  • backupdir
  • smtpauthmethod

Improved access and error logs

Access logs are now enabled by default. Additionally, logging related to a single request is now easily recognizable by a unique request-ID being included in all logged lines.

Improved clean-up of temporary files

With this release, LedgerSMB switched to File::Temp for its temporary file management (and uses fewer temporary files), ensuring that temporary files are cleaned up after use.

Known issues

  • Single-day time-card entry is broken (since 1.4); weekly entry works though