Frona v2026.5.5 – self-hosted personal AI assistant

syncerx1 pts0 comments

Release v2026.5.5 · fronalabs/frona · GitHub

//releases/show" data-turbo-transient="true" />

Skip to content

Search or jump to...

Search code, repositories, users, issues, pull requests...

-->

Search

Clear

Search syntax tips

Provide feedback

--><br>We read every piece of feedback, and take your input very seriously.

Include my email address so I can be contacted

Cancel

Submit feedback

Saved searches

Use saved searches to filter your results more quickly

-->

Name

Query

To see all available qualifiers, see our documentation.

Cancel

Create saved search

Sign in

//releases/show;ref_cta:Sign up;ref_loc:header logged out"}"<br>Sign up

Appearance settings

Resetting focus

You signed in with another tab or window. Reload to refresh your session.<br>You signed out in another tab or window. Reload to refresh your session.<br>You switched accounts on another tab or window. Reload to refresh your session.

Dismiss alert

{{ message }}

fronalabs

frona

Public

Notifications<br>You must be signed in to change notification settings

Fork<br>20

Star<br>179

v2026.5.5

Latest

Latest

Compare

Choose a tag to compare

Sorry, something went wrong.

Filter

Loading

Sorry, something went wrong.

Uh oh!

There was an error while loading. Please reload this page.

No results found

View all tags

syncer

released this

30 May 03:29

v2026.5.5

62b233e

This release is a big push on identity unification and task scheduling robustness. Every user-owned entity (User, Agent, App, McpServer, Channel) now carries a Handle newtype, Policy principals are reshaped as {user_handle}/{entity_handle} under a User parent, and all storage and routing paths are keyed by handle. Tasks gain a required result_schema that drives how cron and one-shot results render back into source chats, with a fix for a long-standing CronRun crash-recovery race. The chat UI now paginates history on scroll-up and shows day separators with per-message hover times. Under the hood, Policy decisions and per-agent permitted tool sets are now cached, sandbox limits accept partial saves, and a Handle migration carries existing installs forward.

Supported channels: Slack, Discord, Telegram, Signal, SMS, WhatsApp Cloud, WhatsApp Personal.

Identity / Handles

Add a Handle newtype with sanitization rules and a build-script-generated reserved-name list; rename User.username to handle and require Agent.user_id + Agent.handle.

Add App.handle, Channel.handle, and rename McpServer.slug to handle; switch all four to handle-keyed paths.

Unify on-disk storage under data/users/{handle}/{subsystem} with per-channel storage paths.

Switch Cedar entity UIDs to Kind::"{user_handle}/{entity_handle}" with User parent; refactor SandboxPrincipalRef into a struct + Kind enum and rewire policy::service accordingly.

Update the Cedar schema, db init indexes, and add a handle_unification migration (cutover at 2026-05-24T00:00:00Z); drop seed_config_agents.

Reshape CandidateEvent to carry typed User / Channel / Chat / Message / Contact references.

Carry user handle through the auth middleware and all API routes: admin/auth, agents, app proxy, files, MCP, browser, skills, tools, messages.

Scope agent skills by user_handle/agent_handle; update content + sandbox tools, the tool manager, and agent-affecting tools to use Handle paths.

Thread Handle through chat, channel, credential, notification, memory, and inference services.

Refresh built-in agent prompts and the manage_service prompt + manifest schema for handle-keyed URLs.

Tasks / Cron

Add a result_schema classifier and renderer for task result delivery; require result_schema on create_task / create_recurring_task and schema-drive source-chat delivery.

Plumb result_schema through create_cron_template + spawn_cron_run; accept complete_task.result as any JSON value and validate against the schema.

Restrict send_message to the agent's heartbeat chat so tasks deliver through complete_task.result.

Fix CronRun crash-recovery race by narrowing the orphan query and reordering resume_all.

Thread space_id through cron templates so CronRuns deliver into the right space.

Wrap the initial task instruction in regardless of authoring agent.

Hide task-execution chats from the navigation space view; demote empty task-completion history rows from warn to debug.

Remove the unused SCHEDULED_TASK.md prompt; advertise recurring digests and briefs as researcher responsibilities.

Chat / Frontend

Load older chat messages on scroll-to-top and merge historical messages with SSE-buffered ones when loading a chat.

Show day separators, conversation gaps, and per-message time on hover.

Split auth, navigation, and session contexts; replace AuthGuard with AppGate + RequireAuth and rewire auth/setup/main layout for the new gating model.

Route apps, notifications, and settings by handle; switch main pages and the conversation panel to the new context APIs; update types and the api-client for handle-based responses.

Channels

Skip setWebhook when...

handle agent chat user search task

Related Articles