Repository navigation
v0.10.1
A patch release: the gateway no longer hangs on Read aloud, upgrades from 0.9.x keep every allowed
folder, and the Linux sandbox, the browser probe, the terminal clients and the Flow editor catch up
with 0.10.0.
Fixed
- A gateway no longer restarts when the computer wakes from sleep (AbstractGateway 0.13.1). The
watchdog decides that the gateway hung from whether its event loop makes progress, not from how
much time passed, so the clock jump of a wake is not mistaken for a hang. - The gateway no longer hangs on Read aloud (AbstractGateway 0.13.1, AbstractRuntime 0.9.1).
Streamed speech is never a wait of the run: nothing durable exists while audio plays, and the child
run is recorded completed when the stream ends, so a conversation no longer shows "Waiting for an
event" during Read aloud. A Read aloud left unfinished by a restart is closed at the next start
("Read aloud was interrupted because the gateway restarted …"). Each stream runs off the event loop
within the voice synthesis limit; past it a request gets "Read aloud is busy", and a busy engine is
announced with aqueuedline ("Waiting for the voice engine: …"). Buffered request bodies are
replayed through one helper, which removes a second busy loop in the core endpoint. - Upgrading from 0.9.x keeps every allowed folder (AbstractGateway 0.13.1). The 0.13.0 workspace
migration hid allowed folders under the folder the gateway was started in (usually your home
folder): they were missing from Accounts → Workspaces and were not listed as dropped. The
migration no longer guesses that folder, and a store 0.13.0 already migrated is repaired once at
the next start (the lost rows come back, a path already listed keeps its mode, each restored row is
in the audit log). - Linux command sandbox: an allowed workspace inside a refused folder is reachable (AbstractCore
2.25.1). Under bubblewrap every command in such a workspace failed; the most specific workspace now
wins on Linux as on macOS. - The agent repairs a rejected tool-call format (AbstractAgent 0.3.19). When the model's tool
call is refused (invalid syntax or an unavailable tool) and no call was accepted, ReAct asks again
with the available tools, at most twice per turn. - Console pages read cleanly (AbstractGateway 0.13.1, AbstractCore 2.25.1). Multimodal shows
each route and capability in its own column, and its Weights cell says whether the model's weights
are on this computer (a pill, one sentence and a tooltip) for every provider a route can name. No
settings hide behind "Advanced" any more: the Email settings show Sign-in app and Recipients
and limits as sections. Tables keep their columns and come back from cards when the window grows. - macOS 13: the installer already picks the light profile there (MLX publishes no wheels below
macOS 14). It now records why, so running it again after a macOS update adds the apple profile
instead of keeping light. An explicit--profile lightis still kept. The install guide and the
FAQ say that[apple]needs macOS 14 or newer and thatpip install "abstractframework[apple]"
does not resolve on macOS 13.
Added
- Default workflow per account (AbstractGateway 0.13.1, AbstractAssistant 0.13.1, Code Web
0.11.1). The gateway keeps each account's default workflow per app (GET/PUT /api/gateway/accounts/{me|account}/preferences); the admin's setting stays the gateway default.
The console's Accounts page has a Preferences action on every row, the Assistant's Settings →
Workflow and Code's Workflow → Default for new conversations read and write it (a choice kept
on the device is uploaded once, then the gateway's value is used everywhere). - Last restart after a hang (AbstractGateway 0.13.1). Before the watchdog restarts a hung gateway
it writes<data dir>/incidents/watchdog-<stamp>.jsonand a stack dump; the console's Resources
page and the terminal console's F3 show Last restart with the reason and the files. - The gateway terminal console matches the web console (
abstractgateway-console0.15.1):
workspaces on Accounts (EEligible workspaces,won every row) with the web's words,
Preferences (p), the memory and compute line in the title bar, Last restart in F3; the
separate Workspaces page is gone (Wopens Accounts). - AbstractCode's terminal client has workspaces and the sandbox line (
abstractcode0.9.1):
/workspaceopens this conversation's workspace chooser (and My default workspaces),
/schedulehas Workspaces and Title and limits steps, tool cards show the command sandbox state and
every command shows itsSandbox:line. - Flow uses dedicated icons (Flow 0.8.1, UI Kit 0.8.6): image, video, camera, music, database,
branch, loop, variable, minus, divide, function, zoom in, zoom out, fit view and lock, in the
palette, the canvas cards and the canvas controls. - Flow reads at a glance (Flow 0.8.1): one colour per node category in the palette and on the
canvas (light and dark), run status icons on the node cards, and a tap on a node opens its
properties while a drag only moves it.
Security
browser_probekeeps local pages inside the run's workspaces (AbstractCore 2.25.1,
AbstractRuntime 0.9.1). A local page is served to the headless browser from a private loopback
address limited to the files the run may read, never asfile://, so a page in an allowed
workspace cannot show a refused folder's files (<img src="file:///…">,../links, symlinks);
refused loads are listed in the report.- macOS command sandbox: the shared temp folders are denied (AbstractCore 2.25.1). Under "Deny
everything, allow listed workspaces",/private/tmpand/private/var/foldersare now unreadable
and unwritable like user data (an unlisted file there was readable before); system folders stay
readable and unwritable, and the run's private temporary folder keeps working.
Changed
- The gateway launchers (
scripts/gateway.sh,gateway-local.sh,gateway-flow-local.sh, and the
af.sh/start.shstacks that run them) pass the backlog folder and the backlog exec runner as
serve --backlog-root <folder> --exec-runner on|off, and the data dir asserve --data-dir,
instead of exportingABSTRACTGATEWAY_TRIAGE_REPO_ROOT/ABSTRACTGATEWAY_BACKLOG_EXEC_RUNNER/
ABSTRACTGATEWAY_DATA_DIR. A gateway older than 0.13.0 still gets the variables, with one printed
note.gateway.sh --printandgateway-local.sh --printshow the serve command and change nothing. - Repository links use the canonical GitHub names (
lpalbou/AbstractCore,lpalbou/Abstract3D, …);
scripts/clone.shcloneslpalbou/Abstract3D. - The browser apps' CI fails when
package-lock.jsonlagspackage.jsonor resolves a shared UI
package below its floor (npm run check:lockin Code Web, Flow, Observer, Continuum and Entity). - Pin AbstractGateway 0.13.1, AbstractCore 2.25.1, AbstractRuntime 0.9.1, AbstractAgent 0.3.19 and
AbstractAssistant 0.13.1; the installers install Code Web 0.11.1 and Flow 0.8.1 (UI Kit 0.8.6 from
AbstractUIC 0.6.1), Observer 0.7.0, Continuum 0.7.0 and Entity 0.7.0 (unchanged), the gateway
terminal console 0.15.1 and AbstractCode 0.9.1. AbstractVoice 0.14.0, AbstractMusic 0.1.16 and the
other pins are unchanged.