5.15

7 minutes to read Download PDF Edit

5.15.1

Release date: May 6, 2015

Download

Fixes

  • Object instances for persistable entities which have not been stored in the database should immediately be removed from memory on cancel/rollback. (Tickets 206533, 206514, 217085, 234503)

5.15.0

Release date: April 10, 2015

Download

Known issues

  • The Modeler shows the error message “Unable to open ‘.mpr’. It does not appear to be a Modeler project file.” when opening a project in the following case:
    • The Modeler runs in Parallels on a Mac.
    • The project is located in a folder on the hard disk of your Mac that you made available to Windows.
    • The project is accessed using an UNC path, such as ‘\.psf\Home\Documents\App\App.mpr’.A workaround to fix this problem is to map the shared folder to an actual drive letter in Windows, instead of accessing it through the UNC path. Then open the project from the mapped network drive instead.
  • If you cancel editing a newly created object, the changes on the object will be cancelled, but the object itself will not be removed.    

New features

  • On a 64-bit OS the Modeler will now run in 64-bit mode. Previously, the Modeler always ran in 32-bit mode and could only allocate around 1.3GB of memory, a 32-bit .NET limitation. When working with very large projects, you could run into that limitation resulting in out-of-memory errors. Now that the Modeler is 64-bit, it can allocate more memory and out-of-memory errors should only occur if all of your computer’s memory is indeed in use. There is a single installer that now installs into “Program Files” instead of “Program Files (x86)” on 64-bit systems. 32-bit operating systems are still supported. (Ticket 205396, 17390)
  • Show deprecations as a separate category in the error list to make them easier to find. Previously, they were in the warning category. Deprecated features will disappear in a future release and should not be used anymore. You can find more information about the ‘use main placeholder contents for pop-ups’ deprecation in the following article: https://tech.mendix.com/modeling/2015/02/02/find-page-locations/
  • Improved performance by caching resources for applications running in the Mendix Cloud. See the migration section how to enable this feature for existing projects.

Improvements

  • Added an option to Consumed App Service settings to dynamically specify its location using a parameter (Ticket 205185). You can learn more about dynamic app service locations on the Mendix developer blog.
  • Improved performance of error check in the case of many listening data views.
  • The default theme of newly created projects based on the empty template now uses correct cache busting. Note: this does not affect existing applications. For existing applications see the migration section.

