Skip to content

Release notes

zGentic

zGentic release notes
What each release changed for the people who use it.

What changed for you, newest first. Only changes you can notice are listed here; work on the inner workings is left out.

0.38.1

Changed

  • Sources live in one tray. A settled answer used to show two source controls a finger's width apart — the per-answer disclosure and a separate conversation strip — which read as one duplicated control, especially on a phone. There is now a single source tray below the conversation: each answer's citations chip into it, and a scope switch shows either that answer's sources or the whole conversation's.
  • The model can offer to search the web when the sources run out. When a grounded answer has to admit that the available documents do not contain part of what was asked — and a web-search tool is enabled — the model can propose a focused web search to fill the gap. The proposal is a human-approval decision exactly like any other sensitive action: nothing is searched, and nothing is spent, until you approve it, and the grounded sources remain the first answer.

Fixed

  • The console section tabs no longer open cut off on a phone. The strip scrolls the section you are in into view and fades its edges, so a truncated tab reads as "more" rather than "broken".
  • Protected pages painted empty on the first load (projects, notifications) — the server now renders the page's own loading state instead of chrome around a blank body.

0.38.0

New

  • You can reset a forgotten password yourself. The sign-in card offers "Forgot?", emails you a link that works for an hour, and the new-password form shows the password rules as you type — the same rules the server enforces, instead of meeting them as a rejected submit. Signing up shows the rules live too, and a verification link that has expired or been used offers a new one on the spot.
  • Approvals can be decided from the terminal app. Wherever you are running a chat, an approval request now shows what the agent wants to do; pressing shift-P approves and shift-R rejects the oldest pending one, and the card tells you the run has resumed. The terminal app also keeps a recallable input history (up/down arrows), caps long transcripts with a note, and names a signed-out session instead of quietly degrading.
  • History can be walked from the keyboard. On the history screen, j/k (or the arrow keys) move a highlighted row, Enter opens it, and e archives it — every shortcut also has a click path.
  • Network allow-list rules can deny as well as allow, and each rule can carry a note so the list still makes sense a year later. A deny rule carves an exception out of what an allow rule permits — the metadata-endpoint block from the security guides is now expressible directly.
  • Sharing a project can move ownership. Removing the person who created a project now asks which co-owner takes over; the project, its quota and its files move to them in one step. The old behaviour left the creator holding a project they could no longer open.
  • The model-tiers screen is a table. Tiers are comparable down the columns, the built-in baseline says it is read-only with a "Demote to curate" action, and saving tells you when it replaces a grant list rather than editing it.
  • Keyboard shortcuts across the app, with a sheet that lists them. Press ? to see what is available where you are. The shortcuts are shown with the right keys for your platform — on a Mac, Ctrl elsewhere — rather than a generic label, and every one of them is also reachable without a keyboard, so nothing is shortcut-only.
  • Escape now closes exactly one thing. Cancelling a rename used to close the surrounding panel as well, so a single keypress undid two steps. Escape now cancels the innermost thing you opened and stops there.
  • Organisation units can be managed from the console. You can nest a unit inside another when you create it, see who is in a unit, remove a member, and delete a unit. Nesting, membership and deletion existed in the platform but had no screen; only creating a unit and editing its limits did.
  • A confirmation before replacing a network allow-list. Saving the outbound network rules replaces the whole list, and the screen now shows exactly which entries are being added and removed before anything is written. Saving an empty list — which blocks all outbound access — asks you to type a phrase to confirm.
  • Every settings row now says whether your change was saved. Four of them wrote your change to the server and said nothing at all, including the tool-safety setting and the location opt-in. Text fields also commit with Enter, not only by clicking the button.
  • Deleting an org unit tells you what happens to what is inside it. Members return to the organisation, and nested units move up to sit under the deleted unit's own parent. Nothing is deleted along with it.
  • You can switch organisation from a narrow window, or with the sidebar collapsed. The switcher only appeared when the sidebar was fully expanded, so on a laptop-width window — or after collapsing the sidebar — there was no way to change organisation at all.
  • A group row says how many grants it holds and how many groups sit under it, and member and grant lists can be searched and paged. A group with a couple of hundred members is ordinary, and the screen listed all of them at once.
  • Groups say where they came from. A group created here now says so, alongside the existing note on groups provisioned by your identity provider.

Changed

  • Pages render correctly the moment they open for a signed-in user. The server previously rendered the signed-out shell and then replaced it in the browser, which discarded the server render on every page and could flash the wrong chrome. The server now renders the right shell from the first byte; the access token never becomes a browser cookie credential, so cross-site forms still cannot call the API with it.
  • Project screens put each error where it belongs. A failed rename, delete or download used to report at the top of the page, away from the panel you were using; each action now reports inside its own panel or dialog, and the delete dialog stays open until it succeeds.
  • Groups take an email address. Adding a member asks for the person's email with suggestions as you type, instead of an internal identifier you could not look up. An address that does not exist answers the same as anything else that does not exist.
  • Location sharing says how long it lasts. The setting applies for the current browser session only, and now says so instead of implying it was remembered.
  • Reading lines in a conversation are back to the wider measure drawn in the design. A narrower measure had been applied on the strength of a text-width measurement that turned out to be a rounding artefact of how browsers round character widths.

Fixed

  • Live updates work on every deployment shape. On the single-origin setup, where the browser reaches the API through the app's own address, updates (cross-window sync, notifications, the debug console) arrived never — the response was compressed and never flushed. Streams are no longer buffered, and both deployment shapes are covered by the release gate.
  • Shared-chat links show only what a link holder should see. Citations pointing at documents outside the shared chat, attached-document chips the sharer never meant to publish, and the model's private reasoning trace no longer travel with a public link. The sharer's own view is unchanged.
  • Removing a user asks you to type their email, and the message names what removal actually takes with them. Rejecting a membership application asks first and records a reason; revoking a claimed email domain asks first. The browser's generic "Confirm?" popup is gone from these screens.
  • A screen that failed to load no longer presents a dead "link by token" field, and switching organisation from the rail now asks before ending the session, with the same wording as the settings screen.
  • Inputs, headings and labels render at the sizes they were designed at. A cascade quirk had a handful of dialog and settings fields painting larger than authored, some headings smaller, and one search field square instead of a pill — none of it chosen, all of it now as drawn.
  • Two admin screens could destroy settings after a failed read. If the model settings or the organisation settings failed to load, saving the screen wrote the empty form back — which renamed the organisation to nothing and deleted its identity prompt. A screen that could not read its data now refuses to save it.
  • Colours in the mobile app were too faint to read. Secondary text sat as low as 2.3:1 against its background, well under the 4.5:1 needed for normal text; buttons, error text and input borders were affected too. All of them now meet the standard, and a check keeps them there.
  • A scheduled task could not be edited after its project was deleted. Every save was refused with an error about a project that no longer existed, and the project field showed "No project" while still submitting the deleted one. The project reference is now cleared when a project is deleted, and the field never shows a value it is not saving.
  • Approving a plan that changed underneath you now says so. The approval no longer applies and the run does not start — but the conversation showed a finished, empty reply, so there was nothing to tell you it had not run. It now explains what happened and offers the plan for approval again.
  • "No results" no longer appears while a screen is still loading. Several screens showed an empty state — no delivery channels, no projects, no linked accounts, no pending registrations — before the answer had arrived, so a slow load looked like an empty account.
  • A failed load no longer reads as an empty account. The scheduled-tasks screen showed "no projects" when the project list failed to load, rather than saying the list was unavailable.
  • Revoking a sign-in method now asks first, and says the person can link it again next time they sign in, and that they cannot be locked out.
  • Screen readers announce controls by their labels. Both admin consoles announced an internal identifier — "admin-section-users" — where the visible text said "Users".
  • Moving someone between organisation units says when it takes effect. The screen said the change applied at their next sign-in; the limits and network rules apply immediately, and only their group memberships wait for a new sign-in.
  • The theme control can be operated with arrow keys, like the other controls of its kind.
  • A file that is still being processed, or that failed, now appears in the project's file list. Only fully indexed files were listed, so a file that failed to process vanished with no explanation, and its progress disappeared entirely if you reloaded the page. Progress and failures now survive a reload, and a failed file can be dismissed.
  • A failed connector search no longer reports that nothing matched. If the search itself failed, the screen said there were no results, which reads as an answer rather than an error.
  • Connector health no longer states a stale check as if it were current. A connector whose last check timed out hours ago said "Timed out"; it now says the last check failed, and what went wrong.
  • The list of accounts you have connected no longer loads forever when it cannot be read — it says so instead of spinning under an error message.
  • Linking an account says when the deployment has no sign-in configured, instead of offering a field only a developer could fill.
  • Usage figures line up in their columns, so a column of numbers can be compared down the page.
  • Signing in to an organisation that has not been approved yet says so. Entering the correct password on a new organisation that is still awaiting approval now explains that it is waiting, and that you will be able to sign in once it is approved — rather than looking like a rejected password.

