• v1.13.0 4133f5c757

    ChatTLLX v1.13.0
    All checks were successful
    CI / Safe checks (pull_request) Successful in 3m15s
    Container images / Build temporary amd64 candidates (push) Successful in 5m34s
    Container images / Smoke-test App candidate (push) Successful in 1m0s
    Container images / Smoke-test Whisper candidate (push) Successful in 41s
    Container images / Publish immutable amd64 candidates (push) Successful in 41s
    Release / Verify and publish release (push) Successful in 1m14s
    Stable

    Ghost released this 2026-09-02 05:30:24 +00:00 | 142 commits to main since this release

    Changelog

    All notable public changes to ChatTLLX are documented here. The project follows
    Keep a Changelog and uses semantic versioning for
    published releases.

    Unreleased

    [1.13.0] - 2026-09-02

    Added

    • Connect a complete CalDAV account once and import each discovered calendar collection as its own
      independently synchronized ChatTLLX calendar.

    Fixed

    • Keep CalDAV event identities stable across repeated synchronization, UID-less resources, and
      recurrence exceptions while preserving concurrent local calendar changes.
    • Prevent CalDAV credentials and server-owned synchronization metadata from being redirected to
      resource URLs outside the configured calendar origin.

    [1.12.0] - 2026-08-31

    Added

    • Let each user choose the upload quality and vision detail used for personal and folder-context
      images while keeping web-research media on its fixed optimized path.

    Fixed

    • Keep SSE chat streams attached through normal mobile-network backpressure and resume delivery in
      exact event order instead of reporting a broken connection.
    • Reveal provider bursts in calm line-sized groups, keep sent turns pinned smoothly to the bottom,
      and preserve the blur-to-sharp streaming motion without painting individual provider tokens.
    • Prevent models that restart after an image or tool call from repeating an already streamed
      pre-tool answer before continuing with the actual result.

    [1.11.0] - 2026-08-31

    Added

    • Add administrator-managed automatic encrypted snapshot schedules with persistent failure health,
      a global warning, bounded retention, and a restricted host-operator configuration path.
    • Add per-model knowledge-cutoff metadata and response-mode cloning in the runtime editor.

    Changed

    • Improve Skills and response-mode administration layouts, including responsive descriptions and
      safer runtime controls.
    • Defer administration-only maintenance and mode-cloning code until it is needed, keeping the
      authenticated application bundle inside its compressed performance budget.
    • Include configured model knowledge cutoffs in localized inference context across interactive,
      legacy, Personal API, and scheduled requests.

    [1.10.0] - 2026-08-30

    Added

    • Add a complete administrator Prompt Studio for each model and language, including exact managed
      prompts, localized tool and argument descriptions, response-mode prompt overrides, an outgoing
      prompt preview, and individual or full restoration of the maintained defaults.

    Changed

    • Replace the overly prescriptive bundled system prompt with a compact, idiomatic English and
      German default while preserving every administrator-authored custom prompt during migration.
    • Load the sizeable Prompt Studio only when an administrator opens the runtime settings so the
      protected main application remains within its compressed startup budget.

    Fixed

    • Keep answer streaming responsive after reasoning and tool phases, reveal provider-delivered text
      batches smoothly, preserve trace completion state, and recover cleanly when live events briefly
      stall or reconnect.
    • Show bounded, secret-redacted OpenAI-compatible provider errors to users instead of turning
      failed streaming responses into empty or generic failures.

    [1.9.0] - 2026-08-30

    Changed

    • Reorganize the browser and server orchestration into focused, independently tested controllers
      and services, with explicit account, page, stream, artifact, and scheduled-run lifecycles.
    • Send ChatTLLX-owned runtime instructions, tool descriptions, approval receipts, and generated
      document guidance in the user's active language while preserving administrator-authored prompts
      exactly.

    Fixed

    • Keep server-side chat jobs recoverable when a mobile browser is backgrounded, the SSE connection
      changes, or the initial job acknowledgement is lost, without duplicating or discarding the
      optimistic user turn.
    • Preserve streaming text, files, diagrams, reasoning traces, scroll position, and checkpoint
      ordering across incremental renders, reconnects, chat switches, and Excalidraw completion.
    • Prevent stale asynchronous work from leaking across accounts or pages in settings, skills,
      calendars, folders, scheduled runs, transfers, overlays, and administration views.
    • Create multiple calendar events from one approved tool call and apply temporal validation to
      every event in the batch.
    • Avoid the intermittent gray iPad surface with video backgrounds and restore deterministic
      bottom-of-chat scrolling after a newly submitted message.

    Removed

    • Remove the little-used tasks page and its client-side orchestration.
    • Remove the Nitter-backed X search integration and its administrator setting after the public
      upstream became unavailable; the remaining web and social extraction paths continue normally.

    [1.8.1] - 2026-08-24

    Changed

    • Split the largest browser and server orchestration paths into focused, independently tested
      controllers and services while preserving existing behavior, security boundaries, and public
      interfaces.
    • Enforce the server configuration dependency boundary in the architecture checks and refresh the
      developer architecture documentation for the modular layout.

    [1.8.0] - 2026-08-22

    Added

    • Add federated social research behind the existing web tools: optional Nitter-backed X search,
      specialized public readers for X, Instagram, Reddit, LinkedIn, and YouTube, bounded Reddit
      comment continuation, subtitle windows, and numbered social-media collages.
    • Let each user choose a complete memory-context strategy for runtimes without embeddings. The
      chat keeps a stable baseline in its first system message and appends only later-created memories
      to the current user turn.

    Changed

    • Show social extracts as dedicated reasoning-trace cards, keep exact source paths and meaningful
      query parameters visible, and make answer-source controls usable on touch devices.
    • Replace the previous bundled prompt's redundant generic safety prose with the compact ChatTLLX
      behavior prompt while preserving every administrator-edited custom prompt.

    Fixed

    • Scroll a newly submitted turn into view immediately and accept HTTP/2 :authority as the Host
      equivalent in local origin checks.
    • Preserve Reddit RSS thumbnails that are exposed as plain Reddit media URLs and match hyphenated
      X search terms against posts that use spaces.

    [1.7.0] - 2026-08-22

    Changed

    • Refresh ask-user and tool-approval cards with focused multi-step questions, clearer change
      previews, responsive controls, and animated accept, reject, and completion states.
    • Ship the protected application and stylesheet graph as compact release bundles, negotiate
      Brotli or gzip directly in ChatTLLX, and use HTTP/2 for direct HTTPS installations.
    • Make remote chats use revision-only state checks, long-held fallback requests, batched provider
      deltas, incremental Markdown, and less frequent encrypted checkpoints while preserving exact
      final state and tool-event ordering.

    Fixed

    • Reduce mobile rendering and battery load by pausing hidden video and UI polling, limiting live
      waveform and text paint rates, avoiding persistent streaming animation layers, and replacing
      expensive coarse-pointer backdrop effects with opaque surfaces.
    • Lazy-load historical images and math support, serve private media with cache validators and byte
      ranges, and compress large encrypted chat payloads before upload without changing the E2EE
      trust boundary or breaking existing envelopes.

    [1.6.0] - 2026-08-20

    Added

    • Add answer footers with tool-derived source lists and optional same-request follow-up suggestions,
      without requiring a second model call or trusting model-written citation metadata.
    • Let administrators choose the response mode highlighted by the composer and expose unavailable
      speech input as an explanatory disabled control instead of hiding it.

    Changed

    • Refresh the chat workspace with a compact searchable sidebar, calmer gray-green surfaces, a
      responsive prompt bar, smoother streamed text, and a configurable green default accent while
      preserving each user's deliberately chosen custom color.
    • Replace the old centered reasoning overlay with an expandable desktop trace and mobile bottom
      sheet that keep tool history collapsed by default, preserve live DOM state, and remember
      per-chat sizing.
    • Number web-search results for follow-on extraction and show safely proxied site icons in web tool
      cards and answer source controls.

    Fixed

    • Keep the response spinner and active-status shimmer stable across stream updates, constrain the
      reasoning trace around mobile navigation, and reset or restore its size at the correct chat
      boundary.
    • Avoid displaying broken inline-image placeholders, prevent locked chats from opening, and align
      sidebar groups, controls, hover states, and custom-wallpaper edges across desktop and mobile.

    [1.5.0] - 2026-08-20

    Added

    • Make the optional memory embedding endpoint an administrator setting (Models & endpoints):
      URL, API key, model ID, and timeout are database-owned, save without a restart, and fall back to
      keyword-only memory retrieval when empty or unreachable. The previous memory.embeddings
      deployment values are adopted exactly once as migration input on upgrade.
    • Let administrators assign a separate write-only API key to every user for each configured
      OpenAI-compatible provider endpoint. Chat, Personal API, scheduled/background inference, remote
      speech, and embeddings use the user credential first and otherwise keep the instance fallback.

    Fixed

    • Retry chat and branch title generation after transient model failures instead of permanently
      leaving a provisional title behind.
    • Keep masked speech and embedding secrets bound to their exact endpoint instead of carrying them
      across a URL change; build embedding request URLs once and refresh vectors after endpoint/model
      changes.

    [1.4.1] - 2026-08-13

    Changed

    • Let managed CLI updates choose their encrypted operator backup path and recipient automatically,
      while still accepting explicit off-host backup destinations and optional v-prefixed versions.

    Fixed

    • Keep Debian and Ubuntu release metadata from overwriting the ChatTLLX application version when
      Docker is installed automatically, and create the restricted operator's backup directory before
      systemd constructs its filesystem namespace.
    • Restore direct upgrades from pre-1.4 installations without giving up digest-pinned container
      images, and publish a separately checksummed compatibility envelope plus a guarded recovery
      bootstrap for the strict 1.4.0 updater and already malformed installation state.

    [1.4.0] - 2026-08-13

    Added

    • Add separate instance and personal skill libraries: users can create reusable skills, organize
      them in folders, and disable individual administrator-provided skills for their own chats.
    • Replace the copied frontend prompt with editable ChatTLLX-native defaults for product help,
      self-contained web artifacts, and reliable Excalidraw diagrams.
    • Print a verifiable SHA-256 fingerprint for direct-LAN TLS certificates in the installer and app
      log before users accept a browser certificate exception.

    Changed

    • Make personal API model documentation, composer and regeneration choices, scheduled tasks,
      background helpers, and visual emphasis follow arbitrary administrator-defined response modes.
    • Restrict private-network access to exact administrator-approved server-integration origins;
      model-controlled web and browser tools never receive a blanket LAN bypass.
    • Bind every release archive and managed Compose deployment to the verified OCI digest of its App
      and optional Whisper image in addition to the auditable revision tag.

    Fixed

    • Commit password changes and account recoveries atomically so concurrent requests cannot leave a
      new password paired with stale end-to-end-encryption wrapping material.
    • Keep saved ExcaliDash API keys write-only in the browser while preserving a masked key only when
      its endpoint remains unchanged.

    Security

    • Prevent skill metadata from breaking prompt structure, keep instance skill content out of the
      personal settings API, and apply owner scoping and bounded storage to personal skills.
    • Close broad private-URL and mutable-container-tag trust paths while preserving existing private
      ExcaliDash installations until an administrator saves the new exact-origin policy.

    [1.3.0] - 2026-08-13

    Added

    • Added a four-step first-run administration wizard that stages provider, model, response-mode,
      prompt, and speech choices and saves them only when setup is finished.
    • Added portable chat and folder export/import for moving readable conversations between
      ChatTLLX accounts or instances, with target-side re-encryption and explicit file limitations.
    • Added provider workspaces with shared credentials, multiple named models per provider, and
      response-mode routing that can select a different model for each user-visible mode.
    • Allow every user to choose their own interface language independently of the instance default.

    Changed

    • Redesigned personal settings around the same responsive workspace language as Administration,
      including grouped navigation, focused panels, and a consistent save bar.
    • Turned runtime presets into reviewed previews with explicit confirmation instead of applying
      them immediately, while preserving saved provider credentials.
    • Reworked response modes and Prompt Studio around plain-language user experience, routing, and
      prompt-composition steps, with advanced controls kept out of the primary workflow.
    • Moved administrator user creation into a focused modal and made the completed-instance setup
      page a compact maintenance workspace rather than a repeated onboarding flow.

    Fixed

    • Prevent concurrent recovery-key rotations from committing stale credentials and invalidating a
      replacement key that the user has just saved.
    • Apply calendar visibility and color changes to existing events immediately, including public
      feed access and revocation.

    [1.2.4] - 2026-08-11

    Added

    • Allow users to rotate their end-to-end encryption recovery key from the account settings while
      logged in. The current password serves as proof; the master key does not change, the old recovery
      key stops working immediately, and all other sessions are revoked.

    [1.2.3] - 2026-08-11

    Fixed

    • Stop voice recordings without synchronously discarding the browser's final MediaRecorder events,
      and show transcription progress immediately after the user stops speaking.

    [1.2.2] - 2026-08-11

    Fixed

    • Refresh the restricted host operator after direct CLI and maintainer updates, then require its
      speech-mode reconciliation before accepting the deployment as complete.

    [1.2.1] - 2026-08-11

    Added

    • Added a focused administration workspace for speech transcription, including selectable local
      faster-whisper models and clear local, external OpenAI-compatible, or disabled modes.
    • Added downloads for every completed fenced code block, with language-aware filenames such as
      .md, .py, .js, and .txt.

    Changed

    • Run the managed Whisper container only while local transcription is selected; external and
      disabled speech modes now reconcile the host stack without leaving the local worker running.
    • Localize boot, authentication, calendar, scheduled-task, approval, speech, push, and persisted
      completion-state messages through stable error codes and role-scoped translation namespaces.

    Fixed

    • Release microphone tracks immediately when recording stops so transcription starts without
      requiring users to revoke microphone access first.
    • Force generated PDFs through the browser download path and keep PDF cards inside the current
      page, preventing an unclosable PDF view in installed iPadOS PWAs.
    • Preserve existing image downloads while providing RFC-compatible Unicode attachment filenames.

    Security

    • Keep upstream and internal failure details out of localized browser errors, persisted chat
      states, scheduled notifications, and calendar sync status while retaining additive API codes.

    [1.2.0] - 2026-08-11

    Added

    • Added a self-initializing amd64 Docker Compose file that can be pasted into Portainer, persists
      configuration and secrets in named volumes, and prints the first-admin token in the init log.

    Changed

    • Build and smoke-test App and Whisper images once in trusted Forgejo CI, publish immutable
      revision tags, and promote tested release bytes to exact-version, major, and latest channels.
    • Make the installer, updater, and native migration pull release-pinned registry images instead of
      compiling an image independently on every self-hosted server.

    Security

    • Keep managed installations and rollbacks bound to immutable image revisions while limiting the
      CI registry credential to a dedicated package-only Forgejo token.

    Fixed

    • Publish images with a digest-pinned, daemonless builder so the hardened Forgejo runner stays
      unprivileged and does not need Docker-in-Docker or the host Docker socket.
    • Keep App and Whisper registry uploads below the proxy request limit with a headless-only browser
      runtime and bounded dependency layers, without downloading runtime dependencies on self-hosters.

    [1.1.2] - 2026-08-09

    Changed

    • Make fresh zero-prompt installations directly reachable over HTTPS on an automatically detected
      private LAN address, with localhost fallback and exact Origin allowlisting.
    • Print the one-time administrator setup token in a separate highlighted completion block.

    Fixed

    • Let root shells in minimal LXC containers run the documented installer without requiring sudo,
      and force numeric service ownership so Debian hosts do not resolve container IDs as user names.
    • Distinguish invalid browser Origins and CSRF failures from genuinely disabled registration on the
      first-account screen.

    [1.1.1] - 2026-08-09

    Changed

    • Reorganized Administration around a responsive overview and grouped task areas, with separate
      screens for quick setup, model endpoints, response modes, prompts, and instance operations.
    • Made an arbitrary OpenAI-compatible endpoint the primary setup path and presented model presets
      only as optional starter values.
    • Replaced raw JSON fields for provider and chat-template options with typed parameter rows and
      moved sampler controls behind clearly labeled advanced sections.

    Fixed

    • Open the Administration overview before its API requests finish and keep successfully loaded
      areas usable when another admin endpoint fails, preventing an empty settings screen.
    • Keep the mobile Administration layout inside the viewport and hide the shared save bar on
      read-only overview and operations screens.

    [1.1.0] - 2026-08-09

    Added

    • Added first-admin runtime onboarding with database-backed OpenAI-compatible endpoints, multiple
      models, user-visible response modes, endpoint discovery, one-click local Qwen and neutral
      presets, and an official QwenCloud Qwen3.8 Max endpoint/reasoning template.
    • Added System Prompt Studio with complete per-model and per-mode managed/raw prompt control.
    • Added database-configured local, disabled, or remote OpenAI-compatible speech transcription.
    • Added an Administration update screen backed by a restricted host operator, encrypted backups,
      same-major release validation, and bounded live progress logs.

    Changed

    • Made the default installer non-interactive and moved model, prompt, mode, sampler, and speech
      choices into onboarding and persistent administration settings.
    • Replaced llama.cpp-specific statistics polling with standard OpenAI usage fields and explicit
      provider-independent estimates when an endpoint does not report usage.
    • Made local Whisper load its model only when local transcription is first used.
    • Removed screenshots and branding images from the repository README files.

    Fixed

    • Kept the operations doctor compatible with the restricted update-operator mount and with
      pre-1.1 environments during an automatic rollback.

    Security

    • Kept the application container read-only and without Docker access; host updates cross only a
      narrow Unix-socket protocol and invoke the verified updater without a shell.
    • Redacted stored runtime and speech API keys from admin responses and internal upstream model IDs
      from normal user model listings.

    [1.0.23] - 2026-08-08

    Added

    • Added a private account wallpaper gallery for quick switching and individual deletion.
    • Added an explicit in-chat sound toggle for video wallpapers; sound remains muted by default and
      is enabled only for the current browser session.

    Fixed

    • Make account and folder wallpaper previews reflect the selected black-overlay opacity.

    [1.0.22] - 2026-08-08

    Added

    • Added animated GIF and video chat backgrounds for accounts and folders, including inherited
      folder settings and adjustable video playback speed.

    Fixed

    • Blend light wallpapers cleanly into the navigation and chat chrome, improve recent-chat
      readability, and remove dark seams around the composer.

    Security

    • Updated the pinned Nano ID dependency to its patched release.

    [1.0.21] - 2026-08-07

    Changed

    • Removed broad built-in refusal blocks for child-safety, weapons, malicious code, real public
      figures, conversation endings, and legal or financial guidance. Deployment-specific model
      safety remains the responsibility of the configured upstream runtime.

    [1.0.20] - 2026-08-07

    Added

    • Added private per-account chat backgrounds with adjustable black overlays, plus per-folder
      overrides inherited by subfolders. Background images are encrypted at rest and use the existing
      per-user storage quota.

    Fixed

    • Keep Instant responses visibly streaming when tool calls use the default Collapsed view.
    • Show injected-memory context above the answer as soon as it arrives instead of waiting for the
      response to finish.
    • Preserve folder PIN state when folder metadata such as a background is edited.

    [1.0.19] - 2026-08-07

    Fixed

    • Stream Instant responses visibly from the first content delta instead of displaying the answer
      only after generation completed.
    • Keep image-only and quote-only user turns in the model message chain instead of repeating the
      previous answer.

    [1.0.18] - 2026-08-07

    Added

    • Added an OpenAI-compatible personal audio-transcription endpoint with an explicit, independently
      configurable Whisper permission on every API key. The Whisper worker remains private inside the
      deployment network.
    • Let each scheduled task inject 0 to 10 of its previous successful results as bounded context so
      recurring research can avoid reporting the same information again.
    • Added a guided memory-profile workflow that supplies the model with the complete existing profile,
      keeps its technical prompt out of the transcript, and encourages small reusable memory entries.
    • Let administrators create users with a one-time setup password that must be replaced with the
      user's own password and E2EE material before application access is granted.

    Changed

    • Removed the user-facing tool-round setting from scheduled tasks. Background tool chains now run
      until a final answer or the existing wall-clock safety timeout instead of being cut off after an
      arbitrary number of model rounds.
    • Reorganized administrator settings into focused views for global token statistics, actionable
      diagnostics, backups, translation editing, skills, and user management. Token windows now expose
      separate input, output, cache, request, and total values without returning per-user data.
    • Made effective Whisper status, model, language mode, and audio limits read-only in the admin area;
      deployment configuration is now the single runtime source, and the installer supports automatic
      language detection explicitly.

    Fixed

    • Kept interactive runtime presets authoritative so Instant chat cannot silently re-enable
      thinking from stale browser values and delay visible answer tokens until completion.
    • Hide personal API-key settings as soon as an administrator disables the feature, including when
      the operator switch changed after the current browser session started.
    • Keep collapsed desktop navigation icons at the same optical size as the open navigation and
      replace the conflicting opacity flash with a stable color transition.
    • Make folder locking authoritative in the server session and purge already decrypted descendant
      chats, folder context, and attachment caches from the browser after a successful lock.
    • Default calendar sources to expanded on desktop and collapsed on mobile while preserving an
      explicit choice made by the user.
    • Save scheduled run results through the browser's E2EE boundary so encrypted accounts can add
      them to chats without exposing plaintext conversation records to the server.
    • Persist scheduled reasoning and result-history settings in legacy SQLite installations through
      an additive schema-12 migration; the supported PostgreSQL schema remains unchanged.
    • Made scheduled-task dialogs usable on small screens, restored the new-task icon, and removed the
      decorative hero badge.
    • Restored smooth scrolling inside collapsed mobile tool traces and replaced the temporary-chat
      action with a clearer icon.
    • Kept login usable on narrow mobile viewports and when generic content blockers block URLs that
      contain authentication-related words, while retaining the documented compatibility routes.
    • Separated HTML artifact and PDF tool contracts so requests for webpages produce sandboxed HTML
      while explicit PDF requests continue to use create_pdf, including legacy saved tool calls.
    • Removed retired Mermaid prompt settings and stale diagram instructions without removing the
      renderer for Mermaid diagrams already stored in conversations.
    • Removed duplicate database-backed Whisper settings that could display small while a different
      deployment model was actually active.

    [1.0.17] - 2026-07-16

    Added

    • The admin statistics tab shows a system inventory: counts of users, chats, messages, folders,
      files, file storage, memories, API keys, and scheduled tasks as system-wide aggregates without
      account identifiers or contents.
    • Token usage windows additionally report cache reads, the derived cache hit rate, and request
      counts. Cache reads stay informational and never count toward the total.

    Changed

    • The mobile settings and admin tab strip fades symmetrically at both edges instead of
      hard-clipping tab pills at the viewport edge.

    [1.0.16] - 2026-07-16

    Changed

    • Mobile sidebar now uses the compact density of the desktop navigation: 40px rows, smaller
      labels, tighter spacing, and a narrower 300px drawer so more chats are visible at once.
    • The mobile drawer opens and closes with one consistent ease-out slide and a fading backdrop;
      with reduced motion enabled it cross-fades briefly instead of appearing instantly.

    [1.0.15] - 2026-07-16

    Changed

    • Consolidated full Forgejo validation into the pull-request workflow; merge commits are no longer
      retested on main, and tagged releases only validate their ref before deterministic packaging.
    • Added guarded release preparation and beta-first shipping commands that build one candidate,
      publish only after beta health verification, and keep verbose remote update output bounded.

    Fixed

    • Excluded in-application .ctb snapshots from full disaster-recovery packages so backups no
      longer grow by recursively embedding earlier backups.

    [1.0.14] - 2026-07-16

    Fixed

    • Verify the current container identity and require three consecutive healthy observations before
      update verification or rollback verification proceeds.

    [1.0.13] - 2026-07-16

    Fixed

    • Require an actual healthy container state during updates instead of treating a temporarily
      missing health status as successful.

    [1.0.12] - 2026-07-16

    Fixed

    • Wait for PostgreSQL, the application, Whisper, and the optional Caddy proxy to become healthy
      before post-update verification and after an automatic rollback.

    [1.0.11] - 2026-07-16

    Changed

    • Expanded every administrator token-usage window with separate uncached input, output, and total
      values while preserving system-only aggregation and account privacy.

    [1.0.10] - 2026-07-16

    Added

    • Split diagnostics, backups, and private system-wide token aggregates into dedicated administrator
      views. The usage windows cover 7, 30, and 90 days plus all recorded time without returning
      account identifiers or individual usage values.

    1.0.9 - 2026-07-15

    Fixed

    • Restored text and hybrid web search after the DNS-pinned network dispatcher had been paired with
      an incompatible built-in Fetch runtime.

    1.0.8 - 2026-07-15

    Security

    • Made the configured origin and bind-address boundaries authoritative, ignored spoofable
      forwarding headers, and routed browser automation and server-side fetches through DNS-pinned,
      policy-checked sockets.
    • Hardened account setup and credential changes with a one-time initial setup token, host-scoped
      cookies, session rotation, stronger password hashes with transparent migration, and safer
      account-input handling.
    • Prevented private response caching, redacted internal upstream, tool, automation, and renderer
      failures, bounded every auxiliary upstream response, and required explicit approval before
      exposing public errors.
    • Confined encrypted files and restore staging to validated data paths, serialized file-quota
      reservations, validated backup contents before replacement, and enforced exclusive push-endpoint
      ownership with stable key identity.
    • Sanitized diagram resources, translations, calendar URLs, administrator-controlled settings,
      persistent UI identifiers, and the pre-login secret at their trust boundaries.
    • Hash-pinned Whisper Python dependencies and prevented CI from downloading undeclared packages.

    1.0.7 - 2026-07-15

    Fixed

    • Restored the fixed mobile PWA viewport so browser pinch zoom no longer changes the application
      scale.
    • Kept the full-screen boot-logo reveal while removing its continuous idle pulse and isolating the
      transform on a compositor layer to avoid startup stutter on mobile devices.
    • Added bounded PDF text extraction to website reading so PDF bytes never appear as corrupted text
      in tool traces or model context.
    • Added one automatic final-answer recovery after normal tool results and report a visible error if
      the model still stops without answering instead of silently completing the chat job.

    1.0.6 - 2026-07-14

    Added

    • Added a validated server.proxyBindHost setting so an external reverse proxy on another trusted
      host can reach the Compose application without wildcard port exposure.

    Fixed

    • Imported protected native translation files without weakening the durable container capability
      boundary or changing their application ownership.
    • Normalized migrated runtime metadata ownership so the production doctor remains clean on
      setgid installation directories.

    1.0.5 - 2026-07-14

    Fixed

    • Added an explicit migration override for preserving metadata whose encrypted file artifact was
      already missing from the native source, while continuing to reject every unsafe path.

    1.0.4 - 2026-07-14

    Fixed

    • Excluded the regenerable native Whisper cache and virtual environment from the cutover data
      validation, allowing standard virtual-environment links while preserving strict validation for
      every path copied into the Compose runtime.

    1.0.3 - 2026-07-14

    Fixed

    • Allowed normal links inside the regenerable Whisper cache and virtual environment to remain
      excluded from native disaster-recovery backups while retaining strict link rejection for every
      path that enters the encrypted package.
    • Enforced the reviewed Docker operating-system matrix even when an end-of-life Ubuntu release
      omits support metadata from /etc/os-release.

    1.0.2 - 2026-07-14

    Added

    • Added a staged native-to-Compose migration that prepares images while the existing service stays
      online, moves the encrypted SQLite state into PostgreSQL, and verifies the protected/public HTTP
      boundaries before completing the cutover.
    • Added consistent SQLite snapshots, age-encrypted native backups, externally verified backup
      checksums, an encrypted post-migration backup, and automatic rollback to the native systemd
      service when the Compose cutover fails.
    • Added an opt-in end-to-end migration fixture using the real PostgreSQL and Compose services.

    Changed

    • Published English and German migration runbooks for backup, cutover, verification, and rollback.
    • Refused automatic Docker installation after a host operating system reaches its declared support
      end.

    Fixed

    • Included the required license and community files in fresh container build contexts.
    • Kept the source migration lease active while creating the final consistent SQLite snapshot.

    1.0.1 - 2026-07-14

    Security

    • Replaced vulnerable transitive dependencies in the bundled Excalidraw renderer with reviewed,
      pinned versions and regenerated the browser runtime.
    • Added an exact install-script allowlist for esbuild and a CI audit gate for the complete
      dependency tree.
    • Replaced the deprecated transitive sliced package with a documented, MIT-licensed local
      compatibility implementation.

    1.0.0 - 2026-07-14

    Added

    • Interactive, checksum-verified Compose installer for Linux/amd64.
    • PostgreSQL storage separated into identity, content, automation, files, and operations schemas.
    • Self-hosted Whisper service, encrypted backups, restore tooling, and atomic updates.
    • Forgejo CI and immutable, reproducible release archives.
    • English-first public documentation, community policies, AGPL-3.0-or-later licensing, and an
      explicit no-telemetry guarantee.
    Downloads