Skip to content

Releases: joniles/mpxj

Version 13.0.0

20 Jun 13:07
Compare
Choose a tag to compare
  • NOTE: this is a major release containing breaking changes. When updating from a 12.x release it is recommended that you first update to the most recent 12.x release and deal with any deprecation warnings before moving to this release.
  • NOTE: the original net.sf.mpxj NuGet packages are now deprecated and will be replaced by the MPXJ.Net NuGet Package in the next major MPXJ release. The net.sf.mpxj packages will continue to be maintained until then, at which point they will no longer be distributed. Please migrate your code to use MPXJ.Net at the earliest opportunity, and open an issue in the GitHUb issue tracker if you encounter problems.
  • Updated to use JAXB3. Among other things this change ensures compatibility with Spring Boot 3. Note that this may be a breaking change for you if you own application uses JAXB2.
  • When reading P6 schedules, the custom properties (as retrieved using ProjectProperties.getCustomProperties) will no longer contain scheduling options. These are now all available as attributes of the ProjectProperties class.
  • Removed redundant setUniqueID methods from immutable objects. These previously threw UnsupportedOperationException when called.
  • The ProjectEntityWithUniqueID interface no longer contains the setUniqueID method. Entities with a mutable Unique ID attribute now implement the ProjectEntityWithMutableUniqueID interface, which inherits from the ProjectEntityWithUniqueID interface.
  • The MSPDIReader and PrimaveraXERFileReader classes no longer provide getter and setter methods for Encoding, use the Charset getter and setter methods instead.
  • Removed the XerFieldType class and replaced usages of it with the DataType class.
  • The deprecated ActivityCode() constructor and addValue method have been removed.
  • The deprecated ActivityCodeValue() constructor and setParent method have been removed.
  • The deprecated CostAccount() constructor and getDescription method have been removed.
  • The deprecated CustomFieldValueItem methods getParent and setParent have been removed.
  • The deprecated ExpenseCategory() constructor has been removed.
  • The deprecated ExpenseItem(Task) constructor and all setter methods have been removed.
  • The deprecated JsonWriter methods setEncoding and getEncoding have been removed.
  • The deprecated Location.Builder() constructor has been removed.
  • The deprecated NotesTopic() constructor has been removed.
  • The deprecated ObjectSequence method reset has been removed.
  • The deprecated PlannerWriter methods setEncoding and getEncoding have been removed.
  • The deprecated PrimaveraXERFileWriter method setEncoding has been removed.
  • The deprecated ProjectCalendar method getDate has been removed.
  • The deprecated ProjectCalendarHelper method getExpandedExceptionsWithWorkWeeks has been removed.
  • The deprecated ProjectEntityContainer methods getNextUniqueID, renumberUniqueIDs and updateUniqueIdCounter have been removed.
  • The deprecated ProjectFile methods expandSubprojects and updateUniqueIdCounters have been removed.
  • The deprecated ProjectReader method setProperties and setCharset have been removed.
  • The deprecated ProjectWriterUtility class has been removed.
  • The deprecated RateHelper methods accepting a ProjectFile argument have veen removed.
  • The deprecated Relation(Task,Task,RelationType,Duration) constructor has been removed.
  • The deprecated RelationContainer.addPredecessor(Task,Task,RelationType,Duration) method has been removed
  • The deprecated Resource methods setAvailableFrom, setAvailableTo, setMaterialLabel and setMaxUnits have been removed.
  • The deprecated ResourceAssignment method getCalendar has been removed.
  • The deprecated Step(Task) constructor and all setter methods have been removed.
  • The deprecated Task method addPredecessor(Task,RelationType,Duration) has been removed
  • The deprecated TimephasedUtility methods segmentBaselineWork(ProjectFile, ...) and segmentBaselineCost(ProjectFile, ...) methods have been removed.
  • The deprecated UnitOfMeasure.Builder() constructor has been removed.

Version 12.10.3

14 Jun 13:39
Compare
Choose a tag to compare
  • Add new project property IsProjectBaseline. When using the readAll method to retrieve a set of schedules, if the data source contans both schedules and baselines this property will be true for the ProjectFile instances which represent a baseline.

