* Added support for reading all properties from an MPP9 file which define the visual appearance of the Gantt Chart view shown in Microsoft Project (development funding courtesy of Steelray).
* Tidied up constructors. Added no-argument constructors to the MPPFile and MSPDIFile classes.
* Fixed incorrect value in WorkGroup enumerated type.
* Implemented the resource assignment work contour property (contributed by Wade Golden).
* Implemented correct handling for MPX files using different character set encodings (suggested by Frank Illenberger).
* Fixed task duration calculation when importing an MPP file with a "non-standard" hours-per-day setting (contributed by Wade Golden).
* Updated to ensure that the MPX task fixed attribute, and the MPP/MSPDI task type attribute are correctly handled.
* Updated to implement the remaining project header attributes supported by the MSPDI file format.
* Updated to add support for reading the MPX 3.0 files generated by Primavera (courtesy of CapitalSoft).
* Fixed incorrect assumptions about conversion of durations to hours when writing MPX files (contributed by Frank Illenberger).
* Updated to calculate remaining work for resource assignments on import, to allow MSPDI export of this data to work correctly (contributed by Frank Illenberger).
* Updated to add another condition to the test for deleted tasks in MPP8 files.
* Updated to fix a problem with reading assignment data from MPP9 files.
* Rationalised the location of the JUnit tests and the sample files.
* Fixed a problem where the project start and end dates reported in the project header were incorrect.
* Fixed an array out of bounds exception when reading an MPP9 file.
* Updated to allow MPXCalendarHours to accept an arbitrary number of time periods.
* Introduced the Day class to replace the use of arbitrary integers to represent days of the week.
* Added the ability to query the task assignments for a resource using the Resource.getTaskAssignments() method.
* Fixed a problem with number formats in MSPDI files.
* Updated the MPP View class to extract the view type.
* Updated to ensure that duration values read from an MSPDI file are converted into the appropriate duration units, rather than being left as hours as the durations are represented in the MSPDI file.
* Implemented French MPX file format translation (contributed by Benoit Baranne).
* Fixed a bug reading assignment work contour attribute.
* Updated to make failure more graceful when a Microsoft Project 4.0 MPP file is encountered.
* Fixed a bug where deleted constraints in an MPP9 file were not being ignored.
* Updated to make replace the int relation type in the Relation class with instances of the RelationType class.
* Updated to derive RelationList from AbstractList.
* Added sample code to MpxjQuery to illustrate retrieval of information from Relation instances.
* Updated MpqjQuery to parse MSPDI files as well as MPP and MPX files.
* Added support for early start, early finish, late start, late finish to MPP files.
* Updated MPP9 file support to handle start as late as possible constraints.
* Added support for subproject file information in MPP9 files.
* Fixed a bug where occasionally a task in MPP9 files were not being read.
* Fixed a NegativeArrayIndexException thrown when reading certain MPP8 files.
* Reduced the memory used by MPXJ by anything up to 60%, particularly when reading large MPP files.
* Fixed a bug when reading MPX files where the field delimiter was not comma, and task relation lists contained more than one entry.
* Updated to fix unreliable retrieval of project start and end dates from certain MPP files.
* Fixed schedule from value in MSPDI files (contributed by Frank Illenberger).
* Fixed a bug when reading durations in elapsed days from an MPP file.
* Tasks can now have arbitrary priority values. These values are mapped to/from the fixed MPP8/MPX priority values where necessary.