Security

  • Requests for an organisation unit that is not yours now answer identically to requests for one that does not exist, on every route, so a refusal cannot be used to learn which units exist. One of those routes also echoed the identifier that had been asked for; it no longer does.
  • Reading which scheduled tasks target a project now requires access to that project. The list names each task and its instructions, which is information about the project itself.
  • A human approval that the platform requires can no longer be turned off by a configuration. Actions that always need sign-off — publishing to an external system, and changing state in your own browser — are enforced in the platform, not requested by the model, and no tenant setting can lower that. Separately, the model can now ask for human approval on actions where it is optional, which it previously had no way to do.
  • A member can no longer read the membership of an organisation unit they do not administer.
  • In-app notifications can no longer be switched off. They were presented as always on, but only the screen enforced it — the setting could still be saved, which emptied the notification bell and could silence an approval request that had nowhere else to go.
  • A group's grant count is withheld from anyone who may not read its grants, rather than shown as zero.

0.37.3

New

  • A new look across the app. Chat, projects and agents have been rebuilt on a single visual language: one typeface throughout, flat surfaces with clear edges instead of the translucent panels, and a calmer palette. The frosted-glass styling is gone. Screens that have not been rebuilt yet keep working and will follow.
  • One sidebar, holding both the navigation and your conversations. Moving between sections and picking up a recent chat used to be two separate places; they are now one rail, with the conversation list under the sections. On a narrow window it slides away and the conversation keeps the full width.
  • Reading lines are shorter in a conversation. Replies are held to a comfortable measure rather than stretching across a wide window, so long answers are easier to read from line to line. Very wide content — tables, code, diagrams — still uses the full width. Replies now sit on their own quiet panel rather than running loose against the page background, so where one answer ends and the next begins is easier to see.
  • History can be searched, and filtered by date and by scope. You can look for a conversation by what was said in it, narrow to a period, and separate your own chats from ones shared with you. The list is ordered by most recent activity rather than by when the conversation was created, and a conversation that is currently shared says so.
  • The model picker says more about each model. Choosing a model now shows who makes it and how much it can read at once, instead of a bare name in a plain dropdown, and it can be driven entirely from the keyboard.
  • Enter sends, Shift+Enter starts a new line in the message box, matching what most people expect.
  • Agent instructions can be far longer. The limit was about eight thousand characters, which a detailed instruction reached easily; it is now roughly 128,000 tokens. If an instruction is still too long, the message now tells you how long it is and what the limit is, so you know how much to cut.
  • Creating and editing an agent is recorded in the audit trail, alongside the other changes an administrator can review, and an approval decision now shows what was decided and by whom rather than a bare event name.
  • Billing and the connector directory have their own permissions. Reading spend and changing payment details are now separate grants, laid over the existing roles, so someone can be given the billing screens without being made an administrator.

Changed

  • Deleting an agent or a scheduled task now asks first, and names what you are deleting. Deleting an agent also says what stops working: conversations, tasks and triggers that name it can no longer run it. These were single-click actions with no confirmation.
  • The last owner of an organisation can no longer be removed, demoted or deactivated. Doing so left nobody able to grant roles — including the role needed to appoint a new owner — so an organisation could lock itself out with no way back. Promote another owner first, and the original can then be changed freely. Re-activating an owner who is already inactive is still allowed, so an organisation in that state can be recovered.
  • Signing up now applies the same password rule as changing one. A very short password was accepted at sign-up while being refused later on the change-password screen.
  • A conversation that stopped early now says so. When an answer stops because it reached a limit — too many steps, too many tool calls, a reply too long — the conversation says which, on every client. Previously only the web app said anything, so on phone and in the terminal a cut-off answer looked like a short one.
  • The terminal client can stop a running answer. Press Escape to stop it and stay, or Ctrl-C to stop it and leave. Ctrl-C previously closed the terminal window while the answer kept running — and being charged for — on the server.
  • When a screen refuses you, it now names the permission the screen actually checks. Several messages named a different permission from the one being enforced — in two cases one the reader already held — and told people to ask an owner for a grant that was not being looked at. Text and colour contrast were also corrected in the places that fell below the readable minimum.

Fixed

  • One conversation's answer can no longer appear inside another. If you switched chats while an answer was still arriving, the conversation you left could be drawn into the one you opened — its questions and its answer — and anything you then sent joined the wrong thread. Related: starting a new chat could silently do nothing, or could hand you a different conversation than the one it had just created.
  • The desktop app can reach the service again. It dropped the address's path, so every request went to the wrong place; a fresh install pointed at an address that does not exist; and changing servers kept the previous server's sign-in, sending it to the new one. Changing the server now signs you out and says so.
  • A queued message is no longer lost to a momentary glitch. A message waiting its turn could be marked permanently failed by a passing database hiccup, with nothing to retry it. It now waits and runs.
  • Revoking a claimed email domain now tells you what it means for people already waiting. Their requests can no longer be approved — they must be rejected, or the domain claimed and verified again — and the message says so instead of leaving you to discover it by clicking Approve. Member approvals also name who approved or rejected a request, rather than showing an internal identifier.
  • Saving an agent's configuration works again, and a refusal is now visible. A save could fail silently behind the open dialog, so a changed instruction, model or tool selection looked accepted and was not. Four separate causes of the refusal itself were fixed as well.
  • Deleting a project no longer claims its share links survive. The dialog said the opposite of what happens: the links are revoked with the project.
  • Every notification email's button now leads somewhere. The call-to-action in each message pointed at a dead address, so the one action the mail existed to offer could not be taken.
  • Slack notifications can be delivered. The Slack channel could never actually be set up, so anyone who chose it received nothing.
  • The notification settings page no longer reports that you have no channels when it simply failed to load them. Several screens made the same mistake — a failed or still-loading read looked like an empty list — and now say which of the two it is.
  • Output printed by a task is shown on a successful run, not only a failed one. It was dropped on the way to the screen, so a task that printed its result appeared to have produced nothing.
  • Citations are numbered consistently between the text of an answer and the list of sources beneath it.
  • A conversation started by a scheduled task or an agent stays open once you open it. It was being closed again straight away.
  • One unreadable model catalogue no longer empties the model list. A single failed lookup reported every model in every tier as withdrawn, leaving nothing selectable.
  • Editing settings as JSON no longer damages the document it submits, and the vision model chosen for a backend is kept rather than dropped on the way to the screen.
  • Running out of credit says so. The server's own verdict was discarded before the screen could show it.
  • Group and sharing screens tell you which situation you are in — still loading, not permitted, failed, or genuinely empty — instead of showing the same blank panel for all four.
  • Layout fixes in the conversation header and the composer, where a long label pushed the row out of shape instead of wrapping.
  • Deleting a person now removes their uploaded files too. Files attached to their conversations — documents, images and files handed to tasks — could be left behind in storage after the account was gone. This matters for erasure requests: deletion now removes them, on every path that deletes a person.
  • Repeated verification mail to one domain is now rate-limited properly, per organisation. The limit was keyed to a placeholder rather than the real address, so it protected nobody and, worse, one organisation's verification attempts could block every other organisation's first attempt.

Security

  • An organisational unit's browser-use domain list is now enforced. A unit could narrow which websites the browser tool may visit, the narrowed list was saved and displayed — and it was not applied. Requests were checked against the wider organisation-level list instead. A unit can now only narrow what the organisation permits, never widen it.
  • The access-check tool is now restricted to owners. It reports which people and groups can reach a document, which is the same information the owner-only groups screen holds — so administrators could read it here despite not being able to open that screen.
  • Signing up no longer reveals whether an address already has an account. The sign-up form answered differently for a known and an unknown address, so the endpoint could be used to test whether a person has an account here — while every neighbouring screen was careful not to. It now answers identically either way, and if the address does already have an account, that account is emailed about the attempt so a person who forgot they had one is not left stuck.
  • An agent can no longer call itself, or a partner agent, without limit. A chain of agent-to-agent calls was supposed to stop after three hops and the count was never incremented, so a loop could run until it exhausted the machine.
  • A refusal no longer reveals whether something exists. The message shown when an organisational unit's network settings could not be reached differed depending on whether the unit was there, which is enough to enumerate units you cannot see. The unit's own network restrictions were also displayed as if already in force while they were still loading — a claim that was one save away from becoming true.
  • The connector authorisation screens are reachable by the people meant to use them. The permission they demanded was held by nobody, so the feature was inert.

