Releases: joniles/mpxj
Releases · joniles/mpxj
Version 13.0.0
- 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. Thenet.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 theProjectProperties
class. - Removed redundant
setUniqueID
methods from immutable objects. These previously threwUnsupportedOperationException
when called. - The
ProjectEntityWithUniqueID
interface no longer contains thesetUniqueID
method. Entities with a mutable Unique ID attribute now implement theProjectEntityWithMutableUniqueID
interface, which inherits from theProjectEntityWithUniqueID
interface. - The
MSPDIReader
andPrimaveraXERFileReader
classes no longer provide getter and setter methods forEncoding
, use theCharset
getter and setter methods instead. - Removed the
XerFieldType
class and replaced usages of it with theDataType
class. - The deprecated
ActivityCode()
constructor andaddValue
method have been removed. - The deprecated
ActivityCodeValue()
constructor andsetParent
method have been removed. - The deprecated
CostAccount()
constructor andgetDescription
method have been removed. - The deprecated
CustomFieldValueItem
methodsgetParent
andsetParent
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
methodssetEncoding
andgetEncoding
have been removed. - The deprecated
Location.Builder()
constructor has been removed. - The deprecated
NotesTopic()
constructor has been removed. - The deprecated
ObjectSequence
methodreset
has been removed. - The deprecated
PlannerWriter
methodssetEncoding
andgetEncoding
have been removed. - The deprecated
PrimaveraXERFileWriter
methodsetEncoding
has been removed. - The deprecated
ProjectCalendar
methodgetDate
has been removed. - The deprecated
ProjectCalendarHelper
methodgetExpandedExceptionsWithWorkWeeks
has been removed. - The deprecated
ProjectEntityContainer
methodsgetNextUniqueID
,renumberUniqueIDs
andupdateUniqueIdCounter
have been removed. - The deprecated
ProjectFile
methodsexpandSubprojects
andupdateUniqueIdCounters
have been removed. - The deprecated
ProjectReader
methodsetProperties
andsetCharset
have been removed. - The deprecated
ProjectWriterUtility
class has been removed. - The deprecated
RateHelper
methods accepting aProjectFile
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
methodssetAvailableFrom
,setAvailableTo
,setMaterialLabel
andsetMaxUnits
have been removed. - The deprecated
ResourceAssignment
methodgetCalendar
has been removed. - The deprecated
Step(Task)
constructor and all setter methods have been removed. - The deprecated
Task
methodaddPredecessor(Task,RelationType,Duration)
has been removed - The deprecated
TimephasedUtility
methodssegmentBaselineWork(ProjectFile, ...)
andsegmentBaselineCost(ProjectFile, ...)
methods have been removed. - The deprecated
UnitOfMeasure.Builder()
constructor has been removed.
Version 12.10.3
- Add new project property
IsProjectBaseline
. When using thereadAll
method to retrieve a set of schedules, if the data source contans both schedules and baselines this property will be true for theProjectFile
instances which represent a baseline.
Version 12.10.2
- 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
- Ignore missing
PropertySet
s 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
- When a baseline is added using one of the
ProjectFile.setBaseline
methods, ensure that the relevant baseline date is set inProjectProperties
. - Marked the
JsonWriter
methodssetEncoding
andgetEncoding
as deprecated, usesetCharset
andgetCharset
instead. - Marked the
PlannerWriter
methodssetEncoding
andgetEncoding
as deprecated, usesetCharset
andgetCharset
instead. - Marked the
PrimaveraXERFileWriter
methodsetEncoding
as deprecated, usesetCharset
instead. - Marked the
ProjectCalendarHelper
methodgetExpandedExceptionsWithWorkWeeks
as deprecated, useProjectCalendar.getExpandedCalendarExceptionsWithWorkWeeks
instead. - Marked the
ProjectReader
methodsetCharset
as deprecated. Readers which support setting the Chraset now implement theHasCharset
interface, which includes Charset getter and setter methods. - Implemented the
UniversalProjectWriter
class. This complements theUniversalProjectReader
class by providing a simple way for MPXJ users to write project files without having to be concerned with details of the individualProjectWriter
classes. This is intended to replace theProjectWriterUtility
class. Note that theProjectWriterUtility
has a somewhat brittle mechanism to determine the output file format from the supplied output file name. This is not replicated byUniversalProjectWriter
, users are expected to provide their own code to determine the appropriate file format. - Marked the
ProjectWriterUtility
class as deprecated.
Version 12.9.3
- Improve handling of non-standard timestamp formats in XER files.
Version 12.9.2
- 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
- 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
- Updated
UniversalProjectReader
to addgetProjectReaderProxy
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 usingUniversalProjectReader
. You can now useUniversalProjectReader.getProjectReaderProxy
to achieve this. - Add
from
method to allBuilder
classes to allow initialisation from existing objects. - The
CostAccount.Builder
class now provides twonotes
methods to allow formatted or unformatted notes to be added to cost accounts. - The
CostAccount
methodgetDescription()
has been marked as deprecated. Use thegetNotes()
orgetNotesObject()
method instead. - The
CustomFieldValueItem
methodsgetParent
andsetParent
have been marked as deprecated. Use thegetParentUniqueID
andsetParentUniqueID
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
- Improve reading resource assignments from certain FastTrack FTS files.