====== What is New in Dinamica EGO 7.5.0 ====== (ChangeLog compared to [[what_is_new_7_4_0|7.4.0]].) ===== Dinamica NUI (Application Graphical User Interface) ===== * Added information about the current version of the fmt library. * Modified the arguments passed to the execution to enable the opening of multiple scripts. Additionally, added support for handling future flags. * Replacing static methods in class with functions in namespace (ContainerFunctorUtils). * Replacing static methods in class with functions in namespace (NameUtils). * Fixed bug related to warning users about adding breakpoints to functors outside the execution stack. * Added alert message for empty selections. * Fixed bug in edge cutting: Although the copying method reported an error, the delete method was still executed. * Fixed functor incompatibility in debugger breakpoints after submodel importing. * Adapted interface to open scripts within the executing application instance, eliminating the necessity of launching a separate application. * Removed forced assertion in catch-block since the error dialog opening was delaying the execution of the finally-block (which disables the communication). * Added code to update the representation of the functor that had its exported input ports edited. * The tab containing the given editor will be accessed only if the exception provides the port name. ===== Dinamica Image Viewer ===== * (None) ===== Dinamica NUI Utils (Graphical User Interface Utilities) ===== * Replacing static methods in class with functions in namespace (NameUtils). ===== Dinamica (Application Core and DLLs) ===== * Fixed a problem where the fail of SystemProcess could result in the loss of its output contents. * Formatting. * Refactoring. * Refactor: Implemented HierarchicalSubmodelException handling in SWIG to generate descriptive error messages. * Fixed compilation warning: virtual destructor not defined. * Fixed compilation warning: unused parameters. * Added option to put the Console execution on hold until a key is pressed (used to assist with debugging). * Changed name to clarify the use of log subystem flags to define which subsystems will log messages when setting the debug level. * Fixed incorrect definition of proxies when dealing with exported ports that where removed from functor definitions. * Fixed compilation warning: unused parameter. * Added information about the current version of the fmt library. * Fixed compilation warning: unused parameter and result being discarded. * Fixed order of parameter documentation. * Fixed compilation warning: possibly uninitialized variables. * Fixed bug where the environment variables where not being propagated by CalculatePythonExpression when calling pip. * Added additional libraries and header files to the PyEnvironment representing the Python used by Dinamica. * Fixed bug where the invocation of Python pip would incorrectly discard the content of the PATH variable from the system. * Removed any empty trailing paths from PATH before attempting to load Python packages [It fixes an error when trying to load some packages]. * Fixed comments. * Fixed typo. * Removed undefined method specification. * Removed unused method. * Fixed bug where under some circumstance loading a map for visualization on the graphical interface could crash the application. * Allow executing file as program. * Fixed definition of exported SWIG function that where being emitted with a throw() specifier: removed use of %inline. * Fixed usage message formatting. * Use of reference to simplify code. * Comments. * Fixed compilation warning about member shadowing member in base class. * Added assertion to ensure the name validation during XML document traversal. * Simplified the definition of AssertFailed exception. * Replacing static methods in class with functions in namespace (ContainerFunctorUtils). * Replacing static methods in class with functions in namespace (PropertyUtils). * Replacing static methods in class with functions in namespace (NameUtils). * Removed reference to owner script when the functor is removed from container/script. * Validate the functor list kept by the functor scheduler. * Removed unnecessary destructor specification. * Fixed typo in log message. * Simplifying code. * Added exception that was not being properly exported to Java. * Removed the use of raw pointers. * Fixed bug where the copy of a HandlerRasterImage could incorrectly report failing to update the null value. * Implemented inter process communication to habilitate script open requests between application instances. * Fixed compatibility with fmt version 10. * Fixed compatibility with python 3.11. * Fixed compatibility with GDAL 3.7+ [GDAL added changes specified by RFC 87 (Signed int8 data type for raster) which broke compatibility with previous versions]. - Also fixed test cases that produce different results due to changes in resampling by GDAL warp and rasterize (Affects TransformMap & RasterizeShape). * Removed duplicated assertion. * Changed names of version-related compilation variables to prevent collisions with names coming from dependencies. * Exported names of version-related compilation variables by "Version.h". * Fixed generation of registry/environment variable names to automatically use major application version. - Also changed names of some variables to be coherent with DINAMICA_EGO_XXXX prefix nomenclature. * Allow parsing of empty file paths / filenames to prevent critical errors when reading some model scripts written by previous versions of the application. - Updated test cases to reflect the change in parsing behavior. * Changed use of pointers to comply with the guideline for pointers vs references. * Updated version to 7.5.0. * Fixed behavior where some temporary files were being created outside the application unique temporary folder. * Optimized array initialization by setting the last element to '\0' after copying the content. * Optimized array initialization by setting the last element to '\0' after content copying, and increased the array size limit. * Fixed linking error when compiling on Linux caused by 'runtime' (rt) library used by Boost::Interprocess not being mentioned. * Reorganization of CMakeList files. * Fixed use of python library paths that change with the current version of the python interpreter. ===== Dinamica (Installer) ===== * (None) ===== Dinamica (R integration) ===== * Fixed definition of function FilesystemUtils::generateTemporaryFilename() that would not allow the Calculate R Expression to run loop steps in parallel. * Fixed compilation warning. * Updated package version to 1.0.7. * Fixed errors when compiling the Dinamica package on Linux.