0.37.2

Fixed

  • Connector tools with longer names could not be used. A tool whose name ran past 32 characters was offered in a conversation, then refused with the message that it had been switched off by its execution policy — while its permission was in fact set to run automatically. The explanation sent administrators to a settings page that was already correct, and the tool never ran. Such tools now run, and that misleading message is gone. Connectors whose tool names are all short were unaffected.

Security

  • A connector nobody has marked as trusted no longer ends up running tools without asking. When a connector installed before per-tool permissions existed was first inspected, its tools could be set to run automatically even though the connector was untrusted — a state the permissions screen itself refuses to create. Those tools now ask for your approval before they run. Connectors you have explicitly marked as trusted keep running automatically as before.

0.37.1

New

  • A connector can be given its own response time limit from its settings, so one slow service no longer holds a conversation up for as long as the platform's general limit allows.
  • Task plans can be discarded or cancelled from the conversation they were created in, instead of having to be left to run.
  • The desktop client installs with npx, and the terminal client can now drive a desktop or browser session that is already signed in — so a machine with no browser of its own can still use one.
  • Reviewer and administrator can be granted like any other access level, rather than only being set when an account is created. Managing organisations still requires the administrator grant.

Changed

  • Limits and budgets moved from the Tenant screen into Config, alongside the other settings of the same kind, so there is one place to look.
  • Signing in from the terminal or desktop client now works the way gcloud does — the client opens your browser and is signed in when you finish, or, with no browser available, gives you a code to paste. The older device-code flow is gone.
  • There is now one way to share an agent. Sharing with the whole organisation, with a group, or with one person used to be three overlapping controls; they are a single choice with the same four levels of access.
  • The assistant stops retrying a tool that keeps failing the same way in a conversation, instead of repeating an identical failed call.
  • Config saves only what you changed, so saving one setting can no longer overwrite another that someone else edited meanwhile.

Fixed

  • Machine-to-machine conversations can be opened. The row listing them switched the list instead of doing nothing, so they could be read.
  • Output printed by code the assistant runs is now shown when the code succeeds — previously it only appeared if the run had failed.
  • On a narrow phone screen the identifier field is no longer squeezed out of usable width.
  • Being told you cannot change who can reach an agent now says exactly that, rather than claiming the agent does not exist.

0.37.0

New

  • A terminal client. zGentic now has a command-line client that runs on your own machine and connects to your organisation the way gcloud does: zgentic login opens your browser, you sign in, and the client is signed in — with no code to copy. On a machine with no browser (over SSH, in a container) zgentic login --no-launch-browser prints a URL you can open anywhere and gives you a code to paste back. It can read and change files in the directory you start it in, and every change it makes is undoable.
  • Groups. A new Groups section lets an administrator create groups, manage who is in them, nest one group inside another, and see what each group currently gives access to before changing or deleting it. Groups work everywhere access is granted — agents, connectors and model tiers all accept the same choice of whole organisation, an org unit, a group or one person.
  • Agents can be shared with a group or an individual, with four levels of access: full control, edit, run-only, and view-only. Run-only is the one most teams want — a colleague can use an agent without being able to change it.
  • Per-tool control over what a connector may do. Each tool a connector offers can now run automatically, require your approval before every use, or be switched off entirely, with patterns for setting many tools at once. A newly installed connector starts with every tool off until someone enables it.
  • Tables in PDFs are now read as tables. A PDF's tabular data comes through as a real table rather than as scrambled prose, so answers based on it can be correct.
  • Usage by week, month and year. Consumption figures can now be viewed rolled up over longer periods, not only per day.
  • Sending feedback can now include the conversation you were in and a picture of your screen — with a clear notice of what is attached, and only when you choose to attach it.

Changed

  • Every list now tells you why you can see a row. Agents, tasks and shared projects show whether an item is yours, shared with you, visible through your org unit, or visible because you are an administrator. An administrator's list is now labelled as one, rather than looking like an ordinary member's.
  • The sources under an answer are collapsed behind a count, and expand when you want them — citations no longer push the answer off the screen.
  • Switching a connector off now stops it immediately, including partway through a running multi-step task. Previously a deactivation could be missed by work already in progress.
  • An approval request now says whether approving will actually carry the action out, so you know what your approval does before you give it.
  • A connector can be given its own response time limit, so one slow service no longer holds up a conversation for as long as the platform's general limit allows.
  • How many images a turn may include, and the largest file you may upload, are now settings for your organisation rather than fixed platform values, and org units can differ.

Fixed

  • Dropping or picking several files at once now uploads all of them. Only the first file was being kept — in chat and in projects.
  • A table split across a page or chunk boundary keeps its header, so the second half is no longer a set of unlabelled numbers.
  • When a model provider declines a request, you are told it declined. It previously looked like an empty answer, which read as the platform failing.
  • An answer that is all reasoning is no longer reported as empty.
  • Removing a co-owner from a project now actually removes them. The action reported success while leaving their access in place.
  • Saving a model tier no longer discards the exceptions set on it, and a tier's notes are now shown on mobile as well as on the web.
  • When a document fails to process, the message now says what went wrong, instead of only naming the kind of error.

Security

  • An explicit "no access" now always wins. Where someone was specifically denied access to an item that was otherwise visible to the whole organisation, the denial is now applied first and cannot be overridden by the item's general visibility. This also covers scheduled-task and task lists, where an explicit denial is now honoured.
  • A newly installed connector's tools are all off until enabled, so a connector cannot act on your organisation's behalf merely by being installed.

0.36.5

Changed

  • The Debug tab is no longer available to every organisation by default. It now appears only for one the people who run zGentic have specifically enabled it for — ask them if you would like it.

0.36.4

Fixed

  • A sandbox result now respects how you asked for it. Requesting a table "in the chat" now renders it inline as text, instead of always producing a downloadable file regardless of what you asked for.

0.36.3

New

  • Agents can now be listed, updated, enabled and disabled directly from chat — not just created there. Managing an agent no longer means switching to the admin screen.
  • Sandbox results can now render as formatted text and tables, not only as a downloadable file — a step that produces a short answer no longer forces a file open to read it.
  • A sandbox step's code is now recorded alongside its result, so you can see exactly what ran to produce an answer, not just the output.
  • Signing up now requires confirming your email address before your account's domain can be used to join or auto-join an organisation.

Changed

  • A shared chat's messages now show who actually wrote each one. Previously every message in a shared conversation showed the current viewer's name, even ones someone else wrote.
  • Owners can claim their organisation's email domain, with new members from that domain joining automatically or through an approval queue the owner controls.
  • Certain safety limits — like how many tool calls a turn may make — are now visible and adjustable in your organisation's settings, within limits the platform still enforces.
  • Renaming a connector no longer breaks the tools it offers — its tool names now stay stable across a rename.

0.36.2

Fixed

  • Reloading a chat while a plan was running could show different content than what you saw live. The two views are now guaranteed to agree.

Changed

  • Presentation mode now treats each full turn as one slide, with your prompt as its heading, scrolled through manually — instead of splitting a turn into one slide per message or step.

0.36.1

New

  • A connector configured for sign-in-based authentication now refuses a manually entered credential instead of silently accepting and never using it.

Changed

  • Location-aware answers now default to your coarse location (city/region) rather than precise coordinates, with a settings page to see or change it.
  • A research-heavy plan gets a larger web-search budget by default, so a multi-step investigation is less likely to run out partway through.

Fixed

  • A task list could surface information from other chats beyond what you should see. Read access is now correctly scoped to the list you actually opened.
  • An approval could previously be granted by the same person who requested it. The human-approval gate no longer allows someone to approve their own request.
  • A plan amendment could previously run under an approval that was already superseded by an earlier change. An amended plan now always requires a fresh approval.
  • A plan's narration no longer stutters across step boundaries, and a run that fails always leaves a clear reason instead of ending silently.
  • A plan that hits the same tool failure repeatedly now stops and explains why, instead of retrying the same failing call over and over.
  • Cancelling part of a plan that other steps depend on now asks you to confirm what else gets cancelled with it, instead of doing it silently.
  • The file-drop area in chat can no longer get stuck open after you drag a file away without dropping it.
  • A shared chat's one-time share-link banner no longer reappears if you close and reopen the share dialog.

