# UnifiedAudit DALI — release notes

## 0.4.3 (2026-09-24)

Seven fixes found while recording a demo of 0.4.2 on test data with known
answers, and while checking this release.

**Just under the approval limit, item by item.** The accounts-payable and
purchasing-card packs now list the payments that sit just under the limit, one
per row, the way they list round amounts. Before, they banded the amounts,
which showed the pile but not which payments were in it. A new pack setting
says how far below the limit counts as just under: 5% unless you change it.

**Near-matches that only share an everyday word.** Two unrelated vendors whose
names end in the same word, such as "Delta Traffic Control" and "Yardley Pest
Control", could score 85 and show as a possible duplicate. They no longer do.
Real near-duplicates, and the same name in a different word order, still match.

**The home page counts what was flagged.** Today at a glance counted all nine
of Benford's digit rows as flagged, even when no digit stood out, and would
have counted summaries such as Total by group. It now counts only flagged
rows, and for Benford's Law says how many digits stand out.

**Routine steps say what they do.** A Filter rows, Add a column or Match up
step in a routine was labelled "Test on …". It now reads, for example, "Filter
rows on payments", in routines saved by earlier versions too. The Log sheet of
the project workbook uses the same names.

**Yes and No in Total by group.** Grouping by a yes/no column summarised the
largest group as "false / false / false" while the table said No. The summary
now says Yes and No, and a blank value reads "(blank)".

**No stale update message after upgrading.** After installing a new version,
the home page could still show the old version's check, such as "You have the
latest DALI (0.4.1)". A check made before an upgrade now shows only if it names
a version newer than the one you have.

**Filter settings in words.** The header of a Filter rows result showed its
conditions as "[object Object]". It now says them the way the filter screen
does, for example "Amount is at least 4750, Amount is less than 5000".

## 0.4.2 (2026-09-24)

**Upgrading can no longer delete your saved setup.** Installing a new version
over an existing one first removes the old version. Until now that step opened
the old version's uninstall screen, which has a **Delete the application data**
box. Ticking it during an upgrade deleted your saved connections, AI settings,
recent projects and the scheduled-run log; your `.dali` projects were never at
risk. The installer now removes the old version without that screen and always
keeps that data, whichever earlier version you are upgrading from. If DALI is
open when you upgrade, the installer asks before closing it. The box still
appears when you deliberately uninstall from Windows Settings › Apps.

**A suggested seed is never used.** Every sample already started from a newly
drawn seed, but a seed suggested by the AI assistant could still be carried
into the sample form. The form now keeps the assistant's other suggested
settings and always draws its own seed, so no one can choose in advance which
items a sample picks.

## 0.4.1 (2026-09-23)

Fixes from a full live test of 0.4.0 against files with known answers.

**A project is one file again when DALI closes.** Closing the window left
recent work in a `.dali.wal` file beside the project, so a `.dali` copied,
emailed or backed up on its own could be missing everything since it was
opened. DALI now folds that work into the `.dali` when it closes, and when it
opens a project that 0.4.0 left that way. If you have handed anyone a `.dali`
made with 0.4.0, send it again after opening and closing it in 0.4.1.

**Database connections without a password.** A data source (DSN) that signs
you in with Windows, and the Text, Excel and Access drivers, no longer ask for
a password before Test connection, List tables or a pull. DALI asks only when
there is a login to go with it.

**The register keeps your decisions when a dataset gains a column.** Adding a
column (the Accounts payable pack adds one, and "Days old" changes every day)
used to make every registered item look new and leave its decision under "No
longer flagged". Items are now recognised without the columns added in DALI.

**Near-duplicate vendors spelled differently.** Comparing a list with itself
now pairs names that are the same once cleaned, such as "Acme Paving Co" and
"ACME Paving Company", at 100. Before, neither this test nor Find duplicates
caught them.

**Exact distinct counts.** The dataset profile, and the Datasets sheet of the
project workbook, now count distinct values exactly. The estimate used before
could be well off on small files, even showing more distinct values than rows.

**A fresh seed for every sample.** Pull a sample now starts from a newly drawn
seed instead of the same one every time, so nobody can predict which items a
sample will pick. The seed is still shown and logged, so a sample reproduces.

**Scheduled runs say why they failed.** When a scheduled run cannot start its
work, most often because the project was open in DALI at the time, the
Schedules page and the home page now say so in words instead of "result 1".
`routine-runs.log` has one line per attempt again.

**Also.** Adding a column no longer leaves the dataset page on "Profiling…",
and the DALI wordmark uses the family's amber.

## 0.4.0 (2026-09-08)

**AI assistant, off by default.** Under Settings, with your own Anthropic
key (kept in the Windows Credential Manager): Ask DALI on the Analytics page
turns a plain-English question into a test with its settings; Explain this
result writes a plain-English account of a result; Draft a finding turns
ticked register items into a first draft under Condition, Criteria, Cause,
Effect and Recommendation. Only column names, settings and summaries are sent
unless a second switch allows row values; every request is logged locally.

**Test packs.** A new page, Packs: five ready-made suites (accounts
payable, payroll, general ledger, vendor master, purchasing cards) written in
terms of roles. Pick a dataset, confirm which column plays which role, read
the plan, run. Steps whose role is missing are skipped and say so; flagged
rows go to the register; runs carry the pack's name in the log; one click
saves the run as a routine.

**Update check.** The home page shows the version, a "Check for updates"
link, and a switch for checking once a day when DALI starts (off until you
turn it on). The check reads one version file from unifiedaudit.com and sends
nothing about you or your data. When a newer version exists, a strip at the
top offers the download page.

