Updated the version to 8.4.0.
Updated the copyright year.
Fixed various compilation issues, including warnings and errors when using gcc. This involved fixing unnecessary copies and addressing C4100 and C4456 warnings.
Removed a function reporting if the application is 64 bits as the application is now always 64 bits.
Exported a function used to rank strings representing application version numbers.
Updated swig to version 4.3.0.
Changed how namespace functions are exported to Java to emulate classes with static members for `ProxyFunctorUtils`, `CellTypeInfo`, `LogTagInfo`, `ScriptUtils`, `SubmodelUtils`, and `NameUtils`.
Moved some Java exported functions from `SubmodelUtils` and `ScriptUtils` namespaces to the `Script` class in Java.
Refactored code by removing redundant definitions of functions exported to Java and for converters between filenames and strings to avoid duplication.
Added functions to the `PropertyUtils` and `StringUtils` namespaces and exported them to Java to emulate classes with static members.
Exported functions related to projection as static members of the `Projection` class in Java.
Exported functions related to the comparison of versions as strings as static members of the `Version` class in Java.
Changed the Calc Hilltop port name and description for clarity.
Fixed a problem where compiled expressions could cause memory errors.
Added functionality to verify the coordinator availability (exposed to Java).
Fixed error messages issued when passing invalid data to a `RunRemotely` and on tests.
Fixed bugs related to transferring a Folder to a `RunRemotely`, the conversion of some filenames to strings, the workdir property for bundle scripts, and tables with a single column being read with one less row.
Fixed Patcher and Expander to use the random number generator from the current worker.
Added weighted-sum and root-mean-square resampling methods to `TransformMapFunctor`.
Improved documentation and fixed comments.
Fixed a memory leak on Distributed.
Fixed Linux test problems and issues with GDAL projections on the Linux setup script.
Added C++20 support and merged the 'cpp20' branch.
Updated `dinamica_dependencies_windows.zip`.
Allowed tables to have any name format on their column titles.
Fixed a problem where Python could throw an assertion when strings couldn't be converted to UTF-8.
Fixed a problem where console arguments printing information would require an additional argument.
Assigned a description name to identify the threads corresponding to each worker.
Added additional information about the current step as progress for cost calculation.
Removed use of `stringstream` in favor of the `fmt` library when creating a category name.
Switched to the use of `std::unordered_set` instead of `std::set` when dealing with task graphs and `std::unordered_map` instead of `std::map` where possible.
Allowed tasks added to task groups to be dispatched immediately.
Defined specialization for `DFF::toString` to handle `std::unordered_map`.
Massively optimized the `CalcPatchLabelMap` execution by rewriting the code and adding a new flag to control the generation of sequential labels.
Fixed the generation of Java binding related to `TableDescriptionColumn`.
Changed a test case for `CalcPatchLabelMap` to ensure consistent results across different numbers of cores.
Implemented the execution of Python scripts from “Calculate Python Expression” as independent sub-processes. This also included allowing dinamica python to detect termination requests, removing Python map tests and dependencies/integration, fixing thread naming and system process waiting times on Linux, and making Linux system processes use default environment variables.
Fixed missing namespace in `format_to`.
Added assertions on zeromq context termination.
Ensured `RunRemotely` clears both the socket and context after running.
Added scripts to configure the build, compile source files, and install the libraries and utilities all at once.