0.36.0

New

  • Plans now form in a single pass instead of two, so a multi-step request starts working sooner.
  • A running plan step's output is delivered when you open that step, instead of being pasted inline as it streams — keeping the chat readable while a plan works.
  • A chat can now be viewed fullscreen, for a distraction-free reading and writing surface.
  • Mobile navigation is the same everywhere now — one tab bar, reachable from every screen, with anything past five sections tucked under a clear "More."
  • A burst of similar notifications now arrives as one summary — several connector warnings in a row, for instance — instead of flooding your inbox.
  • Chats created by automation no longer clutter your chat list. A scheduled trigger or an integration's chat stays out of the way; only chats you started show up by default.
  • A shared chat renders exactly like your own — the same view, the same layout, nothing missing.
  • Model tiers. An owner can curate which models are available to the organisation as named tiers, and grant them to specific people or groups — instead of every configured model being available to everyone.
  • Third-party tools can connect through a standard OAuth sign-in to your organisation's MCP server, the same way you'd authorise any other app.
  • A connector's credential can carry an expiry date, with a reminder before it lapses, instead of silently failing once a token expires.
  • Installing a second instance of the same connector no longer collides on tool names — each instance gets its own namespace automatically.

Changed

  • Deleting a team member no longer breaks their scheduled triggers. Ownership reassigns to another owner instead of the schedule silently failing.

Fixed

  • A plan with parallel steps now always picks the same step's reply as the final message, instead of occasionally varying between runs.
  • A plan that lost its active run without finishing now correctly shows as failed, instead of appearing to hang indefinitely.
  • Plan step titles are generated together in one pass now, so they land faster and read more consistently.

0.35.12

New

  • A multi-step plan now carries forward what earlier steps found. A later step no longer asks you for information the plan already researched.
  • Attached documents are read in full when they fit. Instead of a handful of retrieved snippets, a document you attach is embedded whole when it fits the model's context; retrieval only kicks in as a fallback for corpora too large to embed that way.
  • Grounded answers draw on complete passages, not ~100-character fragments — a table's header row now travels with its rows, and a match on meaning (not just exact wording) is no longer dropped.
  • A multi-step plan tells you up front it may take a few minutes, and Stop now explains exactly what a cancellation discards before you confirm.

Fixed

  • The mobile tab bar is fully tappable again on notched devices — the bottom of each tab is no longer hidden under the home-indicator band.
  • A plan paused awaiting your approval no longer fails on resume when review takes a while — time spent waiting for a decision no longer counts against the plan's working-time budget.

0.35.11

New

  • Approvals now live alongside your tasks, not in a separate "Reviews" section — the same list, the same page, on both web and mobile.
  • The audit log answers who, when, where and how much. Activity is grouped by what happened, names are resolved instead of raw ids, and costs are shown as exact figures where known.
  • Connectors show whether they're actually reachable. A health indicator tells you when a connector's tools couldn't be discovered, instead of quietly reporting "no tools" either way.

Changed

  • A notification only offers a button when there's somewhere real for it to go. A link to a deleted or inaccessible chat now says so, instead of taking you nowhere.
  • Billing figures that need attention now go to us, not your organisation — you're told plainly that service is paused, without the underlying numbers.

0.35.10

New

  • A step within a multi-step plan can now answer directly in the chat, when that's all it needs to do, instead of always running as sandboxed code.
  • Reasoning effort can be set for a specific model, not only for the model family it belongs to — an owner can tune how hard one model thinks without changing every other model that shares its family.

Changed

  • When one step in a running plan needs your approval, only that step pauses — the rest of the plan keeps working instead of the whole run waiting on you.

Fixed

  • Planning, titling and behind-the-scenes generation steps could silently fail on certain model configurations, even though the visible reply kept working. Fixed at the root — the platform now always sends a provider exactly the model name it expects.
  • A turn where every step failed no longer reports itself as finished.

0.35.9

New

  • Agents can be scoped to just you or to the whole organisation. Creating an agent now lets an owner choose: keep it personal, where only you manage it, or share it tenant-wide, where any owner can. Existing agents all became tenant-wide.
  • An agent with tools attached now actually uses them. Some agents used to ignore the tools you gave them; they now work through a proper tool loop.

Fixed

  • A restriction on which model your organisation may use is now enforced consistently. It could previously block a model your own picker had just offered, and — separately — be sidestepped by going through an agent instead of a direct request. Both are closed.
  • A connector's credential now reaches it correctly, whichever kind of agent is using it.
  • A broken streamed response now ends cleanly with a clear message, instead of the app quietly retrying forever.

0.35.8

Fixed

  • Some models could fail to respond at all. Routing was corrected so a request always goes to a provider that actually offers the model, and a provider missing its credential is no longer offered.
  • An overly long connector name is now refused with a clear message, instead of being silently shortened into one that collides with another.
  • When a model provider returns an error, we now capture enough of it to see what went wrong — previously the failure carried no detail at all.

0.35.7

Changed

  • Connectors can be turned on before you start typing, not only once a conversation is already under way.
  • An agent that can't use a connector now says so, instead of quietly proceeding as if it could.

Fixed

  • Citations under an answer now survive a page reload instead of disappearing.
  • Keyboard focus is visible on every control that can receive it.
  • The admin model settings page no longer breaks once your organisation already has a model configured.
  • A shared chat scoped to one project can no longer be reached from another — a boundary that existed in design but not in enforcement.

0.35.6

Fixed

  • Turning on a connector or agent, changing the thinking level, or toggling web search now tells you if it fails, instead of silently reverting.
  • Renaming a chat that fails now shows the error instead of leaving a stale name in place.
  • Task lists, project members and project changes no longer go silently blank on a loading failure — you now see that something went wrong instead of an empty list.
  • The model list shows an error and lets you retry if it fails to load, instead of just being empty.

0.35.5

Fixed

  • The message box is the size of what you have written. It rests at one line and grows as you type, up to about eight lines, after which it scrolls. Two lines of text fit because two lines make it two lines tall — the previous release reserved a permanently two-line-tall box instead, so an empty composer showed a large blank area with the placeholder at its top.
  • The focus outline follows the shape of the box. It was a square-cornered rectangle drawn just outside a rounded one.
  • Browser writing-assistant badges no longer sit on top of your text. Extensions such as Grammarly place their icons inside the message field; the field now keeps room for them.
  • Send is a round button rather than a word, which gives the space back to what you are typing. It becomes stop while an answer is streaming, in the same place.
  • The row under the message box now says what Enter does — send, with Shift+Enter for a new line — next to the model and the context budget. On phones, where the hint does not apply, it is simply not shown.

0.35.4

New

  • A model provider inside the EU. TensorX runs on dedicated hardware in Dublin and Helsinki, and it is now set up for every organisation — an owner can select it under model settings without arranging anything first. It is deliberately not the default, because changing the model changes the answers; until someone selects it, nothing is sent to it. See the terms for who processes what, and where.

Changed

  • Work done by helper agents is tucked away rather than dumped into the chat. When a request fans out across several helpers, each one used to post its own full answer, so the reply you actually wanted arrived buried under everything that led up to it. Now only the main answer sits in the conversation and each helper's work is folded up under its own heading — click to open any of it, complete with its sources and files.
  • Steps are named after what they do. A step used to be labelled with the opening words of its own instruction, so two steps in the same batch could read identically, and some showed a file name instead of a description. Steps now get short, distinct names.
  • The message box fits two lines of text, on desktop and on phones. It showed one before.

Fixed

  • The chat no longer looks frozen while a plan runs. When a request was broken into steps, the conversation could sit completely empty until everything finished, with nothing to show that work was under way. Progress is visible throughout now, and the list of steps stays open while they run instead of collapsing to a one-line summary.
  • Steps stop reordering themselves. The list could shuffle between updates, so a step you were watching moved position for no reason.
  • A finished step is shown as finished. A step that had completed could go on looking as though it were still running.

0.35.3

New

  • Tasks now have a subject and a body. Adding a task used to squash both into one line, so the thing you saw in the list and the thing that actually ran were the same text. You can now give a short subject for the list and a separate instruction that gets carried out — and the task list shows how tasks depend on one another, including which of them can run at the same time.
  • Terms and conditions updated. The terms now include a data-processing agreement, name every company that processes data on our behalf and where each is established, and state which model providers sit outside the EU — along with how to choose a different one. Please read them; accepting the previous version does not carry over.

