Lianja 7.2 will be the next general release expected this month.

I have uploaded Lianja 7.2Beta25 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 7.2Beta24

- *new* You can now build forms visually in the Canvas Designer using JavaScript, LianjaScript or Python and create standalone executables from these.
- Python debugger improvements
- *new* 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
- *new* Lianja.showForm("title", "componentlib.componentname?componentargs...". componentargs is a ';' separated list of objectname.attribute=value pairs. The objectname corresponds to the formitem name in the canvas section that has been saved as a component. Forms can be developed visually in LianjaScript, Python or JavaScript.
- Performance improvements
- Various tickets fixed.

Changes since 7.1

- SQL optimizer improvements and fixes resulting in an overall speed boost
- Added serveral 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 hexidecimal value (A cyclic redundancy check) for the current active record
- Many Canvas Designer improvements.
- Added 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().
- Further "Assistant" improvements:
-- Improved "Anchor" layout support
-- Added "Order By" to allow column selection to order a section by using a field picker.
-- Added "Filter" to allow specifying of a filter using the query builder.
- Datetime date display format now defaults to the system locale. It can be changed using the SET DATEFORMAT TO "..." command.

Code:
set dateformat to "ISO" or "yyyy-MM-dd"
set dateformat to"ANSI" or "yyyy.MM.dd"
set dateformat to "JAPAN" or "yyyy/M/d"
set dateformat to "BRITISH" or "d/M/yyyy"
set dateformat to "AMERICAN" or "M/d/yyyy"
set dateformat to "GERMAN" or "dd.MM.yyyy"
set dateformat to "ITALIAN" or "dd-MM-yyyy"
set dateformat to "FRENCH" or "d/M/yyyy"
set dateformat to "YMD" or "yyyy/M/d"
set dateformat to "MDY" or "M/d/yyyy"
set dateformat to "DMY" or "d/M/yyyy"
set dateformat to "USA" or "M-d-yyyy"
- Improved SQL compatability with VFP
- Column names containing spaces in MSSQL Virtual Tables are now supported. Specify the "translatecolumnname=true" property for the Virtual Table. Column names containing _ characters can be excluded by specifying "translatecolumnnames=-name1,-name2 etc"
- Improved deployment. Select only those files you want deployed and they will be compiled if required and then deployed. Use "Preview' first to verify the files which will be deployed.
- When saving data as xml/excel (SELECT or COPY) any invalid characters are now escaped.
- You can now write to the App Builder console log from .rsp server-side code to assist debugging. Select the console worspace in the App Builder and click the "Preview live in browser" icon.
Code:
set debugout on
writeOutput( cExpression )
set debugout off
- Added the ability to redirect output to the App Builder console workspace from .rsp files. This supports arrays and objects just like the ? command does. e.g.
Code:
set debugout on
? > variable
? > _get
set debugout off
- Added new "Form" method to help in debugging custom forms
Code:
myform = createObject("form")
myform.printObjectTree()
- Improved garbage collection.
- Numerous improvements to the "Assistant"
-- Added "Caption size and "Data size"
-- Added "Caption font" and "Data font"
-- Added "Caption alignment" and "Data alignment"
-- All attributes in the "Formitem" panel can now be edited in a popup dialog. This is useful for long test such as Choices and DataMapping.
-- Added "Layout" direction for "OptionGroups" in the "Assistant" for Form and Canvas sections.
-- Added "Multiselect" for "OptionGroups in canvas section in the "Assistant" for Form and Canvas sections.
- Virtual Table improvements.
-- Basetable added to the VT dialog to make it more intuitive.
-- VT Updates now operate with wheretype=3
- Added a new LianjaScript function gmtime(). This returns a datetime just like the datetime() function but the time is in expressed in Coordinated Universal Time (UTC).
- The "Page Builder Assistant" is now embedded in the "App Inspector" to speed up development.
- Further oledb improvements
-- Improved performance
-- Now working better with the searchbar in Desktop and Web across all fields
- Added a new App attribute "Disable success notifications". This operates in Web/Mobile Apps to disable the noise from successful operations such as updating records, upload images etc. Notifications only occur when an error occurs.
- Included a new example app example_carouselview
- Improvements to the carouselview section
-- You can now edit the parameters by clicking on the keyboard icon in the section header
-- Adding a new image positions on that image after uploading it
- Minor UI improvements
- Performance and stability improvements.
- Various bug fixes.