Fixes

  • Fixed issue with nillable binary fields mapped to System.Filedocument in web/app services, there’s no longer an exception when you actually pass a field that is nil.
  • Published app/web services don’t end up in the search for unused items anymore.
  • Fixed issue where the return type of a consumed app service action would not match underlying web service call if the return type was an entity with a single attribute.
  • In Domain-to-XML mappings, trying to leaving an inheritance element with minOccurs 1 unticked gives a validation message. (Ticket 428558)
  • Fixed an issue where reverting a deleted consumed app service resulted in an error.
  • Now correctly refreshes location constant in imported web service editor after another one is selected.
  • In the domain model import wizard, better feedback is provided to the user when he can’t press the Next button.
  • Fixed an issue where in Domain-to-XML mappings a dialog would incorrectly appear stating that some mapping elements are not applicable anymore.
  • An error handler flow that merges into the main flow no longer gives a warning in the Modeler if the error handling type is ‘Custom without rollback’. The warning was unnecessary in this case as this does not lead to unexpected behavior. (Ticket 205539)
  • The location of some errors in microflow and XPath expressions with ‘and’ and ‘or’ operators were not reported correctly.
  • An error is given when a microflow expression exceeds 128 terms. This fixes the problem that the Modeler would crash when encountering really, really large expressions.
  • Fixed the problem that the Modeler would create corrupt packages under rare circumstances. (Ticket 206187)
  • Prevent duplicate name errors concerning the invisible vertical flow widget. (Ticket 205857)
  • Fix loading of custom widgets defined as AMD module
  • Improve rendering and scroll position of list view when refreshing (Ticket 206169).
  • Remove 300ms delay between a physical tap and the firing of a click event on mobile browsers (ticket 206346).
  • Fixed issue with loading of custom widgets which caused “Constructor not found” errors (Tickets 205600, 206064).
  • Grid search fields show validation messages below the field, like a form, instead of as a tooltip. (Ticket 205033)
  • The validation message uses the same CSS classes (“alert” and “alert-danger”) as form validations and has the same structure in the DOM.
  • ReferenceSelector is now refreshed when a selectable object is created, deleted or modified (Ticket 102614).
  • Numpad period inserts a locale dependent decimal separator in text inputs and text areas in the inline grid editor (ticket 204339).
  • Listening dataviews are updated if the source widget deselects the object because of a search action (Ticket 205179).
  • Fix uploading of files in IE 10+ in the cloud node with “Prevent embedding your app in an IFrame” setting enabled. (Ticket 205980)
  • Improve position, size and resize behavior of popups
  • Fix an issue with Condition for visibility/editability dialog in the Modeler not refreshing after message “The conditions have been updated” is shown. (Ticket 205341)
  • When a CSS files is added with mxui.dom#addCss a cachebust is added to the URL.
  • Fix bug that caused user interaction to be blocked after navigating to a page using a button in a collapsible sidebar
  • Fix an exception in the modeler while processing empty snippets. (Ticket 204759)
  • Fixed a bug causing file upload widget to trigger model validation against old values of entity’s attributes. (Ticket 204598)
  • Recalculate popup height after changing tab to prevent control bar being positioned outside of the view port (Ticket 205190)
  • Show lightweight UI for accepting file download also in standalone mode of mobile Safari, which is used e.g. for sites saved on iPhone’s home screen. (Ticket 205168)
  • Fix close activity closing page in content instead of the popup when triggered by a validation microflow in popup (Ticket 205304)
  • Fix conditional formatting of template grid breaking conditional formatting of parent data view (Ticket 204654)
  • Fix updating widget definition when AllowNonPersistableEntities property has changed
  • Fix loading of PhoneGap apps on some Android devices (Ticket 205516).
  • Fix loading of PhoneGap apps where the locale is neither English or Dutch.
  • Refresh input reference set selector when object has changed (Ticket 203027).
  • Fix issue where loading of a tab was delayed while it contained an editable widget in a snippet. This caused client validation errors to be ignored and server validation errors to be shown in a popup instead of below the widget.
  • Refresh primitive custom widget when object has changed (Ticket 203271)
  • Navigating back or forward to a page containing a listening dataview in which a grid is placed which retrieves it’s data using a database association no longer breaks the listening functionality (Ticket 205321).
  • Improve performance and memory footprint of some widgets (Ticket 205336)
  • Apply security and xpath constraints for search options for an enumeration attribute over an association (Ticket 203373, 203967)
  • Add missing consistency checks for custom widgets in the Modeler (Ticket 204835).

Deprecated features

  • Field XAS_SESSION_ID in RequestHandler has been deprecated.
  • MendixCurrency, IDataType.Currency and PrimitiveType.Currency are deprecated. Use their decimal alternatives instead.
  • The attribute type ‘Currency’ and the corresponding microflow function ‘currenciesEqual’ have been deprecated. Floating-point types are simply visualized as ‘Float’ instead of ‘Float/Currency’. For representing amounts of money, we recommend that you use the new high-precision ‘Decimal’ type. If you are not interested in the extra precision, you can still use the ‘Float’ attribute type. It is possible to automatically convert all attributes of type ‘Currency’ to type ‘Float’ by right-clicking the deprecation warning in the Error List. This right-click menu also offers the option to find all attributes of type ‘Currency’.
  • Creating an association to the system module with the property ‘Owner’ set to ‘Both’ is deprecated.
  • Specializing System entities other than ‘Image’, ‘FileDocument’ and ‘User’ is deprecated.

Migration

With this release files requested with a cache bust are more efficiently cached by the browser. A cache bust is a unique string generated on every project deployment. To make use of cache busting you should modify your existing theme’s html files. Add {% raw %}?{{cachebust}} {% endraw %}to every url pointing to a static resource (for example, scripts and stylesheets). Additionally add a property with name cacheBust and value {% raw %}"{{cachebust}}"{% endraw %} to the dojoConfig defined in the index page.

Example: {% raw %}

<script>
dojoConfig = {
baseUrl: "mxclientsystem/dojo/",
cacheBust: "{{cachebust}}"
};
</script>
<script src="mxclientsystem/mxui/mxui.js?{{cachebust}};"></script>

{% endraw %}