Skip to content

Version 16.0.0

Choose a tag to compare

@joniles joniles released this 11 Mar 22:32
· 69 commits to master since this release
  • NEW FEATURES
  • JsonWriter now provides getWriteTimephasedData and setWriteTimephasedData methods. Setting this property to true will include timephased data in the JSON output. This property is set to false by default.
  • Classes implementing the FieldContainer interface (Task, Resource, ResourceAssignment) now provide the getTimephasedDurationValuesandgetTimephasedNumericValuesto allow access to timephased data using aFieldType` instance to determine the type of data required.
  • The Resource class now supports the following work methods: getPlannedWork, getActualRegularWork, getRemainingRegularWork.
  • The Resource class now supports the following cost methods: getPlannedCost, getActualRegularCost, getRemainingRegularCost.
  • The Resource class now supports the following material methods: getPlannedMaterial, getActualMaterial, getRemainingMaterial, getMaterial, getBaselineMaterial.
  • The Resource class now supports the following timephased work methods: getTimephasedPlannedWork, getTimephasedActualRegularWork, getTimephasedActualOvertimeWork, getTimephasedActualWork, getTimephasedRemainingRegularWork, getTimephasedRemainingOvertimeWork, getTimephasedRemainingWork, getTimephasedWork, getTimephasedBaselineWork.
  • The Resource class now supports the following timephased cost methods: getTimephasedPlannedCost, getTimephasedActualRegularCost, getTimephasedActualOvertimeCost, getTimephasedActualCost, getTimephasedRemainingRegularCost, getTimephasedRemainingOvertimeCost, getTimephasedRemainingCost, getTimephasedCost, getTimephasedBaselineCost.
  • The Resource class now supports the following timephased material methods: getTimephasedActualMaterial, getTimephasedRemainingMaterial, getTimephasedMaterial and getTimephasedBaselineMaterial.
  • The ResourceAssignment class now supports the following work methods: getActualRegularWork, getRemainingRegularWork.
  • The ResourceAssignment class now supports the following cost methods: getActualRegularCost, getRemainingRegularCost.
  • The ResourceAssignment class now supports the following material methods: getPlannedMaterial, getActualMaterial, getRemainingMaterial, getMaterial, getBaselineMaterial.
  • The ResourceAssignment class now supports the following methods to retrieve the raw representation of timephased work: getRawTimephasedPlannedWork, getRawTimephasedActualRegularWork, getRawTimephasedRemainingRegularWork, getRawTimephasedRemainingOvertimeWork, getRawTimephasedActualOvertimeWork
  • The ResourceAssignment class now supports the following timephased work methods: getTimephasedPlannedWork, getTimephasedActualRegularWork, getTimephasedActualOvertimeWork, getTimephasedActualWork, getTimephasedRemainingRegularWork, getTimephasedRemainingOvertimeWork, getTimephasedRemainingWork, getTimephasedWork, getTimephasedBaselineWork
  • The ResourceAssignment class now supports the following timephased cost methods: getTimephasedPlannedCost, getTimephasedRemainingRegularCost, getTimephasedRemainingOvertimeCost, getTimephasedRemainingCost, getTimephasedActualRegularCost, getTimephasedActualOvertimeCost, getTimephasedActualCost, getTimephasedCost, getTimephasedBaselineCost
  • The ResourceAssignment class now supports the following timephased material methods: getTimephasedActualMaterial, getTimephasedRemainingMaterial, getTimephasedMaterial and getTimephasedBaselineMaterial.
  • The ResourceAssignment class now supports the getWorkSplits method, which summarises timephased work into contiguous working periods.
  • The Task class now supports the following work methods: getPlannedWork, getActualRegularWork, getRemainingRegularWork.
  • The Task class now supports the following cost methods: getActualRegularCost, getRemainingRegularCost.
  • The Task class now supports the getWorkSplits method, which summarises timephased work into contiguous working periods.
  • The Task class now supports the following timephased work methods: getTimephasedPlannedWork, getTimephasedActualRegularWork, getTimephasedActualOvertimeWork, getTimephasedActualWork, getTimephasedRemainingRegularWork, getTimephasedRemainingOvertimeWork, getTimephasedRemainingWork, getTimephasedWork, getTimephased BaselineWork.
  • The Task class now supports the following timephased cost methods: getTimephasedPlannedCost, getTimephasedActualRegularCost, getTimephasedActualOvertimeCost, getTimephasedActualCost, getTimephasedRemainingRegularCost, getTimephasedRemainingOvertimeCost, getTimephasedRemainingCost, getTimephasedCost, getTimephasedBaselineCost, getTimephasedActualFixedCost, getTimephasedRemainingFixedCost, getTimephasedFixedCost.
  • The TimephasedItem, TimephasedWork, and TimephasedCost classes have a new getAmountPerHour method, which replaces the original getAmountPerDay method.
  • A new version of the TimescaleHelper#createTimescale (previously TimescaleUtility#createTimescale) method has been provided which takes and end date rather than a number of ranges.
  • BREAKING CHANGES
  • MSPDIWriter no longer provides the setSplitTimephasedAsDays and getSplitTimephasedAsDays methods. Timephased data is always written to the file exactly as MPXJ originally read it.
  • The TimescaleUtility class has been renamed TimescaleHelper and has been moved to the org.mpxj.common package.
  • The TimescaleHelper#createTimescale method now returns a List<LocalDateTimeRange> rather than an ArrayList<LocalDateTimeRange>
  • The TimescaleHelper#createTimescale method now returns half open ranges, for example a range representing 1st January 2026 would be expressed as 2026-01-01 00:00 to 2026-01-02 00:00 rather than 2026-01-01 00:00 to 2026-01-01 23:59.
  • The following ResourceAssignment timephased work methods have been removed and replaced by the getRaw methods noted above: getTimephasedPlannedWork, getTimephasedActualWork, getTimephasedWork, getTimephasedOvertimeWork, getTimephasedActualOvertimeWork, getTimephasedBaselineWork, getTimephasedBaselineCost
  • The following ResourceAssignment timephased work methods have been removed without replacement: setTimephasedPlannedWork, setTimephasedActualWork, setTimephasedWork, setTimephasedActualOvertimeWork, setTimephasedBaselineWork, setTimephasedBaselineCost.
  • The following ResourceAssignment timephased cost methods have been removed and replaced by the cost methods noted above: getTimephasedCost, getTimephasedActualCost.
  • The Task#getSplits method has been removed, used the Task#getWorkSplits method instead. Note that Task#getWorkSplits only returns ranges representing working time.
  • The getAmountPerDay method on the TimephasedItem, TimephasedWork, and TimephasedCost classes has been removed. Use the new getAmountPerHour method instead.
  • The getModified method on the TimephasedItem, TimephasedWork, and TimephasedCost classes has been removed. There is currently no replacement.
  • The TaskField.SPLITS enumeration value has been removed, use TaskField.WORK_SPLITS instead.
  • The AssignmentField.TIMEPHASED_WORK enumeration value has been removed, use TaskField.TIMEPHASED_REMAINING_REGULAR_WORK instead.
  • The AssignmentField.TIMEPHASED_ACTUAL_WORK enumeration value has been removed, use TaskField.TIMEPHASED_ACTUAL_REGULAR_WORK instead.
  • The order of the arguments supplied to the TimescaleUtility#createTimescale method has been changed.
  • The order of the arguments supplied to the TimescaleHelper#createTimescale method has been changed.
  • The alignment of the ranges returned by TimescaleHelper#createTimescale has changed when MINUTES or HOURS is specified as the required timescale units..
  • CHANGES
  • Updated to sqlite-jdbc 3.51.2.0
  • Updated to jsoup 1.22.1.
  • Updated to Jackson 2.21.1.
  • Updated to JUnit 5.14.3