2023.09
Release Notes
2023.09.1
This release has some (regression) fixes and other minor improvements, some listed below
Note The updates of the Postgresql driver did bring forward a breaking change for the stored procedures support (databasources.sp.xx) that Servoy has Because since Postgresql 11 they have now native support for Stored Procedures, (CREATE OR REPLACE PROCEDURE) which was previously only Functions. We used DatabaseMetaData.getProcedures() to get all the SP, and until the 42.2.11 release of the driver that would return Functions, but they stopped doing that. This will mean that from this release on we also really only support SP through our datasources.sp.xxx calls for Postgresql
2023.09
Enhancements
The following are key enhancments in Servoy version 2023.09
ECMAScript Parser
Servoy is in the process of updating the JavaScript engine and tooling to be compatible with ECMA 2015+. In the 2023.9 release, we enhanced the parser we introduced in 2023.6 more by adding 'let' and 'for-of loops' suppport. Besides fixes other fixes and improvements
Try it Out
In Servoy Developer, go to the menu Window -> preferences -> JavaScript
and select the option "Enabled the ECMAScript parser", after which your Script Editor will be able to parse newer ECMA syntax, such as Arrow Functions and Template Literals.
Caller hierarchy to performance method file logging ("log only setting" on the admin page)
The log format is a bit changed because of this, because we now include id's and parentid's in the log:
functions: id|parentid|clientuuid|function/path|totaltime|totaltime|Function or Function_userinput|solutionName sql: id|parentid|clientuuid|sql|totaltime|intervalTime|TypeOfQuery|serverName
so people who did parse this log have to change the parsing because of the 2 things added at the front.
Also this change introduced a breaking java api change (for java plugins that use this) in the IServerAccess interface:
public void endPerformanceTiming(String context, Integer id, String clientId); >> Integer parameter == Long
public Integer addPerformanceTiming(String context, String action, long time_ms, String clientId); >> Integer return type is Long
Developer
Throughout the developer "Groups" (like in the security editor) are renamed to "Permissions". Also api (see below JSSecurity) deprecated the groups functions and added permission functions instead.
Behavior changes
InMem tables are now following the allow null flag when saving.
API Changes
The following are additions and changes to API
Added method
getFoundSet
(QBSelect)
toJSDatasource
: Also updated the docs for this in various places because there are changes in the different getFoundset(qbselect) calls, some are really loading just the query as the search query for that foundset others calls like this new one makes a view of it (so loadAllRecords() on that foundset will rever to that query)Added method
isCleared
()
toJSFoundSet
to check if this foundset is in a cleared state.Added method
setFirstDayOfTheWeek
(number)
toJSI18N
to override the default first day of the week of the timezone/locale the user is in.JSSecurity methods with "groups" in the name are depricated and replaced with "permissions" equivalents.
TiNG updates
Angular updated to 16.2 (this is a breaking change for most core projects like bootstrap or nggrid those needs also new versions) Minor upgrades to other core npm packages
Dialogs plugin is rewritten to be more in line with the look and feel of bootstrap (NG1)
jar updates
Eclipse updated to 2023.06 (4.28) Shipped java updated to 17.08 A lot of jdbc drivers are updated to the latest releases (mssql, mysql, postgresql and hsqldb (inmem)) A lot of 3rd party jars (core and plugin jars) are updated like snake, jandex, jackons and jwt libs.
Case List
Below is a comprehensive list of cases associated with each release (candidate)
2023.09.1
2023.09
2023.09-RC2
2023.09-RC1
Last updated