Skip to content

Releases: joniles/mpxj

Version 10.6.0

08 Jun 18:06
Compare
Choose a tag to compare
  • Added support for reading and writing the unique ID of P6 user defined fields via new getUniqueID and setUniqueID methods on `CustomField (based on a suggestion by Wes Lund).
  • Added support for reading and writing scope, scope ID, and sequence number attributes for activity codes (based on a suggestion by Wes Lund).
  • Added support for reading and writing sequence number and color attributes for activity code values (based on a suggestion by Wes Lund).
  • Added isWorking method to ProjectCalendarException to make it clearer how to determine if the exception changes the dates it is applied to into working or non-working days.
  • Improve reading task start from certain Planner files.
  • Improve reading predecessor lag values from Planner files.
  • Ensure calendar hierarchy is written correctly to Planner files.
  • Don't write null tasks to Planner files as Planner will not read files which contain them.
  • When writing Planner file, ignore constrainyt types which Planer can't represent.
  • Don't write emply predecessor lists to Planner files.
  • Improve handling of lag duration when writing Planner files.
  • Improve ProjectCalendar start date calculation when we have long runs of non-working days.
  • Performance enhancement for timephased data normalisation.

Version 10.5.0

24 May 14:57
Compare
Choose a tag to compare
  • The ProjectCalendaWeek methods addCalendarHours(), attachHoursToDay, removeHoursFromDay have been removed. Use addCalendarHours(day), removeCalendarHours(day) instead. (Note: this will be a breaking change if you were using the original methods to create or modify a schedule)
  • The ProjectCalendar methods attachHoursToDay and removeHoursFromDay have been removed. Use the addCalendarHours and removeCalendarHours methods instead. (Note: this will be a breaking change if you were using the original methods to create or modify a schedule)
  • The class hierarchy for ProjectCalendarHours and ProjectCalendarException has been simplified, but there should be no impact for uses of these classes.
  • The ProjectCalendarHours class now implements the List interface. Methods in this class not part ofthe List interface have been deprecated in favour of the equivalent List methods.
  • Updated MPXWriter to ensure: calendar names are quoted if necessary, all calendars have names, all calendar names are unique.
  • Updated MPXReader to recognise wk as a valid time unit.
  • Updated MPXWriter, PrimaveraPMFileWriter, SDEFWriter and PlannerWriter to ensure any working weeks defined by a calendar are represented by exceptons.
  • Updated MSPDIWriter to ensure any working weeks defined by a calendar are represented in the "legacy" exception definition used by Microsoft Project prior to 2007.
  • Updated SDEFWriter to ensure: only relevant calendars are written, and derived calendars are flattened.
  • When reading Planner schedules MPXJ will no longer create an "artificial" resource calendar for each resource. Resources will be linked directly to the calendar used in the original schedule.
  • Add suppport for reading the P6 calendar type and personal calendar flag from P6 schedules.
  • Add suppport for writing the calendar type and personal calendar flag to PMXML files.
  • Updated the calendar class hierarchy: ProjectCalendar and ProjectCalendarWeek both now inherit from a new class ProjectCalendarDays. Note that ProjectCalendar is no longer a subclass of ProjectCalendarWeek.
  • The getHours and isWorkingDay methods have been moved up to ProjectCalendar from the ProjectCalendarWeek class.
  • The ProjectCalendar method copy has been deprecated, without replacement.
  • Added a getWork method to ProjectCalendar which calculates the amount of work given a Day instance.
  • Added removeWorkWeek and removeCalendarException methods to ProjectCalendar.
  • Recurring exceptions are now added to a ProjectCalendar using the addCalendarException method which takes a recurringData instance its argument.
  • The ProjectCalendarException method setRecurringData has been removed, recurring exceptions should be added using the addCalendarExcepton method described above. (Note: this will be a breaking change if you were creating recurring exceptions)

Version 10.4.0

05 May 20:07
Compare
Choose a tag to compare
  • Remove getParent, setParent, and isDerived from ProjectCalendarWeek. (Note: this will be a breaking change if you were working with ProjectCalendarWeek directly).
  • The ProjectProperties methds getDefaultCalendarName() and setDefaultCalendarName() have been deprecated. Use getDefaultCalendar() and setDefaultCalendar() instead.
  • Ensure that percent complete values can be read from MSPDI files even if the values are decimals.
  • Improve handling of the default calendar when reading certain MSPDI files.
  • Improve reading certain Phoenix PPX files.
  • Improve reading certain FastTrack FTS files.
  • Improve formatting of time project properties when written to JSON.
  • Improve reading MPP files generated by Microsoft Project 16.0.15128.20158 and later versions.

Version 10.3.0

29 Apr 12:09
Compare
Choose a tag to compare
  • General improvements to make calendar data read from different file formats more consistent.
  • When reading P6 and Powerproject schedules MPXJ will no longer create an "artificial" resource calendar for each resource. Resources will be linked directly to the calendars they use in the original schedule.
  • Update MPXWriter amd MSPDIWriter to ensure that, when writen, calendars are correctly structured in the form required by Microsoft Project.
  • JsonWriter now includes calendar data as part of its output.
  • The ProjectCalendar methods setMinutesPerDay, setMinutesPerWeek, setMinutesPerMonth and setMinutesPerYear have been deprecated, use setCalendarMinutesPerDay, setCalendarMinutesPerWeek, setCalendarMinutesPerMonth and setCalendarMinutesPerYear instead.
  • The ProjectCalendar method setResource has been deprecated and will not be replaced. Use the Resource method setCalendar or setCalendarUniqueID to link a calendar with a resource.
  • The ProjectCalendar method getResource has been deprecated. Use the getResources method instead to retrieve all resources linked with a calendar.
  • The Resource methods addResourceCalendar, setResourceCalendar, getResourceCalendar, setResourceCalendarUniqueID and getResourceCalendarUniqueID have been deprecated and replaced by addCalendar, setCalendar, getCalendar, setCalendarUniqueID and getCalendarUniqueID respectively.

Version 10.2.0

06 Mar 09:44
Compare
Choose a tag to compare
  • Improvements to writing currency, rate and units amounts to MSPDI files.
  • When reading MPP and MSPDI files, calendar exceptions representing a single range of days, but defined as a recurring exception are converted to a range of days, removing the unnecessary recurring definition.
  • Added StructuredTextParser to replace original code handling calendar data, project properties and curve data read from XER files and Primavera databases. Can also be used to extract data from Primavera Layout Files (PLF).
  • Improve recognition of contoured resource assignments read from MPP files.
  • Improve retrieval of resource assignment confirmed, response pending, linked fields, and team status pending flags from certain MPP files.

Version 10.1.0

29 Jan 15:46
Compare
Choose a tag to compare
  • Improve PMXML file compatibility with P6.
  • Strip any trailing invalid characters from text read from FTS files.
  • Ensure all tasks read from Powerproject and Project Commander have unique IDs.
  • Correct expansion of exceptions from a weekly recurring calendar exception.
  • Ensure that expanded calendar exceptions are written to file formats which do not support recurring exceptions.
  • Ensure that start and finish dates are set when reading milestones from GanttProject files.

Version 10.0.5

11 Jan 21:58
Compare
Choose a tag to compare
  • Ensure Task.getActivityCodes() returns an empty list rather than null when no activity code values have been assigned.
  • Default to using ASCII when reading and writing SDEF files, as per the SDEF specification.
  • Provide methods to set and get the charset used when reading and writing SDEF files.

Version 10.0.4

07 Jan 19:47
Compare
Choose a tag to compare
  • Added support for reading Code Library values (as Activity Codes) from Powerproject files.
  • Updated ProjectCleanUtility to provide a "replace" strategy alongside the original "redact" strategy.

Version 10.0.3

22 Dec 10:45
Compare
Choose a tag to compare
  • Fix issue with null tasks from certain MPP files introduced in 10.0.2.

Version 10.0.2

16 Dec 13:49
Compare
Choose a tag to compare
  • Improve identification of null tasks for certain MPP files.