**Under the hood.** An end-to-end test now walks the whole product on every
push: imports, every test, exports, the register, a routine run by the
executable the way Task Scheduler starts it, a sample worksheet, and the AI
assistant proven silent while off.

## 0.3.0 (2026-09-08)

**Testing worksheet.** A pulled sample now carries its own worksheet.
Name what is being tested, list the attributes, and record pass, fail or n/a
per item (with an audited amount for a monetary-unit sample) and a note; each
entry is stamped with your name and the time. The sheet evaluates itself as
you go: sample deviation rate and upper deviation limit for an attribute
sample, projected misstatement and the Stringer upper misstatement limit for
a monetary-unit sample, with a plain-English conclusion against the tolerable
rate or misstatement. Export it as a working paper (sample, evaluation,
sampling settings), and send failed items to the exceptions register as
confirmed exceptions.

**Exceptions register.** A new page, Exceptions, where rows a test flagged
become items to review. Add rows from any result page (ticked or all), or let
a routine add its findings overnight. Decide: cleared, exception, resolved,
reopen, each with a note, your name and the time, kept as the item's history.
Items are identified by content, so the same finding on fresh data keeps its
decision and the routine reports only what is new; items that disappear are
shown as no longer flagged. Export the register as an Excel working paper;
the project workbook and each routine run folder carry it too. The home page
shows new and open items per routine step.

**Databases: text in any script.** Rows pulled through ODBC are now read as
Unicode (the wide ODBC calls), so vendor names in accented, Cyrillic, Arabic
or East Asian scripts arrive intact. Earlier builds read through the Windows
system code page and turned anything outside it into "?".

## 0.2.0 (2026-09-08)

**Prepare** (new page): three steps that make a new dataset from an existing
one, each logged with its SQL and traceable row by row to the source.

- Filter rows: plain-English conditions on text, number, date and yes/no
  columns, combined with all-of or any-of.
- Add a column: fifteen recipes, from days-between and weekend flags to
  round-amount and just-under-threshold flags, cleaned text and digits-only.
- Match up two datasets: matched pairs, unmatched on either side, or the
  whole population, on one or more key columns.

**Menu**: Prepare and Analytics are now two pages with tabs across the top
(the last tab used is remembered), so the left menu stays short.

**Schedules** (new page): continuous auditing.

- Capture runs from the log as a routine. DALI works out which datasets the
  routine needs and where each came from (file, workbook sheet, database
  query, or an earlier Prepare step) and says so before you save.
- Run now: refresh every source, redo the preparation, rerun the tests, and
  write each result to Excel in a dated folder with a summary.
- Schedule: daily, weekly or monthly at a time of day, through the Windows
  Task Scheduler (tasks live under the "UnifiedAudit DALI" folder, run as you,
  only while you are logged on). DALI runs the routine without opening a
  window. The project file must not be open in DALI at that moment, and a
  scheduled database pull needs Windows authentication or a DSN, since no
  password is stored.
- Runs made by a routine show a chip with the routine's name in Results.

**Home: Today at a glance.** Once a project has routines, the home page opens
with what ran since you were last here (overnight runs included), what each
test flagged with a link to the result, what failed, what the Windows
scheduler reports, and what is due next. Run now and Open folder are one
click away.

**Times are local.** Every stamp DALI writes (the log, dataset import times,
routine runs, recent projects) is now your local wall-clock time; earlier
builds wrote UTC.

**Inline help.** A small "?" beside every setting that carries some judgement
(Benford digits, aging buckets, band boundaries, the sample seed, match keys,
ODBC data sources and more) and beside every column DALI itself adds to a
result explains it in plain English, with a link that opens the manual at the
right section. Every test, Prepare step, the Databases page and Schedules also
link straight to their manual sections.

**Menu and manual.** The left toolbar is half its former width. A user manual
is built in, listed last on the left and offered on the welcome screen. The
DALI wordmark now carries the UnifiedAudit "A", matching the rest of the
family.

## 0.1.0 — first release (2026-09-08)

Audit data analytics on one desktop, for auditors who are not data people.

**Bring data in**

- CSV, TSV and text files of any size. Every row is kept; a column with mixed
  formats becomes text rather than dropping rows, and the notes say so.
- Excel workbooks (.xlsx, .xlsm, .xlsb, .xls, .ods), one sheet at a time, with
  a chooser when a workbook has several sheets. Text columns stay text, so
  identifiers keep their leading zeros.
- Databases through Windows ODBC: PeopleSoft, Infor, Oracle, SQL Server, DB2,
  PostgreSQL, MySQL, a DSN, or a custom connection string. Pick a table or
  write a query, preview, then pull. The query is recorded with the dataset.
  Passwords are never saved.
- Every dataset gets a profile with control totals to tie back to the source.

**Eight tests, plain-English forms**

Find duplicates · Find gaps in a sequence · Benford's Law (MAD and chi-square)
· Age the items · Total by group · Band the amounts · Compare two lists for
near-matches · Pull a sample (random, systematic, monetary-unit; attribute and
monetary-unit size calculators).

Every result is logged with its settings and the exact SQL, so a reviewer can
reproduce it. A one-million-row file runs the whole suite in under a minute.

**Get results out**

- One result to Excel, with an "About this test" sheet.
- The whole project as one workbook: log, dataset profiles, every result, and
  the datasets up to a row cap, each as a named Excel Table.
- A Power BI Desktop launcher (.pbids) next to the workbook.
- CSV for anything too big for Excel.

**Install**

Windows 10/11, 64-bit. Signed by UnifiedAudit LLC. The installer embeds the
WebView2 bootstrapper. Projects are single `.dali` files under Documents\DALI
Projects unless you choose elsewhere. Nothing leaves your computer.
