Home/ News/ v8.2.1 - partial edits keep your other details, and the numbers stay honest
Release Hardening June 15, 2026 ~4 min read

v8.2.1 - partial edits keep your other details, and the numbers stay honest.

A hardening release that closes a quiet data-loss pattern. Across more than two dozen modules, saving a change to one part of a record used to replace the whole stored details field, so anything the form did not resend was lost. Editing now merges into what is already there. Alongside it go a set of fixes that protect the money, paying an invoice updates the budget correctly, mixed-currency cost breakdowns add up right, and several views and edits now confirm you can reach the project before they answer.

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

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.