Skip to content

Release notes: July 21 to August 20, 2026

Back to the changelog

A larger release than usual, headlined by Nomain Code, a coding agent in the VS Code extension that proposes changes you review and approve hunk by hunk, now rolling out to selected users. Easytrieve joins the analyzed languages, document search now reaches full document content, analyses gained retries, accurate step states and real failure reasons, and Usage Insights starts measuring chat token consumption.

Highlights

  • Nomain Code: a coding agent in VS Code. The extension's chat can plan and make code changes, grounded in what Nomain knows about your Systems. Every edit and every command goes through your review before it touches a file. Rolling out to selected users, with expanded availability in the coming releases.
  • Easytrieve joins the language family. Easytrieve programs and macros are recognized, parsed and connected to the rest of your estate, including the JCL job steps that invoke them.
  • Answers from deep inside your documents. Document search now reaches full document content passage by passage, not just the summary.
  • Run analyses with more control. Retry a failed step, cancel a running analysis and see the real reason a step failed, with honest Queued and Running states.
  • Chat usage, measured. Usage Insights adds a chat token consumption dashboard, org-wide for admins and per user.

Nomain app and agent

Nomain Code: a coding agent in VS Code

Ask the extension for a change and it plans, reads the relevant code, and proposes edits, grounded in what Nomain knows about your Systems. Nothing is written without your approval. Nomain Code is rolling out to selected users first: when it is enabled for your deployment it appears in the extension's chat automatically. See Nomain Code.

  • You stay in control. Every proposed change goes through an edit review: accept or reject it file by file and hunk by hunk, with a warning when the edit touches a copybook used elsewhere. Running commands is off by default, and if you enable it, every command still needs your explicit approval before it runs.
  • Grounded in your Systems. The agent searches your analyzed knowledge (programs, copybooks, flows) and can consult the Nomain analysis agent when a question needs the full picture.
  • Private by design. AI traffic flows through your Nomain deployment: model calls are made server-side, never directly from your editor to an AI provider, and agent activity is audit-logged without recording your question text.

Answers from deep inside your documents

Until now, the agent searched the summaries of your uploaded documents: a detail buried deep in a spec could be missed. Documents are now indexed passage by passage, so search reaches the full content, and when a passage matches, the passage itself is returned rather than a short preview, so answers can quote the actual source text. Documents you already uploaded gain passage-level search the next time their System is analyzed.

Faster answers on the largest systems

Whole-system semantic search is now much faster on large Systems. In our benchmarks, a whole-system search that used to take over 20 seconds completes in a few, and a mid-sized System answered seven times faster. Search backs both the search box and the agent's own retrieval, so on big estates chat answers arrive noticeably sooner. Nothing to enable: the improvement applies to every System immediately, with search results unchanged.

Chat usage, measured

Usage Insights now shows chat token consumption, the main driver of AI cost: org-wide for admins, and per user. Total, input and output tokens, the average per response, and a tokens-over-time chart, across every time range, plus a chat tokens column in the CSV export. Token figures accumulate from this release onward; the dashboard shows exactly how many responses were measured instead of silently understating usage.

Analysis and system management

Easytrieve support

Nomain now understands Easytrieve. Programs and macros are recognized, parsed and connected to the rest of your estate. Existing Systems pick up Easytrieve on their next analysis; expect that first run to take longer than usual, as files with COBOL extensions are re-examined once.

  • Recognized by content. Easytrieve programs that arrive with a COBOL extension, a common artifact of dataset extraction, are recognized by their content and analyzed as Easytrieve; files named .ezt are always analyzed as Easytrieve.
  • A full model of the program. Files, fields, procedures and control flow are captured, and %macro invocations are recognized with their arguments recorded, even when the macro library itself was not delivered with the source.
  • Connected to JCL and data. Job steps that run Easytrieve through EXEC PGM=EZTPA00 resolve to the actual program when the step reads its source from a program library, and embedded SQL in Easytrieve lands on the same table entities as COBOL, so data lineage works across languages from day one.

Mainframe parsing, closer to the real thing

A batch of parser fixes driven by real customer code, each one closing a gap between what mainframe sources actually look like and what the parsers accepted. All of them apply automatically the next time a System is analyzed.

  • CA-Librarian members no longer truncate. A -INC card used to cut a COBOL file short at that line, silently dropping everything after it. -INC is now treated as the include it is: the file parses whole and the included member is expanded like a COPY.
  • BMS mapsets parse as real assembler. Column-72 continuations, keyword-named fields, single ampersands and the operand forms real mapsets use are all handled.
  • JCL models every step. Repeated steps in a job are all captured instead of only the first, and install-template placeholders like <NAME> no longer fail the parse.
  • Embedded SQL accepts ^ and ¬. The ^ and ¬ comparison-operator spellings used in mainframe SQL now parse.
  • Large members parse in seconds. Very large JCL job streams and COBOL members that used to take many minutes now parse in seconds; in our testing, one real 180-step job stream went from about 25 minutes to under a second.

Run analyses with more control

The analysis run view now shows what is actually happening and gives you the controls to act on it.

  • Retry a failed step. A failed or degraded step can be retried on its own, incrementally or in full, instead of rerunning the whole analysis.
  • Cancel means cancel. Cancelling a run now stops its running step too, and the whole run can be cancelled straight from the job detail panel.
  • Queued when queued. A step waiting for a worker shows as Queued instead of Running, so you can tell load from progress.
  • The real failure reason. When a step fails, the message shown is the actual cause, including when the AI service was throttling.
  • Live job history. The job history refreshes automatically while an analysis is running, and a System's status reflects its actual runs, updating on its own when an analysis starts elsewhere.

Find your Systems faster

The Systems view now tells you more at a glance and lets you narrow the list: every System shows its last-analyzed date on the card, the list can be sorted by newest, name, lines of code, status or last analyzed, and filtered by the statuses present in it. The repository editor now flags missing required fields before you can save, and a deleted repository leaves the list immediately.

Analyses that finish

Long-running analyses hit real-world trouble: service restarts, delivery hiccups, slow steps. A series of fixes keeps them moving instead of stranding them. Steps in flight during a service restart are handed back and resumed by another worker; a step whose messages could not be delivered fails within seconds with a clear reason instead of showing as running forever; and when the AI service throttled mid-answer, a code element could be recorded as analyzed with no content. Throttled calls are now detected and retried, and nothing is marked done without a real result.