Skip to content

Releases: joniles/mpxj

Version 13.4.0

18 Sep 14:42
Compare
Choose a tag to compare
  • Added support for reading and writing resource shifts for P6 schedules.
  • Ensure the Scheduling Progressed Activities project property is populated when reading Phoenix schedules.
  • When reading milestones from an Asta schedule, ensure that the Activity Type attribute is populated to allow start milestones and finish milestones to be differentiated.
  • Fix an issue which occurred when writing MSPDI files with manually scheduled tasks starting on non-working days where their timephased data is split as days.

Version 13.3.1

30 Aug 20:09
Compare
Choose a tag to compare
  • Handle duplicate custom field value unique IDs when reading MSPDI files.
  • Handle missing remaining early start date when reading timephased data from a P6 schedule.

Version 13.3.0

22 Aug 19:04
Compare
Choose a tag to compare
  • When reading multiple Primavera schedules from the same source, MPXJ now ensures that instances of activity code definitions, user defined field definitions, locations, units of measure, expense categories, cost accounts, work contours, and notes topics are shared across projects. This will allow you to, for example, filter tasks from multiple projects using a Location instance. Previously each project had its own independent instances for each of these types, which could not be used across multiple projects.
  • When reading Powerproject schedules, ensure that the Activity ID attribute for WBS entries is populated using Powerproject's Unique Task ID attribute.
  • Add support for reading timephased planned work from MPP files for manually scheduled tasks (Contributed by Fabian Schmidt).

Version 13.2.1

13 Aug 12:09
Compare
Choose a tag to compare
  • Make the MPXJ.Net assembly strong named.

Version 13.2.0

12 Aug 16:01
Compare
Choose a tag to compare
  • Implemented the UserDefinedField.Builder class.
  • Marked the UserDefinedField constructor as deprecated. Use the builder class instead.
  • Marked the UserDefinedField.setDataType() method as deprecated. Use the builder class instead.
  • Updated to address an issue when writing XER files where a project does not have an explicit Unique ID value, and there are project UDF values.
  • Added the convenience method ActivityCode.addValue to make it easier to add a value to an activity code.

Version 13.1.0

26 Jul 23:42
Compare
Choose a tag to compare
  • Updated to POI 5.3.0
  • Add support for reading and writing timephased data for activities in P6 schedules which have a "manual" curve. (Note: MPXJ does not currently support translating timephased data between different applications, so timephased data read from an MPP file won't be written to a P6 schedule and vice versa).
  • Add an attribute to the ResourceAssignment class to represent timephased planned work. This is read from/written to P6 as Budgeted Work.
  • Update Phoenix schemas to ensure that cost types are represented as doubles.
  • Updated to avoid reading apparently invalid resources from Project Commander files.
  • Correct the Finish attribute for resource assignments when reading PMXML files.
  • Improve accuracy of the RemainingDuration attribute for resource assignments when writing PMXML files.
  • Improve recognition of non-working days when reading calendars certain PMXML files.
  • Add support for the Resource Assignment field Remaining Units. (Note: this field defaults to the same value as Units if it is not explicitly populated).
  • Ensure the Resource Assignment field Remaining Units is read from and written to P6 schedules.
  • Improve handling of invalid calendar exception data when reading P6 schedules from XER files or a P6 database.
  • Improve the implementation of the Unique ID sequence generator used by MPXJ to avoid issues when multiple classloaders are used.
  • Deprecated the original StructuredNotes constructor. A new version of the constructor takes an additional ProjectFile argument.
  • Deprecated the original UserDefinedField constructor. A new version of the constructor takes an additional ProjectFile argument.
  • Add support for reading and writing the Project Website URL attribute for P6 schedules.
  • Add support for the Notes attribute as part of the ProjectProperties class.
  • Ensure that project notes are read from and written to PMXML files.
  • Usability improvements to the Notes class hierarchy to make it easier to update notes.
  • Improvements to notes handling when writing PMXML files to make it easier to construct structured notes using plain text.

Version 13.0.2

08 Jul 15:31
Compare
Choose a tag to compare
  • When writing XER files, provide a default value for the Resource ID if it is not populated.

Version 13.0.1

04 Jul 20:02
Compare
Choose a tag to compare
  • For XER files, ignore the "null" resource when writing resource rates.
  • When reading MPP files, ensure that Enterprise Custom Field Unique IDs are unique across entities.

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.