Changed

  • Chats, agents and scheduled tasks can be shared with real levels. Sharing now distinguishes reading from editing, and for a scheduled task, being allowed to run it from being allowed to change it — so you can let a colleague trigger something without letting them alter what it does.
  • Agents are created and changed by organisation owners. Previously anyone in the same team area could alter them.
  • A new connection to an outside tool starts untrusted, and an owner marks it trusted. Only an organisation owner can raise that setting, and only for a connection we have verified. Until then the connection works normally, but what it sends back is not allowed to set off an action that sends, creates or deletes on its own — so if a newly added connection does less than you expect, check its trust setting first. See connectors.

Fixed

  • A task now answers in the chat instead of being treated as code to run. Some tasks were sent to the code sandbox even when all they needed was a reply, which was slower and occasionally failed for no reason a person could see.
  • Task identifiers no longer clutter the chat. The long internal reference is kept for the app's own use and out of what you read.

0.35.2

New

  • The beta terms and conditions are published, and signing up records your acceptance. The terms are now part of this documentation, and creating an organisation asks you to accept them before the account exists — with the date and the version of the document you agreed to kept for our records.

Changed

  • A change to someone's permissions takes effect immediately. Adjusting or withdrawing a person's rights now applies to their very next action, wherever they are already signed in — you no longer have to wait for their session to run out or sign them out by hand.

0.35.1

Changed

  • Repeated wrong sign-in attempts are slowed down. Getting a password wrong several times in a row makes each further attempt wait a little longer. A correct password is never delayed, and one person's mistakes never hold up the rest of a company sharing the same connection.
  • Signing out, or having an account switched off, now takes effect on connectors too. The chat side of zGentic already checked this on every request; the connector side now checks the same way, so a session that should no longer work cannot keep using your connected systems.
  • The machine-readable description of our programming interface is no longer published. It was only ever of interest to developers, and Model as a Service documents what you need without it.

Fixed

  • zGentic behaves properly in Safari on an iPhone. The page is now sized to the part of the screen you can actually see, so it no longer stretched behind the browser's own toolbar and drifted when you scrolled. The panel edge handles sit centred where you expect them, both the handle and the close button dismiss a panel, and the row of controls under the composer is a single row with real clearance above the home bar — no longer overlapping it.

0.35.0

New

  • Long conversations no longer hit a wall. A chat used to stop working once it grew past what the model could hold. zGentic now warns you while there is still comfortable room, and then compacts the conversation itself as a visible step you can see happen — so a long-running chat keeps going instead of ending in an error.
  • A place for durable memory. Save a fact, a preference or a piece of ongoing context as a labelled memory item, with a short description, and the assistant can draw on it in later conversations. Memory items live alongside your other files and inherit exactly the same sharing and deletion rules. See memory and commands.
  • Every kind of chat content now appears on the phone app, matching the web — several kinds were previously web-only and simply did not render on mobile. Notifications have a native reader too.
  • Reviews on the phone show real data. The review screen was showing a placeholder list; it now shows your actual review tasks, and the approve/reject controls appear only if you are genuinely entitled to use them.
  • A phone-sized web layout is now tested as its own target, and the theme switch and the notification bell are reachable from a chat on a narrow screen.
  • The GitHub connector works with a token, so it no longer depends on your administrator having completed a sign-in redirect setup first — and it can reach a company-hosted GitHub Enterprise Server, which the sign-in route could not.

Changed

  • Follow-up requests work the way you would expect. Asking for "a pdf", or "summarise that", straight after a longer discussion used to be read as a fresh request with no subject, and you got a clarifying question back. The assistant now sees the tail of the conversation, so a one-line follow-up picks up what you were just discussing.
  • The assistant stops promising work it cannot do. It used to sometimes announce that it would produce something and then go quiet, with the admission that it could not coming two turns later. It now tells you straight away.
  • The model picker sits on the line below the composer, with the rest of the per-message controls.

Fixed

  • Your real logo reaches the document. A document generated for an organisation with a logo registered used to be built with an invented, plausible-looking substitute — the file was never actually made available to the step that drew the page. It now is, and if it is missing you are told instead of being handed a guess.
  • Reloading the page in the middle of a task no longer freezes it. Reconnecting used to hand you a finished-looking view of a task that was still running, which removed the Stop button and froze the token counter. Both keep working now.
  • The confirmation prompt for actions that need your approval renders again.

Changed (for owners)

  • Billing is reconciled against what our primary model supplier says it served. Recorded usage on that supplier previously had nothing to check against but itself. See understanding what you are paying for.

0.34.5

Fixed

  • Scheduled runs and background tasks tell you when they finish. Completion notices from work that ran without you watching were being dropped before they reached the screen — the task list kept showing a finished run as running, and the notification never arrived. Nothing was ever lost; the panels read from the database, which is why a reload showed the truth. They no longer need one. The scheduled-tasks panel now updates live too, which it never did.
  • Chat controls no longer sit on top of the conversation title. On a desktop screen the row of actions painted an opaque block over more than half of the title, exactly while you were reading it. They now sit on their own line below it, and a long title wraps to two lines instead of being cut off.
  • Dialogs have a visible surface again. Six dialogs were rendering as text floating over the page. The one that mattered is the one that asks before a destructive action, which appeared over the very thing it was about to destroy.
  • A button stops being clickable while it is working, so a slow action cannot be triggered twice.
  • The unread count can go down again. Reading your notifications never cleared the badge.
  • A chat moved in one window now refreshes in the others.
  • The scheduled-task form can be saved. If you opened it before the agent list had loaded it could never be saved, and it did not recover on its own.
  • Six pieces of plainly wrong wording in emails and notifications, including a welcome email whose body was a placeholder and a phone notification that carried no readable text at all.
  • Deleting a user completes every step of removal — their sessions, the files they uploaded, their entries in the search index, their permission records and the background clean-up, not only the account itself. Asking to delete an account that does not exist now answers "not found" rather than reporting a deletion that never happened.

Changed

  • Notifications ride the same live connection as everything else, since the bell is on every page.
  • Suggested improvements to the assistant's own instructions are filed for approval. They arrive with the evidence attached and take effect only once someone approves them, rather than applying themselves.

Removed

  • Web search is Perplexity only — this time all the way down. 0.26.1 removed the picker that offered other engines, but a second route through a model supplier's own search plugin remained in place behind it, and was still being switched on for every newly registered organisation. That route and its setting are now gone rather than merely unselectable. See web search.

0.34.4

main moved from 0.33.5 straight to 0.34.4, so this entry covers everything in the 0.34 line.

New

  • The assistant searches the web more than once while working through a question. It refines what it looks for as it learns from what it read, instead of stopping after a single search. There is a limit per question — six searches by default, adjustable for your organisation — so a question cannot quietly turn into a large search bill. See web search.
  • Web answers cite the actual pages. A link now goes to the page the assistant read, not to the search tool.
  • A cap on how much work one question may do. Each turn now has a ceiling on the total number of tool calls it may make — sixteen by default — so a task that keeps calling tools cannot run away with your usage. It is a separate limit from the search cap and from how many times the assistant may think and act in turn.
  • A fourth pass over the layout. All the side panels now behave as one thing rather than several slightly different ones, the task view appears when there is something to show rather than always, and Sources sit lower where they interrupt less. Smaller pieces of the same pass: the token counter moved off the composer edge, the chat-list filter row is collapsed with the row controls appearing when you reach for them, resizing keeps your place in the conversation, and Esc closes panels in the order you opened them.

Changed

  • Documents produced by a multi-step plan carry your organisation's branding, the same as documents produced directly.
  • Cancelling a run cancels every step it had started, not only the one in front.
  • A question that asks for analysis always ends with a written answer. A plan can no longer finish with its working and no conclusion.
  • Chat titles have a sensible fallback. Filler is stripped, and a failure to name a chat is reported rather than leaving it blank.
  • Deleting an organisation keeps its billing records, deliberately. Everything else is purged; past statements stay auditable.
  • Spreadsheet questions have size limits on every axis — columns, cells and characters — so an oversized range is refused with a clear message instead of being attempted.

Fixed

  • Handing a picture to a specialist helper no longer runs blind. A helper that cannot see images used to be given the task anyway, and the answer read as though it had looked. It now either gets a model that can see, or it tells you plainly what was missing.
  • Deleting a user revokes their access keys immediately. A deleted user's key could previously still be used on the very next request.

  • The discount on a cached read comes from your supplier's own price list where the supplier publishes one, rather than from our estimate of it. The cached-read discount itself arrived in 0.33.4; this makes the rate exact.