Version 12.10.2

03 Jun 13:27
Compare
Choose a tag to compare
  • Added a missing unique ID mapping when writing resource assignment resource unique IDs to MSPDI files (Contributed by Alex Matatov)
  • Handle null field type when reading outline code values from an MPP9 file.

Version 12.10.1

22 May 15:26
Compare
Choose a tag to compare
  • Ignore missing PropertySets when reading MPP files (Contributed by Fabian Schmidt).
  • Corrected handling of the "24 Hour Calendar" Relationship Lag Calendar setting when reading and writing XER files (Based on a contribution by Alex Matatov)

Version 12.10.0

13 May 13:22
Compare
Choose a tag to compare
  • When a baseline is added using one of the ProjectFile.setBaseline methods, ensure that the relevant baseline date is set in ProjectProperties.
  • Marked the JsonWriter methods setEncoding and getEncoding as deprecated, use setCharset and getCharset instead.
  • Marked the PlannerWriter methods setEncoding and getEncoding as deprecated, use setCharset and getCharset instead.
  • Marked the PrimaveraXERFileWriter method setEncoding as deprecated, use setCharset instead.
  • Marked the ProjectCalendarHelper method getExpandedExceptionsWithWorkWeeks as deprecated, use ProjectCalendar.getExpandedCalendarExceptionsWithWorkWeeks instead.
  • Marked the ProjectReader method setCharset as deprecated. Readers which support setting the Chraset now implement the HasCharset interface, which includes Charset getter and setter methods.
  • Implemented the UniversalProjectWriter class. This complements the UniversalProjectReader class by providing a simple way for MPXJ users to write project files without having to be concerned with details of the individual ProjectWriter classes. This is intended to replace the ProjectWriterUtility class. Note that the ProjectWriterUtility has a somewhat brittle mechanism to determine the output file format from the supplied output file name. This is not replicated by UniversalProjectWriter, users are expected to provide their own code to determine the appropriate file format.
  • Marked the ProjectWriterUtility class as deprecated.

Version 12.9.3

24 Apr 20:02
Compare
Choose a tag to compare
  • Improve handling of non-standard timestamp formats in XER files.

Version 12.9.2

19 Apr 17:56
Compare
Choose a tag to compare
  • Ensure calendars in Asta schedules have the correct name.
  • Improve assignment of calendars to summary tasks when reading Asta schedules.
  • Preserve calendar hierarchy when reading Asta schedules.

Version 12.9.1

17 Apr 11:26
Compare
Choose a tag to compare
  • Fix an issue where UniversalProjectReader would raise an exception when handling an unknown file type.
  • Ensure that resource type is included as part of the resource assignment data when writing PMXML files.

Version 12.9.0

11 Apr 18:40
Compare
Choose a tag to compare
  • Updated UniversalProjectReader to add getProjectReaderProxy methods to allow access to the instance of the reader class which will be used to read a schedule, prior to the schedule being read. This will allow the reader to be configured, or schedule to be ignored without reading its content.
  • Deprecated the ProjectReader.setProperties method. This method was originally implemented to allow settings to be passed to reader classes when using UniversalProjectReader. You can now use UniversalProjectReader.getProjectReaderProxy to achieve this.
  • Add from method to all Builder classes to allow initialisation from existing objects.
  • The CostAccount.Builder class now provides two notes methods to allow formatted or unformatted notes to be added to cost accounts.
  • The CostAccount method getDescription() has been marked as deprecated. Use the getNotes() or getNotesObject() method instead.
  • The CustomFieldValueItem methods getParent and setParent have been marked as deprecated. Use the getParentUniqueID and setParentUniqueID methods instead.
  • JSON output from MPXJ now includes more detail for custom field definitions read from MPP files.
  • When reading a PMXML file, populate the Early/Late Start/Finish date attributes from the Remaining Early/Late Start/Finish date attributes.
  • Fix an issue reading WBS ID for P3 and SureTrak schedules.

Version 12.8.1

11 Mar 13:36
Compare
Choose a tag to compare
  • Improve reading resource assignments from certain FastTrack FTS files.