6.0 Production Release (October 2025)

6.0 Production Release (October 2025)

eWater is pleased to announce that all projects and libraries within Source have been successfully migrated from .NET Framework 4.8 to .NET 8.0. This release not only ensures compatibility with future maintenance and enhancement cycles but also brings significant improvements in performance and memory efficiency. These optimizations will provide a more streamlined experience, especially in resource-intensive simulations and large-scale data handling.

This upgrade represents a major step forward in maintainability and performance of Source and ensures that the majority of technologies used in Source are in the current version and actively supported by their vendor.

Please note that from October 2025, all maintenance, bug fixes and enhancements to Source will be to the .NET 8.0 version.

Enhanced Performance & Memory Efficiency

Based on our performance and memory tests with two complex models from our regression test suite (GBCCL and River Murray 50-year models), the outcomes consistently show that Source v6.0 based on .NET 8 shows better performance and lower memory size compared to v5.x. 

What’s Improved?

  • Performance: Typical model runs are now 20–30% faster.

  • Memory Efficiency: Overall memory usage is 20–30% lower

What This Means for You

  • Faster results: quicker scenario runs, calibration, and reporting.

  • Reduced memory footprint: better stability and efficiency, especially for large models.

  • Stronger foundations: .NET 8 positions Source for future innovation and scalability.

Performance & Memory Improvements (wrt Sample models)

Model

Performance Test Results

Model

Memory Test Results

Model

Performance Test Results

Model

Memory Test Results

River Murray Performance Test 2/ River Murray Performance Test BE

 

River Murray 50 year model

 

 

Source GBCCL Model

 

Source GBCCL Model

 

 

The .NET 8.0 upgrade impacts all areas of the Source platform, including the core code, 170 third-party libraries, custom plugins and associated projects.

Pre-Requisites for using this version

Before testing, please review the prerequisite documentation to ensure a smooth experience with this version:

‘One-Time Database Engine’ Upgrade

Upon loading a Source project created in an earlier version of Source, users will see a progress screen “Performing One-Time Database Engine”. This is required to upgrade the internal project database to the newer version of the technology. After saving the project in Source v6.0 or later, this screen will not be seen again for the project.

image-20250825-210149.png

Plugin Developers Will Need to Migrate Their Plugins to .Net 8.0

As this change is fundamental to the .Net and C# environment used in Source, plugins also need to be upgraded to use .Net 8.0.

eWater has upgraded all Community Plugins. We can provide advice if required for any external plugin developers, contact us at support@ewater.org.au.

Many Community Plugins Now Have An Additional “UI” component

Part of the technology change has required the User Interface aspects of plugins to be separated into a separate DLL file.

The following list of new “UI” Community Plugins that are required to be loaded.

e.g. If your project uses ‘SourcePlugin.SubSource.dll’ then ‘SourcePlugin.SubSource.UI.dll’ should also be loaded.

AARS.UI.dll
CompareFlow.UI.dll
CSIRO.RiverMurrayDSS.UI.dll
CustomDayAggregator.UI.dll
DERMTools.UI.dll
FlowAdjustment.UI.dll
GR4JSG.UI.dll
HydroclimateTransformation.UI.dll
HydroclimateTransformation.UI.dll.config
IQQMNetworkConverter.UI.dll
NodePartitionChecker.UI.dll
ReefHydroCalModels.UI.dll
SourcePlugin.AllocationAndUtilities.UI.dll
SourcePlugin.CSIRO.DSedNet.UI.dll
SourcePlugin.DataSourcesTools.UI.dll
SourcePlugin.DataSourcesTools.UI.dll.config
SourcePlugin.NetLPMonthlyOptimiser.UI.dll
SourcePlugin.Scripting.UI.dll
SourcePlugin.StorageFillingCurveMethod.UI.dll
SourcePlugin.SubModelForecast.UI.dll
SourcePlugin.SubSource.UI.dll
SourcePlugin.SWAT.UI.dll
SourcePlugin.SWATCustomAutoAssignInputs.UI.dll

Limited Results Changes

Testing indicated that the majority of Source projects produced the same results in Source v6.0 as in prior versions.

However, a handful of projects did produce small differences due to the way newer versions of .Net parse strings.

An example of this is the value 4.513701089 in a CSV, which will be parsed in .NET 8 as 4.513701089 but in .NET Framework as 4.5137010889999996

For technical details see: https://devblogs.microsoft.com/dotnet/floating-point-parsing-and-formatting-improvements-in-net-core-3-0/

 

Regression Testing

There is no tolerance in our regression test suite to allow for early identification of results being different on different machines or versions of operating systems. 

See: 6.0 Regression Test Changes

 

Full Release Documentation