0.33.5

Everything in this release was work on the inner workings — the test suite and the pinned libraries available to code the assistant runs. Nothing you can notice changed.

0.33.4

Changed (for owners)

  • Cached text is priced the way your supplier prices it. Reading a cached prompt is charged at the supplier's discounted rate and writing one at its premium rate — previously every cached token was charged at the full rate for text going in. This makes bills smaller and, more importantly, correct.
  • Your figures are checked against your supplier's own figures. zGentic now samples what it recorded, fetches what the supplier says it served, and raises an alert when the two disagree — including a monthly comparison of the totals. Before this, the platform's numbers could only ever be checked against themselves.
  • A supplier whose caching cannot be verified is not offered. zGentic probes each model backend to establish whether its cached-token reporting can be trusted, and refuses to let a backend that fails be configured with caching on. Existing configurations keep working until an administrator next touches them.

0.33.3

Fixed

  • Work that was served is always billed, and work that was not is never billed. Several ways a charge could go missing are closed: a background job ending could cancel the record of what it had just used; streamed answers on Anthropic recorded almost none of the text you sent; and a round that cost nothing because the supplier failed used to leave your reserved balance stuck. All corrected.
  • Spreadsheet questions are charged to the person who asked. They were recorded with no user attached, which meant a per-person monthly limit could not be applied to them. A person over their limit is now stopped there too.
  • A failed balance check no longer reads as "no limit". If zGentic cannot establish your organisation's balance it now refuses to spend rather than assuming there is nothing to enforce.
  • A fallback price or exchange rate says so. These used to be substituted silently; they are now recorded with a warning naming the organisation, so a wrong figure is traceable.

0.33.2

Changed

  • The chat list stays where you can see it on a wide screen. It used to slide over the conversation and had to be dismissed. On a wide screen it is now simply there, alongside; on a medium screen the conversation's own title becomes the switcher — click it for the list; on a phone it stays a bottom sheet, which is the right pattern there.
  • A wider conversation column. Short messages no longer pinch into narrow pills, and code blocks, tables and generated files have more room. The text itself still wraps at a comfortable reading width.
  • An action that needs your approval asks you for a code. zGentic shows you a short confirmation code and you pass it back to the assistant — it never sees the code itself, so it cannot approve its own request. Each code works exactly once. This applies to all five confirmed actions: saving a memory, creating a scheduled run, approving a plan, creating an agent and using your browser.
  • Text the assistant did not write is labelled as such. Anything fetched from the web, produced by code, or returned by a connector is marked where it enters the conversation, and instructions found inside it are reported to you instead of being carried out.

Fixed

  • Message text no longer touches the edge of its bubble — a regression from the spacing work in 0.33.0.

0.33.1

Changed

  • The conversation is centred, and the composer is the same width as it. Both used to run to the edge of a wide monitor.
  • The model picker moved into the composer row, beside the tools + button. It changes the next message you send, so that is where it belongs — and it no longer truncates on a narrow phone.
  • Sources get their own column beside the conversation when there is room for one, and the Ask your knowledge base control moved out of the row under the composer into the header, or into that column's header when it is present. It is still a disclosure you open, never a second input box.
  • Message bubbles are flat. The shadow implied a difference that did not exist.
  • Notification settings have their own group in settings, instead of sitting in the row about appearance.

0.33.0

Changed

  • Easier to read. Chat text wraps at a comfortable reading width — roughly 45 to 75 characters per line — on every screen, instead of stretching edge to edge on a wide monitor or feeling cramped when panels are open. Code blocks and tables keep using the full width.
  • More room for the conversation. The extra layers of padding that used to surround the chat are gone, so more of the screen goes to your messages instead of empty margins.
  • One panel at a time, and only when it earns the space. The task view appears when there is something to show rather than permanently, and closing several panels at once follows a sensible order.
  • Chat on a phone uses the full screen. Message bubbles used to sit in a narrow strip no matter how wide the screen was.

0.32.0

New

  • zGentic for Excel. An Excel add-in with a side panel and a =ZGENTIC.ASK formula, so you can ask about a range of cells from inside the spreadsheet and get a tabular answer back. It keeps the thread of a conversation, and signs in either with your zGentic session or with a personal access key.
  • Skills, in full. The skills added in 0.30.0 now support everything the standard describes: supporting files loaded on demand, arguments (including named ones), several skills invoked in one go, skills that belong to you or to a project rather than the whole organisation, skills that run in the background and report back, and bundles that install several at once. An administrator can hide or switch off individual skills.

Changed

  • Reading a web page is always available. It used to be behind the same switch as web search; only search is a switch now, because reading a page you have named is a different kind of act.

Fixed

  • Sending a message works where the web app and the interface behind it are on different addresses. A missing permission in the browser's pre-flight check meant nothing left the page in that arrangement.
  • Registration works when the spam-protection script cannot load. A blocked script used to leave the form unusable rather than simply unprotected.

0.31.0

New

  • A zGentic desktop app, for macOS, Windows and Linux. It signs you in through your normal browser, keeps a tray icon with an unread badge, opens zgentic:// links, and can be pointed at your organisation's own server. It shows the same zGentic you already know, so nothing you have learned changes.
  • "Hey Agent". A global keyboard shortcut — Cmd/Ctrl+Shift+U, changeable — opens a small ask-anything box over whatever you are doing. Esc hides it and keeps what you had typed; Cmd+Enter opens the full window at that chat.
  • The assistant can use your own browser, in the desktop app only. It drives your real, already-signed-in browser in a separate window, so it can reach sites you are logged into without anyone sharing a password. You are asked before it borrows a tab, you handle any sign-in or captcha yourself, anything that changes something asks you first, and your administrator sets which sites it may visit at all.

Changed

  • Connecting Google Workspace or Microsoft 365 tells you what is missing. It used to fail as though the service were briefly down. It now says that the connection has not been set up and links to the instructions for whoever has to do it.

0.30.1

Fixed

  • Background work runs again on a fresh deployment. A packaging fault meant three background services started the wrong program, so queued document processing, billing work and connector synchronisation were never picked up.

0.30.0

New

  • Type your next message while the assistant is still answering. It is queued, shown as a chip, survives a page reload, and is sent the moment the current answer finishes. Pressing Stop clears the queue.
  • Pull a document or a web page into the conversation with #. Start typing # in the composer and pick one of your documents — only ones you are allowed to see — or paste a URL. It is used for that question and cited in the answer.
  • Choose how hard the assistant thinks. Off, low, medium or high, per chat — replacing the earlier on/off switch — and separately for each job an organisation uses a model for. More thinking costs more and takes longer; less is often enough.
  • Skills. Install a skill from a zip file or a repository and invoke it by typing /its-name, optionally with arguments. A skill is a packaged set of instructions for a recurring task, and the format is the open one, so skills written elsewhere work here.
  • Attach files straight from Google Drive, OneDrive or SharePoint. Connect your account once, then browse or search your cloud folders from the composer and attach a file as a real attachment.
  • Notifications in Microsoft Teams and Google Chat, as properly formatted cards, configured per organisation.
  • Scheduled runs got a proper screen. Say whether each firing should run straight away or be drafted for your approval, see the run history with when it last ran and when it runs next, read the cadence in plain words, and jump from a result notification into the chat it produced.
  • Chats belong to tasks and move between projects. A chat shows which task it belongs to and can be filtered by it, /task commands act on it from the composer, and a recurring run can deposit its work into a project.

Changed

  • An approved plan starts with one model call instead of two, because the decision the approval already made is not repeated.
  • Every notification says something real. The text for billing, scheduled runs, completions and reviews comes from one place now, and links that led nowhere are fixed.
  • Noticeably faster. A single answer does under half as many database round trips as before, which takes about a quarter off the time and a third off the work behind it.

Fixed

  • Answers stopped freezing. With zGentic running as several processes, a page could end up watching one process while another did the work, and the two were not connected — leaving a bubble that never filled in. Your browser also now notices a stalled connection within thirty seconds and reconnects by itself.
  • Stop actually stops, across processes. A stop that had to travel between processes used to time out and record nothing at all, leaving the task shown as running forever. The stop is now always recorded, and a task nobody is working on is force-finished rather than left hanging.
  • A long approved plan no longer wedges. A leftover timer from before the approval could kill the resumed work, and the page would sit waiting on something already dead.
  • Code the assistant writes runs far faster. It was being run on the slow, careful model instead of the fast one meant for it.
  • A step in a plan no longer re-answers your whole question. Asking for a story and a drawing used to get the story step trying to do both. Each step now produces only what it was asked for — the story as text you read in the chat, the drawing as a file you download.

