Repository navigation
Releases
v0.7.7 — Status reports, VRA template, CVR upgrades & fixes
Features
- VR Status Report — portfolio + per-track, Word/PPTX/PDF (#48)
- VRA Intake template in Templates (standalone VR, maturity tab) (#49)
- CVR: presenter notes on numeric slides + redesigned financial-detail (years-as-rows table + payback curve) (#50)
- Customer Success Manager role selectable in Team admin (#51)
- Owner reassignment control on VE/VR/CS pages (#53)
Fixes
v0.7.6 — cleaner branded Word template
Removes the large turtle cover banner from the top of page 1 in the Blue Turtle branded Word template (the business-case, VRP and CS document exports). The title block now sits at the top; the wordmark running header (page 2+) and the confidential footer are unchanged. Cosmetic/template only — no data or feature change.
v0.7.5 — Mainframe Modernisation & BMC AMI focus
New: Mainframe Modernisation. A new solution profile Mainframe Modernisation (IZOT · BMC AMI DevX) for assessing the value of the IBM Z estate — what it runs, how it's used, and what to retain / optimise / modernise / retire.
- 11 study types, led by a Mainframe value assessment, plus portfolio disposition (7 Rs), code modernisation (AMI DevX), DevOps, API-enablement, data mobility, skills risk and batch modernisation.
- BMC AMI portfolio focus — both mainframe profiles now carry a catalogue of the AMI families (Ops, DevX, Data, Security, Cloud, Assistant & Agentics) with each one's function and value, shown in the workbook Reference tab, plus a "BMC AMI portfolio value & adoption review" study type and a new "Product inventory" capture tab in the VE Discovery and VR Intake workbooks.
- 6 new KPIs: MIPS consumed, peak R4HA (MSU), cost per MIPS, workloads mapped to business value, low-value/orphaned workloads, and portfolio modernisation readiness.
Fixes. Unique code-number collision when creating a study/track/engagement (now numbers from the highest existing code, not the record count); the sidebar logo now links to the intro screen.
Deploy note: run
scripts/add-mainframe-modernisation.tswith the prod DATABASE_URL to add the new profile + KPIs (upsert; Vercel builds don't seed).
v0.7.4 — Next.js security patch
Security patch. Upgrades Next.js 16.4.0 → 16.4.2, clearing a known Next.js security advisory that was halting the production build (SecurityFatalError).
- Dependency-only — no application code changes.
eslint-config-nextbumped in lockstep to 16.4.2.- Verified:
tsc --noEmit,next build, andeslint .all clean; app serves locally (login 200, auth redirect correct). - Pre-existing build-time audit findings (the
braces/image-sizechain, no upstream patch) are unchanged.
v0.7.3 — in-app editing for the whole capture model
Closes the "import-only" gaps: everything the VE/VR capture workbooks hold can now be created and edited directly in the app, not only via a workbook import.
Value Realisation track
- Work packages — add / edit / delete, with name, description, start & due dates and status (previously only the status was editable).
- KPI targets & baselines — add from the KPI catalogue, edit baseline/target/unit/frequency/data-source/owner, delete; the actuals-recording form and history are kept.
- Adoption activities — add / edit / delete (activity, audience, due date, status); works for standalone tracks.
- Benefits — add / edit / delete (label, category, planned & realised values); the rolled-up realised value stays in step.
- Risks & issues — new editable section.
Value Engineering study
- Baseline measures — add / edit / delete current-state measures inline.
- Risks — new editable section.
Everything is permission-gated (study.edit / track.edit) and audited; read-only roles see no edit controls. No schema changes.
v0.7.2 — Control-M operational KPIs in the catalogue
Adds three VR-discipline operational KPIs to the KPI catalogue so Value Realisation tracks for Control-M installed-base clients can baseline and track them:
- failed_jobs — Failed / rerun jobs per month (count, lower is better)
- legacy_schedulers_live — Legacy schedulers still live (count, lower is better)
- jobs_as_code_adoption — Jobs-as-code adoption (%, higher is better)
Surfaced while building a Value Realisation Assessment from an existing VE study — the handover used these keys but they weren't in the catalogue, so imports failed the KpiTarget_kpiKey foreign-key constraint.
scripts/add-control-m-kpis.mjs upserts just these three without a full db:seed (which deletes demo-org studies); run it with a prod DATABASE_URL to add them to production, since Vercel builds don't reseed.
v0.7.1 — English (UK) language switch
Switches the app's language from English (US) to English (UK).
<html lang>set to en-GB.- British spelling across all visible copy — web UI, domain KPI/phase text, Word/PPT export labels, and the capture-workbook headers:
realized → realised,optimization → optimisation,modernization → modernisation,utilization → utilisation,dialog → dialogue. (The earlier en-ZA pass had fixed the noun "Realisation" but left the verb "realised".) - Code identifiers, Auth.js callbacks, and the HTTP-401 "Unauthorized" reason phrase are intentionally unchanged.
- Capture-workbook import stays backward-compatible: header rows are matched positionally, so previously-downloaded and sample workbooks still import; a fallback reads either spelling for the one exact-match summary label.
scripts/fix-org-name-realisation.mjs— renames any Organization whose name uses "Realization" → "Realisation" (the org name is what the sidebar logo renders). Run per-database.
Verified live on production (lang=en-GB + British copy on the sign-in page); org rename applied to prod.
v0.7.0 — Next 16 + Tailwind 4 + ESLint 9
Framework upgrade: Next 15 → 16, Tailwind 3 → 4, ESLint 8 → 9 (React already 19).
- Next 16: middleware renamed to
src/proxy.ts(default-exported auth function); build defaults to Turbopack. - Tailwind 4: CSS-first
@themepalette in globals.css;tailwind.config.tsremoved;@tailwindcss/postcss; autoprefixer dropped. - ESLint 9: flat
eslint.config.mjsspreading eslint-config-next directly (no FlatCompat);react-hooks/puritydisabled for server-component render. - Dependency audit 8 → 6 (Tailwind v4's oxide engine drops the tailwindcss+chokidar glob chain); the rest are irreducible.
tsc/next build/eslint .all green; verified live on prod.
v0.6.8 — en-ZA spelling + content-completeness meter
The two deferred review items (code-only, no schema).
- en-ZA "realisation" spelling: whole-word display replace across the UI (nav/labels/titles/buttons/headings/export doc titles/seeded copy). Internal identifiers (VALUE_REALIZATION_MANAGER enum, /vr route, RealizationTrack/handoverToRealization/etc.) intentionally left. A few DB-seeded catalogue strings were fixed in place via a targeted script (no destructive reseed).
- Content-completeness meter on the VE study page: shows which work objects are actually captured (N/8), independent of the 8-phase Job Plan status, so an imported study with real content no longer reads as empty.
v0.6.7 — dependency security pass
Dependency security pass (dependency-only; no schema/code changes).
npm audit18 → 8 (0 critical / 8 high / 0 moderate). Fixed the critical Next 15.5.23 → 15.5.27, plus overrides for deepmerge-ts, postcss-selector-parser and braces.- Remaining 8 highs are build/lint-time or non-reachable with no patch short of framework majors: the braces→micromatch→fast-glob→chokidar→tailwindcss→eslint-config-next chain (braces has no fixed version), and image-size (pptxgenjs/CVR export, which only embeds trusted PNG/JPEG).
- Long-term remediation is the deliberate Next 16 + Tailwind 4 upgrade (shipped in v0.7.0).