7.8

Last modified: July 4, 2023

7.8.0

Release date: October 30, 2017

Go to Marketplace

Features

  • We added support for PostgreSQL 10.

List View Improvements

We know that the list view is the fundamental widget of the Mendix Platform. It is used a lot, especially in mobile apps, and it is loved a lot as a cornerstone for many of the UIs you are building. That’s why we’re glad to announce that we are rolling out a few small but enjoyable “candies” for list view users:

  • Performance, performance, and more performance! A few releases ago, we made the list view trigger only one network request. Now it’s time for the next step: We have drastically reduced the number of database requests caused by list views. Similar queries are combined together, resulting in much lower runtime-database communication and a higher overall performance. The biggest impact can be seen in list views that show data from associated objects.
  • Offline search in list views is now supported! We started from the most requested case, which is searching over string attributes of the list entity.

Widget Improvements

  • In our effort to improve the quality of the client, we have rewritten the Page Title Widget. You should not notice any differences compared to previous versions.

Other Improvements

  • We added new filtering capabilities to our offline data retrieval API (mx.data.getOffline). Now you can group constraints with and and or operators.
  • When you opened your Mendix app in a hybrid app but you did not have a hybrid profile configured, an error was displayed. We changed that to fall back to the responsive profile instead.
  • We moved the Runtime API method executeHttpRequest from Core.integration() to Core.http().
  • We now treat JSON properties as case-sensitive in import mappings. This means that we now support JSON with properties that only differ by case.

Fixes

  • We fixed an issue where adding or removing subscriptions (via mx.data.subscribe, mx.data.unsubscribe, WidgetBase.subscribe, WidgetBase.unsubscribe, and WidgetBase.unsubscribeAll) inside the callback of a subscription caused an error. (Tickets 54900, 58022)
  • A security exception with the message “Read access denied for member ‘[Member]’ of object ‘[Entity]’” occurred in template grids when the member should have been readable. This happened for entities that had a generalization and different security access member configurations for the different entities in the inheritance tree (for example, “Read” for one entity and “None” for another). This is correctly processed now. (Ticket 57193)
  • The Desktop Modeler did not show an error for data widgets configured to show an inaccessible entity if the data widget did not contain any widgets referring to an attribute. A consistency check error is produced now. (Ticket 55924)
  • The Desktop Modeler did not show an error for data widgets configured to use an inaccessible microflow as a data source. A consistency check error is also produced now. (Ticket 38149)
  • After changing a value for a one-to-one or many-to-many association, the client state was not updated correctly. This caused the old object to be referenced in the next request. We fixed this. (Ticket 57165)
  • We corrected the documentation for the mx.data.getOffline function.
  • When a radio button used an attribute for which the user did not have read access, an error was displayed. We fixed that for you. (Ticket 55518)
  • When you had a navigation list with only one item and you tried to add another item to it, the navigation list was removed from the page. We fixed that for you. (Ticket 53726)
  • We now generate demo user passwords taking into account the password security policy. Demo user passwords are regenerated after converting to the new version. (Ticket 49025)
  • We fixed the high-DPI scaling issue and corrected the width of various pop-up windows. (Ticket 50162)
  • We fixed the infinite loop warning in BCO. (Ticket 50392)
  • We fixed the issues around queries with a schema containing association preloading. When the association is incoming (meaning, it points to the entity being queried) and the associated entity has access rules with XPath constraints, the main query no longer gets unnecessary limited results when the associated entity is not accessible. Also, when the associated entity is deriving from the main entity being queried, it no longer results in an exception stating “There isn’t a meta association with name ‘[..]’ of meta object ‘[..]’.” (Ticket 56389)
  • We fixed an issue with import mappings where an exception occurred while editing microflow parameters.
  • We fixed an issue with export mappings where changing the mapping gave an incorrect consistency error.
  • We fixed the problem where an immutable list was returned as the value of a reference set.
  • We fixed an issue in the process where the Size attribute of existing FileDocument instances were populated but the (internal) UUID key was not known. (Ticket 55991)

Known Issues

  • In some situations, an object associated to another object cannot be committed during the execution of a before/after commit event, resulting in an error such as “Object of type ‘MyModule.MyEntity’ with guid ‘12345’ cannot be updated, as it does not exist anymore.” For example, consider two new objects A and B, wherein A (parent) is associated with B (child) and A has a before- or after-commit event. In this event, B will be changed and committed. If you then commit A, B will be marked as ‘autocommitting’. Because of this, committing B in the before- or after-commit event of A will fail, as it expects A to already exist in the database, which is not yet the case. (Tickets 59099, 59288)
  • Users with non-administrative user roles with the permission to manage users are able to escalate their privileges. For more information on this vulnerability, see SSA-875726 Privilege Escalation Vulnerability in Mendix.
  • When a text widget has a placeholder for an enumeration attribute, the name of the enumeration is displayed instead of the caption. (Ticket 58848)