0.29.0

New

  • Limits on a single question, set by your organisation. An administrator can cap how many steps one question may take, how much text goes in and out of it, what it may cost and how long it may run. Hitting a limit gives you a clear message rather than an unexplained stop, and the figures are the same ones your bill is calculated from. See the owner and admin guide.

Changed

  • Your work survives a restart. zGentic keeps a written record of every step a question goes through, so if the platform is restarted mid-answer — most often while a new version is being put in place — the answer picks up from where it was instead of being lost. Steps that had already finished are not redone, and nothing is charged twice.
  • Reopening a chat catches you up. Coming back to a running answer, joining from a second window, or reconnecting after losing signal all replay exactly what you missed, from one record, in order.
  • A plan waiting for your approval keeps waiting. Approvals used to be lost if the platform was updated while one was pending; an approval now survives and resumes the same run.
  • Planning uses a model chosen for planning. Deciding what to do is a different job from writing the answer, and it now uses a model suited to it — faster and cheaper for the same result. Your administrator can change which model that is.
  • An action can no longer be performed twice as a side effect of how a turn was decided. This matters for anything that sends, creates or deletes.

Fixed

  • A dropped connection reconnects instead of freezing. The chat retries by itself, backing off between attempts, and tells you when it genuinely cannot recover — rather than leaving a bubble that waits until you click somewhere.
  • Long conversations render faster. Text arriving word by word now redraws only the message being written, not the whole conversation.

0.28.6

Fixed

  • Live updates work again after 0.28.5. Running as several processes (new in 0.28.5) meant a page's live connection could be held by a different process from the one doing the work, and those two were not talking to each other. The visible symptom: press Stop, and the task list on the right kept showing the task as running until you reloaded the page. The same gap affected live updates to the chat list, the agents list and in-app notifications. Nothing was ever lost — the panels read from the database, which is why a reload always showed the truth — but they no longer wait for a reload to show it.

0.28.5

Changed

  • zGentic now serves more people at once on the same machine. The application runs as several independent processes instead of one, so a slow answer for one person no longer holds up everyone else's. Nothing changes in how you use it; busy periods should simply feel less busy.
  • Stop keeps working regardless of which process handles it. This is the part that had to be built before the above could be switched on: your Stop can arrive at a different process from the one writing your answer, so a request to stop is now passed to whichever process is doing the work. If a stop cannot be confirmed within a few seconds you are told it is stopping rather than told it stopped — the one thing we will not do is claim a stop that did not happen.
  • One consequence worth knowing: if a stop is handled by a different process from the one writing the answer, the partial text is not kept in the saved transcript, though it stays on screen in the window that was watching it. The stop itself is always recorded.

0.28.3

Fixed

  • Stop now stops the work, not just the display. Pressing Stop used to end what you could see while the model carried on writing in the background — so a stopped answer could reappear as a second message next to (Stopped by user.), and questions you had already abandoned were still being sent to your model supplier and charged for. Stop now ends the work itself. A stopped turn leaves exactly one message.
  • A stopped or interrupted round still appears in your spend, and says why. Previously a round that was cut off recorded nothing at all: the text had been sent to the supplier and charged by them, but it was missing from your figures. It is now listed like any other round and marked cancelled, so what you are billed for and what you can see finally agree. See understanding what you are paying for.
  • The token count shown on an answer was roughly double the real figure. Answers written by the assistant directly — the common case — were counted twice in the number displayed on the turn. Your actual spend was never affected, because billing has always been calculated separately, but the figure you reconcile against it was wrong. It is now correct, which means the number you see on a turn will look smaller than before for the same work.

0.28.2

Fixed

  • Answers on the default model supplier stopped arriving word by word. A fault meant every streamed reply failed and was quietly retried in one piece, so answers appeared all at once after a long wait — losing the read-as-it-is-written behaviour added in 0.27.2 — and no progress was visible while you waited.
  • Text you sent was recorded as costing nothing. On the same path, and on Google Gemini, the size of your question was logged as zero, so daily spend and per-person usage under-reported what had actually been used. Figures recorded from now on are correct; figures already recorded for affected days remain understated.

0.28.1

New

  • Spend can be broken down by what happened. Every round now records whether it succeeded, came back empty, failed or was cancelled, and Export CSV has an outcome column — so a bill inflated by failures and retries is visible as failures and retries rather than as unexplained usage. The on-screen daily-spend chart does not split by outcome yet; use the export for that.

Changed

  • An approved plan starts straight away. Approving a multi-step plan no longer repeats the decision the approval already made, which removes one model call and about ten seconds from every approved plan.
  • A mistake in code the assistant wrote is caught before anything is charged. Code is checked for syntax first, so a typo becomes a free correction instead of a paid attempt.
  • Long narrative steps describe the pictures they refer to instead of pasting them. A drawing a later step will produce is named rather than dumped into the prose, which keeps long answers readable.

Fixed

  • A task that dies without warning no longer sits at "running" forever. Work with no one left to do it is marked failed within about ten minutes, with an honest reason, and anything waiting on it is marked blocked instead of waiting indefinitely.
  • Stop began cancelling plan steps and the code the assistant runs. Completed in 0.28.3, where it also ends model replies.
  • You stay signed in when zGentic is used behind a company proxy.
  • Clicking Details collapses the plan panel it belongs to, instead of leaving it open.
  • The panel-edge handles no longer appear on desktop, where they are not used.

0.28.0

Almost all of this release was work on the inner workings — how the platform stores what a conversation is doing, how spending is counted, and how many people it can serve at once — and by the rule at the top of this page, that is left out. What you can notice:

Changed

  • Filing your charges no longer holds up your answer. Recording what a round cost now happens after the reply has been delivered rather than as part of it. The check that you have balance still happens first — that has to, so nothing is served that cannot be accounted for.
  • Searching your documents got faster on large collections, and price lists are read from memory instead of the database on every request.

Fixed

  • Links opened from a notification on a phone always use a secure connection.

The rest was groundwork for running zGentic across several processes per machine — switched on in 0.28.5, once Stop had been made to work across those processes.

0.27.2

New

  • Answers appear as they are written. Text arrives word by word instead of all at once at the end, so you can start reading — and stop early — while the rest is still being written.
  • A line tells you what is happening before the words start. Three pulsing dots and a short description: Searching the web for "luxembourg weather" · 4s, Looking in your documents, Running Python, Asking Research buddy, Using Google Drive. A finished search says how many sources it found; something that did not work says Didn't work, and the assistant usually carries on and tells you what it could not check. The line disappears the moment text starts to flow, because the answer has become its own sign of progress.
  • A plan tells you where it stands at a glance. The heading of a multi-step plan now counts the work — 3 running · 2 queued · 1 done — with one line on what is happening at this moment. Open it and each step has its own activity line and says what it produced, for example wrote 412 words.
  • A failed plan explains itself. The card turns a warning colour and opens on its own, the heading says what happened overall (Plan failed — 3 steps failed, 2 of 6 done), the step that went wrong is marked Failed with a short reason, and each step that was waiting on it is marked Blocked with a note naming what it was waiting for. Everything that did succeed is still delivered, and text that had already appeared in the conversation stays there.
  • Progress is announced to screen readers as it changes, and every state is written out in words as well as shown by colour.

Changed

  • No more documents built from an incomplete set of inputs. If four drawings were asked for and one was produced, the slide deck is now marked Blocked instead of being built from the single drawing and presented as finished. This is a deliberate trade: sometimes fewer finished files, but no more files that quietly leave something out — and the card names exactly which part to ask for again. See when a step fails.
  • An answer is saved only when it finishes. If zGentic is restarted while an answer is still being written — most often while a new version is being put in place — that answer is lost and the message is marked as interrupted. This is expected rather than something to report: ask again and it will be answered normally. Nothing else in the chat is affected. See if an answer disappears.
  • A single step is given longer to succeed — up to about ten minutes — because it now shows its progress the whole time and can be stopped at any point.

Fixed

  • A problem at your model supplier no longer looks like a frozen screen. You see the model call did not complete — retrying (attempt 2 of 10) while it is retried, instead of waiting in silence and receiving a poor answer at the end of it.

