🎉 Say hello to Olares v1.12.7.
Router and Lares take center stage in this release, connecting models, tools, and multi-step work across your personal cloud. The release also expands the model applications available through Market and brings new capabilities to LarePass, support, and language settings.
Since rc.3, we have also fixed two Market issues affecting curated lists and preinstalled catalog updates, and finalized the accompanying onboarding and documentation.
Important
Before updating, read the Olares v1.12.7 update guide. If your system is on v1.12.5 or earlier, follow the version-specific migration path in the guide.
Highlights
Router: One Gateway for Models and Tools
-
Introduced Router, an AI gateway that gives integrated applications a consistent interface for local models, external providers, and tools such as web search, translation, and OCR.
-
Added the
olares-cli routercommand tree for providers, models, API keys, quota, usage, and audit, plus model calls covering chat, embedding, transcription, speech, OCR, translation, and image, video, music, and 3D generation. -
Expanded Router coverage to every audio capability, including voice cloning, alignment, dialogue, and diarization, with streaming input and asynchronous tasks.
For details, see Use Olares Router as your AI gateway.
More Model Types for Local AI
- Expanded the catalog of model apps available through Market across chat, speech, translation, OCR, embeddings and reranking, and image, video, and music generation.
Lares: The Agent for Your Personal Cloud
Introduced Lares, the first-party Olares agent for planning and carrying out multi-step work across apps, files, and system services from a plain-language goal.
For details, see Manage Olares and run research tasks with Lares. For a guided first run, follow Manage Olares through natural language.
LarePass Updates: Local Access, Translation, and Fetch
-
Recent LarePass Desktop updates include hosts management on Windows and macOS, so your computer can reach Olares over the LAN without the LarePass VPN. For details, see Access Olares services securely.
-
The latest LarePass Chrome extension adds page translation through Router, processed locally by a translation model hosted on your Olares. For setup and usage, see Install the LarePass browser extension and Translate webpages privately with LarePass.
-
Added Fetch in LarePass Desktop.
-
Added support for saving HTTP(S) files, magnet links, torrents, Hugging Face repositories, and supported media directly to Olares, with transfers completing in the background.
-
Added
olares-cli knowledge downloadfor managing Fetch and download tasks from the terminal, including batch operations, Hugging Face cache checks, and integration cookie import for login-gated sites.
-
Ticket: Official Support from Your Device
Added Ticket, a channel for contacting official support from a device or Olares Space. Submit device-specific issues, attach system information and logs when asked, and follow replies and status in one place.
For details, see Get technical support.
Five Additional Language Options
-
Added French, German, Italian, Spanish, and Japanese as language options across supported Olares experiences. Availability varies by application.
-
Language coverage rolls out app by app: the browser desktop in v1.12.7 supports English and Simplified Chinese, while LarePass supports all seven languages.
Enhancements
Applications & Market:
- Added cancel support for app resume and upgrade operations, with correct watch behavior when an operation ends in the stopped state. (#3740 @icebergtsn, #3761 @pengpeng)
- Improved offline installs with validated Market preinstall bundles, ensured catalog apps on upgrade, and olares-cli preinstall check for bundle and image preloads. (#3762, #3821, #3829, #4057, #4074, #4080, #4090 @pengpeng, @aby913, @eball)
- Improved app lifecycle reliability: fail fast on unrecoverable pods, distinguish a stop that cannot finish from one still working, cap upgrade history at 10 revisions, and validate upgrades against the resource delta. (#3820, #3871, #4045, #4046, #4055 @hysyeah, @pengpeng)
- Added selective override of existing app environment variables during upgrade, filling empty fields and updating changed defaults while preserving the rest. (#4124 @dkeven)
- Granted applications that declare permission.loginOlaresCLI a long-lived in-pod olares-cli credential, created on install and upgrade and revoked on uninstall. (#3982, #3984, #4021, #4041 @hysyeah, @pengpeng)
- Added olares-cli market download to recover a stored chart, and clear errors for chart uploads whose architecture the cluster does not support. (#3793, #3852 @pengpeng, #3869 @aby913)
- Added localized Market search, v2 category and tag taxonomy validation, and i18n language discovery for app listings. (#3847, #3869, #4061 @aby913, #3940 @pengpeng)
- Switched Wise backup and restore to the shared Wise v3 service. (#3868, #3921, #4028 @aby913)
Search, Files & Knowledge:
- Moved global search to an asynchronous federated channel covering Drive, Sync, Google Drive, Dropbox, and Knowledge, and aligned olares-cli search with the Desktop entry. (#3710, #3993, #4036 @bleachzou3, #3994, #4052 @qq815776412)
- Added olares-cli search subcommands for Google Drive, Dropbox, and Knowledge. (#3844 @qq815776412)
- Improved document indexing with anydoc extraction for Office, PDF, and EPUB files, OCR for scanned PDFs, and better text handling for search recall. (#4036 @bleachzou3)
- Added recursive directory usage in Files (total size, file and folder counts), and SMB access to Common storage. (#3713, #3796 @lovehunter9, #3749 @aby913)
Networking & Access Control:
- Retired per-app Envoy sidecars: L4 now fronts all app routes with Authelia external auth, and identity headers are stripped and re-injected at the edge to prevent spoofing. (#3883, #3884, #3907, #3990, #4012, #4014 @oscdjj, @hysyeah)
- Enabled a Linkerd service mesh with automatic identity rotation for Shared in-cluster traffic. (#3785, #3804, #3942 @oscdjj)
- Made overlay gateway enable and disable atomic, with rollback protection, clearer error reporting, and no mDNS interruption while it is active. (#3724, #3727 @oscdjj, #3836 @eball)
- Added dev entrances for direct access to app pods during development. (#3754, #3756 @hysyeah)
- Improved multi-node management with cluster and node control plane APIs, node capability reporting, SSH password operations, and reboot or shutdown with per-node progress. (#3858 @pengpeng, #3902, #3906, #3927, #4047 @eball)
- Added one-command worker join with olares-cli node join-command on the master and node join on the worker. (#3789 @dkeven)
Hardware & Accelerators:
- Upgraded the NVIDIA container runtime to 1.19.1 and migrated containerd to the v3 config format, fixing NVML errors in GPU containers after a systemd reload. (#3735, #3751, #3813 @dkeven)
- Added Intel discrete GPU support: PCI-topology detection, per-driver resource resolution, XPUMD metrics, and SR-IOV reporting that advertises only the physical function. (#3755, #3778, #3779, #3962, #3965 @hysyeah)
- Added AMD discrete GPU support with ROCm, a device plugin, and a metrics exporter. Dashboard and olares-cli now report Intel and AMD GPUs alongside NVIDIA. (#3788, #3974, #4060, #4069, #4087 @hysyeah, #4068 @yongheng2016)
- Fixed GPU enable, disable, and uninstall on nodes with multiple accelerators, and repaired time-slice GPU lock handoff that could park CUDA threads. (#3911 @dkeven, #4097 @pengpeng)
- Changed time-slice GPU memory checks to charge only the memory an app declares, so unified-memory cards are no longer counted twice. (#3996 @dkeven)
- Sized the kubelet memory reserve to the host instead of a flat value, and regenerate it during upgrade to prevent host stalls on large-memory nodes. (#4008, #4023, #4106 @dkeven)
System & Installation:
- Added support for Ubuntu 26.04, including a time-sync fallback and blacklisting the in-tree nova driver so NVIDIA GPUs can bind. (#3696, #3963 @dkeven)
- Pinned system components to control-plane nodes so losing a single node no longer splits system services in multi-node clusters. (#4066 @dkeven)
- Reduced daemon and API server load with shared informer caches and change-gated config reloads. (#3518, #3520, #3521 @pengpeng, #3744 @eball)
- System readiness checks now evaluate workloads instead of individual pods, naming the failing component and its reason. (#3841, #4032 @dkeven)
- Added olares-cli doctor thirdleveldomain to find duplicate or reserved third-level domains before they cause routing conflicts. (#3697 @hysyeah)
- Added olares-cli settings appearance verbs for desktop widgets, layout reset, and wallpapers. (#4034 @icebergtsn)
- Exposed Files as a system provider and bound per-user identities so shared apps perform download and file operations as the real end user. (#3992, #4018 @kaki-admin)
- Improved olares-cli output for agents and scripts: JSON output across verbs with a consistent failure shape, accurate reporting of what market and chart verbs did, and correct OCR and voice task receipts. (#4123, #4125, #4132, #4133, #4139 @pengpeng)
- Exposed the five new system locales (de-DE, es-ES, it-IT, fr-FR, ja-JP) through olares-cli settings appearance language, gated on v1.12.7. (#4037 @icebergtsn)
Bug Fixes
- Fixed Market's See all action on curated rows opening the first curated list instead of the list for the selected row. (#4181 @icebergtsn)
- Fixed Market preinstall replay skipping catalog updates that had not been applied earlier. (#4182 @aby913)
- Fixed app state staying notReady after rollouts even when all entrances were running. (#3798 @hysyeah)
- Fixed app suspends failing with StopFailed after an app-service restart, and stops burning the full timeout on terminal or runtime-created pods they can never remove, with the blocking pod now named in the error. (#3808, #4046, #4055 @hysyeah, @pengpeng)
- Fixed user app settings (entrance, authentication, policy, and custom-domain overrides) being lost on redeployments. (#3742 @dkeven)
- Fixed Market uninstalls blocked by a broken schema migration, along with upload error reporting, upgrade version accuracy, duplicate CRD events, and recovery operation states. (#4072, #4131 @aby913)
- Fixed Files media playback caching a stale session so encoding settings such as Allow HEVC did not apply, HLS seek serving truncated segments, and Olares Sync uploads failing when clients send trailing CRLF. (#4048, #4058, #4092 @0x7fffff92, @lovehunter9)
- Fixed downloads missing completions once aria2's stopped window grew past 200 rows, torrents losing seed control on rapid stop and resume, playlist and live URLs that never terminated, and Hugging Face inspections mislabeled as public. (#3705, #3721, #3809, #3824, #3923, #3936, #3949, #4044, #4086 @kaki-admin)
- Fixed download metadata and resume handling: preserved publication timestamps and yt-dlp content metadata, resumed queued Hugging Face tasks, and retried YouTube cookie-based downloads. (#4116, #4149 @kaki-admin)
- Fixed NVIDIA application pods not restarting after a container runtime upgrade, by recreating GPU pods with termination-grace and UID preconditions during the upgrade. (#4129 @dkeven)
- Fixed middleware and NATS config issues where stale specs could apply wrong user permissions and ACL updates could be lost after atomic config replaces. (#4146, #4148, #4153 @hysyeah)
- Fixed HTTP 421 errors and wrong-SNI routing on custom domains after the domain setting was cleared. (#3774 @hysyeah)
- Fixed entrance URLs, gateway routing, and CoreDNS rewrites for apps using default third-level domain overrides. (#3835, #3900, #3928, #3945 @hysyeah, @oscdjj)
- Fixed each user's frpc publishing other users' custom domains. (#3929 @hysyeah)
- Fixed the VPN Allow SSH toggle leaving stale tcp *:22 ACL rules after being turned off. (#3966, #3969 @hysyeah)
- Fixed the activation wizard getting stuck when the FRP server list request failed. (#3950 @qq815776412)
- Fixed sessions not receiving a refresh token when signing in with TOTP. (#3768 @eball)
- Fixed secret read APIs returning 500 for accounts that had not yet created a workspace. (#3886, #3892 @pengpeng, @hysyeah)
- Fixed Olares start failing after a stop when a stale JuiceFS mount remained on the host. (#4015 @dkeven)
- Fixed reboot and shutdown commands being refused when aimed at a worker node. (#4016 @qq815776412)
- Fixed GPU statistics being attributed to the wrong container in multi-container pods, and Evicted pods replaying suspend after a successful stop. (#3901 @hysyeah, #4009 @dkeven)
- Fixed k3s installs shipping a failed kubeadm certificate-renew service, and uninstall leaving iptables rules behind. (#3747, #3790 @dkeven)
How to Update to v1.12.7
Important
Update LarePass to the latest version from your app store first.
Note
See the Olares v1.12.7 update guide for the version-specific migration path, app-specific changes, and other notes that need attention. After updating, install Router, Lares, and a local model from Market to start using the new AI features.
- Open LarePass and go to Settings > System > System update.
- Verify that a new version is available and tap Update.
- Choose an upgrade method and tap Confirm.
- When prompted, tap Continue to start installation.
- When the update is complete, you can see a success message in LarePass confirming the update is complete.
- Manually refresh your Olares desktop to sync the latest updates.
New Contributors
A big shout out to our new contributors who made their first contribution to Olares in this release!
What's Changed
- docs: Add Ticket as a support channel by @Power-One-2025 in #3445
- docs: Update onboarding procedure by @Power-One-2025 in #4079
- docs: add user doc for Router by @Power-One-2025 in #4117
- docs: update Market discovery and source instructions by @Meow33 in #4143
- docs: add tutorial for Lares by @Power-One-2025 in #4135
- docs: add LarePass extension guides and private webpage translation tutorial by @Meow33 in #4150
- docs: add update notes for 1.12.7 by @fnalways in #4156
- docs: update language settings and activation flows for multilingual support by @Meow33 in #4152
- docs: update Jellyfin hardware acceleration guide for Olares 1.12.7 by @Meow33 in #4180
- system-frontend: update image to v1.11.58 by @icebergtsn in #4181
- market(fix): preinstall replay skipped catalog updates by @aby913 in #4182
- docs: remove Ornith-1.0-35B (llama.cpp) by @Power-One-2025 in #3695
- docs: update Activate Olares using Olares CLI for Olares v1.12.6 by @Power-One-2025 in #3651
- docs: Adjust table row display by @Power-One-2025 in #3691
- refactor(app-service): make the app state machine testable via dependency seams by @hysyeah in #3699
- fix(cli): support installation on Ubuntu 26 by @dkeven in #3696
- feat(cli): add doctor thirdleveldomain conflict check by @hysyeah in #3697
- docs: fix get-started snippet links and restyle GPU passthrough tutorial by @fnalways in #3700
- feat(docs): add organization schema to VitePress config by @yongheng2016 in #3703
- docs: rewrite "Connect AI apps" guide to align with v1.12.6+ architecture by @Power-One-2025 in #3688
- market: fix cloning/version handling and restore app metadata fields by @aby913 in #3704
- fix(download-server): add download_status to inspect, improve file accuracy by @kaki-admin in #3705
- perf(daemon): trim per-tick intranet reload and steamheadless lookup by @pengpeng in #3518
- perf(daemon): add shared informers and back pod reads with cache by @pengpeng in #3520
- perf(daemon): back node, application and user reads with informers by @pengpeng in #3521
- docs: consolidate Olares One software docs into manual, add SEO metadata, and version ISO links by @fnalways in #3711
- docs: fix duplicate meta title tags and description by @fnalways in #3715
- feat: upgrade search3 to v0.3.5 by @bleachzou3 in #3710
- feat: files streaming recursive directory usage API by @lovehunter9 in #3713
- cli, framework/download-server: add olares knowledge download command suite by @icebergtsn in #3692
- olares: bump system-frontend image to v1.11.12 by @qq815776412 in #3719
- fix: fix highlight and sort order by @bleachzou3 in #3720
- fix(download-server): detect aria2 completions past the 200-row stopped window by @kaki-admin in #3721
- feat(daemon): atomic overlay gateway enable for stable node switching by @oscdjj in #3724
- notifications: bump notifications-api image to v1.12.43 by @qq815776412 in #3723
- olares: bump system-frontend to v1.11.13 and user-service to v0.1.5 by @icebergtsn in #3726
- docs(comfyui): add extra_model_paths.yaml guidance and v3 directory structure by @TShentu in #3707
- chore(app-service): add mesh-in/mesh-out agent Hub publish workflows by @oscdjj in #3731
- docs: align Olares overview pages with the latest positioning by @fnalways in #3730
- docs: update Jellyfin plugin installation steps by @Meow33 in #3714
- docs: update readme by @fnalways in #3708
- fix(daemon): disarm leftover NM checkpoint after overlay-bridge rollback failure by @oscdjj in #3727
- fix(daemon): require auth on registry mirrors and harden chpasswd by @eball in #3728
- olares: bump system-frontend to v1.11.14 by @icebergtsn in #3733
- fix(GPU): avoid NVML error in container caused by systemd reload by @dkeven in #3735
- cli/market: gate resume cancel on Olares 1.12.7 and fix resume watch on stopped by @icebergtsn in #3740
- fix(appservice): preserve app settings and align scheduling and upgrades by @dkeven in #3742
- market: add llm-gateway adaptor API surface, add lldap, market provider by @aby913 in #3743
- fix(daemon): rebuild informers when kubeconfig or hosts change by @eball in #3744
- olares: bump system-frontend to v1.11.15 and user-service to v0.1.6 by @qq815776412 in #3745
- fix(oac): validate service port manifests by @pengpeng in #3748
- fix(cli): align version gates, chart scaffolding, and skills by @pengpeng in #3750
- docs: update jellyfin hardware acceleration and file path by @TShentu in #3734
- fix(cli): clear iptable rules completely by @dkeven in #3747
- files: Common support SMB share by @aby913 in #3749
- fix(image-service): parse new version of containerd mirror config by @dkeven in #3751
- feat(l4): add support for dev entrance by @hysyeah in #3754
- feat(cli): distinguish Intel iGPU/dGPU and install discrete GPU drivers by @hysyeah in #3755
- fix(daemon): stop olaresd mDNS on worker nodes by @eball in #3757
- fix: dev entrance acls and enhance session revocation logic by @hysyeah in #3756
- olares, notifications: bump user-service to v0.1.7 and notifications-api to v1.12.44 by @icebergtsn in #3759
- feat(cli): add listing-asset production to olares-publish skill by @pengpeng in #3760
- cli/market: gate upgrade cancel on Olares 1.12.7 and fix upgrade watch on stopped by @pengpeng in #3761
- fix(authelia): dev entrance acls and enhance session revocation logic by @hysyeah in #3765
- docs: add cleanup notes by @Power-One-2025 in #3766
- docs: add guide on how to upgrade a two-node Olares cluster by @Power-One-2025 in #3764
- docs: update tutorial example by @Power-One-2025 in #3725
- feat(preinstall): materialize offline app bundles and model cache by @pengpeng in #3762
- authelia: return the refresh token generated in first factor by @eball in #3768
- daemon: handle CPU name retrieval error gracefully by @eball in #3769
- olares, vault: bump system-frontend and vault-server images to v1.11.17 by @qq815776412 in #3770
- docs: update Open Notebook model setup and add reusable connection guidance by @Meow33 in #3732
- docs: clarify authentication requirements for custom domains by @Meow33 in #3767
- refactor(theme): enhance language auto-redirect logic for SEO compliance by @yongheng2016 in #3722
- docs: clean up internal links and remove unnavigated pages by @fnalways in #3780
- docs: add hreflang alternate links for EN/ZH pages by @fnalways in #3781
- feat(cli): detect network location and adapt connection method per profile by @qq815776412 in #3773
- fix(l4): source custom-domain certs from Application by @hysyeah in #3774
- market: preinstall allow explicit tar directory entries in chart by @aby913 in #3777
- fix(app-service): resolve Intel GPU driver resource from node register annotation by @hysyeah in #3778
- feat(cli): add sidecar container for intel gpu memory by @hysyeah in #3779
- docs: update model connection method in Hermes Agent tutorial by @Power-One-2025 in #3775
- docs: note Ollama app removal in Olares 1.12.6 by @fnalways in #3782
- docs: add keywords meta to markdown pages by @fnalways in #3794
- docs: fix Space sidebar link to use trailing slash by @fnalways in #3797
- fix(appservice): converge Application state in entrance-status controller by @hysyeah in #3798
- feat(cli): add market download to recover a stored chart by @pengpeng in #3793
- docs(skills): teach credential wiring in chart authoring by @pengpeng in #3800
- feat(daemon): return all detected GPUs in system status gpu_list by @hysyeah in #3788
- feat(cli): one-command worker join via node join-command / node join by @dkeven in #3789
- fix(cli): do not enable certs renew service on K3s by @dkeven in #3790
- fix(cli): preserve market-preinstall on uninstall to install phase by @eball in #3791
- olares: bump system-frontend to v1.11.19 and user-service to v0.1.10 by @qq815776412 in #3799
- feat(files usage): recursive dir_count & file_count for all drives (except share) by @lovehunter9 in #3796
- feat(mesh) — Linkerd mesh for Shared in-cluster traffic by @oscdjj in #3785
- fix(appservice): log env var names, not their values by @pengpeng in #3801
- docs: update model connection in LobeHub tutorial by @Power-One-2025 in #3792
- docs: update local model connection method in Claude Code tutorial by @Power-One-2025 in #3787
- docs: on-page SEO improvements by @fnalways in #3795
- fix(app-gateway): finish half-done Linkerd issuer rotation by @oscdjj in #3804
- fix(app-service): avoid stopFailed on webhook cold-start after reboot by @hysyeah in #3808
- opa: add trusted image for linkerd proxy by @eball in #3806
- fix(app-service): shared caller-jwt and mesh-in 443 scope by @oscdjj in #3810
- fix(ci): do not use release id in join script by @dkeven in #3805
- fix(download-server): torrent seed-control, HuggingFace & yt-dlp lifecycle, and dedup landing fixes by @kaki-admin in #3809
- olares: bump system-frontend to v1.11.20 by @icebergtsn in #3812
- feat(market): serve stored chart packages from GET /apps/{id}/package by @aby913 in #3811
- docs: reorganize LarePass account guides and add deletion steps by @Meow33 in #3737
- chore(cli): add upgrader for mainline version 1.12.7 by @dkeven in #3813
- docs: standardize model and service connection steps in use cases by @Meow33 in #3807
- docs: add Obsidian LiveSync by @Meow33 in #3643
- fix(build): ensure directory creation for replaced vendor files by @eball in #3816
- feat(app-service): add resource preflight API by @pengpeng in #3772
- docs: update n8n and NocoDB use cases by @Meow33 in #3818
- fix(cli): use target node architecture for chart images by @pengpeng in #3817
- feat(upgrade): ensure AI Router on 1.12.7 by @pengpeng in #3819
- feat(app-service): fail fast on unrecoverable pods during install/upgrade/resume and add mount error check by @hysyeah in #3820
- feat(market): ensure catalog-latest apps by @aby913 in #3821
- fix: scope --delete-data to the app's own data dir and report ClearData failures by @pengpeng in #3822
- cli/chart: make from-compose emit installable names and scalable workloads by @pengpeng in #3823
- fix(download-server): keep torrents seeding, HuggingFace inspect fixes by @kaki-admin in #3824
- fix(app-service): bypass Linkerd iptables for Overlay macvlan (nft-only) by @oscdjj in #3825
- chore(app-gateway): disable linkerd heartbeat in frozen control-plane by @oscdjj in #3826
- feat(cli): add olares-cli preinstall check for static market bundles by @eball in #3829
- fix(cli): oraki node cpu temp by @hysyeah in #3828
- fix(cli): use controller-runtime client to patch node label by @dkeven in #3830
- chore: bump hami core version by @eball in #3832
- fix(l4): reuse beclab/api for entrance and URL prefix resolution by @hysyeah in #3835
- feat(daemon): skip sunshine mdns restart when overlay gateway is enabled by @eball in #3836
- market: add icon_url and per-user entrances to /llm-providers by @aby913 in #3837
- feat(app-service): default Shared callers and client appid headers by @oscdjj in #3838
- docs: update OpenClaw tutorial by @Power-One-2025 in #3827
- docs: update local model config section in NOFX by @Power-One-2025 in #3831
- docs: update model config in TradingAgents by @Power-One-2025 in #3834
- fix(oac): spec.supportArch cannot be empty by @hysyeah in #3839
- fix(app-service,daemon): unify caller appid header, overlay disable panic, and linkerd admin probes by @oscdjj in #3845
- refactor(cli): check system readiness by workload instead of by pod by @dkeven in #3841
- cli/search: add gdrive, dropbox and knowledge subcommands by @qq815776412 in #3844
- chore(oac): bump golang.org/x/crypto to v0.52.0 by @hysyeah in #3846
- feat(market): add localized market search API by @aby913 in #3847
- fix(app-service): inject arch nodeSelector for single-arch apps by @hysyeah in #3848
- docs: update joincluster.sh source for cluster setup by @Meow33 in #3849
- docs(cli): make app porting checks actionable by @pengpeng in #3853
- docs(cli): correct domain and supportArch facts, and close skills house-style debt by @pengpeng in #3855
- Handle incompatible chart upload errors by @pengpeng in #3852
- fix(app-service): materialize shared-hosts under the caller viewer and upload forward max 100m by @oscdjj in #3850
- fix: files client_max_body_size down to 100M by @lovehunter9 in #3856
- olares: bump system-frontend to v1.11.23 by @icebergtsn in #3857
- docs: update model config in Bifrost by @Power-One-2025 in #3842
- discord pr merged by @zdf-org in #3860
- docs: revamp Open WebUI tutorial by @Power-One-2025 in #3815
- docs: update onlyoffice guide by @Meow33 in #3840
- Fix discord pr merged by @zdf-org in #3867
- revert(cli): undo profile network location detection (#3773) by @qq815776412 in #3861
- backup: wise backup svc replace by @aby913 in #3868
- market: reject uploaded charts unsupported by cluster nodes by @aby913 in #3869
- fix(oac): reject reserved system app names on metadata.name by @hysyeah in #3870
- feat(search3): upgrade search3monitor log clean by @bleachzou3 in #3874
- fix(app-service): validate upgrade resource headroom on delta by @hysyeah in #3871
- fix(daemon): filter SR-IOV VF GPUs from GetGpuInfo by @hysyeah in #3881
- feat(mesh): L4 PEP auth and retire app Envoy sidecars by @oscdjj in #3883
- fix(ci): use explicit goreleaser version tag to avoid conflict by @dkeven in #3876
- fix(l4): gate all app routes behind per-user Authelia ext_auth by @hysyeah in #3885
- fix(cli): Improve logging output and add upload progress indication by @yongheng2016 in #3878
- fix(download-server): batch lifecycle endpoints, aria2 repeat-download rename prompt by @kaki-admin in #3880
- fix(app-service): remove Envoy/ws/upload sidecar injection from webhook by @hysyeah in #3884
- Move actionable errors into the CLI, and make each skill entrypoint a routing decision by @pengpeng in #3887
- fix(tapr): treat a missing user workspace as empty, not as a server error by @pengpeng in #3886
- fix: fix fsnotify-proxy missing send event by @bleachzou3 in #3888
- feat: ingore .tmp .temp file by @bleachzou3 in #3889
- feat(daemon): add cluster and node management control plane by @pengpeng in #3858
- fix(l4): skip ExtAuth on wizard by @oscdjj in #3891
- Rebuild the run-identity guidance around two independent questions by @pengpeng in #3893
- fix(tapr): treat a missing user workspace as empty, not as a server error by @hysyeah in #3892
- fix(l4): skip ExtAuth on wizard by @hysyeah in #3897
- fix(bfl): reuse beclab/api to resolve entrance IDs with domain overrides by @hysyeah in #3900
- fix(app-service): delete consumed Evicted pods and widen eviction ignore namespaces- #3899 by @hysyeah in #3901
- refactor(clusterop): support self-registering operation modules by @eball in #3902
- feat(cli): add the router command tree and the olares-router skill by @pengpeng in #3903
- apps, notifications: bump system-frontend to v1.11.25, user-service to v0.1.12 and notifications-api to v1.12.45 by @qq815776412 in #3904
- feat: search upgrade to v0.3.10 by @bleachzou3 in #3905
- feat(clusterop): add set-ssh-password operation module by @eball in #3906
- fix(l4): force-delete client X-BFL-USER then reinject; strip X-Caller-Appid by @oscdjj in #3907
- docs: remove unused files by @Power-One-2025 in #3912
- docs: add what's new in docs for 1.12.6 and update use-case navigation by @fnalways in #3898
- feat(cli): close download-server gaps and clarify knowledge download help by @icebergtsn in #3913
- fix(app-service): drop user-quota from install and resume submit gates by @hysyeah in #3918
- olares: bump system-frontend to v1.11.26 by @icebergtsn in #3922
- fix(download-server): yt-dlp no-media handling, hf:// scheme, torrent select-file validation by @kaki-admin in #3923
- feat(cli): raise the router floor to 1.12.7 and read a model in full by @pengpeng in #3915
- fix(cli): repair gpu enable/disable/uninstall for multi-accelerator nodes by @dkeven in #3911
- fix(cli): oraki metric node:node_memory_system_reserved by @hysyeah in #3909
- docs: unify AI translation notices in Chinese docs by @Meow33 in #3865
- system-server: bump golang.org/x/crypto version by @eball in #3926
- market: in-memory catalog snapshot and browse APIs by @aby913 in #3919
- feat(daemon): advertise ssh.setPassword node capability by @eball in #3927
- backup: wise name replace by @aby913 in #3921
- fix(gateway): honour defaultThirdLevel in application SRR hostPatterns by @oscdjj in #3928
- docs: resolve content conflicts by @Power-One-2025 in #3930
- chore(tapr): bump golang.org/x/crypto dependencies by @eball in #3932
- fix(bfl): skip non-owned apps when collecting frpc custom domains by @hysyeah in #3929
- market: compute entrance id via the appv1alpha1 resolver by @aby913 in #3933
- fix(l4): inject X-BFL-USER on per-route verify HttpService by @hysyeah in #3935
- fix(download-server): guard torrent resume-seeding, add aria2 inspect title by @kaki-admin in #3936
- olares: bump system-frontend to v1.11.27 by @qq815776412 in #3937
- feat(app-service): bypass nested ifaces past linkerd PROXY_INIT by @hysyeah in #3931
- feat: add default jina clip url by @bleachzou3 in #3938
- Validate v2 market taxonomy in OAC by @pengpeng in #3940
- Gate cluster operation RequireSignature by self-registered op type by @eball in #3941
- fix(app-gateway): set Linkerd proxy-injector reinvocationPolicy to IfNeeded by @oscdjj in #3942
- feat(app-service,oac): own userspace dirs at uid 1000 from admission by @hysyeah in #3943
- Discord pr merged v2 by @zdf-org in #3944
- docs: clarify troubleshooting docs for Olares 1.12.5 and 1.12.6 by @Meow33 in #3894
- fix: GenEntranceURL with default third level domain config by @hysyeah in #3945
- feat(app-service): own userspace dirs at uid 1000 from admission by @hysyeah in #3946
- chore(l4): bump l4 image to v0.3.45 by @hysyeah in #3947
- fix(download-server): converge torrent seed-control stop/resume to aria2's real state by @kaki-admin in #3949
- chore: update system frontend images to v1.11.28 by @qq815776412 in #3950
- systemserver: update autheliaNonceAuthenticator to use owner user for backend requests by @eball in #3951
- fix(system-server): resolve provider-ref aliases from custom domains by @eball in #3953
- chore: bump system-frontend to v1.11.29 and user-service to v0.1.13 by @qq815776412 in #3954
- fix(l4): public authlevel also need set ext_auth by @hysyeah in #3956
- fix: ensure app info by @aby913 in #3955
- docs(cli): integrate manifest copy and localization into the publish workflow by @Meow33 in #4089
- feat(cli/router): bring the router subtree and skill up to Router HEAD by @pengpeng in #4111
- feat(cli/router): mark shared KV pools on AT ONCE by @pengpeng in #4110
- Sync the router CLI subtree and skill to Router v2.7.29 by @pengpeng in #4114
- fix(market): expose application recent update time by @aby913 in #4113
- fix(cli): remove catalog apps from preinstall configuration by @eball in #4115
- fix(download-server): preserve publication timestamps and yt-dlp content metadata by @kaki-admin in #4116
- olares: bump system-frontend to v1.11.48 by @qq815776412 in #4119
- Sync the router CLI and skill to Router HEAD: an aged catalogue stops refusing, a poll settles by @pengpeng in #4120
- fix(cli): correct router behavior and reject unknown verbs by @pengpeng in #4121
- Make olares-cli answerable by an agent: read-path budget, -o json everywhere, and the checks that catch drift by @pengpeng in #4123
- fix(cli): make market failures say what actually went wrong by @pengpeng in #4125
- feat(appservice): allow selective overrides of existing app envs during upgrade by @dkeven in #4124
- chore(olares-apps): add new namespace by @yongheng2016 in #4128
- cli(fix): restart NVIDIA application pods after runtime upgrade by @dkeven in #4129
- market: fix upload, upgrade, crd events, and recovery states by @aby913 in #4131
- fix(cli): read the OCR submission receipt as a receipt by @pengpeng in #4132
- fix(cli): wait for the task when keeping a voice returns a receipt by @pengpeng in #4133
- fix(router): name the model that answered in the usage table by @pengpeng in #4134
- docs: reorganize the Olares OS manual around user tasks by @fnalways in #4118
- olares: bump system-frontend to v1.11.50 by @qq815776412 in #4136
- fix(cli): follow the rename to a generation speed in router usage by @pengpeng in #4137
- fix(cli): stop profile cache writes from reverting
profile useby @pengpeng in #4138 - fix(cli): report what market and chart verbs actually did by @pengpeng in #4139
- docs(cli): correct the market lifecycle references against a test run by @pengpeng in #4140
- market(feat): serve an all block as the category's whole catalogue by @aby913 in #4145
- fix(tapr): re-fetch MiddlewareRequest before NATS user update by @hysyeah in #4146
- fix(download-server): fix Hugging Face queued task resume and YouTube cookie retries by @kaki-admin in #4149
- system-frontend: update image to v1.11.53 by @icebergtsn in #4147
- chore(tapr): update middleware operator to 0.2.41 by @hysyeah in #4148
- fix(tapr): bump nats config reloader so ACL updates survive atomic nats.conf replaces by @hysyeah in #4153
- docs: add Olares One OOB support and Ubuntu automatic startup by @Meow33 in #4155
- authelia: simplify token retrieval by @eball in #4157
- market: serve the installed-app directory to its consumers by @pengpeng in #3959
- fix(cli): pin nvidia container runtime dependencies apt version by @dkeven in #3961
- feat(gpu): add sriov-report mode to control PF/VF advertisement by @hysyeah in #3962
- fix(cli): blacklist the in-tree nova driver so the NVIDIA driver can bind by @dkeven in #3963
- docs: update Grafana config by @TShentu in #3964
- fix(app-service,bfl): clear stale SSH ACL when VPN SSH toggle is disabled by @hysyeah in #3966
- fix(cli): align knowledge download with the server contract, add wait and list --all by @icebergtsn in #3967
- feat(cli): settings integration cookie management and cookie-required hints by @icebergtsn in #3968
- feat(cli): install xpumd after Intel GPU plugin on qualifying dGPU nodes by @hysyeah in #3965
- fix(app-service,bfl): clear stale SSH ACL when VPN SSH toggle is disabled by @hysyeah in #3969
- fix(download-server): machine-readable error contract, create idempotency, and torrent file_type fix by @kaki-admin in #3970
- fix(app-gateway): skip Linkerd inbound capture of TCP 3389 by @oscdjj in #3977
- feat(app-service): tighten shared-entrance NetworkPolicy by @oscdjj in #3978
- chore: bump system-frontend to v1.11.31, user-service to v0.1.15 and notifications-api to v1.12.46 by @qq815776412 in #3979
- market: fetch chart bytes from the v2 appstore route by @pengpeng in #3958
- feat: add metric exporter for amd gpu by @hysyeah in #3974
- feat(app-service,oac): grant in-pod olares-cli a long-lived owner credential by @hysyeah in #3982
- docs: add tutorial for Minecraft by @Power-One-2025 in #3975
- docs: add tutorial for Palworld by @Power-One-2025 in #3976
- fix(daemon): rewrite hyphenated intranet hosts and skip unmanaged mount usage by @eball in #3980
- fix(ks): update ks vfsdata by @hysyeah in #3983
- feat(app-service,lldap): grant in-pod olares-cli a long-lived owner credential by @hysyeah in #3984
- olares: bump system-frontend to v1.11.32 by @icebergtsn in #3985
- fix(app-gateway): force-clear spoofable Shared identity headers by @oscdjj in #3990
- fix(cli): also collect previous boot dmesg by @dkeven in #3988
- router(cli): realign the command tree around what each verb answers, and call a model without a key by @pengpeng in #3989
- fix(app-service): pin Shared entrance hosts to shared.olares.com by @oscdjj in #3991
- feat(system-server): add files system provider by @kaki-admin in #3992
- feat(search): wire the federated async search and align olares-cli with the Desktop entry by @qq815776412 in #3994
- feat: add seafile search by @bleachzou3 in #3993
- market: change dynamicBlockLimit, allow private ip by @aby913 in #3995
- fix(app-service): charge only the declared memory for time-slice GPUs by @dkeven in #3996
- feat(cli): reach every audio capability, and follow the work that outlives a request by @pengpeng in #3997
- cli, cli/skills, cli/npm: compile the agent skill suite into the binary by @pengpeng in #3998
- cli, cli/skills: harden long audio workflows by @pengpeng in #4001
- cli, cli/skills: let a chat completion wait as long as the model needs, and say so by @pengpeng in #4003
- cli: publish ensured apps declaration during fresh install by @pengpeng in #4000
- market: let Market read the Olares version record by @pengpeng in #4002
- hami: bump hami core version to v2.6.25 in configuration files by @eball in #4004
- feat(sitemap): enhance sitemap generation with locale splitting and wait for completion by @yongheng2016 in #4007
- fix(gpu): collect correct stats in multi-container pod by @dkeven in #4009
- tapr: regenerate Corefile before l4-bfl-proxy exists by @eball in #4006
- feat(sitemap): enhance sitemap generation to support dynamic locale handling by @yongheng2016 in #4010
- cli: publish one preinstall declaration per trunk, through one entry point by @pengpeng in #4005
- fix(cli): size the kubelet memory reserve to the host by @dkeven in #4008
- olares: bump system-frontend to v1.11.34 by @qq815776412 in #4011
- feat(l4): set session X-BFL-USER from Authelia and strip forged identity headers by @oscdjj in #4012
- chore(images) bump auth to 0.2.61 and l4-bfl-proxy to v0.3.48 by @oscdjj in #4014
- market: bump to v0.6.104, and stop stating the version twice by @pengpeng in #4013
- fix(cli): keep JuiceFS and k3s startable across an Olares stop/start by @dkeven in #4015
- daemon: let a node power command reach the worker it names by @qq815776412 in #4016
- olares: bump system-frontend to v1.11.36 by @qq815776412 in #4017
- feat: bind user-backend to download/files providers for shared apps by @kaki-admin in #4018
- refator(cm-sidecar, tapr): make the NATS ConfigMap the single source of truth for nats.conf by @hysyeah in #4024
- refactor(app-service): simplify Shared caller DefaultRules by @oscdjj in #4025
- fix: add cm-sidecar github workflow by @hysyeah in #4027
- feat(cli): sign in from the credential the platform mounts into an application by @pengpeng in #4021
- chore(cli): add system mem reserve to mainline upgrader by @dkeven in #4023
- cli: name download create from inspect title and default app to larepass by @icebergtsn in #4026
- backup: wise shared host by @aby913 in #4028
- refactor(tapr,cm-sidecar): serve nats.conf from the ConfigMap through cm-sidecar by @hysyeah in #4029
- olares: bump system-frontend to v1.11.37 by @icebergtsn in #4030
- fix(cli): accept a running sidecar when checking pod readiness by @dkeven in #4032
- fix(cli): extract olaresd and etcd archives outside the invocation CWD by @dkeven in #4033
- feat(cli): cover the whole Settings Appearance page, in the words the page uses by @icebergtsn in #4034
- feat(cli): show the appearance value domains, and add the 1.12.7 locales by @icebergtsn in #4037
- oac: require rendered spec.replicas to track workloads..replicaCount by @pengpeng in #4040
- fix(prometheus): filter secret with secret-field-seclector when too much helm release secret to avoid oom by @hysyeah in #4035
- feat: anydoc extraction, OCR for scanned PDFs, and better text indexing by @bleachzou3 in #4036
- market: oac up to 0.0.39 by @aby913 in #4043
- feat(cli): bring the router subtree and its skill up to Router v2.6.0 by @pengpeng in #4038
- fix(app-service): mint olares-cli credential on upgrade by @hysyeah in #4041
- fix(download-server): stop non-terminating sources (playlists/channels & live streams) by @kaki-admin in #4044
- fix(daemon): allow reboot and shutdown while restarting by @eball in #4047
- fix(app-service,cli): cap upgrade history at 10 revisions by @hysyeah in #4045
- app-service: tell a stop that cannot finish from one that is still working by @pengpeng in #4046
- fix(files): stop browsers caching the media play redirect by @0x7fffff92 in #4048
- fix(sys-event): stop highload callbacks from retrying after Send fails by @hysyeah in #4050
- fix(cli): return the whole federated search result set, and render it correctly by @qq815776412 in #4052
- system-frontend: update image to v1.11.38 by @icebergtsn in #4053
- fix(app-service): tell a stop that cannot finish from one that is still working by @hysyeah in #4055
- feat(cli): narrow market preinstall to Linux and guard the install-phase order by @pengpeng in #4057
- fix(files): sweep stale transcode cache and fix HLS seek by @0x7fffff92 in #4058
- fix(cli): report pending model app restarts by @pengpeng in #4059
- fix(gpu): hardcode AMD exporter images in the DaemonSet instead of Helm values by @hysyeah in #4060
- system-frontend: update image to v1.11.39 by @icebergtsn in #4062
- market: improve catalog sync, app metadata APIs, and i18n discovery by @aby913 in #4061
- refactor(cli): remove localSSH, which nothing has ever used by @dkeven in #4064
- fix(cli): raise Arrow Lake-S (7D67) Intel GPU min kernel to 6.14 by @hysyeah in #4065
- fix(manifest): pin system components to master node by @dkeven in #4066
- fix(app-service): add detailed logs in GPU app scheduling process by @dkeven in #4067
- fix: Refactor GPU detection and metrics handling in dashboard by @yongheng2016 in #4068
- docs: hide installation guides for Windows, PVE, and Raspberry Pi by @Meow33 in #4022
- fix(gpu): bump AMD device metrics exporter and mask UMC ECC noise by @hysyeah in #4069
- market: unblock uninstall, repair schema 00019, and stop idling by @aby913 in #4072
- fix(cli): skip intel-omix host software stack install by @hysyeah in #4073
- fix(cli): omit catalog apps from install-time preinstall declarations by @eball in #4074
- fix(app-service): mesh-in WS fix, GPU sizing fix, bump image to 0.6.41 by @oscdjj in #4076
- system-frontend: update image to v1.11.42 by @icebergtsn in #4077
- Fail preinstall check when bundled chart images are not preloaded by @pengpeng in #4080
- fix(app-service): installed-chart Scale/ApplyEnv, discrete GPU resume fix, bump image to 0.6.42 by @dkeven in #4083
- market: generate shared entrance URLs via OAC by @aby913 in #4085
- docs: update steam overlay gateway guide and add common issues by @Meow33 in #4078
- Allow preinstall check against a source-tree Olares.yaml by @eball in #4090
- fix(download-server): route yt-dlp URLs via the daemon's real extractor set , keep metadata-less renditions by @kaki-admin in #4086
- fix(gpu): inject NODE_NAME into the AMD device plugin and roll it out on upgrade by @hysyeah in #4087
- market: update image to v0.6.111 by @pengpeng in #4091
- docs: add update notes for 1.12.6 by @Meow33 in #4042
- docs: update openclaw tutorial by @Power-One-2025 in #4094
- fix: seafile-server tolerate trailing CRLF after multipart close-delimiter by @lovehunter9 in #4092
- fix(app-service): reject overlapping same-name installs before chart download by @hysyeah in #4095
- hami: bump gpu-scheduler to v0.1.4 and hami core to v2.6.27 by @pengpeng in #4097
- system-frontend: update image to v1.11.44 by @icebergtsn in #4098
- fix(cli): download generated media atomically by @pengpeng in #4101
- docs: revamp Olares Space topics by @Power-One-2025 in #3859
- system-frontend: update image to v1.11.46 by @icebergtsn in #4104
- chore(hami): bump hami core version to v2.6.28 by @eball in #4105
- docs(olares-files): clarify Public-link host is share. by @TShentu in #4088
- fix(market-cli): tell the user what the backend will actually do by @pengpeng in #4107
- fix(cli): size the host memory reserve to what the host needs by @dkeven in #4106
- system-frontend, user-service: update images to v1.11.47 and v0.1.18 by @yongheng2016 in #4108
- market(fix): report why app-service refused an operation by @aby913 in #4109
- docs(cli): integrate manifest copy and localization into the publish workflow by @Meow33 in #4089
- feat(cli/router): bring the router subtree and skill up to Router HEAD by @pengpeng in #4111
- feat(cli/router): mark shared KV pools on AT ONCE by @pengpeng in #4110
- Sync the router CLI subtree and skill to Router v2.7.29 by @pengpeng in #4114
- fix(market): expose application recent update time by @aby913 in #4113
- fix(cli): remove catalog apps from preinstall configuration by @eball in #4115
- fix(download-server): preserve publication timestamps and yt-dlp content metadata by @kaki-admin in #4116
- olares: bump system-frontend to v1.11.48 by @qq815776412 in #4119
- Sync the router CLI and skill to Router HEAD: an aged catalogue stops refusing, a poll settles by @pengpeng in #4120
- fix(cli): correct router behavior and reject unknown verbs by @pengpeng in #4121
- Make olares-cli answerable by an agent: read-path budget, -o json everywhere, and the checks that catch drift by @pengpeng in #4123
- fix(cli): make market failures say what actually went wrong by @pengpeng in #4125
- feat(appservice): allow selective overrides of existing app envs during upgrade by @dkeven in #4124
- chore(olares-apps): add new namespace by @yongheng2016 in #4128
- cli(fix): restart NVIDIA application pods after runtime upgrade by @dkeven in #4129
- market: fix upload, upgrade, crd events, and recovery states by @aby913 in #4131
- fix(cli): read the OCR submission receipt as a receipt by @pengpeng in #4132
- fix(cli): wait for the task when keeping a voice returns a receipt by @pengpeng in #4133
- fix(router): name the model that answered in the usage table by @pengpeng in #4134
- docs: reorganize the Olares OS manual around user tasks by @fnalways in #4118
- olares: bump system-frontend to v1.11.50 by @qq815776412 in #4136
- fix(cli): follow the rename to a generation speed in router usage by @pengpeng in #4137
- fix(cli): stop profile cache writes from reverting profile use by @pengpeng in #4138
- fix(cli): report what market and chart verbs actually did by @pengpeng in #4139
- docs(cli): correct the market lifecycle references against a test run by @pengpeng in #4140
- market(feat): serve an all block as the category's whole catalogue by @aby913 in #4145
- fix(tapr): re-fetch MiddlewareRequest before NATS user update by @hysyeah in #4146
- fix(download-server): fix Hugging Face queued task resume and YouTube cookie retries by @kaki-admin in #4149
- system-frontend: update image to v1.11.53 by @icebergtsn in #4147
- chore(tapr): update middleware operator to 0.2.41 by @hysyeah in #4148
- fix(tapr): bump nats config reloader so ACL updates survive atomic nats.conf replaces by @hysyeah in #4153
- docs: add Olares One OOB support and Ubuntu automatic startup by @Meow33 in #4155
- authelia: simplify token retrieval by @eball in #4157
- docs: update Penpot MCP setup for built-in MCP server by @fnalways in #4154
- feat(cli): add self-update, a machine-readable version, and download verification by @pengpeng in #4158
- docs(cli): fix the READMEs' wrong commands, guard them with a test, retire ClawHub publishing by @pengpeng in #4159
- docs: add guide for fetching resources by @Meow33 in #4071
- fix(daemon): fix IP switching with multiple active interfaces by @dkeven in #4160
- fix(lldap): spare app-cli refresh tokens by @hysyeah in #4161
- docs: update local access guides for LarePass host management by @Meow33 in #4103
- docs: fix truncated diagnostic log collection by @fnalways in #4164
- docs: update Olares One eGPU guides by @Meow33 in #4163
- docs: revert LarePass documentation updates by @Meow33 in #4168
- fix(cli): improve log upload recovery and ticket creation reliability by @qq815776412 in #4169
- docs: add Open Design use case by @fnalways in #4165
- docs: add Codex CLI use case by @fnalways in #4166
- docs: restructure installation onboarding by @fnalways in #4167
- docs: restore LarePass documentation updates by @Meow33 in #4172
- fix(cli): keep a platform-issued profile usable when the cache directory is not writable by @pengpeng in #4174
- fix(cli): run the platform-credential import whatever hook cobra picks by @pengpeng in #4175
- docs: add tutorial about using olares-cli to manage olares device in OpenCode by @Power-One-2025 in #4173
- fix(cli): make etcd backup script fail fast by @dkeven in #4176
Full Changelog: 1.12.6...1.12.7