Lianja™ Development Roadmap

LIANJA 8.0.5 IS NOW AVAILABLE

AVAILABLE FOR WINDOWS, LINUX AND MACOS

VISIT THE LIANJA ONLINE STORE NOW

The following represents an overview of the main features that are actively under development by the Lianja Development Team. We'll do our best to update this roadmap as our developers continue their work.

Lianja is a community driven development project so if there is anything specifically that you would like to see supported in the product that you do not see on this list then please submit an enhancement request.

We value your feedback so if you find anything that does not behave as expected please submit a ticket so that we can get it fixed. If we don't know about them they won't get fixed!

If there is something on the roadmap that you would like to see pulled forward in time, these can be developed as sponsored features.

   download_win    download_mac    download_linux  

Development Milestones

Lianja App Builder 6.0 Release
Lianja SQL Server 6.0 Release
Lianja Cloud Server 6.0 Release

Lianja App Builder 6.1 Release
Lianja SQL Server 6.1 Release
Lianja Cloud Server 6.1 Release

Lianja App Builder 6.2 Release
Lianja SQL Server 6.2 Release
Lianja Cloud Server 6.2 Release

Lianja App Builder 6.3 Release
Lianja SQL Server 6.3 Release
Lianja Cloud Server 6.3 Release

Lianja App Builder 7.0 Release
Lianja SQL Server 7.0 Release
Lianja Cloud Server 7.0 Release

Lianja App Builder 7.1 Release
Lianja SQL Server 7.1 Release
Lianja Cloud Server 7.1 Release

Lianja App Builder 8.0 Release (Latest 8.0.5)
Lianja SQL Server 8.0 Release (Latest 8.0.5)
Lianja Cloud Server 8.0 Release (Latest 8.0.5)

Lianja Cloud 1.0 Release

Development Roadmap Revision History

Lianja App Builder Revision History can be found here.
Lianja SQL Server Revision History can be found here.
Lianja Cloud Server Revision History can be found here.

Lianja App Builder 6.0 Release

Released 31-Mar-2021