0.27.1

Fixed

  • The progress display shows one clear list instead of three. While a multi-step job ran, the same steps were listed in three places at once — and one of those lists was showing work from your whole organisation, with the chat's own name repeated on every row. There is now a single list for the job you are watching, with each step in order, one elapsed time each, and its result to download. Work running in your other chats still appears separately, which is what that list was always for.
  • Steps no longer jump around while you watch. Steps that started at the same moment could appear in a different order each time the list refreshed. The order is now fixed: your own chat first, then oldest first.
  • An empty grey bubble no longer appears above a plan that is waiting for your approval. Nothing had been said yet, so nothing is shown.
  • A proposed plan is no longer described as "active". Steps waiting for your approval are counted as proposed, because nothing has started.
  • Your text appears as it is written. When a job writes something — a story, a report — the text now appears in the conversation as each step finishes, instead of only the machinery being visible while you wait.
  • Spending limits are enforced correctly and stay fast. Checking a limit no longer got slower as the day went on, and a usage record can no longer be lost in a way that leaves a charge unrecorded — a charge and its record are now saved together or not at all. Repeating a charge cannot bill twice.
  • Smaller touches: the token counter shows real numbers instead of zeros, the "Ask your knowledge base" box is tucked away until you want it, and prices are rounded consistently everywhere.

0.27.0

New

  • Use zGentic from your own tools — "Model as a Service". You can now create a personal access key under Settings and point a developer tool (for example opencode) at zGentic, so that tool uses the models your organisation has set up, billed and budgeted exactly like a chat. You can hold several keys, give each one a name so you know which machine it belongs to, and switch one off the moment you no longer trust it — it stops working on the very next request. Each key has its own activity list showing what it was used for. The full instructions are on Model as a Service; if you do not wire up developer tools, you can skip it.
  • Choose how eagerly the assistant uses an agent. Each agent in the Tools sheet now offers Auto, Always or Off, instead of a switch that had to be turned on before the assistant could use it at all. Auto is the new default: the assistant reaches for an agent when it is relevant. Turning one back on after switching it off no longer quietly changes it to "Always".
  • Examples you copy, instead of clutter you delete. A new workspace no longer arrives with demonstration agents already in it. Ready-made examples live in a gallery you copy from when you want one.
  • Markdown joins the document formats, and each format can be switched on or off individually.
  • Plainer documentation, and a glossary. Every page has been rewritten for people who do not work with AI daily, and words that cannot be avoided — token, model, agent, connector, retrieval — are explained in one sentence each under Words explained.
  • Emails now look like they come from us, with the zGentic mark. They still read perfectly if your mail program blocks images, and the mark is embedded in the message, so opening an email tells us nothing about you.

Changed

  • New organisations are served by a different model supplier (Fireworks). The models themselves are the same generation as before. Pictures are handled by a supplier whose model can actually read images, chosen automatically — you do not have to pick.
  • Long tool output no longer floods a conversation. Very large step output is trimmed, the most useful part (the end) is kept, and the chat says plainly that it was trimmed rather than hiding it.
  • Faster, cheaper answers on follow-up questions. The unchanging part of each request is now arranged so your model supplier can reuse it instead of re-reading it every time.
  • On the agent form, Type is now called Runtime, because it describes how an agent runs, not what it is.
  • Code the assistant writes and runs has no internet access by default. A program it runs for you works on what you gave it; if a task genuinely needs to reach the internet, it has to be an agent set up for that.
  • Only an organisation owner can let an agent reach the internet. It cannot be switched on from an ordinary request, by importing an agent bundle, or by restoring an older version of an agent — so if an imported agent needs it, an owner has to grant it again.
  • A connection to an outside tool server must use an encrypted (https) address. An unencrypted address is refused when you add it.

Removed

  • The Corporate Identity agent is gone. Design guidance is now something the assistant fetches itself when it builds a branded document. If you had uploaded a corporate identity template, it has been removed along with the agent — upload your branding again under your organisation's settings.
  • The chat action that used to be called create_skill is now create_agent. It always created an agent; the name was misleading.

Fixed

  • Deleting an agent now removes the files uploaded to it. Previously those files stayed behind.
  • Switching one of an agent's two settings no longer resets the other one.
  • If your organisation's deployment does not include a particular runtime, choosing it now says so clearly instead of looking like a temporary outage.
  • Pictures can no longer be quietly ignored: if no model that can read images is available, the chat tells you, rather than answering as though it had seen your picture.

0.26.1

  • This documentation site. The pages you are reading, covering everyday use and running your own organisation.
  • Web search stops saying "Unavailable" when it is available. Organisations that had set it up correctly could still see the control greyed out. Fixed.
  • Connectors are easier to find. The Connectors section in the Tools sheet is now always visible, and tells you where to install one if your organisation has none yet. Connectors can also be switched on for a whole project, not only for one chat at a time.
  • Fewer stray task lists. A one-message chat no longer creates a list of steps, and Clear finished now removes older leftovers that previously could not be cleared away.
  • Settings tidied up. The options for letting your model supplier cache parts of a conversation are gathered in one place, arranged by supplier.
  • One search provider. Web search is provided by Perplexity; the picker offering engines that no longer worked has been removed.
  • Clearer model prices. The pricing table under Admin, Billing & usage now gives the cost per million tokens separately for text going in and text coming out, so you can estimate a cost without guessing.
  • Proper icons for browser tabs, bookmarks and home-screen shortcuts.

0.26.0 — Connectors

  • Connectors. Your administrator can install links to other systems — weather, current time, Atlassian, Lucid, GitHub, Slack — and you switch them on for a chat, a project or an agent.
  • You sign in with your own account for Jira and Confluence, Lucid, GitHub and Slack. Results reflect what you are allowed to see, never a shared login. Runs that happen while nobody is watching never use someone's personal sign-in.
  • Hidden instructions are reported, not obeyed. Text smuggled into a ticket or a wiki page cannot redirect the assistant.
  • Memory. Tell the assistant a fact once and have it remembered — for one chat, for a project, or for you everywhere — with the new /memory commands. Typing / shows the full list of commands.
  • Architecture Board agents shipped as a worked example of review helpers shared across an organisation.
  • Faster and cheaper answers. A question is now handled in one pass instead of two. Long answers show a progress line that keeps updating, so a slow answer no longer looks like a frozen screen.
  • Live web search and page reading, with clickable sources, replacing the older arrangement that depended on the model supplier.
  • Photos straight from a phone are accepted as they are. The iPhone HEIC format is read, pictures are turned the right way up, and large photos are shrunk for you.
  • A calmer chat window. No more half-written text; one progress indicator with a timer that stays accurate even if you leave the chat and come back.
  • Billing detail. Model prices per million tokens, email addresses in the usage table so you can tell people apart, and a properly laid-out "what's new" email.

0.24.x — Ask about a picture

  • Attach a photo, a screenshot or a diagram and ask what it shows. A model that can see pictures is chosen for you, and you can say what to look for instead of getting a general description.
  • Camera information is removed from uploads, including the GPS location where a photo was taken.

0.23.0 — Seeing and controlling what you spend

  • Daily spending, broken down by model, with Export CSV for your own analysis.
  • A monthly limit per person, actually enforced, with a warning before it is reached.
  • Spending charts for owners, a statement each month, and a small starting balance for new organisations.
  • Time spent running code is counted alongside model usage, so the figures are complete.

0.22.x — Signing up, security and polish

  • Sign your own organisation up, with an approval step, a welcome email and a starting balance.
  • Spam protection on the sign-up form, invisible to real people.
  • Your organisation's figures are separate from the accounting done by the people who run the platform, so an owner sees only what applies to them.

0.21.x — Google Workspace and personal file sources

  • Sign in with Google Workspace, including belonging to several organisations, with a switcher to move between them.
  • Bring in your own files from Google Workspace or Microsoft 365.
  • A screen for scheduled work.
  • Better document reading for PDF and Office files, and a size check before an upload starts rather than after it fails.

0.20.x — Work that takes several steps

  • Plans and task lists. A request with several parts is laid out as ordered steps, shown as they progress, and adjustable in the task panel.
  • Runs that start by themselves — on a schedule, or when another system asks for them.
  • Consistent documents. Word, PowerPoint, Excel and PDF files are produced the same way everywhere.
  • Several browser tabs stay in step on the same chat.
  • More model suppliers to choose from for your organisation.

Exact dates and version numbers are available to the people who run zGentic for you. This page groups changes by the release that delivered them.