diff --git a/src/changes/changes.xml b/src/changes/changes.xml
index e940c0439f..296ff2c3c7 100644
--- a/src/changes/changes.xml
+++ b/src/changes/changes.xml
@@ -5,10 +5,11 @@
Jon Iles
-
+
Added the `Task.getBaselineTask()` methods. For applications where a separate baseline schedule is present or a baseline has been manually added to the `ProjectFile` instance, these methods will allow you to access the underlying baseline task instance from the current task instance.
Added the Activity Percent Complete attribute to the `Task` class. The value of this attribute will be the Duration, Physical or Units percent complete value, based on the Percent Complete Type setting. This attribute is provided as a convenience to match the Activity Percent Complete type value shown in P6.
Improve retrieval of custom field values for certain MPP files.
+ Improve handling of PMXML files with more than 11 baselines.
Fix CVE-2024-49771: Potential Path Traversal Vulnerability (Contributed by yyjLF and sprinkle).
diff --git a/src/main/java/net/sf/mpxj/primavera/PrimaveraPMFileReader.java b/src/main/java/net/sf/mpxj/primavera/PrimaveraPMFileReader.java
index 61c4767e43..d93956e1f2 100644
--- a/src/main/java/net/sf/mpxj/primavera/PrimaveraPMFileReader.java
+++ b/src/main/java/net/sf/mpxj/primavera/PrimaveraPMFileReader.java
@@ -325,7 +325,7 @@ private void populateBaselines(APIBusinessObjects apibo, List proje
if (apibo.getProjectList() != null && apibo.getProjectList().getProject().stream().anyMatch(p -> !p.getBaselineProject().isEmpty()))
{
// We have baselines in the project list
- populateBaselinesbyProjectList(apibo, projects);
+ populateBaselinesByProjectList(apibo, projects);
}
}
}
@@ -343,7 +343,7 @@ private void populateBaselinesByUniqueID(List projects)
}
}
- private void populateBaselinesbyProjectList(APIBusinessObjects apibo, List projects)
+ private void populateBaselinesByProjectList(APIBusinessObjects apibo, List projects)
{
Map map = projects.stream().collect(Collectors.toMap(p -> p.getProjectProperties().getUniqueID(), p -> p));
for (ProjectListType.Project project : apibo.getProjectList().getProject())
@@ -368,7 +368,14 @@ private void populateBaselinesbyProjectList(APIBusinessObjects apibo, List 10)
+ {
+ break;
+ }
}
}
}