=============
Version 5.4.1
=============

Application builder
===================

* The language attribute is added to the Project parameters to select
  the language used in the Project and allows to add or edit the language.

* Interface tab added to Project parameters dialog

* Buttons "View" and "Edit" renamed to "View form" and "Edit form"

* The "View form" dialog lets now setup, besides fields used to create tables,
  table options such as columns to set sorting order and summary fields.
  Use "Form" tab to setup from options including detail that will be desplayed in
  the view form

* The "Edit form" dialog allows to create tabs and bands to display field
  inputs in the edit forms. You can setup details that will be displayed and
  edited in the edit form in the "Form" tab

Library
=======

* First stage of internalization completed. Developpers can add their languages

* Processing of form events worked over. See _process_event method in jam.js

* To avoid concurrency problems and memory leaks the task tree on the server
  side is imutable now, except when on_created event is executed.
  You must use copy method when you need to call open method or want to
  change attributes of items in the event handlers or functions on the server

* The create_detail_views method added that allows to edit details in the
  edit forms

* Item class: table_options attribute added (contains table options setup in 
  the AppBuilder)

* DBAbstructInput class: coping, pasting, Escape key processing worked over

* DBTable class: hints worked over

* Themes were corrected

* A lot of minor changes

Demo application
================

* Themes removed. You can set theme in the Project parameters Interface tab.

* Dynamic menu worker over

.. note::

  If you created your project with a version of the library less than 4.3.1 add
  the following line in the on_page_loaded event handler in the task's client module:

  .. code-block:: js
  
    task.old_forms = true;

  For libraries with versions 4.3, clear the code of client modules of
  catalogs and journals and replace client module of the task with the
  corresponding code of the Demo application or the new project.
  Make an archive of the project before doing it.
