8.8

Last update: Edit

8.8.2

Release date: May 29th, 2020

Download

Fixes

  • If an app contained a widget with conditional visibility on attributes inside a pluggable widget, the app could not be deployed in Mendix Cloud. This has been fixed. (Tickets 98654, 101001)

8.8.1

Release date: April 14th, 2020

Download

Fixes

  • We fixed copying and pasting elements of document templates. (Ticket 98424)
  • We fixed an issue where an offline microflow call crashed if the parameter contained a reference to a parameter that was not being used in the microflow.

Known Issues

  • Downloading private content in the App Store available in Studio Pro has been temporarily disabled due to a security risk. Please see this issue described in the App Store release notes for more information, details about where to find your private content, and plans for future version-specific fixes.
  • The first deployment of an app project with a native mobile profile takes approximately one minute longer than usual, as the first deployment needs to build up a cache. On consecutive deployments, this time is reduced.

8.8.0

Release date: April 1st, 2020

Download

New Features

  • With this release, we are providing one of the most requested features for offline functionality – calling microflows from nanoflows! Just drag the microflow you want to call right onto your nanoflow, and that’s it. You can now interact with online resources such as retrieving data from a REST service and access and use complex logic such as Java actions. Please note that calling microflows from nanoflows for offline apps works a bit differently than for web apps. For details, see Offline-First.
  • You can now copy-paste elements (such as entities, widgets, documents, and folders) between Studio Pro instances! Please note that this only works between two Studio Pro app projects of the same version (and build number) starting with this version.

Simplified Page Modeling

As you know, a data widget (for example, a data view) introduces a context for the widgets it contains. Inside a data widget, you can put widgets that can show or edit the values of the context object.

However, when you build a more complex UI, you often need to nest multiple data widgets. This posed an unfortunate limitation: input widgets could edit an object only of its direct data container.

With this release, we’re happy to say that we will no longer limit your creativity in this way! Now, an input widget can edit an object of any of its parents’ data widgets. No strings attached.

Improvements

  • We improved the keyboard accessibility for the radio buttons widget. Now, when you tab into the widget, the selected radio option is focused. You can change the value with the arrow keys. The next tab will move the focus out of the radio button group to the next item that can be focused. The On enter and On leave properties are now triggered correctly and no longer on each change. (Ticket 95483)
  • We improved accessibility for menu items. (Ticket 95888)
  • We improved accessibility for buttons and icons/images for pluggable widgets. (Ticket 95916)
  • We improved accessibility for screen readers in pop-up windows by adding the label close to the close button that is shown as X. This label can be set in System texts > Accessibility > Page popup close ‘x’ button label.
  • We now block users after three failed logins in a Mendix Cloud node environment if the app project security is set to Production. (Ticket 95292)
  • We made dialog boxes that allow for text editing (like documentation) vertically resizable. (Ticket 97121)
  • In import mapping actions, we introduced a consistency check when Validate Against Schema is true but the mapping is based on a JSON structure or message definition. This happens in some exceptional cases like resolved merge conflicts. (Ticket 95884)
  • When using an XPath constraint containing a [%CurrentObject%] token outside a data container, this resulted in a deployment error. A consistency error has been added to detect this case. (Ticket 96347, 96560)
  • We improved screen reader accessibility for the file manager and image uploader widgets. The buttons are now connected to their labels, and the download button description includes the file name. We added a system text for , which indicates that no file was selected for upload. You can replace this text with “No file selected” so that the state for the screen reader user is perfectly clear.
  • We improved the way new documents and folders are created in Project Explorer. When a new folder is added, it is now always selected and shown automatically.
  • We adjusted the settings text in the Preferences dialog box.
  • We know you like to navigate to the right document as quickly as possible, so we added a Go to target button to the native navigation profile settings.
  • Based on your feedback, we changed which widgets are created when you drag an attribute from the Connector: it is now always an attribute input widget, even when an attribute over association was selected.
  • We made some small textual improvements to the Manage Suppression Rules dialog box.
  • We upgraded the commons-lang3 .jar from 3.8.1 to 3.9.
  • We added support for Microsoft SQL Server 2019.
  • There were places where Studio Pro did not allow you to use $variable/Module.Association expressions, even when you were doing something innocent like checking it for empty. This is no longer the case, because you can now write any expression anywhere as long as it is of the correct type.
  • Java action parameters of the string template type can now be configured to use either SQL or text grammar. And with this release, we are introducing the highlighting of common SQL keywords.
  • When a decision is recommended by Mendix Assist, in addition to the specific recommended expressions, you are now able to select a general option.
  • We added microflow call, change list, list operation, and Java action call (with parameterization) actions to Mendix Assist recommendations.
  • The validation feedback action is now recommended by Mendix Asisst only when appropriate scope variables are present.
  • Model Share has been discontinued. Models uploaded to Model Share before March 31st, 2020 will still be available for download in the MPK format.

