Lianja 5.6 will be the next general release.

I have uploaded Lianja 5.6Beta2 for Windows for those of you who have access to pre-release versions.

This is pre-release software so it should not be used in production.

Changes since 5.5.1...


  1. Virtual Tables bound to sections have much improved performance of section relationships. No need for custom code in the parentdatachanged delegate any more. The relationship is now satisfied using requery() on the child data source.
  2. Grid columns. New attribute, “Visible When Editing”. Columns are hidden until the grid row is being edited. This provides a better UI grid for mobile devices.
  3. Switching between Pages, Sections, Formitems and GridColumn attributes now maintains the “search” text. This speeds up the reviewing of attributes during development.
  4. When using the debugger with LianjaScript, clicking the “Stop” icon now cancels execution when the debugger is active.
  5. Lianja.showDialog() and Lianja.showDialogPanel() are now responsive in web / mobile. This can be seen when using the “QueryBuilder” on mobile devices.
  6. *new* App UiLibs. Design pages visually then add them to the App UiLib enabling them to be used with lianja.showDialog() and Lianja.showDialogPanel(). Check the page attribute “Register in UiLib”. The pages are not included in the pages menu but can be used with dialogs by specifying “pageagename” as the file name.
  7. DialogPanels can be be shown on top of existing ones. So for example if a page in the UiLib contains a grid section, then editing a row in the grid will overlay the grid with the “EDIT FORM” and clicking “Done” or “Cancel” will switch back to the previous DialogPanel i.e the grid section. This provides smoother UI transitions and a better mobile experience when screen size is limited.
  8. Added two new delegates to "Grid" sections, "Interactive Change" and "Row/Col Change". Both of these delegates are passed three arguments.
    (nRow, nColumn, cValue)
    These correspond to the cell row, column and value in the cell which is always passed as a character string.
  9. Added some new VT properties:

    translatequeryfunc=yourFunc

    This is called to translate a native Lianja SQL WHERE condition for a target SQL database syntax. Called with cWhereCondition, cDBtype.
    This should reside in the database container.

    convertuint=1

    Use this to correct ODBC interpretation of BIT field in MySQL

    datasourceoptions=options

    Where options are database specific.

    e.g. for ODBC to increase packet size


    SQL_ATTR_PACKET_SIZE:102410
  10. Various UI tweaks and improvements.
  11. Performance and stability improvements.
  12. Various bug fixes.