Skip to content

ProjectEngine v1.5.1 — Reliability & Stability Update

Latest

Choose a tag to compare

@TMailletFR TMailletFR released this 02 Nov 17:06

ProjectEngine v1.5.1 — Scheduling Accuracy & Reliability Update

ProjectEngine v1.5.1 is a reliability-focused maintenance release for the open-source Excel scheduling and project controls engine.

After the new Finance and multi-project capabilities introduced in v1.5, this update concentrates on the accuracy and integrity of the results people rely on every day: calculated dates, critical paths, float, Dashboard warnings, Gantt dependencies, S-Curve progress, and project migration.

The primary goal is to prevent a particularly difficult class of problems: a workbook appearing to have updated successfully while its results are incomplete, stale, or misleading.

🧮 More accurate scheduling and critical-path analysis

  • Incremental change detection: task type changes, deleted tasks, and WBS changes now invalidate affected calculated results more reliably.
  • Multiple relationships between tasks: FS, SS and FF relationships with different lags are all considered where they apply; critical-path and float analysis no longer depends on the order in which those relationships were entered.
  • Calendar-aware calculations: affected scheduling and analytics calculations use the applicable working calendar rather than substituting calendar-day differences.
  • Task identity validation: invalid and duplicate task IDs are detected before they can contaminate the schedule.
  • Parent rollups: summary dates are recalculated correctly when child tasks are deleted.

These changes address cases where a schedule could previously show outdated dates or incorrect float without an obvious blocking error.

📊 Dashboard warnings and status integrity

  • Fixed cases where significant task delays were present but the Dashboard displayed “No schedule drift detected.”
  • A summary can now reflect a child activity that should have started but remains at 0% progress, including the relevant orange visual warning.
  • Completion indicators consistently recognize 100% progress or an actual finish date that has been reached.
  • Unavailable or unknown analytics are distinguished from valid, calculated values.
  • Failed snapshot generation no longer reports that a valid new history record has been saved.

Dashboard status colors and alerts now better reflect the underlying schedule without artificially changing task progress values.

🔗 Gantt dependency rendering and recovery

  • Damaged or incomplete dependency caches are detected before reuse.
  • Missing links can be rebuilt through the normal refresh workflow.
  • Rendered dependency routes are checked against the expected relationships, not just the presence of graphical objects.
  • If SVG rendering fails, ProjectEngine can use its existing alternative dependency-line renderer, and return to SVG when available again.
  • SUMMARY view retains its intended dependency-visibility behavior.

This improves the trustworthiness of the visible network after graphical errors or cache inconsistencies.

📈 S-Curve: fractional progress is preserved

A short activity could previously lose part of its progress contribution when time-phased calculations rounded progress to whole days.

The S-Curve now retains fractional-day progress and distributes daily actual and remaining portions consistently. Their totals reconcile with the activity-weighted WBS progress.

For example, a genuine weighted progress of 69.43% is no longer reduced by discarding fractional contributions.

📂 Safer project import and migration

  • Original user formulas are preserved, even if an imported formula reference may subsequently need manual correction.
  • Users receive an explicit warning when the dependencies of those formulas cannot be guaranteed.
  • Invalid identifiers and incompatible imports are rejected rather than silently merged or altered.
  • Any supported historical records that cannot be transferred are reported rather than omitted without notice.
  • Existing supported formats, headers, and workbook presentation are preserved.

The objective is to protect user-authored data and keep the project manager in control of any necessary post-import review.

🛡️ More reliable failures and recovery

  • Errors while writing calculated outputs are no longer silently converted into success.
  • Partial workflow failures propagate to the operation that initiated them.
  • Gantt drag operations can restore their original positions after a failed tested change.
  • Bulk event-history writes and warning acknowledgements receive stronger partial-update protection.
  • A failed scenario creation is not presented as a valid saved scenario.
  • Existing Excel application settings are preserved more consistently during operations.

🌍 Language, tutorial and interface refinements

  • Failed language changes restore the prior language selections and column headers.
  • If restoration also fails, diagnostic information is retained for both the original error and the recovery failure.
  • Temporary tutorial highlights no longer mark the workbook as modified immediately after a successful save.
  • Event-history input protection and localized date/message presentation have been refined.

⚡ Better performance with sparse task IDs

ProjectEngine now allocates calculation rows according to the actual tasks present, rather than creating every intermediate row up to the highest task ID.

Measured example: two tasks with IDs 1 and 10000

Synchronization Before After
CALC rows 10,000 2
Elapsed time 3.19 s 0.15 s

This is a substantial improvement for sparse, widely separated IDs. It is not a general 20× performance claim: validation with approximately 1,200 tasks showed broadly comparable performance overall, with variation between operations.

🔄 Upgrading from v1.5

  1. Back up your current ProjectEngine workbook.
  2. Download the prepared .xlsm file from this GitHub release.
  3. Open the new workbook in Microsoft Excel for Windows and enable macros if you trust the source.
  4. Select Import Previous Project and choose your existing workbook.
  5. Review imported inputs, any formula-reference warnings, and any migration notices.
  6. Run the relevant planning and reporting updates.

The source workbook remains unchanged. Import replaces supported project data in the destination workbook rather than merging two unrelated projects.

✅ Validation and compatibility

The changes were documented and tested against standard project schedules, larger scenarios with approximately 1,200 activities, and targeted cases covering multiple dependencies, incorrect identifiers, partial progress, rendering recovery, migration, and reporting errors.

The measured sparse-ID result above is specific to its test case. No exhaustive compatibility certification is claimed for every Excel version, 32-bit environment, LTSC/perpetual build, or possible project configuration.

❤️ Why this release matters

v1.5.1 adds fewer visible features than v1.5. Its purpose is equally important: the results must be trustworthy.

A clear validation error is preferable to silently publishing incorrect dates, inaccurate float, misleading Dashboard status, or an incomplete migration.

ProjectEngine remains free, open-source (GPL-3.0), Excel-native, bilingual (English/French), and usable without an external scheduling service or subscription.

Source code and documentation: https://github.com/TMailletFR/ProjectEngine
Project website: https://tmailletfr.github.io/ProjectEngine/

Real scheduling. Native Excel. Reliable results.