Fixes

  • We resolved a possible crash that occurred when switching between languages in your app.
  • We updated the DLLs used by the new SQL Server JDBC driver for integrated authentication.
  • We fixed an issue where a native mobile app crashed when debugging it using the Touchable option in the inspector overlay.
  • We fixed the label for a reference selector so that screen readers can now announce the label when the selector is focused. (Ticket 95926)
  • We fixed an issue in mappings for consumed web services where having no namespace defined in the WSDL resulted in an exception. (Ticket 92190)
  • We fixed an issue where calling Core.http().executeHttpRequest(...) from a custom Java action when also calling a host for which a certificate was configured did not use that certificate in the request. (Ticket 95381)
  • We fixed an issue that caused an error retrieving data exception in an app that combined web and native pages. (Ticket 96643)
  • We fixed an issue where MxBuild failed to handle certain SVG images. (Ticket 94637)
  • We fixed a regression introduced in Studio Pro 8.5.0 with respect to the changedDate system attribute. Now, the changed date attribute does not get updated when a microflow changes an entity to the values it already has. (Ticket 96446)
  • We fixed a login issue that occurred when persistent sessions were disabled. (Ticket 95583)
  • We fixed an issue where many-to-many associations caused an error in native mobile apps even when they were not used. (Tickets 95537, 96968)
  • We fixed an issue that occurred when using batch translate with texts that contained new lines. (Ticket 95782)
  • We fixed an issue where after adding an entity or annotation to your domain model from the Toolbox, pressing Escape did not cancel the operation.
  • We resolved several minor issues in Project Explorer and Connector that caused items in the tree to expand or collapse.
  • We fixed an issue in the contract of published OData services where if one side of an association was exposed, the association in the metadata showed the wrong role.

Upcoming Breaking Changes in Mendix Version 8.9.0

With Mendix version 8.9.0, we plan to roll out a more significant upgrade of the underlying technology layer by upgrading React Native to version 0.61 and by upgrading all native libraries to their most recent versions. This will improve the capabilities, quality, and stability of native mobile apps built with Mendix.

These upgrades come with significant consequences for existing users, which we would like to prepare you for in advance. We did not take this decision lightly, but we feel that these upgrades are essential to keep our third-party dependencies as up-to-date as possible.

Make It Native

The Make It Native app is always compatible with the latest version of Mendix. Due to the changes in native libraries, the version of Make It Native that we will release alongside the release of Studio Pro 8.9.0 will not be compatible with older Studio Pro versions.

We advise you to upgrade your app project to Studio Pro version 8.9.0 when it is released as the easiest solution to the upgrades. If you cannot upgrade your app project to 8.9.0, the following options will be available:

  • For Android, we will provide a special Make It Native app version that you can use with Studio Pro version 8.8.
  • You can create a custom developer app for your project by following How to Create a Custom Developer App.

We will release separate documentation on these optional approaches to help you make your transition as smooth as possible.

As part of this upgrade, several third-party dependencies will be updated in order to keep them compatible with React Native version 0.61. In most cases, the APIs of these libraries will remain unchanged. However, all widgets and JavaScript actions that rely on third-party dependencies should be tested against Studio Pro 8.9.0 once it is available.

AsyncStorage

The storage location of AsyncStorage on iOS will be moved to Application Support. If your widget or JavaScript action uses AsyncStorage (imported from react-native-community/async-storage), then this change does not affect the workings of your app, and any data found in the old location is copied to the new location.

However, some widgets and JavaScript actions still import AsyncStorage from the React Native core library. We strongly urge all maintainers of such JavaScript actions and widgets to start using react-native-community/async-storage instead, as it might not be possible to migrate your data from the old location to the new location later.

Known Issues

  • Downloading private content in the App Store available in Studio Pro has been temporarily disabled due to a security risk. Please see this issue described in the App Store release notes for more information, details about where to find your private content, and plans for future version-specific fixes.
  • The first deployment of an app project with a native mobile profile takes approximately one minute longer than usual, as the first deployment needs to build up a cache. On consecutive deployments, this time is reduced.
  • Copying and pasting elements inside a document template results in errors. (Ticket 98424)
  • Calling a microflow from a nanoflow in an offline app with a non-persistable entity that has an association to another non-persistable entity that is not used in the microflow will cause an error.