We added a property in the Servoy global preference page:

When that property is enabled, the validation of javascript through parsing the files is working differently.
It will then not fully parse referenced js files that are references like:
var myVariableFromOtherScope = scopes.otherscope.giveAnObject();
Currently if you have this in you js file (form or scope) then that "otherscope.js" is also fully parsed, with that property enabled otherscope.js is only partially parsed by only parsing the function declarations. Because of this @return is very important to have in the JSDoc on all functions that return something. Because the parser will not able able to see it from the function itself because the body is not parsed.
Currently there is also a problem if we parse the otherscope.js file because you are in "currentscope.js" then if otherscope.js also reference again thirthscope.js that scope will not be fully parsed. This is because of performance reasons (parsing one file could result in parsing everything)
And the side effect of that is that if thirthscope.js returns objects again from other files that those objects are not seen by the current file that you are editing (so no code completion or validation).
With this new property this is also fixed.
If you have constructor functions that assign stuff to the "this" these functions have to have @constructor in the jsdoc. because those bodies will be parsed. If we wouldn't do that then objects properties wouldn't be seen.
So as long as you document your function correctly by having @return and @constructor everywhere. The checking of that property could result in a lot less memory usage, and much faster parsing. Besides the fixing of the problem of deeply nested javascript files that resulted in not seen return values that it should see.
We like to have feedback for this property, to see if we can enable this by default in 8.4
The debugger is also changed a bit so that getting variable values that displayed in the variables view in the debugger are get differently. All commands that are send between the debugger in the developer and the Client are now executed through multiply threads. This way they won't block each other. So please check in this release candidate how the debugger works, (stepping over, stepping out and monitor the variables view if that is updating correctly)
The http plugin has some enhancements, now the async method on the request (get/put) can handle now many at the same time, we also added a close() method on the HttpClient that should be called if you are done with it. Servoy will auto close them when the solution is closed.
The rest_ws plugin has now also client side scripting, for interacting with the real Request and Response objects, so you can get or set headers. This api only works inside a rest_ws calls when there is an active request.
Small change in behavior: foundset.loadRecords(foundset2) or controller.loadRecords(foundset2) (when the foundset that the form has is a separate foundset) are behaving a bit different now when the "foundsert2" has filters. Those filters are now applied in the foundset where you load into.
Issues fixed in this release:
Developer, NGClient | SVY-12278 | In mem database calculations not re-evaluated |
Developer | SVY-12364 | datasources code completion shows hidden views |
Developer | SVY-12368 | Checking on a branch containing new in-mem tables gives error markers that only disappear after restart |
Developer | SVY-12392 | Locate Servoy Resources doesn't show tables anymore |
Developer | SVY-12400 | Show form properties in new designer when clicked in empty area |
Developer | SVY-12377 | the toolbar button 'Vertical Centers' reverses the order of the form elements |
Developer | SVY-12443 | Cannot open/read/change properties of a web component anymore |
Developer | SVY-12403 | column with string converter gives warning |
Developer, Server | SVY-12181 | Progress DB Sequences Issues |
Developer | SVY-12513 | setting of valuelist at runtime is giving a null pointer exception |
Developer | SVY-12521 | debugger hangs when saving a file when debugging |
Developer | SVY-12417 | Exception on WebObjectRegistry (should use a concurrent?) |
Developer | SVY-12523 | Buildmarker issue in pre-/post-import hook modules |
Developer | SVY-12470 | improve validation/code completion of servoy scripting |
Developer | SVY-12463 | SQLServer default connection url should use selectMethod direct |
Developer, DLTK | SVY-10927 | Incorrect buildmarker on function parameter |
Extensions, NGClient | SVY-12287 | AG Grid: Using related foundsets is not working |
Extensions | SVY-12260 | Supply the http headers of an incoming rest_ws call |
Extensions, NGClient | SVY-12284 | AG Grid: Configure grid columns |
Extensions | SVY-12309 | Sending JavaScript Object with null values as methodArguments into a menuItem doesn't get revived properly on callback |
Extensions, NGClient | SVY-12283 | AG Grid: Editable Grid |
Extensions, NGClient | SVY-12398 | Width of servoy-extra-components table shrink when scroll is shown |
Extensions, NGClient | SVY-12285 | AG Grid: Persist configuration |
Extensions, NGClient | SVY-12289 | AG Grid: Sorting is not working properly |
Extensions, NGClient | SVY-12290 | AG Grid: Grouping on empty/null values doesn't work |
Extensions, NGClient | SVY-12288 | AG Grid: Issue with column that has no data provider set |
Extensions | SVY-12395 | AGGrid: Use of showColumnsMenuTab property results in wrong sizes |
Extensions | SVY-12430 | svyExtraTable causes a foundset query to be fired more than once |
Extensions | SVY-12435 | bootstrap tabpanel misses onTabChange event handler |
Extensions, NGClient | SVY-12505 | AG-Grid: Strange behavior when tabbing / clicking through editable grid |
Extensions, NGClient | SVY-12504 | AG Grid: onDataChange event for grid or grid columns |
Extensions | SVY-12515 | Make callback parameter of plugins.headlessclient.JSClient.queueMethod optional |
Extensions | SVY-12516 | Swallow ExitScriptException in HeadlessClient plugin when the queued method exists the HC |
Extensions | SVY-12518 | AG-Grid: Arrow keys to change selected record |
Extensions, NGClient | SVY-12506 | AG-Grid: Incorrect tabbing on focus lost of edited field |
Extensions | SVY-12538 | support concurrent (async) requests on an HttpClient instance |
Extensions, NGClient | SVY-12484 | Combobox not showing selected option |
Extensions, NGClient | SVY-12427 | Aggrid scrolls back up to top once the user scrolls past cached limit |
Extensions | SVY-12525 | AGGrid: newColumn (and remove) support |
NGClient | SVY-12371 | Need to replace trailing zeros with spaces on number type field |
NGClient | SVY-12005 | dataprovider based on relation does not refresh |
NGClient | SVY-12373 | in NG in the onAction of a calendarfield you don't get the new value |
NGClient | SVY-12365 | Ag-grid doesn't support MEDIA columns |
NGClient, WebClient | SVY-12385 | add property to override (or use) X-Forwarded-xxx (scheme and host) when creating full urls |
NGClient | SVY-12311 | Tab Order |
NGClient | SVY-12452 | Errors in browser console when using onDataChange with a combobox in NG Client |
NGClient | SVY-12455 | Select2Tokenizer and Collapsible not useable with IE11 |
NGClient | SVY-12401 | warning message with plugins.dialogs |
NGClient | SVY-12502 | Grouping Grid rows with no data_provider return -1 as columnindex |
NGClient | SVY-12478 | New 8.3 getWebComponents() does return them but they can't be changed due to NPE |
NGClient | SVY-12406 | Bootstrap tabpanel - removeAtTab and history.removeForm |
NGClient | SVY-12462 | showFormPopup does not close on a modal form |
NGClient | SVY-12524 | wrong reference to templates path |
NGClient | SVY-12473 | Bug in Gelders project |
NGClient | SVY-12537 | Log messages due to color value mismapping in Sablo? |
NGClient | SVY-12544 | Adding a column with a styleClassDataprovider breaks the grouping |
NGClient | SVY-12527 | build and test Servoy 8.3.1 rc |
NGClient | SVY-12522 | Warning generated in the log when invoking an internalApi method from the browser sending in a parameter with a property of type media |
NGClient | SVY-12511 | Ability to configure slight delay for showing "Reconnecting..." overlay in the NGClient |
NGClient | SVY-12459 | readOnly Issue with tabs added at runtime |
Runtime | SVY-12467 | Error using the foundset updater |
Server | SVY-11737 | solution Import writes a lot of messages of level WARN to the log, which are not warnings but informational |
Server | SVY-12410 | Array columns are read as string in stead of arrays |
Server | SVY-12445 | Can't deploy war with Servoy 8.3 |
Server | SVY-12421 | Audit not working |
Server | SVY-10175 | DB server goes offline with a ORA-01424 error. |
Server | SVY-12509 | Update from servoy 7.4.8 to 8.3.0 Fails to upgrade repository when auto-upgrade enable using "-upgradeRepository" flag set in exported war file |
Server | SVY-12543 | Give jmx dbcp pool names the name of the db server |
Server | SVY-12529 | lineBreaks missing in Script Stack Traces that Servoy automatically adds to logmessages |
Server | SVY-12426 | Tomcat/war won't start second time/after import due to a deadlock |
SmartClient | SVY-12397 | Error calling getFormScope on a destroyed DataAdapterList on Servoy 8.3 rc2 |
SmartClient | SVY-12481 | smart client solution caching with active solution WAR deployment doesn't cache or returns old values |
SmartClient | SVY-12441 | form style bottom or top borders showing over footer or table view column headers |
WebClient | SVY-12302 | Focus not working on listview |
WebClient | SVY-12097 | tabindex does not work as expected |
WebClient | SVY-12519 | Servoy 8.3.0, When selecting a different record on a second view it gets changes from previous record edited on first view |