Browse our Products

Aspose.Tasks for Java 26.6 Release Notes

All Changes

KeySummaryIssue Type
TASKSNET-11747Update version of Aspose.Drawing dependencyEnhancement
TASKSNET-11696Add reading of task expenses for Primavera DB formatEnhancement
TASKSNET-11647Change source field of Task.Duration to “At completion Duration” instead of “Planned duration” when reading a project from Primavera formats.Enhancement
TASKSNET-11765Fix calculation of BudgetedExpenseCost for Primavera XER and Primavera DB formatsBug
TASKSNET-11714Fix ‘date cannot be DateTime.MinValue’ exception when recalculating the projectBug
TASKSNET-11713Fix Assignment.ActualStart date is not updated when parent task’s start date is modifiedBug
TASKSNET-11463Fix task bar rendered outside of Gantt chart’s calendar’s areaBug

Public API and Backwards Incompatible Changes

The following public methods were added:Description
com.aspose.tasks.PrimaveraTaskProperties.getPlannedDuration()Gets the original or planned duration – the total working time from the task planned start date to the planned finish date..

Related issue: TASKSNET-11647 - Change source field of Task.Duration to “At completion Duration” instead of “Planned duration” when reading a project from Primavera formats.

Possible breaking change in logic

The following applies to reading projects from Primavera formats (XER, XML, DB). Before version 26.6, the Task.Duration property was incorrectly populated from Primavera’s “Planned duration” field. This created counter-intuitive behavior where:

Task.getActualDuration() + Task.getRemainingDuration() ≠ Task.getDuration()

In Primavera, the relationship is actually: getActualDuration() + getRemainingDuration() = ‘At Completion Duration’

Starting from version 26.6, the mapping has been corrected:

Task.getDuration() - now maps to Primavera’s “At Completion Duration” Primavera’s “Planned duration” field is now mapped to Task.getPrimaveraProperties().getPlannedDuration()