Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
33 commits
Select commit Hold shift + click to select a range
ed6ee29
Update builds to 12 3 (#2220)
rwmcintosh Jan 14, 2026
60ea95e
add push trigger (#2221)
rwmcintosh Jan 14, 2026
3833f4a
Fixes #2223 Always upload test log artifacts in nightly builds, even …
Yuri05 Jan 15, 2026
a146b2a
use upstream workflow (#2222)
rwmcintosh Jan 15, 2026
763f8b8
Fixes #2187 Automatic rename of like-named reactions (#2232)
rwmcintosh Jan 19, 2026
7462788
Fixes #2186 Rename reaction on load should update formula paths (#2236)
rwmcintosh Jan 20, 2026
5452ee1
#2235 create context menu for adding initial conditions (#2237)
benjaperez1983 Jan 22, 2026
5a1430c
2226 export history to csv or any other text format (#2227)
benjaperez1983 Jan 22, 2026
dd8e64d
#2231 run simulation and preserve the selected node (#2241)
benjaperez1983 Jan 22, 2026
04c7e79
Fixes #2239 Add user setting for default parameter grouping (#2240)
rwmcintosh Jan 22, 2026
62ccbca
2121 pkml export default file name (#2233)
benjaperez1983 Jan 22, 2026
97e1b2e
2230 when cloning a simulation the chart is not cloned (#2245)
rwmcintosh Jan 23, 2026
9a989a8
Fixes #1157 "Events" should not be allowed as name for any container …
rwmcintosh Jan 26, 2026
5a61853
update core (#2247)
rwmcintosh Jan 29, 2026
0da7cb4
1405 check for nan and inf values upon creating a model configuration…
rwmcintosh Feb 2, 2026
0f367ab
update core (#2261)
rwmcintosh Feb 5, 2026
98368bb
#1964 parameters from reaction (#2283)
benjaperez1983 Feb 26, 2026
91e6d0a
update core (#2285)
rwmcintosh Mar 3, 2026
990aad3
#2206 it is possible create duplicate formula with same name (#2288)
benjaperez1983 Mar 6, 2026
818c523
Fixes #2258 Crash when trying to import SBML model (#2277)
Yuri05 Mar 6, 2026
7db7b02
Fixes #2083 Undo of Change molecule start amount does not revert Exte…
rwmcintosh Mar 6, 2026
b132ff7
Fixes #2291 For multiple doses, use the presentation to clean up how …
rwmcintosh Mar 17, 2026
df446dc
update core (#2300)
rwmcintosh Mar 19, 2026
d9685c1
2280-renaming-molecules-to-existing-molecules-in-the-project-validati…
benjaperez1983 Mar 20, 2026
6ea7437
Fixes #548 import of initial conditions does not overwrite existing (…
rwmcintosh Mar 24, 2026
986eacc
Fixes #2306 Remove classifications when removing modules (#2307)
rwmcintosh Mar 27, 2026
94fba38
Create build-nightly_v13.yml (#2309)
Yuri05 Mar 30, 2026
41dd82d
Fixes #2100 New Parameter Value: parameters of the reactions are not …
rwmcintosh Apr 17, 2026
d051085
update core (#2355)
rwmcintosh Apr 20, 2026
ec6a776
Fixes #2057 Events: Assignments: show parameters from Individuals (#2…
rwmcintosh Apr 24, 2026
5e3a402
Fixes #2383 Align with new IParameterFactory.CreateDistributedParamet…
msevestre May 11, 2026
4530d59
Fixes #2398 Update dimensions (#2401)
Yuri05 May 20, 2026
25b624a
update OSPSuite.Core to the latest 12.3 (#2408)
Yuri05 May 29, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
20 changes: 20 additions & 0 deletions .github/workflows/build-and-test.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,20 @@
name: Build and Test 12.3

on:
pull_request:
branches:
- develop
push:
branches:
- develop

permissions:
contents: read
packages: read

jobs:
build:
uses: Open-Systems-Pharmacology/Workflows/.github/workflows/test-csharp.yml@main
secrets: inherit
with:
temp-version: "12.3.9999"
42 changes: 0 additions & 42 deletions .github/workflows/build-and-test_12.2.yml

This file was deleted.

Original file line number Diff line number Diff line change
@@ -1,17 +1,11 @@
name: Build Nightly 12.2
run-name: Version 12.2.${{ github.run_number }}
name: Build Nightly 12.3
run-name: Version 12.3.${{ github.run_number }}

on:
workflow_dispatch:
schedule:
- cron: '0 2 * * *'


env:
MAJOR: 12
MINOR: 2
RUN: ${{ github.run_number }}

permissions:
contents: read
packages: read
Expand Down Expand Up @@ -57,15 +51,15 @@ jobs:

- name: define env variables
run: |
echo "APP_VERSION=${{ env.MAJOR }}.${{ env.MINOR }}.${{ env.RUN }}" | Out-File -FilePath $env:GITHUB_ENV -Append
echo "APP_VERSION=12.3.${{ github.run_number }}" | Out-File -FilePath $env:GITHUB_ENV -Append

- name: Build
run: |
rake "update_go_license[ApplicationStartup.cs, ${{ secrets.GO_DIAGRAM_KEY }}]"
dotnet build MoBi.sln /p:Version=${{env.APP_VERSION}}
dotnet build /p:Version=${{env.APP_VERSION}}

- name : Test
run: dotnet test .\tests\**\bin\Debug\net472\MoBi*Tests.dll -v normal --no-build --logger:"html;LogFileName=../testLog_Windows.html"
run: dotnet test -v normal --no-build --logger:"html;LogFileName=../testLog_Windows.html"

- name: Sign MoBi.exe with CodeSignTool
uses: Open-Systems-Pharmacology/Workflows/.github/actions/codesigner-SSL@main
Expand Down Expand Up @@ -93,6 +87,7 @@ jobs:
file_path: ./setup/deploy/MoBi.${{ env.APP_VERSION }}.msi

- name: Push test log as artifact
if: always()
uses: actions/upload-artifact@v4
with:
name: testLog_Windows
Expand Down Expand Up @@ -124,4 +119,4 @@ jobs:
-H "Accept: application/vnd.github+json" \
-H "Authorization: Bearer ${{ secrets.GITHUB_TOKEN }}" \
-H "X-GitHub-Api-Version: 2022-11-28" \
"https://api.github.com/repos/${{ github.repository }}/actions/runs/${{ github.run_id }}/cancel"
"https://api.github.com/repos/${{ github.repository }}/actions/runs/${{ github.run_id }}/cancel"
20 changes: 20 additions & 0 deletions .github/workflows/build-nightly_v13.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,20 @@
name: Build Nightly 13.0
run-name: Version 13.0.${{ github.run_number }}

on:
workflow_dispatch:

permissions:
contents: read
packages: read

jobs:
check-branch:
runs-on: ubuntu-latest
steps:
- name: Validate source branch
run: |
if [ "${{ github.ref_name }}" != "v13" ]; then
echo "::error::Please call the workflow from the v13 branch"
exit 1
fi
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
name: Code Coverage 12.2
name: Code Coverage 12.3

on:
schedule:
Expand All @@ -23,7 +23,7 @@ jobs:
dotnet restore

- name: Build
run: dotnet build MoBi.sln /p:Version=12.2.9999
run: dotnet build MoBi.sln /p:Version=12.3.9999


- name: Cover and report
Expand Down
4 changes: 2 additions & 2 deletions .github/workflows/nightly-badge.yml
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,7 @@ name: Badge for Nightly Build
on:
workflow_run:
workflows:
- "Build Nightly 12.2"
- "Build Nightly 12.3"
types:
- completed

Expand All @@ -26,4 +26,4 @@ jobs:
badge:
uses: Open-Systems-Pharmacology/Workflows/.github/workflows/nightly-badge.yml@main
with:
nightly-build-workflow: "build-nightly_12.2.yml"
nightly-build-workflow: "build-nightly_12.3.yml"
1 change: 1 addition & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -258,3 +258,4 @@ src/**/licenses.licx

*.ncrunchproject
/MoBi.v3.ncrunchsolution
/src/MoBi/Properties/launchSettings.json
11 changes: 6 additions & 5 deletions MoBi.sln
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@

Microsoft Visual Studio Solution File, Format Version 12.00
# Visual Studio Version 17
VisualStudioVersion = 17.0.31912.275
# Visual Studio Version 18
VisualStudioVersion = 18.1.11312.151
MinimumVisualStudioVersion = 10.0.40219.1
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "MoBi", "src\MoBi\MoBi.csproj", "{B831E5E2-431A-4627-B58C-3CE3F5002E42}"
EndProject
Expand All @@ -21,9 +21,10 @@ Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Solution Items", "Solution
ProjectSection(SolutionItems) = preProject
.gitattributes = .gitattributes
.gitignore = .gitignore
.github\workflows\build-and-test_12.2.yml = .github\workflows\build-and-test_12.2.yml
.github\workflows\build-nightly_12.2.yml = .github\workflows\build-nightly_12.2.yml
.github\workflows\coverage_12.2.yml = .github\workflows\coverage_12.2.yml
.github\workflows\build-nightly_12.3.yml = .github\workflows\build-nightly_12.3.yml
.github\workflows\build-and-test.yml = .github\workflows\build-and-test.yml
.github\workflows\nightly-badge.yml = .github\workflows\nightly-badge.yml
.github\workflows\coverage.yml = .github\workflows\coverage.yml
postclean.bat = postclean.bat
rakefile.rb = rakefile.rb
README.md = README.md
Expand Down
2 changes: 1 addition & 1 deletion README.md
Original file line number Diff line number Diff line change
Expand Up @@ -20,7 +20,7 @@ may define a new scenario, situation, or individual. Refine a Reaction(s) networ
where it should be considered.

## Code Status
[![Build status](https://img.shields.io/github/actions/workflow/status/Open-Systems-Pharmacology/MoBi/nightly-badge.yml?logo=GitHub&label=Build%20status)](https://github.com/Open-Systems-Pharmacology/MoBi/actions/workflows/build-nightly_12.2.yml)
[![Build status](https://img.shields.io/github/actions/workflow/status/Open-Systems-Pharmacology/MoBi/nightly-badge.yml?logo=GitHub&label=Build%20status)](https://github.com/Open-Systems-Pharmacology/MoBi/actions/workflows/build-nightly_12.3.yml)
[![Coverage status](https://codecov.io/gh/Open-Systems-Pharmacology/MoBi/branch/develop/graph/badge.svg)](https://codecov.io/gh/Open-Systems-Pharmacology/MoBi)

## Code of conduct
Expand Down
2 changes: 1 addition & 1 deletion dimensions
2 changes: 1 addition & 1 deletion rakefile.rb
Original file line number Diff line number Diff line change
Expand Up @@ -112,7 +112,7 @@ def src_dir_for(configuration)
packages_dir = src_dir_for("Debug")

all_users_dir = ENV['ALLUSERSPROFILE']
all_users_application_dir = File.join(all_users_dir, manufacturer, product_name, '12.2')
all_users_application_dir = File.join(all_users_dir, manufacturer, product_name, '12.3')

copy_dependencies solution_dir, all_users_application_dir do
copy_files 'Data', ['xml', 'mbdt']
Expand Down
4 changes: 4 additions & 0 deletions src/MoBi.Assets/AppConstants.cs
Original file line number Diff line number Diff line change
Expand Up @@ -1686,6 +1686,9 @@ public static class Captions
public static readonly string GoToSource = "Go to Source";
public static readonly string AddOutputSelection = "Add Output";
public static readonly string AddingParametersToASimulationIsNotSupported = "Adding parameters to a simulation is not supported";
public static readonly string DefaultParameterView = "Default parameter view";
public static readonly string RenameDependentObjects = "Rename dependent objects";
public static readonly string WarnForNonFiniteQuantities = "Warn for non-finite quantities";
public static string SelectTheBuildingBlockWhereEntitiesWillBeAddedOrUpdated(string typeBeingAdded) => $"Select the building block where {typeBeingAdded} will be added or updated";
public static readonly string SelectBuildingBlock = "Select Building Block";
public static readonly string MakeDefault = "Make defaults";
Expand Down Expand Up @@ -2255,6 +2258,7 @@ public static string HasEquivalentNeighborhood(string firstNeighborPath, string
public static readonly IReadOnlyList<string> DefaultObservedDataCategories = new[] { Constants.ObservedData.MOLECULE, Constants.ObservedData.COMPARTMENT, Constants.ObservedData.ORGAN };
public static readonly string Clone = "Clone";
public static readonly string Endosome = "Endosome";
public static readonly string EventsContainerName = "Events";

public static string PathType(string pathTypeAsString)
{
Expand Down
8 changes: 4 additions & 4 deletions src/MoBi.Assets/MoBi.Assets.csproj
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@
<OutputPath>bin\$(Configuration)</OutputPath>
<DocumentationFile>bin\$(Configuration)\$(TargetFramework)\$(AssemblyName).xml</DocumentationFile>
<NoWarn>1591, 3246</NoWarn>
<Version Condition="'$(Version)' == ''">12.2.0</Version>
<Version Condition="'$(Version)' == ''">12.3.0</Version>
</PropertyGroup>

<ItemGroup>
Expand All @@ -22,9 +22,9 @@
</ItemGroup>

<ItemGroup>
<PackageReference Include="OSPSuite.Assets" Version="12.2.26" />
<PackageReference Include="OSPSuite.Assets.Images" Version="12.2.26" />
<PackageReference Include="OSPSuite.Core" Version="12.2.26" />
<PackageReference Include="OSPSuite.Assets" Version="12.3.32" />
<PackageReference Include="OSPSuite.Assets.Images" Version="12.3.32" />
<PackageReference Include="OSPSuite.Core" Version="12.3.32" />
</ItemGroup>

<ItemGroup>
Expand Down
4 changes: 2 additions & 2 deletions src/MoBi.BatchTool/MoBi.BatchTool.csproj
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,7 @@
<NoWarn>1591, 3246</NoWarn>
<ApplicationIcon>MoBi.ico</ApplicationIcon>
<Description>MoBi.BatchTool</Description>
<Version Condition="'$(Version)' == ''">12.2.0</Version>
<Version Condition="'$(Version)' == ''">12.3.0</Version>
</PropertyGroup>

<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|AnyCPU'">
Expand Down Expand Up @@ -53,7 +53,7 @@
</ItemGroup>

<ItemGroup>
<PackageReference Include="OSPSuite.Core" Version="12.2.26" />
<PackageReference Include="OSPSuite.Core" Version="12.3.32" />
<PackageReference Include="OSPSuite.DevExpress" Version="21.2.15" />
<PackageReference Include="OSPSuite.FuncParser" Version="4.0.0.73" GeneratePathProperty="true" />
<PackageReference Include="OSPSuite.SimModel" Version="4.0.0.75" GeneratePathProperty="true" />
Expand Down
2 changes: 2 additions & 0 deletions src/MoBi.BatchTool/Services/BatchUserSettings.cs
Original file line number Diff line number Diff line change
Expand Up @@ -40,6 +40,7 @@ public class BatchUserSettings : IUserSettings
public ParameterIdentificationFeedbackEditorSettings ParameterIdentificationFeedbackEditorSettings { get; set; }
public SensitivityAnalysisFeedbackEditorSettings SensitivityAnalysisFeedbackEditorSettings { get; set; }
public MergeConflictViewSettings MergeConflictViewSettings { get; set; }
public ParameterGroupingModeIdForParameterAnalyzable DefaultParameterGroupingModeForPIAndSA { get; set; }
public string PKSimPath { get; set; }

public string IconSizeGeneral { get; set; }
Expand Down Expand Up @@ -93,5 +94,6 @@ public BatchUserSettings()
public int MaximumNumberOfCoresToUse { get; set; }
public int NumberOfBins { get; set; }
public int NumberOfIndividualsPerBin { get; set; }
public bool WarnForNonFiniteQuantities { get; set; }
}
}
14 changes: 7 additions & 7 deletions src/MoBi.Core/Commands/BuildingBlockChangeCommandBase.cs
Original file line number Diff line number Diff line change
Expand Up @@ -13,14 +13,14 @@ public abstract class BuildingBlockChangeCommandBase : MoBiReversibleCommand, IW
public abstract Module Module { get; }
}

public abstract class BuildingBlockChangeCommandBase<T> : BuildingBlockChangeCommandBase where T : class, IBuildingBlock
public abstract class BuildingBlockChangeCommandBase<T> : BuildingBlockChangeCommandBase where T : class, IBuildingBlock
{
public bool ShouldIncrementVersion { get; set; }
public bool HasChangedModuleType { get; private set; }
public PKSimModuleConversion ConversionOption { get; set; } = PKSimModuleConversion.SetAsExtensionModule;
public PKSimModuleConversion ConversionOption { get; set; } = PKSimModuleConversion.SetAsExtensionModule;

protected T _buildingBlock;
protected string _buildingBlockId;
protected readonly string _buildingBlockId;

protected BuildingBlockChangeCommandBase(T buildingBlock)
{
Expand All @@ -32,17 +32,17 @@ protected BuildingBlockChangeCommandBase(T buildingBlock)

protected override void ExecuteWith(IMoBiContext context)
{
if (_buildingBlock == null)
return;

var originalPkSimModuleState = _buildingBlock.IsPkSimModule();
if (_buildingBlock == null) return;
var buildingBlockVersionUpdater = context.Resolve<IBuildingBlockVersionUpdater>();
buildingBlockVersionUpdater.UpdateBuildingBlockVersion(_buildingBlock, ShouldIncrementVersion, ConversionOption);
HasChangedModuleType = originalPkSimModuleState != _buildingBlock.IsPkSimModule();
}

protected override void ClearReferences()
{
protected override void ClearReferences() =>
_buildingBlock = default;
}

public override void RestoreExecutionData(IMoBiContext context)
{
Expand Down
13 changes: 7 additions & 6 deletions src/MoBi.Core/Commands/SetConstantFormulaValueCommand.cs
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
using MoBi.Assets;
using OSPSuite.Core.Commands.Core;
using MoBi.Core.Domain.Model;
using MoBi.Core.Helper;
using OSPSuite.Core.Commands.Core;
using OSPSuite.Core.Domain;
using OSPSuite.Core.Domain.Builder;
using OSPSuite.Core.Domain.Formulas;
Expand All @@ -21,15 +21,15 @@ public class SetConstantFormulaValueCommand : BuildingBlockChangeCommandBase<IBu
protected string FormulaId { get; private set; }

/// <summary>
/// Sets a constant value into a constant value formula
/// Sets a constant value into a constant value formula
/// </summary>
/// <param name="constantFormula">The constant formula being edited</param>
/// <param name="newValue">The new value being applied to the formula</param>
/// <param name="displayUnit">The new value new display unit</param>
/// <param name="oldUnit">The old value display unit</param>
/// <param name="buildingBlock">The building block that this formula is a member of</param>
/// <param name="formulaOwner">The entity that owns the formula</param>
public SetConstantFormulaValueCommand(ConstantFormula constantFormula, double newValue, Unit displayUnit, Unit oldUnit, IBuildingBlock buildingBlock, IEntity formulaOwner):base(buildingBlock)
public SetConstantFormulaValueCommand(ConstantFormula constantFormula, double newValue, Unit displayUnit, Unit oldUnit, IBuildingBlock buildingBlock, IEntity formulaOwner) : base(buildingBlock)
{
_constantFormula = constantFormula;
_newValue = newValue;
Expand Down Expand Up @@ -60,10 +60,10 @@ protected override void ExecuteWith(IMoBiContext context)
base.ExecuteWith(context);

Description = AppConstants.Commands.SetConstantValueFormula(
ObjectType,
formatForDisplay(_newValue, _displayUnit),
ObjectType,
formatForDisplay(_newValue, _displayUnit),
formatForDisplay(_constantFormula.Value, _oldDisplayUnit),
_owner == null? string.Empty : _owner.EntityPath());
_owner == null ? string.Empty : _owner.EntityPath());

_constantFormula.Value = _newValue;
}
Expand All @@ -75,6 +75,7 @@ private string formatForDisplay(double newValue, Unit displayUnit)

public override void RestoreExecutionData(IMoBiContext context)
{
base.RestoreExecutionData(context);
_constantFormula = context.Get<ConstantFormula>(FormulaId);
_owner = context.Get<IEntity>(_ownerId);
}
Expand Down
4 changes: 2 additions & 2 deletions src/MoBi.Core/Domain/Extensions/ContainerExtensions.cs
Original file line number Diff line number Diff line change
Expand Up @@ -38,12 +38,12 @@ public static IContainer WithTag(this IContainer container, string tag)

public static IEnumerable<T> GetChildrenSortedByName<T>(this IContainer container, Func<T, bool> pred) where T : class, IEntity
{
return container.GetChildren(pred).OrderBy(x => x.Name);
return container.GetChildren(pred).OrderBy(x => x.Name, new IndexedNameComparer());
}

public static IEnumerable<T> GetChildrenSortedByName<T>(this IContainer container) where T : class, IEntity
{
return container.GetChildren<T>().OrderBy(x => x.Name);
return container.GetChildrenSortedByName<T>(x => true);
}
}
}
Loading
Loading