---
title: "2026.05.26"
date: 2026-05-26
extra:
  version: "2026.05.26"
  build: 13
  change_id: zxplntwtkqky
  highlights:
    - text: "Local data moved to a new storage engine, migrated on first launch"
    - text: "Sync replicates your data to a server you host yourself (experimental)"
      path: "/settings/sync"
    - text: "Workspaces group your bots and conversations"
      path: "/workspaces"
    - text: "Provider and tool API keys moved to your device's OS keystore"
      path: "/settings/providers"
---

This release lays the groundwork for using BYLM across devices: local data
moved to a new storage engine with a one-time guarded migration, an
experimental sync mode replicates your data to a server you host, and
workspaces let you group bots and conversations.

## A new local storage engine

All local data — conversations, bots, providers, tools, memories, settings,
images — moved from the previous database to Couchbase Lite. The switch
happens through a one-time migration behind a progress screen on first
launch; interrupting it mid-way is safe, and the migration resumes on the
next start. This release also hardens the migration itself (accurate
progress display during the final compaction step, resumable image
back-fill).

As part of the move, provider and tool API keys now live in your device's
OS keystore instead of the database.

## Sync across your devices (experimental, bring your own server)

True to BYLM's bring-your-own philosophy, sync replicates to a server you
run yourself — a Couchbase Edge Server or Sync Gateway endpoint:

- A Sync settings page captures the endpoint URL and credentials, with an
  enable toggle and a live status block.
- When enabled, the app continuously pushes and pulls conversations, bots,
  providers, tools, memories, and settings in both directions.
- Changes from another device appear live: a conversation started
  elsewhere shows up in the list, and a reply streamed on another device
  lands in the open chat without reloading.
- A sync status icon in every screen's top bar (and a row in the drawer)
  shows at a glance whether sync is healthy, transferring, offline, or
  erroring — tap it to jump to the settings.
- API keys deliberately do **not** replicate — they stay in each device's
  keystore, and the provider form reminds you to re-enter them per device.

## Workspaces

- Create, rename, and delete workspaces to group your bots and
  conversations; deleting one asks whether to move its contents to Default
  or delete them too.
- A switcher in the navigation drawer scopes the Conversations and Bots
  lists to one workspace (or All).
- Bots can be moved between workspaces from the bot form; new bots land in
  the workspace you're viewing and conversations inherit their bot's
  workspace.

## Bot and provider quality of life

- Favorite bots: a star on each tile pins your frequently-used bots to the
  top of the list.
- The bot form shows editors only for the parameters the selected model
  actually supports, adds tools with a single tap, and links to provider
  creation when no provider exists yet.
- Picking a provider type pre-fills a sensible base URL, suggests
  alternatives, and links to the upstream API-keys panel.

## Settings

- A Code blocks settings page: word-wrap and tab size, persisted and
  applied to every code block (each block also gets an inline wrap toggle
  and settings dialog).
- A Cleanup page scans for reclaimable data — starting with orphaned image
  attachments — and cleans it on demand, instead of paying for the scan at
  every app start.
- The Settings screen shows the exact build (commit and date) at the
  bottom, so bug reports can pin the binary.

## Fixes and polish

- The composer keeps focus and its caret across a full send-and-reply
  cycle, and focuses automatically when a conversation opens — you can
  just start typing.
- Fixed a startup crash on Android introduced by the storage engine
  switch.
- Editing the sync form no longer loses your typing when a status update
  redraws the page.
- Retry now also appears when a provider times out mid-stream.
- Code blocks no longer carry a stray empty final line, and streamed text
  re-themes correctly when the system switches between light and dark.
- Consistent spacing across the conversation screen, and model names wrap
  to the full row width on narrow screens.
