Releases: joniles/mpxj
Releases · joniles/mpxj
Version 15.1.0
- Improve selection of the default calendar when reading Asta Powerproject PP files.
- Added support for the calculated task attribute Schedule Percent Complete. Note that at present this is not calculated for WBS/Summary Tasks.
- Added support for the
Taskattributes Estimated Weight, Auto Compute Actuals, and Original Budget. (Based on a contribution by danielfromCL) - Ensure that the Estimated Weight attribute is read from and written to WBS entries and Activities for P6 schedules. (Based on a contribution by danielfromCL)
- Ensure that the Original Budget attribute is read from and written to WBS entries for P6 schedules. (Based on a contribution by danielfromCL)
- Ensure that the Auto Compute Actuals flag is read from and written to Activities in P6 scheudles. (Based on a contribution by danielfromCL)
- Fix an issue where the Activity attribute Longest Path was not being written to XER files. (Based on a contribution by danielfromCL)
- Updated to POI 5.5.1.
- Updated to Jackson 2.20.1.
- Updated to jsoup 1.21.2.
- Updated to sqlite-jdbc 3.51.1.0
Version 15.0.0
- NEW FEATURES
- Updated
PrimaveraXERFileWriterto allow a list of projects to be written to an XER file. - Updated
PrimaveraPMFileWriterto allow a list of projects to be written to a PMXML file. - CHANGES
- Include all available baselines when reading Asta Powerproject PP files (Contributed by gitgood88).
- MPXJ will now store an arbitrary number of baselines rather than the hard limit of 11 previously in place. Only baselines numbered 0-10 will be interpreted by MPXJ, other baselines can just be stored and retrieved.
- Added the Last Scheduled Date and Activity Percent Complete Based On Activity Steps attributes to
ProjectPropertiesand ensured these are read from and written to P6 schedules (Based on a contribution by danielfromCL). - Header rows for empty tables are no longer written to XER files.
- Add support for the Project attribute Activity Default Calendar Unique ID.
- Added the
ProjectCalendar#getDefaultmethod. This returns true if the current calendar is the default calendar for the project file (e.g. MPP files) or project database (e.g. P6 database). - Added the
ProjectCalendar#setDefaultmethod. Calling this method sets the calendar as the default for the project file or project database. - Added the
ProjectCalendar#isParentmethod. - Added the
ProjectCalendar#getDerivedCalendarsForProjectmethod. - Added the
ProjectCalendar#getProjectUniqueIDandProjectCalendar#setProjectUniqueIDmethods. This attribute is used to indicate that a calendar belongs to a specific project. - When writing PMXML files, ensure that
OriginalProjectObjectIdis populated for baseline projects. - Added the
ProjectContextclass to represent common context data which can (depending on the source application) be shared across multiple projects. - Added the
ProjectFile#getProjectContextmethod to retrieve theProjectContextinstance to which a project belongs. - Added the
Resource#getProjectContextmethod to retrieve theProjectContextinstance to which a resource belongs. - Added the
ProjectCalendar#getProjectContextmethod to retrieve theProjectContextinstance to which a calendar belongs. - Added the
ProjectFile#getCalendarsForProjectmethod. This retrieves global calendars, and any project-specific calendars relevant for this project. - Added the
Rate#valueOfmethod. - Added the
TimeUnitDefaultsclass to allow time unit related default values to be held as part of theProjectContextclass. - Updated to POI 5.5.0
- Updated to Jackcess 4.0.10. Removed explicit Commons Lang 3 dependency.
- Updated to JUnit 5.14.1
- BREAKING CHANGES
- The
ProjectFile#getBaselinesmethod now returns aMapinstance keyed by baseline index. - When using the
readAllmethod to read PMXML files, only projects will now be returned. Any baselineProjectFileinstances will now only be linked to their parent projects, and will not be present in the list returned byreadAll. - For P6 projects the
ProjectFile#getCalendarsmethod will include all calendars from the file or database being read. To retrieve only calendars relevant to the project use theProjectFile#getCalendarsForProjectmethod. - For P6 projects the
ProjectCalendar#getDerivedCalendarsmethod will include all derived calendars from the file or database being read. To retrieve derived calendars relevant to a specific project use theProjectCalendar#getDerivedCalendarsForProjectmethod. - Removed the
ProjectEntityclass. TheProjectProperties,Resource,ResourceAssignmentandTaskclasses no longer inherit from this class. TheProjectProperties,ResourceAssignmentandTaskclasses provide a replacement for theProjectEntity#getParentFilemethod. TheResourceclass no longer has agetParentFilemethod. - Removed the
ProjectCalendar#getParentFilemethod. Calendars no longer belong directly to projects, but instead belong to aProjectContextinstance. - Removed the
Resource#addResourceAssignmentmethod. This method was originally only intended for internal use within MPXJ. - The
ResourceAssignmentclass no longer provides a public constructor. TheTask#addResourceAssignmentmethod should be used instead. - Removed the
Task#addResourceAssignment(ResourceAssignment)method. Use theTask#addResourceAssignment(Resource)method instead. - Removed the
Task#setSplitsmethod. This method was originally only intended for internal use.
Version 14.5.2
- Fix an issue reading secondary constraint dates and finish constraint dates from Open Plan BK3 files.
- Update the Jackcess dependency Commons Lang 3 to a version not affected by CVE-2025-48924.
Version 14.5.1
- Ensure that project listeners work in MPXJ.Net when using the ProjectReaderProxy from UniversalProjectReader.
- Minor PrimaveraScheduler improvements.
Version 14.5.0
- Implemented support for reading and exporting projects using Primavera P6 Web Services (p6ws). Among other things this could be used to access projects managed by Primavera P6 EPPM.
- Add Free Slack calculation to the Task class.
- Ensure that the PrimaveraScheduler updates resource assignment dates.
- Handle blank Activity ID values when writing XER and PMXML files.
- Ensure that all Activity, Project, Resource Assignment, Resource and Role Code definitions in XER and PMXML files include a maximum length.
Version 14.4.0
- Implemented support for reading projects from Microsoft Project Server (also known as Project Online, Project Web Access or PWA).
- Improve handling of different date formats read from BK3 files.
- Adjust handling of the Mandatory Start constraint on in progress tasks in the PrimaveraScheduler.
Version 14.3.5
- When reading XER files and P6 databases, ensure that project-specific calendars are only attached to the project to which they relate.
Version 14.3.4
- Add missing reader class proxy handling in MPXJ.Net.
Version 14.3.3
- Do not supply a default value for the Task Constraint Type attribute. Previously if this value was not set, MPXJ returned
ConstraintType.AS_SOON_AS_POSSIBLE. - Remove workaround for locating the SQLite native library when using .Net on a Mac. This is no longer necessary following the recent SQLite version update.
Version 14.3.2
- Handle time ranges in Synchro SP file which finish at midnight.
- Improve support for reading task data from certain Synchro 6.5 SP files.