v5.0.0 is a foundation release. v4 was about feature coverage — getting all 103 modules running on one install, on one database, behind one sidebar. v5 is about what happens between those modules: how an event in one ripples to the inbox of another, how an uploaded file keeps its history when six modules touch it, how a compliance officer reconstructs who did what across the whole platform in one query. Three Wave-1 epics ship that infrastructure.
The three Wave-1 epics
Epic B — Unified notifications dispatcher
One subscriber model fans every cross-module event — RFI replies, snag assignments, approval requests, schedule shifts — out to in-app inbox and email. SMTP path validated end-to-end on port 465 SSL and 587 STARTTLS. Replaces eight ad-hoc senders.
Epic C — File versioning unification
oe_file_version is the canonical table for every uploaded
artefact: BIM models, BOQ imports, doc-template attachments, BCF 3.0 issue
containers, RFI replies, drawing markups. Each upload carries a monotonic
version plus an immutable parent reference — full audit history per file.
Epic H — Universal audit trail
oe_activity_log records every state-changing action across all
116 modules — who, what, when, before/after. Visible in
/settings?tab=audit and queryable per-record from every detail
page. Compliance-ready for GDPR Art. 30 and ISO 19650.
Why a major
None of these epics is a feature you click. They are the plumbing under every feature you already click. Once a notification dispatcher exists, the next time a module needs to alert another team, it doesn’t roll its own SMTP. Once every file has a version row, every history view, every roll-back, every “who replaced this drawing” question gets the same answer. Once the audit log is universal, you stop asking modules to add their own logging — you query one table.
Touching infrastructure that 116 modules rely on is the kind of change you bump the major number for. From v5.0 forward, every new module ships with notifications, versioning and audit wired in from day one.
Compatibility
The public /api/v1/* contract introduced in v4.0 is unchanged. The
three new subsystems are additive: existing integrations keep working, and the
new endpoints — /api/v1/notifications/*,
/api/v1/files/{id}/versions,
/api/v1/audit/activities — slot in next to them.
Upgrade
One line. Migrations are additive; the Alembic head is v3144.
pip install --upgrade openconstructionerp && \
alembic upgrade head && \
systemctl restart openconstructionerp
v5.0 turned out to be a foundation visible only in the second order — but the next few v5.x point releases sit on top of it. v5.1 follows in a day with the TypeScript strict pass over the new dispatcher surface; v5.2 brings Epic I, international BOQ formats.
Try v5.0.0 today.
Live demo in your browser, or self-host in five minutes. AGPL-3.0, no signup required.