The version 6.0 release includes:

  • The set rushmore command enables or disables Rushmore-style (Visual FoxPro) index scanning optimization for NoSQL and SQL commands.
  • Set rushmore is on by default.
  • With set rushmore on, the speed of the following NoSQL commands is increased by optimizing the for condition, active filter condition or active rowfilter condition. Indexes should be created on the fields specified in the condition to enable the optimization. For optimum performance, use filtered indexes. Use of the upper() and/or lower() functions is not required: with set strcompare on (default), indexes and comparison operators are case insensitive.
  • With set rushmore on, there is also a major performance boost for very large tables when issuing SQL queries using the >, >=, < and <= operators. The = and == operators are always optimized.
  • Improved SQL optimizer with filtered indexes. (Hint: use the EXPLAIN command to see what's happening).
  • Added the BACKUP/RESTORE DATABASE and LIST BACKUPS commands. 
  • The 'IN |' clause has been added to the following commands: Note that the IN clause must be the first clause as IN is also an operator in Lianja.
  • Added new App attribute "Enable PerfMeter" which shows the perfmeter in the "Console" workspace for long operations.
  • Added a StatusBar to the console workspace. SET PERFMETER ON if you want to see a progress bar displayed in the StatusBar when performing long operations.
  • Page, section and formitems names can now contain _ in desktop/web/mobile apps.
  • Virtual Tables bound to sections have much improved performance of section relationships. No need for custom code in the parentdatachanged event delegate any more.  The relationship is now satisfied using requery() on the child data source.
  • Grid columns: new Only visible when editing attribute. Columns are hidden until the grid row is being edited. This provides a better UI grid for mobile devices.
  • Switching between Pages, Sections, Formitems and GridColumn attributes now maintains the search text. This speeds up the reviewing of attributes during development.
  • When using the debugger with LianjaScript, clicking the Stop icon now cancels execution when the debugger is active.
  • Lianja.showDialog() and Lianja.showDialogPanel() are now responsive in web / mobile.  This can be seen when using the QueryBuilder on mobile devices.
  • 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 "page:pagename" as the file name.
  • 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.
  • New delegates for Grid sections. Interactive Change is called after a cell is edited. Row/Col Change is called when a cell is selected, before being edited.  Both are passed three arguments: nRow, nColumn, cValue.
  • New properties for Virtual Tables:
    • translatequeryfunction=function
      The function is called to translate a native Lianja SQL WHERE condition for a target SQL database syntax.
      It is called with two arguments: cWhereCondition, cDBtype.  It should reside in the database container.
    • convertuint=1
      Use this to correct the ODBC interpretation of BIT fields in MySQL.
    • datsourceoptions=options
      Where options are database specific, e.g. for ODBC to increase packet size:
      SQL_ATTR_PACKET_SIZE:102410
    • includeblobs=1
      Use this to cause varbinary fields to be saved to remote database servers in desktop Apps.  Currently supports MySQL, MSSQL and Postgres.
    • includememos=1
      Use this to cause varchar fields to be saved to remote database servers in desktop Apps.  Currently supports MySQL, MSSQL and Postgres.
  • Several improvements made to Image Strip Sections.
    • Image notes are now supported in the web/mobile client.
    • HTML image notes are now handled correctly.
    • In web/mobile Apps, the images are touch-friendly and can call the Double click event delegate.
    • Image notes are now editable: new attribute Image notes editable.
    • Touch or click the image notes text to display the slide-in dialog panel editor.
  • Improved error reporting.
  • Page, Section and Formitem names can now contain underscore characters (_) in desktop and web/mobile Apps.
  • Mailing label printing is now supported using the create label and label form commands.
  • The Console workspace now has a Statusbar.  The display of the Statusbar can be toggled from the View menu.
  • New set perfmeter command. With set perfmeter on, a progress bar is displayed in the Console workspace Statusbar when performing long operations.
  • Added new App attribute 'Enable PerfMeter' which shows the perfmeter in the Console workspace for long operations.
  • The Deploy workspace has been enhanced to allow package files to be built for a specified deployment target.  This also includes the ability to exclude files and use wildcard characters in filenames when defining the package file to facilitate team development.
  • Fixed a caching issue with very large SQL queries (millions of records) that would cause a crash.
  • Added additional information to dir command when no database open.
  • Added additional information to the list structure command with Virtual Tables.
  • Performance improvements when bulk loading tables using append from, append blank and generate. Set timeline off is automatically executed and turned back on afterwards.
  • Performance improvement when using the count command with no filter condition.
  • The Grid Section Summary can now optionally include Minimum, Maximum and Average column values along with the column Totals.  The 'Lianja Tablet Web UI Demo' (example_webapp1) App demonstrates this.
  • The Responsive UI breakpoint attributes have been added to the Generate App Doc output file.
  • Added improved package management for Team Development and Release Management in the Deploy workspace.  Packages can be created in the Deploy workspace then published to Team or Release GitHub repositories.  Options to Unpublish published packages and List published packages are also now available.
  • The lianja command can be used to install Lianja package files with automatic version checking.
  • The new lianja-lpk command can be used to install a Lianja package file or list its contents.
  • Available for macOS (Big Sur, 11.1), as well as Windows and Linux.
  • The macOS Lianja distribution is now notarized by Apple:
    • "Notarization gives users more confidence that the Developer ID-signed software distributed has been checked by Apple for malicious components."
    • "When the user first installs or runs your software, the presence of a ticket (either online or attached to the executable) tells Gatekeeper that Apple notarized the software. Gatekeeper then places descriptive information in the initial launch dialog to help the user make an informed choice about whether to launch the app."
  • The Linux license management utility, lianja-lm, has been enhanced to return additional information when validating the license with the --validate option.
    $ sudo lianja-lm --validate
  • Faster switching to home page on macOS and Linux.
  • The location of the Lianja 64 bit ISAPI extension for IIS has changed.  See ISAPI Extension for IIS for full details.
  • Arguments passed to an App using the --args command line switch, specified in Lianja.openApp() or included in a web App URL can now be queried using Lianja.args.
  • The new lianja-comp command line tool can be used to compile .prg script files.
  • The compare database command now includes all database events and generates an optimized upgrade.prg file.
  • App Doc now includes Grid columns.
  • The section attributes Visible when and Readonly when can now reference "this" and "thisform" e.g. readonlywhen could be set to !this.editing which causes the section to be readonly unless in edit mode.
  • The Enable when editing attribute is now supported on Form, Grid and Attachments sections as well as Canvas sections.  This is only effective in runtime mode.  It causes sections to be readonly until editing is in effect.
  • Exposed the "state" attribute for Page, Section and Formitem objects. "State" is a comma separated list of UI States that the UI element handles.
  • Exposed the "uistate" attribute for PageSection and Formitem objects and the Lianja system object. "Uistate" is the last UI State applied.
  • The SQL Select aggregate functions min() and max() now handle a list of arguments and additional data types: character, currency and datetime as well as date and numeric.
  • New list library command to list all currently loaded procedure and function libraries.
  • Split grid editing is now also supported in web/mobile Apps.
  • New split grid tabs for desktop and web/mobile Apps.  These can be configured to contain memo/varchar data, images and components.
  • New custom Grid object methods:
    • hideRow(nIndex)
    • hideAllRows()
    • showRow(nIndex)
    • showAllRows()
    The nIndex row number starts from 1.
  • New dynamically loadable modules provide Object Oriented encapsulation for existing Lianja/VFP code so that loading a library does not 'pollute' the namespace and create potential problems due to name clashes.
  • Simplified one-click deployment of packages to the Lianja Cloud Server (local and remote) in the Deploy workspace.
    • With Autoupdate enabled on the server, the packages will be auto installed/upgraded.
    • Locally deploy and test web/mobile Apps in Preview live in browser before uploading.
    • When deploying using http(s) and an API Key, the package to be deployed is rebuilt before deployment.
  • The new lianja-lpk command line tool can be used to handle Lianja package files.
    • list the contents of a package
    • build a new package
    • add files to a package
    • refresh a package to update its contents
    • install a package
    • update using a package
    • deploy a package to a Lianja Cloud Server, directly or via IIS (Windows) or Apache (Linux)
  • Help table contextual help is now supported in web Apps.
  • New LianjaScript functions to compress and uncompress long strings:
  • The Navigation Panel in web Apps can now have a SQL Select data source as in desktop Apps.  See the example_navpanel2 App included in the Lianja App Builder distribution for a demonstration of this.
  • New free Community Edition for Student/Trial/Demo/Proof of Concept purposes.
  • New Lianja App Builder Subscription Editions:
    • Lianja App Builder Standard. No runtime distribution key is included.
    • Lianja App Builder Professional. Includes 25 client runtime distribution key.
  • Lower cost Cloud Server and SQL Server editions with lower connections.
  • See the pricing page for full details on new Editions.
  • Runtime distribution licenses information.
  • Various UI tweaks and improvements.
  • Performance and stability improvements.
  • Fix reported bugs.

Lianja App Builder 6.0.1 Release

Released 6-Apr-2021

The version 6.0.1 release includes:

  • Performance and stability improvements.
  • Bug fixes.

Lianja App Builder 6.0.2 Release

Released 15-Apr-2021

The version 6.0.2 release includes:


Lianja App Builder 6.1 Release

Released 18-Jun-2021

The version 6.1 release includes:

  • Simplified WebView section use with customizable/editable parameters when you click the keyboard icon in the section header.
  • Added a new section type "DataListView".
  • Added a new section type "ChartView".
  • Support for "Web Components". These provide the ability to develop and embed "Web Components" in WebViews using a WebComponent architecture that will enable Telerik and other third party UI components to be used seamlessly in Lianja.
  • Added a new function EXECPYSP().
    See https://www.lianja.com/doc/index.php/EXECPYSP() for details.
  • Add SET DATEFORMAT TO e.g. SET DATEFORMAT TO "hu_HU".
  • Added SET DATE TO LOCALE. This selects the appropriate date format in scripting ( e.g. ctod() ) and in the UI. It should be placed in the config.db file.in C:\lianja\conf.
  • Performance and stability improvements.
  • Bug fixes.

Lianja App Builder 6.2 Release

Released 07-Jul-2021

The version 6.2 release includes:

  • Added a new "Before Refresh" delegate which is called before data is fetched into the UI.
  • Added the ability to provide feedback to a user when loading data. This is most useful in web and mobile apps and is typically used in the "Before Refresh" delegate.

    e.g.

    Lianja.showLoadingMessage("Your message..." [, cTheme]) // cTheme can be "a", "b", "c", or "d"
    Lianja.hideLoadingMessage()
  • Added additional visual feedback Lianja system object methods:
    Lianja.showErrorMessageWithIcon(cMessage [, lNoTimeout])
    Lianja.showSuccessMessageWithIcon(cMessage [, lNoTimeout])
    Lianja.showWarningMessageWithIcon(cMessage [, lNoTimeout])

  • Added the ability to toggle the visibility of the page header and section header from code. This is available in desktop and web apps.

    e.g.

    Lianja.get("page1").headervisible = true | false
    Lianja.get("page1.section1").headervisible = true | false

  • Significant performance improvements for web Apps.
  • Bug fixes.

Lianja App Builder 6.2.1 Release

Released 27-Jul-2021

The version 6.2.1 release includes:

  • New Lianja system object methods to animate dialog pages over the Page viewport:
    • Lianja.showDialogPage()
    • Lianja.hideDialogPage()
  • The following Lianja system object methods have been enhanced to allow a timeout interval in milliseconds to be specified.  They previously allowed only a fixed timeout of 5000 milliseconds to be enabled or disabled.
    • Lianja.showMessageWithIcon()
    • Lianja.showErrorMessageWithIcon()
    • Lianja.showSuccessMessageWithIcon()
    • Lianja.showWarningMessageWithIcon()
  • Performance improvements.
  • Bug fixes.

Lianja App Builder 6.3 Release

Released 09-Dec-2021

The version 6.3 release includes:


Lianja App Builder 6.3.1 Release

Released 13-Dec-2021

The version 6.3.1 release includes:


Lianja App Builder 6.3.2 Release

Released 17-Dec-2021

The version 6.3.2 release includes:

  • Added Sparkline Charts in grid cells: specify the Spark line expression to return a comma separated list.  Load the "Example Grid Badges" App (example_gridbadges) to see them in operation.
  • Added Ratings in grid cells: specify a greater than 0 value in the new Rating max value attribute.  Load the "Example Grid Badges" App (example_gridbadges) to see them in operation.
  • Performance and stability improvements.
  • Various bug fixes.

Lianja App Builder 7.0 Release

Released 03-Feb-2022

The version 7.0 release includes:

  • Added support for building standalone executables on Windows. See this blog article for details. 
  • The Lianja KVS (Key-Value Store) is now fully integrated as built-in Python Functions.
    • The size of the values that are stored (which may be Python objects/dicts) can be of an unlimited size.
    • This new functionality provides an ideal solution for using Python in Lianja Apps to perform data analysis, machine learning and artificial intelligence using numpy, pandas, PyTorch, tensorflow and other industry standard libraries.
    • Store and retrieve Python data objects of any practical size in Lianja KVS, a full 64 bit key/value store with automatic garbage collection and reusable persistent storage.
    • KVS files can be shared across multiple docker instances and across clusters on network storage.
    • Highly performant key lookup with fully balanced B+ tree storage makes KVS the perfect solution for Python machine learning and artificial intelligence applications.
  • The Python pip command can now be used directly in the Lianja/VFP Console tab, e.g. to install numpy:
    set backticks on
    pip install --target=`cd`\python3\ numpy
  • New built-in Python functions:
  • New Form custom UI Framework class methods:
    • HideMessage()
    • ShowErrorMessage(text)
    • ShowInfoMessage(text)
    • ShowMessage(text)
    • ShowSuccessMessage(text)
    • ShowWarningMessage(text)
  • New Form custom UI Framework class event:
    • moved(x, y, width, height)
  • Enhanced kvs_open() function allowing a KVS to be opened shared or exclusive:
    • kvsid = kvs_open(cFilename.kvs [, lShared])
  • New KVS functions:
  • Added support for the Visual Foxpro aselobj() function to load object references for the following current objects into an array:
    • Active Page
    • Active Section
    • Active Formitem
    • Active Grid Column
    • Object under cursor
  • Support for the Visual Foxpro amembers() function to load object properties into an array has been extended:
    • Amembers() can now be used on the UI Framework Classes.
    • Both objects and classes can be handled.
    • Specifying the third parameter option flag as 1 creates an array with 4 columns: member name, 'property' or 'method', data type, value.
  • New Camera Custom UI Framework Class to use the webcam on your machine to capture and store images.
    • Useful for 'time clock' like Apps to associate a photo when a user clocks in and out.
    • See the example_timeclock App included in the Lianja App Builder distribution.
    • New Lianja system object properties: Lianja.availablecameralist to return a comma separated list of available cameras and Lianja.availablecameras to return the number of available cameras.
  • New Chart Custom UI Framework Class.
    • Add charts to your Apps using custom code.
    • Supports Google Charts.
  • Productivity improvement: when an App is loaded the files that were being edited when it was saved are re-opened for editing.
  • Intellisense improvements.
  • CSS improvements.
  • New option type for the append from command: type binary offset nOffset This allows records to be retrieved from a binary dump file containing raw records specifying a starting offset position.
  • The Image Advanced Control for Canvas Sections can now be data-bound in the web/mobile client as well as on the desktop.
  • Various UI tweaks and improvements.
  • Performance and stability improvements.
  • Various bug fixes.

Lianja App Builder 7.1 Release

Released 09-Mar-2022

The version 7.1 release includes:

Report Builder Improvements

  • New report delegates:
    • Row Renderer
    • Before Row
    • After Row
    • Text Translator
  • Improved report print layout engine.
  • Corrected report chart printing.
  • Added 'Pagebreak After Summary' checkbox to Grouping settings.
  • Added 'Page Left Margin' and 'Page Right Margin' to Page Layout settings.
  • Added 'Page Orientation' combobox to Page Layout settings: Portrait or Landscape.
  • Drag and drop of columns to reorder them.
  • New 'Backup' and 'Restore' Report Builder toolbuttons.  Keep versions of your reports as you design them.  Roll changes back at any time.
  • New Page Layout Custom Options.
  • Group summary now also supports count to display number of rows in the group.
  • Various bug fixes.
  • New system object methods to simplify report printing and viewing:
    • Lianja.showReportViewer(cReportName [, cOptions])
    • Lianja.printReport(cReportName [, cOptions])
    • Lianja.printHtml(cHtml [, cFilename [, cOptions]])

Script Editor Improvements

  • Improvements to search operations in the Script Editor:
    • Added 'Find Next' keyboard shortcut: Ctrl + . (>).
    • Added 'Find Previous' keyboard shortcut: Ctrl + , (<).
    • Added a Search Bar which searches across all files in the App of Library. Just type text and press return

WebView Enhancements

ImageStrip Enhancements

  • New improvements to the functionality of ImageStrip Sections.
  • New example_imagestrip demo App included in the Lianja App Builder distribution.
  • New Image viewer to show a larger version of the selected image.
  • One-click/touch access to the image notes editor. 
  • One-click/touch access to add or delete images. 

New Update Distributions

  • New smaller, quicker to install 'update' distributions for the following:
    • Lianja App Builder for Windows
    • Lianja Cloud Server for Windows
    • Lianja App Builder for Linux
    • Lianja Cloud Server for Linux

Additional Improvements

  • Added a new system table sysfiles: select * from sysfiles where filename == 'pattern' [into cursor yourfiles].  This fills a cursor with details of all the matching files in the current directory.  It is particularly useful if you have tens of thousands of files to process and it is impractical to load their details into an array in memory.
  • Added an additional parameter to keyLookup(). If set to true and the keylookup table was not open, it is left open after the first call to improve performance.
  • Lianja packages can now include huge files greater than 1GB.  This provides the ability to deploy huge databases in packages.
  • The section Before Data Update event delegate can now cause the update to be cancelled when its return value is false.  It can include custom validation with Lianja.showErrorMessage() used to provide user feedback.
  • Added a new Virtual Table property to handle character mapping between utf-8 and locale specific encoding for use with the VFP OLEDB driver, e.g. codec=windows-1252.  See here for supported codepage values.
  • VFP OLEDB Virtual Table performance improvements.
  • Improved memory management.
  • Performance and stability improvements.
  • Various bug fixes.

Lianja App Builder 8.0 Release

Released 17-Nov-2022

The version 8.0 release includes:

New "Develop" icon in the modebar

  • Speeds up the low-code App building experience
  • Click the Develop icon (bottom icon in the Modebar on the left of the main window) to perform common development operations;

    Open Project
    Open App
    Open Database
    New Project
    New App
    New Database
    New Table
    New Form
    New Report
    New Script
    New Library
    New Form Page
    New Grid Page
    New WebView Page
    New TabView Page
    New Report Page
    Generate App Doc
    Generate Database Doc
    Quick Project Package
    Quick Package
    List Package
    Recent Projects >
    Recent Apps >
    Recent Files >

New Form Designer

  • Speeds up low-code App building
  • Create forms faster than ever with a few clicks
  • Build tabbed forms that run in Desktop, Web and Mobile 
  • Forms can be run as standalone executables, desktop forms, web forms and mobile forms.
  • Customize the UI with a traditional Menubar, Toolbar, Actionbar and Statusbar
  • Quickly switch between UI controls and display their attributes and edit their delegates in the Assistant.
  • Write low-code for delegates to handle events (click on CommandButtons etc) in LianjaScript, Python or JavaScript 
  • See the new blog article Working with Forms in Lianja 7.2.

New Page Builder Assistant 

  • Speeds up low-code App building
  • The Page Builder Assistant is now embedded in the App Inspector to speed up development, giving quick access to key Page, Section, Formitem and GridColumn attributes and delegates and easy navigation between the UI elements.
  • Many Page Builder Assistant additions and improvements

Canvas Designer Improvements

  • Drag'n drop tables onto a canvas now provides a default layout. You can then move UI controls about, change their size and other attributes.
  • All canvas controls are now supported in Desktop, Web and Mobile (with the exception of Windows specific ActiveX) ;

    ActiveX (Windows desktop only)
    Chart (new)
    ListBox
    TreeGrid
    WebView
    Rich Text Editor
    CheckBox
    ComboBox
    CommandButton
    Date TextBox
    DateTime TextBox
    Numeric TextBox
    EditBox
    HyperLink
    LCDNumber
    Slider
    ProgressBar
    OptionButton
    OptionGroup (horizontal and vertical)
    Spinner
    TextBox
    Image
    Label
    GroupBox (new)
    Container (new)
    Subtitle
    Separator

  • UI controls now support shading and transparency
  • Much improved anchor support
  • Improved desktop-like pixel perfect layout in Web/Mobile Apps

 Improved Python Support

  • Extended Python scripting support.
  • Low-code Python brought to Web and Mobile Apps.
    • You can now write delegates in Python not just for desktop, but also in Web and Mobile.
    • If you want to experiment with Machine Learning you can now code in Python end-to-end: in the browser and on the server using exports.conf.
  • Python debugger improvements.
  • Python now provides dynamic binding to event handlers in custom Python code (same functionality as LianjaScript and JavaScript), e.g.
    object.click = my_click_function
  • All python delegates now have self as the first argument. self references the object for the delegate. 

 Visual Component Improvements

 Additional New Functions

  • New function tableSeqno(cDatabase, cTable). You can use this to apply a default seqno() in client/server Web Apps. If you use seqno() in a default value for a column then when the App is generated as a Web or Mobile App seqno() will automatically be translated to use tableSeqno().
  • New gmtime() function to return a datetime expressed in Coordinated Universal Time (UTC).
  • Added several new cryptographic hash functions. SHA-256 is a popular hashing algorithm used in Bitcoin encryption (and other blockchain applications):
    • sha256(cExp) - this returns the SHA256 cryptographic hash for the specified character string.
    • sha256file(cFilename) - this returns the SHA256 cryptographic hash for the specified file.
    • sha256record([alias]) - this returns the SHA256 cryptographic hash for the current active record.
    • crc32record([alias]) - this returns an 8 byte hexadecimal value (a cyclic redundancy check) for the current active record.

Additional New System Methods

  • Added Lianja.pushDataSession() and Lianja.popDataSession() methods.
  • Added Lianja.showForm(cTitle, cForm) method to activate forms built with the Form Designer.
  • Added Lianja.getData(cControlSource) and Lianja.setData(cControlSource,eValue) system object methods.  These new methods simplify data access in Web Apps and are well suited for use in the visibleWhen() and enabledWhen() delegates across all supported scripting languages.
  • Added Lianja.isDesktop()
  • Added Lianja.isTablet()
  • Added Lianja.isPhone()

New Form UI Framework Class Properties, Methods and Event Delegates

  • New Form properties:
    • actionbar
    • menubar
    • menubarlayout
    • toolbar
    • toolbarlayout
    • toolbarposition
  • New Form methods:
    • get()
    • getElementByID()
    • printObjectTree() can be used to help in debugging custom forms:
      // example output:
      form::form [visible=0, height=700, width=700]
          mycontainer5::container [visible=0, height=480, width=640]
              myheader5::label [visible=0, height=40, width=156]
              grid5::grid [visible=0, height=192, width=256]
  • New Form event delegates:
    • actionbarclick()
    • afterclose()
    • beforeclose()
    • initform()
    • menubarclick()
    • toolbarclick()

New Container UI Framework Class Properties, Methods and Event Delegates

  • New Container property:
    • recordsource (assign a SQL select statement or a database!tablename and the container will handle data binding and actionbar actions from its parent form)
  • New Container methods:
    • open()
    • close()
    • add()
    • delete()
    • first()
    • next()
    • previous()
    • last()
    • save()
    • cancel()
    • controls(nNumber | cName)
  • New Container event delegates:
    • actionbarclick()
    • initformdefaults()
    • menubarclick()
    • toolbarclick()
  • New Section methods:
    • select( cExp | nExp) selects a tab in a tabview section

Debugging Improvements

CarouselView Section Enhancements

Calendar Section enhancements

  • Calendar can now better be used for event planning with new "Event Location" (e.g Room).
  • UI facelift

OrgChart Section Enhancements

  • UI facelift

DataListView Section Enhancements

  • UI facelift

ArticleView Section Enhancements

  • New 'Edit Article' button in ArticleView Sections to open the HTML file in the WYSIWYG HTML editor in place.
  • UI facelift.

Virtual Table Enhancements

Enhanced Gesture Support for Simplified Data Navigation

  • Checking the Gestures enabled attribute on Form and Canvas sections enables this functionality.
  • On phones and tablets:
    • Swipe left moves to next record
    • Swipe right moves to previous record
    • Swipe down moves to first record
    • Swipe up moves to last record
    • Tap-and-hold edits the current record
  • On desktop browsers:
    • Mouse wheel down moves to next record
    • Mouse wheel up moves to previous record
    • Mouse wheel left moves to first record
    • Mouse wheel right moves to last record
    • Double-click edits the current record
  • These default behaviors can be overridden by custom delegates if required.

Data Workspace Enhancements

Lianja Cloud Admin Console Enhancements

Lianja Cloud Server Login Enhancements

Includes beta technology previews (coming in Lianja 9)

  • Lianja Cloud workspace
  • Build workspace - Build React Native mobile Apps in the cloud

 Miscellaneous Improvements

  • New readme.html template opened in the Apps workspace when an App is created or opened.  This allows the Author, Description and Revision history of the App to be recorded.  It also immediately enables the Script Editor Find Panel Search Bar functionality for searching all files in the App.
  • Added a new Web/Mobile App Setting: Disable success notifications. This operates in Web/Mobile Apps to disable the 'noise' from successful operations such as updating records, uploading images etc. Notifications only occur when an error occurs.
  • Improved SQL compatibility with Visual Foxpro.
  • SQL optimizer improvements and fixes resulting in an overall speed boost.
  • Improved garbage collection.
  • UI datetime date display format now defaults to the system locale.  It can be changed using the set dateformat command.
  • Improved deployment. Select only those files to be deployed and they will be compiled if required and then deployed. Use 'Preview' first to verify the files that will be deployed.
  • When saving data as xml/excel (SELECT or COPY) any invalid characters are now escaped.
  • Usability improvements in grid editing.
  • Section menus are now multi-level in Desktop and Web Apps. In Desktop Apps they have the look and feel of standard window Menubars.
  • In the Advanced options of the FormBar while editing canvas sections and forms you can "Select All" UI controls. This is handly when you want to move UI controls using the keyboard arrow keys to make fine adjustments.
  • Ctrl+Shift+Click a GroupBox in a canvas section will select the GroupBox and all UI controls inside it.
  • Specify "Permissions and Roles" graphically
  • Many UI improvements.
  • Performance and stability improvements.
  • Various bug fixes.

Lianja App Builder 8.0.1 Release

Released 22-Nov-2022

The version 8.0.1 release includes:

  • Performance and stability improvements.
  • Various bug fixes.

Lianja App Builder 8.0.2 Release

Released 25-Nov-2022

The version 8.0.2 release includes:

  • Performance and stability improvements.
  • Various bug fixes.

Lianja App Builder 8.0.3 Release

Released 28-Nov-2022

The version 8.0.3 release includes:

  • The App Wizard now offers the option to create a new database when selecting the database for the new App.
  • The setAttr() and getAttr() methods for setting and getting attributes have been added to the web framework for formitems.
  • Performance and stability improvements.
  • Minor bug fixes.

Lianja App Builder 8.0.4 Release for macOS

Released 06-Dec-2022

The version 8.0.4 release for macOS includes:

  • Minor bug fixes.

Lianja App Builder 8.0.5 Release

Released 15-Dec-2022

The version 8.0.5 release includes:

  • Minor bug fixes.

Lianja App Builder 9.0 Release

Expected release Q1 2023

The version 9.0 release will include:

Lianja Cloud Ready

  • Lianja 9 is ready to use with the Lianja Apps Cloud. Purchase a Lianja Apps Cloud subscription and use the key provided to activate up to 5 Lianja App Builder Cloud Developer Edition installations to develop, test and deploy your Web and Mobile Apps into the Lianja Apps Cloud. 

Runtime Royalty Free Desktop Apps

  • The purchase of a Lianja App Builder subscription now includes the entitlement to deploy runtime desktop Apps royalty free insofar as your App Builder subscription is active.

Lianja Cloud Admin Console Enhancements

  • The Lianja Cloud Admin Console has been further enhanced.
  • Improved performance.
  • Database tables can now be 'browsed' with full CRUD operations in a data grid.
  • Data can now be imported into database tables by uploading a .csv file.
  • New Resource Customization for Lianja Cloud:
    • Environment Variables
    • Tenant Configuration
    • Cron Jobs
    • Debug Files
    • ODBC Data Sources

Report Builder Enhancements

  • The Report Builder Export menu is now fully functional. Export reports in the following formats:
    • PDF
    • Email (PDF)
    • HTML
    • CSV
    • XML
    • Excel (XML)
    • JSON
    • ADO (XML)
  • Drag and drop of columns to rearrange them.
  • Changing the Fields using the Field Chooser now automatically rearranges the attributes for the columns.
  • Right-clicking on a report name now opens a context menu with the following options:
    • Delete Report
    • Rename Report
    • Copy Report
  • Bug fixes and performance improvements.

Improved Mobile Support

  • Improved Touch Support.
  • Touch scrollable Lianja App Center.
  • Improved responsive UI for phones and tablets.
  • Improved caching in Progressive Web Apps.
  • Now supports PDF attachments on phones and tablets in Progressive Web Apps.
  • Customizable splashscreens for Progressive Web Apps.
  • Lianja Login and Lianja App Center now work on phones and tables.
  • Now supports "public" registrations.

Demo App Enhancements

  • The 'form2' demo App (Demo Mobile Apps -> Tabbed Form) has been enhanced to demonstrate a toolbar-driven tabview UI for mobile devices.
    • Built as a JavaScript Tabview section form.
    • Runs as a web/mobile App with a toolbar at the bottom of the page to select the tabbed sections.
    • Can also be called on the desktop using Lianja.showForm() or built to run as a standalone executable.

Additional Improvements


Lianja App Builder 9.1 Release

Expected release 2023

The version 9.1 release will include:

  • New web based 'Form Builder' with a UI similar to the 'Report Builder'. This is based on the way the report builder operates. 'Forms' can be secured with roles and permissions. This provides secure end user development of forms using NoCode.
  • Offline database support in Cloud Apps.
  • Performance and stability improvements.
  • Various bug fixes.


Lianja App Builder 10.0 Release

Expected release date 2023

The version 10.0 release will include:

  • Apps to optionally be generated as "React Native" Apps.
  • Native Windows x64 build.
  • Visual FoxPro Report (.frx file) import tool into the Lianja Report Builder.
  • Visual Form/Dialog Builder that works with existing VFP .scx and .vcx files.
  • Performance and stability improvements.
  • Fix reported bugs.

Lianja App Builder 11.0 Release

Expected release date 2023

The version 11.0 release will include:

  • Cross platform .NET Core SDK integation
  • Add dynamically compiled C#.NET as a supported language cross platform.
  • Performance and stability improvements.
  • Fix reported bugs.

Lianja SQL Server 6.0 Release

Released 31-Mar-2021

The version 6.0 release includes:

  • Performance and stability improvements.
  • Fix reported bugs.

Lianja SQL Server 6.0.1 Release

Released 6-Apr-2021

The version 6.0.1 release includes:

  • Performance improvements
  • Bug fixes

Lianja SQL Server 6.0.2 Release

Released 15-Apr-2021

The version 6.0.2 release includes:

  • Performance improvements
  • Bug fixes

Lianja SQL Server 6.1.0 Release

Released 18-Jun-2021

The version 6.1.0 release includes:

  • Performance improvements
  • Bug fixes

Lianja SQL Server 6.2 Release

Released 07-Jul-2021

The version 6.2 release includes:

  • Significant performance improvements
  • Bug fixes

Lianja SQL Server 6.2.1 Release

Released 27-Jul-2021

The version 6.2.1 release includes:

  • Performance improvements
  • Bug fixes

Lianja SQL Server 6.3 Release

Released 09-Dec-2021

The version 6.3 includes:

  • Performance improvements
  • Bug fixes

Lianja SQL Server 6.3.1 Release

Released 13-Dec-2021

The version 6.3.1 release includes:

  • Performance improvements
  • Bug fixes

Lianja SQL Server 6.3.2 Release

Released 17-Dec-2021

The version 6.3.2 release includes:

  • Performance improvements
  • Bug fixes

Lianja SQL Server 7.0 Release

Released 03-Feb-2022

The version 7.0 release includes:

  • Performance improvements
  • Bug fixes

Lianja SQL Server 7.1 Release

Released 09-Mar-2022

The version 7.1 release includes:

  • Performance improvements
  • Bug fixes

Lianja SQL Server 8.0 Release

Released 17-Nov-2022

The version 8.0 release includes:

  • Performance improvements
  • Bug fixes

Lianja SQL Server 8.0.1 Release

Released 22-Nov-2022

The version 8.0.1 release includes:

  • Performance improvements
  • Bug fixes

Lianja SQL Server 8.0.2 Release

Released 25-Nov-2022

The version 8.0.2 release includes:

  • Performance improvements
  • Bug fixes

Lianja SQL Server 8.0.3 Release

Released 28-Nov-2022

The version 8.0.3 release includes:

  • Performance improvements
  • Bug fixes

Lianja SQL Server 8.0.5 Release

Released 15-Dec-2022

The version 8.0.5 release includes:

  • Performance improvements
  • Bug fixes

Lianja SQL Server 9.0 Release

Expected release 2023

The version 9.0 release will include:

  • Performance improvements
  • Bug fixes

Lianja SQL Server 9.1 Release

Expected release 2023

The version 9.1 release will include:

  • Available as a docker image.
  • Native Windows x64 build.
  • Fix reported bugs.

Lianja Cloud Server 6.0 Release

Released 31-Mar-2021

The version 6.0 release includes:

  • Note: the location of the Lianja 64 bit ISAPI extension for IIS has changed.  See ISAPI Extension for IIS for full details.
  • Performance and stability improvements.
  • Fixed various reported tickets.

Lianja Cloud Server 6.0.1 Release

Released 6-Apr-2021

The version 6.0.1 release includes:

  • Performance improvements
  • Bug fixes

Lianja Cloud Server 6.0.2 Release

Released 15-Apr-2021

The version 6.0.2 release includes:

  • Performance improvements
  • Bug fixes

Lianja Cloud Server 6.1.0 Release

Released 18-Jun-2021

The version 6.1.0 release includes:

  • Performance improvements
  • Bug fixes

Lianja Cloud Server 6.2 Release

Released 07-Jul-2021

The version 6.2 release includes:

  • Significant performance improvements
  • Bug fixes

Lianja Cloud Server 6.2.1 Release

Release 27-Jul-2021

The version 6.2.1 release includes:

  • Performance improvements
  • Bug fixes

Lianja Cloud Server 6.3 Release

Released 09-Dec-2021

The version 6.3 includes:

  • Performance improvements
  • Bug fixes

Lianja Cloud Server 6.3.1 Release

Released 13-Dec-2021

The version 6.3.1 release includes:

  • Performance improvements
  • Bug fixes

Lianja Cloud Server 6.3.2 Release

Released 17-Dec-2021

The version 6.3.2 release includes:

  • Performance improvements
  • Bug fixes

Lianja Cloud Server 7.0 Release

Release 03-Feb-2022

The version 7.0 release includes:

  • Performance improvements
  • Bug fixes

Lianja Cloud Server 7.1 Release

Released 09-Mar-2022

The version 7.1 release includes:

  • Performance and stability improvements.
  • Fixed various reported tickets.

Lianja Cloud Server 8.0 Release

Released 17-Nov-2022

The version 8.0 release includes:

  • Performance and stability improvements.
  • Fixed various reported tickets.

Lianja Cloud Server 8.0.1 Release

Released 22-Nov-2022

The version 8.0.1 release includes:

  • Performance and stability improvements.
  • Fixed various reported tickets.

Lianja Cloud Server 8.0.2 Release

Released 25-Nov-2022

The version 8.0.2 release includes:

  • Performance and stability improvements.
  • Fixed various reported tickets.

Lianja Cloud Server 8.0.3 Release

Released 28-Nov-2022

The version 8.0.3 release includes:

  • Performance and stability improvements.
  • Fixed various reported tickets.

Lianja Cloud Server 8.0.5 Release

Released 15-Dec-2022

The version 8.0.5 release includes:

  • Performance and stability improvements.
  • Fixed various reported tickets.

Lianja Cloud Server 9.0 Release

Expected release 2023

The version 9.0 release will include:

  • Performance and stability improvements.
  • Fix various reported tickets.

Lianja Cloud Server 9.1 Release

Expected release 2023

The version 9.1 release will include:

  • Available as a docker image.
  • Performance and stability improvements.
  • Fix various reported tickets.

Lianja Cloud Server 10.0 Release

Expected release 2023

The version 10.0 release will include:

  • Handle UI states in the Web and Mobile clients.
  • Handle dynamic roles and permissions just like the desktop version already does.
  • Synchronization of data from offline to online (Lianja Cloud Server) mode in Lianja Mobile Apps.
  • Native SSL support (https://) without having to use IIS or Apache.
  • Native windows x64 build.
  • Performance and stability improvements.
  • Fixed various reported tickets.

Lianja Cloud Server 11.0 Release

Expected release date 2023

The version 11.0 release will include.

  • Cross platform .NET Core integration.
  • Performance and stability improvements.
  • Fix reported bugs.

Lianja Cloud 1.0 Release

Expected release 2023

The version 1.0 release will include.

Lianja Cloud is a no compromise solution that takes the pain out of cloud adoption and lets you concentrate on your business Apps.

  • A multi-tenant solution running on AWS.
  • A fully managed and scaleable architecture using best-of-breed Amazon AWS technologies. Load balanced, Containerized, horizontally scaleable with replicated data and automatic backups.
  • Running on Linux x64 instances to minimize costs and optimize performance.
  • Purchase a subscription online directly from within the App Builder "Cloud" workspace.
  • Use Lianja App Builder to DEVELOP, TEST and DEPLOY your custom Apps and Data then easily SHARE these with your team, company or customers in the cloud. Lianja Cloud provides secure, reliable access to your custom Web and Mobile apps developed using Lianja App Builder. 
  • Users access your custom web and mobile apps through the Lianja App Center after authenticating in your Lianja Cloud tenancy. 
  • Includes the Lianja Cloud Admin Console for administration of users, permissions, row level security and column data masking based on user roles. The Lianja Cloud Admin Console is a web-based UI that allows you to monitor and administer your Lianja Cloud tenancy. 
  • Monitor your Lianja Cloud tenancy in the Lianja Cloud Admin Console "Dashboard" panel. View connected users, disk usage, CPU usage, network I/O and other useful information in the "Dashboard".
  • Configure automatic and/or manual snapshot backups in the Lianja Cloud Admin Console "Backups" panel. Easily restore from a snapshot backup.
  • ODBC drivers for Lianja, MySQL, MSSQL and PostgreSQL are pre-installed.
  • Handles hot updating of Apps, Library and Data schemas while users are active simply by creating a lianja package (.lpk file) in the "Deploy" workspace and upload it to your Lianja Cloud tenancy using the Lianja Admin Console "packages". The Lianja Cloud tenancy can handle both "automatic" updates and manual updates.