Home/ News/ v5.2.6 — Quality-of-life wave
Release 2026-05-27 ~4 min read

v5.2.6 — Demo login JustWorks.
WCAG-AA · Reporting renderer · Dashboard rollup · JA.

A quality-of-life wave on top of v5.2.5’s install-crash fix. Five wins, all visible the moment you open the platform: the demo login takes the documented password, contrast clears WCAG-AA, /reports renders real HTML, the project dashboard stops fanning out, and Japanese covers 1197 more keys.

v5.2.6

v5.2.5 was the floor: a fresh install no longer crashed. v5.2.6 turns the lights on. The five fixes below are independent, but landed together because all of them are first-touch experience — the things a new user notices in the first five minutes of opening the platform.

The five wins

BUG-D02 — Demo login JustWorks

The manual login form accepts the documented DemoPass1234! for the three seeded demo emails. BUG-D01 had randomised the password per install for security; the documented one stopped working. v5.2.6 short-circuits whitelisted demo accounts through the password-free demo_login service when SEED_DEMO=true — default on community, off in production. No regression: production installs still go through the normal verify path.

#216 — WCAG-AA contrast tokens

Five semantic tokens — success, warning, error, info, blue-subtle — raised from sub-3:1 to 5.2–6.6:1 against their token backgrounds. Roughly 700 of 863 axe-flagged contrast violations cleared at the design-system layer, with no per-component patching. The Apple Liquid button palette is preserved; new --oe-*-vivid tokens keep the saturated hues available for dots and status pips.

#252 — Reporting renderer

POST /reports/generate previously stored a row and rendered nothing — the engine never existed. ReportRenderer (stdlib-only, no Jinja, no WeasyPrint) now dispatches section types, escapes HTML, formats list-of-dicts as tables. New GET /reports/{id}/content returns rendered HTML. 7 new pytest cases plus 38 existing reporting tests pass — 45 of 45.

#253 — Dashboard rollup

The project-detail page used to fan out 8 parallel widget requests on every paint. v5.2.6 routes 13 of those through one /dashboard/rollup/?widgets=… call, fed to all consumers via a React context. Rollup endpoint widened from 10 to 18 known widget keys, additive — every existing widget endpoint keeps working unchanged. Five widgets remain standalone (their backend endpoints don’t exist yet); they degrade gracefully to null today.

#245 — Japanese: 1197 new keys

High-traffic surfaces covered: navigation, sidebar admin grid, common buttons (Save / Cancel / Delete / …), validation messages, BOQ jargon (内訳明細書 · Position · Section · Resource · Assembly), project widgets, finance, procurement, match-elements. Acronyms (BOQ / IFC / BIM / GAEB / DIN) stay in Latin per house style. About 529 long-tail keys — multi-sentence tooltips and onboarding paragraphs — are queued for a focused next pass.

Same Alembic head, additive only

Alembic head v3144, unchanged from v5.2.5. Every change in v5.2.6 is additive: contrast tokens layer on top of the existing palette, rollup endpoints exist beside the per-widget ones, the report renderer fills a hole rather than replacing anything, and JA translations cover previously-untranslated keys.

Why these five together

Each fix on its own is small. Together they remove the friction that someone evaluating OpenConstructionERP hits in their first five minutes: log in with the password the documentation gave you, see a dashboard with one fast request instead of eight, read button text that passes contrast, run a report and actually get one, and — if your default language is Japanese — work on the surfaces that matter without falling back to English.

Upgrade

pip install --upgrade openconstructionerp && \
  alembic upgrade head && \
  systemctl restart openconstructionerp

Fresh install? Same line. SEED_DEMO=true is on by default on a blank install, so the documented demo credentials work the moment the server comes up. On a production deploy, set SEED_DEMO=false and the demo whitelist is disabled.

Try v5.2.6 today.

Live demo in your browser, or self-host in five minutes. AGPL-3.0, no signup required.