8.10

Last update: Edit

8.10.3

Release date: July 3rd, 2020

Download

Fixes

  • We fixed an issue where the output of an Import with mapping activity was incorrectly set to Nothing. (Tickets 101587, 101786, 102227, 102287, 102621, 102641)

8.10.2

Release date: June 15th, 2020

Download

Fixes

  • If an expression inside a snippet referred to the $snippetEntity variable, this resulted in an error when trying to deploy the app or run it locally. This has been fixed. (Tickets 101664, 101699, 101763, 102152)
  • We fixed an issue where a snippet did not get the right context when placed inside of a pluggable widget.

Known Issues

  • When you use an Import with mapping activity in your microflow and select Store in variable for it, the output type is incorrectly set to Nothing. (Tickets 101587, 101786, 102227, 102287, 102621, 102641)

8.10.1

Release date: June 9th, 2020

Download

Fixes

  • When you are using an action inside a list view which is inside another list view in a native profile, an exception no longer occurs when you execute the action. (Ticket 101465)
  • We fixed a crash that occurred when an invalid expression was used in a nanoflow.
  • Incompatible custom widgets will no longer trigger a consistency error unless they are actually used in a page.

Known Issues

  • When you use an Import with mapping activity in your microflow and select Store in variable for it, the output type is incorrectly set to Nothing. (Tickets 101587, 101786, 102227, 102287, 102621, 102641)
  • If an expression inside a snippet refers to the $snippetEntity variable, this can result in an error when trying to deploy the app or run it locally. (Tickets 101664, 101699, 101763, 102152)

8.10.0

Release date: May 27th, 2020

Download

New Features

Preserving Data During Offline Synchronization

Whenever an offline-first app synchronizes, the offline database is cleared and repopulated from scratch to guarantee data integrity. However, this can cause unnecessary overhead and performance problems (for example, for data that is large in size and does not change often, hence there is no need to synchronize it frequently).

With this release, we added a new option to the Customize offline synchronization dialog box called Nothing (preserve data), which does not delete the data of the corresponding entities during synchronization. This option can be best used alongside the Sync to device activity, which enables only synchronizing the data you need when you need it.

Please note that when you release a new version of your offline-first app and this contains domain model changes or is based on a new Mendix version, an automatic synchronization will be performed whenever your end-users get the update and start the app. Entities marked with Nothing (preserve data) will then be cleared and the database structure updated. In that case, you should synchronize the data manually with the Sync to device action to get the needed data.

In addition, you may notice that we have renamed the Nothing option to Nothing (clear data) to better explain its use and distinguish it from the newly added option.

Associations in Microflow Expressions

You can always read a value of an object’s association in a microflow expression (for example, with something like $variable/Module.Association). But until now, there has not been much you could do with this besides compare it with another object or with empty. We saw that in practice, developers often have to explicitly retrieve to achieve the desired outcome.

Today, we are making your life slightly easier. You can now follow the association right inside your expressions by writing $variable/Module.Association/Module.TargetEntity/Attribute to get a referenced object’s attribute. And you do not have to stop there, because you can follow two or more associations and go wild! You also do not have to check the specific attribute, as you can stop at $variable/Module.Association/Module.TargetEntity, which can be handy for verifying that the associated entity exists and is indeed of a TargetEntity type.

Usage of this feature always acts like a retrieve by association. This means that if the object is already in the cache, the system will use the cached version. If the cached version has uncommitted changes, you will get the value from the uncommitted object. If the object is not yet in the cache, the system will retrieve it from the database. If you use this association in multiple actions, the system will only retrieve it from database once and work with the cached version in following expressions.

For now, this feature is available only in microflows and rules, but not in nanoflows or on pages.

Improvements

  • If the Errors pane contains messages for a certain element, the number of errors and/or warnings will now be highlighted on that element in the associated editor. A context menu option is available on the error or warning to open the errors list.
  • We improved the logging during Mendix Runtime startup.
  • We optimized expression evaluation.
  • Generic URLs are now reported for REST requests when possible.
  • The Make It Native app now only synchronizes the data and files of your native apps when needed (for example, with a domain model changes), not whenever you make a change in your app project.
  • Data views that do not have the listen-to-widget data source can now be placed inside a containment or repeatable containment pluggable widget.
  • In call REST service actions, you can now choose to not use the result of the import mapping.
  • In JSON stuctures, you can now use the |, ^, and : characters in property names.
  • We improved accessibility for the group box widget so you can now focus the header and control the expansion with your keyboard using the Enter key or spacebar. For screen readers, the appropriate ARIA attributes are set to provide contextual information.
  • We improved the accessibility of the sidebar menu scroll container. Now, when the sidebar is configured as collapsible, screen readers will announce the items only when the menu is open. (Ticket 96281)
  • We improved the accessibility of the menu bar, simple menu bar, and navigation tree widgets. Now, the items inside have the correct roles and screen readers can announce the items correctly.
  • It is now possible to disable autocomplete suggestions on your text inputs in native apps. This may be helpful for inputs containing sensitive information. (Ticket 97801)
  • You can now use the mx command-line tool to create new app projects. It has sensible defaults for all the parameters, so you can just call mx create-project in any directory to spawn a new and shiny app project there.

Fixes

  • Downloading private content in the App Store available in Studio Pro has been enabled again. This is not possible for Studio Pro versions 8.7–8.9.
  • Nobody likes waiting, so we made sure that local deployments of native mobile apps are now much faster.
  • We fixed an issue with closing tabs where the previously opened tab was not activated. (Ticket 99414)
  • We are no longer issuing (unnecessary) warnings when populating the Size field of FileDocuments with HasContent set to false. (Ticket 99668)
  • We fixed an issue that prevented the migration of databases from Mendix versions earlier than 8.6.
  • If a pluggable widget was configured with a database data source over association, it showed an error message in the client. This is now fixed. (Ticket 99303)
  • We fixed the runtime error that occurred when a list view with a microflow or association data source contained a data view on a specialization entity, and the data view used an association only available to that specialization. (Ticket 98259)
  • Keyboard and mouse interactions are now properly disabled while a modal progress bar is shown. (Ticket 93358)
  • When searching for large microflows, the results can now be sorted correctly on the activity count. (Ticket 97060)
  • We fixed an issue where a new $latestHttpResponse was created and kept in memory for each web service call. Now, only the last instance of $latestHttpResponse per microflow call in memory is kept. (Tickets 96324, 97362)
  • We fixed an issue in the call REST service and call web service actions where not all the variables being used were reported, which resulted in warnings about unused variables. (Ticket 99604)
  • We fixed an issue where Design mode did not render correctly when switching to it quickly after opening a page.
  • We now disable Design mode and switch to Structure mode when the Platform property of the current page is changed to Native.
  • We fixed an issue with the validation around data grid search fields using AutoNumber attributes. (Ticket 98997)

Known Issues

  • When you use an Import with mapping activity in your microflow and select Store in variable for it, the output type is incorrectly set to Nothing. (Tickets 101587, 101786, 102227, 102287, 102621, 102641)
  • If an expression inside a snippet refers to the $snippetEntity variable, this can result in an error when trying to deploy the app or run it locally. (Tickets 101664, 101699, 101763, 102152)
  • When you click an action button in a list view inside another list view on a native page, this results in an error in your native app. (Ticket 101465)