Skip to content

Releases: code-ksa/abdocode

AbdoCode 4.0.69

Choose a tag to compare

@code-ksa code-ksa released this 27 Sep 06:44

AbdoCode 4.0.69

Add a provider key straight from the model menu. Choosing a model whose provider has no key opens Settings → Providers on that provider's card, highlighted and ready to type in. Paste the key and press Save: it goes to the local vault, and the model you picked is selected as soon as the key is saved.

"Save and apply" works again. Saving settings no longer fails with "meter is not defined", and the provider cards keep showing which keys are saved afterwards instead of resetting to "…".

Faster model menu and key checks. Opening the model menu and checking which keys are saved used to take several seconds; it now takes a fraction of a second. The same check at the start of every turn is fast too.

An English interface in English. Execution summaries, file-read receipts, status output, the plugin summary, turn states and the "no key" message follow the interface language. Arabic placeholders in the provider fields render with joined letters.

Smaller fixes. The status line names the selected model; Help › Documentation shows every topic in your language; "1 task" instead of "1 tasks"; a failed settings refresh no longer locks the key fields.

AbdoCode 4.0.68

Choose a tag to compare

@code-ksa code-ksa released this 27 Sep 00:46

AbdoCode 4.0.68

Long answers no longer look like a dropped connection. Each attempt's deadline now follows the output the request asks for, and that output cap is actually sent to the provider (as max_completion_tokens for reasoning models). A long reply used to be cut at a fixed 150 seconds, reported as a transport failure, and retried with the same context up to seven times.

A stray space no longer ends the task. A tool call preceded by spaces, direction marks or zero-width characters is recognised as a call. A reply that carries the call marker in a shape the parser does not recognise is asked about once, instead of being accepted as a finished answer with no work done.

Shell commands are kernel effects. run, in the foreground and in the background, is admitted by the kernel as an irreversible effect, recorded in its journal before the process starts, and settled when it exits. The kernel reports how much it can enforce on your machine, and the agent tells you once per turn. Background runs now go through the same controlled launcher as foreground ones, and their logs are written as UTF-8.

Guards that catch what people actually type. npm install -g …, npm i -g, pnpm add -g, bun add -g and yarn global add are refused as global installs. Before, only the trailing-flag form was caught.

Refusals that name their cause. On a Linux display with no window manager, the desktop channel says so instead of reporting that focus moved. A worker that exits without a message has its exit code explained. The installer gate finds the built package from the version in the desktop config instead of a stale hard-coded name.

An honest plugin inventory. Plugins whose reader only runs in a specific situation — an approval question, an MCP call, a secret prompt — are shown as waiting for that situation, not as never read.

Checked on a clean machine. Every push now runs the kernel gate, the product-composition and provenance gates, the repository-level tests and a full type check on a fresh Linux runner.

AbdoCode 4.0.58

Choose a tag to compare

@code-ksa code-ksa released this 18 Sep 12:46

AbdoCode 4.0.58

Browser sessions that survive a restart. The agent's own browser now keeps a persistent profile, saves each site's session after a successful sign-in and restores it before navigating, so you sign in once instead of every run. sessions lists what is stored, history lists the last 200 pages it visited and reopens any of them.

Design from a target, without a design tool. design spec reads a page (or a screenshot) into a machine-readable specification — layout, grid, sizes, colours, fonts, spacing — design render generates HTML from it, and design compare scores the result against the target pixel by pixel so the agent can iterate until it matches.

Desktop work that remembers. Each program's window layout can be saved and is restored when the agent opens or focuses it. A UI book records every screen it works on with its size, tree, computed styles and a screenshot. Screenshot coordinates now map correctly to clicks in fullscreen, windowed, normal and mobile-emulation modes, including fractional DPI.

Cheaper and steadier turns. Tool descriptions are no longer sent twice to providers with native tool calling. A repeated identical tool call replays its previous receipt instead of burning a round. A model whose credential is missing is skipped with a notice instead of killing the turn. Typing into a field now replaces its contents instead of appending.