8.2.1 is a hardening release. It follows a deep audit of the backend that ran in three rounds, and it closes a single pattern that turned up again and again: when you edited one part of a record, the hidden details field that travels with it was being written back whole, so any key you did not resend was quietly dropped. The headline is that this no longer happens. Around it go a set of fixes that protect the money and a round of access-control tightening, so the platform is steadier on every path that writes a number or returns a record.
What is fixed in version 8.2.1
- A partial edit keeps your other details. Across more than two dozen modules, saving a change to part of a record used to overwrite the whole stored details field, losing anything the form did not send back. Editing now merges your change into what is already there. It covers change orders, contracts, the cost model, procurement, bids, meetings, correspondence, risk, punch lists, carbon, closeout, schedules, tasks, resources, documents, transmittals, markups, workflows, the BIM hub, integrations, saved views, field service, property development, the common data environment, compliance documents, field reports, requirements, change management and RFQs.
- Invoice payments update the budget correctly. When part of the spend on a budget line was already booked from a goods receipt, paying the supplier invoice no longer drops that received amount from the actuals.
- Mixed-currency cost breakdowns add up right. A cost breakdown now converts every line into the project base currency before summing, so a project that mixes currencies shows a correct total, and reversing a ledger entry writes back every leg of the original posting rather than only the first two.
- Tighter access checks. Several read and edit endpoints now confirm your account can reach the project a record belongs to before returning or changing it, and high-value variation orders, awarded bids and permit activation each require their own permission instead of a generic edit right.
- Cleaner exports and a clearer reset email. A report built from a record title can no longer carry hidden control characters into the download file name, number-like codes that start with a zero keep that zero in the Excel export, and the password reset email now states the same fifteen minute validity as the link it carries.
Why a partial edit was losing data
Most records on the platform carry a flexible details field alongside their named columns, a place for the extra keys a module needs without a schema change for each one. Some of those keys are written by you through a form. Others are written quietly by the system, the history of when a service ticket was reopened, the moment a punch item was resolved, the warranty dates tracked against a closeout slot, the posting trail behind a budget line. They all live in the same field.
The bug was in how an edit saved that field. When you changed one part of a record and sent back only the keys you touched, the save replaced the whole field with just those keys, so everything else, including the keys the system had written for itself, was gone. 8.2.1 changes every edit path to merge instead: your keys are written over what is already stored, and the rest is left alone. It is the behaviour the platform already used in the modules that had been reviewed earlier, now applied everywhere the pattern existed.
Fixes that protect the money
An estimating platform earns trust one number at a time, so the audit gave the money paths the most attention. Paying a supplier invoice now folds in any spend already received against the same budget line, instead of replacing the actuals and dropping the receipt. A cost breakdown converts each line into the project base currency before it adds anything up, so a project that mixes currencies no longer shows a total that blends them. And reversing a ledger entry now writes back every leg of the original posting, so a multi-leg entry reverses cleanly rather than leaving the books a little off.
Tighter access and cleaner exports
The same pass tightened access. Several read and edit endpoints now check that your account can reach the project a record belongs to before they answer, closing gaps in validation, finance, the cost catalogue and the compliance document store. High-value variation orders, awarded bids and permit activation each moved behind their own permission, so a lower role can no longer push a change past the threshold the rest of the workflow already guards. Two smaller fixes round it out: a report built from a record title can no longer smuggle hidden control characters into the download file name, and a number-like code that starts with a zero keeps that zero in the Excel export instead of being read as a plain number.
By the numbers
29
modules where a partial edit now merges into the stored details instead of replacing them.
86
edit paths corrected so they keep the keys you did not resend.
3
rounds of deep audit behind this release, each finding adversarially verified before the fix.
1
quiet data-loss pattern closed across the whole platform.
0
new dependencies; every change is pure correctness, nothing added.
2 GB
of RAM is all a full self-hosted instance needs to run.
Install or upgrade
pip install --upgrade openconstructionerp
The desktop installers for Windows, macOS and Linux carry the same
one-installer setup, and the Linux build includes the CAD and BIM
converters for AutoCAD, Revit and IFC. You can grab the latest installers
from
openconstructionerp.com/download.
If you run an external PostgreSQL through DATABASE_URL,
nothing about that connection changes. Questions or trouble upgrading,
write to
info@datadrivenconstruction.io.
Try v8.2.1 today.
Live demo in your browser, or self-host in five minutes. AGPL-3.0, no signup required.