See issues fixed from a complete list of issues that is done for the 8.4 (rc1) release
Java 11 support (for developer, war/app server should already work)
Locate Servoy Resource dialog can now open directly the script editor of a form (right click menu)
Shallow java script parsing is now on by default, besides @constructor we also have @parse js doc tag to force the body of that function to be parsed.
Create method for a handler (button.onaction) can now be done on a super form.
Open script method action in designer will now popup super forms if there are any to open them directly.
ValueList Editor, extra fields so you define the types of the Real and Display values of a custom/global valuelist.
Context Sensitive help throughout the developer (for all views,editors,dialog's)
Many Java Libraries are updated, some from the updated eclipse (4.8)
Logging libraries are updated to Log4j2, now using a separate file log4j.xml for configuring the logging.
ViewFoundSet: Foundset based on a plain query builder object instead of directly on a datasource/table.
Angular upgraded from 1.6.3 to 1.7.3
CSS Positioning for NGClient absolute positioned forms (replaces anchored)
(table views can't be created in this mode)
CSS Positioning Container, for having a css positioned elements inside a responsive form.
New NGClient solutions can now by default use a Servoy shipped Less file for styling, configurable a special less properties file.
Form designer, zoom into a container for easier layout, is mandatory for the CSS Positioned container.
List FormComponent component for repeating a FormComponent based on foundset records. (Kind of replacement for a ListView)
Form Components are now listed in the Designers palette, for drag n drop them right on the form.
Less support in media files, those will be compiled constantly in the developer when sending to the browser, and pre compiled when making a WAR
Small API changes
utils.stringFormat() to 'mask' format strings like you can do with a mask format on format property of a field.
window.showFormPopup() now can add a blocking overlay
security.setTenantValue() now supports an array for multiply tenants at once (first one is "main")
application.refreshGlobalMethodValueList for refreshing a valuelist for an element.
foundset.getOmittedPKs() gets the current list of omitted pks
record.isRelatedFoundSetLoaded(relationName) to check if a relation is loaded without loading it.